commit abc7a01a2264af9dcfe293c59b1ed28f90054930 Author: Stefan Hutter Date: Wed Oct 21 10:49:38 2020 +0200 Initial commit diff --git a/.svn/entries b/.svn/entries new file mode 100644 index 0000000..48082f7 --- /dev/null +++ b/.svn/entries @@ -0,0 +1 @@ +12 diff --git a/.svn/format b/.svn/format new file mode 100644 index 0000000..48082f7 --- /dev/null +++ b/.svn/format @@ -0,0 +1 @@ +12 diff --git a/.svn/pristine/00/0018fc5327a9aca508da899be9d27a760e0f80f6.svn-base b/.svn/pristine/00/0018fc5327a9aca508da899be9d27a760e0f80f6.svn-base new file mode 100644 index 0000000..fa89a9c --- /dev/null +++ b/.svn/pristine/00/0018fc5327a9aca508da899be9d27a760e0f80f6.svn-base @@ -0,0 +1,202 @@ + _ +Partial Class frmMain + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmMain)) + Me.MenuStrip1 = New System.Windows.Forms.MenuStrip() + Me.DateiToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.BeendenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.NeuAnmeldenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ThemenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.PendenzenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.AuswertungenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ExtrasToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.SystemAdministrationToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ObjektListerToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStrip1 = New System.Windows.Forms.ToolStrip() + Me.TSBtnQuit = New System.Windows.Forms.ToolStripButton() + Me.TSBtnVertragsuebersicht = New System.Windows.Forms.ToolStripButton() + Me.TSBtnMonitoring = New System.Windows.Forms.ToolStripButton() + Me.TSBtnApplikationen = New System.Windows.Forms.ToolStripButton() + Me.ToolStripButton1 = New System.Windows.Forms.ToolStripButton() + Me.MenuStrip1.SuspendLayout() + Me.ToolStrip1.SuspendLayout() + Me.SuspendLayout() + ' + 'MenuStrip1 + ' + Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DateiToolStripMenuItem, Me.ThemenToolStripMenuItem, Me.PendenzenToolStripMenuItem, Me.AuswertungenToolStripMenuItem, Me.ExtrasToolStripMenuItem}) + Me.MenuStrip1.Location = New System.Drawing.Point(0, 0) + Me.MenuStrip1.Name = "MenuStrip1" + Me.MenuStrip1.Size = New System.Drawing.Size(990, 24) + Me.MenuStrip1.TabIndex = 1 + Me.MenuStrip1.Text = "MenuStrip1" + ' + 'DateiToolStripMenuItem + ' + Me.DateiToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.BeendenToolStripMenuItem, Me.NeuAnmeldenToolStripMenuItem}) + Me.DateiToolStripMenuItem.Name = "DateiToolStripMenuItem" + Me.DateiToolStripMenuItem.Size = New System.Drawing.Size(46, 20) + Me.DateiToolStripMenuItem.Text = "&Datei" + ' + 'BeendenToolStripMenuItem + ' + Me.BeendenToolStripMenuItem.Name = "BeendenToolStripMenuItem" + Me.BeendenToolStripMenuItem.Size = New System.Drawing.Size(152, 22) + Me.BeendenToolStripMenuItem.Text = "&Beenden" + ' + 'NeuAnmeldenToolStripMenuItem + ' + Me.NeuAnmeldenToolStripMenuItem.Name = "NeuAnmeldenToolStripMenuItem" + Me.NeuAnmeldenToolStripMenuItem.Size = New System.Drawing.Size(152, 22) + Me.NeuAnmeldenToolStripMenuItem.Text = "&Neu anmelden" + ' + 'ThemenToolStripMenuItem + ' + Me.ThemenToolStripMenuItem.Name = "ThemenToolStripMenuItem" + Me.ThemenToolStripMenuItem.Size = New System.Drawing.Size(63, 20) + Me.ThemenToolStripMenuItem.Text = "&Themen" + ' + 'PendenzenToolStripMenuItem + ' + Me.PendenzenToolStripMenuItem.Name = "PendenzenToolStripMenuItem" + Me.PendenzenToolStripMenuItem.Size = New System.Drawing.Size(77, 20) + Me.PendenzenToolStripMenuItem.Text = "&Pendenzen" + ' + 'AuswertungenToolStripMenuItem + ' + Me.AuswertungenToolStripMenuItem.Name = "AuswertungenToolStripMenuItem" + Me.AuswertungenToolStripMenuItem.Size = New System.Drawing.Size(96, 20) + Me.AuswertungenToolStripMenuItem.Text = "&Auswertungen" + ' + 'ExtrasToolStripMenuItem + ' + Me.ExtrasToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.SystemAdministrationToolStripMenuItem, Me.ObjektListerToolStripMenuItem}) + Me.ExtrasToolStripMenuItem.Name = "ExtrasToolStripMenuItem" + Me.ExtrasToolStripMenuItem.Size = New System.Drawing.Size(49, 20) + Me.ExtrasToolStripMenuItem.Text = "&Extras" + ' + 'SystemAdministrationToolStripMenuItem + ' + Me.SystemAdministrationToolStripMenuItem.Name = "SystemAdministrationToolStripMenuItem" + Me.SystemAdministrationToolStripMenuItem.Size = New System.Drawing.Size(196, 22) + Me.SystemAdministrationToolStripMenuItem.Text = "&System-Administration" + ' + 'ObjektListerToolStripMenuItem + ' + Me.ObjektListerToolStripMenuItem.Name = "ObjektListerToolStripMenuItem" + Me.ObjektListerToolStripMenuItem.Size = New System.Drawing.Size(196, 22) + Me.ObjektListerToolStripMenuItem.Text = "Objekt-Lister" + ' + 'ToolStrip1 + ' + Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.TSBtnQuit, Me.TSBtnVertragsuebersicht, Me.TSBtnMonitoring, Me.TSBtnApplikationen, Me.ToolStripButton1}) + Me.ToolStrip1.Location = New System.Drawing.Point(0, 24) + Me.ToolStrip1.Name = "ToolStrip1" + Me.ToolStrip1.Size = New System.Drawing.Size(990, 25) + Me.ToolStrip1.TabIndex = 2 + Me.ToolStrip1.Text = "ToolStrip1" + ' + 'TSBtnQuit + ' + Me.TSBtnQuit.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnQuit.Image = CType(resources.GetObject("TSBtnQuit.Image"), System.Drawing.Image) + Me.TSBtnQuit.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnQuit.Name = "TSBtnQuit" + Me.TSBtnQuit.Size = New System.Drawing.Size(23, 22) + Me.TSBtnQuit.Text = "ToolStripButton1" + Me.TSBtnQuit.ToolTipText = "Anwendung beenden" + ' + 'TSBtnVertragsuebersicht + ' + Me.TSBtnVertragsuebersicht.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnVertragsuebersicht.Image = CType(resources.GetObject("TSBtnVertragsuebersicht.Image"), System.Drawing.Image) + Me.TSBtnVertragsuebersicht.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnVertragsuebersicht.Name = "TSBtnVertragsuebersicht" + Me.TSBtnVertragsuebersicht.Size = New System.Drawing.Size(23, 22) + Me.TSBtnVertragsuebersicht.Text = "Vertragsübersicht" + ' + 'TSBtnMonitoring + ' + Me.TSBtnMonitoring.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnMonitoring.Image = CType(resources.GetObject("TSBtnMonitoring.Image"), System.Drawing.Image) + Me.TSBtnMonitoring.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnMonitoring.Name = "TSBtnMonitoring" + Me.TSBtnMonitoring.Size = New System.Drawing.Size(23, 22) + Me.TSBtnMonitoring.Text = "ToolStripButton3" + Me.TSBtnMonitoring.ToolTipText = "Monitoring" + ' + 'TSBtnApplikationen + ' + Me.TSBtnApplikationen.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnApplikationen.Image = CType(resources.GetObject("TSBtnApplikationen.Image"), System.Drawing.Image) + Me.TSBtnApplikationen.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnApplikationen.Name = "TSBtnApplikationen" + Me.TSBtnApplikationen.Size = New System.Drawing.Size(23, 22) + Me.TSBtnApplikationen.Text = "Applikationsverwaltung" + ' + 'ToolStripButton1 + ' + Me.ToolStripButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton1.Image = CType(resources.GetObject("ToolStripButton1.Image"), System.Drawing.Image) + Me.ToolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton1.Name = "ToolStripButton1" + Me.ToolStripButton1.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton1.Text = "Lizenzmanagement" + ' + 'frmMain + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(990, 518) + Me.Controls.Add(Me.ToolStrip1) + Me.Controls.Add(Me.MenuStrip1) + Me.IsMdiContainer = True + Me.MainMenuStrip = Me.MenuStrip1 + Me.Name = "frmMain" + Me.Text = "Themen-/Issue-Management TKB" + Me.MenuStrip1.ResumeLayout(False) + Me.MenuStrip1.PerformLayout() + Me.ToolStrip1.ResumeLayout(False) + Me.ToolStrip1.PerformLayout() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents MenuStrip1 As System.Windows.Forms.MenuStrip + Friend WithEvents DateiToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ThemenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents PendenzenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents AuswertungenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ExtrasToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents SystemAdministrationToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStrip1 As System.Windows.Forms.ToolStrip + Friend WithEvents TSBtnQuit As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnVertragsuebersicht As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnMonitoring As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnApplikationen As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripButton1 As System.Windows.Forms.ToolStripButton + Friend WithEvents BeendenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents NeuAnmeldenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ObjektListerToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem +End Class diff --git a/.svn/pristine/04/04154083fad1a8ee93a3ae789a1390f28f189f16.svn-base b/.svn/pristine/04/04154083fad1a8ee93a3ae789a1390f28f189f16.svn-base new file mode 100644 index 0000000..458fa86 Binary files /dev/null and b/.svn/pristine/04/04154083fad1a8ee93a3ae789a1390f28f189f16.svn-base differ diff --git a/.svn/pristine/04/04bcebcf35a7916d5949184acf6f805fe09fefe9.svn-base b/.svn/pristine/04/04bcebcf35a7916d5949184acf6f805fe09fefe9.svn-base new file mode 100644 index 0000000..b5c0478 Binary files /dev/null and b/.svn/pristine/04/04bcebcf35a7916d5949184acf6f805fe09fefe9.svn-base differ diff --git a/.svn/pristine/07/07823ef022a810424e1bce42c2ba0dc690526d31.svn-base b/.svn/pristine/07/07823ef022a810424e1bce42c2ba0dc690526d31.svn-base new file mode 100644 index 0000000..258e707 --- /dev/null +++ b/.svn/pristine/07/07823ef022a810424e1bce42c2ba0dc690526d31.svn-base @@ -0,0 +1,34 @@ +Module Crypto + Public Function EncryptText(ByVal strText As String, ByVal strPwd As String) + Dim i As Integer, c As Integer + Dim strBuff As String + + strPwd = UCase$(strPwd) + If Len(strPwd) Then + For i = 1 To Len(strText) + c = Asc(Mid$(strText, i, 1)) + c = c + Asc(Mid$(strPwd, (i Mod Len(strPwd)) + 1, 1)) + strBuff = strBuff & Chr(c And &HFF) + Next i + Else + strBuff = strText + End If + EncryptText = strBuff + End Function + + Public Function DecryptText(ByVal strText As String, ByVal strPwd As String) + Dim i As Integer, c As Integer + Dim strBuff As String + strPwd = UCase$(strPwd) + If Len(strPwd) Then + For i = 1 To Len(strText) + c = Asc(Mid$(strText, i, 1)) + c = c - Asc(Mid$(strPwd, (i Mod Len(strPwd)) + 1, 1)) + strBuff = strBuff & Chr(c And &HFF) + Next i + Else + strBuff = strText + End If + DecryptText = strBuff + End Function +End Module diff --git a/.svn/pristine/07/07ca1a34afef1ff4b9733d02d05d06d7839a1b93.svn-base b/.svn/pristine/07/07ca1a34afef1ff4b9733d02d05d06d7839a1b93.svn-base new file mode 100644 index 0000000..4986ce9 --- /dev/null +++ b/.svn/pristine/07/07ca1a34afef1ff4b9733d02d05d06d7839a1b93.svn-base @@ -0,0 +1,2338 @@ + + + + +Themenmanagement + + + + + + Dataview Meldungstexte um Textelemente für die Ausgabe zu suchen + + + + + Meldungen aus der Datenbanklesen, sofern diese noch nicht ausgelesen worden sind. Nach dem ersten Lesen werden + die Daten aus der Tabelle Meldungstexte ohne erneutem DB-Zugriff verwendet + + + + + + + Standardmessage + + Messagenr + Messagetyp + + + + + Yes-No-Meldung + + Meldungsnr + MsgboxResult + + + + Standard-Meldung, welcher 2 Strings als Parameter übergeben werden, damit diese im Meldungstext ersetzt werden können. + Parameter im Meldungstext #1 oder #2 + + + + + + + + + + Yes-No-Meldung, welcher 2 Strings als Parameter übergeben werden, damit diese im Meldungstext ersetzt werden können. + Parameter im Meldungstext #1 oder #2 + + MeldungsNr + erster Text zum ersetzen + zweiter Text zum ersetzen + + + + + Ausgabe der Meldung, welche übergeben wird. Als Option können 2 Texte zum Ersetzen übergeben werden. + Parameter im Meldungstext #1 oder #2 + + Meldungstext + erster Text zum ersetzen + zweiter Text zum ersetzen + + + + + Meldung Yes-No-Cancel + + + + + + + Standard-Messages in div. Formatenm + + + + + Sortierung der in der DB-Tabelle Spalaten festgelegten Reihenfolge + + + + + + + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Class constructor. + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iFunktionsgruppenr
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • sZugehoerigkeit. May be SqlString.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iFunktionsgruppenr
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • sZugehoerigkeit. May be SqlString.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iFunktionsgruppenr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iFunktionsgruppenr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iFunktionsgruppenr
  • +
  • sBezeichnung
  • +
  • sBeschreibung
  • +
  • sZugehoerigkeit
  • +
  • iMandantnr
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Data Access class for the table 'funktionsgruppe'. + + + + Liest sämtlcihe CFG-Dateien mit dem Namen "Vertragsverwaltung...". Sind meherere Dateien vorhanden, + wird ein Auswahldialog zur Datenbank-Selektion angezeigt. + Standardmässig wird Vertragsverwaltung.cfg als CFG-Datei benutzt. + + Die CFG-Datei ist verschlüsselt und wird über die Crypto-Funktionen entschlüsselt. + + + + + Dynamische Datenbank-Verbindung aufbauen. Verwendet wird standardmässig Vertragsverwaltung.cfg. + Sollen Datenbank-Verbindungen zur Auswahl angezeigt werden, werden sämntliche Datenbank-Verbindungsdateien + mit dem Namen "Vertragsverwaltung....cfg" berücksichtigt + + + + + Form für die Datenbankauswahl + + + + + Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + + + + Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. + + + + Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + + + + Daten ab Datenbank laden + + + + + Sucht in den Base-Controls sämtliche Controls mit dem Namen in "Key" (Wildcards * möglich) und listet + die gefundnen Controls in der Liste L zur weiteren Bearbeitung + + Base-Contrlo (z.B. aktuelles Formular + Schlüssel welcher gesucht werden soll + Liste der gefundenen Objekte + True wenn eines oder mehr Controls gefunden wurden, false wenn kein Control gefunden wurde. + + + + + Purpose: Class constructor. + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iMitarbeiternr
  • +
  • sVorname. May be SqlString.Null
  • +
  • sName. May be SqlString.Null
  • +
  • sTgnummer. May be SqlString.Null
  • +
  • sEmail. May be SqlString.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iMitarbeiternr
  • +
  • sVorname. May be SqlString.Null
  • +
  • sName. May be SqlString.Null
  • +
  • sTgnummer. May be SqlString.Null
  • +
  • sEmail. May be SqlString.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iMitarbeiternr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iMitarbeiternr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iMitarbeiternr
  • +
  • sVorname
  • +
  • sName
  • +
  • sTgnummer
  • +
  • sEmail
  • +
  • iMandantnr
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Data Access class for the table 'mitarbeiter'. + + + + Purpose: Class constructor. + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iRollenr
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • bSysadminrolle. May be SqlBoolean.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iRollenr
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • bSysadminrolle. May be SqlBoolean.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iRollenr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iRollenr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iRollenr
  • +
  • sBezeichnung
  • +
  • sBeschreibung
  • +
  • bSysadminrolle
  • +
  • iMandantnr
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Data Access class for the table 'rolle'. + + + + Tabellenname übernehmen und Objekt DomainTable initialisieren + Initialisierung der Komponenten + + Tabellenname der Tabelle, welche über den Domaineditor editiert werden soll + Benötigt werden entsprechende Stored_Procedures, welche mit LBLLGEN_2 generiert wurden + pr_"Tablename"_SelectAll + pr_"Tablename"_Update + + + + Zuordnung der Daten aus Domaintable und Spaltentitel des Grids setzen + + + + + + + Schliessen des Formulars + + + + + + + Ruft BeendetnToolStipMenuItem_Click auf + + + + + + + Prüfung auf allfällige Daten-Changes. Wurden Daten verändert, kann der User entscheiden, ob gespeichert, nichtgespeichert oder + das Formular nicht gespeichert werden soll. + + + + + + + Sichern der Daten + + + + + + + Aktualisierung der Spalten mutiert_am und mutierern. Sofern noch kein Schlüsselwert gesetzt ist (bei neuem Datensatz) + wird dieser aus der Keytabelle ausgelesen und zugewiesen. + + + + Je Domaintable ist ein Eintrag in der Key-Tabelle notwendig + + + Aktualisierung der Default-Werte + + + + + + + Anzeige allfälliger Cellen-Tips + + + + + + + Form mit generalisiertem Domain-Table-Editor. + + + + + Vertragsverwaltung.TKB.VV.Sysadmin.DomainTable + + + Tabellenname übernehmen und Objekt DomainTable initialisieren + Initialisierung der Komponenten + + Tabellenname der Tabelle, welche über den Domaineditor editiert werden soll + Benötigt werden entsprechende Stored_Procedures, welche mit LBLLGEN_2 generiert wurden + pr_"Tablename"_SelectAll + pr_"Tablename"_Update + + + + Zuordnung der Daten aus Domaintable und Spaltentitel des Grids setzen + + + + + + + Schliessen des Formulars + + + + + + + Ruft BeendetnToolStipMenuItem_Click auf + + + + + + + Prüfung auf allfällige Daten-Changes. Wurden Daten verändert, kann der User entscheiden, ob gespeichert, nichtgespeichert oder + das Formular nicht gespeichert werden soll. + + + + + + + Sichern der Daten + + + + + + + Form mit generalisiertem Domain-Table-Editor. + + + + + Vertragsverwaltung.TKB.VV.Sysadmin.DomainTable + + + Purpose: Class constructor. + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iFunktionsgrupperollenr
  • +
  • iFunktionsgruppenr. May be SqlInt32.Null
  • +
  • iRollenr. May be SqlInt32.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iFunktionsgrupperollenr
  • +
  • iFunktionsgruppenr. May be SqlInt32.Null
  • +
  • iRollenr. May be SqlInt32.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iFunktionsgrupperollenr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iFunktionsgrupperollenr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iFunktionsgrupperollenr
  • +
  • iFunktionsgruppenr
  • +
  • iRollenr
  • +
  • iMandantnr
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Data Access class for the table 'funktionsgruppe_rolle'. + + + + Form für den Login. Wird nur angezeigt, sofern in der Tabelle Application Show-Login = true + + + + + Tabellenname übernehmen und Daten ab DB laden + + + + + + Daten ab Datenbank laden + + + + + Basis-Datentabelle laden. Diese wird für die dynamische Generierung der Insert- und Update-Statements benötigt + + + + + Update-Statement dynamisch für das UpdateCommand generieren + + + + + Insert-Statement dynamisch für das InsertCommand generieren + + + + + Prefixt für den SP-Übergabeparameter generieren + + Aktuelle Columnt + Prefis für SP-Übergabeparameter + + + + SQL-DB-Type für den SP-Übergabeparameter festlegen + + Aktuelle Column + SQLDBType + + + + Feldlänge für den SP-Übergabeparemter festlegen + + Aktulle Column + Feldlänge + + + + Datesichern. Dabei wird das Update- sowie das Insert-Statement dynamisch generiert + + + + + Dispose von Tabledata + + + + + Load der Verbindungstabelle + + + + + + + + Neuer Eintrag in der Tabelle eintragen. Sind neben den Defaultwerten weitere Attribute vorhanden, werde diese abhängig vom Datentype mit Defaultwerten befüllt. + + + + + + + + + Formularsecurity setzen + + Aktuelles Formular + + + + + Daten ab Datenbank laden + + + + + Prüft die DB-Einträge mit den Formcontrols und bei Übereinstimmung werden die Security-Einstellungen gesetzt + + + + + Security-Einstellungen setzen + + Betroffenes Objeckt (Menuitem, Conrol usw.) + Readonly ja/nein + Sichtbar ja/nein + Name des Unterobjektes - wird für die Spalteneinstellungen von C1TruedbGrids verwendet + + + + Alle Controls des Formulars zusammensuchen und auf der DB speichern + + Betroffenes Formular + + + + + Sämtliche Controls vom Formular auslesen + + + + + + + Auslesen von ContextMenuItems + + + + + + + Auslesen von Menu-Subitems + + + + + + + Prüft, ob das Security-Objekt bereits auf der DB vorhanden ist + + Formular + Objekttyp + Objektname + Objektitem + + + + + Formular-Security-Objekte auslesen und auf DB schreiben bzw. Formular-Security zur Laufzeit setzen + + + + + Neue Instanz erstellen + + Control-Objekt + Betroffenes Formular + Objekttyp + Objektname + Unterobjekt (z.B. bei Menus, Spalten von C1TrueDBGrids) + + + + Schreibt einen Datnsatz in die Tabelle SecurityObjects + + + + + +Prüft, ob das Security-Objekt bereits auf der DB vorhanden ist + + + + + + Klasse für ein Control-Objekt + + + + + Purpose: Class constructor. + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • sBeschreibung
  • +
  • iKey_wert
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iKeynr
  • +
  • iErrorCode
  • +
+
+
+ + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKeynr
  • +
  • sBeschreibung
  • +
  • iKey_wert
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKeynr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKeynr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iKeynr
  • +
  • sBeschreibung
  • +
  • iKey_wert
  • +
  • iMandantnr
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Data Access class for the table 'key_tabelle'. + + + + Purpose: Class constructor. + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iSecurityObjectNr
  • +
  • sSecurityForm. May be SqlString.Null
  • +
  • sSecurityObjectType. May be SqlString.Null
  • +
  • sSecurityObject. May be SqlString.Null
  • +
  • sSecurityObjectItem. May be SqlString.Null
  • +
  • sSecurityObjectDescriotion. May be SqlString.Null
  • +
  • iLevel. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iSecurityObjectNr
  • +
  • sSecurityForm. May be SqlString.Null
  • +
  • sSecurityObjectType. May be SqlString.Null
  • +
  • sSecurityObject. May be SqlString.Null
  • +
  • sSecurityObjectItem. May be SqlString.Null
  • +
  • sSecurityObjectDescriotion. May be SqlString.Null
  • +
  • iLevel. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iSecurityObjectNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iSecurityObjectNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iSecurityObjectNr
  • +
  • sSecurityForm
  • +
  • sSecurityObjectType
  • +
  • sSecurityObject
  • +
  • sSecurityObjectItem
  • +
  • sSecurityObjectDescriotion
  • +
  • iLevel
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
  • iMandantnr
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Data Access class for the table 'SecurityObject'. + + + + Laden der linken und rechten Tabelle + + + + + + + + + Laden sämlticher Tabellen + + + + + + + Aktualiserung der Verbindungstabelle + + + + + Linker Fokus-Knopf betätigt + + + + + + + Rechter Fokus-Knopf betätigt + + + + + + + Prüfung, ob Verbindungstabelle geändert wurde. + + + + + Formular schliessen + + + + + + + Formular schliessen + + + + + + + Formular-Resize: Button Verbinden und Button Focus-Rechts neu positionieren + + + + + + + Verbindungstabelle sichern + + + + + + + Nach Datenmutation der unteren Tabelle mutiert_am und mutierer nachführen + + + + + + + Doppelklick in linken Grid + + + + + + + Linke Tabelle angeklickt + + + + + + + Doppelklick im rechten Grid + + + + + + + Rechte Tabelle angeklickt + + + + + + + Die linke und rechte Domain-Table in der unteren Tabelle verbinden. + Daten sichern und erneut laden + + + + + + + Anzeige allfälliger Cellen-Tips + + + + + + + Verbindungseditor: Verbindet 2 Domain-Tables in einer dritten Tabelle. + + + + + + Purpose: Class constructor. + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iApplikationsnr
  • +
  • sVersion. May be SqlString.Null
  • +
  • bShowlogin. May be SqlBoolean.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • sTmp_filepath. May be SqlString.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iApplikationsnr
  • +
  • sVersion. May be SqlString.Null
  • +
  • bShowlogin. May be SqlBoolean.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • sTmp_filepath. May be SqlString.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iApplikationsnr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iApplikationsnr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iApplikationsnr
  • +
  • sVersion
  • +
  • bShowlogin
  • +
  • iMandantnr
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
  • sTmp_filepath
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Data Access class for the table 'Application'. + + + + Purpose: Class constructor. + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iRolle_securityobjectnr
  • +
  • iRollenr. May be SqlInt32.Null
  • +
  • iSecurityobjectnr. May be SqlInt32.Null
  • +
  • bReadonly. May be SqlBoolean.Null
  • +
  • bInvisible. May be SqlBoolean.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iRolle_securityobjectnr
  • +
  • iRollenr. May be SqlInt32.Null
  • +
  • iSecurityobjectnr. May be SqlInt32.Null
  • +
  • bReadonly. May be SqlBoolean.Null
  • +
  • bInvisible. May be SqlBoolean.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iRolle_securityobjectnr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iRolle_securityobjectnr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iRolle_securityobjectnr
  • +
  • iRollenr
  • +
  • iSecurityobjectnr
  • +
  • bReadonly
  • +
  • bInvisible
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
  • iMandantnr
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Data Access class for the table 'Rolle_SecurityObject'. + + + + Purpose: Class constructor. + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iEintragnr
  • +
  • sTabelle. May be SqlString.Null
  • +
  • sTabellenspalte. May be SqlString.Null
  • +
  • sSpalte. May be SqlString.Null
  • +
  • bReadonly
  • +
  • bAlsHacken
  • +
  • iBreite. May be SqlInt32.Null
  • +
  • iReihenfolge. May be SqlInt32.Null
  • +
  • sTiptext. May be SqlString.Null
  • +
  • bAktiv
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • sNumberFormat. May be SqlString.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iEintragnr
  • +
  • sTabelle. May be SqlString.Null
  • +
  • sTabellenspalte. May be SqlString.Null
  • +
  • sSpalte. May be SqlString.Null
  • +
  • bReadonly
  • +
  • bAlsHacken
  • +
  • iBreite. May be SqlInt32.Null
  • +
  • iReihenfolge. May be SqlInt32.Null
  • +
  • sTiptext. May be SqlString.Null
  • +
  • bAktiv
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • sNumberFormat. May be SqlString.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iEintragnr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iEintragnr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iEintragnr
  • +
  • sTabelle
  • +
  • sTabellenspalte
  • +
  • sSpalte
  • +
  • bReadonly
  • +
  • bAlsHacken
  • +
  • iBreite
  • +
  • iReihenfolge
  • +
  • sTiptext
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
  • iMandantnr
  • +
  • sNumberFormat
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Data Access class for the table 'spalten'. + + + + Load des Formulars + + + + + + + Doppelklick auf einen Eintrag: Es wird geprüft, ob in der Tabelle SysadminFunktion im Attribut DomainTable + einen Wert vorhanden ist. Sofern dies der Fall ist, wird der generelle Domain-Table-Editor aufgerufen + + + + + + + Schliessen des Formulares + + + + + + + Fenster schliessen + + + + + + + Neuer Eintrag im Menu einfügen + + + + + + + Eintrag im Menu löschen + + + + + + + Umbenennen des aktuellen Menu-Eintrages + + + + + + + Menu Sichern + + + + + + + Knoten rekursiv auslesen + + + + + + + einzelner Knoten sichern + + + + + + + Generiert die Spaltentitel in der Tabelle Spalten aufgrund der im Formular frmSysadminTableSelector gewählten Tabelle + + + + + + + Ruft die SP zur Spalten-Generierung auf + + + + + + Dokument in der Tabelle Dokument speichern + + Nummer des Dokument-Datensatzes + Zu speichender Dateiname + + + + + Liest das Dokument aus der DB und speichert dieses unter einem temporären Filenamen ab + + + + + + + Klasse für das Speichern bzw. Auslesen von Image-Dateien in der Datenbank + + + Es werden folgende Datebanktabellen berücksichtigt: + + + Dokument Attribut DocImage + + Profile Attribut V_Uebersicht (Profillayout des C1TrueDBGrids der + Vertragsübersicht|Vertragselemente + + yes + + + Purpose: Class constructor. + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iMeldungstextnr
  • +
  • iSprache
  • +
  • sInhalt. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • bAktiv
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iMeldungstextnr
  • +
  • iSprache
  • +
  • sInhalt. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • bAktiv
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iMeldungstextnr
  • +
  • iSprache
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Delete method using PK field 'meldungstextnr'. This method will + delete one or more rows from the database, based on the Primary Key field 'meldungstextnr'. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iMeldungstextnr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Delete method using PK field 'sprache'. This method will + delete one or more rows from the database, based on the Primary Key field 'sprache'. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iSprache
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iMeldungstextnr
  • +
  • iSprache
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iMeldungstextnr
  • +
  • iSprache
  • +
  • sInhalt
  • +
  • sBeschreibung
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
  • iMandantnr
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Data Access class for the table 'meldungstexte'. + + + + Applikationsversion + + + + + Applikationsdaten + + + + + Angemelderter Mitarbeiter + + + + + Applikationsparameter + + + + + DB-Verbindungsklasse + + + + + Aktueller Applikationspfad + + + + + + Purpose: Class constructor. + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iSysadminfnktnr
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • iParentID. May be SqlInt32.Null
  • +
  • iSort. May be SqlInt32.Null
  • +
  • iImageIndex. May be SqlInt32.Null
  • +
  • iImageIndexOpen. May be SqlInt32.Null
  • +
  • iFtop. May be SqlInt32.Null
  • +
  • iFleft. May be SqlInt32.Null
  • +
  • iFwidth. May be SqlInt32.Null
  • +
  • iFheight. May be SqlInt32.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • iMandantnr
  • +
  • iSprache
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • sDomaintable. May be SqlString.Null
  • +
  • sKeyFields. May be SqlString.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iSysadminfnktnr
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • iParentID. May be SqlInt32.Null
  • +
  • iSort. May be SqlInt32.Null
  • +
  • iImageIndex. May be SqlInt32.Null
  • +
  • iImageIndexOpen. May be SqlInt32.Null
  • +
  • iFtop. May be SqlInt32.Null
  • +
  • iFleft. May be SqlInt32.Null
  • +
  • iFwidth. May be SqlInt32.Null
  • +
  • iFheight. May be SqlInt32.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • iMandantnr
  • +
  • iSprache
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • sDomaintable. May be SqlString.Null
  • +
  • sKeyFields. May be SqlString.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iSysadminfnktnr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iSysadminfnktnr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iSysadminfnktnr
  • +
  • sBezeichnung
  • +
  • iParentID
  • +
  • iSort
  • +
  • iImageIndex
  • +
  • iImageIndexOpen
  • +
  • iFtop
  • +
  • iFleft
  • +
  • iFwidth
  • +
  • iFheight
  • +
  • sBeschreibung
  • +
  • iMandantnr
  • +
  • iSprache
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
  • sDomaintable
  • +
  • sKeyFields
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Data Access class for the table 'sysadminfunktion'. + + + + Purpose: Class constructor. + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iMitarbeiter_funktionsgruppenr
  • +
  • iMitarbeiternr. May be SqlInt32.Null
  • +
  • iFunktionsgruppenr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iMitarbeiter_funktionsgruppenr
  • +
  • iMitarbeiternr. May be SqlInt32.Null
  • +
  • iFunktionsgruppenr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iMitarbeiter_funktionsgruppenr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iMitarbeiter_funktionsgruppenr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iMitarbeiter_funktionsgruppenr
  • +
  • iMitarbeiternr
  • +
  • iFunktionsgruppenr
  • +
  • bAktiv
  • +
  • iMandantnr
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Data Access class for the table 'mitarbeiter_funktionsgruppe'. + + + + Alle Mitarbeiter inkl. vollständigem Name (Fullname) auslesen + + Datatable + + + + Mitarbeiter mittels TGNummer auslesen + + Datatable + + + + Security-Deklaration zum Auslesen der UserID vom Windows-User + + + + + Windows-User auslesen + + + + + + Laden des Formulars + + + + + + + Löschen der Dateien im Temp-Verzeichnis + + + + + System-Initialosierung + - Applikationsdaten auslesen + - Aktueller Mitarbeiter auslesen bzw. Login-Dialog anzeigen + + + + + Login-Fenster anzeigen und neuen User anmelden + + + + + Purpose: Class constructor. + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iRolle_sysadminfnktnr
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • iSysadminfnktnr. May be SqlInt32.Null
  • +
  • iRollenr. May be SqlInt32.Null
  • +
  • iMandant. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iRolle_sysadminfnktnr
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • iSysadminfnktnr. May be SqlInt32.Null
  • +
  • iRollenr. May be SqlInt32.Null
  • +
  • iMandant. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iRolle_sysadminfnktnr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iRolle_sysadminfnktnr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iRolle_sysadminfnktnr
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
  • iSysadminfnktnr
  • +
  • iRollenr
  • +
  • iMandant
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Data Access class for the table 'rolle_sysadminfunktion'. + + + + Purpose: Class constructor. + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iToolTipNr
  • +
  • sFormularName. May be SqlString.Null
  • +
  • sControlName. May be SqlString.Null
  • +
  • sToolTip. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iToolTipNr
  • +
  • sFormularName. May be SqlString.Null
  • +
  • sControlName. May be SqlString.Null
  • +
  • sToolTip. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iToolTipNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iToolTipNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iToolTipNr
  • +
  • sFormularName
  • +
  • sControlName
  • +
  • sToolTip
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + Purpose: Data Access class for the table 'ToolTip'. + + + + Event Formular "Vertragselement" Closed absetzen + + + + + + + + Event Formular Vertragsparter Closed absetzen + + + + + +
+
\ No newline at end of file diff --git a/.svn/pristine/08/083e33ede7e39e8d53f0e546bd42e4c789beb025.svn-base b/.svn/pristine/08/083e33ede7e39e8d53f0e546bd42e4c789beb025.svn-base new file mode 100644 index 0000000..a803a2d --- /dev/null +++ b/.svn/pristine/08/083e33ede7e39e8d53f0e546bd42e4c789beb025.svn-base @@ -0,0 +1,491 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'key_tabelle' +' // Generated by LLBLGen v1.21.2003.712 Final on: Dienstag, 1. Januar 2013, 13:15:45 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace db + ''' + ''' Purpose: Data Access class for the table 'key_tabelle'. + ''' + Public Class clsKey_tabelle + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daErstellt_am, m_daMutiert_am As SqlDateTime + Private m_iMutierer, m_iKeynr, m_iKey_wert, m_iMandantnr As SqlInt32 + Private m_sBeschreibung As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • sBeschreibung
  • + '''
  • iKey_wert
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iKeynr
  • + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_key_tabelle_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@sbeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@ikey_wert", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKey_wert)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@ikeynr", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iKeynr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iKeynr = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@ikeynr").Value, Integer)) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_key_tabelle_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKey_tabelle::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iKeynr
  • + '''
  • sBeschreibung
  • + '''
  • iKey_wert
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_key_tabelle_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@ikeynr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKeynr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sbeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@ikey_wert", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKey_wert)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_key_tabelle_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKey_tabelle::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iKeynr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_key_tabelle_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@ikeynr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKeynr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_key_tabelle_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKey_tabelle::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iKeynr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iKeynr
  • + '''
  • sBeschreibung
  • + '''
  • iKey_wert
  • + '''
  • iMandantnr
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_key_tabelle_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("key_tabelle") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@ikeynr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKeynr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_key_tabelle_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iKeynr = New SqlInt32(CType(dtToReturn.Rows(0)("keynr"), Integer)) + m_sBeschreibung = New SqlString(CType(dtToReturn.Rows(0)("beschreibung"), String)) + m_iKey_wert = New SqlInt32(CType(dtToReturn.Rows(0)("key_wert"), Integer)) + If dtToReturn.Rows(0)("mandantnr") Is System.DBNull.Value Then + m_iMandantnr = SqlInt32.Null + Else + m_iMandantnr = New SqlInt32(CType(dtToReturn.Rows(0)("mandantnr"), Integer)) + End If + If dtToReturn.Rows(0)("aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKey_tabelle::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_key_tabelle_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("key_tabelle") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_key_tabelle_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKey_tabelle::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iKeynr]() As SqlInt32 + Get + Return m_iKeynr + End Get + Set(ByVal Value As SqlInt32) + Dim iKeynrTmp As SqlInt32 = Value + If iKeynrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iKeynr", "iKeynr can't be NULL") + End If + m_iKeynr = Value + End Set + End Property + + + Public Property [sBeschreibung]() As SqlString + Get + Return m_sBeschreibung + End Get + Set(ByVal Value As SqlString) + Dim sBeschreibungTmp As SqlString = Value + If sBeschreibungTmp.IsNull Then + Throw New ArgumentOutOfRangeException("sBeschreibung", "sBeschreibung can't be NULL") + End If + m_sBeschreibung = Value + End Set + End Property + + + Public Property [iKey_wert]() As SqlInt32 + Get + Return m_iKey_wert + End Get + Set(ByVal Value As SqlInt32) + Dim iKey_wertTmp As SqlInt32 = Value + If iKey_wertTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iKey_wert", "iKey_wert can't be NULL") + End If + m_iKey_wert = Value + End Set + End Property + + + Public Property [iMandantnr]() As SqlInt32 + Get + Return m_iMandantnr + End Get + Set(ByVal Value As SqlInt32) + m_iMandantnr = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/.svn/pristine/08/08b4ad8dee9adad370b20891e6c73eb0a7ae1be9.svn-base b/.svn/pristine/08/08b4ad8dee9adad370b20891e6c73eb0a7ae1be9.svn-base new file mode 100644 index 0000000..582f018 --- /dev/null +++ b/.svn/pristine/08/08b4ad8dee9adad370b20891e6c73eb0a7ae1be9.svn-base @@ -0,0 +1,35 @@ + + + + +ExtendedRichTextBox + + + + + + Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + + + + Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. + + + + Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + + + + The rich text box print control class was developed by Microsoft, information about + this control can be found in your help files at: + ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.KB.v10.en/enu_kbvbnetkb/vbnetkb/811401.htm + In general, their intent was to create a rich text box control with print capability + embedded into the control. + + This control class replaces the use of the regular RichTextBox control; the + purpose of this extension was specifically to facilitate printing the contents + of a rich text box control. + + + \ No newline at end of file diff --git a/.svn/pristine/09/0988c7ec1064ab83d775778e10c192358cbf147d.svn-base b/.svn/pristine/09/0988c7ec1064ab83d775778e10c192358cbf147d.svn-base new file mode 100644 index 0000000..1bd7770 --- /dev/null +++ b/.svn/pristine/09/0988c7ec1064ab83d775778e10c192358cbf147d.svn-base @@ -0,0 +1,157 @@ +Imports SautinSoft.HtmlToRtf +Imports System.IO +Public Class frmDetail + + Private Sub tbrSave_Click(sender As System.Object, e As System.EventArgs) + ' Me.rtbDoc.SaveFile("h:\tssettings\eintrag" + Microsoft.VisualBasic.Right(Me.TreeView2.SelectedNode.Text, 1) + ".rtf") + End Sub + + Private Sub TreeView2_AfterSelect(sender As System.Object, e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView2.AfterSelect + 'Me.rtbDoc.Clear() + 'Me.rtbDoc.Visible = True + 'Me.Panel1.Visible = False + 'Me.rtbDoc.Dock = DockStyle.Fill + 'Me.Panel2.Dock = DockStyle.Fill + 'Try + ' Me.rtbDoc.LoadFile("h:\tssettings\eintrag" + Microsoft.VisualBasic.Right(Me.TreeView2.SelectedNode.Text, 1) + ".rtf") + 'Catch + 'End Try + End Sub + + Private Sub ÜbersichtToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles ÜbersichtToolStripMenuItem.Click + 'Dim x As New ToolStrip + 'x = ToolStrip9 + 'Me.rtbDoc.Visible = False + 'Me.Panel1.Dock = DockStyle.Fill + 'Me.Panel1.Visible = True + 'Panel1.Controls.Clear() + 'Panel1.Controls.Add(x) + 'For i = 9 To 1 Step -1 + ' Try + ' Dim rb As New RichTextBox + ' rb.LoadFile("h:\tssettings\Eintrag" + Trim(i.ToString) + ".rtf") + ' rb.Height = 80 + ' rb.Dock = DockStyle.Top + ' rb.ReadOnly = True + ' AddHandler rb.DoubleClick, AddressOf rb_dblClick + ' Panel1.Controls.Add(rb) + ' Dim l As New Label + ' Catch + ' End Try + + 'Next + + End Sub + + Private Sub rb_dblClick(sender As Object, e As System.EventArgs) + 'Me.Panel1.Visible = False + 'Me.rtbDoc.Visible = True + 'Me.rtbDoc.Dock = DockStyle.Fill + 'Me.Panel2.Dock = DockStyle.Fill + 'Me.TreeView2.SelectedNode = TreeView2.Nodes(0) + End Sub + + + + Private Sub frmDetail_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load + Me.TreeView2.Nodes.Clear() + For i = 1 To 9 + Me.TreeView2.Nodes.Add("Eintrag" + i.ToString) + Next + End Sub + + Private Sub AllesToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles AllesToolStripMenuItem.Click + + ''Dim rb As New RichTextBox + ''Dim rb1 As New RichTextBox + ''Me.Panel1.Controls.Clear() + + ''For i = 9 To 1 Step -1 + '' Try + '' rb1.LoadFile("h:\tssettings\Eintrag" + Trim(i.ToString) + ".rtf") + '' 'rb = AppendRTF(rb1, rb1.Rtf) + '' rb.SelectionStart = 0 + '' rb.SelectionLength = 0 + '' rb1.SelectAll() + '' rb.Rtf = rb.Rtf + rb1.Rtf + '' ' rb1.SelectAll() + '' ' My.Computer.Clipboard.SetText(rb1.SelectedRtf) + '' ' rb.Rtf += My.Computer.Clipboard.GetText + '' Catch + '' End Try + + ''Next + ''Me.Panel1.Controls.Add(rb) + ''rb.Dock = DockStyle.Fill + 'Dim h As New SautinSoft.HtmlToRtf + + 'Dim firstRtf As String = "" + 'Dim Delimitter As String = "" + 'Dim secondRtf As String = "" + 'Dim singleRtf As String = "" + + 'singleRtf = ReadFromFile("h:\tssettings\empty.rtf") + 'Delimitter = ReadFromFile("h:\tssettings\delimitter.rtf") + 'For i = 1 To 9 + ' Try + ' secondRtf = ReadFromFile("h:\tssettings\Eintrag" + Trim(i.ToString) + ".rtf") + ' singleRtf = h.MergeRtfString(singleRtf, secondRtf) + ' singleRtf = h.MergeRtfString(singleRtf, Delimitter) + ' Catch + ' End Try + + 'Next + 'Dim x As New ToolStrip + 'x = ToolStrip9 + 'Me.Panel1.Controls.Clear() + 'Panel1.Controls.Add(x) + 'Dim rb As New RichTextBox + 'rb.Rtf = singleRtf + 'Me.Panel1.Controls.Add(rb) + 'rb.Dock = DockStyle.Fill + 'Me.Panel1.Visible = True + 'Me.Panel1.Dock = DockStyle.Fill + 'Me.rtbDoc.Visible = False + + End Sub + + + Public Function ReadFromFile(ByVal fileName As String) As String + + Dim fileString As String = "" + Try + Dim fs As System.IO.FileStream = New FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.Read) + Dim b(CInt(Fix(fs.Length)) - 1) As Byte + If fs.Read(b, 0, CInt(Fix(fs.Length))) > 0 Then + Dim arCharRes(fs.Length - 1) As Char + For i As Integer = 0 To fs.Length - 1 + arCharRes(i) = ChrW(b(i)) + Next i + fileString = New String(arCharRes) + End If + fs.Close() + Return fileString + Catch + Return "" + End Try + End Function + Public Function WriteToFile(ByVal fileName As String, ByVal fileStr As String) As Integer + Try + Dim sw As New StreamWriter(fileName, False) + sw.Write(fileStr) + sw.Close() + Catch + Return 2 + End Try + Return 0 + End Function + + + Private Sub ToolStripButton22_Click(sender As System.Object, e As System.EventArgs) Handles ToolStripButton22.Click + ÜbersichtToolStripMenuItem_Click(sender, e) + End Sub + + Private Sub ToolStripButton23_Click(sender As System.Object, e As System.EventArgs) Handles ToolStripButton23.Click + AllesToolStripMenuItem_Click(sender, e) + End Sub +End Class \ No newline at end of file diff --git a/.svn/pristine/09/0992118538158985425c86de56658de4254b4991.svn-base b/.svn/pristine/09/0992118538158985425c86de56658de4254b4991.svn-base new file mode 100644 index 0000000..eccf5d1 Binary files /dev/null and b/.svn/pristine/09/0992118538158985425c86de56658de4254b4991.svn-base differ diff --git a/.svn/pristine/0b/0b5753867f697eb43373eca2511f2a2eed9ab231.svn-base b/.svn/pristine/0b/0b5753867f697eb43373eca2511f2a2eed9ab231.svn-base new file mode 100644 index 0000000..6a1fe31 Binary files /dev/null and b/.svn/pristine/0b/0b5753867f697eb43373eca2511f2a2eed9ab231.svn-base differ diff --git a/.svn/pristine/0c/0cd4063c67003fc3eb958d3ce7620b9806a66bec.svn-base b/.svn/pristine/0c/0cd4063c67003fc3eb958d3ce7620b9806a66bec.svn-base new file mode 100644 index 0000000..debb9a7 Binary files /dev/null and b/.svn/pristine/0c/0cd4063c67003fc3eb958d3ce7620b9806a66bec.svn-base differ diff --git a/.svn/pristine/0e/0e344e6eea3f9e24e1be2b41097de993439e048f.svn-base b/.svn/pristine/0e/0e344e6eea3f9e24e1be2b41097de993439e048f.svn-base new file mode 100644 index 0000000..43527db --- /dev/null +++ b/.svn/pristine/0e/0e344e6eea3f9e24e1be2b41097de993439e048f.svn-base @@ -0,0 +1,174 @@ + _ +Partial Class frmDomainEditor + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmDomainEditor)) + Me.MenuStrip1 = New System.Windows.Forms.MenuStrip() + Me.DateiToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.BeendenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStrip1 = New System.Windows.Forms.ToolStrip() + Me.TSBtnQuit = New System.Windows.Forms.ToolStripButton() + Me.TSBtnSave = New System.Windows.Forms.ToolStripButton() + Me.C1Daten = New C1.Win.C1TrueDBGrid.C1TrueDBGrid() + Me.ContextMenuStripAuswertung = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.ReportdateiDBToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ReportdateiFilesystemToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.OpenFileDialog1 = New System.Windows.Forms.OpenFileDialog() + Me.SaveFileDialog1 = New System.Windows.Forms.SaveFileDialog() + Me.MenuStrip1.SuspendLayout() + Me.ToolStrip1.SuspendLayout() + CType(Me.C1Daten, System.ComponentModel.ISupportInitialize).BeginInit() + Me.ContextMenuStripAuswertung.SuspendLayout() + Me.SuspendLayout() + ' + 'MenuStrip1 + ' + Me.MenuStrip1.AllowMerge = False + Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DateiToolStripMenuItem}) + Me.MenuStrip1.Location = New System.Drawing.Point(0, 0) + Me.MenuStrip1.Name = "MenuStrip1" + Me.MenuStrip1.Size = New System.Drawing.Size(556, 24) + Me.MenuStrip1.TabIndex = 0 + Me.MenuStrip1.Text = "MenuStrip1" + ' + 'DateiToolStripMenuItem + ' + Me.DateiToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.BeendenToolStripMenuItem}) + Me.DateiToolStripMenuItem.Name = "DateiToolStripMenuItem" + Me.DateiToolStripMenuItem.Size = New System.Drawing.Size(46, 20) + Me.DateiToolStripMenuItem.Text = "&Datei" + ' + 'BeendenToolStripMenuItem + ' + Me.BeendenToolStripMenuItem.Name = "BeendenToolStripMenuItem" + Me.BeendenToolStripMenuItem.Size = New System.Drawing.Size(120, 22) + Me.BeendenToolStripMenuItem.Text = "&Beenden" + ' + 'ToolStrip1 + ' + Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.TSBtnQuit, Me.TSBtnSave}) + Me.ToolStrip1.Location = New System.Drawing.Point(0, 24) + Me.ToolStrip1.Name = "ToolStrip1" + Me.ToolStrip1.Size = New System.Drawing.Size(556, 25) + Me.ToolStrip1.TabIndex = 1 + Me.ToolStrip1.Text = "ToolStrip1" + ' + 'TSBtnQuit + ' + Me.TSBtnQuit.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnQuit.Image = CType(resources.GetObject("TSBtnQuit.Image"), System.Drawing.Image) + Me.TSBtnQuit.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnQuit.Name = "TSBtnQuit" + Me.TSBtnQuit.Size = New System.Drawing.Size(23, 22) + Me.TSBtnQuit.Text = "ToolStripButton1" + Me.TSBtnQuit.ToolTipText = "Fenster schliessen" + ' + 'TSBtnSave + ' + Me.TSBtnSave.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnSave.Image = CType(resources.GetObject("TSBtnSave.Image"), System.Drawing.Image) + Me.TSBtnSave.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnSave.Name = "TSBtnSave" + Me.TSBtnSave.Size = New System.Drawing.Size(23, 22) + Me.TSBtnSave.Text = "ToolStripButton1" + Me.TSBtnSave.ToolTipText = "Daten speichern" + ' + 'C1Daten + ' + Me.C1Daten.AllowAddNew = True + Me.C1Daten.AlternatingRows = True + Me.C1Daten.CellTips = C1.Win.C1TrueDBGrid.CellTipEnum.Floating + Me.C1Daten.Dock = System.Windows.Forms.DockStyle.Fill + Me.C1Daten.FilterBar = True + Me.C1Daten.GroupByCaption = "Drag a column header here to group by that column" + Me.C1Daten.Images.Add(CType(resources.GetObject("C1Daten.Images"), System.Drawing.Image)) + Me.C1Daten.Location = New System.Drawing.Point(0, 49) + Me.C1Daten.Name = "C1Daten" + Me.C1Daten.PreviewInfo.Location = New System.Drawing.Point(0, 0) + Me.C1Daten.PreviewInfo.Size = New System.Drawing.Size(0, 0) + Me.C1Daten.PreviewInfo.ZoomFactor = 75.0R + Me.C1Daten.PrintInfo.PageSettings = CType(resources.GetObject("C1Daten.PrintInfo.PageSettings"), System.Drawing.Printing.PageSettings) + Me.C1Daten.Size = New System.Drawing.Size(556, 270) + Me.C1Daten.TabAction = C1.Win.C1TrueDBGrid.TabActionEnum.ColumnNavigation + Me.C1Daten.TabIndex = 4 + Me.C1Daten.Text = "C1TrueDBGrid1" + Me.C1Daten.PropBag = resources.GetString("C1Daten.PropBag") + ' + 'ContextMenuStripAuswertung + ' + Me.ContextMenuStripAuswertung.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ReportdateiDBToolStripMenuItem, Me.ReportdateiFilesystemToolStripMenuItem}) + Me.ContextMenuStripAuswertung.Name = "ContextMenuStripAuswertung" + Me.ContextMenuStripAuswertung.Size = New System.Drawing.Size(210, 48) + ' + 'ReportdateiDBToolStripMenuItem + ' + Me.ReportdateiDBToolStripMenuItem.Name = "ReportdateiDBToolStripMenuItem" + Me.ReportdateiDBToolStripMenuItem.Size = New System.Drawing.Size(209, 22) + Me.ReportdateiDBToolStripMenuItem.Text = "Reportdatei -> DB" + ' + 'ReportdateiFilesystemToolStripMenuItem + ' + Me.ReportdateiFilesystemToolStripMenuItem.Name = "ReportdateiFilesystemToolStripMenuItem" + Me.ReportdateiFilesystemToolStripMenuItem.Size = New System.Drawing.Size(209, 22) + Me.ReportdateiFilesystemToolStripMenuItem.Text = "Reportdatei -> Filesystem" + ' + 'OpenFileDialog1 + ' + Me.OpenFileDialog1.FileName = "OpenFileDialog1" + ' + 'frmDomainEditor + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(556, 319) + Me.Controls.Add(Me.C1Daten) + Me.Controls.Add(Me.ToolStrip1) + Me.Controls.Add(Me.MenuStrip1) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.MainMenuStrip = Me.MenuStrip1 + Me.Name = "frmDomainEditor" + Me.Text = "frmDomainEditor" + Me.MenuStrip1.ResumeLayout(False) + Me.MenuStrip1.PerformLayout() + Me.ToolStrip1.ResumeLayout(False) + Me.ToolStrip1.PerformLayout() + CType(Me.C1Daten, System.ComponentModel.ISupportInitialize).EndInit() + Me.ContextMenuStripAuswertung.ResumeLayout(False) + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents MenuStrip1 As System.Windows.Forms.MenuStrip + Friend WithEvents ToolStrip1 As System.Windows.Forms.ToolStrip + Friend WithEvents DateiToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents BeendenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents TSBtnQuit As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnSave As System.Windows.Forms.ToolStripButton + Friend WithEvents C1Daten As C1.Win.C1TrueDBGrid.C1TrueDBGrid + Friend WithEvents ContextMenuStripAuswertung As System.Windows.Forms.ContextMenuStrip + Friend WithEvents ReportdateiDBToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ReportdateiFilesystemToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents OpenFileDialog1 As System.Windows.Forms.OpenFileDialog + Friend WithEvents SaveFileDialog1 As System.Windows.Forms.SaveFileDialog +End Class diff --git a/.svn/pristine/0f/0fb02dc3d70031278fb70d488aafb28f195292c0.svn-base b/.svn/pristine/0f/0fb02dc3d70031278fb70d488aafb28f195292c0.svn-base new file mode 100644 index 0000000..348c2f6 --- /dev/null +++ b/.svn/pristine/0f/0fb02dc3d70031278fb70d488aafb28f195292c0.svn-base @@ -0,0 +1,159 @@ +Imports C1.Win.C1TrueDBGrid +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient +Namespace TKB.VV.Utils + + Public Class clsToolTips + Public WithEvents MyTooltip As New ToolTip + Dim ToolTipData As DataSet = Globals.ToolTipDaten + Dim connection As New SqlConnection() + Dim da As New SqlDataAdapter("", connection) + Dim l As New List(Of Control) + Dim WithEvents evh As MyGenericEventHandler = Globals.MyEventHanlder + + Public Function Edit_ToolTips(ByRef frm As Form, ByRef ctlcol As Collection) + Me.Load_Data() + l.Clear() + Me.GetControl(frm, "*", l) + For Each s As Control In l + Try + MyTooltip.SetToolTip(s, frm.Name + "|" + s.Name) + MyTooltip.Tag = frm.Name + Catch ex As Exception + MsgBox(ex.Message) + End Try + Next + 'For Each ctl As Control In ctlcol + ' Try + ' MyTooltip.SetToolTip(ctl, "SetToolTip") + ' MyTooltip.Tag = frm.Name + "|" + ctl.Name + ' Catch ex As Exception + ' End Try + 'Next + End Function + Private Sub MyTooltip_Popup(ByVal sender As Object, ByVal e As System.Windows.Forms.PopupEventArgs) Handles MyTooltip.Popup + 'MsgBox(e.AssociatedControl.Name) + evh.Edit_Tooltip(MyTooltip.Tag, e.AssociatedControl.Name) + 'Dim s As String = MyTooltip.Tag + 'Dim sp() As String + 'sp = s.Split("|") + 'evh.Edit_Tooltip(sp(0), sp(1)) + + End Sub + + Public Function Set_ToolTips(ByRef frm As Form) + Me.Load_Data() + 'MyTooltip.ToolTipIcon = ToolTipIcon.Info + MyTooltip.IsBalloon = True + MyTooltip.UseFading = True + MyTooltip.UseAnimation = True + Dim dv As New DataView(ToolTipData.Tables(0), "Aktiv = 1 and (Formularname='" & frm.Name & "' or Formularname='Allgemein')", "", DataViewRowState.CurrentRows) + For Each dr As DataRowView In dv + l.Clear() + Me.GetControl(frm, dr.Item("Controlname"), l) + Try + For Each ctl As Control In l + Try + MyTooltip.SetToolTip(ctl, dr.Item("ToolTip")) + Catch + End Try + Next + Catch ex As Exception + End Try + Next + End Function + + + ''' + ''' Daten ab Datenbank laden + ''' + ''' + Private Sub Load_Data() + Try + If ToolTipData.Tables.Count < 1 Then + ToolTipData.Tables.Clear() + Else + Exit Sub + End If + Catch ex As Exception + End Try + ToolTipData.Tables.Clear() + Dim sqlcmd As New SqlCommand + + sqlcmd.CommandText = "dbo.my_tooltip_get_data" + 'sqlcmd.Parameters(1).Value = Globals.clsmitarbeiter.iMitarbeiternr.Value + + sqlcmd.CommandType = CommandType.StoredProcedure + sqlcmd.Connection = connection + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.SelectCommand = sqlcmd + da.Fill(ToolTipData, "Tooltips") + Globals.SecurityDaten.Tables.Add(ToolTipData.Tables(0).Copy) + Catch ex As Exception + Finally + connection.Close() + da.Dispose() + sqlcmd.Dispose() + End Try + End Sub + +#Region "Utils" + ''' + ''' Sucht in den Base-Controls smtliche Controls mit dem Namen in "Key" (Wildcards * mglich) und listet + ''' die gefundnen Controls in der Liste L zur weiteren Bearbeitung + ''' + ''' Base-Contrlo (z.B. aktuelles Formular + ''' Schlssel welcher gesucht werden soll + ''' Liste der gefundenen Objekte + ''' True wenn eines oder mehr Controls gefunden wurden, false wenn kein Control gefunden wurde. + ''' + ''' + Private Function GetControl(ByVal BaseControl As Control, ByVal Key As String, ByRef L As List(Of Control), Optional ByVal ReturnAtFirstElement As Boolean = False) As Boolean + If L Is Nothing Then L = New List(Of Control) + Dim Gut As Boolean + Dim ReturnFlag As Boolean = False + If Key IsNot Nothing Then Key = Key.ToLower + + If BaseControl.HasChildren = True Then + For Each ctl As Control In BaseControl.Controls + Gut = False + If Key Is Nothing Then + Gut = True + Else + If ctl.Name.Length >= Key.Length Then + Key = Key.ToLower + If Key.StartsWith("*") Then + If Key.Substring(1) = ctl.Name.ToLower.Substring(ctl.Name.Length - (Key.Length - 1), Key.Length - 1) Then Gut = True + ElseIf Key.EndsWith("*") Then + If Key.Substring(0, Key.Length - 1) = ctl.Name.ToLower.Substring(0, Key.Length - 1) Then Gut = True + Else + If Key = ctl.Name.ToLower Then Gut = True + End If + End If + End If + + If Gut = True Then + L.Add(ctl) + If ReturnAtFirstElement = True Then ReturnFlag = True + End If + If ReturnFlag = False Then + Call GetControl(ctl, Key, L) + End If + Next + End If + + If L.Count - 1 > -1 Then + Return True + Else + Return False + End If + End Function +#End Region + + + End Class +End Namespace diff --git a/.svn/pristine/10/10feccb2c4ebe79816ba7ef0a654e1e66093b621.svn-base b/.svn/pristine/10/10feccb2c4ebe79816ba7ef0a654e1e66093b621.svn-base new file mode 100644 index 0000000..6ee282d --- /dev/null +++ b/.svn/pristine/10/10feccb2c4ebe79816ba7ef0a654e1e66093b621.svn-base @@ -0,0 +1,491 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'key_tabelle' +' // Generated by LLBLGen v1.21.2003.712 Final on: Dienstag, 1. Januar 2013, 19:36:38 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + ''' + ''' Purpose: Data Access class for the table 'key_tabelle'. + ''' + Public Class clsKey_tabelle + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daErstellt_am, m_daMutiert_am As SqlDateTime + Private m_iMutierer, m_iKeynr, m_iKey_wert, m_iMandantnr As SqlInt32 + Private m_sBeschreibung As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • sBeschreibung
  • + '''
  • iKey_wert
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iKeynr
  • + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_key_tabelle_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@sbeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@ikey_wert", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKey_wert)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@ikeynr", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iKeynr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iKeynr = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@ikeynr").Value, Integer)) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_key_tabelle_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKey_tabelle::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iKeynr
  • + '''
  • sBeschreibung
  • + '''
  • iKey_wert
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_key_tabelle_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@ikeynr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKeynr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sbeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@ikey_wert", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKey_wert)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_key_tabelle_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKey_tabelle::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iKeynr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_key_tabelle_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@ikeynr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKeynr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_key_tabelle_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKey_tabelle::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iKeynr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iKeynr
  • + '''
  • sBeschreibung
  • + '''
  • iKey_wert
  • + '''
  • iMandantnr
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_key_tabelle_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("key_tabelle") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@ikeynr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKeynr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_key_tabelle_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iKeynr = New SqlInt32(CType(dtToReturn.Rows(0)("keynr"), Integer)) + m_sBeschreibung = New SqlString(CType(dtToReturn.Rows(0)("beschreibung"), String)) + m_iKey_wert = New SqlInt32(CType(dtToReturn.Rows(0)("key_wert"), Integer)) + If dtToReturn.Rows(0)("mandantnr") Is System.DBNull.Value Then + m_iMandantnr = SqlInt32.Null + Else + m_iMandantnr = New SqlInt32(CType(dtToReturn.Rows(0)("mandantnr"), Integer)) + End If + If dtToReturn.Rows(0)("aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKey_tabelle::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_key_tabelle_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("key_tabelle") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_key_tabelle_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKey_tabelle::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iKeynr]() As SqlInt32 + Get + Return m_iKeynr + End Get + Set(ByVal Value As SqlInt32) + Dim iKeynrTmp As SqlInt32 = Value + If iKeynrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iKeynr", "iKeynr can't be NULL") + End If + m_iKeynr = Value + End Set + End Property + + + Public Property [sBeschreibung]() As SqlString + Get + Return m_sBeschreibung + End Get + Set(ByVal Value As SqlString) + Dim sBeschreibungTmp As SqlString = Value + If sBeschreibungTmp.IsNull Then + Throw New ArgumentOutOfRangeException("sBeschreibung", "sBeschreibung can't be NULL") + End If + m_sBeschreibung = Value + End Set + End Property + + + Public Property [iKey_wert]() As SqlInt32 + Get + Return m_iKey_wert + End Get + Set(ByVal Value As SqlInt32) + Dim iKey_wertTmp As SqlInt32 = Value + If iKey_wertTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iKey_wert", "iKey_wert can't be NULL") + End If + m_iKey_wert = Value + End Set + End Property + + + Public Property [iMandantnr]() As SqlInt32 + Get + Return m_iMandantnr + End Get + Set(ByVal Value As SqlInt32) + m_iMandantnr = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/.svn/pristine/19/19625e68b7524f548196dc1cd3b2e490faef0545.svn-base b/.svn/pristine/19/19625e68b7524f548196dc1cd3b2e490faef0545.svn-base new file mode 100644 index 0000000..4c35c16 --- /dev/null +++ b/.svn/pristine/19/19625e68b7524f548196dc1cd3b2e490faef0545.svn-base @@ -0,0 +1,50 @@ +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\bin\Debug\Themenmanagement.exe +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\bin\Debug\Themenmanagement.pdb +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\bin\Debug\Themenmanagement.xml +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\bin\Debug\C1.Win.C1TrueDBGrid.4.dll +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\bin\Debug\C1.Win.C1TrueDBGrid.4.xml +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\obj\x86\Debug\ResolveAssemblyReference.cache +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmMain.resources +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmDetail.resources +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.Resources.resources +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.Themenübersicht.resources +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\obj\x86\Debug\GenerateResource.read.1.tlog +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\obj\x86\Debug\GenerateResource.write.1.tlog +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.exe.licenses +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.exe +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.xml +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.pdb +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmDetail2.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmMain.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmDetail.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.Resources.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.vbproj.GenerateResource.Cache +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.exe.licenses +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\Themenmanagement.exe.config +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\Themenmanagement.exe +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\Themenmanagement.pdb +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\Themenmanagement.xml +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\C1.Win.C1TrueDBGrid.2.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\C1.Win.C1TrueDBGrid.2.xml +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\ExtendedRichTextBox.pdb +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\ExtendedRichTextBox.xml +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.vbprojResolveAssemblyReference.cache +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.exe +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.xml +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.pdb +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmDatenbankauswahl.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmAbout.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmLogin.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmMsgBox.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmSplash.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmThemenübersicht.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmDomainEditor.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmDomainEditorExtTables.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmFormSelector.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmSysadminMenu.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmSysadminTableSelector.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.FrmToolTipEditor.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmVerbindungEditor.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\RTFEditor.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\RTFEditor.pdb +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\RTFEditor.xml diff --git a/.svn/pristine/19/19fe9c70c799e506f5e9af1f33c6efba03c22b60.svn-base b/.svn/pristine/19/19fe9c70c799e506f5e9af1f33c6efba03c22b60.svn-base new file mode 100644 index 0000000..5907301 --- /dev/null +++ b/.svn/pristine/19/19fe9c70c799e506f5e9af1f33c6efba03c22b60.svn-base @@ -0,0 +1,10 @@ + + + true + frmMain + false + 0 + true + 0 + true + \ No newline at end of file diff --git a/.svn/pristine/1a/1a587cb0ad1d9bb03ba45e8093079deb79d7e803.svn-base b/.svn/pristine/1a/1a587cb0ad1d9bb03ba45e8093079deb79d7e803.svn-base new file mode 100644 index 0000000..d9e1808 --- /dev/null +++ b/.svn/pristine/1a/1a587cb0ad1d9bb03ba45e8093079deb79d7e803.svn-base @@ -0,0 +1,24 @@ + + + + +Themenmanagement + + + + + + Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + + + + Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. + + + + Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + + + + \ No newline at end of file diff --git a/.svn/pristine/1f/1f0afa9f43a87f130dfad12932f553a9260781af.svn-base b/.svn/pristine/1f/1f0afa9f43a87f130dfad12932f553a9260781af.svn-base new file mode 100644 index 0000000..f69814b --- /dev/null +++ b/.svn/pristine/1f/1f0afa9f43a87f130dfad12932f553a9260781af.svn-base @@ -0,0 +1,170 @@ + + + + Debug + x86 + + + 2.0 + {1B191999-7204-4EB5-96F7-A6805B0B32FC} + WinExe + Themenmanagement.My.MyApplication + Themenmanagement + Themenmanagement + 512 + WindowsForms + v4.0 + + + + + x86 + true + full + true + true + bin\Debug\ + Themenmanagement.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + x86 + pdbonly + false + true + true + bin\Release\ + Themenmanagement.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + On + + + Binary + + + Off + + + On + + + + False + ..\Themenmanagement_sik\bin\Debug\C1.Win.C1TrueDBGrid.2.dll + + + ..\..\_Klassen\RichTextEditor\RichTextEditor\bin\Release\ExtendedRichTextBox.dll + + + D:\Installer\Sautinsoft\HTML-to-RTF Pro DLL .Net Full (4.8.9.21)\Bin\Net 3.5\SautinSoft.HtmlToRtf.dll + + + + + + + + + + + + + + + + + + + + + + + + + + frmDetail2.vb + + + Form + + + frmMain.vb + + + Form + + + frmDetail.vb + + + Form + + + + True + Application.myapp + + + True + True + Resources.resx + + + True + Settings.settings + True + + + Themenübersicht.vb + + + Form + + + + + frmDetail2.vb + + + frmMain.vb + + + frmDetail.vb + + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + Themenübersicht.vb + + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + + + + + + + + \ No newline at end of file diff --git a/.svn/pristine/1f/1f56f8608567e420b9d36a3e2795d234a8d185a6.svn-base b/.svn/pristine/1f/1f56f8608567e420b9d36a3e2795d234a8d185a6.svn-base new file mode 100644 index 0000000..3ad1b17 --- /dev/null +++ b/.svn/pristine/1f/1f56f8608567e420b9d36a3e2795d234a8d185a6.svn-base @@ -0,0 +1,159 @@ + + + + Debug + x86 + + + 2.0 + {1B191999-7204-4EB5-96F7-A6805B0B32FC} + WinExe + Themenmanagement.My.MyApplication + Themenmanagement + Themenmanagement + 512 + WindowsForms + v4.0 + Client + + + x86 + true + full + true + true + bin\Debug\ + Themenmanagement.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + x86 + pdbonly + false + true + true + bin\Release\ + Themenmanagement.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + On + + + Binary + + + Off + + + On + + + + + ..\..\_Klassen\RichTextEditor\RichTextEditor\bin\Release\ExtendedRichTextBox.dll + + + + + + + + + + + + + + + + + + + + + + + + + + frmDetail2.vb + + + Form + + + frmMain.vb + + + Form + + + frmDetail.vb + + + Form + + + + True + Application.myapp + + + True + True + Resources.resx + + + True + Settings.settings + True + + + Themenübersicht.vb + + + Form + + + + + frmDetail2.vb + + + frmMain.vb + + + frmDetail.vb + + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + Themenübersicht.vb + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + + + + + \ No newline at end of file diff --git a/.svn/pristine/1f/1fe70391d23d0a4ff4689872d773df333c99a6d4.svn-base b/.svn/pristine/1f/1fe70391d23d0a4ff4689872d773df333c99a6d4.svn-base new file mode 100644 index 0000000..eeb9d6a Binary files /dev/null and b/.svn/pristine/1f/1fe70391d23d0a4ff4689872d773df333c99a6d4.svn-base differ diff --git a/.svn/pristine/20/2097629feb5a2a05a655af150c559a3f55257816.svn-base b/.svn/pristine/20/2097629feb5a2a05a655af150c559a3f55257816.svn-base new file mode 100644 index 0000000..72977f6 --- /dev/null +++ b/.svn/pristine/20/2097629feb5a2a05a655af150c559a3f55257816.svn-base @@ -0,0 +1,957 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 239, 17 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACkSURBVDhPlZOBDoAgCET9dD7NPyNPgpAIzY21oTzPg1rL + F4/0aaQEJqJXAIo8Vu9dL9gDYiGRgG6VCwBJLDvgbxRVsodvBPiEASDXF3mIB3AbBzPjBLDeHBVIcRbj + KScKuMGQElArmKZNSNJ7VYC2Ib48EIjE0gX1QPerLigkATytqxT4gQht3HsQx9H8+OpCeHL+R+FQnIPT + QiXaHPwtNMCu8ALckGXYKNsEDQAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABeSURBVDhPYzhw4MB/SjADSDMDAwNZGKwXZkBDA8QQQq6B + qYHT5BgAczHZLkB2LVleGMQGwJyGL1pBanB6ASZJDI01GolxAUgjXhfgcj4sgQ1SA8jNUPCkTCgD4ZMH + ADk0Kh+zxKF0AAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAB7SURBVDhPtVKBDcAgCOvpnsZnzJq5MFSGMSNplhFaWwJE + RE8ATwaKZkHukUAp9bHRATRTADQU4AAr+jaBbF7O2Xoc7ApYR7eDd+Y+4Pfg+8bBd9bVLv5zQHsZTB2s + bqBnJsmi9vM7IHFyeHuXNxXI5O0RBgE2fK7o3wtcor2JxHm9tQ0AAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAYAAAA7bUf6AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACtSURBVDhPpdONCoMgEAdw3/+pfIkxWKy1mlh+pOsF3EQO + DjG9ULiEoJ9/9WLH14XeYpzz0FOH3wP7j/ioVm0R70xCagMWOIP8rmlIBCJWgpxVNARvN4esWdsI3mop + jdUXkPzwIZFRkp4kXUAqnEhvoo3gBBiB92r90BD4OJ8jtMm5H5FioiEQvbQdsYxtBK747GCX93ANKTXd + /HrQkZio1GzT8077i2ttPw638AOZO2GTDCfYPAAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACNSURBVDhPtZPRDcAgCEQZndHczHqkGBBsaE1N+EHvKXBS + a62fBGViZu5EFAL59XwAQMgjhjoE8ti3EAfAZiZccxYyAVWxwhQiANTmnt3vZV+05HBeegVAersVZEBt + 8haA2+1K+iOT+g9wVEKhiZjGLCFMoeAHN4XHPmxgzgdqzaqZUidayOe/oJA3v/ECXC1jKtBnBTgAAAAA + SUVORK5CYII= + + + + 346, 17 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0 + dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACRTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5QYWdlU2V0dGluZ3MHAAAAD3ByaW50ZXJTZXR0aW5ncwVjb2xvcglwYXBlclNp + emULcGFwZXJTb3VyY2URcHJpbnRlclJlc29sdXRpb24JbGFuZHNjYXBlB21hcmdpbnMEBAQEBAQEJ1N5 + c3RlbS5EcmF3aW5nLlByaW50aW5nLlByaW50ZXJTZXR0aW5ncwIAAAAgU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuVHJpU3RhdGUCAAAAIVN5c3RlbS5EcmF3aW5nLlByaW50aW5nLlBhcGVyU2l6ZQIAAAAjU3lz + dGVtLkRyYXdpbmcuUHJpbnRpbmcuUGFwZXJTb3VyY2UCAAAAKVN5c3RlbS5EcmF3aW5nLlByaW50aW5n + LlByaW50ZXJSZXNvbHV0aW9uAgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAf + U3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuTWFyZ2lucwIAAAACAAAACQMAAAAF/P///yBTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5UcmlTdGF0ZQEAAAAFdmFsdWUAAgIAAAAACgoKAfv////8////AAkGAAAABQMA + AAAnU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRlclNldHRpbmdzEgAAAAtwcmludGVyTmFtZQpk + cml2ZXJOYW1lCm91dHB1dFBvcnQLcHJpbnRUb0ZpbGUUcHJpbnREaWFsb2dEaXNwbGF5ZWQKZXh0cmFi + eXRlcwlleHRyYWluZm8GY29waWVzBmR1cGxleAdjb2xsYXRlE2RlZmF1bHRQYWdlU2V0dGluZ3MIZnJv + bVBhZ2UGdG9QYWdlB21heFBhZ2UHbWluUGFnZQpwcmludFJhbmdlDGRldm1vZGVieXRlcw1jYWNoZWRE + ZXZtb2RlAQEBAAAABwAEBAQAAAAABAAHAQEHAgceU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuRHVwbGV4 + AgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAkU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuUGFnZVNldHRpbmdzAgAAAAgICAgiU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRSYW5n + ZQIAAAAHAgIAAAAKBgcAAAAACQcAAAAAAAAACv//Bfj///8eU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcu + RHVwbGV4AQAAAAd2YWx1ZV9fAAgCAAAA/////wH3/////P///wAJCgAAAAAAAAAAAAAADycAAAAAAAAF + 9f///yJTeXN0ZW0uRHJhd2luZy5QcmludGluZy5QcmludFJhbmdlAQAAAAd2YWx1ZV9fAAgCAAAAAAAA + AAAACgUGAAAAH1N5c3RlbS5EcmF3aW5nLlByaW50aW5nLk1hcmdpbnMIAAAABGxlZnQFcmlnaHQDdG9w + BmJvdHRvbQpkb3VibGVMZWZ0C2RvdWJsZVJpZ2h0CWRvdWJsZVRvcAxkb3VibGVCb3R0b20AAAAAAAAA + AAgICAgGBgYGAgAAAGQAAABkAAAAZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZ + QAEKAAAAAQAAAAkDAAAAAfP////8////AAoKCgHy/////P///wAJDwAAAAEPAAAABgAAAGQAAABkAAAA + ZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAs= + + + + <?xml version="1.0"?><Blob><Styles type="C1.Win.C1TrueDBGrid.Design.ContextWrapper"><Data>HighlightRow{ForeColor:HighlightText;BackColor:Highlight;}Style8{}Style7{}Style2{}EvenRow{BackColor:Aqua;}Normal{}RecordSelector{AlignImage:Center;}Style4{}OddRow{}Style3{}Footer{}Style14{}FilterBar{}Heading{AlignVert:Center;Border:Flat,ControlDark,0, 1, 0, 1;ForeColor:ControlText;BackColor:Control;Wrap:True;}Style5{}Editor{}Style10{AlignHorz:Near;}Style16{}Selected{ForeColor:HighlightText;BackColor:Highlight;}Style15{}Style13{}Style12{}Style11{}Group{Border:None,,0, 0, 0, 0;AlignVert:Center;BackColor:ControlDark;}Style9{}FilterWatermark{ForeColor:InfoText;BackColor:Info;}Style1{}Caption{AlignHorz:Center;}Style6{}Inactive{ForeColor:InactiveCaptionText;BackColor:InactiveCaption;}</Data></Styles><Splits><C1.Win.C1TrueDBGrid.MergeView Name="" CaptionHeight="17" ColumnCaptionHeight="17" ColumnFooterHeight="17" MarqueeStyle="DottedCellBorder" RecordSelectorWidth="17" DefRecSelWidth="17" VerticalScrollGroup="1" HorizontalScrollGroup="1"><CaptionStyle parent="Style2" me="Style10" /><EditorStyle parent="Editor" me="Style5" /><EvenRowStyle parent="EvenRow" me="Style8" /><FilterBarStyle parent="FilterBar" me="Style13" /><FilterWatermarkStyle parent="FilterWatermark" me="Style14" /><FooterStyle parent="Footer" me="Style3" /><GroupStyle parent="Group" me="Style12" /><HeadingStyle parent="Heading" me="Style2" /><HighLightRowStyle parent="HighlightRow" me="Style7" /><InactiveStyle parent="Inactive" me="Style4" /><OddRowStyle parent="OddRow" me="Style9" /><RecordSelectorStyle parent="RecordSelector" me="Style11" /><SelectedStyle parent="Selected" me="Style6" /><Style parent="Normal" me="Style1" /><ClientRect>0, 0, 640, 298</ClientRect><BorderSide>0</BorderSide></C1.Win.C1TrueDBGrid.MergeView></Splits><NamedStyles><Style parent="" me="Normal" /><Style parent="Normal" me="Heading" /><Style parent="Heading" me="Footer" /><Style parent="Heading" me="Caption" /><Style parent="Heading" me="Inactive" /><Style parent="Normal" me="Selected" /><Style parent="Normal" me="Editor" /><Style parent="Normal" me="HighlightRow" /><Style parent="Normal" me="EvenRow" /><Style parent="Normal" me="OddRow" /><Style parent="Heading" me="RecordSelector" /><Style parent="Normal" me="FilterBar" /><Style parent="FilterBar" me="FilterWatermark" /><Style parent="Caption" me="Group" /></NamedStyles><vertSplits>1</vertSplits><horzSplits>1</horzSplits><Layout>None</Layout><DefaultRecSelWidth>17</DefaultRecSelWidth><ClientArea>0, 0, 640, 298</ClientArea><PrintPageHeaderStyle parent="" me="Style15" /><PrintPageFooterStyle parent="" me="Style16" /></Blob> + + + 346, 56 + + + + iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAYAAAA7bUf6AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACtSURBVDhPpdONCoMgEAdw3/+pfIkxWKy1mlh+pOsF3EQO + DjG9ULiEoJ9/9WLH14XeYpzz0FOH3wP7j/ioVm0R70xCagMWOIP8rmlIBCJWgpxVNARvN4esWdsI3mop + jdUXkPzwIZFRkp4kXUAqnEhvoo3gBBiB92r90BD4OJ8jtMm5H5FioiEQvbQdsYxtBK747GCX93ANKTXd + /HrQkZio1GzT8077i2ttPw638AOZO2GTDCfYPAAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACNSURBVDhPtZPRDcAgCEQZndHczHqkGBBsaE1N+EHvKXBS + a62fBGViZu5EFAL59XwAQMgjhjoE8ti3EAfAZiZccxYyAVWxwhQiANTmnt3vZV+05HBeegVAersVZEBt + 8haA2+1K+iOT+g9wVEKhiZjGLCFMoeAHN4XHPmxgzgdqzaqZUidayOe/oJA3v/ECXC1jKtBnBTgAAAAA + SUVORK5CYII= + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0 + dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACRTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5QYWdlU2V0dGluZ3MHAAAAD3ByaW50ZXJTZXR0aW5ncwVjb2xvcglwYXBlclNp + emULcGFwZXJTb3VyY2URcHJpbnRlclJlc29sdXRpb24JbGFuZHNjYXBlB21hcmdpbnMEBAQEBAQEJ1N5 + c3RlbS5EcmF3aW5nLlByaW50aW5nLlByaW50ZXJTZXR0aW5ncwIAAAAgU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuVHJpU3RhdGUCAAAAIVN5c3RlbS5EcmF3aW5nLlByaW50aW5nLlBhcGVyU2l6ZQIAAAAjU3lz + dGVtLkRyYXdpbmcuUHJpbnRpbmcuUGFwZXJTb3VyY2UCAAAAKVN5c3RlbS5EcmF3aW5nLlByaW50aW5n + LlByaW50ZXJSZXNvbHV0aW9uAgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAf + U3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuTWFyZ2lucwIAAAACAAAACQMAAAAF/P///yBTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5UcmlTdGF0ZQEAAAAFdmFsdWUAAgIAAAAACgoKAfv////8////AAkGAAAABQMA + AAAnU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRlclNldHRpbmdzEgAAAAtwcmludGVyTmFtZQpk + cml2ZXJOYW1lCm91dHB1dFBvcnQLcHJpbnRUb0ZpbGUUcHJpbnREaWFsb2dEaXNwbGF5ZWQKZXh0cmFi + eXRlcwlleHRyYWluZm8GY29waWVzBmR1cGxleAdjb2xsYXRlE2RlZmF1bHRQYWdlU2V0dGluZ3MIZnJv + bVBhZ2UGdG9QYWdlB21heFBhZ2UHbWluUGFnZQpwcmludFJhbmdlDGRldm1vZGVieXRlcw1jYWNoZWRE + ZXZtb2RlAQEBAAAABwAEBAQAAAAABAAHAQEHAgceU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuRHVwbGV4 + AgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAkU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuUGFnZVNldHRpbmdzAgAAAAgICAgiU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRSYW5n + ZQIAAAAHAgIAAAAKBgcAAAAACQcAAAAAAAAACv//Bfj///8eU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcu + RHVwbGV4AQAAAAd2YWx1ZV9fAAgCAAAA/////wH3/////P///wAJCgAAAAAAAAAAAAAADycAAAAAAAAF + 9f///yJTeXN0ZW0uRHJhd2luZy5QcmludGluZy5QcmludFJhbmdlAQAAAAd2YWx1ZV9fAAgCAAAAAAAA + AAAACgUGAAAAH1N5c3RlbS5EcmF3aW5nLlByaW50aW5nLk1hcmdpbnMIAAAABGxlZnQFcmlnaHQDdG9w + BmJvdHRvbQpkb3VibGVMZWZ0C2RvdWJsZVJpZ2h0CWRvdWJsZVRvcAxkb3VibGVCb3R0b20AAAAAAAAA + AAgICAgGBgYGAgAAAGQAAABkAAAAZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZ + QAEKAAAAAQAAAAkDAAAAAfP////8////AAoKCgHy/////P///wAJDwAAAAEPAAAABgAAAGQAAABkAAAA + ZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAs= + + + + <?xml version="1.0"?><Blob><Styles type="C1.Win.C1TrueDBGrid.Design.ContextWrapper"><Data>HighlightRow{ForeColor:HighlightText;BackColor:Highlight;}Style8{}Style7{}EvenRow{BackColor:Aqua;}Normal{}RecordSelector{AlignImage:Center;}Inactive{ForeColor:InactiveCaptionText;BackColor:InactiveCaption;}Style4{}OddRow{}Style3{}Footer{}Style14{}Heading{Wrap:True;Border:Flat,ControlDark,0, 1, 0, 1;AlignVert:Center;BackColor:Control;ForeColor:ControlText;}Style5{}Editor{}Style10{AlignHorz:Near;}Style16{}Selected{ForeColor:HighlightText;BackColor:Highlight;}Style15{}Style13{}Style12{}Style11{}Group{Border:None,,0, 0, 0, 0;AlignVert:Center;BackColor:ControlDark;}Style9{}FilterWatermark{ForeColor:InfoText;BackColor:Info;}Style6{}Style1{}Caption{AlignHorz:Center;}Style2{}FilterBar{}</Data></Styles><Splits><C1.Win.C1TrueDBGrid.MergeView Name="" CaptionHeight="17" ColumnCaptionHeight="17" ColumnFooterHeight="17" MarqueeStyle="DottedCellBorder" RecordSelectorWidth="17" DefRecSelWidth="17" VerticalScrollGroup="1" HorizontalScrollGroup="1"><CaptionStyle parent="Style2" me="Style10" /><EditorStyle parent="Editor" me="Style5" /><EvenRowStyle parent="EvenRow" me="Style8" /><FilterBarStyle parent="FilterBar" me="Style13" /><FilterWatermarkStyle parent="FilterWatermark" me="Style14" /><FooterStyle parent="Footer" me="Style3" /><GroupStyle parent="Group" me="Style12" /><HeadingStyle parent="Heading" me="Style2" /><HighLightRowStyle parent="HighlightRow" me="Style7" /><InactiveStyle parent="Inactive" me="Style4" /><OddRowStyle parent="OddRow" me="Style9" /><RecordSelectorStyle parent="RecordSelector" me="Style11" /><SelectedStyle parent="Selected" me="Style6" /><Style parent="Normal" me="Style1" /><ClientRect>0, 0, 988, 111</ClientRect><BorderSide>0</BorderSide></C1.Win.C1TrueDBGrid.MergeView></Splits><NamedStyles><Style parent="" me="Normal" /><Style parent="Normal" me="Heading" /><Style parent="Heading" me="Footer" /><Style parent="Heading" me="Caption" /><Style parent="Heading" me="Inactive" /><Style parent="Normal" me="Selected" /><Style parent="Normal" me="Editor" /><Style parent="Normal" me="HighlightRow" /><Style parent="Normal" me="EvenRow" /><Style parent="Normal" me="OddRow" /><Style parent="Heading" me="RecordSelector" /><Style parent="Normal" me="FilterBar" /><Style parent="FilterBar" me="FilterWatermark" /><Style parent="Caption" me="Group" /></NamedStyles><vertSplits>1</vertSplits><horzSplits>1</horzSplits><Layout>None</Layout><DefaultRecSelWidth>17</DefaultRecSelWidth><ClientArea>0, 0, 988, 111</ClientArea><PrintPageHeaderStyle parent="" me="Style15" /><PrintPageFooterStyle parent="" me="Style16" /></Blob> + + + 717, 56 + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABfSURBVDhPY2CgEvgPNIccDLf+f0MD3ABCbgJZBAIwGsIh + 0QCYa8lzATbLSHLBIDYAyWk4oxSkBqcXYJLE0FijkRgX4IpysLMIGACLc/xewJOkaWsALG2TmqEI5RvC + 8gCWcrF1SNJPYgAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEhSURBVDhPlZPPasJAEMbzMNJnEPShWm+VHuwj+DcYfAd7 + 8ajQHhR66qVVQiuFQC6JIZdkk0D86qysrus0tAtfIDvf/DKTnbUsY923H1Al03/1Tsm/LYr9GZDnOXQR + 9F8ArgoWoPdbv+2DU+Oui2ard4rpOZbeMyV3lp/oPK9ZPS6/JEQtWZEJGG9D2BuflbPdVQH2Mth799F9 + +2bV//ArAGXB9s/9E+wLlGV5PBV6ZFmGMAhQiBRP8xVmL6+sposVRJJgFwZI0/QMiOO4cvq4yYyi6AxI + DlQy3dRqGI0ceJ4H13UvRHu2PZEe8qoc2YISBYdDR56SEOJCtEcxBVA5p9FWFSgAN8o6gL1EBFEAbpQp + dvVlk3QwZWTkNBiMc9P/A9pXcioI05nFAAAAAElFTkSuQmCC + + + + 790, 17 + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACkSURBVDhPlZOBDoAgCET9dD7NPyNPgpAIzY21oTzPg1rL + F4/0aaQEJqJXAIo8Vu9dL9gDYiGRgG6VCwBJLDvgbxRVsodvBPiEASDXF3mIB3AbBzPjBLDeHBVIcRbj + KScKuMGQElArmKZNSNJ7VYC2Ib48EIjE0gX1QPerLigkATytqxT4gQht3HsQx9H8+OpCeHL+R+FQnIPT + QiXaHPwtNMCu8ALckGXYKNsEDQAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABfSURBVDhPY2CgEvgPNIccDLf+f0MD3ABCbgJZBAIwGsIh + 0QCYa8lzATbLSHLBIDYAyWk4oxSkBqcXYJLE0FijkRgX4IpysLMIGACLc/xewJOkaWsALG2TmqEI5RvC + 8gCWcrF1SNJPYgAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABESURBVDhPY2CgMvgPNA8fJmjdf1wAyWC8huA1ACQJNQin + IcS4AK8hOA1AlsDnilEDgImIGDDIA5FAXkDOJwTzBX0UAABPRZh2vD9LogAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABxSURBVDhPxVNJEsAgCOPp/pyWUpAqDsulzOBKYkAFyBne + YeI5hIkioDWZr+sl4k1NReIWi2zA7czVG7syFSwkXv8SnwimghNJQMDyk2nENRgDMHKr6HNyBKT9NR2t + fgdMVX0Yu2AlCO6//Q9K7/uf4Av+LPEz9yPyNgAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABbSURBVDhPY2AY5KDhP9kObGgAaW74D6HJAhADIJhEALMd + ZgAZrkC2mURXIGyHOZvksED2OzqbQFhg2k6yK7D7FzVQcbgCt+3AuICmCTzpAp9fcYUJiWlj8CoHAICD + XMsGP053AAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAwSURBVDhPY2AYLOA/0CHkYOq5n1jbqWcjuknEugBdHfVc + RKwLqGfjaBjQLixJNxkAYl5HuZrRXM4AAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAqSURBVDhPY2AYLOA/0CHkYOq7n1hXDJzN6C4cOJcMnM3D + OQyoH6rEmggAcz9HuXkkmAwAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAxSURBVDhPY2AYNuA/0CfkYNoFALGuoZ4LiLURXR31XIBu + ErEuop4LiLVxOIcB2aEJAE1aR7mpxf/cAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAvSURBVDhPY2AYBegh8B8ogA8TFWLIBsA0YBPDadjgMgA9 + PEZCGFAlHRAVUINHEQDqQTrGIPgP6wAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAA4SURBVDhPY2AYBYRC4D9QATompAdDHmxAQ0MDiCYNQDXB + XECaZqjqUdvJCHls8U569JEVXwOmCQCz0SphnX9zfwAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABDSURBVDhPY2AYduA/0EfIGORBbGJ4PQ7TgKwImxhOQ0YN + QIQ6ZYHY0NAACkwGKE1SLGCLe7BhdAHoqQ4bny4OId4SAAIENs0pYfbBAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABpSURBVDhPtZNbCgAgCAS7/6V7F4q7GlRCPybjKJXS48iV + t45Es7xpn1tMiAKQvAXcGEhNacHyrr4CCH00XgehLlFuG/RC0oXdKZNvgD0CsLMGZA/RfsYCT7bs1d0D + gD76YscP6vH/DHAF0vazTSMR+uUAAAAASUVORK5CYII= + + + + 675, 17 + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAERJREFUOE9jYKAy + +A80Dx8maN1/XADJYLyG4DUAJAk1CKchxLgAryE4DUCWwOeKUQOAiYgYMMgDkUBeQM4nBPMFfRQAAE9F + mHa8P0uiAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAHFJREFUOE/FU0kS + wCAI4+n+nJZSkCoOy6XM4EpiQAXIGd5h4jmEiSKgNZmv6yXiTU1F4haLbMDtzNUbuzIVLCRe/xKfCKaC + E0lAwPKTacQ1GAMwcqvoc3IEpP01Ha1+B0xVfRi7YCUI7r/9D0rv+5/gC/4s8TP3I/I2AAAAAElFTkSu + QmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAF9JREFUOE9jYKAS + +A80hxwMt/5/QwPcAEJuAlkEAjAawiHRAJhryXMBNstIcsEgNgDJaTijFKQGpxdgksTQWKORGBfginKw + swgYAItz/F7Ak6RpawAsbZOaoQjlG8LyAJZysXVI0k9iAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAIhJREFUOE+1U0EO + wCAI4+k+zZ85a8TVBYElmwmXYWlpncgfp5TSvOqc7cgLYHRSA+YlMK3C4BTYU5AaELCzqtuK7O611jEA + 95caddxi5m8GuAnAaGSKmZeCKHPuq5pNsaeAwarQ3P8kv6eO5EfxAPJFhgeRec/+lsAM0n37vLMF1sfw + Rsl3//AFF6OYgqJ5sMAAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAE5JREFUOE9jYBgF + RIRAw38GBgRuaACxsQJ0CZgmdMUN/3EYgqwBpy1Q07DKIzuVkM8IGkCxC3D5H+QynGFAyNlAreAYIOQ6 + wuaMqkALAQBAozPhSnzvTwAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAEhJREFUOE9jYBgF + 8BBoaGj4z8CAjokMIIRmdA0wA5HFQWIYAKsgkiqYPDYDwcoIGQBTQ7YBBMIGdxig24zTBRCFEINGAd1D + AAAwgjPhFnKvlAAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAGlJREFUOE+1k1sK + ACAIBLv/pXsXirsaVEI/JuMoldLjyJW3jkSzvGmfW0yIApC8BdwYSE1pwfKuvgIIfTReB6EuUW4b9ELS + hd0pk2+APQKwswZkD9F+xgJPtuzV3QOAPvpixw/q8f8McAXS9rNNIxH65QAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAJdJREFUOE+lUwkO + wCAI8+n+3BNcgWK2jGTBIZTSYCmJ1VrbuDqf/GfpIa6FeMFiFDBNBFaciaeNI8h5FjY2zjNv21bEqwOA + BeIp7KJxoR67Q0zrcgDtHLztygGOBsJGWTgGXAOcdQJ5A/FC9yUKGnZ2IuJyGR1Dx8smUpAAQBixrTzj + fAXQXfgFYBbKvDyywlT510/zltgB+htFWvke2uMAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAHxJREFUOE/NklsK + QCEIRFt6O+9WJvkY088bCCFxmtFp7Q9nTBGoytqGPQJYgkDAah5QCtkA/vXe++yh8jyngCAdKGOghigF + 1z8GMFwingq0NWuJMGUF8ieajwD4VZIFlBFrIwiSn0GkINhzXcETACd81pwkLAqS7KchzR98nAljvdE1 + TsgAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAFRJREFUOE9jYKAR + +I9mLjqfoLWDwwCYK0A0yV4A+RHZAIJ+xqYAZjNZtsMMpERzA9QFYJocANMIomGYKHPQNSC7gKBrsCke + eANA/iYrDIgKMMoVAQAEKTZXuODVbQAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAJZJREFUOE+1k40O + gCAIhHl03pxE41ew1pYbs0yu764E+HHQ0Pb1+KrcQEQwKwnJfRAkRBwFc+YG3yjX8pznW1RFQvOBtd2n + BA2u2hDSlsBjelt5vRCwDCwLzqOrmcOeQQwKR5j7MNEgUBN0Ary+hNbQdCsCb8MaxZoKvCcQqk8EQpMt + TBt71SFWBM3Pd/qMMYPHk9ZtuACK+mkAJhkI5AAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAFtJREFUOE9jYBjk + oOE/2Q5saABpbvgPockCEAMgmEQAsx1mABmuQLaZRFcgbIc5m+SwQPY7OptAWGDaTrIrsPsXNVBxuAK3 + 7cC4gKYJPOkCn19xhQmJaWPwKgcAgINcywY/TncAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAC9JREFUOE9jYBgF + 6CHwHyiADxMVYsgGwDRgE8Np2OAyAD08RkIYUCUdEBVQg0cRAOpBOsYg+A/rAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAADhJREFUOE9jYBgF + hELgP1ABOiakB0MebEBDQwOIJg1ANcFcQJpmqOpR28kIeWzxTnr0kRVfA6YJALPRKmGdf3N/AAAAAElF + TkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAENJREFUOE9jYBh2 + 4D/QR8gY5EFsYng9DtOArAibGE5DRg1AhDplgdjQ0AAKTAYoTVIsYIt7sGF0AeipDhufLg4h3hIAAgQ2 + zSlh9sEAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAADBJREFUOE9jYBgs + 4D/QIeRg6rmfWNupZyO6ScS6AF0d9VxErAuoZ+NoGNAuLEk3GQBiXke5mtFczgAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAACpJREFUOE9jYBgs + 4D/QIeRg6rufWFcMnM3oLhw4lwyczcM5DKgfqsSaCABzP0e5eSSYDAAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAADFJREFUOE9jYBg2 + 4D/QJ+Rg2gUAsa6hnguItRFdHfVcgG4SsS6inguItXE4hwHZoQkATVpHuanF/9wAAAAASUVORK5CYII= + + + + 453, 56 + + + 610, 56 + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIISURBVDhPpZP7S1NxGMbPPxKaXVUkMEq8IpKUCoY/hGgI + ymqkDYYXcCjDZOANURSjCNGFQUTsl4GXVMxKk62YU4fXQpaIlygHQxBRH8/zwvyaIAYe+HLgnPN8nue9 + HA3nvDTq63oW/jm13XOwvPTB3DYFY5MH+bXfcN8ygfTSMSSXfESicQDxBqdYHwH29g9w2tnZ3UcguIvN + rR3417exuBJE5N1n/wfwLgXEOc38Bc6xNRHb+/y4nm49G0Bnit2zf9H6bkliE/jKuYxrd6oVgDWfjB+K + TWeKMyrGEVfowITvD9re/9ABVQrAhh0HHK+ZselMMaN/mvwtDb+aVqkA7HYIwIj3ysfluPTorJnP6Ezx + oHsD1s5ZXEktUwCOioB5f1CEPR9+wTG6iuiserTo8dkwng7HT/R+XUPF8xlcTjErAOdMcW6NW8STiwG8 + 7vej8oUPN/PsEv3t8Ao0TZP3T1u8uJRkUgAuSYHtO97oLxmXd5t9Ho8aPTK+GzntqNfrLm2fFoihwYOI + xGIF4KjoGBLzY1OrF9k6OOFxnwDC4wxIMX1G0pMhgVyMNyoA13PAtS7OrJk1PrC69LUdQWxuF6IybHrX + LRI7JrtZdoDAo1XmbjMyD+tjSXxGcXRmnYg5ttD9QuxDhN0uUgDOmbvNTpPOJaGAo2K36cyaGZvOFIfd + KlSA8/zRh9ABIDUG+1JpAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIISURBVDhPpZP7S1NxGMbPPxKaXVUkMEq8IpKUCoY/hGgI + ymqkDYYXcCjDZOANURSjCNGFQUTsl4GXVMxKk62YU4fXQpaIlygHQxBRH8/zwvyaIAYe+HLgnPN8nue9 + HA3nvDTq63oW/jm13XOwvPTB3DYFY5MH+bXfcN8ygfTSMSSXfESicQDxBqdYHwH29g9w2tnZ3UcguIvN + rR3417exuBJE5N1n/wfwLgXEOc38Bc6xNRHb+/y4nm49G0Bnit2zf9H6bkliE/jKuYxrd6oVgDWfjB+K + TWeKMyrGEVfowITvD9re/9ABVQrAhh0HHK+ZselMMaN/mvwtDb+aVqkA7HYIwIj3ysfluPTorJnP6Ezx + oHsD1s5ZXEktUwCOioB5f1CEPR9+wTG6iuiserTo8dkwng7HT/R+XUPF8xlcTjErAOdMcW6NW8STiwG8 + 7vej8oUPN/PsEv3t8Ao0TZP3T1u8uJRkUgAuSYHtO97oLxmXd5t9Ho8aPTK+GzntqNfrLm2fFoihwYOI + xGIF4KjoGBLzY1OrF9k6OOFxnwDC4wxIMX1G0pMhgVyMNyoA13PAtS7OrJk1PrC69LUdQWxuF6IybHrX + LRI7JrtZdoDAo1XmbjMyD+tjSXxGcXRmnYg5ttD9QuxDhN0uUgDOmbvNTpPOJaGAo2K36cyaGZvOFIfd + KlSA8/zRh9ABIDUG+1JpAAAAAElFTkSuQmCC + + + + 824, 56 + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACkSURBVDhPlZOBDoAgCET9dD7NPyNPgpAIzY21oTzPg1rL + F4/0aaQEJqJXAIo8Vu9dL9gDYiGRgG6VCwBJLDvgbxRVsodvBPiEASDXF3mIB3AbBzPjBLDeHBVIcRbj + KScKuMGQElArmKZNSNJ7VYC2Ib48EIjE0gX1QPerLigkATytqxT4gQht3HsQx9H8+OpCeHL+R+FQnIPT + QiXaHPwtNMCu8ALckGXYKNsEDQAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABfSURBVDhPY2CgEvgPNIccDLf+f0MD3ABCbgJZBAIwGsIh + 0QCYa8lzATbLSHLBIDYAyWk4oxSkBqcXYJLE0FijkRgX4IpysLMIGACLc/xewJOkaWsALG2TmqEI5RvC + 8gCWcrF1SNJPYgAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABESURBVDhPY2CgMvgPNA8fJmjdf1wAyWC8huA1ACQJNQin + IcS4AK8hOA1AlsDnilEDgImIGDDIA5FAXkDOJwTzBX0UAABPRZh2vD9LogAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABxSURBVDhPxVNJEsAgCOPp/pyWUpAqDsulzOBKYkAFyBne + YeI5hIkioDWZr+sl4k1NReIWi2zA7czVG7syFSwkXv8SnwimghNJQMDyk2nENRgDMHKr6HNyBKT9NR2t + fgdMVX0Yu2AlCO6//Q9K7/uf4Av+LPEz9yPyNgAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABbSURBVDhPY2AY5KDhP9kObGgAaW74D6HJAhADIJhEALMd + ZgAZrkC2mURXIGyHOZvksED2OzqbQFhg2k6yK7D7FzVQcbgCt+3AuICmCTzpAp9fcYUJiWlj8CoHAICD + XMsGP053AAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAwSURBVDhPY2AYLOA/0CHkYOq5n1jbqWcjuknEugBdHfVc + RKwLqGfjaBjQLixJNxkAYl5HuZrRXM4AAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAqSURBVDhPY2AYLOA/0CHkYOq7n1hXDJzN6C4cOJcMnM3D + OQyoH6rEmggAcz9HuXkkmAwAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAxSURBVDhPY2AYNuA/0CfkYNoFALGuoZ4LiLURXR31XIBu + ErEuop4LiLVxOIcB2aEJAE1aR7mpxf/cAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAvSURBVDhPY2AYBegh8B8ogA8TFWLIBsA0YBPDadjgMgA9 + PEZCGFAlHRAVUINHEQDqQTrGIPgP6wAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAA4SURBVDhPY2AYBYRC4D9QATompAdDHmxAQ0MDiCYNQDXB + XECaZqjqUdvJCHls8U569JEVXwOmCQCz0SphnX9zfwAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABDSURBVDhPY2AYduA/0EfIGORBbGJ4PQ7TgKwImxhOQ0YN + QIQ6ZYHY0NAACkwGKE1SLGCLe7BhdAHoqQ4bny4OId4SAAIENs0pYfbBAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABpSURBVDhPtZNbCgAgCAS7/6V7F4q7GlRCPybjKJXS48iV + t45Es7xpn1tMiAKQvAXcGEhNacHyrr4CCH00XgehLlFuG/RC0oXdKZNvgD0CsLMGZA/RfsYCT7bs1d0D + gD76YscP6vH/DHAF0vazTSMR+uUAAAAASUVORK5CYII= + + + + 931, 56 + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAERJREFUOE9jYKAy + +A80Dx8maN1/XADJYLyG4DUAJAk1CKchxLgAryE4DUCWwOeKUQOAiYgYMMgDkUBeQM4nBPMFfRQAAE9F + mHa8P0uiAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAHFJREFUOE/FU0kS + wCAI4+n+nJZSkCoOy6XM4EpiQAXIGd5h4jmEiSKgNZmv6yXiTU1F4haLbMDtzNUbuzIVLCRe/xKfCKaC + E0lAwPKTacQ1GAMwcqvoc3IEpP01Ha1+B0xVfRi7YCUI7r/9D0rv+5/gC/4s8TP3I/I2AAAAAElFTkSu + QmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAF9JREFUOE9jYKAS + +A80hxwMt/5/QwPcAEJuAlkEAjAawiHRAJhryXMBNstIcsEgNgDJaTijFKQGpxdgksTQWKORGBfginKw + swgYAItz/F7Ak6RpawAsbZOaoQjlG8LyAJZysXVI0k9iAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAIhJREFUOE+1U0EO + wCAI4+k+zZ85a8TVBYElmwmXYWlpncgfp5TSvOqc7cgLYHRSA+YlMK3C4BTYU5AaELCzqtuK7O611jEA + 95caddxi5m8GuAnAaGSKmZeCKHPuq5pNsaeAwarQ3P8kv6eO5EfxAPJFhgeRec/+lsAM0n37vLMF1sfw + Rsl3//AFF6OYgqJ5sMAAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAE5JREFUOE9jYBgF + RIRAw38GBgRuaACxsQJ0CZgmdMUN/3EYgqwBpy1Q07DKIzuVkM8IGkCxC3D5H+QynGFAyNlAreAYIOQ6 + wuaMqkALAQBAozPhSnzvTwAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAEhJREFUOE9jYBgF + 8BBoaGj4z8CAjokMIIRmdA0wA5HFQWIYAKsgkiqYPDYDwcoIGQBTQ7YBBMIGdxig24zTBRCFEINGAd1D + AAAwgjPhFnKvlAAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAGlJREFUOE+1k1sK + ACAIBLv/pXsXirsaVEI/JuMoldLjyJW3jkSzvGmfW0yIApC8BdwYSE1pwfKuvgIIfTReB6EuUW4b9ELS + hd0pk2+APQKwswZkD9F+xgJPtuzV3QOAPvpixw/q8f8McAXS9rNNIxH65QAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAJdJREFUOE+lUwkO + wCAI8+n+3BNcgWK2jGTBIZTSYCmJ1VrbuDqf/GfpIa6FeMFiFDBNBFaciaeNI8h5FjY2zjNv21bEqwOA + BeIp7KJxoR67Q0zrcgDtHLztygGOBsJGWTgGXAOcdQJ5A/FC9yUKGnZ2IuJyGR1Dx8smUpAAQBixrTzj + fAXQXfgFYBbKvDyywlT510/zltgB+htFWvke2uMAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAHxJREFUOE/NklsK + QCEIRFt6O+9WJvkY088bCCFxmtFp7Q9nTBGoytqGPQJYgkDAah5QCtkA/vXe++yh8jyngCAdKGOghigF + 1z8GMFwingq0NWuJMGUF8ieajwD4VZIFlBFrIwiSn0GkINhzXcETACd81pwkLAqS7KchzR98nAljvdE1 + TsgAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAFRJREFUOE9jYKAR + +I9mLjqfoLWDwwCYK0A0yV4A+RHZAIJ+xqYAZjNZtsMMpERzA9QFYJocANMIomGYKHPQNSC7gKBrsCke + eANA/iYrDIgKMMoVAQAEKTZXuODVbQAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAJZJREFUOE+1k40O + gCAIhHl03pxE41ew1pYbs0yu764E+HHQ0Pb1+KrcQEQwKwnJfRAkRBwFc+YG3yjX8pznW1RFQvOBtd2n + BA2u2hDSlsBjelt5vRCwDCwLzqOrmcOeQQwKR5j7MNEgUBN0Ary+hNbQdCsCb8MaxZoKvCcQqk8EQpMt + TBt71SFWBM3Pd/qMMYPHk9ZtuACK+mkAJhkI5AAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAFtJREFUOE9jYBjk + oOE/2Q5saABpbvgPockCEAMgmEQAsx1mABmuQLaZRFcgbIc5m+SwQPY7OptAWGDaTrIrsPsXNVBxuAK3 + 7cC4gKYJPOkCn19xhQmJaWPwKgcAgINcywY/TncAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAC9JREFUOE9jYBgF + 6CHwHyiADxMVYsgGwDRgE8Np2OAyAD08RkIYUCUdEBVQg0cRAOpBOsYg+A/rAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAADhJREFUOE9jYBgF + hELgP1ABOiakB0MebEBDQwOIJg1ANcFcQJpmqOpR28kIeWzxTnr0kRVfA6YJALPRKmGdf3N/AAAAAElF + TkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAENJREFUOE9jYBh2 + 4D/QR8gY5EFsYng9DtOArAibGE5DRg1AhDplgdjQ0AAKTAYoTVIsYIt7sGF0AeipDhufLg4h3hIAAgQ2 + zSlh9sEAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAADBJREFUOE9jYBgs + 4D/QIeRg6rmfWNupZyO6ScS6AF0d9VxErAuoZ+NoGNAuLEk3GQBiXke5mtFczgAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAACpJREFUOE9jYBgs + 4D/QIeRg6rufWFcMnM3oLhw4lwyczcM5DKgfqsSaCABzP0e5eSSYDAAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAADFJREFUOE9jYBg2 + 4D/QJ+Rg2gUAsa6hnguItRFdHfVcgG4SsS6inguItXE4hwHZoQkATVpHuanF/9wAAAAASUVORK5CYII= + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0 + dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACRTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5QYWdlU2V0dGluZ3MHAAAAD3ByaW50ZXJTZXR0aW5ncwVjb2xvcglwYXBlclNp + emULcGFwZXJTb3VyY2URcHJpbnRlclJlc29sdXRpb24JbGFuZHNjYXBlB21hcmdpbnMEBAQEBAQEJ1N5 + c3RlbS5EcmF3aW5nLlByaW50aW5nLlByaW50ZXJTZXR0aW5ncwIAAAAgU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuVHJpU3RhdGUCAAAAIVN5c3RlbS5EcmF3aW5nLlByaW50aW5nLlBhcGVyU2l6ZQIAAAAjU3lz + dGVtLkRyYXdpbmcuUHJpbnRpbmcuUGFwZXJTb3VyY2UCAAAAKVN5c3RlbS5EcmF3aW5nLlByaW50aW5n + LlByaW50ZXJSZXNvbHV0aW9uAgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAf + U3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuTWFyZ2lucwIAAAACAAAACQMAAAAF/P///yBTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5UcmlTdGF0ZQEAAAAFdmFsdWUAAgIAAAAACgoKAfv////8////AAkGAAAABQMA + AAAnU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRlclNldHRpbmdzEgAAAAtwcmludGVyTmFtZQpk + cml2ZXJOYW1lCm91dHB1dFBvcnQLcHJpbnRUb0ZpbGUUcHJpbnREaWFsb2dEaXNwbGF5ZWQKZXh0cmFi + eXRlcwlleHRyYWluZm8GY29waWVzBmR1cGxleAdjb2xsYXRlE2RlZmF1bHRQYWdlU2V0dGluZ3MIZnJv + bVBhZ2UGdG9QYWdlB21heFBhZ2UHbWluUGFnZQpwcmludFJhbmdlDGRldm1vZGVieXRlcw1jYWNoZWRE + ZXZtb2RlAQEBAAAABwAEBAQAAAAABAAHAQEHAgceU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuRHVwbGV4 + AgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAkU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuUGFnZVNldHRpbmdzAgAAAAgICAgiU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRSYW5n + ZQIAAAAHAgIAAAAKBgcAAAAACQcAAAAAAAAACv//Bfj///8eU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcu + RHVwbGV4AQAAAAd2YWx1ZV9fAAgCAAAA/////wH3/////P///wAJCgAAAAAAAAAAAAAADycAAAAAAAAF + 9f///yJTeXN0ZW0uRHJhd2luZy5QcmludGluZy5QcmludFJhbmdlAQAAAAd2YWx1ZV9fAAgCAAAAAAAA + AAAACgUGAAAAH1N5c3RlbS5EcmF3aW5nLlByaW50aW5nLk1hcmdpbnMIAAAABGxlZnQFcmlnaHQDdG9w + BmJvdHRvbQpkb3VibGVMZWZ0C2RvdWJsZVJpZ2h0CWRvdWJsZVRvcAxkb3VibGVCb3R0b20AAAAAAAAA + AAgICAgGBgYGAgAAAGQAAABkAAAAZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZ + QAEKAAAAAQAAAAkDAAAAAfP////8////AAoKCgHy/////P///wAJDwAAAAEPAAAABgAAAGQAAABkAAAA + ZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAs= + + + + <?xml version="1.0"?><Blob><Styles type="C1.Win.C1TrueDBGrid.Design.ContextWrapper"><Data>HighlightRow{ForeColor:HighlightText;BackColor:Highlight;}Style8{}Style7{}EvenRow{BackColor:Aqua;}Normal{}RecordSelector{AlignImage:Center;}Style4{}OddRow{}Style3{}Footer{}Style14{}FilterBar{}Heading{AlignVert:Center;Border:Flat,ControlDark,0, 1, 0, 1;Wrap:True;BackColor:Control;ForeColor:ControlText;}Style5{}Editor{}Style10{AlignHorz:Near;}Style16{}Selected{ForeColor:HighlightText;BackColor:Highlight;}Style15{}Style13{}Style12{}Style11{}Group{Border:None,,0, 0, 0, 0;AlignVert:Center;BackColor:ControlDark;}Style9{}FilterWatermark{ForeColor:InfoText;BackColor:Info;}Style6{}Style1{}Caption{AlignHorz:Center;}Style2{}Inactive{ForeColor:InactiveCaptionText;BackColor:InactiveCaption;}</Data></Styles><Splits><C1.Win.C1TrueDBGrid.MergeView Name="" CaptionHeight="17" ColumnCaptionHeight="17" ColumnFooterHeight="17" MarqueeStyle="DottedCellBorder" RecordSelectorWidth="17" DefRecSelWidth="17" VerticalScrollGroup="1" HorizontalScrollGroup="1"><CaptionStyle parent="Style2" me="Style10" /><EditorStyle parent="Editor" me="Style5" /><EvenRowStyle parent="EvenRow" me="Style8" /><FilterBarStyle parent="FilterBar" me="Style13" /><FilterWatermarkStyle parent="FilterWatermark" me="Style14" /><FooterStyle parent="Footer" me="Style3" /><GroupStyle parent="Group" me="Style12" /><HeadingStyle parent="Heading" me="Style2" /><HighLightRowStyle parent="HighlightRow" me="Style7" /><InactiveStyle parent="Inactive" me="Style4" /><OddRowStyle parent="OddRow" me="Style9" /><RecordSelectorStyle parent="RecordSelector" me="Style11" /><SelectedStyle parent="Selected" me="Style6" /><Style parent="Normal" me="Style1" /><ClientRect>0, 0, 340, 313</ClientRect><BorderSide>0</BorderSide></C1.Win.C1TrueDBGrid.MergeView></Splits><NamedStyles><Style parent="" me="Normal" /><Style parent="Normal" me="Heading" /><Style parent="Heading" me="Footer" /><Style parent="Heading" me="Caption" /><Style parent="Heading" me="Inactive" /><Style parent="Normal" me="Selected" /><Style parent="Normal" me="Editor" /><Style parent="Normal" me="HighlightRow" /><Style parent="Normal" me="EvenRow" /><Style parent="Normal" me="OddRow" /><Style parent="Heading" me="RecordSelector" /><Style parent="Normal" me="FilterBar" /><Style parent="FilterBar" me="FilterWatermark" /><Style parent="Caption" me="Group" /></NamedStyles><vertSplits>1</vertSplits><horzSplits>1</horzSplits><Layout>None</Layout><DefaultRecSelWidth>17</DefaultRecSelWidth><ClientArea>0, 0, 340, 313</ClientArea><PrintPageHeaderStyle parent="" me="Style15" /><PrintPageFooterStyle parent="" me="Style16" /></Blob> + + + 1111, 17 + + + + iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAYAAAA7bUf6AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACtSURBVDhPpdONCoMgEAdw3/+pfIkxWKy1mlh+pOsF3EQO + DjG9ULiEoJ9/9WLH14XeYpzz0FOH3wP7j/ioVm0R70xCagMWOIP8rmlIBCJWgpxVNARvN4esWdsI3mop + jdUXkPzwIZFRkp4kXUAqnEhvoo3gBBiB92r90BD4OJ8jtMm5H5FioiEQvbQdsYxtBK747GCX93ANKTXd + /HrQkZio1GzT8077i2ttPw638AOZO2GTDCfYPAAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACNSURBVDhPtZPRDcAgCEQZndHczHqkGBBsaE1N+EHvKXBS + a62fBGViZu5EFAL59XwAQMgjhjoE8ti3EAfAZiZccxYyAVWxwhQiANTmnt3vZV+05HBeegVAersVZEBt + 8haA2+1K+iOT+g9wVEKhiZjGLCFMoeAHN4XHPmxgzgdqzaqZUidayOe/oJA3v/ECXC1jKtBnBTgAAAAA + SUVORK5CYII= + + + + 1004, 17 + + + + iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAYAAAA7bUf6AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACtSURBVDhPpdONCoMgEAdw3/+pfIkxWKy1mlh+pOsF3EQO + DjG9ULiEoJ9/9WLH14XeYpzz0FOH3wP7j/ioVm0R70xCagMWOIP8rmlIBCJWgpxVNARvN4esWdsI3mop + jdUXkPzwIZFRkp4kXUAqnEhvoo3gBBiB92r90BD4OJ8jtMm5H5FioiEQvbQdsYxtBK747GCX93ANKTXd + /HrQkZio1GzT8077i2ttPw638AOZO2GTDCfYPAAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACNSURBVDhPtZPRDcAgCEQZndHczHqkGBBsaE1N+EHvKXBS + a62fBGViZu5EFAL59XwAQMgjhjoE8ti3EAfAZiZccxYyAVWxwhQiANTmnt3vZV+05HBeegVAersVZEBt + 8haA2+1K+iOT+g9wVEKhiZjGLCFMoeAHN4XHPmxgzgdqzaqZUidayOe/oJA3v/ECXC1jKtBnBTgAAAAA + SUVORK5CYII= + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0 + dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACRTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5QYWdlU2V0dGluZ3MHAAAAD3ByaW50ZXJTZXR0aW5ncwVjb2xvcglwYXBlclNp + emULcGFwZXJTb3VyY2URcHJpbnRlclJlc29sdXRpb24JbGFuZHNjYXBlB21hcmdpbnMEBAQEBAQEJ1N5 + c3RlbS5EcmF3aW5nLlByaW50aW5nLlByaW50ZXJTZXR0aW5ncwIAAAAgU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuVHJpU3RhdGUCAAAAIVN5c3RlbS5EcmF3aW5nLlByaW50aW5nLlBhcGVyU2l6ZQIAAAAjU3lz + dGVtLkRyYXdpbmcuUHJpbnRpbmcuUGFwZXJTb3VyY2UCAAAAKVN5c3RlbS5EcmF3aW5nLlByaW50aW5n + LlByaW50ZXJSZXNvbHV0aW9uAgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAf + U3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuTWFyZ2lucwIAAAACAAAACQMAAAAF/P///yBTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5UcmlTdGF0ZQEAAAAFdmFsdWUAAgIAAAAACgoKAfv////8////AAkGAAAABQMA + AAAnU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRlclNldHRpbmdzEgAAAAtwcmludGVyTmFtZQpk + cml2ZXJOYW1lCm91dHB1dFBvcnQLcHJpbnRUb0ZpbGUUcHJpbnREaWFsb2dEaXNwbGF5ZWQKZXh0cmFi + eXRlcwlleHRyYWluZm8GY29waWVzBmR1cGxleAdjb2xsYXRlE2RlZmF1bHRQYWdlU2V0dGluZ3MIZnJv + bVBhZ2UGdG9QYWdlB21heFBhZ2UHbWluUGFnZQpwcmludFJhbmdlDGRldm1vZGVieXRlcw1jYWNoZWRE + ZXZtb2RlAQEBAAAABwAEBAQAAAAABAAHAQEHAgceU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuRHVwbGV4 + AgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAkU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuUGFnZVNldHRpbmdzAgAAAAgICAgiU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRSYW5n + ZQIAAAAHAgIAAAAKBgcAAAAACQcAAAAAAAAACv//Bfj///8eU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcu + RHVwbGV4AQAAAAd2YWx1ZV9fAAgCAAAA/////wH3/////P///wAJCgAAAAAAAAAAAAAADycAAAAAAAAF + 9f///yJTeXN0ZW0uRHJhd2luZy5QcmludGluZy5QcmludFJhbmdlAQAAAAd2YWx1ZV9fAAgCAAAAAAAA + AAAACgUGAAAAH1N5c3RlbS5EcmF3aW5nLlByaW50aW5nLk1hcmdpbnMIAAAABGxlZnQFcmlnaHQDdG9w + BmJvdHRvbQpkb3VibGVMZWZ0C2RvdWJsZVJpZ2h0CWRvdWJsZVRvcAxkb3VibGVCb3R0b20AAAAAAAAA + AAgICAgGBgYGAgAAAGQAAABkAAAAZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZ + QAEKAAAAAQAAAAkDAAAAAfP////8////AAoKCgHy/////P///wAJDwAAAAEPAAAABgAAAGQAAABkAAAA + ZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAs= + + + + <?xml version="1.0"?><Blob><Styles type="C1.Win.C1TrueDBGrid.Design.ContextWrapper"><Data>HighlightRow{ForeColor:HighlightText;BackColor:Highlight;}Style8{}Style7{}EvenRow{BackColor:Aqua;}Normal{}RecordSelector{AlignImage:Center;}Style4{}OddRow{}Style3{}Footer{}Style14{}FilterBar{}Heading{AlignVert:Center;Border:Flat,ControlDark,0, 1, 0, 1;Wrap:True;BackColor:Control;ForeColor:ControlText;}Style5{}Editor{}Style10{AlignHorz:Near;}Style16{}Selected{ForeColor:HighlightText;BackColor:Highlight;}Style15{}Style13{}Style12{}Style11{}Group{Border:None,,0, 0, 0, 0;AlignVert:Center;BackColor:ControlDark;}Style9{}FilterWatermark{ForeColor:InfoText;BackColor:Info;}Style6{}Style1{}Caption{AlignHorz:Center;}Style2{}Inactive{ForeColor:InactiveCaptionText;BackColor:InactiveCaption;}</Data></Styles><Splits><C1.Win.C1TrueDBGrid.MergeView Name="" CaptionHeight="17" ColumnCaptionHeight="17" ColumnFooterHeight="17" MarqueeStyle="DottedCellBorder" RecordSelectorWidth="17" DefRecSelWidth="17" VerticalScrollGroup="1" HorizontalScrollGroup="1"><CaptionStyle parent="Style2" me="Style10" /><EditorStyle parent="Editor" me="Style5" /><EvenRowStyle parent="EvenRow" me="Style8" /><FilterBarStyle parent="FilterBar" me="Style13" /><FilterWatermarkStyle parent="FilterWatermark" me="Style14" /><FooterStyle parent="Footer" me="Style3" /><GroupStyle parent="Group" me="Style12" /><HeadingStyle parent="Heading" me="Style2" /><HighLightRowStyle parent="HighlightRow" me="Style7" /><InactiveStyle parent="Inactive" me="Style4" /><OddRowStyle parent="OddRow" me="Style9" /><RecordSelectorStyle parent="RecordSelector" me="Style11" /><SelectedStyle parent="Selected" me="Style6" /><Style parent="Normal" me="Style1" /><ClientRect>0, 0, 994, 474</ClientRect><BorderSide>0</BorderSide></C1.Win.C1TrueDBGrid.MergeView></Splits><NamedStyles><Style parent="" me="Normal" /><Style parent="Normal" me="Heading" /><Style parent="Heading" me="Footer" /><Style parent="Heading" me="Caption" /><Style parent="Heading" me="Inactive" /><Style parent="Normal" me="Selected" /><Style parent="Normal" me="Editor" /><Style parent="Normal" me="HighlightRow" /><Style parent="Normal" me="EvenRow" /><Style parent="Normal" me="OddRow" /><Style parent="Heading" me="RecordSelector" /><Style parent="Normal" me="FilterBar" /><Style parent="FilterBar" me="FilterWatermark" /><Style parent="Caption" me="Group" /></NamedStyles><vertSplits>1</vertSplits><horzSplits>1</horzSplits><Layout>None</Layout><DefaultRecSelWidth>17</DefaultRecSelWidth><ClientArea>0, 0, 994, 474</ClientArea><PrintPageHeaderStyle parent="" me="Style15" /><PrintPageFooterStyle parent="" me="Style16" /></Blob> + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0 + dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACRTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5QYWdlU2V0dGluZ3MHAAAAD3ByaW50ZXJTZXR0aW5ncwVjb2xvcglwYXBlclNp + emULcGFwZXJTb3VyY2URcHJpbnRlclJlc29sdXRpb24JbGFuZHNjYXBlB21hcmdpbnMEBAQEBAQEJ1N5 + c3RlbS5EcmF3aW5nLlByaW50aW5nLlByaW50ZXJTZXR0aW5ncwIAAAAgU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuVHJpU3RhdGUCAAAAIVN5c3RlbS5EcmF3aW5nLlByaW50aW5nLlBhcGVyU2l6ZQIAAAAjU3lz + dGVtLkRyYXdpbmcuUHJpbnRpbmcuUGFwZXJTb3VyY2UCAAAAKVN5c3RlbS5EcmF3aW5nLlByaW50aW5n + LlByaW50ZXJSZXNvbHV0aW9uAgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAf + U3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuTWFyZ2lucwIAAAACAAAACQMAAAAF/P///yBTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5UcmlTdGF0ZQEAAAAFdmFsdWUAAgIAAAAACgoKAfv////8////AAkGAAAABQMA + AAAnU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRlclNldHRpbmdzEgAAAAtwcmludGVyTmFtZQpk + cml2ZXJOYW1lCm91dHB1dFBvcnQLcHJpbnRUb0ZpbGUUcHJpbnREaWFsb2dEaXNwbGF5ZWQKZXh0cmFi + eXRlcwlleHRyYWluZm8GY29waWVzBmR1cGxleAdjb2xsYXRlE2RlZmF1bHRQYWdlU2V0dGluZ3MIZnJv + bVBhZ2UGdG9QYWdlB21heFBhZ2UHbWluUGFnZQpwcmludFJhbmdlDGRldm1vZGVieXRlcw1jYWNoZWRE + ZXZtb2RlAQEBAAAABwAEBAQAAAAABAAHAQEHAgceU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuRHVwbGV4 + AgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAkU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuUGFnZVNldHRpbmdzAgAAAAgICAgiU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRSYW5n + ZQIAAAAHAgIAAAAKBgcAAAAACQcAAAAAAAAACv//Bfj///8eU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcu + RHVwbGV4AQAAAAd2YWx1ZV9fAAgCAAAA/////wH3/////P///wAJCgAAAAAAAAAAAAAADycAAAAAAAAF + 9f///yJTeXN0ZW0uRHJhd2luZy5QcmludGluZy5QcmludFJhbmdlAQAAAAd2YWx1ZV9fAAgCAAAAAAAA + AAAACgUGAAAAH1N5c3RlbS5EcmF3aW5nLlByaW50aW5nLk1hcmdpbnMIAAAABGxlZnQFcmlnaHQDdG9w + BmJvdHRvbQpkb3VibGVMZWZ0C2RvdWJsZVJpZ2h0CWRvdWJsZVRvcAxkb3VibGVCb3R0b20AAAAAAAAA + AAgICAgGBgYGAgAAAGQAAABkAAAAZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZ + QAEKAAAAAQAAAAkDAAAAAfP////8////AAoKCgHy/////P///wAJDwAAAAEPAAAABgAAAGQAAABkAAAA + ZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAs= + + + + <?xml version="1.0"?><Blob><Styles type="C1.Win.C1TrueDBGrid.Design.ContextWrapper"><Data>HighlightRow{ForeColor:HighlightText;BackColor:Highlight;}Style8{}Style7{}EvenRow{BackColor:Aqua;}Normal{}RecordSelector{AlignImage:Center;}Style4{}OddRow{}Style3{}Footer{}Style14{}FilterBar{}Heading{AlignVert:Center;Border:Flat,ControlDark,0, 1, 0, 1;Wrap:True;BackColor:Control;ForeColor:ControlText;}Style5{}Editor{}Style10{AlignHorz:Near;}Style16{}Selected{ForeColor:HighlightText;BackColor:Highlight;}Style15{}Style13{}Style12{}Style11{}Group{Border:None,,0, 0, 0, 0;AlignVert:Center;BackColor:ControlDark;}Style9{}FilterWatermark{ForeColor:InfoText;BackColor:Info;}Style6{}Style1{}Caption{AlignHorz:Center;}Style2{}Inactive{ForeColor:InactiveCaptionText;BackColor:InactiveCaption;}</Data></Styles><Splits><C1.Win.C1TrueDBGrid.MergeView Name="" CaptionHeight="17" ColumnCaptionHeight="17" ColumnFooterHeight="17" MarqueeStyle="DottedCellBorder" RecordSelectorWidth="17" DefRecSelWidth="17" VerticalScrollGroup="1" HorizontalScrollGroup="1"><CaptionStyle parent="Style2" me="Style10" /><EditorStyle parent="Editor" me="Style5" /><EvenRowStyle parent="EvenRow" me="Style8" /><FilterBarStyle parent="FilterBar" me="Style13" /><FilterWatermarkStyle parent="FilterWatermark" me="Style14" /><FooterStyle parent="Footer" me="Style3" /><GroupStyle parent="Group" me="Style12" /><HeadingStyle parent="Heading" me="Style2" /><HighLightRowStyle parent="HighlightRow" me="Style7" /><InactiveStyle parent="Inactive" me="Style4" /><OddRowStyle parent="OddRow" me="Style9" /><RecordSelectorStyle parent="RecordSelector" me="Style11" /><SelectedStyle parent="Selected" me="Style6" /><Style parent="Normal" me="Style1" /><ClientRect>0, 0, 994, 449</ClientRect><BorderSide>0</BorderSide></C1.Win.C1TrueDBGrid.MergeView></Splits><NamedStyles><Style parent="" me="Normal" /><Style parent="Normal" me="Heading" /><Style parent="Heading" me="Footer" /><Style parent="Heading" me="Caption" /><Style parent="Heading" me="Inactive" /><Style parent="Normal" me="Selected" /><Style parent="Normal" me="Editor" /><Style parent="Normal" me="HighlightRow" /><Style parent="Normal" me="EvenRow" /><Style parent="Normal" me="OddRow" /><Style parent="Heading" me="RecordSelector" /><Style parent="Normal" me="FilterBar" /><Style parent="FilterBar" me="FilterWatermark" /><Style parent="Caption" me="Group" /></NamedStyles><vertSplits>1</vertSplits><horzSplits>1</horzSplits><Layout>None</Layout><DefaultRecSelWidth>17</DefaultRecSelWidth><ClientArea>0, 0, 994, 449</ClientArea><PrintPageHeaderStyle parent="" me="Style15" /><PrintPageFooterStyle parent="" me="Style16" /></Blob> + + + 239, 56 + + + + iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAYAAAA7bUf6AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACtSURBVDhPpdONCoMgEAdw3/+pfIkxWKy1mlh+pOsF3EQO + DjG9ULiEoJ9/9WLH14XeYpzz0FOH3wP7j/ioVm0R70xCagMWOIP8rmlIBCJWgpxVNARvN4esWdsI3mop + jdUXkPzwIZFRkp4kXUAqnEhvoo3gBBiB92r90BD4OJ8jtMm5H5FioiEQvbQdsYxtBK747GCX93ANKTXd + /HrQkZio1GzT8077i2ttPw638AOZO2GTDCfYPAAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACNSURBVDhPtZPRDcAgCEQZndHczHqkGBBsaE1N+EHvKXBS + a62fBGViZu5EFAL59XwAQMgjhjoE8ti3EAfAZiZccxYyAVWxwhQiANTmnt3vZV+05HBeegVAersVZEBt + 8haA2+1K+iOT+g9wVEKhiZjGLCFMoeAHN4XHPmxgzgdqzaqZUidayOe/oJA3v/ECXC1jKtBnBTgAAAAA + SUVORK5CYII= + + + + 102 + + \ No newline at end of file diff --git a/.svn/pristine/20/20cb770760964fbc9b2703cea4f5d4be46f829d5.svn-base b/.svn/pristine/20/20cb770760964fbc9b2703cea4f5d4be46f829d5.svn-base new file mode 100644 index 0000000..f886e54 --- /dev/null +++ b/.svn/pristine/20/20cb770760964fbc9b2703cea4f5d4be46f829d5.svn-base @@ -0,0 +1,228 @@ +Imports System.IO +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace Utils + ''' + ''' Standard-Messages in div. Formatenm + ''' + ''' + Public Class MyMessage +#Region "Deklarationen" + ''' + ''' Dataview Meldungstexte um Textelemente fr die Ausgabe zu suchen + ''' + ''' + Private meldungstexte As New DataView() +#End Region + +#Region "Dispose" + Sub dispose() + meldungstexte.Dispose() + End Sub +#End Region + +#Region "DBZugriffe" + ''' + ''' Meldungen aus der Datenbanklesen, sofern diese noch nicht ausgelesen worden sind. Nach dem ersten Lesen werden + ''' die Daten aus der Tabelle Meldungstexte ohne erneutem DB-Zugriff verwendet + ''' + ''' + ''' + ''' + Public Function Get_Meldungstext(ByVal i As Integer) As String + Dim meldungen As New DB.clsMeldungstexte + Dim res As Integer + meldungen.cpMainConnectionProvider = conn + If Me.meldungstexte.Count = 0 Then + Me.meldungstexte.Table = meldungen.SelectAll + End If + meldungstexte.Sort = "meldungstextnr" + res = meldungstexte.Find(i) + Try + Get_Meldungstext = Me.meldungstexte(res).Item(2) + Catch + Get_Meldungstext = "" + End Try + meldungen.Dispose() + End Function + + +#End Region +#Region "Meldungen" + ''' + ''' Standardmessage + ''' + ''' Messagenr + ''' Messagetyp + ''' + ''' + Public Function show_standardmessage(ByVal i As Integer, ByVal typ As MsgBoxStyle) As Integer + Me.ShowMyDialog(Get_Meldungstext(i), typ, MsgBoxStyle.OkOnly) + 'MsgBox(Get_Meldungstext(i), typ) + End Function + ''' + ''' Yes-No-Meldung + ''' + ''' Meldungsnr + ''' MsgboxResult + ''' + Public Function Show_MessageYesNo(ByVal i As Integer) As MsgBoxResult + Return Me.ShowMyDialog(Get_Meldungstext(i), MsgBoxStyle.Question, MsgBoxStyle.YesNo) + 'Show_MessageYesNo = MsgBox(Get_Meldungstext(i), MsgBoxStyle.YesNo + MsgBoxStyle.Question) + End Function + ''' + ''' Standard-Meldung, welcher 2 Strings als Parameter bergeben werden, damit diese im Meldungstext ersetzt werden knnen. + ''' Parameter im Meldungstext #1 oder #2 + ''' + ''' + ''' + ''' + ''' + ''' + ''' + Public Function show_standardmessage_ReplaceText(ByVal i As Integer, ByVal typ As MsgBoxStyle, ByVal Text1 As String, ByVal Text2 As String) As Integer + Dim s As String + s = Get_Meldungstext(i) + s = s.Replace("#1", Text1) + s = s.Replace("#2", Text2) + Return Me.ShowMyDialog(s, typ, MsgBoxStyle.OkOnly) + ' MsgBox(s, typ) + End Function + ''' + ''' Yes-No-Meldung, welcher 2 Strings als Parameter bergeben werden, damit diese im Meldungstext ersetzt werden knnen. + ''' Parameter im Meldungstext #1 oder #2 + ''' + ''' MeldungsNr + ''' erster Text zum ersetzen + ''' zweiter Text zum ersetzen + ''' + ''' + Public Function show_MessageYesNo_ReplaceText(ByVal i As Integer, ByVal Text1 As String, ByVal Text2 As String) As MsgBoxResult + Dim s As String + s = Get_Meldungstext(i) + s = s.Replace("#1", Text1) + s = s.Replace("#2", Text2) + Return Me.ShowMyDialog(s, MsgBoxStyle.Question, MsgBoxStyle.YesNo) + 'show_MessageYesNo_ReplaceText = MsgBox(s, MsgBoxStyle.YesNo + MsgBoxStyle.Question) + End Function + ''' + ''' Ausgabe der Meldung, welche bergeben wird. Als Option knnen 2 Texte zum Ersetzen bergeben werden. + ''' Parameter im Meldungstext #1 oder #2 + ''' + ''' Meldungstext + ''' erster Text zum ersetzen + ''' zweiter Text zum ersetzen + ''' + ''' + Public Function ReplaceTextinMSG(ByVal OrgText As String, ByVal Text1 As String, ByVal Text2 As String) As String + OrgText = OrgText.Replace("#1", Text1) + OrgText = OrgText.Replace("#2", Text2) + ReplaceTextinMSG = OrgText + End Function + + ''' + ''' Meldung Yes-No-Cancel + ''' + ''' + ''' + ''' + Public Function Show_MessageYesNoCancel(ByVal i As Integer) As MsgBoxResult + Return Me.ShowMyDialog(Get_Meldungstext(i), MsgBoxStyle.Question, MsgBoxStyle.YesNoCancel) + 'Show_MessageYesNoCancel = MsgBox(Get_Meldungstext(i), MsgBoxStyle.YesNoCancel + MsgBoxStyle.Question) + End Function + + + 'Private Function ShowMessage(ByVal profilnr As Integer, ByVal messagenr As Integer, ByVal fnkt As Integer, ByVal style As Integer) As Boolean + ' Dim scmCmdToExecute As SqlCommand = New SqlCommand() + ' Dim i As Integer + ' Dim dtToReturn As DataTable = New DataTable() + ' Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute) + ' scmCmdToExecute.CommandText = "dbo.sp_show_hinweismeldung" + ' scmCmdToExecute.CommandType = CommandType.StoredProcedure + ' scmCmdToExecute.Connection = conn.scoDBConnection + ' Try + ' scmCmdToExecute.Parameters.Add(New SqlParameter("@profilnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, profilnr)) + ' scmCmdToExecute.Parameters.Add(New SqlParameter("@hinweisnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, messagenr)) + ' scmCmdToExecute.Parameters.Add(New SqlParameter("@fnkt", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, fnkt)) + ' scmCmdToExecute.Parameters.Add(New SqlParameter("@showit", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, 0)) + ' sdaAdapter.Fill(dtToReturn) + ' i = scmCmdToExecute.Parameters.Item("@showit").Value + ' If i <> 0 Then + ' ShowMessage = True + ' Else + ' ShowMessage = False + ' End If + ' Catch ex As Exception + ' ' // some error occured. Bubble it to caller and encapsulate Exception object + ' Throw New Exception("Dokument_Information_Wert::" & scmCmdToExecute.CommandText & "::Error occured." & ex.Message, ex) + ' Finally + ' scmCmdToExecute.Dispose() + ' sdaAdapter.Dispose() + ' End Try + 'End Function + ''' + ''' Zeig den eigenen Messagebox-Dialog + ''' + ''' + ''' + ''' + ''' + Public Function ShowMyDialog(ByVal msgtext As String, ByVal ImageStyle As MsgBoxStyle, ByVal Buttons As MsgBoxStyle) As MsgBoxResult + Dim f As New frmMsgBox + f.btnno.Visible = False + f.btnAbbruch.Visible = False + f.btnYes.Visible = False + f.btnOK.Visible = False + Select Case Buttons + Case MsgBoxStyle.OkCancel + f.btnYes.Visible = True + f.btnAbbruch.Visible = True + Case MsgBoxStyle.YesNo + f.btnYes.Visible = True + f.btnno.Visible = True + Case MsgBoxStyle.YesNoCancel + f.btnYes.Visible = True + f.btnno.Visible = True + f.btnAbbruch.Visible = True + Case MsgBoxStyle.OkOnly + f.btnOK.Visible = True + End Select + f.imgCritical.Visible = False + f.imgExclamation.Visible = False + f.imgInformation.Visible = False + f.imgQuestion.Visible = False + Select Case ImageStyle + Case MsgBoxStyle.Critical + f.imgCritical.Visible = True + Case MsgBoxStyle.Exclamation + f.imgExclamation.Visible = True + Case MsgBoxStyle.Information + f.imgInformation.Visible = True + Case MsgBoxStyle.Question + f.imgQuestion.Visible = True + End Select + f.txtmsg.Text = msgtext + 'f.btnYes.Visible = True + 'f.btnno.Visible = True + f.ShowDialog() + Select Case f.DialogResult + Case DialogResult.Abort, DialogResult.Cancel + Return MsgBoxResult.Cancel + Case DialogResult.No + Return MsgBoxResult.No + Case DialogResult.Yes + Return MsgBoxResult.Yes + Case Else + + End Select + End Function + + + + +#End Region + + End Class +End Namespace diff --git a/.svn/pristine/24/2427bacfe56a4c1a2f4bba510a83af5eff46c06e.svn-base b/.svn/pristine/24/2427bacfe56a4c1a2f4bba510a83af5eff46c06e.svn-base new file mode 100644 index 0000000..719b4fb Binary files /dev/null and b/.svn/pristine/24/2427bacfe56a4c1a2f4bba510a83af5eff46c06e.svn-base differ diff --git a/.svn/pristine/24/24d17a3a672b47eb0df319d55b9a540f490e2ccf.svn-base b/.svn/pristine/24/24d17a3a672b47eb0df319d55b9a540f490e2ccf.svn-base new file mode 100644 index 0000000..eacaf90 --- /dev/null +++ b/.svn/pristine/24/24d17a3a672b47eb0df319d55b9a540f490e2ccf.svn-base @@ -0,0 +1,35 @@ +Imports System +Imports System.Reflection +Imports System.Runtime.InteropServices + +' Allgemeine Informationen über eine Assembly werden über die folgenden +' Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern, +' die mit einer Assembly verknüpft sind. + +' Die Werte der Assemblyattribute überprüfen + + + + + + + + + + +'Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird + + +' Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten: +' +' Hauptversion +' Nebenversion +' Buildnummer +' Revision +' +' Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern +' übernehmen, indem Sie "*" eingeben: +' + + + diff --git a/.svn/pristine/25/25533bd7524b9233f53d4ee1089e51a787f514da.svn-base b/.svn/pristine/25/25533bd7524b9233f53d4ee1089e51a787f514da.svn-base new file mode 100644 index 0000000..48ff337 --- /dev/null +++ b/.svn/pristine/25/25533bd7524b9233f53d4ee1089e51a787f514da.svn-base @@ -0,0 +1,530 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'mitarbeiter' +' // Generated by LLBLGen v1.21.2003.712 Final on: Dienstag, 1. Januar 2013, 19:36:38 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + ''' + ''' Purpose: Data Access class for the table 'mitarbeiter'. + ''' + Public Class clsMitarbeiter + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daErstellt_am, m_daMutiert_am As SqlDateTime + Private m_iMandantnr, m_iMutierer, m_iMitarbeiternr As SqlInt32 + Private m_sEmail, m_sVorname, m_sTgnummer, m_sName As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iMitarbeiternr
  • + '''
  • sVorname. May be SqlString.Null
  • + '''
  • sName. May be SqlString.Null
  • + '''
  • sTgnummer. May be SqlString.Null
  • + '''
  • sEmail. May be SqlString.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_mitarbeiter_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@imitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iMitarbeiternr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@svorname", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sVorname)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sname", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sName)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@stgnummer", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTgnummer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@semail", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sEmail)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_mitarbeiter_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMitarbeiter::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iMitarbeiternr
  • + '''
  • sVorname. May be SqlString.Null
  • + '''
  • sName. May be SqlString.Null
  • + '''
  • sTgnummer. May be SqlString.Null
  • + '''
  • sEmail. May be SqlString.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_mitarbeiter_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@imitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iMitarbeiternr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@svorname", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sVorname)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sname", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sName)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@stgnummer", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTgnummer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@semail", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sEmail)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_mitarbeiter_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMitarbeiter::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iMitarbeiternr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_mitarbeiter_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@imitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iMitarbeiternr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_mitarbeiter_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMitarbeiter::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iMitarbeiternr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iMitarbeiternr
  • + '''
  • sVorname
  • + '''
  • sName
  • + '''
  • sTgnummer
  • + '''
  • sEmail
  • + '''
  • iMandantnr
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_mitarbeiter_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("mitarbeiter") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@imitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iMitarbeiternr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_mitarbeiter_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iMitarbeiternr = New SqlInt32(CType(dtToReturn.Rows(0)("mitarbeiternr"), Integer)) + If dtToReturn.Rows(0)("vorname") Is System.DBNull.Value Then + m_sVorname = SqlString.Null + Else + m_sVorname = New SqlString(CType(dtToReturn.Rows(0)("vorname"), String)) + End If + If dtToReturn.Rows(0)("name") Is System.DBNull.Value Then + m_sName = SqlString.Null + Else + m_sName = New SqlString(CType(dtToReturn.Rows(0)("name"), String)) + End If + If dtToReturn.Rows(0)("tgnummer") Is System.DBNull.Value Then + m_sTgnummer = SqlString.Null + Else + m_sTgnummer = New SqlString(CType(dtToReturn.Rows(0)("tgnummer"), String)) + End If + If dtToReturn.Rows(0)("email") Is System.DBNull.Value Then + m_sEmail = SqlString.Null + Else + m_sEmail = New SqlString(CType(dtToReturn.Rows(0)("email"), String)) + End If + If dtToReturn.Rows(0)("mandantnr") Is System.DBNull.Value Then + m_iMandantnr = SqlInt32.Null + Else + m_iMandantnr = New SqlInt32(CType(dtToReturn.Rows(0)("mandantnr"), Integer)) + End If + If dtToReturn.Rows(0)("aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMitarbeiter::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_mitarbeiter_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("mitarbeiter") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_mitarbeiter_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMitarbeiter::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iMitarbeiternr]() As SqlInt32 + Get + Return m_iMitarbeiternr + End Get + Set(ByVal Value As SqlInt32) + Dim iMitarbeiternrTmp As SqlInt32 = Value + If iMitarbeiternrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iMitarbeiternr", "iMitarbeiternr can't be NULL") + End If + m_iMitarbeiternr = Value + End Set + End Property + + + Public Property [sVorname]() As SqlString + Get + Return m_sVorname + End Get + Set(ByVal Value As SqlString) + m_sVorname = Value + End Set + End Property + + + Public Property [sName]() As SqlString + Get + Return m_sName + End Get + Set(ByVal Value As SqlString) + m_sName = Value + End Set + End Property + + + Public Property [sTgnummer]() As SqlString + Get + Return m_sTgnummer + End Get + Set(ByVal Value As SqlString) + m_sTgnummer = Value + End Set + End Property + + + Public Property [sEmail]() As SqlString + Get + Return m_sEmail + End Get + Set(ByVal Value As SqlString) + m_sEmail = Value + End Set + End Property + + + Public Property [iMandantnr]() As SqlInt32 + Get + Return m_iMandantnr + End Get + Set(ByVal Value As SqlInt32) + m_iMandantnr = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/.svn/pristine/26/2647c68060f4aee3fb5f08b5e5907d01e86f5be3.svn-base b/.svn/pristine/26/2647c68060f4aee3fb5f08b5e5907d01e86f5be3.svn-base new file mode 100644 index 0000000..4e428bb --- /dev/null +++ b/.svn/pristine/26/2647c68060f4aee3fb5f08b5e5907d01e86f5be3.svn-base @@ -0,0 +1,489 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'mitarbeiter_funktionsgruppe' +' // Generated by LLBLGen v1.21.2003.712 Final on: Dienstag, 1. Januar 2013, 19:36:38 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + ''' + ''' Purpose: Data Access class for the table 'mitarbeiter_funktionsgruppe'. + ''' + Public Class clsMitarbeiter_funktionsgruppe + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daMutiert_am, m_daErstellt_am As SqlDateTime + Private m_iMutierer, m_iMandantnr, m_iMitarbeiternr, m_iFunktionsgruppenr, m_iMitarbeiter_funktionsgruppenr As SqlInt32 + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iMitarbeiter_funktionsgruppenr
  • + '''
  • iMitarbeiternr. May be SqlInt32.Null
  • + '''
  • iFunktionsgruppenr. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_mitarbeiter_funktionsgruppe_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@imitarbeiter_funktionsgruppenr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iMitarbeiter_funktionsgruppenr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMitarbeiternr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@ifunktionsgruppenr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iFunktionsgruppenr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_mitarbeiter_funktionsgruppe_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMitarbeiter_funktionsgruppe::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iMitarbeiter_funktionsgruppenr
  • + '''
  • iMitarbeiternr. May be SqlInt32.Null
  • + '''
  • iFunktionsgruppenr. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_mitarbeiter_funktionsgruppe_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@imitarbeiter_funktionsgruppenr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iMitarbeiter_funktionsgruppenr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMitarbeiternr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@ifunktionsgruppenr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iFunktionsgruppenr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_mitarbeiter_funktionsgruppe_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMitarbeiter_funktionsgruppe::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iMitarbeiter_funktionsgruppenr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_mitarbeiter_funktionsgruppe_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@imitarbeiter_funktionsgruppenr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iMitarbeiter_funktionsgruppenr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_mitarbeiter_funktionsgruppe_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMitarbeiter_funktionsgruppe::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iMitarbeiter_funktionsgruppenr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iMitarbeiter_funktionsgruppenr
  • + '''
  • iMitarbeiternr
  • + '''
  • iFunktionsgruppenr
  • + '''
  • bAktiv
  • + '''
  • iMandantnr
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_mitarbeiter_funktionsgruppe_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("mitarbeiter_funktionsgruppe") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@imitarbeiter_funktionsgruppenr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iMitarbeiter_funktionsgruppenr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_mitarbeiter_funktionsgruppe_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iMitarbeiter_funktionsgruppenr = New SqlInt32(CType(dtToReturn.Rows(0)("mitarbeiter_funktionsgruppenr"), Integer)) + If dtToReturn.Rows(0)("mitarbeiternr") Is System.DBNull.Value Then + m_iMitarbeiternr = SqlInt32.Null + Else + m_iMitarbeiternr = New SqlInt32(CType(dtToReturn.Rows(0)("mitarbeiternr"), Integer)) + End If + If dtToReturn.Rows(0)("funktionsgruppenr") Is System.DBNull.Value Then + m_iFunktionsgruppenr = SqlInt32.Null + Else + m_iFunktionsgruppenr = New SqlInt32(CType(dtToReturn.Rows(0)("funktionsgruppenr"), Integer)) + End If + If dtToReturn.Rows(0)("aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("mandantnr") Is System.DBNull.Value Then + m_iMandantnr = SqlInt32.Null + Else + m_iMandantnr = New SqlInt32(CType(dtToReturn.Rows(0)("mandantnr"), Integer)) + End If + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMitarbeiter_funktionsgruppe::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_mitarbeiter_funktionsgruppe_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("mitarbeiter_funktionsgruppe") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_mitarbeiter_funktionsgruppe_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMitarbeiter_funktionsgruppe::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iMitarbeiter_funktionsgruppenr]() As SqlInt32 + Get + Return m_iMitarbeiter_funktionsgruppenr + End Get + Set(ByVal Value As SqlInt32) + Dim iMitarbeiter_funktionsgruppenrTmp As SqlInt32 = Value + If iMitarbeiter_funktionsgruppenrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iMitarbeiter_funktionsgruppenr", "iMitarbeiter_funktionsgruppenr can't be NULL") + End If + m_iMitarbeiter_funktionsgruppenr = Value + End Set + End Property + + + Public Property [iMitarbeiternr]() As SqlInt32 + Get + Return m_iMitarbeiternr + End Get + Set(ByVal Value As SqlInt32) + m_iMitarbeiternr = Value + End Set + End Property + + + Public Property [iFunktionsgruppenr]() As SqlInt32 + Get + Return m_iFunktionsgruppenr + End Get + Set(ByVal Value As SqlInt32) + m_iFunktionsgruppenr = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [iMandantnr]() As SqlInt32 + Get + Return m_iMandantnr + End Get + Set(ByVal Value As SqlInt32) + m_iMandantnr = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/.svn/pristine/28/281f4076947c64add9c61b348d4293f16b76f423.svn-base b/.svn/pristine/28/281f4076947c64add9c61b348d4293f16b76f423.svn-base new file mode 100644 index 0000000..3c54955 Binary files /dev/null and b/.svn/pristine/28/281f4076947c64add9c61b348d4293f16b76f423.svn-base differ diff --git a/.svn/pristine/28/28339c192f986065666dc16cb3ef2b0f7a32709e.svn-base b/.svn/pristine/28/28339c192f986065666dc16cb3ef2b0f7a32709e.svn-base new file mode 100644 index 0000000..c6090b8 --- /dev/null +++ b/.svn/pristine/28/28339c192f986065666dc16cb3ef2b0f7a32709e.svn-base @@ -0,0 +1,6 @@ + + + + + + diff --git a/.svn/pristine/28/28703faf2ee4da26ef49ae0794c06af84353156e.svn-base b/.svn/pristine/28/28703faf2ee4da26ef49ae0794c06af84353156e.svn-base new file mode 100644 index 0000000..df31b27 --- /dev/null +++ b/.svn/pristine/28/28703faf2ee4da26ef49ae0794c06af84353156e.svn-base @@ -0,0 +1,165 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + False + + + False + + + 0, 0 + + + 152, 17 + + + False + + + False + + + 0, 0 + + + 280, 17 + + + + + AAABAAEAICAEAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP// + AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAzd3d3MzMzAAAAAAAAAAAAM3d3dzMzMwAAAAAAAAAAM3eIiIi7MzMzAAAAAAAA + ADN3iIiIuzMzMwAAAAAAAAB3u4iIiLu7MzMAAAAAAAAAd7uIiIi7uzMzAAAAAAAAAHe7iIiIu7szMwAA + AAAAAAB3u4iIiLu7MzMAAAAAAAAAd7uIiIi7uzMzAAAAAAAAAHe7iIiIu7szMwAAAAAAAAB3u4iIiLu7 + MzMAAAAAAAAAd7uIiIi7uzMzAAAAAAAAAHe7iIiIu7szMwAAAAAAAAB3u4iIiLu7MzMAAAAAAAAAd7uI + iIi7uzMzAAAAAAAAAHe7iIiIu7szMwAAAAAAAAB3u4iIiLu7MzMAAAAAAAAAd7uIiIi7uzMzAAAAAAAA + AHe7iIiIiIi7dwAAAAAAAAB3u4iIiIiIu3cAAAAAAAAAiIj//////4h3AAAAAAAAAIiI//////+IdwAA + AAAAAAAzd3d3d3d3dzMAAAAAAAAAM3d3d3d3d3czAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////////////////AAA//wA + AP/8AAD//AAA//wAAP/8AAD//AAA//wAAP/8AAD//AAA//wAAP/8AAD//AAA//wAAP/8AAD//AAA//wA + AP/8AAD//AAA//wAAP/8AAD//AAA//wAAP/8AAD//////////////////////w== + + + \ No newline at end of file diff --git a/.svn/pristine/28/28a74d097d847368595fb91af7ea8030c930dc0f.svn-base b/.svn/pristine/28/28a74d097d847368595fb91af7ea8030c930dc0f.svn-base new file mode 100644 index 0000000..018d833 Binary files /dev/null and b/.svn/pristine/28/28a74d097d847368595fb91af7ea8030c930dc0f.svn-base differ diff --git a/.svn/pristine/28/28b96141044453e97838ad78054698bf91412d3e.svn-base b/.svn/pristine/28/28b96141044453e97838ad78054698bf91412d3e.svn-base new file mode 100644 index 0000000..57dc1a2 --- /dev/null +++ b/.svn/pristine/28/28b96141044453e97838ad78054698bf91412d3e.svn-base @@ -0,0 +1,73 @@ +'------------------------------------------------------------------------------ +' +' Dieser Code wurde von einem Tool generiert. +' Laufzeitversion:4.0.30319.17929 +' +' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +' der Code erneut generiert wird. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + _ + Partial Friend NotInheritable Class MySettings + Inherits Global.System.Configuration.ApplicationSettingsBase + + Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings) + +#Region "Funktion zum automatischen Speichern von My.Settings" +#If _MyType = "WindowsForms" Then + Private Shared addedHandler As Boolean + + Private Shared addedHandlerLockObject As New Object + + _ + Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs) + If My.Application.SaveMySettingsOnExit Then + My.Settings.Save() + End If + End Sub +#End If +#End Region + + Public Shared ReadOnly Property [Default]() As MySettings + Get + +#If _MyType = "WindowsForms" Then + If Not addedHandler Then + SyncLock addedHandlerLockObject + If Not addedHandler Then + AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings + addedHandler = True + End If + End SyncLock + End If +#End If + Return defaultInstance + End Get + End Property + End Class +End Namespace + +Namespace My + + _ + Friend Module MySettingsProperty + + _ + Friend ReadOnly Property Settings() As Global.Themenmanagement.My.MySettings + Get + Return Global.Themenmanagement.My.MySettings.Default + End Get + End Property + End Module +End Namespace diff --git a/.svn/pristine/2a/2a5871475b435564c7b76e546968c4ea64338371.svn-base b/.svn/pristine/2a/2a5871475b435564c7b76e546968c4ea64338371.svn-base new file mode 100644 index 0000000..b81e9ef Binary files /dev/null and b/.svn/pristine/2a/2a5871475b435564c7b76e546968c4ea64338371.svn-base differ diff --git a/.svn/pristine/2d/2d5b317aaf8b3516c9c72a8cc8199cc7fedf93b5.svn-base b/.svn/pristine/2d/2d5b317aaf8b3516c9c72a8cc8199cc7fedf93b5.svn-base new file mode 100644 index 0000000..d7ebea0 --- /dev/null +++ b/.svn/pristine/2d/2d5b317aaf8b3516c9c72a8cc8199cc7fedf93b5.svn-base @@ -0,0 +1,37 @@ +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\bin\Debug\Themenmanagement.exe +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\bin\Debug\Themenmanagement.pdb +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\bin\Debug\Themenmanagement.xml +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\bin\Debug\C1.Win.C1TrueDBGrid.4.dll +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\bin\Debug\C1.Win.C1TrueDBGrid.4.xml +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\obj\x86\Debug\ResolveAssemblyReference.cache +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmMain.resources +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmDetail.resources +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.Resources.resources +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.Themenübersicht.resources +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\obj\x86\Debug\GenerateResource.read.1.tlog +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\obj\x86\Debug\GenerateResource.write.1.tlog +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.exe.licenses +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.exe +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.xml +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.pdb +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmDetail2.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmMain.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmDetail.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.Resources.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.Themenübersicht.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.vbproj.GenerateResource.Cache +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.exe.licenses +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\Themenmanagement.exe.config +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\Themenmanagement.exe +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\Themenmanagement.pdb +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\Themenmanagement.xml +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\C1.Win.C1TrueDBGrid.2.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\ExtendedRichTextBox.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\SautinSoft.HtmlToRtf.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\C1.Win.C1TrueDBGrid.2.xml +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\ExtendedRichTextBox.pdb +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\ExtendedRichTextBox.xml +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.vbprojResolveAssemblyReference.cache +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.exe +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.xml +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.pdb diff --git a/.svn/pristine/2f/2fe95e3a985a61a129cccac90b7c9b6e9e1a9cc7.svn-base b/.svn/pristine/2f/2fe95e3a985a61a129cccac90b7c9b6e9e1a9cc7.svn-base new file mode 100644 index 0000000..8a4bf3d --- /dev/null +++ b/.svn/pristine/2f/2fe95e3a985a61a129cccac90b7c9b6e9e1a9cc7.svn-base @@ -0,0 +1,333 @@ + _ +Partial Class Themenübersicht + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(Themenübersicht)) + Dim TreeNode13 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Unterkategorie 1.1") + Dim TreeNode14 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Unterkategorie 1.2") + Dim TreeNode15 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Kategorie 1", New System.Windows.Forms.TreeNode() {TreeNode13, TreeNode14}) + Dim TreeNode16 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Unterkategorie 2.1") + Dim TreeNode17 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Unterkategorie 2.2") + Dim TreeNode18 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Kategorie 2", New System.Windows.Forms.TreeNode() {TreeNode16, TreeNode17}) + Me.ToolStrip1 = New System.Windows.Forms.ToolStrip() + Me.TSBtnQuit = New System.Windows.Forms.ToolStripButton() + Me.ToolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator() + Me.TsBtnSuchArt = New System.Windows.Forms.ToolStripDropDownButton() + Me.ApplikationSucheToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripTextBox1 = New System.Windows.Forms.ToolStripTextBox() + Me.TSBtnSuche = New System.Windows.Forms.ToolStripButton() + Me.TSBtnFilterAufheben = New System.Windows.Forms.ToolStripButton() + Me.TSBtnFirst = New System.Windows.Forms.ToolStripButton() + Me.TSBtnNext = New System.Windows.Forms.ToolStripButton() + Me.TSBtnPrevious = New System.Windows.Forms.ToolStripButton() + Me.TSBtnLast = New System.Windows.Forms.ToolStripButton() + Me.MenuStrip1 = New System.Windows.Forms.MenuStrip() + Me.DateiToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.SplitContainer1 = New System.Windows.Forms.SplitContainer() + Me.TreeView1 = New System.Windows.Forms.TreeView() + Me.SplitContainer2 = New System.Windows.Forms.SplitContainer() + Me.C1TrueDBGrid1 = New C1.Win.C1TrueDBGrid.C1TrueDBGrid() + Me.TabControl1 = New System.Windows.Forms.TabControl() + Me.TabPage1 = New System.Windows.Forms.TabPage() + Me.TabPage2 = New System.Windows.Forms.TabPage() + Me.ToolStrip1.SuspendLayout() + Me.MenuStrip1.SuspendLayout() + CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SplitContainer1.Panel1.SuspendLayout() + Me.SplitContainer1.Panel2.SuspendLayout() + Me.SplitContainer1.SuspendLayout() + CType(Me.SplitContainer2, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SplitContainer2.Panel1.SuspendLayout() + Me.SplitContainer2.Panel2.SuspendLayout() + Me.SplitContainer2.SuspendLayout() + CType(Me.C1TrueDBGrid1, System.ComponentModel.ISupportInitialize).BeginInit() + Me.TabControl1.SuspendLayout() + Me.SuspendLayout() + ' + 'ToolStrip1 + ' + Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.TSBtnQuit, Me.ToolStripSeparator1, Me.TsBtnSuchArt, Me.ToolStripTextBox1, Me.TSBtnSuche, Me.TSBtnFilterAufheben, Me.TSBtnFirst, Me.TSBtnNext, Me.TSBtnPrevious, Me.TSBtnLast}) + Me.ToolStrip1.Location = New System.Drawing.Point(0, 24) + Me.ToolStrip1.Name = "ToolStrip1" + Me.ToolStrip1.Size = New System.Drawing.Size(965, 25) + Me.ToolStrip1.TabIndex = 4 + Me.ToolStrip1.Text = "ToolStrip1" + ' + 'TSBtnQuit + ' + Me.TSBtnQuit.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnQuit.Image = CType(resources.GetObject("TSBtnQuit.Image"), System.Drawing.Image) + Me.TSBtnQuit.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnQuit.Name = "TSBtnQuit" + Me.TSBtnQuit.Size = New System.Drawing.Size(23, 22) + Me.TSBtnQuit.Text = "ToolStripButton1" + Me.TSBtnQuit.ToolTipText = "Anwendung beenden" + ' + 'ToolStripSeparator1 + ' + Me.ToolStripSeparator1.Name = "ToolStripSeparator1" + Me.ToolStripSeparator1.Size = New System.Drawing.Size(6, 25) + ' + 'TsBtnSuchArt + ' + Me.TsBtnSuchArt.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text + Me.TsBtnSuchArt.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ApplikationSucheToolStripMenuItem}) + Me.TsBtnSuchArt.Image = CType(resources.GetObject("TsBtnSuchArt.Image"), System.Drawing.Image) + Me.TsBtnSuchArt.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TsBtnSuchArt.Name = "TsBtnSuchArt" + Me.TsBtnSuchArt.Size = New System.Drawing.Size(59, 22) + Me.TsBtnSuchArt.Text = "Suchen" + ' + 'ApplikationSucheToolStripMenuItem + ' + Me.ApplikationSucheToolStripMenuItem.Name = "ApplikationSucheToolStripMenuItem" + Me.ApplikationSucheToolStripMenuItem.Size = New System.Drawing.Size(107, 22) + Me.ApplikationSucheToolStripMenuItem.Text = "Filtern" + ' + 'ToolStripTextBox1 + ' + Me.ToolStripTextBox1.Name = "ToolStripTextBox1" + Me.ToolStripTextBox1.Size = New System.Drawing.Size(100, 25) + ' + 'TSBtnSuche + ' + Me.TSBtnSuche.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnSuche.Image = CType(resources.GetObject("TSBtnSuche.Image"), System.Drawing.Image) + Me.TSBtnSuche.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnSuche.Name = "TSBtnSuche" + Me.TSBtnSuche.Size = New System.Drawing.Size(23, 22) + Me.TSBtnSuche.Text = "ToolStripButton1" + ' + 'TSBtnFilterAufheben + ' + Me.TSBtnFilterAufheben.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnFilterAufheben.Image = CType(resources.GetObject("TSBtnFilterAufheben.Image"), System.Drawing.Image) + Me.TSBtnFilterAufheben.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnFilterAufheben.Name = "TSBtnFilterAufheben" + Me.TSBtnFilterAufheben.Size = New System.Drawing.Size(23, 22) + Me.TSBtnFilterAufheben.Text = "Filter aufheben" + ' + 'TSBtnFirst + ' + Me.TSBtnFirst.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnFirst.Image = CType(resources.GetObject("TSBtnFirst.Image"), System.Drawing.Image) + Me.TSBtnFirst.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnFirst.Name = "TSBtnFirst" + Me.TSBtnFirst.Size = New System.Drawing.Size(23, 22) + Me.TSBtnFirst.Text = "Erster Datensatz" + ' + 'TSBtnNext + ' + Me.TSBtnNext.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnNext.Image = CType(resources.GetObject("TSBtnNext.Image"), System.Drawing.Image) + Me.TSBtnNext.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnNext.Name = "TSBtnNext" + Me.TSBtnNext.Size = New System.Drawing.Size(23, 22) + Me.TSBtnNext.Text = "Nächster Datensatz" + ' + 'TSBtnPrevious + ' + Me.TSBtnPrevious.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnPrevious.Image = CType(resources.GetObject("TSBtnPrevious.Image"), System.Drawing.Image) + Me.TSBtnPrevious.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnPrevious.Name = "TSBtnPrevious" + Me.TSBtnPrevious.Size = New System.Drawing.Size(23, 22) + Me.TSBtnPrevious.Text = "Vorheriger Datensatz" + ' + 'TSBtnLast + ' + Me.TSBtnLast.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnLast.Image = CType(resources.GetObject("TSBtnLast.Image"), System.Drawing.Image) + Me.TSBtnLast.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnLast.Name = "TSBtnLast" + Me.TSBtnLast.Size = New System.Drawing.Size(23, 22) + Me.TSBtnLast.Text = "Letzter Datensatz" + ' + 'MenuStrip1 + ' + Me.MenuStrip1.AllowMerge = False + Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DateiToolStripMenuItem}) + Me.MenuStrip1.Location = New System.Drawing.Point(0, 0) + Me.MenuStrip1.Name = "MenuStrip1" + Me.MenuStrip1.Size = New System.Drawing.Size(965, 24) + Me.MenuStrip1.TabIndex = 3 + Me.MenuStrip1.Text = "MenuStrip1" + ' + 'DateiToolStripMenuItem + ' + Me.DateiToolStripMenuItem.Name = "DateiToolStripMenuItem" + Me.DateiToolStripMenuItem.Size = New System.Drawing.Size(46, 20) + Me.DateiToolStripMenuItem.Text = "&Datei" + ' + 'SplitContainer1 + ' + Me.SplitContainer1.Dock = System.Windows.Forms.DockStyle.Fill + Me.SplitContainer1.Location = New System.Drawing.Point(0, 49) + Me.SplitContainer1.Name = "SplitContainer1" + ' + 'SplitContainer1.Panel1 + ' + Me.SplitContainer1.Panel1.Controls.Add(Me.TreeView1) + ' + 'SplitContainer1.Panel2 + ' + Me.SplitContainer1.Panel2.Controls.Add(Me.SplitContainer2) + Me.SplitContainer1.Size = New System.Drawing.Size(965, 466) + Me.SplitContainer1.SplitterDistance = 321 + Me.SplitContainer1.TabIndex = 5 + ' + 'TreeView1 + ' + Me.TreeView1.Dock = System.Windows.Forms.DockStyle.Fill + Me.TreeView1.Location = New System.Drawing.Point(0, 0) + Me.TreeView1.Name = "TreeView1" + TreeNode13.Name = "Knoten1" + TreeNode13.Text = "Unterkategorie 1.1" + TreeNode14.Name = "Knoten2" + TreeNode14.Text = "Unterkategorie 1.2" + TreeNode15.Name = "Knoten0" + TreeNode15.Text = "Kategorie 1" + TreeNode16.Name = "Knoten4" + TreeNode16.Text = "Unterkategorie 2.1" + TreeNode17.Name = "Knoten5" + TreeNode17.Text = "Unterkategorie 2.2" + TreeNode18.Name = "Knoten3" + TreeNode18.Text = "Kategorie 2" + Me.TreeView1.Nodes.AddRange(New System.Windows.Forms.TreeNode() {TreeNode15, TreeNode18}) + Me.TreeView1.Size = New System.Drawing.Size(321, 466) + Me.TreeView1.TabIndex = 0 + ' + 'SplitContainer2 + ' + Me.SplitContainer2.Dock = System.Windows.Forms.DockStyle.Fill + Me.SplitContainer2.Location = New System.Drawing.Point(0, 0) + Me.SplitContainer2.Name = "SplitContainer2" + Me.SplitContainer2.Orientation = System.Windows.Forms.Orientation.Horizontal + ' + 'SplitContainer2.Panel1 + ' + Me.SplitContainer2.Panel1.Controls.Add(Me.C1TrueDBGrid1) + ' + 'SplitContainer2.Panel2 + ' + Me.SplitContainer2.Panel2.Controls.Add(Me.TabControl1) + Me.SplitContainer2.Panel2.RightToLeft = System.Windows.Forms.RightToLeft.No + Me.SplitContainer2.Size = New System.Drawing.Size(640, 466) + Me.SplitContainer2.SplitterDistance = 249 + Me.SplitContainer2.TabIndex = 0 + ' + 'C1TrueDBGrid1 + ' + Me.C1TrueDBGrid1.Dock = System.Windows.Forms.DockStyle.Fill + Me.C1TrueDBGrid1.Location = New System.Drawing.Point(0, 0) + Me.C1TrueDBGrid1.Name = "C1TrueDBGrid1" + Me.C1TrueDBGrid1.PreviewInfo.Location = New System.Drawing.Point(0, 0) + Me.C1TrueDBGrid1.PreviewInfo.Size = New System.Drawing.Size(0, 0) + Me.C1TrueDBGrid1.PreviewInfo.ZoomFactor = 75.0R + Me.C1TrueDBGrid1.PrintInfo.PageSettings = CType(resources.GetObject("C1TrueDBGrid1.PrintInfo.PageSettings"), System.Drawing.Printing.PageSettings) + Me.C1TrueDBGrid1.PropBag = resources.GetString("C1TrueDBGrid1.PropBag") + Me.C1TrueDBGrid1.Size = New System.Drawing.Size(640, 249) + Me.C1TrueDBGrid1.TabIndex = 0 + Me.C1TrueDBGrid1.Text = "C1TrueDBGrid1" + ' + 'TabControl1 + ' + Me.TabControl1.Controls.Add(Me.TabPage1) + Me.TabControl1.Controls.Add(Me.TabPage2) + 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(640, 213) + Me.TabControl1.TabIndex = 0 + ' + 'TabPage1 + ' + Me.TabPage1.Location = New System.Drawing.Point(4, 22) + Me.TabPage1.Name = "TabPage1" + Me.TabPage1.Padding = New System.Windows.Forms.Padding(3) + Me.TabPage1.Size = New System.Drawing.Size(632, 187) + Me.TabPage1.TabIndex = 0 + Me.TabPage1.Text = "Details" + Me.TabPage1.UseVisualStyleBackColor = True + ' + 'TabPage2 + ' + Me.TabPage2.Location = New System.Drawing.Point(4, 22) + Me.TabPage2.Name = "TabPage2" + Me.TabPage2.Padding = New System.Windows.Forms.Padding(3) + Me.TabPage2.Size = New System.Drawing.Size(632, 187) + Me.TabPage2.TabIndex = 1 + Me.TabPage2.Text = "Dokumente" + Me.TabPage2.UseVisualStyleBackColor = True + ' + 'Themenübersicht + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(965, 515) + Me.Controls.Add(Me.SplitContainer1) + Me.Controls.Add(Me.ToolStrip1) + Me.Controls.Add(Me.MenuStrip1) + Me.Name = "Themenübersicht" + Me.Text = "Themenübersicht" + Me.ToolStrip1.ResumeLayout(False) + Me.ToolStrip1.PerformLayout() + Me.MenuStrip1.ResumeLayout(False) + Me.MenuStrip1.PerformLayout() + Me.SplitContainer1.Panel1.ResumeLayout(False) + Me.SplitContainer1.Panel2.ResumeLayout(False) + CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).EndInit() + Me.SplitContainer1.ResumeLayout(False) + Me.SplitContainer2.Panel1.ResumeLayout(False) + Me.SplitContainer2.Panel2.ResumeLayout(False) + CType(Me.SplitContainer2, System.ComponentModel.ISupportInitialize).EndInit() + Me.SplitContainer2.ResumeLayout(False) + CType(Me.C1TrueDBGrid1, System.ComponentModel.ISupportInitialize).EndInit() + Me.TabControl1.ResumeLayout(False) + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents ToolStrip1 As System.Windows.Forms.ToolStrip + Friend WithEvents TSBtnQuit As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripSeparator1 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents TsBtnSuchArt As System.Windows.Forms.ToolStripDropDownButton + Friend WithEvents ApplikationSucheToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripTextBox1 As System.Windows.Forms.ToolStripTextBox + Friend WithEvents TSBtnSuche As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnFilterAufheben As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnFirst As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnNext As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnPrevious As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnLast As System.Windows.Forms.ToolStripButton + Friend WithEvents MenuStrip1 As System.Windows.Forms.MenuStrip + Friend WithEvents DateiToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents SplitContainer1 As System.Windows.Forms.SplitContainer + Friend WithEvents TreeView1 As System.Windows.Forms.TreeView + Friend WithEvents SplitContainer2 As System.Windows.Forms.SplitContainer + Friend WithEvents C1TrueDBGrid1 As C1.Win.C1TrueDBGrid.C1TrueDBGrid + Friend WithEvents TabControl1 As System.Windows.Forms.TabControl + Friend WithEvents TabPage1 As System.Windows.Forms.TabPage + Friend WithEvents TabPage2 As System.Windows.Forms.TabPage +End Class diff --git a/.svn/pristine/31/31a2642b0d4d1f89f53883b4e328ba55cc6f0e5d.svn-base b/.svn/pristine/31/31a2642b0d4d1f89f53883b4e328ba55cc6f0e5d.svn-base new file mode 100644 index 0000000..b575f30 Binary files /dev/null and b/.svn/pristine/31/31a2642b0d4d1f89f53883b4e328ba55cc6f0e5d.svn-base differ diff --git a/.svn/pristine/31/31c2ed3863db9d94ecb0dd91a4582fc70088387a.svn-base b/.svn/pristine/31/31c2ed3863db9d94ecb0dd91a4582fc70088387a.svn-base new file mode 100644 index 0000000..862a1ae --- /dev/null +++ b/.svn/pristine/31/31c2ed3863db9d94ecb0dd91a4582fc70088387a.svn-base @@ -0,0 +1,208 @@ +' ////////////////////////////////////////////////////////////////////////////////////////// +' // Description: Base class for Database Interaction. +' // Generated by LLBLGen v1.21.2003.712 Final on: Freitag, 4. Januar 2013, 17:02:52 +' // Because this class implements IDisposable, derived classes shouldn't do so. +' ////////////////////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Configuration +Imports System.Data +Imports System.Data.SqlClient +Imports System.Data.SqlTypes + +Namespace DB + ' /// + ' /// Purpose: Error Enums used by this LLBL library. + ' /// + Public Enum LLBLError + AllOk + ' // Add more here (check the comma's!) + End Enum + + + ' /// + ' /// Purpose: General interface of the API generated. Contains only common methods of all classes. + ' /// + Public Interface ICommonDBAccess + Function Insert() As Boolean + Function Update() As Boolean + Function Delete() As Boolean + Function SelectOne() As DataTable + Function SelectAll() As DataTable + End Interface + + + ' /// + ' /// Purpose: Abstract base class for Database Interaction classes. + ' /// + Public MustInherit Class clsDBInteractionBase + Implements IDisposable + Implements ICommonDBAccess + +#Region " Class Member Declarations " + + Protected m_scoMainConnection As SqlConnection + Protected m_iRowsAffected As Integer + Protected m_iErrorCode As SqlInt32 + Protected m_bMainConnectionIsCreatedLocal As Boolean + Protected m_cpMainConnectionProvider As clsConnectionProvider + Private m_sConnectionString As String + Private m_bIsDisposed As Boolean + +#End Region + + + ' /// + ' /// Purpose: Class constructor. + ' /// + Public Sub New() + ' // Initialize the class' members. + InitClass() + End Sub + + + ' /// + ' /// Purpose: Initializes class members. + ' /// + Private Sub InitClass() + ' // create all the objects and initialize other members. + m_scoMainConnection = new SqlConnection() + m_bMainConnectionIsCreatedLocal = True + m_cpMainConnectionProvider = Nothing + m_iErrorCode = New SqlInt32(LLBLError.AllOk) + m_bIsDisposed = False + End Sub + + + ' /// + ' /// Purpose: Implements the IDispose' method Dispose. + ' /// + Overloads Public Sub Dispose() Implements IDisposable.Dispose + Dispose(True) + GC.SuppressFinalize(Me) + End Sub + + + ' /// + ' /// Purpose: Implements the Dispose functionality. + ' /// + Overridable Overloads Protected Sub Dispose(ByVal bIsDisposing As Boolean) + ' // Check to see if Dispose has already been called. + If Not m_bIsDisposed Then + If bIsDisposing Then + ' // Dispose managed resources. + If m_bMainConnectionIsCreatedLocal Then + ' // Object is created in this class, so destroy it here. + m_scoMainConnection.Close() + m_scoMainConnection.Dispose() + m_bMainConnectionIsCreatedLocal = True + End If + m_cpMainConnectionProvider = Nothing + m_scoMainConnection = Nothing + End If + End If + m_bIsDisposed = True + End Sub + + + ' /// + ' /// Purpose: Implements the ICommonDBAccess.Insert() method. + ' /// + Public Overridable Function Insert() As Boolean Implements ICommonDBAccess.Insert + ' // No implementation, throw exception + Throw New NotImplementedException() + End Function + + + ' /// + ' /// Purpose: Implements the ICommonDBAccess.Delete() method. + ' /// + Public Overridable Function Delete() As Boolean Implements ICommonDBAccess.Delete + ' // No implementation, throw exception + Throw New NotImplementedException() + End Function + + + ' /// + ' /// Purpose: Implements the ICommonDBAccess.Update() method. + ' /// + Public Overridable Function Update() As Boolean Implements ICommonDBAccess.Update + ' // No implementation, throw exception + Throw New NotImplementedException() + End Function + + + ' /// + ' /// Purpose: Implements the ICommonDBAccess.SelectOne() method. + ' /// + Public Overridable Function SelectOne() As DataTable Implements ICommonDBAccess.SelectOne + ' // No implementation, throw exception + Throw New NotImplementedException() + End Function + + + ' /// + ' /// Purpose: Implements the ICommonDBAccess.SelectAll() method. + ' /// + Public Overridable Function SelectAll() As DataTable Implements ICommonDBAccess.SelectAll + ' // No implementation, throw exception + Throw New NotImplementedException() + End Function + + +#Region " Class Property Declarations " + + Public WriteOnly Property cpMainConnectionProvider() As clsConnectionProvider + Set(ByVal Value As clsConnectionProvider) + If Value Is Nothing Then + ' // Invalid value + Throw New ArgumentNullException("cpMainConnectionProvider", "Nothing passed as value to this property which is not allowed.") + End If + + ' // A connection provider object is passed to this class. + ' // Retrieve the SqlConnection object, if present and create a + ' // reference to it. If there is already a MainConnection object + ' // referenced by the membervar, destroy that one or simply + ' // remove the reference, based on the flag. + If Not (m_scoMainConnection Is Nothing) Then + ' // First get rid of current connection object. Caller is responsible + If m_bMainConnectionIsCreatedLocal Then + ' // Is local created object, close it and dispose it. + m_scoMainConnection.Close() + m_scoMainConnection.Dispose() + End If + ' // Remove reference. + m_scoMainConnection = Nothing + End If + m_cpMainConnectionProvider = CType(Value, clsConnectionProvider) + m_scoMainConnection = m_cpMainConnectionProvider.scoDBConnection + m_bMainConnectionIsCreatedLocal = False + End Set + End Property + + + Public ReadOnly Property iErrorCode() As SqlInt32 + Get + Return m_iErrorCode + End Get + End Property + + + Public Property sConnectionString() As String + Get + Return m_sConnectionString + End Get + Set (ByVal Value As String) + m_sConnectionString = Value + m_scoMainConnection.ConnectionString = m_sConnectionString + End Set + End Property + Public Readonly Property iRowsAffected() As Integer + Get + Return m_iRowsAffected + End Get + End Property + +#End Region + + End Class +End Namespace diff --git a/.svn/pristine/34/34f6fca06fd0a43fb4eebca75b8494fbb7c7c3ba.svn-base b/.svn/pristine/34/34f6fca06fd0a43fb4eebca75b8494fbb7c7c3ba.svn-base new file mode 100644 index 0000000..5266252 Binary files /dev/null and b/.svn/pristine/34/34f6fca06fd0a43fb4eebca75b8494fbb7c7c3ba.svn-base differ diff --git a/.svn/pristine/36/363966c413a62698c13b048afc4dd02c8c8cd2fe.svn-base b/.svn/pristine/36/363966c413a62698c13b048afc4dd02c8c8cd2fe.svn-base new file mode 100644 index 0000000..54d6b2a Binary files /dev/null and b/.svn/pristine/36/363966c413a62698c13b048afc4dd02c8c8cd2fe.svn-base differ diff --git a/.svn/pristine/36/367e9005510b667dafe101e4d3db4a9b0c96ea6c.svn-base b/.svn/pristine/36/367e9005510b667dafe101e4d3db4a9b0c96ea6c.svn-base new file mode 100644 index 0000000..703ae48 --- /dev/null +++ b/.svn/pristine/36/367e9005510b667dafe101e4d3db4a9b0c96ea6c.svn-base @@ -0,0 +1,818 @@ +Imports C1.Win.C1TrueDBGrid +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient +Namespace Utils + ''' + ''' Formular-Security-Objekte auslesen und auf DB schreiben bzw. Formular-Security zur Laufzeit setzen + ''' + ''' + + Public Class MySecurity + Dim tt As New TKB.VV.Utils.clsToolTips + Dim SecurityData As DataSet = Globals.SecurityDaten + Dim connection As New SqlConnection() + Dim da As New SqlDataAdapter("", connection) + + Dim IntForm As Form + Dim ctlcol As New Collection + Dim formname As String = "" + + + + ''' + ''' Formularsecurity setzen + ''' + ''' Aktuelles Formular + ''' + ''' + Public Function Set_Form_Security(ByRef f As Form) + IntForm = f + formname = f.Name + 'Load form DB + Load_Data(f.Name) + 'Load FormObjects + Me.ctlcol.Clear() + formname = f.Name + For Each ctl As Control In f.Controls + Objectanalysis(ctl) + ' AddHandler ctl.HelpRequested, AddressOf Object_MouseDown + 'ctl.ContextMenuStrip = Globals.TTContextMenuStrip + 'AddHandler ctl.KeyDown, AddressOf Object_MouseDown + Next + Set_Security() + If Globals.Set_ToolTips = True Then + tt.Edit_ToolTips(f, ctlcol) + Else + tt.Set_ToolTips(f) + End If + End Function + + Public Function Set_Menu_Security(ByRef f As Form, ByRef menu As ToolStripMenuItem, ByVal Menuname As String) + IntForm = f + formname = f.Name + Load_Data(f.Name) + Me.ctlcol.Clear() + formname = f.Name + Dim ctl As Object = menu + Dim typ As System.Type = ctl.GetType + ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, Menuname, ctl.Name)) + + Set_Security() + 'If Globals.Set_ToolTips = True Then + ' tt.Edit_ToolTips(f, ctlcol) + 'Else + ' tt.Set_ToolTips(f) + 'End If + + End Function + + + Public Function Set_Form_Readonly(ByRef f As Form) + IntForm = f + Me.formname = f.Name + Load_Data(f.Name) + Me.ctlcol.Clear() + For Each ctl As Control In f.Controls + Objectanalysis_readonly(ctl) + Next + End Function + Public Function Set_Form_Default(ByRef f As Form) + IntForm = f + Me.formname = f.Name + Load_Data(f.Name) + Me.ctlcol.Clear() + For Each ctl As Control In f.Controls + Objectanalysis_default(ctl) + Next + End Function + + Private Function Objectanalysis_readonly(ByRef ctl As Object) As String + Dim typ As System.Type = ctl.GetType + Select Case LCase(typ.Name) + Case "splitcontainer" + ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, "")) + Dim tmpsplit As SplitContainer = ctl + For Each ctrl As Object In tmpsplit.Panel1.Controls + Objectanalysis_readonly(ctrl) + Next + For Each ctrl As Object In tmpsplit.Panel2.Controls + Objectanalysis_readonly(ctrl) + Next + Case "tabcontrol", "clsmytabcontrol" + ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, "")) + Dim tmptabcontrol As TabControl = ctl + For Each ctl In tmptabcontrol.TabPages + Objectanalysis_readonly(ctl) + Next + Case "tabpage" + Dim tmptabpage As TabPage = ctl + ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, tmptabpage.Parent.Name, 1)) + + For Each ctl In tmptabpage.Controls + Objectanalysis_readonly(ctl) + Next + Case "groupbox" + ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, "")) + Dim tmptabpage As GroupBox = ctl + For Each ctl In tmptabpage.Controls + Objectanalysis_readonly(ctl) + Next + Case "panel" + ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, "")) + Dim tmppanel As Panel = ctl + For Each ctl In tmppanel.Controls + Objectanalysis_readonly(ctl) + Next + Case "textbox" + Dim x As TextBox = ctl + x.BackColor = Color.LightGray + x.ForeColor = Color.Black + x.ReadOnly = True + Case "maskedtextbox" + Dim x As MaskedTextBox = ctl + x.BackColor = Color.LightGray + x.ForeColor = Color.Black + x.ReadOnly = True + Case "combobox" + Dim x As ComboBox = ctl + x.Enabled = False + x.BackColor = Color.LightGray + x.ForeColor = Color.Black + Case "checkbox" + Dim x As CheckBox = ctl + x.Enabled = False + Case "radiobutton" + Dim x As RadioButton = ctl + x.Enabled = False + Case "comboboxtree" + Dim x As Object = ctl + x.enabled = False + x.BackColor = Color.LightGray + x.ForeColor = Color.Black + Case "richtextbox" + Dim x As Object = ctl + x.BackColor = Color.LightGray + x.ForeColor = Color.Black + x.ReadOnly = True + Case "button" + Dim x As Button = ctl + x.Enabled = False + Case "listbox" + Dim x As Object = ctl + ctl.enabled = False + Case "checkedlistbox" + Dim x As Object = ctl + ctl.enabled = False + Case "datetimepicker" + Dim x As Object = ctl + ctl.enabled = False + + Case Else + End Select + End Function + + Private Function Objectanalysis_default(ByRef ctl As Object) As String + Dim typ As System.Type = ctl.GetType + Select Case LCase(typ.Name) + Case "splitcontainer" + ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, "")) + Dim tmpsplit As SplitContainer = ctl + For Each ctrl As Object In tmpsplit.Panel1.Controls + Objectanalysis_default(ctrl) + Next + For Each ctrl As Object In tmpsplit.Panel2.Controls + Objectanalysis_default(ctrl) + Next + Case "tabcontrol", "clsmytabcontrol" + ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, "")) + Dim tmptabcontrol As TabControl = ctl + For Each ctl In tmptabcontrol.TabPages + Objectanalysis_default(ctl) + Next + Case "tabpage" + Dim tmptabpage As TabPage = ctl + ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, tmptabpage.Parent.Name, 1)) + For Each ctl In tmptabpage.Controls + Objectanalysis_default(ctl) + Next + Case "groupbox" + ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, "")) + Dim tmptabpage As GroupBox = ctl + For Each ctl In tmptabpage.Controls + Objectanalysis_default(ctl) + Next + Case "panel" + ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, "")) + Dim tmppanel As Panel = ctl + For Each ctl In tmppanel.Controls + Objectanalysis_default(ctl) + Next + Case "textbox" + Dim x As TextBox = ctl + x.BackColor = Color.White + x.ForeColor = Color.Black + x.Enabled = True + Case "maskedtextbox" + Dim x As MaskedTextBox = ctl + x.BackColor = Color.White + x.ForeColor = Color.Black + x.Enabled = True + Case "combobox" + Dim x As ComboBox = ctl + x.Enabled = True + x.BackColor = Color.White + x.ForeColor = Color.Black + + Case "checkbox" + Dim x As CheckBox = ctl + x.Enabled = True + Case "radiobutton" + Dim x As RadioButton = ctl + x.Enabled = True + Case "comboboxtree" + Dim x As Object = ctl + x.enabled = True + x.BackColor = Color.White + x.ForeColor = Color.Black + Case "richtextbox" + Dim x As Object = ctl + x.BackColor = Color.White + x.ForeColor = Color.Black + x.readonly = True + Case "button" + Dim x As Button = ctl + x.Enabled = True + Case "listbox" + Dim x As Object = ctl + ctl.enabled = True + Case "checkedlistbox" + Dim x As Object = ctl + ctl.enabled = True + Case "datetimepicker" + Dim x As Object = ctl + ctl.enabled = True + Case Else + End Select + End Function + + + + ''' + ''' Daten ab Datenbank laden + ''' + ''' + Private Sub Load_Data(ByVal Formname As String) + Try + 'xxx + If SecurityData.Tables.Count > 0 Then + SecurityData.Tables.Clear() + End If + ' Exit Sub + Catch ex As Exception + End Try + SecurityData.Tables.Clear() + Dim sqlcmd As New SqlCommand + + sqlcmd.CommandText = "dbo.my_security_get_data" + sqlcmd.Parameters.Add("@FormName", SqlDbType.VarChar, 255) + sqlcmd.Parameters.Add("@Mitarbeiternr", SqlDbType.Int, 4) + sqlcmd.Parameters(0).Value = Formname + sqlcmd.Parameters(1).Value = Globals.clsmitarbeiter.iMitarbeiternr.Value + + sqlcmd.CommandType = CommandType.StoredProcedure + sqlcmd.Connection = connection + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.SelectCommand = sqlcmd + da.Fill(SecurityData, "SecurityTable") + Globals.SecurityDaten.Tables.Add(SecurityData.Tables(0).Copy) + Catch ex As Exception + Finally + connection.Close() + da.Dispose() + sqlcmd.Dispose() + End Try + End Sub + ''' + ''' Prft die DB-Eintrge mit den Formcontrols und bei bereinstimmung werden die Security-Einstellungen gesetzt + ''' + ''' + Private Sub Set_Security() + Dim i As Integer + For i = 0 To Me.SecurityData.Tables(0).Rows.Count - 1 + Dim SecurityObject As String = Me.SecurityData.Tables(0).Rows(i).Item("SecurityObject") + Dim SecurityObjectitem As String = Me.SecurityData.Tables(0).Rows(i).Item("SecurityObjectItem") + Dim read_only As Boolean = Me.SecurityData.Tables(0).Rows(i).Item("readonly") + Dim invisible As Boolean = Me.SecurityData.Tables(0).Rows(i).Item("invisible") + Dim ii As Integer + For ii = 1 To ctlcol.Count + Dim secobj As MyFormControls = ctlcol(ii) + If secobj.MySecurityObject = SecurityObject And secobj.MySecurityObjectItem = SecurityObjectitem Then + Set_Preferences(secobj.MyControl, read_only, invisible, SecurityObjectitem) + End If + Next + Next + End Sub + + ''' + ''' Security-Einstellungen setzen + ''' + ''' Betroffenes Objeckt (Menuitem, Conrol usw.) + ''' Readonly ja/nein + ''' Sichtbar ja/nein + ''' Name des Unterobjektes - wird fr die Spalteneinstellungen von C1TruedbGrids verwendet + ''' + Private Sub Set_Preferences(ByRef obj As Object, ByVal read_only As Boolean, ByVal invisible As Boolean, ByVal SecurityObjectItem As String) + Dim objtype As System.Type = obj.GetType + Select Case LCase(objtype.Name) + Case "button" + Dim ctl As Button = obj + If read_only Then ctl.Enabled = False + If invisible Then + ctl.Visible = False + ctl.Enabled = False + End If + Case "toolstripmenuitem" + Dim ctl As ToolStripMenuItem = obj + If read_only Then ctl.Enabled = False + If invisible Then + ctl.Visible = False + ctl.Enabled = False + End If + Case "textbox", "label", "combobox", "checkbox", "toolstripbutton", "panel", "datetimepicker" + If read_only Then obj.Enabled = False + If invisible Then obj.Visible = False + Case "richtextbox" + If read_only Then obj.Enabled = False + Try + obj.readonly = True + obj.enabled = True + Catch ex As Exception + End Try + If invisible Then obj.Visible = False + Case "tabpage" + If invisible Then + Dim tbp As TabPage = obj + For Each x As MyFormControls In Me.ctlcol + If x.MySecurityObject = tbp.Parent.Name Then + Dim tb As TabControl = x.MyControl + tb.TabPages.Remove(tbp) + Exit Sub + End If + Next + End If + '20100406 - TabPageHandling + If read_only Then + 'obj.enabled = False + For Each CTLX As Control In obj.CONTROLS + Me.Objectanalysis_readonly(CTLX) + Next + End If + Case "c1truedbgrid" + Dim ctl As C1TrueDBGrid = obj + If SecurityObjectItem = "" Then + If read_only Then ctl.Enabled = False + If invisible Then obj.Visible = False + Else + If read_only Then ctl.Splits(0).DisplayColumns(SecurityObjectItem).Locked = True + If invisible Then ctl.Splits(0).DisplayColumns(SecurityObjectItem).Visible = False + End If + + End Select + End Sub + + +#Region "Read Objects from Form and save to Database" + Dim tmpmenuname As String + ''' + ''' Alle Controls des Formulars zusammensuchen und auf der DB speichern + ''' + ''' Betroffenes Formular + ''' + ''' + + Public Function List_Form_Controls(ByRef f As Form) + Me.ctlcol.Clear() + formname = f.Name + For Each ctl As Control In f.Controls + Objectanalysis(ctl) + Next + Dim i As Integer + For i = 1 To ctlcol.Count + Dim secobj As MyFormControls = ctlcol(i) + secobj.Write_Object_to_DB() + Next + End Function + + ''' + ''' Smtliche Controls vom Formular auslesen + ''' + ''' + ''' + ''' + Private Function Objectanalysis(ByRef ctl As Object) As String + Dim typ As System.Type = ctl.GetType + Select Case LCase(typ.Name) + Case "menustrip" + ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, "")) + tmpmenuname = ctl.name + ReadMenu(ctl) + Case "contextmenustrip" + ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, "")) + tmpmenuname = ctl.name + ReadContextMenu(ctl) + Case "toolstrip" + ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, "")) + Dim tmptoolstrop As ToolStrip = ctl + Try + Dim ic As Integer + For ic = 0 To tmptoolstrop.Items.Count - 1 + Try + Dim subobj As ToolStripButton + subobj = tmptoolstrop.Items(ic) + ctlcol.Add(New MyFormControls(subobj, formname, typ.Name, ctl.Name, subobj.Name, 1)) + Catch ex As Exception + + End Try + + Next + 'For Each subobj As ToolStripButton In tmptoolstrop.Items + 'ctlcol.Add(New MyFormControls(subobj, formname, typ.Name, ctl.Name, subobj.Name, 1)) + 'Next + Catch + End Try + Case "splitcontainer" + ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, "")) + Dim tmpsplit As SplitContainer = ctl + For Each ctrl As Object In tmpsplit.Panel1.Controls + Objectanalysis(ctrl) + Next + For Each ctrl As Object In tmpsplit.Panel2.Controls + Objectanalysis(ctrl) + Next + Case "tabcontrol", "clsmytabcontrol" + ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, "")) + Dim tmptabcontrol As TabControl = ctl + For Each ctl In tmptabcontrol.TabPages + Objectanalysis(ctl) + Next + Case "tabpage" + Dim tmptabpage As TabPage = ctl + ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, tmptabpage.Parent.Name, 1)) + + For Each ctl In tmptabpage.Controls + Objectanalysis(ctl) + Next + Case "groupbox" + ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, "")) + Dim tmptabpage As GroupBox = ctl + For Each ctl In tmptabpage.Controls + Objectanalysis(ctl) + Next + Case "panel" + ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, "")) + Dim tmppanel As Panel = ctl + For Each ctl In tmppanel.Controls + Objectanalysis(ctl) + Next + Case "c1truedbgrid" + ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, "")) + Dim ctrl As C1TrueDBGrid = ctl + Dim i As Integer + For i = 0 To ctrl.Columns.Count - 1 + ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, ctrl.Columns(i).Caption, 0, ctrl.Columns(i).Caption)) + Next + Try + If ctrl.ContextMenuStrip.Name <> "" Then + Dim x As ContextMenuStrip = ctrl.ContextMenuStrip + Objectanalysis(x) + End If + Catch ex As Exception + + End Try + For Each xctl As Object In ctrl.Controls + Objectanalysis(xctl) + Next + Case "treeview" + ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, "")) + Dim ctrl As TreeView = ctl + Try + + If ctrl.ContextMenuStrip.Name <> "" Then + Dim x As ContextMenuStrip = ctrl.ContextMenuStrip + Objectanalysis(x) + End If + + Catch ex As Exception + + End Try + + Case Else + If ctl.name = "TreeStruktur" Then + End If + ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, "")) + End Select + End Function + + ''' + ''' Auslesen von MenuItems + ''' + ''' + ''' + ''' + ''' + Dim level As Integer = 0 + Private Function ReadMenu(ByRef x As Object) + Dim tmpmnu As MenuStrip = x + level = 0 + For Each xx As Object In tmpmnu.Items + Dim objtype As System.Type = xx.GetType + If LCase(objtype.Name) = "toolstripmenuitem" Then + ctlcol.Add(New MyFormControls(xx, formname, "menustrip", tmpmenuname, xx.Name, level)) + get_all_menus(xx) + End If + Next + End Function + ''' + ''' Auslesen von ContextMenuItems + ''' + ''' + ''' + ''' + ''' + + Private Function ReadContextMenu(ByRef x As Object) + Dim tmpmnu As ContextMenuStrip = x + level = 0 + Try + For Each xx As Object In tmpmnu.Items + Dim objtype As System.Type = xx.GetType + If LCase(objtype.Name) = "toolstripmenuitem" Then + ctlcol.Add(New MyFormControls(xx, formname, "menustrip", tmpmenuname, xx.Name, level)) + get_all_menus(xx) + End If + ' ctlcol.Add(New MyFormControls(xx, formname, "contextmenustrip", tmpmenuname, xx.Name, level)) + ' get_all_menus(xx) + Next + Catch ex As Exception + End Try + End Function + ''' + ''' Auslesen von Menu-Subitems + ''' + ''' + ''' + ''' + Private Function get_all_menus(ByRef xx As ToolStripMenuItem) + level = level + 1 + For Each subobj As Object In xx.DropDownItems + If LCase(subobj.GetType.Name) = "toolstripmenuitem" Then + ctlcol.Add(New MyFormControls(subobj, formname, "menustrip", tmpmenuname, subobj.Name, level)) + get_all_menus(subobj) + End If + Next + level = level - 1 + End Function + + + + ''' + ''' Prft, ob das Security-Objekt bereits auf der DB vorhanden ist + ''' + ''' Formular + ''' Objekttyp + ''' Objektname + ''' Objektitem + ''' + ''' + Private Function Objexists(ByVal securityform As String, ByVal securityobjecttype As String, ByVal securityobject As String, ByVal securityobjectitem As String) As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[my_security_check_entry]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + scmCmdToExecute.Connection = conn.scoDBConnection + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@form", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, securityform)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@objecttype", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, securityobjecttype)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@object", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, securityobject)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@objectitem", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, securityobjectitem)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@objexists", SqlDbType.Int, 4, ParameterDirection.Output, True, 0, 0, "", DataRowVersion.Proposed, 0)) + scmCmdToExecute.Connection.Open() + scmCmdToExecute.ExecuteNonQuery() + If scmCmdToExecute.Parameters("@objexists").Value > 0 Then + Return True + Else + Return False + End If + Catch ex As Exception + Finally + scmCmdToExecute.Connection.Close() + End Try + End Function + +#End Region + +#Region "ScreenDoku" + + Public Function Print_Screen(ByRef ctl As Control) + saveasbitmap(ctl, ctl.Name) + End Function + Public Function Generate_HTML() + saveasbitmap(Me.IntForm, "testform") + 'Exit Function + 'Dim x As MyFormControls + 'For Each x In ctlcol + ' Try + ' saveasbitmap(x.MyControl, x.MyFormname & "_" & x.MySecurityObject & "_" & x.MySecurityObjectItem) + ' If x.MySecurityObjecttype = "ToolStrip" And x.MySecurityObjectItem = "" Then + ' Dim gaga As ToolStrip = x.MyControl + ' For Each c As ToolStripButton In gaga.Items + ' Dim xxx As Control = CType(c, Control) + + ' xxx = CType(c, Control) + ' saveasbitmap(xxx, "xxx") + ' Next + ' End If + ' Catch ex As Exception + ' MsgBox(ex.Message) + ' End Try + 'Next + End Function + + Public Function saveasbitmap(ByRef ctl As Control, ByVal filename As String) + Dim g As Graphics = ctl.CreateGraphics + Dim b As New Bitmap(ctl.Width, ctl.Height) + ctl.DrawToBitmap(b, New Rectangle(0, 0, ctl.Width, ctl.Height)) + 'b.Save("E:\Software-Projekte\Vertragsverwaltung\Screens\" & filename & ".jpg", System.Drawing.Imaging.ImageFormat.Jpeg) + End Function + + +#End Region + + + End Class + ''' + ''' Klasse fr ein Control-Objekt + ''' + ''' + Public Class MyFormControls + + Public MyControl As Object + Public MyFormname As String + Public MySecurityObjecttype As String + Public MySecurityObject As String + Public MySecurityObjectItem As String + Public MyDescription As String + Public MyLevel As Integer + + ''' + ''' Neue Instanz erstellen + ''' + ''' Control-Objekt + ''' Betroffenes Formular + ''' Objekttyp + ''' Objektname + ''' Unterobjekt (z.B. bei Menus, Spalten von C1TrueDBGrids) + ''' + Sub New(ByVal ctl As Object, ByVal Formname As String, ByVal securityobjecttype As String, ByVal Securityobject As String, ByVal SecurityObjectItem As String, Optional ByVal level As Integer = 0, Optional ByVal desc As String = "") + MyControl = ctl + MySecurityObjecttype = securityobjecttype + MyFormname = Formname + MySecurityObject = Securityobject + MySecurityObjectItem = SecurityObjectItem + If desc = "" Then + MyDescription = Get_Description(ctl) + Else + MyDescription = desc + End If + Try + MyDescription = MyDescription.Replace("&", "") + Catch ex As Exception + End Try + MyLevel = level + End Sub + + Private Function Get_Description(ByRef ctl As Object) As String + Dim typ As System.Type = ctl.GetType + Select Case LCase(typ.Name) + Case "menustrip", "toolstripmenuitem", "toolstrip", "toolstripbutton", "contextmenustrip", "tabpage", "c1truedbgrid", "label" + Return ctl.Text + Case Else + Return ctl.Name + End Select + + End Function + + ''' + ''' Schreibt einen Datnsatz in die Tabelle SecurityObjects + ''' + ''' + ''' + Public Function Write_Object_to_DB() + If Objexists() Then Exit Function + Dim sectbl As New DB.clsSecurityObject + Dim dbkey As New DB.clsMyKey_Tabelle + dbkey.cpMainConnectionProvider = Globals.conn + Dim newkey As Integer = dbkey.get_dbkey("SecurityObject") + + sectbl.cpMainConnectionProvider = Globals.conn + conn.OpenConnection() + sectbl.iSecurityObjectNr = New SqlInt32(CType(newkey, Int32)) + sectbl.sSecurityForm = New SqlString(CType(MyFormname, String)) + sectbl.sSecurityObjectType = New SqlString(CType(Me.MySecurityObjecttype, String)) + sectbl.sSecurityObject = New SqlString(CType(Me.MySecurityObject, String)) + sectbl.sSecurityObjectItem = New SqlString(CType(Me.MySecurityObjectItem, String)) + sectbl.bAktiv = New SqlBoolean(CType(True, Boolean)) + sectbl.daErstellt_am = New SqlDateTime(CType(Now, DateTime)) + sectbl.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) + sectbl.sSecurityObjectDescriotion = New SqlString(CType(Me.MyDescription, String)) + sectbl.iLevel = New SqlInt32(CType(Me.MyLevel, Int32)) + sectbl.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) + sectbl.iMandantnr = New SqlInt32(CType(Globals.clsmitarbeiter.iMandantnr.Value, Int32)) + sectbl.Insert() + conn.CloseConnection(True) + sectbl.Dispose() + dbkey.Dispose() + End Function + + + ''' + '''Prft, ob das Security-Objekt bereits auf der DB vorhanden ist + ''' + ''' + ''' + Private Function Objexists() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[my_security_check_entry]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + scmCmdToExecute.Connection = conn.scoDBConnection + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@form", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, Me.MyFormname)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@objecttype", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, Me.MySecurityObjecttype)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@object", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, Me.MySecurityObject)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@objectitem", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, Me.MySecurityObjectItem)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@objexists", SqlDbType.Int, 4, ParameterDirection.Output, True, 0, 0, "", DataRowVersion.Proposed, 0)) + scmCmdToExecute.Connection.Open() + scmCmdToExecute.ExecuteNonQuery() + If scmCmdToExecute.Parameters("@objexists").Value > 0 Then + Return True + Else + Return False + End If + Catch ex As Exception + Finally + scmCmdToExecute.Connection.Close() + End Try + End Function + + + End Class + + Public Class ControlsCollection + Private Shared m_controls As Collection + Public Sub New(ByVal myForm As Form) + m_controls = New Collection + 'create a control walker to get + 'all controls on the form + Dim aControlWalker As New ControlWalker(myForm) + End Sub + 'This property returns the collection of all controls + 'on the form + ReadOnly Property Controls() As Collection + Get + Return m_controls + End Get + End Property + + Public Function FindControl(ByVal ctlname As String) As Boolean + Dim i As Integer + For i = 1 To Me.m_controls.Count + Dim ctl As Control = m_controls(i) + If UCase(ctl.Name) = UCase(ctlname) Then MsgBox("found") + Next + End Function + Private Class ControlWalker + ' This class recursively walks through all controls + ' in a container, and all containers contained in + ' this container, visiting all controls throughout + ' the hierarchy + Private mContainer As Object + Public Sub New(ByVal Container As Object) + Dim cControl As Control + If Container.haschildren Then + For Each cControl In Container.controls + 'add this control to the controls collection + m_controls.Add(cControl) + If cControl.HasChildren Then + 'This control has children, create another + 'ControlWalk go visit each of them + Dim cWalker As New ControlWalker(cControl) + End If + Next cControl + End If + End Sub + End Class + End Class +End Namespace diff --git a/.svn/pristine/37/3798023961483f02bebcdd51b381553e073cf8fe.svn-base b/.svn/pristine/37/3798023961483f02bebcdd51b381553e073cf8fe.svn-base new file mode 100644 index 0000000..6d738d5 --- /dev/null +++ b/.svn/pristine/37/3798023961483f02bebcdd51b381553e073cf8fe.svn-base @@ -0,0 +1,427 @@ +Imports C1.Win.C1TrueDBGrid +Imports System +Imports System.IO +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient +Imports System.Diagnostics + +''' +''' Namesace TKB.VV.Utils fasst die Utility-Klassen fr die Vertragsverwaltung +''' zusammen. +''' +''' yes +''' +''' +''' +''' +''' +''' +''' +''' +Namespace TKB.VV.Utils + ''' + ''' Klasse fr das Speichern bzw. Auslesen von Image-Dateien in der Datenbank + ''' + ''' + ''' Es werden folgende Datebanktabellen bercksichtigt: + ''' + ''' + ''' Dokument Attribut DocImage + ''' + ''' Profile Attribut V_Uebersicht (Profillayout des C1TrueDBGrids der + ''' Vertragsbersicht|Vertragselemente + ''' + ''' yes + Public Class MyDocMgmt + ''' + ''' Grid-Layoutfile speichern + ''' + ''' C1Truedbgrind, von welchem das Layout gespeichert werden soll + ''' Nummer des Grids: 1=Vertragsbersicht... + ''' + ''' + Public Function Save_LayoutFile(ByRef c1data As C1TrueDBGrid, ByVal GridNo As Integer, ByVal Profilnr As Integer) As Boolean + Dim filename As String = Globals.clsapplication.sTmp_filepath + Trim(Str(Profilnr)) + Trim(Str(GridNo)) + ".lyt" + c1data.SaveLayout(filename) + + Dim Connection As New SqlConnection() + Dim DA As New SqlDataAdapter("select * from profil where profilnr = " & Str(Profilnr), Connection) + 'mitarbeiternr=" + Str(Globals.clsmitarbeiter.iMitarbeiternr.Value) + Dim cb As SqlCommandBuilder = New SqlCommandBuilder(DA) + Dim ds As New DataSet() + Dim fs As New FileStream(filename, FileMode.OpenOrCreate, FileAccess.Read) + Dim mydata(fs.Length) As Byte + fs.Read(mydata, 0, fs.Length) + fs.Close() + Try + Connection.ConnectionString = Globals.sConnectionString + Connection.Open() + DA.Fill(ds, "profil") + Dim myRow As DataRow + If ds.Tables(0).Rows.Count = 0 Then + ' Neues Profil sepeichern + myRow = ds.Tables(0).NewRow + myRow.Item(1) = Globals.clsmitarbeiter.iMitarbeiternr.Value + myRow.Item(2) = "" + Select Case GridNo + Case 1 + myRow.Item(3) = mydata + End Select + ds.Tables(0).Rows.Add(myRow) + DA.Update(ds, "profil") + Else + myRow = ds.Tables(0).Rows(0) + Select Case GridNo + Case 1 + myRow.Item(3) = mydata + End Select + DA.Update(ds, "profil") + End If + Catch ex As Exception + MsgBox(ex.Message) + Return False + End Try + fs = Nothing + cb = Nothing + ds = Nothing + DA = Nothing + Connection.Close() + Connection = Nothing + Return True + + End Function + + Private Function Get_Layoutfile_from_db(ByVal filename As String, ByVal GridNo As Integer, ByVal Profilnr As Integer) As Boolean + 'Exit Function + Dim connection As New SqlConnection() + Dim da As New SqlDataAdapter("Select * From profil where profilnr=" & Str(Profilnr), connection) + 'mitarbeiternr=" + Str(Globals.clsmitarbeiter.iMitarbeiternr.Value) + Dim CB As SqlCommandBuilder = New SqlCommandBuilder(da) + Dim ds As New DataSet() + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.Fill(ds, "docs") + Dim myRow As DataRow + myRow = ds.Tables(0).Rows(0) + Dim MyData() As Byte + Select Case GridNo + Case 1 + MyData = myRow.Item(3) + + End Select + + Dim K As Long + K = UBound(MyData) + Dim fs As New FileStream(filename, FileMode.OpenOrCreate, FileAccess.Write) + fs.Write(MyData, 0, K) + fs.Close() + fs = Nothing + Return True + Catch ex As Exception + Return False + End Try + CB = Nothing + ds = Nothing + da = Nothing + connection.Close() + connection = Nothing + Return True + End Function + + Public Function Get_Layout(ByRef c1data As C1TrueDBGrid, ByVal GridNo As Integer, ByVal Profilnr As Integer) As Boolean + Dim filename As String = Globals.clsapplication.sTmp_filepath + Trim(Str(Profilnr)) + Trim(Str(GridNo)) + ".lyt" + If File.Exists(filename) Then + c1data.LoadLayout(filename) + Return True + End If + If Get_Layoutfile_from_db(filename, GridNo, Profilnr) Then + c1data.LoadLayout(filename) + Return True + End If + Return False + End Function + + ''' + ''' Dokument in der Tabelle Dokument speichern + ''' + ''' Nummer des Dokument-Datensatzes + ''' Zu speichender Dateiname + ''' + ''' + + Public Function Save_Document(ByVal Dokumentnr As Integer, ByVal Filename As String) As Boolean + Dim Connection As New SqlConnection() + Dim DA As New SqlDataAdapter("select * from dokument where dokumentnr =" + Str(dokumentnr), Connection) + Dim cb As SqlCommandBuilder = New SqlCommandBuilder(DA) + Dim ds As New DataSet() + Dim fs As New FileStream(filename, FileMode.OpenOrCreate, FileAccess.Read) + Dim mydata(fs.Length) As Byte + fs.Read(mydata, 0, fs.Length) + fs.Close() + Try + Connection.ConnectionString = Globals.sConnectionString + Connection.Open() + DA.Fill(ds, "Dokument") + Dim myRow As DataRow + If ds.Tables(0).Rows.Count = 0 Then + Return False + Else + myRow = ds.Tables(0).Rows(0) + myRow.Item(16) = mydata + DA.Update(ds, "Dokument") + End If + Catch ex As Exception + MsgBox(ex.Message) + Return False + End Try + fs = Nothing + cb = Nothing + ds = Nothing + DA = Nothing + Connection.Close() + Connection = Nothing + Return True + End Function + + ''' + ''' Liest das Dokument aus der DB und speichert dieses unter einem temporren Filenamen ab + ''' + ''' + ''' + ''' + Public Function Get_Dokument(ByVal DokumentNr As Integer) As String + Dim Filename As String = Globals.clsapplication.sTmp_filepath + If Right(Filename, 1) <> "\" Then Filename = Filename + "\" + + Dim connection As New SqlConnection() + Dim da As New SqlDataAdapter("Select * From Dokument where DokumentNr=" + Str(DokumentNr), connection) + Dim CB As SqlCommandBuilder = New SqlCommandBuilder(da) + Dim ds As New DataSet() + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.Fill(ds, "Dokument") + Dim myRow As DataRow + myRow = ds.Tables(0).Rows(0) + Dim MyData() As Byte + MyData = myRow.Item(16) + + Dim K As Long + K = UBound(MyData) + Filename = Filename + myRow.Item(6) + Dim fs As New FileStream(Filename, FileMode.OpenOrCreate, FileAccess.Write) + fs.Write(MyData, 0, K) + fs.Close() + fs = Nothing + Catch ex As Exception + MsgBox(ex.Message, MsgBoxStyle.Critical) + Return "" + Finally + connection.Close() + connection = Nothing + End Try + CB = Nothing + ds = Nothing + da = Nothing + Return Filename + End Function + + Public Function Show_Document(ByVal Dokumentnr As Integer) As Boolean + Dim tmpfilename As String = Me.Get_Dokument(Dokumentnr) + If tmpfilename <> "" Then + OpenSystemFile(tmpfilename) + Return True + End If + Return False + End Function + + Public Function OpenSystemFile(ByVal sFileName As String) As Boolean + If Len(sFileName) > 0 Then + System.Diagnostics.Process.Start(sFileName) + ' + ' ShellExecute(GetDesktopWindow(), vbNullString, sFileName, vbNullString, vbNullString, vbNormalFocus) + Return True + End If + End Function + + Public Function Save_RptDatei(ByVal Auswertungnr As Integer, ByVal AuswertungName As String) As String + Dim filename As String = AuswertungName + Dim Connection As New SqlConnection() + Dim DA As New SqlDataAdapter("select * from AuswertungRptDatei where AuswertungDateiNr = " & Str(Auswertungnr), Connection) + Dim cb As SqlCommandBuilder = New SqlCommandBuilder(DA) + Dim ds As New DataSet() + Dim fs As New FileStream(filename, FileMode.OpenOrCreate, FileAccess.Read) + Dim mydata(fs.Length) As Byte + fs.Read(mydata, 0, fs.Length) + fs.Close() + Try + Connection.ConnectionString = Globals.sConnectionString + Connection.Open() + DA.Fill(ds, "RptFile") + Dim myRow As DataRow + If ds.Tables(0).Rows.Count = 0 Then + ' Neues Datei speichern + myRow = ds.Tables(0).NewRow + myRow.Item(0) = Auswertungnr + myRow.Item(1) = AuswertungName + myRow.Item(2) = RptName(AuswertungName) + myRow.Item(3) = mydata + myRow.Item(4) = Now + myRow.Item(5) = Now + myRow.Item(6) = Globals.clsmitarbeiter.iMitarbeiternr.Value + ds.Tables(0).Rows.Add(myRow) + DA.Update(ds, "RptFile") + Else + myRow = ds.Tables(0).Rows(0) + myRow.Item(1) = AuswertungName + myRow.Item(2) = RptName(AuswertungName) + myRow.Item(3) = mydata + myRow.Item(5) = Now + myRow.Item(6) = Globals.clsmitarbeiter.iMitarbeiternr.Value + DA.Update(ds, "RptFile") + End If + Catch ex As Exception + MsgBox(ex.Message) + Return False + End Try + fs = Nothing + cb = Nothing + ds = Nothing + DA = Nothing + Connection.Close() + Connection = Nothing + Return RptName(AuswertungName) + End Function + + Public Function RptName(ByVal path As String) As String + Dim i As Integer + Dim file As String = path + i = InStrRev(file.Trim, "\") + If i = 0 Then + Return file.Trim + Else + Return Right(file.Trim, Len(file.Trim) - i) + End If + End Function + + Public Function Get_RptDatei(ByVal Auswertungnr As String, Optional ByVal fname As String = "") As String + Dim connection As New SqlConnection() + Dim DA As New SqlDataAdapter("select * from AuswertungRptDatei where AuswertungDateiNr = " & Str(Auswertungnr), connection) + Dim CB As SqlCommandBuilder = New SqlCommandBuilder(DA) + Dim ds As New DataSet() + Dim Filename As String = "" + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + DA.Fill(ds, "RptFile") + Dim myRow As DataRow + myRow = ds.Tables(0).Rows(0) + Dim MyData() As Byte + Filename = Globals.clsapplication.sTmp_filepath + "\" + myRow.Item(2).ToString + If fname <> "" Then + Filename = fname + End If + MyData = myRow.Item(3) + Dim K As Long + K = UBound(MyData) + Dim fs As New FileStream(Filename, FileMode.OpenOrCreate, FileAccess.Write) + fs.Write(MyData, 0, K) + fs.Close() + fs = Nothing + Catch ex As Exception + Return "" + End Try + CB = Nothing + ds = Nothing + DA = Nothing + connection.Close() + connection = Nothing + Return filename + End Function + + Public Function Save_Architekturfile(ByVal Applikationnr As Integer, ByVal iFilename As String) + Dim filename As String = iFilename + Dim Connection As New SqlConnection() + Dim DA As New SqlDataAdapter("select * from ApplikationArchitektur where applikationnr = " & Str(Applikationnr), Connection) + Dim cb As SqlCommandBuilder = New SqlCommandBuilder(DA) + Dim ds As New DataSet() + Dim fs As New FileStream(filename, FileMode.OpenOrCreate, FileAccess.Read) + Dim mydata(fs.Length) As Byte + fs.Read(mydata, 0, fs.Length) + fs.Close() + Try + Connection.ConnectionString = Globals.sConnectionString + Connection.Open() + DA.Fill(ds, "RptFile") + Dim myRow As DataRow + If ds.Tables(0).Rows.Count = 0 Then + ' Neues Datei speichern + myRow = ds.Tables(0).NewRow + myRow.Item(0) = Applikationnr + myRow.Item(1) = mydata + ' myRow.Item(4) = Now + ' myRow.Item(5) = Now + ' myRow.Item(6) = Globals.clsmitarbeiter.iMitarbeiternr.Value + ds.Tables(0).Rows.Add(myRow) + DA.Update(ds, "RptFile") + Else + myRow = ds.Tables(0).Rows(0) + myRow.Item(1) = mydata + ' myRow.Item(2) = RptName(AuswertungName) + ' myRow.Item(3) = mydata + ' myRow.Item(5) = Now + ' myRow.Item(6) = Globals.clsmitarbeiter.iMitarbeiternr.Value + DA.Update(ds, "RptFile") + End If + Catch ex As Exception + MsgBox(ex.Message) + Return False + End Try + fs = Nothing + cb = Nothing + ds = Nothing + DA = Nothing + Connection.Close() + Connection = Nothing + End Function + + Public Function Get_Architekturfile(ByVal Applikationnr As String, Optional ByVal fname As String = "") As String + Dim connection As New SqlConnection() + Dim DA As New SqlDataAdapter("select * from ApplikationArchitektur where applikationnr = " & Str(Applikationnr), connection) + Dim CB As SqlCommandBuilder = New SqlCommandBuilder(DA) + Dim ds As New DataSet() + Dim Filename As String = "" + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + DA.Fill(ds, "RptFile") + Dim myRow As DataRow + myRow = ds.Tables(0).Rows(0) + Dim MyData() As Byte + Filename = Globals.clsapplication.sTmp_filepath + "\architekturfile.xml" + If fname <> "" Then + Filename = fname + End If + MyData = myRow.Item(1) + Dim K As Long + K = UBound(MyData) + Dim fs As New FileStream(Filename, FileMode.OpenOrCreate, FileAccess.Write) + fs.Write(MyData, 0, K) + fs.Close() + fs = Nothing + Catch ex As Exception + Return "" + End Try + CB = Nothing + ds = Nothing + DA = Nothing + connection.Close() + connection = Nothing + Return Filename + End Function + + End Class + +End Namespace diff --git a/.svn/pristine/38/3800c633e543d88af03e8c3bb9bba835d85608f9.svn-base b/.svn/pristine/38/3800c633e543d88af03e8c3bb9bba835d85608f9.svn-base new file mode 100644 index 0000000..fcb26e3 --- /dev/null +++ b/.svn/pristine/38/3800c633e543d88af03e8c3bb9bba835d85608f9.svn-base @@ -0,0 +1,89 @@ + _ +Partial Class frmLogin + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmLogin)) + Me.lblBitteAnmelden = New System.Windows.Forms.Label + Me.cbMitarbeiter = New System.Windows.Forms.ComboBox + Me.btnAbbruch = New System.Windows.Forms.Button + Me.btnAnmelden = New System.Windows.Forms.Button + Me.SuspendLayout() + ' + 'lblBitteAnmelden + ' + Me.lblBitteAnmelden.Location = New System.Drawing.Point(12, 9) + Me.lblBitteAnmelden.Name = "lblBitteAnmelden" + Me.lblBitteAnmelden.Size = New System.Drawing.Size(136, 23) + Me.lblBitteAnmelden.TabIndex = 3 + Me.lblBitteAnmelden.Text = "Bitte melden Sie sich an" + ' + 'cbMitarbeiter + ' + Me.cbMitarbeiter.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Append + Me.cbMitarbeiter.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems + Me.cbMitarbeiter.FormattingEnabled = True + Me.cbMitarbeiter.Location = New System.Drawing.Point(15, 35) + Me.cbMitarbeiter.Name = "cbMitarbeiter" + Me.cbMitarbeiter.Size = New System.Drawing.Size(257, 21) + Me.cbMitarbeiter.TabIndex = 4 + ' + 'btnAbbruch + ' + Me.btnAbbruch.DialogResult = System.Windows.Forms.DialogResult.OK + Me.btnAbbruch.Location = New System.Drawing.Point(158, 76) + Me.btnAbbruch.Name = "btnAbbruch" + Me.btnAbbruch.Size = New System.Drawing.Size(104, 24) + Me.btnAbbruch.TabIndex = 6 + Me.btnAbbruch.Text = "&Abbruch" + ' + 'btnAnmelden + ' + Me.btnAnmelden.DialogResult = System.Windows.Forms.DialogResult.OK + Me.btnAnmelden.Location = New System.Drawing.Point(14, 76) + Me.btnAnmelden.Name = "btnAnmelden" + Me.btnAnmelden.Size = New System.Drawing.Size(104, 24) + Me.btnAnmelden.TabIndex = 5 + Me.btnAnmelden.Text = "&Anmelden" + ' + 'frmLogin + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(308, 129) + Me.Controls.Add(Me.btnAbbruch) + Me.Controls.Add(Me.btnAnmelden) + Me.Controls.Add(Me.cbMitarbeiter) + Me.Controls.Add(Me.lblBitteAnmelden) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.Name = "frmLogin" + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "Benutzerauswahl TKB-Vertragsverwaltung" + Me.TopMost = True + Me.ResumeLayout(False) + + End Sub + Friend WithEvents lblBitteAnmelden As System.Windows.Forms.Label + Friend WithEvents cbMitarbeiter As System.Windows.Forms.ComboBox + Friend WithEvents btnAbbruch As System.Windows.Forms.Button + Friend WithEvents btnAnmelden As System.Windows.Forms.Button +End Class diff --git a/.svn/pristine/38/38831af54d7676c14e68b502923e75b82b77bfa8.svn-base b/.svn/pristine/38/38831af54d7676c14e68b502923e75b82b77bfa8.svn-base new file mode 100644 index 0000000..1a3fb68 --- /dev/null +++ b/.svn/pristine/38/38831af54d7676c14e68b502923e75b82b77bfa8.svn-base @@ -0,0 +1,710 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'sysadminfunktion' +' // Generated by LLBLGen v1.21.2003.712 Final on: Dienstag, 1. Januar 2013, 18:17:09 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + ''' + ''' Purpose: Data Access class for the table 'sysadminfunktion'. + ''' + Public Class clsSysadminfunktion + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daErstellt_am, m_daMutiert_am As SqlDateTime + Private m_iFheight, m_iFwidth, m_iMandantnr, m_iMutierer, m_iSprache, m_iSort, m_iImageIndex, m_iSysadminfnktnr, m_iParentID, m_iFtop, m_iFleft, m_iImageIndexOpen As SqlInt32 + Private m_sKeyFields, m_sDomaintable, m_sBeschreibung, m_sBezeichnung As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iSysadminfnktnr
  • + '''
  • sBezeichnung. May be SqlString.Null
  • + '''
  • iParentID. May be SqlInt32.Null
  • + '''
  • iSort. May be SqlInt32.Null
  • + '''
  • iImageIndex. May be SqlInt32.Null
  • + '''
  • iImageIndexOpen. May be SqlInt32.Null
  • + '''
  • iFtop. May be SqlInt32.Null
  • + '''
  • iFleft. May be SqlInt32.Null
  • + '''
  • iFwidth. May be SqlInt32.Null
  • + '''
  • iFheight. May be SqlInt32.Null
  • + '''
  • sBeschreibung. May be SqlString.Null
  • + '''
  • iMandantnr
  • + '''
  • iSprache
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • sDomaintable. May be SqlString.Null
  • + '''
  • sKeyFields. May be SqlString.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_sysadminfunktion_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@isysadminfnktnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iSysadminfnktnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sbezeichnung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iParentID", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iParentID)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iSort", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iSort)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iImageIndex", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iImageIndex)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iImageIndexOpen", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iImageIndexOpen)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iftop", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iFtop)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@ifleft", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iFleft)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@ifwidth", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iFwidth)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@ifheight", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iFheight)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sbeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@isprache", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iSprache)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sDomaintable", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sDomaintable)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sKeyFields", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sKeyFields)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_sysadminfunktion_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSysadminfunktion::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iSysadminfnktnr
  • + '''
  • sBezeichnung. May be SqlString.Null
  • + '''
  • iParentID. May be SqlInt32.Null
  • + '''
  • iSort. May be SqlInt32.Null
  • + '''
  • iImageIndex. May be SqlInt32.Null
  • + '''
  • iImageIndexOpen. May be SqlInt32.Null
  • + '''
  • iFtop. May be SqlInt32.Null
  • + '''
  • iFleft. May be SqlInt32.Null
  • + '''
  • iFwidth. May be SqlInt32.Null
  • + '''
  • iFheight. May be SqlInt32.Null
  • + '''
  • sBeschreibung. May be SqlString.Null
  • + '''
  • iMandantnr
  • + '''
  • iSprache
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • sDomaintable. May be SqlString.Null
  • + '''
  • sKeyFields. May be SqlString.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_sysadminfunktion_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@isysadminfnktnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iSysadminfnktnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sbezeichnung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iParentID", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iParentID)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iSort", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iSort)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iImageIndex", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iImageIndex)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iImageIndexOpen", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iImageIndexOpen)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iftop", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iFtop)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@ifleft", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iFleft)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@ifwidth", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iFwidth)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@ifheight", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iFheight)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sbeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@isprache", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iSprache)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sDomaintable", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sDomaintable)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sKeyFields", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sKeyFields)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_sysadminfunktion_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSysadminfunktion::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iSysadminfnktnr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_sysadminfunktion_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@isysadminfnktnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iSysadminfnktnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_sysadminfunktion_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSysadminfunktion::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iSysadminfnktnr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iSysadminfnktnr
  • + '''
  • sBezeichnung
  • + '''
  • iParentID
  • + '''
  • iSort
  • + '''
  • iImageIndex
  • + '''
  • iImageIndexOpen
  • + '''
  • iFtop
  • + '''
  • iFleft
  • + '''
  • iFwidth
  • + '''
  • iFheight
  • + '''
  • sBeschreibung
  • + '''
  • iMandantnr
  • + '''
  • iSprache
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
  • sDomaintable
  • + '''
  • sKeyFields
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_sysadminfunktion_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("sysadminfunktion") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@isysadminfnktnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iSysadminfnktnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_sysadminfunktion_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iSysadminfnktnr = New SqlInt32(CType(dtToReturn.Rows(0)("sysadminfnktnr"), Integer)) + If dtToReturn.Rows(0)("bezeichnung") Is System.DBNull.Value Then + m_sBezeichnung = SqlString.Null + Else + m_sBezeichnung = New SqlString(CType(dtToReturn.Rows(0)("bezeichnung"), String)) + End If + If dtToReturn.Rows(0)("ParentID") Is System.DBNull.Value Then + m_iParentID = SqlInt32.Null + Else + m_iParentID = New SqlInt32(CType(dtToReturn.Rows(0)("ParentID"), Integer)) + End If + If dtToReturn.Rows(0)("Sort") Is System.DBNull.Value Then + m_iSort = SqlInt32.Null + Else + m_iSort = New SqlInt32(CType(dtToReturn.Rows(0)("Sort"), Integer)) + End If + If dtToReturn.Rows(0)("ImageIndex") Is System.DBNull.Value Then + m_iImageIndex = SqlInt32.Null + Else + m_iImageIndex = New SqlInt32(CType(dtToReturn.Rows(0)("ImageIndex"), Integer)) + End If + If dtToReturn.Rows(0)("ImageIndexOpen") Is System.DBNull.Value Then + m_iImageIndexOpen = SqlInt32.Null + Else + m_iImageIndexOpen = New SqlInt32(CType(dtToReturn.Rows(0)("ImageIndexOpen"), Integer)) + End If + If dtToReturn.Rows(0)("ftop") Is System.DBNull.Value Then + m_iFtop = SqlInt32.Null + Else + m_iFtop = New SqlInt32(CType(dtToReturn.Rows(0)("ftop"), Integer)) + End If + If dtToReturn.Rows(0)("fleft") Is System.DBNull.Value Then + m_iFleft = SqlInt32.Null + Else + m_iFleft = New SqlInt32(CType(dtToReturn.Rows(0)("fleft"), Integer)) + End If + If dtToReturn.Rows(0)("fwidth") Is System.DBNull.Value Then + m_iFwidth = SqlInt32.Null + Else + m_iFwidth = New SqlInt32(CType(dtToReturn.Rows(0)("fwidth"), Integer)) + End If + If dtToReturn.Rows(0)("fheight") Is System.DBNull.Value Then + m_iFheight = SqlInt32.Null + Else + m_iFheight = New SqlInt32(CType(dtToReturn.Rows(0)("fheight"), Integer)) + End If + If dtToReturn.Rows(0)("beschreibung") Is System.DBNull.Value Then + m_sBeschreibung = SqlString.Null + Else + m_sBeschreibung = New SqlString(CType(dtToReturn.Rows(0)("beschreibung"), String)) + End If + m_iMandantnr = New SqlInt32(CType(dtToReturn.Rows(0)("mandantnr"), Integer)) + m_iSprache = New SqlInt32(CType(dtToReturn.Rows(0)("sprache"), Integer)) + If dtToReturn.Rows(0)("aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + If dtToReturn.Rows(0)("Domaintable") Is System.DBNull.Value Then + m_sDomaintable = SqlString.Null + Else + m_sDomaintable = New SqlString(CType(dtToReturn.Rows(0)("Domaintable"), String)) + End If + If dtToReturn.Rows(0)("KeyFields") Is System.DBNull.Value Then + m_sKeyFields = SqlString.Null + Else + m_sKeyFields = New SqlString(CType(dtToReturn.Rows(0)("KeyFields"), String)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSysadminfunktion::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_sysadminfunktion_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("sysadminfunktion") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_sysadminfunktion_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSysadminfunktion::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iSysadminfnktnr]() As SqlInt32 + Get + Return m_iSysadminfnktnr + End Get + Set(ByVal Value As SqlInt32) + Dim iSysadminfnktnrTmp As SqlInt32 = Value + If iSysadminfnktnrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iSysadminfnktnr", "iSysadminfnktnr can't be NULL") + End If + m_iSysadminfnktnr = Value + End Set + End Property + + + Public Property [sBezeichnung]() As SqlString + Get + Return m_sBezeichnung + End Get + Set(ByVal Value As SqlString) + m_sBezeichnung = Value + End Set + End Property + + + Public Property [iParentID]() As SqlInt32 + Get + Return m_iParentID + End Get + Set(ByVal Value As SqlInt32) + m_iParentID = Value + End Set + End Property + + + Public Property [iSort]() As SqlInt32 + Get + Return m_iSort + End Get + Set(ByVal Value As SqlInt32) + m_iSort = Value + End Set + End Property + + + Public Property [iImageIndex]() As SqlInt32 + Get + Return m_iImageIndex + End Get + Set(ByVal Value As SqlInt32) + m_iImageIndex = Value + End Set + End Property + + + Public Property [iImageIndexOpen]() As SqlInt32 + Get + Return m_iImageIndexOpen + End Get + Set(ByVal Value As SqlInt32) + m_iImageIndexOpen = Value + End Set + End Property + + + Public Property [iFtop]() As SqlInt32 + Get + Return m_iFtop + End Get + Set(ByVal Value As SqlInt32) + m_iFtop = Value + End Set + End Property + + + Public Property [iFleft]() As SqlInt32 + Get + Return m_iFleft + End Get + Set(ByVal Value As SqlInt32) + m_iFleft = Value + End Set + End Property + + + Public Property [iFwidth]() As SqlInt32 + Get + Return m_iFwidth + End Get + Set(ByVal Value As SqlInt32) + m_iFwidth = Value + End Set + End Property + + + Public Property [iFheight]() As SqlInt32 + Get + Return m_iFheight + End Get + Set(ByVal Value As SqlInt32) + m_iFheight = Value + End Set + End Property + + + Public Property [sBeschreibung]() As SqlString + Get + Return m_sBeschreibung + End Get + Set(ByVal Value As SqlString) + m_sBeschreibung = Value + End Set + End Property + + + Public Property [iMandantnr]() As SqlInt32 + Get + Return m_iMandantnr + End Get + Set(ByVal Value As SqlInt32) + Dim iMandantnrTmp As SqlInt32 = Value + If iMandantnrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iMandantnr", "iMandantnr can't be NULL") + End If + m_iMandantnr = Value + End Set + End Property + + + Public Property [iSprache]() As SqlInt32 + Get + Return m_iSprache + End Get + Set(ByVal Value As SqlInt32) + Dim iSpracheTmp As SqlInt32 = Value + If iSpracheTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iSprache", "iSprache can't be NULL") + End If + m_iSprache = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + + + Public Property [sDomaintable]() As SqlString + Get + Return m_sDomaintable + End Get + Set(ByVal Value As SqlString) + m_sDomaintable = Value + End Set + End Property + + + Public Property [sKeyFields]() As SqlString + Get + Return m_sKeyFields + End Get + Set(ByVal Value As SqlString) + m_sKeyFields = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/.svn/pristine/39/3953fa7dfa6260349741784381de0a856e786b1c.svn-base b/.svn/pristine/39/3953fa7dfa6260349741784381de0a856e786b1c.svn-base new file mode 100644 index 0000000..2afe689 --- /dev/null +++ b/.svn/pristine/39/3953fa7dfa6260349741784381de0a856e786b1c.svn-base @@ -0,0 +1,632 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'meldungstexte' +' // Generated by LLBLGen v1.21.2003.712 Final on: Dienstag, 1. Januar 2013, 19:36:38 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + ''' + ''' Purpose: Data Access class for the table 'meldungstexte'. + ''' + Public Class clsMeldungstexte + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daMutiert_am, m_daErstellt_am As SqlDateTime + Private m_iMutierer, m_iMandantnr, m_iSprache, m_iMeldungstextnr As SqlInt32 + Private m_sBeschreibung, m_sInhalt As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iMeldungstextnr
  • + '''
  • iSprache
  • + '''
  • sInhalt. May be SqlString.Null
  • + '''
  • sBeschreibung. May be SqlString.Null
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_meldungstexte_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@imeldungstextnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iMeldungstextnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@isprache", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iSprache)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sinhalt", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sInhalt)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_meldungstexte_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMeldungstexte::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iMeldungstextnr
  • + '''
  • iSprache
  • + '''
  • sInhalt. May be SqlString.Null
  • + '''
  • sBeschreibung. May be SqlString.Null
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_meldungstexte_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@imeldungstextnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iMeldungstextnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@isprache", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iSprache)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sinhalt", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sInhalt)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_meldungstexte_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMeldungstexte::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iMeldungstextnr
  • + '''
  • iSprache
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_meldungstexte_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@imeldungstextnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iMeldungstextnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@isprache", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iSprache)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_meldungstexte_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMeldungstexte::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method using PK field 'meldungstextnr'. This method will + ''' delete one or more rows from the database, based on the Primary Key field 'meldungstextnr'. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iMeldungstextnr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Public Function DeleteAllWmeldungstextnrLogic() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_meldungstexte_DeleteAllWmeldungstextnrLogic]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@imeldungstextnr", SqlDbType.Int, 4, ParameterDirection.Input, false, 10, 0, "", DataRowVersion.Proposed, m_iMeldungstextnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iMeldungstextnr = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@imeldungstextnr").Value, Integer)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_meldungstexte_DeleteAllWmeldungstextnrLogic' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMeldungstexte::DeleteAllWmeldungstextnrLogic::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method using PK field 'sprache'. This method will + ''' delete one or more rows from the database, based on the Primary Key field 'sprache'. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iSprache
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Public Function DeleteAllWspracheLogic() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_meldungstexte_DeleteAllWspracheLogic]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@isprache", SqlDbType.Int, 4, ParameterDirection.Input, false, 10, 0, "", DataRowVersion.Proposed, m_iSprache)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iSprache = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@isprache").Value, Integer)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_meldungstexte_DeleteAllWspracheLogic' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMeldungstexte::DeleteAllWspracheLogic::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iMeldungstextnr
  • + '''
  • iSprache
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iMeldungstextnr
  • + '''
  • iSprache
  • + '''
  • sInhalt
  • + '''
  • sBeschreibung
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
  • iMandantnr
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_meldungstexte_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("meldungstexte") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@imeldungstextnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iMeldungstextnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@isprache", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iSprache)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_meldungstexte_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iMeldungstextnr = New SqlInt32(CType(dtToReturn.Rows(0)("meldungstextnr"), Integer)) + m_iSprache = New SqlInt32(CType(dtToReturn.Rows(0)("sprache"), Integer)) + If dtToReturn.Rows(0)("inhalt") Is System.DBNull.Value Then + m_sInhalt = SqlString.Null + Else + m_sInhalt = New SqlString(CType(dtToReturn.Rows(0)("inhalt"), String)) + End If + If dtToReturn.Rows(0)("Beschreibung") Is System.DBNull.Value Then + m_sBeschreibung = SqlString.Null + Else + m_sBeschreibung = New SqlString(CType(dtToReturn.Rows(0)("Beschreibung"), String)) + End If + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + If dtToReturn.Rows(0)("mandantnr") Is System.DBNull.Value Then + m_iMandantnr = SqlInt32.Null + Else + m_iMandantnr = New SqlInt32(CType(dtToReturn.Rows(0)("mandantnr"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMeldungstexte::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_meldungstexte_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("meldungstexte") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_meldungstexte_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMeldungstexte::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iMeldungstextnr]() As SqlInt32 + Get + Return m_iMeldungstextnr + End Get + Set(ByVal Value As SqlInt32) + Dim iMeldungstextnrTmp As SqlInt32 = Value + If iMeldungstextnrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iMeldungstextnr", "iMeldungstextnr can't be NULL") + End If + m_iMeldungstextnr = Value + End Set + End Property + + + Public Property [iSprache]() As SqlInt32 + Get + Return m_iSprache + End Get + Set(ByVal Value As SqlInt32) + Dim iSpracheTmp As SqlInt32 = Value + If iSpracheTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iSprache", "iSprache can't be NULL") + End If + m_iSprache = Value + End Set + End Property + + + Public Property [sInhalt]() As SqlString + Get + Return m_sInhalt + End Get + Set(ByVal Value As SqlString) + m_sInhalt = Value + End Set + End Property + + + Public Property [sBeschreibung]() As SqlString + Get + Return m_sBeschreibung + End Get + Set(ByVal Value As SqlString) + m_sBeschreibung = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + Dim bAktivTmp As SqlBoolean = Value + If bAktivTmp.IsNull Then + Throw New ArgumentOutOfRangeException("bAktiv", "bAktiv can't be NULL") + End If + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + + + Public Property [iMandantnr]() As SqlInt32 + Get + Return m_iMandantnr + End Get + Set(ByVal Value As SqlInt32) + m_iMandantnr = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/.svn/pristine/39/39e0c8be558e6778a2323e4d17689c437135f2c5.svn-base b/.svn/pristine/39/39e0c8be558e6778a2323e4d17689c437135f2c5.svn-base new file mode 100644 index 0000000..e3e7690 --- /dev/null +++ b/.svn/pristine/39/39e0c8be558e6778a2323e4d17689c437135f2c5.svn-base @@ -0,0 +1,26 @@ +Public Class frmMsgBox + + Private Sub btnYes_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnYes.Click + Me.DialogResult = Windows.Forms.DialogResult.Yes + Me.Close() + End Sub + + Private Sub btnno_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnno.Click + Me.DialogResult = Windows.Forms.DialogResult.No + Me.Close() + End Sub + + Private Sub btnAbbruch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAbbruch.Click + Me.DialogResult = Windows.Forms.DialogResult.Cancel + Me.Close() + End Sub + + Private Sub frmMsgBox_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + End Sub + + Private Sub btnOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOK.Click + Me.DialogResult = Windows.Forms.DialogResult.OK + Me.Close() + End Sub +End Class \ No newline at end of file diff --git a/.svn/pristine/3b/3bc4dbd219ae8c6c80274e041d25b5aeda365527.svn-base b/.svn/pristine/3b/3bc4dbd219ae8c6c80274e041d25b5aeda365527.svn-base new file mode 100644 index 0000000..11376dc Binary files /dev/null and b/.svn/pristine/3b/3bc4dbd219ae8c6c80274e041d25b5aeda365527.svn-base differ diff --git a/.svn/pristine/3c/3c9bffa11f16d544676aa771a665976584549b23.svn-base b/.svn/pristine/3c/3c9bffa11f16d544676aa771a665976584549b23.svn-base new file mode 100644 index 0000000..43f16a8 --- /dev/null +++ b/.svn/pristine/3c/3c9bffa11f16d544676aa771a665976584549b23.svn-base @@ -0,0 +1,223 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 239, 17 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACkSURBVDhPlZOBDoAgCET9dD7NPyNPgpAIzY21oTzPg1rL + F4/0aaQEJqJXAIo8Vu9dL9gDYiGRgG6VCwBJLDvgbxRVsodvBPiEASDXF3mIB3AbBzPjBLDeHBVIcRbj + KScKuMGQElArmKZNSNJ7VYC2Ib48EIjE0gX1QPerLigkATytqxT4gQht3HsQx9H8+OpCeHL+R+FQnIPT + QiXaHPwtNMCu8ALckGXYKNsEDQAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABeSURBVDhPYzhw4MB/SjADSDMDAwNZGKwXZkBDA8QQQq6B + qYHT5BgAczHZLkB2LVleGMQGwJyGL1pBanB6ASZJDI01GolxAUgjXhfgcj4sgQ1SA8jNUPCkTCgD4ZMH + ADk0Kh+zxKF0AAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAB7SURBVDhPtVKBDcAgCOvpnsZnzJq5MFSGMSNplhFaWwJE + RE8ATwaKZkHukUAp9bHRATRTADQU4AAr+jaBbF7O2Xoc7ApYR7eDd+Y+4Pfg+8bBd9bVLv5zQHsZTB2s + bqBnJsmi9vM7IHFyeHuXNxXI5O0RBgE2fK7o3wtcor2JxHm9tQ0AAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAYAAAA7bUf6AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACtSURBVDhPpdONCoMgEAdw3/+pfIkxWKy1mlh+pOsF3EQO + DjG9ULiEoJ9/9WLH14XeYpzz0FOH3wP7j/ioVm0R70xCagMWOIP8rmlIBCJWgpxVNARvN4esWdsI3mop + jdUXkPzwIZFRkp4kXUAqnEhvoo3gBBiB92r90BD4OJ8jtMm5H5FioiEQvbQdsYxtBK747GCX93ANKTXd + /HrQkZio1GzT8077i2ttPw638AOZO2GTDCfYPAAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACNSURBVDhPtZPRDcAgCEQZndHczHqkGBBsaE1N+EHvKXBS + a62fBGViZu5EFAL59XwAQMgjhjoE8ti3EAfAZiZccxYyAVWxwhQiANTmnt3vZV+05HBeegVAersVZEBt + 8haA2+1K+iOT+g9wVEKhiZjGLCFMoeAHN4XHPmxgzgdqzaqZUidayOe/oJA3v/ECXC1jKtBnBTgAAAAA + SUVORK5CYII= + + + + 346, 17 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0 + dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACRTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5QYWdlU2V0dGluZ3MHAAAAD3ByaW50ZXJTZXR0aW5ncwVjb2xvcglwYXBlclNp + emULcGFwZXJTb3VyY2URcHJpbnRlclJlc29sdXRpb24JbGFuZHNjYXBlB21hcmdpbnMEBAQEBAQEJ1N5 + c3RlbS5EcmF3aW5nLlByaW50aW5nLlByaW50ZXJTZXR0aW5ncwIAAAAgU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuVHJpU3RhdGUCAAAAIVN5c3RlbS5EcmF3aW5nLlByaW50aW5nLlBhcGVyU2l6ZQIAAAAjU3lz + dGVtLkRyYXdpbmcuUHJpbnRpbmcuUGFwZXJTb3VyY2UCAAAAKVN5c3RlbS5EcmF3aW5nLlByaW50aW5n + LlByaW50ZXJSZXNvbHV0aW9uAgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAf + U3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuTWFyZ2lucwIAAAACAAAACQMAAAAF/P///yBTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5UcmlTdGF0ZQEAAAAFdmFsdWUAAgIAAAAACgoKAfv////8////AAkGAAAABQMA + AAAnU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRlclNldHRpbmdzEgAAAAtwcmludGVyTmFtZQpk + cml2ZXJOYW1lCm91dHB1dFBvcnQLcHJpbnRUb0ZpbGUUcHJpbnREaWFsb2dEaXNwbGF5ZWQKZXh0cmFi + eXRlcwlleHRyYWluZm8GY29waWVzBmR1cGxleAdjb2xsYXRlE2RlZmF1bHRQYWdlU2V0dGluZ3MIZnJv + bVBhZ2UGdG9QYWdlB21heFBhZ2UHbWluUGFnZQpwcmludFJhbmdlDGRldm1vZGVieXRlcw1jYWNoZWRE + ZXZtb2RlAQEBAAAABwAEBAQAAAAABAAHAQEHAgceU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuRHVwbGV4 + AgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAkU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuUGFnZVNldHRpbmdzAgAAAAgICAgiU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRSYW5n + ZQIAAAAHAgIAAAAKBgcAAAAACQcAAAAAAAAACv//Bfj///8eU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcu + RHVwbGV4AQAAAAd2YWx1ZV9fAAgCAAAA/////wH3/////P///wAJCgAAAAAAAAAAAAAADycAAAAAAAAF + 9f///yJTeXN0ZW0uRHJhd2luZy5QcmludGluZy5QcmludFJhbmdlAQAAAAd2YWx1ZV9fAAgCAAAAAAAA + AAAACgUGAAAAH1N5c3RlbS5EcmF3aW5nLlByaW50aW5nLk1hcmdpbnMIAAAABGxlZnQFcmlnaHQDdG9w + BmJvdHRvbQpkb3VibGVMZWZ0C2RvdWJsZVJpZ2h0CWRvdWJsZVRvcAxkb3VibGVCb3R0b20AAAAAAAAA + AAgICAgGBgYGAgAAAGQAAABkAAAAZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZ + QAEKAAAAAQAAAAkDAAAAAfP////8////AAoKCgHy/////P///wAJDwAAAAEPAAAABgAAAGQAAABkAAAA + ZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAs= + + + + <?xml version="1.0"?><Blob><Styles type="C1.Win.C1TrueDBGrid.Design.ContextWrapper"><Data>HighlightRow{ForeColor:HighlightText;BackColor:Highlight;}Style8{}Style7{}Style9{}EvenRow{BackColor:Aqua;}Normal{}FilterBar{}RecordSelector{AlignImage:Center;}OddRow{}Style14{}Style3{}Footer{}Style13{}Heading{AlignVert:Center;Border:Flat,ControlDark,0, 1, 0, 1;ForeColor:ControlText;BackColor:Control;Wrap:True;}Style6{}Editor{}Style10{AlignHorz:Near;}Style16{}Style15{}Selected{ForeColor:HighlightText;BackColor:Highlight;}Style5{}Group{Border:None,,0, 0, 0, 0;AlignVert:Center;BackColor:ControlDark;}Style12{}Style11{}Style4{}FilterWatermark{ForeColor:InfoText;BackColor:Info;}Style1{}Caption{AlignHorz:Center;}Style2{}Inactive{ForeColor:InactiveCaptionText;BackColor:InactiveCaption;}</Data></Styles><Splits><C1.Win.C1TrueDBGrid.MergeView Name="" CaptionHeight="17" ColumnCaptionHeight="17" ColumnFooterHeight="17" MarqueeStyle="DottedCellBorder" RecordSelectorWidth="17" DefRecSelWidth="17" VerticalScrollGroup="1" HorizontalScrollGroup="1"><CaptionStyle parent="Style2" me="Style10" /><EditorStyle parent="Editor" me="Style5" /><EvenRowStyle parent="EvenRow" me="Style8" /><FilterBarStyle parent="FilterBar" me="Style13" /><FilterWatermarkStyle parent="FilterWatermark" me="Style14" /><FooterStyle parent="Footer" me="Style3" /><GroupStyle parent="Group" me="Style12" /><HeadingStyle parent="Heading" me="Style2" /><HighLightRowStyle parent="HighlightRow" me="Style7" /><InactiveStyle parent="Inactive" me="Style4" /><OddRowStyle parent="OddRow" me="Style9" /><RecordSelectorStyle parent="RecordSelector" me="Style11" /><SelectedStyle parent="Selected" me="Style6" /><Style parent="Normal" me="Style1" /><ClientRect>0, 0, 454, 130</ClientRect><BorderSide>0</BorderSide></C1.Win.C1TrueDBGrid.MergeView></Splits><NamedStyles><Style parent="" me="Normal" /><Style parent="Normal" me="Heading" /><Style parent="Heading" me="Footer" /><Style parent="Heading" me="Caption" /><Style parent="Heading" me="Inactive" /><Style parent="Normal" me="Selected" /><Style parent="Normal" me="Editor" /><Style parent="Normal" me="HighlightRow" /><Style parent="Normal" me="EvenRow" /><Style parent="Normal" me="OddRow" /><Style parent="Heading" me="RecordSelector" /><Style parent="Normal" me="FilterBar" /><Style parent="FilterBar" me="FilterWatermark" /><Style parent="Caption" me="Group" /></NamedStyles><vertSplits>1</vertSplits><horzSplits>1</horzSplits><Layout>None</Layout><DefaultRecSelWidth>17</DefaultRecSelWidth><ClientArea>0, 0, 454, 130</ClientArea><PrintPageHeaderStyle parent="" me="Style15" /><PrintPageFooterStyle parent="" me="Style16" /></Blob> + + + 461, 17 + + + + iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAYAAAA7bUf6AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACtSURBVDhPpdONCoMgEAdw3/+pfIkxWKy1mlh+pOsF3EQO + DjG9ULiEoJ9/9WLH14XeYpzz0FOH3wP7j/ioVm0R70xCagMWOIP8rmlIBCJWgpxVNARvN4esWdsI3mop + jdUXkPzwIZFRkp4kXUAqnEhvoo3gBBiB92r90BD4OJ8jtMm5H5FioiEQvbQdsYxtBK747GCX93ANKTXd + /HrQkZio1GzT8077i2ttPw638AOZO2GTDCfYPAAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACNSURBVDhPtZPRDcAgCEQZndHczHqkGBBsaE1N+EHvKXBS + a62fBGViZu5EFAL59XwAQMgjhjoE8ti3EAfAZiZccxYyAVWxwhQiANTmnt3vZV+05HBeegVAersVZEBt + 8haA2+1K+iOT+g9wVEKhiZjGLCFMoeAHN4XHPmxgzgdqzaqZUidayOe/oJA3v/ECXC1jKtBnBTgAAAAA + SUVORK5CYII= + + + \ No newline at end of file diff --git a/.svn/pristine/3e/3eada4daeec37a233c5a4370d4b319c661724470.svn-base b/.svn/pristine/3e/3eada4daeec37a233c5a4370d4b319c661724470.svn-base new file mode 100644 index 0000000..183de1a --- /dev/null +++ b/.svn/pristine/3e/3eada4daeec37a233c5a4370d4b319c661724470.svn-base @@ -0,0 +1,63 @@ +'------------------------------------------------------------------------------ +' +' Dieser Code wurde von einem Tool generiert. +' Laufzeitversion:4.0.30319.17929 +' +' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +' der Code erneut generiert wird. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + +Imports System + +Namespace My.Resources + + 'Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert + '-Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert. + 'Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen + 'mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu. + ''' + ''' Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + ''' + _ + Friend Module Resources + + Private resourceMan As Global.System.Resources.ResourceManager + + Private resourceCulture As Global.System.Globalization.CultureInfo + + ''' + ''' Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + ''' + _ + Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager + Get + If Object.ReferenceEquals(resourceMan, Nothing) Then + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("Themenmanagement.Resources", GetType(Resources).Assembly) + resourceMan = temp + End If + Return resourceMan + End Get + End Property + + ''' + ''' Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + ''' Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. + ''' + _ + Friend Property Culture() As Global.System.Globalization.CultureInfo + Get + Return resourceCulture + End Get + Set + resourceCulture = value + End Set + End Property + End Module +End Namespace diff --git a/.svn/pristine/3f/3fa341600f07bb5721034b327eedf28b8296f0b2.svn-base b/.svn/pristine/3f/3fa341600f07bb5721034b327eedf28b8296f0b2.svn-base new file mode 100644 index 0000000..b325193 --- /dev/null +++ b/.svn/pristine/3f/3fa341600f07bb5721034b327eedf28b8296f0b2.svn-base @@ -0,0 +1 @@ +C1.Win.C1TrueDBGrid.C1TrueDBGrid, C1.Win.C1TrueDBGrid.4, Version=4.0.20112.61226, Culture=neutral, PublicKeyToken=75ae3fb0e2b1e0da diff --git a/.svn/pristine/43/43ece9d710849e63dc65d01648a1fc2252c746eb.svn-base b/.svn/pristine/43/43ece9d710849e63dc65d01648a1fc2252c746eb.svn-base new file mode 100644 index 0000000..4006d7b --- /dev/null +++ b/.svn/pristine/43/43ece9d710849e63dc65d01648a1fc2252c746eb.svn-base @@ -0,0 +1,3440 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + 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 + c6ovzDcar/WHqNmBFbiGbHs93qV27PzK6Mq6j01Z6bgvwm5DXW+qLr33MERta6P0cy71HabnWJKbiw7v + /Fth/wDpryv/AD/gLcWHd/4tsP8A9NeV/wCf8BJT/9Ti/rUJ+tPWP/D1/wD1ZWfUdjpXsXUf8U/ROodQ + ys+3Ny2WZdz73tYatodYd7ms3UOdtQP/ABnOhf8Ac/N++n/3nTxOgFpi8F028GF1vS3gx8lqVf4pej0m + a+o5w+dH8cZX6P8AF/jUR6fVc4R/4VP/AFWE5PGZb7bb6YAYW8wQ0BYtP1ayaP5rrWe3+xhH/qunI37G + 6j/5e5/+Zg//ACNTJz4l0Y06ySyf2N1H/wAvc/8AzMH/AORqX7G6j/5e5/8AmYP/AMjUxc6ySyf2N1H/ + AMvc/wDzMH/5GpfsbqP/AJe5/wDmYP8A8jUlOsksn9jdR/8AL3P/AMzB/wDkal+xuo/+Xuf/AJmD/wDI + 1JTrJLJ/Y3Uf/L3P/wAzB/8Akal+xuo/+Xuf/mYP/wAjUlOssO7/AMW2H/6a8r/z/gI37G6j/wCXuf8A + 5mD/API1Sw+hnH6k3qWRn5OdkMpfj1i8UNa1ljqrrIbh4uJ7t+PX9NJT/9n/7RScUGhvdG9zaG9wIDMu + MAA4QklNBCUAAAAAABAAAAAAAAAAAAAAAAAAAAAAOEJJTQPtAAAAAAAQAEgAAAABAAIASAAAAAEAAjhC + SU0EJgAAAAAADgAAAAAAAAAAAAA/gAAAOEJJTQQNAAAAAAAEAAAAeDhCSU0EGQAAAAAABAAAAB44QklN + A/MAAAAAAAkAAAAAAAAAAAEAOEJJTQQKAAAAAAABAAA4QklNJxAAAAAAAAoAAQAAAAAAAAACOEJJTQP1 + AAAAAABIAC9mZgABAGxmZgAGAAAAAAABAC9mZgABAKGZmgAGAAAAAAABADIAAAABAFoAAAAGAAAAAAAB + ADUAAAABAC0AAAAGAAAAAAABOEJJTQP4AAAAAABwAAD/////////////////////////////A+gAAAAA + /////////////////////////////wPoAAAAAP////////////////////////////8D6AAAAAD///// + ////////////////////////A+gAADhCSU0EAAAAAAAAAgALOEJJTQQCAAAAAAAcAAAAAAAAAAIAAgAC + AAIAAgACAAIAAgAAAAAAADhCSU0ECAAAAAAAEAAAAAEAAAJAAAACQAAAAAA4QklNBB4AAAAAAAQAAAAA + OEJJTQQaAAAAAANJAAAABgAAAAAAAAAAAAABXgAAAdQAAAAKAFMAcABsAGEAcwBjAGgAXwBWAFYAAAAB + AAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAdQAAAFeAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAA + AAAAAAAAAAAAAAAAEAAAAAEAAAAAAABudWxsAAAAAgAAAAZib3VuZHNPYmpjAAAAAQAAAAAAAFJjdDEA + AAAEAAAAAFRvcCBsb25nAAAAAAAAAABMZWZ0bG9uZwAAAAAAAAAAQnRvbWxvbmcAAAFeAAAAAFJnaHRs + b25nAAAB1AAAAAZzbGljZXNWbExzAAAAAU9iamMAAAABAAAAAAAFc2xpY2UAAAASAAAAB3NsaWNlSURs + b25nAAAAAAAAAAdncm91cElEbG9uZwAAAAAAAAAGb3JpZ2luZW51bQAAAAxFU2xpY2VPcmlnaW4AAAAN + YXV0b0dlbmVyYXRlZAAAAABUeXBlZW51bQAAAApFU2xpY2VUeXBlAAAAAEltZyAAAAAGYm91bmRzT2Jq + YwAAAAEAAAAAAABSY3QxAAAABAAAAABUb3AgbG9uZwAAAAAAAAAATGVmdGxvbmcAAAAAAAAAAEJ0b21s + b25nAAABXgAAAABSZ2h0bG9uZwAAAdQAAAADdXJsVEVYVAAAAAEAAAAAAABudWxsVEVYVAAAAAEAAAAA + AABNc2dlVEVYVAAAAAEAAAAAAAZhbHRUYWdURVhUAAAAAQAAAAAADmNlbGxUZXh0SXNIVE1MYm9vbAEA + AAAIY2VsbFRleHRURVhUAAAAAQAAAAAACWhvcnpBbGlnbmVudW0AAAAPRVNsaWNlSG9yekFsaWduAAAA + B2RlZmF1bHQAAAAJdmVydEFsaWduZW51bQAAAA9FU2xpY2VWZXJ0QWxpZ24AAAAHZGVmYXVsdAAAAAti + Z0NvbG9yVHlwZWVudW0AAAARRVNsaWNlQkdDb2xvclR5cGUAAAAATm9uZQAAAAl0b3BPdXRzZXRsb25n + AAAAAAAAAApsZWZ0T3V0c2V0bG9uZwAAAAAAAAAMYm90dG9tT3V0c2V0bG9uZwAAAAAAAAALcmlnaHRP + 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 + 6j/5e5/+Zg//ACNTJz4l0Y06ySyf2N1H/wAvc/8AzMH/AORqX7G6j/5e5/8AmYP/AMjUxc6ySyf2N1H/ + AMvc/wDzMH/5GpfsbqP/AJe5/wDmYP8A8jUlOsksn9jdR/8AL3P/AMzB/wDkal+xuo/+Xuf/AJmD/wDI + 1JTrJLJ/Y3Uf/L3P/wAzB/8Akal+xuo/+Xuf/mYP/wAjUlOssO7/AMW2H/6a8r/z/gI37G6j/wCXuf8A + 5mD/API1Sw+hnH6k3qWRn5OdkMpfj1i8UNa1ljqrrIbh4uJ7t+PX9NJT/9k4QklNBCEAAAAAAFUAAAAB + AQAAAA8AQQBkAG8AYgBlACAAUABoAG8AdABvAHMAaABvAHAAAAATAEEAZABvAGIAZQAgAFAAaABvAHQA + bwBzAGgAbwBwACAANwAuADAAAAABADhCSU0EBgAAAAAABwAIAQEAAwEA/+ESSGh0dHA6Ly9ucy5hZG9i + ZS5jb20veGFwLzEuMC8APD94cGFja2V0IGJlZ2luPSfvu78nIGlkPSdXNU0wTXBDZWhpSHpyZVN6TlRj + emtjOWQnPz4KPD9hZG9iZS14YXAtZmlsdGVycyBlc2M9IkNSIj8+Cjx4OnhhcG1ldGEgeG1sbnM6eD0n + YWRvYmU6bnM6bWV0YS8nIHg6eGFwdGs9J1hNUCB0b29sa2l0IDIuOC4yLTMzLCBmcmFtZXdvcmsgMS41 + Jz4KPHJkZjpSREYgeG1sbnM6cmRmPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50 + YXgtbnMjJyB4bWxuczppWD0naHR0cDovL25zLmFkb2JlLmNvbS9pWC8xLjAvJz4KCiA8cmRmOkRlc2Ny + aXB0aW9uIGFib3V0PSd1dWlkOjRkOTc2ZmQ3LTBiZDMtMTFkZS1hZTFiLWZiNWQ3NDVjN2JhNycKICB4 + bWxuczp4YXBNTT0naHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyc+CiAgPHhhcE1NOkRvY3Vt + ZW50SUQ+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjgwOGU5NmFiLTBiZDAtMTFkZS1hZTFiLWZiNWQ3NDVj + N2JhNzwveGFwTU06RG9jdW1lbnRJRD4KIDwvcmRmOkRlc2NyaXB0aW9uPgoKPC9yZGY6UkRGPgo8L3g6 + eGFwbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAog + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9J3cnPz7/7gAmQWRvYmUAZEAAAAAB + AwAVBAMGCg0AAAAAAAAAAAAAAAAAAAAA/9sAQwABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB + AQEBAQEBAQEBAQEBAgICAgICAgICAgIDAwMDAwMDAwMD/9sAQwEBAQEBAQEBAQEBAgIBAgIDAwMDAwMD + AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD/8AAEQgBXgHUAwERAAIRAQMR + Af/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAE + EQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElK + U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrC + 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 + AUAFABQAUAFABQB//9k= + + + + + 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 + c6ovzDcar/WHqNmBFbiGbHs93qV27PzK6Mq6j01Z6bgvwm5DXW+qLr33MERta6P0cy71HabnWJKbiw7v + /Fth/wDpryv/AD/gLcWHd/4tsP8A9NeV/wCf8BJT/9Ti/rUJ+tPWP/D1/wD1ZWfUdjpXsXUf8U/ROodQ + ys+3Ny2WZdz73tYatodYd7ms3UOdtQP/ABnOhf8Ac/N++n/3nTxOgFpi8F028GF1vS3gx8lqVf4pej0m + a+o5w+dH8cZX6P8AF/jUR6fVc4R/4VP/AFWE5PGZb7bb6YAYW8wQ0BYtP1ayaP5rrWe3+xhH/qunI37G + 6j/5e5/+Zg//ACNTJz4l0Y06ySyf2N1H/wAvc/8AzMH/AORqX7G6j/5e5/8AmYP/AMjUxc6ySyf2N1H/ + AMvc/wDzMH/5GpfsbqP/AJe5/wDmYP8A8jUlOsksn9jdR/8AL3P/AMzB/wDkal+xuo/+Xuf/AJmD/wDI + 1JTrJLJ/Y3Uf/L3P/wAzB/8Akal+xuo/+Xuf/mYP/wAjUlOssO7/AMW2H/6a8r/z/gI37G6j/wCXuf8A + 5mD/API1Sw+hnH6k3qWRn5OdkMpfj1i8UNa1ljqrrIbh4uJ7t+PX9NJT/9n/7RScUGhvdG9zaG9wIDMu + MAA4QklNBCUAAAAAABAAAAAAAAAAAAAAAAAAAAAAOEJJTQPtAAAAAAAQAEgAAAABAAIASAAAAAEAAjhC + SU0EJgAAAAAADgAAAAAAAAAAAAA/gAAAOEJJTQQNAAAAAAAEAAAAeDhCSU0EGQAAAAAABAAAAB44QklN + A/MAAAAAAAkAAAAAAAAAAAEAOEJJTQQKAAAAAAABAAA4QklNJxAAAAAAAAoAAQAAAAAAAAACOEJJTQP1 + AAAAAABIAC9mZgABAGxmZgAGAAAAAAABAC9mZgABAKGZmgAGAAAAAAABADIAAAABAFoAAAAGAAAAAAAB + ADUAAAABAC0AAAAGAAAAAAABOEJJTQP4AAAAAABwAAD/////////////////////////////A+gAAAAA + /////////////////////////////wPoAAAAAP////////////////////////////8D6AAAAAD///// + ////////////////////////A+gAADhCSU0EAAAAAAAAAgALOEJJTQQCAAAAAAAcAAAAAAAAAAIAAgAC + AAIAAgACAAIAAgAAAAAAADhCSU0ECAAAAAAAEAAAAAEAAAJAAAACQAAAAAA4QklNBB4AAAAAAAQAAAAA + OEJJTQQaAAAAAANJAAAABgAAAAAAAAAAAAABXgAAAdQAAAAKAFMAcABsAGEAcwBjAGgAXwBWAFYAAAAB + AAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAdQAAAFeAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAA + AAAAAAAAAAAAAAAAEAAAAAEAAAAAAABudWxsAAAAAgAAAAZib3VuZHNPYmpjAAAAAQAAAAAAAFJjdDEA + AAAEAAAAAFRvcCBsb25nAAAAAAAAAABMZWZ0bG9uZwAAAAAAAAAAQnRvbWxvbmcAAAFeAAAAAFJnaHRs + b25nAAAB1AAAAAZzbGljZXNWbExzAAAAAU9iamMAAAABAAAAAAAFc2xpY2UAAAASAAAAB3NsaWNlSURs + b25nAAAAAAAAAAdncm91cElEbG9uZwAAAAAAAAAGb3JpZ2luZW51bQAAAAxFU2xpY2VPcmlnaW4AAAAN + YXV0b0dlbmVyYXRlZAAAAABUeXBlZW51bQAAAApFU2xpY2VUeXBlAAAAAEltZyAAAAAGYm91bmRzT2Jq + YwAAAAEAAAAAAABSY3QxAAAABAAAAABUb3AgbG9uZwAAAAAAAAAATGVmdGxvbmcAAAAAAAAAAEJ0b21s + b25nAAABXgAAAABSZ2h0bG9uZwAAAdQAAAADdXJsVEVYVAAAAAEAAAAAAABudWxsVEVYVAAAAAEAAAAA + AABNc2dlVEVYVAAAAAEAAAAAAAZhbHRUYWdURVhUAAAAAQAAAAAADmNlbGxUZXh0SXNIVE1MYm9vbAEA + AAAIY2VsbFRleHRURVhUAAAAAQAAAAAACWhvcnpBbGlnbmVudW0AAAAPRVNsaWNlSG9yekFsaWduAAAA + B2RlZmF1bHQAAAAJdmVydEFsaWduZW51bQAAAA9FU2xpY2VWZXJ0QWxpZ24AAAAHZGVmYXVsdAAAAAti + Z0NvbG9yVHlwZWVudW0AAAARRVNsaWNlQkdDb2xvclR5cGUAAAAATm9uZQAAAAl0b3BPdXRzZXRsb25n + AAAAAAAAAApsZWZ0T3V0c2V0bG9uZwAAAAAAAAAMYm90dG9tT3V0c2V0bG9uZwAAAAAAAAALcmlnaHRP + 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 + 6j/5e5/+Zg//ACNTJz4l0Y06ySyf2N1H/wAvc/8AzMH/AORqX7G6j/5e5/8AmYP/AMjUxc6ySyf2N1H/ + AMvc/wDzMH/5GpfsbqP/AJe5/wDmYP8A8jUlOsksn9jdR/8AL3P/AMzB/wDkal+xuo/+Xuf/AJmD/wDI + 1JTrJLJ/Y3Uf/L3P/wAzB/8Akal+xuo/+Xuf/mYP/wAjUlOssO7/AMW2H/6a8r/z/gI37G6j/wCXuf8A + 5mD/API1Sw+hnH6k3qWRn5OdkMpfj1i8UNa1ljqrrIbh4uJ7t+PX9NJT/9k4QklNBCEAAAAAAFUAAAAB + AQAAAA8AQQBkAG8AYgBlACAAUABoAG8AdABvAHMAaABvAHAAAAATAEEAZABvAGIAZQAgAFAAaABvAHQA + bwBzAGgAbwBwACAANwAuADAAAAABADhCSU0EBgAAAAAABwAIAQEAAwEA/+ESSGh0dHA6Ly9ucy5hZG9i + ZS5jb20veGFwLzEuMC8APD94cGFja2V0IGJlZ2luPSfvu78nIGlkPSdXNU0wTXBDZWhpSHpyZVN6TlRj + emtjOWQnPz4KPD9hZG9iZS14YXAtZmlsdGVycyBlc2M9IkNSIj8+Cjx4OnhhcG1ldGEgeG1sbnM6eD0n + YWRvYmU6bnM6bWV0YS8nIHg6eGFwdGs9J1hNUCB0b29sa2l0IDIuOC4yLTMzLCBmcmFtZXdvcmsgMS41 + Jz4KPHJkZjpSREYgeG1sbnM6cmRmPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50 + YXgtbnMjJyB4bWxuczppWD0naHR0cDovL25zLmFkb2JlLmNvbS9pWC8xLjAvJz4KCiA8cmRmOkRlc2Ny + aXB0aW9uIGFib3V0PSd1dWlkOjRkOTc2ZmQ3LTBiZDMtMTFkZS1hZTFiLWZiNWQ3NDVjN2JhNycKICB4 + bWxuczp4YXBNTT0naHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyc+CiAgPHhhcE1NOkRvY3Vt + ZW50SUQ+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjgwOGU5NmFiLTBiZDAtMTFkZS1hZTFiLWZiNWQ3NDVj + N2JhNzwveGFwTU06RG9jdW1lbnRJRD4KIDwvcmRmOkRlc2NyaXB0aW9uPgoKPC9yZGY6UkRGPgo8L3g6 + eGFwbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAog + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9J3cnPz7/7gAmQWRvYmUAZEAAAAAB + AwAVBAMGCg0AAAAAAAAAAAAAAAAAAAAA/9sAQwABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB + AQEBAQEBAQEBAQEBAgICAgICAgICAgIDAwMDAwMDAwMD/9sAQwEBAQEBAQEBAQEBAgIBAgIDAwMDAwMD + AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD/8AAEQgBXgHUAwERAAIRAQMR + Af/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAE + EQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElK + U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrC + 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 + AUAFABQAUAFABQB//9k= + + + + + AAABAAQAMDAAAAEAIACoJQAARgAAACAgAAABACAAqBAAAO4lAAAYGAAAAQAgAIgJAACWNgAAEBAAAAEA + IABoBAAAHkAAACgAAAAwAAAAYAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICA + gP+AgID/gICA/wAAAACAgID/gICA/4CAgP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAP8AAP+AAAD//wAA/4CAgP8AAAD/AAAA/wAAAP+AgID/gICA/wAAAAAAAAAAgICA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAP//AAD/gAAA/wAAAP+AgID/gICA/4CAgP8AAAD/AAAA/4CA + gP+AgID/AAAA/4CAgP+AgID/gICA/4CAgP+AgID/gICA/4CAgP+AgID/gICA/4CAgP+AgID/AAAA/wAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAP///////wAA/4CAgP+AgID/gICA/4CA + gP+AgID/gICA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP+AgID/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAP//AAD/gAAA/4CA + gP8AAAAAAAAAAAAAAACAgID/gICA/wAAAP8AAID/AACA/wAAgP8AAP//AAD//wAA//8AAP//AAD//wAA + //8AAP//AAD//wAAAP+AgID/AAAA/wAAAACAgID/gICA/4CAgP8AAAAAgICA/4CAgP+AgID/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8A + AP+AAAD//wAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICAgP8AAAD/AACA/wAAgP8AAP//AAD//wAA + //8AAP//AAD//wAA//8AAP//AAD//wAAAP+AgID/AAAA/4CAgP8AAAD/AAAA/wAAAP+AgID//wAA/4AA + AP//AAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAIAAAP//AAD/gAAA//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgID/AAAA/wAA + AP8AAID/AACA/wAA//8AAP//AAD//wAA//8AAP//AAD//wAAAP+AgID/AAAA/wAAAP+AgID/gICA/4CA + gP8AAAD/gAAA//8AAP+AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAP+AAAD//wAA/4CAgP//////AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAgP8AAP//AAD//wAA//8AAP//AAD//wAAAP8AAAD/gICA/4CA + gP+AgID/gICA/4CAgP+AgID//wAA////////AAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAP//AAD/gAAA/wCAgP+AgID//////wAA + AAAAAAAAAAAAAAAAAP8AAAD/AAAA/wAAAAAAAAAAAAAAAAAAAP8AAP//AAD//wAA//8AAP//AACA/wAA + AP+AgID/gICA/4CAgP8AAAAAAAAAAAAAAACAgID/gAAA//8AAP+AAAD/AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICA//// + //8A////gICA////////////AAAAAICAgP8AAID/AACA/wAAAP8AAAD/AAAA/wAA//8AAP//AAD//wAA + gP8AAID/AAAA/4CAgP+AgID/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAA/4AAAP//AAD/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAgICA//////8AAAAAAP///4CAgP///////////wAAAAAAAID/AACA/wAAgP8AAP//AAD//wAA + //8AAID/AACA/wAAAP8AAAD/gICA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////gAAA//8A + AP+AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAgICA//////8A////AAAAAAD///+AgID///////////8AAID/AACA/wAA + gP8AAP//AAD//wAAgP8AAAD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP// + //+AgID//wAA/4AAAP//AAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICA//////8AAAAAAP///wAAAAAA////gICA/4CA + gP8AAID/AACA/wAAgP8AAP//AAD//wAAAP8AAAAAAAAAAAAAAAAAAAD/AAAA/wAAAP8AAAAAAAAAAAAA + AAAAAAAA/////4CAgP8AAAAAgAAA//8AAP+AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICA//////8A////AAAAAAD/ + //8AAAAAAP///wAAAAAAAID/AACA/wAAgP8AAP//AAD//wAA//8AAAD/AAAA/wAAAP8AAID/AAD//wAA + AP+AgID/AAAAAP//////////gICA/wAAAAAA////AAAAAACAgP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICA//// + //8AAAAAAP///wAAAAAA////AAAAAAD///8AAID/AACA/wAAgP8AAP//AAD//wAA//8AAP//AAD//wAA + //8AAP//AAD//wAAAP+AgID///////////+AgID/AAAAAAD///8AAAAAAP///wCAgP8AAAD/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAgICA//////8A////AAAAAAD///8AAAAAAP///wAAAAAAAID/AACA/wAAgP8AAP//AAD//wAA + //8AAP//AAD//wAA//8AAP//AAD//wAAAP8AAAAA/////4CAgP8AAAAAAP///wAAAAAA////AAAAAACA + gP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAgICA//////8AAAAAAP///wAAAAAA////AAAAAAD///8AAID/AACA/wAA + gP8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAAP+AgID/gICA/wAAAAAA////AAAAAAD/ + //8AAAAAAP///wCAgP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICA//////8A////AAAAAAD///8AAAAAAP///wAA + AAAAAID/AACA/wAAgP8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAAP8A////AAAAAAD/ + //8AAAAAAP///wAAAAAA////AAAAAACAgP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICA//////8AAAAAAP///wAA + AAAA////AAAAAAD///8AAAAAAP///wAAAAAA////AAAAAAD///8AAAAAAP///wAAAAAA////AAAAAAD/ + //8AAAAAAP///wAAAAAA////AAAAAAD///8AAAAAAP///wCAgP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICA//// + //8A////AAAAAAD///8AAAAAAP///wAAAAAA////AAAAAAD///8AAAAAAP///wAAAAAA////AAAAAAD/ + //8AAAAAAP///wAAAAAA////AAAAAAD///8AAAAAAP///wAAAAAA////AAAAAACAgP8AAAD/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAgICA//////8AAAAAAP///wAAAAAA////AAAAAAD///8AAAAAAP///wAAAAAA////AAAAAAD/ + //8AAAAAAP///wAAAAAA////AAAAAAD///8AAAAAAP///wAAAAAA////AAAAAAD///8AAAAAAP///wCA + gP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAgICA//////8A////AAAAAAD///8AAAAAAP///wAAAAAA////AAAAAAD/ + //8AAAAAAP///wAAAAAA////AAAAAAD///8AAAAAAP///wAAAAAA////AAAAAAD///8AAAAAAP///wAA + AAAA////AAAAAACAgP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICA//////8AAAAAAP///wAAAAAA////AAAAAAD/ + //8AAAAAAP///wAAAAAA////AAAAAAD///8AAAAAAP///wAAAAAA////AAAAAAD///8AAAAAAP///wAA + AAAA////AAAAAAD///8AAAAAAP///wCAgP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICA//////8A////AAAAAAD/ + //8AAAAAAP///wAAAAAA////AAAAAAD///8AAAAAAP///wAAAAAA////AAAAAAD///8AAAAAAP///wAA + AAAA////AAAAAAD///8AAAAAAP///wAAAAAA////AAAAAACAgP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICA//// + //8AAAAAAP///wAAAAAA////AAAAAAD///8AAAAAAP///wAAAAAA////AAAAAAD///8AAAAAAP///wAA + AAAA////AAAAAAD///8AAAAAAP///wAAAAAA////AAAAAAD///8AAAAAAP///wCAgP8AAAD/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAgICA//////8A////AAAAAAD///8AAAAAAP///wAAAAAA////AAAAAAD///8AAAAAAP///wAA + AAAA////AAAAAAD///8AAAAAAP///wAAAAAA////AAAAAAD///8AAAAAAP///wAAAAAA////AAAAAACA + gP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAgICA//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////wAAAP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICAgP+AgID/gICA/4CAgP+AgID/gICA/4CA + gP+AgID/gICA/4CAgP+AgID/gICA/wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICAgP//////AP///wAA + AAAA////AAAAAAD///8AAAAAAP///wAAAAAA////AAAAAAD///8AAAAAgICA/wAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AACAgID//////wD///8AAAAAAP///wAAAAAA////AAAAAAD///8AAAAAAP///wAAAACAgID/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAgICA/////////////////////////////////////////////////4CA + gP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICAgP+AgID/gICA/4CAgP+AgID/gICA/4CA + gP+AgID/gICA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////8/f////////z9/////////P3////////8/f// + //////z9/////////P3////////8/f////////z9/xH//////P3/AGAA///8/f8AAAD///z9/wAAAP// + /P3/DgAAiP/8/f8fgAAA//z9/w/AAAD//P3/B/gAAP/8/f8DjgBw//z9/8CAAfj//P3/yEAH8P/8/f/E + AD/g//z9/8oA48j//P3/xUABFP/8/f/KgAAo//z9/8VAAlT//P3/yoAAqP/8/f/FQAFU//z9/8qqqqj/ + /P3/xVVVVP/8/f/Kqqqo//z9/8VVVVT//P3/yqqqqP/8/f/FVVVU//z9/8qqqqj//P3/xVVVVP/8/f/A + AAAA//z9/9//wAH//P3/4qq////8/f/xVX////z9//gA/////P3//AH////8/f////////z9//////// + /P3////////8/f////////z9/////////P3////////8/f////////z9/////////P0oAAAAIAAAAEAA + AAABACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICAcYCAgKqAgIA5gICAqoCAgKoAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADNAACquAAA/384OP8qKir/Kioq/1VV + Vf9eXl6OXl5ejjg4OP8qKir/Kioq/yoqKv8qKir/Kioq/yoqKv8cHBz/AAAAVQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM0AAKrwcXH/fzg4/4CA + gP+AgID/VVVV/zg4OP8cHBz/HBwc/yoqKv8qKir/Kioq/yoqKv8qKir/Kioq/1VVVf8AAABVAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsQAAqsYA + AP+XQkLGAAAAAAAAAACAgICqQkJC4wAAY/8AAID/AAD//wAA//8AAP//AAD//wAA//8AAFX/VVVV/y8v + L45VVVX/VVVV/6BeXo6OVVX/sU5OqgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AACxAACqxgAA/9mEhMYAAAAAAAAAAAAAAACAgIA5ODhH/wAAKv8AAKr/AADi/wAA//8AAP//AAD//wAA + Vf9VVVX/HBwc/1VVVf9VVVX/VRwc/8YAAP+xAACqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAM0AAKq4AAD/f1VV/9nZ2cb///8cAAAAAAAAADkAAABVAAAAHAAAAKoAAD3jAAD//wAA + //8AAPD/AABG/0dHR/+AgID/gICAqoCAgKqcVVX/8HFx/80AAKoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAgAAAOa4vL46cqqr/VcbG/9nZ2cb///9xTk5OqgAAVf8AACXGAAAAqgAA + euMAAP//AADG/wAAf/84OEf/gICAxoCAgFUAAAAAAAAAAK4vL464AAD/zQAAqgAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICAVdTU1P8A//9xPcHB4+Li4v////+OAACA/wAA + gP8AAP//AADi/wAAVf8AACXGMTExqoCAgDkAAAAAAAAAAAAAAAD///85xo2N/8YAAP+xAACqAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgIBV1NTU/wD//3EA//9xVcbG/6qq + qv8AAID/AACA/wAA//8AAHH/AAAAVQAAABwAAACqAAAAqgAAAAAAAAAA////OcHBweOgLy+OxgAA/7EA + AKoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICAgFXU1NT/AP//jgD/ + /44A//9xAP//cQAAgP8AAID/AAD//wAA//8AAFX/AABV/wAAxv8AAFX/l5eXxv///8a9vb3jQL+/cQD/ + /44Al5fGAAAAqgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICAVdTU + 1P8A//+OAP//jgD//3EA//9xAACA/wAAgP8AAP//AAD//wAA//8AAP//AAD//wAAVf/Pz8+OxsbG/0C/ + v3EA//9xAP//jgCXl8YAAACqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AACAgIBV1NTU/wD//3EA//9xAP//jgD//44AAID/AACA/wAA//8AAP//AAD//wAA//8AAP//AABV/16g + oONAv79xAP//jgD//44A//9xAKCg4wAAAKoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAICAgFXU1NT/AP//cQD//3EA//+OAP//jgBero4AXq6OAIT/xgCE/8YAXv+OAF7/jgCE + /8YAhLPGAP//cQD//3EA//+OAP//jgD//3EAoKDjAAAAqgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAgICAVdTU1P8A//+OAP//jgD//3EA//9xAP//jgD//44A//9xAP//cQD/ + /44A//+OAP//cQD//3EA//+OAP//jgD//3EA//9xAP//jgCXl8YAAACqAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgIBV1NTU/wD//44A//+OAP//cQD//3EA//+OAP//jgD/ + /3EA//9xAP//jgD//44A//9xAP//cQD//44A//+OAP//cQD//3EA//+OAJeXxgAAAKoAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICAgFXU1NT/AP//cQD//3EA//+OAP//jgD/ + /3EA//9xAP//jgD//44A//9xAP//cQD//44A//+OAP//cQD//3EA//+OAP//jgD//3EAoKDjAAAAqgAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICAVdTU1P8A//9xAP//cQD/ + /44A//+OAP//cQD//3EA//+OAP//jgD//3EA//9xAP//jgD//44A//9xAP//cQD//44A//+OAP//cQCg + oOMAAACqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgIBV1NTU/3r/ + /8Z6///GoP//jqD//456///Gev//xqD//46g//+Oev//xnr//8ag//+OoP//jnr//8Z6///GoP//jqD/ + /456///GL3FxxgAAAKoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICA + gFWurq6O////Vf///1X///9V////Vf///1X///9V////Vf///1X///9Vvb29xqqqqv+qqqr/qqqq/6qq + qv+qqqr/qqqq/6qqqv84ODj/AAAAOQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAICAgHGq4uL/Qv//jgD//44A//+OAP//cQD//3EA//+OAP//joCAgHGAgIA5AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAKCgoI6q4uL/z///xs///8a8///jvP//48///8aNvb3GgICAOQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICAgHGAgICqgICAqoCAgKqAgICqgICAqoCA + gDkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////////////// + ////////+D////gAA//4AAP/+MAAH/jgAB/4IAAf+AADH/wADh/8AAwf/AAAH/wAAB/8AAAf/AAAH/wA + AB/8AAAf/AAAH/wAAB/8AAAf/AAAH/4AP///AH///4D/////////////////////////////KAAAABgA + AAAwAAAAAQAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAACfQED/qlVVv0BAQP9VVVW/gICAQICAgEAAAACAAAAAgAAAAIAAAACAAAAAgAAA + AIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADfPz//fyAg/4CA + gP9gYGD/QEBA/yAgIP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC/AAD/qioqvwAAAACAgIBAVVVVvwAAYP8AAL//AAD//wAA + //8AAP//AAB//0BAQP9VVVW/QEBA/6pVVb+fQED/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAC/AAD/v19f/////0AAAAAAAAAAAEBAQIAAACq/AAB//wAA//8AAP//AAB//0BAQP9gYGD/gICA/38g + IP/fPz//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC/AACAf39//3+/v/////+AQEBAgAAA + QP8AAACAAABVvwAA//8AAL//ICBA/4CAgL+AgIBAAAAAAKoqKr+/AAD/AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAv7+//wD//4B/v7//////vwAAgP8AAL//AADf/wAAQP8AAACAgICAQAAA + AAAAAAAA////QL9fX/+/AAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv7+//wD/ + /4AA//+AVaqqvwAAgP8AAL//AAC//wAAAIAAACq/AAA//4CAgED///+Aqqqqv0B/f4BfICD/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv7+//wD//4AA//+AAP//gAAAgP8AAL//AAD//wAA + //8AAP//AAB//9TU1L+qqqq/AP//gAD//4AAQED/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAv7+//wD//4AA//+AAP//gAAAgP8AAL//AAD//wAA//8AAP//AAB//1Wqqr8A//+AAP//gAD/ + /4AAQED/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv7+//wD//4AA//+AAP//gAD/ + /4AA//+AAP//gAD//4AA//+AAP//gAD//4AA//+AAP//gAD//4AAQED/AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAv7+//wD//4AA//+AAP//gAD//4AA//+AAP//gAD//4AA//+AAP//gAD/ + /4AA//+AAP//gAD//4AAQED/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv7+//wD/ + /4AA//+AAP//gAD//4AA//+AAP//gAD//4AA//+AAP//gAD//4AA//+AAP//gAD//4AAQED/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv7+//wD//4AA//+AAP//gAD//4AA//+AAP//gAD/ + /4AA//+AAP//gAD//4AA//+AAP//gAD//4AAQED/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAqqqqv////4D///+A////gP///4D///+A////gP///4C/v7//v7+//7+/v/+/v7//v7+//7+/ + v/8AAAC/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICAQJ/f3/8A//+AAP//gAD/ + /4AA//+AAP//gICAgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAICAgEC/v7//v7+//7+/v/+/v7//qqqqvwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP// + /0H///9B////Qf///0HwAP9B8AD/QfIAD0HxgA9B8ABPQfgBj0H4AA9B+AAPQfgAD0H4AA9B+AAPQfgA + D0H4AA9B+AAPQfgH/0H8D/9B////Qf///0H///9B////QSgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICAHICAgDmAgIBVAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANQAAFWqODj/VVVV/1BQUOMwMDDjKioq/yoq + Kv8qKir/KioqqgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACqAABVvy8v4wAAAABgYGBxDg5V/wAA + 4v8AAP7/AACq/0BAQONVVVX/jzAw46oqKlUAAAAAAAAAAAAAAAAAAAAAvwAAOZ9PT+Oq1NSqf39/VQAA + M44AADbGAADw/w4Of/9tbW3GgICAVb8/P+PUAABVAAAAAAAAAAAAAAAAAAAAAAAAAAC/v7+qGeXljq/P + z+MAAID/AADU/wAAM44ZGRmOAAAAANTU1FW/Ly/jqgAAVQAAAAAAAAAAAAAAAAAAAAAAAAAAv7+/qgD+ + /o4A/v5xAACA/wAA/v8AAKr/AACb/8jIyMZmzMyOAL+/qgAAAFUAAAAAAAAAAAAAAAAAAAAAAAAAAL+/ + v6oA/v5xAP7+jgAkksYAP/7jACT+xgA/v+MzzMyOAP7+jgC/v6oAAABVAAAAAAAAAAAAAAAAAAAAAAAA + AAC/v7+qAP7+jgD+/nEA/v6OAP7+cQD+/o4A/v5xAP7+jgD+/nEAv7+qAAAAVQAAAAAAAAAAAAAAAAAA + AAAAAAAAv7+/qgD+/nEA/v6OAP7+cQD+/o4A/v5xAP7+jgD+/nEA/v6OAL+/qgAAAFUAAAAAAAAAAAAA + AAAAAAAAAAAAALKyso6Z/v6Ov/7+cZn+/o6//v5xlOnpqqTIyMaPz8/jpMjIxl+Pj+MAAAA5AAAAAAAA + AAAAAAAAAAAAAAAAAACAgIAckdraxn/+/qp//v6qaunpqoCAgDkAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAICAgByAgIBVgICAVYCAgDkAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA//+sQf//rEHH/6xBwB+sQcgDrEHAA6xB4COsQeADrEHgA6xB4AOsQeAD + rEHgA6xB4H+sQfD/rEH//6xB//+sQQ== + + + \ No newline at end of file diff --git a/.svn/pristine/44/44ba1d9083c6c884b5c80950bcf203cb749a2579.svn-base b/.svn/pristine/44/44ba1d9083c6c884b5c80950bcf203cb749a2579.svn-base new file mode 100644 index 0000000..434313a --- /dev/null +++ b/.svn/pristine/44/44ba1d9083c6c884b5c80950bcf203cb749a2579.svn-base @@ -0,0 +1,38 @@ +'------------------------------------------------------------------------------ +' +' Dieser Code wurde von einem Tool generiert. +' Laufzeitversion:4.0.30319.17929 +' +' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +' der Code erneut generiert wird. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + 'HINWEIS: Diese Datei wird automatisch generiert. Ändern Sie sie nicht direkt. Zum Ändern + ' oder bei in dieser Datei auftretenden Buildfehlern wechseln Sie zum Projekt-Designer. + ' (Wechseln Sie dazu zu den Projekteigenschaften, oder doppelklicken Sie auf den Knoten "Mein Projekt" im + ' Projektmappen-Explorer). Nehmen Sie auf der Registerkarte "Anwendung" entsprechende Änderungen vor. + ' + Partial Friend Class MyApplication + + _ + Public Sub New() + MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows) + Me.IsSingleInstance = false + Me.EnableVisualStyles = true + Me.SaveMySettingsOnExit = true + Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses + End Sub + + _ + Protected Overrides Sub OnCreateMainForm() + Me.MainForm = Global.Themenmanagement.frmMain + End Sub + End Class +End Namespace diff --git a/.svn/pristine/46/46f54e8415ca4a5d92dc7a5025a39e17ba5a0866.svn-base b/.svn/pristine/46/46f54e8415ca4a5d92dc7a5025a39e17ba5a0866.svn-base new file mode 100644 index 0000000..b6c51fb --- /dev/null +++ b/.svn/pristine/46/46f54e8415ca4a5d92dc7a5025a39e17ba5a0866.svn-base @@ -0,0 +1,61 @@ +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient +Namespace DB + Public Class clsMyKey_Tabelle + Inherits db.clsKey_tabelle + + Public Function get_dbkey(ByVal Tablename As String) As Long + Dim m_dbkey As Long + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[sp_get_dbkey]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@Tablename", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, Tablename)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@dbkey", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_dbkey)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + Try + scmCmdToExecute.Connection.Open() + Catch ex As Exception + Finally + End Try + + scmCmdToExecute.ExecuteNonQuery() + m_dbkey = scmCmdToExecute.Parameters.Item("@dbkey").Value + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + scmCmdToExecute.Connection.Close() + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'sp_get_dbkey' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return m_dbkey + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKey_tabelle::get_dbkey::Error occured." + ex.Message, ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + End Class +End Namespace diff --git a/.svn/pristine/47/47b15748ecc8e952c5935170090db7c269ce4b4f.svn-base b/.svn/pristine/47/47b15748ecc8e952c5935170090db7c269ce4b4f.svn-base new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/.svn/pristine/47/47b15748ecc8e952c5935170090db7c269ce4b4f.svn-base @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/.svn/pristine/48/4893d0017e1423dfdc071618cd8f3e3b508bb0bc.svn-base b/.svn/pristine/48/4893d0017e1423dfdc071618cd8f3e3b508bb0bc.svn-base new file mode 100644 index 0000000..c0e7ce1 --- /dev/null +++ b/.svn/pristine/48/4893d0017e1423dfdc071618cd8f3e3b508bb0bc.svn-base @@ -0,0 +1,510 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'Application' +' // Generated by LLBLGen v1.21.2003.712 Final on: Freitag, 4. Januar 2013, 17:02:51 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + ''' + ''' Purpose: Data Access class for the table 'Application'. + ''' + Public Class clsApplication + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bShowlogin, m_bAktiv As SqlBoolean + Private m_daMutiert_am, m_daErstellt_am As SqlDateTime + Private m_iMutierer, m_iMandantnr, m_iApplikationsnr As SqlInt32 + Private m_sTmp_filepath, m_sVersion As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iApplikationsnr
  • + '''
  • sVersion. May be SqlString.Null
  • + '''
  • bShowlogin. May be SqlBoolean.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • sTmp_filepath. May be SqlString.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Application_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iapplikationsnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iApplikationsnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sversion", SqlDbType.VarChar, 4, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sVersion)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bshowlogin", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bShowlogin)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@stmp_filepath", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTmp_filepath)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Application_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsApplication::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iApplikationsnr
  • + '''
  • sVersion. May be SqlString.Null
  • + '''
  • bShowlogin. May be SqlBoolean.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • sTmp_filepath. May be SqlString.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Application_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iapplikationsnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iApplikationsnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sversion", SqlDbType.VarChar, 4, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sVersion)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bshowlogin", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bShowlogin)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@stmp_filepath", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTmp_filepath)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Application_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsApplication::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iApplikationsnr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Application_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iapplikationsnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iApplikationsnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Application_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsApplication::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iApplikationsnr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iApplikationsnr
  • + '''
  • sVersion
  • + '''
  • bShowlogin
  • + '''
  • iMandantnr
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
  • sTmp_filepath
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Application_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("Application") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iapplikationsnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iApplikationsnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Application_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iApplikationsnr = New SqlInt32(CType(dtToReturn.Rows(0)("applikationsnr"), Integer)) + If dtToReturn.Rows(0)("version") Is System.DBNull.Value Then + m_sVersion = SqlString.Null + Else + m_sVersion = New SqlString(CType(dtToReturn.Rows(0)("version"), String)) + End If + If dtToReturn.Rows(0)("showlogin") Is System.DBNull.Value Then + m_bShowlogin = SqlBoolean.Null + Else + m_bShowlogin = New SqlBoolean(CType(dtToReturn.Rows(0)("showlogin"), Boolean)) + End If + If dtToReturn.Rows(0)("mandantnr") Is System.DBNull.Value Then + m_iMandantnr = SqlInt32.Null + Else + m_iMandantnr = New SqlInt32(CType(dtToReturn.Rows(0)("mandantnr"), Integer)) + End If + If dtToReturn.Rows(0)("aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + If dtToReturn.Rows(0)("tmp_filepath") Is System.DBNull.Value Then + m_sTmp_filepath = SqlString.Null + Else + m_sTmp_filepath = New SqlString(CType(dtToReturn.Rows(0)("tmp_filepath"), String)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsApplication::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Application_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("Application") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Application_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsApplication::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iApplikationsnr]() As SqlInt32 + Get + Return m_iApplikationsnr + End Get + Set(ByVal Value As SqlInt32) + Dim iApplikationsnrTmp As SqlInt32 = Value + If iApplikationsnrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iApplikationsnr", "iApplikationsnr can't be NULL") + End If + m_iApplikationsnr = Value + End Set + End Property + + + Public Property [sVersion]() As SqlString + Get + Return m_sVersion + End Get + Set(ByVal Value As SqlString) + m_sVersion = Value + End Set + End Property + + + Public Property [bShowlogin]() As SqlBoolean + Get + Return m_bShowlogin + End Get + Set(ByVal Value As SqlBoolean) + m_bShowlogin = Value + End Set + End Property + + + Public Property [iMandantnr]() As SqlInt32 + Get + Return m_iMandantnr + End Get + Set(ByVal Value As SqlInt32) + m_iMandantnr = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + + + Public Property [sTmp_filepath]() As SqlString + Get + Return m_sTmp_filepath + End Get + Set(ByVal Value As SqlString) + m_sTmp_filepath = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/.svn/pristine/48/48aaac848d817de2adbcf9fad40cfce260eb92f9.svn-base b/.svn/pristine/48/48aaac848d817de2adbcf9fad40cfce260eb92f9.svn-base new file mode 100644 index 0000000..7c2b4ca Binary files /dev/null and b/.svn/pristine/48/48aaac848d817de2adbcf9fad40cfce260eb92f9.svn-base differ diff --git a/.svn/pristine/4b/4bdd5166cf0d978580459088a5857669a66bc0f2.svn-base b/.svn/pristine/4b/4bdd5166cf0d978580459088a5857669a66bc0f2.svn-base new file mode 100644 index 0000000..c0d0f59 --- /dev/null +++ b/.svn/pristine/4b/4bdd5166cf0d978580459088a5857669a66bc0f2.svn-base @@ -0,0 +1,275 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 239, 17 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACkSURBVDhPlZOBDoAgCET9dD7NPyNPgpAIzY21oTzPg1rL + F4/0aaQEJqJXAIo8Vu9dL9gDYiGRgG6VCwBJLDvgbxRVsodvBPiEASDXF3mIB3AbBzPjBLDeHBVIcRbj + KScKuMGQElArmKZNSNJ7VYC2Ib48EIjE0gX1QPerLigkATytqxT4gQht3HsQx9H8+OpCeHL+R+FQnIPT + QiXaHPwtNMCu8ALckGXYKNsEDQAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIISURBVDhPpZP7S1NxGMbPPxKaXVUkMEq8IpKUCoY/hGgI + ymqkDYYXcCjDZOANURSjCNGFQUTsl4GXVMxKk62YU4fXQpaIlygHQxBRH8/zwvyaIAYe+HLgnPN8nue9 + HA3nvDTq63oW/jm13XOwvPTB3DYFY5MH+bXfcN8ygfTSMSSXfESicQDxBqdYHwH29g9w2tnZ3UcguIvN + rR3417exuBJE5N1n/wfwLgXEOc38Bc6xNRHb+/y4nm49G0Bnit2zf9H6bkliE/jKuYxrd6oVgDWfjB+K + TWeKMyrGEVfowITvD9re/9ABVQrAhh0HHK+ZselMMaN/mvwtDb+aVqkA7HYIwIj3ysfluPTorJnP6Ezx + oHsD1s5ZXEktUwCOioB5f1CEPR9+wTG6iuiserTo8dkwng7HT/R+XUPF8xlcTjErAOdMcW6NW8STiwG8 + 7vej8oUPN/PsEv3t8Ao0TZP3T1u8uJRkUgAuSYHtO97oLxmXd5t9Ho8aPTK+GzntqNfrLm2fFoihwYOI + xGIF4KjoGBLzY1OrF9k6OOFxnwDC4wxIMX1G0pMhgVyMNyoA13PAtS7OrJk1PrC69LUdQWxuF6IybHrX + LRI7JrtZdoDAo1XmbjMyD+tjSXxGcXRmnYg5ttD9QuxDhN0uUgDOmbvNTpPOJaGAo2K36cyaGZvOFIfd + KlSA8/zRh9ABIDUG+1JpAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADASURBVFhH7VZJDsAgCPTpPs2fdSHFGCowVntog4kHzQDj + sLQpxQoFQgFfge2AtFuzQHF+RIFAHaO4IAArICWlc86ZNntpzl08HE0CryA3p809m1RSis0wB3JYSuGX + ai+r96yCYwMTocDn0lQQbSlTM50KiACQ+8dtCaXgVQI9iRfc4TWwIFivDnACTheY3wIjNWMEjC4wCZyt + qLTjxwgYQ8VNwbQCPPOVYnT/B2ZHsjd6XQKDxOHaCGAoEAr8U4Ed/ZKEYE1lTioAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEMSURBVFhH7VZbDoQgDOToHI2b4ZaIK6WlY4E/TIgJ9jEz + fcQQznMUABXIIeT3Ad2Kmdevy+EB4fHhiX8xiESrAAVmho/dbd8wF+xhEV0AVjCvCBtmg8AoUJi5C8A2 + 5lofxBgzHaVHeJ/g7GvQmri+6Z6zlO5efnjS27IwSik9zDgIDkCQnU/EJyVKYno0FUYAOFiPEiaAQb0l + 5vUOLoVZgu0ABjKK3V5LYvjhCmiBnM23pgTSgpG6/70XGBFcAT4Fo+3Gv9H4KiPsA2Ct1m0AiIWyYBom + 0lacVsAYs05KCYTQyHgJjNVqAlCmCANg1VyK4vER0cwEmvHt/t0oGKbX32oKwNdkx/4osFKBCw1pbK1R + yCECAAAAAElFTkSuQmCC + + + + + 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 + gg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAK5SURBVDhPfVNbSFRRFL13xqnMcfTOHe887jiP7KMko6Ig + IzMKE5VIIbBMmzLCEiuFsrHIAs3MB6Tmo6RmlB5EOTZqlOJkVqJGfkSB9qF+9JMKfQR+hDCrc44oOYkX + Fpt79l7r7LP2ORz3/xfHCbJLsSVxXJHgmFMcINiWOEHW3KR0zzL1i0siL8jtqqQCqK92QFvug666H2Ll + Owgl3Qgp9ECVmA9S85IwdIFCeoUcMxqa8wBy5VtY7ryHpboPkbd7YS7rhlzyGqYbXZCcHqiz6qGQoseI + gH5BhOcFc6+Q64a19iOshGytG4CtaRj25s8MtvpBIuaD8Uo7DJeeIyyjFny42UcEeCqSGnrQOU+u+QBb + wxDslLwMaI3hchukC0+wNj4PlMvxgtUrl/WwtqkAE/oHMfeGUNw/gU1Ng6w7S1UfpPOPIZ5qBq+Rvdyq + 6H3Ti2euIucnBZEk2ogHzp7vmJn9A7/fD0fbF0RW+FjOWNQO8fRDqKJ2T3Gh+zP91DAz6cJ8s5vFtNZP + +PbzNyMuwPFsBHLpG1ZDDRWzm7EmJtnPaRKO+6nbputdBJ0s/vg1u4RMRbIeDcN0rQOmYlJDotbRhODN + KX5OvT1lio7KWOSBwdlG4MGO0k50jkwuEcl0DcBQ+IKZSCehPVaPVdbYGS7IssFL50yTUv5TSAUENBKj + Uitf4evkNBNKb5w3j+YizrZAOFJHLpXdy8aoO1HOOtCRRCAkYtbhW16YckkuxwXdGTfbXb33HB3jISrA + q4zrffqL87uKJ++vCG1mA8LTKsju5t6Fi0RF9Kujto5JeW5E5LZCm9UI4WjdUmTcZf9hqeVQShtHCUcK + fA+6IJ3Fq0nOJ2262JioEG1XS8npNQjZlU0uj95DiOJKrzJeqdG3KNfFTgRbk+eCrUlzSvvOcT5EchFS + XCDxL/J9y/TQNZChAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAALASURBVDhPdVNrSJNRGN63OWHsom5z+8zpN5Mi+pEQRWEO + KzFSMalfaV4qIaywkszUoASjzBTyMpNmU4O0rJwzIVxe2lIy608hKuSlIAIt+9OPoOX3dM7RDS078PCd + 9z3Peb73diSSf5dFotQ1S2Pip6WJOV7pPgKypz5CtazB97t0nFrvkCcViKpL3dBWDEBf7YG+yo2Qqy6o + ijoh339OJJwuckP3t5BBatg0ocmzI/zmIIRbHkRWDyKish+may6Elz9DeFkPjMWdUGVbITVETxIBg1+E + U/N92tOtEOqGIdR4YK4fRlTjKKJsbxnMDSNMLKy0C3zRYwRl1IJTG/t8Amnq1JLlyy8ZmV1eA0LtEPiL + T2A42wbl7nwQgTQJp+SdNEwatlAzhHTHGHK6x0HJPphJZMUDU0h9+I6k9gKGM/ehy20CpyT1CNy8d96X + c2TVIDwfFyCKItzkm9A8CuqLa3oFutyzC8wOK3VAf8IOuSl2TqJJyBJpwUzXXaRgvfDMfGNkun79XsTd + N5+QbB9hNj2jHFpQ3XEbFFviFyWaxGyRFmjdlR4Gz9RXv4Bv0/p6dkmAnDHe5afQ5TQSgRRRIt+WMkdr + EFbiAE/a5P4w5xf4/uMnSjpGYanqXUqBnFEOf+ERtJkNCNxgmZcEhApO2mfaHmNBO/rHv8BLQre53mNj + 4QPm21rmZHVxjX1mdujJVoQcrgOn4Z20lWn6oxUsAnoQW9qBHUVt0Oe1MJuC7g+UOxBzvo3Z2kwrVHuW + 20gEuIBQUz9f2L7UnmM2gjv/BQ09+FAlGST++cpxNsoiYiYN+eSvp+5Bm3Ub2vT61cigdh2CD96AzBA9 + sWqUl5X0nMboDEouEPV5zWxQmNARK7QZVpJzLZS7ckVOqetc6zGtjCaeU4a0yNbvnFEIyV6FkOSVmbdP + cwqNnZDi/n6FfwBZJ9zZ5qzsngAAAABJRU5ErkJggg== + + + + 346, 17 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0 + dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACRTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5QYWdlU2V0dGluZ3MHAAAAD3ByaW50ZXJTZXR0aW5ncwVjb2xvcglwYXBlclNp + emULcGFwZXJTb3VyY2URcHJpbnRlclJlc29sdXRpb24JbGFuZHNjYXBlB21hcmdpbnMEBAQEBAQEJ1N5 + c3RlbS5EcmF3aW5nLlByaW50aW5nLlByaW50ZXJTZXR0aW5ncwIAAAAgU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuVHJpU3RhdGUCAAAAIVN5c3RlbS5EcmF3aW5nLlByaW50aW5nLlBhcGVyU2l6ZQIAAAAjU3lz + dGVtLkRyYXdpbmcuUHJpbnRpbmcuUGFwZXJTb3VyY2UCAAAAKVN5c3RlbS5EcmF3aW5nLlByaW50aW5n + LlByaW50ZXJSZXNvbHV0aW9uAgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAf + U3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuTWFyZ2lucwIAAAACAAAACQMAAAAF/P///yBTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5UcmlTdGF0ZQEAAAAFdmFsdWUAAgIAAAAACgoKAfv////8////AAkGAAAABQMA + AAAnU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRlclNldHRpbmdzEgAAAAtwcmludGVyTmFtZQpk + cml2ZXJOYW1lCm91dHB1dFBvcnQLcHJpbnRUb0ZpbGUUcHJpbnREaWFsb2dEaXNwbGF5ZWQKZXh0cmFi + eXRlcwlleHRyYWluZm8GY29waWVzBmR1cGxleAdjb2xsYXRlE2RlZmF1bHRQYWdlU2V0dGluZ3MIZnJv + bVBhZ2UGdG9QYWdlB21heFBhZ2UHbWluUGFnZQpwcmludFJhbmdlDGRldm1vZGVieXRlcw1jYWNoZWRE + ZXZtb2RlAQEBAAAABwAEBAQAAAAABAAHAQEHAgceU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuRHVwbGV4 + AgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAkU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuUGFnZVNldHRpbmdzAgAAAAgICAgiU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRSYW5n + ZQIAAAAHAgIAAAAKBgcAAAAACQcAAAAAAAAACv//Bfj///8eU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcu + RHVwbGV4AQAAAAd2YWx1ZV9fAAgCAAAA/////wH3/////P///wAJCgAAAAAAAAAAAAAADycAAAAAAAAF + 9f///yJTeXN0ZW0uRHJhd2luZy5QcmludGluZy5QcmludFJhbmdlAQAAAAd2YWx1ZV9fAAgCAAAAAAAA + AAAACgUGAAAAH1N5c3RlbS5EcmF3aW5nLlByaW50aW5nLk1hcmdpbnMIAAAABGxlZnQFcmlnaHQDdG9w + BmJvdHRvbQpkb3VibGVMZWZ0C2RvdWJsZVJpZ2h0CWRvdWJsZVRvcAxkb3VibGVCb3R0b20AAAAAAAAA + AAgICAgGBgYGAgAAAGQAAABkAAAAZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZ + QAEKAAAAAQAAAAkDAAAAAfP////8////AAoKCgHy/////P///wAJDwAAAAEPAAAABgAAAGQAAABkAAAA + ZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAs= + + + + <?xml version="1.0"?><Blob><Styles type="C1.Win.C1TrueDBGrid.Design.ContextWrapper"><Data>HighlightRow{ForeColor:HighlightText;BackColor:Highlight;}Style8{}Style7{}Style2{}EvenRow{BackColor:Aqua;}Normal{}RecordSelector{AlignImage:Center;}Style4{}OddRow{}Style3{}Footer{}Style14{}FilterBar{}Heading{AlignVert:Center;Border:Flat,ControlDark,0, 1, 0, 1;Wrap:True;BackColor:Control;ForeColor:ControlText;}Style5{}Editor{}Style10{AlignHorz:Near;}Style16{}Selected{ForeColor:HighlightText;BackColor:Highlight;}Style15{}Style13{}Style12{}Style11{}Group{Border:None,,0, 0, 0, 0;AlignVert:Center;BackColor:ControlDark;}Style9{}FilterWatermark{ForeColor:InfoText;BackColor:Info;}Style1{}Caption{AlignHorz:Center;}Style6{}Inactive{ForeColor:InactiveCaptionText;BackColor:InactiveCaption;}</Data></Styles><Splits><C1.Win.C1TrueDBGrid.MergeView Name="" CaptionHeight="17" ColumnCaptionHeight="17" ColumnFooterHeight="17" MarqueeStyle="DottedCellBorder" RecordSelectorWidth="17" DefRecSelWidth="17" VerticalScrollGroup="1" HorizontalScrollGroup="1"><CaptionStyle parent="Style2" me="Style10" /><EditorStyle parent="Editor" me="Style5" /><EvenRowStyle parent="EvenRow" me="Style8" /><FilterBarStyle parent="FilterBar" me="Style13" /><FilterWatermarkStyle parent="FilterWatermark" me="Style14" /><FooterStyle parent="Footer" me="Style3" /><GroupStyle parent="Group" me="Style12" /><HeadingStyle parent="Heading" me="Style2" /><HighLightRowStyle parent="HighlightRow" me="Style7" /><InactiveStyle parent="Inactive" me="Style4" /><OddRowStyle parent="OddRow" me="Style9" /><RecordSelectorStyle parent="RecordSelector" me="Style11" /><SelectedStyle parent="Selected" me="Style6" /><Style parent="Normal" me="Style1" /><ClientRect>0, 0, 664, 227</ClientRect><BorderSide>0</BorderSide></C1.Win.C1TrueDBGrid.MergeView></Splits><NamedStyles><Style parent="" me="Normal" /><Style parent="Normal" me="Heading" /><Style parent="Heading" me="Footer" /><Style parent="Heading" me="Caption" /><Style parent="Heading" me="Inactive" /><Style parent="Normal" me="Selected" /><Style parent="Normal" me="Editor" /><Style parent="Normal" me="HighlightRow" /><Style parent="Normal" me="EvenRow" /><Style parent="Normal" me="OddRow" /><Style parent="Heading" me="RecordSelector" /><Style parent="Normal" me="FilterBar" /><Style parent="FilterBar" me="FilterWatermark" /><Style parent="Caption" me="Group" /></NamedStyles><vertSplits>1</vertSplits><horzSplits>1</horzSplits><Layout>None</Layout><DefaultRecSelWidth>17</DefaultRecSelWidth><ClientArea>0, 0, 664, 227</ClientArea><PrintPageHeaderStyle parent="" me="Style15" /><PrintPageFooterStyle parent="" me="Style16" /></Blob> + + \ No newline at end of file diff --git a/.svn/pristine/4c/4c18e00e2b66b222141e04b32f06000439af3140.svn-base b/.svn/pristine/4c/4c18e00e2b66b222141e04b32f06000439af3140.svn-base new file mode 100644 index 0000000..41b83e5 --- /dev/null +++ b/.svn/pristine/4c/4c18e00e2b66b222141e04b32f06000439af3140.svn-base @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + AAABAAEAICAEAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP// + AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACIiIAAAAAAAAAAAAAIi + IiJyIiIiIAAAAAAAACIndyInd3ciIiIAAAAAAAIid3cvJ3d3ciIiAAAAAAACJ3d3f4J3d3ciIgAAAAAA + Ind3co/3d3d3ciIAAAAAACJ3d3L//yd3d3IgAAAAAAACd3dy//+Cd3dyIAAAAAAAAnd3cv//9yd3cgAA + AAAAAAIneHf///9ndyAAAAAAAAAAInh3hzM3giIAAAAAAAAAAAAiIzMzMzMgAAAAAAAAAAAAAAMzMzMz + MAAAAAAAAAAAAAAzu7u7uzMAAAAAAAAAAAABO7u7u7uzAAAAAAAAAAAAA7u7u7u7uzAAAAAAAAAAAAO7 + u7u7u7swAAAAAAAAAAATu7u7u7u7sQAAAAAAAAAAE7u7u7u7u7MAAAAAAAAAADu7u7u7u7uzAAAAAAAA + AAAbu7u7u7u7swAAAAAAAAAAG7u7u7u7u7MAAAAAAAAAABO7Mzu7u7szAAAAAAAAAAADMzMzMzMzMwAA + AAAAAAAAAzM3eIdzMzMAAAAAAAAAAAAzeIiIiHMxAAAAAAAAAAAAM4iIiIdzMAAAAAAAAAAAAAM4iIiI + MwAAAAAAAAAAAAAAM4iIczAAAAAAAAAAAAAAAAATMxAAAAAAAAD/4AAf/gAAD/gAAA/wAAAP8AAAD/AA + AA/wAAAP8AAAD/AAAA/wAAAf8AAAH/gAAD/4AAB//gAA//+AAH//gAB//wAAP/8AAD//AAA//wAAP/8A + AB//AAAf/wAAH/8AAB//AAAf/wAAP/+AAD//gAA//8AAP//AAH//4AD///gD/w== + + + \ No newline at end of file diff --git a/.svn/pristine/4c/4c586e3f267bbf3c6b79a1934e3cef7f879b45a3.svn-base b/.svn/pristine/4c/4c586e3f267bbf3c6b79a1934e3cef7f879b45a3.svn-base new file mode 100644 index 0000000..863c6b3 --- /dev/null +++ b/.svn/pristine/4c/4c586e3f267bbf3c6b79a1934e3cef7f879b45a3.svn-base @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + AAABAAEAICAEAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP// + AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAzd3d3MzMzAAAAAAAAAAAAM3d3dzMzMwAAAAAAAAAAM3eIiIi7MzMzAAAAAAAA + ADN3iIiIuzMzMwAAAAAAAAB3u4iIiLu7MzMAAAAAAAAAd7uIiIi7uzMzAAAAAAAAAHe7iIiIu7szMwAA + AAAAAAB3u4iIiLu7MzMAAAAAAAAAd7uIiIi7uzMzAAAAAAAAAHe7iIiIu7szMwAAAAAAAAB3u4iIiLu7 + MzMAAAAAAAAAd7uIiIi7uzMzAAAAAAAAAHe7iIiIu7szMwAAAAAAAAB3u4iIiLu7MzMAAAAAAAAAd7uI + iIi7uzMzAAAAAAAAAHe7iIiIu7szMwAAAAAAAAB3u4iIiLu7MzMAAAAAAAAAd7uIiIi7uzMzAAAAAAAA + AHe7iIiIiIi7dwAAAAAAAAB3u4iIiIiIu3cAAAAAAAAAiIj//////4h3AAAAAAAAAIiI//////+IdwAA + AAAAAAAzd3d3d3d3dzMAAAAAAAAAM3d3d3d3d3czAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////////////////AAA//wA + AP/8AAD//AAA//wAAP/8AAD//AAA//wAAP/8AAD//AAA//wAAP/8AAD//AAA//wAAP/8AAD//AAA//wA + AP/8AAD//AAA//wAAP/8AAD//AAA//wAAP/8AAD//////////////////////w== + + + \ No newline at end of file diff --git a/.svn/pristine/4c/4c87ff619a8f864e814adc4173de0c5d64eac4d4.svn-base b/.svn/pristine/4c/4c87ff619a8f864e814adc4173de0c5d64eac4d4.svn-base new file mode 100644 index 0000000..3633c40 --- /dev/null +++ b/.svn/pristine/4c/4c87ff619a8f864e814adc4173de0c5d64eac4d4.svn-base @@ -0,0 +1,538 @@ + _ +Partial Class frmDetail2 + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmDetail2)) + Me.CheckBox1 = New System.Windows.Forms.CheckBox() + Me.TextBox6 = New System.Windows.Forms.TextBox() + Me.Label10 = New System.Windows.Forms.Label() + Me.TextBox5 = New System.Windows.Forms.TextBox() + Me.Label9 = New System.Windows.Forms.Label() + Me.Label5 = New System.Windows.Forms.Label() + Me.Label11 = New System.Windows.Forms.Label() + Me.Label4 = New System.Windows.Forms.Label() + Me.ToolStrip1 = New System.Windows.Forms.ToolStrip() + Me.TSBtnQuit = New System.Windows.Forms.ToolStripButton() + Me.TSBtnSave = New System.Windows.Forms.ToolStripButton() + Me.ToolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator() + Me.TSBtnCopy = New System.Windows.Forms.ToolStripButton() + Me.TSBtnNew = New System.Windows.Forms.ToolStripButton() + Me.TSBtnDelete = New System.Windows.Forms.ToolStripButton() + Me.CheckedListBox2 = New System.Windows.Forms.CheckedListBox() + Me.TextBox4 = New System.Windows.Forms.TextBox() + Me.Label8 = New System.Windows.Forms.Label() + Me.Label7 = New System.Windows.Forms.Label() + Me.DateTimePicker2 = New System.Windows.Forms.DateTimePicker() + Me.DateTimePicker1 = New System.Windows.Forms.DateTimePicker() + Me.Label6 = New System.Windows.Forms.Label() + Me.TextBox1 = New System.Windows.Forms.TextBox() + Me.TextBox3 = New System.Windows.Forms.TextBox() + Me.Label1 = New System.Windows.Forms.Label() + Me.Label3 = New System.Windows.Forms.Label() + Me.Label2 = New System.Windows.Forms.Label() + Me.GroupBox1 = New System.Windows.Forms.GroupBox() + Me.TextBox2 = New System.Windows.Forms.TextBox() + Me.DateiToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.Panel1 = New System.Windows.Forms.Panel() + Me.GroupBox2 = New System.Windows.Forms.GroupBox() + Me.C1TrueDBGrid1 = New C1.Win.C1TrueDBGrid.C1TrueDBGrid() + Me.ToolStrip2 = New System.Windows.Forms.ToolStrip() + Me.ToolStripButton4 = New System.Windows.Forms.ToolStripButton() + Me.ToolStripButton5 = New System.Windows.Forms.ToolStripButton() + Me.Zuordnungem = New System.Windows.Forms.GroupBox() + Me.CheckedListBox1 = New System.Windows.Forms.CheckedListBox() + Me.MenuStrip1 = New System.Windows.Forms.MenuStrip() + Me.C1TrueDBGrid2 = New C1.Win.C1TrueDBGrid.C1TrueDBGrid() + Me.ToolStrip1.SuspendLayout() + Me.GroupBox1.SuspendLayout() + Me.Panel1.SuspendLayout() + Me.GroupBox2.SuspendLayout() + CType(Me.C1TrueDBGrid1, System.ComponentModel.ISupportInitialize).BeginInit() + Me.ToolStrip2.SuspendLayout() + Me.Zuordnungem.SuspendLayout() + Me.MenuStrip1.SuspendLayout() + CType(Me.C1TrueDBGrid2, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'CheckBox1 + ' + Me.CheckBox1.AutoSize = True + Me.CheckBox1.Location = New System.Drawing.Point(85, 216) + Me.CheckBox1.Name = "CheckBox1" + Me.CheckBox1.Size = New System.Drawing.Size(15, 14) + Me.CheckBox1.TabIndex = 22 + Me.CheckBox1.UseVisualStyleBackColor = True + ' + 'TextBox6 + ' + Me.TextBox6.Location = New System.Drawing.Point(85, 292) + Me.TextBox6.Name = "TextBox6" + Me.TextBox6.Size = New System.Drawing.Size(91, 20) + Me.TextBox6.TabIndex = 20 + ' + 'Label10 + ' + Me.Label10.AutoSize = True + Me.Label10.Location = New System.Drawing.Point(13, 295) + Me.Label10.Name = "Label10" + Me.Label10.Size = New System.Drawing.Size(45, 13) + Me.Label10.TabIndex = 19 + Me.Label10.Text = "Mutierer" + ' + 'TextBox5 + ' + Me.TextBox5.Location = New System.Drawing.Point(85, 266) + Me.TextBox5.Name = "TextBox5" + Me.TextBox5.Size = New System.Drawing.Size(91, 20) + Me.TextBox5.TabIndex = 18 + ' + 'Label9 + ' + Me.Label9.AutoSize = True + Me.Label9.Location = New System.Drawing.Point(13, 269) + Me.Label9.Name = "Label9" + Me.Label9.Size = New System.Drawing.Size(56, 13) + Me.Label9.TabIndex = 17 + Me.Label9.Text = "Mutiert am" + ' + 'Label5 + ' + Me.Label5.AutoSize = True + Me.Label5.Location = New System.Drawing.Point(156, 19) + Me.Label5.Name = "Label5" + Me.Label5.Size = New System.Drawing.Size(51, 13) + Me.Label5.TabIndex = 3 + Me.Label5.Text = "Infokanal" + ' + 'Label11 + ' + Me.Label11.AutoSize = True + Me.Label11.Location = New System.Drawing.Point(13, 216) + Me.Label11.Name = "Label11" + Me.Label11.Size = New System.Drawing.Size(31, 13) + Me.Label11.TabIndex = 21 + Me.Label11.Text = "Aktiv" + ' + 'Label4 + ' + Me.Label4.AutoSize = True + Me.Label4.Location = New System.Drawing.Point(15, 19) + Me.Label4.Name = "Label4" + Me.Label4.Size = New System.Drawing.Size(57, 13) + Me.Label4.TabIndex = 2 + Me.Label4.Text = "Zielgruppe" + ' + 'ToolStrip1 + ' + Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.TSBtnQuit, Me.TSBtnSave, Me.ToolStripSeparator1, Me.TSBtnCopy, Me.TSBtnNew, Me.TSBtnDelete}) + Me.ToolStrip1.Location = New System.Drawing.Point(0, 24) + Me.ToolStrip1.Name = "ToolStrip1" + Me.ToolStrip1.Size = New System.Drawing.Size(961, 25) + Me.ToolStrip1.TabIndex = 7 + Me.ToolStrip1.Text = "ToolStrip1" + ' + 'TSBtnQuit + ' + Me.TSBtnQuit.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnQuit.Image = CType(resources.GetObject("TSBtnQuit.Image"), System.Drawing.Image) + Me.TSBtnQuit.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnQuit.Name = "TSBtnQuit" + Me.TSBtnQuit.Size = New System.Drawing.Size(23, 22) + Me.TSBtnQuit.Text = "ToolStripButton1" + Me.TSBtnQuit.ToolTipText = "Anwendung beenden" + ' + 'TSBtnSave + ' + Me.TSBtnSave.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnSave.Image = CType(resources.GetObject("TSBtnSave.Image"), System.Drawing.Image) + Me.TSBtnSave.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnSave.Name = "TSBtnSave" + Me.TSBtnSave.Size = New System.Drawing.Size(23, 22) + Me.TSBtnSave.Text = "ToolStripButton1" + Me.TSBtnSave.ToolTipText = "Daten speichern" + ' + 'ToolStripSeparator1 + ' + Me.ToolStripSeparator1.Name = "ToolStripSeparator1" + Me.ToolStripSeparator1.Size = New System.Drawing.Size(6, 25) + ' + 'TSBtnCopy + ' + Me.TSBtnCopy.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnCopy.Image = CType(resources.GetObject("TSBtnCopy.Image"), System.Drawing.Image) + Me.TSBtnCopy.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnCopy.Name = "TSBtnCopy" + Me.TSBtnCopy.Size = New System.Drawing.Size(23, 22) + Me.TSBtnCopy.Text = "ToolStripButton2" + Me.TSBtnCopy.ToolTipText = "Datensatz kopieren" + ' + 'TSBtnNew + ' + Me.TSBtnNew.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnNew.Image = CType(resources.GetObject("TSBtnNew.Image"), System.Drawing.Image) + Me.TSBtnNew.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnNew.Name = "TSBtnNew" + Me.TSBtnNew.Size = New System.Drawing.Size(23, 22) + Me.TSBtnNew.Text = "Neuer Datensatz" + Me.TSBtnNew.ToolTipText = "Neuer Datensatz" + ' + 'TSBtnDelete + ' + Me.TSBtnDelete.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnDelete.Image = CType(resources.GetObject("TSBtnDelete.Image"), System.Drawing.Image) + Me.TSBtnDelete.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnDelete.Name = "TSBtnDelete" + Me.TSBtnDelete.Size = New System.Drawing.Size(23, 22) + Me.TSBtnDelete.Text = "Datensatz inaktivieren" + Me.TSBtnDelete.ToolTipText = "Datensatz inaktivieren" + ' + 'CheckedListBox2 + ' + Me.CheckedListBox2.FormattingEnabled = True + Me.CheckedListBox2.Items.AddRange(New Object() {"Infokanal 1", "Infokanal 2", "Infokanal 3"}) + Me.CheckedListBox2.Location = New System.Drawing.Point(159, 36) + Me.CheckedListBox2.Name = "CheckedListBox2" + Me.CheckedListBox2.Size = New System.Drawing.Size(120, 94) + Me.CheckedListBox2.TabIndex = 1 + ' + 'TextBox4 + ' + Me.TextBox4.Location = New System.Drawing.Point(85, 240) + Me.TextBox4.Name = "TextBox4" + Me.TextBox4.Size = New System.Drawing.Size(91, 20) + Me.TextBox4.TabIndex = 16 + ' + 'Label8 + ' + Me.Label8.AutoSize = True + Me.Label8.Location = New System.Drawing.Point(13, 243) + Me.Label8.Name = "Label8" + Me.Label8.Size = New System.Drawing.Size(55, 13) + Me.Label8.TabIndex = 15 + Me.Label8.Text = "Erstellt am" + ' + 'Label7 + ' + Me.Label7.AutoSize = True + Me.Label7.Location = New System.Drawing.Point(213, 192) + Me.Label7.Name = "Label7" + Me.Label7.Size = New System.Drawing.Size(20, 13) + Me.Label7.TabIndex = 14 + Me.Label7.Text = "bis" + ' + 'DateTimePicker2 + ' + Me.DateTimePicker2.Format = System.Windows.Forms.DateTimePickerFormat.[Short] + Me.DateTimePicker2.Location = New System.Drawing.Point(239, 190) + Me.DateTimePicker2.Name = "DateTimePicker2" + Me.DateTimePicker2.Size = New System.Drawing.Size(91, 20) + Me.DateTimePicker2.TabIndex = 13 + ' + 'DateTimePicker1 + ' + Me.DateTimePicker1.Format = System.Windows.Forms.DateTimePickerFormat.[Short] + Me.DateTimePicker1.Location = New System.Drawing.Point(85, 190) + Me.DateTimePicker1.Name = "DateTimePicker1" + Me.DateTimePicker1.Size = New System.Drawing.Size(91, 20) + Me.DateTimePicker1.TabIndex = 12 + ' + 'Label6 + ' + Me.Label6.AutoSize = True + Me.Label6.Location = New System.Drawing.Point(13, 193) + Me.Label6.Name = "Label6" + Me.Label6.Size = New System.Drawing.Size(49, 13) + Me.Label6.TabIndex = 11 + Me.Label6.Text = "Gültig ab" + ' + 'TextBox1 + ' + Me.TextBox1.Location = New System.Drawing.Point(85, 19) + Me.TextBox1.Name = "TextBox1" + Me.TextBox1.Size = New System.Drawing.Size(245, 20) + Me.TextBox1.TabIndex = 6 + ' + 'TextBox3 + ' + Me.TextBox3.Location = New System.Drawing.Point(85, 117) + Me.TextBox3.Multiline = True + Me.TextBox3.Name = "TextBox3" + Me.TextBox3.Size = New System.Drawing.Size(245, 66) + Me.TextBox3.TabIndex = 10 + ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.Location = New System.Drawing.Point(13, 22) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(27, 13) + Me.Label1.TabIndex = 5 + Me.Label1.Text = "Titel" + ' + 'Label3 + ' + Me.Label3.AutoSize = True + Me.Label3.Location = New System.Drawing.Point(13, 119) + Me.Label3.Name = "Label3" + Me.Label3.Size = New System.Drawing.Size(67, 13) + Me.Label3.TabIndex = 9 + Me.Label3.Text = "Suchbegriffe" + ' + 'Label2 + ' + Me.Label2.AutoSize = True + Me.Label2.Location = New System.Drawing.Point(13, 47) + Me.Label2.Name = "Label2" + Me.Label2.Size = New System.Drawing.Size(72, 13) + Me.Label2.TabIndex = 7 + Me.Label2.Text = "Beschreibung" + ' + 'GroupBox1 + ' + Me.GroupBox1.Controls.Add(Me.CheckBox1) + Me.GroupBox1.Controls.Add(Me.Label11) + Me.GroupBox1.Controls.Add(Me.TextBox6) + Me.GroupBox1.Controls.Add(Me.Label10) + Me.GroupBox1.Controls.Add(Me.TextBox5) + Me.GroupBox1.Controls.Add(Me.Label9) + Me.GroupBox1.Controls.Add(Me.TextBox4) + Me.GroupBox1.Controls.Add(Me.Label8) + Me.GroupBox1.Controls.Add(Me.Label7) + Me.GroupBox1.Controls.Add(Me.DateTimePicker2) + Me.GroupBox1.Controls.Add(Me.DateTimePicker1) + Me.GroupBox1.Controls.Add(Me.Label6) + Me.GroupBox1.Controls.Add(Me.TextBox1) + Me.GroupBox1.Controls.Add(Me.TextBox3) + Me.GroupBox1.Controls.Add(Me.Label1) + Me.GroupBox1.Controls.Add(Me.Label3) + Me.GroupBox1.Controls.Add(Me.Label2) + Me.GroupBox1.Controls.Add(Me.TextBox2) + Me.GroupBox1.Dock = System.Windows.Forms.DockStyle.Left + Me.GroupBox1.Location = New System.Drawing.Point(0, 0) + Me.GroupBox1.Name = "GroupBox1" + Me.GroupBox1.Size = New System.Drawing.Size(358, 319) + Me.GroupBox1.TabIndex = 12 + Me.GroupBox1.TabStop = False + Me.GroupBox1.Text = "Allgemein" + ' + 'TextBox2 + ' + Me.TextBox2.Location = New System.Drawing.Point(85, 45) + Me.TextBox2.Multiline = True + Me.TextBox2.Name = "TextBox2" + Me.TextBox2.Size = New System.Drawing.Size(245, 66) + Me.TextBox2.TabIndex = 8 + ' + 'DateiToolStripMenuItem + ' + Me.DateiToolStripMenuItem.Name = "DateiToolStripMenuItem" + Me.DateiToolStripMenuItem.Size = New System.Drawing.Size(46, 20) + Me.DateiToolStripMenuItem.Text = "&Datei" + ' + 'Panel1 + ' + Me.Panel1.Controls.Add(Me.GroupBox2) + Me.Panel1.Controls.Add(Me.Zuordnungem) + Me.Panel1.Controls.Add(Me.GroupBox1) + Me.Panel1.Dock = System.Windows.Forms.DockStyle.Top + Me.Panel1.Location = New System.Drawing.Point(0, 49) + Me.Panel1.Name = "Panel1" + Me.Panel1.Size = New System.Drawing.Size(961, 319) + Me.Panel1.TabIndex = 8 + ' + 'GroupBox2 + ' + Me.GroupBox2.Controls.Add(Me.C1TrueDBGrid1) + Me.GroupBox2.Controls.Add(Me.ToolStrip2) + Me.GroupBox2.Dock = System.Windows.Forms.DockStyle.Fill + Me.GroupBox2.Location = New System.Drawing.Point(358, 143) + Me.GroupBox2.Name = "GroupBox2" + Me.GroupBox2.Size = New System.Drawing.Size(603, 176) + Me.GroupBox2.TabIndex = 14 + Me.GroupBox2.TabStop = False + Me.GroupBox2.Text = "Dokumente" + ' + 'C1TrueDBGrid1 + ' + Me.C1TrueDBGrid1.Dock = System.Windows.Forms.DockStyle.Fill + Me.C1TrueDBGrid1.GroupByCaption = "Drag a column header here to group by that column" + Me.C1TrueDBGrid1.Images.Add(CType(resources.GetObject("C1TrueDBGrid1.Images"), System.Drawing.Image)) + Me.C1TrueDBGrid1.Location = New System.Drawing.Point(3, 41) + Me.C1TrueDBGrid1.Name = "C1TrueDBGrid1" + Me.C1TrueDBGrid1.PreviewInfo.Location = New System.Drawing.Point(0, 0) + Me.C1TrueDBGrid1.PreviewInfo.Size = New System.Drawing.Size(0, 0) + Me.C1TrueDBGrid1.PreviewInfo.ZoomFactor = 75.0R + Me.C1TrueDBGrid1.PrintInfo.PageSettings = CType(resources.GetObject("C1TrueDBGrid1.PrintInfo.PageSettings"), System.Drawing.Printing.PageSettings) + Me.C1TrueDBGrid1.Size = New System.Drawing.Size(597, 132) + Me.C1TrueDBGrid1.TabIndex = 6 + Me.C1TrueDBGrid1.Text = "C1TrueDBGrid1" + Me.C1TrueDBGrid1.PropBag = resources.GetString("C1TrueDBGrid1.PropBag") + ' + 'ToolStrip2 + ' + Me.ToolStrip2.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripButton4, Me.ToolStripButton5}) + Me.ToolStrip2.Location = New System.Drawing.Point(3, 16) + Me.ToolStrip2.Name = "ToolStrip2" + Me.ToolStrip2.Size = New System.Drawing.Size(597, 25) + Me.ToolStrip2.TabIndex = 5 + Me.ToolStrip2.Text = "ToolStrip2" + ' + 'ToolStripButton4 + ' + Me.ToolStripButton4.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton4.Image = CType(resources.GetObject("ToolStripButton4.Image"), System.Drawing.Image) + Me.ToolStripButton4.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton4.Name = "ToolStripButton4" + Me.ToolStripButton4.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton4.Text = "Neuer Datensatz" + Me.ToolStripButton4.ToolTipText = "Neuer Datensatz" + ' + 'ToolStripButton5 + ' + Me.ToolStripButton5.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton5.Image = CType(resources.GetObject("ToolStripButton5.Image"), System.Drawing.Image) + Me.ToolStripButton5.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton5.Name = "ToolStripButton5" + Me.ToolStripButton5.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton5.Text = "Datensatz inaktivieren" + Me.ToolStripButton5.ToolTipText = "Datensatz inaktivieren" + ' + 'Zuordnungem + ' + Me.Zuordnungem.Controls.Add(Me.Label5) + Me.Zuordnungem.Controls.Add(Me.Label4) + Me.Zuordnungem.Controls.Add(Me.CheckedListBox2) + Me.Zuordnungem.Controls.Add(Me.CheckedListBox1) + Me.Zuordnungem.Dock = System.Windows.Forms.DockStyle.Top + Me.Zuordnungem.Location = New System.Drawing.Point(358, 0) + Me.Zuordnungem.Name = "Zuordnungem" + Me.Zuordnungem.Size = New System.Drawing.Size(603, 143) + Me.Zuordnungem.TabIndex = 13 + Me.Zuordnungem.TabStop = False + Me.Zuordnungem.Text = "Zuordnungen" + ' + 'CheckedListBox1 + ' + Me.CheckedListBox1.FormattingEnabled = True + Me.CheckedListBox1.Items.AddRange(New Object() {"Zielgruppe 1", "Zielgruppe 2", "Zielgruppe 3"}) + Me.CheckedListBox1.Location = New System.Drawing.Point(18, 35) + Me.CheckedListBox1.Name = "CheckedListBox1" + Me.CheckedListBox1.Size = New System.Drawing.Size(120, 94) + Me.CheckedListBox1.TabIndex = 0 + ' + 'MenuStrip1 + ' + Me.MenuStrip1.AllowMerge = False + Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DateiToolStripMenuItem}) + Me.MenuStrip1.Location = New System.Drawing.Point(0, 0) + Me.MenuStrip1.Name = "MenuStrip1" + Me.MenuStrip1.Size = New System.Drawing.Size(961, 24) + Me.MenuStrip1.TabIndex = 6 + Me.MenuStrip1.Text = "MenuStrip1" + ' + 'C1TrueDBGrid2 + ' + Me.C1TrueDBGrid2.GroupByCaption = "Drag a column header here to group by that column" + Me.C1TrueDBGrid2.Images.Add(CType(resources.GetObject("C1TrueDBGrid2.Images"), System.Drawing.Image)) + Me.C1TrueDBGrid2.Location = New System.Drawing.Point(182, 422) + Me.C1TrueDBGrid2.Name = "C1TrueDBGrid2" + Me.C1TrueDBGrid2.PreviewInfo.Location = New System.Drawing.Point(0, 0) + Me.C1TrueDBGrid2.PreviewInfo.Size = New System.Drawing.Size(0, 0) + Me.C1TrueDBGrid2.PreviewInfo.ZoomFactor = 75.0R + Me.C1TrueDBGrid2.PrintInfo.PageSettings = CType(resources.GetObject("C1TrueDBGrid2.PrintInfo.PageSettings"), System.Drawing.Printing.PageSettings) + Me.C1TrueDBGrid2.Size = New System.Drawing.Size(240, 150) + Me.C1TrueDBGrid2.TabIndex = 9 + Me.C1TrueDBGrid2.Text = "C1TrueDBGrid2" + Me.C1TrueDBGrid2.PropBag = resources.GetString("C1TrueDBGrid2.PropBag") + ' + 'frmDetail2 + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(961, 618) + Me.Controls.Add(Me.C1TrueDBGrid2) + Me.Controls.Add(Me.Panel1) + Me.Controls.Add(Me.ToolStrip1) + Me.Controls.Add(Me.MenuStrip1) + Me.Name = "frmDetail2" + Me.Text = "frmDetail2" + Me.ToolStrip1.ResumeLayout(False) + Me.ToolStrip1.PerformLayout() + Me.GroupBox1.ResumeLayout(False) + Me.GroupBox1.PerformLayout() + Me.Panel1.ResumeLayout(False) + Me.GroupBox2.ResumeLayout(False) + Me.GroupBox2.PerformLayout() + CType(Me.C1TrueDBGrid1, System.ComponentModel.ISupportInitialize).EndInit() + Me.ToolStrip2.ResumeLayout(False) + Me.ToolStrip2.PerformLayout() + Me.Zuordnungem.ResumeLayout(False) + Me.Zuordnungem.PerformLayout() + Me.MenuStrip1.ResumeLayout(False) + Me.MenuStrip1.PerformLayout() + CType(Me.C1TrueDBGrid2, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents CheckBox1 As System.Windows.Forms.CheckBox + Friend WithEvents TextBox6 As System.Windows.Forms.TextBox + Friend WithEvents Label10 As System.Windows.Forms.Label + Friend WithEvents TextBox5 As System.Windows.Forms.TextBox + Friend WithEvents Label9 As System.Windows.Forms.Label + Friend WithEvents Label5 As System.Windows.Forms.Label + Friend WithEvents Label11 As System.Windows.Forms.Label + Friend WithEvents Label4 As System.Windows.Forms.Label + Friend WithEvents ToolStrip1 As System.Windows.Forms.ToolStrip + Friend WithEvents TSBtnQuit As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnSave As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripSeparator1 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents TSBtnCopy As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnNew As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnDelete As System.Windows.Forms.ToolStripButton + Friend WithEvents CheckedListBox2 As System.Windows.Forms.CheckedListBox + Friend WithEvents TextBox4 As System.Windows.Forms.TextBox + Friend WithEvents Label8 As System.Windows.Forms.Label + Friend WithEvents Label7 As System.Windows.Forms.Label + Friend WithEvents DateTimePicker2 As System.Windows.Forms.DateTimePicker + Friend WithEvents DateTimePicker1 As System.Windows.Forms.DateTimePicker + Friend WithEvents Label6 As System.Windows.Forms.Label + Friend WithEvents TextBox1 As System.Windows.Forms.TextBox + Friend WithEvents TextBox3 As System.Windows.Forms.TextBox + Friend WithEvents Label1 As System.Windows.Forms.Label + Friend WithEvents Label3 As System.Windows.Forms.Label + Friend WithEvents Label2 As System.Windows.Forms.Label + Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox + Friend WithEvents TextBox2 As System.Windows.Forms.TextBox + Friend WithEvents DateiToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents Panel1 As System.Windows.Forms.Panel + Friend WithEvents GroupBox2 As System.Windows.Forms.GroupBox + Friend WithEvents C1TrueDBGrid1 As C1.Win.C1TrueDBGrid.C1TrueDBGrid + Friend WithEvents ToolStrip2 As System.Windows.Forms.ToolStrip + Friend WithEvents ToolStripButton4 As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripButton5 As System.Windows.Forms.ToolStripButton + Friend WithEvents Zuordnungem As System.Windows.Forms.GroupBox + Friend WithEvents CheckedListBox1 As System.Windows.Forms.CheckedListBox + Friend WithEvents MenuStrip1 As System.Windows.Forms.MenuStrip + Friend WithEvents C1TrueDBGrid2 As C1.Win.C1TrueDBGrid.C1TrueDBGrid +End Class diff --git a/.svn/pristine/4c/4cd4a4026bc8e12c2cb11dff942bb15e2a63b7c9.svn-base b/.svn/pristine/4c/4cd4a4026bc8e12c2cb11dff942bb15e2a63b7c9.svn-base new file mode 100644 index 0000000..a552b8d --- /dev/null +++ b/.svn/pristine/4c/4cd4a4026bc8e12c2cb11dff942bb15e2a63b7c9.svn-base @@ -0,0 +1,1085 @@ + _ +Partial Class frmDetail + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmDetail)) + Dim TreeNode1 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Eintrag1") + Dim TreeNode2 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Eintrag2") + Me.ToolStrip1 = New System.Windows.Forms.ToolStrip() + Me.TSBtnQuit = New System.Windows.Forms.ToolStripButton() + Me.TSBtnSave = New System.Windows.Forms.ToolStripButton() + Me.ToolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator() + Me.TSBtnCopy = New System.Windows.Forms.ToolStripButton() + Me.TSBtnNew = New System.Windows.Forms.ToolStripButton() + Me.TSBtnDelete = New System.Windows.Forms.ToolStripButton() + Me.MenuStrip1 = New System.Windows.Forms.MenuStrip() + Me.DateiToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.CheckBox1 = New System.Windows.Forms.CheckBox() + Me.Label11 = New System.Windows.Forms.Label() + Me.TextBox5 = New System.Windows.Forms.TextBox() + Me.Label9 = New System.Windows.Forms.Label() + Me.TextBox4 = New System.Windows.Forms.TextBox() + Me.Label8 = New System.Windows.Forms.Label() + Me.Label7 = New System.Windows.Forms.Label() + Me.DateTimePicker2 = New System.Windows.Forms.DateTimePicker() + Me.DateTimePicker1 = New System.Windows.Forms.DateTimePicker() + Me.Label6 = New System.Windows.Forms.Label() + Me.TextBox1 = New System.Windows.Forms.TextBox() + Me.TextBox3 = New System.Windows.Forms.TextBox() + Me.Label1 = New System.Windows.Forms.Label() + Me.Label3 = New System.Windows.Forms.Label() + Me.Label2 = New System.Windows.Forms.Label() + Me.TextBox2 = New System.Windows.Forms.TextBox() + Me.TabControl1 = New System.Windows.Forms.TabControl() + Me.TabPage5 = New System.Windows.Forms.TabPage() + Me.GroupBox5 = New System.Windows.Forms.GroupBox() + Me.C1TrueDBGrid1 = New C1.Win.C1TrueDBGrid.C1TrueDBGrid() + Me.ToolStrip2 = New System.Windows.Forms.ToolStrip() + Me.ToolStripButton4 = New System.Windows.Forms.ToolStripButton() + Me.ToolStripButton5 = New System.Windows.Forms.ToolStripButton() + Me.GroupBox4 = New System.Windows.Forms.GroupBox() + Me.TextBox7 = New System.Windows.Forms.TextBox() + Me.Label5 = New System.Windows.Forms.Label() + Me.ComboBox3 = New System.Windows.Forms.ComboBox() + Me.Label4 = New System.Windows.Forms.Label() + Me.GroupBox7 = New System.Windows.Forms.GroupBox() + Me.C1TrueDBGrid5 = New C1.Win.C1TrueDBGrid.C1TrueDBGrid() + Me.TabPage3 = New System.Windows.Forms.TabPage() + Me.GroupBox6 = New System.Windows.Forms.GroupBox() + Me.TreeView2 = New System.Windows.Forms.TreeView() + Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.ÜbersichtToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.AllesToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStrip8 = New System.Windows.Forms.ToolStrip() + Me.ToolStripButton22 = New System.Windows.Forms.ToolStripButton() + Me.ToolStripButton23 = New System.Windows.Forms.ToolStripButton() + Me.TabPage4 = New System.Windows.Forms.TabPage() + Me.SplitContainer1 = New System.Windows.Forms.SplitContainer() + Me.GroupBox2 = New System.Windows.Forms.GroupBox() + Me.TreeView1 = New System.Windows.Forms.TreeView() + Me.TabControl2 = New System.Windows.Forms.TabControl() + Me.TabPage2 = New System.Windows.Forms.TabPage() + Me.SplitContainer2 = New System.Windows.Forms.SplitContainer() + Me.GroupBox3 = New System.Windows.Forms.GroupBox() + Me.C1TrueDBGrid2 = New C1.Win.C1TrueDBGrid.C1TrueDBGrid() + Me.ToolStrip5 = New System.Windows.Forms.ToolStrip() + Me.ToolStripButton6 = New System.Windows.Forms.ToolStripButton() + Me.ToolStripButton7 = New System.Windows.Forms.ToolStripButton() + Me.Panel3 = New System.Windows.Forms.Panel() + Me.Label10 = New System.Windows.Forms.Label() + Me.Label12 = New System.Windows.Forms.Label() + Me.CheckedListBox1 = New System.Windows.Forms.CheckedListBox() + Me.TextBox6 = New System.Windows.Forms.TextBox() + Me.TabPage7 = New System.Windows.Forms.TabPage() + Me.ToolStrip4 = New System.Windows.Forms.ToolStrip() + Me.ToolStripButton2 = New System.Windows.Forms.ToolStripButton() + Me.ToolStripButton3 = New System.Windows.Forms.ToolStripButton() + Me.TabPage6 = New System.Windows.Forms.TabPage() + Me.C1TrueDBGrid4 = New C1.Win.C1TrueDBGrid.C1TrueDBGrid() + Me.TabPage1 = New System.Windows.Forms.TabPage() + Me.C1TrueDBGrid3 = New C1.Win.C1TrueDBGrid.C1TrueDBGrid() + Me.ToolStrip7 = New System.Windows.Forms.ToolStrip() + Me.ToolStripButton20 = New System.Windows.Forms.ToolStripButton() + Me.ToolStripButton21 = New System.Windows.Forms.ToolStripButton() + Me.ShurtfEditor1 = New RTFEditor.SHURTFEditor() + Me.ShurtfEditor2 = New RTFEditor.SHURTFEditor() + Me.ToolStrip1.SuspendLayout() + Me.MenuStrip1.SuspendLayout() + Me.TabControl1.SuspendLayout() + Me.TabPage5.SuspendLayout() + Me.GroupBox5.SuspendLayout() + CType(Me.C1TrueDBGrid1, System.ComponentModel.ISupportInitialize).BeginInit() + Me.ToolStrip2.SuspendLayout() + Me.GroupBox4.SuspendLayout() + Me.GroupBox7.SuspendLayout() + CType(Me.C1TrueDBGrid5, System.ComponentModel.ISupportInitialize).BeginInit() + Me.TabPage3.SuspendLayout() + Me.GroupBox6.SuspendLayout() + Me.ContextMenuStrip1.SuspendLayout() + Me.ToolStrip8.SuspendLayout() + Me.TabPage4.SuspendLayout() + CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SplitContainer1.Panel1.SuspendLayout() + Me.SplitContainer1.Panel2.SuspendLayout() + Me.SplitContainer1.SuspendLayout() + Me.GroupBox2.SuspendLayout() + Me.TabControl2.SuspendLayout() + Me.TabPage2.SuspendLayout() + CType(Me.SplitContainer2, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SplitContainer2.Panel1.SuspendLayout() + Me.SplitContainer2.Panel2.SuspendLayout() + Me.SplitContainer2.SuspendLayout() + Me.GroupBox3.SuspendLayout() + CType(Me.C1TrueDBGrid2, System.ComponentModel.ISupportInitialize).BeginInit() + Me.ToolStrip5.SuspendLayout() + Me.Panel3.SuspendLayout() + Me.ToolStrip4.SuspendLayout() + Me.TabPage6.SuspendLayout() + CType(Me.C1TrueDBGrid4, System.ComponentModel.ISupportInitialize).BeginInit() + Me.TabPage1.SuspendLayout() + CType(Me.C1TrueDBGrid3, System.ComponentModel.ISupportInitialize).BeginInit() + Me.ToolStrip7.SuspendLayout() + Me.SuspendLayout() + ' + 'ToolStrip1 + ' + Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.TSBtnQuit, Me.TSBtnSave, Me.ToolStripSeparator1, Me.TSBtnCopy, Me.TSBtnNew, Me.TSBtnDelete}) + Me.ToolStrip1.Location = New System.Drawing.Point(0, 24) + Me.ToolStrip1.Name = "ToolStrip1" + Me.ToolStrip1.Size = New System.Drawing.Size(1178, 25) + Me.ToolStrip1.TabIndex = 4 + Me.ToolStrip1.Text = "ToolStrip1" + ' + 'TSBtnQuit + ' + Me.TSBtnQuit.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnQuit.Image = CType(resources.GetObject("TSBtnQuit.Image"), System.Drawing.Image) + Me.TSBtnQuit.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnQuit.Name = "TSBtnQuit" + Me.TSBtnQuit.Size = New System.Drawing.Size(23, 22) + Me.TSBtnQuit.Text = "ToolStripButton1" + Me.TSBtnQuit.ToolTipText = "Anwendung beenden" + ' + 'TSBtnSave + ' + Me.TSBtnSave.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnSave.Image = CType(resources.GetObject("TSBtnSave.Image"), System.Drawing.Image) + Me.TSBtnSave.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnSave.Name = "TSBtnSave" + Me.TSBtnSave.Size = New System.Drawing.Size(23, 22) + Me.TSBtnSave.Text = "ToolStripButton1" + Me.TSBtnSave.ToolTipText = "Daten speichern" + ' + 'ToolStripSeparator1 + ' + Me.ToolStripSeparator1.Name = "ToolStripSeparator1" + Me.ToolStripSeparator1.Size = New System.Drawing.Size(6, 25) + ' + 'TSBtnCopy + ' + Me.TSBtnCopy.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnCopy.Image = CType(resources.GetObject("TSBtnCopy.Image"), System.Drawing.Image) + Me.TSBtnCopy.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnCopy.Name = "TSBtnCopy" + Me.TSBtnCopy.Size = New System.Drawing.Size(23, 22) + Me.TSBtnCopy.Text = "ToolStripButton2" + Me.TSBtnCopy.ToolTipText = "Datensatz kopieren" + ' + 'TSBtnNew + ' + Me.TSBtnNew.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnNew.Image = CType(resources.GetObject("TSBtnNew.Image"), System.Drawing.Image) + Me.TSBtnNew.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnNew.Name = "TSBtnNew" + Me.TSBtnNew.Size = New System.Drawing.Size(23, 22) + Me.TSBtnNew.Text = "Neuer Datensatz" + Me.TSBtnNew.ToolTipText = "Neuer Datensatz" + ' + 'TSBtnDelete + ' + Me.TSBtnDelete.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnDelete.Image = CType(resources.GetObject("TSBtnDelete.Image"), System.Drawing.Image) + Me.TSBtnDelete.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnDelete.Name = "TSBtnDelete" + Me.TSBtnDelete.Size = New System.Drawing.Size(23, 22) + Me.TSBtnDelete.Text = "Datensatz inaktivieren" + Me.TSBtnDelete.ToolTipText = "Datensatz inaktivieren" + ' + 'MenuStrip1 + ' + Me.MenuStrip1.AllowMerge = False + Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DateiToolStripMenuItem}) + Me.MenuStrip1.Location = New System.Drawing.Point(0, 0) + Me.MenuStrip1.Name = "MenuStrip1" + Me.MenuStrip1.Size = New System.Drawing.Size(1178, 24) + Me.MenuStrip1.TabIndex = 3 + Me.MenuStrip1.Text = "MenuStrip1" + ' + 'DateiToolStripMenuItem + ' + Me.DateiToolStripMenuItem.Name = "DateiToolStripMenuItem" + Me.DateiToolStripMenuItem.Size = New System.Drawing.Size(46, 20) + Me.DateiToolStripMenuItem.Text = "&Datei" + ' + 'CheckBox1 + ' + Me.CheckBox1.AutoSize = True + Me.CheckBox1.Location = New System.Drawing.Point(87, 242) + Me.CheckBox1.Name = "CheckBox1" + Me.CheckBox1.Size = New System.Drawing.Size(15, 14) + Me.CheckBox1.TabIndex = 22 + Me.CheckBox1.UseVisualStyleBackColor = True + ' + 'Label11 + ' + Me.Label11.AutoSize = True + Me.Label11.Location = New System.Drawing.Point(15, 242) + Me.Label11.Name = "Label11" + Me.Label11.Size = New System.Drawing.Size(31, 13) + Me.Label11.TabIndex = 21 + Me.Label11.Text = "Aktiv" + ' + 'TextBox5 + ' + Me.TextBox5.Location = New System.Drawing.Point(87, 292) + Me.TextBox5.Name = "TextBox5" + Me.TextBox5.Size = New System.Drawing.Size(91, 20) + Me.TextBox5.TabIndex = 18 + ' + 'Label9 + ' + Me.Label9.AutoSize = True + Me.Label9.Location = New System.Drawing.Point(15, 295) + Me.Label9.Name = "Label9" + Me.Label9.Size = New System.Drawing.Size(56, 13) + Me.Label9.TabIndex = 17 + Me.Label9.Text = "Mutiert am" + ' + 'TextBox4 + ' + Me.TextBox4.Location = New System.Drawing.Point(87, 266) + Me.TextBox4.Name = "TextBox4" + Me.TextBox4.Size = New System.Drawing.Size(91, 20) + Me.TextBox4.TabIndex = 16 + ' + 'Label8 + ' + Me.Label8.AutoSize = True + Me.Label8.Location = New System.Drawing.Point(15, 269) + Me.Label8.Name = "Label8" + Me.Label8.Size = New System.Drawing.Size(55, 13) + Me.Label8.TabIndex = 15 + Me.Label8.Text = "Erstellt am" + ' + 'Label7 + ' + Me.Label7.AutoSize = True + Me.Label7.Location = New System.Drawing.Point(215, 218) + Me.Label7.Name = "Label7" + Me.Label7.Size = New System.Drawing.Size(20, 13) + Me.Label7.TabIndex = 14 + Me.Label7.Text = "bis" + ' + 'DateTimePicker2 + ' + Me.DateTimePicker2.Format = System.Windows.Forms.DateTimePickerFormat.[Short] + Me.DateTimePicker2.Location = New System.Drawing.Point(241, 216) + Me.DateTimePicker2.Name = "DateTimePicker2" + Me.DateTimePicker2.Size = New System.Drawing.Size(91, 20) + Me.DateTimePicker2.TabIndex = 13 + ' + 'DateTimePicker1 + ' + Me.DateTimePicker1.Format = System.Windows.Forms.DateTimePickerFormat.[Short] + Me.DateTimePicker1.Location = New System.Drawing.Point(87, 216) + Me.DateTimePicker1.Name = "DateTimePicker1" + Me.DateTimePicker1.Size = New System.Drawing.Size(91, 20) + Me.DateTimePicker1.TabIndex = 12 + ' + 'Label6 + ' + Me.Label6.AutoSize = True + Me.Label6.Location = New System.Drawing.Point(15, 219) + Me.Label6.Name = "Label6" + Me.Label6.Size = New System.Drawing.Size(49, 13) + Me.Label6.TabIndex = 11 + Me.Label6.Text = "Gültig ab" + ' + 'TextBox1 + ' + Me.TextBox1.Location = New System.Drawing.Point(87, 19) + Me.TextBox1.Name = "TextBox1" + Me.TextBox1.Size = New System.Drawing.Size(245, 20) + Me.TextBox1.TabIndex = 6 + ' + 'TextBox3 + ' + Me.TextBox3.Location = New System.Drawing.Point(87, 143) + Me.TextBox3.Multiline = True + Me.TextBox3.Name = "TextBox3" + Me.TextBox3.Size = New System.Drawing.Size(245, 66) + Me.TextBox3.TabIndex = 10 + ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.Location = New System.Drawing.Point(15, 22) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(27, 13) + Me.Label1.TabIndex = 5 + Me.Label1.Text = "Titel" + ' + 'Label3 + ' + Me.Label3.AutoSize = True + Me.Label3.Location = New System.Drawing.Point(15, 145) + Me.Label3.Name = "Label3" + Me.Label3.Size = New System.Drawing.Size(67, 13) + Me.Label3.TabIndex = 9 + Me.Label3.Text = "Suchbegriffe" + ' + 'Label2 + ' + Me.Label2.AutoSize = True + Me.Label2.Location = New System.Drawing.Point(15, 73) + Me.Label2.Name = "Label2" + Me.Label2.Size = New System.Drawing.Size(72, 13) + Me.Label2.TabIndex = 7 + Me.Label2.Text = "Beschreibung" + ' + 'TextBox2 + ' + Me.TextBox2.Location = New System.Drawing.Point(87, 71) + Me.TextBox2.Multiline = True + Me.TextBox2.Name = "TextBox2" + Me.TextBox2.Size = New System.Drawing.Size(245, 66) + Me.TextBox2.TabIndex = 8 + ' + 'TabControl1 + ' + Me.TabControl1.Controls.Add(Me.TabPage5) + Me.TabControl1.Controls.Add(Me.TabPage3) + Me.TabControl1.Controls.Add(Me.TabPage4) + Me.TabControl1.Controls.Add(Me.TabPage6) + Me.TabControl1.Controls.Add(Me.TabPage1) + Me.TabControl1.Dock = System.Windows.Forms.DockStyle.Fill + Me.TabControl1.Location = New System.Drawing.Point(0, 49) + Me.TabControl1.Name = "TabControl1" + Me.TabControl1.SelectedIndex = 0 + Me.TabControl1.Size = New System.Drawing.Size(1178, 542) + Me.TabControl1.TabIndex = 13 + ' + 'TabPage5 + ' + Me.TabPage5.BackColor = System.Drawing.SystemColors.Control + Me.TabPage5.Controls.Add(Me.GroupBox5) + Me.TabPage5.Controls.Add(Me.GroupBox4) + Me.TabPage5.Controls.Add(Me.GroupBox7) + Me.TabPage5.Location = New System.Drawing.Point(4, 22) + Me.TabPage5.Name = "TabPage5" + Me.TabPage5.Size = New System.Drawing.Size(1170, 516) + Me.TabPage5.TabIndex = 4 + Me.TabPage5.Text = "Allgemein" + ' + 'GroupBox5 + ' + Me.GroupBox5.Controls.Add(Me.C1TrueDBGrid1) + Me.GroupBox5.Controls.Add(Me.ToolStrip2) + Me.GroupBox5.Dock = System.Windows.Forms.DockStyle.Fill + Me.GroupBox5.Location = New System.Drawing.Point(348, 0) + Me.GroupBox5.Name = "GroupBox5" + Me.GroupBox5.Size = New System.Drawing.Size(822, 344) + Me.GroupBox5.TabIndex = 28 + Me.GroupBox5.TabStop = False + Me.GroupBox5.Text = "Dokumente" + ' + 'C1TrueDBGrid1 + ' + Me.C1TrueDBGrid1.Dock = System.Windows.Forms.DockStyle.Fill + Me.C1TrueDBGrid1.GroupByCaption = "Drag a column header here to group by that column" + Me.C1TrueDBGrid1.Images.Add(CType(resources.GetObject("C1TrueDBGrid1.Images"), System.Drawing.Image)) + Me.C1TrueDBGrid1.Location = New System.Drawing.Point(3, 41) + Me.C1TrueDBGrid1.Name = "C1TrueDBGrid1" + Me.C1TrueDBGrid1.PreviewInfo.Location = New System.Drawing.Point(0, 0) + Me.C1TrueDBGrid1.PreviewInfo.Size = New System.Drawing.Size(0, 0) + Me.C1TrueDBGrid1.PreviewInfo.ZoomFactor = 75.0R + Me.C1TrueDBGrid1.PrintInfo.PageSettings = CType(resources.GetObject("C1TrueDBGrid1.PrintInfo.PageSettings"), System.Drawing.Printing.PageSettings) + Me.C1TrueDBGrid1.Size = New System.Drawing.Size(816, 300) + Me.C1TrueDBGrid1.TabIndex = 8 + Me.C1TrueDBGrid1.Text = "C1TrueDBGrid1" + Me.C1TrueDBGrid1.PropBag = resources.GetString("C1TrueDBGrid1.PropBag") + ' + 'ToolStrip2 + ' + Me.ToolStrip2.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripButton4, Me.ToolStripButton5}) + Me.ToolStrip2.Location = New System.Drawing.Point(3, 16) + Me.ToolStrip2.Name = "ToolStrip2" + Me.ToolStrip2.Size = New System.Drawing.Size(816, 25) + Me.ToolStrip2.TabIndex = 7 + Me.ToolStrip2.Text = "ToolStrip2" + ' + 'ToolStripButton4 + ' + Me.ToolStripButton4.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton4.Image = CType(resources.GetObject("ToolStripButton4.Image"), System.Drawing.Image) + Me.ToolStripButton4.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton4.Name = "ToolStripButton4" + Me.ToolStripButton4.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton4.Text = "Neuer Datensatz" + Me.ToolStripButton4.ToolTipText = "Neuer Datensatz" + ' + 'ToolStripButton5 + ' + Me.ToolStripButton5.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton5.Image = CType(resources.GetObject("ToolStripButton5.Image"), System.Drawing.Image) + Me.ToolStripButton5.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton5.Name = "ToolStripButton5" + Me.ToolStripButton5.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton5.Text = "Datensatz inaktivieren" + Me.ToolStripButton5.ToolTipText = "Datensatz inaktivieren" + ' + 'GroupBox4 + ' + Me.GroupBox4.Controls.Add(Me.TextBox1) + Me.GroupBox4.Controls.Add(Me.TextBox7) + Me.GroupBox4.Controls.Add(Me.DateTimePicker2) + Me.GroupBox4.Controls.Add(Me.Label5) + Me.GroupBox4.Controls.Add(Me.Label7) + Me.GroupBox4.Controls.Add(Me.ComboBox3) + Me.GroupBox4.Controls.Add(Me.DateTimePicker1) + Me.GroupBox4.Controls.Add(Me.Label4) + Me.GroupBox4.Controls.Add(Me.Label8) + Me.GroupBox4.Controls.Add(Me.CheckBox1) + Me.GroupBox4.Controls.Add(Me.Label6) + Me.GroupBox4.Controls.Add(Me.Label1) + Me.GroupBox4.Controls.Add(Me.TextBox4) + Me.GroupBox4.Controls.Add(Me.Label11) + Me.GroupBox4.Controls.Add(Me.Label9) + Me.GroupBox4.Controls.Add(Me.TextBox2) + Me.GroupBox4.Controls.Add(Me.TextBox3) + Me.GroupBox4.Controls.Add(Me.Label2) + Me.GroupBox4.Controls.Add(Me.TextBox5) + Me.GroupBox4.Controls.Add(Me.Label3) + Me.GroupBox4.Dock = System.Windows.Forms.DockStyle.Left + Me.GroupBox4.Location = New System.Drawing.Point(0, 0) + Me.GroupBox4.Name = "GroupBox4" + Me.GroupBox4.Size = New System.Drawing.Size(348, 344) + Me.GroupBox4.TabIndex = 27 + Me.GroupBox4.TabStop = False + Me.GroupBox4.Text = "Thema" + ' + 'TextBox7 + ' + Me.TextBox7.Location = New System.Drawing.Point(87, 318) + Me.TextBox7.Name = "TextBox7" + Me.TextBox7.Size = New System.Drawing.Size(91, 20) + Me.TextBox7.TabIndex = 26 + ' + 'Label5 + ' + Me.Label5.AutoSize = True + Me.Label5.Location = New System.Drawing.Point(15, 321) + Me.Label5.Name = "Label5" + Me.Label5.Size = New System.Drawing.Size(69, 13) + Me.Label5.TabIndex = 25 + Me.Label5.Text = "Mutiert durch" + ' + 'ComboBox3 + ' + Me.ComboBox3.FormattingEnabled = True + Me.ComboBox3.Location = New System.Drawing.Point(87, 44) + Me.ComboBox3.Name = "ComboBox3" + Me.ComboBox3.Size = New System.Drawing.Size(245, 21) + Me.ComboBox3.TabIndex = 24 + ' + 'Label4 + ' + Me.Label4.AutoSize = True + Me.Label4.Location = New System.Drawing.Point(15, 49) + Me.Label4.Name = "Label4" + Me.Label4.Size = New System.Drawing.Size(52, 13) + Me.Label4.TabIndex = 23 + Me.Label4.Text = "Kategorie" + ' + 'GroupBox7 + ' + Me.GroupBox7.Controls.Add(Me.C1TrueDBGrid5) + Me.GroupBox7.Dock = System.Windows.Forms.DockStyle.Bottom + Me.GroupBox7.Location = New System.Drawing.Point(0, 344) + Me.GroupBox7.Name = "GroupBox7" + Me.GroupBox7.Size = New System.Drawing.Size(1170, 172) + Me.GroupBox7.TabIndex = 29 + Me.GroupBox7.TabStop = False + Me.GroupBox7.Text = "Beteiligte Personen" + ' + 'C1TrueDBGrid5 + ' + Me.C1TrueDBGrid5.Dock = System.Windows.Forms.DockStyle.Fill + Me.C1TrueDBGrid5.GroupByCaption = "Drag a column header here to group by that column" + Me.C1TrueDBGrid5.Images.Add(CType(resources.GetObject("C1TrueDBGrid5.Images"), System.Drawing.Image)) + Me.C1TrueDBGrid5.Location = New System.Drawing.Point(3, 16) + Me.C1TrueDBGrid5.Name = "C1TrueDBGrid5" + Me.C1TrueDBGrid5.PreviewInfo.Location = New System.Drawing.Point(0, 0) + Me.C1TrueDBGrid5.PreviewInfo.Size = New System.Drawing.Size(0, 0) + Me.C1TrueDBGrid5.PreviewInfo.ZoomFactor = 75.0R + Me.C1TrueDBGrid5.PrintInfo.PageSettings = CType(resources.GetObject("C1TrueDBGrid5.PrintInfo.PageSettings"), System.Drawing.Printing.PageSettings) + Me.C1TrueDBGrid5.Size = New System.Drawing.Size(1164, 153) + Me.C1TrueDBGrid5.TabIndex = 9 + Me.C1TrueDBGrid5.Text = "C1TrueDBGrid5" + Me.C1TrueDBGrid5.PropBag = resources.GetString("C1TrueDBGrid5.PropBag") + ' + 'TabPage3 + ' + Me.TabPage3.BackColor = System.Drawing.SystemColors.Control + Me.TabPage3.Controls.Add(Me.ShurtfEditor1) + Me.TabPage3.Controls.Add(Me.GroupBox6) + Me.TabPage3.Location = New System.Drawing.Point(4, 22) + Me.TabPage3.Name = "TabPage3" + Me.TabPage3.Size = New System.Drawing.Size(1170, 516) + Me.TabPage3.TabIndex = 2 + Me.TabPage3.Text = "Entwicklung" + ' + 'GroupBox6 + ' + Me.GroupBox6.Controls.Add(Me.TreeView2) + Me.GroupBox6.Controls.Add(Me.ToolStrip8) + Me.GroupBox6.Dock = System.Windows.Forms.DockStyle.Left + Me.GroupBox6.Location = New System.Drawing.Point(0, 0) + Me.GroupBox6.Name = "GroupBox6" + Me.GroupBox6.Size = New System.Drawing.Size(242, 516) + Me.GroupBox6.TabIndex = 4 + Me.GroupBox6.TabStop = False + ' + 'TreeView2 + ' + Me.TreeView2.ContextMenuStrip = Me.ContextMenuStrip1 + Me.TreeView2.Dock = System.Windows.Forms.DockStyle.Fill + Me.TreeView2.Location = New System.Drawing.Point(3, 41) + Me.TreeView2.Name = "TreeView2" + TreeNode1.Name = "Knoten0" + TreeNode1.Text = "Eintrag1" + TreeNode2.Name = "Knoten1" + TreeNode2.Text = "Eintrag2" + Me.TreeView2.Nodes.AddRange(New System.Windows.Forms.TreeNode() {TreeNode1, TreeNode2}) + Me.TreeView2.Size = New System.Drawing.Size(236, 472) + Me.TreeView2.TabIndex = 0 + ' + 'ContextMenuStrip1 + ' + Me.ContextMenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ÜbersichtToolStripMenuItem, Me.AllesToolStripMenuItem}) + Me.ContextMenuStrip1.Name = "ContextMenuStrip1" + Me.ContextMenuStrip1.Size = New System.Drawing.Size(125, 48) + ' + 'ÜbersichtToolStripMenuItem + ' + Me.ÜbersichtToolStripMenuItem.Name = "ÜbersichtToolStripMenuItem" + Me.ÜbersichtToolStripMenuItem.Size = New System.Drawing.Size(124, 22) + Me.ÜbersichtToolStripMenuItem.Text = "Übersicht" + ' + 'AllesToolStripMenuItem + ' + Me.AllesToolStripMenuItem.Name = "AllesToolStripMenuItem" + Me.AllesToolStripMenuItem.Size = New System.Drawing.Size(124, 22) + Me.AllesToolStripMenuItem.Text = "Alles" + ' + 'ToolStrip8 + ' + Me.ToolStrip8.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripButton22, Me.ToolStripButton23}) + Me.ToolStrip8.Location = New System.Drawing.Point(3, 16) + Me.ToolStrip8.Name = "ToolStrip8" + Me.ToolStrip8.Size = New System.Drawing.Size(236, 25) + Me.ToolStrip8.TabIndex = 1 + Me.ToolStrip8.Text = "ToolStrip8" + ' + 'ToolStripButton22 + ' + Me.ToolStripButton22.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text + Me.ToolStripButton22.Image = CType(resources.GetObject("ToolStripButton22.Image"), System.Drawing.Image) + Me.ToolStripButton22.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton22.Name = "ToolStripButton22" + Me.ToolStripButton22.Size = New System.Drawing.Size(61, 22) + Me.ToolStripButton22.Text = "Übersicht" + ' + 'ToolStripButton23 + ' + Me.ToolStripButton23.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text + Me.ToolStripButton23.Image = CType(resources.GetObject("ToolStripButton23.Image"), System.Drawing.Image) + Me.ToolStripButton23.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton23.Name = "ToolStripButton23" + Me.ToolStripButton23.Size = New System.Drawing.Size(36, 22) + Me.ToolStripButton23.Text = "Alles" + ' + 'TabPage4 + ' + Me.TabPage4.BackColor = System.Drawing.SystemColors.Control + Me.TabPage4.Controls.Add(Me.SplitContainer1) + Me.TabPage4.Controls.Add(Me.ToolStrip4) + Me.TabPage4.Location = New System.Drawing.Point(4, 22) + Me.TabPage4.Name = "TabPage4" + Me.TabPage4.Size = New System.Drawing.Size(1170, 516) + Me.TabPage4.TabIndex = 3 + Me.TabPage4.Text = "Kommunikation" + ' + 'SplitContainer1 + ' + Me.SplitContainer1.Dock = System.Windows.Forms.DockStyle.Fill + Me.SplitContainer1.Location = New System.Drawing.Point(0, 25) + Me.SplitContainer1.Name = "SplitContainer1" + ' + 'SplitContainer1.Panel1 + ' + Me.SplitContainer1.Panel1.Controls.Add(Me.GroupBox2) + ' + 'SplitContainer1.Panel2 + ' + Me.SplitContainer1.Panel2.Controls.Add(Me.TabControl2) + Me.SplitContainer1.Size = New System.Drawing.Size(1170, 491) + Me.SplitContainer1.SplitterDistance = 211 + Me.SplitContainer1.TabIndex = 10 + ' + 'GroupBox2 + ' + Me.GroupBox2.Controls.Add(Me.TreeView1) + Me.GroupBox2.Dock = System.Windows.Forms.DockStyle.Fill + Me.GroupBox2.Location = New System.Drawing.Point(0, 0) + Me.GroupBox2.Name = "GroupBox2" + Me.GroupBox2.Size = New System.Drawing.Size(211, 491) + Me.GroupBox2.TabIndex = 0 + Me.GroupBox2.TabStop = False + Me.GroupBox2.Text = "Datum" + ' + 'TreeView1 + ' + Me.TreeView1.Dock = System.Windows.Forms.DockStyle.Fill + Me.TreeView1.Location = New System.Drawing.Point(3, 16) + Me.TreeView1.Name = "TreeView1" + Me.TreeView1.Size = New System.Drawing.Size(205, 472) + Me.TreeView1.TabIndex = 0 + ' + 'TabControl2 + ' + Me.TabControl2.Controls.Add(Me.TabPage2) + Me.TabControl2.Controls.Add(Me.TabPage7) + Me.TabControl2.Dock = System.Windows.Forms.DockStyle.Fill + Me.TabControl2.Location = New System.Drawing.Point(0, 0) + Me.TabControl2.Name = "TabControl2" + Me.TabControl2.SelectedIndex = 0 + Me.TabControl2.Size = New System.Drawing.Size(955, 491) + Me.TabControl2.TabIndex = 1 + ' + 'TabPage2 + ' + Me.TabPage2.BackColor = System.Drawing.SystemColors.Control + Me.TabPage2.Controls.Add(Me.SplitContainer2) + Me.TabPage2.Controls.Add(Me.Panel3) + Me.TabPage2.Location = New System.Drawing.Point(4, 22) + Me.TabPage2.Name = "TabPage2" + Me.TabPage2.Padding = New System.Windows.Forms.Padding(3) + Me.TabPage2.Size = New System.Drawing.Size(947, 465) + Me.TabPage2.TabIndex = 0 + Me.TabPage2.Text = "Ausprägung 1" + ' + 'SplitContainer2 + ' + Me.SplitContainer2.Dock = System.Windows.Forms.DockStyle.Fill + Me.SplitContainer2.Location = New System.Drawing.Point(3, 103) + Me.SplitContainer2.Name = "SplitContainer2" + ' + 'SplitContainer2.Panel1 + ' + Me.SplitContainer2.Panel1.Controls.Add(Me.ShurtfEditor2) + ' + 'SplitContainer2.Panel2 + ' + Me.SplitContainer2.Panel2.Controls.Add(Me.GroupBox3) + Me.SplitContainer2.Size = New System.Drawing.Size(941, 359) + Me.SplitContainer2.SplitterDistance = 589 + Me.SplitContainer2.TabIndex = 1 + ' + 'GroupBox3 + ' + Me.GroupBox3.Controls.Add(Me.C1TrueDBGrid2) + Me.GroupBox3.Controls.Add(Me.ToolStrip5) + Me.GroupBox3.Dock = System.Windows.Forms.DockStyle.Fill + Me.GroupBox3.Location = New System.Drawing.Point(0, 0) + Me.GroupBox3.Name = "GroupBox3" + Me.GroupBox3.Size = New System.Drawing.Size(348, 359) + Me.GroupBox3.TabIndex = 0 + Me.GroupBox3.TabStop = False + Me.GroupBox3.Text = "Dokumente" + ' + 'C1TrueDBGrid2 + ' + Me.C1TrueDBGrid2.Dock = System.Windows.Forms.DockStyle.Fill + Me.C1TrueDBGrid2.GroupByCaption = "Drag a column header here to group by that column" + Me.C1TrueDBGrid2.Images.Add(CType(resources.GetObject("C1TrueDBGrid2.Images"), System.Drawing.Image)) + Me.C1TrueDBGrid2.Location = New System.Drawing.Point(3, 41) + Me.C1TrueDBGrid2.Name = "C1TrueDBGrid2" + Me.C1TrueDBGrid2.PreviewInfo.Location = New System.Drawing.Point(0, 0) + Me.C1TrueDBGrid2.PreviewInfo.Size = New System.Drawing.Size(0, 0) + Me.C1TrueDBGrid2.PreviewInfo.ZoomFactor = 75.0R + Me.C1TrueDBGrid2.PrintInfo.PageSettings = CType(resources.GetObject("C1TrueDBGrid2.PrintInfo.PageSettings"), System.Drawing.Printing.PageSettings) + Me.C1TrueDBGrid2.Size = New System.Drawing.Size(342, 315) + Me.C1TrueDBGrid2.TabIndex = 8 + Me.C1TrueDBGrid2.Text = "C1TrueDBGrid2" + Me.C1TrueDBGrid2.PropBag = resources.GetString("C1TrueDBGrid2.PropBag") + ' + 'ToolStrip5 + ' + Me.ToolStrip5.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripButton6, Me.ToolStripButton7}) + Me.ToolStrip5.Location = New System.Drawing.Point(3, 16) + Me.ToolStrip5.Name = "ToolStrip5" + Me.ToolStrip5.Size = New System.Drawing.Size(342, 25) + Me.ToolStrip5.TabIndex = 7 + Me.ToolStrip5.Text = "ToolStrip5" + ' + 'ToolStripButton6 + ' + Me.ToolStripButton6.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton6.Image = CType(resources.GetObject("ToolStripButton6.Image"), System.Drawing.Image) + Me.ToolStripButton6.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton6.Name = "ToolStripButton6" + Me.ToolStripButton6.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton6.Text = "Neuer Datensatz" + Me.ToolStripButton6.ToolTipText = "Neuer Datensatz" + ' + 'ToolStripButton7 + ' + Me.ToolStripButton7.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton7.Image = CType(resources.GetObject("ToolStripButton7.Image"), System.Drawing.Image) + Me.ToolStripButton7.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton7.Name = "ToolStripButton7" + Me.ToolStripButton7.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton7.Text = "Datensatz inaktivieren" + Me.ToolStripButton7.ToolTipText = "Datensatz inaktivieren" + ' + 'Panel3 + ' + Me.Panel3.Controls.Add(Me.Label10) + Me.Panel3.Controls.Add(Me.Label12) + Me.Panel3.Controls.Add(Me.CheckedListBox1) + Me.Panel3.Controls.Add(Me.TextBox6) + Me.Panel3.Dock = System.Windows.Forms.DockStyle.Top + Me.Panel3.Location = New System.Drawing.Point(3, 3) + Me.Panel3.Name = "Panel3" + Me.Panel3.Size = New System.Drawing.Size(941, 100) + Me.Panel3.TabIndex = 0 + ' + 'Label10 + ' + Me.Label10.AutoSize = True + Me.Label10.Location = New System.Drawing.Point(12, 10) + Me.Label10.Name = "Label10" + Me.Label10.Size = New System.Drawing.Size(72, 13) + Me.Label10.TabIndex = 0 + Me.Label10.Text = "Beschreibung" + ' + 'Label12 + ' + Me.Label12.AutoSize = True + Me.Label12.Location = New System.Drawing.Point(502, 10) + Me.Label12.Name = "Label12" + Me.Label12.Size = New System.Drawing.Size(63, 13) + Me.Label12.TabIndex = 2 + Me.Label12.Text = "Zielgruppen" + ' + 'CheckedListBox1 + ' + Me.CheckedListBox1.FormattingEnabled = True + Me.CheckedListBox1.Items.AddRange(New Object() {"Zielgruppe 1", "Zielgruppe 2", "Zielgruppe 3", "Zielgruppe 4"}) + Me.CheckedListBox1.Location = New System.Drawing.Point(571, 10) + Me.CheckedListBox1.Name = "CheckedListBox1" + Me.CheckedListBox1.Size = New System.Drawing.Size(181, 79) + Me.CheckedListBox1.TabIndex = 3 + ' + 'TextBox6 + ' + Me.TextBox6.Location = New System.Drawing.Point(90, 7) + Me.TextBox6.Multiline = True + Me.TextBox6.Name = "TextBox6" + Me.TextBox6.Size = New System.Drawing.Size(384, 82) + Me.TextBox6.TabIndex = 1 + ' + 'TabPage7 + ' + Me.TabPage7.BackColor = System.Drawing.SystemColors.Control + Me.TabPage7.Location = New System.Drawing.Point(4, 22) + Me.TabPage7.Name = "TabPage7" + Me.TabPage7.Padding = New System.Windows.Forms.Padding(3) + Me.TabPage7.Size = New System.Drawing.Size(947, 465) + Me.TabPage7.TabIndex = 1 + Me.TabPage7.Text = "Ausprägung 2" + ' + 'ToolStrip4 + ' + Me.ToolStrip4.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripButton2, Me.ToolStripButton3}) + Me.ToolStrip4.Location = New System.Drawing.Point(0, 0) + Me.ToolStrip4.Name = "ToolStrip4" + Me.ToolStrip4.Size = New System.Drawing.Size(1170, 25) + Me.ToolStrip4.TabIndex = 9 + Me.ToolStrip4.Text = "ToolStrip4" + ' + 'ToolStripButton2 + ' + Me.ToolStripButton2.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton2.Image = CType(resources.GetObject("ToolStripButton2.Image"), System.Drawing.Image) + Me.ToolStripButton2.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton2.Name = "ToolStripButton2" + Me.ToolStripButton2.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton2.Text = "Neuer Datensatz" + Me.ToolStripButton2.ToolTipText = "Neuer Datensatz" + ' + 'ToolStripButton3 + ' + Me.ToolStripButton3.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton3.Image = CType(resources.GetObject("ToolStripButton3.Image"), System.Drawing.Image) + Me.ToolStripButton3.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton3.Name = "ToolStripButton3" + Me.ToolStripButton3.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton3.Text = "Datensatz inaktivieren" + Me.ToolStripButton3.ToolTipText = "Datensatz inaktivieren" + ' + 'TabPage6 + ' + Me.TabPage6.BackColor = System.Drawing.SystemColors.Control + Me.TabPage6.Controls.Add(Me.C1TrueDBGrid4) + Me.TabPage6.Location = New System.Drawing.Point(4, 22) + Me.TabPage6.Name = "TabPage6" + Me.TabPage6.Size = New System.Drawing.Size(1170, 516) + Me.TabPage6.TabIndex = 5 + Me.TabPage6.Text = "History" + ' + 'C1TrueDBGrid4 + ' + Me.C1TrueDBGrid4.Dock = System.Windows.Forms.DockStyle.Fill + Me.C1TrueDBGrid4.GroupByCaption = "Drag a column header here to group by that column" + Me.C1TrueDBGrid4.Images.Add(CType(resources.GetObject("C1TrueDBGrid4.Images"), System.Drawing.Image)) + Me.C1TrueDBGrid4.Location = New System.Drawing.Point(0, 0) + Me.C1TrueDBGrid4.Name = "C1TrueDBGrid4" + Me.C1TrueDBGrid4.PreviewInfo.Location = New System.Drawing.Point(0, 0) + Me.C1TrueDBGrid4.PreviewInfo.Size = New System.Drawing.Size(0, 0) + Me.C1TrueDBGrid4.PreviewInfo.ZoomFactor = 75.0R + Me.C1TrueDBGrid4.PrintInfo.PageSettings = CType(resources.GetObject("C1TrueDBGrid4.PrintInfo.PageSettings"), System.Drawing.Printing.PageSettings) + Me.C1TrueDBGrid4.Size = New System.Drawing.Size(1170, 516) + Me.C1TrueDBGrid4.TabIndex = 8 + Me.C1TrueDBGrid4.Text = "C1TrueDBGrid4" + Me.C1TrueDBGrid4.PropBag = resources.GetString("C1TrueDBGrid4.PropBag") + ' + 'TabPage1 + ' + Me.TabPage1.BackColor = System.Drawing.SystemColors.Control + Me.TabPage1.Controls.Add(Me.C1TrueDBGrid3) + Me.TabPage1.Controls.Add(Me.ToolStrip7) + Me.TabPage1.Location = New System.Drawing.Point(4, 22) + Me.TabPage1.Name = "TabPage1" + Me.TabPage1.Size = New System.Drawing.Size(1170, 516) + Me.TabPage1.TabIndex = 6 + Me.TabPage1.Text = "Journal" + ' + 'C1TrueDBGrid3 + ' + Me.C1TrueDBGrid3.Dock = System.Windows.Forms.DockStyle.Fill + Me.C1TrueDBGrid3.GroupByCaption = "Drag a column header here to group by that column" + Me.C1TrueDBGrid3.Images.Add(CType(resources.GetObject("C1TrueDBGrid3.Images"), System.Drawing.Image)) + Me.C1TrueDBGrid3.Location = New System.Drawing.Point(0, 25) + Me.C1TrueDBGrid3.Name = "C1TrueDBGrid3" + Me.C1TrueDBGrid3.PreviewInfo.Location = New System.Drawing.Point(0, 0) + Me.C1TrueDBGrid3.PreviewInfo.Size = New System.Drawing.Size(0, 0) + Me.C1TrueDBGrid3.PreviewInfo.ZoomFactor = 75.0R + Me.C1TrueDBGrid3.PrintInfo.PageSettings = CType(resources.GetObject("C1TrueDBGrid3.PrintInfo.PageSettings"), System.Drawing.Printing.PageSettings) + Me.C1TrueDBGrid3.Size = New System.Drawing.Size(1170, 491) + Me.C1TrueDBGrid3.TabIndex = 8 + Me.C1TrueDBGrid3.Text = "C1TrueDBGrid3" + Me.C1TrueDBGrid3.PropBag = resources.GetString("C1TrueDBGrid3.PropBag") + ' + 'ToolStrip7 + ' + Me.ToolStrip7.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripButton20, Me.ToolStripButton21}) + Me.ToolStrip7.Location = New System.Drawing.Point(0, 0) + Me.ToolStrip7.Name = "ToolStrip7" + Me.ToolStrip7.Size = New System.Drawing.Size(1170, 25) + Me.ToolStrip7.TabIndex = 7 + Me.ToolStrip7.Text = "ToolStrip7" + ' + 'ToolStripButton20 + ' + Me.ToolStripButton20.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton20.Image = CType(resources.GetObject("ToolStripButton20.Image"), System.Drawing.Image) + Me.ToolStripButton20.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton20.Name = "ToolStripButton20" + Me.ToolStripButton20.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton20.Text = "Neuer Datensatz" + Me.ToolStripButton20.ToolTipText = "Neuer Datensatz" + ' + 'ToolStripButton21 + ' + Me.ToolStripButton21.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton21.Image = CType(resources.GetObject("ToolStripButton21.Image"), System.Drawing.Image) + Me.ToolStripButton21.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton21.Name = "ToolStripButton21" + Me.ToolStripButton21.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton21.Text = "Datensatz inaktivieren" + Me.ToolStripButton21.ToolTipText = "Datensatz inaktivieren" + ' + 'ShurtfEditor1 + ' + Me.ShurtfEditor1.Dock = System.Windows.Forms.DockStyle.Fill + Me.ShurtfEditor1.Location = New System.Drawing.Point(242, 0) + Me.ShurtfEditor1.Name = "ShurtfEditor1" + Me.ShurtfEditor1.Show_Filefunctions = False + Me.ShurtfEditor1.Size = New System.Drawing.Size(928, 516) + Me.ShurtfEditor1.TabIndex = 5 + ' + 'ShurtfEditor2 + ' + Me.ShurtfEditor2.Dock = System.Windows.Forms.DockStyle.Fill + Me.ShurtfEditor2.Location = New System.Drawing.Point(0, 0) + Me.ShurtfEditor2.Name = "ShurtfEditor2" + Me.ShurtfEditor2.Show_Filefunctions = False + Me.ShurtfEditor2.Size = New System.Drawing.Size(589, 359) + Me.ShurtfEditor2.TabIndex = 0 + ' + 'frmDetail + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(1178, 591) + Me.Controls.Add(Me.TabControl1) + Me.Controls.Add(Me.ToolStrip1) + Me.Controls.Add(Me.MenuStrip1) + Me.Name = "frmDetail" + Me.Text = "Thema/Issue" + Me.ToolStrip1.ResumeLayout(False) + Me.ToolStrip1.PerformLayout() + Me.MenuStrip1.ResumeLayout(False) + Me.MenuStrip1.PerformLayout() + Me.TabControl1.ResumeLayout(False) + Me.TabPage5.ResumeLayout(False) + Me.GroupBox5.ResumeLayout(False) + Me.GroupBox5.PerformLayout() + CType(Me.C1TrueDBGrid1, System.ComponentModel.ISupportInitialize).EndInit() + Me.ToolStrip2.ResumeLayout(False) + Me.ToolStrip2.PerformLayout() + Me.GroupBox4.ResumeLayout(False) + Me.GroupBox4.PerformLayout() + Me.GroupBox7.ResumeLayout(False) + CType(Me.C1TrueDBGrid5, System.ComponentModel.ISupportInitialize).EndInit() + Me.TabPage3.ResumeLayout(False) + Me.GroupBox6.ResumeLayout(False) + Me.GroupBox6.PerformLayout() + Me.ContextMenuStrip1.ResumeLayout(False) + Me.ToolStrip8.ResumeLayout(False) + Me.ToolStrip8.PerformLayout() + Me.TabPage4.ResumeLayout(False) + Me.TabPage4.PerformLayout() + Me.SplitContainer1.Panel1.ResumeLayout(False) + Me.SplitContainer1.Panel2.ResumeLayout(False) + CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).EndInit() + Me.SplitContainer1.ResumeLayout(False) + Me.GroupBox2.ResumeLayout(False) + Me.TabControl2.ResumeLayout(False) + Me.TabPage2.ResumeLayout(False) + Me.SplitContainer2.Panel1.ResumeLayout(False) + Me.SplitContainer2.Panel2.ResumeLayout(False) + CType(Me.SplitContainer2, System.ComponentModel.ISupportInitialize).EndInit() + Me.SplitContainer2.ResumeLayout(False) + Me.GroupBox3.ResumeLayout(False) + Me.GroupBox3.PerformLayout() + CType(Me.C1TrueDBGrid2, System.ComponentModel.ISupportInitialize).EndInit() + Me.ToolStrip5.ResumeLayout(False) + Me.ToolStrip5.PerformLayout() + Me.Panel3.ResumeLayout(False) + Me.Panel3.PerformLayout() + Me.ToolStrip4.ResumeLayout(False) + Me.ToolStrip4.PerformLayout() + Me.TabPage6.ResumeLayout(False) + CType(Me.C1TrueDBGrid4, System.ComponentModel.ISupportInitialize).EndInit() + Me.TabPage1.ResumeLayout(False) + Me.TabPage1.PerformLayout() + CType(Me.C1TrueDBGrid3, System.ComponentModel.ISupportInitialize).EndInit() + Me.ToolStrip7.ResumeLayout(False) + Me.ToolStrip7.PerformLayout() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents ToolStrip1 As System.Windows.Forms.ToolStrip + Friend WithEvents TSBtnQuit As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnNew As System.Windows.Forms.ToolStripButton + Friend WithEvents MenuStrip1 As System.Windows.Forms.MenuStrip + Friend WithEvents DateiToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents TSBtnSave As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripSeparator1 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents TSBtnCopy As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnDelete As System.Windows.Forms.ToolStripButton + Friend WithEvents Label7 As System.Windows.Forms.Label + Friend WithEvents DateTimePicker2 As System.Windows.Forms.DateTimePicker + Friend WithEvents DateTimePicker1 As System.Windows.Forms.DateTimePicker + Friend WithEvents Label6 As System.Windows.Forms.Label + Friend WithEvents TextBox1 As System.Windows.Forms.TextBox + Friend WithEvents TextBox3 As System.Windows.Forms.TextBox + Friend WithEvents Label1 As System.Windows.Forms.Label + Friend WithEvents Label3 As System.Windows.Forms.Label + Friend WithEvents Label2 As System.Windows.Forms.Label + Friend WithEvents TextBox2 As System.Windows.Forms.TextBox + Friend WithEvents CheckBox1 As System.Windows.Forms.CheckBox + Friend WithEvents Label11 As System.Windows.Forms.Label + Friend WithEvents TextBox5 As System.Windows.Forms.TextBox + Friend WithEvents Label9 As System.Windows.Forms.Label + Friend WithEvents TextBox4 As System.Windows.Forms.TextBox + Friend WithEvents Label8 As System.Windows.Forms.Label + Friend WithEvents TabControl1 As System.Windows.Forms.TabControl + Friend WithEvents TabPage3 As System.Windows.Forms.TabPage + Friend WithEvents TabPage4 As System.Windows.Forms.TabPage + Friend WithEvents TabPage5 As System.Windows.Forms.TabPage + Friend WithEvents SplitContainer1 As System.Windows.Forms.SplitContainer + Friend WithEvents GroupBox2 As System.Windows.Forms.GroupBox + Friend WithEvents TreeView1 As System.Windows.Forms.TreeView + Friend WithEvents Label12 As System.Windows.Forms.Label + Friend WithEvents TextBox6 As System.Windows.Forms.TextBox + Friend WithEvents Label10 As System.Windows.Forms.Label + Friend WithEvents GroupBox3 As System.Windows.Forms.GroupBox + Friend WithEvents C1TrueDBGrid2 As C1.Win.C1TrueDBGrid.C1TrueDBGrid + Friend WithEvents ToolStrip5 As System.Windows.Forms.ToolStrip + Friend WithEvents ToolStripButton6 As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripButton7 As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStrip4 As System.Windows.Forms.ToolStrip + Friend WithEvents ToolStripButton2 As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripButton3 As System.Windows.Forms.ToolStripButton + Friend WithEvents TabPage6 As System.Windows.Forms.TabPage + Friend WithEvents C1TrueDBGrid4 As C1.Win.C1TrueDBGrid.C1TrueDBGrid + Friend WithEvents TabPage1 As System.Windows.Forms.TabPage + Friend WithEvents C1TrueDBGrid3 As C1.Win.C1TrueDBGrid.C1TrueDBGrid + Friend WithEvents ToolStrip7 As System.Windows.Forms.ToolStrip + Friend WithEvents ToolStripButton20 As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripButton21 As System.Windows.Forms.ToolStripButton + Friend WithEvents TextBox7 As System.Windows.Forms.TextBox + Friend WithEvents Label5 As System.Windows.Forms.Label + Friend WithEvents ComboBox3 As System.Windows.Forms.ComboBox + Friend WithEvents Label4 As System.Windows.Forms.Label + Friend WithEvents GroupBox5 As System.Windows.Forms.GroupBox + Friend WithEvents C1TrueDBGrid1 As C1.Win.C1TrueDBGrid.C1TrueDBGrid + Friend WithEvents ToolStrip2 As System.Windows.Forms.ToolStrip + Friend WithEvents ToolStripButton4 As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripButton5 As System.Windows.Forms.ToolStripButton + Friend WithEvents GroupBox4 As System.Windows.Forms.GroupBox + Friend WithEvents GroupBox6 As System.Windows.Forms.GroupBox + Friend WithEvents TreeView2 As System.Windows.Forms.TreeView + Friend WithEvents ContextMenuStrip1 As System.Windows.Forms.ContextMenuStrip + Friend WithEvents ÜbersichtToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents AllesToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStrip8 As System.Windows.Forms.ToolStrip + Friend WithEvents ToolStripButton22 As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripButton23 As System.Windows.Forms.ToolStripButton + Friend WithEvents GroupBox7 As System.Windows.Forms.GroupBox + Friend WithEvents C1TrueDBGrid5 As C1.Win.C1TrueDBGrid.C1TrueDBGrid + Friend WithEvents CheckedListBox1 As System.Windows.Forms.CheckedListBox + Friend WithEvents TabControl2 As System.Windows.Forms.TabControl + Friend WithEvents TabPage2 As System.Windows.Forms.TabPage + Friend WithEvents TabPage7 As System.Windows.Forms.TabPage + Friend WithEvents SplitContainer2 As System.Windows.Forms.SplitContainer + Friend WithEvents Panel3 As System.Windows.Forms.Panel + Friend WithEvents ShurtfEditor1 As RTFEditor.SHURTFEditor + Friend WithEvents ShurtfEditor2 As RTFEditor.SHURTFEditor +End Class diff --git a/.svn/pristine/4d/4d6728ae85e7de1f7380dffb1116dd5c2fcce02f.svn-base b/.svn/pristine/4d/4d6728ae85e7de1f7380dffb1116dd5c2fcce02f.svn-base new file mode 100644 index 0000000..90413f2 Binary files /dev/null and b/.svn/pristine/4d/4d6728ae85e7de1f7380dffb1116dd5c2fcce02f.svn-base differ diff --git a/.svn/pristine/4e/4ea5a913a55b6bc434e154c7c648ae53ba4b1e0e.svn-base b/.svn/pristine/4e/4ea5a913a55b6bc434e154c7c648ae53ba4b1e0e.svn-base new file mode 100644 index 0000000..12adb49 --- /dev/null +++ b/.svn/pristine/4e/4ea5a913a55b6bc434e154c7c648ae53ba4b1e0e.svn-base @@ -0,0 +1,177 @@ + _ +Partial Class frmMain + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmMain)) + Me.MenuStrip1 = New System.Windows.Forms.MenuStrip() + Me.DateiToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.TehemnToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.PendenzenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.AuswertungenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ExtrasToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.SystemAdministrationToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStrip1 = New System.Windows.Forms.ToolStrip() + Me.TSBtnQuit = New System.Windows.Forms.ToolStripButton() + Me.TSBtnVertragsuebersicht = New System.Windows.Forms.ToolStripButton() + Me.TSBtnMonitoring = New System.Windows.Forms.ToolStripButton() + Me.TSBtnApplikationen = New System.Windows.Forms.ToolStripButton() + Me.ToolStripButton1 = New System.Windows.Forms.ToolStripButton() + Me.MenuStrip1.SuspendLayout() + Me.ToolStrip1.SuspendLayout() + Me.SuspendLayout() + ' + 'MenuStrip1 + ' + Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DateiToolStripMenuItem, Me.TehemnToolStripMenuItem, Me.PendenzenToolStripMenuItem, Me.AuswertungenToolStripMenuItem, Me.ExtrasToolStripMenuItem}) + Me.MenuStrip1.Location = New System.Drawing.Point(0, 0) + Me.MenuStrip1.Name = "MenuStrip1" + Me.MenuStrip1.Size = New System.Drawing.Size(990, 24) + Me.MenuStrip1.TabIndex = 1 + Me.MenuStrip1.Text = "MenuStrip1" + ' + 'DateiToolStripMenuItem + ' + Me.DateiToolStripMenuItem.Name = "DateiToolStripMenuItem" + Me.DateiToolStripMenuItem.Size = New System.Drawing.Size(46, 20) + Me.DateiToolStripMenuItem.Text = "&Datei" + ' + 'TehemnToolStripMenuItem + ' + Me.TehemnToolStripMenuItem.Name = "TehemnToolStripMenuItem" + Me.TehemnToolStripMenuItem.Size = New System.Drawing.Size(63, 20) + Me.TehemnToolStripMenuItem.Text = "&Themen" + ' + 'PendenzenToolStripMenuItem + ' + Me.PendenzenToolStripMenuItem.Name = "PendenzenToolStripMenuItem" + Me.PendenzenToolStripMenuItem.Size = New System.Drawing.Size(77, 20) + Me.PendenzenToolStripMenuItem.Text = "&Pendenzen" + ' + 'AuswertungenToolStripMenuItem + ' + Me.AuswertungenToolStripMenuItem.Name = "AuswertungenToolStripMenuItem" + Me.AuswertungenToolStripMenuItem.Size = New System.Drawing.Size(96, 20) + Me.AuswertungenToolStripMenuItem.Text = "&Auswertungen" + ' + 'ExtrasToolStripMenuItem + ' + Me.ExtrasToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.SystemAdministrationToolStripMenuItem}) + Me.ExtrasToolStripMenuItem.Name = "ExtrasToolStripMenuItem" + Me.ExtrasToolStripMenuItem.Size = New System.Drawing.Size(49, 20) + Me.ExtrasToolStripMenuItem.Text = "&Extras" + ' + 'SystemAdministrationToolStripMenuItem + ' + Me.SystemAdministrationToolStripMenuItem.Name = "SystemAdministrationToolStripMenuItem" + Me.SystemAdministrationToolStripMenuItem.Size = New System.Drawing.Size(196, 22) + Me.SystemAdministrationToolStripMenuItem.Text = "&System-Administration" + ' + 'ToolStrip1 + ' + Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.TSBtnQuit, Me.TSBtnVertragsuebersicht, Me.TSBtnMonitoring, Me.TSBtnApplikationen, Me.ToolStripButton1}) + Me.ToolStrip1.Location = New System.Drawing.Point(0, 24) + Me.ToolStrip1.Name = "ToolStrip1" + Me.ToolStrip1.Size = New System.Drawing.Size(990, 25) + Me.ToolStrip1.TabIndex = 2 + Me.ToolStrip1.Text = "ToolStrip1" + ' + 'TSBtnQuit + ' + Me.TSBtnQuit.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnQuit.Image = CType(resources.GetObject("TSBtnQuit.Image"), System.Drawing.Image) + Me.TSBtnQuit.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnQuit.Name = "TSBtnQuit" + Me.TSBtnQuit.Size = New System.Drawing.Size(23, 22) + Me.TSBtnQuit.Text = "ToolStripButton1" + Me.TSBtnQuit.ToolTipText = "Anwendung beenden" + ' + 'TSBtnVertragsuebersicht + ' + Me.TSBtnVertragsuebersicht.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnVertragsuebersicht.Image = CType(resources.GetObject("TSBtnVertragsuebersicht.Image"), System.Drawing.Image) + Me.TSBtnVertragsuebersicht.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnVertragsuebersicht.Name = "TSBtnVertragsuebersicht" + Me.TSBtnVertragsuebersicht.Size = New System.Drawing.Size(23, 22) + Me.TSBtnVertragsuebersicht.Text = "Vertragsübersicht" + ' + 'TSBtnMonitoring + ' + Me.TSBtnMonitoring.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnMonitoring.Image = CType(resources.GetObject("TSBtnMonitoring.Image"), System.Drawing.Image) + Me.TSBtnMonitoring.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnMonitoring.Name = "TSBtnMonitoring" + Me.TSBtnMonitoring.Size = New System.Drawing.Size(23, 22) + Me.TSBtnMonitoring.Text = "ToolStripButton3" + Me.TSBtnMonitoring.ToolTipText = "Monitoring" + ' + 'TSBtnApplikationen + ' + Me.TSBtnApplikationen.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnApplikationen.Image = CType(resources.GetObject("TSBtnApplikationen.Image"), System.Drawing.Image) + Me.TSBtnApplikationen.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnApplikationen.Name = "TSBtnApplikationen" + Me.TSBtnApplikationen.Size = New System.Drawing.Size(23, 22) + Me.TSBtnApplikationen.Text = "Applikationsverwaltung" + ' + 'ToolStripButton1 + ' + Me.ToolStripButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton1.Image = CType(resources.GetObject("ToolStripButton1.Image"), System.Drawing.Image) + Me.ToolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton1.Name = "ToolStripButton1" + Me.ToolStripButton1.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton1.Text = "Lizenzmanagement" + ' + 'frmMain + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(990, 518) + Me.Controls.Add(Me.ToolStrip1) + Me.Controls.Add(Me.MenuStrip1) + Me.IsMdiContainer = True + Me.MainMenuStrip = Me.MenuStrip1 + Me.Name = "frmMain" + Me.Text = "Themen-/Issue-Management TKB" + Me.MenuStrip1.ResumeLayout(False) + Me.MenuStrip1.PerformLayout() + Me.ToolStrip1.ResumeLayout(False) + Me.ToolStrip1.PerformLayout() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents MenuStrip1 As System.Windows.Forms.MenuStrip + Friend WithEvents DateiToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents TehemnToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents PendenzenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents AuswertungenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ExtrasToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents SystemAdministrationToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStrip1 As System.Windows.Forms.ToolStrip + Friend WithEvents TSBtnQuit As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnVertragsuebersicht As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnMonitoring As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnApplikationen As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripButton1 As System.Windows.Forms.ToolStripButton +End Class diff --git a/.svn/pristine/4e/4eb0c47ebe7eff3fe221ed45ecec9fe05d4d22e5.svn-base b/.svn/pristine/4e/4eb0c47ebe7eff3fe221ed45ecec9fe05d4d22e5.svn-base new file mode 100644 index 0000000..96a9c3e --- /dev/null +++ b/.svn/pristine/4e/4eb0c47ebe7eff3fe221ed45ecec9fe05d4d22e5.svn-base @@ -0,0 +1,113 @@ +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace db + + Public Class clsMySysadminfunkion + Inherits clsSysadminfunktion + +#Region "Select Hierarchy" + Public Function SelectHierarchy() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + 'scmCmdToExecute.CommandText = "dbo.[sp_sysadminfunktion_hierarchie]" + scmCmdToExecute.CommandText = "dbo.[sp_get_sysadmin_tree]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = New DataTable("sysadminfunktion") + Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@imitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Globals.clsmitarbeiter.iMitarbeiternr.Value)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iroot", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 0)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@isprache", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 1)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandant", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Globals.clsmitarbeiter.iMandantnr.Value)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(db.LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_sysadminfunktion_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSysadminfunktion::SelectAll::Error occured." + ex.Message, ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + +#End Region + +#Region "LoadTreeMenu" + Public Sub LoadTreeMenu(ByVal otv As TreeView) + Dim menueintraege As New clsMySysadminfunkion() + Dim menudata As DataTable + Dim i As Integer + Dim m_collDeletedNodes As Collection + Dim collNodeKeys As New Collection() + Dim tnNew As TreeNode + Dim tnParent As TreeNode + + m_collDeletedNodes = Nothing + m_collDeletedNodes = New Collection() + + menueintraege.cpMainConnectionProvider = conn + menudata = menueintraege.SelectHierarchy + + For i = 0 To menudata.Rows.Count - 1 + If menudata.Rows(i).Item("ParentID") = 0 Then + tnNew = otv.Nodes.Add(menudata.Rows(i).Item("bezeichnung")) + With tnNew + .Tag() = menudata.Rows(i).Item("sysadminfnktnr") + .ImageIndex() = menudata.Rows(i).Item("ImageIndex") + .SelectedImageIndex() = menudata.Rows(i).Item("ImageIndexOpen") + End With + Try + collNodeKeys.Add(tnNew, CType(menudata.Rows(i).Item("sysadminfnktnr"), String)) + Catch ex As Exception + MsgBox(ex.Message, MsgBoxStyle.Critical) + End Try + Else + Try + tnParent = CType(collNodeKeys.Item(CType(menudata.Rows(i).Item("ParentID"), String)), TreeNode) + tnNew = tnParent.Nodes.Add(CType(menudata.Rows(i).Item("bezeichnung"), String)) + With tnNew + .Tag() = CType(menudata.Rows(i).Item("sysadminfnktnr"), String) + .ImageIndex() = menudata.Rows(i).Item("ImageIndex") + .SelectedImageIndex() = menudata.Rows(i).Item("ImageIndexOpen") + End With + collNodeKeys.Add(tnNew, CType(menudata.Rows(i).Item("sysadminfnktnr"), String)) + Catch ex As Exception + MsgBox(ex.Message, MsgBoxStyle.Critical) + End Try + End If + Next + End Sub + +#End Region + + End Class +End Namespace diff --git a/.svn/pristine/4e/4ec0a31929b97b1452ad61def396a9bf75df28dd.svn-base b/.svn/pristine/4e/4ec0a31929b97b1452ad61def396a9bf75df28dd.svn-base new file mode 100644 index 0000000..aa394a9 Binary files /dev/null and b/.svn/pristine/4e/4ec0a31929b97b1452ad61def396a9bf75df28dd.svn-base differ diff --git a/.svn/pristine/51/5109cdd1647139eb1ba4ecde83a527b3cab6a37c.svn-base b/.svn/pristine/51/5109cdd1647139eb1ba4ecde83a527b3cab6a37c.svn-base new file mode 100644 index 0000000..3003532 Binary files /dev/null and b/.svn/pristine/51/5109cdd1647139eb1ba4ecde83a527b3cab6a37c.svn-base differ diff --git a/.svn/pristine/51/515664b3ee40723b49a5cfa5e96d5787f5edd5e3.svn-base b/.svn/pristine/51/515664b3ee40723b49a5cfa5e96d5787f5edd5e3.svn-base new file mode 100644 index 0000000..1555b81 --- /dev/null +++ b/.svn/pristine/51/515664b3ee40723b49a5cfa5e96d5787f5edd5e3.svn-base @@ -0,0 +1,516 @@ + _ +Partial Class frmDetail2 + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmDetail2)) + Me.CheckBox1 = New System.Windows.Forms.CheckBox() + Me.TextBox6 = New System.Windows.Forms.TextBox() + Me.Label10 = New System.Windows.Forms.Label() + Me.TextBox5 = New System.Windows.Forms.TextBox() + Me.Label9 = New System.Windows.Forms.Label() + Me.Label5 = New System.Windows.Forms.Label() + Me.Label11 = New System.Windows.Forms.Label() + Me.Label4 = New System.Windows.Forms.Label() + Me.ToolStrip1 = New System.Windows.Forms.ToolStrip() + Me.TSBtnQuit = New System.Windows.Forms.ToolStripButton() + Me.TSBtnSave = New System.Windows.Forms.ToolStripButton() + Me.ToolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator() + Me.TSBtnCopy = New System.Windows.Forms.ToolStripButton() + Me.TSBtnNew = New System.Windows.Forms.ToolStripButton() + Me.TSBtnDelete = New System.Windows.Forms.ToolStripButton() + Me.CheckedListBox2 = New System.Windows.Forms.CheckedListBox() + Me.TextBox4 = New System.Windows.Forms.TextBox() + Me.Label8 = New System.Windows.Forms.Label() + Me.Label7 = New System.Windows.Forms.Label() + Me.DateTimePicker2 = New System.Windows.Forms.DateTimePicker() + Me.DateTimePicker1 = New System.Windows.Forms.DateTimePicker() + Me.Label6 = New System.Windows.Forms.Label() + Me.TextBox1 = New System.Windows.Forms.TextBox() + Me.TextBox3 = New System.Windows.Forms.TextBox() + Me.Label1 = New System.Windows.Forms.Label() + Me.Label3 = New System.Windows.Forms.Label() + Me.Label2 = New System.Windows.Forms.Label() + Me.GroupBox1 = New System.Windows.Forms.GroupBox() + Me.TextBox2 = New System.Windows.Forms.TextBox() + Me.DateiToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.Panel1 = New System.Windows.Forms.Panel() + Me.GroupBox2 = New System.Windows.Forms.GroupBox() + Me.C1TrueDBGrid1 = New C1.Win.C1TrueDBGrid.C1TrueDBGrid() + Me.ToolStrip2 = New System.Windows.Forms.ToolStrip() + Me.ToolStripButton4 = New System.Windows.Forms.ToolStripButton() + Me.ToolStripButton5 = New System.Windows.Forms.ToolStripButton() + Me.Zuordnungem = New System.Windows.Forms.GroupBox() + Me.CheckedListBox1 = New System.Windows.Forms.CheckedListBox() + Me.MenuStrip1 = New System.Windows.Forms.MenuStrip() + Me.ToolStrip1.SuspendLayout() + Me.GroupBox1.SuspendLayout() + Me.Panel1.SuspendLayout() + Me.GroupBox2.SuspendLayout() + CType(Me.C1TrueDBGrid1, System.ComponentModel.ISupportInitialize).BeginInit() + Me.ToolStrip2.SuspendLayout() + Me.Zuordnungem.SuspendLayout() + Me.MenuStrip1.SuspendLayout() + Me.SuspendLayout() + ' + 'CheckBox1 + ' + Me.CheckBox1.AutoSize = True + Me.CheckBox1.Location = New System.Drawing.Point(85, 216) + Me.CheckBox1.Name = "CheckBox1" + Me.CheckBox1.Size = New System.Drawing.Size(15, 14) + Me.CheckBox1.TabIndex = 22 + Me.CheckBox1.UseVisualStyleBackColor = True + ' + 'TextBox6 + ' + Me.TextBox6.Location = New System.Drawing.Point(85, 292) + Me.TextBox6.Name = "TextBox6" + Me.TextBox6.Size = New System.Drawing.Size(91, 20) + Me.TextBox6.TabIndex = 20 + ' + 'Label10 + ' + Me.Label10.AutoSize = True + Me.Label10.Location = New System.Drawing.Point(13, 295) + Me.Label10.Name = "Label10" + Me.Label10.Size = New System.Drawing.Size(45, 13) + Me.Label10.TabIndex = 19 + Me.Label10.Text = "Mutierer" + ' + 'TextBox5 + ' + Me.TextBox5.Location = New System.Drawing.Point(85, 266) + Me.TextBox5.Name = "TextBox5" + Me.TextBox5.Size = New System.Drawing.Size(91, 20) + Me.TextBox5.TabIndex = 18 + ' + 'Label9 + ' + Me.Label9.AutoSize = True + Me.Label9.Location = New System.Drawing.Point(13, 269) + Me.Label9.Name = "Label9" + Me.Label9.Size = New System.Drawing.Size(56, 13) + Me.Label9.TabIndex = 17 + Me.Label9.Text = "Mutiert am" + ' + 'Label5 + ' + Me.Label5.AutoSize = True + Me.Label5.Location = New System.Drawing.Point(156, 19) + Me.Label5.Name = "Label5" + Me.Label5.Size = New System.Drawing.Size(51, 13) + Me.Label5.TabIndex = 3 + Me.Label5.Text = "Infokanal" + ' + 'Label11 + ' + Me.Label11.AutoSize = True + Me.Label11.Location = New System.Drawing.Point(13, 216) + Me.Label11.Name = "Label11" + Me.Label11.Size = New System.Drawing.Size(31, 13) + Me.Label11.TabIndex = 21 + Me.Label11.Text = "Aktiv" + ' + 'Label4 + ' + Me.Label4.AutoSize = True + Me.Label4.Location = New System.Drawing.Point(15, 19) + Me.Label4.Name = "Label4" + Me.Label4.Size = New System.Drawing.Size(57, 13) + Me.Label4.TabIndex = 2 + Me.Label4.Text = "Zielgruppe" + ' + 'ToolStrip1 + ' + Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.TSBtnQuit, Me.TSBtnSave, Me.ToolStripSeparator1, Me.TSBtnCopy, Me.TSBtnNew, Me.TSBtnDelete}) + Me.ToolStrip1.Location = New System.Drawing.Point(0, 24) + Me.ToolStrip1.Name = "ToolStrip1" + Me.ToolStrip1.Size = New System.Drawing.Size(961, 25) + Me.ToolStrip1.TabIndex = 7 + Me.ToolStrip1.Text = "ToolStrip1" + ' + 'TSBtnQuit + ' + Me.TSBtnQuit.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnQuit.Image = CType(resources.GetObject("TSBtnQuit.Image"), System.Drawing.Image) + Me.TSBtnQuit.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnQuit.Name = "TSBtnQuit" + Me.TSBtnQuit.Size = New System.Drawing.Size(23, 22) + Me.TSBtnQuit.Text = "ToolStripButton1" + Me.TSBtnQuit.ToolTipText = "Anwendung beenden" + ' + 'TSBtnSave + ' + Me.TSBtnSave.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnSave.Image = CType(resources.GetObject("TSBtnSave.Image"), System.Drawing.Image) + Me.TSBtnSave.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnSave.Name = "TSBtnSave" + Me.TSBtnSave.Size = New System.Drawing.Size(23, 22) + Me.TSBtnSave.Text = "ToolStripButton1" + Me.TSBtnSave.ToolTipText = "Daten speichern" + ' + 'ToolStripSeparator1 + ' + Me.ToolStripSeparator1.Name = "ToolStripSeparator1" + Me.ToolStripSeparator1.Size = New System.Drawing.Size(6, 25) + ' + 'TSBtnCopy + ' + Me.TSBtnCopy.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnCopy.Image = CType(resources.GetObject("TSBtnCopy.Image"), System.Drawing.Image) + Me.TSBtnCopy.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnCopy.Name = "TSBtnCopy" + Me.TSBtnCopy.Size = New System.Drawing.Size(23, 22) + Me.TSBtnCopy.Text = "ToolStripButton2" + Me.TSBtnCopy.ToolTipText = "Datensatz kopieren" + ' + 'TSBtnNew + ' + Me.TSBtnNew.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnNew.Image = CType(resources.GetObject("TSBtnNew.Image"), System.Drawing.Image) + Me.TSBtnNew.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnNew.Name = "TSBtnNew" + Me.TSBtnNew.Size = New System.Drawing.Size(23, 22) + Me.TSBtnNew.Text = "Neuer Datensatz" + Me.TSBtnNew.ToolTipText = "Neuer Datensatz" + ' + 'TSBtnDelete + ' + Me.TSBtnDelete.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnDelete.Image = CType(resources.GetObject("TSBtnDelete.Image"), System.Drawing.Image) + Me.TSBtnDelete.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnDelete.Name = "TSBtnDelete" + Me.TSBtnDelete.Size = New System.Drawing.Size(23, 22) + Me.TSBtnDelete.Text = "Datensatz inaktivieren" + Me.TSBtnDelete.ToolTipText = "Datensatz inaktivieren" + ' + 'CheckedListBox2 + ' + Me.CheckedListBox2.FormattingEnabled = True + Me.CheckedListBox2.Items.AddRange(New Object() {"Infokanal 1", "Infokanal 2", "Infokanal 3"}) + Me.CheckedListBox2.Location = New System.Drawing.Point(159, 36) + Me.CheckedListBox2.Name = "CheckedListBox2" + Me.CheckedListBox2.Size = New System.Drawing.Size(120, 94) + Me.CheckedListBox2.TabIndex = 1 + ' + 'TextBox4 + ' + Me.TextBox4.Location = New System.Drawing.Point(85, 240) + Me.TextBox4.Name = "TextBox4" + Me.TextBox4.Size = New System.Drawing.Size(91, 20) + Me.TextBox4.TabIndex = 16 + ' + 'Label8 + ' + Me.Label8.AutoSize = True + Me.Label8.Location = New System.Drawing.Point(13, 243) + Me.Label8.Name = "Label8" + Me.Label8.Size = New System.Drawing.Size(55, 13) + Me.Label8.TabIndex = 15 + Me.Label8.Text = "Erstellt am" + ' + 'Label7 + ' + Me.Label7.AutoSize = True + Me.Label7.Location = New System.Drawing.Point(213, 192) + Me.Label7.Name = "Label7" + Me.Label7.Size = New System.Drawing.Size(20, 13) + Me.Label7.TabIndex = 14 + Me.Label7.Text = "bis" + ' + 'DateTimePicker2 + ' + Me.DateTimePicker2.Format = System.Windows.Forms.DateTimePickerFormat.[Short] + Me.DateTimePicker2.Location = New System.Drawing.Point(239, 190) + Me.DateTimePicker2.Name = "DateTimePicker2" + Me.DateTimePicker2.Size = New System.Drawing.Size(91, 20) + Me.DateTimePicker2.TabIndex = 13 + ' + 'DateTimePicker1 + ' + Me.DateTimePicker1.Format = System.Windows.Forms.DateTimePickerFormat.[Short] + Me.DateTimePicker1.Location = New System.Drawing.Point(85, 190) + Me.DateTimePicker1.Name = "DateTimePicker1" + Me.DateTimePicker1.Size = New System.Drawing.Size(91, 20) + Me.DateTimePicker1.TabIndex = 12 + ' + 'Label6 + ' + Me.Label6.AutoSize = True + Me.Label6.Location = New System.Drawing.Point(13, 193) + Me.Label6.Name = "Label6" + Me.Label6.Size = New System.Drawing.Size(49, 13) + Me.Label6.TabIndex = 11 + Me.Label6.Text = "Gültig ab" + ' + 'TextBox1 + ' + Me.TextBox1.Location = New System.Drawing.Point(85, 19) + Me.TextBox1.Name = "TextBox1" + Me.TextBox1.Size = New System.Drawing.Size(245, 20) + Me.TextBox1.TabIndex = 6 + ' + 'TextBox3 + ' + Me.TextBox3.Location = New System.Drawing.Point(85, 117) + Me.TextBox3.Multiline = True + Me.TextBox3.Name = "TextBox3" + Me.TextBox3.Size = New System.Drawing.Size(245, 66) + Me.TextBox3.TabIndex = 10 + ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.Location = New System.Drawing.Point(13, 22) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(27, 13) + Me.Label1.TabIndex = 5 + Me.Label1.Text = "Titel" + ' + 'Label3 + ' + Me.Label3.AutoSize = True + Me.Label3.Location = New System.Drawing.Point(13, 119) + Me.Label3.Name = "Label3" + Me.Label3.Size = New System.Drawing.Size(67, 13) + Me.Label3.TabIndex = 9 + Me.Label3.Text = "Suchbegriffe" + ' + 'Label2 + ' + Me.Label2.AutoSize = True + Me.Label2.Location = New System.Drawing.Point(13, 47) + Me.Label2.Name = "Label2" + Me.Label2.Size = New System.Drawing.Size(72, 13) + Me.Label2.TabIndex = 7 + Me.Label2.Text = "Beschreibung" + ' + 'GroupBox1 + ' + Me.GroupBox1.Controls.Add(Me.CheckBox1) + Me.GroupBox1.Controls.Add(Me.Label11) + Me.GroupBox1.Controls.Add(Me.TextBox6) + Me.GroupBox1.Controls.Add(Me.Label10) + Me.GroupBox1.Controls.Add(Me.TextBox5) + Me.GroupBox1.Controls.Add(Me.Label9) + Me.GroupBox1.Controls.Add(Me.TextBox4) + Me.GroupBox1.Controls.Add(Me.Label8) + Me.GroupBox1.Controls.Add(Me.Label7) + Me.GroupBox1.Controls.Add(Me.DateTimePicker2) + Me.GroupBox1.Controls.Add(Me.DateTimePicker1) + Me.GroupBox1.Controls.Add(Me.Label6) + Me.GroupBox1.Controls.Add(Me.TextBox1) + Me.GroupBox1.Controls.Add(Me.TextBox3) + Me.GroupBox1.Controls.Add(Me.Label1) + Me.GroupBox1.Controls.Add(Me.Label3) + Me.GroupBox1.Controls.Add(Me.Label2) + Me.GroupBox1.Controls.Add(Me.TextBox2) + Me.GroupBox1.Dock = System.Windows.Forms.DockStyle.Left + Me.GroupBox1.Location = New System.Drawing.Point(0, 0) + Me.GroupBox1.Name = "GroupBox1" + Me.GroupBox1.Size = New System.Drawing.Size(358, 319) + Me.GroupBox1.TabIndex = 12 + Me.GroupBox1.TabStop = False + Me.GroupBox1.Text = "Allgemein" + ' + 'TextBox2 + ' + Me.TextBox2.Location = New System.Drawing.Point(85, 45) + Me.TextBox2.Multiline = True + Me.TextBox2.Name = "TextBox2" + Me.TextBox2.Size = New System.Drawing.Size(245, 66) + Me.TextBox2.TabIndex = 8 + ' + 'DateiToolStripMenuItem + ' + Me.DateiToolStripMenuItem.Name = "DateiToolStripMenuItem" + Me.DateiToolStripMenuItem.Size = New System.Drawing.Size(46, 20) + Me.DateiToolStripMenuItem.Text = "&Datei" + ' + 'Panel1 + ' + Me.Panel1.Controls.Add(Me.GroupBox2) + Me.Panel1.Controls.Add(Me.Zuordnungem) + Me.Panel1.Controls.Add(Me.GroupBox1) + Me.Panel1.Dock = System.Windows.Forms.DockStyle.Top + Me.Panel1.Location = New System.Drawing.Point(0, 49) + Me.Panel1.Name = "Panel1" + Me.Panel1.Size = New System.Drawing.Size(961, 319) + Me.Panel1.TabIndex = 8 + ' + 'GroupBox2 + ' + Me.GroupBox2.Controls.Add(Me.C1TrueDBGrid1) + Me.GroupBox2.Controls.Add(Me.ToolStrip2) + Me.GroupBox2.Dock = System.Windows.Forms.DockStyle.Fill + Me.GroupBox2.Location = New System.Drawing.Point(358, 143) + Me.GroupBox2.Name = "GroupBox2" + Me.GroupBox2.Size = New System.Drawing.Size(603, 176) + Me.GroupBox2.TabIndex = 14 + Me.GroupBox2.TabStop = False + Me.GroupBox2.Text = "Dokumente" + ' + 'C1TrueDBGrid1 + ' + Me.C1TrueDBGrid1.Dock = System.Windows.Forms.DockStyle.Fill + Me.C1TrueDBGrid1.Location = New System.Drawing.Point(3, 41) + Me.C1TrueDBGrid1.Name = "C1TrueDBGrid1" + Me.C1TrueDBGrid1.PreviewInfo.Location = New System.Drawing.Point(0, 0) + Me.C1TrueDBGrid1.PreviewInfo.Size = New System.Drawing.Size(0, 0) + Me.C1TrueDBGrid1.PreviewInfo.ZoomFactor = 75.0R + Me.C1TrueDBGrid1.PrintInfo.PageSettings = CType(resources.GetObject("C1TrueDBGrid1.PrintInfo.PageSettings"), System.Drawing.Printing.PageSettings) + Me.C1TrueDBGrid1.PropBag = resources.GetString("C1TrueDBGrid1.PropBag") + Me.C1TrueDBGrid1.Size = New System.Drawing.Size(597, 132) + Me.C1TrueDBGrid1.TabIndex = 6 + Me.C1TrueDBGrid1.Text = "C1TrueDBGrid1" + ' + 'ToolStrip2 + ' + Me.ToolStrip2.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripButton4, Me.ToolStripButton5}) + Me.ToolStrip2.Location = New System.Drawing.Point(3, 16) + Me.ToolStrip2.Name = "ToolStrip2" + Me.ToolStrip2.Size = New System.Drawing.Size(597, 25) + Me.ToolStrip2.TabIndex = 5 + Me.ToolStrip2.Text = "ToolStrip2" + ' + 'ToolStripButton4 + ' + Me.ToolStripButton4.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton4.Image = CType(resources.GetObject("ToolStripButton4.Image"), System.Drawing.Image) + Me.ToolStripButton4.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton4.Name = "ToolStripButton4" + Me.ToolStripButton4.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton4.Text = "Neuer Datensatz" + Me.ToolStripButton4.ToolTipText = "Neuer Datensatz" + ' + 'ToolStripButton5 + ' + Me.ToolStripButton5.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton5.Image = CType(resources.GetObject("ToolStripButton5.Image"), System.Drawing.Image) + Me.ToolStripButton5.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton5.Name = "ToolStripButton5" + Me.ToolStripButton5.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton5.Text = "Datensatz inaktivieren" + Me.ToolStripButton5.ToolTipText = "Datensatz inaktivieren" + ' + 'Zuordnungem + ' + Me.Zuordnungem.Controls.Add(Me.Label5) + Me.Zuordnungem.Controls.Add(Me.Label4) + Me.Zuordnungem.Controls.Add(Me.CheckedListBox2) + Me.Zuordnungem.Controls.Add(Me.CheckedListBox1) + Me.Zuordnungem.Dock = System.Windows.Forms.DockStyle.Top + Me.Zuordnungem.Location = New System.Drawing.Point(358, 0) + Me.Zuordnungem.Name = "Zuordnungem" + Me.Zuordnungem.Size = New System.Drawing.Size(603, 143) + Me.Zuordnungem.TabIndex = 13 + Me.Zuordnungem.TabStop = False + Me.Zuordnungem.Text = "Zuordnungen" + ' + 'CheckedListBox1 + ' + Me.CheckedListBox1.FormattingEnabled = True + Me.CheckedListBox1.Items.AddRange(New Object() {"Zielgruppe 1", "Zielgruppe 2", "Zielgruppe 3"}) + Me.CheckedListBox1.Location = New System.Drawing.Point(18, 35) + Me.CheckedListBox1.Name = "CheckedListBox1" + Me.CheckedListBox1.Size = New System.Drawing.Size(120, 94) + Me.CheckedListBox1.TabIndex = 0 + ' + 'MenuStrip1 + ' + Me.MenuStrip1.AllowMerge = False + Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DateiToolStripMenuItem}) + Me.MenuStrip1.Location = New System.Drawing.Point(0, 0) + Me.MenuStrip1.Name = "MenuStrip1" + Me.MenuStrip1.Size = New System.Drawing.Size(961, 24) + Me.MenuStrip1.TabIndex = 6 + Me.MenuStrip1.Text = "MenuStrip1" + ' + 'frmDetail2 + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(961, 618) + Me.Controls.Add(Me.Panel1) + Me.Controls.Add(Me.ToolStrip1) + Me.Controls.Add(Me.MenuStrip1) + Me.Name = "frmDetail2" + Me.Text = "frmDetail2" + Me.ToolStrip1.ResumeLayout(False) + Me.ToolStrip1.PerformLayout() + Me.GroupBox1.ResumeLayout(False) + Me.GroupBox1.PerformLayout() + Me.Panel1.ResumeLayout(False) + Me.GroupBox2.ResumeLayout(False) + Me.GroupBox2.PerformLayout() + CType(Me.C1TrueDBGrid1, System.ComponentModel.ISupportInitialize).EndInit() + Me.ToolStrip2.ResumeLayout(False) + Me.ToolStrip2.PerformLayout() + Me.Zuordnungem.ResumeLayout(False) + Me.Zuordnungem.PerformLayout() + Me.MenuStrip1.ResumeLayout(False) + Me.MenuStrip1.PerformLayout() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents CheckBox1 As System.Windows.Forms.CheckBox + Friend WithEvents TextBox6 As System.Windows.Forms.TextBox + Friend WithEvents Label10 As System.Windows.Forms.Label + Friend WithEvents TextBox5 As System.Windows.Forms.TextBox + Friend WithEvents Label9 As System.Windows.Forms.Label + Friend WithEvents Label5 As System.Windows.Forms.Label + Friend WithEvents Label11 As System.Windows.Forms.Label + Friend WithEvents Label4 As System.Windows.Forms.Label + Friend WithEvents ToolStrip1 As System.Windows.Forms.ToolStrip + Friend WithEvents TSBtnQuit As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnSave As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripSeparator1 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents TSBtnCopy As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnNew As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnDelete As System.Windows.Forms.ToolStripButton + Friend WithEvents CheckedListBox2 As System.Windows.Forms.CheckedListBox + Friend WithEvents TextBox4 As System.Windows.Forms.TextBox + Friend WithEvents Label8 As System.Windows.Forms.Label + Friend WithEvents Label7 As System.Windows.Forms.Label + Friend WithEvents DateTimePicker2 As System.Windows.Forms.DateTimePicker + Friend WithEvents DateTimePicker1 As System.Windows.Forms.DateTimePicker + Friend WithEvents Label6 As System.Windows.Forms.Label + Friend WithEvents TextBox1 As System.Windows.Forms.TextBox + Friend WithEvents TextBox3 As System.Windows.Forms.TextBox + Friend WithEvents Label1 As System.Windows.Forms.Label + Friend WithEvents Label3 As System.Windows.Forms.Label + Friend WithEvents Label2 As System.Windows.Forms.Label + Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox + Friend WithEvents TextBox2 As System.Windows.Forms.TextBox + Friend WithEvents DateiToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents Panel1 As System.Windows.Forms.Panel + Friend WithEvents GroupBox2 As System.Windows.Forms.GroupBox + Friend WithEvents C1TrueDBGrid1 As C1.Win.C1TrueDBGrid.C1TrueDBGrid + Friend WithEvents ToolStrip2 As System.Windows.Forms.ToolStrip + Friend WithEvents ToolStripButton4 As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripButton5 As System.Windows.Forms.ToolStripButton + Friend WithEvents Zuordnungem As System.Windows.Forms.GroupBox + Friend WithEvents CheckedListBox1 As System.Windows.Forms.CheckedListBox + Friend WithEvents MenuStrip1 As System.Windows.Forms.MenuStrip +End Class diff --git a/.svn/pristine/53/53d5049a96ad9379d10c5b1a3991142cb4c80328.svn-base b/.svn/pristine/53/53d5049a96ad9379d10c5b1a3991142cb4c80328.svn-base new file mode 100644 index 0000000..bb5bdc9 --- /dev/null +++ b/.svn/pristine/53/53d5049a96ad9379d10c5b1a3991142cb4c80328.svn-base @@ -0,0 +1,316 @@ +''' +''' Verbindungseditor: Verbindet 2 Domain-Tables in einer dritten Tabelle. +''' +''' +''' +Public Class frmVerbindungEditor + +#Region "Deklarationen" + Dim Fokus As Integer = 1 + Dim Domaintableleft As Sysadmin.DomainTable + Dim Domaintableright As Sysadmin.DomainTable + Dim domaintablebottom As Sysadmin.DomainTable + Dim SpaltenTitel As New Utils.Tabellenspalte + Dim SysadminfunktionNr As Integer + + Dim TablenameLeft As String + Dim TablenameRight As String + Dim TablenameBottom As String + Dim first As Boolean = True + + Dim msg As New Utils.MyMessage +#End Region + + ''' + ''' Laden der linken und rechten Tabelle + ''' + ''' + ''' + ''' + ''' + ''' + Public Sub New(ByVal TableLeft As String, ByVal TableRight As String, ByVal TableBottom As String, ByVal SysadminfnktNr As Integer) + InitializeComponent() + Me.Domaintableleft = New Sysadmin.DomainTable(TableLeft) + Me.Domaintableright = New Sysadmin.DomainTable(TableRight) + Me.TablenameLeft = TableLeft + Me.TablenameRight = TableRight + Me.TablenameBottom = TableBottom + Me.SysadminfunktionNr = SysadminfnktNr + End Sub + ''' + ''' Laden smlticher Tabellen + ''' + ''' + ''' + ''' + Private Sub FrmVerbindungEditor_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + Me.C1DatenLeft.DataSource = Domaintableleft.Tabledata + Me.C1DatenLeft.DataMember = Domaintableleft.Tabledata.Tables(0).TableName + + Me.C1DatenRight.DataSource = Domaintableright.Tabledata + Me.C1DatenRight.DataMember = Domaintableright.Tabledata.Tables(0).TableName + + SpaltenTitel.Spaltentitel_aktualisieren(Me.C1DatenLeft, TablenameLeft, Me.Domaintableleft.Tabledata) + SpaltenTitel.Spaltentitel_aktualisieren(Me.C1DatenRight, TablenameRight, Me.Domaintableright.Tabledata) + + Refresh_Bottomtable() + + Me.C1DatenLeft.AllowAddNew = False + Me.C1DatenLeft.AllowDelete = False + Me.C1DatenLeft.AllowUpdate = False + + Me.C1DatenRight.AllowAddNew = False + Me.C1DatenRight.AllowDelete = False + Me.C1DatenRight.AllowUpdate = False + + Me.C1DatenBottom.AllowAddNew = False + Me.C1DatenBottom.AllowDelete = False + + Me.GrpBoxLeft.Text = Me.TablenameLeft + Me.GrpBoxRight.Text = Me.TablenameRight + Me.GrpBoxBottom.Text = Me.TablenameBottom + first = False + End Sub + ''' + ''' Aktualiserung der Verbindungstabelle + ''' + ''' + Private Sub Refresh_Bottomtable() + Try + check_changes() + Me.domaintablebottom.dispose() + Catch + End Try + + Dim keyvalue As String = "" + + If Fokus = 1 Then + keyvalue = Me.C1DatenLeft.Columns(0).Value + Else + keyvalue = Me.C1DatenRight.Columns(0).Value + End If + Me.domaintablebottom = New Sysadmin.DomainTable(Me.TablenameBottom, Fokus, keyvalue) + Me.C1DatenBottom.DataSource = domaintablebottom.Tabledata + Me.C1DatenBottom.DataMember = domaintablebottom.Tabledata.Tables(0).TableName + SpaltenTitel.Spaltentitel_aktualisieren(Me.C1DatenBottom, TablenameBottom, Me.domaintablebottom.Tabledata) + End Sub + + + ''' + ''' Linker Fokus-Knopf bettigt + ''' + ''' + ''' + ''' + Private Sub BtnFocusLeft_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnFocusLeft.Click + Fokus = 1 + Me.BtnFocusLeft.ImageIndex = 1 + Me.BtnFocusRight.ImageIndex = 2 + Refresh_Bottomtable() + End Sub + + ''' + ''' Rechter Fokus-Knopf bettigt + ''' + ''' + ''' + ''' + Private Sub BtnFocusRight_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnFocusRight.Click + Me.Fokus = 2 + Me.BtnFocusRight.ImageIndex = 1 + Me.BtnFocusLeft.ImageIndex = 2 + Refresh_Bottomtable() + End Sub + ''' + ''' Prfung, ob Verbindungstabelle gendert wurde. + ''' + ''' + Private Sub check_changes() + If first Then Exit Sub + Dim msgres As MsgBoxResult + If Me.domaintablebottom.Tabledata.HasChanges Then + msgres = msg.Show_MessageYesNo(3) + If msgres = MsgBoxResult.Yes Then + Me.domaintablebottom.Save_Data() + End If + End If + End Sub + + ''' + ''' Formular schliessen + ''' + ''' + ''' + ''' + Private Sub BeendenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BeendenToolStripMenuItem.Click + check_changes() + Me.Close() + End Sub + ''' + ''' Formular schliessen + ''' + ''' + ''' + ''' + Private Sub TSBtnQuit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnQuit.Click + check_changes() + Me.Close() + End Sub + + ''' + ''' Formular-Resize: Button Verbinden und Button Focus-Rechts neu positionieren + ''' + ''' + ''' + ''' + Private Sub FrmVerbindungEditor_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize + Me.BtnFocusRight.Left = Me.Width - (Me.BtnFocusRight.Width + 10) + Me.BtnVerbinden.Left = Me.SplitContainer2.Panel1.Width - (Me.BtnVerbinden.Width / 2) + End Sub + ''' + ''' Verbindungstabelle sichern + ''' + ''' + ''' + ''' + Private Sub TSBtnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnSave.Click + Me.domaintablebottom.Save_Data() + End Sub + + ''' + ''' Nach Datenmutation der unteren Tabelle mutiert_am und mutierer nachfhren + ''' + ''' + ''' + ''' + Private Sub C1DatenBottom_AfterColUpdate(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.ColEventArgs) Handles C1DatenBottom.AfterColUpdate + Dim i As Integer + For i = 0 To Me.C1DatenBottom.Columns.Count - 1 + If LCase(Me.C1DatenBottom.Columns(i).DataField) = "mutiert_am" Then Me.C1DatenBottom.Columns(i).Value = Now + If LCase(Me.C1DatenBottom.Columns(i).DataField) = "mutierer" Then Me.C1DatenBottom.Columns(i).Value = Globals.clsmitarbeiter.iMitarbeiternr.Value + Next + End Sub + + ''' + ''' Doppelklick in linken Grid + ''' + ''' + ''' + ''' + Private Sub C1DatenLeft_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles C1DatenLeft.DoubleClick + Try + Me.BtnVerbinden_Click(sender, e) + Catch + End Try + End Sub + ''' + ''' Linke Tabelle angeklickt + ''' + ''' + ''' + ''' + Private Sub TBLeft_Click(ByVal sender As System.Object, ByVal e As C1.Win.C1TrueDBGrid.RowColChangeEventArgs) Handles C1DatenLeft.RowColChange + Try + check_changes() + Refresh_Bottomtable() + Catch + End Try + End Sub + ''' + ''' Doppelklick im rechten Grid + ''' + ''' + ''' + ''' + Private Sub C1DatenRight_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles C1DatenRight.DoubleClick + Try + Me.BtnVerbinden_Click(sender, e) + Catch ex As Exception + + End Try + End Sub + ''' + ''' Rechte Tabelle angeklickt + ''' + ''' + ''' + ''' + Private Sub TBRight_Click(ByVal sender As System.Object, ByVal e As C1.Win.C1TrueDBGrid.RowColChangeEventArgs) Handles C1DatenRight.RowColChange + check_changes() + Refresh_Bottomtable() + End Sub + ''' + ''' Die linke und rechte Domain-Table in der unteren Tabelle verbinden. + ''' Daten sichern und erneut laden + ''' + ''' + ''' + ''' + Private Sub BtnVerbinden_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnVerbinden.Click + check_changes() + Dim ileft As Integer = Me.C1DatenLeft.SelectedRows.Count + Dim iright As Integer = Me.C1DatenRight.SelectedRows.Count + Dim ic As Integer = 0 + Dim Currentsel As Boolean + Dim colrows As C1.Win.C1TrueDBGrid.SelectedRowCollection + Dim keyvalueleft As Integer = 0 + Dim Keyvalueright As Integer = 0 + If (Me.Fokus = 1 And ileft > 1) Or (Me.Fokus = 2 And iright > 1) Then + Me.msg.show_standardmessage(4, MsgBoxStyle.Exclamation) + Exit Sub + End If + If Me.Fokus = 1 Then + ic = iright + colrows = Me.C1DatenRight.SelectedRows + End If + If Me.Fokus = 2 Then + ic = ileft + colrows = Me.C1DatenLeft.SelectedRows + End If + If ic = 0 Then + ic = ic + 1 + Currentsel = True + End If + Dim i As Integer + For i = 0 To ic - 1 + If Me.Fokus = 1 Then + keyvalueleft = Me.C1DatenLeft.Columns(0).Value + If Currentsel = True Then + Keyvalueright = Me.C1DatenRight.Columns(0).Value + Else + Keyvalueright = Me.C1DatenRight.Columns(0).CellValue(colrows(i)) + End If + Else + Keyvalueright = Me.C1DatenRight.Columns(0).Value + If Currentsel = True Then + keyvalueleft = Me.C1DatenLeft.Columns(0).Value + Else + keyvalueleft = Me.C1DatenLeft.Columns(0).CellValue(colrows(i)) + End If + End If + Next + Me.domaintablebottom.Insert_Bottom_Table(Me.Domaintableleft.Tabledata.Tables(0).Columns(0).ColumnName, keyvalueleft, Me.Domaintableright.Tabledata.Tables(0).Columns(0).ColumnName, Keyvalueright) + Me.domaintablebottom.Save_Data() + Me.Refresh_Bottomtable() + End Sub + + ''' + ''' Anzeige allflliger Cellen-Tips + ''' + ''' + ''' + ''' + Private Sub C1DatenBottom_FetchCellTips(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.FetchCellTipsEventArgs) Handles C1DatenBottom.FetchCellTips + Dim ts As New Utils.Tabellenspalte + ts.Tabelle = Me.TablenameBottom + Try + ts.Feld = Me.C1DatenBottom.Columns(e.ColIndex).DataField.ToString + ts.getspalte() + e.CellTip = ts.TipText + Catch + End Try + ts = Nothing + + End Sub +End Class \ No newline at end of file diff --git a/.svn/pristine/56/5624b1fae39cc8e68fa45353fa944fe02d579b14.svn-base b/.svn/pristine/56/5624b1fae39cc8e68fa45353fa944fe02d579b14.svn-base new file mode 100644 index 0000000..a8df8ab --- /dev/null +++ b/.svn/pristine/56/5624b1fae39cc8e68fa45353fa944fe02d579b14.svn-base @@ -0,0 +1,13 @@ +Public Class Themenübersicht + + Private Sub TextBox5_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox5.TextChanged + + End Sub + Private Sub Label9_Click(sender As System.Object, e As System.EventArgs) Handles Label9.Click + + End Sub + + Private Sub ÜbersichtToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) + + End Sub +End Class \ No newline at end of file diff --git a/.svn/pristine/56/56611649a4886be41ee08c03fe6195c3907a5e99.svn-base b/.svn/pristine/56/56611649a4886be41ee08c03fe6195c3907a5e99.svn-base new file mode 100644 index 0000000..0754512 Binary files /dev/null and b/.svn/pristine/56/56611649a4886be41ee08c03fe6195c3907a5e99.svn-base differ diff --git a/.svn/pristine/5c/5c76a50002883f5d10afc54985cfa0669e3eaa33.svn-base b/.svn/pristine/5c/5c76a50002883f5d10afc54985cfa0669e3eaa33.svn-base new file mode 100644 index 0000000..5968b5a Binary files /dev/null and b/.svn/pristine/5c/5c76a50002883f5d10afc54985cfa0669e3eaa33.svn-base differ diff --git a/.svn/pristine/5c/5cbdc3305118f049524e47b43afeff3191cda444.svn-base b/.svn/pristine/5c/5cbdc3305118f049524e47b43afeff3191cda444.svn-base new file mode 100644 index 0000000..c0d6c3c Binary files /dev/null and b/.svn/pristine/5c/5cbdc3305118f049524e47b43afeff3191cda444.svn-base differ diff --git a/.svn/pristine/5d/5d7c5b918c6aa80d2340488d26ff1418a2472ed8.svn-base b/.svn/pristine/5d/5d7c5b918c6aa80d2340488d26ff1418a2472ed8.svn-base new file mode 100644 index 0000000..9daa3f5 Binary files /dev/null and b/.svn/pristine/5d/5d7c5b918c6aa80d2340488d26ff1418a2472ed8.svn-base differ diff --git a/.svn/pristine/5e/5ed43920f6b2c9a986902de4ee11d43b6e97f54f.svn-base b/.svn/pristine/5e/5ed43920f6b2c9a986902de4ee11d43b6e97f54f.svn-base new file mode 100644 index 0000000..f100d54 --- /dev/null +++ b/.svn/pristine/5e/5ed43920f6b2c9a986902de4ee11d43b6e97f54f.svn-base @@ -0,0 +1,275 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 239, 17 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACkSURBVDhPlZOBDoAgCET9dD7NPyNPgpAIzY21oTzPg1rL + F4/0aaQEJqJXAIo8Vu9dL9gDYiGRgG6VCwBJLDvgbxRVsodvBPiEASDXF3mIB3AbBzPjBLDeHBVIcRbj + KScKuMGQElArmKZNSNJ7VYC2Ib48EIjE0gX1QPerLigkATytqxT4gQht3HsQx9H8+OpCeHL+R+FQnIPT + QiXaHPwtNMCu8ALckGXYKNsEDQAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIISURBVDhPpZP7S1NxGMbPPxKaXVUkMEq8IpKUCoY/hGgI + ymqkDYYXcCjDZOANURSjCNGFQUTsl4GXVMxKk62YU4fXQpaIlygHQxBRH8/zwvyaIAYe+HLgnPN8nue9 + HA3nvDTq63oW/jm13XOwvPTB3DYFY5MH+bXfcN8ygfTSMSSXfESicQDxBqdYHwH29g9w2tnZ3UcguIvN + rR3417exuBJE5N1n/wfwLgXEOc38Bc6xNRHb+/y4nm49G0Bnit2zf9H6bkliE/jKuYxrd6oVgDWfjB+K + TWeKMyrGEVfowITvD9re/9ABVQrAhh0HHK+ZselMMaN/mvwtDb+aVqkA7HYIwIj3ysfluPTorJnP6Ezx + oHsD1s5ZXEktUwCOioB5f1CEPR9+wTG6iuiserTo8dkwng7HT/R+XUPF8xlcTjErAOdMcW6NW8STiwG8 + 7vej8oUPN/PsEv3t8Ao0TZP3T1u8uJRkUgAuSYHtO97oLxmXd5t9Ho8aPTK+GzntqNfrLm2fFoihwYOI + xGIF4KjoGBLzY1OrF9k6OOFxnwDC4wxIMX1G0pMhgVyMNyoA13PAtS7OrJk1PrC69LUdQWxuF6IybHrX + LRI7JrtZdoDAo1XmbjMyD+tjSXxGcXRmnYg5ttD9QuxDhN0uUgDOmbvNTpPOJaGAo2K36cyaGZvOFIfd + KlSA8/zRh9ABIDUG+1JpAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADASURBVFhH7VZJDsAgCPTpPs2fdSHFGCowVntog4kHzQDj + sLQpxQoFQgFfge2AtFuzQHF+RIFAHaO4IAArICWlc86ZNntpzl08HE0CryA3p809m1RSis0wB3JYSuGX + ai+r96yCYwMTocDn0lQQbSlTM50KiACQ+8dtCaXgVQI9iRfc4TWwIFivDnACTheY3wIjNWMEjC4wCZyt + qLTjxwgYQ8VNwbQCPPOVYnT/B2ZHsjd6XQKDxOHaCGAoEAr8U4Ed/ZKEYE1lTioAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEMSURBVFhH7VZbDoQgDOToHI2b4ZaIK6WlY4E/TIgJ9jEz + fcQQznMUABXIIeT3Ad2Kmdevy+EB4fHhiX8xiESrAAVmho/dbd8wF+xhEV0AVjCvCBtmg8AoUJi5C8A2 + 5lofxBgzHaVHeJ/g7GvQmri+6Z6zlO5efnjS27IwSik9zDgIDkCQnU/EJyVKYno0FUYAOFiPEiaAQb0l + 5vUOLoVZgu0ABjKK3V5LYvjhCmiBnM23pgTSgpG6/70XGBFcAT4Fo+3Gv9H4KiPsA2Ct1m0AiIWyYBom + 0lacVsAYs05KCYTQyHgJjNVqAlCmCANg1VyK4vER0cwEmvHt/t0oGKbX32oKwNdkx/4osFKBCw1pbK1R + yCECAAAAAElFTkSuQmCC + + + + + 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 + gg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAK5SURBVDhPfVNbSFRRFL13xqnMcfTOHe887jiP7KMko6Ig + IzMKE5VIIbBMmzLCEiuFsrHIAs3MB6Tmo6RmlB5EOTZqlOJkVqJGfkSB9qF+9JMKfQR+hDCrc44oOYkX + Fpt79l7r7LP2ORz3/xfHCbJLsSVxXJHgmFMcINiWOEHW3KR0zzL1i0siL8jtqqQCqK92QFvug666H2Ll + Owgl3Qgp9ECVmA9S85IwdIFCeoUcMxqa8wBy5VtY7ryHpboPkbd7YS7rhlzyGqYbXZCcHqiz6qGQoseI + gH5BhOcFc6+Q64a19iOshGytG4CtaRj25s8MtvpBIuaD8Uo7DJeeIyyjFny42UcEeCqSGnrQOU+u+QBb + wxDslLwMaI3hchukC0+wNj4PlMvxgtUrl/WwtqkAE/oHMfeGUNw/gU1Ng6w7S1UfpPOPIZ5qBq+Rvdyq + 6H3Ti2euIucnBZEk2ogHzp7vmJn9A7/fD0fbF0RW+FjOWNQO8fRDqKJ2T3Gh+zP91DAz6cJ8s5vFtNZP + +PbzNyMuwPFsBHLpG1ZDDRWzm7EmJtnPaRKO+6nbputdBJ0s/vg1u4RMRbIeDcN0rQOmYlJDotbRhODN + KX5OvT1lio7KWOSBwdlG4MGO0k50jkwuEcl0DcBQ+IKZSCehPVaPVdbYGS7IssFL50yTUv5TSAUENBKj + Uitf4evkNBNKb5w3j+YizrZAOFJHLpXdy8aoO1HOOtCRRCAkYtbhW16YckkuxwXdGTfbXb33HB3jISrA + q4zrffqL87uKJ++vCG1mA8LTKsju5t6Fi0RF9Kujto5JeW5E5LZCm9UI4WjdUmTcZf9hqeVQShtHCUcK + fA+6IJ3Fq0nOJ2262JioEG1XS8npNQjZlU0uj95DiOJKrzJeqdG3KNfFTgRbk+eCrUlzSvvOcT5EchFS + XCDxL/J9y/TQNZChAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAALASURBVDhPdVNrSJNRGN63OWHsom5z+8zpN5Mi+pEQRWEO + KzFSMalfaV4qIaywkszUoASjzBTyMpNmU4O0rJwzIVxe2lIy608hKuSlIAIt+9OPoOX3dM7RDS078PCd + 9z3Peb73diSSf5dFotQ1S2Pip6WJOV7pPgKypz5CtazB97t0nFrvkCcViKpL3dBWDEBf7YG+yo2Qqy6o + ijoh339OJJwuckP3t5BBatg0ocmzI/zmIIRbHkRWDyKish+may6Elz9DeFkPjMWdUGVbITVETxIBg1+E + U/N92tOtEOqGIdR4YK4fRlTjKKJsbxnMDSNMLKy0C3zRYwRl1IJTG/t8Amnq1JLlyy8ZmV1eA0LtEPiL + T2A42wbl7nwQgTQJp+SdNEwatlAzhHTHGHK6x0HJPphJZMUDU0h9+I6k9gKGM/ehy20CpyT1CNy8d96X + c2TVIDwfFyCKItzkm9A8CuqLa3oFutyzC8wOK3VAf8IOuSl2TqJJyBJpwUzXXaRgvfDMfGNkun79XsTd + N5+QbB9hNj2jHFpQ3XEbFFviFyWaxGyRFmjdlR4Gz9RXv4Bv0/p6dkmAnDHe5afQ5TQSgRRRIt+WMkdr + EFbiAE/a5P4w5xf4/uMnSjpGYanqXUqBnFEOf+ERtJkNCNxgmZcEhApO2mfaHmNBO/rHv8BLQre53mNj + 4QPm21rmZHVxjX1mdujJVoQcrgOn4Z20lWn6oxUsAnoQW9qBHUVt0Oe1MJuC7g+UOxBzvo3Z2kwrVHuW + 20gEuIBQUz9f2L7UnmM2gjv/BQ09+FAlGST++cpxNsoiYiYN+eSvp+5Bm3Ub2vT61cigdh2CD96AzBA9 + sWqUl5X0nMboDEouEPV5zWxQmNARK7QZVpJzLZS7ckVOqetc6zGtjCaeU4a0yNbvnFEIyV6FkOSVmbdP + cwqNnZDi/n6FfwBZJ9zZ5qzsngAAAABJRU5ErkJggg== + + + + 346, 17 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0 + dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACRTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5QYWdlU2V0dGluZ3MHAAAAD3ByaW50ZXJTZXR0aW5ncwVjb2xvcglwYXBlclNp + emULcGFwZXJTb3VyY2URcHJpbnRlclJlc29sdXRpb24JbGFuZHNjYXBlB21hcmdpbnMEBAQEBAQEJ1N5 + c3RlbS5EcmF3aW5nLlByaW50aW5nLlByaW50ZXJTZXR0aW5ncwIAAAAgU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuVHJpU3RhdGUCAAAAIVN5c3RlbS5EcmF3aW5nLlByaW50aW5nLlBhcGVyU2l6ZQIAAAAjU3lz + dGVtLkRyYXdpbmcuUHJpbnRpbmcuUGFwZXJTb3VyY2UCAAAAKVN5c3RlbS5EcmF3aW5nLlByaW50aW5n + LlByaW50ZXJSZXNvbHV0aW9uAgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAf + U3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuTWFyZ2lucwIAAAACAAAACQMAAAAF/P///yBTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5UcmlTdGF0ZQEAAAAFdmFsdWUAAgIAAAAACgoKAfv////8////AAkGAAAABQMA + AAAnU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRlclNldHRpbmdzEgAAAAtwcmludGVyTmFtZQpk + cml2ZXJOYW1lCm91dHB1dFBvcnQLcHJpbnRUb0ZpbGUUcHJpbnREaWFsb2dEaXNwbGF5ZWQKZXh0cmFi + eXRlcwlleHRyYWluZm8GY29waWVzBmR1cGxleAdjb2xsYXRlE2RlZmF1bHRQYWdlU2V0dGluZ3MIZnJv + bVBhZ2UGdG9QYWdlB21heFBhZ2UHbWluUGFnZQpwcmludFJhbmdlDGRldm1vZGVieXRlcw1jYWNoZWRE + ZXZtb2RlAQEBAAAABwAEBAQAAAAABAAHAQEHAgceU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuRHVwbGV4 + AgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAkU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuUGFnZVNldHRpbmdzAgAAAAgICAgiU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRSYW5n + ZQIAAAAHAgIAAAAKBgcAAAAACQcAAAAAAAAACv//Bfj///8eU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcu + RHVwbGV4AQAAAAd2YWx1ZV9fAAgCAAAA/////wH3/////P///wAJCgAAAAAAAAAAAAAADycAAAAAAAAF + 9f///yJTeXN0ZW0uRHJhd2luZy5QcmludGluZy5QcmludFJhbmdlAQAAAAd2YWx1ZV9fAAgCAAAAAAAA + AAAACgUGAAAAH1N5c3RlbS5EcmF3aW5nLlByaW50aW5nLk1hcmdpbnMIAAAABGxlZnQFcmlnaHQDdG9w + BmJvdHRvbQpkb3VibGVMZWZ0C2RvdWJsZVJpZ2h0CWRvdWJsZVRvcAxkb3VibGVCb3R0b20AAAAAAAAA + AAgICAgGBgYGAgAAAGQAAABkAAAAZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZ + QAEKAAAAAQAAAAkDAAAAAfP////8////AAoKCgHy/////P///wAJDwAAAAEPAAAABgAAAGQAAABkAAAA + ZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAs= + + + + <?xml version="1.0"?><Blob><Styles type="C1.Win.C1TrueDBGrid.Design.ContextWrapper"><Data>HighlightRow{ForeColor:HighlightText;BackColor:Highlight;}Inactive{ForeColor:InactiveCaptionText;BackColor:InactiveCaption;}Style8{}Style7{}Style9{}EvenRow{BackColor:Aqua;}Normal{}RecordSelector{AlignImage:Center;}OddRow{}Style14{}Style3{}Footer{}Style13{}Heading{ForeColor:ControlText;Border:Flat,ControlDark,0, 1, 0, 1;AlignVert:Center;BackColor:Control;Wrap:True;}Style6{}Editor{}Style10{AlignHorz:Near;}Style16{}Style15{}Selected{ForeColor:HighlightText;BackColor:Highlight;}Style5{}Group{Border:None,,0, 0, 0, 0;AlignVert:Center;BackColor:ControlDark;}Style12{}Style11{}Style4{}FilterWatermark{ForeColor:InfoText;BackColor:Info;}Style1{}Caption{AlignHorz:Center;}Style2{}FilterBar{}</Data></Styles><Splits><C1.Win.C1TrueDBGrid.MergeView Name="" CaptionHeight="17" ColumnCaptionHeight="17" ColumnFooterHeight="17" MarqueeStyle="DottedCellBorder" RecordSelectorWidth="17" DefRecSelWidth="17" VerticalScrollGroup="1" HorizontalScrollGroup="1"><CaptionStyle parent="Style2" me="Style10" /><EditorStyle parent="Editor" me="Style5" /><EvenRowStyle parent="EvenRow" me="Style8" /><FilterBarStyle parent="FilterBar" me="Style13" /><FilterWatermarkStyle parent="FilterWatermark" me="Style14" /><FooterStyle parent="Footer" me="Style3" /><GroupStyle parent="Group" me="Style12" /><HeadingStyle parent="Heading" me="Style2" /><HighLightRowStyle parent="HighlightRow" me="Style7" /><InactiveStyle parent="Inactive" me="Style4" /><OddRowStyle parent="OddRow" me="Style9" /><RecordSelectorStyle parent="RecordSelector" me="Style11" /><SelectedStyle parent="Selected" me="Style6" /><Style parent="Normal" me="Style1" /><ClientRect>0, 0, 638, 247</ClientRect><BorderSide>0</BorderSide></C1.Win.C1TrueDBGrid.MergeView></Splits><NamedStyles><Style parent="" me="Normal" /><Style parent="Normal" me="Heading" /><Style parent="Heading" me="Footer" /><Style parent="Heading" me="Caption" /><Style parent="Heading" me="Inactive" /><Style parent="Normal" me="Selected" /><Style parent="Normal" me="Editor" /><Style parent="Normal" me="HighlightRow" /><Style parent="Normal" me="EvenRow" /><Style parent="Normal" me="OddRow" /><Style parent="Heading" me="RecordSelector" /><Style parent="Normal" me="FilterBar" /><Style parent="FilterBar" me="FilterWatermark" /><Style parent="Caption" me="Group" /></NamedStyles><vertSplits>1</vertSplits><horzSplits>1</horzSplits><Layout>None</Layout><DefaultRecSelWidth>17</DefaultRecSelWidth><ClientArea>0, 0, 638, 247</ClientArea><PrintPageHeaderStyle parent="" me="Style15" /><PrintPageFooterStyle parent="" me="Style16" /></Blob> + + \ No newline at end of file diff --git a/.svn/pristine/60/6012c54797dc6d777b3ab9241f3bd820817caada.svn-base b/.svn/pristine/60/6012c54797dc6d777b3ab9241f3bd820817caada.svn-base new file mode 100644 index 0000000..b2d393f --- /dev/null +++ b/.svn/pristine/60/6012c54797dc6d777b3ab9241f3bd820817caada.svn-base @@ -0,0 +1,183 @@ + _ +Partial Class frmSysadminMenu + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmSysadminMenu)) + Me.MenuStrip1 = New System.Windows.Forms.MenuStrip() + Me.DateiToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.BeendenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.SpaltentitelGenerierenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStrip1 = New System.Windows.Forms.ToolStrip() + Me.TSBtnQuit = New System.Windows.Forms.ToolStripButton() + Me.SysMenuTree = New System.Windows.Forms.TreeView() + Me.ImageList1 = New System.Windows.Forms.ImageList(Me.components) + Me.ContextMenu1 = New System.Windows.Forms.ContextMenu() + Me.MnuNeuerKnoten = New System.Windows.Forms.MenuItem() + Me.MnuKnotenLoeschen = New System.Windows.Forms.MenuItem() + Me.MenuKnotenRename = New System.Windows.Forms.MenuItem() + Me.MenuItem4 = New System.Windows.Forms.MenuItem() + Me.MnuSave = New System.Windows.Forms.MenuItem() + Me.MenuStrip1.SuspendLayout() + Me.ToolStrip1.SuspendLayout() + Me.SuspendLayout() + ' + 'MenuStrip1 + ' + Me.MenuStrip1.AllowMerge = False + Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DateiToolStripMenuItem, Me.SpaltentitelGenerierenToolStripMenuItem}) + Me.MenuStrip1.Location = New System.Drawing.Point(0, 0) + Me.MenuStrip1.Name = "MenuStrip1" + Me.MenuStrip1.Size = New System.Drawing.Size(299, 24) + Me.MenuStrip1.TabIndex = 0 + Me.MenuStrip1.Text = "MenuStrip1" + ' + 'DateiToolStripMenuItem + ' + Me.DateiToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.BeendenToolStripMenuItem}) + Me.DateiToolStripMenuItem.Name = "DateiToolStripMenuItem" + Me.DateiToolStripMenuItem.Size = New System.Drawing.Size(46, 20) + Me.DateiToolStripMenuItem.Text = "&Datei" + ' + 'BeendenToolStripMenuItem + ' + Me.BeendenToolStripMenuItem.Name = "BeendenToolStripMenuItem" + Me.BeendenToolStripMenuItem.Size = New System.Drawing.Size(152, 22) + Me.BeendenToolStripMenuItem.Text = "&Beenden" + ' + 'SpaltentitelGenerierenToolStripMenuItem + ' + Me.SpaltentitelGenerierenToolStripMenuItem.Name = "SpaltentitelGenerierenToolStripMenuItem" + Me.SpaltentitelGenerierenToolStripMenuItem.Size = New System.Drawing.Size(137, 20) + Me.SpaltentitelGenerierenToolStripMenuItem.Text = "&Spaltentitel generieren" + ' + 'ToolStrip1 + ' + Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.TSBtnQuit}) + Me.ToolStrip1.Location = New System.Drawing.Point(0, 24) + Me.ToolStrip1.Name = "ToolStrip1" + Me.ToolStrip1.Size = New System.Drawing.Size(299, 25) + Me.ToolStrip1.TabIndex = 1 + Me.ToolStrip1.Text = "ToolStrip1" + ' + 'TSBtnQuit + ' + Me.TSBtnQuit.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnQuit.Image = CType(resources.GetObject("TSBtnQuit.Image"), System.Drawing.Image) + Me.TSBtnQuit.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnQuit.Name = "TSBtnQuit" + Me.TSBtnQuit.Size = New System.Drawing.Size(23, 22) + Me.TSBtnQuit.Text = "ToolStripButton1" + Me.TSBtnQuit.ToolTipText = "Fenster schliessen" + ' + 'SysMenuTree + ' + Me.SysMenuTree.AllowDrop = True + Me.SysMenuTree.Dock = System.Windows.Forms.DockStyle.Fill + Me.SysMenuTree.ImageIndex = 0 + Me.SysMenuTree.ImageList = Me.ImageList1 + Me.SysMenuTree.Indent = 19 + Me.SysMenuTree.ItemHeight = 16 + Me.SysMenuTree.Location = New System.Drawing.Point(0, 49) + Me.SysMenuTree.Name = "SysMenuTree" + Me.SysMenuTree.SelectedImageIndex = 0 + Me.SysMenuTree.Size = New System.Drawing.Size(299, 521) + Me.SysMenuTree.TabIndex = 2 + ' + 'ImageList1 + ' + Me.ImageList1.ImageStream = CType(resources.GetObject("ImageList1.ImageStream"), System.Windows.Forms.ImageListStreamer) + Me.ImageList1.TransparentColor = System.Drawing.Color.Transparent + Me.ImageList1.Images.SetKeyName(0, "") + Me.ImageList1.Images.SetKeyName(1, "") + Me.ImageList1.Images.SetKeyName(2, "") + Me.ImageList1.Images.SetKeyName(3, "") + Me.ImageList1.Images.SetKeyName(4, "") + Me.ImageList1.Images.SetKeyName(5, "Kette3.ico") + ' + 'ContextMenu1 + ' + Me.ContextMenu1.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.MnuNeuerKnoten, Me.MnuKnotenLoeschen, Me.MenuKnotenRename, Me.MenuItem4, Me.MnuSave}) + ' + 'MnuNeuerKnoten + ' + Me.MnuNeuerKnoten.Index = 0 + Me.MnuNeuerKnoten.Text = "Neuer Eintrag " + ' + 'MnuKnotenLoeschen + ' + Me.MnuKnotenLoeschen.Index = 1 + Me.MnuKnotenLoeschen.Text = "Eintrag löschen" + ' + 'MenuKnotenRename + ' + Me.MenuKnotenRename.Index = 2 + Me.MenuKnotenRename.Text = "Eintrag umbenennen" + ' + 'MenuItem4 + ' + Me.MenuItem4.Index = 3 + Me.MenuItem4.Text = "-" + ' + 'MnuSave + ' + Me.MnuSave.Index = 4 + Me.MnuSave.Text = "Menu Speichern" + ' + 'frmSysadminMenu + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(299, 570) + Me.Controls.Add(Me.SysMenuTree) + Me.Controls.Add(Me.ToolStrip1) + Me.Controls.Add(Me.MenuStrip1) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.MainMenuStrip = Me.MenuStrip1 + Me.MaximizeBox = False + Me.MinimizeBox = False + Me.Name = "frmSysadminMenu" + Me.Text = "FrmSysadminMenu" + Me.MenuStrip1.ResumeLayout(False) + Me.MenuStrip1.PerformLayout() + Me.ToolStrip1.ResumeLayout(False) + Me.ToolStrip1.PerformLayout() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents MenuStrip1 As System.Windows.Forms.MenuStrip + Friend WithEvents DateiToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents BeendenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStrip1 As System.Windows.Forms.ToolStrip + Friend WithEvents TSBtnQuit As System.Windows.Forms.ToolStripButton + Friend WithEvents SysMenuTree As System.Windows.Forms.TreeView + Friend WithEvents ImageList1 As System.Windows.Forms.ImageList + Friend WithEvents ContextMenu1 As System.Windows.Forms.ContextMenu + Friend WithEvents MnuNeuerKnoten As System.Windows.Forms.MenuItem + Friend WithEvents MnuKnotenLoeschen As System.Windows.Forms.MenuItem + Friend WithEvents MenuKnotenRename As System.Windows.Forms.MenuItem + Friend WithEvents MenuItem4 As System.Windows.Forms.MenuItem + Friend WithEvents MnuSave As System.Windows.Forms.MenuItem + Friend WithEvents SpaltentitelGenerierenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem +End Class diff --git a/.svn/pristine/60/60b7d3e920e7840a24d538af472a7b798daea5c2.svn-base b/.svn/pristine/60/60b7d3e920e7840a24d538af472a7b798daea5c2.svn-base new file mode 100644 index 0000000..3a46892 --- /dev/null +++ b/.svn/pristine/60/60b7d3e920e7840a24d538af472a7b798daea5c2.svn-base @@ -0,0 +1,2 @@ +C1.Win.C1TrueDBGrid.C1TrueDBGrid, C1.Win.C1TrueDBGrid.2, Version=2.0.20123.61277, Culture=neutral, PublicKeyToken=75ae3fb0e2b1e0da + diff --git a/.svn/pristine/63/63677a914f7174180edd88c6a956f5269abab489.svn-base b/.svn/pristine/63/63677a914f7174180edd88c6a956f5269abab489.svn-base new file mode 100644 index 0000000..9ffff5e --- /dev/null +++ b/.svn/pristine/63/63677a914f7174180edd88c6a956f5269abab489.svn-base @@ -0,0 +1,7 @@ + + + + default + + + diff --git a/.svn/pristine/64/64ada641dedbfb27d12a778e44d9270667607e1b.svn-base b/.svn/pristine/64/64ada641dedbfb27d12a778e44d9270667607e1b.svn-base new file mode 100644 index 0000000..8fa2b31 --- /dev/null +++ b/.svn/pristine/64/64ada641dedbfb27d12a778e44d9270667607e1b.svn-base @@ -0,0 +1,36 @@ +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\bin\Debug\Themenmanagement.exe +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\bin\Debug\Themenmanagement.pdb +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\bin\Debug\Themenmanagement.xml +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\bin\Debug\C1.Win.C1TrueDBGrid.4.dll +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\bin\Debug\C1.Win.C1TrueDBGrid.4.xml +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\obj\x86\Debug\ResolveAssemblyReference.cache +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmMain.resources +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmDetail.resources +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.Resources.resources +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.Themenübersicht.resources +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\obj\x86\Debug\GenerateResource.read.1.tlog +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\obj\x86\Debug\GenerateResource.write.1.tlog +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.exe.licenses +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.exe +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.xml +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.pdb +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.exe +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.xml +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.pdb +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\Themenmanagement.exe +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\Themenmanagement.pdb +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\Themenmanagement.xml +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\C1.Win.C1TrueDBGrid.4.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\C1.Win.C1TrueDBGrid.4.xml +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\ResolveAssemblyReference.cache +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmDetail2.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmMain.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmDetail.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.Resources.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.Themenübersicht.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\GenerateResource.read.1.tlog +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\GenerateResource.write.1.tlog +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.exe.licenses +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\ExtendedRichTextBox.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\ExtendedRichTextBox.pdb +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\ExtendedRichTextBox.xml diff --git a/.svn/pristine/64/64b2ce47ae47b8bb4dd3a74ee9dcf06b13dd1c68.svn-base b/.svn/pristine/64/64b2ce47ae47b8bb4dd3a74ee9dcf06b13dd1c68.svn-base new file mode 100644 index 0000000..865f0f1 --- /dev/null +++ b/.svn/pristine/64/64b2ce47ae47b8bb4dd3a74ee9dcf06b13dd1c68.svn-base @@ -0,0 +1,516 @@ + _ +Partial Class frmDetail + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmDetail)) + Me.ToolStrip1 = New System.Windows.Forms.ToolStrip() + Me.TSBtnQuit = New System.Windows.Forms.ToolStripButton() + Me.TSBtnSave = New System.Windows.Forms.ToolStripButton() + Me.ToolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator() + Me.TSBtnCopy = New System.Windows.Forms.ToolStripButton() + Me.TSBtnNew = New System.Windows.Forms.ToolStripButton() + Me.TSBtnDelete = New System.Windows.Forms.ToolStripButton() + Me.MenuStrip1 = New System.Windows.Forms.MenuStrip() + Me.DateiToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.Panel1 = New System.Windows.Forms.Panel() + Me.GroupBox1 = New System.Windows.Forms.GroupBox() + Me.TextBox1 = New System.Windows.Forms.TextBox() + Me.TextBox3 = New System.Windows.Forms.TextBox() + Me.Label1 = New System.Windows.Forms.Label() + Me.Label3 = New System.Windows.Forms.Label() + Me.Label2 = New System.Windows.Forms.Label() + Me.TextBox2 = New System.Windows.Forms.TextBox() + Me.Zuordnungem = New System.Windows.Forms.GroupBox() + Me.CheckedListBox1 = New System.Windows.Forms.CheckedListBox() + Me.CheckedListBox2 = New System.Windows.Forms.CheckedListBox() + Me.Label4 = New System.Windows.Forms.Label() + Me.Label5 = New System.Windows.Forms.Label() + Me.Label6 = New System.Windows.Forms.Label() + Me.DateTimePicker1 = New System.Windows.Forms.DateTimePicker() + Me.DateTimePicker2 = New System.Windows.Forms.DateTimePicker() + Me.Label7 = New System.Windows.Forms.Label() + Me.GroupBox2 = New System.Windows.Forms.GroupBox() + Me.ToolStrip2 = New System.Windows.Forms.ToolStrip() + Me.ToolStripButton4 = New System.Windows.Forms.ToolStripButton() + Me.ToolStripButton5 = New System.Windows.Forms.ToolStripButton() + Me.C1TrueDBGrid1 = New C1.Win.C1TrueDBGrid.C1TrueDBGrid() + Me.Label8 = New System.Windows.Forms.Label() + Me.TextBox4 = New System.Windows.Forms.TextBox() + Me.TextBox5 = New System.Windows.Forms.TextBox() + Me.Label9 = New System.Windows.Forms.Label() + Me.TextBox6 = New System.Windows.Forms.TextBox() + Me.Label10 = New System.Windows.Forms.Label() + Me.Label11 = New System.Windows.Forms.Label() + Me.CheckBox1 = New System.Windows.Forms.CheckBox() + Me.ToolStrip1.SuspendLayout() + Me.MenuStrip1.SuspendLayout() + Me.Panel1.SuspendLayout() + Me.GroupBox1.SuspendLayout() + Me.Zuordnungem.SuspendLayout() + Me.GroupBox2.SuspendLayout() + Me.ToolStrip2.SuspendLayout() + CType(Me.C1TrueDBGrid1, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'ToolStrip1 + ' + Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.TSBtnQuit, Me.TSBtnSave, Me.ToolStripSeparator1, Me.TSBtnCopy, Me.TSBtnNew, Me.TSBtnDelete}) + Me.ToolStrip1.Location = New System.Drawing.Point(0, 24) + Me.ToolStrip1.Name = "ToolStrip1" + Me.ToolStrip1.Size = New System.Drawing.Size(820, 25) + Me.ToolStrip1.TabIndex = 4 + Me.ToolStrip1.Text = "ToolStrip1" + ' + 'TSBtnQuit + ' + Me.TSBtnQuit.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnQuit.Image = CType(resources.GetObject("TSBtnQuit.Image"), System.Drawing.Image) + Me.TSBtnQuit.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnQuit.Name = "TSBtnQuit" + Me.TSBtnQuit.Size = New System.Drawing.Size(23, 22) + Me.TSBtnQuit.Text = "ToolStripButton1" + Me.TSBtnQuit.ToolTipText = "Anwendung beenden" + ' + 'TSBtnSave + ' + Me.TSBtnSave.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnSave.Image = CType(resources.GetObject("TSBtnSave.Image"), System.Drawing.Image) + Me.TSBtnSave.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnSave.Name = "TSBtnSave" + Me.TSBtnSave.Size = New System.Drawing.Size(23, 22) + Me.TSBtnSave.Text = "ToolStripButton1" + Me.TSBtnSave.ToolTipText = "Daten speichern" + ' + 'ToolStripSeparator1 + ' + Me.ToolStripSeparator1.Name = "ToolStripSeparator1" + Me.ToolStripSeparator1.Size = New System.Drawing.Size(6, 25) + ' + 'TSBtnCopy + ' + Me.TSBtnCopy.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnCopy.Image = CType(resources.GetObject("TSBtnCopy.Image"), System.Drawing.Image) + Me.TSBtnCopy.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnCopy.Name = "TSBtnCopy" + Me.TSBtnCopy.Size = New System.Drawing.Size(23, 22) + Me.TSBtnCopy.Text = "ToolStripButton2" + Me.TSBtnCopy.ToolTipText = "Datensatz kopieren" + ' + 'TSBtnNew + ' + Me.TSBtnNew.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnNew.Image = CType(resources.GetObject("TSBtnNew.Image"), System.Drawing.Image) + Me.TSBtnNew.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnNew.Name = "TSBtnNew" + Me.TSBtnNew.Size = New System.Drawing.Size(23, 22) + Me.TSBtnNew.Text = "Neuer Datensatz" + Me.TSBtnNew.ToolTipText = "Neuer Datensatz" + ' + 'TSBtnDelete + ' + Me.TSBtnDelete.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnDelete.Image = CType(resources.GetObject("TSBtnDelete.Image"), System.Drawing.Image) + Me.TSBtnDelete.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnDelete.Name = "TSBtnDelete" + Me.TSBtnDelete.Size = New System.Drawing.Size(23, 22) + Me.TSBtnDelete.Text = "Datensatz inaktivieren" + Me.TSBtnDelete.ToolTipText = "Datensatz inaktivieren" + ' + 'MenuStrip1 + ' + Me.MenuStrip1.AllowMerge = False + Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DateiToolStripMenuItem}) + Me.MenuStrip1.Location = New System.Drawing.Point(0, 0) + Me.MenuStrip1.Name = "MenuStrip1" + Me.MenuStrip1.Size = New System.Drawing.Size(820, 24) + Me.MenuStrip1.TabIndex = 3 + Me.MenuStrip1.Text = "MenuStrip1" + ' + 'DateiToolStripMenuItem + ' + Me.DateiToolStripMenuItem.Name = "DateiToolStripMenuItem" + Me.DateiToolStripMenuItem.Size = New System.Drawing.Size(46, 20) + Me.DateiToolStripMenuItem.Text = "&Datei" + ' + 'Panel1 + ' + Me.Panel1.Controls.Add(Me.GroupBox2) + Me.Panel1.Controls.Add(Me.Zuordnungem) + Me.Panel1.Controls.Add(Me.GroupBox1) + Me.Panel1.Dock = System.Windows.Forms.DockStyle.Top + Me.Panel1.Location = New System.Drawing.Point(0, 49) + Me.Panel1.Name = "Panel1" + Me.Panel1.Size = New System.Drawing.Size(820, 319) + Me.Panel1.TabIndex = 5 + ' + 'GroupBox1 + ' + Me.GroupBox1.Controls.Add(Me.CheckBox1) + Me.GroupBox1.Controls.Add(Me.Label11) + Me.GroupBox1.Controls.Add(Me.TextBox6) + Me.GroupBox1.Controls.Add(Me.Label10) + Me.GroupBox1.Controls.Add(Me.TextBox5) + Me.GroupBox1.Controls.Add(Me.Label9) + Me.GroupBox1.Controls.Add(Me.TextBox4) + Me.GroupBox1.Controls.Add(Me.Label8) + Me.GroupBox1.Controls.Add(Me.Label7) + Me.GroupBox1.Controls.Add(Me.DateTimePicker2) + Me.GroupBox1.Controls.Add(Me.DateTimePicker1) + Me.GroupBox1.Controls.Add(Me.Label6) + Me.GroupBox1.Controls.Add(Me.TextBox1) + Me.GroupBox1.Controls.Add(Me.TextBox3) + Me.GroupBox1.Controls.Add(Me.Label1) + Me.GroupBox1.Controls.Add(Me.Label3) + Me.GroupBox1.Controls.Add(Me.Label2) + Me.GroupBox1.Controls.Add(Me.TextBox2) + Me.GroupBox1.Dock = System.Windows.Forms.DockStyle.Left + Me.GroupBox1.Location = New System.Drawing.Point(0, 0) + Me.GroupBox1.Name = "GroupBox1" + Me.GroupBox1.Size = New System.Drawing.Size(358, 319) + Me.GroupBox1.TabIndex = 12 + Me.GroupBox1.TabStop = False + Me.GroupBox1.Text = "Allgemein" + ' + 'TextBox1 + ' + Me.TextBox1.Location = New System.Drawing.Point(85, 19) + Me.TextBox1.Name = "TextBox1" + Me.TextBox1.Size = New System.Drawing.Size(245, 20) + Me.TextBox1.TabIndex = 6 + ' + 'TextBox3 + ' + Me.TextBox3.Location = New System.Drawing.Point(85, 117) + Me.TextBox3.Multiline = True + Me.TextBox3.Name = "TextBox3" + Me.TextBox3.Size = New System.Drawing.Size(245, 66) + Me.TextBox3.TabIndex = 10 + ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.Location = New System.Drawing.Point(13, 22) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(27, 13) + Me.Label1.TabIndex = 5 + Me.Label1.Text = "Titel" + ' + 'Label3 + ' + Me.Label3.AutoSize = True + Me.Label3.Location = New System.Drawing.Point(13, 119) + Me.Label3.Name = "Label3" + Me.Label3.Size = New System.Drawing.Size(67, 13) + Me.Label3.TabIndex = 9 + Me.Label3.Text = "Suchbegriffe" + ' + 'Label2 + ' + Me.Label2.AutoSize = True + Me.Label2.Location = New System.Drawing.Point(13, 47) + Me.Label2.Name = "Label2" + Me.Label2.Size = New System.Drawing.Size(72, 13) + Me.Label2.TabIndex = 7 + Me.Label2.Text = "Beschreibung" + ' + 'TextBox2 + ' + Me.TextBox2.Location = New System.Drawing.Point(85, 45) + Me.TextBox2.Multiline = True + Me.TextBox2.Name = "TextBox2" + Me.TextBox2.Size = New System.Drawing.Size(245, 66) + Me.TextBox2.TabIndex = 8 + ' + 'Zuordnungem + ' + Me.Zuordnungem.Controls.Add(Me.Label5) + Me.Zuordnungem.Controls.Add(Me.Label4) + Me.Zuordnungem.Controls.Add(Me.CheckedListBox2) + Me.Zuordnungem.Controls.Add(Me.CheckedListBox1) + Me.Zuordnungem.Dock = System.Windows.Forms.DockStyle.Top + Me.Zuordnungem.Location = New System.Drawing.Point(358, 0) + Me.Zuordnungem.Name = "Zuordnungem" + Me.Zuordnungem.Size = New System.Drawing.Size(462, 143) + Me.Zuordnungem.TabIndex = 13 + Me.Zuordnungem.TabStop = False + Me.Zuordnungem.Text = "Zuordnungen" + ' + 'CheckedListBox1 + ' + Me.CheckedListBox1.FormattingEnabled = True + Me.CheckedListBox1.Items.AddRange(New Object() {"Zielgruppe 1", "Zielgruppe 2", "Zielgruppe 3"}) + Me.CheckedListBox1.Location = New System.Drawing.Point(18, 35) + Me.CheckedListBox1.Name = "CheckedListBox1" + Me.CheckedListBox1.Size = New System.Drawing.Size(120, 94) + Me.CheckedListBox1.TabIndex = 0 + ' + 'CheckedListBox2 + ' + Me.CheckedListBox2.FormattingEnabled = True + Me.CheckedListBox2.Items.AddRange(New Object() {"Infokanal 1", "Infokanal 2", "Infokanal 3"}) + Me.CheckedListBox2.Location = New System.Drawing.Point(159, 36) + Me.CheckedListBox2.Name = "CheckedListBox2" + Me.CheckedListBox2.Size = New System.Drawing.Size(120, 94) + Me.CheckedListBox2.TabIndex = 1 + ' + 'Label4 + ' + Me.Label4.AutoSize = True + Me.Label4.Location = New System.Drawing.Point(15, 19) + Me.Label4.Name = "Label4" + Me.Label4.Size = New System.Drawing.Size(57, 13) + Me.Label4.TabIndex = 2 + Me.Label4.Text = "Zielgruppe" + ' + 'Label5 + ' + Me.Label5.AutoSize = True + Me.Label5.Location = New System.Drawing.Point(156, 19) + Me.Label5.Name = "Label5" + Me.Label5.Size = New System.Drawing.Size(51, 13) + Me.Label5.TabIndex = 3 + Me.Label5.Text = "Infokanal" + ' + 'Label6 + ' + Me.Label6.AutoSize = True + Me.Label6.Location = New System.Drawing.Point(13, 193) + Me.Label6.Name = "Label6" + Me.Label6.Size = New System.Drawing.Size(49, 13) + Me.Label6.TabIndex = 11 + Me.Label6.Text = "Gültig ab" + ' + 'DateTimePicker1 + ' + Me.DateTimePicker1.Format = System.Windows.Forms.DateTimePickerFormat.[Short] + Me.DateTimePicker1.Location = New System.Drawing.Point(85, 190) + Me.DateTimePicker1.Name = "DateTimePicker1" + Me.DateTimePicker1.Size = New System.Drawing.Size(91, 20) + Me.DateTimePicker1.TabIndex = 12 + ' + 'DateTimePicker2 + ' + Me.DateTimePicker2.Format = System.Windows.Forms.DateTimePickerFormat.[Short] + Me.DateTimePicker2.Location = New System.Drawing.Point(239, 190) + Me.DateTimePicker2.Name = "DateTimePicker2" + Me.DateTimePicker2.Size = New System.Drawing.Size(91, 20) + Me.DateTimePicker2.TabIndex = 13 + ' + 'Label7 + ' + Me.Label7.AutoSize = True + Me.Label7.Location = New System.Drawing.Point(213, 192) + Me.Label7.Name = "Label7" + Me.Label7.Size = New System.Drawing.Size(20, 13) + Me.Label7.TabIndex = 14 + Me.Label7.Text = "bis" + ' + 'GroupBox2 + ' + Me.GroupBox2.Controls.Add(Me.C1TrueDBGrid1) + Me.GroupBox2.Controls.Add(Me.ToolStrip2) + Me.GroupBox2.Dock = System.Windows.Forms.DockStyle.Fill + Me.GroupBox2.Location = New System.Drawing.Point(358, 143) + Me.GroupBox2.Name = "GroupBox2" + Me.GroupBox2.Size = New System.Drawing.Size(462, 176) + Me.GroupBox2.TabIndex = 14 + Me.GroupBox2.TabStop = False + Me.GroupBox2.Text = "Dokumente" + ' + 'ToolStrip2 + ' + Me.ToolStrip2.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripButton4, Me.ToolStripButton5}) + Me.ToolStrip2.Location = New System.Drawing.Point(3, 16) + Me.ToolStrip2.Name = "ToolStrip2" + Me.ToolStrip2.Size = New System.Drawing.Size(456, 25) + Me.ToolStrip2.TabIndex = 5 + Me.ToolStrip2.Text = "ToolStrip2" + ' + 'ToolStripButton4 + ' + Me.ToolStripButton4.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton4.Image = CType(resources.GetObject("ToolStripButton4.Image"), System.Drawing.Image) + Me.ToolStripButton4.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton4.Name = "ToolStripButton4" + Me.ToolStripButton4.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton4.Text = "Neuer Datensatz" + Me.ToolStripButton4.ToolTipText = "Neuer Datensatz" + ' + 'ToolStripButton5 + ' + Me.ToolStripButton5.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton5.Image = CType(resources.GetObject("ToolStripButton5.Image"), System.Drawing.Image) + Me.ToolStripButton5.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton5.Name = "ToolStripButton5" + Me.ToolStripButton5.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton5.Text = "Datensatz inaktivieren" + Me.ToolStripButton5.ToolTipText = "Datensatz inaktivieren" + ' + 'C1TrueDBGrid1 + ' + Me.C1TrueDBGrid1.Dock = System.Windows.Forms.DockStyle.Fill + Me.C1TrueDBGrid1.Location = New System.Drawing.Point(3, 41) + Me.C1TrueDBGrid1.Name = "C1TrueDBGrid1" + Me.C1TrueDBGrid1.PreviewInfo.Location = New System.Drawing.Point(0, 0) + Me.C1TrueDBGrid1.PreviewInfo.Size = New System.Drawing.Size(0, 0) + Me.C1TrueDBGrid1.PreviewInfo.ZoomFactor = 75.0R + Me.C1TrueDBGrid1.PrintInfo.PageSettings = CType(resources.GetObject("C1TrueDBGrid1.PrintInfo.PageSettings"), System.Drawing.Printing.PageSettings) + Me.C1TrueDBGrid1.PropBag = resources.GetString("C1TrueDBGrid1.PropBag") + Me.C1TrueDBGrid1.Size = New System.Drawing.Size(456, 132) + Me.C1TrueDBGrid1.TabIndex = 6 + Me.C1TrueDBGrid1.Text = "C1TrueDBGrid1" + ' + 'Label8 + ' + Me.Label8.AutoSize = True + Me.Label8.Location = New System.Drawing.Point(13, 243) + Me.Label8.Name = "Label8" + Me.Label8.Size = New System.Drawing.Size(55, 13) + Me.Label8.TabIndex = 15 + Me.Label8.Text = "Erstellt am" + ' + 'TextBox4 + ' + Me.TextBox4.Location = New System.Drawing.Point(85, 240) + Me.TextBox4.Name = "TextBox4" + Me.TextBox4.Size = New System.Drawing.Size(91, 20) + Me.TextBox4.TabIndex = 16 + ' + 'TextBox5 + ' + Me.TextBox5.Location = New System.Drawing.Point(85, 266) + Me.TextBox5.Name = "TextBox5" + Me.TextBox5.Size = New System.Drawing.Size(91, 20) + Me.TextBox5.TabIndex = 18 + ' + 'Label9 + ' + Me.Label9.AutoSize = True + Me.Label9.Location = New System.Drawing.Point(13, 269) + Me.Label9.Name = "Label9" + Me.Label9.Size = New System.Drawing.Size(56, 13) + Me.Label9.TabIndex = 17 + Me.Label9.Text = "Mutiert am" + ' + 'TextBox6 + ' + Me.TextBox6.Location = New System.Drawing.Point(85, 292) + Me.TextBox6.Name = "TextBox6" + Me.TextBox6.Size = New System.Drawing.Size(91, 20) + Me.TextBox6.TabIndex = 20 + ' + 'Label10 + ' + Me.Label10.AutoSize = True + Me.Label10.Location = New System.Drawing.Point(13, 295) + Me.Label10.Name = "Label10" + Me.Label10.Size = New System.Drawing.Size(45, 13) + Me.Label10.TabIndex = 19 + Me.Label10.Text = "Mutierer" + ' + 'Label11 + ' + Me.Label11.AutoSize = True + Me.Label11.Location = New System.Drawing.Point(13, 216) + Me.Label11.Name = "Label11" + Me.Label11.Size = New System.Drawing.Size(31, 13) + Me.Label11.TabIndex = 21 + Me.Label11.Text = "Aktiv" + ' + 'CheckBox1 + ' + Me.CheckBox1.AutoSize = True + Me.CheckBox1.Location = New System.Drawing.Point(85, 216) + Me.CheckBox1.Name = "CheckBox1" + Me.CheckBox1.Size = New System.Drawing.Size(15, 14) + Me.CheckBox1.TabIndex = 22 + Me.CheckBox1.UseVisualStyleBackColor = True + ' + 'frmDetail + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(820, 374) + Me.Controls.Add(Me.Panel1) + Me.Controls.Add(Me.ToolStrip1) + Me.Controls.Add(Me.MenuStrip1) + Me.Name = "frmDetail" + Me.Text = "Thema/Issue" + Me.ToolStrip1.ResumeLayout(False) + Me.ToolStrip1.PerformLayout() + Me.MenuStrip1.ResumeLayout(False) + Me.MenuStrip1.PerformLayout() + Me.Panel1.ResumeLayout(False) + Me.GroupBox1.ResumeLayout(False) + Me.GroupBox1.PerformLayout() + Me.Zuordnungem.ResumeLayout(False) + Me.Zuordnungem.PerformLayout() + Me.GroupBox2.ResumeLayout(False) + Me.GroupBox2.PerformLayout() + Me.ToolStrip2.ResumeLayout(False) + Me.ToolStrip2.PerformLayout() + CType(Me.C1TrueDBGrid1, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents ToolStrip1 As System.Windows.Forms.ToolStrip + Friend WithEvents TSBtnQuit As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnNew As System.Windows.Forms.ToolStripButton + Friend WithEvents MenuStrip1 As System.Windows.Forms.MenuStrip + Friend WithEvents DateiToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents TSBtnSave As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripSeparator1 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents TSBtnCopy As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnDelete As System.Windows.Forms.ToolStripButton + Friend WithEvents Panel1 As System.Windows.Forms.Panel + Friend WithEvents GroupBox2 As System.Windows.Forms.GroupBox + Friend WithEvents Zuordnungem As System.Windows.Forms.GroupBox + Friend WithEvents Label5 As System.Windows.Forms.Label + Friend WithEvents Label4 As System.Windows.Forms.Label + Friend WithEvents CheckedListBox2 As System.Windows.Forms.CheckedListBox + Friend WithEvents CheckedListBox1 As System.Windows.Forms.CheckedListBox + Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox + Friend WithEvents Label7 As System.Windows.Forms.Label + Friend WithEvents DateTimePicker2 As System.Windows.Forms.DateTimePicker + Friend WithEvents DateTimePicker1 As System.Windows.Forms.DateTimePicker + Friend WithEvents Label6 As System.Windows.Forms.Label + Friend WithEvents TextBox1 As System.Windows.Forms.TextBox + Friend WithEvents TextBox3 As System.Windows.Forms.TextBox + Friend WithEvents Label1 As System.Windows.Forms.Label + Friend WithEvents Label3 As System.Windows.Forms.Label + Friend WithEvents Label2 As System.Windows.Forms.Label + Friend WithEvents TextBox2 As System.Windows.Forms.TextBox + Friend WithEvents ToolStrip2 As System.Windows.Forms.ToolStrip + Friend WithEvents ToolStripButton4 As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripButton5 As System.Windows.Forms.ToolStripButton + Friend WithEvents C1TrueDBGrid1 As C1.Win.C1TrueDBGrid.C1TrueDBGrid + Friend WithEvents CheckBox1 As System.Windows.Forms.CheckBox + Friend WithEvents Label11 As System.Windows.Forms.Label + Friend WithEvents TextBox6 As System.Windows.Forms.TextBox + Friend WithEvents Label10 As System.Windows.Forms.Label + Friend WithEvents TextBox5 As System.Windows.Forms.TextBox + Friend WithEvents Label9 As System.Windows.Forms.Label + Friend WithEvents TextBox4 As System.Windows.Forms.TextBox + Friend WithEvents Label8 As System.Windows.Forms.Label +End Class diff --git a/.svn/pristine/65/657c7c3320d30f0b46bf46af71683e7f39e3c829.svn-base b/.svn/pristine/65/657c7c3320d30f0b46bf46af71683e7f39e3c829.svn-base new file mode 100644 index 0000000..d625a89 --- /dev/null +++ b/.svn/pristine/65/657c7c3320d30f0b46bf46af71683e7f39e3c829.svn-base @@ -0,0 +1,156 @@ + + + + Debug + x86 + + + 2.0 + {1B191999-7204-4EB5-96F7-A6805B0B32FC} + WinExe + Themenmanagement.My.MyApplication + Themenmanagement + Themenmanagement + 512 + WindowsForms + v4.0 + Client + + + x86 + true + full + true + true + bin\Debug\ + Themenmanagement.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + x86 + pdbonly + false + true + true + bin\Release\ + Themenmanagement.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + On + + + Binary + + + Off + + + On + + + + + + + + + + + + + + + + + + + + + + + + + + + + frmDetail2.vb + + + Form + + + frmMain.vb + + + Form + + + frmDetail.vb + + + Form + + + + True + Application.myapp + + + True + True + Resources.resx + + + True + Settings.settings + True + + + Themenübersicht.vb + + + Form + + + + + frmDetail2.vb + + + frmMain.vb + + + frmDetail.vb + + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + Themenübersicht.vb + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + + + + + \ No newline at end of file diff --git a/.svn/pristine/66/66270d1d09877f57cb476074989c4dbdf7d31962.svn-base b/.svn/pristine/66/66270d1d09877f57cb476074989c4dbdf7d31962.svn-base new file mode 100644 index 0000000..7c3882b --- /dev/null +++ b/.svn/pristine/66/66270d1d09877f57cb476074989c4dbdf7d31962.svn-base @@ -0,0 +1,258 @@ +Public Class MyGenericEventHandler + Public Event FormularVertragelement_Closed(ByVal Vertragspartnernr As Integer, ByVal Vertragselementnr As Integer) + Public Event FormularVertragspartner_Closed(ByVal Vertragspartnernr As Integer) + + Public Event FormularPendenz_Closed() + Public Event Pendenz_Deleted() + + Public Event FormularKuendigungsfrist_Closed() + Public Event Kuendigungsfrist_Deleted() + + Public Event FormularKontakte_Closed() + Public Event Kontakt_Deleted() + + Public Event FormularDokument_Closed() + Public Event Dokument_Deleted() + + Public Event FormularServices_Closed() + Public Event Service_Deleted() + + Public Event FormularEreignis_Closed() + Public Event Ereignis_Deleted() + + Public Event FormularAktivitaet_Cloesd() + Public Event Aktivitaet_Deleted() + + Public Event FormularReferenzvertrag_Closed() + Public Event Referenzvertrag_Deleted() + + Public Event Update_Uebersicht() + + Public Event LeistungSelektiert(ByVal Vertragsleistungsnr As Integer, ByVal Servicekatalognr As Integer) + Public Event KeineLeistungSelektiert(ByVal Vertragsleistungsnr As Integer) + + Public Event FormularVertragsapplikation_Closed() + Public Event Vertragsapplikation_Deleted() + + Public Event Set_ToolTip(ByVal formname As String, ByVal ctlname As String) + Public Event FormularReleaseLogbuchClosed() + Public Event FormularApplikationVersionClosed() + Public Event FormualrIKVTestClosed() + + + + +#Region "Vertragselement" + + ''' + ''' Event Formular "Vertragselement" Closed absetzen + ''' + ''' + ''' + ''' + ''' + Public Function Vertragselement_Closed(ByVal Vertragspartnernr As Integer, ByVal Vertragselementnr As Integer) + RaiseEvent FormularVertragelement_Closed(Vertragspartnernr, Vertragselementnr) + RaiseEvent Update_Uebersicht() + End Function +#End Region + +#Region "Vertragspartner" + ''' + ''' Event Formular Vertragsparter Closed absetzen + ''' + ''' + ''' + ''' + Public Function Vertragspartner_Closed(ByVal Vertragspartnernr As Integer) + RaiseEvent FormularVertragspartner_Closed(Vertragspartnernr) + RaiseEvent Update_Uebersicht() + End Function +#End Region + +#Region "Pendenzen" + ''' + ''' Event Formular Pendenz Closed absetzen + ''' + ''' + ''' + ''' + Public Function Pendenz_Closed() + RaiseEvent FormularPendenz_Closed() + RaiseEvent Update_Uebersicht() + End Function + ''' + ''' Event Pendent Deleted absetzen + ''' + ''' + ''' + ''' + Public Function Pendenz_Geloescht() + RaiseEvent Pendenz_Deleted() + RaiseEvent Update_Uebersicht() + End Function + +#End Region + +#Region "Kuendigungsfrist" + ''' + ''' Event Formular Kontakte Closed absetzen + ''' + ''' + ''' + ''' + Public Function Kuendigungsfrist_Closed() + RaiseEvent FormularKuendigungsfrist_Closed() + RaiseEvent Update_Uebersicht() + End Function + Public Function Kuendigungsfrist_Geloescht() + RaiseEvent Kuendigungsfrist_Deleted() + RaiseEvent Update_Uebersicht() + End Function + + ''' + ''' Event Formular Kuendigungsfrist Closed absetzen + ''' + ''' + ''' + ''' + Public Function Kontakte_Closed() + RaiseEvent FormularKontakte_Closed() + RaiseEvent Update_Uebersicht() + End Function + Public Function Kontakte_Geloescht() + RaiseEvent Kontakt_Deleted() + RaiseEvent Update_Uebersicht() + End Function + ''' + ''' Event Formular Dokumente Closed absetzen + ''' + ''' + ''' + ''' + Public Function Dokumente_Closed() + RaiseEvent FormularDokument_Closed() + RaiseEvent Update_Uebersicht() + End Function + Public Function Dokumente_Geloscht() + RaiseEvent Dokument_Deleted() + RaiseEvent Update_Uebersicht() + End Function + ''' + ''' Event Formular Services Closed absetzen + ''' + ''' + ''' + ''' + Public Function Services_Closed() + RaiseEvent FormularServices_Closed() + RaiseEvent Update_Uebersicht() + End Function + Public Function Service_Geloescht() + RaiseEvent Service_Deleted() + RaiseEvent Update_Uebersicht() + End Function + ''' + ''' Event Formular Ereignis Closed absetzen + ''' + ''' + ''' + ''' + Public Function Ereignis_Closed() + RaiseEvent FormularEreignis_Closed() + RaiseEvent Update_Uebersicht() + End Function + Public Function Ereignis_Geloescht() + RaiseEvent Ereignis_Deleted() + RaiseEvent Update_Uebersicht() + End Function + ''' + ''' Event Formular Aktivitaet Closed absetzen + ''' + ''' + ''' + ''' + Public Function Aktivitaet_Closed() + RaiseEvent FormularAktivitaet_Cloesd() + RaiseEvent Update_Uebersicht() + End Function + Public Function Aktivitaet_Geloescht() + RaiseEvent Aktivitaet_Deleted() + RaiseEvent Update_Uebersicht() + End Function + ''' + ''' Event Formular Refernzvertrag Closed absetzen + ''' + ''' + ''' + ''' + Public Function Refernzvertrag_Closed() + RaiseEvent FormularReferenzvertrag_Closed() + RaiseEvent Update_Uebersicht() + End Function + Public Function Refernzvertrag_Geloescht() + RaiseEvent Referenzvertrag_Deleted() + RaiseEvent Update_Uebersicht() + End Function + + +#End Region + +#Region "Servicekatalog" + Public Function Leistung_Selektiert(ByVal Vertragsleistungsnr As Integer, ByVal Servicekatalognr As Integer) + RaiseEvent LeistungSelektiert(Vertragsleistungsnr, Servicekatalognr) + RaiseEvent Update_Uebersicht() + End Function + + Public Function Keine_Leistung_Selektiert(ByVal Vertragsleistungsnr As Integer) + RaiseEvent KeineLeistungSelektiert(Vertragsleistungsnr) + End Function +#End Region + + +#Region "Pendenzen" + ''' + ''' Event Formular Pendenz Closed absetzen + ''' + ''' + ''' + ''' + Public Function Vertragsapplikation_Closed() + RaiseEvent FormularVertragsapplikation_Closed() + RaiseEvent Update_Uebersicht() + End Function + ''' + ''' Event Pendent Deleted absetzen + ''' + ''' + ''' + ''' + Public Function Vertragsapplikation_Geloescht() + RaiseEvent Vertragsapplikation_Deleted() + RaiseEvent Update_Uebersicht() + End Function + +#End Region + + Public Function Edit_Tooltip(ByVal formname As String, ByVal ctlname As String) + RaiseEvent Set_ToolTip(formname, ctlname) + End Function +#Region "ReleaseLogbuch" + Public Function ReleaseLobuchClosed() + RaiseEvent FormularReleaseLogbuchClosed() + End Function + +#End Region + +#Region "IKV_Tests" + Public Function IKVDetailsClosed() + RaiseEvent FormualrIKVTestClosed() + End Function +#End Region + +#Region "ApplikationVersion" + Public Function ApplikationVersionClosed() + RaiseEvent FormularApplikationVersionClosed() + End Function +#End Region +End Class diff --git a/.svn/pristine/66/66d4634133e1048b3b9bf61d6a740657becb6455.svn-base b/.svn/pristine/66/66d4634133e1048b3b9bf61d6a740657becb6455.svn-base new file mode 100644 index 0000000..145990d --- /dev/null +++ b/.svn/pristine/66/66d4634133e1048b3b9bf61d6a740657becb6455.svn-base @@ -0,0 +1,302 @@ + + + + Debug + x86 + + + 2.0 + {1B191999-7204-4EB5-96F7-A6805B0B32FC} + WinExe + Themenmanagement.My.MyApplication + Themenmanagement + Themenmanagement + 512 + WindowsForms + v4.0 + + + + + x86 + true + full + true + true + bin\Debug\ + Themenmanagement.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + x86 + pdbonly + false + true + true + bin\Release\ + Themenmanagement.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + On + + + Binary + + + Off + + + On + + + + False + ..\Themenmanagement_sik\bin\Debug\C1.Win.C1TrueDBGrid.2.dll + + + + False + ..\..\..\Klassen\RTFEditor\RTFEditor\bin\Debug\RTFEditor.dll + + + D:\Installer\Sautinsoft\HTML-to-RTF Pro DLL .Net Full (4.8.9.21)\Bin\Net 3.5\SautinSoft.HtmlToRtf.dll + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Form + + + + frmAbout.vb + + + Form + + + frmLogin.vb + + + Form + + + frmMsgBox.vb + + + Form + + + frmSplash.vb + + + Form + + + frmDomainEditor.vb + + + Form + + + frmDomainEditorExtTables.vb + + + Form + + + frmFormSelector.vb + + + Form + + + frmSysadminMenu.vb + + + Form + + + Form + + + FrmToolTipEditor.vb + + + Form + + + frmVerbindungEditor.vb + + + Form + + + + + frmDetail2.vb + + + Form + + + frmMain.vb + + + Form + + + frmDetail.vb + + + Form + + + + + + + + + + + True + Application.myapp + + + True + True + Resources.resx + + + True + Settings.settings + True + + + frmThemenübersicht.vb + + + Form + + + + + + + + frmAbout.vb + + + frmLogin.vb + + + frmMsgBox.vb + + + frmSplash.vb + + + frmDomainEditor.vb + + + frmDomainEditorExtTables.vb + + + frmFormSelector.vb + + + frmSysadminMenu.vb + + + frmSysadminTableSelector.vb + + + FrmToolTipEditor.vb + + + frmVerbindungEditor.vb + + + frmDetail2.vb + + + frmMain.vb + + + frmDetail.vb + + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + frmThemenübersicht.vb + + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + + + + + + + + \ No newline at end of file diff --git a/.svn/pristine/67/677967ce2a8224b25d6ae009efcd6f9029c2006b.svn-base b/.svn/pristine/67/677967ce2a8224b25d6ae009efcd6f9029c2006b.svn-base new file mode 100644 index 0000000..ea69596 --- /dev/null +++ b/.svn/pristine/67/677967ce2a8224b25d6ae009efcd6f9029c2006b.svn-base @@ -0,0 +1,489 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'funktionsgruppe_rolle' +' // Generated by LLBLGen v1.21.2003.712 Final on: Dienstag, 1. Januar 2013, 19:36:38 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + ''' + ''' Purpose: Data Access class for the table 'funktionsgruppe_rolle'. + ''' + Public Class clsFunktionsgruppe_rolle + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daErstellt_am, m_daMutiert_am As SqlDateTime + Private m_iMutierer, m_iFunktionsgruppenr, m_iFunktionsgrupperollenr, m_iMandantnr, m_iRollenr As SqlInt32 + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iFunktionsgrupperollenr
  • + '''
  • iFunktionsgruppenr. May be SqlInt32.Null
  • + '''
  • iRollenr. May be SqlInt32.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_funktionsgruppe_rolle_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iFunktionsgrupperollenr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iFunktionsgrupperollenr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@ifunktionsgruppenr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iFunktionsgruppenr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@irollenr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iRollenr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_funktionsgruppe_rolle_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsFunktionsgruppe_rolle::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iFunktionsgrupperollenr
  • + '''
  • iFunktionsgruppenr. May be SqlInt32.Null
  • + '''
  • iRollenr. May be SqlInt32.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_funktionsgruppe_rolle_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iFunktionsgrupperollenr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iFunktionsgrupperollenr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@ifunktionsgruppenr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iFunktionsgruppenr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@irollenr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iRollenr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_funktionsgruppe_rolle_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsFunktionsgruppe_rolle::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iFunktionsgrupperollenr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_funktionsgruppe_rolle_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iFunktionsgrupperollenr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iFunktionsgrupperollenr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_funktionsgruppe_rolle_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsFunktionsgruppe_rolle::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iFunktionsgrupperollenr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iFunktionsgrupperollenr
  • + '''
  • iFunktionsgruppenr
  • + '''
  • iRollenr
  • + '''
  • iMandantnr
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_funktionsgruppe_rolle_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("funktionsgruppe_rolle") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iFunktionsgrupperollenr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iFunktionsgrupperollenr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_funktionsgruppe_rolle_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iFunktionsgrupperollenr = New SqlInt32(CType(dtToReturn.Rows(0)("Funktionsgrupperollenr"), Integer)) + If dtToReturn.Rows(0)("funktionsgruppenr") Is System.DBNull.Value Then + m_iFunktionsgruppenr = SqlInt32.Null + Else + m_iFunktionsgruppenr = New SqlInt32(CType(dtToReturn.Rows(0)("funktionsgruppenr"), Integer)) + End If + If dtToReturn.Rows(0)("rollenr") Is System.DBNull.Value Then + m_iRollenr = SqlInt32.Null + Else + m_iRollenr = New SqlInt32(CType(dtToReturn.Rows(0)("rollenr"), Integer)) + End If + If dtToReturn.Rows(0)("mandantnr") Is System.DBNull.Value Then + m_iMandantnr = SqlInt32.Null + Else + m_iMandantnr = New SqlInt32(CType(dtToReturn.Rows(0)("mandantnr"), Integer)) + End If + If dtToReturn.Rows(0)("aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsFunktionsgruppe_rolle::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_funktionsgruppe_rolle_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("funktionsgruppe_rolle") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_funktionsgruppe_rolle_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsFunktionsgruppe_rolle::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iFunktionsgrupperollenr]() As SqlInt32 + Get + Return m_iFunktionsgrupperollenr + End Get + Set(ByVal Value As SqlInt32) + Dim iFunktionsgrupperollenrTmp As SqlInt32 = Value + If iFunktionsgrupperollenrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iFunktionsgrupperollenr", "iFunktionsgrupperollenr can't be NULL") + End If + m_iFunktionsgrupperollenr = Value + End Set + End Property + + + Public Property [iFunktionsgruppenr]() As SqlInt32 + Get + Return m_iFunktionsgruppenr + End Get + Set(ByVal Value As SqlInt32) + m_iFunktionsgruppenr = Value + End Set + End Property + + + Public Property [iRollenr]() As SqlInt32 + Get + Return m_iRollenr + End Get + Set(ByVal Value As SqlInt32) + m_iRollenr = Value + End Set + End Property + + + Public Property [iMandantnr]() As SqlInt32 + Get + Return m_iMandantnr + End Get + Set(ByVal Value As SqlInt32) + m_iMandantnr = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/.svn/pristine/69/697c8266f86465c48f74dbd80d884b8e0d5b766e.svn-base b/.svn/pristine/69/697c8266f86465c48f74dbd80d884b8e0d5b766e.svn-base new file mode 100644 index 0000000..b2c1c8d --- /dev/null +++ b/.svn/pristine/69/697c8266f86465c48f74dbd80d884b8e0d5b766e.svn-base @@ -0,0 +1,630 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'spalten' +' // Generated by LLBLGen v1.21.2003.712 Final on: Dienstag, 1. Januar 2013, 13:15:45 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace db + ''' + ''' Purpose: Data Access class for the table 'spalten'. + ''' + Public Class clsSpalten + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bReadonly, m_bAlsHacken, m_bAktiv As SqlBoolean + Private m_daErstellt_am, m_daMutiert_am As SqlDateTime + Private m_iMandantnr, m_iMutierer, m_iReihenfolge, m_iEintragnr, m_iBreite As SqlInt32 + Private m_sTabelle, m_sNumberFormat, m_sTiptext, m_sSpalte, m_sTabellenspalte As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iEintragnr
  • + '''
  • sTabelle. May be SqlString.Null
  • + '''
  • sTabellenspalte. May be SqlString.Null
  • + '''
  • sSpalte. May be SqlString.Null
  • + '''
  • bReadonly
  • + '''
  • bAlsHacken
  • + '''
  • iBreite. May be SqlInt32.Null
  • + '''
  • iReihenfolge. May be SqlInt32.Null
  • + '''
  • sTiptext. May be SqlString.Null
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • sNumberFormat. May be SqlString.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_spalten_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@ieintragnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iEintragnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@stabelle", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTabelle)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@stabellenspalte", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTabellenspalte)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sspalte", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sSpalte)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bReadonly", SqlDbType.Bit, 1, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_bReadonly)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@balsHacken", SqlDbType.Bit, 1, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_bAlsHacken)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iBreite", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iBreite)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iReihenfolge", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iReihenfolge)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@stiptext", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTiptext)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sNumberFormat", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sNumberFormat)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_spalten_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSpalten::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iEintragnr
  • + '''
  • sTabelle. May be SqlString.Null
  • + '''
  • sTabellenspalte. May be SqlString.Null
  • + '''
  • sSpalte. May be SqlString.Null
  • + '''
  • bReadonly
  • + '''
  • bAlsHacken
  • + '''
  • iBreite. May be SqlInt32.Null
  • + '''
  • iReihenfolge. May be SqlInt32.Null
  • + '''
  • sTiptext. May be SqlString.Null
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • sNumberFormat. May be SqlString.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_spalten_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@ieintragnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iEintragnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@stabelle", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTabelle)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@stabellenspalte", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTabellenspalte)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sspalte", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sSpalte)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bReadonly", SqlDbType.Bit, 1, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_bReadonly)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@balsHacken", SqlDbType.Bit, 1, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_bAlsHacken)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iBreite", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iBreite)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iReihenfolge", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iReihenfolge)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@stiptext", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTiptext)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sNumberFormat", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sNumberFormat)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_spalten_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSpalten::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iEintragnr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_spalten_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@ieintragnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iEintragnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_spalten_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSpalten::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iEintragnr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iEintragnr
  • + '''
  • sTabelle
  • + '''
  • sTabellenspalte
  • + '''
  • sSpalte
  • + '''
  • bReadonly
  • + '''
  • bAlsHacken
  • + '''
  • iBreite
  • + '''
  • iReihenfolge
  • + '''
  • sTiptext
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
  • iMandantnr
  • + '''
  • sNumberFormat
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_spalten_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("spalten") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@ieintragnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iEintragnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_spalten_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iEintragnr = New SqlInt32(CType(dtToReturn.Rows(0)("eintragnr"), Integer)) + If dtToReturn.Rows(0)("tabelle") Is System.DBNull.Value Then + m_sTabelle = SqlString.Null + Else + m_sTabelle = New SqlString(CType(dtToReturn.Rows(0)("tabelle"), String)) + End If + If dtToReturn.Rows(0)("tabellenspalte") Is System.DBNull.Value Then + m_sTabellenspalte = SqlString.Null + Else + m_sTabellenspalte = New SqlString(CType(dtToReturn.Rows(0)("tabellenspalte"), String)) + End If + If dtToReturn.Rows(0)("spalte") Is System.DBNull.Value Then + m_sSpalte = SqlString.Null + Else + m_sSpalte = New SqlString(CType(dtToReturn.Rows(0)("spalte"), String)) + End If + m_bReadonly = New SqlBoolean(CType(dtToReturn.Rows(0)("Readonly"), Boolean)) + m_bAlsHacken = New SqlBoolean(CType(dtToReturn.Rows(0)("alsHacken"), Boolean)) + If dtToReturn.Rows(0)("Breite") Is System.DBNull.Value Then + m_iBreite = SqlInt32.Null + Else + m_iBreite = New SqlInt32(CType(dtToReturn.Rows(0)("Breite"), Integer)) + End If + If dtToReturn.Rows(0)("Reihenfolge") Is System.DBNull.Value Then + m_iReihenfolge = SqlInt32.Null + Else + m_iReihenfolge = New SqlInt32(CType(dtToReturn.Rows(0)("Reihenfolge"), Integer)) + End If + If dtToReturn.Rows(0)("tiptext") Is System.DBNull.Value Then + m_sTiptext = SqlString.Null + Else + m_sTiptext = New SqlString(CType(dtToReturn.Rows(0)("tiptext"), String)) + End If + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + If dtToReturn.Rows(0)("mandantnr") Is System.DBNull.Value Then + m_iMandantnr = SqlInt32.Null + Else + m_iMandantnr = New SqlInt32(CType(dtToReturn.Rows(0)("mandantnr"), Integer)) + End If + If dtToReturn.Rows(0)("NumberFormat") Is System.DBNull.Value Then + m_sNumberFormat = SqlString.Null + Else + m_sNumberFormat = New SqlString(CType(dtToReturn.Rows(0)("NumberFormat"), String)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSpalten::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_spalten_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("spalten") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_spalten_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSpalten::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iEintragnr]() As SqlInt32 + Get + Return m_iEintragnr + End Get + Set(ByVal Value As SqlInt32) + Dim iEintragnrTmp As SqlInt32 = Value + If iEintragnrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iEintragnr", "iEintragnr can't be NULL") + End If + m_iEintragnr = Value + End Set + End Property + + + Public Property [sTabelle]() As SqlString + Get + Return m_sTabelle + End Get + Set(ByVal Value As SqlString) + m_sTabelle = Value + End Set + End Property + + + Public Property [sTabellenspalte]() As SqlString + Get + Return m_sTabellenspalte + End Get + Set(ByVal Value As SqlString) + m_sTabellenspalte = Value + End Set + End Property + + + Public Property [sSpalte]() As SqlString + Get + Return m_sSpalte + End Get + Set(ByVal Value As SqlString) + m_sSpalte = Value + End Set + End Property + + + Public Property [bReadonly]() As SqlBoolean + Get + Return m_bReadonly + End Get + Set(ByVal Value As SqlBoolean) + Dim bReadonlyTmp As SqlBoolean = Value + If bReadonlyTmp.IsNull Then + Throw New ArgumentOutOfRangeException("bReadonly", "bReadonly can't be NULL") + End If + m_bReadonly = Value + End Set + End Property + + + Public Property [bAlsHacken]() As SqlBoolean + Get + Return m_bAlsHacken + End Get + Set(ByVal Value As SqlBoolean) + Dim bAlsHackenTmp As SqlBoolean = Value + If bAlsHackenTmp.IsNull Then + Throw New ArgumentOutOfRangeException("bAlsHacken", "bAlsHacken can't be NULL") + End If + m_bAlsHacken = Value + End Set + End Property + + + Public Property [iBreite]() As SqlInt32 + Get + Return m_iBreite + End Get + Set(ByVal Value As SqlInt32) + m_iBreite = Value + End Set + End Property + + + Public Property [iReihenfolge]() As SqlInt32 + Get + Return m_iReihenfolge + End Get + Set(ByVal Value As SqlInt32) + m_iReihenfolge = Value + End Set + End Property + + + Public Property [sTiptext]() As SqlString + Get + Return m_sTiptext + End Get + Set(ByVal Value As SqlString) + m_sTiptext = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + Dim bAktivTmp As SqlBoolean = Value + If bAktivTmp.IsNull Then + Throw New ArgumentOutOfRangeException("bAktiv", "bAktiv can't be NULL") + End If + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + + + Public Property [iMandantnr]() As SqlInt32 + Get + Return m_iMandantnr + End Get + Set(ByVal Value As SqlInt32) + m_iMandantnr = Value + End Set + End Property + + + Public Property [sNumberFormat]() As SqlString + Get + Return m_sNumberFormat + End Get + Set(ByVal Value As SqlString) + m_sNumberFormat = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/.svn/pristine/69/69d7ddb4eed9f7e53a9b515dec2f7668e91c4501.svn-base b/.svn/pristine/69/69d7ddb4eed9f7e53a9b515dec2f7668e91c4501.svn-base new file mode 100644 index 0000000..64f3722 --- /dev/null +++ b/.svn/pristine/69/69d7ddb4eed9f7e53a9b515dec2f7668e91c4501.svn-base @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.svn/pristine/69/69f0ed8f5f8b82897d7258d0aef19091e028cb77.svn-base b/.svn/pristine/69/69f0ed8f5f8b82897d7258d0aef19091e028cb77.svn-base new file mode 100644 index 0000000..b13cb99 --- /dev/null +++ b/.svn/pristine/69/69f0ed8f5f8b82897d7258d0aef19091e028cb77.svn-base @@ -0,0 +1,497 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 239, 17 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACkSURBVDhPlZOBDoAgCET9dD7NPyNPgpAIzY21oTzPg1rL + F4/0aaQEJqJXAIo8Vu9dL9gDYiGRgG6VCwBJLDvgbxRVsodvBPiEASDXF3mIB3AbBzPjBLDeHBVIcRbj + KScKuMGQElArmKZNSNJ7VYC2Ib48EIjE0gX1QPerLigkATytqxT4gQht3HsQx9H8+OpCeHL+R+FQnIPT + QiXaHPwtNMCu8ALckGXYKNsEDQAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABeSURBVDhPYzhw4MB/SjADSDMDAwNZGKwXZkBDA8QQQq6B + qYHT5BgAczHZLkB2LVleGMQGwJyGL1pBanB6ASZJDI01GolxAUgjXhfgcj4sgQ1SA8jNUPCkTCgD4ZMH + ADk0Kh+zxKF0AAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAB7SURBVDhPtVKBDcAgCOvpnsZnzJq5MFSGMSNplhFaWwJE + RE8ATwaKZkHukUAp9bHRATRTADQU4AAr+jaBbF7O2Xoc7ApYR7eDd+Y+4Pfg+8bBd9bVLv5zQHsZTB2s + bqBnJsmi9vM7IHFyeHuXNxXI5O0RBgE2fK7o3wtcor2JxHm9tQ0AAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAYAAAA7bUf6AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACtSURBVDhPpdONCoMgEAdw3/+pfIkxWKy1mlh+pOsF3EQO + DjG9ULiEoJ9/9WLH14XeYpzz0FOH3wP7j/ioVm0R70xCagMWOIP8rmlIBCJWgpxVNARvN4esWdsI3mop + jdUXkPzwIZFRkp4kXUAqnEhvoo3gBBiB92r90BD4OJ8jtMm5H5FioiEQvbQdsYxtBK747GCX93ANKTXd + /HrQkZio1GzT8077i2ttPw638AOZO2GTDCfYPAAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACNSURBVDhPtZPRDcAgCEQZndHczHqkGBBsaE1N+EHvKXBS + a62fBGViZu5EFAL59XwAQMgjhjoE8ti3EAfAZiZccxYyAVWxwhQiANTmnt3vZV+05HBeegVAersVZEBt + 8haA2+1K+iOT+g9wVEKhiZjGLCFMoeAHN4XHPmxgzgdqzaqZUidayOe/oJA3v/ECXC1jKtBnBTgAAAAA + SUVORK5CYII= + + + + 346, 17 + + + + iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAA3SURBVChTY2DABP+xiIGFkCVwsVEUwhThNREkiaEAJoiP + RnEmskKs7kd3C1YrYTrx+g6bIrAYAKCqHOQvFu6BAAAAAElFTkSuQmCC + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0 + dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACRTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5QYWdlU2V0dGluZ3MHAAAAD3ByaW50ZXJTZXR0aW5ncwVjb2xvcglwYXBlclNp + emULcGFwZXJTb3VyY2URcHJpbnRlclJlc29sdXRpb24JbGFuZHNjYXBlB21hcmdpbnMEBAQEBAQEJ1N5 + c3RlbS5EcmF3aW5nLlByaW50aW5nLlByaW50ZXJTZXR0aW5ncwIAAAAgU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuVHJpU3RhdGUCAAAAIVN5c3RlbS5EcmF3aW5nLlByaW50aW5nLlBhcGVyU2l6ZQIAAAAjU3lz + dGVtLkRyYXdpbmcuUHJpbnRpbmcuUGFwZXJTb3VyY2UCAAAAKVN5c3RlbS5EcmF3aW5nLlByaW50aW5n + LlByaW50ZXJSZXNvbHV0aW9uAgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAf + U3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuTWFyZ2lucwIAAAACAAAACQMAAAAF/P///yBTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5UcmlTdGF0ZQEAAAAFdmFsdWUAAgIAAAAACgoKAfv////8////AAkGAAAABQMA + AAAnU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRlclNldHRpbmdzEgAAAAtwcmludGVyTmFtZQpk + cml2ZXJOYW1lCm91dHB1dFBvcnQLcHJpbnRUb0ZpbGUUcHJpbnREaWFsb2dEaXNwbGF5ZWQKZXh0cmFi + eXRlcwlleHRyYWluZm8GY29waWVzBmR1cGxleAdjb2xsYXRlE2RlZmF1bHRQYWdlU2V0dGluZ3MIZnJv + bVBhZ2UGdG9QYWdlB21heFBhZ2UHbWluUGFnZQpwcmludFJhbmdlDGRldm1vZGVieXRlcw1jYWNoZWRE + ZXZtb2RlAQEBAAAABwAEBAQAAAAABAAHAQEHAgceU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuRHVwbGV4 + AgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAkU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuUGFnZVNldHRpbmdzAgAAAAgICAgiU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRSYW5n + ZQIAAAAHAgIAAAAKBgcAAAAACQcAAAAAAAAACv//Bfj///8eU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcu + RHVwbGV4AQAAAAd2YWx1ZV9fAAgCAAAA/////wH3/////P///wAJCgAAAAAAAAAAAAAADycAAAAAAAAF + 9f///yJTeXN0ZW0uRHJhd2luZy5QcmludGluZy5QcmludFJhbmdlAQAAAAd2YWx1ZV9fAAgCAAAAAAAA + AAAACgUGAAAAH1N5c3RlbS5EcmF3aW5nLlByaW50aW5nLk1hcmdpbnMIAAAABGxlZnQFcmlnaHQDdG9w + BmJvdHRvbQpkb3VibGVMZWZ0C2RvdWJsZVJpZ2h0CWRvdWJsZVRvcAxkb3VibGVCb3R0b20AAAAAAAAA + AAgICAgGBgYGAgAAAGQAAABkAAAAZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZ + QAEKAAAAAQAAAAkDAAAAAfP////8////AAoKCgHy/////P///wAJDwAAAAEPAAAABgAAAGQAAABkAAAA + ZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAs= + + + + <?xml version="1.0"?><Blob><Styles type="C1.Win.C1TrueDBGrid.Design.ContextWrapper"><Data>HighlightRow{ForeColor:HighlightText;BackColor:Highlight;}Style8{}Style7{}Style2{}EvenRow{BackColor:Aqua;}Normal{}RecordSelector{AlignImage:Center;}Style4{}OddRow{}Style3{}Footer{}Style14{}FilterBar{}Heading{AlignVert:Center;Border:Flat,ControlDark,0, 1, 0, 1;Wrap:True;BackColor:Control;ForeColor:ControlText;}Style5{}Editor{}Style10{AlignHorz:Near;}Style16{}Selected{ForeColor:HighlightText;BackColor:Highlight;}Style15{}Style13{}Style12{}Style11{}Group{Border:None,,0, 0, 0, 0;AlignVert:Center;BackColor:ControlDark;}Style9{}FilterWatermark{ForeColor:InfoText;BackColor:Info;}Style1{}Caption{AlignHorz:Center;}Style6{}Inactive{ForeColor:InactiveCaptionText;BackColor:InactiveCaption;}</Data></Styles><Splits><C1.Win.C1TrueDBGrid.MergeView Name="" CaptionHeight="17" ColumnCaptionHeight="17" ColumnFooterHeight="17" MarqueeStyle="DottedCellBorder" RecordSelectorWidth="17" DefRecSelWidth="17" VerticalScrollGroup="1" HorizontalScrollGroup="1"><CaptionStyle parent="Style2" me="Style10" /><EditorStyle parent="Editor" me="Style5" /><EvenRowStyle parent="EvenRow" me="Style8" /><FilterBarStyle parent="FilterBar" me="Style13" /><FilterWatermarkStyle parent="FilterWatermark" me="Style14" /><FooterStyle parent="Footer" me="Style3" /><GroupStyle parent="Group" me="Style12" /><HeadingStyle parent="Heading" me="Style2" /><HighLightRowStyle parent="HighlightRow" me="Style7" /><InactiveStyle parent="Inactive" me="Style4" /><OddRowStyle parent="OddRow" me="Style9" /><RecordSelectorStyle parent="RecordSelector" me="Style11" /><SelectedStyle parent="Selected" me="Style6" /><Style parent="Normal" me="Style1" /><ClientRect>0, 0, 814, 298</ClientRect><BorderSide>0</BorderSide></C1.Win.C1TrueDBGrid.MergeView></Splits><NamedStyles><Style parent="" me="Normal" /><Style parent="Normal" me="Heading" /><Style parent="Heading" me="Footer" /><Style parent="Heading" me="Caption" /><Style parent="Heading" me="Inactive" /><Style parent="Normal" me="Selected" /><Style parent="Normal" me="Editor" /><Style parent="Normal" me="HighlightRow" /><Style parent="Normal" me="EvenRow" /><Style parent="Normal" me="OddRow" /><Style parent="Heading" me="RecordSelector" /><Style parent="Normal" me="FilterBar" /><Style parent="FilterBar" me="FilterWatermark" /><Style parent="Caption" me="Group" /></NamedStyles><vertSplits>1</vertSplits><horzSplits>1</horzSplits><Layout>None</Layout><DefaultRecSelWidth>17</DefaultRecSelWidth><ClientArea>0, 0, 814, 298</ClientArea><PrintPageHeaderStyle parent="" me="Style15" /><PrintPageFooterStyle parent="" me="Style16" /></Blob> + + + 346, 56 + + + + iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAA3SURBVChTY2DABP+xiIGFkCVwsVEUwhThNREkiaEAJoiP + RnEmskKs7kd3C1YrYTrx+g6bIrAYAKCqHOQvFu6BAAAAAElFTkSuQmCC + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0 + dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACRTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5QYWdlU2V0dGluZ3MHAAAAD3ByaW50ZXJTZXR0aW5ncwVjb2xvcglwYXBlclNp + emULcGFwZXJTb3VyY2URcHJpbnRlclJlc29sdXRpb24JbGFuZHNjYXBlB21hcmdpbnMEBAQEBAQEJ1N5 + c3RlbS5EcmF3aW5nLlByaW50aW5nLlByaW50ZXJTZXR0aW5ncwIAAAAgU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuVHJpU3RhdGUCAAAAIVN5c3RlbS5EcmF3aW5nLlByaW50aW5nLlBhcGVyU2l6ZQIAAAAjU3lz + dGVtLkRyYXdpbmcuUHJpbnRpbmcuUGFwZXJTb3VyY2UCAAAAKVN5c3RlbS5EcmF3aW5nLlByaW50aW5n + LlByaW50ZXJSZXNvbHV0aW9uAgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAf + U3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuTWFyZ2lucwIAAAACAAAACQMAAAAF/P///yBTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5UcmlTdGF0ZQEAAAAFdmFsdWUAAgIAAAAACgoKAfv////8////AAkGAAAABQMA + AAAnU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRlclNldHRpbmdzEgAAAAtwcmludGVyTmFtZQpk + cml2ZXJOYW1lCm91dHB1dFBvcnQLcHJpbnRUb0ZpbGUUcHJpbnREaWFsb2dEaXNwbGF5ZWQKZXh0cmFi + eXRlcwlleHRyYWluZm8GY29waWVzBmR1cGxleAdjb2xsYXRlE2RlZmF1bHRQYWdlU2V0dGluZ3MIZnJv + bVBhZ2UGdG9QYWdlB21heFBhZ2UHbWluUGFnZQpwcmludFJhbmdlDGRldm1vZGVieXRlcw1jYWNoZWRE + ZXZtb2RlAQEBAAAABwAEBAQAAAAABAAHAQEHAgceU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuRHVwbGV4 + AgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAkU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuUGFnZVNldHRpbmdzAgAAAAgICAgiU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRSYW5n + ZQIAAAAHAgIAAAAKBgcAAAAACQcAAAAAAAAACv//Bfj///8eU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcu + RHVwbGV4AQAAAAd2YWx1ZV9fAAgCAAAA/////wH3/////P///wAJCgAAAAAAAAAAAAAADycAAAAAAAAF + 9f///yJTeXN0ZW0uRHJhd2luZy5QcmludGluZy5QcmludFJhbmdlAQAAAAd2YWx1ZV9fAAgCAAAAAAAA + AAAACgUGAAAAH1N5c3RlbS5EcmF3aW5nLlByaW50aW5nLk1hcmdpbnMIAAAABGxlZnQFcmlnaHQDdG9w + BmJvdHRvbQpkb3VibGVMZWZ0C2RvdWJsZVJpZ2h0CWRvdWJsZVRvcAxkb3VibGVCb3R0b20AAAAAAAAA + AAgICAgGBgYGAgAAAGQAAABkAAAAZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZ + QAEKAAAAAQAAAAkDAAAAAfP////8////AAoKCgHy/////P///wAJDwAAAAEPAAAABgAAAGQAAABkAAAA + ZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAs= + + + + <?xml version="1.0"?><Blob><Styles type="C1.Win.C1TrueDBGrid.Design.ContextWrapper"><Data>HighlightRow{ForeColor:HighlightText;BackColor:Highlight;}Style8{}Style7{}EvenRow{BackColor:Aqua;}Normal{}RecordSelector{AlignImage:Center;}Inactive{ForeColor:InactiveCaptionText;BackColor:InactiveCaption;}Style4{}OddRow{}Style3{}Footer{}Style14{}Heading{ForeColor:ControlText;Border:Flat,ControlDark,0, 1, 0, 1;AlignVert:Center;BackColor:Control;Wrap:True;}Style5{}Editor{}Style10{AlignHorz:Near;}Style16{}Selected{ForeColor:HighlightText;BackColor:Highlight;}Style15{}Style13{}Style12{}Style11{}Group{Border:None,,0, 0, 0, 0;AlignVert:Center;BackColor:ControlDark;}Style9{}FilterWatermark{ForeColor:InfoText;BackColor:Info;}Style6{}Style1{}Caption{AlignHorz:Center;}Style2{}FilterBar{}</Data></Styles><Splits><C1.Win.C1TrueDBGrid.MergeView Name="" CaptionHeight="17" ColumnCaptionHeight="17" ColumnFooterHeight="17" MarqueeStyle="DottedCellBorder" RecordSelectorWidth="17" DefRecSelWidth="17" VerticalScrollGroup="1" HorizontalScrollGroup="1"><CaptionStyle parent="Style2" me="Style10" /><EditorStyle parent="Editor" me="Style5" /><EvenRowStyle parent="EvenRow" me="Style8" /><FilterBarStyle parent="FilterBar" me="Style13" /><FilterWatermarkStyle parent="FilterWatermark" me="Style14" /><FooterStyle parent="Footer" me="Style3" /><GroupStyle parent="Group" me="Style12" /><HeadingStyle parent="Heading" me="Style2" /><HighLightRowStyle parent="HighlightRow" me="Style7" /><InactiveStyle parent="Inactive" me="Style4" /><OddRowStyle parent="OddRow" me="Style9" /><RecordSelectorStyle parent="RecordSelector" me="Style11" /><SelectedStyle parent="Selected" me="Style6" /><Style parent="Normal" me="Style1" /><ClientRect>0, 0, 1162, 151</ClientRect><BorderSide>0</BorderSide></C1.Win.C1TrueDBGrid.MergeView></Splits><NamedStyles><Style parent="" me="Normal" /><Style parent="Normal" me="Heading" /><Style parent="Heading" me="Footer" /><Style parent="Heading" me="Caption" /><Style parent="Heading" me="Inactive" /><Style parent="Normal" me="Selected" /><Style parent="Normal" me="Editor" /><Style parent="Normal" me="HighlightRow" /><Style parent="Normal" me="EvenRow" /><Style parent="Normal" me="OddRow" /><Style parent="Heading" me="RecordSelector" /><Style parent="Normal" me="FilterBar" /><Style parent="FilterBar" me="FilterWatermark" /><Style parent="Caption" me="Group" /></NamedStyles><vertSplits>1</vertSplits><horzSplits>1</horzSplits><Layout>None</Layout><DefaultRecSelWidth>17</DefaultRecSelWidth><ClientArea>0, 0, 1162, 151</ClientArea><PrintPageHeaderStyle parent="" me="Style15" /><PrintPageFooterStyle parent="" me="Style16" /></Blob> + + + 610, 56 + + + 1111, 17 + + + 1004, 17 + + + 239, 56 + + + + iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAYAAAA7bUf6AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACtSURBVDhPpdONCoMgEAdw3/+pfIkxWKy1mlh+pOsF3EQO + DjG9ULiEoJ9/9WLH14XeYpzz0FOH3wP7j/ioVm0R70xCagMWOIP8rmlIBCJWgpxVNARvN4esWdsI3mop + jdUXkPzwIZFRkp4kXUAqnEhvoo3gBBiB92r90BD4OJ8jtMm5H5FioiEQvbQdsYxtBK747GCX93ANKTXd + /HrQkZio1GzT8077i2ttPw638AOZO2GTDCfYPAAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACNSURBVDhPtZPRDcAgCEQZndHczHqkGBBsaE1N+EHvKXBS + a62fBGViZu5EFAL59XwAQMgjhjoE8ti3EAfAZiZccxYyAVWxwhQiANTmnt3vZV+05HBeegVAersVZEBt + 8haA2+1K+iOT+g9wVEKhiZjGLCFMoeAHN4XHPmxgzgdqzaqZUidayOe/oJA3v/ECXC1jKtBnBTgAAAAA + SUVORK5CYII= + + + + 453, 56 + + + 610, 56 + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIISURBVDhPpZP7S1NxGMbPPxKaXVUkMEq8IpKUCoY/hGgI + ymqkDYYXcCjDZOANURSjCNGFQUTsl4GXVMxKk62YU4fXQpaIlygHQxBRH8/zwvyaIAYe+HLgnPN8nue9 + HA3nvDTq63oW/jm13XOwvPTB3DYFY5MH+bXfcN8ygfTSMSSXfESicQDxBqdYHwH29g9w2tnZ3UcguIvN + rR3417exuBJE5N1n/wfwLgXEOc38Bc6xNRHb+/y4nm49G0Bnit2zf9H6bkliE/jKuYxrd6oVgDWfjB+K + TWeKMyrGEVfowITvD9re/9ABVQrAhh0HHK+ZselMMaN/mvwtDb+aVqkA7HYIwIj3ysfluPTorJnP6Ezx + oHsD1s5ZXEktUwCOioB5f1CEPR9+wTG6iuiserTo8dkwng7HT/R+XUPF8xlcTjErAOdMcW6NW8STiwG8 + 7vej8oUPN/PsEv3t8Ao0TZP3T1u8uJRkUgAuSYHtO97oLxmXd5t9Ho8aPTK+GzntqNfrLm2fFoihwYOI + xGIF4KjoGBLzY1OrF9k6OOFxnwDC4wxIMX1G0pMhgVyMNyoA13PAtS7OrJk1PrC69LUdQWxuF6IybHrX + LRI7JrtZdoDAo1XmbjMyD+tjSXxGcXRmnYg5ttD9QuxDhN0uUgDOmbvNTpPOJaGAo2K36cyaGZvOFIfd + KlSA8/zRh9ABIDUG+1JpAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIISURBVDhPpZP7S1NxGMbPPxKaXVUkMEq8IpKUCoY/hGgI + ymqkDYYXcCjDZOANURSjCNGFQUTsl4GXVMxKk62YU4fXQpaIlygHQxBRH8/zwvyaIAYe+HLgnPN8nue9 + HA3nvDTq63oW/jm13XOwvPTB3DYFY5MH+bXfcN8ygfTSMSSXfESicQDxBqdYHwH29g9w2tnZ3UcguIvN + rR3417exuBJE5N1n/wfwLgXEOc38Bc6xNRHb+/y4nm49G0Bnit2zf9H6bkliE/jKuYxrd6oVgDWfjB+K + TWeKMyrGEVfowITvD9re/9ABVQrAhh0HHK+ZselMMaN/mvwtDb+aVqkA7HYIwIj3ysfluPTorJnP6Ezx + oHsD1s5ZXEktUwCOioB5f1CEPR9+wTG6iuiserTo8dkwng7HT/R+XUPF8xlcTjErAOdMcW6NW8STiwG8 + 7vej8oUPN/PsEv3t8Ao0TZP3T1u8uJRkUgAuSYHtO97oLxmXd5t9Ho8aPTK+GzntqNfrLm2fFoihwYOI + xGIF4KjoGBLzY1OrF9k6OOFxnwDC4wxIMX1G0pMhgVyMNyoA13PAtS7OrJk1PrC69LUdQWxuF6IybHrX + LRI7JrtZdoDAo1XmbjMyD+tjSXxGcXRmnYg5ttD9QuxDhN0uUgDOmbvNTpPOJaGAo2K36cyaGZvOFIfd + KlSA8/zRh9ABIDUG+1JpAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAA3SURBVChTY2DABP+xiIGFkCVwsVEUwhThNREkiaEAJoiP + RnEmskKs7kd3C1YrYTrx+g6bIrAYAKCqHOQvFu6BAAAAAElFTkSuQmCC + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0 + dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACRTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5QYWdlU2V0dGluZ3MHAAAAD3ByaW50ZXJTZXR0aW5ncwVjb2xvcglwYXBlclNp + emULcGFwZXJTb3VyY2URcHJpbnRlclJlc29sdXRpb24JbGFuZHNjYXBlB21hcmdpbnMEBAQEBAQEJ1N5 + c3RlbS5EcmF3aW5nLlByaW50aW5nLlByaW50ZXJTZXR0aW5ncwIAAAAgU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuVHJpU3RhdGUCAAAAIVN5c3RlbS5EcmF3aW5nLlByaW50aW5nLlBhcGVyU2l6ZQIAAAAjU3lz + dGVtLkRyYXdpbmcuUHJpbnRpbmcuUGFwZXJTb3VyY2UCAAAAKVN5c3RlbS5EcmF3aW5nLlByaW50aW5n + LlByaW50ZXJSZXNvbHV0aW9uAgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAf + U3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuTWFyZ2lucwIAAAACAAAACQMAAAAF/P///yBTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5UcmlTdGF0ZQEAAAAFdmFsdWUAAgIAAAAACgoKAfv////8////AAkGAAAABQMA + AAAnU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRlclNldHRpbmdzEgAAAAtwcmludGVyTmFtZQpk + cml2ZXJOYW1lCm91dHB1dFBvcnQLcHJpbnRUb0ZpbGUUcHJpbnREaWFsb2dEaXNwbGF5ZWQKZXh0cmFi + eXRlcwlleHRyYWluZm8GY29waWVzBmR1cGxleAdjb2xsYXRlE2RlZmF1bHRQYWdlU2V0dGluZ3MIZnJv + bVBhZ2UGdG9QYWdlB21heFBhZ2UHbWluUGFnZQpwcmludFJhbmdlDGRldm1vZGVieXRlcw1jYWNoZWRE + ZXZtb2RlAQEBAAAABwAEBAQAAAAABAAHAQEHAgceU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuRHVwbGV4 + AgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAkU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuUGFnZVNldHRpbmdzAgAAAAgICAgiU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRSYW5n + ZQIAAAAHAgIAAAAKBgcAAAAACQcAAAAAAAAACv//Bfj///8eU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcu + RHVwbGV4AQAAAAd2YWx1ZV9fAAgCAAAA/////wH3/////P///wAJCgAAAAAAAAAAAAAADycAAAAAAAAF + 9f///yJTeXN0ZW0uRHJhd2luZy5QcmludGluZy5QcmludFJhbmdlAQAAAAd2YWx1ZV9fAAgCAAAAAAAA + AAAACgUGAAAAH1N5c3RlbS5EcmF3aW5nLlByaW50aW5nLk1hcmdpbnMIAAAABGxlZnQFcmlnaHQDdG9w + BmJvdHRvbQpkb3VibGVMZWZ0C2RvdWJsZVJpZ2h0CWRvdWJsZVRvcAxkb3VibGVCb3R0b20AAAAAAAAA + AAgICAgGBgYGAgAAAGQAAABkAAAAZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZ + QAEKAAAAAQAAAAkDAAAAAfP////8////AAoKCgHy/////P///wAJDwAAAAEPAAAABgAAAGQAAABkAAAA + ZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAs= + + + + <?xml version="1.0"?><Blob><Styles type="C1.Win.C1TrueDBGrid.Design.ContextWrapper"><Data>HighlightRow{ForeColor:HighlightText;BackColor:Highlight;}Style8{}Style7{}EvenRow{BackColor:Aqua;}Normal{}RecordSelector{AlignImage:Center;}Style4{}OddRow{}Style3{}Footer{}Style14{}FilterBar{}Heading{AlignVert:Center;Border:Flat,ControlDark,0, 1, 0, 1;ForeColor:ControlText;BackColor:Control;Wrap:True;}Style5{}Editor{}Style10{AlignHorz:Near;}Style16{}Selected{ForeColor:HighlightText;BackColor:Highlight;}Style15{}Style13{}Style12{}Style11{}Group{Border:None,,0, 0, 0, 0;AlignVert:Center;BackColor:ControlDark;}Style9{}FilterWatermark{ForeColor:InfoText;BackColor:Info;}Style6{}Style1{}Caption{AlignHorz:Center;}Style2{}Inactive{ForeColor:InactiveCaptionText;BackColor:InactiveCaption;}</Data></Styles><Splits><C1.Win.C1TrueDBGrid.MergeView Name="" CaptionHeight="17" ColumnCaptionHeight="17" ColumnFooterHeight="17" MarqueeStyle="DottedCellBorder" RecordSelectorWidth="17" DefRecSelWidth="17" VerticalScrollGroup="1" HorizontalScrollGroup="1"><CaptionStyle parent="Style2" me="Style10" /><EditorStyle parent="Editor" me="Style5" /><EvenRowStyle parent="EvenRow" me="Style8" /><FilterBarStyle parent="FilterBar" me="Style13" /><FilterWatermarkStyle parent="FilterWatermark" me="Style14" /><FooterStyle parent="Footer" me="Style3" /><GroupStyle parent="Group" me="Style12" /><HeadingStyle parent="Heading" me="Style2" /><HighLightRowStyle parent="HighlightRow" me="Style7" /><InactiveStyle parent="Inactive" me="Style4" /><OddRowStyle parent="OddRow" me="Style9" /><RecordSelectorStyle parent="RecordSelector" me="Style11" /><SelectedStyle parent="Selected" me="Style6" /><Style parent="Normal" me="Style1" /><ClientRect>0, 0, 340, 313</ClientRect><BorderSide>0</BorderSide></C1.Win.C1TrueDBGrid.MergeView></Splits><NamedStyles><Style parent="" me="Normal" /><Style parent="Normal" me="Heading" /><Style parent="Heading" me="Footer" /><Style parent="Heading" me="Caption" /><Style parent="Heading" me="Inactive" /><Style parent="Normal" me="Selected" /><Style parent="Normal" me="Editor" /><Style parent="Normal" me="HighlightRow" /><Style parent="Normal" me="EvenRow" /><Style parent="Normal" me="OddRow" /><Style parent="Heading" me="RecordSelector" /><Style parent="Normal" me="FilterBar" /><Style parent="FilterBar" me="FilterWatermark" /><Style parent="Caption" me="Group" /></NamedStyles><vertSplits>1</vertSplits><horzSplits>1</horzSplits><Layout>None</Layout><DefaultRecSelWidth>17</DefaultRecSelWidth><ClientArea>0, 0, 340, 313</ClientArea><PrintPageHeaderStyle parent="" me="Style15" /><PrintPageFooterStyle parent="" me="Style16" /></Blob> + + + 1111, 17 + + + + iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAYAAAA7bUf6AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACtSURBVDhPpdONCoMgEAdw3/+pfIkxWKy1mlh+pOsF3EQO + DjG9ULiEoJ9/9WLH14XeYpzz0FOH3wP7j/ioVm0R70xCagMWOIP8rmlIBCJWgpxVNARvN4esWdsI3mop + jdUXkPzwIZFRkp4kXUAqnEhvoo3gBBiB92r90BD4OJ8jtMm5H5FioiEQvbQdsYxtBK747GCX93ANKTXd + /HrQkZio1GzT8077i2ttPw638AOZO2GTDCfYPAAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACNSURBVDhPtZPRDcAgCEQZndHczHqkGBBsaE1N+EHvKXBS + a62fBGViZu5EFAL59XwAQMgjhjoE8ti3EAfAZiZccxYyAVWxwhQiANTmnt3vZV+05HBeegVAersVZEBt + 8haA2+1K+iOT+g9wVEKhiZjGLCFMoeAHN4XHPmxgzgdqzaqZUidayOe/oJA3v/ECXC1jKtBnBTgAAAAA + SUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAYAAAA7bUf6AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACtSURBVDhPpdONCoMgEAdw3/+pfIkxWKy1mlh+pOsF3EQO + DjG9ULiEoJ9/9WLH14XeYpzz0FOH3wP7j/ioVm0R70xCagMWOIP8rmlIBCJWgpxVNARvN4esWdsI3mop + jdUXkPzwIZFRkp4kXUAqnEhvoo3gBBiB92r90BD4OJ8jtMm5H5FioiEQvbQdsYxtBK747GCX93ANKTXd + /HrQkZio1GzT8077i2ttPw638AOZO2GTDCfYPAAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACNSURBVDhPtZPRDcAgCEQZndHczHqkGBBsaE1N+EHvKXBS + a62fBGViZu5EFAL59XwAQMgjhjoE8ti3EAfAZiZccxYyAVWxwhQiANTmnt3vZV+05HBeegVAersVZEBt + 8haA2+1K+iOT+g9wVEKhiZjGLCFMoeAHN4XHPmxgzgdqzaqZUidayOe/oJA3v/ECXC1jKtBnBTgAAAAA + SUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAA3SURBVChTY2DABP+xiIGFkCVwsVEUwhThNREkiaEAJoiP + RnEmskKs7kd3C1YrYTrx+g6bIrAYAKCqHOQvFu6BAAAAAElFTkSuQmCC + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0 + dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACRTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5QYWdlU2V0dGluZ3MHAAAAD3ByaW50ZXJTZXR0aW5ncwVjb2xvcglwYXBlclNp + emULcGFwZXJTb3VyY2URcHJpbnRlclJlc29sdXRpb24JbGFuZHNjYXBlB21hcmdpbnMEBAQEBAQEJ1N5 + c3RlbS5EcmF3aW5nLlByaW50aW5nLlByaW50ZXJTZXR0aW5ncwIAAAAgU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuVHJpU3RhdGUCAAAAIVN5c3RlbS5EcmF3aW5nLlByaW50aW5nLlBhcGVyU2l6ZQIAAAAjU3lz + dGVtLkRyYXdpbmcuUHJpbnRpbmcuUGFwZXJTb3VyY2UCAAAAKVN5c3RlbS5EcmF3aW5nLlByaW50aW5n + LlByaW50ZXJSZXNvbHV0aW9uAgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAf + U3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuTWFyZ2lucwIAAAACAAAACQMAAAAF/P///yBTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5UcmlTdGF0ZQEAAAAFdmFsdWUAAgIAAAAACgoKAfv////8////AAkGAAAABQMA + AAAnU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRlclNldHRpbmdzEgAAAAtwcmludGVyTmFtZQpk + cml2ZXJOYW1lCm91dHB1dFBvcnQLcHJpbnRUb0ZpbGUUcHJpbnREaWFsb2dEaXNwbGF5ZWQKZXh0cmFi + eXRlcwlleHRyYWluZm8GY29waWVzBmR1cGxleAdjb2xsYXRlE2RlZmF1bHRQYWdlU2V0dGluZ3MIZnJv + bVBhZ2UGdG9QYWdlB21heFBhZ2UHbWluUGFnZQpwcmludFJhbmdlDGRldm1vZGVieXRlcw1jYWNoZWRE + ZXZtb2RlAQEBAAAABwAEBAQAAAAABAAHAQEHAgceU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuRHVwbGV4 + AgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAkU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuUGFnZVNldHRpbmdzAgAAAAgICAgiU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRSYW5n + ZQIAAAAHAgIAAAAKBgcAAAAACQcAAAAAAAAACv//Bfj///8eU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcu + RHVwbGV4AQAAAAd2YWx1ZV9fAAgCAAAA/////wH3/////P///wAJCgAAAAAAAAAAAAAADycAAAAAAAAF + 9f///yJTeXN0ZW0uRHJhd2luZy5QcmludGluZy5QcmludFJhbmdlAQAAAAd2YWx1ZV9fAAgCAAAAAAAA + AAAACgUGAAAAH1N5c3RlbS5EcmF3aW5nLlByaW50aW5nLk1hcmdpbnMIAAAABGxlZnQFcmlnaHQDdG9w + BmJvdHRvbQpkb3VibGVMZWZ0C2RvdWJsZVJpZ2h0CWRvdWJsZVRvcAxkb3VibGVCb3R0b20AAAAAAAAA + AAgICAgGBgYGAgAAAGQAAABkAAAAZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZ + QAEKAAAAAQAAAAkDAAAAAfP////8////AAoKCgHy/////P///wAJDwAAAAEPAAAABgAAAGQAAABkAAAA + ZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAs= + + + + <?xml version="1.0"?><Blob><Styles type="C1.Win.C1TrueDBGrid.Design.ContextWrapper"><Data>HighlightRow{ForeColor:HighlightText;BackColor:Highlight;}Style8{}Style7{}EvenRow{BackColor:Aqua;}Normal{}RecordSelector{AlignImage:Center;}Style4{}OddRow{}Style3{}Footer{}Style14{}FilterBar{}Heading{AlignVert:Center;Border:Flat,ControlDark,0, 1, 0, 1;ForeColor:ControlText;BackColor:Control;Wrap:True;}Style5{}Editor{}Style10{AlignHorz:Near;}Style16{}Selected{ForeColor:HighlightText;BackColor:Highlight;}Style15{}Style13{}Style12{}Style11{}Group{Border:None,,0, 0, 0, 0;AlignVert:Center;BackColor:ControlDark;}Style9{}FilterWatermark{ForeColor:InfoText;BackColor:Info;}Style6{}Style1{}Caption{AlignHorz:Center;}Style2{}Inactive{ForeColor:InactiveCaptionText;BackColor:InactiveCaption;}</Data></Styles><Splits><C1.Win.C1TrueDBGrid.MergeView Name="" CaptionHeight="17" ColumnCaptionHeight="17" ColumnFooterHeight="17" MarqueeStyle="DottedCellBorder" RecordSelectorWidth="17" DefRecSelWidth="17" VerticalScrollGroup="1" HorizontalScrollGroup="1"><CaptionStyle parent="Style2" me="Style10" /><EditorStyle parent="Editor" me="Style5" /><EvenRowStyle parent="EvenRow" me="Style8" /><FilterBarStyle parent="FilterBar" me="Style13" /><FilterWatermarkStyle parent="FilterWatermark" me="Style14" /><FooterStyle parent="Footer" me="Style3" /><GroupStyle parent="Group" me="Style12" /><HeadingStyle parent="Heading" me="Style2" /><HighLightRowStyle parent="HighlightRow" me="Style7" /><InactiveStyle parent="Inactive" me="Style4" /><OddRowStyle parent="OddRow" me="Style9" /><RecordSelectorStyle parent="RecordSelector" me="Style11" /><SelectedStyle parent="Selected" me="Style6" /><Style parent="Normal" me="Style1" /><ClientRect>0, 0, 1168, 514</ClientRect><BorderSide>0</BorderSide></C1.Win.C1TrueDBGrid.MergeView></Splits><NamedStyles><Style parent="" me="Normal" /><Style parent="Normal" me="Heading" /><Style parent="Heading" me="Footer" /><Style parent="Heading" me="Caption" /><Style parent="Heading" me="Inactive" /><Style parent="Normal" me="Selected" /><Style parent="Normal" me="Editor" /><Style parent="Normal" me="HighlightRow" /><Style parent="Normal" me="EvenRow" /><Style parent="Normal" me="OddRow" /><Style parent="Heading" me="RecordSelector" /><Style parent="Normal" me="FilterBar" /><Style parent="FilterBar" me="FilterWatermark" /><Style parent="Caption" me="Group" /></NamedStyles><vertSplits>1</vertSplits><horzSplits>1</horzSplits><Layout>None</Layout><DefaultRecSelWidth>17</DefaultRecSelWidth><ClientArea>0, 0, 1168, 514</ClientArea><PrintPageHeaderStyle parent="" me="Style15" /><PrintPageFooterStyle parent="" me="Style16" /></Blob> + + + + iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAA3SURBVChTY2DABP+xiIGFkCVwsVEUwhThNREkiaEAJoiP + RnEmskKs7kd3C1YrYTrx+g6bIrAYAKCqHOQvFu6BAAAAAElFTkSuQmCC + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0 + dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACRTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5QYWdlU2V0dGluZ3MHAAAAD3ByaW50ZXJTZXR0aW5ncwVjb2xvcglwYXBlclNp + emULcGFwZXJTb3VyY2URcHJpbnRlclJlc29sdXRpb24JbGFuZHNjYXBlB21hcmdpbnMEBAQEBAQEJ1N5 + c3RlbS5EcmF3aW5nLlByaW50aW5nLlByaW50ZXJTZXR0aW5ncwIAAAAgU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuVHJpU3RhdGUCAAAAIVN5c3RlbS5EcmF3aW5nLlByaW50aW5nLlBhcGVyU2l6ZQIAAAAjU3lz + dGVtLkRyYXdpbmcuUHJpbnRpbmcuUGFwZXJTb3VyY2UCAAAAKVN5c3RlbS5EcmF3aW5nLlByaW50aW5n + LlByaW50ZXJSZXNvbHV0aW9uAgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAf + U3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuTWFyZ2lucwIAAAACAAAACQMAAAAF/P///yBTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5UcmlTdGF0ZQEAAAAFdmFsdWUAAgIAAAAACgoKAfv////8////AAkGAAAABQMA + AAAnU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRlclNldHRpbmdzEgAAAAtwcmludGVyTmFtZQpk + cml2ZXJOYW1lCm91dHB1dFBvcnQLcHJpbnRUb0ZpbGUUcHJpbnREaWFsb2dEaXNwbGF5ZWQKZXh0cmFi + eXRlcwlleHRyYWluZm8GY29waWVzBmR1cGxleAdjb2xsYXRlE2RlZmF1bHRQYWdlU2V0dGluZ3MIZnJv + bVBhZ2UGdG9QYWdlB21heFBhZ2UHbWluUGFnZQpwcmludFJhbmdlDGRldm1vZGVieXRlcw1jYWNoZWRE + ZXZtb2RlAQEBAAAABwAEBAQAAAAABAAHAQEHAgceU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuRHVwbGV4 + AgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAkU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuUGFnZVNldHRpbmdzAgAAAAgICAgiU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRSYW5n + ZQIAAAAHAgIAAAAKBgcAAAAACQcAAAAAAAAACv//Bfj///8eU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcu + RHVwbGV4AQAAAAd2YWx1ZV9fAAgCAAAA/////wH3/////P///wAJCgAAAAAAAAAAAAAADycAAAAAAAAF + 9f///yJTeXN0ZW0uRHJhd2luZy5QcmludGluZy5QcmludFJhbmdlAQAAAAd2YWx1ZV9fAAgCAAAAAAAA + AAAACgUGAAAAH1N5c3RlbS5EcmF3aW5nLlByaW50aW5nLk1hcmdpbnMIAAAABGxlZnQFcmlnaHQDdG9w + BmJvdHRvbQpkb3VibGVMZWZ0C2RvdWJsZVJpZ2h0CWRvdWJsZVRvcAxkb3VibGVCb3R0b20AAAAAAAAA + AAgICAgGBgYGAgAAAGQAAABkAAAAZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZ + QAEKAAAAAQAAAAkDAAAAAfP////8////AAoKCgHy/////P///wAJDwAAAAEPAAAABgAAAGQAAABkAAAA + ZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAs= + + + + <?xml version="1.0"?><Blob><Styles type="C1.Win.C1TrueDBGrid.Design.ContextWrapper"><Data>HighlightRow{ForeColor:HighlightText;BackColor:Highlight;}Style8{}Style7{}EvenRow{BackColor:Aqua;}Normal{}RecordSelector{AlignImage:Center;}Style4{}OddRow{}Style3{}Footer{}Style14{}FilterBar{}Heading{AlignVert:Center;Border:Flat,ControlDark,0, 1, 0, 1;ForeColor:ControlText;BackColor:Control;Wrap:True;}Style5{}Editor{}Style10{AlignHorz:Near;}Style16{}Selected{ForeColor:HighlightText;BackColor:Highlight;}Style15{}Style13{}Style12{}Style11{}Group{Border:None,,0, 0, 0, 0;AlignVert:Center;BackColor:ControlDark;}Style9{}FilterWatermark{ForeColor:InfoText;BackColor:Info;}Style6{}Style1{}Caption{AlignHorz:Center;}Style2{}Inactive{ForeColor:InactiveCaptionText;BackColor:InactiveCaption;}</Data></Styles><Splits><C1.Win.C1TrueDBGrid.MergeView Name="" CaptionHeight="17" ColumnCaptionHeight="17" ColumnFooterHeight="17" MarqueeStyle="DottedCellBorder" RecordSelectorWidth="17" DefRecSelWidth="17" VerticalScrollGroup="1" HorizontalScrollGroup="1"><CaptionStyle parent="Style2" me="Style10" /><EditorStyle parent="Editor" me="Style5" /><EvenRowStyle parent="EvenRow" me="Style8" /><FilterBarStyle parent="FilterBar" me="Style13" /><FilterWatermarkStyle parent="FilterWatermark" me="Style14" /><FooterStyle parent="Footer" me="Style3" /><GroupStyle parent="Group" me="Style12" /><HeadingStyle parent="Heading" me="Style2" /><HighLightRowStyle parent="HighlightRow" me="Style7" /><InactiveStyle parent="Inactive" me="Style4" /><OddRowStyle parent="OddRow" me="Style9" /><RecordSelectorStyle parent="RecordSelector" me="Style11" /><SelectedStyle parent="Selected" me="Style6" /><Style parent="Normal" me="Style1" /><ClientRect>0, 0, 1168, 489</ClientRect><BorderSide>0</BorderSide></C1.Win.C1TrueDBGrid.MergeView></Splits><NamedStyles><Style parent="" me="Normal" /><Style parent="Normal" me="Heading" /><Style parent="Heading" me="Footer" /><Style parent="Heading" me="Caption" /><Style parent="Heading" me="Inactive" /><Style parent="Normal" me="Selected" /><Style parent="Normal" me="Editor" /><Style parent="Normal" me="HighlightRow" /><Style parent="Normal" me="EvenRow" /><Style parent="Normal" me="OddRow" /><Style parent="Heading" me="RecordSelector" /><Style parent="Normal" me="FilterBar" /><Style parent="FilterBar" me="FilterWatermark" /><Style parent="Caption" me="Group" /></NamedStyles><vertSplits>1</vertSplits><horzSplits>1</horzSplits><Layout>None</Layout><DefaultRecSelWidth>17</DefaultRecSelWidth><ClientArea>0, 0, 1168, 489</ClientArea><PrintPageHeaderStyle parent="" me="Style15" /><PrintPageFooterStyle parent="" me="Style16" /></Blob> + + + 239, 56 + + + + iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAYAAAA7bUf6AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACtSURBVDhPpdONCoMgEAdw3/+pfIkxWKy1mlh+pOsF3EQO + DjG9ULiEoJ9/9WLH14XeYpzz0FOH3wP7j/ioVm0R70xCagMWOIP8rmlIBCJWgpxVNARvN4esWdsI3mop + jdUXkPzwIZFRkp4kXUAqnEhvoo3gBBiB92r90BD4OJ8jtMm5H5FioiEQvbQdsYxtBK747GCX93ANKTXd + /HrQkZio1GzT8077i2ttPw638AOZO2GTDCfYPAAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACNSURBVDhPtZPRDcAgCEQZndHczHqkGBBsaE1N+EHvKXBS + a62fBGViZu5EFAL59XwAQMgjhjoE8ti3EAfAZiZccxYyAVWxwhQiANTmnt3vZV+05HBeegVAersVZEBt + 8haA2+1K+iOT+g9wVEKhiZjGLCFMoeAHN4XHPmxgzgdqzaqZUidayOe/oJA3v/ECXC1jKtBnBTgAAAAA + SUVORK5CYII= + + + + 102 + + \ No newline at end of file diff --git a/.svn/pristine/6b/6b18a038ab02c5d8f8646c603023669af547d4a6.svn-base b/.svn/pristine/6b/6b18a038ab02c5d8f8646c603023669af547d4a6.svn-base new file mode 100644 index 0000000..0219e92 Binary files /dev/null and b/.svn/pristine/6b/6b18a038ab02c5d8f8646c603023669af547d4a6.svn-base differ diff --git a/.svn/pristine/6b/6b2d72421d3db6b45df0e2b10f903d1188b52610.svn-base b/.svn/pristine/6b/6b2d72421d3db6b45df0e2b10f903d1188b52610.svn-base new file mode 100644 index 0000000..4105a0a --- /dev/null +++ b/.svn/pristine/6b/6b2d72421d3db6b45df0e2b10f903d1188b52610.svn-base @@ -0,0 +1,491 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'key_tabelle' +' // Generated by LLBLGen v1.21.2003.712 Final on: Freitag, 4. Januar 2013, 17:02:51 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + ''' + ''' Purpose: Data Access class for the table 'key_tabelle'. + ''' + Public Class clsKey_tabelle + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daErstellt_am, m_daMutiert_am As SqlDateTime + Private m_iMutierer, m_iKeynr, m_iKey_wert, m_iMandantnr As SqlInt32 + Private m_sBeschreibung As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • sBeschreibung
  • + '''
  • iKey_wert
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iKeynr
  • + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_key_tabelle_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@sbeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@ikey_wert", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKey_wert)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@ikeynr", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iKeynr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iKeynr = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@ikeynr").Value, Integer)) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_key_tabelle_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKey_tabelle::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iKeynr
  • + '''
  • sBeschreibung
  • + '''
  • iKey_wert
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_key_tabelle_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@ikeynr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKeynr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sbeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@ikey_wert", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKey_wert)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_key_tabelle_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKey_tabelle::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iKeynr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_key_tabelle_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@ikeynr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKeynr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_key_tabelle_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKey_tabelle::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iKeynr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iKeynr
  • + '''
  • sBeschreibung
  • + '''
  • iKey_wert
  • + '''
  • iMandantnr
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_key_tabelle_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("key_tabelle") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@ikeynr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKeynr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_key_tabelle_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iKeynr = New SqlInt32(CType(dtToReturn.Rows(0)("keynr"), Integer)) + m_sBeschreibung = New SqlString(CType(dtToReturn.Rows(0)("beschreibung"), String)) + m_iKey_wert = New SqlInt32(CType(dtToReturn.Rows(0)("key_wert"), Integer)) + If dtToReturn.Rows(0)("mandantnr") Is System.DBNull.Value Then + m_iMandantnr = SqlInt32.Null + Else + m_iMandantnr = New SqlInt32(CType(dtToReturn.Rows(0)("mandantnr"), Integer)) + End If + If dtToReturn.Rows(0)("aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKey_tabelle::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_key_tabelle_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("key_tabelle") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_key_tabelle_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKey_tabelle::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iKeynr]() As SqlInt32 + Get + Return m_iKeynr + End Get + Set(ByVal Value As SqlInt32) + Dim iKeynrTmp As SqlInt32 = Value + If iKeynrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iKeynr", "iKeynr can't be NULL") + End If + m_iKeynr = Value + End Set + End Property + + + Public Property [sBeschreibung]() As SqlString + Get + Return m_sBeschreibung + End Get + Set(ByVal Value As SqlString) + Dim sBeschreibungTmp As SqlString = Value + If sBeschreibungTmp.IsNull Then + Throw New ArgumentOutOfRangeException("sBeschreibung", "sBeschreibung can't be NULL") + End If + m_sBeschreibung = Value + End Set + End Property + + + Public Property [iKey_wert]() As SqlInt32 + Get + Return m_iKey_wert + End Get + Set(ByVal Value As SqlInt32) + Dim iKey_wertTmp As SqlInt32 = Value + If iKey_wertTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iKey_wert", "iKey_wert can't be NULL") + End If + m_iKey_wert = Value + End Set + End Property + + + Public Property [iMandantnr]() As SqlInt32 + Get + Return m_iMandantnr + End Get + Set(ByVal Value As SqlInt32) + m_iMandantnr = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/.svn/pristine/6b/6b9525d8d20ca99bb938da87a33c68dc28822278.svn-base b/.svn/pristine/6b/6b9525d8d20ca99bb938da87a33c68dc28822278.svn-base new file mode 100644 index 0000000..f31233d Binary files /dev/null and b/.svn/pristine/6b/6b9525d8d20ca99bb938da87a33c68dc28822278.svn-base differ diff --git a/.svn/pristine/6c/6ccef65be176a5778e3852297330c315de8a7eb2.svn-base b/.svn/pristine/6c/6ccef65be176a5778e3852297330c315de8a7eb2.svn-base new file mode 100644 index 0000000..4621de4 Binary files /dev/null and b/.svn/pristine/6c/6ccef65be176a5778e3852297330c315de8a7eb2.svn-base differ diff --git a/.svn/pristine/6d/6d8d3cdcb2159920315ae6590ca29b4ee6027b3a.svn-base b/.svn/pristine/6d/6d8d3cdcb2159920315ae6590ca29b4ee6027b3a.svn-base new file mode 100644 index 0000000..a9d8ac5 --- /dev/null +++ b/.svn/pristine/6d/6d8d3cdcb2159920315ae6590ca29b4ee6027b3a.svn-base @@ -0,0 +1,289 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Connection Provider class for Database connection sharing +' // Generated by LLBLGen v1.21.2003.712 Final on: Freitag, 4. Januar 2013, 17:02:52 +' // This class implements IDisposable. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Configuration +Imports System.Data +Imports System.Data.SqlClient +Imports System.Collections + +Namespace DB + ' /// + ' /// Purpose: provides a SqlConnection object which can be shared among data-access tier objects + ' /// to provide a way to do ADO.NET transaction coding without the hassling with SqlConnection objects + ' /// on a high level. + ' /// + Public Class clsConnectionProvider + Implements IDisposable + +#Region " Class Member Declarations " + + Private m_scoDBConnection As SqlConnection + Private m_bIsTransactionPending, m_bIsDisposed As Boolean + Private m_stCurrentTransaction As SqlTransaction + Private m_alSavePoints As ArrayList + +#End Region + + + Public Sub New() + ' // Init the class + InitClass() + End Sub + + + ' /// + ' /// Purpose: Implements the IDispose' method Dispose. + ' /// + Overloads Public Sub Dispose() Implements IDisposable.Dispose + Dispose(True) + GC.SuppressFinalize(Me) + End Sub + + + ' /// + ' /// Purpose: Implements the Dispose functionality. + ' /// + Overridable Overloads Protected Sub Dispose(ByVal bIsDisposing As Boolean) + ' // Check to see if Dispose has already been called. + If Not m_bIsDisposed Then + If bIsDisposing Then + ' // Dispose managed resources. + If Not (m_stCurrentTransaction Is Nothing) Then + m_stCurrentTransaction.Dispose() + m_stCurrentTransaction = Nothing + End If + If Not (m_scoDBConnection Is Nothing) Then + ' // closing the connection will abort (rollback) any pending transactions + m_scoDBConnection.Close() + m_scoDBConnection.Dispose() + m_scoDBConnection = Nothing + End If + End If + End If + m_bIsDisposed = True + End Sub + + + ' /// + ' /// Purpose: Initializes class members. + ' /// + Private Sub InitClass() + ' // Create all the objects and initialize other members. + m_scoDBConnection = new SqlConnection() + m_bIsDisposed = False + m_stCurrentTransaction = Nothing + m_bIsTransactionPending = False + m_alSavePoints = new ArrayList() + End Sub + + + ' /// + ' /// Purpose: Opens the connection object. + ' /// + ' /// True, if succeeded, otherwise an Exception exception is thrown. + Public Function OpenConnection() As Boolean + Try + If (m_scoDBConnection.State And ConnectionState.Open) > 0 Then + ' // It's already open. + Throw New Exception("OpenConnection::Connection is already open.") + End If + m_scoDBConnection.Open() + m_bIsTransactionPending = False + m_alSavePoints.Clear() + Return True + Catch ex As Exception + ' // bubble exception + Throw ex + End Try + End Function + + + ' /// + ' /// Purpose: Starts a new ADO.NET transaction using the open connection object of this class. + ' /// + ' /// Name of the transaction to start + ' /// True, if transaction is started correctly, otherwise an Exception exception is thrown + Public Function BeginTransaction(sTransactionName As String) As Boolean + Try + If m_bIsTransactionPending Then + ' // no nested transactions allowed. + Throw New Exception("BeginTransaction::Already transaction pending. Nesting not allowed") + End If + If (m_scoDBConnection.State And ConnectionState.Open) = 0 Then + ' // no open connection + Throw New Exception("BeginTransaction::Connection is not open.") + End If + ' // begin the transaction and store the transaction object. + m_stCurrentTransaction = m_scoDBConnection.BeginTransaction(IsolationLevel.ReadCommitted, sTransactionName) + m_bIsTransactionPending = True + Return True + Catch ex As Exception + ' // bubble exception + Throw ex + End Try + End Function + + + ' /// + ' /// Purpose: Commits a pending transaction on the open connection object of this class. + ' /// + ' /// True, if commit was succesful, or an Exception exception is thrown + Public Function CommitTransaction() As Boolean + Try + If Not m_bIsTransactionPending Then + ' // no transaction pending + Throw New Exception("CommitTransaction::No transaction pending.") + End If + If (m_scoDBConnection.State And ConnectionState.Open) = 0 Then + ' // no open connection + Throw New Exception("CommitTransaction::Connection is not open.") + End if + ' // commit the transaction + m_stCurrentTransaction.Commit() + m_bIsTransactionPending = False + m_stCurrentTransaction.Dispose() + m_stCurrentTransaction = Nothing + m_alSavePoints.Clear() + Return True + Catch ex As Exception + ' // bubble exception + Throw ex + End Try + End Function + + + ' /// + ' /// Purpose: Rolls back a pending transaction on the open connection object of this class, + ' /// or rolls back to the savepoint with the given name. Savepoints are created with SaveTransaction(). + ' /// + ' /// Name of transaction to roll back. Can be name of savepoint + ' /// True, if rollback was succesful, or an Exception exception is thrown + Public Function RollbackTransaction(sTransactionToRollback As String) As Boolean + Try + If Not m_bIsTransactionPending Then + ' // no transaction pending + Throw New Exception("RollbackTransaction::No transaction pending.") + End If + If (m_scoDBConnection.State And ConnectionState.Open) = 0 Then + ' // no open connection + Throw New Exception("RollbackTransaction::Connection is not open.") + End If + ' // rollback the transaction + m_stCurrentTransaction.Rollback(sTransactionToRollback) + ' // if this wasn't a savepoint, we've rolled back the complete transaction, so we + ' // can clean it up. + If Not m_alSavePoints.Contains(sTransactionToRollback) Then + ' // it's not a savepoint + m_bIsTransactionPending = False + m_stCurrentTransaction.Dispose() + m_stCurrentTransaction = Nothing + m_alSavePoints.Clear() + End If + Return True + Catch ex As Exception + ' // bubble exception + Throw ex + End Try + End Function + + + ' /// + ' /// Purpose: Saves a pending transaction on the open connection object of this class to a 'savepoint' + ' /// with the given name. + ' /// When a rollback is issued, the caller can rollback to this savepoint or roll back the complete transaction. + ' /// + ' /// Name of the savepoint to store the current transaction under. + ' /// True, if save was succesful, or an Exception exception is thrown + Public Function SaveTransaction(sSavePointName As String) As Boolean + Try + If Not m_bIsTransactionPending Then + ' // no transaction pending + Throw New Exception("SaveTransaction::No transaction pending.") + End If + If (m_scoDBConnection.State And ConnectionState.Open) = 0 Then + ' // no open connection + Throw New Exception("SaveTransaction::Connection is not open.") + End If + ' // save the transaction + m_stCurrentTransaction.Save(sSavePointName) + ' // Store the savepoint in the list. + m_alSavePoints.Add(sSavePointName) + Return True + Catch ex As Exception + ' // bubble exception + Throw ex + End Try + End Function + + + ' /// + ' /// Purpose: Closes the open connection. Depending on bCommitPendingTransactions, a pending + ' /// transaction is commited, or aborted. + ' /// + ' /// Flag for what to do when a transaction is still pending. True + ' /// will commit the current transaction, False will abort (rollback) the complete current transaction. + ' /// True, if close was succesful, False if connection was already closed, or an Exception exception is thrown when + ' /// an error occurs + Public Function CloseConnection(bCommitPendingTransaction As Boolean) As Boolean + Try + If (m_scoDBConnection.State And ConnectionState.Open) = 0 Then + ' // No open connection + Return False + End If + If m_bIsTransactionPending Then + If bCommitPendingTransaction Then + ' // Commit the pending transaction + m_stCurrentTransaction.Commit() + Else + ' // Rollback the pending transaction + m_stCurrentTransaction.Rollback() + End If + m_bIsTransactionPending = False + m_stCurrentTransaction.Dispose() + m_stCurrentTransaction = Nothing + m_alSavePoints.Clear() + End If + ' // close the connection + m_scoDBConnection.Close() + Return True + Catch ex As Exception + ' // bubble exception + Throw ex + End Try + End Function + + +#Region " Class Property Declarations " + + Public ReadOnly Property stCurrentTransaction() As SqlTransaction + Get + Return m_stCurrentTransaction + End Get + End Property + + + Public ReadOnly Property bIsTransactionPending() As Boolean + Get + Return m_bIsTransactionPending + End Get + End Property + + + Public ReadOnly Property scoDBConnection() As SqlConnection + Get + Return m_scoDBConnection + End Get + End Property + Public WriteOnly Property sConnectionString() As String + Set (ByVal Value As String) + m_scoDBConnection.ConnectionString = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/.svn/pristine/6e/6e2e72c5a10a50273dfa9312301a3f7e3c99f998.svn-base b/.svn/pristine/6e/6e2e72c5a10a50273dfa9312301a3f7e3c99f998.svn-base new file mode 100644 index 0000000..37b15cc --- /dev/null +++ b/.svn/pristine/6e/6e2e72c5a10a50273dfa9312301a3f7e3c99f998.svn-base @@ -0,0 +1,73 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:4.0.30319.269 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + _ + Partial Friend NotInheritable Class MySettings + Inherits Global.System.Configuration.ApplicationSettingsBase + + Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings), MySettings) + +#Region "My.Settings Auto-Save Functionality" +#If _MyType = "WindowsForms" Then + Private Shared addedHandler As Boolean + + Private Shared addedHandlerLockObject As New Object + + _ + Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs) + If My.Application.SaveMySettingsOnExit Then + My.Settings.Save() + End If + End Sub +#End If +#End Region + + Public Shared ReadOnly Property [Default]() As MySettings + Get + +#If _MyType = "WindowsForms" Then + If Not addedHandler Then + SyncLock addedHandlerLockObject + If Not addedHandler Then + AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings + addedHandler = True + End If + End SyncLock + End If +#End If + Return defaultInstance + End Get + End Property + End Class +End Namespace + +Namespace My + + _ + Friend Module MySettingsProperty + + _ + Friend ReadOnly Property Settings() As Global.Themenmanagement.My.MySettings + Get + Return Global.Themenmanagement.My.MySettings.Default + End Get + End Property + End Module +End Namespace diff --git a/.svn/pristine/70/70fa92e15058826e34a3e06313c45ad1325f996b.svn-base b/.svn/pristine/70/70fa92e15058826e34a3e06313c45ad1325f996b.svn-base new file mode 100644 index 0000000..612b93b --- /dev/null +++ b/.svn/pristine/70/70fa92e15058826e34a3e06313c45ad1325f996b.svn-base @@ -0,0 +1,630 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'spalten' +' // Generated by LLBLGen v1.21.2003.712 Final on: Freitag, 4. Januar 2013, 17:02:52 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + ''' + ''' Purpose: Data Access class for the table 'spalten'. + ''' + Public Class clsSpalten + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bReadonly, m_bAlsHacken, m_bAktiv As SqlBoolean + Private m_daErstellt_am, m_daMutiert_am As SqlDateTime + Private m_iMandantnr, m_iMutierer, m_iReihenfolge, m_iEintragnr, m_iBreite As SqlInt32 + Private m_sTabelle, m_sNumberFormat, m_sTiptext, m_sSpalte, m_sTabellenspalte As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iEintragnr
  • + '''
  • sTabelle. May be SqlString.Null
  • + '''
  • sTabellenspalte. May be SqlString.Null
  • + '''
  • sSpalte. May be SqlString.Null
  • + '''
  • bReadonly
  • + '''
  • bAlsHacken
  • + '''
  • iBreite. May be SqlInt32.Null
  • + '''
  • iReihenfolge. May be SqlInt32.Null
  • + '''
  • sTiptext. May be SqlString.Null
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • sNumberFormat. May be SqlString.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_spalten_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@ieintragnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iEintragnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@stabelle", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTabelle)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@stabellenspalte", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTabellenspalte)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sspalte", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sSpalte)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bReadonly", SqlDbType.Bit, 1, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_bReadonly)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@balsHacken", SqlDbType.Bit, 1, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_bAlsHacken)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iBreite", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iBreite)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iReihenfolge", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iReihenfolge)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@stiptext", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTiptext)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sNumberFormat", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sNumberFormat)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_spalten_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSpalten::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iEintragnr
  • + '''
  • sTabelle. May be SqlString.Null
  • + '''
  • sTabellenspalte. May be SqlString.Null
  • + '''
  • sSpalte. May be SqlString.Null
  • + '''
  • bReadonly
  • + '''
  • bAlsHacken
  • + '''
  • iBreite. May be SqlInt32.Null
  • + '''
  • iReihenfolge. May be SqlInt32.Null
  • + '''
  • sTiptext. May be SqlString.Null
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • sNumberFormat. May be SqlString.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_spalten_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@ieintragnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iEintragnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@stabelle", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTabelle)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@stabellenspalte", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTabellenspalte)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sspalte", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sSpalte)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bReadonly", SqlDbType.Bit, 1, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_bReadonly)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@balsHacken", SqlDbType.Bit, 1, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_bAlsHacken)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iBreite", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iBreite)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iReihenfolge", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iReihenfolge)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@stiptext", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTiptext)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sNumberFormat", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sNumberFormat)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_spalten_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSpalten::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iEintragnr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_spalten_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@ieintragnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iEintragnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_spalten_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSpalten::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iEintragnr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iEintragnr
  • + '''
  • sTabelle
  • + '''
  • sTabellenspalte
  • + '''
  • sSpalte
  • + '''
  • bReadonly
  • + '''
  • bAlsHacken
  • + '''
  • iBreite
  • + '''
  • iReihenfolge
  • + '''
  • sTiptext
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
  • iMandantnr
  • + '''
  • sNumberFormat
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_spalten_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("spalten") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@ieintragnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iEintragnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_spalten_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iEintragnr = New SqlInt32(CType(dtToReturn.Rows(0)("eintragnr"), Integer)) + If dtToReturn.Rows(0)("tabelle") Is System.DBNull.Value Then + m_sTabelle = SqlString.Null + Else + m_sTabelle = New SqlString(CType(dtToReturn.Rows(0)("tabelle"), String)) + End If + If dtToReturn.Rows(0)("tabellenspalte") Is System.DBNull.Value Then + m_sTabellenspalte = SqlString.Null + Else + m_sTabellenspalte = New SqlString(CType(dtToReturn.Rows(0)("tabellenspalte"), String)) + End If + If dtToReturn.Rows(0)("spalte") Is System.DBNull.Value Then + m_sSpalte = SqlString.Null + Else + m_sSpalte = New SqlString(CType(dtToReturn.Rows(0)("spalte"), String)) + End If + m_bReadonly = New SqlBoolean(CType(dtToReturn.Rows(0)("Readonly"), Boolean)) + m_bAlsHacken = New SqlBoolean(CType(dtToReturn.Rows(0)("alsHacken"), Boolean)) + If dtToReturn.Rows(0)("Breite") Is System.DBNull.Value Then + m_iBreite = SqlInt32.Null + Else + m_iBreite = New SqlInt32(CType(dtToReturn.Rows(0)("Breite"), Integer)) + End If + If dtToReturn.Rows(0)("Reihenfolge") Is System.DBNull.Value Then + m_iReihenfolge = SqlInt32.Null + Else + m_iReihenfolge = New SqlInt32(CType(dtToReturn.Rows(0)("Reihenfolge"), Integer)) + End If + If dtToReturn.Rows(0)("tiptext") Is System.DBNull.Value Then + m_sTiptext = SqlString.Null + Else + m_sTiptext = New SqlString(CType(dtToReturn.Rows(0)("tiptext"), String)) + End If + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + If dtToReturn.Rows(0)("mandantnr") Is System.DBNull.Value Then + m_iMandantnr = SqlInt32.Null + Else + m_iMandantnr = New SqlInt32(CType(dtToReturn.Rows(0)("mandantnr"), Integer)) + End If + If dtToReturn.Rows(0)("NumberFormat") Is System.DBNull.Value Then + m_sNumberFormat = SqlString.Null + Else + m_sNumberFormat = New SqlString(CType(dtToReturn.Rows(0)("NumberFormat"), String)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSpalten::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_spalten_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("spalten") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_spalten_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSpalten::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iEintragnr]() As SqlInt32 + Get + Return m_iEintragnr + End Get + Set(ByVal Value As SqlInt32) + Dim iEintragnrTmp As SqlInt32 = Value + If iEintragnrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iEintragnr", "iEintragnr can't be NULL") + End If + m_iEintragnr = Value + End Set + End Property + + + Public Property [sTabelle]() As SqlString + Get + Return m_sTabelle + End Get + Set(ByVal Value As SqlString) + m_sTabelle = Value + End Set + End Property + + + Public Property [sTabellenspalte]() As SqlString + Get + Return m_sTabellenspalte + End Get + Set(ByVal Value As SqlString) + m_sTabellenspalte = Value + End Set + End Property + + + Public Property [sSpalte]() As SqlString + Get + Return m_sSpalte + End Get + Set(ByVal Value As SqlString) + m_sSpalte = Value + End Set + End Property + + + Public Property [bReadonly]() As SqlBoolean + Get + Return m_bReadonly + End Get + Set(ByVal Value As SqlBoolean) + Dim bReadonlyTmp As SqlBoolean = Value + If bReadonlyTmp.IsNull Then + Throw New ArgumentOutOfRangeException("bReadonly", "bReadonly can't be NULL") + End If + m_bReadonly = Value + End Set + End Property + + + Public Property [bAlsHacken]() As SqlBoolean + Get + Return m_bAlsHacken + End Get + Set(ByVal Value As SqlBoolean) + Dim bAlsHackenTmp As SqlBoolean = Value + If bAlsHackenTmp.IsNull Then + Throw New ArgumentOutOfRangeException("bAlsHacken", "bAlsHacken can't be NULL") + End If + m_bAlsHacken = Value + End Set + End Property + + + Public Property [iBreite]() As SqlInt32 + Get + Return m_iBreite + End Get + Set(ByVal Value As SqlInt32) + m_iBreite = Value + End Set + End Property + + + Public Property [iReihenfolge]() As SqlInt32 + Get + Return m_iReihenfolge + End Get + Set(ByVal Value As SqlInt32) + m_iReihenfolge = Value + End Set + End Property + + + Public Property [sTiptext]() As SqlString + Get + Return m_sTiptext + End Get + Set(ByVal Value As SqlString) + m_sTiptext = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + Dim bAktivTmp As SqlBoolean = Value + If bAktivTmp.IsNull Then + Throw New ArgumentOutOfRangeException("bAktiv", "bAktiv can't be NULL") + End If + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + + + Public Property [iMandantnr]() As SqlInt32 + Get + Return m_iMandantnr + End Get + Set(ByVal Value As SqlInt32) + m_iMandantnr = Value + End Set + End Property + + + Public Property [sNumberFormat]() As SqlString + Get + Return m_sNumberFormat + End Get + Set(ByVal Value As SqlString) + m_sNumberFormat = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/.svn/pristine/72/722981ff13941ade910589a8504c408fcca0eeb7.svn-base b/.svn/pristine/72/722981ff13941ade910589a8504c408fcca0eeb7.svn-base new file mode 100644 index 0000000..eae509a --- /dev/null +++ b/.svn/pristine/72/722981ff13941ade910589a8504c408fcca0eeb7.svn-base @@ -0,0 +1,62 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:4.0.30319.269 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My.Resources + + 'This class was auto-generated by the StronglyTypedResourceBuilder + 'class via a tool like ResGen or Visual Studio. + 'To add or remove a member, edit your .ResX file then rerun ResGen + 'with the /str option, or rebuild your VS project. + ''' + ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + _ + Friend Module Resources + + Private resourceMan As Global.System.Resources.ResourceManager + + Private resourceCulture As Global.System.Globalization.CultureInfo + + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' + _ + Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager + Get + If Object.ReferenceEquals(resourceMan, Nothing) Then + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("Themenmanagement.Resources", GetType(Resources).Assembly) + resourceMan = temp + End If + Return resourceMan + End Get + End Property + + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' + _ + Friend Property Culture() As Global.System.Globalization.CultureInfo + Get + Return resourceCulture + End Get + Set(ByVal value As Global.System.Globalization.CultureInfo) + resourceCulture = value + End Set + End Property + End Module +End Namespace diff --git a/.svn/pristine/74/742401d058d1efe98b03ded3ae1b6f6acf94ae88.svn-base b/.svn/pristine/74/742401d058d1efe98b03ded3ae1b6f6acf94ae88.svn-base new file mode 100644 index 0000000..7c3fc9c --- /dev/null +++ b/.svn/pristine/74/742401d058d1efe98b03ded3ae1b6f6acf94ae88.svn-base @@ -0,0 +1,580 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 17, 17 + + + 125, 17 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACkSURBVDhPlZOBDoAgCET9dD7NPyNPgpAIzY21oTzPg1rL + F4/0aaQEJqJXAIo8Vu9dL9gDYiGRgG6VCwBJLDvgbxRVsodvBPiEASDXF3mIB3AbBzPjBLDeHBVIcRbj + KScKuMGQElArmKZNSNJ7VYC2Ib48EIjE0gX1QPerLigkATytqxT4gQht3HsQx9H8+OpCeHL+R+FQnIPT + QiXaHPwtNMCu8ALckGXYKNsEDQAAAABJRU5ErkJggg== + + + + 227, 17 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w + LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 + ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAQ + DAAAAk1TRnQBSQFMAgEBBgEAASQBAAEkAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo + AwABQAMAASADAAEBAQABCAYAAQgYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA + AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 + AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA + AWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYCAAFm + AZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHMATMCAAHM + AWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEzAQABZgEA + ATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIzAf8BAAEz + AWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEzAQABMwGZ + AWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZAQABMwLM + AQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFmAQABMwEA + AWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFmATMBmQEA + AWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEzAQABZgGZ + AWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEAAWYBzAH/ + AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZATMBmQEA + AZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFmAgABmQFm + ATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZAcwBAAKZ + Af8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIAAZkB/wEz + AQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHMAQABmQEA + AcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHMAWYCAAHM + AWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZAWYBAAHM + ApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHMAf8CAAHM + Af8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/AQABmQEA + AcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFmATMBAAHM + AmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZAQAB/wGZ + AcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC/wEz + AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm + AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw + AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD//8ARAAF+QIABfwzAAH5 + BPQB/wH5AfwB/wT0AfwDAAUHAgAFByIAAfkC9AH5CAAB/AL0AfwBAAIHCgACByEAAfkB9AH5AgAB/wT0 + Af8CAAH8AfQB/AEAAQcDAAYHAwABByEAAfkC9AH5CAAB/AL0AfwBAAIHCgACByIAAfkE9AH/AfkB/AH/ + BPQB/AMABQcCAAUHJAAF+QIABfz/AHkAAQMB/wsAAf8eAAHsA/8BBwL/AQcC/wEHAf8GAAHsAQMB7AH/ + CwAB+wEAAfscAAHsA/8BBwL/AQcC/wEHAf8EAAEDAewBAwHsAQMB/wsAAf8BAAH/AQcB+w4AAf8B+woA + AewLBwMAAQMB7AEDAewBAwHsAf8BAAHsCQAB+wEAAfsBBwH/AQcB+woAAf8BAAH7Af8B+wH/CAAB7AH/ + AuwBBwLsAQcC7AEHAf8DAAHsAQMB7AEDAewBAwH/AQAB7AkAAf8BAAL/AfsBBwH/AQcB+wcAAfsCAAH/ + AfsB/wH7Af8B+wYAAewB/wLsAQcC7AEHAuwBBwH/AwABAwHsAQMCAAHsAf8BAAHsCQAB+wEAAfsC/wEH + AfsBBwH/BgAB/wEAAf8BAAH7Af8B+wH/AfsB/wH7Af8EAAHsCwcDAAHsAQMB7AIHAQMB/wEAAewBAAEG + BwAB/wEAAv8B+wEHAf8BBwH7BQAB+wEAAv8BAAH/AfsB/wH7Af8B+wH/AfsB/wMAAewB/wLsAQcC7AEH + AuwBBwH/AwABAwHsAQMB7AEDAewB/wIAAQYF/gMAAfsBAAH7A/8B+wEHAf8GAAP/AgAB/wH7Af8B+wH/ + AfsB/wH7AwAB7AH/AuwBBwLsAQcC7AEHAf8DAAHsAQMB7AEDAewBAwH/AQABbQb+AwAB/wEAAv8B+wL/ + AQcB+wgAA/8CAAH7Af8B+wH/AfsB/wMAAewLBwMAAQMB7AEDAewBAwHsAf8BAAHsAW0B/gRtAwAB+wH/ + AgAC/wH7AQcB/wYAAfsB/wIAAv8BAAH/AfsB/wH7Af8B+wMAAewB/wLsAQcC7AEHAuwBBwH/AwAB7AED + AewBAwHsAQMB/wEAAewBAAJtBwAB+wH/AfsCAAH/AQcB+wcAAfsB/wH7AQAC/wIAAfsB/wH7Af8DAAHs + Af8C7AEHAuwBBwLsAQcB/wMAAQMB7AEDAewBBwH/AewBAAHsAgABbQkAAf8B+wH/AgAB/wkAAf8B+wEA + Av8DAAH/AfsDAAHsCAcGAAHsAQMBBwH/AewBAAPsDAAB+wH/AfsB/wH7DwAB/wH7BgAB7Aj7AewB/wHs + AwABBwH/AewBAAXsDQAB+wH/GQAB7Aj7Auw1AArsBAABQgFNAT4HAAE+AwABKAMAAUADAAEgAwABAQEA + AQEGAAEBFgAD/wEABP8EAAT/BAAE/wQABP8EAAT/BAABwQGDAcEBgwQAAYABAQGAAQEMAAEQAQgBEAEI + DAABgAEBAYABAQQAAcEBgwHBAYMEAAT/BAAE/wQABP8EAAT/BAAB/AF/AecD/wHAAQEB8AF/AcMD/wHA + AQEBwAF/AcAB/wH4Af8BwAEBAQABHwHAAT8B8AE/AcABAQEAAR8BwAEPAeABDwHAAQEBAAEXAcABBwHA + AQMBwAEBAQABBwHAAQcBgAEAAcABAQIAAcABBwIAAcABAQIAAcABBwIAAcABAQIAAcABBwGAAQABwAEB + AgABwAEHAYABAAHAAQEBAAEHAcABBwHAAQABwAEBAQABFwHwAQcB4AEAAcABAQEAAR8B+AEHAfkBAAHA + AQMBAAEfAfgBBwH/Ac8BwAEHAQABHwH+AX8C/wHAAQ8L + + + + 354, 17 + + + + AAABAAYAMDAAAAEACACoDgAAZgAAACAgAAABAAgAqAgAAA4PAAAQEAAAAQAIAGgFAAC2FwAAMDAAAAEA + IACoJQAAHh0AACAgAAABACAAqBAAAMZCAAAQEAAAAQAgAGgEAABuUwAAKAAAADAAAABgAAAAAQAIAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADNZ2cA0WtrANRubgDWcHAA2XNzANt1dQDdd3cA4Hp6AOJ8 + fADlf38A54GBAOmDgwDshoYA5oSDAO6IiADJc3MA8IqKAPKMjADriYgA9Y+PAPeRkQD5k5MA2YCAAMt4 + eAD8lpYA/piYAM17ewD/mpoA/5ycAP+engDzlpYA/6CgAKlqagD/oqIA5pKSAI9cXAD/paUA0IeHAP+n + pwD/qakAmGVlAP+rqwD/rq4AxYaGAP+wsADnn58ArHd3AP+ysgD/tLQA6KSkAP+2tgD9tbQA+7SzAH5a + WgD/uLgAs4KCAKZ5eQD/u7sAq35+AP+9vQCYcXEA/7+/AP/BwQCziYkA/8TEAP/GxgDRoqIAgmVlANys + rACKbGwAt5CQAP/KygDEoKAA3ba2ALmamgBnVlYAdGNjAFxUVACwoaEAy7y8AFNNTQCemZkAqKSkAKGe + ngBqaWkA03FvANl5dwDlg4EA3H58AOmHhQDriYcA9JKQAPOSkADdj4wAtHVzAOucmQD0pqMA76WiAMCE + gwD2trQA56upAPy/vgD7wb8AzHFtANJ6dgDXfnoA24R/AOGHgwDiiYUAzH97APWalgDrlZAA86qmAPSt + qgD3sa4AuY2LAPW9ugDmtrQAzq2rAIt2dQB7a2oAloOCAM9+dwDlkIoA752XAOqjnQDzubUAvJWSALCQ + jQDajoYA7bu1AOSckwCojIgAxK6rAMiDeADMiX0A0o2CAN6ZjgDXlIkA3ZyQAOKroQDptKsA1pqNAN2l + mQC3j4cAwqKbAK+TjQDJq6UAya6pANKVhwDBmY8A0ZmKANSejwDbrJ8Ay6GVALmbkwDGp54Ay5eHAM+b + iwDRn48A1aSVALORhgDDn5QAvpuQAL+spgDGlIIAzZ6NANSqnADHppoAxKOYAMGhlgC+oJUAyaqfAMqs + ogDKrqQAyJyKAM2ikADPp5cAyaeZAMWjlgDJqJsArKCbAK+qqADFmYYAyZ+MANWyowDEpZcAza2fAM2w + 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 + P/gADwAA/gA//AAfAADwAH/+AD8AAPAAf/4AfwAA4AB//wA/AADgAH//AA8AAOAAf/8AAwAA4AB//4AD + AADgAH//gAMAAPAAf/+AAwAA/gA//4ADAAD/AD//gAMAAP4AH/+ABwAA/AAf/wA/AAD4AA//AD8AAPAA + B/4AHwAA+AAD/AAPAAD4AAH4AA8AAPwAAAAADwAA/AAAAAAPAAD+MAAAAA8AAP/wAAAAHwAA//AAAAA/ + AAD/4AAAAH8AAP/gAAAD/wAA/+AAAAP/AAD/8AAAA/8AAP/4EAAD/wAA//wwAAf/AAD///AAH/8AAP// + 8Af//wAA///4D///AAAoAAAAIAAAAEAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH9s + bQDRZmcA2W9wANdubwDTbG0A13BxANtzdADfdncA43l6AOV9fgDmfn8A6oKDAO6FhgD3i40A9oyNAPWN + jgC6bG0A/JOUAPuTlAD9nZ4A/6GiAP+lpgD/tbYA/7m6AP+6uwD/vb4A/8PEAP/FxgDVa2sA2HFxANVx + cADgd3cA2nR0AN54eADie3sA4Xt7AOWAfwDlf38A439+AOmDgwDlgIAA7oaGAOWCgQDjgIAA3Hx8AOyG + hgDphIQA8ImJANt+fQDwiooA7YqJAOeGhQDIdHMA9I6OAOuIiAD4kZEA/JSUAPuUlAD3kZEA9pOSAP2Y + lwD+mJgA6oyMAP+bmwD/np4A/6GhALh0dAD/paUArG9vAP+npwCfaGgA/6ioAP+srAD+q6sA+qqpAP+u + rgCvd3cA/6+vANuWlgDChoYA/rCwAO2kpAD/srIA76moAIVdXQD/tLQA9q2tAP+1tQD/trYAoXNzAI9n + ZwD/ubkA1pubAK9/fwD/vLwApXp6AOWrqwDVn58A/8DAAP2+vgCGZWUAfl9fAP/DwwCogIAAtYuLAP3E + xAD/x8cAjG1tAHRbWwD/ysoA/83NAJN3dwB5ZGQAiHFxAN25uQCrkJAAdGVlAF5SUgCjkpIAqJmZAGxn + ZwBeWloAioWFAIOAgABnZmYAZmVlAFZVVQClpKQAzmxqANJvbQDYdXMA2Hh2AOWGgwDskY4A+52aAPaa + lwDqlZIA4JWSAPynpQDRjYsA252cAPazsQD4t7UAyJWUAP2+vQD+wL8A3KqpAPnFwwDgtLMArI2MANF5 + dADbhH8A44uGAPOWkgDyqqYA+K+sAPmzsADVgXsA3IuFAOqinADuqaMA7rizAPK9uQCIbmwAinx7AG9k + YwDgk4sA6JuTAPCzrQCNengA042DAMqGfQDRk4oAt5uXAJqTkgDSkIUAy4yCAOWtpADIpJ4A5rasAJR/ + ewDFrKcAuqypAN+rngC4kokAxqmiANihkgCXhH8AyZSEANSgkADMmooA1qOUAMKnnwCpmZQAyZiHANGf + jgDRoZEAz6KSAMegkgDUq5wA0LSqAKeUjQC+mowAzaueALOWiwDGp5oAyKyhAMqvpACjjYQAyqCNAM6l + kgDOqZgAwJ6PAMirngC+pJkAzaeUANCrmADLp5UAwqKSAMamlgCfhnkAs5iLAMClmADEqp0AZGJhAM6p + lQDEpJIAyq6eAM6tmQDLrZoAyauZAMeqmQDKrZwAwaaWAMOrnQDJqpYAy6+dAMGmkgDHrJgAwaqZAJKR + jwCbm5sAmJiYAJSUlACTk5MAjIyMAIaGhgCEhIQAfX19AGpqagBlZWUAYGBgAFxcXABYWFgAAAAAAAAA + AAAAAAAAAAAAAAAA8/P49vMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPN8+fPKrnS8efMAAAAAAAAAAAAA + AAAAAAAAAAAAAPO8s5WmzdSUbm619fPzAAAAAAAAAAAAAAAAAAAAAAAA3KNra5PcyGprb3B5vJZ1+gAA + AAAAAAAAAAAAAAAAANflohxnG7S0G2drkN20G6JyfQAAAAAAAAAAAAAAAAB7qu64Z2NjY2NjY2OSopFj + Y2SlAAAAAAAAAAAAAAAA3pNp3MgZX19fX19fX18aGl9fYa8AAAAAAAAAAAAAAOOyGBmPjlxcXFwYGBkY + XFxcXFxp9gAAAAAAAAAAAAC62Z1ZWFlZWFhZVo6pqZ1ZF1hYWGh6pXB+AAAAAAAAAM/Zm1ZTU1NTU1dz + AADJ1LicU1NTV41UUXH4AAAAAAAAAM7Ym05MTExStwAAAAAA0NihTkxMTE5MkH0AAAAAAAAAAODTS0lJ + SpYAAAAAAAAA5NibSUlJSUlLeAAAAAAAAK8BubiLSEhPgAAAAAAAAAAA6MBGSEhISGIAAAAAAAAAxUYW + FkRERGAAAAAAAAAAAADQ7KAWRERegAAAAAAAANvAQkJCQkJCcQAAAAAAAAAAAADmuxVCQmb79QAAAAAA + 1btBQUFBQUF1AAAAAAAAAAAAANbTFEFBiU1lfQAAAADOxYdAQEBAQG0AAAAAAAAAAAAAuuKIQEBAQED+ + AAAAAAAAzMCoPT4+W/YAAAAAAAAAAAC22Zo+Pj4+Pv0AAAAAAAAA19OaOTpD+wAAAAAAAAAAAMHiPDo6 + OhIT+AAAAAAAALfLiTs7Oz929AAAAAAAAAAA3744OziGiqAAAAAAAAAAx4YPNjY2NkX99AAAAAAAAADv + pxA2DqTxAAAAAAAAAOjEMDIyMjIyN1X89AAAAAAArsUzMjIwR3/yAAAAAAAAuuyZDSoNKi4uL1V/9wAA + AMLGmSouLi4qR/wAAAAAAAAA560MNKefDCgoKBFtf+G1rYUMKCgoKCgrbAAAAAAAAADk5OTk8L8nJiYm + KSwtMSsLCyYmJgoLJTF3AAAAAAAAAAAAAOTqsAkkJCQkJCQjIyQkJAmfXZgjUAAAAAAAAAAAAAAA5Nqe + CCIiCAgiIiIiCCIiIEPRXV0AAAAAAAAAAAAAAADP0oMHISGrniEhISGEISEhEXoAAAAAAAAAAAAAAAAA + AOTmsR8DQ+29BgYEntKXAwYepAAAAAAAAAAAAAAAAAAAAOTkv4wA68OCBR018L0FBTVdAAAAAAAAAAAA + AAAAAAAAAAAAAADg0oECAlq35qxdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOTpsbGtAAAAAAAAAAAAAAAA + AAD//B///8AP//8AA///AAD//gAAf/wAAH/4AAB/8AAAf+AAAA/gAwAH8AfAB/gP4AfgD/AP4B/wD8Af + +AfAH/gDwB/4A/AP+AP4D/gD8Af4B/AD+A/gAfAH4ADgB/AAAAfwAAAH/gAAD/4AAB/+AAB//gAAf/8I + AH//+AH///g//ygAAAAQAAAAIAAAAAEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzJmZAMSU + lADFlpYAw5SUAMycnAC7j48Auo6OALKIiADOnp4Av5OTALeNjQCziooAsomJALqQkADNoKAAu5KSAKuF + hQDQo6MAo4CAALWPjwCae3sAkXR0ANasrACYenoAk3Z2AI9zcwCnh4cAiG5uANOsrADOqKgAiG9vANCq + qgCJcHAAtZWVAMWlpQCzlpYAknt7AKeNjQCxmJgAppCQALegoACkkZEAuKSkAJyMjACYiIgAZ2FhAFJO + TgBjX18AYl5eAJ+fnwCYmJgAkZGRAImJiQCDg4MAgoKCAICAgAB5eXkAc3NzAG5ubgBtbW0AZ2dnAGVl + ZQBkZGQAX19fAF5eXgBWVlYAU1NTAE9PTwBNTU0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ADVDNAAAAAAAAAAAAAAtQCIBGT0sQTgAAAAAAAAPAR8MAQ0WAQY7AAAAAAA5EAEBAQEBAQEIRDw5AAAF + Cw0BAQEgAQEBAwgEMAAAAQEBASkAAAAAAQEBASoAACQBASUAAAAAAAABASE+Nx4OAQQ6AAAAAAAACQEN + E0MBAQERPwAAAAAAAB4BAQEzHh4BAkUyAAAAAAABAREmAAAjAQEcQjMAAAAnAQEVMQAAAQEBARovQi4Y + AQEBASgAABceDwEBAQEBAQEHGwEAAAAAABIBAQEBAQEBCjYAAAAAAAAXAR4dARQrAQEAAAAAAAAAAAAA + FwEBAAAAAAAAAP4/ALrwB1lY4AdYWMABjqmAAVkXg8FYaIfgcH4H4AAAB+AAzwPhVlOBwVNTgAEAAIAD + uJzgB1NX4A9Rcfx/AAAoAAAAMAAAAGAAAAABACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA + AAkAAAAPAAAAFQAAABAAAAADAAAAKgAAAGAAAACLAAAArAAAAKEAAACUAAAAfwAAAF0AAAAYAAAAAQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAMAAAAQAAAAJwAAAEwAAABxAAAAiwAAAG5ZRkJDhHFlr5Z8bOTnubT72a6u882kpO6xjo7lhWpq1hkU + FKYAAAA9AAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAADQAAADEdGRd3ZFRLxKODfeHjtLL2v5eX6gAAAKebeXLMzq+d/8Ogi///ysr//8rK///K + yv//ysr//8rK/1JBQcYAAABbAAAADAAAAAkAAAAPAAAAEwAAABMAAAAEAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAKOS0qaZF3bNjTq57/87+7///Hx///x8f//8fH/2JMTNGlhn3uza2b/8mk + kf//x8f//8fH///Hx///x8f//8fH/5Z1ddoAAABrAAAAHwAAAEsAAABwAAAAiAAAAH0AAAA9AAAADQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACjfnd7xKWU98Ofiv//xsb//8bG///Gxv//xsb//8bG/+ay + svfFn5X/y6uX/9Cnl///xsb//8bG///Gxv//xsb//8bG/6N+fuAAAACLemdfoJJ6bNy6lInx2qio8j0v + L8gAAACdAAAAVAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0jIXRz7Ce/8Sijf/vubT//8TE///E + xP//xMT//8TE///ExP/rvbb/yaiU/9ytof//xMT//8TE///ExP//xMT//8TE/82enu5XREDMy6yb/86n + lv/7wb///8TE///ExP9yV1fXAAAApwAAAGsAAAAVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAADQAAABKSZ2V80rWk/8em + kv/brKD//8HB///Bwf//wcH//8HB///Bwf//wcH//L++///Bwf//wcH//8HB///Bwf//wcH//8HB/+au + rvfMppr/yaWS//O5tf//wcH//8HB///Bwf//wcH/sIWF5wAAAKMAAAAwAAAABgAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAABDAAAAZwAA + AH8kGBiIyamb/8url//Joo///7+///+/v///v7///7+///+/v///v7///7+///+/v///v7///7+///+/ + v///v7///7+///+/v///v7//97q4//+/v///v7///7+///+/v///v7///7+//1xFRbIAAAAcAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACXNc + VoOIc2bUrYh87M6Zme1QOzvLoH938M6vnf/DoYz/87ay//+9vf//vb3//729//+9vf//vb3//729//+9 + vf//vb3//729//+9vf//vb3//729//+9vf//vb3//729//+9vf//vb3//729//+9vf//vb3/9LW1+gAA + AHEAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAABfFlXa82unv/Io5D/97a0//+7u///u7v/56up/9Wyo//Io4//97a0//+7u///u7v//7u7//+7 + u///u7v//7u7//+7u///u7v//7u7//+7u///u7v//7u7//+7u///u7v//7u7//+7u///u7v//7u7//+7 + u///u7v/tISE4QAAAEUAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAABYOjocuZiM68mplf/gqp///7i4//+4uP//uLj//7i4//+4uP/3tLL//7i4//+4 + uP//uLj//7i4//+4uP//uLj//7i4//+4uP//uLj//7i4//+4uP//uLj//7i4//+4uP//uLj//7i4//+4 + uP//uLj//7i4//+4uP//uLj/aUxMwwAAAC0AAAADAAAACQAAAA8AAAAVAAAABwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGWbmqPz7Gg/8eijv/7tLP//7a2//+2tv//trb//7a2//+2 + tv//trb//7a2//+2tv//trb//7a2//+2tv//trb//7a2//+2tv//trb//7a2//+2tv//trb//7a2//+2 + tv//trb//7a2//+2tv//trb//7a2//+2tv//trb/AAAAtQAAAGgAAAA6AAAATgAAAHEAAACCAAAASAAA + AAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIFWVhO+m5DxyqmW/9immP//tLT//7S0//+0 + tP//tLT//7S0//+0tP//tLT//7S0//+0tP//tLT//7S0//+0tP//tLT//bW0/++1r//jsqf/1qqb/9uq + nf/kq6L/97Gu//+0tP//tLT//7S0//+0tP//tLT//7S0//+0tP//tLT/oXJy4yMeG75rUUzKsH584eej + o/ZjRUXPAAAAiwAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJlmZiDMrZ7wzK2a/8ei + jv/zrqr//7Ky//+ysv//srL//7Ky//+ysv//srL//7Ky//+ysv//srL//7Ky//+ysv/Mj4+ghF1dHwAA + AAGZZmYwuZSLcsGekuDLrJv/yKeT/9KklP/zrqr//7Ky//+ysv//srL//7Ky//+ysv//srL//7Ky//ew + rf//srL//7Ky//+ysv/moaH3AAAArQAAAFEAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AACkdXJgyaib/8urmP/HoY3/86yo//+wsP//sLD//7Cw//+wsP//sLD//7Cw//+wsP//sLD/9amp+XpU + VGQAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAACug31gw6CU8M2um//Fo47/36ab//+wsP//sLD//7Cw//+w + sP//sLD//7Cw//+wsP//sLD//7Cw//+wsP//sLD/c09P1QAAAIwAAAAbAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAApHVyYMinmf/Lq5j/xqCM//Oqpv//rq7//66u//+urv//rq7//66u//+u + rv//rq7/YEJCfwAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmWZmELiSidDPsZ//xqWQ/9ej + lf//rq7//66u//+urv//rq7//66u//+urv//rq7//66u//+urv//rq7/5pyc9wAAAKcAAAA0AAAABgAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAB5hsaWfPsaH/yqqW/8Weiv//q6v//6ur//+r + q///q6v//6ur//+rq/+gbGzMAAAAKAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJlm + ZhC4konQz7Gf/8Wjj//fpJn//6ur//+rq///q6v//6ur//+rq///q6v//6ur//+rq///q6v//6ur/2JC + QqcAAAAtAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAAArAAAARQAAAFu0kojty6uY/9Cg + kP//qan//6mp//+pqf//qan//6mp//SiovokGBhxAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAACZZmYgxKKW8M2um//DoYv/76Wg//+pqf//qan//6mp//+pqf//qan//6mp//+p + qf//qan/7p6e75BfX1UAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEDEpJYNQQjnAmGRk15Zi + Ytnoo5//8qei//emo///p6f//6en//+np///p6f//6en/6dtbdsAAAA3AAAABAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApHVyYM+xov/JqZX/zJ+N//+np///p6f//6en//+n + p///p6f//6en//+np//nl5flTTIyNQAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvZyRt82t + m//Cnon//6Wl//+lpf//paX//6Wl//+lpf//paX//6Wl//+lpf//paX//6Wl/0QsLLQAAAAcAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALKJguDPsJ7/xKKN/+ui + m///paX//6Wl//+lpf//paX//6Wl/7R0dOEsHBxdAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAt4+H/8ysmf/Jn4z//6Ki//+iov//oqL//6Ki//+iov//oqL//6Ki//+iov//oqL//6Ki/wAA + AI8AAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKR1 + cmDPsaH/yaiU/9Sej///oqL//6Ki//+iov//oqL//6Ki/2RAQMwAAABtAAAAIgAAAA0AAAAEAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAt4+H/8urmP/Rn4///6Cg//+goP//oKD//6Cg//+goP//oKD//6Cg//+g + oP//oKD/2omJ8gAAAIUAAAASAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADAnZLwzK2a/8Kfif//oKD//6Cg//+goP//oKD//6Cg/6FlZeMAAACyAAAAkQAA + AGcAAAA3AAAAGwAAAAAAAAAAAAAAAAAAAAAAAAAAt4+H/8urmP/Rn4///56e//+env//np7//56e//+e + nv//np7//56e//+env//np7/zoCA7QAAAIgAAAASAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACxioOzz7Gf/8Sijf/vnZf//56e//+env//np7//56e//+e + nv/mj4/3oWRk4j8nJ8MAAACqAAAAiQAAABYAAAAAAAAAAAAAAAAAAAAAt4+H/8ysmf/Bnoj//5yc//+c + nP//nJz//5yc//+cnP//nJz//5yc//+cnP//nJz/zH197wAAAJsAAAAYAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACleXWD0bSi/8alkP/jm5L//5yc//+c + nP//nJz//5yc//+cnP//nJz//5yc//+cnP/zlZX7AAAApgAAABgAAAAAAAAAAAAAAAAAAAAAuZOK782u + nP/Eoo3/5JyT//Oalv//mpr//5qa//+amv//mpr//5qa//+amv//mpr/85KS+wAAAKcAAAAlAAAAAQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACSYWFU07al/8em + kv/fmo///5qa//+amv//mpr//5qa//+amv//mpr//5qa//+amv//mpr/AAAApwAAABgAAAAAAAAAAAAA + AAAAAAAAmWZmILCIgXLFpJiyyaiY/8qql//NopD/3ZyQ//eZlv/+mJj//piY//6YmP/+mJj//piY/xcO + DrQAAABGAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AACQYGBE07em/8imkv/fmo///piY//6YmP/+mJj//piY//6YmP/+mJj//piY//6YmP/+mJj/AAAApwAA + ABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmWZmEKh7d4DIp5n/yqmV/8+bi//8lpb//JaW//yW + lv/8lpb//JaW/2I6Os0AAABzAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + 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 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmWZmMMmqnIKxlINJAAAABgAAAAAAAAAAr4yEmdCy + oP/Foo3/3YR//+V/f//lf3//5X9//+V/f//lf3//5X9//+V/f//lf3//5X9//+V/f//lf3//5X9//+V/ + f//lf3//5X9//+V/f//lf3//5X9//+V/f//lf3//5X9//+V/f//lf3//5X9//+V/f//lf3//23p6+iIT + E2oAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAADsY2E2M2tm//Fmof/4nx8/+J8fP/ifHz/4nx8/+J8fP/ifHz/4nx8/+J8fP/ifHz/4nx8/+J8 + fP/ifHz/4nx8/+J8fP/ifHz/4nx8/+J8fP/ifHz/4nx8/+J8fP/ifHz/2Y2G/8uXh//ZhH7/4nx8/+J8 + fP/ifHz/lFFRxAAAACcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAB3UFApyaia/8molP/OjYH/4Hp6/+B6ev/genr/4Hp6/+B6ev/genr/4Hp6/+B6 + ev/genr/4Hp6/+B6ev/genr/4Hp6/+B6ev/genr/4Hp6/+B6ev/genr/4Hp6/+B6ev/genr/wJeN+s6v + nf/GpZD/zZGD/9x+e//VdHTqPSEhOgAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACcdG970bOh/8Wjjv/Xfnr/3Xd3/913d//dd3f/3Xd3/913 + d//dd3f/3Xd3/913d//dd3f/3Xd3/913d//dd3f/3Xd3/913d//dd3f/3Xd3/913d//dd3f/3Xd3/913 + d//dd3f/ZTY202tPTLTEopbjw6WTtreWgoipW1sqAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC1kIfUza2b/8WZhv/bdXX/23V1/9t1 + df/bdXX/23V1/9t1df/Yenj/zol+/9l3dv/bdXX/23V1/9t1df/bdXX/23V1/9t1df/bdXX/23V1/9t1 + df/bdXX/23V1/9t1df/bdXX/olZW6wAAAKEAAAAlAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADCn5T/zKyZ/8Sd + if/Uenb/2XNz/9lzc//Zc3P/2XNz/9lzc//TqJr/yKeT/8uKfv/Zc3P/2XNz/9lzc//Zc3P/2XNz/9lz + c//RjYP/zId9/9lzc//Zc3P/2XNz/9lzc//Zc3P/2XNz/xQKCrQAAABCAAAABwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AACkdXJgyaib/8ysmf/Fnor/z353/9ZwcP/WcHD/1nBw/5FSUr/Fo5b/yqmW/8aSgf/WcHD/1nBw/9Zw + cP/WcHD/1nBw/9Z9ev/Nrpv/w6GL/9B6df/WcHD/1nBw/9ZwcP/WcHD/1nBw/1ovL74AAABJAAAACgAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAroN+MMKglODOr53/xaOP/8mIfP/TcW//sVxcvgAAAB/Cn5T/y6yZ/8SY + hf/Ubm7/1G5u/9Rubv/Ubm7/1G5u/8lxcP/QsqL/yqmW/8WVg//Ubm7/1G5u/9Rubv/Ubm7/1G5u/5lP + T5sAAAASAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJlmZhC1jIWvxqaX4b+fi6e4hXd4hkREGQAA + AAG7lYzhza6b/8Kfif/Ra2v/0Wtr/9Fra//Ra2v/0Wtr/3s/P9mhe3bV0LKh/8alkP/Ig3j/0Wtr/9Fr + a//MaGj1nVBQawAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + 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 + KoMAAAATAAAABQAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAelVUP8Skkv7lraT//7m6//+6 + u//4t7X/9bWx//+5uf//ubn//7m5//+5uf//ubr//7m6//+6u///ubr//7m5//+5uf//ubn//7m5//+5 + uf+vf3/hAAAAcgAAACwAAAA2AAAAPQAAABAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAGwjIK+0auZ//my + r///trf//7W1//+2tv//trb//7W1//+1tf//trb//rS0//axsP/wtK7/8LGr//izsP//trf//7W2//+1 + tf//tbX//7W1/5xvb+EUEA+wUTs5rmxLS8EIBgaeAAAAQwAAAAcAAAAAAAAAAAAAAAAAAAAAl2NkBsCd + kNnPq5j/8a2n//+ztP//srL//7Ky//+ysv//srL//7Ky//esrPrGioqYxZGOTLePh2XBnZDDzqiY/96r + nv/4r6z//7Kz//+ysv//srL/9aqq+9mZmPTvqKf7/rCw/1U7O8sAAAB7AAAAFgAAAAAAAAAAAAAAAAAA + AACVX2EBoXNwRcGgkuvNqJX/8aql//+vr///rq7//66u//+urv/soaH3bUtLcwAAAA4AAAAAAAAAAAAA + AACsg3xYxKaW5M2mlP/uqaP//6+w//+urv//rq7//66v//+vr///rq7/x4iI7QAAAJkAAAApAAAABAAA + AAAAAAAAAAAAAAAAAAEAAAAXbVFPXL+llO3PpZP/+aqo//+srP//rKz//qur/4teXrYAAAAcAAAAAAAA + AAAAAAAAAAAAAAAAAAC5lIs8xaaW6M2nlP/0qKX//6yt//+srP//rKz//6ys//+srP/6qan8Vzo6hAAA + ABYAAAABAAAAAAAAAAAAAAAATEE7GEExLYZJLzC0tI2D8+KonP/8p6X//6io//+oqP/Zj4/vAAAAXgAA + AAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwhX9hx6qY/tWjlP/+p6f//6io//+oqP//qKj//6io/8mE + hMZAKiokAAAAAQAAAAAAAAAAAAAAAAAAAAC9oJCzz56P+P+np///pqb//6Wm//+lpf//paX//6Wl/5Nf + X9QAAAA9AAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJZiYwK5k4rAyKqV/+uimv//pab//6Wl//+l + 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 + + + \ No newline at end of file diff --git a/.svn/pristine/76/7615010613240403cd893712725b1493d5e4876a.svn-base b/.svn/pristine/76/7615010613240403cd893712725b1493d5e4876a.svn-base new file mode 100644 index 0000000..47c51c9 --- /dev/null +++ b/.svn/pristine/76/7615010613240403cd893712725b1493d5e4876a.svn-base @@ -0,0 +1,208 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + 125, 17 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAKNJREFUOE+VkwEO + wCAIA93PeZo/cyKiiMDYEmNC7FGpe4r9NaeeLjcAuFZXjxp+tVZs4jY6xFoIQCALwMR1QHYkVyTGXQNk + YQHQrhRJiAS00g/OwrET4OysHZDYWn1IGQet4EBCQOwAsyUIxWJcoYzYcHkzIMjOVQ1xw6MUGDJ2zjkz + A+t5Xg6sKMOXyFfyHKgru//IjHGnkBUycb2Dv8IF+BK+MTpb49UVguoAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAF5JREFUOE9jPHDg + wH8GSgDUAJAhJGOwXpgBDQ0QA0B8fBimBk6TYwDMtWS7ANm1ZHlhEBsAcxq+KAWpwekFmCQxNNZoJMYF + II14XYDL+bDENUgNIDdDwZMyoQyETx4A+Fj5YOUZcUAAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAADdJREFUKFNjYMAE + /7GIgYWQJXCxURTCFOE1ESSJoQAmiI9GcSayQqzuR3cLVithOvH6DpsisBgAoKoc5C8W7oEAAAAASUVO + RK5CYII= + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj0yLjAuMC4wLCBDdWx0 + dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACRTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5QYWdlU2V0dGluZ3MHAAAAD3ByaW50ZXJTZXR0aW5ncwVjb2xvcglwYXBlclNp + emULcGFwZXJTb3VyY2URcHJpbnRlclJlc29sdXRpb24JbGFuZHNjYXBlB21hcmdpbnMEBAQEBAQEJ1N5 + c3RlbS5EcmF3aW5nLlByaW50aW5nLlByaW50ZXJTZXR0aW5ncwIAAAAgU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuVHJpU3RhdGUCAAAAIVN5c3RlbS5EcmF3aW5nLlByaW50aW5nLlBhcGVyU2l6ZQIAAAAjU3lz + dGVtLkRyYXdpbmcuUHJpbnRpbmcuUGFwZXJTb3VyY2UCAAAAKVN5c3RlbS5EcmF3aW5nLlByaW50aW5n + LlByaW50ZXJSZXNvbHV0aW9uAgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAf + U3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuTWFyZ2lucwIAAAACAAAACQMAAAAF/P///yBTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5UcmlTdGF0ZQEAAAAFdmFsdWUAAgIAAAAACgoKAfv////8////AAkGAAAABQMA + AAAnU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRlclNldHRpbmdzEgAAAAtwcmludGVyTmFtZQpk + cml2ZXJOYW1lCm91dHB1dFBvcnQLcHJpbnRUb0ZpbGUUcHJpbnREaWFsb2dEaXNwbGF5ZWQKZXh0cmFi + eXRlcwlleHRyYWluZm8GY29waWVzBmR1cGxleAdjb2xsYXRlE2RlZmF1bHRQYWdlU2V0dGluZ3MIZnJv + bVBhZ2UGdG9QYWdlB21heFBhZ2UHbWluUGFnZQpwcmludFJhbmdlDGRldm1vZGVieXRlcw1jYWNoZWRE + ZXZtb2RlAQEBAAAABwAEBAQAAAAABAAHAQEHAgceU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuRHVwbGV4 + AgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAkU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuUGFnZVNldHRpbmdzAgAAAAgICAgiU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRSYW5n + ZQIAAAAHAgIAAAAKBgcAAAAACQcAAAAAAAAACv//Bfj///8eU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcu + RHVwbGV4AQAAAAd2YWx1ZV9fAAgCAAAA/////wH3/////P///wAJCgAAAAAAAAAAAAAADycAAAAAAAAF + 9f///yJTeXN0ZW0uRHJhd2luZy5QcmludGluZy5QcmludFJhbmdlAQAAAAd2YWx1ZV9fAAgCAAAAAAAA + AAAACgUGAAAAH1N5c3RlbS5EcmF3aW5nLlByaW50aW5nLk1hcmdpbnMEAAAABGxlZnQFcmlnaHQDdG9w + BmJvdHRvbQAAAAAICAgIAgAAAGQAAABkAAAAZAAAAGQAAAABCgAAAAEAAAAJAwAAAAHz/////P///wAK + CgoB8v////z///8ACQ8AAAABDwAAAAYAAABkAAAAZAAAAGQAAABkAAAACw== + + + + <?xml version="1.0"?><Blob><Styles type="C1.Win.C1TrueDBGrid.Design.ContextWrapper"><Data>Inactive{ForeColor:InactiveCaptionText;BackColor:InactiveCaption;}OddRow{BackColor:224, 224, 224;}Style5{}RecordSelector{AlignImage:Center;}Heading{Wrap:True;AlignVert:Center;Border:Flat,ControlDark,0, 1, 0, 1;ForeColor:ControlText;BackColor:Control;}Style6{}Group{BackColor:ControlDark;Border:None,,0, 0, 0, 0;AlignVert:Center;}Style8{}Footer{}Style13{}FilterWatermark{ForeColor:InfoText;BackColor:Info;}Style12{}HighlightRow{ForeColor:HighlightText;BackColor:Highlight;}Editor{}Style4{}FilterBar{ForeColor:Black;BackColor:255, 255, 192;}EvenRow{BackColor:White;}Style11{}Style16{}Style1{}Caption{AlignHorz:Center;}Selected{ForeColor:HighlightText;BackColor:Highlight;}Style9{}Style2{}Style14{}Normal{}Style7{}Style15{}Style10{AlignHorz:Near;}Style3{}</Data></Styles><Splits><C1.Win.C1TrueDBGrid.MergeView Name="" AlternatingRowStyle="True" CaptionHeight="17" ColumnCaptionHeight="17" ColumnFooterHeight="17" FilterBar="True" MarqueeStyle="DottedCellBorder" RecordSelectorWidth="16" DefRecSelWidth="16" VerticalScrollGroup="1" HorizontalScrollGroup="1"><Height>268</Height><CaptionStyle parent="Style2" me="Style10" /><EditorStyle parent="Editor" me="Style5" /><EvenRowStyle parent="EvenRow" me="Style8" /><FilterBarStyle parent="FilterBar" me="Style13" /><FilterWatermarkStyle parent="FilterWatermark" me="Style14" /><FooterStyle parent="Footer" me="Style3" /><GroupStyle parent="Group" me="Style12" /><HeadingStyle parent="Heading" me="Style2" /><HighLightRowStyle parent="HighlightRow" me="Style7" /><InactiveStyle parent="Inactive" me="Style4" /><OddRowStyle parent="OddRow" me="Style9" /><RecordSelectorStyle parent="RecordSelector" me="Style11" /><SelectedStyle parent="Selected" me="Style6" /><Style parent="Normal" me="Style1" /><ClientRect>0, 0, 554, 268</ClientRect><BorderSide>0</BorderSide></C1.Win.C1TrueDBGrid.MergeView></Splits><NamedStyles><Style parent="" me="Normal" /><Style parent="Normal" me="Heading" /><Style parent="Heading" me="Footer" /><Style parent="Heading" me="Caption" /><Style parent="Heading" me="Inactive" /><Style parent="Normal" me="Selected" /><Style parent="Normal" me="Editor" /><Style parent="Normal" me="HighlightRow" /><Style parent="Normal" me="EvenRow" /><Style parent="Normal" me="OddRow" /><Style parent="Heading" me="RecordSelector" /><Style parent="Normal" me="FilterBar" /><Style parent="FilterBar" me="FilterWatermark" /><Style parent="Caption" me="Group" /></NamedStyles><vertSplits>1</vertSplits><horzSplits>1</horzSplits><Layout>None</Layout><DefaultRecSelWidth>16</DefaultRecSelWidth><ClientArea>0, 0, 554, 268</ClientArea><PrintPageHeaderStyle parent="" me="Style15" /><PrintPageFooterStyle parent="" me="Style16" /></Blob> + + + 228, 17 + + + 430, 17 + + + 566, 17 + + + + AAABAAEAICAEAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP// + AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHd3d3d3d3d3d3d3d3d3d3AAAAAAAA + AAAAAAAAAAAABw///////////////////wcP//////////////////8HD/d3d3f/d3d3f/d3d3f/Bw// + /////////////////wcP93d3d/93d3d/93d3d/8HD///////////////////Bw/3d3d3/3d3d3/3d3d3 + /wcP//////////////////8HD/d3d3f/d3d3f/d3d3f/Bw///////////////////wcP93d3d/93d3d/ + 93d3d/8HD///////////////////Bw/3d3d3/3d3d3/3d3d3/wcP//////////////////8HD/d3d3f/ + d3d3f/d3d3f/Bw///////////////////wcP93d3d/93d3d/93d3d/8HD///////////////////Bw// + /////////////////wcAAAAAAAAAAAAAAAAAAAAHDMzMzMzMzMzMzMzMzMzMBwz/zMzM/8zMzM/8zMzP + /AcM/8zMzP/MzMzP/MzMz/wHDMzMzMzMzMzMzMzMzMzMBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////4AAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf///////////////w== + + + \ No newline at end of file diff --git a/.svn/pristine/76/76564006d459b1ec219dfc1c748f2b2f20549ca8.svn-base b/.svn/pristine/76/76564006d459b1ec219dfc1c748f2b2f20549ca8.svn-base new file mode 100644 index 0000000..e1e4e58 Binary files /dev/null and b/.svn/pristine/76/76564006d459b1ec219dfc1c748f2b2f20549ca8.svn-base differ diff --git a/.svn/pristine/78/78ef0f7a4e60242ce2b58b1e3861f744a32d0253.svn-base b/.svn/pristine/78/78ef0f7a4e60242ce2b58b1e3861f744a32d0253.svn-base new file mode 100644 index 0000000..3d01729 Binary files /dev/null and b/.svn/pristine/78/78ef0f7a4e60242ce2b58b1e3861f744a32d0253.svn-base differ diff --git a/.svn/pristine/7c/7cc28f77292cb77e52075ee57ca19a23a5c75e33.svn-base b/.svn/pristine/7c/7cc28f77292cb77e52075ee57ca19a23a5c75e33.svn-base new file mode 100644 index 0000000..724a705 --- /dev/null +++ b/.svn/pristine/7c/7cc28f77292cb77e52075ee57ca19a23a5c75e33.svn-base @@ -0,0 +1,261 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 17, 17 + + + 132, 17 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACkSURBVDhPlZOBDoAgCET9dD7NPyNPgpAIzY21oTzPg1rL + F4/0aaQEJqJXAIo8Vu9dL9gDYiGRgG6VCwBJLDvgbxRVsodvBPiEASDXF3mIB3AbBzPjBLDeHBVIcRbj + KScKuMGQElArmKZNSNJ7VYC2Ib48EIjE0gX1QPerLigkATytqxT4gQht3HsQx9H8+OpCeHL+R+FQnIPT + QiXaHPwtNMCu8ALckGXYKNsEDQAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAAB0AAAAWCAYAAAA8VJfMAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAE6SURBVEhLvVYBEoQgCPTp/dxLBN1FSq7prpkmM1hYQKiU + 9arnFt6ByHYrjTEEK1xfOECOGsSVvmeFNmkNAEjV9EsTbh8Cp2Ub9UXQZMfzOGo5b/B4gN6xF8Ogi7hm + h4yh8WFMAQRIEY6+Nme7WiCnzBdSRnth6mNMwBoZMW63OmRA8BQocHKmADeDEFG+kKmuNUg9nz68Pn1b + phg2KxQDIYPAGgvqUU4JQIEppxBeH9pXcnrLFHL6uHqd4j6nb1bvNqdvVq/rKlSVP6teDK+rRjse9WfV + G3Wav1Yvdp9WrGFjsIOp+UmfU2zoPrTtfZtTniiJ3quN3Rp85EDYkfzgB5xd7+WJj2dvThZiOpy6kA2c + 7g2fioUP+XSC2x0P/vltlXdNwwaL/5/JvNOgQDbJ9ZhK2UXkVFZX5D7llNs/ZB4AuwAAAABJRU5ErkJg + gg== + + + + + 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 + NOwMaQwPmv8C+cFEz4u/XNMAAAAASUVORK5CYII= + + + \ No newline at end of file diff --git a/.svn/pristine/82/82f75bf4dae008a3b7ff884f9df8c6a2f7fc7502.svn-base b/.svn/pristine/82/82f75bf4dae008a3b7ff884f9df8c6a2f7fc7502.svn-base new file mode 100644 index 0000000..c48989a --- /dev/null +++ b/.svn/pristine/82/82f75bf4dae008a3b7ff884f9df8c6a2f7fc7502.svn-base @@ -0,0 +1,145 @@ +Imports System.IO +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient +Public Class frmSysadminTableSelector + Inherits System.Windows.Forms.Form + +#Region " Vom Windows Form Designer generierter Code " + + Public Sub New() + MyBase.New() + + ' Dieser Aufruf ist fr den Windows Form-Designer erforderlich. + InitializeComponent() + + ' Initialisierungen nach dem Aufruf InitializeComponent() hinzufgen + + End Sub + + ' Die Form berschreibt den Lschvorgang der Basisklasse, um Komponenten zu bereinigen. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + ' Fr Windows Form-Designer erforderlich + Private components As System.ComponentModel.IContainer + + 'HINWEIS: Die folgende Prozedur ist fr den Windows Form-Designer erforderlich + 'Sie kann mit dem Windows Form-Designer modifiziert werden. + 'Verwenden Sie nicht den Code-Editor zur Bearbeitung. + Friend WithEvents SqlDataAdapter1 As System.Data.SqlClient.SqlDataAdapter + Friend WithEvents SqlSelectCommand1 As System.Data.SqlClient.SqlCommand + Friend WithEvents SqlInsertCommand1 As System.Data.SqlClient.SqlCommand + Friend WithEvents SqlConnection1 As System.Data.SqlClient.SqlConnection + Friend WithEvents DataSet1 As System.Data.DataSet + Friend WithEvents ListBox1 As System.Windows.Forms.ListBox + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmSysadminTableSelector)) + Me.SqlDataAdapter1 = New System.Data.SqlClient.SqlDataAdapter + Me.SqlInsertCommand1 = New System.Data.SqlClient.SqlCommand + Me.SqlConnection1 = New System.Data.SqlClient.SqlConnection + Me.SqlSelectCommand1 = New System.Data.SqlClient.SqlCommand + Me.DataSet1 = New System.Data.DataSet + Me.ListBox1 = New System.Windows.Forms.ListBox + CType(Me.DataSet1, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'SqlDataAdapter1 + ' + Me.SqlDataAdapter1.InsertCommand = Me.SqlInsertCommand1 + Me.SqlDataAdapter1.SelectCommand = Me.SqlSelectCommand1 + Me.SqlDataAdapter1.TableMappings.AddRange(New System.Data.Common.DataTableMapping() {New System.Data.Common.DataTableMapping("Table", "sysobjects", New System.Data.Common.DataColumnMapping() {New System.Data.Common.DataColumnMapping("name", "name"), New System.Data.Common.DataColumnMapping("id", "id"), New System.Data.Common.DataColumnMapping("xtype", "xtype"), New System.Data.Common.DataColumnMapping("uid", "uid"), New System.Data.Common.DataColumnMapping("info", "info"), New System.Data.Common.DataColumnMapping("status", "status"), New System.Data.Common.DataColumnMapping("base_schema_ver", "base_schema_ver"), New System.Data.Common.DataColumnMapping("replinfo", "replinfo"), New System.Data.Common.DataColumnMapping("parent_obj", "parent_obj"), New System.Data.Common.DataColumnMapping("crdate", "crdate"), New System.Data.Common.DataColumnMapping("ftcatid", "ftcatid"), New System.Data.Common.DataColumnMapping("schema_ver", "schema_ver"), New System.Data.Common.DataColumnMapping("stats_schema_ver", "stats_schema_ver"), New System.Data.Common.DataColumnMapping("type", "type"), New System.Data.Common.DataColumnMapping("userstat", "userstat"), New System.Data.Common.DataColumnMapping("sysstat", "sysstat"), New System.Data.Common.DataColumnMapping("indexdel", "indexdel"), New System.Data.Common.DataColumnMapping("refdate", "refdate"), New System.Data.Common.DataColumnMapping("version", "version"), New System.Data.Common.DataColumnMapping("deltrig", "deltrig"), New System.Data.Common.DataColumnMapping("instrig", "instrig"), New System.Data.Common.DataColumnMapping("updtrig", "updtrig"), New System.Data.Common.DataColumnMapping("seltrig", "seltrig"), New System.Data.Common.DataColumnMapping("category", "category"), New System.Data.Common.DataColumnMapping("cache", "cache")})}) + ' + 'SqlInsertCommand1 + ' + Me.SqlInsertCommand1.CommandText = "[pv_sysobjects_insert]" + Me.SqlInsertCommand1.CommandType = System.Data.CommandType.StoredProcedure + Me.SqlInsertCommand1.Connection = Me.SqlConnection1 + Me.SqlInsertCommand1.Parameters.AddRange(New System.Data.SqlClient.SqlParameter() {New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing), New System.Data.SqlClient.SqlParameter("@name", System.Data.SqlDbType.NVarChar, 128, "name"), New System.Data.SqlClient.SqlParameter("@id", System.Data.SqlDbType.Int, 4, "id"), New System.Data.SqlClient.SqlParameter("@xtype", System.Data.SqlDbType.VarChar, 2, "xtype"), New System.Data.SqlClient.SqlParameter("@uid", System.Data.SqlDbType.Int, 2, "uid"), New System.Data.SqlClient.SqlParameter("@info", System.Data.SqlDbType.Int, 2, "info"), New System.Data.SqlClient.SqlParameter("@status", System.Data.SqlDbType.Int, 4, "status"), New System.Data.SqlClient.SqlParameter("@base_schema_ver", System.Data.SqlDbType.Int, 4, "base_schema_ver"), New System.Data.SqlClient.SqlParameter("@replinfo", System.Data.SqlDbType.Int, 4, "replinfo"), New System.Data.SqlClient.SqlParameter("@parent_obj", System.Data.SqlDbType.Int, 4, "parent_obj"), New System.Data.SqlClient.SqlParameter("@crdate", System.Data.SqlDbType.DateTime, 8, "crdate"), New System.Data.SqlClient.SqlParameter("@ftcatid", System.Data.SqlDbType.Int, 2, "ftcatid")}) + ' + 'SqlConnection1 + ' + Me.SqlConnection1.ConnectionString = "data source=shu;initial catalog=edoka;persist security info=False;user id=sa;work" & _ + "station id=SHU;packet size=4096" + Me.SqlConnection1.FireInfoMessageEventOnUserErrors = False + ' + 'SqlSelectCommand1 + ' + Me.SqlSelectCommand1.CommandText = "[pv_sysobjects_select]" + Me.SqlSelectCommand1.CommandType = System.Data.CommandType.StoredProcedure + Me.SqlSelectCommand1.Connection = Me.SqlConnection1 + Me.SqlSelectCommand1.Parameters.AddRange(New System.Data.SqlClient.SqlParameter() {New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing)}) + ' + 'DataSet1 + ' + Me.DataSet1.DataSetName = "NewDataSet" + Me.DataSet1.Locale = New System.Globalization.CultureInfo("de-CH") + ' + 'ListBox1 + ' + Me.ListBox1.Location = New System.Drawing.Point(8, 16) + Me.ListBox1.Name = "ListBox1" + Me.ListBox1.Size = New System.Drawing.Size(240, 316) + Me.ListBox1.TabIndex = 0 + ' + 'frmSysadminTableSelector + ' + Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13) + Me.ClientSize = New System.Drawing.Size(256, 349) + Me.Controls.Add(Me.ListBox1) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.Name = "frmSysadminTableSelector" + Me.Text = "Tabelle auswhlen" + CType(Me.DataSet1, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmSysadminTableSelector_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + Dim ds As New DataSet + Dim connection As New SqlConnection() + Dim da As New SqlDataAdapter("", connection) + Dim sqlcmd As New SqlCommand + + sqlcmd.CommandText = "dbo.sp_sysobjects_select" + sqlcmd.CommandType = CommandType.StoredProcedure + sqlcmd.Connection = connection + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.SelectCommand = sqlcmd + da.Fill(ds, "Datatable1") + Catch ex As Exception + Finally + connection.Close() + da.Dispose() + sqlcmd.Dispose() + End Try + + + Dim i As Integer + For i = 0 To ds.Tables(0).Rows.Count - 1 + Me.ListBox1.Items.Add(ds.Tables(0).Rows(i)(0)) + Next + Me.SqlConnection1.Close() + End Sub + + Private Sub listbox1_dblclick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.DoubleClick + Close() + End Sub + + Public Function get_tablename() As String + get_tablename = "" + Me.ShowDialog() + Return Me.ListBox1.SelectedItem + End Function + +End Class diff --git a/.svn/pristine/83/83456792f5aa85f5de38924d472b7b5c4a111eff.svn-base b/.svn/pristine/83/83456792f5aa85f5de38924d472b7b5c4a111eff.svn-base new file mode 100644 index 0000000..5af5b4d --- /dev/null +++ b/.svn/pristine/83/83456792f5aa85f5de38924d472b7b5c4a111eff.svn-base @@ -0,0 +1,289 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Connection Provider class for Database connection sharing +' // Generated by LLBLGen v1.21.2003.712 Final on: Dienstag, 1. Januar 2013, 19:36:38 +' // This class implements IDisposable. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Configuration +Imports System.Data +Imports System.Data.SqlClient +Imports System.Collections + +Namespace DB + ' /// + ' /// Purpose: provides a SqlConnection object which can be shared among data-access tier objects + ' /// to provide a way to do ADO.NET transaction coding without the hassling with SqlConnection objects + ' /// on a high level. + ' /// + Public Class clsConnectionProvider + Implements IDisposable + +#Region " Class Member Declarations " + + Private m_scoDBConnection As SqlConnection + Private m_bIsTransactionPending, m_bIsDisposed As Boolean + Private m_stCurrentTransaction As SqlTransaction + Private m_alSavePoints As ArrayList + +#End Region + + + Public Sub New() + ' // Init the class + InitClass() + End Sub + + + ' /// + ' /// Purpose: Implements the IDispose' method Dispose. + ' /// + Overloads Public Sub Dispose() Implements IDisposable.Dispose + Dispose(True) + GC.SuppressFinalize(Me) + End Sub + + + ' /// + ' /// Purpose: Implements the Dispose functionality. + ' /// + Overridable Overloads Protected Sub Dispose(ByVal bIsDisposing As Boolean) + ' // Check to see if Dispose has already been called. + If Not m_bIsDisposed Then + If bIsDisposing Then + ' // Dispose managed resources. + If Not (m_stCurrentTransaction Is Nothing) Then + m_stCurrentTransaction.Dispose() + m_stCurrentTransaction = Nothing + End If + If Not (m_scoDBConnection Is Nothing) Then + ' // closing the connection will abort (rollback) any pending transactions + m_scoDBConnection.Close() + m_scoDBConnection.Dispose() + m_scoDBConnection = Nothing + End If + End If + End If + m_bIsDisposed = True + End Sub + + + ' /// + ' /// Purpose: Initializes class members. + ' /// + Private Sub InitClass() + ' // Create all the objects and initialize other members. + m_scoDBConnection = new SqlConnection() + m_bIsDisposed = False + m_stCurrentTransaction = Nothing + m_bIsTransactionPending = False + m_alSavePoints = new ArrayList() + End Sub + + + ' /// + ' /// Purpose: Opens the connection object. + ' /// + ' /// True, if succeeded, otherwise an Exception exception is thrown. + Public Function OpenConnection() As Boolean + Try + If (m_scoDBConnection.State And ConnectionState.Open) > 0 Then + ' // It's already open. + Throw New Exception("OpenConnection::Connection is already open.") + End If + m_scoDBConnection.Open() + m_bIsTransactionPending = False + m_alSavePoints.Clear() + Return True + Catch ex As Exception + ' // bubble exception + Throw ex + End Try + End Function + + + ' /// + ' /// Purpose: Starts a new ADO.NET transaction using the open connection object of this class. + ' /// + ' /// Name of the transaction to start + ' /// True, if transaction is started correctly, otherwise an Exception exception is thrown + Public Function BeginTransaction(sTransactionName As String) As Boolean + Try + If m_bIsTransactionPending Then + ' // no nested transactions allowed. + Throw New Exception("BeginTransaction::Already transaction pending. Nesting not allowed") + End If + If (m_scoDBConnection.State And ConnectionState.Open) = 0 Then + ' // no open connection + Throw New Exception("BeginTransaction::Connection is not open.") + End If + ' // begin the transaction and store the transaction object. + m_stCurrentTransaction = m_scoDBConnection.BeginTransaction(IsolationLevel.ReadCommitted, sTransactionName) + m_bIsTransactionPending = True + Return True + Catch ex As Exception + ' // bubble exception + Throw ex + End Try + End Function + + + ' /// + ' /// Purpose: Commits a pending transaction on the open connection object of this class. + ' /// + ' /// True, if commit was succesful, or an Exception exception is thrown + Public Function CommitTransaction() As Boolean + Try + If Not m_bIsTransactionPending Then + ' // no transaction pending + Throw New Exception("CommitTransaction::No transaction pending.") + End If + If (m_scoDBConnection.State And ConnectionState.Open) = 0 Then + ' // no open connection + Throw New Exception("CommitTransaction::Connection is not open.") + End if + ' // commit the transaction + m_stCurrentTransaction.Commit() + m_bIsTransactionPending = False + m_stCurrentTransaction.Dispose() + m_stCurrentTransaction = Nothing + m_alSavePoints.Clear() + Return True + Catch ex As Exception + ' // bubble exception + Throw ex + End Try + End Function + + + ' /// + ' /// Purpose: Rolls back a pending transaction on the open connection object of this class, + ' /// or rolls back to the savepoint with the given name. Savepoints are created with SaveTransaction(). + ' /// + ' /// Name of transaction to roll back. Can be name of savepoint + ' /// True, if rollback was succesful, or an Exception exception is thrown + Public Function RollbackTransaction(sTransactionToRollback As String) As Boolean + Try + If Not m_bIsTransactionPending Then + ' // no transaction pending + Throw New Exception("RollbackTransaction::No transaction pending.") + End If + If (m_scoDBConnection.State And ConnectionState.Open) = 0 Then + ' // no open connection + Throw New Exception("RollbackTransaction::Connection is not open.") + End If + ' // rollback the transaction + m_stCurrentTransaction.Rollback(sTransactionToRollback) + ' // if this wasn't a savepoint, we've rolled back the complete transaction, so we + ' // can clean it up. + If Not m_alSavePoints.Contains(sTransactionToRollback) Then + ' // it's not a savepoint + m_bIsTransactionPending = False + m_stCurrentTransaction.Dispose() + m_stCurrentTransaction = Nothing + m_alSavePoints.Clear() + End If + Return True + Catch ex As Exception + ' // bubble exception + Throw ex + End Try + End Function + + + ' /// + ' /// Purpose: Saves a pending transaction on the open connection object of this class to a 'savepoint' + ' /// with the given name. + ' /// When a rollback is issued, the caller can rollback to this savepoint or roll back the complete transaction. + ' /// + ' /// Name of the savepoint to store the current transaction under. + ' /// True, if save was succesful, or an Exception exception is thrown + Public Function SaveTransaction(sSavePointName As String) As Boolean + Try + If Not m_bIsTransactionPending Then + ' // no transaction pending + Throw New Exception("SaveTransaction::No transaction pending.") + End If + If (m_scoDBConnection.State And ConnectionState.Open) = 0 Then + ' // no open connection + Throw New Exception("SaveTransaction::Connection is not open.") + End If + ' // save the transaction + m_stCurrentTransaction.Save(sSavePointName) + ' // Store the savepoint in the list. + m_alSavePoints.Add(sSavePointName) + Return True + Catch ex As Exception + ' // bubble exception + Throw ex + End Try + End Function + + + ' /// + ' /// Purpose: Closes the open connection. Depending on bCommitPendingTransactions, a pending + ' /// transaction is commited, or aborted. + ' /// + ' /// Flag for what to do when a transaction is still pending. True + ' /// will commit the current transaction, False will abort (rollback) the complete current transaction. + ' /// True, if close was succesful, False if connection was already closed, or an Exception exception is thrown when + ' /// an error occurs + Public Function CloseConnection(bCommitPendingTransaction As Boolean) As Boolean + Try + If (m_scoDBConnection.State And ConnectionState.Open) = 0 Then + ' // No open connection + Return False + End If + If m_bIsTransactionPending Then + If bCommitPendingTransaction Then + ' // Commit the pending transaction + m_stCurrentTransaction.Commit() + Else + ' // Rollback the pending transaction + m_stCurrentTransaction.Rollback() + End If + m_bIsTransactionPending = False + m_stCurrentTransaction.Dispose() + m_stCurrentTransaction = Nothing + m_alSavePoints.Clear() + End If + ' // close the connection + m_scoDBConnection.Close() + Return True + Catch ex As Exception + ' // bubble exception + Throw ex + End Try + End Function + + +#Region " Class Property Declarations " + + Public ReadOnly Property stCurrentTransaction() As SqlTransaction + Get + Return m_stCurrentTransaction + End Get + End Property + + + Public ReadOnly Property bIsTransactionPending() As Boolean + Get + Return m_bIsTransactionPending + End Get + End Property + + + Public ReadOnly Property scoDBConnection() As SqlConnection + Get + Return m_scoDBConnection + End Get + End Property + Public WriteOnly Property sConnectionString() As String + Set (ByVal Value As String) + m_scoDBConnection.ConnectionString = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/.svn/pristine/84/84ea561fff4cadc290374b1b02e2b5ef6144a1e9.svn-base b/.svn/pristine/84/84ea561fff4cadc290374b1b02e2b5ef6144a1e9.svn-base new file mode 100644 index 0000000..698dcf7 --- /dev/null +++ b/.svn/pristine/84/84ea561fff4cadc290374b1b02e2b5ef6144a1e9.svn-base @@ -0,0 +1,530 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'mitarbeiter' +' // Generated by LLBLGen v1.21.2003.712 Final on: Freitag, 4. Januar 2013, 17:02:51 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + ''' + ''' Purpose: Data Access class for the table 'mitarbeiter'. + ''' + Public Class clsMitarbeiter + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daErstellt_am, m_daMutiert_am As SqlDateTime + Private m_iMandantnr, m_iMutierer, m_iMitarbeiternr As SqlInt32 + Private m_sEmail, m_sVorname, m_sTgnummer, m_sName As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iMitarbeiternr
  • + '''
  • sVorname. May be SqlString.Null
  • + '''
  • sName. May be SqlString.Null
  • + '''
  • sTgnummer. May be SqlString.Null
  • + '''
  • sEmail. May be SqlString.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_mitarbeiter_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@imitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iMitarbeiternr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@svorname", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sVorname)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sname", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sName)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@stgnummer", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTgnummer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@semail", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sEmail)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_mitarbeiter_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMitarbeiter::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iMitarbeiternr
  • + '''
  • sVorname. May be SqlString.Null
  • + '''
  • sName. May be SqlString.Null
  • + '''
  • sTgnummer. May be SqlString.Null
  • + '''
  • sEmail. May be SqlString.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_mitarbeiter_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@imitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iMitarbeiternr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@svorname", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sVorname)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sname", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sName)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@stgnummer", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTgnummer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@semail", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sEmail)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_mitarbeiter_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMitarbeiter::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iMitarbeiternr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_mitarbeiter_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@imitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iMitarbeiternr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_mitarbeiter_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMitarbeiter::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iMitarbeiternr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iMitarbeiternr
  • + '''
  • sVorname
  • + '''
  • sName
  • + '''
  • sTgnummer
  • + '''
  • sEmail
  • + '''
  • iMandantnr
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_mitarbeiter_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("mitarbeiter") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@imitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iMitarbeiternr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_mitarbeiter_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iMitarbeiternr = New SqlInt32(CType(dtToReturn.Rows(0)("mitarbeiternr"), Integer)) + If dtToReturn.Rows(0)("vorname") Is System.DBNull.Value Then + m_sVorname = SqlString.Null + Else + m_sVorname = New SqlString(CType(dtToReturn.Rows(0)("vorname"), String)) + End If + If dtToReturn.Rows(0)("name") Is System.DBNull.Value Then + m_sName = SqlString.Null + Else + m_sName = New SqlString(CType(dtToReturn.Rows(0)("name"), String)) + End If + If dtToReturn.Rows(0)("tgnummer") Is System.DBNull.Value Then + m_sTgnummer = SqlString.Null + Else + m_sTgnummer = New SqlString(CType(dtToReturn.Rows(0)("tgnummer"), String)) + End If + If dtToReturn.Rows(0)("email") Is System.DBNull.Value Then + m_sEmail = SqlString.Null + Else + m_sEmail = New SqlString(CType(dtToReturn.Rows(0)("email"), String)) + End If + If dtToReturn.Rows(0)("mandantnr") Is System.DBNull.Value Then + m_iMandantnr = SqlInt32.Null + Else + m_iMandantnr = New SqlInt32(CType(dtToReturn.Rows(0)("mandantnr"), Integer)) + End If + If dtToReturn.Rows(0)("aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMitarbeiter::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_mitarbeiter_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("mitarbeiter") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_mitarbeiter_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMitarbeiter::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iMitarbeiternr]() As SqlInt32 + Get + Return m_iMitarbeiternr + End Get + Set(ByVal Value As SqlInt32) + Dim iMitarbeiternrTmp As SqlInt32 = Value + If iMitarbeiternrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iMitarbeiternr", "iMitarbeiternr can't be NULL") + End If + m_iMitarbeiternr = Value + End Set + End Property + + + Public Property [sVorname]() As SqlString + Get + Return m_sVorname + End Get + Set(ByVal Value As SqlString) + m_sVorname = Value + End Set + End Property + + + Public Property [sName]() As SqlString + Get + Return m_sName + End Get + Set(ByVal Value As SqlString) + m_sName = Value + End Set + End Property + + + Public Property [sTgnummer]() As SqlString + Get + Return m_sTgnummer + End Get + Set(ByVal Value As SqlString) + m_sTgnummer = Value + End Set + End Property + + + Public Property [sEmail]() As SqlString + Get + Return m_sEmail + End Get + Set(ByVal Value As SqlString) + m_sEmail = Value + End Set + End Property + + + Public Property [iMandantnr]() As SqlInt32 + Get + Return m_iMandantnr + End Get + Set(ByVal Value As SqlInt32) + m_iMandantnr = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/.svn/pristine/87/879dcf690e5bf1941b27cf13c8bcf72f8356c650.svn-base b/.svn/pristine/87/879dcf690e5bf1941b27cf13c8bcf72f8356c650.svn-base new file mode 100644 index 0000000..061c9ca --- /dev/null +++ b/.svn/pristine/87/879dcf690e5bf1941b27cf13c8bcf72f8356c650.svn-base @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/.svn/pristine/89/8940c8a3529714d8537b8866fc1a638e68f9d55e.svn-base b/.svn/pristine/89/8940c8a3529714d8537b8866fc1a638e68f9d55e.svn-base new file mode 100644 index 0000000..161e6e2 --- /dev/null +++ b/.svn/pristine/89/8940c8a3529714d8537b8866fc1a638e68f9d55e.svn-base @@ -0,0 +1,490 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'ToolTip' +' // Generated by LLBLGen v1.21.2003.712 Final on: Dienstag, 1. Januar 2013, 14:02:28 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + ''' + ''' Purpose: Data Access class for the table 'ToolTip'. + ''' + Public Class clsToolTip + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daMutiert_am, m_daErstellt_am As SqlDateTime + Private m_iMutierer, m_iToolTipNr As SqlInt32 + Private m_sToolTip, m_sControlName, m_sFormularName As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iToolTipNr
  • + '''
  • sFormularName. May be SqlString.Null
  • + '''
  • sControlName. May be SqlString.Null
  • + '''
  • sToolTip. May be SqlString.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_ToolTip_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iToolTipNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iToolTipNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sFormularName", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sFormularName)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sControlName", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sControlName)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sToolTip", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sToolTip)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bAktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daErstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daMutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iMutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_ToolTip_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsToolTip::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iToolTipNr
  • + '''
  • sFormularName. May be SqlString.Null
  • + '''
  • sControlName. May be SqlString.Null
  • + '''
  • sToolTip. May be SqlString.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_ToolTip_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iToolTipNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iToolTipNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sFormularName", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sFormularName)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sControlName", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sControlName)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sToolTip", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sToolTip)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bAktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daErstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daMutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iMutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_ToolTip_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsToolTip::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iToolTipNr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_ToolTip_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iToolTipNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iToolTipNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_ToolTip_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsToolTip::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iToolTipNr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iToolTipNr
  • + '''
  • sFormularName
  • + '''
  • sControlName
  • + '''
  • sToolTip
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_ToolTip_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("ToolTip") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iToolTipNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iToolTipNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_ToolTip_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iToolTipNr = New SqlInt32(CType(dtToReturn.Rows(0)("ToolTipNr"), Integer)) + If dtToReturn.Rows(0)("FormularName") Is System.DBNull.Value Then + m_sFormularName = SqlString.Null + Else + m_sFormularName = New SqlString(CType(dtToReturn.Rows(0)("FormularName"), String)) + End If + If dtToReturn.Rows(0)("ControlName") Is System.DBNull.Value Then + m_sControlName = SqlString.Null + Else + m_sControlName = New SqlString(CType(dtToReturn.Rows(0)("ControlName"), String)) + End If + If dtToReturn.Rows(0)("ToolTip") Is System.DBNull.Value Then + m_sToolTip = SqlString.Null + Else + m_sToolTip = New SqlString(CType(dtToReturn.Rows(0)("ToolTip"), String)) + End If + If dtToReturn.Rows(0)("Aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("Aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("Erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("Erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("Mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("Mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("Mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("Mutierer"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsToolTip::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_ToolTip_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("ToolTip") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_ToolTip_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsToolTip::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iToolTipNr]() As SqlInt32 + Get + Return m_iToolTipNr + End Get + Set(ByVal Value As SqlInt32) + Dim iToolTipNrTmp As SqlInt32 = Value + If iToolTipNrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iToolTipNr", "iToolTipNr can't be NULL") + End If + m_iToolTipNr = Value + End Set + End Property + + + Public Property [sFormularName]() As SqlString + Get + Return m_sFormularName + End Get + Set(ByVal Value As SqlString) + m_sFormularName = Value + End Set + End Property + + + Public Property [sControlName]() As SqlString + Get + Return m_sControlName + End Get + Set(ByVal Value As SqlString) + m_sControlName = Value + End Set + End Property + + + Public Property [sToolTip]() As SqlString + Get + Return m_sToolTip + End Get + Set(ByVal Value As SqlString) + m_sToolTip = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/.svn/pristine/89/89a2a4045a64073b80c6f60d85928e9c3f269e3a.svn-base b/.svn/pristine/89/89a2a4045a64073b80c6f60d85928e9c3f269e3a.svn-base new file mode 100644 index 0000000..895cf7d Binary files /dev/null and b/.svn/pristine/89/89a2a4045a64073b80c6f60d85928e9c3f269e3a.svn-base differ diff --git a/.svn/pristine/8a/8a9287354f801daf2769fb04a138a2e576e1e114.svn-base b/.svn/pristine/8a/8a9287354f801daf2769fb04a138a2e576e1e114.svn-base new file mode 100644 index 0000000..8980456 --- /dev/null +++ b/.svn/pristine/8a/8a9287354f801daf2769fb04a138a2e576e1e114.svn-base @@ -0,0 +1,289 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Connection Provider class for Database connection sharing +' // Generated by LLBLGen v1.21.2003.712 Final on: Dienstag, 1. Januar 2013, 13:15:45 +' // This class implements IDisposable. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Configuration +Imports System.Data +Imports System.Data.SqlClient +Imports System.Collections + +Namespace db + ' /// + ' /// Purpose: provides a SqlConnection object which can be shared among data-access tier objects + ' /// to provide a way to do ADO.NET transaction coding without the hassling with SqlConnection objects + ' /// on a high level. + ' /// + Public Class clsConnectionProvider + Implements IDisposable + +#Region " Class Member Declarations " + + Private m_scoDBConnection As SqlConnection + Private m_bIsTransactionPending, m_bIsDisposed As Boolean + Private m_stCurrentTransaction As SqlTransaction + Private m_alSavePoints As ArrayList + +#End Region + + + Public Sub New() + ' // Init the class + InitClass() + End Sub + + + ' /// + ' /// Purpose: Implements the IDispose' method Dispose. + ' /// + Overloads Public Sub Dispose() Implements IDisposable.Dispose + Dispose(True) + GC.SuppressFinalize(Me) + End Sub + + + ' /// + ' /// Purpose: Implements the Dispose functionality. + ' /// + Overridable Overloads Protected Sub Dispose(ByVal bIsDisposing As Boolean) + ' // Check to see if Dispose has already been called. + If Not m_bIsDisposed Then + If bIsDisposing Then + ' // Dispose managed resources. + If Not (m_stCurrentTransaction Is Nothing) Then + m_stCurrentTransaction.Dispose() + m_stCurrentTransaction = Nothing + End If + If Not (m_scoDBConnection Is Nothing) Then + ' // closing the connection will abort (rollback) any pending transactions + m_scoDBConnection.Close() + m_scoDBConnection.Dispose() + m_scoDBConnection = Nothing + End If + End If + End If + m_bIsDisposed = True + End Sub + + + ' /// + ' /// Purpose: Initializes class members. + ' /// + Private Sub InitClass() + ' // Create all the objects and initialize other members. + m_scoDBConnection = new SqlConnection() + m_bIsDisposed = False + m_stCurrentTransaction = Nothing + m_bIsTransactionPending = False + m_alSavePoints = new ArrayList() + End Sub + + + ' /// + ' /// Purpose: Opens the connection object. + ' /// + ' /// True, if succeeded, otherwise an Exception exception is thrown. + Public Function OpenConnection() As Boolean + Try + If (m_scoDBConnection.State And ConnectionState.Open) > 0 Then + ' // It's already open. + Throw New Exception("OpenConnection::Connection is already open.") + End If + m_scoDBConnection.Open() + m_bIsTransactionPending = False + m_alSavePoints.Clear() + Return True + Catch ex As Exception + ' // bubble exception + Throw ex + End Try + End Function + + + ' /// + ' /// Purpose: Starts a new ADO.NET transaction using the open connection object of this class. + ' /// + ' /// Name of the transaction to start + ' /// True, if transaction is started correctly, otherwise an Exception exception is thrown + Public Function BeginTransaction(sTransactionName As String) As Boolean + Try + If m_bIsTransactionPending Then + ' // no nested transactions allowed. + Throw New Exception("BeginTransaction::Already transaction pending. Nesting not allowed") + End If + If (m_scoDBConnection.State And ConnectionState.Open) = 0 Then + ' // no open connection + Throw New Exception("BeginTransaction::Connection is not open.") + End If + ' // begin the transaction and store the transaction object. + m_stCurrentTransaction = m_scoDBConnection.BeginTransaction(IsolationLevel.ReadCommitted, sTransactionName) + m_bIsTransactionPending = True + Return True + Catch ex As Exception + ' // bubble exception + Throw ex + End Try + End Function + + + ' /// + ' /// Purpose: Commits a pending transaction on the open connection object of this class. + ' /// + ' /// True, if commit was succesful, or an Exception exception is thrown + Public Function CommitTransaction() As Boolean + Try + If Not m_bIsTransactionPending Then + ' // no transaction pending + Throw New Exception("CommitTransaction::No transaction pending.") + End If + If (m_scoDBConnection.State And ConnectionState.Open) = 0 Then + ' // no open connection + Throw New Exception("CommitTransaction::Connection is not open.") + End if + ' // commit the transaction + m_stCurrentTransaction.Commit() + m_bIsTransactionPending = False + m_stCurrentTransaction.Dispose() + m_stCurrentTransaction = Nothing + m_alSavePoints.Clear() + Return True + Catch ex As Exception + ' // bubble exception + Throw ex + End Try + End Function + + + ' /// + ' /// Purpose: Rolls back a pending transaction on the open connection object of this class, + ' /// or rolls back to the savepoint with the given name. Savepoints are created with SaveTransaction(). + ' /// + ' /// Name of transaction to roll back. Can be name of savepoint + ' /// True, if rollback was succesful, or an Exception exception is thrown + Public Function RollbackTransaction(sTransactionToRollback As String) As Boolean + Try + If Not m_bIsTransactionPending Then + ' // no transaction pending + Throw New Exception("RollbackTransaction::No transaction pending.") + End If + If (m_scoDBConnection.State And ConnectionState.Open) = 0 Then + ' // no open connection + Throw New Exception("RollbackTransaction::Connection is not open.") + End If + ' // rollback the transaction + m_stCurrentTransaction.Rollback(sTransactionToRollback) + ' // if this wasn't a savepoint, we've rolled back the complete transaction, so we + ' // can clean it up. + If Not m_alSavePoints.Contains(sTransactionToRollback) Then + ' // it's not a savepoint + m_bIsTransactionPending = False + m_stCurrentTransaction.Dispose() + m_stCurrentTransaction = Nothing + m_alSavePoints.Clear() + End If + Return True + Catch ex As Exception + ' // bubble exception + Throw ex + End Try + End Function + + + ' /// + ' /// Purpose: Saves a pending transaction on the open connection object of this class to a 'savepoint' + ' /// with the given name. + ' /// When a rollback is issued, the caller can rollback to this savepoint or roll back the complete transaction. + ' /// + ' /// Name of the savepoint to store the current transaction under. + ' /// True, if save was succesful, or an Exception exception is thrown + Public Function SaveTransaction(sSavePointName As String) As Boolean + Try + If Not m_bIsTransactionPending Then + ' // no transaction pending + Throw New Exception("SaveTransaction::No transaction pending.") + End If + If (m_scoDBConnection.State And ConnectionState.Open) = 0 Then + ' // no open connection + Throw New Exception("SaveTransaction::Connection is not open.") + End If + ' // save the transaction + m_stCurrentTransaction.Save(sSavePointName) + ' // Store the savepoint in the list. + m_alSavePoints.Add(sSavePointName) + Return True + Catch ex As Exception + ' // bubble exception + Throw ex + End Try + End Function + + + ' /// + ' /// Purpose: Closes the open connection. Depending on bCommitPendingTransactions, a pending + ' /// transaction is commited, or aborted. + ' /// + ' /// Flag for what to do when a transaction is still pending. True + ' /// will commit the current transaction, False will abort (rollback) the complete current transaction. + ' /// True, if close was succesful, False if connection was already closed, or an Exception exception is thrown when + ' /// an error occurs + Public Function CloseConnection(bCommitPendingTransaction As Boolean) As Boolean + Try + If (m_scoDBConnection.State And ConnectionState.Open) = 0 Then + ' // No open connection + Return False + End If + If m_bIsTransactionPending Then + If bCommitPendingTransaction Then + ' // Commit the pending transaction + m_stCurrentTransaction.Commit() + Else + ' // Rollback the pending transaction + m_stCurrentTransaction.Rollback() + End If + m_bIsTransactionPending = False + m_stCurrentTransaction.Dispose() + m_stCurrentTransaction = Nothing + m_alSavePoints.Clear() + End If + ' // close the connection + m_scoDBConnection.Close() + Return True + Catch ex As Exception + ' // bubble exception + Throw ex + End Try + End Function + + +#Region " Class Property Declarations " + + Public ReadOnly Property stCurrentTransaction() As SqlTransaction + Get + Return m_stCurrentTransaction + End Get + End Property + + + Public ReadOnly Property bIsTransactionPending() As Boolean + Get + Return m_bIsTransactionPending + End Get + End Property + + + Public ReadOnly Property scoDBConnection() As SqlConnection + Get + Return m_scoDBConnection + End Get + End Property + Public WriteOnly Property sConnectionString() As String + Set (ByVal Value As String) + m_scoDBConnection.ConnectionString = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/.svn/pristine/8d/8d0afa78893ae5f04e505db0d76d0d50cf34e7da.svn-base b/.svn/pristine/8d/8d0afa78893ae5f04e505db0d76d0d50cf34e7da.svn-base new file mode 100644 index 0000000..bb84a51 Binary files /dev/null and b/.svn/pristine/8d/8d0afa78893ae5f04e505db0d76d0d50cf34e7da.svn-base differ diff --git a/.svn/pristine/8e/8e611002be6c56d6e5acac42497b691032933c56.svn-base b/.svn/pristine/8e/8e611002be6c56d6e5acac42497b691032933c56.svn-base new file mode 100644 index 0000000..a4ae313 Binary files /dev/null and b/.svn/pristine/8e/8e611002be6c56d6e5acac42497b691032933c56.svn-base differ diff --git a/.svn/pristine/8e/8e84ee6ba4959d26af98a1d6d06dcc86d8237010.svn-base b/.svn/pristine/8e/8e84ee6ba4959d26af98a1d6d06dcc86d8237010.svn-base new file mode 100644 index 0000000..3c3ad04 --- /dev/null +++ b/.svn/pristine/8e/8e84ee6ba4959d26af98a1d6d06dcc86d8237010.svn-base @@ -0,0 +1,261 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 17, 17 + + + 132, 17 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACkSURBVDhPlZOBDoAgCET9dD7NPyNPgpAIzY21oTzPg1rL + F4/0aaQEJqJXAIo8Vu9dL9gDYiGRgG6VCwBJLDvgbxRVsodvBPiEASDXF3mIB3AbBzPjBLDeHBVIcRbj + KScKuMGQElArmKZNSNJ7VYC2Ib48EIjE0gX1QPerLigkATytqxT4gQht3HsQx9H8+OpCeHL+R+FQnIPT + QiXaHPwtNMCu8ALckGXYKNsEDQAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAAB0AAAAWCAYAAAA8VJfMAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAE6SURBVEhLvVYBEoQgCPTp/dxLBN1FSq7prpkmM1hYQKiU + 9arnFt6ByHYrjTEEK1xfOECOGsSVvmeFNmkNAEjV9EsTbh8Cp2Ub9UXQZMfzOGo5b/B4gN6xF8Ogi7hm + h4yh8WFMAQRIEY6+Nme7WiCnzBdSRnth6mNMwBoZMW63OmRA8BQocHKmADeDEFG+kKmuNUg9nz68Pn1b + phg2KxQDIYPAGgvqUU4JQIEppxBeH9pXcnrLFHL6uHqd4j6nb1bvNqdvVq/rKlSVP6teDK+rRjse9WfV + G3Wav1Yvdp9WrGFjsIOp+UmfU2zoPrTtfZtTniiJ3quN3Rp85EDYkfzgB5xd7+WJj2dvThZiOpy6kA2c + 7g2fioUP+XSC2x0P/vltlXdNwwaL/5/JvNOgQDbJ9ZhK2UXkVFZX5D7llNs/ZB4AuwAAAABJRU5ErkJg + gg== + + + + + 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 + NOwMaQwPmv8C9qdEzh9CMjwAAAAASUVORK5CYII= + + + \ No newline at end of file diff --git a/.svn/pristine/8e/8e98581d807f620c48de404323b26c5575b460ae.svn-base b/.svn/pristine/8e/8e98581d807f620c48de404323b26c5575b460ae.svn-base new file mode 100644 index 0000000..51a5fad --- /dev/null +++ b/.svn/pristine/8e/8e98581d807f620c48de404323b26c5575b460ae.svn-base @@ -0,0 +1,763 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + /9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwg + JC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIy + MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAkACQDASIAAhEBAxEB/8QA + HwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIh + MUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVW + V1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXG + x8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQF + BgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAV + YnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOE + hYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq + 8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3m6uorO3aaZsIOOBkk9gB3J9K47WvGbWRw0y23cRRqJJSPcn5 + V/I/WmeN9dNi74IzCAkQPeRhkn8FKj/gRrznRNX0611pr3W4GvIgjN5ZXdvk7Zzx69a9DCYNVYOrPZdF + uznrVuVqK3Ori+JLLL81zehc9ZUhkA/BVQ/rXb6H4nttXjj+eMl+EkjJKOf7vPKt/sn8M1zOmXHhnx5p + F7H/AGRFYyQnaHCqGXIyGDL6dxXlfhrXv7L1qIG4Itp2EcxHQDPDj3U4YfTHernhadSMvZpxlHo9SVVl + Frmd0z6Yoqppd017psE8gAkZcSAdnBw36g0V5h1HlnxTSSF5Zv4FuQ7H0DxIq/rE1eSSXj3EoQMUQnBx + 2HrX0x4s8PRa7p0kbRGTdGY5EBwzLnPy/wC0DyPxHevBLjwjqOgan57W/wBss4ZA3mqpK4BztcdUPsf1 + r2cvxUY0/ZvfocWIpNy5kbmr6ta2GnR6T4bnUW0kRE8yAhjngjnue5rlrfS2uLmG3hXMsrrGg9STgV0m + taofEU1tFp+mSiSMEbUHmOxOOOB0GP1rpfBXgu5e6F1dgCQAj5TkQg8HJHBfHAA+7nJ5wK2UoYehzS+J + 9L3bYcrnOy2PTdA50hJB92aWWZf915GYfoRRWjGixRrGihUUBVA7AUV4B2jqqXWl2V64knt1aQDAkGVc + f8CGDRRQBX/sDTjxJHNMv92e5klX8mYitFI0iQJGioijAVRgCiigB1FFFAH/2Q== + + + + + /9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwg + JC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIy + MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAjACQDASIAAhEBAxEB/8QA + HwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIh + MUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVW + V1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXG + x8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQF + BgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAV + YnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOE + hYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq + 8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3m6uorO3aaZsIOOBkk9gB3J9K4/VvGTWzEeetv6RRqJJPxJ+V + fyP1qPxxrRs/Nwf9SFjjH/TRhlj+C4H/AAI1i+GNM0HxLoF1BLM66xku8jH5k54Kjuvr/wDqrGc3flju + ejhcLTdP29a/Le2n5+hNF8QGWUbru8UZ6yxxSKPwVUP612OieJrbVlRS8W5jhXjOUY9cc8q2Ox/DNed6 + N4MeG+nm1sxeRbk7U3/I4HV2PZcev41zFj4i06y8btDpU0v9l3Eoi3sMYyeHHfCtyueeOepqI1Jxtz9T + pq4PD1eZYa94q/del+59EUVU0u6a902CeQASMuJAOzg4b9QaK6TxTy74pA24nmYnC3Svgdw8KqP1iasH + wFoVzdzp4hu7gwW8W5oVWTaCB95nPZRz16/Tr6z4s8PRa7p0kbRmQlCjoPvMucjb/tA8j8R3rwjUvDni + jRrO60+1a4udKkkBkFvkgkdN6feU+oPoOuAa5akbT57XPcwVb2mG+rKSi79ez3t5nfG/03x5bajo1lfS + hc4LAbS4HRwO6Z7H2zjivMH8M6hZeLY9Cmj/ANLE6R/IcjBwQw9sHNQ6Jb6zFqcU2lQ3YvIm+VoYyWU/ + l/OvTvBXgq8l1J9T1GQyXkhbe+/d5W7hiWHBkIJAA+7kk84FZXdZrT5noctPLYTammmtI9b/AOR6doHO + kJJ/DNLLMv8AuvIzD9CKK0Y0WKNY0UKigKoHYCiu8+THVUutLsr1xJPbq0gGBIMq4/4EMGiigCv/AGBp + x4kjnmX+7PcySr+TMRWikaRIEjRURRgKowBRRQA6iiigD//Z + + + + + /9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwg + JC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIy + MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAlACUDASIAAhEBAxEB/8QA + HwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIh + MUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVW + V1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXG + x8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQF + BgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAV + YnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOE + hYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq + 8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3yaaOCF5ZXVI0GWZjgAVzeo+K/s3MSRxJ2afJZvog/qQfaqfj + PXBZExjBEO0hT/FIckH/AICBn6sD2rzC41GSeRpJHLM3JJNd+DwTr+9J2Rz1q/s9Fueip4/2y7WuLZx/ + tWzRAfiHc/pXVaXrdtqaqFwkrLuC7gwYeqsOD/MdwK8l8aa5azWumouivpZVDhpUCeYMDhf7wHXJ9ayf + C3iQ2urQ2wuAIppAFJPEcnRX/Pg+oJFa1MB+69pD7n/wCY1/e5ZH0HRVbT7sX2nwXO3aZEBZf7p7j8Dk + UV5Z1HlnxN3xXMjkHb9qJJ9AYYgP1R68suL6SVtisVTPbqa+hfGvh1NZ06U7T8yBZCoyVwSVcDvtJOR3 + DGvANW0S90e58u6iIU8xyrykg9Vboa97Kq8HD2Tepw4mm+bmOt+JxdodJLf897gD6bY64WyhlmvYIoQT + K7qqAdyTgV1/jrxPp3ikaWmm21zF9mMhl85QNzOF6YJz92tTwL4Ku21GO8uomimA3QxsMNHn/low7Y/h + B5JwegrSlNYbBWqaS10CUfaVbrY9g0DnSgw+6887r/umVyv6EUVft4I7W2igiXbHGoRR6ADFFfOncSVl + Xvh6wvt5ZGjMnL+WRtc+rKcqT9RRRQBStvBmmWsvmRs6t6xRQwn/AL6jRT+tbltaW9nF5VvEsaZyQO59 + Se5ooovcCaiiigD/2Q== + + + + + /9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwg + JC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIy + MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAjACQDASIAAhEBAxEB/8QA + HwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIh + MUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVW + V1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXG + x8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQF + BgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAV + YnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOE + hYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq + 8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3m6uorO3aaZsIOOBkk9gB3J9K4/VvGTWzEeetv6RRqJJPxJ+V + fyP1qPxxrRs/Nwf9SFjjH/TRhlj+C4H/AAI1i+GNM0HxLoF1BLM66xku8jH5k54Kjuvr/wDqrGc3flju + ejhcLTdP29a/Le2n5+hNF8QGWUbru8UZ6yxxSKPwVUP612OieJrbVlRS8W5jhXjOUY9cc8q2Ox/DNed6 + N4MeG+nm1sxeRbk7U3/I4HV2PZcev41zFj4i06y8btDpU0v9l3Eoi3sMYyeHHfCtyueeOepqI1Jxtz9T + pq4PD1eZYa94q/del+59EUVU0u6a902CeQASMuJAOzg4b9QaK6TxTy74pA24nmYnC3Svgdw8KqP1iasH + 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 + MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAjACQDASIAAhEBAxEB/8QA + HwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIh + MUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVW + V1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXG + x8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQF + BgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAV + YnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOE + hYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq + 8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3m6uorO3aaZsIOOBkk9gB3J9K4/VvGTWzEeetv6RRqJJPxJ+V + fyP1qPxxrRs/Nwf9SFjjH/TRhlj+C4H/AAI1i+GNM0HxLoF1BLM66xku8jH5k54Kjuvr/wDqrGc3flju + ejhcLTdP29a/Le2n5+hNF8QGWUbru8UZ6yxxSKPwVUP612OieJrbVlRS8W5jhXjOUY9cc8q2Ox/DNed6 + N4MeG+nm1sxeRbk7U3/I4HV2PZcev41zFj4i06y8btDpU0v9l3Eoi3sMYyeHHfCtyueeOepqI1Jxtz9T + pq4PD1eZYa94q/del+59EUVU0u6a902CeQASMuJAOzg4b9QaK6TxTy74pA24nmYnC3Svgdw8KqP1iasH + wFoVzdzp4hu7gwW8W5oVWTaCB95nPZRz16/Tr6z4s8PRa7p0kbRmQlCjoPvMucjb/tA8j8R3rwjUvDni + jRrO60+1a4udKkkBkFvkgkdN6feU+oPoOuAa5akbT57XPcwVb2mG+rKSi79ez3t5nfG/03x5bajo1lfS + hc4LAbS4HRwO6Z7H2zjivMH8M6hZeLY9Cmj/ANLE6R/IcjBwQw9sHNQ6Jb6zFqcU2lQ3YvIm+VoYyWU/ + l/OvTvBXgq8l1J9T1GQyXkhbe+/d5W7hiWHBkIJAA+7kk84FZXdZrT5noctPLYTammmtI9b/AOR6doHO + kJJ/DNLLMv8AuvIzD9CKK0Y0WKNY0UKigKoHYCiu8+THVUutLsr1xJPbq0gGBIMq4/4EMGiigCv/AGBp + x4kjnmX+7PcySr+TMRWikaRIEjRURRgKowBRRQA6iiigD//Z + + + + + /9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwg + JC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIy + MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAjACQDASIAAhEBAxEB/8QA + HwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIh + MUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVW + V1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXG + x8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQF + BgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAV + YnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOE + hYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq + 8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3m6uorO3aaZsIOOBkk9gB3J9K4/VvGTWzEeetv6RRqJJPxJ+V + fyP1qPxxrRs/Nwf9SFjjH/TRhlj+C4H/AAI1i+GNM0HxLoF1BLM66xku8jH5k54Kjuvr/wDqrGc3flju + ejhcLTdP29a/Le2n5+hNF8QGWUbru8UZ6yxxSKPwVUP612OieJrbVlRS8W5jhXjOUY9cc8q2Ox/DNed6 + N4MeG+nm1sxeRbk7U3/I4HV2PZcev41zFj4i06y8btDpU0v9l3Eoi3sMYyeHHfCtyueeOepqI1Jxtz9T + pq4PD1eZYa94q/del+59EUVU0u6a902CeQASMuJAOzg4b9QaK6TxTy74pA24nmYnC3Svgdw8KqP1iasH + wFoVzdzp4hu7gwW8W5oVWTaCB95nPZRz16/Tr6z4s8PRa7p0kbRmQlCjoPvMucjb/tA8j8R3rwjUvDni + jRrO60+1a4udKkkBkFvkgkdN6feU+oPoOuAa5akbT57XPcwVb2mG+rKSi79ez3t5nfG/03x5bajo1lfS + hc4LAbS4HRwO6Z7H2zjivMH8M6hZeLY9Cmj/ANLE6R/IcjBwQw9sHNQ6Jb6zFqcU2lQ3YvIm+VoYyWU/ + l/OvTvBXgq8l1J9T1GQyXkhbe+/d5W7hiWHBkIJAA+7kk84FZXdZrT5noctPLYTammmtI9b/AOR6doHO + kJJ/DNLLMv8AuvIzD9CKK0Y0WKNY0UKigKoHYCiu8+THVUutLsr1xJPbq0gGBIMq4/4EMGiigCv/AGBp + x4kjnmX+7PcySr+TMRWikaRIEjRURRgKowBRRQA6iiigD//Z + + + + + AAABAAgAMDAAAAEACACoDgAAhgAAACAgAAABAAgAqAgAAC4PAAAYGAAAAQAIAMgGAADWFwAAEBAAAAEA + CABoBQAAnh4AADAwAAABACAAqCUAAAYkAAAgIAAAAQAgAKgQAACuSQAAGBgAAAEAIACICQAAVloAABAQ + AAABACAAaAQAAN5jAAAoAAAAMAAAAGAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC + CABJJBsASisjAGc0KAB3PC0AZzswAGdDOwB8QDEAL1JeAFxSUQBoS0QAbFNNAHZTSwBrWVYAclpWAHxf + WQB0Yl0AXGRpAFFteABfcHUAW3R9AGNmaQB7bGsAYmtxAGt3fAB2eHgAhkMyAIhEMwCGSz0Ajk4+AJRJ + NwCWSjgAnE06AKVSPQCGTkAAhVFDAIpQQQCFU0gAmFtMAIRcUwCsVkAAtFpDALxdRgCzXUkAimBVAIFh + WwCIY1oAl2BSAJtiVACUaV0Am2lcALJgTAC9YUkApGNTAKNrXQCrbV4AtmdTALFqVwC8aVQAsWtZALht + WgCHaWAAi21lAIFsaQCIbmgAlWthAIhwbQCZcWcAkXNrAJ5zaQCCdnQAinZ0AIR+fACKfXkAknhyAKhu + YACpdWgAv3lnAMViSgDIZEoAxGpTAMpqUgDBbloA0m1VANV1XgDMe2YAxnxqAMh9awDTfGYA3X9oAIaA + fwCNgH0AlIF7AJmDewClgHUAooJ5AKyIfAC0gXMAu4h4AMuBbgDFg3AAy4p2AM2LeQDUinMA3I98AMKS + fwDMk38A0ZJ8AOiZfwDzmX0A/5p8AEhzggBJf5EAYXmDAHB9gwBOiZwAV4WVAHyGigBtipUAUI2hAFeV + qwBanbMAZpSkAGmXpwBnm60AY56yAF2iuAB8oa8AZKS6AHWktAB4pLQAcaa4AGGqwwBorsYAZK/JAGmw + xwBmsssAaLTOAHWzyABqt9AAarnTAG6+2gBzv9gAb8LdAHLB3AB5x+AAdcnlAHvK5AB5zeoAfdLsAH3T + 8ACMh4YAkYWCAJeIggCWkI4AhZWbAJSUlACampoApImBAKyTjAC/kYUAvJOJALuYjwC+mpAAnqiqAKur + qwC4raoAurq6AMaPgQDGlYkAzZmMANOajADHm5AAyp+UAMChmQDappkA7aOHAOejiQD9oYUA9KGJAOOi + kgDmrJwA66yZAPSulgD4spgAxq6oAMe0rwDOsaoA3baqAN65rwDVvrcA272yANG/ugDks6UA6relAO26 + pgDotKgA672yAMbAvwDOwb0A0cO9AObBtwDjwbkAicnYAJjK0gClydAAic7iAIPQ5gCI0eMAgtPrAIjX + 7ACO2u0Amd3sAIba9ACR3vEAkN/4AI3i9gCH4PgAi+L6AJrl9QCW5/kAlev8AJrs+wCm7PkAovP9AKjx + /ACo+v8AuPj9AMbGxgDOw8AA3cjDANDQ0ADZ2dkA7M7GAOnZ1gDw2NIA9OLdANDg4wDI6/AAwvP6AMv1 + +wDF/f8Ayfz+ANP8/gDc/P4A7ejnAPXq5wDw6ugA5P7/AO3+/wDz8/MA+vTzAPT//wD9/v4A////AAAA + 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 + CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIIABARFgAkExMAHB0jACEhJQApIiQAMCstADIx + NAA5Oj8ARSMeAEwmHwBCKCUATzQvAGEwJgBxOCoAez0uAGc8MQBrRTsAdUAzAHFIPwB7Sz4APT1BAEJB + QwBMSUwAUEJAAE1OUQBRTVAAU1BSAFRVWQBmTUgAdEpBAH5OQgBoUEoAdVBHAGJTUQB/XVYAcVxYAHRi + XQBfYmUAVnR/AGRgYQBuYWAAbGxuAHZmZAB9bWwAZm90AHBvcABzcXEAhkMyAIlEMwCKSDcAhkk6AIpL + PACUSjcAlEs5AJtNOQCdUD0ApVI9AKhTPgCGTkIAh1pQAKZWQgCuV0EAp19OALJZQgC9XkYAv19IAIVj + XACQYlYAnWVXAJRkWQCYZVoAnWlcAK5gTgCyYU0AuGFLAKdiUQCrZlMAtmRRALZrWACMbmYAgWtoAJFr + YgCbbWIAgnBtAJpwZgCTd28Am3VrAJ14bgCNfnkAlXp1AJ99dACWfXgAqnRmAKJ0aACydWcAvH1uAKR7 + cACrfHEAxGJKAMZoUADJblYAxnFcAMh2YgDGfWsAhYB/AJqGfwCtgHQAp4d/AK2GegCpiX4AtIN0ALKG + egC4hXkAu4l8AMSDcwDHjX8AXXaAAF94ggBJf5EAWYWVAGuGjgBzgYYAe4SKAGWMmgB6jZYAdJKeAHmS + nABTkqYAW5SkAF+YqgBbn7YAYZapAGebrABlnrIAXqS7AGumugBuqr4AYqrCAGWxywBqsskAarfRAG65 + 0QB1u9EAbsDbAH3B1wBwwdwAesbcAHbH4AB1yeQAfMvkAH/Q5gB+1PAAioGBAIWLjQCIiYkAloeCAJeJ + hgCdiIMAl42LAI+PkACNlpkAjpmcAJeVlQCmiYAAqoyAAKaRiQC0kYUAo52bAIKlsACMq7AArKemAK2o + pwCxtrUAuLSzALm5uQDDj4IAx5GDAMWWigDQk4QA2JqIAMiilgDEo5sA0qKUAOmqlwDFqqMAxrGsAM+0 + rgDcsqYA27esANK9tQDbvbMA5bSiAOW3qwDhv7YAzcG9AOnDuQCJwtEAicnaAKnFyQCzwcMAodbfAIHN + 4QCF0+oAi9XoAI3Y7gCV3O0AnNztAIje9gCQ2/EArtrhAI3g+ACV4PMAmuHzAJDi+ACa7fsAs+XuAKDn + 9wCu5/UArer3AKHt+wCv7PkAtOv0AL3s9QC57fgApvP+AK/z/QC28fsAu/H6ALL4/QDGxcUAycXDAM3N + zQDcyMMA2tnZAO/WzwDx08sA69nUAPPb1QD24dwAw+XqANHl6ADC9PwAzf3+ANn2+gDz4+AA9OnmAPnx + 7wDk+/0A6/3+APb08wD79fMA9f7+AP39/QD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABoIHK0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcB + AhodBAAAAAAAAAAAAAAAAAAAAAAAAKVwc7hcMAgCAQEIrQAAAAAAAAAAAAAAAAAAAABrbrW5vsTpsBcB + BB0dHQEBMOgAAAAAAAAAAAAAp2+otr7A6Ojp5+sdAQ0AAAAAMAECMAAAAAAAAJ2muMHD6Ofn5+fo5+jo + mgEWdQAAAAAAAAEBrwAAAABfqL/o6Onn5+fp5+i6smEGAaT2XwAAAAAAAQGvAAAAVG2w5+fn5+i7urRp + ZGRlZAEBr/+4nQAAAAAAAa8AAABgqefou7eyaWdlZGVkZWRkAQGv/+xeAAAAAAABrwAASWNzaWVkZVBb + fJpIOTs/QUIDATDr/8KfAAAAAQGvAABYZWRlZGVDgIuNzcZVMjIyMw4BCK3/+F8AAAABAQAAAABHZGRk + Qz3c1db685AyMjIyMgsBFzDot1orAQQAAAAAAABNZGRBH/XkzuXVizIyMjIyMgsBAggICAEBAAAAAAAA + AABMZEEPe5CLiIVSOTo7QWRkZGQMGB0bIwAAAAAAAAAAAFFkQzcRJ3cuVmxBZGRkZGRkZWXF/vxjAAAA + AAAAAAAAAFNkZGRkZGROyMlROD9DZGRkZGb3/8VXAAAAAAAAAAAAAEpkZGRkZD6r+fKcPDY6QmRkZMH+ + 93QAAAAAAAAAAAAAAEBkZGRkOybV9f3xo0QyMztBaO7/71kAAAAAAAAAAAAAXWRkZGRBE5LS+v7105s8 + MjM5s/7+cgAAAAAwMAAAAAAAUzcpamQ4IYnM4f3/+dmcPDIz6v/tWQAAAAEIAAAAAAAABwEpZEMQHo2V + 2/n//d+qMzJx+/y0AAAAAQgAAAAAAAAYASlkT0s5FC6JlOD6+t2ANTW8/vBiAAABCAAAAAAAAB0BKUui + f34tFBkoj8/04pAkMkb7/p4AAAEIAAAAMOcAHQEpNK7MmM+PeILHj5jRkzAxMrewAAAAAQgAAAQCMAAd + ASkSoOXX5svL5fnQjpOMLDIxSZoAAAABCAAwAQEXrRoBKQAhytTX1Ob6+t6Mi30gMTExIgAAAAEILwEX + AQEcCAEpAAAqipaZ2OPal4SBJTQ1FSBFAAAAAQEBBAAABAUFASkAAABaen2Gh4N5dpsAAAAAAAAAAAAB + AQEAAAAAAQEBKQAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBMAAAAAAJAQEpAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAQkAAAAAAAAJAaEAAAAAAAAAAAAAAAAAAAAAAAAAAP/////////D////A///AA//8AAD/wADw/AA + A/HgAAHxwAAA+cAAAPmAAABxgAAAc8AAAAfgAAAP8AAAH/AAAB/4AAAP/AAAD/4AAAf+AAAHnwAAA5+A + AAOfgAABn4AAAZyAAAOYgAADkAgAA4AMAAOGDgD/jw///48P//+fj///KAAAABgAAAAwAAAAAQAIAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAggAMRoYACUlKQBWPToAYzIpAGYzKABzPjEAez8wAF9A + OgBmRT4Af0AxAHxCNAB/SDoAP0FFAEBBRQBLSUsAWlpcAGpXUwB0W1cAcV1YAHZdWQBlZGYAcGxsAHR0 + dgB6d3kAfXx9AIZDMgCIRDMAikU0AI5HNQCMSDcAh0k4AIFLPgCHSz0Akkg2AJZLOACZTDkAolE8AKdT + PgCoUz8AgU1AAI9ZTACUWEkAgl1VAIRdVACmVEAAsFhBALRaQwC2XEUAul1FAIBgWgCdZFUAmGZaAKxg + TgCyYk0AtGNPALhgSgC/YUoAr2hWAKNrXQCva1oAtWpXAIxoYACTamAAhHJuAJFzbACYd28AiXZwAJZ3 + cACSenQAmnpyAKBzaQCndWgAoXhuALR+cADCYUgAxWJKAMdkSwDGaVEAx2tUAMZ8agCUgHwApIB1AKmF + egCthHoAqYt/AMeEcwDGjX8AXXaAAF94gQBYe4gAZX+KAF+AjABdipoAdIGHAH+AgwB2iI8AaYmVAGyQ + ngB6k50AVpasAFiYrgBkkqEAY5+xAGWdsABfp74AdKq+AHKvwgBntM0AabbQAG250QBru9UAbrzVAHC6 + 0gB4xNoAfsneAH7N5QB4zOgAhoKFAIqHiACUiYYAn4qFAIGUnAChj4sApJCKALOUjACmmpYApZyZAIWq + tgCko6QApaSlAK+rqQCwq6oArLy8ALCwsgC+vr4AyZeHAMCYigDKmIoAypiMAMKckgDHnZIAzKCQAMam + ngDWoJMA2aSXAMWuqADHtK8AzLGpANWxpADcs6kAxbSwANW8tADTv7kA4a+gAOK2qwDnvLEA1sG5AO3H + vQCDzN8Ams7aALPKzwChy9IAqNLaAK7R2ACAzeMAgc/oAITS6QCH2O8AkdDgAJbe7QCE2fEAiNnwAJLc + 8QCO5PkAmOLxAJPn/ACp4/EAqOr3ALbn8QCx7/oApfD9ALD2/gC78PoAuPb9AMfHxwDKxMMAycbFAM3N + zQDfz8sA69/cAMXq8ADH8/oA0vX7ANb8/gDj4uEA9ObiAPLp5gD48O0A5fv+AOD9/wDq/P4A/Pf2APH9 + /gD2/v8A+fj4AP38+wD5/v8A/f39AEsAUABpAHAAhwCQAKUAsADEAM8A4QDwAPAR/wDyMf8A9FH/APZx + /wD3kf8A+bH/APvR/wD///8AAAAAABsALwAtAFAAPwBwAFIAkABjALAAdgDPAIgA8ACZEf8ApjH/ALRR + /wDCcf8Az5H/ANyx/wDr0f8A////AAAAAAAIAC8ADgBQABUAcAAbAJAAIQCwACYAzwAsAPAAPhH/AFgx + /wBxUf8AjHH/AKaR/wC/sf8A2tH/AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAALy8AAAAAAAAAAAAAAAA + AAAAAAAAAACCAwEDFwAAAAAAAAAAAAAAAAB9U4t8EQMBAYUAAAAAAAAAAAAAAABUiZuZvIcDAWBgDwEX + AAAAAAAAf1aPlpq7urq6vQ8DQwAAAA8BFwAAAEeKnry6urq6upiNPwGDjAAAAAABEAAAAFWIurq6lI5X + UE5OBQG8xUUAAABgEAAAPICQWFFPPTsxMk1OBQGF35EAAAAPEAAAOE5OTkxkanSBIh0dIwEQxMdFAAAB + FgAAADpOTSq4rcm1GR0dHQYBEIV+GgEPAAAAAEZNTQeldaBvFR0jJScdAgEBARgAAAAAAAA1TSQKXVlC + PkxNTU5NTpffnAAAAAAAAAAANk1NTU00wHklL01OTU/Gy0gAAAAAAAAAADlNTU0kocqiRB8mME2S0Z0A + AAAAAAAAAFJNTU0oX67MyqRBHB4uv89KAAAAELwAAABABBdMCGOowt/Ioy0cSdGfAABgAbwAAAAAARBN + MgtccrLMzassHL7PSwBgAbwAAAAAARA3e3czCVtzwbdrGzTOkwBgAbwAFoUAARAMtKewZmiqcaxwIRuV + AABgAbxgARAAARAUhrG2qcPQpm1pGxsrAABgAXgBAwEXARAAEmx2r7mzbmUTIA0pegBgAQEPAA8DARAA + AABhYmdeWgAAAAAAAABgAQMAAAABARAAAAAAAAAAAAAAAAAAAABgAQAAAAAAARYAAAAAAAAAAAAAAAAA + AAD///MA///BAP/wBwD/gAMA8ABxAMAAeQDAADkAgAA5AIAAGQDAAAMAwAAHAOAADwDwAAcA+AAHAPgA + AwCcAAMAHgABAB4AAQASAAMAAgADAABAAQAIcH8AHH//AD5//wAoAAAAEAAAACAAAAABAAgAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACCAAQERYAIRISACIaHAAbGyEAHB0jACUeIAAtKS0ALCwxADIx + NAB6PC4APDxAAE1MTwBTUFIAVVZaAF5cXgBtX10AcVtYAG5gXwB3YFsAemFcAGVlaQBqaWsAbmxtAGx3 + fAB2dXcAfXx+AIdDMgCCRjcAiEQzAIhFNQCZTDkAnE46AKBPPACBUEQAiFlOAJFURACbV0cAll5QAK5W + QAC4W0UAuVxFAI5mXgCba18ArWFOAL5hSgCgal0AjHFqAI90bwCKfHsAkHp1AK9vYAC6c2EApH92AMNh + SQDEYkoAx2RLAMZlTQDGa1QAxnVhAMWNfwBiiJYAYY2cAHyQlgBwk6AAXaO6AH6jrwB4tMQAeMniAIGB + gwCHhYcAi4iIAIqJjACejIgAg5eeAJKRkgCXlZUAkZqcAKGLhAClkIsAo5GNAKiQiACqlI4AtJGIALaW + jACllZAAgrC9AKelpwCtrq8Ap7O1ALOxsQDFoZgAwaWeAMalnQDPraQA1bOoANK4rQDGubUAxr69AM7B + vQC8w8QAiM7jAIzP4ACO1uYAntblAJ/d7gCD1/EAlN3xAKvf7ACu5/QAsur2ALTs9wC59v0Av/f9AMPC + wgDHx8cAzsPAANvZ2ADh0MwA8uXiAPfp5gDj9/oA5vf5AOH4/AD48/EA+/TzAP///wAAAAAALyYAAFBB + AABwWwAAkHQAALCOAADPqQAA8MMAAP/SEQD/2DEA/91RAP/kcQD/6pEA//CxAP/20QD///8AAAAAAC8U + AABQIgAAcDAAAJA+AACwTQAAz1sAAPBpAAD/eREA/4oxAP+dUQD/r3EA/8GRAP/SsQD/5dEA////AAAA + AAAvAwAAUAQAAHAGAACQCQAAsAoAAM8MAADwDgAA/yASAP8+MQD/XFEA/3pxAP+XkQD/trEA/9TRAP// + /wAAAAAALwAOAFAAFwBwACEAkAArALAANgDPAEAA8ABJAP8RWgD/MXAA/1GGAP9xnAD/kbIA/7HIAP/R + 3wD///8AAAAAAC8AIABQADYAcABMAJAAYgCwAHgAzwCOAPAApAD/EbMA/zG+AP9RxwD/cdEA/5HcAP+x + 5QD/0fAA////AAAAAAAsAC8ASwBQAGkAcACHAJAApQCwAMQAzwDhAPAA8BH/APIx/wD0Uf8A9nH/APeR + /wD5sf8A+9H/AP///wAAAAAAGwAvAC0AUAA/AHAAUgCQAGMAsAB2AM8AiADwAJkR/wCmMf8AtFH/AMJx + /wDPkf8A3LH/AOvR/wD///8AAAAAAAgALwAOAFAAFQBwABsAkAAhALAAJgDPACwA8AA+Ef8AWDH/AHFR + /wCMcf8AppH/AL+x/wDa0f8A////AAAAAAAAAAAAAAAAAABMWwAAAAAAAAAAAABTABoCDUYAAAAAAABW + VWBkWQcAAAYYAAAAUmF1dHRjXQhRAAAAAQAANnNiXj08OTkBdlQAAA8AADU7OElDMyAiA0h5AAABAAAs + OCZwb2ceHgsEEBEFAAAAAC0hGT8yKCo3OStYAAAAAAAALjg4T2UnKDc6eFwAAAAAAEo4OCVqe1okIT1+ + VgBGTQAAFQ4pE2Z8ek4fd18AD0cAAAAKNDESPm1yGy99AA9HABgACjBsaERpRUEcUAAPFwkCEAoAV2tx + bkIUHSMADwEAAAIKAAAAS0AAAAAAAA8WAAAPDAAAAAAAAAAAAAD/+QAA/6EAAPgZAADAHQAAgA0AAIAN + AACAAwAAwAcAAOADAADgAQAAMAEAADgBAAAoAQAAAgEAADOfAAAz/wAAKAAAADAAAABgAAAAAQAgAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAACWkI7/lpCO/5aQjv+WkI7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAEAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAlpCO/wACCP8AAgj/AAII/wACCP+WkI7/lpCO/5aQjv8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAGAAAADAAAABYAAAApAAAAMgAA + ACAAAAAGAAAAAAAAAAAAAAAAAAAAAJaQjv8AAgj/AAII/wACCP8AAgj/AAII/wACCP8AAgj/AAII/5aQ + jv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAANAAAAHgAAADYAAABRAAAAah0R + DomFTz+2wnJc0Ws9MI4AAAAqAAAAApaQjv+WkI7/AAII/wACCP8AAgj/AAII/wACCP+WkI7/AAAAAAAA + AAAAAAAAAAII/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAoAAAAXAAAALQAAAEoAAABtTTAnnKBi + T8rQf2bp/5p8//Shif/mrJz/5sG3/8BkTfMAAABnAAII/wACCP8AAgj/AAII/wACCP8AAgj/AAII/wAC + CP+WkI7/lpCO/5aQjv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAABwAAABAAAAAhAAAAPQAAAGA5JB2NglJDusV7 + ZeLzl3v6+6CF/+qsmv/ctqv/zsG9/8fHx//R0dH//////5aQjv8AAgj/AAII/wACCP8AAgj/AAII/wAC + CP8AAgj/AAII/wACCP8AAgj/AAII/5aQjv+WkI7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAALAAAAGwAAADAAAABFAAAAWgAAAHViQDSlrXBc0+iV + evX/o4X/7a2Z/9+2qf/Rv7r/x8fH/8fHx//Hx8f/x8fH/8fHx//x8fH/AAII/wACCP8AAgj/AAII/wAC + CP8AAAAAAAAAAAAAAAAAAAAAAAAAAAACCP8AAgj/AAII/wACCP+WkI7/lpCO/wAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAgAAAAUAAAAKQAAAEUAAABmUDctl5JjUsHGhW7gzopy7PSu + lv/mtaX/2Lyz/9W+t//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/9DQ0P/+/v7/AAII/wAC + CP8AAgj/lE070wAAAEgAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgj/AAII/wACCP8AAgj/lpCO/5aQ + jv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAALwAAAFcfFRKChV1OtriBa9vnoIX2+LKY/+q3 + pf/cvbL/zsPA/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/9nZ + 2f8AAgj/AAII/wACCP+WkI7/zGpR/zAYEooAAAAbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAII/wAC + CP8AAgj/AAII/5aQjv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAABLeD0ut799Zu7to4f/7bqm/9++ + sf/Rw73/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fH + x//Hx8f/uK2q/7yTif8AAgj/AAII/wACCP//////05qM/4hHN84AAABAAAAAAwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAACCP8AAgj/AAII/5aQjv8AAAAAAAAAAAAAAAAAAAAAAAAABQAAADxzOy24yH1r/5eC + ff+6urr/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fH + x//HtK//v5GF/795Z/+7alb/vF5H/wACCP8AAgj/AAII/5aQjv//////+vTz/8x4Y/ocDgp8AAAAFwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACCP8AAgj/AAII/5aQjv8AAAAAAAAAAAAAAAAAAAAAAAAAITAY + Eo3Sa1L6l5GP/6mpqf/Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8eu + qP/Hm5D/x4Jx/8dkS//HZEv/x2RL/8dkS//HZEv/x2RL/wACCP8AAgj/AAII/5aQjv///////////+Cx + pf+LSDfOAAAARQAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgj/AAII/5aQjv8AAAAAAAAAAAAA + AAAAAAAMAAAAW69YQue1gHP/lpaW/8PDw//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x66o/8eV + if/HfGr/x2pS/8dkS//HZEv/x2RL/8dkS//HZEv/x2RL/8dkS//HZEv/x2RL/wACCP8AAgj/AAII/5aQ + jv////////////Xq5//PalH/LRYRjwAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgj/AAII/5aQ + jv8AAAAAAAAAAAAAAAIAAAAvWi0hsMFuWv+Tk5P/ra2t/8fHx//Hx8f/xsC//8auqP/GlYn/xpWJ/8Z8 + av/GZEv/xmRL/8ZkS//GZEv/xmRL/8ZkS//GZEv/xmRL/8dkS//HZEv/x2RL/8dkS//HZEv/x2RL/wAC + CP8AAgj/AAII/5aQjv/8/Pz////////////appn/qFdC4gAAAFQAAAAKAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAgj/AAII/5aQjv8AAAAAAAAAAAAAAAoAAABZr1dB86CDe/+WkI7/wKGZ/8aPgf/GfGr/xmRL/8Zk + S//GZEv/xmRL/8ZkS//GZEv/qG5g/4p2dP+ReHT/omBQ/6dUP/+nVD//q1ZA/7ZcRf+2XEX/xmRL/8Zj + S//GY0v/xmNL/wACCP8AAgj/AAII/5aQjv+WkI7//v7+////////////03xm/1csIaIAAAAlAAAAAAAA + AAAAAAAAAAAAAAACCP8AAgj/AAII/5aQjv8AAAAAAAAAAAAAAA42GxRvv2BI/75pU//GZEv/xmRL/8Zk + S//GZEv/xmRL/8ZkS//GZEv/xmRL/7BsW/9mlKT/WZ20/1ibsf9hqcH/bbzW/3iktP+FU0j/iUQz/4lE + M/+JRDP/iUQz/4lEM/+USTf/mEs5/6NRPf8AAgj/AAII/wACCP+WkI7/+/v7////////////5sO6/6pX + Q+IAAABPAAAABwAAAAAAAAAAAAAAAAACCP8AAgj/AAII/5aQjv8AAAAAAAAAAAAAAAYAAABAfj8vyMZj + S//GY0v/xmNL/8ZjS//GY0v/xmNL/8ZjS//GY0v/tFpE/2mXp/9qt9D/Z7TN/2awyf+D0Ob/qvH8/5rq + +/9+yuH/gWFb/4lEM/+JRDP/iUQz/4lEM/+JRDP/iUQz/4lEM/8AAgj/AAII/wACCP+WkI7/lpCO//7+ + /v///////////8t/bPssFhGUAAAAIgAAAAEAAAAAAAII/wACCP8AAgj/AAII/wAAAAAAAAAAAAAAAAAA + AAAAAAARAAAAWYRCMtbFY0v/xWNL/8VjS//GY0v/xmNL/8ZjS//AYEj/dFtX/5He8f+W5/n/fdHr/4PT + 7P/F/f//9v///+f///+N4/f/caa4/4lEM/+JRDP/iUQz/4lEM/+JRDP/iUQz/4lEM/+JRDP/AAII/wAC + CP8AAgj/lpCO/5aQjv+WkI7//////+zOxv+zXEbnAAAAWAAAAAsAAgj/AAII/wACCP8AAgj/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAGurVkHuxWNL/8VjS//FY0v/xWNL/8VjS/+hUT3/allX/938 + ///r////muz7/4bW8f/I/P///f///8z+//+F3PX/ZbDJ/4lEM/+JRDP/iUQz/4lEM/+JRDP/iUQz/4lE + M/+JRDP/iUQz/wACCP8AAgj/AAII/wACCP+WkI7/lpCO/5aQjv+WkI7/lpCO/wACCP8AAgj/AAII/wAC + CP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAACUsFhCOvF5H+sVjSv/FY0r/xWNK/8Vj + Sv+DQjH/aEY//8jr8P/x////m+v6/3zM5/+Z4/P/qO/5/47i9f9wwNv/W5So/4hEM/+IRDP/iEQz/4hE + M/+JRDP/iUQz/4lEM/+JRDP/jEU0/5xNOv8AAgj/AAII/wACCP8AAgj/AAII/wACCP8AAgj/AAII/wAC + CP8AAgj/AAII/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAA5VywhssVj + Sv/FY0r/xWNK/8VjSv99Py//ZjMm/3B9g/+S3vD/e8zm/2ezzf9jq8T/aLPM/2Ksxf9Xma//cFpW/4hE + M/+IRDP/l0s4/5dLOP+fTzv/p1M+/7ZbRP/CYUj/xmNK/8ZjSv/GY0r/xmNK/wACCP8AAgj/AAII/wAC + CP8AAgj/AAII/wACCP8AAAAuAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAALAAAAUIVCMtTFY0r/xWNK/8VjSv+bTjr/ZjMm/2YzJv9ie4X/YKe//1qetf9Pi5//UI2h/1KA + kP+UaWD/xmNK/8ZjSv/GY0r/xmNK/8ZjSv/GY0r/xmNK/8ZjSv/GY0r/xmNK/8ZjSv/GY0r/xmNK/8Zj + Sv/NmYz/9vb2//7+/v//////79fR/7leSO8AAABhAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAFgAAAGmsVkDtxWNK/8VjSv/FY0r/lUs4/2s2KP9mMyb/XFJR/2lr + bv9cZGn/fF9Z/7tiS/+kgnj/rJSN/59PO/+6XUX/xmNK/8ZjSv/GY0r/xmNK/8ZjSv/GY0r/xmNK/8Zj + Sv/GY0r/xmNK/8ZjSv/IZEr/6NvY//z8/P///////////+Oikv9OJx6rAAAALgAAAAIAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAACIXCwiEslhD9sViSv/FYkr/xWJK/8Vj + Sv/FY0r/xWNK/8VjSv/FY0r/xWNK/8VjSv9/enX/zPP6/6XJ0P+EXFP/iEQz/59PO/+yWUL/xmNK/8Zj + Sv/GY0r/xmNK/8ZjSv/GY0r/xmNK/8ZjSv/GY0r/zXxn//Ly8v/+/v7///////Ti3f/GZU30AAAAZwAA + ABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAA0WSwhr8Vi + Sv/FYkr/xWJK/8ViSv/FYkr/xWJK/8ViSv/FY0r/xWNK/8VjSv9tU03/q+35//v////B8vr/hZWb/4hE + M/+IRDP/j0c1/6dTPv++X0f/xmNK/8ZjSv/GY0r/xmNK/8ZjSv/GY0r/xmNK/965r//8/Pz///////// + ///cj3z/cjosugAAADMAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAALAAAAToZCMtHEYkr/xWJK/8ViSv/FYkr/xWJK/8ViSv/FYkr/xWJK/8VjSv9mMyb/mN3r/8z1 + /P//////5P3//43K2P+BbGn/iEQz/4hEM/+IRDP/m006/7JZQv/GY0r/xmNK/8ZjSv/GY0r/xmNK/8x8 + Z//09PT//v7+///////w2NL/x2VN9QAAAHIAAAAWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAF+NRjXdxGJK/8ViSv/FYkr/xWJK/8ViSv/FYkr/xWJK/8Vi + Sv9rNSj/fYyO/4jb8//L9vz//f////X////M9vz/mMrS/3+Gi/+GSz3/iEQz/4hEM/+LRTT/l0s4/65X + Qf/CYUj/xmNK/8ZjSv/gwLn/+vr6////////////6LSo/5lNOtAAAABAAAAABQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABoAAAB1sllD9MRiSv/EYkr/xWJK/8Vi + Sv/FYkr/xWJK/8ViSv99Pi//ak9J/4vf+P+C1e7/yPj9//7/////////9P///7r1/f+I0eP/foWK/4ZL + Pf+IRDP/iEQz/4hEM/+LRTT/n087/7ZbRP/Ia1T/7efm//7+/v//////+/Xz/9p2Xv8AAAB2AAAAEwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAwWy0iqsRi + Sv/EYkr/xGJK/8ViSv/FYkr/xWJK/8ViSv+bTTr/ZjMm/3Wktf9+0+//gdPt/9H7/v/8//////////3/ + ///m////tPX9/4XF1v+AdHT/iEQz/4hEM/+IRDP/iEQz/4hEM/+USTf/yp+U//j4+P///////////+az + p/9uNyq/AAAAOAAAAAMAAAAAAAAAAAAAAAAAAAAAlpCO/5aQjv+WkI7/AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAKAAAAR2EwJMDEYkn/xGJK/5aQjv+WkI7/lpCO/8ViSv+/X0f/cjgq/2c7MP9upLf/dsnl/3/R + 6v+s7fr/5v7///7//////////f///+b+//+18/v/i8zb/4J3dv+IRDP/iEQz/4hEM/+IRDP/jk4+/93I + w//+/v7///////v18//Tc1v5HA4KeQAAABYAAAAAAAAAAAAAAAAAAgj/AAII/wACCP+WkI7/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAFaPRzXaAAII/wACCP8AAgj/lpCO/8ViSv/FYkr/rVZB/2cz + Jv9mOi//Z5ut/3HD3v92yOP/kN/z/9X7/v/7///////////////9////3v7//5vr+f98oa//hks9/4hE + M/+IRDP/iEQz/6x7bv/4+Pj////////////ptaj/jEc2zAAAAEIAAAAFAAAAAAAAAAAAAgj/AAII/wAC + CP+WkI7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAABwAAII/wACCP8AAgj/lpCO/8Vi + Sv/FYkr/xWJK/5ZKOP9nMyb/Zjku/2Sfs/9svNf/cMHc/4TT6/+28/z/7v////7//////////////9/+ + //+X6/z/eLDE/4ZLPf+IRDP/iEQz/4tFM//m29n//f39///////79fP/03Nb+jAYEowAAAAeAAAAAAAA + AAAAAgj/AAII/wACCP+WkI7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAqAAII/wAC + CP8AAgj/lpCO/8ViSv/FYkr/xWJK/8ViSv+nUz7/ikQz/2U5Lv9ia3H/Y52x/2q40/9zw93/jtrt/8z3 + /f/3//////////z////F/f//h+D4/3aktP+HQzL/iEQz/4hEM/+ncGP/9fX1//7+/v//////672y/65Y + Qt4AAABEAAAABQAAAAAAAgj/AAII/wACCP+WkI7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAHAAII/wACCP8AAgj/lpCO/8RiSf+5XEX/iHBt/5RpYP+nZlf/tVpE/6FQPP94PC3/ZzMn/2Bo + bf9gorf/aLXP/3XE3v+h6vf/4P7///n////U////mO/+/3XL5/97bW3/h0My/4hEM/+JRDP/zrGq//v7 + +////////////91/aP8AAABLAAAACQAAAAAAAgj/AAII/wACCP+WkI7/AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAII/wACCP8AAgj/lpCO/8RiSf+HaWD/ic7i/2Kpwf9gpr3/X6W8/22K + lf98bGr/bUQ7/0kkG/9KKyP/UW14/2Ksxf9quNH/iNfs/777/v+/////le7+/3jO6/9qpbn/h0My/4hE + M/+IRDP/lVhJ/+7p6P//////8vLy+y8lIpgAAAArAAAAAwAAAAAAAgj/AAII/wACCP+WkI7/AAAAAAAA + AAAAAAAAAAAAAJaQjv+WkI7/AAAAAAAAAAAAAAAAAAII/wACCP8AAgj/lpCO/6dTPv9qR0D/2Pn9/33O + 5/9zv9j/fMjh/4fV6/96yOH/XaG4/0FzhP8vUl7/S3+Q/3K3zP9mssv/Z7TN/4DR6P+Z7/3/ieH6/3XL + 5/9mssz/fVJJ/4dDMv+IRDP/iEQz/76akP/8/Pz/mpqa0gAAAEgAAAAHAAAAAAAAAAAAAgj/AAII/wAC + CP+WkI7/AAAAAAAAAAAAAAAAAAII/wACCP+WkI7/lpCO/wAAAAAAAAAAAAII/wACCP8AAgj/lpCO/3o9 + LfpoNCf/0ODj/7T2/v+F1/L/kN/4/7v+//+l8Pv/aK7G/12ht/95x+D/m+f3/9T6/P+a3u7/a7nT/2i0 + zv94yeX/ec3q/2/C3v9ircb/eVVN/4dDMv+HQzL/iEQz/4lEM//w6uj/YmJipAAAACAAAAAAAAAAAAAA + AAAAAgj/AAII/wACCP+WkI7/AAAAAAAAAAAAAgj/AAII/wACCP8AAgj/lpCO/wAAAAAAAAAAAAII/wAC + CP8AAgj/lpCO/zUaFLhoNCf/nqiq/+L///+V6/3/j+H7/7z+//+o8fz/dMDa/4PV7v+o8/3/4/////7/ + ///v/v//jNzx/2i1z/9ptc//br/a/2q51P9fnbL/hkMy/4dDMv+HQzL/h0My/4hEM/+7mI//AAAAiQAA + ABUAAAAAAAAAAAAAAAAAAgj/AAII/wACCP+WkI7/AAAAAAAAAAAAAgj/AAII/wACCP8AAgj/lpCO/5aQ + jv8AAAAAAAII/wACCP8AAgj/lpCO/wAAAE9AIBjNcFRN/8P1+/+i9v//iN36/5vs/f+W6P3/h9v3/6Dz + /v/S/////f/////////4////ou37/2q50/9gqcH/ZrPM/2Ksxf9rcnb/hkMy/4ZDMv+HQzL/h0My/4dD + Mv+JRDP/KRQPqgAAACgAAAABAAAAAAAAAAAAAgj/AAII/wACCP+WkI7/AAAAAAACCP8AAgj/AAII/wAC + CP8AAgj/AAII/5aQjv+WkI7/AAII/wACCP8AAgj/lpCO/wAAABIAAABfSiUb32x5f/+D2PH/ftTx/3zR + 7f+C1/P/i+L8/6j6///L////5v///+H///+3+P7/f9Tv/2Svyf9bn7b/XaO6/1yNnf+CRjf/hkMy/4ZD + Mv+GQzL/h0My/4dDMv+IRDP/czkq4wAAAEQAAAAIAAAAAAAAAAAAAgj/AAII/wACCP+WkI7/AAII/wAC + CP8AAgj/lpCO/wACCP8AAgj/AAII/wACCP+WkI7/AAII/wACCP8AAgj/lpCO/wAAAAAAAAAeGQwJhHA3 + KflhYGL/abDH/2/C3f90yeX/fdPw/4ri+f+W7fz/mu/8/47k+P96zur/arnU/1qetP9Uk6j/TIaZ/GJH + Qu5+Py/qfj8v6n8/L+h1OivhUikez1QqH8tqNSfIdjsstEwmHEoAAAAIAAAAAAAAAAAAAgj/AAII/wAC + CP8AAgj/AAII/wACCP8AAgj/AAAAAAAAAAAAAgj/AAII/wACCP+WkI7/AAII/wACCP8AAgj/lpCO/wAA + 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 + U/+pxcn/s8HD/4xuZ/+bTTn/rldB/75fR//FYkn/xmNK/8ZjSv/GY0r/yW5W//Hp5v/+/v7/6cO5/V0z + KKoAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkTCQdSqFM/68RiSv/EYkr/xGJK/8Ri + Sv/EYkr/plZC/4yrsP/g+f3/0eXo/4iIiP+ITT//lEo3/6RRPf+9Xkb/xmNK/8ZjSv/GY0r/3rKm//v7 + +//36eb/v3lo6wAAAEMAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkfDwtunk475sRi + Sv/EYkr/xGJK/8ViSv+pVD//dGJd/5bh9f/Y9vz/7/3+/8Pl6v+OmZz/hWNc/4hFNf+PRzX/plM+/7Va + Q//IdmL/69nU//7+/v/z29X/dDwusAAAACIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AB5QJx6ZxGJK/8RiSv/EYkr/xGJK/7NZQ/91QDP/fcHX/5Db8f/p/f7/+////9z3+/+u2uH/hImM/4ZO + Qf+IRDP/jUY0/5xOO//Flor/+/v7//78/P+vdmjiGAwJVQAAAAEAAAAAAAIIHE1LTcZ0cHD/lpCOVQAA + AAAAAAAAAAAAAgAAACVmMya5kkk4+2RgYf+FgH//w2FJ/5lMOf9oUEv/b6a6/4TT6v+57fj/9P7+//3/ + ///j+/7/s+Xu/4iKiv+GT0P/iEQz/4pIN//cyMP//v7+//HTy/50Qze3AAAAGQAAAAEAAghVAAII/zIx + NP+WkI5VAAAAAAAAAAAAAAAAAAAAAw8HBU4PCQvbAAII/2RgYf/EYkr/v19I/3s9Lv9mTUj/arLJ/3bH + 4P+u5/X/5vz+//7////3/v//tOv0/4KlsP+HRzf/iEQz/7KGev/39fT/+/Ty/86NffEVCghUAAAABwAC + CFUAAgj/MjE0/5aQjlUAAAAAAAAAAAAAAAAAAAAAAAAACwABBbQAAgj/ZGBh/8NhSf+2ZFH/sGBN/51Q + Pf9zST//Zm91/2imu/96xtz/vez1/+v8/v/q/v//oe37/3qRmv+GSDn/j009/8+0rv/9/f3/9uHc/35D + NLMAAAAcAAIIVQACCP8yMTT/lpCOVQAAAAAAAAAAAAAAAAAAAAAAAAABAAEGqwACCP9kYGH/tWJN/42W + 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 + + + \ No newline at end of file diff --git a/.svn/pristine/8e/8ed7590119a3f5b4d92cc513c978e55c50caf5ac.svn-base b/.svn/pristine/8e/8ed7590119a3f5b4d92cc513c978e55c50caf5ac.svn-base new file mode 100644 index 0000000..2d2e7dc --- /dev/null +++ b/.svn/pristine/8e/8ed7590119a3f5b4d92cc513c978e55c50caf5ac.svn-base @@ -0,0 +1,57 @@ +Imports System.IO +Imports System.Reflection +Module Globals + ''' + ''' Applikationsversion + ''' + ''' + Public Version As String = "1.0" + Public Versionsdatum As String = "1. Januar 2013" + + ''' + ''' Applikationsdaten + ''' + ''' + Public Applikationsdaten As DataTable + Public AppldataRow As Integer + + 'Public TTContextMenuStrip As New ContextMenuStrip + + + ''' + ''' Angemelderter Mitarbeiter + ''' + ''' + Public clsmitarbeiter As New DB.clsMitarbeiter + ''' + ''' Applikationsparameter + ''' + ''' + Public clsapplication As New DB.clsApplication + ''' + ''' DB-Verbindungsklasse + ''' + ''' + Public sConnectionString As String + Public conn As New DB.clsConnectionProvider + Public ConnectionFileName As String = "" + Public dbconn As New DB.DB_Connection + + Public SecurityDaten As New DataSet + Public Spaltendaten As New DataTable + Public ToolTipDaten As New DataSet + Public Set_ToolTips As Boolean = False + + + ''' + ''' Aktueller Applikationspfad + ''' + ''' + ''' + Public Function ApplicationPath() As String + Return Path.GetDirectoryName([Assembly].GetEntryAssembly().Location) + "\" + End Function + + Public WithEvents MyEventHanlder As New MyGenericEventHandler + +End Module diff --git a/.svn/pristine/8f/8fea18814dd364399178028992cf3b5ca25cce75.svn-base b/.svn/pristine/8f/8fea18814dd364399178028992cf3b5ca25cce75.svn-base new file mode 100644 index 0000000..d685f9e --- /dev/null +++ b/.svn/pristine/8f/8fea18814dd364399178028992cf3b5ca25cce75.svn-base @@ -0,0 +1,2163 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + 126, 17 + + + + + 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 + AAAAAAAHeLdzE0NSf4+P93iP/4+P////coAAAAAAAAAAAAAAAAAHiHd3NDUo//+Hf/j4//+Pj/h1cAAA + AAAAAAAAAAAAAAAHi3lxJTGPj4eI//+Pj///j3KAAAAAAAAAAAAAAAAAAAB4iHdzU3j/h///j//4/4/4 + dXAAAAAAAAAAAAAAAAAAAH+It5Mxd/h/j4//j/////hygAAAAAAAAAAAAAAAAAAAePiIg3Ewj4///4// + /4+P+HGAAAAAAAAAAAAAAAAAAAB/+P//j4cY/4////j////4cnAAAAAAAAAAAAAAAAAAAI+P+Pj4+Pj/ + /4/4//////h1gAAAAAAAAAAAAAAAAAAAiP+P//////j/////////+HCAAAAAAAAAAAAAAAAAAAB/j//4 + /4/4///////////4cwAAAAAAAAAAAAAAAAAAAI/4+P////////////////h0AAAAAAAAAAAAAAAAAAAA + iP//+Pj/////////////+HMAAAAAAAAAAAAAAAAAAACPj4//////////////////VgAAAAAAAAAAAAAA + AAAACI////////////////////hzAAAAAAAAAAAAAAAAAAAHZ4//////////////////+HUAAAAAAAAA + AAAAAAAAAAd2YHeP///////////////4JwAAAAAAAAAAAAAAAAAACH52ZiR3j/////////////gXAAAA + AAAAAAAAAAAAAAAAd3joZ2Zgd4//////////+GcAAAAAAAAAAAAAAAAAAAAAB3d+hmdmAleP///////4 + UwAAAAAAAAAAAAAAAAAAAAAAAId3jodnZmB4j/////glAAAAAAAAAAAAAAAAAAAAAAAAAAh3fo53ZwYG + WI//+DcAAAAAAAAAAAAAAAAAAAAAAAAAAAAHd46OhnYkIHiIZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + d3fo6OdmYAcHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACHd3jod2dgIAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAd36OjgdwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB3d3YHAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAId3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////////////////////////// + ///////j/////////gH////////wAf///////4AB///////8AAH//////+AAAf/////+AAAB+H////AA + AAHwD///gAAAAfAH//4AAAAB4AH//AAAAAHgAP/8AAAAAcAAf/wAAAABwAAf/AAAAAGAAB/8AAAAAcAA + D/wAAAAB4AAD/AAAAAHgAAH4AAAAAfAAAHgAAAAB/AAAOAAAAAH+AAAYAAAAAf+AAAAAAAAB/+AAAAAA + AAH//AAAAAAAAf/+AAAAAAAB//+AAAAAAAH//8AAAAAAAf//8AAAAAAB///8AAAAAAH///4AAAAAAf// + /4AAAAAB////4AAAAAH////wAAAAAf////AAAAAB////8AAAAAH////wAAAAAf////AAAAAB////8AAA + AAH////wAAAAA/////AAAAAD////8AAAAAP////wAAAAA////+AAAAAD////4AAAAAP////gAAAAA/// + /+AAAAAD////8AAAAAP////+AAAAA//////AAAAD//////gAAAP//////4AAA///////8AAD///////+ + AAP////////gA/////////wD/////////4f//////////////////////////////////////////ygA + AAAwAAAAYAAAAAEABAAAAAAAAAYAAAAAAAAAAAAAEAAAABAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAA + gACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD///8AAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAHcAAAAAAAAAAAAAAAAAAAAAAAAAAAAHdndwAAAAAAAAAAAAAAAAAAAAAAAA + B3dHF3ZwAAAAAAAAAAAAAAAAAAAAAAB3d3c3Z4FwAAAAAAAAAAAAAAAAAAAAB3d3iIdnGIdwAAAHAAAA + AAAAAAAAAAB3d4j4/3cXePBwAAB1N3AAAAAAAAAAB3d4j4+PiHZ3f4dwAAdzYTdwAAAAAAAHd4+P+P+P + h3F3iIdwAHd1MhJXAAAAAAB4+Pj4+Pj492d3j4BwAHNTEzEydwAAAAB/j4+Pj4+PcXV4+IdwB4dxMTIT + B3AAAAB4+Pj/j4+Pd3J4/4NwCI9zMzEzE3gAAAB/j/j4+P+IclePj4RwAHu3MxMSMFJwAAB/j4+Pj4+H + d3f4+IdwAAe7tzMzE2E3AACI+Pj4+PiHB3iP+INwAAB7u7MTNTQ0dwB/j4/4/4+Hd3/4/4VwAAAIe7uz + U0NDB3h/j4+Pj490d/j4+IJwAAAAB3u4NzFzQwd/+Pj4+PhzePj/j4VwAAAAAAd4iDU0M1J4+P+P+Ph3 + f4/4+INwAAAAAAAHeItTUHF4j4+Pj4d3iP+P+IZwAAAAAAAAB3h3NxYWiP+Pj/d4//j4/4FwAAAAAAAA + AAeIMzFjF4+P+Id/j4//j3aAAAAAAAAAAAB3iHU1JTj/j4ePj/j4/4NwAAAAAAAAAAAAd4tTUlf4+Hf/ + /4//+IVwAAAAAAAAAAAACHeDc1N/+H+Pj//4/3dwAAAAAAAAAAAAAAeINzF4+I//+Pj//3NwAAAAAAAA + AAAAAAf4h3MTiPj4///4/3dwAAAAAAAAAAAAAAf/j4+Hf///+P///3dwAAAAAAAAAAAAAAj4//j4/4/4 + /////3dwAAAAAAAAAAAAAAf4+P///////////3NwAAAAAAAAAAAAAAj///+Pj////////3WAAAAAAAAA + AAAAAHj4+P///////////4IAAAAAAAAAAAAAAIj//////////////3UAAAAAAAAAAAAAAHZ4//////// + /////3cAAAAAAAAAAAAAAIdmB3j//////////3MAAAAAAAAAAAAAAAd452cHeP///////3QAAAAAAAAA + AAAAAAAHd36Gdgd4/////3MAAAAAAAAAAAAAAAAAAHd36OZiR3iP/3cAAAAAAAAAAAAAAAAAAAAId3eO + d2ZneHEAAAAAAAAAAAAAAAAAAAAAAAd3fohmZgZwAAAAAAAAAAAAAAAAAAAAAAAAh3Z45wcAAAAAAAAA + AAAAAAAAAAAAAAAAAAh3d2cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB3AAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////// + ///////////////////////////////z/////////4H////////4Af///////8AB///////+AAH///v/ + //AAAf//8H//gAAB///gH/4AAAH//8AP/AAAAf//wAP8AAAB//+AAfwAAAH//4AA/AAAAf//wAB8AAAB + ///gADwAAAH///AADAAAAf//+AAAAAAB///+AAAAAAH///+AAAAAAf///+AAAAAB////+AAAAAH////+ + AAAAAf////8AAAAB/////8AAAAH/////4AAAAf/////4AAAB//////gAAAH/////+AAAAf/////4AAAB + //////gAAAH/////+AAAAf/////wAAAD//////AAAAP/////8AAAA//////wAAAD//////gAAAP///// + /gAAA///////wAAD///////4AAP///////+AAf////////AD/////////gP/////////5/////////// + ////////////////////////KAAAACAAAABAAAAAAQAEAAAAAACAAgAAAAAAAAAAAAAQAAAAEAAAAAAA + AAAAAIAAAIAAAACAgACAAAAAgACAAICAAACAgIAAwMDAAAAA/wAA/wAAAP//AP8AAAD/AP8A//8AAP// + /wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAd4AAAAAAAAAAAAAA + AAAHdhdAAAAAAAAAAAAAAAB3dzV4MAAAAAAAAAAAAAd3ePd2eEAAdwdwAAAAAHd4j4+Hd4gwAHcSFwAA + AAeI+Pj4g1eIQAc1MzBwAAAIj4/4+HZ49zAIgxMTBwAAePj4+Ph3ePhAB3szMTMIAIiPj4+HV4+IMAB7 + szMWEnB4+Pj49yf4+EAACHuzcWEHeP+P+Id/j4gwAAAHeLcTcA+Pj493iP/3UAAAAAd4dxYY+Pj4d4/4 + 92AAAAAAB3gxcHj/j3j/j/cwAAAAAAAHhzcHj4iI+Pj4UAAAAAAAAHeDc3j3j///iCAAAAAAAAAIeHE3 + +P+Pj/dwAAAAAAAAAH+Ih4j////3UAAAAAAAAACP//j/////9zAAAAAAAAAIiPj///////dwAAAAAAAA + B4/////////3cAAAAAAAAAd4////////9zAAAAAAAAAId2eI//////dwAAAAAAAAAHd2dmd4///3UAAA + AAAAAAAACHd3dmd493AAAAAAAAAAAAAAB3d+dmYwAAAAAAAAAAAAAAAAd3aAcAAAAAAAAAAAAAAAAAAI + dwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////////8f///4H///wB///gAcH/ + AAHA/gABgH4AAYA8AAGADAABwAQAAeAAAAH4AAAB/gAAAf+AAAH/4AAB//AAAf/4AAH//AAB//wAAf/4 + AAH/+AAB//gAAf/4AAH//AAB//+AAf//+AH///8B////4///////////KAAAABoAAAA0AAAAAQAEAAAA + AAAIAgAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAIAAAIAAAACAgACAAAAAgACAAICAAACAgIAAwMDAAAAA + /wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAA + AAAAAAAAAAAHcAcAAAAAAAAAAAAAAABzd3d3AAAAAHcAAAAAAHd3j4R4dwAAAAdwJwAAAHd4+PiDeHcA + AAAHUxA4AAB/+Pj4R4h3AAAACDMzAIAAiI+PiHePdwAAAAizMTcHAI/4/4d3+HcAAAAAe7MXAWCI+PiH + f493AAAAAAB7czQwj4+Pd4j4NwAAAAAAAIg1NH+Pj3f4/3cAAAAAAAAHhzNX+Ph4//h3AAAAAAAAAAh3 + M3j4j4/4dwAAAAAAAAAAB3cYiPj4/3cAAAAAAAAAAAiIc4j///hnAAAAAAAAAAAIj/+P////dwAAAAAA + AAAACPj//////1gAAAAAAAAAAAf///////83AAAAAAAAAAAHeI//////aAAAAAAAAAAACHZ2eI///xcA + AAAAAAAAAAAAh3Z2eI9oAAAAAAAAAAAAAAAIhodnBwAAAAAAAAAAAAAAAAAHd2AAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////9////4P///wD/P/AA/g/AAP4DwAD+AcAA/gDAAP8AQ + AD/wAAA//AAAP/4AAD//gAA//+AAP//gAD//4AA//+AAP//gAD//4AA//+AAP//8AD///4A////4f/// + ////////KAAAABgAAAAwAAAAAQAEAAAAAACAAQAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAIAAAIAAAACA + gACAAAAAgACAAICAAACAgIAAwMDAAAAA/wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAHUhcAAAAAAAAAAHd3Z3cANoAAAAB3d4+BeHcHcQcAAAd4+P93 + eHcDUzAwAAf4/4h3iHcIMxMEAAj4+Phnj3cIuzMzBwiPj4d4+HcAB7NxcFj4+Pd/+HcAAAh3NSiPj4eI + +HcAAACHc3GI+If/j3cAAAAAh3NX/3+P+HcAAAAAAHcziI/4/0gAAAAAAH+HePj//zcAAAAAAIj4//// + /3gAAAAAAH///////wAAAAAAAH///////3AAAAAAAHdnj////wAAAAAAAAB3dmiP/3AAAAAAAAAACHd3 + ZwAAAAAAAAAAAAB3d2AAAAAAAAAAAAAAB4AAAAAAAAAAAAAAAAD////////9////4P///wD/x/AA/4Pg + AP+B4AD/gOAA/4AgAP/gAAD/+AAA//wAAP//AAD//8AA///AAP//wAD//8AB///AAf//wAH///AB///+ + Af///8H////5//////8oAAAAFgAAACwAAAABAAQAAAAAAGABAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAA + gAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAAdzB3AAAAAAAAAAd3eHd3AAcScAAAB3j4h3h3AANT + BgAAiPj/h3h3AIgxMxAAiPj4d393AAezMWCAj4+PZ4iHAACDszUHiP+IeP93AAAAh3MwiPj3f493AAAA + AIdxeI/3+P93AAAAAAh3MYiIj/h3AAAAAAAHdziP+P93AAAAAAAI+IeP//93AAAAAAAH+P////93AAAA + AAAI//////93AAAAAAAHeP////93AAAAAAAAd2d4//93AAAAAAAAAHh3Z3h3AAAAAAAAAAAAeGcIAAAA + AAAAAAAAAAhwAAAAAAAAAAAAAAAAAP////////f///8D///4A/+H4AP/g8AD/wHAA/+AQAP/wAAD//AA + A//8AAP//gAD//+AA///gAP//4AD//+AA///gAP//8AD///wA////wP////n//////8oAAAAFAAAACgA + AAABAAQAAAAAAEABAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAICA + gADAwMAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAB3AAAAAA + AAAAAAB3Q3cAAABwAAAAB3eId3cAAAcQcAAHePj3eHcAAHczBgAIj4+HeIcAAAgxMSgI+PiHf3cAAAi7 + M1B4j493+IcAAAAIdzUn+Ph4j3cAAAAACHN1iPh//3cAAAAAAAhzGPiI+IcAAAAAAAB4c4j//3cAAAAA + AAB/iI///3cAAAAAAACP/////3gAAAAAAAB4/////3cAAAAAAACGd4///3cAAAAAAAAAh3Z3j3cAAAAA + AAAAAAB3dmcAAAAAAAAAAAAAB3AAAAAAAAAAAAAAAAAAAP///////5////wP/9/gD/+HgA//A4AP/4CA + D/+AAA//4AAP//gAD//+AA///wAP//8AD///AA///wAP//8AD///wA////wP////n///////KAAAABAA + AAAgAAAAAQAEAAAAAADAAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAIAAAIAAAACAgACAAAAAgACAAICA + AACAgIAAwMDAAAAA/wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAAAAAAAAAAAAAAAAAAAAd3AAAAAAB3 + d3cFJwAId/h3h3cxMAf4+HeHCzMUCI+IeIcAg3MH+PePhwAAdzePh/iHAAAIdziI+IcAAAAId4//hwAA + AAj///+HAAAAiP///4cAAAAHaI//hwAAAAAHd2d3AAAAAAAAh3gAAAAAAAAAAP//////+P///8D//44A + //8GAP//ggD//8AA///wAP//+AD///4A///+AP///AD///4A////gP////D///////+JUE5HDQoaCgAA + AA1JSERSAAABAAAAAQAIBgAAAFxyqGYAACAASURBVHic7b15eFzlmad9l0pSqbSUatEuqyRbXsALGAwN + GDBbAIcmAUIncccTO+k2YDqkM9PJl68nmcn0TDKT/tKm88XBExN8dcZ2m3aTIcv0hCEhQCBusmDAJjab + V8kLFrJUe9U5tZ35o3RKVVLt6ynpva+LC7nqLG+V9Ps9z/u8ywGBQCAQCAQCgUAgEAgEAoFAIBAIBAKB + QCAQCAQCgUAgEAgEAoFAIBAIBAKBQCAQCAQCgUCgUXTVboBAIMiffXt2KV6/xLGxMQ69fQyAdquFOy5b + wUNbH8lZ18IABIIaQBX8mbPneXvSQcON6+DUSU4c+FdGHA4ALM1GNt20FrPZjNlsZuOmLVn1LQxAINAo + quiPnzvHyQknDTeuIyoH8DU1YzKZkM+d48yPfxw3AIDLBge5yt6H1Wqlv68nqwnUl/1TCASCnFFF/8bp + EX7029cw33orvnYbkk6Hob+fOqC3qQmAZr8Pt8kECQbw5sgIYTnAtUugpbkp6/1EBiAQVJFEwTtNZnr7 + enC3mvCFwnh0Otr7+2lumi1k7/HjnHjhedwnT+LwB5Lea63X86HFgwwuXMhAby+bHvhcWp2LDEAgqDCJ + ov+Xs2P09vXwwfBS5LY2dCYTurY2WpuaaJ1xXqINnHM4GDlyNOX1veEIb4w5MFksmM3mjG0RBiAQVABV + 9L9/912eG59EP7gQh96A3NZGXX8/1hRRPnsCn54JjxuXR8bnl9i3Z5eSrhYgDEAgKAOJgnfKYX456aKj + txfH8stobG2lrrsH6+BQ0jm5CL4xFALA2NCQ9Vif14XH7SZis6Q9RhiAQFAiEkX/a38QqON07wAAjUsv + xdHZiTXh+HwEny/ecISJiQn6ervwBAJpjxMGIBAUQVz0R9/i1/4gbRYrp3sH6LIPoWtrY+FUap9POp9N + 9FFJwpVQ+U+HLuRDkoL4/FLaY4QBCAR5oor+F28enRb9wBBd9iHcbW0sXLSkpIIH8LrdRLwefKEwQa8X + 18RE1nPcUpRgwAfA/if3Khs+9elZdQBhAAJBFhJTe9PlqzkYhXqLFefQQhrtQ4Q7O7n00pUgyzldL1fB + A3HRuxyOJOFPjoxkvcaF+kaGpBChoEQknLptwgAEghQkDtUdDUUIWay8a+1ioKsXXVsb1vb2mOghJvwM + 4s9F8FFJwh8MJkd5hwNZlpG8XgB8Tmden8EbjgAQCYbTHiMMQCCYYt+eXYrT6eQP58c4GNVRb7FyZNzB + QO8ALZ2drFYFD1mjfb5R3uFwZhW87HLFfw55PLl+rNg90rRXGIBg3pIoeOMll3AwCpgsHHEFsA8vxdre + nrPoS5HWZxK8iir8iJS+sKfSWq+P/6w3GFIeIwxAMK9QRX/K4eJoKMJkYzNHWkxJqf3qKxNOKEL0aloP + 4FbFniHKpxJ8WJJQpu6TKPqw35/1s/aEY/fWN6aXuTAAwZxn355dyrnzF5iIwMGojkBjM0fqAtOp/czo + WIToi0nrIVnwMC36TIK3NBtnrQdQaWmoA0BfLzIAwTxh355dynmHk4teCX1PZ0z0ZitHxiemU/uZJxUo + +lKm9ZB/lL9scBAAx4xRgcXECoAY2mhobCLVECAIAxDMERKj/NFQhJM+mfGGRrp6B6ZT+5knFSB6VfCQ + W5QvteBb6/XY2ky0m0ysWbUSmx4OHX4zKQtordczbHAwHjFjaNBhaNCnvZ4wAEHNkij6kSi8GdXhsliw + LF1Ox9XtdMw8IYPgFVnGUFc36/XEfnwp0vpiBL94aID2tnYW2cwMDi3mjjvu4MiRIxw7McIa4LUPLuLw + B+g16iEKSkMLujo99RnWDQgDENQMquC9LS2Em5tjkX5K9P0rLqfjSkPOolcSXjfU1UGC+ItN64sVfENj + IwADnV2sWbWSRTYzK1auZu3atWnPa2ltZw1wzOVleYcJ6fwYAPrZnpaEMACBpkkU/agkc3D0HP6VqzBP + FfA6DLmJXknxmqGuDq/bjZrs5zoJpxSFu0RU0ScKHsgq+pm0tLazurUd5NznCAgDEGgOVfQRq4WRKLw2 + JXrLpavovfbG2SfkKHiA0JSgAUJUpx9vaTYCsQjfbrWwuL8fmx5uue1O1qxZk/X8UiIMQFB1EgUPxCO9 + NLSYhcuXY7/uRkIzBZ2j6BMFD4Wn9eUQ/Pq7PsrKlSuznF1ehAEIqkKi6EclmR+dOE3X0GJMJhO2BQuw + 3/ShuOjj4p8h8JmCnyl2mJ3Wq4IPBoOEEsRbyn58OsHfd/8nGR4eznp+JREGIKgY+5/cq4yOjswS/cLl + y7nhpg8BJIu+BIKvRD8+neD/zaY/o6enJ+v51UQYgKCs7NuzSxmJgi4oc8rr5olDR7j03ntniT5VlM9F + 8JCc1nsmJnIenkuV1ucreIBrFy/C1NrMnz/wMBZL+u23tIgwAEFJUWfhhY0xkYxKMv9qsmHq6qNneJh7 + Zoq+SMFXoh+vVulttth4w61LF2NqbeYL/+7/oSGHvfm0jDAAQdEkiv68w8n3fnOQFZ/+NIsXLwZg6dRx + 2aJ8OsG7p7a/KiatL4Xgv/Tlr2Q8rxYRBiAoCHXDjMk6HW+eucAP/3AkLvp71n8EKF7wQMa0vhyCb66r + i6f0c1HwMxEGIMgJVfAAk3U6joYiHDZ30N7fT/dNXdzzJx8HZoteFXxQUdD5fCmvPVPwxab1ufbjTYYm + 2k0mLu/vY+mSRTzw4F9kPW+uIQxAkJZE0f/6rXd5yeFm9T330DM1lJWU2s+I8jMFn7gULZPgsw3PlaJw + N58FPxNhAIIk0or+lttZP3VMqiifTvCeaBQlQcQz+/GFjMcXIvir11zBJzZszO1LmEcIA5jnJAreLUv8 + 2h/kjJraT4l+ZsVeFTwQF72OmNiBJMFD5n48JIu+2Ak4A51dXNph4fq1a4Xgc0AYwDxEFX04KPGj377G + MUMTKz/2MfoHBjDKMkuZLXp5Soy5Cr4S/XiIbYhxaYeFP777Hu64446czhFMIwxgnpAo+v0vvMT73X0s + vftu7Hd+BPvUMQG3O63gvVNih9mCr1RaD9OC/+SGjXmtlBOkRhjAHGX/k3uVoM+NJxDA55f4wTO/RFqx + gkvWr2fxnR9hMclRPl/BB0KhnIfnYPZutvkIfmFbGw8++GDFV8rNB4QBzDEe3/mYEg5KbP/Jv1C3ahWX + rF9Pm8nEqvs+Pj3PfmrDi0TRFyN4yN6Pz1XwHxoaoKW1nc9//vMsW7Ys/rpen35bK0HhCAOYA+x/cq/i + crvY/cLL7B13cNlH7uaaOz+SUfCeHAQf9HpzTutT7Vefi+hVwX/5y1+mr6+POr2eOp0OvV5PXYotugSl + RRhAjbNvzy7lBWsnjSsv58q16+Kvh9xuJEAnSVkF70qYalvMNNtcBH/jFauxhsL8h7/5G8ytrdTXx/4E + DQaDEHwVEAZQw/z0N79RfmW10jjVj1cFD+BNqKynEzxQ9rT+xitie/F+7+vfAMAwJfiWlhYheA0gDKCG + eUlR8H7wAZBe8B6djmgawWdK64sRfF8dfOVr/xmAxqm+e60tk50vCAOoUfY8sUM54HbHi3eq6GcKPp+0 + Pt9KvaXZyMplyxgyGvnLv/oiAK1NTbH3hOBrAmEANYonEMDtcMQEPzkZfz2T4CF1lM9H8Gu6Olg0vJjP + PriVer2epvp66uvrheBrFGEANcofGpvjfflypfWq4Fdffhl33/9JGgCj0UhDQwOdnZ2l/kiCKiAMoEY5 + 5k491bYYwQ9aLCxpb2X15Zex/q6PUm800mowYDAYsNlsScdGo1FRxJsDCAOoUa4KBXlhcgJvnT5J9Pn2 + 4wctFj527x9z+7U30kgswre0tMwSfCQSmTUZJzpVfxBGUD2Gh4e5//77efrppws6XxhAjdLXpKfB5cY7 + NXU3H8Fv+ehdrLzqWgAMjY30dXTMEnwqIpHYE2eFEWgHo9FIX19fwecLA6hR6hsamJi4iJzmufAqquB7 + Lo/No++rr6e/v5/29vak48LhcHxSTjaEEcwdhAHUKPWNTdyw/BIOvPVO/LHQEFs888m776ZrateedIJP + RTgcjl1bGMG8QRhAjdLa3MRgu4nbP/95zE3G6ddbW1m0aBEtLS0FXzufbACEEdQywgBqlI2btui+9bff + UNasWElXV1fW4/MVdb7ZAKQuFMK0EYAwA60hfhs1jKEhvyWy4XA4LuxynROJROIZQSqi0WiSIQiqizCA + Gqa+wKfS5GsChZwjjKA2EAZQw9Q3xubdFyrocmcDMG0E6cxAGEF1EQZQwxj1On7/m5eYnJwsyASgcuYB + mbMCYQTVQRhADaM3GDh9+jSBQGwYsFBhVvq8XIxAmEFlEAZQw2zctEXXMNUNSKSYbKAS9QEV0T2oPsIA + 5gCNDbOH6goVs3puIecUej8QWUG1EAZQ47Q0N6HT6dK+X41soFxGACIrKDViItA8oJBJPcWeW8w9gSQT + EJOLyof45uYRxUTmYjOJSmQFIjPIH5EBzDOqkQ2U6vxsWQGIzCBfxDc0Tyk2G6jm+ZA9KwCRGeSCMIAa + pz7FMGCuVFvIpTQCYQbT6PR6/K1LAIhk+bjCAARFi7AU51fLDOaiISj1zRiMsSXiSjRCeGpfyFSIGsAc + oE5f/K+x2v37Ul8nl3qBykwTmCu1A4/HgxxSkEPpDXFufNJ5jFGv48SJE/im9gYsllJF81K0oxTXgdwz + A5W5kCG0NNRhaqpDF868R6QwgBpHbzDw2u8P4Ji8qCnxlbot1TIDmG0ItWIMA/UX8UohQkGJfXt2KamO + EQZQ46jrAXR10ylzqcRSSiPQijElkmgG+RiCSq2YgiQFiUw9Kn4mogYwRylVX1q9VqmuA6WrE5TiWonM + NIFstYNUZDKBatQW/D4foXCYQCRlAiAMYC7Q0px+KFBr4tXytWZSCkNIJJcModQmEZAkwuFg2veFAcwD + tCq4clyrVNdLRbpuQrHGkEgpuxGSUg86CIcjhINSymOEAcwBcp0MVKpsQL0WaM8IEq9XymtmohLGUAyZ + JgMJA5hnlENsWhZupc0gkUyFRa2YgzCAeYpWs4FKXLPU1y2EfEcdymUYwgDmMeVKvbVuBInXVam2IWSj + kGHKXND2pxZUhFJmA+r1oLait5ayg0oyfz6pICO1GL3LJdRayw6KYe5+MkFBlDobUK+pUktZQar7JKIV + Y5DTzPLLBW18AkFRGPU6JL+XUMhKQ4GPC0uknBE21bVHRkZmHdfd3Y0sy7S0tOTUjnJnBZnumYhWTCFX + aqu1gpToDQae+8Uz3PHhe7Db7SW7bjlEde7cuVmvbX1oC45JBwAej5u2NhPf/s53GTl9nCvXXMPSpUtz + vn61+/K1ZgrabZkgZ9RHhZfr+qXoFhgiZwH46J234vV6ueiRWdDXTVubCYvVgsVqAcBitfCtv/t7Vq1a + xXXXXYfP5yv4/tU2g1TtmEm1zUEYgCAnMmYDShQlLKFEU3uQsd7B8b1/DcBPvvRHAOx49hgAR70W2tra + AGhtbuavv/q1pIj/j3v+gbU33MyqVatK0v60n6FK5Lq6sVxt1s43ISiKTAuCiqUuIiNHFJoa6lBCsYUl + iWI3n3UROf3fAJhwxeacj7un556rYp/JwTEDxpbYz8amJv7Tf/mv9Pf3J0X8drMZ0P6Mw3JTymXQidTG + pxfkRGODnkgkUtCssUgkQjQS2ztOX1dHQ8IlRn/7Br999hts/dgKgu7pirMq9qMJYv/Za+fxSiGkYASv + nH7yyv856qGtTYexpYWu6Dk8DKNEp//I1T/4P/n4n/I/f/hPAEVnAamYT0N+qZhfn3YOk7ggSJ01ls0I + 6iIyYWLH/PJnP+HXT30bgJtWdPOp9UviYl8OLP/QYt4/40qK7K+8ezH+s8MbzEn4Kh9e0QYowCSnAmYe + 3fZ1FgwMZjynHEOUqe6hMh/MYO5/QkFa3juwl1OvPAPEtoba9Cd3smjVFQC86w3g0Z+i8fTbALw/GRP+ + hC/WBXD7Y/93eGP/90ohLnrSrzvPxKOPfT+r+Hfv3s3mzZvLkgXMZ4QBzGGydQcOXTDQOXwNH/nQNcgB + CZ8Uwu0NEAoF8fgkXBMyk2fc2FoaMwo/16ifip+9Mc6DGXatTWT37t3cf//9XHfddQXdK1/mQ/dg7n0i + QRKpugP/85/3Mmic4M9uXw0MMOnwACSJXwpFiNabUPqvYOLcG7H3E8TvlWL1gkKjPsATzx3nwIEDWecu + 3HvfxwE4+NphoHpputZnBBZC7bZckBeRSIQf/tNuVvaE+LPblwEDKaM+gMPlBcAvxWoAZ/R22j3HSxb1 + YVr8S5YsySqgxPd/9r9/CsDVV18NVGcG4ExqOVOonZYKiuKH/7SbZV0e1l55OUBS1PdJErIUxCP7CEsK + fklGloL4pSByMBbpXW2LmXSeINpkxus5WXR7Xn31Vex2e95ikeTUUVhLxbtayhS01yJBQRj1uqStwVV+ + +E+7uX5JPQ/etQgAr08mGAxmjPqJ4vf5Y+9fdHqINpnxBxUwmiDgLritj/zdU/T09hcsiJlZwEy0ZAaJ + aNEYtPPtCIrmX37yFHd8+B76+/sB+NE/fpeV/UZWLImJP5+orwrf45eRg0G8vlh3YMLpARpB34ElcnF2 + I7LwyDf3FCT+D9/1UVxOJ8dOjCDJ4awmoKKFLkI2sk3yKWfbtfutCPIiEFFwOJ3IsswPdv13br9mAZ9Y + vwJdMJpX1J8MALIUF344ApIk45ckAlLyQyYdBZiApWsBkL8wW1papmYFxlYOpusKpEOrWUEuZDOIRYsW + cf/99/P000/nfe3a+iYEKdn/5F5ldHQEz/l3afQd4YF7L6FtalnwpLdUUX82+Yr/kW/uwWAwJL1WTIR+ + 7rlfANmzgJnUshmkor6+HpvNVti5JW6LoApMXBzj2FtH2PCRG1llj62qyxT1E4UPMDkl8JnCTxX1C+WR + b+6hZ2A47fuFGIHbndqY8qGWK/ilYH592jnGvj27lJdefJGrl7Wy/vKbsbXFngk/6fAghcIE5VDJo34h + ZBN/IpmM4Nbb7ozXAVQKzQKy3T9dG+Yac/8TzkH2P7lXcbldvPTii2z+8PJ41J90eGaN60uhCAF/oCxR + P9caQK7iTySVEVit1qQ6AMSygFKbwMw2qMxFQ5h7n2iO8/jOx5QXnnuWf/en17Ju0bX0dpjSTuipVNTP + ZARbvvadgq6pkkvXwO324JwcL+o++bQlkVo3hdpu/TxCTfdXr1jIukUKQwNdAGmn8ZYr6s/Eoe9I+96W + r32HoaVXFXTdmWSrhL/62huYrZ0lzwKyUetZQm21dp7y+M7HFDXdv6zDC3TlNI23kn39mVnAww8/Sn+J + xJ/IdWvXzaoDQOWygGzUWpag3ZYJkqL+mr4AK5bEFs3kOqEHKlPhn4nJYqX/+mvLcu3u7u5ZdQCVI2+9 + XZUsIBtaNgVttEKQxMwi32UdXuiwFzyNt5wV/pnoTGY2bvhq2a6fibGxcU1kAbmglWnBwgA0xuM7H1Pe + /PWPuedTf85Kq4srVy0GtB/1LZGLmCxWNm74atmiv8qVa65J2Q2A6Szgiiuu0EyUzYdK7yBce9/QHGXP + EzuU1/9whNUrFrLSumYq6i+uiaiviv/2f/Ml+q8pr/gB7HZ72m7A2Ng4Bw68DMAVV8R2N6pFI0hFOTYG + nRvfTI2zY/s25Z3Xn+fjt0wLH0qzeKecUX8ml111Q8GbkpaSmV2B+Ta5Jx/Et1FFHt/5mHLsvXe46opL + Wd0jx9P9XKK+wxn7uVpRPxE1+qvkuilpOUnsCiQizCAZ8Q1Ugf1P7lUmLo5x7L13uO/a3pqO+gC0dXHZ + VTfMermcRpCpDgCxLGDk9PFZBpCIMANhABVnx/Ztyqkjv+a2m67kEltXxqifbkKPFqK+is3cxrq7NmY8 + RjUCKJ0Z2O12brntTuDnaU3gzNnzvPHGGxlNQGW+msH8+aRV5vGdjykXP7jA1cta8dgWxObvJ8zhhxqL + +lMoxi6uvu6mnI8vZVZgt9ux2weLygJSMZ/MYG5/Oo2wY/s2ZXL0Ta5dsYA1ywcIetMv2U07jXdqow6o + ftSHWOS//rZ7aWwxFXR+peoE+WQBqaj1qb7ZmFufRmPs2L5NUaSJeNRfe+Uygt5Y8S5R/JPO2P56tRL1 + beY2bvnoJtbdfFvR1yq3ERSaBaRjrhlCbbdeo+x/cq8y9v5Z3Bfe449WJKf7eUX9hMiuhagPpRV/IoUa + wQL7QpYMj6TtBkAsCzh27BhLliwpqo2pqHVDqK3W1gA7tm9TLp59i5X9RuiJRX0Vr0/G7fMTlEPxqJ/v + hJ5qRX1L1xCrr7oKW0c3N6y7pWz3ydcIlixZwtnRUxkNYGxsnGeffQa4qywmkIiW5/2nQrstqzF2bN+m + AFxi8wPGWcKfGfVzmcYLaCLqW7qGuG39HycJPxqNAlBXV1eWe5a6azA2Ns7RI4fKbgCp0HKWoJ2W1CiJ + 6f661YNce92aeD8fajvqW3uHWbFyJd29C9JG/Wg0WjYTgNyMIJduAJS3K5APWsoShAEUwY7t25SJi2PY + bVG6Bga5ctXilEW+fKK+HAzGz4fqRX1r7zC33r4+p3S/3NkAZDaCXLoBUNmuQL5Ua3WgMIAC2LF9mzLx + wcV41Fcn86jUctSH/MSfSCWNAArrHoyNjfPKgV9pzgDSUejqQJ1eT6DeDNHM1xcGkCffefSbivvCe3Qb + YeWy2eKfdHgKWrIL2oj6gwsXMrx4WVGFvkoYARReJ3B7/ZroChRLJnNQ6ptptNjRXRhFiUYIh1IHE2EA + ObJj+zalzWikSTpBv4j6OVFJIzBbO+nu7mRsLPuGILWWBeSCLMspX3dLUeSQghxK/SRnYQBZSCzyXXPt + Eq644rakIh/UdtSH8og/kUoYwWWXXYZzcjwnA4C5kwVkoqWhjmZ9FOTY39b+J/cqGz71aV3iMcIAMrBj + +zYl6HOjj7i5/dolrFhiz6vCn8uS3WpH/YW9LSxfcwtrrrmx7PerVEaQC2pB0GC4D7vdXu3mlAWdXs9C + oxNfKEooKBEJz84ShAGkYMf2bYrT6YxH/RU3rJ51TC5RP5XwQTtR/4/vvrsiwp9JuYwgn24AxEzgxed/ + zubPPlDSdmgRSQoSSdFNEAYwA7XIVyd7uP2mK+M78aqki/p+SSYcjuLx+gFtR32TxcKN11/PFVdfX5U2 + qJTaCPLtBkCsKzA6OjpnswAAv89HKBwmEFFmvScMYAq1yDfx/lvce/Oq+IM3Eik06kdDQfzB2Jdfzahv + 6RriY/fdw/LV0/v2lXsiTy5Us2swH7KAgCQRDgdTvjfvDSCxyLf+zisZWn9XvJ9fV99ENCzVfNSHmPjv + /5OPJYlfRSt982q1Yz5kAeFwhHBQmvX6vDYAtcjnnzjFvTevoq/LMkv8hUZ9VfhQ/ajf2RJk3YdTiz+R + uWAEZmsnJlNbXo8OHxsb56c//TGf+MQGOjpijzqr9sampUJS6kEHkTQTgualAezYvk3x+SXOvf0Kf77h + DvpumF7aqgrf7XIlRf1CNuqodtS3mdu471OfYfny5Xmdp4VugdoOyM8I1DrA8y++nNe9xsbGeeqp/fzF + XzwClGcbMy0y7wxgx/Ztyrm3X0EOBvmLTXfT1xVbp9/Y2kpYCs+JqA9T4v/MF/MWv4pWsgGobFsuXrwY + zwJU5rIZzBsDeHznY4pRr+Od15/nc5++C6ulDYhF/PqmesJSeE5Efa8M4VCY2++9h76+vqKvp5VsAKaN + AMpjBmNj4+ze/T/YvPkzs0xAJdEMVGrZFLTxmy0j+5/cq+zYvk0ZOfwC669p5+tf+fO4+BtbW6lvqifo + 9XJxfJyLky4cLg+TTjce2TdL/HIwFJvNJ3vw+GUuOj1MODxJ4/rVFv/I+QneOXmGr/+Xr/ObV/JLg9MR + jUaTxKcFMrVJrQMUgtvt4amn9ud1TiQSif9Xa8zpDEBdrvve67/iq3+1gbaGBoJeL42trQD5Rf0M23Np + IeoDTLq9WKwWLNZYt6bd1F7S+2ipW6CSqk2F1gFUAgEJn89HS0tL3ufONAGtZwdz0gD2PLFDcbjdvPnK + z/n6VzZju+/heHVfFX/Q650TfX2IRX2L1YLF1o3NZgNADgQwWzvLcj8tdQtUSmlObreHnTu/xxe/+KXs + B2dB64ZQ0wbw3LM/UG5f/1kdwL49uxSvX8LldPKvz/8EgP//P20BmJNRX+XEeQ8Wq4WhoSGsFjMWsxkA + Zx7DYIWgxWwApttltnbSZKhHkgt/oGahWUAmtGYINWsA/+enX1duu21rbOttxcWJ944DcPjIUf7xm1vi + x9XVNxFqHwL5LEGvF69P5uKkq+ajPsB5V5Sunh5sNht9vV10dfXQbjYTDko0NTViaSl/n1SrRrBy5UoA + nn766YLOV7OArVsfLrkJJFLtomLNGcC+PbsUm+4kd9z1DQAefvirAGz++B/xP77718CN8XQ/YruERvks + uE4zOYei/tFTsZS/ra0N++Aiurs76e2yYjab2bhpiw5i9Y+QrrQ1gExosVuQ+ITgQihlVyAfKpkl1IwB + xIW/4XMp39/9w98jH5/u5wcMCzDOwaivin9oaAibzUZPl42Orh4e2vpI8jrvxqaKt02r2UCxhMPhqu7k + m250oRTGoHkDyCZ8lZBbT13XZ2mItqFI/0DDHIv6AKPjXuyD9qSUv8dmYdMDn9NlP7tyaMUISlEEdbs9 + /N23vsn/+9dfrfrnmUkphh01awD7n9yrmCNvZxU+xMTfEJ0e99XVf5GGVnj/vQcIRqJzJupbbN1pU37B + bIqtA6hIcpj/72//K//+K/+xFM3SFJo0gMd3PjYl/kczHqcKvyHxxXBsDHzstJtO66OcOb8Bh8tQs1H/ + xHkPg302rD12ujptdHakTvm1iFYyAUF6NGUA0+n+F7Mf7DSnFL53MoLP7UOWZNyeIBc/kPGHqbmof+rc + cQytl69P/gAAFe9JREFUi+jq6cHe34O1sxur1Up/X09OUd+o11Ffpw2PmAtGIMlhHn10W8ULguVGEwZQ + TLqvCh9iUR/A4ZJxOmMiV/RP8MtfXsbCoenNH1M9dktLUT+W8i+Kj+339nTlHfX1BgN1GjEAlWoYwfLl + y4uaFZhIUA6UoEXlYWhoiM2bN7N79+68zqu6Jeea7gOxqK+KP2xJivpjp904XDLj4x6cTolAKILDHSIQ + iLLumtc5dfoYHr8cj/pamsOfiFroGxoaoq+3C7vdzkBvb0Ep/69+9QIXD75RjmYWRSXXFtTV1ZVsRqSa + BWhtXQQUbqpVywD2PLFD6R86wM1r/zO6Rnfmg53m6Z8TIr6a7kNy1He4Y2IOBKJIcpSArGPJooMcOwm6 + hunztRL11UU8pSz0bdy0Rfetv/2G8kGzgdTr2qpPLXYN3G4P3/723/OFL/xb6urqaqrtqai4Aezbs0tZ + aPkJ19z6N1mFrwRN6PxTX3CC8GFa/A6XTDgYxOuPEghFkALRuPABArIOpzs2XBJweQlo6MmskCz+bGP7 + +WJo0FdkNmCx1JoRJO42NDMbqJXPoFIxNezbs0tZdunPuHLoq2B2ZjxWCZoAZok/qmvFP+HKGPUdztjc + 70Thq/QvfIdzpy6JPTNNA3jl2JNbZo7t51roy0Z9QwOVnA1YLOUyguHhYW67ZV1J6gAq3//+TjZv/ixG + ozHp9XLvWVBqKmIAj+98TOnpfZ4rVz+T8bhUwte1Kyh17eBwxcXvcMlIUghJiqRM92cKf2LKbyZdYLS+ + A5PVNQE16vd3ttPW1l62sf1qzAYsBaU2AqPRWPKVkblsPV4L2UFZDUCN+gsH/hsW20TGY1XxA+haYuJU + 6tqJOCP4JybxuX0E5CiSFEqK+unSfZVE8atU0wS8cmzdfq2O7VcSrXcNdu/+QcosIB1azA7KYgCq8Pt6 + v0W3xZGxr58o/DqdNfZa3ZQwHS78CX39TEW+XIRfTWYV+hLG9rU4nVdLaNUIYluI5WcCKlrJDkpuAI/v + fExZdunPuGL5gYKFH3VGktJ9ID60l6nIB9PCh8zir2QWoEb9xHX7vT1dmM1mbB3dzHxgoyA1xRhBOeoA + kFtXIBeqZQglM4A9T+xQlq/+JX292zNG/WzCr1O8GaN+piJfvlG/EiagFvrU3Xq0vIinVijECMpRB1D5 + 8dP/zH33fzLvLCATqeYalMMUijaA6XT/OzkLHwqP+gE5pplCon4qymUCTm+YCXcAm8kYL/T1dFromYr8 + YhFP8Wila3DsxEhZTGAm5cgSCjaAxH5+T/dIxmO1FPUrgVcGd0DC2NJC10Bpx/bzwaifHx6TqxH09fWV + pRsAMRMIBAJlNYCZlGJGYkEGoPbzcx3WgxQFPmZH/UKH9oqllFmAllJ+vcGgmQVBlSBbld1qtZatGwDw + 7DP/i/V3fRSr1Vq2e5SavA3g4Kv3KRbLD1g4eCTtMbkKH+DiuCc+tJc63S+syFdpnN4w7oCE1dQa36pL + Cyn/4TdjawH6FgxU4/ZVoxrdg2MnRlhfsbuVhpwNICb8URYOpo/6mYSv05tQIu5ZUb/W032IRX1/pA6r + qVVTY/vqegCn20PxzwiqTSptBLWWBeT8rXjef5MFlrdTvqcETbPEr9SZUerM6PQmdHoTkQkH3hOT+Cdc + nD0zGRd/4qo9hzNMQNalHNort/iN1ncwhjNPUZ6J0xtmdNxLOBSORf2hYewDC+jr6y94BV+pMTRoax/6 + aqGuQOzr6+OqNZeX7T7HTozw7DP/i8nJybLdo5TknAEcP30rUddebrhLT4NpWpzpor5OH3s9W9QvZCaf + FlBT/vrGZroGtDu2X9/QQJdfzn7gPMFsNjM4tJiDrx0u2z2OnRjhFrk2vvOcDSDIMk6eDsEzDdxwl576 + pum90mcKX/3Lj0w44n39s2cmkeQoUiCo2Zl8uRYD1ZRfC4W+bNQ3NhHq1NYKyPnAi8//vCa6Ajl3AdRt + tE6eDnHgmShOTwN1OuusdB9iUV8Vv8/t4+yZSZxOCYc7kJTuO9xKVdL9QnF6w5x3xbIVtdA3vHCIhUND + 9Pf1aE78KrW0IrASlLsbALEs4DevvKz5rkBOoWHfnl3K6dOnQQeXL/8Cto6lnHj1+8hXeOnpsMSFDyQJ + 3+GSNR/1Z5IuC0hM+a099qqN7QuKpxLdACB+/evWrtNsJpCTAXj9Eh6vnyuv/xuW37SZltYBLv5mgLNv + /EearmnEYklO9+fK0J6K0xuumZRfkBtqFlAJE1ixcnXtGsDjOx9Tru4aYHBoMVdffTUtRgv4w1y97GZO + vf0g7/zuf7Ny0bsA8ajv80cIBUM1O7SnZgHvS624AxImY5OmxvYFxWM2m1mxcnXZDQDg6JFDmEwmTZpA + WgPYt2eXsmTpcqJRheEVK7miqQ3kCIortjOqLiAx1PsRgnKId06ep7VhJJ7up4r6tSD8RC7ILs6NR7BY + LbR3dNPb11vQ7rwC7WIymeZ9FpDSAA4ffEWRw7Bi1eU0G5ohosTEP/VQDcXpRAGizkkWm2/m5Bk3Lp7G + 436r5tN9lUlnCIvVQm93NwP22Nh+Lab882U9QCGILCDFKMCeJ3Yoi5et5OqrrqO53gj+MIorgCIF0QUk + FKeTqHOSqHO6umk1rSNMH47J8Kyon0r8ky5ti9/tM6Jv7KGtrY3evl76+vo1XeXPhN5gqHYTNI2aBZSb + g68dxu3Osvt1FUg5DOj/7WGUSX886seFL0tJwne6nHxw4QLBgETk/CCRUG/NDe2l4thoCyZjE/aeTnp7 + umiv8f7+2dFTOCYvVrsZmkTNAirB0SOHNDcsmNIAfv7Si7E0XwomCV8Vv9PlxOlyEgxIjIX9jIX9NOqv + 4+T7N9Rs1E+kt8dK18Ai2js6MJvNNd3n37hpi250dIT3L3xQ7aZoFpPJxJLhwbLf5+Brhzl//nzZ75MP + swwgEFFwRoIcPnIwZbqvCv+MZ5KxsJ/QpIcjE2d59cQ7+D9o5sLIH8Ujfi1FfRW3z4ilpRtTWytdXT2Y + zdrYQlxQPsxmM7fcdmdF7jVy+jiTk5OaebpQyiLgBX2Ut16PFUZWLVgETAsfYCzsByA06eFdxcWxl19n + zKGaRD/10UswWd6pOeEDOP2XMzDQT0dXT82n/iotzbW5Pfhc5OBrhxkcWozZbNbELsGzDKC1uQlTazMn + vV6YMoHu+mZgtvDrRiY4cvw4Tm/yE3VDweaaE//JC8Px5by2nj56u6w1nfonUqvPB6gkBoOBJcODHDuR + eXerUjBy+jh9fX1J2WW5NgUN1JshQ7Ix6y4bN23RtZvN+IOxIb+3Xj/M2Q/G4uI/MnGWY6dPcuT53/Hy + oTdmiR9AFx2ks+VKrBqfgu72GXH7jFx0rcBi62ZgYAj7wAJ6uzvnXOpfC48IqyaV7AbkUgtQly8X8yBV + pb6ZRos94zEpuwCtzU1YrVacLgmzvpFjp0+yQO5jtFHmyPO/Syn6mYyPD6LUga7p9YIaX27UqF/f2Exv + d2yiT5fViq2rQ8zym6dUOwvIRLHdBSWaOgCkvJKaBYzpgvHX8hG/ii46SH30kjybWl7UqH/ywjAWWzcr + lixi4aJB7HY73QsW8Lm//JJOiH9+orUsIB35Zge6UOxZmuHQ7Cdhp7WSh7Y+omszmXBGYiZQNzJBS1P+ + fUlLWzNLyj/CkhOq8EcnVzEwsJAli4cZsE8v550rfX5B4ahZQC2RzQjcUhQ5pCCHZmcBGXOJdrOZSX04 + bgLDCxZgbm3Lq3Hj44M4L1a3HiCiviBXzGYz6+/6aEXu5Zwcx+nMbxu6fGlpqKNZHwU5lrnvf3Kvkvh+ + RgN4aOsjOltXB6dlZ9wECskCxscHcTuq0xVw+4wcPr5ARH2B5nj+xZfLPjFIp9ez0OjEF4oSCkpEwslb + lWVdDmw2m7GYzRBbBMjwggUAnLuY3zPRLG3NROorOylIjfr2weR1/O01PrtPUH66uztL9ty/TKhZQCVG + nSQpSGTGXoVZy4kbN23RdXT1cDbiL7orMDF2ZV7nFIqa8o9OrsJi62awvydp6675Jn6jXie2BcsDs9nM + Jz6xoSL3qkQWAOD3+fDLYQKRpB5AbjsCtZvaY8sYXVL8tZamprxGBEAdFfATrnsnr/PyQU351Sfxiq27 + YisCvV4vsixjEKsDc6aSWUC5fzcBSUKnBAkHpaTXcxpQ3PCpT+tSFQS7LfmvbQ4Fm/M+JxcSC332QTtD + Q0P09i1gYIF29uivFhs3bdG9eeggJ06cqHZTaoZKZwGvvfrbst9HDuY5CpBIqoJgIZRjbkCqQt8lw4tY + NNhXs+v4S414QEhhmEz5dXWLQS7zswRSTQbKa8N4s9lMV1dPvCuwbDA2Xjq9ECg3QsFmdCWYnq4u4FEL + ffaeTto7OkShLwVNLZX7Q54rmM1mNm/+DN/97nfLfi/1icVrb7ip7PdKJK85hYkzBNUsYNngYN5dAV10 + ECJX5XXOTMTwXn60Tq0IdDqdyLIc/0+QGaPROKeygJnkPan4oa2P6DpsFo77JorqCiihwtdDq+JX+/pi + Uk92Nm7aohs5fZynntrPa6/+lhee/zkvPP9znE5n3BQEszEYDGzd+nBF7lWpWkAiBT0zqqOzMzatsIiu + gC46iCLlv1hIHd6zD7Yx2N9Dd2+/2KY7Rx7a+ohux/ZtytEjf+DCuIPxsfO89NLLtLS2c9Way7lu7TqM + xli3SowWVI9KjtYUZAAbN23RPb7zMeWsexQiYNY3FlwPyBUxvFcabB3dADQ1NdLeZsDlkfF5XfzoRz/m + F8/+HGtnD1etuZxbExbFCDOAJkM9khwu+30qXQso+KmRD219RPedR7+pHB8ZZXGLDbO+Me9r5JoFzJzR + 19u3gO5Oa01u011t1KcW73lih2I2m/H5JTxuN12dNvweN94pM/jRj36MfXARS4YHue/+TyZdY74ZgsFg + 4C+/8Fd861vfqnZTSk5Rj40ttiug1I1kFH9i1B8YSF6zr6VHcNciqnHuf3Kv4nK7CAellGbw/Asv8vwL + L2IfjG0Nt2R4kA2f2lTVts91KpkFFC2gx3c+ppwdHaVbacSsb+TdkZGcDOCk8wwO12nWXJp6u+rE1Xti + Hn9lSGUGHq8nZgZSiImJCYC4GXR3d/Lgg1ur2eSKIstyxbKA225ZV5ABjI6Osnv37vi/dWE/ytnfMaob + ZMniYS69ZCmf+8svxfVT9IPj1cLSyZHztBvDWbOAk84znBtXVwRZOPV+Awt734+/rwrfZGxiYKBX7NRT + QRIzqnSZgS8Qxud14ff5GB05yau//x1Lly6l3WyZV2YwVyjaACA2YaLbL3Hm7DkwQ70+9ayzk84z+CN1 + 2Adj+5S1NsemBQeCToyNv8btM+IIrWVgoBmbxYTJYhFRv0pkMgPJ68Xt9yJJQWSvm4mJCd577724GTQa + jHzhC/+2ms0vCwaDgS9/+csVyQL+9ZVXgPJ3A0piABs3bdHteWKHEgpKtAfAvGABiqJwfiKW3p90nmHC + HaDb1sbQgB1TWyutrc3U1zcSioBOCQKX0xyO0APoG4xY25sxm80i6muAmbWWPU/sUAIRBZfTSSgoIUlB + bDYbkhxmYmKCiYkJHtjy2TlpBpUqgFZixAFKUANI5PGdjyljZ89ijdQz8f4HnLs4zgd1QQKShLGpiS6b + GWtnN1arlZbmpqTtqhNXKdU3NmHU60SFvwbYt2eX4vVLs+oGiV2FgCSxctX08/e2bn24pkcSnE4nT3z/ + e2UXaZOhnuvXrs0rC6h4DSCRh7Y+ont852PKxQ8uEOhqpbEZOkMKel2E1tZmLFMRXVTw5w4zs7M9T+xQ + PIHArCLi++fPIgcCeP1+du78Xvz4zZs/U3NbsFeqvZIcxuUu7w46JTUAmDaB1hYPcsKjkFuam2gzGkVU + n+Mk/n7TmYF7/Dy+UJSJiQm+9h/+PUNDdvQNRjZs+FO6u7ur2XzNceTIUdpN7WWrBZTcAIB4wW7fnl3x + 7UdEP37+kc4M1CKi1WJG9rr5YHwCORDg23//d/T2LcBobGL9+ruw2zM/1KKaPPDgwxXpBpQ7CyiLAagI + 0QtUEiceBX1uVDNQi4hOtwfZF+sqAPz3HdvjZgBozhAq2W0pZxZQVgMQCGYys/ajFhF7Ukw+Us1gYmIC + l9NBu9kCwA03rGP58uWVb/wMNm3+M/bs/oeazgKEAQiqSmKWODM7UM2gtakhPryomsGBA7HpstU0g0rW + K947dpL2Ay+VPAsQBiDQDDMnH6UzA8ntYGJiAr/Px8kTx+OLwy5bfVXFzeCTGzbyz/v3lT0LcLs9ZckC + hAEINEkmM1CLiF6vH7fHy/vnz/L++bMcOvxm3AwA7PbBss+ks9vtNBqMSHJ+O2QXQjmyAGEAAs2TyQxS + FRHfP38Wv8/HsRMjjI7GnvRbTjO4776P1WwWIAxAUFPkXERsasDrdXHo8JvIgUBZzaCSWUCpEQYgqGly + KSKqexuoZnDo8JsVyQzKQam7AcIABHOGXIqI6t4Ghw6/CcChw29y6NAbWK1W2s1mPlzgk4Fvv/0Onnvu + F7jd5c0CSt0NEAYgmJNkMgO314/kd8eLiKNnzjJ6Jjbn4MzZ8wws6ItfJ1dDWL58Oc8994sSf4rUlDIL + EAYgmPOkNgNryiLiyRPHOXnieMrrZDODWswChAEI5hXZiohqduB2OPBKIV56KTbhSA4Ekq5z6213zlrS + vHz5cg4ceLnsBgClywKEAQjmNamLiFZ8XT1JZgBw8JUD8VWMiSSawQ03rKtYFjA6OsLaIq8jDEAgmCJt + VyHBDHQOB9hsvPa73+CVQsDsukFQDsy+eBkYG5/krbfeKmr2ozAAgSAFuZhB3VQR8e0jf4jXDeRAAGtn + T0Xa6HZ7ePPQQWEAAkE5yVZE9Hj9+PwBZJ8bAJ93ukDX0tpe1rYVmwUIAxAI8iBdETGcpohYbjMoNgsQ + BiAQFEGuRcSZZgClM4RisgBhAAJBicilbqCaAVAyQygmCxAGIBCUgUxm4HG7CUj++ExEORDAYDQW1V1Q + s4DW1ta8zhMGIBCUmWzLmROLiKmyg1zMQM0C1t5wc9LrusAHqDvz6upmP7FLGIBAUEGyFRHV7MDlkeMm + UGhmoAv7iU6civ9bXzf7GGEAAkEVSSwi7tuzS4nYLEkrGPMxA7fXz9Ejh1Lep7W5GX2DMelpXCAMQCDQ + DNn2NphpBrqwP95lABgDxsbG4/9WIhFOBcwsNDoxGI20Gxsx6pN36hcGIBBokGx7G6hFRKQQciBAJBql + paEOXygKxLID9WedyUxXp42m1lYaW0xJ9xEP7hAIaohci4hq98DnddHVaaOzw0ZHV0/8qV0qwgAEghom + 1UzEcFAiHA6i6BppNtTTZjLRbjbPEj8IAxAI5gz79uxSIrJMIKIQDkoA1Dc20drcJB7TJxAIBAKBQCAQ + CAQCgUAgEAgEAoFAIBAIBAKBQCAQCAQCgUAgEAgEAoFAIBAIBAKBQCAQ1B7/F/aRTJoxYWb8AAAAAElF + TkSuQmCCKAAAAEAAAACAAAAAAQAIAAAAAAAAEgAAAAAAAAAAAAAAAQAAAAEAAAAAAAApOD0AgqK4AIyS + lQBGSkwACvj9AJ2jpgCWmGoAlJSUAGdnLAA5OhcAlJRJAFxiZQC0tLQAdJOqAAeMpgDk5OQAc3R0AEVF + JACkpaQAfo2XABY5SgBqalMAi4yMAERMVAAl9PsAhop3ACba8gCiy+gAlLvWAKu5xwAJR1MAra2tACRG + ZQBLSx0AhYuNAIOepwDm5uYAAGZ4ALu7YwCZnqAAfYOGAENDGgD+/v4A6OjoALq7uwDZ2toAjpF1AOrq + 6gCjxNwAUFNUAMTEaQDKymwAh4dDAFZeZQABWWsAE1VmAJubUgDs7OwAlZudAPDw8AC0tGIAMun8AFlc + XQCKoKMAXXeLAO7u7gBrZoYAUUxmAIuQiADy8vIA9PT0ACw6QgB5enoAVFQhAM7R1AAHmLMA0dHRADtE + TgD29vYAjrbUAG57iABcXCUASWFyAAB0igC8vGsAy8vLAJrD4QBnhZsA+Pj4APr6+gCsrWMAOEhUAFZa + XAA0Qk0AAYKaADVHVADGxnAAhoaGAKCmqQBVboIAjbLNALGxWwDLy8UA/Pz8ACtSeABAU2EAaGhoAJG0 + yQDU1NUAmZmMAKqqVwCanZ0AMzo+ADs9PgBSanwAwcHBAGZmZgBNUlMAO0JFAIOnwwB4fYAAAFVlAHFx + MgCo0e0Ao6NZAGuKoQBxdXkAd5mzAEhdbQDGxsYAYmRmAN7e3gBsbXsAbXJ0AIiNkABtbm4AfX06AJGW + mACDjZIARlNeAODg4ABlaWsAf6G7ADtMWAAAboIANzdBADA9RgA6PkIAMT9JAGFhYQCBj5gA2dHpANnP + +wAwNzwAYW12AGpucQCAgIAAgoOEABDw8QAW9P8AEvj/AA+pxgAQsM0AELbUAKSmYgCnqGUAo6RoAKSk + VgCqql4AAlFgAAZRYAAEVGQAlphfAJKSggDi4uIA4+PjAHGk1QB1utUAAXuSAGprbADq6ukAeHg3AKvB + zwC4x9cAb6SmAMbGYgDJyWcAILnVALTU8ABRUSoAPEZQADZIVAAxR1sAMkleAHR5ewAOQEsAH05bALW3 + uAC2uLkAWqmqAEa5uwBdvL8ANsLDACDa2gAm6vwAOPj+AElQaQAQ7O4AGO7+AEZvlADHyswAnZ2SAKap + qwBdksYAh4yEAIqOgACAhYgAYmdpADZQZgA0UnAAPj8lACguMgCNkG8AkZRzAABfcQDY2NQA2NXfANbZ + 3ABwbIkAYHyRAHx6kgCZwt4A4eLkACJNWwA4WF4AfpGdAE1QSQCdlcEAvbTmAEJyogA8jJYACKC9AD6+ + vwCnrbEAHMPeABvI5ABwc2MASYCgAOTp7gCfoWwAg4M8AGFcewAAAAAA3uXsAMHBugAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAADeSMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAABjI44yMnWMIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAABikMMjI/dXUIGBEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAADt5PzIylnV1dXUIExiGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAACKfz+DF1YTdXV1dXV1TRMYhgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAA4Y/tChNr6+NEXV1dXV1CK8TGIYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAYyOOXUkgTa+vr6+vDXV1dXV1dXSvExiGAAAAAAAABikjKAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAYpDD+eDS6vr6+vr6+vr0l1dXV1dWKNrxMYhgAAAAAAY4VEkgHr2jsAAAAAAAAAAAAA + AAAAAAAAAAAAAAA7eTaDF3SEr6+vr6+vr6+vr4J1dXV1dXV0r68TGIYAAAAAAH9DREQheh93KQAAAAAA + AAAAAAAAAAAAAAAAACMMiAiCr6+vr6+vr6+vr6+vr68XdXV1dXURjbCwFxiGAAAAACPlREREOHp6qgGD + BgAAAAAAAAAAAAAAAAAAADsNTY2vr6+vr6+vr6+vr6+vr69Na3V1dXV1DbCwsGIYhgAAAACF/ERE23p6 + enp6xBgjAAAAAAAAAAAAAAAAAAA7jY2vr6+vr6+vr6+vr6+vr6+vCHV1dXV1EY2wsLBiGMMAAAB5Q0RE + zzd6enp6enofSJwAAAAAAAAAAAAAAAAABq+vr6+vr6+vr6+vr6+vr6+vLmt1dXV1dQ2wsLCwYhgpAAAA + 5+5DRDh6enp6enp6enoVXWMAAAAAAAAAAAAAACivr6+vr6+vr6+vr6+vr6+vsBN1dXV1dYgusLCwEGIE + IwAABpiZ7/iRN3p6enp6enp6eh+DAAAAAAAAAAAAAAATr6+vr6+vr6+vr6+vr6+wsI1JdXV1dXUTsBAQ + EBBiTocAAADV4728TLMmN3p6enp6enqr3o4AAAAAAAAAAAAAxq+vr6+vr6+vr6+vsLCwsLANdXV1dXWI + LhAQEBAQYk6HAAAAAPEZzhuiD1Thenp6enp66mABdgMAAAAAAAAAAA2vr6+vr6+vr6+vsLCwsLCwSXV1 + dXV1DRAQEBAQEGJOhwAAAADKnwUZPvVMXyY3enp6rMBcXJN3SQAAAAAAAAYtr6+vr6+vr6+wsLCwsLCw + TXV1dXV1CLAQEBAQEBBiTocAAAAAAEDLBaEZG6MPVCZ6esVcXFxcXpoMBgAAAAAoTa+vr6+vr7CwsLCw + sLCwECB1dXV1iG0QEBAQEBAQYk6HAAAAAAAAALnMBaDN9vJfkThcXFxcXFxgSAQjAAAAikuvr6+vsLCw + sLCwsLAQEBAXdXV1dSAQEBAQJSUlJWJOhwAAAAAAAAAABsjQBdEbpA9TalxcXFxcXFyVcREAAANtr6+v + sLCwsLCwsBAQEBCviHV1dZ2wECUlJSUlJSViTocAAAAAAAAAAAAAQPMFBT6yDkGBkFxcXFxcXF5xXQMj + r6+wsLCwsLCwEBAQEBAQdHV1dWuCJSUlJSUlJSUla06HAAAAAAAAAAAAAAAAJMkOfByPWHNqXFxcXFxc + XEhyBK+wsLCwsLAQEBAQEBAQEBN1dXVwJSUlJSUlJSUsLGtOhwAAAAAAAAAAAAAAAAAAABRsfGUOQYGQ + XFxcXFxcXpSwsLCwsLAQEBAQEBAQEBBJdXURhCUlJSUsLCwsLCxrTocAAAAAAAAAAAAAAAAAAAAAKBQc + V49Yc2pcXFxcXFxcA42wsBAQEBAQEBAQJSUua3V1LSUsLCwsLCwsLCwsa04DAAAAAAAAAAAAAAAAAAAA + AAAAiwIcZQ5BgZBcXFxcXFyb0xAQEBAQEBAlJSUlLXV1FyUsLCwsLCwsMDAwMGsYOwAAAAAAAAAAAAAA + AAAAAAAAAABjFB1XAlhzalxcXFxcXIz0EBAQEBAlJSUlJQh1a20sLCwwMDAwMDAwMDBrBAYAAAAAAAAA + AAAAAAAAAAAAAAAAAAADJFdQDkGBkFxcXFxcXCkuECUlJSUlLBARdSAsMDAwMDAwMDA6Ojo6a04GAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAACLbFcCWHNqXFxcXFxcDG0lJSUsLCxWdUklMDAwMDo6Ojo6Ojo6OmtO + BgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACjs6FAOQVOQXFxcXFwUJSwsLCwsCHUtMDA6Ojo6OjpCQkJC + QkJrTgYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMCV3h+ZGpcXFxcwh4sLCwwJRFiMDo6OjpCQkJC + QkJCPDw8a04GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJdlUIDmU5BcYCHc5DAwME1rVjo6QkJC + QkI8PDw8PDw8PGtOBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhrcdeH5kasEhIWQsOjogCEJC + QkI8PDw8PEZGRkZGRiV1TgYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIolSzFQgNJpISEhUTA6 + CBBCPDw8PEZGRkZGR0dHR0dNdU4GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADJSzpHjGx1vBp + IRUGMHQ8PDxGRkZHR0dHR0dPT09PbXVOBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhywsLDAw + MDr5/rhRcoI6RkZGR0dHR09PT09PWVlZWW11TgYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGMs + MDAwOjo6QkI8PDxGRkdHR09PT09ZWVlZWVpaWloudU4GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAATMDAwOjpCQjw8PEZGR0dPT09ZWVlZWlpaWlpoaGhoLnW/YwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAcDA6OkJCPDw8RkZHR09PWVlZWlpaaGhoaCsrKysrKy51GAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAC06OkJCPDxGRkdHT09ZWVpaWmhoKysrKysrKysrKysugwQAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAtQkI8PEZGR0dPT1lZWlpoaCsrKysrKysrKysrKysrLjZ2AAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAx0I8PEZHR09PWVpaaGgrKysrKysrKysrKysrKysrKy42MgAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAOy48RkZHT09ZWVpoaCsrKysrKysrKysrKysrKysrKysuNjIAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMWrv+1T1lZWmhoKysrKysrKysrKysrKysrKysrKysrLjYy + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADYe1IiEhZuZ0YrKysrKysrKysrKysrKysrKysrKysr + K3Q2MgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEydmC/sJSiISFm5nRysrKysrKysrKysrKysr + KysrKysNNjIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABw4Kc9J28LiQlKKhIWbmdHKysrKysr + KysrKysrKysrDTYyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAii/6PTMnbwu2UiIqEhZu + Z0crKysrKysrKysrKw02MgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAChFB1szMyeo + NXtSIioSFm5nRysrKysrKysNNjIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABj + RS+mJzQzPTk1CUoiKhIWbmdHKysrDTYyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAMaBz00NDM9OYkJSioKEhbU4g12dgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAA7GgdbuzRhVakLe1IiKgoSCgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAABiPfpSc0NGFVfTUJCgrtAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADGq1mNDRhYQoKPwAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOxoHfbq+3dkAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbX9ykAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA////////////////////////////////////////////////////4/////////4B//////// + 8AH///////+AAf///////AAB///////gAAH//////gAAAfh////wAAAB8A///4AAAAHwB//+AAAAAeAB + //wAAAAB4AD//AAAAAHAAH/8AAAAAcAAH/wAAAABgAAf/AAAAAHAAA/8AAAAAeAAA/wAAAAB4AAB+AAA + AAHwAAB4AAAAAfwAADgAAAAB/gAAGAAAAAH/gAAAAAAAAf/gAAAAAAAB//wAAAAAAAH//gAAAAAAAf// + gAAAAAAB///AAAAAAAH///AAAAAAAf///AAAAAAB///+AAAAAAH///+AAAAAAf///+AAAAAB////8AAA + AAH////wAAAAAf////AAAAAB////8AAAAAH////wAAAAAf////AAAAAB////8AAAAAP////wAAAAA/// + //AAAAAD////8AAAAAP////gAAAAA////+AAAAAD////4AAAAAP////gAAAAA/////AAAAAD/////gAA + AAP/////wAAAA//////4AAAD//////+AAAP///////AAA////////gAD////////4AP////////8A/// + //////+H//////////////////////////////////////////8oAAAAMAAAAGAAAAABAAgAAAAAAIAK + AAAAAAAAAAAAAAABAAAAAQAAAAAAAJeeoQBiYkYAG0RMACD0/QD+/v4AlJWVAIGCgQCcoqUAU1MhAJO6 + 1AC8vGUANUZTAJSUSQAAcocAoaKiAObm5gCNjXsAk5WFAKOkVgBnZH0AVVlbAA32+gCJiooA7u7uAG5y + dgDq6uoAUWl7AEVFHQCampoA8vLyAOzs7ABRTGcAra2tAPT09ADw8PAA6OjoAEZNUwA0PUQAzc3NAPj4 + +AC8ztwAh4psAIiOkAAAY3UAbYuiAGlpaQCrq1sAW1smAI2TlQBfYWIAUlVWAEpOUQC+vr4AcZGqAJGW + mADV1dUAcnV2AIqsxAAJS1cAfn5+AHuAgwBNVFkA9vb2APr6+gD8/PwAOTkYAHV6gQBsbGwAZWVIAFNj + agA4SFQAJ0tYALCwsAA0QUsA4ODgAHqGjQA8TloAJUVlAN7e3gChomIAfqG7AABcbABhZGYAZmZmAMDA + wADJyckAuLm5ALS0ZABbXl8AMkpiAIGGiQDAwLgAAFZmAGB8kQBOTiIAycltAKqrYwBjYyoAl5dRAF14 + jABFWWgAenp6AHFxcQBpbG0AlJqdAEhPVQCQt9MAQ1dlAMTExAB6foEAQUlQAKCmqQCqq6sAhouNAI62 + 0gCFobUAiqi6AHKDkwB6iZIAOklfAHB6gwBxfIYA5OTkAOXl5QCSmJsAlpyaAJOZnADHx2kAwcFtAMbG + bgAQrMgAD7PQACpKagBMT1AAc3M1AHd3OQB6ejgApaqwAKOuugCztLQAtbW1AHiSlAB+kZ0ABpGrAAeY + tADR0dEARFhnAEtZZABHRyAAAVNjAAZUYwCCgkAAiopFAImNjwCNjY0ATEweAJ+lqAB3d3cAWFdmAFBd + YQBaXmAAy8zMAIGlwQA7QUUAOUlMAJibnACbnZ4Anp6eAOLi4gDj4+MAQkRHAExORQBESUwAkJNyAJCQ + fwDZ2dkA2drcAJKVZwCWmGIAmptlAJOWawCbnWkAREtRAEVNVACCiIoAhouLAICIjACGjI4Ap6dZAJ6e + TAACfJMAKsjJADzI0QCIi3QAgoZ6AIaKfQBJrq8ARr2/AFhgaADn5+UAH8XdABnc3QCxsVoAC1lrABzK + 5AAc3/cAE+XpABDz/QAp4vMAM/P7AA1DTgACgpoAPj4iACQuNQA3SFQA0trfAH2fuABiZmgAZ2ttAG2d + yQBDo8UAPVJrACpReABzd3oAdHl7AJjB3QCiy+YAhIiEAGpqMAAfUmYApaipAJS0zgCCmqoAkYqzAJaR + sQDp6+wAVVZyAEJEOwBPZncAy8vEAMXIygAseY8APHKoALm5rgDRzdgAy9DVAHNzbABfnJ4AAAAAAIGB + OgBiXHsA8PDuAFrU7ADf1voA1ODtAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + 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 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEHKlALYIFjQqwAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ26KrMT1TkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAB9MQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////////////// + ////////////////////8/////////+B////////+AH////////AAf///////gAB///7///wAAH///B/ + /4AAAf//4B/+AAAB///AD/wAAAH//8AD/AAAAf//gAH8AAAB//+AAPwAAAH//8AAfAAAAf//4AA8AAAB + ///wAAwAAAH///gAAAAAAf///gAAAAAB////gAAAAAH////gAAAAAf////gAAAAB/////gAAAAH///// + AAAAAf/////AAAAB/////+AAAAH/////+AAAAf/////4AAAB//////gAAAH/////+AAAAf/////4AAAB + //////gAAAH/////8AAAA//////wAAAD//////AAAAP/////8AAAA//////4AAAD//////4AAAP///// + /8AAA///////+AAD////////gAH////////wA/////////4D/////////+f///////////////////// + /////////////ygAAAAgAAAAQAAAAAEACAAAAAAAgAQAAAAAAAAAAAAAAAEAAAABAAAAAAAAmqChAElM + TgCbm4oAjpKWAKysrADc3NwAwsLCAHyAhACioqIARlppAHh4eABwcHAA/Pz8AFpeYAA2R1QAyMjIAKOk + pQCGjI4APEJGADxNWgBkZmYAkZeZAJ2kpwDLy8MAQUdJAEJGSQBARkoAjZOWAEyXmwBKmZoAtLW1ALa2 + tgBYXF0AWV1eAFpdXwCYmZsAmpqaAJedoACZn6IAAkxbAABOXQCrq6sAvr6+AL+/vwC5ubkAu7u7APLy + 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 + 3wDx8fEApaWlAKenpwB7fX0AeH1/AE5kdABPZncAn6WoAPn5+QD7+/sA4uLiAOPj4wD09PQA9vb2AP7+ + /gD///8AwMDAAMHCwgDCwsMA1tbTAH+EhgC9vb0Av7+/AIGBgQCEhIQA5+fkAObm5gDY2NgA/Pz8AHd7 + fgC5u70AiYlXAIOFWwCHjZEAj4+QAABWZgAAXG4AaWlpAG9vbwCioqIAoaehAHWPoAB5k6oAt7m7ADdH + UwA9T1wArrCyAKe0vQCXmnEAnp5+AFxocgCJnaoAmp2lACYvNgAzOT0Ap6qrAKirrACnp4MAoKWWAHR0 + dAByd3kAj4+PANLV2QBQT10AQ1JfAFteXwBhYWEAYGZqAGdsbwCCg0kAkZFaAFJohABofZEAOUpOACJE + UABlgZUADJquAD6luQBtcnUAztDSAJ+ifwC8vKwAoayxAABIVQBZuLwAbG1MAAAAAAAzx9EAFzdAAH+B + dQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + 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 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAUAAAANAAAADQAAAAMAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAGAAAAFQAAAC0AAABMAQEB + ZQEBAVQAAAAjAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAACQAAABkAAAAyAAAA + UwICAn4eHh6wPT092mBgYPItOkfVAAAAUwAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAwAAAAdAAAA + NwAAAFwDAwOIJSUluUJCQt9cXFz4ZmZm/2ZmZv+VlZX/PEZR8gAAAG8AAAANAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAOAAAA + IQAAAD8AAABlBgYGkS8vL8FISEjmYGBg/GZmZv9mZmb/ZmZm/2ZmZv+UlJT/paWl/z9IUPQAAABzAAAA + DQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAA + EAAAACcAAABHAAAAbRAQEJlJSUnKioqK7MrKyv6np6f/ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv9mZmb/0dHR + /6Wlpf8/SFD0AAAAcwAAAA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAA + BwAAABUAAAAtAAAATQEBAXQaGhqkV1dX052dnfHS0tL+4uLi/+Li4v/h4eH/cnJy/2ZmZv9mZmb/ZmZm + /2ZmZv9mZmb/k5OT/+Li4v+lpaX/P0hQ9AAAAHMAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAA + EAAAAAsAAAACAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AgAAAAkAAAAZAAAAMgAAAFMDAwN+IyMjsGtra9qpqan009PT/+Li4v/i4uL/4uLi/+Li4v/i4uL/tra2 + /2ZmZv9mZmb/ZmZm/2ZmZv9mZmb/ZmZm/8LCwv/i4uL/paWl/z9IUPQAAABzAAAADQAAAAAAAAAAAAAA + AAAAAAAAAAAJAAAANwgICmEAAABWAAAAOwAAAC4AAAAdAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAMAAAAMAAAAHQAAADcAAABcBQUFiTMzM7l5eXnftra2+NnZ2f/i4uL/4uLi/+Li4v/i4uL/4uLi + /+Li4v/i4uL/4uLi/3p6ev9mZmb/ZmZm/2ZmZv9mZmb/ZmZm/4WFhf/h4eH/4uLi/6Wlpf8/SFD0AAAA + cwAAAA0AAAAAAAAAAAAAAAAAAAADAAAAMjw5S6ZSTWj6IB4p2wEMD8UAKTC3AAECgQAAAEAAAAAQAAAA + AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAABAAAACwAAACAAAAA/AAAAZQkJCZFCQkLAiIiI5sHBwfvf39//4uLi/+Li4v/i4uL/4uLi + /+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/8XFxf9nZ2f/ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv/CwsL/4uLi + /+Li4v+mpqb/P0hQ9AAAAHMAAAANAAAAAAAAAAAAAAAAAAAAGxsaIoBqZIX6UUxm/1FMZv8mTGD/AFZm + /wA/SvIACgy0AAAAXwAAACAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAGQAAAFMSEhKUVFRUyZOTk+zHx8f94uLi/+Li4v/i4uL/4uLi + /+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v+IiIj/ZmZm/2ZmZv9mZmb/ZmZm + /2ZmZv93d3f/4eHh/+Pj4//j4+P/jY2N/z9IUPQAAABzAAAADQAAAAAAAAAAAAAACgEBAlNlYIDiU05o + /1FMZv9QTGb/EFRm/wBWZv8AVmb/AFBf/AAcItUAAACCAAAANwAAAAwAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACC8vL1Gvr6/d0dHR/eHh4f/i4uL/4uLi + /+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/S0tL/aGho + /2ZmZv9mZmb/ZmZm/2ZmZv9mZmb/s7Oz/+Pj4//j4+P/4+Pj/4eHh/8/SFD0AAAAcgAAAA0AAAAAAAAA + AgAAAC5GQlixYVx7/1FMZv9RTGb/NlBm/wBWZv8AVmb/AFZm/wBWZv8AVWX+ADZB7QAJC6cAAABUAAAA + GgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBtbW2I4eHh + /+Hh4f/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi + /+Li4v/i4uL/l5eX/2ZmZv9mZmb/ZmZm/2ZmZv9mZmb/d3d3/+Hh4f/j4+P/4+Pj/+Pj4/+Hh4f/QEhR + 8QAAAGoAAAAMAAAAAAAAABIZFx9xa2WH9VFMZv9RTGb/SVBp/wdZa/8AVmb/AFZm/wBWZv8AVmb/AFZm + /wBWZv8AR1X6ABccygAAAHcAAAAwAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAUh4eHneLi4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi + /+Li4v/i4uL/4uLi/+Li4v/i4uL/29vb/2pqav9mZmb/ZmZm/2ZmZv9mZmb/ZmZm/7Gxsf/j4+P/4+Pj + /+Pj4//j4+P/h4eH/zxAROkAAABeAAAACAAAAAIAAAAxZmF/xZ2Vwf9qZIP/UExm/xhWav8AVmb/AFZm + /wBWZv8AVmb/AFZm/wBWZv8AVmb/AFZm/wBVZP4AMTrnAAQFkAAAADMAAAAEAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF4ODg6Li4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi + /+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4+Pj/6enp/9mZmb/ZmZm/2ZmZv9mZmb/ZmZm + /25ubv/a2tr/4+Pj/+Pj4//j4+P/5OTk/4eHh/80NzrhAAAAUwAAAAUAAAAFOTZITdrS6vnZz/v/vbTm + /0mAoP8AboP/AFxu/wBWZv8AVmb/AFZm/wBWZv8AVmb/AFZm/wBWZv8AVmb/AFZm/wA8R+wAAACCAAAA + JQAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB6RkZGy4uLi/+Li4v/i4uL/4uLi + /+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/j4+P/4+Pj/+Hh4f96enr/ZmZm + /2ZmZv9mZmb/ZmZm/2ZmZv+kpKT/4+Pj/+Tk5P/k5OT/5OTk/+Tk5P+Hh4f/KDE73wAAAFEAAAAFAAAA + AQMDAxyLi4uN2dbg8bTU8P8gudX/B5Ww/wF7kv8AZnn/AFhp/wBWZv8AVmb/AFZm/wBWZv8AVmb/AFZm + /wBWZv8GUWD+Ehcb3wAAAH4AAAAwAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlsbGx + yeLi4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4+Pj/+Pj4//j4+P/4+Pj + /+Pj4/+3t7f/ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv9ubm7/29vb/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/h4eH + /ygxO98AAABRAAAABQAAAAAAAAACAAAALRB3g8Ek8PX/OPj+/yvY7v8Pqcb/A4qj/wByh/8AX3H/AFZm + /wBWZv8AVmb/AFZm/wBWZv8AVmb/Ik1b/zdHU/4gKTDoAQEBmwAAAEkAAAAUAAAAAQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAK62trc3i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4+Pj + /+Pj4//j4+P/4+Pj/+Pj4//j4+P/e3t7/2ZmZv9mZmb/ZmZm/2ZmZv9mZmb/t7e3/+Tk5P/k5OT/5OTk + /+Tk5P/k5OT/5eXl/4eHh/8oMTvfAAAAUQAAAAUAAAAAAAAAAAAAABABq62JBfLz8A/7//8k+f//Mu77 + /xzD3v8Im7b/AYCX/wBqff8AWmv/AFZm/wBWZv8AVmb/BFRk/zZIVP84SFT/OEhU/ys4QfYMDxK9AAAA + ZgAAACMAAAAFAAAAAAAAAAAAAAAAAAAAAQAAADW4uLja4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi + /+Li4v/j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/0NDQ/2dnZ/9mZmb/ZmZm/2ZmZv9mZmb/kJCQ + /+Pj4//k5OT/5eXl/+Xl5f/l5eX/5eXl/+Xl5f+Hh4f/KDE73wAAAFEAAAAFAAAAAAAAAAAAAAACAAAA + GABDQ1UCvr67B/v8/BL4//8n9P7/J9zy/xCwzf8Ej6n/AHeN/wBidP8AV2f/AFVl/x9OW/84SFT/OEhU + /zhIVP84SFT/NEJO/RYdItkAAACFAAAAOAAAAAwAAAAAAAAAAAAAAAIAAAA+0tLS7uLi4v/i4uL/4uLi + /+Li4v/i4uL/4uLi/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/5OTk/6+vr/9mZmb/ZmZm + /2ZmZv9mZmb/bm5u/9TU1P/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/h4eH/ygxO98AAABRAAAA + BQAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAJgBubnED3NzZCPv//xb0//8m6vz/G8jk/wigvf8BhJ3/AG6C + /xFVZP84SFT/OEhU/zhIVP84SFT/OEhU/zhIVP83R1L+JC427gYICagAAABSAAAAGAAAAAIAAAADAAAA + RtDQ0O/i4uL/4uLi/+Li4v/i4uL/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//k5OT/5OTk + /+Tk5P+Li4v/ZmZm/2ZmZv9mZmb/ZmZm/6+vr//l5eX/5eXl/+Xl5f/l5eX/5ubm/+bm5v/m5ub/5ubm + /4eHh/8oMTvfAAAAUQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAOAAUFNAGJiYwD7/DtCvj/ + /xju/v8g2/b/ELbU/w+Npv9HZHX/QFJg/zhIVP84SFT/OEhU/zhIVP84SFT/OEhU/zhIVP8uPEb5DhIV + xwAAAHAAAAAqAAAADRsbG1XW1tb14uLi/+Li4v/i4uL/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj + /+Tk5P/k5OT/5OTk/+Tk5P/i4uL/bm5u/2ZmZv9mZmb/ZmZm/4CAgP/j4+P/5eXl/+bm5v/m5ub/5ubm + /+bm5v/m5ub/5ubm/+bm5v+FhYX/KDE73wAAAFEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAMAAAAVACcnSAG2trAE9/n4DPP//zPk/f91utX/cpGo/1x1if9IXW3/O0xY/zhIVP84SFT/OEhU + /zhIVP84SFT/OEhU/zVET/4dJSvhAQECkQAAAEk4ODh24uLi/+Li4v/j4+P/4+Pj/+Pj4//j4+P/4+Pj + /+Pj4//j4+P/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/l5eX/w8PD/2ZmZv9mZmb/ZmZm/2hoaP/Gxsb/5ubm + /+bm5v/m5ub/5ubm/+bm5v/n5+f/5+fn/+fn5//n5+f/aGho/ygxO98AAABRAAAABQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAgAENDWAKur6dkiJnMqNLs/KDH4/9/obv/ZoOZ + /1Jpe/9AU2H/OEhU/zhIVP84SFT/OEhU/zhIVP84SFT/OEhU/yg0PfMFBwi7IyMjwOLi4v/j4+P/4+Pj + /+Pj4//j4+P/4+Pj/+Pj4//k5OT/5OTk/+Tk5P/k5OT/5OTk/+Xl5f/l5eX/5eXl/6Ojo/9mZmb/ZmZm + /2ZmZv+dnZ3/5ubm/+bm5v/n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//o6Oj/6Ojo/2hoaP8oMTvfAAAA + UQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAVAAAA + LzA+RnmNtMvkqNLv/46zz/9ykqn/XHaK/0ldbf87TFj/OEhU/zhIVP84SFT/OEhU/zhIVP84SFT/MT9K + /Tk9Qf3j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//k5OT/5OTk/+Tk5P/k5OT/5eXl/+Xl5f/l5eX/5eXl + /+Xl5f97e3v/ZmZm/2ZmZv9ycnL/3d3d/+fn5//n5+f/5+fn/+fn5//o6Oj/6Ojo/+jo6P/o6Oj/6Ojo + /+jo6P9oaGj/KDE73wAAAFEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAEAAAARCQsNQlZufqehy+j4ncXj/3+ivP9nhJr/Ump8/0BTYf84SFT/OEhU + /zhIVP84SFT/OEhU/zhIVP86Slb/iZKY/+Dg4P/j4+P/4+Pj/+Tk5P/k5OT/5OTk/+Tk5P/l5eX/5eXl + /+Xl5f/l5eX/5ubm/+bm5v/Y2Nj/aWlp/2ZmZv9mZmb/vr6+/+fn5//o6Oj/6Ojo/+jo6P/o6Oj/6Ojo + /+np6f/p6en/6enp/+np6f/p6en/aGho/ygyO90AAABOAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAfIiwyZ3aXrdCkz+7/jrPP + /3OTq/9deIv/SV5u/ztMWf84SFT/OEhU/zhIVP84SFT/OEhU/zhIVP9hbXb/x8rM/+Tk5P/k5OT/5OTk + /+Tk5P/l5eX/5eXl/+Xl5f/m5ub/5ubm/+bm5v/m5ub/vLy8/2ZmZv9mZmb/ioqK/+fn5//o6Oj/6Ojo + /+np6f/p6en/6enp/+np6f/p6en/6urq/+rq6v/q6ur/6urq/2hoaP8pMTrVAAAARAAAAAMAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAwCAwQzSV5rlI+20e6bxOL/gKO9/2iGnP9Ta33/QVNh/zhIVf84SFT/OEhU/zhIVP84SFT/OEhU + /0ZUX/+nrbH/5OTk/+Xl5f/l5eX/5eXl/+Xl5f/m5ub/5ubm/+bm5v/n5+f/5+fn/5SUlP9mZmb/aGho + /9TU1P/p6en/6enp/+np6f/q6ur/6urq/+rq6v/q6ur/6urq/+vr6//r6+v/6+vr/+vr6/9oaGj/Gh4i + xgAAADkAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAABgPExZPbYyfuZrE4vyOtNH/dJSt/155jf9JX2//O0xZ + /zhIVP84SFT/OEhU/zhIVP84SFT/OkpW/3qEi//Y2tr/5eXl/+bm5v/m5ub/5ubm/+fn5//n5+f/6Ojo + /+Xl5f9zc3P/ZmZm/6qqqv/p6en/6urq/+rq6v/q6ur/6+vr/+vr6//r6+v/6+vr/+vr6//s7Oz/7Ozs + /+zs7P/s7Oz/aGho/w0YI8EAAAA0AAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAACYyQEl2iK7H + 35jB4P+BpL//aYee/1Rsfv9BVGL/OEhV/zhIVP84SFT/OEhU/zhIVP84SFT/VmNt/9XW1//m5ub/5+fn + /+fn5//o6Oj/6Ojo/+jo6P/Ozs7/ZmZm/3l5ef/m5ub/6urq/+vr6//r6+v/6+vr/+zs7P/s7Oz/7Ozs + /+zs7P/t7e3/7e3t/+3t7f/t7e3/7e3t/2hoaP8NGCPBAAAANAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAABAAAAEAIDAzxXcIClmMLf94610/91lq//X3qP/0pgcP87TFn/OEhU/zhIVP84SFT/OEhU + /zhIVP9/jp3/5+fn/+jo6P/o6Oj/6Ojo/+np6f/p6en/lZWV/2ZmZv+4uLj/6+vr/+vr6//s7Oz/7Ozs + /+zs7P/t7e3/7e3t/+3t7f/u7u7/7u7u/+7u7v/u7u7/7+/v/+/v7/9oaGj/DRgjwQAAADQAAAABAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAHRsjKF10lavPmcPi/4Kmwv9riaD/VW6A + /0FUY/84SFX/OEhU/zhIVP84SFT/Mkle/7C5w//o6Oj/6enp/+np6f/q6ur/5+fn/3Nzc/+Hh4f/6+vr + /+zs7P/t7e3/7e3t/+3t7f/u7u7/7u7u/+7u7v/v7+//7+/v/+/v7//v7+//8PDw//Dw8P/w8PD/aGho + /w0YI8EAAAA0AAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAwQF + MUZaZouIr8rvj7jW/3eZsv9gfJH/S2Fx/ztMWf84SFT/M0dX/yZFZP80UnD/1tnc/+rq6v/q6ur/6+vr + /9DQ0P9paWn/y8vL/+3t7f/t7e3/7u7u/+7u7v/v7+//7+/v/+/v7//w8PD/8PDw//Dw8P/x8fH/8fHx + //Hx8f/x8fH/8fHx/2hoaP8NGCPBAAAANAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAIAAAAbERQWf6vBz/qWv9z/hKnF/2yLo/9Wb4L/QlVj/zFHW/8kRWb/JEVm + /1Rthv/o6en/7Ozs/+zs7P+vr6//l5eX/+7u7v/u7u7/7+/v/+/v7//w8PD/8PDw//Hx8f/x8fH/8fHx + //Ly8v/y8vL/8vLy//Ly8v/z8/P/8/Pz/+bm5v9nZ2f/DRgjwQAAADQAAAABAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACEBAQGfm5ub/zdPY/6fI3v+PuNb/eJq1 + /0ZvlP8sUXX/JEVn/yRFZv8kRWb/bn2M/+rq6v/t7e3/l5eX/+Tk5P/v7+//8PDw//Dw8P/x8fH/8fHx + //Ly8v/y8vL/8/Pz//Pz8//z8/P/9PT0//T09P/09PT/9PT0//T09P/T09P/ZmZm/w0YI8EAAAA0AAAA + AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAk9PT1s5+fn + /+jo6P/h4uT/prrM/6DA2/9xpNX/XZLG/0Jyov8rU3v/JEZn/xs0Tf+doaX/6+vr/8HBwf/w8PD/8fHx + //Hx8f/y8vL/8/Pz//Pz8//09PT/9PT0//T09P/19fX/9fX1//X19f/29vb/9vb2//b29v/29vb/1NTU + /2ZmZv8NGCPBAAAANAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAOSEhIe+jo6P/p6en/6enp/+rq6v/r6+v/6+vr/+zs7P/k6e7/3uXs/7jH1/9ueYX/Pj4+ + /8bGxv/t7e3/8vLy//Pz8//z8/P/9PT0//T09P/19fX/9fX1//b29v/29vb/9/f3//f39//39/f/+Pj4 + //j4+P/4+Pj/+Pj4/9bW1v9mZmb/DRgjwQAAADQAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE4yMjJnp6en/6urq/+rq6v/r6+v/7Ozs/+3t7f/t7e3/7u7u + /+/v7//w8PD/8fHx//Hx8f/y8vL/8/Pz//T09P/09PT/9fX1//b29v/29vb/9/f3//f39//4+Pj/+Pj4 + //n5+f/5+fn/+fn5//r6+v/6+vr/+vr6//r6+v/Y2Nj/ZmZm/w0YI8EAAAA0AAAAAQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABWIiIie6urq/+vr6//r6+v/7Ozs + /+3t7f/u7u7/7+/v//Dw8P/x8fH/8fHx//Ly8v/z8/P/9PT0//X19f/29vb/9vb2//f39//4+Pj/+Pj4 + //n5+f/5+fn/+vr6//r6+v/7+/v/+/v7//v7+//8/Pz//Pz8//z8/P/8/Pz/2dnZ/2ZmZv8NGCO+AAAA + MwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAagoKC + pevr6//s7Oz/7e3t/+7u7v/v7+//8PDw//Dw8P/x8fH/8vLy//Pz8//09PT/9fX1//b29v/39/f/+Pj4 + //j4+P/5+fn/+vr6//v7+//7+/v//Pz8//z8/P/9/f3//f39//7+/v/+/v7//v7+//7+/v/+/v7//v7+ + /9vb2/9mZmb/DhkltgAAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAIrW1tcPs7Oz/7e3t/+7u7v/v7+//8PDw//Hx8f/y8vL/8/Pz//T09P/19fX/9vb2 + //f39//4+Pj/+fn5//r6+v/7+/v/+/v7//z8/P/9/f3//v7+//7+/v/+/v7//v7+//////////////// + ///////////////////////b29v/Y2Rm/wIDBaMAAAAiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACi2trbK7u7u/+/v7//w8PD/8fHx//Ly8v/z8/P/9PT0 + //X19f/29vb/9/f3//j4+P/5+fn/+vr6//v7+//8/Pz//f39//7+/v/+/v7//v7+//////////////// + ////////////////////////////////////////////29vb/1ZeZv8AAQGaAAAAHgAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAws7Ozz+/v7//w8PD/8fHx + //Ly8v/09PT/9fX1//b29v/39/f/+Pj4//r6+v/7+/v//Pz8//39/f/+/v7//v7+//7+/v////////// + /////////////////////////////////////////////////////////////////9vb2/9WXmb/AAEB + mQAAAB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAA + Qdra2uvx8fH/8vLy//Pz8//09PT/9vb2//f39//4+Pj/+fn5//v7+//8/Pz//f39//7+/v/+/v7///// + //////////////////////////////////////////////////////////////////////////////// + ///////b29v/Vl5m/wABAZkAAAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAACAkJA1psbFP3kpKC/8HBuv/q6un/9vb2//j4+P/5+fn/+vr6//z8/P/9/f3//v7+ + //7+/v////////////////////////////////////////////////////////////////////////// + ////////////////////////////29vb/1ZeZv8AAQGZAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApCQh11cnIx/1xcJf9LSx3/SEgj/2hoT/+YmIr/ycnE + //Ly8v/+/v7//v7+//////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////8HBwf9WXmb/AAEBmQAAAB0AAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFPj4fR7q6XfKwsFj/mppK + /4ODPP9sbC7/V1ci/0hIHf9ISCX/ampT/5qajf/MzMb/9PT0//////////////////////////////// + //////////////////////////////////////////////////////////////////////+1tbX/Vl5m + /wABAZkAAAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAABAeHg5HbW00mpqaTs23t1z1vr5i/6ysV/+VlUn/fn46/2ZmK/9SUiD/RkYb/0dHJP9qalP/mpqN + /8zMxv/09PT///////////////////////////////////////////////////////////////////// + ////////////tbW1/1ZeZv8AAQGZAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAABMAAAApDg4GSlhYKoWRkUi9sbFa7sfHaP+6umL/qKhX + /5GRR/94eDf/X18n/05OH/9DQxv/RUUk/2lpU/+amo3/zMzG//X19f////////////////////////// + /////////////////////////////////7W1tf9WXmb/AAEBmQAAAB0AAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAOAAAA + IAcHAj4+Phttfn4+q6urV9/Hx2f8xcVp/7i4Y/+kpFb/i4tF/3BwMv9aWiT/S0sd/0FBGv9ERCP/aWlS + /5qajf/MzMb/9fX1//////////////////////////////////////+1tbX/Vl5m/wABAZkAAAAdAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAACAAAACgAAABkAAAAyGxsMWmxsM52hoVDVvr5i9svLbf/Dw2v/tbVk + /5+fVP+EhEH/aWkt/1VVIv9JSRz/QEAZ/0NDIv9paVL/mpqN/8zMxv/19fX/////////////////tbW1 + /1ZeZv8AAQGZAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAcAAAAUAAAA + KwwMBUxVVSeMj49GwrS0W+/NzWz/yclu/8LCbf+xsWL/mJhQ/3x8O/9iYin/UlIg/0ZGG/8+Phn/QkIi + /2xsV/+dnZL/2NjU/7S0tP9MU1T/AAEBnAAAAB8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAADwAAACIGBgJAPj4adnt7PK2np1Tkycln/8zMbv/IyHD/v79t + /6qqXv+QkEr/cnI0/1xcJv9PTx//REQa/z4+Gf9FRSr/Njgb/wABAKUAAAAlAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAsAAAAbAQEA + NRYWCV1qajGenp5M1by8X/fMzGz/yspv/8fHcv+6umr/oqJZ/4aGQ/9paS3/ODgW/zg4Fv8UFAitAAAA + JgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAEAAAAHAAAAFAAAACsJCQNLUVEkjoqKQcqxsVfwyspo/8rKbP/IyHD/xMRx + /zo6F/84OBb/AQEAjwAAAB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAABAAAAAkBAQB + Qjs7GHmAgDu2oaFN5sbGYv9RUSr/Ly8S5QAAAFsAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAMAAAAMAAAAHAEBADcoKBBnMzMUlhMTB2YAAAAgAAAAAQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAACAAAABAAAAANAAAA + AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//// + /////////////////////////////////////8H////////+AP////////AA////////gAD///////wA + AP//////wAAA//////4AAAD4P///8AAAAPAP//+AAAAA4AP//AAAAADgAf/4AAAAAMAA//gAAAAAgAA/ + +AAAAACAAB/4AAAAAAAAD/gAAAAAAAAH+AAAAAAAAAP4AAAAAIAAAPgAAAAAwAAAcAAAAADAAAAwAAAA + APAAAAAAAAAA+AAAAAAAAAD+AAAAAAAAAP+AAAAAAAAA/+AAAAAAAAD/+AAAAAAAAP/+AAAAAAAA//+A + AAAAAAD//8AAAAAAAP//8AAAAAAA///4AAAAAAD///4AAAAAAP///4AAAAAA////wAAAAAD////gAAAA + AP///+AAAAAA////4AAAAAD////gAAAAAP///+AAAAAA////4AAAAAH////gAAAAAf///+AAAAAB//// + wAAAAAH////AAAAAAf///8AAAAAB////wAAAAAH////AAAAAAf///+AAAAAB////8AAAAAH////+AAAA + Af/////AAAAB//////gAAAH//////4AAAf//////8AAB///////+AAH////////gAf////////wB//// + /////4P///////////////////////////////8oAAAAMAAAAGAAAAABACAAAAAAAIAlAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAGAAAAFAAAACsAAABCAAAAOgAAABgAAAACAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAJAAAAGAAAADEAAABTBAQEfCQkJK9HR0fSNj5H + wwAAAEcAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAALAAAAHAAAADcAAABaBgYGhSoqKrhFRUXfXV1d + +GZmZv+UlJT/SE9W8gAAAGoAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAOAAAAIQAAAD4AAABiDg4Oj01NTcGRkZHmaWlp + +2ZmZv9mZmb/ZmZm/2xsbP/MzMz/SU9V9QAAAHEAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAA + AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAARAAAAJQAAAEQAAABqEhISmV1dXcqenp7sz8/P + /eLi4v+/v7//ZmZm/2ZmZv9mZmb/ZmZm/56env/V1dX/SU9V9QAAAHEAAAAOAAAAAAAAAAAAAAAAAAAA + BQAAACAAAAAzAAAALQAAAB0AAAAOAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAcAAAAUAAAAKwAAAEsAAABzJSUlo2xsbNKpqanx2NjY + /uLi4v/i4uL/4uLi/+Hh4f+IiIj/ZmZm/2ZmZv9mZmb/aWlp/9HR0f/V1dX/SU9V9QAAAHEAAAAOAAAA + AAAAAAAAAAABAAAAJSknNIE5NkjHBAQGrgAYHJQAAABfAAAAKQAAAAcAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAASAAAALwAAAFMAAAB7NDQ0rn9/f9mzs7P13d3d + /+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/87Ozv9mZmb/ZmZm/2ZmZv9mZmb/lpaW/+Li4v/V1dX/SU9V + 9QAAAHEAAAAOAAAAAAAAAAAAAAATDAsPaV9aeO5RTGb/Oklf/gBVZf4AMzzeAAUGkQAAAEIAAAARAAAA + AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkKCgpdQ0NDsIyMjOC/v7/54ODg + /uLi4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/5SUlP9mZmb/ZmZm/2ZmZv9mZmb/ysrK + /+Pj4//ExMT/SU9V9QAAAHEAAAAOAAAAAAAAAAUAAABBUU1mylRPav9RTGb/H1Jm/wBWZv8AVmb/AEZT + 9QATFrYAAABhAAAAIgAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAD7ExMTk4eHh + /+Hh4f/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/1tbW/2xsbP9mZmb/ZmZm + /2ZmZv+Li4v/4+Pj/+Pj4/+/v7//SU9W9AAAAGwAAAANAAAAAAAAAB0pJzSOYVt6/FFMZv89Umv/AVZm + /wBWZv8AVmb/AFZm/wBTY/0AKTDYAAEBhAAAADYAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + BwICAlXh4eH/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/pKSk + /2ZmZv9mZmb/ZmZm/2ZmZv/IyMj/4+Pj/+Pj4/+/v7//SExP7wAAAGMAAAAKAAAABAAAADaOh6zakYqz + /1VWcv8LWWv/AFZm/wBWZv8AVmb/AFZm/wBWZv8AVmb/AENP7wARFZkAAAA3AAAABgAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAACQICAmHi4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi + /+Li4v/g4OD/cXFx/2ZmZv9mZmb/ZmZm/4CAgP/i4uL/4+Pj/+Pj4//AwMD/P0JG6AAAAFsAAAAHAAAA + AyYkMDfTzdne4Nf7/kOjxf8CfJP/AGFz/wBWZv8AVmb/AFZm/wBWZv8AVmb/AFZm/wI7RvAAAQGTAAAA + NwAAAAsAAAAAAAAAAAAAAAAAAAAAAAAADEVFRXfi4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi + /+Li4v/i4uL/4+Pj/+Pj4/+1tbX/ZmZm/2ZmZv9mZmb/ZmZm/76+vv/k5OT/5OTk/+Tk5P/AwMD/OUBG + 5gAAAFgAAAAHAAAAAAAAABAAAwNiN8jR9jPz+/8fxd3/BpGr/wBwhP8AW2v/AFZm/wBWZv8AVmb/AFZm + /yVMWf8pNT7wBQcIowAAAE8AAAAXAAAAAgAAAAAAAAAAAAAAEFBQUIXi4uL/4uLi/+Li4v/i4uL/4uLi + /+Li4v/i4uL/4uLi/+Pj4//j4+P/4+Pj/+Pj4/96enr/ZmZm/2ZmZv9mZmb/i4uL/+Tk5P/k5OT/5OTk + /+Tk5P/AwMD/OUBG5gAAAFgAAAAHAAAAAAAAAAIAGxwnArS0pwr2+Pgg+f7/KeLz/xCsyP8Cgpr/AGV4 + /wBXZ/8AVmb/BlRj/zdIVP84SFT/MkBL+hIYHMUAAABsAAAAJwAAAAYAAAAAAAAAFW5ubpfi4uL/4uLi + /+Li4v/i4uL/4uLi/+Li4v/j4+P/4+Pj/+Pj4//j4+P/4+Pj/87Ozv9mZmb/ZmZm/2ZmZv9sbGz/2dnZ + /+Tk5P/l5eX/5eXl/+Xl5f/AwMD/OUBG5gAAAFgAAAAHAAAAAAAAAAAAAAAFAAAAJAA0NGUDxsfMDPn+ + /iHw/f8cyuT/B5i0/wB1i/8AXW7/KUtY/zhIVP84SFT/OEhU/zdHU/4fKC/gAgMEjQAAAD0AAAAOAAAA + HH9/f6bi4uL/4uLi/+Li4v/i4uL/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/5OTk/6ysrP9mZmb/ZmZm + /2ZmZv+ysrL/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/BwcH/OUBG5gAAAFgAAAAHAAAAAAAAAAAAAAAAAAAA + AQAAAA4AAAA0AG1thQTe3+MQ9P7+HN/3/w+z0P8seY//Q1dl/zhJVf84SFT/OEhU/zhIVP84SFT/LTpD + 8wgLDa4AAABYAAAAPYqKirfi4uL/4uLi/+Li4v/j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Tk5P/k5OT/5OTk + /4qKiv9mZmb/ZmZm/4GBgf/k5OT/5eXl/+bm5v/m5ub/5ubm/+bm5v+9vb3/OUBG5gAAAFgAAAAHAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAFgAAAEMBm5uiBefr7FnV7fuRudP/bIqg/09md/88Tlr/OEhU + /zhIVP84SFT/OEhU/zRDT/wXHiPQAAAAno6Ojt/i4uL/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//k5OT/5OTk + /+Tk5P/k5OT/4ODg/2tra/9mZmb/Z2dn/8zMzP/m5ub/5ubm/+bm5v/n5+f/5+fn/+fn5/+rq6v/OUBG + 5gAAAFgAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAdAA0NQhkgJXp/obbWosvn + /n2fuP9deIv/RFdm/zhJVf84SFT/OEhU/zhIVP83R1P+ISsy+YiJif3j4+P/4+Pj/+Pj4//j4+P/5OTk + /+Tk5P/k5OT/5OTk/+Xl5f/l5eX/wMDA/2ZmZv9mZmb/np6e/+fn5//n5+f/5+fn/+fn5//o6Oj/6Ojo + /+jo6P+rq6v/OUBG5gAAAFgAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AwAAABEAAAA7QlRgmJW81/GRt9P/bYui/1Bnef88Tlv/OEhU/zhIVP84SFT/OEhU/1Nha//FyMr/4+Pj + /+Pj4//k5OT/5OTk/+Tk5P/l5eX/5eXl/+Xl5f/m5ub/oaGh/2ZmZv93d3f/4eHh/+jo6P/o6Oj/6Ojo + /+jo6P/p6en/6enp/+np6f+srKz/OkBH5AAAAFMAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAHg0RFFpsip7CmMHe/n6guv9eeY3/RFhn/zhJVf84SFT/OEhU + /zhIVP8+Tln/mZ+l/+Tk5P/k5OT/5eXl/+Xl5f/l5eX/5ubm/+bm5v/n5+f/e3t7/2ZmZv++vr7/6Ojo + /+np6f/p6en/6enp/+rq6v/q6ur/6urq/+rq6v+srKz/Nzs+3AAAAEsAAAAEAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAvMD1Gf4Wqw+KQt9T/bo2l + /1Foev88Tlv/OEhU/zhIVP84SFT/OEhU/3B6g//V1tf/5eXl/+bm5v/m5ub/5+fn/+fn5//Z2dn/Z2dn + /42Njf/o6Oj/6urq/+rq6v/q6ur/6+vr/+vr6//r6+v/7Ozs/+zs7P+tra3/Jy821AAAAEMAAAADAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAA + FQQGB0dac4OrkbjV+H+ivf9ge5D/RVlo/zhJVf84SFT/OEhU/zhIVP9LWWT/2drc/+fn5//n5+f/6Ojo + /+jo6P+wsLD/aGho/9nZ2f/r6+v/6+vr/+vr6//s7Oz/7Ozs/+3t7f/t7e3/7e3t/+3t7f+urq7/KC82 + 0gAAAEIAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAYAAAAkGyMnaXeYr9KOttP+cJCo/1JqfP89Tlv/OEhU/zhIVP84SFT/coOT + /+jo6P/o6Oj/6enp/+rq6v+Dg4P/oaGh/+zs7P/s7Oz/7e3t/+3t7f/u7u7/7u7u/+7u7v/v7+//7+/v + /+/v7/+vr6//KC820gAAAEIAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAADwAAADlFWWWXharF84Glwf9hfZL/Rlpp + /zhJVf80R1f/J0Zl/6Ouuv/q6ur/6+vr/+Dg4P9ycnL/4+Pj/+3t7f/u7u7/7u7u/+/v7//v7+//8PDw + //Dw8P/x8fH/8fHx//Hx8f+wsLD/KC820gAAAEIAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAApQURF + prnP3f+OttL/cpOs/1Jrfv8xSmL/JEVm/ypKav/L0NX/7Ozs/8HBwf+4uLj/7u7u/+/v7//w8PD/8PDw + //Hx8f/y8vL/8vLy//Ly8v/z8/P/8/Pz//Pz8/+hoaH/KC820gAAAEIAAAADAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAUbW1tl+fn5//S2t//lLTO/22dyf88cqj/KlF4/yRFZv80S2L/3t/f/8DAwP/u7u7/8PDw + //Hx8f/y8vL/8/Pz//Pz8//09PT/9PT0//X19f/19fX/9fX1//b29v+YmJj/KC820gAAAEIAAAADAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAZd3d3oujo6P/p6en/6urq/+rq6//p6+z/1ODt/7/N3P9xfIb/i4uL + /+Pj4//y8vL/8/Pz//T09P/09PT/9fX1//b29v/29vb/9/f3//f39//4+Pj/+Pj4//j4+P+ZmZn/KC82 + 0gAAAEIAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfmJiYterq6v/r6+v/7Ozs/+3t7f/u7u7/7+/v + //Dw8P/x8fH/8vLy//Pz8//09PT/9fX1//b29v/39/f/+Pj4//n5+f/5+fn/+vr6//r6+v/7+/v/+/v7 + //v7+/+ampr/KC830QAAAEEAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAllJSUu+vr6//s7Oz/7e3t + /+/v7//w8PD/8fHx//Ly8v/09PT/9fX1//b29v/39/f/+Pj4//n5+f/6+vr/+/v7//z8/P/8/Pz//f39 + //39/f/+/v7//v7+//7+/v+bm5v/KTA4zQAAADsAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAstbW1 + z+3t7f/u7u7/7+/v//Hx8f/y8vL/9PT0//X19f/29vb/+Pj4//n5+f/6+vr/+/v7//z8/P/9/f3//v7+ + //7+/v/+/v7///////////////////////////+bm5v/HyImwAAAADQAAAABAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAEAAAA1tra21u/v7//w8PD/8vLy//Pz8//19fX/9vb2//j4+P/5+fn/+/v7//z8/P/9/f3//v7+ + //7+/v////////////////////////////////////////////////+bm5v/FBwkugAAAC8AAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAMAAABEzMzM5/Hx8f/z8/P/9PT0//b29v/4+Pj/+fn5//v7+//9/f3//v7+ + //7+/v////////////////////////////////////////////////////////////////+bm5v/FBwk + uQAAAC4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcEBAFSZGRE+IyMeP+5ua7/5+fl//n5+f/7+/v//f39 + //7+/v/+/v7///////////////////////////////////////////////////////////////////// + //////+ampr/FBwkuQAAAC4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYhIQ9Lnp5M/4GBOv9kZCr/T08i + /2dnSP+QkH//wMC4/+/v7v////////////////////////////////////////////////////////// + //////////////////////9/f3//FBwkuQAAAC4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAbWFgr + c42NR8Cnp1TusbFa/peXSv96ejj/XV0n/01NIv9jY0b/kJB//8HBuf/v7+7//v7+//////////////// + //////////////////////////////////////9/f3//FBwkuQAAAC4AAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAACAAAAEAAAACcAAABGPT0ceH19P7KoqFXhu7ti/K2tWv+RkUj/c3M1/1ZWI/9HRx//ZGRI + /5CQf//AwLj/8PDu//////////////////////////////////////9/f3//FBwkuQAAAC4AAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADgAAACAAAAA7Hh4NZm9vN56amk/Vvb1j + +b+/Z/+np1n/iopF/2pqMP9QUCD/R0cg/2BgRv+Pj3//wcG5/+/v7//+/v7///////////9/f3//FBwk + uQAAAC4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAA + CgAAABkAAAAyAwMBVVZWKY+NjUbGtLRe78nJbP+6umb/oaFW/4KCQP9iYir/TEwe/0NDHf9hYUf/kpKE + /8vLxP9zc2z/EhohvAAAADEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAABAAAABwAAABQAAAAqBAQBSTY2GXp+fj23pqZV4sfHaf3Gxm7/s7Nj + /5iYUf93dzn/WVkl/0dHHP86Ohr/GBgKwQAAADQAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAA4AAAAhAAAA + PR8fDGhmZjGjmppM2Ly8YfjKym7/wcFt/5aWUf84OBb/GRkKtAAAAC0AAAABAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAgAAAAoAAAAaAAAANA0NBVlWViaViYlCx6WlUfM4OBr0CwsEcgAAABgAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAcAAAAUAAAAKwAAAEQQEAZQAAAA + IwAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAQAAAAGAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////////////// + ////////4f////////8A////////+AD////////AAP///////gAA///x///wAAD//+A//wAAAP//wB/8 + AAAA///AB/wAAAD//4AD+AAAAP//gAH4AAAA//8AAPgAAAD//wAAeAAAAP//gAAYAAAA//+AAAgAAAD/ + /8AAAAAAAP//4AAAAAAA///4AAAAAAD///4AAAAAAP///4AAAAAA////4AAAAAD////4AAAAAP////wA + AAAA/////wAAAAD/////gAAAAP/////gAAAA//////AAAAD/////8AAAAP/////wAAAA//////AAAAD/ + ////8AAAAP/////gAAAB/////+AAAAH/////4AAAAf/////gAAAB/////+AAAAH/////8AAAAf/////+ + AAAB///////AAAD///////gAAP///////4AA////////8AH////////+Af/////////j//////////// + ////////////KAAAACAAAABAAAAAAQAgAAAAAACAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAA + AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAASAAAA + NAAAAFgAAAA1AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAABgAAAA+AQEB + ehwcHLo6OjrnZGRk+hkgJ68AAAAVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAHQAAAEgEBASHPj4+ + xHJycu1bW1v+ZmZm/2dnZ/+rq6v/HSInzwAAABoAAAAAAAAAAAAAAAUAAAAeAAAAGwAAAAsAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAoAAAAkAAAAUwoKCpRNTU3Oi4uL + 88nJyf7i4uL/pKSk/2ZmZv9mZmb/jIyM/76+vv8dIifQAAAAGgAAAAAAAAACAQEBSTc0RsMKFhzLAAwP + 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 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKbKysuTr6+v/7Ozs/+7u7v/w8PD/8vLy//Pz8//19fX/9vb2 + //j4+P/5+fn/+vr6//v7+//7+/v//Pz8/5iZm/8ECAyhAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0v7+/7e3t7f/v7+//8fHx//T09P/29vb/9/f3 + //n5+f/7+/v//Pz8//39/f/+/v7//v7+//7+/v/+/v7/lpeZ/wEDBZUAAAAGAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAETMzMz18fHx//Pz8//19fX/+Pj4 + //r6+v/8/Pz//v7+//7+/v////////////////////////////////+Pk5f/AAAAiwAAAAQAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBgYCW5OTf/3Cwrn/7+/u + //r6+v/8/Pz//v7+/////////////////////////////////////////////////46Slv8AAACKAAAA + BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfHw9DkpJG + 7ImJQf9qajT/eHhW/5yciv/Ly8P/9/f2////////////////////////////////////////////fYGF + /wAAAIoAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAkCAgA7NTUagXV1O7+Wlk3roaFQ/oCAPv9iYjD/dHRU/5ubiv/Ly8P/9vb2//////////////// + //////99gYX/AAAAigAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEwAAADQfHw5rZ2c0rZKSTOCvr1v7nZ1R/3h4O/9aWiv/cHBS + /5qaiv/Ly8T/9/f2/3yAhP8AAACMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAANAAAAKAkJBFhSUiiaiIhG + 0q6uXfWzs2D/k5NM/21tNP9VVSv/Q0Qq/wICAI8AAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AQAAAAgAAAAdAgIARjY2GYV2djrEo6NV7b29Zv43Nxf7AQEAbwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAABUAAAA3ISEObiAgDncAAAAgAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAABAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAD/////////+f///8D///4A///wAMP/AACA/AAAgHwAAAA8AAAADAAAAAQAAIAAAADAAAAA8AAA + APgAAAD/AAAA/4AAAP/gAAD/8AAA//gAAP/4AAD/+AAA//gAAP/wAAD/+AAA//gAAP/+AAD//8AA///4 + AP///4H////z/////ygAAAAaAAAANAAAAAEAIAAAAAAA+AoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + 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 + //f39//6+vr//Pz8//7+/v/+/v7///////////////////////////9IS079AAAANwAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHZWU6y4mJZ/+qqpr/2trV//39/f////////// + /////////////////////////////////0BER/0AAAA3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAABrazVDhoZDqo+PRuaJiUP+dXVC/4eHaf+srJ3/3NzX//39/f////////// + ////////////ODw//QAAADcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAACAAAAE0FBH0eGhkWTmZlQ16CgUvyCgkH/bGw+/4ODZ/+rq53/3NzX//39/f84Oz/9AAAA + NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAALGxsMM3d3O3yZmVHDq6ta9J6eUv93dzz/ZGQ7/ycoGP4AAAA8AAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAUDAwEgXV0sZY+PSK+Wlk/pISEN2wAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AgAAABQBAQAZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//// + /////D///+A///8AP4P4AD+B8AA/AOAAPwBgAD8AAAA/gAAAP+AAAD/wAAA//AAAP/8AAD//wAA//+AA + P//gAD//4AA//8AAP//AAD//4AA///AAP///AD///+A////8f/////8oAAAAGAAAADAAAAABACAAAAAA + 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 + //4A////4P////3//w== + + + \ No newline at end of file diff --git a/.svn/pristine/91/9172ded236ece64828dfc1f6faa87c8f2c76c6b4.svn-base b/.svn/pristine/91/9172ded236ece64828dfc1f6faa87c8f2c76c6b4.svn-base new file mode 100644 index 0000000..d54996c --- /dev/null +++ b/.svn/pristine/91/9172ded236ece64828dfc1f6faa87c8f2c76c6b4.svn-base @@ -0,0 +1,24 @@ + + + + +Themenmanagement + + + + + + Returns the cached ResourceManager instance used by this class. + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + \ No newline at end of file diff --git a/.svn/pristine/91/91fe848004f9b81159a4cf34a6a3d725967e273b.svn-base b/.svn/pristine/91/91fe848004f9b81159a4cf34a6a3d725967e273b.svn-base new file mode 100644 index 0000000..da32d34 --- /dev/null +++ b/.svn/pristine/91/91fe848004f9b81159a4cf34a6a3d725967e273b.svn-base @@ -0,0 +1,375 @@ +Imports System.Data.SqlClient +Imports System.Data.SqlTypes +Imports System.Drawing +Imports System.Drawing.Color +Imports System.IO +Public Class frmSysadminMenu + +#Region "Deklarationen" + Const CtrlMask As Byte = 8 + Dim todelete(50) As Integer + Dim itodelete As Integer + Dim ssort As Integer + + Dim msg As New Utils.MyMessage +#End Region + +#Region "Formular" + ''' + ''' Load des Formulars + ''' + ''' + ''' + ''' + Private Sub FrmSysadminMenu_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + Dim menu As New db.clsMySysadminfunkion() + menu.LoadTreeMenu(SysMenuTree) + SysMenuTree.ExpandAll() + itodelete = 0 + Me.SysMenuTree.ContextMenu = Me.ContextMenu1 + Me.Height = Me.Parent.ClientSize.Height + End Sub + + ''' + ''' Doppelklick auf einen Eintrag: Es wird geprft, ob in der Tabelle SysadminFunktion im Attribut DomainTable + ''' einen Wert vorhanden ist. Sofern dies der Fall ist, wird der generelle Domain-Table-Editor aufgerufen + ''' + ''' + ''' + ''' + Private Sub SysMenuTree_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles SysMenuTree.DoubleClick + Dim sysadmfnkt As New db.clsSysadminfunktion + Dim wert As String + wert = Me.SysMenuTree.SelectedNode.Tag + If IsNumeric(wert) Then + sysadmfnkt.iSysadminfnktnr = New SqlInt32(CType(wert, Int32)) + sysadmfnkt.cpMainConnectionProvider = Globals.conn + Globals.conn.OpenConnection() + sysadmfnkt.SelectOne() + Globals.conn.CloseConnection(True) + If sysadmfnkt.sDomaintable.Value.IndexOf(";") > -1 Then + 'Verbindungseditor + Dim s As String = sysadmfnkt.sDomaintable.Value + Dim sArray() As String = s.Split(";") + Dim f As New FrmVerbindungEditor(sArray(0), sArray(1), sArray(2), sysadmfnkt.iSysadminfnktnr.Value) + f.Width = sysadmfnkt.iFwidth.Value + f.Height = sysadmfnkt.iFheight.Value + f.Top = sysadmfnkt.iFtop.Value + f.Left = sysadmfnkt.iFleft.Value + f.MdiParent = Me.MdiParent + f.Text = "Verbindungseditor: " + Me.SysMenuTree.SelectedNode.Text + f.Show() + Else + '20090810 - Externe Tabellen mit dem Domaineditor mutieren + If sysadmfnkt.sDomaintable.Value.IndexOf(":") > -1 Then + Dim s As String = sysadmfnkt.sDomaintable.Value + Dim sarray() As String = s.Split(":") + Dim ofile As System.IO.File + Dim oread As System.IO.StreamReader + Dim scstring As String + oread = ofile.OpenText(Application.StartupPath + "\" + sarray(0)) + sCString = oread.ReadLine + scstring = Crypto.DecryptText(scstring, "HutterundMueller") + scstring = Microsoft.VisualBasic.Left(scstring, Len(scstring) - 1) + oread.Close() + + Dim f As New frmDomainEditorExtTables(sarray(1), scstring) + f.MdiParent = Me.MdiParent + f.Text = "TicketXPert-Tabelle:" + sarray(1) + f.Show() + Else + 'Einzelne Domaintable + + If sysadmfnkt.sDomaintable.Value = "ToolTip-Editor" Then + Dim f As New FrmToolTipEditor + f.MdiParent = Me.MdiParent + f.Show() + Exit Sub + End If + If sysadmfnkt.sDomaintable.Value <> "" Then + Dim f As New frmDomainEditor(sysadmfnkt.sDomaintable.Value) + f.MdiParent = Me.MdiParent + f.Width = sysadmfnkt.iFwidth.Value + f.Height = sysadmfnkt.iFheight.Value + f.Top = sysadmfnkt.iFtop.Value + f.Left = sysadmfnkt.iFleft.Value + f.Text = "Tabellen-Editor: " + Me.SysMenuTree.SelectedNode.Text + f.Show() + End If + End If + End If + sysadmfnkt.Dispose() + End If + End Sub + ''' + ''' Schliessen des Formulares + ''' + ''' + ''' + ''' + Private Sub BeendenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BeendenToolStripMenuItem.Click + Me.Close() + End Sub + + + ''' + ''' Fenster schliessen + ''' + ''' + ''' + ''' + Private Sub TSBtnQuit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnQuit.Click + Me.Close() + End Sub +#End Region + +#Region "SysMenuTree" + ''' + ''' Neuer Eintrag im Menu einfgen + ''' + ''' + ''' + ''' + Private Sub MnuNeuerKnoten_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuNeuerKnoten.Click + Dim a As String + Dim tn As New TreeNode() + Dim tnnew As New TreeNode() + a = InputBox(msg.Get_Meldungstext(100)) + If a = "" Then Exit Sub + tn = Me.SysMenuTree.SelectedNode + tnnew = tn.Nodes.Add(a) + With tnnew + .Tag() = 0 + .ImageIndex() = 3 + .SelectedImageIndex() = 3 + End With + tn.ImageIndex = 1 + tn.SelectedImageIndex = 2 + If tn.GetNodeCount(True) > 0 Then + tn.ImageIndex = 1 + tn.SelectedImageIndex = 2 + End If + Me.SysMenuTree.Refresh() + End Sub + ''' + ''' Eintrag im Menu lschen + ''' + ''' + ''' + ''' + Private Sub MnuKnotenLoeschen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuKnotenLoeschen.Click + Dim tn As New TreeNode() + Dim tnp As New TreeNode() + Dim i As Integer + tn = Me.SysMenuTree.SelectedNode + tnp = tn.Parent + If Not (Me.SysMenuTree.SelectedNode Is Nothing) Then + itodelete = itodelete + 1 + todelete(itodelete) = tn.Tag + If msg.Show_MessageYesNo(101) = MsgBoxResult.Yes Then + tn.Remove() + End If + If tnp.GetNodeCount(True) = 0 Then + tnp.ImageIndex = 3 + tnp.SelectedImageIndex = 3 + End If + Me.SysMenuTree.Refresh() + End If + End Sub + ''' + ''' Umbenennen des aktuellen Menu-Eintrages + ''' + ''' + ''' + ''' + Private Sub MenuKnotenRename_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuKnotenRename.Click + Dim a As String + a = InputBox("Neuer Name:") + If a = "" Then Exit Sub + Me.SysMenuTree.SelectedNode.Text = a + End Sub + ''' + ''' Menu Sichern + ''' + ''' + ''' + ''' + Private Sub MnuSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuSave.Click + Dim i As Integer + conn.OpenConnection() + ListNodeCollectionRecursive(Me.SysMenuTree.Nodes(0), 0) + i = conn.CloseConnection(True) + End Sub + ''' + ''' Knoten rekursiv auslesen + ''' + ''' + ''' + ''' + Private Sub ListNodeCollectionRecursive(ByVal tnParent As TreeNode, ByRef iSort As Integer) + Dim tn As TreeNode + If tnParent.GetNodeCount(False) > 0 Then + tn = tnParent.Nodes(0) + Else + tn = Nothing + End If + ssort = 0 + Do Until tn Is Nothing + iSort = iSort + 1 + ListNodeSave(tn, iSort) + If tn.GetNodeCount(False) > 0 Then + Call ListNodeCollectionRecursive(tn, iSort) + End If + tn = tn.NextNode + Loop + End Sub + ''' + ''' einzelner Knoten sichern + ''' + ''' + ''' + ''' + Private Sub ListNodeSave(ByVal tn As TreeNode, ByRef isort As Integer) + Dim dbkey As New db.clsMyKey_Tabelle() + Dim t As DataTable + Dim key As Long + Dim i As Integer + Dim ftop, fleft, fheight, fwidth As Integer + Dim sDomaintable As String = "" + Dim sKeyfields As String = "" + Dim sysadmfnkt As New db.clsSysadminfunktion + dbkey.cpMainConnectionProvider = conn + sysadmfnkt.cpMainConnectionProvider = conn + If tn.Tag <> 0 Then + sysadmfnkt.iSysadminfnktnr = New SqlInt32(CType(tn.Tag, Int32)) + sysadmfnkt.SelectOne() + ftop = sysadmfnkt.iFtop.Value + fleft = sysadmfnkt.iFleft.Value + fwidth = sysadmfnkt.iFwidth.Value + fheight = sysadmfnkt.iFheight.Value + sDomaintable = sysadmfnkt.sDomaintable.Value + sKeyfields = sysadmfnkt.sKeyFields.Value + End If + sysadmfnkt.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) + sysadmfnkt.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) + sysadmfnkt.sBezeichnung = New SqlString(CType(tn.Text, String)) + sysadmfnkt.sBeschreibung = New SqlString(CType("", String)) + sysadmfnkt.iParentID = New SqlInt32(CType(tn.Parent.Tag, Int32)) + sysadmfnkt.iImageIndex = New SqlInt32(CType(tn.ImageIndex, Int32)) + sysadmfnkt.iImageIndexOpen = New SqlInt32(CType(tn.SelectedImageIndex, Int32)) + sysadmfnkt.iSort = New SqlInt32(CType(isort, Int32)) + sysadmfnkt.daErstellt_am = New SqlDateTime(CType(Now, DateTime)) + sysadmfnkt.bAktiv = New SqlBoolean(CType(True, Boolean)) + sysadmfnkt.iSprache = New SqlInt32(CType(1, Int32)) + sysadmfnkt.iMandantnr = New SqlInt32(CType(Globals.clsmitarbeiter.iMandantnr.Value, Int32)) + sysadmfnkt.iFtop = New SqlInt32(CType(ftop, Int32)) + sysadmfnkt.iFleft = New SqlInt32(CType(fleft, Int32)) + sysadmfnkt.iFwidth = New SqlInt32(CType(fwidth, Int32)) + sysadmfnkt.iFheight = New SqlInt32(CType(fheight, Int32)) + sysadmfnkt.sDomaintable = New SqlString(CType(sDomaintable, String)) + sysadmfnkt.sKeyFields = New SqlString(CType(sKeyfields, String)) + + If tn.Tag <> 0 Then + sysadmfnkt.iSysadminfnktnr = New SqlInt32(CType(tn.Tag, Int32)) + sysadmfnkt.Update() + Else + key = dbkey.get_dbkey("sysadminfunktion") + conn.OpenConnection() + sysadmfnkt.iSysadminfnktnr = New SqlInt32(CType(key, Int32)) + sysadmfnkt.Insert() + tn.Tag = key + End If + + For i = 1 To itodelete + sysadmfnkt.iSysadminfnktnr = New SqlInt32(CType(todelete(i), Int32)) + t = sysadmfnkt.SelectOne + If t.Rows.Count > 0 Then + sysadmfnkt.Delete() + End If + Next + End Sub + + Private Sub SysMenutree_DragEnter(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles SysMenuTree.DragEnter + If (e.Data.GetDataPresent("System.Windows.Forms.TreeNode")) Then + If (e.KeyState And CtrlMask) = CtrlMask Then + e.Effect = DragDropEffects.Copy + Else + e.Effect = DragDropEffects.Move + End If + Else + e.Effect = DragDropEffects.None + End If + End Sub + + Private Sub SysMenuTree_ItemDrag(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ItemDragEventArgs) Handles SysMenuTree.ItemDrag + If e.Button = MouseButtons.Left Then + DoDragDrop(e.Item, DragDropEffects.Move Or DragDropEffects.Copy) + End If + End Sub + + Private Sub SysMenuTree_DragDrop(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles SysMenuTree.DragDrop + Dim OriginationNode As TreeNode = CType(e.Data.GetData("System.Windows.Forms.TreeNode"), TreeNode) + + If e.Data.GetDataPresent("System.Windows.Forms.TreeNode", False) Then + Dim pt As Point + Dim DestinationNode As TreeNode + pt = CType(sender, TreeView).PointToClient(New Point(e.X, e.Y)) + DestinationNode = CType(sender, TreeView).GetNodeAt(pt) + DestinationNode.Nodes.Add(CType(OriginationNode.Clone, TreeNode)) + DestinationNode.Expand() + If (e.KeyState And CtrlMask) <> CtrlMask Then + OriginationNode.Remove() + End If + End If + End Sub + +#End Region + +#Region "Spaltentitel generieren" + ''' + ''' Generiert die Spaltentitel in der Tabelle Spalten aufgrund der im Formular frmSysadminTableSelector gewhlten Tabelle + ''' + ''' + ''' + ''' + Private Sub SpaltentitelGenerierenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SpaltentitelGenerierenToolStripMenuItem.Click + Dim f As New frmSysadminTableSelector() + Dim tablename As String + tablename = (f.get_tablename()) + If tablename = "" Then Exit Sub + Generate_Data(tablename) + End Sub + ''' + ''' Ruft die SP zur Spalten-Generierung auf + ''' + ''' + ''' + Private Sub Generate_Data(ByVal tablename As String) + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + Dim dttable As New DataTable(tablename) + scmCmdToExecute.CommandText = "dbo.[sp_update_spalten]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + scmCmdToExecute.Connection = conn.scoDBConnection + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@Tablename", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, tablename)) + scmCmdToExecute.Connection.Open() + scmCmdToExecute.ExecuteNonQuery() + Return + Catch ex As Exception + Throw New Exception(msg.Get_Meldungstext(103), ex) + Finally + scmCmdToExecute.Connection.Close() + End Try + End Sub +#End Region + + Private Sub FrmSysadminMenu_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize + If Me.Width > 300 Then Me.Width = 300 + End Sub + + + + Private Sub SysMenuTree_AfterSelect(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles SysMenuTree.AfterSelect + + End Sub +End Class \ No newline at end of file diff --git a/.svn/pristine/92/92a8ed39e1ff372eb598cbdc0ae44f40f5c781c2.svn-base b/.svn/pristine/92/92a8ed39e1ff372eb598cbdc0ae44f40f5c781c2.svn-base new file mode 100644 index 0000000..07237dc --- /dev/null +++ b/.svn/pristine/92/92a8ed39e1ff372eb598cbdc0ae44f40f5c781c2.svn-base @@ -0,0 +1,510 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'rolle' +' // Generated by LLBLGen v1.21.2003.712 Final on: Dienstag, 1. Januar 2013, 19:36:38 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + ''' + ''' Purpose: Data Access class for the table 'rolle'. + ''' + Public Class clsRolle + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bSysadminrolle, m_bAktiv As SqlBoolean + Private m_daErstellt_am, m_daMutiert_am As SqlDateTime + Private m_iMutierer, m_iRollenr, m_iMandantnr As SqlInt32 + Private m_sBeschreibung, m_sBezeichnung As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iRollenr
  • + '''
  • sBezeichnung. May be SqlString.Null
  • + '''
  • sBeschreibung. May be SqlString.Null
  • + '''
  • bSysadminrolle. May be SqlBoolean.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_rolle_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@irollenr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iRollenr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sbezeichnung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sbeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bsysadminrolle", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bSysadminrolle)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_rolle_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsRolle::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iRollenr
  • + '''
  • sBezeichnung. May be SqlString.Null
  • + '''
  • sBeschreibung. May be SqlString.Null
  • + '''
  • bSysadminrolle. May be SqlBoolean.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_rolle_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@irollenr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iRollenr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sbezeichnung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sbeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bsysadminrolle", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bSysadminrolle)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_rolle_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsRolle::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iRollenr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_rolle_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@irollenr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iRollenr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_rolle_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsRolle::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iRollenr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iRollenr
  • + '''
  • sBezeichnung
  • + '''
  • sBeschreibung
  • + '''
  • bSysadminrolle
  • + '''
  • iMandantnr
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_rolle_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("rolle") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@irollenr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iRollenr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_rolle_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iRollenr = New SqlInt32(CType(dtToReturn.Rows(0)("rollenr"), Integer)) + If dtToReturn.Rows(0)("bezeichnung") Is System.DBNull.Value Then + m_sBezeichnung = SqlString.Null + Else + m_sBezeichnung = New SqlString(CType(dtToReturn.Rows(0)("bezeichnung"), String)) + End If + If dtToReturn.Rows(0)("beschreibung") Is System.DBNull.Value Then + m_sBeschreibung = SqlString.Null + Else + m_sBeschreibung = New SqlString(CType(dtToReturn.Rows(0)("beschreibung"), String)) + End If + If dtToReturn.Rows(0)("sysadminrolle") Is System.DBNull.Value Then + m_bSysadminrolle = SqlBoolean.Null + Else + m_bSysadminrolle = New SqlBoolean(CType(dtToReturn.Rows(0)("sysadminrolle"), Boolean)) + End If + If dtToReturn.Rows(0)("mandantnr") Is System.DBNull.Value Then + m_iMandantnr = SqlInt32.Null + Else + m_iMandantnr = New SqlInt32(CType(dtToReturn.Rows(0)("mandantnr"), Integer)) + End If + If dtToReturn.Rows(0)("aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsRolle::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_rolle_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("rolle") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_rolle_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsRolle::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iRollenr]() As SqlInt32 + Get + Return m_iRollenr + End Get + Set(ByVal Value As SqlInt32) + Dim iRollenrTmp As SqlInt32 = Value + If iRollenrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iRollenr", "iRollenr can't be NULL") + End If + m_iRollenr = Value + End Set + End Property + + + Public Property [sBezeichnung]() As SqlString + Get + Return m_sBezeichnung + End Get + Set(ByVal Value As SqlString) + m_sBezeichnung = Value + End Set + End Property + + + Public Property [sBeschreibung]() As SqlString + Get + Return m_sBeschreibung + End Get + Set(ByVal Value As SqlString) + m_sBeschreibung = Value + End Set + End Property + + + Public Property [bSysadminrolle]() As SqlBoolean + Get + Return m_bSysadminrolle + End Get + Set(ByVal Value As SqlBoolean) + m_bSysadminrolle = Value + End Set + End Property + + + Public Property [iMandantnr]() As SqlInt32 + Get + Return m_iMandantnr + End Get + Set(ByVal Value As SqlInt32) + m_iMandantnr = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/.svn/pristine/95/95757102826fcc4462cddc729cac2c5a80a55d18.svn-base b/.svn/pristine/95/95757102826fcc4462cddc729cac2c5a80a55d18.svn-base new file mode 100644 index 0000000..6512fa2 --- /dev/null +++ b/.svn/pristine/95/95757102826fcc4462cddc729cac2c5a80a55d18.svn-base @@ -0,0 +1,181 @@ + _ +Partial Class frmMsgBox + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmMsgBox)) + Me.btnYes = New System.Windows.Forms.Button + Me.btnno = New System.Windows.Forms.Button + Me.btnAbbruch = New System.Windows.Forms.Button + Me.txtmsg = New System.Windows.Forms.TextBox + Me.btnOK = New System.Windows.Forms.Button + Me.Panel1 = New System.Windows.Forms.Panel + Me.imgQuestion = New System.Windows.Forms.PictureBox + Me.imgInformation = New System.Windows.Forms.PictureBox + Me.imgExclamation = New System.Windows.Forms.PictureBox + Me.imgCritical = New System.Windows.Forms.PictureBox + Me.Panel1.SuspendLayout() + CType(Me.imgQuestion, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.imgInformation, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.imgExclamation, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.imgCritical, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'btnYes + ' + Me.btnYes.Location = New System.Drawing.Point(71, 84) + Me.btnYes.Name = "btnYes" + Me.btnYes.Size = New System.Drawing.Size(75, 23) + Me.btnYes.TabIndex = 0 + Me.btnYes.Text = "&Ja" + Me.btnYes.UseVisualStyleBackColor = True + ' + 'btnno + ' + Me.btnno.Location = New System.Drawing.Point(162, 84) + Me.btnno.Name = "btnno" + Me.btnno.Size = New System.Drawing.Size(75, 23) + Me.btnno.TabIndex = 1 + Me.btnno.Text = "&Nein" + Me.btnno.UseVisualStyleBackColor = True + ' + 'btnAbbruch + ' + Me.btnAbbruch.Location = New System.Drawing.Point(254, 84) + Me.btnAbbruch.Name = "btnAbbruch" + Me.btnAbbruch.Size = New System.Drawing.Size(75, 23) + Me.btnAbbruch.TabIndex = 2 + Me.btnAbbruch.Text = "&Abbrechen" + Me.btnAbbruch.UseVisualStyleBackColor = True + ' + 'txtmsg + ' + Me.txtmsg.BackColor = System.Drawing.Color.White + Me.txtmsg.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.txtmsg.Location = New System.Drawing.Point(67, 20) + Me.txtmsg.Multiline = True + Me.txtmsg.Name = "txtmsg" + Me.txtmsg.ReadOnly = True + Me.txtmsg.Size = New System.Drawing.Size(258, 44) + Me.txtmsg.TabIndex = 3 + Me.txtmsg.TabStop = False + ' + 'btnOK + ' + Me.btnOK.Location = New System.Drawing.Point(133, 84) + Me.btnOK.Name = "btnOK" + Me.btnOK.Size = New System.Drawing.Size(75, 23) + Me.btnOK.TabIndex = 5 + Me.btnOK.Text = "&OK" + Me.btnOK.UseVisualStyleBackColor = True + ' + 'Panel1 + ' + Me.Panel1.BackColor = System.Drawing.Color.White + Me.Panel1.Controls.Add(Me.imgQuestion) + Me.Panel1.Controls.Add(Me.imgInformation) + Me.Panel1.Controls.Add(Me.imgExclamation) + Me.Panel1.Controls.Add(Me.txtmsg) + Me.Panel1.Controls.Add(Me.imgCritical) + Me.Panel1.Dock = System.Windows.Forms.DockStyle.Top + Me.Panel1.Location = New System.Drawing.Point(0, 0) + Me.Panel1.Name = "Panel1" + Me.Panel1.Size = New System.Drawing.Size(337, 78) + Me.Panel1.TabIndex = 6 + ' + 'imgQuestion + ' + Me.imgQuestion.Image = CType(resources.GetObject("imgQuestion.Image"), System.Drawing.Image) + Me.imgQuestion.InitialImage = CType(resources.GetObject("imgQuestion.InitialImage"), System.Drawing.Image) + Me.imgQuestion.Location = New System.Drawing.Point(12, 20) + Me.imgQuestion.Name = "imgQuestion" + Me.imgQuestion.Size = New System.Drawing.Size(39, 36) + Me.imgQuestion.TabIndex = 7 + Me.imgQuestion.TabStop = False + ' + 'imgInformation + ' + Me.imgInformation.Image = CType(resources.GetObject("imgInformation.Image"), System.Drawing.Image) + Me.imgInformation.InitialImage = CType(resources.GetObject("imgInformation.InitialImage"), System.Drawing.Image) + Me.imgInformation.Location = New System.Drawing.Point(12, 20) + Me.imgInformation.Name = "imgInformation" + Me.imgInformation.Size = New System.Drawing.Size(39, 36) + Me.imgInformation.TabIndex = 6 + Me.imgInformation.TabStop = False + ' + 'imgExclamation + ' + Me.imgExclamation.Image = CType(resources.GetObject("imgExclamation.Image"), System.Drawing.Image) + Me.imgExclamation.InitialImage = CType(resources.GetObject("imgExclamation.InitialImage"), System.Drawing.Image) + Me.imgExclamation.Location = New System.Drawing.Point(12, 20) + Me.imgExclamation.Name = "imgExclamation" + Me.imgExclamation.Size = New System.Drawing.Size(39, 36) + Me.imgExclamation.TabIndex = 5 + Me.imgExclamation.TabStop = False + ' + 'imgCritical + ' + Me.imgCritical.Image = CType(resources.GetObject("imgCritical.Image"), System.Drawing.Image) + Me.imgCritical.InitialImage = CType(resources.GetObject("imgCritical.InitialImage"), System.Drawing.Image) + Me.imgCritical.Location = New System.Drawing.Point(12, 20) + Me.imgCritical.Name = "imgCritical" + Me.imgCritical.Size = New System.Drawing.Size(39, 36) + Me.imgCritical.TabIndex = 4 + Me.imgCritical.TabStop = False + ' + 'frmMsgBox + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(337, 116) + Me.Controls.Add(Me.Panel1) + Me.Controls.Add(Me.btnOK) + Me.Controls.Add(Me.btnAbbruch) + Me.Controls.Add(Me.btnno) + Me.Controls.Add(Me.btnYes) + Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.MaximizeBox = False + Me.MinimizeBox = False + Me.Name = "frmMsgBox" + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent + Me.Text = "Vertragsverwaltung" + Me.Panel1.ResumeLayout(False) + Me.Panel1.PerformLayout() + CType(Me.imgQuestion, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.imgInformation, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.imgExclamation, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.imgCritical, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + + End Sub + Friend WithEvents btnYes As System.Windows.Forms.Button + Friend WithEvents btnno As System.Windows.Forms.Button + Friend WithEvents btnAbbruch As System.Windows.Forms.Button + Friend WithEvents txtmsg As System.Windows.Forms.TextBox + Friend WithEvents imgCritical As System.Windows.Forms.PictureBox + Friend WithEvents btnOK As System.Windows.Forms.Button + Friend WithEvents Panel1 As System.Windows.Forms.Panel + Friend WithEvents imgExclamation As System.Windows.Forms.PictureBox + Friend WithEvents imgQuestion As System.Windows.Forms.PictureBox + Friend WithEvents imgInformation As System.Windows.Forms.PictureBox +End Class diff --git a/.svn/pristine/95/958bf2e2e2a601f43ac4208a9e5b2cf6ac01e526.svn-base b/.svn/pristine/95/958bf2e2e2a601f43ac4208a9e5b2cf6ac01e526.svn-base new file mode 100644 index 0000000..24936fe --- /dev/null +++ b/.svn/pristine/95/958bf2e2e2a601f43ac4208a9e5b2cf6ac01e526.svn-base @@ -0,0 +1,20 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Themenmanagement", "Themenmanagement\Themenmanagement.vbproj", "{1B191999-7204-4EB5-96F7-A6805B0B32FC}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x86 = Debug|x86 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {1B191999-7204-4EB5-96F7-A6805B0B32FC}.Debug|x86.ActiveCfg = Debug|x86 + {1B191999-7204-4EB5-96F7-A6805B0B32FC}.Debug|x86.Build.0 = Debug|x86 + {1B191999-7204-4EB5-96F7-A6805B0B32FC}.Release|x86.ActiveCfg = Release|x86 + {1B191999-7204-4EB5-96F7-A6805B0B32FC}.Release|x86.Build.0 = Release|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/.svn/pristine/96/9686e10a22a214a3250f46e8844f02b494c4b20a.svn-base b/.svn/pristine/96/9686e10a22a214a3250f46e8844f02b494c4b20a.svn-base new file mode 100644 index 0000000..d98551a --- /dev/null +++ b/.svn/pristine/96/9686e10a22a214a3250f46e8844f02b494c4b20a.svn-base @@ -0,0 +1,209 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 17, 17 + + + 125, 17 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACkSURBVDhPlZOBDoAgCET9dD7NPyNPgpAIzY21oTzPg1rL + F4/0aaQEJqJXAIo8Vu9dL9gDYiGRgG6VCwBJLDvgbxRVsodvBPiEASDXF3mIB3AbBzPjBLDeHBVIcRbj + KScKuMGQElArmKZNSNJ7VYC2Ib48EIjE0gX1QPerLigkATytqxT4gQht3HsQx9H8+OpCeHL+R+FQnIPT + QiXaHPwtNMCu8ALckGXYKNsEDQAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABeSURBVDhPYzhw4MB/SjADSDMDAwNZGKwXZkBDA8QQQq6B + qYHT5BgAczHZLkB2LVleGMQGwJyGL1pBanB6ASZJDI01GolxAUgjXhfgcj4sgQ1SA8jNUPCkTCgD4ZMH + ADk0Kh+zxKF0AAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAA3SURBVChTY2DABP+xiIGFkCVwsVEUwhThNREkiaEAJoiP + RnEmskKs7kd3C1YrYTrx+g6bIrAYAKCqHOQvFu6BAAAAAElFTkSuQmCC + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0 + dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACRTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5QYWdlU2V0dGluZ3MHAAAAD3ByaW50ZXJTZXR0aW5ncwVjb2xvcglwYXBlclNp + emULcGFwZXJTb3VyY2URcHJpbnRlclJlc29sdXRpb24JbGFuZHNjYXBlB21hcmdpbnMEBAQEBAQEJ1N5 + c3RlbS5EcmF3aW5nLlByaW50aW5nLlByaW50ZXJTZXR0aW5ncwIAAAAgU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuVHJpU3RhdGUCAAAAIVN5c3RlbS5EcmF3aW5nLlByaW50aW5nLlBhcGVyU2l6ZQIAAAAjU3lz + dGVtLkRyYXdpbmcuUHJpbnRpbmcuUGFwZXJTb3VyY2UCAAAAKVN5c3RlbS5EcmF3aW5nLlByaW50aW5n + LlByaW50ZXJSZXNvbHV0aW9uAgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAf + U3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuTWFyZ2lucwIAAAACAAAACQMAAAAF/P///yBTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5UcmlTdGF0ZQEAAAAFdmFsdWUAAgIAAAAACgoKAfv////8////AAkGAAAABQMA + AAAnU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRlclNldHRpbmdzEgAAAAtwcmludGVyTmFtZQpk + cml2ZXJOYW1lCm91dHB1dFBvcnQLcHJpbnRUb0ZpbGUUcHJpbnREaWFsb2dEaXNwbGF5ZWQKZXh0cmFi + eXRlcwlleHRyYWluZm8GY29waWVzBmR1cGxleAdjb2xsYXRlE2RlZmF1bHRQYWdlU2V0dGluZ3MIZnJv + bVBhZ2UGdG9QYWdlB21heFBhZ2UHbWluUGFnZQpwcmludFJhbmdlDGRldm1vZGVieXRlcw1jYWNoZWRE + ZXZtb2RlAQEBAAAABwAEBAQAAAAABAAHAQEHAgceU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuRHVwbGV4 + AgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAkU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuUGFnZVNldHRpbmdzAgAAAAgICAgiU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRSYW5n + ZQIAAAAHAgIAAAAKBgcAAAAACQcAAAAAAAAACv//Bfj///8eU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcu + RHVwbGV4AQAAAAd2YWx1ZV9fAAgCAAAA/////wH3/////P///wAJCgAAAAAAAAAAAAAADycAAAAAAAAF + 9f///yJTeXN0ZW0uRHJhd2luZy5QcmludGluZy5QcmludFJhbmdlAQAAAAd2YWx1ZV9fAAgCAAAAAAAA + AAAACgUGAAAAH1N5c3RlbS5EcmF3aW5nLlByaW50aW5nLk1hcmdpbnMIAAAABGxlZnQFcmlnaHQDdG9w + BmJvdHRvbQpkb3VibGVMZWZ0C2RvdWJsZVJpZ2h0CWRvdWJsZVRvcAxkb3VibGVCb3R0b20AAAAAAAAA + AAgICAgGBgYGAgAAAGQAAABkAAAAZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZ + QAEKAAAAAQAAAAkDAAAAAfP////8////AAoKCgHy/////P///wAJDwAAAAEPAAAABgAAAGQAAABkAAAA + ZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAs= + + + + <?xml version="1.0"?><Blob><Styles type="C1.Win.C1TrueDBGrid.Design.ContextWrapper"><Data>HighlightRow{ForeColor:HighlightText;BackColor:Highlight;}Style8{}Style7{}Style3{}EvenRow{BackColor:White;}Normal{}RecordSelector{AlignImage:Center;}OddRow{BackColor:224, 224, 224;}Style14{}Footer{}FilterBar{ForeColor:Black;BackColor:255, 255, 192;}Heading{ForeColor:ControlText;Wrap:True;AlignVert:Center;BackColor:Control;Border:Flat,ControlDark,0, 1, 0, 1;}Style5{}Editor{}Style10{AlignHorz:Near;}Style16{}Selected{ForeColor:HighlightText;BackColor:Highlight;}Style15{}Style13{}Style12{}Style11{}Style4{}Style9{}FilterWatermark{ForeColor:InfoText;BackColor:Info;}Style6{}Group{Border:None,,0, 0, 0, 0;AlignVert:Center;BackColor:ControlDark;}Style1{}Caption{AlignHorz:Center;}Style2{}Inactive{ForeColor:InactiveCaptionText;BackColor:InactiveCaption;}</Data></Styles><Splits><C1.Win.C1TrueDBGrid.MergeView Name="" AlternatingRowStyle="True" CaptionHeight="17" ColumnCaptionHeight="17" ColumnFooterHeight="17" FilterBar="True" MarqueeStyle="DottedCellBorder" RecordSelectorWidth="17" DefRecSelWidth="17" VerticalScrollGroup="1" HorizontalScrollGroup="1"><CaptionStyle parent="Style2" me="Style10" /><EditorStyle parent="Editor" me="Style5" /><EvenRowStyle parent="EvenRow" me="Style8" /><FilterBarStyle parent="FilterBar" me="Style13" /><FilterWatermarkStyle parent="FilterWatermark" me="Style14" /><FooterStyle parent="Footer" me="Style3" /><GroupStyle parent="Group" me="Style12" /><HeadingStyle parent="Heading" me="Style2" /><HighLightRowStyle parent="HighlightRow" me="Style7" /><InactiveStyle parent="Inactive" me="Style4" /><OddRowStyle parent="OddRow" me="Style9" /><RecordSelectorStyle parent="RecordSelector" me="Style11" /><SelectedStyle parent="Selected" me="Style6" /><Style parent="Normal" me="Style1" /><ClientRect>0, 0, 554, 268</ClientRect><BorderSide>0</BorderSide></C1.Win.C1TrueDBGrid.MergeView></Splits><NamedStyles><Style parent="" me="Normal" /><Style parent="Normal" me="Heading" /><Style parent="Heading" me="Footer" /><Style parent="Heading" me="Caption" /><Style parent="Heading" me="Inactive" /><Style parent="Normal" me="Selected" /><Style parent="Normal" me="Editor" /><Style parent="Normal" me="HighlightRow" /><Style parent="Normal" me="EvenRow" /><Style parent="Normal" me="OddRow" /><Style parent="Heading" me="RecordSelector" /><Style parent="Normal" me="FilterBar" /><Style parent="FilterBar" me="FilterWatermark" /><Style parent="Caption" me="Group" /></NamedStyles><vertSplits>1</vertSplits><horzSplits>1</horzSplits><Layout>None</Layout><DefaultRecSelWidth>17</DefaultRecSelWidth><ClientArea>0, 0, 554, 268</ClientArea><PrintPageHeaderStyle parent="" me="Style15" /><PrintPageFooterStyle parent="" me="Style16" /></Blob> + + + 228, 17 + + + 430, 17 + + + 566, 17 + + + + AAABAAEAICAEAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP// + AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHd3d3d3d3d3d3d3d3d3d3AAAAAAAA + AAAAAAAAAAAABw///////////////////wcP//////////////////8HD/d3d3f/d3d3f/d3d3f/Bw// + /////////////////wcP93d3d/93d3d/93d3d/8HD///////////////////Bw/3d3d3/3d3d3/3d3d3 + /wcP//////////////////8HD/d3d3f/d3d3f/d3d3f/Bw///////////////////wcP93d3d/93d3d/ + 93d3d/8HD///////////////////Bw/3d3d3/3d3d3/3d3d3/wcP//////////////////8HD/d3d3f/ + d3d3f/d3d3f/Bw///////////////////wcP93d3d/93d3d/93d3d/8HD///////////////////Bw// + /////////////////wcAAAAAAAAAAAAAAAAAAAAHDMzMzMzMzMzMzMzMzMzMBwz/zMzM/8zMzM/8zMzP + /AcM/8zMzP/MzMzP/MzMz/wHDMzMzMzMzMzMzMzMzMzMBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////4AAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf///////////////w== + + + \ No newline at end of file diff --git a/.svn/pristine/98/98836a9743aa7e119ebfa2aa4dcc0acc821ff5c1.svn-base b/.svn/pristine/98/98836a9743aa7e119ebfa2aa4dcc0acc821ff5c1.svn-base new file mode 100644 index 0000000..34c370e --- /dev/null +++ b/.svn/pristine/98/98836a9743aa7e119ebfa2aa4dcc0acc821ff5c1.svn-base @@ -0,0 +1,130 @@ +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient +Imports System.Security.Principal + +Namespace DB + + Public Class MyMitarbeiter + Inherits DB.clsMitarbeiter + ''' + ''' Alle Mitarbeiter inkl. vollstndigem Name (Fullname) auslesen + ''' + ''' Datatable + ''' + Public Function SelectAllwithFullname() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[my_mitarbeiter_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = New DataTable("mitarbeiter") + Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_mitarbeiter_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMitarbeiter::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + ''' + ''' Mitarbeiter mittels TGNummer auslesen + ''' + ''' Datatable + ''' + Public Function SelectWithTGNummer() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[my_mitarbeiter_SelectWithTGNummer]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = New DataTable("mitarbeiter") + Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + Try + + scmCmdToExecute.Parameters.Add(New SqlParameter("@stgnummer", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Me.Get_Username)) + + scmCmdToExecute.Parameters.Add(New SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_mitarbeiter_SelectAllWithTGNummer' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + Return dtToReturn + Catch ex As Exception + MsgBox(ex.Message) + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMitarbeiter::SelectWithTGNummer::Error occured." + ex.Message, ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + ''' + ''' Security-Deklaration zum Auslesen der UserID vom Windows-User + ''' + ''' + Dim ouser As New WindowsPrincipal(WindowsIdentity.GetCurrent) + ''' + ''' Windows-User auslesen + ''' + ''' + ''' + Private Function Get_Username() As String + With ouser.Identity.Name + Return (.Substring(.IndexOf("\") + 1)) + End With + End Function + + + End Class +End Namespace diff --git a/.svn/pristine/99/990464d3e081eb82633909f1d894ff26797dcb6d.svn-base b/.svn/pristine/99/990464d3e081eb82633909f1d894ff26797dcb6d.svn-base new file mode 100644 index 0000000..3570026 --- /dev/null +++ b/.svn/pristine/99/990464d3e081eb82633909f1d894ff26797dcb6d.svn-base @@ -0,0 +1,3 @@ +Public Class frmDetail + +End Class \ No newline at end of file diff --git a/.svn/pristine/9a/9a2f22d2830819b49c6493e1a699e0ab5edef6b3.svn-base b/.svn/pristine/9a/9a2f22d2830819b49c6493e1a699e0ab5edef6b3.svn-base new file mode 100644 index 0000000..b010bf1 --- /dev/null +++ b/.svn/pristine/9a/9a2f22d2830819b49c6493e1a699e0ab5edef6b3.svn-base @@ -0,0 +1,12 @@ +Public Class frmAbout + + Private Sub btnOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOK.Click + Me.Close() + End Sub + + Private Sub frmAbout_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + Me.lblVersion.Text = "Version " & Globals.clsapplication.sVersion.Value + Me.lblversiondatum.Text = Globals.Versionsdatum + + End Sub +End Class \ No newline at end of file diff --git a/.svn/pristine/9a/9a820bef12266f5e641770f44af881f9517f5222.svn-base b/.svn/pristine/9a/9a820bef12266f5e641770f44af881f9517f5222.svn-base new file mode 100644 index 0000000..85b890b --- /dev/null +++ b/.svn/pristine/9a/9a820bef12266f5e641770f44af881f9517f5222.svn-base @@ -0,0 +1,7 @@ + + + + + + + diff --git a/.svn/pristine/9e/9eeaa1d0a8e5d62b74f5e85fe494e6ced82c575c.svn-base b/.svn/pristine/9e/9eeaa1d0a8e5d62b74f5e85fe494e6ced82c575c.svn-base new file mode 100644 index 0000000..1f191ee Binary files /dev/null and b/.svn/pristine/9e/9eeaa1d0a8e5d62b74f5e85fe494e6ced82c575c.svn-base differ diff --git a/.svn/pristine/9f/9f866d73d85016e4e1476e1ecc8efc456915afa0.svn-base b/.svn/pristine/9f/9f866d73d85016e4e1476e1ecc8efc456915afa0.svn-base new file mode 100644 index 0000000..d51822c --- /dev/null +++ b/.svn/pristine/9f/9f866d73d85016e4e1476e1ecc8efc456915afa0.svn-base @@ -0,0 +1,2138 @@ + _ +Partial Class frmDetail + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmDetail)) + Me.ToolStrip1 = New System.Windows.Forms.ToolStrip() + Me.TSBtnQuit = New System.Windows.Forms.ToolStripButton() + Me.TSBtnSave = New System.Windows.Forms.ToolStripButton() + Me.ToolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator() + Me.TSBtnCopy = New System.Windows.Forms.ToolStripButton() + Me.TSBtnNew = New System.Windows.Forms.ToolStripButton() + Me.TSBtnDelete = New System.Windows.Forms.ToolStripButton() + Me.MenuStrip1 = New System.Windows.Forms.MenuStrip() + Me.DateiToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.CheckBox1 = New System.Windows.Forms.CheckBox() + Me.Label11 = New System.Windows.Forms.Label() + Me.TextBox5 = New System.Windows.Forms.TextBox() + Me.Label9 = New System.Windows.Forms.Label() + Me.TextBox4 = New System.Windows.Forms.TextBox() + Me.Label8 = New System.Windows.Forms.Label() + Me.Label7 = New System.Windows.Forms.Label() + Me.DateTimePicker2 = New System.Windows.Forms.DateTimePicker() + Me.DateTimePicker1 = New System.Windows.Forms.DateTimePicker() + Me.Label6 = New System.Windows.Forms.Label() + Me.TextBox1 = New System.Windows.Forms.TextBox() + Me.TextBox3 = New System.Windows.Forms.TextBox() + Me.Label1 = New System.Windows.Forms.Label() + Me.Label3 = New System.Windows.Forms.Label() + Me.Label2 = New System.Windows.Forms.Label() + Me.TextBox2 = New System.Windows.Forms.TextBox() + Me.TabControl1 = New System.Windows.Forms.TabControl() + Me.TabPage5 = New System.Windows.Forms.TabPage() + Me.TabPage2 = New System.Windows.Forms.TabPage() + Me.C1TrueDBGrid1 = New C1.Win.C1TrueDBGrid.C1TrueDBGrid() + Me.ToolStrip2 = New System.Windows.Forms.ToolStrip() + Me.ToolStripButton4 = New System.Windows.Forms.ToolStripButton() + Me.ToolStripButton5 = New System.Windows.Forms.ToolStripButton() + Me.TabPage3 = New System.Windows.Forms.TabPage() + Me.rtbDoc = New ExtendedRichTextBox.RichTextBoxPrintCtrl() + Me.ToolStrip3 = New System.Windows.Forms.ToolStrip() + Me.ToolStripButton1 = New System.Windows.Forms.ToolStripButton() + Me.tbrNew = New System.Windows.Forms.ToolStripButton() + Me.tbrOpen = New System.Windows.Forms.ToolStripButton() + Me.tbrSave = New System.Windows.Forms.ToolStripButton() + Me.ToolStripSeparator2 = New System.Windows.Forms.ToolStripSeparator() + Me.tbrFont = New System.Windows.Forms.ToolStripButton() + Me.ToolStripSeparator4 = New System.Windows.Forms.ToolStripSeparator() + Me.tbrLeft = New System.Windows.Forms.ToolStripButton() + Me.tbrCenter = New System.Windows.Forms.ToolStripButton() + Me.tbrRight = New System.Windows.Forms.ToolStripButton() + Me.ToolStripSeparator3 = New System.Windows.Forms.ToolStripSeparator() + Me.tbrBold = New System.Windows.Forms.ToolStripButton() + Me.tbrItalic = New System.Windows.Forms.ToolStripButton() + Me.tbrUnderline = New System.Windows.Forms.ToolStripButton() + Me.ToolStripSeparator7 = New System.Windows.Forms.ToolStripSeparator() + Me.tbrFind = New System.Windows.Forms.ToolStripButton() + Me.MenuStrip2 = New System.Windows.Forms.MenuStrip() + Me.FileToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.NewToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem1 = New System.Windows.Forms.ToolStripSeparator() + Me.OpenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.SaveToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.SaveAsToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem2 = New System.Windows.Forms.ToolStripSeparator() + Me.mnuPageSetup = New System.Windows.Forms.ToolStripMenuItem() + Me.PreviewToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.PrintToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem3 = New System.Windows.Forms.ToolStripSeparator() + Me.ExitToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.EditToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.mnuUndo = New System.Windows.Forms.ToolStripMenuItem() + Me.mnuRedo = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator6 = New System.Windows.Forms.ToolStripSeparator() + Me.FindToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.FindAndReplaceToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem4 = New System.Windows.Forms.ToolStripSeparator() + Me.SelectAllToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem5 = New System.Windows.Forms.ToolStripSeparator() + Me.CopyToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.CutToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.PasteToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem8 = New System.Windows.Forms.ToolStripSeparator() + Me.InsertImageToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.FontToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.SelectFontToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem6 = New System.Windows.Forms.ToolStripSeparator() + Me.FontColorToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator5 = New System.Windows.Forms.ToolStripSeparator() + Me.BoldToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ItalicToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.UnderlineToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.NormalToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem7 = New System.Windows.Forms.ToolStripSeparator() + Me.PageColorToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ParagraphToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.IndentToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.mnuIndent0 = New System.Windows.Forms.ToolStripMenuItem() + Me.mnuIndent5 = New System.Windows.Forms.ToolStripMenuItem() + Me.mnuIndent10 = New System.Windows.Forms.ToolStripMenuItem() + Me.mnuIndent15 = New System.Windows.Forms.ToolStripMenuItem() + Me.mnuIndent20 = New System.Windows.Forms.ToolStripMenuItem() + Me.mnuAlign = New System.Windows.Forms.ToolStripMenuItem() + Me.LeftToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.CenterToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.RightToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.BulletsToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.AddBulletsToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.RemoveBulletsToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.TabPage4 = New System.Windows.Forms.TabPage() + Me.TabPage6 = New System.Windows.Forms.TabPage() + Me.ToolStrip4 = New System.Windows.Forms.ToolStrip() + Me.ToolStripButton2 = New System.Windows.Forms.ToolStripButton() + Me.ToolStripButton3 = New System.Windows.Forms.ToolStripButton() + Me.SplitContainer1 = New System.Windows.Forms.SplitContainer() + Me.SplitContainer2 = New System.Windows.Forms.SplitContainer() + Me.SplitContainer3 = New System.Windows.Forms.SplitContainer() + Me.GroupBox1 = New System.Windows.Forms.GroupBox() + Me.GroupBox2 = New System.Windows.Forms.GroupBox() + Me.GroupBox3 = New System.Windows.Forms.GroupBox() + Me.Label10 = New System.Windows.Forms.Label() + Me.TextBox6 = New System.Windows.Forms.TextBox() + Me.Label12 = New System.Windows.Forms.Label() + Me.Label13 = New System.Windows.Forms.Label() + Me.ComboBox1 = New System.Windows.Forms.ComboBox() + Me.ComboBox2 = New System.Windows.Forms.ComboBox() + Me.TreeView1 = New System.Windows.Forms.TreeView() + Me.ToolStrip5 = New System.Windows.Forms.ToolStrip() + Me.ToolStripButton6 = New System.Windows.Forms.ToolStripButton() + Me.ToolStripButton7 = New System.Windows.Forms.ToolStripButton() + Me.C1TrueDBGrid2 = New C1.Win.C1TrueDBGrid.C1TrueDBGrid() + Me.MenuStrip3 = New System.Windows.Forms.MenuStrip() + Me.ToolStripMenuItem9 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem10 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator8 = New System.Windows.Forms.ToolStripSeparator() + Me.ToolStripMenuItem11 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem12 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem13 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator9 = New System.Windows.Forms.ToolStripSeparator() + Me.ToolStripMenuItem14 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem15 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem16 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator10 = New System.Windows.Forms.ToolStripSeparator() + Me.ToolStripMenuItem17 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem18 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem19 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem20 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator11 = New System.Windows.Forms.ToolStripSeparator() + Me.ToolStripMenuItem21 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem22 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator12 = New System.Windows.Forms.ToolStripSeparator() + Me.ToolStripMenuItem23 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator13 = New System.Windows.Forms.ToolStripSeparator() + Me.ToolStripMenuItem24 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem25 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem26 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator14 = New System.Windows.Forms.ToolStripSeparator() + Me.ToolStripMenuItem27 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem28 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem29 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator15 = New System.Windows.Forms.ToolStripSeparator() + Me.ToolStripMenuItem30 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator16 = New System.Windows.Forms.ToolStripSeparator() + Me.ToolStripMenuItem31 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem32 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem33 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem34 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator17 = New System.Windows.Forms.ToolStripSeparator() + Me.ToolStripMenuItem35 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem36 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem37 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem38 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem39 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem40 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem41 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem42 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem43 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem44 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem45 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem46 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem47 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem48 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem49 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStrip6 = New System.Windows.Forms.ToolStrip() + Me.ToolStripButton8 = New System.Windows.Forms.ToolStripButton() + Me.ToolStripButton9 = New System.Windows.Forms.ToolStripButton() + Me.ToolStripButton10 = New System.Windows.Forms.ToolStripButton() + Me.ToolStripButton11 = New System.Windows.Forms.ToolStripButton() + Me.ToolStripSeparator18 = New System.Windows.Forms.ToolStripSeparator() + Me.ToolStripButton12 = New System.Windows.Forms.ToolStripButton() + Me.ToolStripSeparator19 = New System.Windows.Forms.ToolStripSeparator() + Me.ToolStripButton13 = New System.Windows.Forms.ToolStripButton() + Me.ToolStripButton14 = New System.Windows.Forms.ToolStripButton() + Me.ToolStripButton15 = New System.Windows.Forms.ToolStripButton() + Me.ToolStripSeparator20 = New System.Windows.Forms.ToolStripSeparator() + Me.ToolStripButton16 = New System.Windows.Forms.ToolStripButton() + Me.ToolStripButton17 = New System.Windows.Forms.ToolStripButton() + Me.ToolStripButton18 = New System.Windows.Forms.ToolStripButton() + Me.ToolStripSeparator21 = New System.Windows.Forms.ToolStripSeparator() + Me.ToolStripButton19 = New System.Windows.Forms.ToolStripButton() + Me.RichTextBoxPrintCtrl1 = New ExtendedRichTextBox.RichTextBoxPrintCtrl() + Me.TabPage1 = New System.Windows.Forms.TabPage() + Me.ToolStrip7 = New System.Windows.Forms.ToolStrip() + Me.ToolStripButton20 = New System.Windows.Forms.ToolStripButton() + Me.ToolStripButton21 = New System.Windows.Forms.ToolStripButton() + Me.C1TrueDBGrid3 = New C1.Win.C1TrueDBGrid.C1TrueDBGrid() + Me.C1TrueDBGrid4 = New C1.Win.C1TrueDBGrid.C1TrueDBGrid() + Me.ToolStrip1.SuspendLayout() + Me.MenuStrip1.SuspendLayout() + Me.TabControl1.SuspendLayout() + Me.TabPage5.SuspendLayout() + Me.TabPage2.SuspendLayout() + CType(Me.C1TrueDBGrid1, System.ComponentModel.ISupportInitialize).BeginInit() + Me.ToolStrip2.SuspendLayout() + Me.TabPage3.SuspendLayout() + Me.ToolStrip3.SuspendLayout() + Me.MenuStrip2.SuspendLayout() + Me.TabPage4.SuspendLayout() + Me.TabPage6.SuspendLayout() + Me.ToolStrip4.SuspendLayout() + CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SplitContainer1.Panel1.SuspendLayout() + Me.SplitContainer1.Panel2.SuspendLayout() + Me.SplitContainer1.SuspendLayout() + CType(Me.SplitContainer2, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SplitContainer2.Panel1.SuspendLayout() + Me.SplitContainer2.Panel2.SuspendLayout() + Me.SplitContainer2.SuspendLayout() + CType(Me.SplitContainer3, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SplitContainer3.Panel1.SuspendLayout() + Me.SplitContainer3.Panel2.SuspendLayout() + Me.SplitContainer3.SuspendLayout() + Me.GroupBox1.SuspendLayout() + Me.GroupBox2.SuspendLayout() + Me.GroupBox3.SuspendLayout() + Me.ToolStrip5.SuspendLayout() + CType(Me.C1TrueDBGrid2, System.ComponentModel.ISupportInitialize).BeginInit() + Me.MenuStrip3.SuspendLayout() + Me.ToolStrip6.SuspendLayout() + Me.TabPage1.SuspendLayout() + Me.ToolStrip7.SuspendLayout() + CType(Me.C1TrueDBGrid3, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.C1TrueDBGrid4, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'ToolStrip1 + ' + Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.TSBtnQuit, Me.TSBtnSave, Me.ToolStripSeparator1, Me.TSBtnCopy, Me.TSBtnNew, Me.TSBtnDelete}) + Me.ToolStrip1.Location = New System.Drawing.Point(0, 24) + Me.ToolStrip1.Name = "ToolStrip1" + Me.ToolStrip1.Size = New System.Drawing.Size(1004, 25) + Me.ToolStrip1.TabIndex = 4 + Me.ToolStrip1.Text = "ToolStrip1" + ' + 'TSBtnQuit + ' + Me.TSBtnQuit.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnQuit.Image = CType(resources.GetObject("TSBtnQuit.Image"), System.Drawing.Image) + Me.TSBtnQuit.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnQuit.Name = "TSBtnQuit" + Me.TSBtnQuit.Size = New System.Drawing.Size(23, 22) + Me.TSBtnQuit.Text = "ToolStripButton1" + Me.TSBtnQuit.ToolTipText = "Anwendung beenden" + ' + 'TSBtnSave + ' + Me.TSBtnSave.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnSave.Image = CType(resources.GetObject("TSBtnSave.Image"), System.Drawing.Image) + Me.TSBtnSave.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnSave.Name = "TSBtnSave" + Me.TSBtnSave.Size = New System.Drawing.Size(23, 22) + Me.TSBtnSave.Text = "ToolStripButton1" + Me.TSBtnSave.ToolTipText = "Daten speichern" + ' + 'ToolStripSeparator1 + ' + Me.ToolStripSeparator1.Name = "ToolStripSeparator1" + Me.ToolStripSeparator1.Size = New System.Drawing.Size(6, 25) + ' + 'TSBtnCopy + ' + Me.TSBtnCopy.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnCopy.Image = CType(resources.GetObject("TSBtnCopy.Image"), System.Drawing.Image) + Me.TSBtnCopy.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnCopy.Name = "TSBtnCopy" + Me.TSBtnCopy.Size = New System.Drawing.Size(23, 22) + Me.TSBtnCopy.Text = "ToolStripButton2" + Me.TSBtnCopy.ToolTipText = "Datensatz kopieren" + ' + 'TSBtnNew + ' + Me.TSBtnNew.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnNew.Image = CType(resources.GetObject("TSBtnNew.Image"), System.Drawing.Image) + Me.TSBtnNew.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnNew.Name = "TSBtnNew" + Me.TSBtnNew.Size = New System.Drawing.Size(23, 22) + Me.TSBtnNew.Text = "Neuer Datensatz" + Me.TSBtnNew.ToolTipText = "Neuer Datensatz" + ' + 'TSBtnDelete + ' + Me.TSBtnDelete.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnDelete.Image = CType(resources.GetObject("TSBtnDelete.Image"), System.Drawing.Image) + Me.TSBtnDelete.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnDelete.Name = "TSBtnDelete" + Me.TSBtnDelete.Size = New System.Drawing.Size(23, 22) + Me.TSBtnDelete.Text = "Datensatz inaktivieren" + Me.TSBtnDelete.ToolTipText = "Datensatz inaktivieren" + ' + 'MenuStrip1 + ' + Me.MenuStrip1.AllowMerge = False + Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DateiToolStripMenuItem}) + Me.MenuStrip1.Location = New System.Drawing.Point(0, 0) + Me.MenuStrip1.Name = "MenuStrip1" + Me.MenuStrip1.Size = New System.Drawing.Size(1004, 24) + Me.MenuStrip1.TabIndex = 3 + Me.MenuStrip1.Text = "MenuStrip1" + ' + 'DateiToolStripMenuItem + ' + Me.DateiToolStripMenuItem.Name = "DateiToolStripMenuItem" + Me.DateiToolStripMenuItem.Size = New System.Drawing.Size(46, 20) + Me.DateiToolStripMenuItem.Text = "&Datei" + ' + 'CheckBox1 + ' + Me.CheckBox1.AutoSize = True + Me.CheckBox1.Location = New System.Drawing.Point(88, 208) + Me.CheckBox1.Name = "CheckBox1" + Me.CheckBox1.Size = New System.Drawing.Size(15, 14) + Me.CheckBox1.TabIndex = 22 + Me.CheckBox1.UseVisualStyleBackColor = True + ' + 'Label11 + ' + Me.Label11.AutoSize = True + Me.Label11.Location = New System.Drawing.Point(16, 208) + Me.Label11.Name = "Label11" + Me.Label11.Size = New System.Drawing.Size(31, 13) + Me.Label11.TabIndex = 21 + Me.Label11.Text = "Aktiv" + ' + 'TextBox5 + ' + Me.TextBox5.Location = New System.Drawing.Point(88, 258) + Me.TextBox5.Name = "TextBox5" + Me.TextBox5.Size = New System.Drawing.Size(91, 20) + Me.TextBox5.TabIndex = 18 + ' + 'Label9 + ' + Me.Label9.AutoSize = True + Me.Label9.Location = New System.Drawing.Point(16, 261) + Me.Label9.Name = "Label9" + Me.Label9.Size = New System.Drawing.Size(56, 13) + Me.Label9.TabIndex = 17 + Me.Label9.Text = "Mutiert am" + ' + 'TextBox4 + ' + Me.TextBox4.Location = New System.Drawing.Point(88, 232) + Me.TextBox4.Name = "TextBox4" + Me.TextBox4.Size = New System.Drawing.Size(91, 20) + Me.TextBox4.TabIndex = 16 + ' + 'Label8 + ' + Me.Label8.AutoSize = True + Me.Label8.Location = New System.Drawing.Point(16, 235) + Me.Label8.Name = "Label8" + Me.Label8.Size = New System.Drawing.Size(55, 13) + Me.Label8.TabIndex = 15 + Me.Label8.Text = "Erstellt am" + ' + 'Label7 + ' + Me.Label7.AutoSize = True + Me.Label7.Location = New System.Drawing.Point(216, 184) + Me.Label7.Name = "Label7" + Me.Label7.Size = New System.Drawing.Size(20, 13) + Me.Label7.TabIndex = 14 + Me.Label7.Text = "bis" + ' + 'DateTimePicker2 + ' + Me.DateTimePicker2.Format = System.Windows.Forms.DateTimePickerFormat.[Short] + Me.DateTimePicker2.Location = New System.Drawing.Point(242, 182) + Me.DateTimePicker2.Name = "DateTimePicker2" + Me.DateTimePicker2.Size = New System.Drawing.Size(91, 20) + Me.DateTimePicker2.TabIndex = 13 + ' + 'DateTimePicker1 + ' + Me.DateTimePicker1.Format = System.Windows.Forms.DateTimePickerFormat.[Short] + Me.DateTimePicker1.Location = New System.Drawing.Point(88, 182) + Me.DateTimePicker1.Name = "DateTimePicker1" + Me.DateTimePicker1.Size = New System.Drawing.Size(91, 20) + Me.DateTimePicker1.TabIndex = 12 + ' + 'Label6 + ' + Me.Label6.AutoSize = True + Me.Label6.Location = New System.Drawing.Point(16, 185) + Me.Label6.Name = "Label6" + Me.Label6.Size = New System.Drawing.Size(49, 13) + Me.Label6.TabIndex = 11 + Me.Label6.Text = "Gültig ab" + ' + 'TextBox1 + ' + Me.TextBox1.Location = New System.Drawing.Point(88, 11) + Me.TextBox1.Name = "TextBox1" + Me.TextBox1.Size = New System.Drawing.Size(245, 20) + Me.TextBox1.TabIndex = 6 + ' + 'TextBox3 + ' + Me.TextBox3.Location = New System.Drawing.Point(88, 109) + Me.TextBox3.Multiline = True + Me.TextBox3.Name = "TextBox3" + Me.TextBox3.Size = New System.Drawing.Size(245, 66) + Me.TextBox3.TabIndex = 10 + ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.Location = New System.Drawing.Point(16, 14) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(27, 13) + Me.Label1.TabIndex = 5 + Me.Label1.Text = "Titel" + ' + 'Label3 + ' + Me.Label3.AutoSize = True + Me.Label3.Location = New System.Drawing.Point(16, 111) + Me.Label3.Name = "Label3" + Me.Label3.Size = New System.Drawing.Size(67, 13) + Me.Label3.TabIndex = 9 + Me.Label3.Text = "Suchbegriffe" + ' + 'Label2 + ' + Me.Label2.AutoSize = True + Me.Label2.Location = New System.Drawing.Point(16, 39) + Me.Label2.Name = "Label2" + Me.Label2.Size = New System.Drawing.Size(72, 13) + Me.Label2.TabIndex = 7 + Me.Label2.Text = "Beschreibung" + ' + 'TextBox2 + ' + Me.TextBox2.Location = New System.Drawing.Point(88, 37) + Me.TextBox2.Multiline = True + Me.TextBox2.Name = "TextBox2" + Me.TextBox2.Size = New System.Drawing.Size(245, 66) + Me.TextBox2.TabIndex = 8 + ' + 'TabControl1 + ' + Me.TabControl1.Controls.Add(Me.TabPage5) + Me.TabControl1.Controls.Add(Me.TabPage2) + Me.TabControl1.Controls.Add(Me.TabPage3) + Me.TabControl1.Controls.Add(Me.TabPage4) + Me.TabControl1.Controls.Add(Me.TabPage6) + Me.TabControl1.Controls.Add(Me.TabPage1) + Me.TabControl1.Dock = System.Windows.Forms.DockStyle.Fill + Me.TabControl1.Location = New System.Drawing.Point(0, 49) + Me.TabControl1.Name = "TabControl1" + Me.TabControl1.SelectedIndex = 0 + Me.TabControl1.Size = New System.Drawing.Size(1004, 502) + Me.TabControl1.TabIndex = 13 + ' + 'TabPage5 + ' + Me.TabPage5.BackColor = System.Drawing.SystemColors.Control + Me.TabPage5.Controls.Add(Me.CheckBox1) + Me.TabPage5.Controls.Add(Me.Label1) + Me.TabPage5.Controls.Add(Me.Label11) + Me.TabPage5.Controls.Add(Me.TextBox2) + Me.TabPage5.Controls.Add(Me.Label2) + Me.TabPage5.Controls.Add(Me.Label3) + Me.TabPage5.Controls.Add(Me.TextBox5) + Me.TabPage5.Controls.Add(Me.TextBox3) + Me.TabPage5.Controls.Add(Me.Label9) + Me.TabPage5.Controls.Add(Me.TextBox1) + Me.TabPage5.Controls.Add(Me.TextBox4) + Me.TabPage5.Controls.Add(Me.Label6) + Me.TabPage5.Controls.Add(Me.Label8) + Me.TabPage5.Controls.Add(Me.DateTimePicker1) + Me.TabPage5.Controls.Add(Me.Label7) + Me.TabPage5.Controls.Add(Me.DateTimePicker2) + Me.TabPage5.Location = New System.Drawing.Point(4, 22) + Me.TabPage5.Name = "TabPage5" + Me.TabPage5.Size = New System.Drawing.Size(996, 476) + Me.TabPage5.TabIndex = 4 + Me.TabPage5.Text = "Allgemein" + ' + 'TabPage2 + ' + Me.TabPage2.BackColor = System.Drawing.SystemColors.Control + Me.TabPage2.Controls.Add(Me.C1TrueDBGrid1) + Me.TabPage2.Controls.Add(Me.ToolStrip2) + Me.TabPage2.Location = New System.Drawing.Point(4, 22) + Me.TabPage2.Name = "TabPage2" + Me.TabPage2.Padding = New System.Windows.Forms.Padding(3) + Me.TabPage2.Size = New System.Drawing.Size(996, 476) + Me.TabPage2.TabIndex = 1 + Me.TabPage2.Text = "Dokumente" + ' + 'C1TrueDBGrid1 + ' + Me.C1TrueDBGrid1.Dock = System.Windows.Forms.DockStyle.Fill + Me.C1TrueDBGrid1.Location = New System.Drawing.Point(3, 28) + Me.C1TrueDBGrid1.Name = "C1TrueDBGrid1" + Me.C1TrueDBGrid1.PreviewInfo.Location = New System.Drawing.Point(0, 0) + Me.C1TrueDBGrid1.PreviewInfo.Size = New System.Drawing.Size(0, 0) + Me.C1TrueDBGrid1.PreviewInfo.ZoomFactor = 75.0R + Me.C1TrueDBGrid1.PrintInfo.PageSettings = CType(resources.GetObject("C1TrueDBGrid1.PrintInfo.PageSettings"), System.Drawing.Printing.PageSettings) + Me.C1TrueDBGrid1.PropBag = resources.GetString("C1TrueDBGrid1.PropBag") + Me.C1TrueDBGrid1.Size = New System.Drawing.Size(990, 445) + Me.C1TrueDBGrid1.TabIndex = 7 + Me.C1TrueDBGrid1.Text = "C1TrueDBGrid1" + ' + 'ToolStrip2 + ' + Me.ToolStrip2.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripButton4, Me.ToolStripButton5}) + Me.ToolStrip2.Location = New System.Drawing.Point(3, 3) + Me.ToolStrip2.Name = "ToolStrip2" + Me.ToolStrip2.Size = New System.Drawing.Size(990, 25) + Me.ToolStrip2.TabIndex = 6 + Me.ToolStrip2.Text = "ToolStrip2" + ' + 'ToolStripButton4 + ' + Me.ToolStripButton4.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton4.Image = CType(resources.GetObject("ToolStripButton4.Image"), System.Drawing.Image) + Me.ToolStripButton4.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton4.Name = "ToolStripButton4" + Me.ToolStripButton4.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton4.Text = "Neuer Datensatz" + Me.ToolStripButton4.ToolTipText = "Neuer Datensatz" + ' + 'ToolStripButton5 + ' + Me.ToolStripButton5.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton5.Image = CType(resources.GetObject("ToolStripButton5.Image"), System.Drawing.Image) + Me.ToolStripButton5.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton5.Name = "ToolStripButton5" + Me.ToolStripButton5.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton5.Text = "Datensatz inaktivieren" + Me.ToolStripButton5.ToolTipText = "Datensatz inaktivieren" + ' + 'TabPage3 + ' + Me.TabPage3.BackColor = System.Drawing.SystemColors.Control + Me.TabPage3.Controls.Add(Me.rtbDoc) + Me.TabPage3.Controls.Add(Me.ToolStrip3) + Me.TabPage3.Controls.Add(Me.MenuStrip2) + Me.TabPage3.Location = New System.Drawing.Point(4, 22) + Me.TabPage3.Name = "TabPage3" + Me.TabPage3.Size = New System.Drawing.Size(996, 476) + Me.TabPage3.TabIndex = 2 + Me.TabPage3.Text = "Entwicklung" + ' + 'rtbDoc + ' + Me.rtbDoc.Dock = System.Windows.Forms.DockStyle.Fill + Me.rtbDoc.Location = New System.Drawing.Point(0, 49) + Me.rtbDoc.Name = "rtbDoc" + Me.rtbDoc.Size = New System.Drawing.Size(996, 427) + Me.rtbDoc.TabIndex = 3 + Me.rtbDoc.Text = "" + ' + 'ToolStrip3 + ' + Me.ToolStrip3.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripButton1, Me.tbrNew, Me.tbrOpen, Me.tbrSave, Me.ToolStripSeparator2, Me.tbrFont, Me.ToolStripSeparator4, Me.tbrLeft, Me.tbrCenter, Me.tbrRight, Me.ToolStripSeparator3, Me.tbrBold, Me.tbrItalic, Me.tbrUnderline, Me.ToolStripSeparator7, Me.tbrFind}) + Me.ToolStrip3.Location = New System.Drawing.Point(0, 24) + Me.ToolStrip3.Name = "ToolStrip3" + Me.ToolStrip3.Size = New System.Drawing.Size(996, 25) + Me.ToolStrip3.TabIndex = 2 + Me.ToolStrip3.Text = "ToolStrip3" + ' + 'ToolStripButton1 + ' + Me.ToolStripButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton1.Image = CType(resources.GetObject("ToolStripButton1.Image"), System.Drawing.Image) + Me.ToolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton1.Name = "ToolStripButton1" + Me.ToolStripButton1.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton1.Text = "Fenster schliessen" + Me.ToolStripButton1.ToolTipText = "Fenster schliessen" + ' + 'tbrNew + ' + Me.tbrNew.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tbrNew.Image = CType(resources.GetObject("tbrNew.Image"), System.Drawing.Image) + Me.tbrNew.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tbrNew.Name = "tbrNew" + Me.tbrNew.Size = New System.Drawing.Size(23, 22) + Me.tbrNew.Text = "New" + Me.tbrNew.Visible = False + ' + 'tbrOpen + ' + Me.tbrOpen.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tbrOpen.Image = CType(resources.GetObject("tbrOpen.Image"), System.Drawing.Image) + Me.tbrOpen.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tbrOpen.Name = "tbrOpen" + Me.tbrOpen.Size = New System.Drawing.Size(23, 22) + Me.tbrOpen.Text = "Open" + Me.tbrOpen.Visible = False + ' + 'tbrSave + ' + Me.tbrSave.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tbrSave.Image = CType(resources.GetObject("tbrSave.Image"), System.Drawing.Image) + Me.tbrSave.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tbrSave.Name = "tbrSave" + Me.tbrSave.Size = New System.Drawing.Size(23, 22) + Me.tbrSave.Text = "Speichern" + ' + 'ToolStripSeparator2 + ' + Me.ToolStripSeparator2.Name = "ToolStripSeparator2" + Me.ToolStripSeparator2.Size = New System.Drawing.Size(6, 25) + ' + 'tbrFont + ' + Me.tbrFont.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tbrFont.Image = CType(resources.GetObject("tbrFont.Image"), System.Drawing.Image) + Me.tbrFont.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tbrFont.Name = "tbrFont" + Me.tbrFont.Size = New System.Drawing.Size(23, 22) + Me.tbrFont.Text = "Schrift" + ' + 'ToolStripSeparator4 + ' + Me.ToolStripSeparator4.Name = "ToolStripSeparator4" + Me.ToolStripSeparator4.Size = New System.Drawing.Size(6, 25) + ' + 'tbrLeft + ' + Me.tbrLeft.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tbrLeft.Image = CType(resources.GetObject("tbrLeft.Image"), System.Drawing.Image) + Me.tbrLeft.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tbrLeft.Name = "tbrLeft" + Me.tbrLeft.Size = New System.Drawing.Size(23, 22) + Me.tbrLeft.Text = "Linksbündig" + ' + 'tbrCenter + ' + Me.tbrCenter.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tbrCenter.Image = CType(resources.GetObject("tbrCenter.Image"), System.Drawing.Image) + Me.tbrCenter.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tbrCenter.Name = "tbrCenter" + Me.tbrCenter.Size = New System.Drawing.Size(23, 22) + Me.tbrCenter.Text = "Zentriert" + ' + 'tbrRight + ' + Me.tbrRight.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tbrRight.Image = CType(resources.GetObject("tbrRight.Image"), System.Drawing.Image) + Me.tbrRight.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tbrRight.Name = "tbrRight" + Me.tbrRight.Size = New System.Drawing.Size(23, 22) + Me.tbrRight.Text = "Rechtsbündig" + ' + 'ToolStripSeparator3 + ' + Me.ToolStripSeparator3.Name = "ToolStripSeparator3" + Me.ToolStripSeparator3.Size = New System.Drawing.Size(6, 25) + ' + 'tbrBold + ' + Me.tbrBold.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tbrBold.Image = CType(resources.GetObject("tbrBold.Image"), System.Drawing.Image) + Me.tbrBold.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tbrBold.Name = "tbrBold" + Me.tbrBold.Size = New System.Drawing.Size(23, 22) + Me.tbrBold.Text = "Fett" + ' + 'tbrItalic + ' + Me.tbrItalic.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tbrItalic.Image = CType(resources.GetObject("tbrItalic.Image"), System.Drawing.Image) + Me.tbrItalic.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tbrItalic.Name = "tbrItalic" + Me.tbrItalic.Size = New System.Drawing.Size(23, 22) + Me.tbrItalic.Text = "Kursiv" + ' + 'tbrUnderline + ' + Me.tbrUnderline.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tbrUnderline.Image = CType(resources.GetObject("tbrUnderline.Image"), System.Drawing.Image) + Me.tbrUnderline.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tbrUnderline.Name = "tbrUnderline" + Me.tbrUnderline.Size = New System.Drawing.Size(23, 22) + Me.tbrUnderline.Text = "Unterstrichen" + ' + 'ToolStripSeparator7 + ' + Me.ToolStripSeparator7.Name = "ToolStripSeparator7" + Me.ToolStripSeparator7.Size = New System.Drawing.Size(6, 25) + ' + 'tbrFind + ' + Me.tbrFind.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tbrFind.Image = CType(resources.GetObject("tbrFind.Image"), System.Drawing.Image) + Me.tbrFind.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tbrFind.Name = "tbrFind" + Me.tbrFind.Size = New System.Drawing.Size(23, 22) + Me.tbrFind.Text = "Suchen" + ' + 'MenuStrip2 + ' + Me.MenuStrip2.AllowMerge = False + Me.MenuStrip2.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.FileToolStripMenuItem, Me.EditToolStripMenuItem, Me.FontToolStripMenuItem, Me.ParagraphToolStripMenuItem, Me.BulletsToolStripMenuItem}) + Me.MenuStrip2.Location = New System.Drawing.Point(0, 0) + Me.MenuStrip2.Name = "MenuStrip2" + Me.MenuStrip2.Size = New System.Drawing.Size(996, 24) + Me.MenuStrip2.TabIndex = 1 + Me.MenuStrip2.Text = "MenuStrip2" + ' + 'FileToolStripMenuItem + ' + Me.FileToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.NewToolStripMenuItem, Me.ToolStripMenuItem1, Me.OpenToolStripMenuItem, Me.SaveToolStripMenuItem, Me.SaveAsToolStripMenuItem, Me.ToolStripMenuItem2, Me.mnuPageSetup, Me.PreviewToolStripMenuItem, Me.PrintToolStripMenuItem, Me.ToolStripMenuItem3, Me.ExitToolStripMenuItem}) + Me.FileToolStripMenuItem.Name = "FileToolStripMenuItem" + Me.FileToolStripMenuItem.Size = New System.Drawing.Size(37, 20) + Me.FileToolStripMenuItem.Text = "&File" + Me.FileToolStripMenuItem.Visible = False + ' + 'NewToolStripMenuItem + ' + Me.NewToolStripMenuItem.Image = CType(resources.GetObject("NewToolStripMenuItem.Image"), System.Drawing.Image) + Me.NewToolStripMenuItem.Name = "NewToolStripMenuItem" + Me.NewToolStripMenuItem.Size = New System.Drawing.Size(142, 22) + Me.NewToolStripMenuItem.Text = "&New" + ' + 'ToolStripMenuItem1 + ' + Me.ToolStripMenuItem1.Name = "ToolStripMenuItem1" + Me.ToolStripMenuItem1.Size = New System.Drawing.Size(139, 6) + ' + 'OpenToolStripMenuItem + ' + Me.OpenToolStripMenuItem.Image = CType(resources.GetObject("OpenToolStripMenuItem.Image"), System.Drawing.Image) + Me.OpenToolStripMenuItem.Name = "OpenToolStripMenuItem" + Me.OpenToolStripMenuItem.Size = New System.Drawing.Size(142, 22) + Me.OpenToolStripMenuItem.Text = "&Open..." + ' + 'SaveToolStripMenuItem + ' + Me.SaveToolStripMenuItem.Image = CType(resources.GetObject("SaveToolStripMenuItem.Image"), System.Drawing.Image) + Me.SaveToolStripMenuItem.Name = "SaveToolStripMenuItem" + Me.SaveToolStripMenuItem.Size = New System.Drawing.Size(142, 22) + Me.SaveToolStripMenuItem.Text = "&Save..." + ' + 'SaveAsToolStripMenuItem + ' + Me.SaveAsToolStripMenuItem.Name = "SaveAsToolStripMenuItem" + Me.SaveAsToolStripMenuItem.Size = New System.Drawing.Size(142, 22) + Me.SaveAsToolStripMenuItem.Text = "Save &As..." + ' + 'ToolStripMenuItem2 + ' + Me.ToolStripMenuItem2.Name = "ToolStripMenuItem2" + Me.ToolStripMenuItem2.Size = New System.Drawing.Size(139, 6) + ' + 'mnuPageSetup + ' + Me.mnuPageSetup.Name = "mnuPageSetup" + Me.mnuPageSetup.Size = New System.Drawing.Size(142, 22) + Me.mnuPageSetup.Text = "Page Setup..." + ' + 'PreviewToolStripMenuItem + ' + Me.PreviewToolStripMenuItem.Name = "PreviewToolStripMenuItem" + Me.PreviewToolStripMenuItem.Size = New System.Drawing.Size(142, 22) + Me.PreviewToolStripMenuItem.Text = "Pre&view..." + ' + 'PrintToolStripMenuItem + ' + Me.PrintToolStripMenuItem.Image = CType(resources.GetObject("PrintToolStripMenuItem.Image"), System.Drawing.Image) + Me.PrintToolStripMenuItem.Name = "PrintToolStripMenuItem" + Me.PrintToolStripMenuItem.Size = New System.Drawing.Size(142, 22) + Me.PrintToolStripMenuItem.Text = "&Print..." + ' + 'ToolStripMenuItem3 + ' + Me.ToolStripMenuItem3.Name = "ToolStripMenuItem3" + Me.ToolStripMenuItem3.Size = New System.Drawing.Size(139, 6) + ' + 'ExitToolStripMenuItem + ' + Me.ExitToolStripMenuItem.Name = "ExitToolStripMenuItem" + Me.ExitToolStripMenuItem.Size = New System.Drawing.Size(142, 22) + Me.ExitToolStripMenuItem.Text = "E&xit" + ' + 'EditToolStripMenuItem + ' + Me.EditToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.mnuUndo, Me.mnuRedo, Me.ToolStripSeparator6, Me.FindToolStripMenuItem, Me.FindAndReplaceToolStripMenuItem, Me.ToolStripMenuItem4, Me.SelectAllToolStripMenuItem, Me.ToolStripMenuItem5, Me.CopyToolStripMenuItem, Me.CutToolStripMenuItem, Me.PasteToolStripMenuItem, Me.ToolStripMenuItem8, Me.InsertImageToolStripMenuItem}) + Me.EditToolStripMenuItem.Name = "EditToolStripMenuItem" + Me.EditToolStripMenuItem.Size = New System.Drawing.Size(75, 20) + Me.EditToolStripMenuItem.Text = "&Bearbeiten" + ' + 'mnuUndo + ' + Me.mnuUndo.Image = CType(resources.GetObject("mnuUndo.Image"), System.Drawing.Image) + Me.mnuUndo.Name = "mnuUndo" + Me.mnuUndo.Size = New System.Drawing.Size(183, 22) + Me.mnuUndo.Text = "&Zurück" + ' + 'mnuRedo + ' + Me.mnuRedo.Image = CType(resources.GetObject("mnuRedo.Image"), System.Drawing.Image) + Me.mnuRedo.Name = "mnuRedo" + Me.mnuRedo.Size = New System.Drawing.Size(183, 22) + Me.mnuRedo.Text = "&Wieder herstellen" + ' + 'ToolStripSeparator6 + ' + Me.ToolStripSeparator6.Name = "ToolStripSeparator6" + Me.ToolStripSeparator6.Size = New System.Drawing.Size(180, 6) + ' + 'FindToolStripMenuItem + ' + Me.FindToolStripMenuItem.Image = CType(resources.GetObject("FindToolStripMenuItem.Image"), System.Drawing.Image) + Me.FindToolStripMenuItem.Name = "FindToolStripMenuItem" + Me.FindToolStripMenuItem.Size = New System.Drawing.Size(183, 22) + Me.FindToolStripMenuItem.Text = "&Suchen" + ' + 'FindAndReplaceToolStripMenuItem + ' + Me.FindAndReplaceToolStripMenuItem.Image = CType(resources.GetObject("FindAndReplaceToolStripMenuItem.Image"), System.Drawing.Image) + Me.FindAndReplaceToolStripMenuItem.Name = "FindAndReplaceToolStripMenuItem" + Me.FindAndReplaceToolStripMenuItem.Size = New System.Drawing.Size(183, 22) + Me.FindAndReplaceToolStripMenuItem.Text = "Suchen &und ersetzen" + ' + 'ToolStripMenuItem4 + ' + Me.ToolStripMenuItem4.Name = "ToolStripMenuItem4" + Me.ToolStripMenuItem4.Size = New System.Drawing.Size(180, 6) + ' + 'SelectAllToolStripMenuItem + ' + Me.SelectAllToolStripMenuItem.Name = "SelectAllToolStripMenuItem" + Me.SelectAllToolStripMenuItem.Size = New System.Drawing.Size(183, 22) + Me.SelectAllToolStripMenuItem.Text = "&Alles markieren" + ' + 'ToolStripMenuItem5 + ' + Me.ToolStripMenuItem5.Name = "ToolStripMenuItem5" + Me.ToolStripMenuItem5.Size = New System.Drawing.Size(180, 6) + ' + 'CopyToolStripMenuItem + ' + Me.CopyToolStripMenuItem.Image = CType(resources.GetObject("CopyToolStripMenuItem.Image"), System.Drawing.Image) + Me.CopyToolStripMenuItem.Name = "CopyToolStripMenuItem" + Me.CopyToolStripMenuItem.Size = New System.Drawing.Size(183, 22) + Me.CopyToolStripMenuItem.Text = "&Kopieren" + ' + 'CutToolStripMenuItem + ' + Me.CutToolStripMenuItem.Image = CType(resources.GetObject("CutToolStripMenuItem.Image"), System.Drawing.Image) + Me.CutToolStripMenuItem.Name = "CutToolStripMenuItem" + Me.CutToolStripMenuItem.Size = New System.Drawing.Size(183, 22) + Me.CutToolStripMenuItem.Text = "A&usschneiden" + ' + 'PasteToolStripMenuItem + ' + Me.PasteToolStripMenuItem.Image = CType(resources.GetObject("PasteToolStripMenuItem.Image"), System.Drawing.Image) + Me.PasteToolStripMenuItem.Name = "PasteToolStripMenuItem" + Me.PasteToolStripMenuItem.Size = New System.Drawing.Size(183, 22) + Me.PasteToolStripMenuItem.Text = "&Einfügen" + ' + 'ToolStripMenuItem8 + ' + Me.ToolStripMenuItem8.Name = "ToolStripMenuItem8" + Me.ToolStripMenuItem8.Size = New System.Drawing.Size(180, 6) + ' + 'InsertImageToolStripMenuItem + ' + Me.InsertImageToolStripMenuItem.Name = "InsertImageToolStripMenuItem" + Me.InsertImageToolStripMenuItem.Size = New System.Drawing.Size(183, 22) + Me.InsertImageToolStripMenuItem.Text = "Insert Image..." + Me.InsertImageToolStripMenuItem.Visible = False + ' + 'FontToolStripMenuItem + ' + Me.FontToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.SelectFontToolStripMenuItem, Me.ToolStripMenuItem6, Me.FontColorToolStripMenuItem, Me.ToolStripSeparator5, Me.BoldToolStripMenuItem, Me.ItalicToolStripMenuItem, Me.UnderlineToolStripMenuItem, Me.NormalToolStripMenuItem, Me.ToolStripMenuItem7, Me.PageColorToolStripMenuItem}) + Me.FontToolStripMenuItem.Name = "FontToolStripMenuItem" + Me.FontToolStripMenuItem.Size = New System.Drawing.Size(53, 20) + Me.FontToolStripMenuItem.Text = "S&chrift" + ' + 'SelectFontToolStripMenuItem + ' + Me.SelectFontToolStripMenuItem.Image = CType(resources.GetObject("SelectFontToolStripMenuItem.Image"), System.Drawing.Image) + Me.SelectFontToolStripMenuItem.Name = "SelectFontToolStripMenuItem" + Me.SelectFontToolStripMenuItem.Size = New System.Drawing.Size(160, 22) + Me.SelectFontToolStripMenuItem.Text = "Schriftauswahl..." + ' + 'ToolStripMenuItem6 + ' + Me.ToolStripMenuItem6.Name = "ToolStripMenuItem6" + Me.ToolStripMenuItem6.Size = New System.Drawing.Size(157, 6) + ' + 'FontColorToolStripMenuItem + ' + Me.FontColorToolStripMenuItem.Name = "FontColorToolStripMenuItem" + Me.FontColorToolStripMenuItem.Size = New System.Drawing.Size(160, 22) + Me.FontColorToolStripMenuItem.Text = "Schrift&farbe" + ' + 'ToolStripSeparator5 + ' + Me.ToolStripSeparator5.Name = "ToolStripSeparator5" + Me.ToolStripSeparator5.Size = New System.Drawing.Size(157, 6) + ' + 'BoldToolStripMenuItem + ' + Me.BoldToolStripMenuItem.Image = CType(resources.GetObject("BoldToolStripMenuItem.Image"), System.Drawing.Image) + Me.BoldToolStripMenuItem.Name = "BoldToolStripMenuItem" + Me.BoldToolStripMenuItem.Size = New System.Drawing.Size(160, 22) + Me.BoldToolStripMenuItem.Text = "F&ett" + ' + 'ItalicToolStripMenuItem + ' + Me.ItalicToolStripMenuItem.Image = CType(resources.GetObject("ItalicToolStripMenuItem.Image"), System.Drawing.Image) + Me.ItalicToolStripMenuItem.Name = "ItalicToolStripMenuItem" + Me.ItalicToolStripMenuItem.Size = New System.Drawing.Size(160, 22) + Me.ItalicToolStripMenuItem.Text = "&Kursiv" + ' + 'UnderlineToolStripMenuItem + ' + Me.UnderlineToolStripMenuItem.Image = CType(resources.GetObject("UnderlineToolStripMenuItem.Image"), System.Drawing.Image) + Me.UnderlineToolStripMenuItem.Name = "UnderlineToolStripMenuItem" + Me.UnderlineToolStripMenuItem.Size = New System.Drawing.Size(160, 22) + Me.UnderlineToolStripMenuItem.Text = "&Unterstrichen" + ' + 'NormalToolStripMenuItem + ' + Me.NormalToolStripMenuItem.Name = "NormalToolStripMenuItem" + Me.NormalToolStripMenuItem.Size = New System.Drawing.Size(160, 22) + Me.NormalToolStripMenuItem.Text = "&Normal" + ' + 'ToolStripMenuItem7 + ' + Me.ToolStripMenuItem7.Name = "ToolStripMenuItem7" + Me.ToolStripMenuItem7.Size = New System.Drawing.Size(157, 6) + ' + 'PageColorToolStripMenuItem + ' + Me.PageColorToolStripMenuItem.Name = "PageColorToolStripMenuItem" + Me.PageColorToolStripMenuItem.Size = New System.Drawing.Size(160, 22) + Me.PageColorToolStripMenuItem.Text = "&Page Color..." + Me.PageColorToolStripMenuItem.Visible = False + ' + 'ParagraphToolStripMenuItem + ' + Me.ParagraphToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.IndentToolStripMenuItem, Me.mnuAlign}) + Me.ParagraphToolStripMenuItem.Name = "ParagraphToolStripMenuItem" + Me.ParagraphToolStripMenuItem.Size = New System.Drawing.Size(73, 20) + Me.ParagraphToolStripMenuItem.Text = "P&aragraph" + Me.ParagraphToolStripMenuItem.Visible = False + ' + 'IndentToolStripMenuItem + ' + Me.IndentToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.mnuIndent0, Me.mnuIndent5, Me.mnuIndent10, Me.mnuIndent15, Me.mnuIndent20}) + Me.IndentToolStripMenuItem.Name = "IndentToolStripMenuItem" + Me.IndentToolStripMenuItem.Size = New System.Drawing.Size(108, 22) + Me.IndentToolStripMenuItem.Text = "&Indent" + Me.IndentToolStripMenuItem.Visible = False + ' + 'mnuIndent0 + ' + Me.mnuIndent0.Name = "mnuIndent0" + Me.mnuIndent0.Size = New System.Drawing.Size(105, 22) + Me.mnuIndent0.Text = "None" + ' + 'mnuIndent5 + ' + Me.mnuIndent5.Name = "mnuIndent5" + Me.mnuIndent5.Size = New System.Drawing.Size(105, 22) + Me.mnuIndent5.Text = "5 pts" + ' + 'mnuIndent10 + ' + Me.mnuIndent10.Name = "mnuIndent10" + Me.mnuIndent10.Size = New System.Drawing.Size(105, 22) + Me.mnuIndent10.Text = "10 pts" + ' + 'mnuIndent15 + ' + Me.mnuIndent15.Name = "mnuIndent15" + Me.mnuIndent15.Size = New System.Drawing.Size(105, 22) + Me.mnuIndent15.Text = "15 pts" + ' + 'mnuIndent20 + ' + Me.mnuIndent20.Name = "mnuIndent20" + Me.mnuIndent20.Size = New System.Drawing.Size(105, 22) + Me.mnuIndent20.Text = "20 pts" + ' + 'mnuAlign + ' + Me.mnuAlign.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.LeftToolStripMenuItem, Me.CenterToolStripMenuItem, Me.RightToolStripMenuItem}) + Me.mnuAlign.Name = "mnuAlign" + Me.mnuAlign.Size = New System.Drawing.Size(108, 22) + Me.mnuAlign.Text = "&Align" + ' + 'LeftToolStripMenuItem + ' + Me.LeftToolStripMenuItem.Image = CType(resources.GetObject("LeftToolStripMenuItem.Image"), System.Drawing.Image) + Me.LeftToolStripMenuItem.Name = "LeftToolStripMenuItem" + Me.LeftToolStripMenuItem.Size = New System.Drawing.Size(109, 22) + Me.LeftToolStripMenuItem.Text = "Left" + ' + 'CenterToolStripMenuItem + ' + Me.CenterToolStripMenuItem.Image = CType(resources.GetObject("CenterToolStripMenuItem.Image"), System.Drawing.Image) + Me.CenterToolStripMenuItem.Name = "CenterToolStripMenuItem" + Me.CenterToolStripMenuItem.Size = New System.Drawing.Size(109, 22) + Me.CenterToolStripMenuItem.Text = "Center" + ' + 'RightToolStripMenuItem + ' + Me.RightToolStripMenuItem.Image = CType(resources.GetObject("RightToolStripMenuItem.Image"), System.Drawing.Image) + Me.RightToolStripMenuItem.Name = "RightToolStripMenuItem" + Me.RightToolStripMenuItem.Size = New System.Drawing.Size(109, 22) + Me.RightToolStripMenuItem.Text = "Right" + ' + 'BulletsToolStripMenuItem + ' + Me.BulletsToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.AddBulletsToolStripMenuItem, Me.RemoveBulletsToolStripMenuItem}) + Me.BulletsToolStripMenuItem.Name = "BulletsToolStripMenuItem" + Me.BulletsToolStripMenuItem.Size = New System.Drawing.Size(123, 20) + Me.BulletsToolStripMenuItem.Text = "&Azfzählungszeichen" + ' + 'AddBulletsToolStripMenuItem + ' + Me.AddBulletsToolStripMenuItem.Name = "AddBulletsToolStripMenuItem" + Me.AddBulletsToolStripMenuItem.Size = New System.Drawing.Size(136, 22) + Me.AddBulletsToolStripMenuItem.Text = "Hinzufügen" + ' + 'RemoveBulletsToolStripMenuItem + ' + Me.RemoveBulletsToolStripMenuItem.Name = "RemoveBulletsToolStripMenuItem" + Me.RemoveBulletsToolStripMenuItem.Size = New System.Drawing.Size(136, 22) + Me.RemoveBulletsToolStripMenuItem.Text = "Entfernen" + ' + 'TabPage4 + ' + Me.TabPage4.BackColor = System.Drawing.SystemColors.Control + Me.TabPage4.Controls.Add(Me.SplitContainer1) + Me.TabPage4.Controls.Add(Me.ToolStrip4) + Me.TabPage4.Location = New System.Drawing.Point(4, 22) + Me.TabPage4.Name = "TabPage4" + Me.TabPage4.Size = New System.Drawing.Size(996, 476) + Me.TabPage4.TabIndex = 3 + Me.TabPage4.Text = "Kommunikation" + ' + 'TabPage6 + ' + Me.TabPage6.BackColor = System.Drawing.SystemColors.Control + Me.TabPage6.Controls.Add(Me.C1TrueDBGrid4) + Me.TabPage6.Location = New System.Drawing.Point(4, 22) + Me.TabPage6.Name = "TabPage6" + Me.TabPage6.Size = New System.Drawing.Size(996, 476) + Me.TabPage6.TabIndex = 5 + Me.TabPage6.Text = "History" + ' + 'ToolStrip4 + ' + Me.ToolStrip4.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripButton2, Me.ToolStripButton3}) + Me.ToolStrip4.Location = New System.Drawing.Point(0, 0) + Me.ToolStrip4.Name = "ToolStrip4" + Me.ToolStrip4.Size = New System.Drawing.Size(996, 25) + Me.ToolStrip4.TabIndex = 9 + Me.ToolStrip4.Text = "ToolStrip4" + ' + 'ToolStripButton2 + ' + Me.ToolStripButton2.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton2.Image = CType(resources.GetObject("ToolStripButton2.Image"), System.Drawing.Image) + Me.ToolStripButton2.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton2.Name = "ToolStripButton2" + Me.ToolStripButton2.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton2.Text = "Neuer Datensatz" + Me.ToolStripButton2.ToolTipText = "Neuer Datensatz" + ' + 'ToolStripButton3 + ' + Me.ToolStripButton3.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton3.Image = CType(resources.GetObject("ToolStripButton3.Image"), System.Drawing.Image) + Me.ToolStripButton3.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton3.Name = "ToolStripButton3" + Me.ToolStripButton3.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton3.Text = "Datensatz inaktivieren" + Me.ToolStripButton3.ToolTipText = "Datensatz inaktivieren" + ' + 'SplitContainer1 + ' + Me.SplitContainer1.Dock = System.Windows.Forms.DockStyle.Fill + Me.SplitContainer1.Location = New System.Drawing.Point(0, 25) + Me.SplitContainer1.Name = "SplitContainer1" + ' + 'SplitContainer1.Panel1 + ' + Me.SplitContainer1.Panel1.Controls.Add(Me.GroupBox2) + ' + 'SplitContainer1.Panel2 + ' + Me.SplitContainer1.Panel2.Controls.Add(Me.SplitContainer2) + Me.SplitContainer1.Size = New System.Drawing.Size(996, 451) + Me.SplitContainer1.SplitterDistance = 245 + Me.SplitContainer1.TabIndex = 10 + ' + 'SplitContainer2 + ' + Me.SplitContainer2.Dock = System.Windows.Forms.DockStyle.Fill + Me.SplitContainer2.Location = New System.Drawing.Point(0, 0) + Me.SplitContainer2.Name = "SplitContainer2" + Me.SplitContainer2.Orientation = System.Windows.Forms.Orientation.Horizontal + ' + 'SplitContainer2.Panel1 + ' + Me.SplitContainer2.Panel1.Controls.Add(Me.SplitContainer3) + ' + 'SplitContainer2.Panel2 + ' + Me.SplitContainer2.Panel2.Controls.Add(Me.RichTextBoxPrintCtrl1) + Me.SplitContainer2.Panel2.Controls.Add(Me.ToolStrip6) + Me.SplitContainer2.Panel2.Controls.Add(Me.MenuStrip3) + Me.SplitContainer2.Size = New System.Drawing.Size(747, 451) + Me.SplitContainer2.SplitterDistance = 200 + Me.SplitContainer2.TabIndex = 0 + ' + 'SplitContainer3 + ' + Me.SplitContainer3.Dock = System.Windows.Forms.DockStyle.Fill + Me.SplitContainer3.Location = New System.Drawing.Point(0, 0) + Me.SplitContainer3.Name = "SplitContainer3" + ' + 'SplitContainer3.Panel1 + ' + Me.SplitContainer3.Panel1.Controls.Add(Me.GroupBox1) + ' + 'SplitContainer3.Panel2 + ' + Me.SplitContainer3.Panel2.Controls.Add(Me.GroupBox3) + Me.SplitContainer3.Size = New System.Drawing.Size(747, 200) + Me.SplitContainer3.SplitterDistance = 280 + Me.SplitContainer3.TabIndex = 0 + ' + 'GroupBox1 + ' + Me.GroupBox1.Controls.Add(Me.ComboBox2) + Me.GroupBox1.Controls.Add(Me.ComboBox1) + Me.GroupBox1.Controls.Add(Me.Label13) + Me.GroupBox1.Controls.Add(Me.Label12) + Me.GroupBox1.Controls.Add(Me.TextBox6) + Me.GroupBox1.Controls.Add(Me.Label10) + Me.GroupBox1.Dock = System.Windows.Forms.DockStyle.Fill + Me.GroupBox1.Location = New System.Drawing.Point(0, 0) + Me.GroupBox1.Name = "GroupBox1" + Me.GroupBox1.Size = New System.Drawing.Size(280, 200) + Me.GroupBox1.TabIndex = 0 + Me.GroupBox1.TabStop = False + Me.GroupBox1.Text = "Details" + ' + 'GroupBox2 + ' + Me.GroupBox2.Controls.Add(Me.TreeView1) + Me.GroupBox2.Dock = System.Windows.Forms.DockStyle.Fill + Me.GroupBox2.Location = New System.Drawing.Point(0, 0) + Me.GroupBox2.Name = "GroupBox2" + Me.GroupBox2.Size = New System.Drawing.Size(245, 451) + Me.GroupBox2.TabIndex = 0 + Me.GroupBox2.TabStop = False + Me.GroupBox2.Text = "Datum" + ' + 'GroupBox3 + ' + Me.GroupBox3.Controls.Add(Me.C1TrueDBGrid2) + Me.GroupBox3.Controls.Add(Me.ToolStrip5) + Me.GroupBox3.Dock = System.Windows.Forms.DockStyle.Fill + Me.GroupBox3.Location = New System.Drawing.Point(0, 0) + Me.GroupBox3.Name = "GroupBox3" + Me.GroupBox3.Size = New System.Drawing.Size(463, 200) + Me.GroupBox3.TabIndex = 0 + Me.GroupBox3.TabStop = False + Me.GroupBox3.Text = "Dokumente" + ' + 'Label10 + ' + Me.Label10.AutoSize = True + Me.Label10.Location = New System.Drawing.Point(15, 26) + Me.Label10.Name = "Label10" + Me.Label10.Size = New System.Drawing.Size(72, 13) + Me.Label10.TabIndex = 0 + Me.Label10.Text = "Beschreibung" + ' + 'TextBox6 + ' + Me.TextBox6.Location = New System.Drawing.Point(93, 26) + Me.TextBox6.Multiline = True + Me.TextBox6.Name = "TextBox6" + Me.TextBox6.Size = New System.Drawing.Size(181, 62) + Me.TextBox6.TabIndex = 1 + ' + 'Label12 + ' + Me.Label12.AutoSize = True + Me.Label12.Location = New System.Drawing.Point(15, 101) + Me.Label12.Name = "Label12" + Me.Label12.Size = New System.Drawing.Size(57, 13) + Me.Label12.TabIndex = 2 + Me.Label12.Text = "Zielgruppe" + ' + 'Label13 + ' + Me.Label13.AutoSize = True + Me.Label13.Location = New System.Drawing.Point(15, 128) + Me.Label13.Name = "Label13" + Me.Label13.Size = New System.Drawing.Size(54, 13) + Me.Label13.TabIndex = 3 + Me.Label13.Text = "Inforkanal" + ' + 'ComboBox1 + ' + Me.ComboBox1.FormattingEnabled = True + Me.ComboBox1.Location = New System.Drawing.Point(93, 98) + Me.ComboBox1.Name = "ComboBox1" + Me.ComboBox1.Size = New System.Drawing.Size(181, 21) + Me.ComboBox1.TabIndex = 4 + ' + 'ComboBox2 + ' + Me.ComboBox2.FormattingEnabled = True + Me.ComboBox2.Location = New System.Drawing.Point(93, 125) + Me.ComboBox2.Name = "ComboBox2" + Me.ComboBox2.Size = New System.Drawing.Size(181, 21) + Me.ComboBox2.TabIndex = 5 + ' + 'TreeView1 + ' + Me.TreeView1.Dock = System.Windows.Forms.DockStyle.Fill + Me.TreeView1.Location = New System.Drawing.Point(3, 16) + Me.TreeView1.Name = "TreeView1" + Me.TreeView1.Size = New System.Drawing.Size(239, 432) + Me.TreeView1.TabIndex = 0 + ' + 'ToolStrip5 + ' + Me.ToolStrip5.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripButton6, Me.ToolStripButton7}) + Me.ToolStrip5.Location = New System.Drawing.Point(3, 16) + Me.ToolStrip5.Name = "ToolStrip5" + Me.ToolStrip5.Size = New System.Drawing.Size(457, 25) + Me.ToolStrip5.TabIndex = 7 + Me.ToolStrip5.Text = "ToolStrip5" + ' + 'ToolStripButton6 + ' + Me.ToolStripButton6.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton6.Image = CType(resources.GetObject("ToolStripButton6.Image"), System.Drawing.Image) + Me.ToolStripButton6.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton6.Name = "ToolStripButton6" + Me.ToolStripButton6.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton6.Text = "Neuer Datensatz" + Me.ToolStripButton6.ToolTipText = "Neuer Datensatz" + ' + 'ToolStripButton7 + ' + Me.ToolStripButton7.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton7.Image = CType(resources.GetObject("ToolStripButton7.Image"), System.Drawing.Image) + Me.ToolStripButton7.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton7.Name = "ToolStripButton7" + Me.ToolStripButton7.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton7.Text = "Datensatz inaktivieren" + Me.ToolStripButton7.ToolTipText = "Datensatz inaktivieren" + ' + 'C1TrueDBGrid2 + ' + Me.C1TrueDBGrid2.Dock = System.Windows.Forms.DockStyle.Fill + Me.C1TrueDBGrid2.Location = New System.Drawing.Point(3, 41) + Me.C1TrueDBGrid2.Name = "C1TrueDBGrid2" + Me.C1TrueDBGrid2.PreviewInfo.Location = New System.Drawing.Point(0, 0) + Me.C1TrueDBGrid2.PreviewInfo.Size = New System.Drawing.Size(0, 0) + Me.C1TrueDBGrid2.PreviewInfo.ZoomFactor = 75.0R + Me.C1TrueDBGrid2.PrintInfo.PageSettings = CType(resources.GetObject("C1TrueDBGrid2.PrintInfo.PageSettings"), System.Drawing.Printing.PageSettings) + Me.C1TrueDBGrid2.PropBag = resources.GetString("C1TrueDBGrid2.PropBag") + Me.C1TrueDBGrid2.Size = New System.Drawing.Size(457, 156) + Me.C1TrueDBGrid2.TabIndex = 8 + Me.C1TrueDBGrid2.Text = "C1TrueDBGrid2" + ' + 'MenuStrip3 + ' + Me.MenuStrip3.AllowMerge = False + Me.MenuStrip3.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripMenuItem9, Me.ToolStripMenuItem18, Me.ToolStripMenuItem28, Me.ToolStripMenuItem36, Me.ToolStripMenuItem47}) + Me.MenuStrip3.Location = New System.Drawing.Point(0, 0) + Me.MenuStrip3.Name = "MenuStrip3" + Me.MenuStrip3.Size = New System.Drawing.Size(747, 24) + Me.MenuStrip3.TabIndex = 2 + Me.MenuStrip3.Text = "MenuStrip3" + ' + 'ToolStripMenuItem9 + ' + Me.ToolStripMenuItem9.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripMenuItem10, Me.ToolStripSeparator8, Me.ToolStripMenuItem11, Me.ToolStripMenuItem12, Me.ToolStripMenuItem13, Me.ToolStripSeparator9, Me.ToolStripMenuItem14, Me.ToolStripMenuItem15, Me.ToolStripMenuItem16, Me.ToolStripSeparator10, Me.ToolStripMenuItem17}) + Me.ToolStripMenuItem9.Name = "ToolStripMenuItem9" + Me.ToolStripMenuItem9.Size = New System.Drawing.Size(37, 20) + Me.ToolStripMenuItem9.Text = "&File" + Me.ToolStripMenuItem9.Visible = False + ' + 'ToolStripMenuItem10 + ' + Me.ToolStripMenuItem10.Image = CType(resources.GetObject("ToolStripMenuItem10.Image"), System.Drawing.Image) + Me.ToolStripMenuItem10.Name = "ToolStripMenuItem10" + Me.ToolStripMenuItem10.Size = New System.Drawing.Size(142, 22) + Me.ToolStripMenuItem10.Text = "&New" + ' + 'ToolStripSeparator8 + ' + Me.ToolStripSeparator8.Name = "ToolStripSeparator8" + Me.ToolStripSeparator8.Size = New System.Drawing.Size(139, 6) + ' + 'ToolStripMenuItem11 + ' + Me.ToolStripMenuItem11.Image = CType(resources.GetObject("ToolStripMenuItem11.Image"), System.Drawing.Image) + Me.ToolStripMenuItem11.Name = "ToolStripMenuItem11" + Me.ToolStripMenuItem11.Size = New System.Drawing.Size(142, 22) + Me.ToolStripMenuItem11.Text = "&Open..." + ' + 'ToolStripMenuItem12 + ' + Me.ToolStripMenuItem12.Image = CType(resources.GetObject("ToolStripMenuItem12.Image"), System.Drawing.Image) + Me.ToolStripMenuItem12.Name = "ToolStripMenuItem12" + Me.ToolStripMenuItem12.Size = New System.Drawing.Size(142, 22) + Me.ToolStripMenuItem12.Text = "&Save..." + ' + 'ToolStripMenuItem13 + ' + Me.ToolStripMenuItem13.Name = "ToolStripMenuItem13" + Me.ToolStripMenuItem13.Size = New System.Drawing.Size(142, 22) + Me.ToolStripMenuItem13.Text = "Save &As..." + ' + 'ToolStripSeparator9 + ' + Me.ToolStripSeparator9.Name = "ToolStripSeparator9" + Me.ToolStripSeparator9.Size = New System.Drawing.Size(139, 6) + ' + 'ToolStripMenuItem14 + ' + Me.ToolStripMenuItem14.Name = "ToolStripMenuItem14" + Me.ToolStripMenuItem14.Size = New System.Drawing.Size(142, 22) + Me.ToolStripMenuItem14.Text = "Page Setup..." + ' + 'ToolStripMenuItem15 + ' + Me.ToolStripMenuItem15.Name = "ToolStripMenuItem15" + Me.ToolStripMenuItem15.Size = New System.Drawing.Size(142, 22) + Me.ToolStripMenuItem15.Text = "Pre&view..." + ' + 'ToolStripMenuItem16 + ' + Me.ToolStripMenuItem16.Image = CType(resources.GetObject("ToolStripMenuItem16.Image"), System.Drawing.Image) + Me.ToolStripMenuItem16.Name = "ToolStripMenuItem16" + Me.ToolStripMenuItem16.Size = New System.Drawing.Size(142, 22) + Me.ToolStripMenuItem16.Text = "&Print..." + ' + 'ToolStripSeparator10 + ' + Me.ToolStripSeparator10.Name = "ToolStripSeparator10" + Me.ToolStripSeparator10.Size = New System.Drawing.Size(139, 6) + ' + 'ToolStripMenuItem17 + ' + Me.ToolStripMenuItem17.Name = "ToolStripMenuItem17" + Me.ToolStripMenuItem17.Size = New System.Drawing.Size(142, 22) + Me.ToolStripMenuItem17.Text = "E&xit" + ' + 'ToolStripMenuItem18 + ' + Me.ToolStripMenuItem18.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripMenuItem19, Me.ToolStripMenuItem20, Me.ToolStripSeparator11, Me.ToolStripMenuItem21, Me.ToolStripMenuItem22, Me.ToolStripSeparator12, Me.ToolStripMenuItem23, Me.ToolStripSeparator13, Me.ToolStripMenuItem24, Me.ToolStripMenuItem25, Me.ToolStripMenuItem26, Me.ToolStripSeparator14, Me.ToolStripMenuItem27}) + Me.ToolStripMenuItem18.Name = "ToolStripMenuItem18" + Me.ToolStripMenuItem18.Size = New System.Drawing.Size(75, 20) + Me.ToolStripMenuItem18.Text = "&Bearbeiten" + ' + 'ToolStripMenuItem19 + ' + Me.ToolStripMenuItem19.Image = CType(resources.GetObject("ToolStripMenuItem19.Image"), System.Drawing.Image) + Me.ToolStripMenuItem19.Name = "ToolStripMenuItem19" + Me.ToolStripMenuItem19.Size = New System.Drawing.Size(183, 22) + Me.ToolStripMenuItem19.Text = "&Zurück" + ' + 'ToolStripMenuItem20 + ' + Me.ToolStripMenuItem20.Image = CType(resources.GetObject("ToolStripMenuItem20.Image"), System.Drawing.Image) + Me.ToolStripMenuItem20.Name = "ToolStripMenuItem20" + Me.ToolStripMenuItem20.Size = New System.Drawing.Size(183, 22) + Me.ToolStripMenuItem20.Text = "&Wieder herstellen" + ' + 'ToolStripSeparator11 + ' + Me.ToolStripSeparator11.Name = "ToolStripSeparator11" + Me.ToolStripSeparator11.Size = New System.Drawing.Size(180, 6) + ' + 'ToolStripMenuItem21 + ' + Me.ToolStripMenuItem21.Image = CType(resources.GetObject("ToolStripMenuItem21.Image"), System.Drawing.Image) + Me.ToolStripMenuItem21.Name = "ToolStripMenuItem21" + Me.ToolStripMenuItem21.Size = New System.Drawing.Size(183, 22) + Me.ToolStripMenuItem21.Text = "&Suchen" + ' + 'ToolStripMenuItem22 + ' + Me.ToolStripMenuItem22.Image = CType(resources.GetObject("ToolStripMenuItem22.Image"), System.Drawing.Image) + Me.ToolStripMenuItem22.Name = "ToolStripMenuItem22" + Me.ToolStripMenuItem22.Size = New System.Drawing.Size(183, 22) + Me.ToolStripMenuItem22.Text = "Suchen &und ersetzen" + ' + 'ToolStripSeparator12 + ' + Me.ToolStripSeparator12.Name = "ToolStripSeparator12" + Me.ToolStripSeparator12.Size = New System.Drawing.Size(180, 6) + ' + 'ToolStripMenuItem23 + ' + Me.ToolStripMenuItem23.Name = "ToolStripMenuItem23" + Me.ToolStripMenuItem23.Size = New System.Drawing.Size(183, 22) + Me.ToolStripMenuItem23.Text = "&Alles markieren" + ' + 'ToolStripSeparator13 + ' + Me.ToolStripSeparator13.Name = "ToolStripSeparator13" + Me.ToolStripSeparator13.Size = New System.Drawing.Size(180, 6) + ' + 'ToolStripMenuItem24 + ' + Me.ToolStripMenuItem24.Image = CType(resources.GetObject("ToolStripMenuItem24.Image"), System.Drawing.Image) + Me.ToolStripMenuItem24.Name = "ToolStripMenuItem24" + Me.ToolStripMenuItem24.Size = New System.Drawing.Size(183, 22) + Me.ToolStripMenuItem24.Text = "&Kopieren" + ' + 'ToolStripMenuItem25 + ' + Me.ToolStripMenuItem25.Image = CType(resources.GetObject("ToolStripMenuItem25.Image"), System.Drawing.Image) + Me.ToolStripMenuItem25.Name = "ToolStripMenuItem25" + Me.ToolStripMenuItem25.Size = New System.Drawing.Size(183, 22) + Me.ToolStripMenuItem25.Text = "A&usschneiden" + ' + 'ToolStripMenuItem26 + ' + Me.ToolStripMenuItem26.Image = CType(resources.GetObject("ToolStripMenuItem26.Image"), System.Drawing.Image) + Me.ToolStripMenuItem26.Name = "ToolStripMenuItem26" + Me.ToolStripMenuItem26.Size = New System.Drawing.Size(183, 22) + Me.ToolStripMenuItem26.Text = "&Einfügen" + ' + 'ToolStripSeparator14 + ' + Me.ToolStripSeparator14.Name = "ToolStripSeparator14" + Me.ToolStripSeparator14.Size = New System.Drawing.Size(180, 6) + ' + 'ToolStripMenuItem27 + ' + Me.ToolStripMenuItem27.Name = "ToolStripMenuItem27" + Me.ToolStripMenuItem27.Size = New System.Drawing.Size(183, 22) + Me.ToolStripMenuItem27.Text = "Insert Image..." + Me.ToolStripMenuItem27.Visible = False + ' + 'ToolStripMenuItem28 + ' + Me.ToolStripMenuItem28.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripMenuItem29, Me.ToolStripSeparator15, Me.ToolStripMenuItem30, Me.ToolStripSeparator16, Me.ToolStripMenuItem31, Me.ToolStripMenuItem32, Me.ToolStripMenuItem33, Me.ToolStripMenuItem34, Me.ToolStripSeparator17, Me.ToolStripMenuItem35}) + Me.ToolStripMenuItem28.Name = "ToolStripMenuItem28" + Me.ToolStripMenuItem28.Size = New System.Drawing.Size(53, 20) + Me.ToolStripMenuItem28.Text = "S&chrift" + ' + 'ToolStripMenuItem29 + ' + Me.ToolStripMenuItem29.Image = CType(resources.GetObject("ToolStripMenuItem29.Image"), System.Drawing.Image) + Me.ToolStripMenuItem29.Name = "ToolStripMenuItem29" + Me.ToolStripMenuItem29.Size = New System.Drawing.Size(160, 22) + Me.ToolStripMenuItem29.Text = "Schriftauswahl..." + ' + 'ToolStripSeparator15 + ' + Me.ToolStripSeparator15.Name = "ToolStripSeparator15" + Me.ToolStripSeparator15.Size = New System.Drawing.Size(157, 6) + ' + 'ToolStripMenuItem30 + ' + Me.ToolStripMenuItem30.Name = "ToolStripMenuItem30" + Me.ToolStripMenuItem30.Size = New System.Drawing.Size(160, 22) + Me.ToolStripMenuItem30.Text = "Schrift&farbe" + ' + 'ToolStripSeparator16 + ' + Me.ToolStripSeparator16.Name = "ToolStripSeparator16" + Me.ToolStripSeparator16.Size = New System.Drawing.Size(157, 6) + ' + 'ToolStripMenuItem31 + ' + Me.ToolStripMenuItem31.Image = CType(resources.GetObject("ToolStripMenuItem31.Image"), System.Drawing.Image) + Me.ToolStripMenuItem31.Name = "ToolStripMenuItem31" + Me.ToolStripMenuItem31.Size = New System.Drawing.Size(160, 22) + Me.ToolStripMenuItem31.Text = "F&ett" + ' + 'ToolStripMenuItem32 + ' + Me.ToolStripMenuItem32.Image = CType(resources.GetObject("ToolStripMenuItem32.Image"), System.Drawing.Image) + Me.ToolStripMenuItem32.Name = "ToolStripMenuItem32" + Me.ToolStripMenuItem32.Size = New System.Drawing.Size(160, 22) + Me.ToolStripMenuItem32.Text = "&Kursiv" + ' + 'ToolStripMenuItem33 + ' + Me.ToolStripMenuItem33.Image = CType(resources.GetObject("ToolStripMenuItem33.Image"), System.Drawing.Image) + Me.ToolStripMenuItem33.Name = "ToolStripMenuItem33" + Me.ToolStripMenuItem33.Size = New System.Drawing.Size(160, 22) + Me.ToolStripMenuItem33.Text = "&Unterstrichen" + ' + 'ToolStripMenuItem34 + ' + Me.ToolStripMenuItem34.Name = "ToolStripMenuItem34" + Me.ToolStripMenuItem34.Size = New System.Drawing.Size(160, 22) + Me.ToolStripMenuItem34.Text = "&Normal" + ' + 'ToolStripSeparator17 + ' + Me.ToolStripSeparator17.Name = "ToolStripSeparator17" + Me.ToolStripSeparator17.Size = New System.Drawing.Size(157, 6) + ' + 'ToolStripMenuItem35 + ' + Me.ToolStripMenuItem35.Name = "ToolStripMenuItem35" + Me.ToolStripMenuItem35.Size = New System.Drawing.Size(160, 22) + Me.ToolStripMenuItem35.Text = "&Page Color..." + Me.ToolStripMenuItem35.Visible = False + ' + 'ToolStripMenuItem36 + ' + Me.ToolStripMenuItem36.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripMenuItem37, Me.ToolStripMenuItem43}) + Me.ToolStripMenuItem36.Name = "ToolStripMenuItem36" + Me.ToolStripMenuItem36.Size = New System.Drawing.Size(73, 20) + Me.ToolStripMenuItem36.Text = "P&aragraph" + Me.ToolStripMenuItem36.Visible = False + ' + 'ToolStripMenuItem37 + ' + Me.ToolStripMenuItem37.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripMenuItem38, Me.ToolStripMenuItem39, Me.ToolStripMenuItem40, Me.ToolStripMenuItem41, Me.ToolStripMenuItem42}) + Me.ToolStripMenuItem37.Name = "ToolStripMenuItem37" + Me.ToolStripMenuItem37.Size = New System.Drawing.Size(108, 22) + Me.ToolStripMenuItem37.Text = "&Indent" + Me.ToolStripMenuItem37.Visible = False + ' + 'ToolStripMenuItem38 + ' + Me.ToolStripMenuItem38.Name = "ToolStripMenuItem38" + Me.ToolStripMenuItem38.Size = New System.Drawing.Size(105, 22) + Me.ToolStripMenuItem38.Text = "None" + ' + 'ToolStripMenuItem39 + ' + Me.ToolStripMenuItem39.Name = "ToolStripMenuItem39" + Me.ToolStripMenuItem39.Size = New System.Drawing.Size(105, 22) + Me.ToolStripMenuItem39.Text = "5 pts" + ' + 'ToolStripMenuItem40 + ' + Me.ToolStripMenuItem40.Name = "ToolStripMenuItem40" + Me.ToolStripMenuItem40.Size = New System.Drawing.Size(105, 22) + Me.ToolStripMenuItem40.Text = "10 pts" + ' + 'ToolStripMenuItem41 + ' + Me.ToolStripMenuItem41.Name = "ToolStripMenuItem41" + Me.ToolStripMenuItem41.Size = New System.Drawing.Size(105, 22) + Me.ToolStripMenuItem41.Text = "15 pts" + ' + 'ToolStripMenuItem42 + ' + Me.ToolStripMenuItem42.Name = "ToolStripMenuItem42" + Me.ToolStripMenuItem42.Size = New System.Drawing.Size(105, 22) + Me.ToolStripMenuItem42.Text = "20 pts" + ' + 'ToolStripMenuItem43 + ' + Me.ToolStripMenuItem43.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripMenuItem44, Me.ToolStripMenuItem45, Me.ToolStripMenuItem46}) + Me.ToolStripMenuItem43.Name = "ToolStripMenuItem43" + Me.ToolStripMenuItem43.Size = New System.Drawing.Size(108, 22) + Me.ToolStripMenuItem43.Text = "&Align" + ' + 'ToolStripMenuItem44 + ' + Me.ToolStripMenuItem44.Image = CType(resources.GetObject("ToolStripMenuItem44.Image"), System.Drawing.Image) + Me.ToolStripMenuItem44.Name = "ToolStripMenuItem44" + Me.ToolStripMenuItem44.Size = New System.Drawing.Size(109, 22) + Me.ToolStripMenuItem44.Text = "Left" + ' + 'ToolStripMenuItem45 + ' + Me.ToolStripMenuItem45.Image = CType(resources.GetObject("ToolStripMenuItem45.Image"), System.Drawing.Image) + Me.ToolStripMenuItem45.Name = "ToolStripMenuItem45" + Me.ToolStripMenuItem45.Size = New System.Drawing.Size(109, 22) + Me.ToolStripMenuItem45.Text = "Center" + ' + 'ToolStripMenuItem46 + ' + Me.ToolStripMenuItem46.Image = CType(resources.GetObject("ToolStripMenuItem46.Image"), System.Drawing.Image) + Me.ToolStripMenuItem46.Name = "ToolStripMenuItem46" + Me.ToolStripMenuItem46.Size = New System.Drawing.Size(109, 22) + Me.ToolStripMenuItem46.Text = "Right" + ' + 'ToolStripMenuItem47 + ' + Me.ToolStripMenuItem47.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripMenuItem48, Me.ToolStripMenuItem49}) + Me.ToolStripMenuItem47.Name = "ToolStripMenuItem47" + Me.ToolStripMenuItem47.Size = New System.Drawing.Size(123, 20) + Me.ToolStripMenuItem47.Text = "&Azfzählungszeichen" + ' + 'ToolStripMenuItem48 + ' + Me.ToolStripMenuItem48.Name = "ToolStripMenuItem48" + Me.ToolStripMenuItem48.Size = New System.Drawing.Size(136, 22) + Me.ToolStripMenuItem48.Text = "Hinzufügen" + ' + 'ToolStripMenuItem49 + ' + Me.ToolStripMenuItem49.Name = "ToolStripMenuItem49" + Me.ToolStripMenuItem49.Size = New System.Drawing.Size(136, 22) + Me.ToolStripMenuItem49.Text = "Entfernen" + ' + 'ToolStrip6 + ' + Me.ToolStrip6.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripButton8, Me.ToolStripButton9, Me.ToolStripButton10, Me.ToolStripButton11, Me.ToolStripSeparator18, Me.ToolStripButton12, Me.ToolStripSeparator19, Me.ToolStripButton13, Me.ToolStripButton14, Me.ToolStripButton15, Me.ToolStripSeparator20, Me.ToolStripButton16, Me.ToolStripButton17, Me.ToolStripButton18, Me.ToolStripSeparator21, Me.ToolStripButton19}) + Me.ToolStrip6.Location = New System.Drawing.Point(0, 24) + Me.ToolStrip6.Name = "ToolStrip6" + Me.ToolStrip6.Size = New System.Drawing.Size(747, 25) + Me.ToolStrip6.TabIndex = 3 + Me.ToolStrip6.Text = "ToolStrip6" + ' + 'ToolStripButton8 + ' + Me.ToolStripButton8.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton8.Image = CType(resources.GetObject("ToolStripButton8.Image"), System.Drawing.Image) + Me.ToolStripButton8.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton8.Name = "ToolStripButton8" + Me.ToolStripButton8.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton8.Text = "Fenster schliessen" + Me.ToolStripButton8.ToolTipText = "Fenster schliessen" + ' + 'ToolStripButton9 + ' + Me.ToolStripButton9.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton9.Image = CType(resources.GetObject("ToolStripButton9.Image"), System.Drawing.Image) + Me.ToolStripButton9.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton9.Name = "ToolStripButton9" + Me.ToolStripButton9.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton9.Text = "New" + Me.ToolStripButton9.Visible = False + ' + 'ToolStripButton10 + ' + Me.ToolStripButton10.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton10.Image = CType(resources.GetObject("ToolStripButton10.Image"), System.Drawing.Image) + Me.ToolStripButton10.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton10.Name = "ToolStripButton10" + Me.ToolStripButton10.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton10.Text = "Open" + Me.ToolStripButton10.Visible = False + ' + 'ToolStripButton11 + ' + Me.ToolStripButton11.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton11.Image = CType(resources.GetObject("ToolStripButton11.Image"), System.Drawing.Image) + Me.ToolStripButton11.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton11.Name = "ToolStripButton11" + Me.ToolStripButton11.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton11.Text = "Speichern" + ' + 'ToolStripSeparator18 + ' + Me.ToolStripSeparator18.Name = "ToolStripSeparator18" + Me.ToolStripSeparator18.Size = New System.Drawing.Size(6, 25) + ' + 'ToolStripButton12 + ' + Me.ToolStripButton12.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton12.Image = CType(resources.GetObject("ToolStripButton12.Image"), System.Drawing.Image) + Me.ToolStripButton12.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton12.Name = "ToolStripButton12" + Me.ToolStripButton12.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton12.Text = "Schrift" + ' + 'ToolStripSeparator19 + ' + Me.ToolStripSeparator19.Name = "ToolStripSeparator19" + Me.ToolStripSeparator19.Size = New System.Drawing.Size(6, 25) + ' + 'ToolStripButton13 + ' + Me.ToolStripButton13.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton13.Image = CType(resources.GetObject("ToolStripButton13.Image"), System.Drawing.Image) + Me.ToolStripButton13.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton13.Name = "ToolStripButton13" + Me.ToolStripButton13.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton13.Text = "Linksbündig" + ' + 'ToolStripButton14 + ' + Me.ToolStripButton14.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton14.Image = CType(resources.GetObject("ToolStripButton14.Image"), System.Drawing.Image) + Me.ToolStripButton14.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton14.Name = "ToolStripButton14" + Me.ToolStripButton14.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton14.Text = "Zentriert" + ' + 'ToolStripButton15 + ' + Me.ToolStripButton15.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton15.Image = CType(resources.GetObject("ToolStripButton15.Image"), System.Drawing.Image) + Me.ToolStripButton15.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton15.Name = "ToolStripButton15" + Me.ToolStripButton15.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton15.Text = "Rechtsbündig" + ' + 'ToolStripSeparator20 + ' + Me.ToolStripSeparator20.Name = "ToolStripSeparator20" + Me.ToolStripSeparator20.Size = New System.Drawing.Size(6, 25) + ' + 'ToolStripButton16 + ' + Me.ToolStripButton16.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton16.Image = CType(resources.GetObject("ToolStripButton16.Image"), System.Drawing.Image) + Me.ToolStripButton16.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton16.Name = "ToolStripButton16" + Me.ToolStripButton16.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton16.Text = "Fett" + ' + 'ToolStripButton17 + ' + Me.ToolStripButton17.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton17.Image = CType(resources.GetObject("ToolStripButton17.Image"), System.Drawing.Image) + Me.ToolStripButton17.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton17.Name = "ToolStripButton17" + Me.ToolStripButton17.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton17.Text = "Kursiv" + ' + 'ToolStripButton18 + ' + Me.ToolStripButton18.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton18.Image = CType(resources.GetObject("ToolStripButton18.Image"), System.Drawing.Image) + Me.ToolStripButton18.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton18.Name = "ToolStripButton18" + Me.ToolStripButton18.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton18.Text = "Unterstrichen" + ' + 'ToolStripSeparator21 + ' + Me.ToolStripSeparator21.Name = "ToolStripSeparator21" + Me.ToolStripSeparator21.Size = New System.Drawing.Size(6, 25) + ' + 'ToolStripButton19 + ' + Me.ToolStripButton19.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton19.Image = CType(resources.GetObject("ToolStripButton19.Image"), System.Drawing.Image) + Me.ToolStripButton19.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton19.Name = "ToolStripButton19" + Me.ToolStripButton19.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton19.Text = "Suchen" + ' + 'RichTextBoxPrintCtrl1 + ' + Me.RichTextBoxPrintCtrl1.Dock = System.Windows.Forms.DockStyle.Fill + Me.RichTextBoxPrintCtrl1.Location = New System.Drawing.Point(0, 49) + Me.RichTextBoxPrintCtrl1.Name = "RichTextBoxPrintCtrl1" + Me.RichTextBoxPrintCtrl1.Size = New System.Drawing.Size(747, 198) + Me.RichTextBoxPrintCtrl1.TabIndex = 4 + Me.RichTextBoxPrintCtrl1.Text = "" + ' + 'TabPage1 + ' + Me.TabPage1.BackColor = System.Drawing.SystemColors.Control + Me.TabPage1.Controls.Add(Me.C1TrueDBGrid3) + Me.TabPage1.Controls.Add(Me.ToolStrip7) + Me.TabPage1.Location = New System.Drawing.Point(4, 22) + Me.TabPage1.Name = "TabPage1" + Me.TabPage1.Size = New System.Drawing.Size(996, 476) + Me.TabPage1.TabIndex = 6 + Me.TabPage1.Text = "Journal" + ' + 'ToolStrip7 + ' + Me.ToolStrip7.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripButton20, Me.ToolStripButton21}) + Me.ToolStrip7.Location = New System.Drawing.Point(0, 0) + Me.ToolStrip7.Name = "ToolStrip7" + Me.ToolStrip7.Size = New System.Drawing.Size(996, 25) + Me.ToolStrip7.TabIndex = 7 + Me.ToolStrip7.Text = "ToolStrip7" + ' + 'ToolStripButton20 + ' + Me.ToolStripButton20.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton20.Image = CType(resources.GetObject("ToolStripButton20.Image"), System.Drawing.Image) + Me.ToolStripButton20.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton20.Name = "ToolStripButton20" + Me.ToolStripButton20.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton20.Text = "Neuer Datensatz" + Me.ToolStripButton20.ToolTipText = "Neuer Datensatz" + ' + 'ToolStripButton21 + ' + Me.ToolStripButton21.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton21.Image = CType(resources.GetObject("ToolStripButton21.Image"), System.Drawing.Image) + Me.ToolStripButton21.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton21.Name = "ToolStripButton21" + Me.ToolStripButton21.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton21.Text = "Datensatz inaktivieren" + Me.ToolStripButton21.ToolTipText = "Datensatz inaktivieren" + ' + 'C1TrueDBGrid3 + ' + Me.C1TrueDBGrid3.Dock = System.Windows.Forms.DockStyle.Fill + Me.C1TrueDBGrid3.Location = New System.Drawing.Point(0, 25) + Me.C1TrueDBGrid3.Name = "C1TrueDBGrid3" + Me.C1TrueDBGrid3.PreviewInfo.Location = New System.Drawing.Point(0, 0) + Me.C1TrueDBGrid3.PreviewInfo.Size = New System.Drawing.Size(0, 0) + Me.C1TrueDBGrid3.PreviewInfo.ZoomFactor = 75.0R + Me.C1TrueDBGrid3.PrintInfo.PageSettings = CType(resources.GetObject("C1TrueDBGrid3.PrintInfo.PageSettings"), System.Drawing.Printing.PageSettings) + Me.C1TrueDBGrid3.PropBag = resources.GetString("C1TrueDBGrid3.PropBag") + Me.C1TrueDBGrid3.Size = New System.Drawing.Size(996, 451) + Me.C1TrueDBGrid3.TabIndex = 8 + Me.C1TrueDBGrid3.Text = "C1TrueDBGrid3" + ' + 'C1TrueDBGrid4 + ' + Me.C1TrueDBGrid4.Dock = System.Windows.Forms.DockStyle.Fill + Me.C1TrueDBGrid4.Location = New System.Drawing.Point(0, 0) + Me.C1TrueDBGrid4.Name = "C1TrueDBGrid4" + Me.C1TrueDBGrid4.PreviewInfo.Location = New System.Drawing.Point(0, 0) + Me.C1TrueDBGrid4.PreviewInfo.Size = New System.Drawing.Size(0, 0) + Me.C1TrueDBGrid4.PreviewInfo.ZoomFactor = 75.0R + Me.C1TrueDBGrid4.PrintInfo.PageSettings = CType(resources.GetObject("C1TrueDBGrid4.PrintInfo.PageSettings"), System.Drawing.Printing.PageSettings) + Me.C1TrueDBGrid4.PropBag = resources.GetString("C1TrueDBGrid4.PropBag") + Me.C1TrueDBGrid4.Size = New System.Drawing.Size(996, 476) + Me.C1TrueDBGrid4.TabIndex = 8 + Me.C1TrueDBGrid4.Text = "C1TrueDBGrid4" + ' + 'frmDetail + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(1004, 551) + Me.Controls.Add(Me.TabControl1) + Me.Controls.Add(Me.ToolStrip1) + Me.Controls.Add(Me.MenuStrip1) + Me.Name = "frmDetail" + Me.Text = "Thema/Issue" + Me.ToolStrip1.ResumeLayout(False) + Me.ToolStrip1.PerformLayout() + Me.MenuStrip1.ResumeLayout(False) + Me.MenuStrip1.PerformLayout() + Me.TabControl1.ResumeLayout(False) + Me.TabPage5.ResumeLayout(False) + Me.TabPage5.PerformLayout() + Me.TabPage2.ResumeLayout(False) + Me.TabPage2.PerformLayout() + CType(Me.C1TrueDBGrid1, System.ComponentModel.ISupportInitialize).EndInit() + Me.ToolStrip2.ResumeLayout(False) + Me.ToolStrip2.PerformLayout() + Me.TabPage3.ResumeLayout(False) + Me.TabPage3.PerformLayout() + Me.ToolStrip3.ResumeLayout(False) + Me.ToolStrip3.PerformLayout() + Me.MenuStrip2.ResumeLayout(False) + Me.MenuStrip2.PerformLayout() + Me.TabPage4.ResumeLayout(False) + Me.TabPage4.PerformLayout() + Me.TabPage6.ResumeLayout(False) + Me.ToolStrip4.ResumeLayout(False) + Me.ToolStrip4.PerformLayout() + Me.SplitContainer1.Panel1.ResumeLayout(False) + Me.SplitContainer1.Panel2.ResumeLayout(False) + CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).EndInit() + Me.SplitContainer1.ResumeLayout(False) + Me.SplitContainer2.Panel1.ResumeLayout(False) + Me.SplitContainer2.Panel2.ResumeLayout(False) + Me.SplitContainer2.Panel2.PerformLayout() + CType(Me.SplitContainer2, System.ComponentModel.ISupportInitialize).EndInit() + Me.SplitContainer2.ResumeLayout(False) + Me.SplitContainer3.Panel1.ResumeLayout(False) + Me.SplitContainer3.Panel2.ResumeLayout(False) + CType(Me.SplitContainer3, System.ComponentModel.ISupportInitialize).EndInit() + Me.SplitContainer3.ResumeLayout(False) + Me.GroupBox1.ResumeLayout(False) + Me.GroupBox1.PerformLayout() + Me.GroupBox2.ResumeLayout(False) + Me.GroupBox3.ResumeLayout(False) + Me.GroupBox3.PerformLayout() + Me.ToolStrip5.ResumeLayout(False) + Me.ToolStrip5.PerformLayout() + CType(Me.C1TrueDBGrid2, System.ComponentModel.ISupportInitialize).EndInit() + Me.MenuStrip3.ResumeLayout(False) + Me.MenuStrip3.PerformLayout() + Me.ToolStrip6.ResumeLayout(False) + Me.ToolStrip6.PerformLayout() + Me.TabPage1.ResumeLayout(False) + Me.TabPage1.PerformLayout() + Me.ToolStrip7.ResumeLayout(False) + Me.ToolStrip7.PerformLayout() + CType(Me.C1TrueDBGrid3, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.C1TrueDBGrid4, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents ToolStrip1 As System.Windows.Forms.ToolStrip + Friend WithEvents TSBtnQuit As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnNew As System.Windows.Forms.ToolStripButton + Friend WithEvents MenuStrip1 As System.Windows.Forms.MenuStrip + Friend WithEvents DateiToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents TSBtnSave As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripSeparator1 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents TSBtnCopy As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnDelete As System.Windows.Forms.ToolStripButton + Friend WithEvents Label7 As System.Windows.Forms.Label + Friend WithEvents DateTimePicker2 As System.Windows.Forms.DateTimePicker + Friend WithEvents DateTimePicker1 As System.Windows.Forms.DateTimePicker + Friend WithEvents Label6 As System.Windows.Forms.Label + Friend WithEvents TextBox1 As System.Windows.Forms.TextBox + Friend WithEvents TextBox3 As System.Windows.Forms.TextBox + Friend WithEvents Label1 As System.Windows.Forms.Label + Friend WithEvents Label3 As System.Windows.Forms.Label + Friend WithEvents Label2 As System.Windows.Forms.Label + Friend WithEvents TextBox2 As System.Windows.Forms.TextBox + Friend WithEvents CheckBox1 As System.Windows.Forms.CheckBox + Friend WithEvents Label11 As System.Windows.Forms.Label + Friend WithEvents TextBox5 As System.Windows.Forms.TextBox + Friend WithEvents Label9 As System.Windows.Forms.Label + Friend WithEvents TextBox4 As System.Windows.Forms.TextBox + Friend WithEvents Label8 As System.Windows.Forms.Label + Friend WithEvents TabControl1 As System.Windows.Forms.TabControl + Friend WithEvents TabPage2 As System.Windows.Forms.TabPage + Friend WithEvents TabPage3 As System.Windows.Forms.TabPage + Friend WithEvents TabPage4 As System.Windows.Forms.TabPage + Friend WithEvents C1TrueDBGrid1 As C1.Win.C1TrueDBGrid.C1TrueDBGrid + Friend WithEvents ToolStrip2 As System.Windows.Forms.ToolStrip + Friend WithEvents ToolStripButton4 As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripButton5 As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStrip3 As System.Windows.Forms.ToolStrip + Friend WithEvents ToolStripButton1 As System.Windows.Forms.ToolStripButton + Friend WithEvents tbrNew As System.Windows.Forms.ToolStripButton + Friend WithEvents tbrOpen As System.Windows.Forms.ToolStripButton + Friend WithEvents tbrSave As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripSeparator2 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents tbrFont As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripSeparator4 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents tbrLeft As System.Windows.Forms.ToolStripButton + Friend WithEvents tbrCenter As System.Windows.Forms.ToolStripButton + Friend WithEvents tbrRight As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripSeparator3 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents tbrBold As System.Windows.Forms.ToolStripButton + Friend WithEvents tbrItalic As System.Windows.Forms.ToolStripButton + Friend WithEvents tbrUnderline As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripSeparator7 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents tbrFind As System.Windows.Forms.ToolStripButton + Friend WithEvents MenuStrip2 As System.Windows.Forms.MenuStrip + Friend WithEvents FileToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents NewToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem1 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents OpenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents SaveToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents SaveAsToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem2 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents mnuPageSetup As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents PreviewToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents PrintToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem3 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents ExitToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents EditToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents mnuUndo As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents mnuRedo As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator6 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents FindToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents FindAndReplaceToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem4 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents SelectAllToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem5 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents CopyToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents CutToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents PasteToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem8 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents InsertImageToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents FontToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents SelectFontToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem6 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents FontColorToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator5 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents BoldToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ItalicToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents UnderlineToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents NormalToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem7 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents PageColorToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ParagraphToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents IndentToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents mnuIndent0 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents mnuIndent5 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents mnuIndent10 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents mnuIndent15 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents mnuIndent20 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents mnuAlign As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents LeftToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents CenterToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents RightToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents BulletsToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents AddBulletsToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents RemoveBulletsToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents TabPage5 As System.Windows.Forms.TabPage + Friend WithEvents rtbDoc As ExtendedRichTextBox.RichTextBoxPrintCtrl + Friend WithEvents SplitContainer1 As System.Windows.Forms.SplitContainer + Friend WithEvents GroupBox2 As System.Windows.Forms.GroupBox + Friend WithEvents TreeView1 As System.Windows.Forms.TreeView + Friend WithEvents SplitContainer2 As System.Windows.Forms.SplitContainer + Friend WithEvents SplitContainer3 As System.Windows.Forms.SplitContainer + Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox + Friend WithEvents ComboBox2 As System.Windows.Forms.ComboBox + Friend WithEvents ComboBox1 As System.Windows.Forms.ComboBox + Friend WithEvents Label13 As System.Windows.Forms.Label + Friend WithEvents Label12 As System.Windows.Forms.Label + Friend WithEvents TextBox6 As System.Windows.Forms.TextBox + Friend WithEvents Label10 As System.Windows.Forms.Label + Friend WithEvents GroupBox3 As System.Windows.Forms.GroupBox + Friend WithEvents C1TrueDBGrid2 As C1.Win.C1TrueDBGrid.C1TrueDBGrid + Friend WithEvents ToolStrip5 As System.Windows.Forms.ToolStrip + Friend WithEvents ToolStripButton6 As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripButton7 As System.Windows.Forms.ToolStripButton + Friend WithEvents RichTextBoxPrintCtrl1 As ExtendedRichTextBox.RichTextBoxPrintCtrl + Friend WithEvents ToolStrip6 As System.Windows.Forms.ToolStrip + Friend WithEvents ToolStripButton8 As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripButton9 As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripButton10 As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripButton11 As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripSeparator18 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents ToolStripButton12 As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripSeparator19 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents ToolStripButton13 As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripButton14 As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripButton15 As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripSeparator20 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents ToolStripButton16 As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripButton17 As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripButton18 As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripSeparator21 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents ToolStripButton19 As System.Windows.Forms.ToolStripButton + Friend WithEvents MenuStrip3 As System.Windows.Forms.MenuStrip + Friend WithEvents ToolStripMenuItem9 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem10 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator8 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents ToolStripMenuItem11 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem12 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem13 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator9 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents ToolStripMenuItem14 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem15 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem16 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator10 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents ToolStripMenuItem17 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem18 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem19 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem20 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator11 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents ToolStripMenuItem21 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem22 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator12 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents ToolStripMenuItem23 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator13 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents ToolStripMenuItem24 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem25 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem26 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator14 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents ToolStripMenuItem27 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem28 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem29 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator15 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents ToolStripMenuItem30 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator16 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents ToolStripMenuItem31 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem32 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem33 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem34 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator17 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents ToolStripMenuItem35 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem36 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem37 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem38 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem39 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem40 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem41 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem42 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem43 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem44 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem45 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem46 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem47 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem48 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem49 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStrip4 As System.Windows.Forms.ToolStrip + Friend WithEvents ToolStripButton2 As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripButton3 As System.Windows.Forms.ToolStripButton + Friend WithEvents TabPage6 As System.Windows.Forms.TabPage + Friend WithEvents C1TrueDBGrid4 As C1.Win.C1TrueDBGrid.C1TrueDBGrid + Friend WithEvents TabPage1 As System.Windows.Forms.TabPage + Friend WithEvents C1TrueDBGrid3 As C1.Win.C1TrueDBGrid.C1TrueDBGrid + Friend WithEvents ToolStrip7 As System.Windows.Forms.ToolStrip + Friend WithEvents ToolStripButton20 As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripButton21 As System.Windows.Forms.ToolStripButton +End Class diff --git a/.svn/pristine/a0/a021650880b561197d42b3ce76d66c00e94aa2a4.svn-base b/.svn/pristine/a0/a021650880b561197d42b3ce76d66c00e94aa2a4.svn-base new file mode 100644 index 0000000..54d63a7 --- /dev/null +++ b/.svn/pristine/a0/a021650880b561197d42b3ce76d66c00e94aa2a4.svn-base @@ -0,0 +1,223 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 568, 17 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACkSURBVDhPlZOBDoAgCET9dD7NPyNPgpAIzY21oTzPg1rL + F4/0aaQEJqJXAIo8Vu9dL9gDYiGRgG6VCwBJLDvgbxRVsodvBPiEASDXF3mIB3AbBzPjBLDeHBVIcRbj + KScKuMGQElArmKZNSNJ7VYC2Ib48EIjE0gX1QPerLigkATytqxT4gQht3HsQx9H8+OpCeHL+R+FQnIPT + QiXaHPwtNMCu8ALckGXYKNsEDQAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABeSURBVDhPYzhw4MB/SjADSDMDAwNZGKwXZkBDA8QQQq6B + qYHT5BgAczHZLkB2LVleGMQGwJyGL1pBanB6ASZJDI01GolxAUgjXhfgcj4sgQ1SA8jNUPCkTCgD4ZMH + ADk0Kh+zxKF0AAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAB7SURBVDhPtVKBDcAgCOvpnsZnzJq5MFSGMSNplhFaWwJE + RE8ATwaKZkHukUAp9bHRATRTADQU4AAr+jaBbF7O2Xoc7ApYR7eDd+Y+4Pfg+8bBd9bVLv5zQHsZTB2s + bqBnJsmi9vM7IHFyeHuXNxXI5O0RBgE2fK7o3wtcor2JxHm9tQ0AAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAYAAAA7bUf6AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACtSURBVDhPpdONCoMgEAdw3/+pfIkxWKy1mlh+pOsF3EQO + DjG9ULiEoJ9/9WLH14XeYpzz0FOH3wP7j/ioVm0R70xCagMWOIP8rmlIBCJWgpxVNARvN4esWdsI3mop + jdUXkPzwIZFRkp4kXUAqnEhvoo3gBBiB92r90BD4OJ8jtMm5H5FioiEQvbQdsYxtBK747GCX93ANKTXd + /HrQkZio1GzT8077i2ttPw638AOZO2GTDCfYPAAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACNSURBVDhPtZPRDcAgCEQZndHczHqkGBBsaE1N+EHvKXBS + a62fBGViZu5EFAL59XwAQMgjhjoE8ti3EAfAZiZccxYyAVWxwhQiANTmnt3vZV+05HBeegVAersVZEBt + 8haA2+1K+iOT+g9wVEKhiZjGLCFMoeAHN4XHPmxgzgdqzaqZUidayOe/oJA3v/ECXC1jKtBnBTgAAAAA + SUVORK5CYII= + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0 + dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACRTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5QYWdlU2V0dGluZ3MHAAAAD3ByaW50ZXJTZXR0aW5ncwVjb2xvcglwYXBlclNp + emULcGFwZXJTb3VyY2URcHJpbnRlclJlc29sdXRpb24JbGFuZHNjYXBlB21hcmdpbnMEBAQEBAQEJ1N5 + c3RlbS5EcmF3aW5nLlByaW50aW5nLlByaW50ZXJTZXR0aW5ncwIAAAAgU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuVHJpU3RhdGUCAAAAIVN5c3RlbS5EcmF3aW5nLlByaW50aW5nLlBhcGVyU2l6ZQIAAAAjU3lz + dGVtLkRyYXdpbmcuUHJpbnRpbmcuUGFwZXJTb3VyY2UCAAAAKVN5c3RlbS5EcmF3aW5nLlByaW50aW5n + LlByaW50ZXJSZXNvbHV0aW9uAgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAf + U3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuTWFyZ2lucwIAAAACAAAACQMAAAAF/P///yBTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5UcmlTdGF0ZQEAAAAFdmFsdWUAAgIAAAAACgoKAfv////8////AAkGAAAABQMA + AAAnU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRlclNldHRpbmdzEgAAAAtwcmludGVyTmFtZQpk + cml2ZXJOYW1lCm91dHB1dFBvcnQLcHJpbnRUb0ZpbGUUcHJpbnREaWFsb2dEaXNwbGF5ZWQKZXh0cmFi + eXRlcwlleHRyYWluZm8GY29waWVzBmR1cGxleAdjb2xsYXRlE2RlZmF1bHRQYWdlU2V0dGluZ3MIZnJv + bVBhZ2UGdG9QYWdlB21heFBhZ2UHbWluUGFnZQpwcmludFJhbmdlDGRldm1vZGVieXRlcw1jYWNoZWRE + ZXZtb2RlAQEBAAAABwAEBAQAAAAABAAHAQEHAgceU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuRHVwbGV4 + AgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAkU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuUGFnZVNldHRpbmdzAgAAAAgICAgiU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRSYW5n + ZQIAAAAHAgIAAAAKBgcAAAAACQcAAAAAAAAACv//Bfj///8eU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcu + RHVwbGV4AQAAAAd2YWx1ZV9fAAgCAAAA/////wH3/////P///wAJCgAAAAAAAAAAAAAADycAAAAAAAAF + 9f///yJTeXN0ZW0uRHJhd2luZy5QcmludGluZy5QcmludFJhbmdlAQAAAAd2YWx1ZV9fAAgCAAAAAAAA + AAAACgUGAAAAH1N5c3RlbS5EcmF3aW5nLlByaW50aW5nLk1hcmdpbnMIAAAABGxlZnQFcmlnaHQDdG9w + BmJvdHRvbQpkb3VibGVMZWZ0C2RvdWJsZVJpZ2h0CWRvdWJsZVRvcAxkb3VibGVCb3R0b20AAAAAAAAA + AAgICAgGBgYGAgAAAGQAAABkAAAAZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZ + QAEKAAAAAQAAAAkDAAAAAfP////8////AAoKCgHy/////P///wAJDwAAAAEPAAAABgAAAGQAAABkAAAA + ZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAs= + + + + <?xml version="1.0"?><Blob><Styles type="C1.Win.C1TrueDBGrid.Design.ContextWrapper"><Data>HighlightRow{ForeColor:HighlightText;BackColor:Highlight;}Style8{}Style7{}Style9{}EvenRow{BackColor:Aqua;}Normal{}FilterBar{}RecordSelector{AlignImage:Center;}OddRow{}Style14{}Style3{}Footer{}Style13{}Heading{AlignVert:Center;Border:Flat,ControlDark,0, 1, 0, 1;ForeColor:ControlText;BackColor:Control;Wrap:True;}Style6{}Editor{}Style10{AlignHorz:Near;}Style16{}Style15{}Selected{ForeColor:HighlightText;BackColor:Highlight;}Style5{}Group{Border:None,,0, 0, 0, 0;AlignVert:Center;BackColor:ControlDark;}Style12{}Style11{}Style4{}FilterWatermark{ForeColor:InfoText;BackColor:Info;}Style1{}Caption{AlignHorz:Center;}Style2{}Inactive{ForeColor:InactiveCaptionText;BackColor:InactiveCaption;}</Data></Styles><Splits><C1.Win.C1TrueDBGrid.MergeView Name="" CaptionHeight="17" ColumnCaptionHeight="17" ColumnFooterHeight="17" MarqueeStyle="DottedCellBorder" RecordSelectorWidth="17" DefRecSelWidth="17" VerticalScrollGroup="1" HorizontalScrollGroup="1"><CaptionStyle parent="Style2" me="Style10" /><EditorStyle parent="Editor" me="Style5" /><EvenRowStyle parent="EvenRow" me="Style8" /><FilterBarStyle parent="FilterBar" me="Style13" /><FilterWatermarkStyle parent="FilterWatermark" me="Style14" /><FooterStyle parent="Footer" me="Style3" /><GroupStyle parent="Group" me="Style12" /><HeadingStyle parent="Heading" me="Style2" /><HighLightRowStyle parent="HighlightRow" me="Style7" /><InactiveStyle parent="Inactive" me="Style4" /><OddRowStyle parent="OddRow" me="Style9" /><RecordSelectorStyle parent="RecordSelector" me="Style11" /><SelectedStyle parent="Selected" me="Style6" /><Style parent="Normal" me="Style1" /><ClientRect>0, 0, 595, 130</ClientRect><BorderSide>0</BorderSide></C1.Win.C1TrueDBGrid.MergeView></Splits><NamedStyles><Style parent="" me="Normal" /><Style parent="Normal" me="Heading" /><Style parent="Heading" me="Footer" /><Style parent="Heading" me="Caption" /><Style parent="Heading" me="Inactive" /><Style parent="Normal" me="Selected" /><Style parent="Normal" me="Editor" /><Style parent="Normal" me="HighlightRow" /><Style parent="Normal" me="EvenRow" /><Style parent="Normal" me="OddRow" /><Style parent="Heading" me="RecordSelector" /><Style parent="Normal" me="FilterBar" /><Style parent="FilterBar" me="FilterWatermark" /><Style parent="Caption" me="Group" /></NamedStyles><vertSplits>1</vertSplits><horzSplits>1</horzSplits><Layout>None</Layout><DefaultRecSelWidth>17</DefaultRecSelWidth><ClientArea>0, 0, 595, 130</ClientArea><PrintPageHeaderStyle parent="" me="Style15" /><PrintPageFooterStyle parent="" me="Style16" /></Blob> + + + 675, 17 + + + + iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAYAAAA7bUf6AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACtSURBVDhPpdONCoMgEAdw3/+pfIkxWKy1mlh+pOsF3EQO + DjG9ULiEoJ9/9WLH14XeYpzz0FOH3wP7j/ioVm0R70xCagMWOIP8rmlIBCJWgpxVNARvN4esWdsI3mop + jdUXkPzwIZFRkp4kXUAqnEhvoo3gBBiB92r90BD4OJ8jtMm5H5FioiEQvbQdsYxtBK747GCX93ANKTXd + /HrQkZio1GzT8077i2ttPw638AOZO2GTDCfYPAAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACNSURBVDhPtZPRDcAgCEQZndHczHqkGBBsaE1N+EHvKXBS + a62fBGViZu5EFAL59XwAQMgjhjoE8ti3EAfAZiZccxYyAVWxwhQiANTmnt3vZV+05HBeegVAersVZEBt + 8haA2+1K+iOT+g9wVEKhiZjGLCFMoeAHN4XHPmxgzgdqzaqZUidayOe/oJA3v/ECXC1jKtBnBTgAAAAA + SUVORK5CYII= + + + + 782, 17 + + \ No newline at end of file diff --git a/.svn/pristine/a0/a06667fb1e6d179061cf3c786ae6b4d871fc88d0.svn-base b/.svn/pristine/a0/a06667fb1e6d179061cf3c786ae6b4d871fc88d0.svn-base new file mode 100644 index 0000000..fb8dedc Binary files /dev/null and b/.svn/pristine/a0/a06667fb1e6d179061cf3c786ae6b4d871fc88d0.svn-base differ diff --git a/.svn/pristine/a0/a07497a13c2ae310d8dfb5ddd30835d95a4891f9.svn-base b/.svn/pristine/a0/a07497a13c2ae310d8dfb5ddd30835d95a4891f9.svn-base new file mode 100644 index 0000000..bad81e1 --- /dev/null +++ b/.svn/pristine/a0/a07497a13c2ae310d8dfb5ddd30835d95a4891f9.svn-base @@ -0,0 +1,510 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'funktionsgruppe' +' // Generated by LLBLGen v1.21.2003.712 Final on: Dienstag, 1. Januar 2013, 19:36:38 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + ''' + ''' Purpose: Data Access class for the table 'funktionsgruppe'. + ''' + Public Class clsFunktionsgruppe + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daErstellt_am, m_daMutiert_am As SqlDateTime + Private m_iMutierer, m_iMandantnr, m_iFunktionsgruppenr As SqlInt32 + Private m_sZugehoerigkeit, m_sBezeichnung, m_sBeschreibung As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iFunktionsgruppenr
  • + '''
  • sBezeichnung. May be SqlString.Null
  • + '''
  • sBeschreibung. May be SqlString.Null
  • + '''
  • sZugehoerigkeit. May be SqlString.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_funktionsgruppe_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@ifunktionsgruppenr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iFunktionsgruppenr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sbezeichnung", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sbeschreibung", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@szugehoerigkeit", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sZugehoerigkeit)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_funktionsgruppe_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsFunktionsgruppe::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iFunktionsgruppenr
  • + '''
  • sBezeichnung. May be SqlString.Null
  • + '''
  • sBeschreibung. May be SqlString.Null
  • + '''
  • sZugehoerigkeit. May be SqlString.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_funktionsgruppe_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@ifunktionsgruppenr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iFunktionsgruppenr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sbezeichnung", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sbeschreibung", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@szugehoerigkeit", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sZugehoerigkeit)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_funktionsgruppe_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsFunktionsgruppe::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iFunktionsgruppenr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_funktionsgruppe_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@ifunktionsgruppenr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iFunktionsgruppenr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_funktionsgruppe_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsFunktionsgruppe::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iFunktionsgruppenr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iFunktionsgruppenr
  • + '''
  • sBezeichnung
  • + '''
  • sBeschreibung
  • + '''
  • sZugehoerigkeit
  • + '''
  • iMandantnr
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_funktionsgruppe_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("funktionsgruppe") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@ifunktionsgruppenr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iFunktionsgruppenr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_funktionsgruppe_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iFunktionsgruppenr = New SqlInt32(CType(dtToReturn.Rows(0)("funktionsgruppenr"), Integer)) + If dtToReturn.Rows(0)("bezeichnung") Is System.DBNull.Value Then + m_sBezeichnung = SqlString.Null + Else + m_sBezeichnung = New SqlString(CType(dtToReturn.Rows(0)("bezeichnung"), String)) + End If + If dtToReturn.Rows(0)("beschreibung") Is System.DBNull.Value Then + m_sBeschreibung = SqlString.Null + Else + m_sBeschreibung = New SqlString(CType(dtToReturn.Rows(0)("beschreibung"), String)) + End If + If dtToReturn.Rows(0)("zugehoerigkeit") Is System.DBNull.Value Then + m_sZugehoerigkeit = SqlString.Null + Else + m_sZugehoerigkeit = New SqlString(CType(dtToReturn.Rows(0)("zugehoerigkeit"), String)) + End If + If dtToReturn.Rows(0)("mandantnr") Is System.DBNull.Value Then + m_iMandantnr = SqlInt32.Null + Else + m_iMandantnr = New SqlInt32(CType(dtToReturn.Rows(0)("mandantnr"), Integer)) + End If + If dtToReturn.Rows(0)("aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsFunktionsgruppe::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_funktionsgruppe_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("funktionsgruppe") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_funktionsgruppe_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsFunktionsgruppe::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iFunktionsgruppenr]() As SqlInt32 + Get + Return m_iFunktionsgruppenr + End Get + Set(ByVal Value As SqlInt32) + Dim iFunktionsgruppenrTmp As SqlInt32 = Value + If iFunktionsgruppenrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iFunktionsgruppenr", "iFunktionsgruppenr can't be NULL") + End If + m_iFunktionsgruppenr = Value + End Set + End Property + + + Public Property [sBezeichnung]() As SqlString + Get + Return m_sBezeichnung + End Get + Set(ByVal Value As SqlString) + m_sBezeichnung = Value + End Set + End Property + + + Public Property [sBeschreibung]() As SqlString + Get + Return m_sBeschreibung + End Get + Set(ByVal Value As SqlString) + m_sBeschreibung = Value + End Set + End Property + + + Public Property [sZugehoerigkeit]() As SqlString + Get + Return m_sZugehoerigkeit + End Get + Set(ByVal Value As SqlString) + m_sZugehoerigkeit = Value + End Set + End Property + + + Public Property [iMandantnr]() As SqlInt32 + Get + Return m_iMandantnr + End Get + Set(ByVal Value As SqlInt32) + m_iMandantnr = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/.svn/pristine/a4/a46840366d3a7856bfd637ef5b21e21ec028d9c0.svn-base b/.svn/pristine/a4/a46840366d3a7856bfd637ef5b21e21ec028d9c0.svn-base new file mode 100644 index 0000000..d66d57e --- /dev/null +++ b/.svn/pristine/a4/a46840366d3a7856bfd637ef5b21e21ec028d9c0.svn-base @@ -0,0 +1,95 @@ +Imports C1.Win.C1TrueDBGrid +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient +Public Class FrmToolTipEditor + Dim WithEvents evh As MyGenericEventHandler = Globals.MyEventHanlder + + Private Sub FrmToolTipEditor_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed + Globals.Set_ToolTips = False + Globals.ToolTipDaten.Tables.Clear() + End Sub + + Private Sub FrmToolTipEditor_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing + Globals.Set_ToolTips = False + Globals.ToolTipDaten.Tables.Clear() + End Sub + + Private Sub FrmToolTipEditor_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + Globals.Set_ToolTips = True + End Sub + + Private Sub evh_Set_ToolTip(ByVal formname As String, ByVal ctlname As String) Handles evh.Set_ToolTip + Me.txtFormularname.Text = formname + Me.txtControlname.Text = ctlname + Me.txtToolTip.Text = "" + Get_Data() + End Sub + + Private Function Get_Data() + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.sp_tooltips" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + scmCmdToExecute.Connection = conn.scoDBConnection + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@fnkt", SqlDbType.Int, 4, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, 1)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@formname", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, Me.txtFormularname.Text)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@controlname", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, Me.txtControlname.Text)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@Tooltip", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, "")) + scmCmdToExecute.Parameters.Add(New SqlParameter("@mitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, Globals.clsmitarbeiter.iMitarbeiternr.Value)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@outToolTipNr", SqlDbType.Int, 4, ParameterDirection.Output, True, 0, 0, "", DataRowVersion.Proposed, 0)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@outformname", SqlDbType.VarChar, 50, ParameterDirection.Output, True, 0, 0, "", DataRowVersion.Proposed, "")) + scmCmdToExecute.Parameters.Add(New SqlParameter("@outcontrolname", SqlDbType.VarChar, 50, ParameterDirection.Output, True, 0, 0, "", DataRowVersion.Proposed, "")) + scmCmdToExecute.Parameters.Add(New SqlParameter("@outtooltip", SqlDbType.VarChar, 1024, ParameterDirection.Output, True, 0, 0, "", DataRowVersion.Proposed, "")) + scmCmdToExecute.Connection.Open() + scmCmdToExecute.ExecuteNonQuery() + + If scmCmdToExecute.Parameters("@outtooltip").Value <> "" Then + Me.txtToolTip.Text = scmCmdToExecute.Parameters("@outtooltip").Value + Return True + Else + Return False + End If + Catch ex As Exception + Finally + scmCmdToExecute.Connection.Close() + End Try + End Function + Private Function Save_Data() + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.sp_tooltips" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + scmCmdToExecute.Connection = conn.scoDBConnection + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@fnkt", SqlDbType.Int, 4, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, 2)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@formname", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, Me.txtFormularname.Text)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@controlname", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, Me.txtControlname.Text)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@Tooltip", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, Me.txtToolTip.Text)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@mitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, Globals.clsmitarbeiter.iMitarbeiternr.Value)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@outToolTipNr", SqlDbType.Int, 4, ParameterDirection.Output, True, 0, 0, "", DataRowVersion.Proposed, 0)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@outformname", SqlDbType.VarChar, 50, ParameterDirection.Output, True, 0, 0, "", DataRowVersion.Proposed, "")) + scmCmdToExecute.Parameters.Add(New SqlParameter("@outcontrolname", SqlDbType.VarChar, 50, ParameterDirection.Output, True, 0, 0, "", DataRowVersion.Proposed, "")) + scmCmdToExecute.Parameters.Add(New SqlParameter("@outtooltip", SqlDbType.VarChar, 1024, ParameterDirection.Output, True, 0, 0, "", DataRowVersion.Proposed, "")) + scmCmdToExecute.Connection.Open() + scmCmdToExecute.ExecuteNonQuery() + Return True + Catch ex As Exception + Finally + scmCmdToExecute.Connection.Close() + End Try + End Function + + + Private Sub BeendenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BeendenToolStripMenuItem.Click + Me.Close() + End Sub + + Private Sub TSBtnQuit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnQuit.Click + Me.Close() + End Sub + + Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click + Me.Save_Data() + End Sub +End Class \ No newline at end of file diff --git a/.svn/pristine/a4/a469cbeda071c69b15bc371740b7ef42dfd36f0b.svn-base b/.svn/pristine/a4/a469cbeda071c69b15bc371740b7ef42dfd36f0b.svn-base new file mode 100644 index 0000000..105d294 Binary files /dev/null and b/.svn/pristine/a4/a469cbeda071c69b15bc371740b7ef42dfd36f0b.svn-base differ diff --git a/.svn/pristine/a5/a5413a8434268fe2d52bd980d097b668fe0665ed.svn-base b/.svn/pristine/a5/a5413a8434268fe2d52bd980d097b668fe0665ed.svn-base new file mode 100644 index 0000000..8e2ed45 Binary files /dev/null and b/.svn/pristine/a5/a5413a8434268fe2d52bd980d097b668fe0665ed.svn-base differ diff --git a/.svn/pristine/a5/a5f4151834cd2cede9860ff67236b0458542472e.svn-base b/.svn/pristine/a5/a5f4151834cd2cede9860ff67236b0458542472e.svn-base new file mode 100644 index 0000000..bc04ca6 --- /dev/null +++ b/.svn/pristine/a5/a5f4151834cd2cede9860ff67236b0458542472e.svn-base @@ -0,0 +1,59 @@ +Imports System.IO +Namespace DB + ''' + ''' Dynamische Datenbank-Verbindung aufbauen. Verwendet wird standardmssig Vertragsverwaltung.cfg. + ''' Sollen Datenbank-Verbindungen zur Auswahl angezeigt werden, werden smntliche Datenbank-Verbindungsdateien + ''' mit dem Namen "Vertragsverwaltung....cfg" bercksichtigt + ''' + ''' + Public Class DB_Connection + + ''' + ''' Liest smtlcihe CFG-Dateien mit dem Namen "Vertragsverwaltung...". Sind meherere Dateien vorhanden, + ''' wird ein Auswahldialog zur Datenbank-Selektion angezeigt. + ''' Standardmssig wird Vertragsverwaltung.cfg als CFG-Datei benutzt. + ''' + ''' Die CFG-Datei ist verschlsselt und wird ber die Crypto-Funktionen entschlsselt. + ''' + ''' + Shared Sub New() + Dim fc As Integer = 0 + If Globals.ConnectionFileName.Length = 0 Then + Dim Dir As DirectoryInfo = New DirectoryInfo(Application.StartupPath) + Try + Dim f As New frmDatenbankauswahl() + Dim ChildFile As FileInfo + For Each ChildFile In Dir.GetFiles() + If UCase(Left(ChildFile.Name, 18)) = "THEMENMANAGEMENT" And UCase(ChildFile.Extension) = ".CFG" Then + f.ListBox1.Items.Add(ChildFile.Name) + fc = fc + 1 + End If + Next + If fc > 1 Then + f.ListBox1.SelectedIndex = 0 + f.ListBox1.Select() + f.ShowDialog() + Globals.ConnectionFileName = f.ListBox1.SelectedItem + f.Dispose() + End If + Catch except As Exception + fc = 0 + Exit Sub + End Try + End If + If fc < 2 Then Globals.ConnectionFileName = "themenmanagement.cfg" + Dim ofile As System.IO.File + Dim oread As System.IO.StreamReader + oread = ofile.OpenText(Application.StartupPath + "\" + Globals.ConnectionFileName) + sConnectionString = oread.ReadLine + sConnectionString = Crypto.DecryptText(sConnectionString, "HutterundMueller") + sConnectionString = Left(sConnectionString, Len(sConnectionString) - 1) + Globals.sConnectionString = sConnectionString + Globals.conn.sConnectionString = sConnectionString + oread.Close() + End Sub + + End Class + +End Namespace + diff --git a/.svn/pristine/a7/a7006aa4ff06e885594d7d001164d86b70ec3938.svn-base b/.svn/pristine/a7/a7006aa4ff06e885594d7d001164d86b70ec3938.svn-base new file mode 100644 index 0000000..f03c3da --- /dev/null +++ b/.svn/pristine/a7/a7006aa4ff06e885594d7d001164d86b70ec3938.svn-base @@ -0,0 +1,19 @@ +Public Class frmMain + + + Private Sub TSBtnVertragsuebersicht_Click(sender As System.Object, e As System.EventArgs) Handles TSBtnVertragsuebersicht.Click + Dim f As New Themenübersicht + f.MdiParent = Me + f.Show() + End Sub + + Private Sub frmMain_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load + + End Sub + + Private Sub TSBtnMonitoring_Click(sender As System.Object, e As System.EventArgs) Handles TSBtnMonitoring.Click + Dim f As New frmDetail + f.MdiParent = Me + f.Show() + End Sub +End Class \ No newline at end of file diff --git a/.svn/pristine/a7/a744c302350c4a60f4d6b09533631a6a797eba46.svn-base b/.svn/pristine/a7/a744c302350c4a60f4d6b09533631a6a797eba46.svn-base new file mode 100644 index 0000000..f417635 Binary files /dev/null and b/.svn/pristine/a7/a744c302350c4a60f4d6b09533631a6a797eba46.svn-base differ diff --git a/.svn/pristine/a7/a7cc673f384c3fafbd006e7bcf264bc53a3c76c1.svn-base b/.svn/pristine/a7/a7cc673f384c3fafbd006e7bcf264bc53a3c76c1.svn-base new file mode 100644 index 0000000..3d78c59 --- /dev/null +++ b/.svn/pristine/a7/a7cc673f384c3fafbd006e7bcf264bc53a3c76c1.svn-base @@ -0,0 +1,269 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 568, 17 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACkSURBVDhPlZOBDoAgCET9dD7NPyNPgpAIzY21oTzPg1rL + F4/0aaQEJqJXAIo8Vu9dL9gDYiGRgG6VCwBJLDvgbxRVsodvBPiEASDXF3mIB3AbBzPjBLDeHBVIcRbj + KScKuMGQElArmKZNSNJ7VYC2Ib48EIjE0gX1QPerLigkATytqxT4gQht3HsQx9H8+OpCeHL+R+FQnIPT + QiXaHPwtNMCu8ALckGXYKNsEDQAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABeSURBVDhPYzhw4MB/SjADSDMDAwNZGKwXZkBDA8QQQq6B + qYHT5BgAczHZLkB2LVleGMQGwJyGL1pBanB6ASZJDI01GolxAUgjXhfgcj4sgQ1SA8jNUPCkTCgD4ZMH + ADk0Kh+zxKF0AAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAB7SURBVDhPtVKBDcAgCOvpnsZnzJq5MFSGMSNplhFaWwJE + RE8ATwaKZkHukUAp9bHRATRTADQU4AAr+jaBbF7O2Xoc7ApYR7eDd+Y+4Pfg+8bBd9bVLv5zQHsZTB2s + bqBnJsmi9vM7IHFyeHuXNxXI5O0RBgE2fK7o3wtcor2JxHm9tQ0AAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAYAAAA7bUf6AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACtSURBVDhPpdONCoMgEAdw3/+pfIkxWKy1mlh+pOsF3EQO + DjG9ULiEoJ9/9WLH14XeYpzz0FOH3wP7j/ioVm0R70xCagMWOIP8rmlIBCJWgpxVNARvN4esWdsI3mop + jdUXkPzwIZFRkp4kXUAqnEhvoo3gBBiB92r90BD4OJ8jtMm5H5FioiEQvbQdsYxtBK747GCX93ANKTXd + /HrQkZio1GzT8077i2ttPw638AOZO2GTDCfYPAAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACNSURBVDhPtZPRDcAgCEQZndHczHqkGBBsaE1N+EHvKXBS + a62fBGViZu5EFAL59XwAQMgjhjoE8ti3EAfAZiZccxYyAVWxwhQiANTmnt3vZV+05HBeegVAersVZEBt + 8haA2+1K+iOT+g9wVEKhiZjGLCFMoeAHN4XHPmxgzgdqzaqZUidayOe/oJA3v/ECXC1jKtBnBTgAAAAA + SUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAA3SURBVChTY2DABP+xiIGFkCVwsVEUwhThNREkiaEAJoiP + RnEmskKs7kd3C1YrYTrx+g6bIrAYAKCqHOQvFu6BAAAAAElFTkSuQmCC + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj0yLjAuMC4wLCBDdWx0 + dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACRTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5QYWdlU2V0dGluZ3MHAAAAD3ByaW50ZXJTZXR0aW5ncwVjb2xvcglwYXBlclNp + emULcGFwZXJTb3VyY2URcHJpbnRlclJlc29sdXRpb24JbGFuZHNjYXBlB21hcmdpbnMEBAQEBAQEJ1N5 + c3RlbS5EcmF3aW5nLlByaW50aW5nLlByaW50ZXJTZXR0aW5ncwIAAAAgU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuVHJpU3RhdGUCAAAAIVN5c3RlbS5EcmF3aW5nLlByaW50aW5nLlBhcGVyU2l6ZQIAAAAjU3lz + dGVtLkRyYXdpbmcuUHJpbnRpbmcuUGFwZXJTb3VyY2UCAAAAKVN5c3RlbS5EcmF3aW5nLlByaW50aW5n + LlByaW50ZXJSZXNvbHV0aW9uAgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAf + U3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuTWFyZ2lucwIAAAACAAAACQMAAAAF/P///yBTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5UcmlTdGF0ZQEAAAAFdmFsdWUAAgIAAAAACgoKAfv////8////AAkGAAAABQMA + AAAnU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRlclNldHRpbmdzEgAAAAtwcmludGVyTmFtZQpk + cml2ZXJOYW1lCm91dHB1dFBvcnQLcHJpbnRUb0ZpbGUUcHJpbnREaWFsb2dEaXNwbGF5ZWQKZXh0cmFi + eXRlcwlleHRyYWluZm8GY29waWVzBmR1cGxleAdjb2xsYXRlE2RlZmF1bHRQYWdlU2V0dGluZ3MIZnJv + bVBhZ2UGdG9QYWdlB21heFBhZ2UHbWluUGFnZQpwcmludFJhbmdlDGRldm1vZGVieXRlcw1jYWNoZWRE + ZXZtb2RlAQEBAAAABwAEBAQAAAAABAAHAQEHAgceU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuRHVwbGV4 + AgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAkU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuUGFnZVNldHRpbmdzAgAAAAgICAgiU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRSYW5n + ZQIAAAAHAgIAAAAKBgcAAAAACQcAAAAAAAAACv//Bfj///8eU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcu + RHVwbGV4AQAAAAd2YWx1ZV9fAAgCAAAA/////wH3/////P///wAJCgAAAAAAAAAAAAAADycAAAAAAAAF + 9f///yJTeXN0ZW0uRHJhd2luZy5QcmludGluZy5QcmludFJhbmdlAQAAAAd2YWx1ZV9fAAgCAAAAAAAA + AAAACgUGAAAAH1N5c3RlbS5EcmF3aW5nLlByaW50aW5nLk1hcmdpbnMIAAAABGxlZnQFcmlnaHQDdG9w + BmJvdHRvbQpkb3VibGVMZWZ0C2RvdWJsZVJpZ2h0CWRvdWJsZVRvcAxkb3VibGVCb3R0b20AAAAAAAAA + AAgICAgGBgYGAgAAAGQAAABkAAAAZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZ + QAEKAAAAAQAAAAkDAAAAAfP////8////AAoKCgHy/////P///wAJDwAAAAEPAAAABgAAAGQAAABkAAAA + ZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAs= + + + + <?xml version="1.0"?><Blob><Styles type="C1.Win.C1TrueDBGrid.Design.ContextWrapper"><Data>HighlightRow{ForeColor:HighlightText;BackColor:Highlight;}Style8{}Style7{}EvenRow{BackColor:Aqua;}Normal{}RecordSelector{AlignImage:Center;}Inactive{ForeColor:InactiveCaptionText;BackColor:InactiveCaption;}Style4{}OddRow{}Style3{}Footer{}Style5{}Style14{}Heading{Wrap:True;Border:Flat,ControlDark,0, 1, 0, 1;AlignVert:Center;BackColor:Control;ForeColor:ControlText;}Style6{}Editor{}Style10{AlignHorz:Near;}Style16{}Selected{ForeColor:HighlightText;BackColor:Highlight;}Style15{}Style13{}Style12{}Style11{}Group{Border:None,,0, 0, 0, 0;AlignVert:Center;BackColor:ControlDark;}Style9{}FilterWatermark{ForeColor:InfoText;BackColor:Info;}Style1{}Caption{AlignHorz:Center;}Style2{}FilterBar{}</Data></Styles><Splits><C1.Win.C1TrueDBGrid.MergeView Name="" CaptionHeight="17" ColumnCaptionHeight="17" ColumnFooterHeight="17" MarqueeStyle="DottedCellBorder" RecordSelectorWidth="17" DefRecSelWidth="17" VerticalScrollGroup="1" HorizontalScrollGroup="1"><CaptionStyle parent="Style2" me="Style10" /><EditorStyle parent="Editor" me="Style5" /><EvenRowStyle parent="EvenRow" me="Style8" /><FilterBarStyle parent="FilterBar" me="Style13" /><FilterWatermarkStyle parent="FilterWatermark" me="Style14" /><FooterStyle parent="Footer" me="Style3" /><GroupStyle parent="Group" me="Style12" /><HeadingStyle parent="Heading" me="Style2" /><HighLightRowStyle parent="HighlightRow" me="Style7" /><InactiveStyle parent="Inactive" me="Style4" /><OddRowStyle parent="OddRow" me="Style9" /><RecordSelectorStyle parent="RecordSelector" me="Style11" /><SelectedStyle parent="Selected" me="Style6" /><Style parent="Normal" me="Style1" /><ClientRect>0, 0, 595, 130</ClientRect><BorderSide>0</BorderSide></C1.Win.C1TrueDBGrid.MergeView></Splits><NamedStyles><Style parent="" me="Normal" /><Style parent="Normal" me="Heading" /><Style parent="Heading" me="Footer" /><Style parent="Heading" me="Caption" /><Style parent="Heading" me="Inactive" /><Style parent="Normal" me="Selected" /><Style parent="Normal" me="Editor" /><Style parent="Normal" me="HighlightRow" /><Style parent="Normal" me="EvenRow" /><Style parent="Normal" me="OddRow" /><Style parent="Heading" me="RecordSelector" /><Style parent="Normal" me="FilterBar" /><Style parent="FilterBar" me="FilterWatermark" /><Style parent="Caption" me="Group" /></NamedStyles><vertSplits>1</vertSplits><horzSplits>1</horzSplits><Layout>None</Layout><DefaultRecSelWidth>17</DefaultRecSelWidth><ClientArea>0, 0, 595, 130</ClientArea><PrintPageHeaderStyle parent="" me="Style15" /><PrintPageFooterStyle parent="" me="Style16" /></Blob> + + + 675, 17 + + + + iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAYAAAA7bUf6AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACtSURBVDhPpdONCoMgEAdw3/+pfIkxWKy1mlh+pOsF3EQO + DjG9ULiEoJ9/9WLH14XeYpzz0FOH3wP7j/ioVm0R70xCagMWOIP8rmlIBCJWgpxVNARvN4esWdsI3mop + jdUXkPzwIZFRkp4kXUAqnEhvoo3gBBiB92r90BD4OJ8jtMm5H5FioiEQvbQdsYxtBK747GCX93ANKTXd + /HrQkZio1GzT8077i2ttPw638AOZO2GTDCfYPAAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACNSURBVDhPtZPRDcAgCEQZndHczHqkGBBsaE1N+EHvKXBS + a62fBGViZu5EFAL59XwAQMgjhjoE8ti3EAfAZiZccxYyAVWxwhQiANTmnt3vZV+05HBeegVAersVZEBt + 8haA2+1K+iOT+g9wVEKhiZjGLCFMoeAHN4XHPmxgzgdqzaqZUidayOe/oJA3v/ECXC1jKtBnBTgAAAAA + SUVORK5CYII= + + + + 782, 17 + + + + iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAA3SURBVChTY2DABP+xiIGFkCVwsVEUwhThNREkiaEAJoiP + RnEmskKs7kd3C1YrYTrx+g6bIrAYAKCqHOQvFu6BAAAAAElFTkSuQmCC + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj0yLjAuMC4wLCBDdWx0 + dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACRTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5QYWdlU2V0dGluZ3MHAAAAD3ByaW50ZXJTZXR0aW5ncwVjb2xvcglwYXBlclNp + emULcGFwZXJTb3VyY2URcHJpbnRlclJlc29sdXRpb24JbGFuZHNjYXBlB21hcmdpbnMEBAQEBAQEJ1N5 + c3RlbS5EcmF3aW5nLlByaW50aW5nLlByaW50ZXJTZXR0aW5ncwIAAAAgU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuVHJpU3RhdGUCAAAAIVN5c3RlbS5EcmF3aW5nLlByaW50aW5nLlBhcGVyU2l6ZQIAAAAjU3lz + dGVtLkRyYXdpbmcuUHJpbnRpbmcuUGFwZXJTb3VyY2UCAAAAKVN5c3RlbS5EcmF3aW5nLlByaW50aW5n + LlByaW50ZXJSZXNvbHV0aW9uAgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAf + U3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuTWFyZ2lucwIAAAACAAAACQMAAAAF/P///yBTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5UcmlTdGF0ZQEAAAAFdmFsdWUAAgIAAAAACgoKAfv////8////AAkGAAAABQMA + AAAnU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRlclNldHRpbmdzEgAAAAtwcmludGVyTmFtZQpk + cml2ZXJOYW1lCm91dHB1dFBvcnQLcHJpbnRUb0ZpbGUUcHJpbnREaWFsb2dEaXNwbGF5ZWQKZXh0cmFi + eXRlcwlleHRyYWluZm8GY29waWVzBmR1cGxleAdjb2xsYXRlE2RlZmF1bHRQYWdlU2V0dGluZ3MIZnJv + bVBhZ2UGdG9QYWdlB21heFBhZ2UHbWluUGFnZQpwcmludFJhbmdlDGRldm1vZGVieXRlcw1jYWNoZWRE + ZXZtb2RlAQEBAAAABwAEBAQAAAAABAAHAQEHAgceU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuRHVwbGV4 + AgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAkU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuUGFnZVNldHRpbmdzAgAAAAgICAgiU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRSYW5n + ZQIAAAAHAgIAAAAKBgcAAAAACQcAAAAAAAAACv//Bfj///8eU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcu + RHVwbGV4AQAAAAd2YWx1ZV9fAAgCAAAA/////wH3/////P///wAJCgAAAAAAAAAAAAAADycAAAAAAAAF + 9f///yJTeXN0ZW0uRHJhd2luZy5QcmludGluZy5QcmludFJhbmdlAQAAAAd2YWx1ZV9fAAgCAAAAAAAA + AAAACgUGAAAAH1N5c3RlbS5EcmF3aW5nLlByaW50aW5nLk1hcmdpbnMIAAAABGxlZnQFcmlnaHQDdG9w + BmJvdHRvbQpkb3VibGVMZWZ0C2RvdWJsZVJpZ2h0CWRvdWJsZVRvcAxkb3VibGVCb3R0b20AAAAAAAAA + AAgICAgGBgYGAgAAAGQAAABkAAAAZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZ + QAEKAAAAAQAAAAkDAAAAAfP////8////AAoKCgHy/////P///wAJDwAAAAEPAAAABgAAAGQAAABkAAAA + ZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAs= + + + + <?xml version="1.0"?><Blob><Styles type="C1.Win.C1TrueDBGrid.Design.ContextWrapper"><Data>Style16{}HighlightRow{ForeColor:HighlightText;BackColor:Highlight;}Style8{}Style7{}EvenRow{BackColor:Aqua;}Normal{}RecordSelector{AlignImage:Center;}OddRow{}Style6{}Footer{}Style14{}FilterBar{}Heading{AlignVert:Center;Border:Flat,ControlDark,0, 1, 0, 1;ForeColor:ControlText;BackColor:Control;Wrap:True;}Style5{}Editor{}Style10{AlignHorz:Near;}Style3{}Selected{ForeColor:HighlightText;BackColor:Highlight;}Style15{}Style13{}Style12{}Style11{}Style4{}Style9{}FilterWatermark{ForeColor:InfoText;BackColor:Info;}Group{Border:None,,0, 0, 0, 0;AlignVert:Center;BackColor:ControlDark;}Style1{}Caption{AlignHorz:Center;}Style2{}Inactive{ForeColor:InactiveCaptionText;BackColor:InactiveCaption;}</Data></Styles><Splits><C1.Win.C1TrueDBGrid.MergeView Name="" CaptionHeight="17" ColumnCaptionHeight="17" ColumnFooterHeight="17" MarqueeStyle="DottedCellBorder" RecordSelectorWidth="17" DefRecSelWidth="17" VerticalScrollGroup="1" HorizontalScrollGroup="1"><CaptionStyle parent="Style2" me="Style10" /><EditorStyle parent="Editor" me="Style5" /><EvenRowStyle parent="EvenRow" me="Style8" /><FilterBarStyle parent="FilterBar" me="Style13" /><FilterWatermarkStyle parent="FilterWatermark" me="Style14" /><FooterStyle parent="Footer" me="Style3" /><GroupStyle parent="Group" me="Style12" /><HeadingStyle parent="Heading" me="Style2" /><HighLightRowStyle parent="HighlightRow" me="Style7" /><InactiveStyle parent="Inactive" me="Style4" /><OddRowStyle parent="OddRow" me="Style9" /><RecordSelectorStyle parent="RecordSelector" me="Style11" /><SelectedStyle parent="Selected" me="Style6" /><Style parent="Normal" me="Style1" /><ClientRect>0, 0, 238, 148</ClientRect><BorderSide>0</BorderSide></C1.Win.C1TrueDBGrid.MergeView></Splits><NamedStyles><Style parent="" me="Normal" /><Style parent="Normal" me="Heading" /><Style parent="Heading" me="Footer" /><Style parent="Heading" me="Caption" /><Style parent="Heading" me="Inactive" /><Style parent="Normal" me="Selected" /><Style parent="Normal" me="Editor" /><Style parent="Normal" me="HighlightRow" /><Style parent="Normal" me="EvenRow" /><Style parent="Normal" me="OddRow" /><Style parent="Heading" me="RecordSelector" /><Style parent="Normal" me="FilterBar" /><Style parent="FilterBar" me="FilterWatermark" /><Style parent="Caption" me="Group" /></NamedStyles><vertSplits>1</vertSplits><horzSplits>1</horzSplits><Layout>None</Layout><DefaultRecSelWidth>17</DefaultRecSelWidth><ClientArea>0, 0, 238, 148</ClientArea><PrintPageHeaderStyle parent="" me="Style15" /><PrintPageFooterStyle parent="" me="Style16" /></Blob> + + \ No newline at end of file diff --git a/.svn/pristine/a9/a962101b8bba32264563b622ff894e8820cb3c66.svn-base b/.svn/pristine/a9/a962101b8bba32264563b622ff894e8820cb3c66.svn-base new file mode 100644 index 0000000..c3606d5 --- /dev/null +++ b/.svn/pristine/a9/a962101b8bba32264563b622ff894e8820cb3c66.svn-base @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + AAABAAEAICAEAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP// + AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB2 + ZnAAAAAABmZgAAAAAAAHh+6HAAAAAHjuhwAAAAAABojuhwAAAAB47odgAAAAAAbuiOYAAAAAbojuYAAA + AAAGZojmAAAAAGaI7mAAAAAAAADuhwAAAAAAbodgAAAAAAAAbocAAAAAAGaHYAAAAAAAAADmAAAAAAAA + bmAAAAAAAAAAZgAAAAAAAGZgAAAAAHAAAAAAAAAAAAAGZwAAAABwAAAAAAAAAAAAAAcAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////////// + ///A/wP/wP8D/wA8AP8APAD/ADwA/wA8AP8wPMD/MDzA/zw88P88PPD/AMMA/wDDAP/P//z8z//8/PPz + /zzz8/88/PP/zPzz/8z/M//z/zP/8//P////z////////////////////////w== + + + \ No newline at end of file diff --git a/.svn/pristine/aa/aa9b928f28b342e052939458044657da15f63bb0.svn-base b/.svn/pristine/aa/aa9b928f28b342e052939458044657da15f63bb0.svn-base new file mode 100644 index 0000000..eeab62a --- /dev/null +++ b/.svn/pristine/aa/aa9b928f28b342e052939458044657da15f63bb0.svn-base @@ -0,0 +1,3 @@ +Public Class frmDetail2 + +End Class \ No newline at end of file diff --git a/.svn/pristine/ab/abb2f70b0e453ad4dd8fe801538bf6b7903aa35a.svn-base b/.svn/pristine/ab/abb2f70b0e453ad4dd8fe801538bf6b7903aa35a.svn-base new file mode 100644 index 0000000..d9bc69d --- /dev/null +++ b/.svn/pristine/ab/abb2f70b0e453ad4dd8fe801538bf6b7903aa35a.svn-base @@ -0,0 +1,94 @@ + _ +Partial Class frmAbout + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmAbout)) + Me.PictureBox1 = New System.Windows.Forms.PictureBox + Me.btnOK = New System.Windows.Forms.Button + Me.lblversiondatum = New System.Windows.Forms.Label + Me.lblVersion = New System.Windows.Forms.Label + CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'PictureBox1 + ' + Me.PictureBox1.ErrorImage = CType(resources.GetObject("PictureBox1.ErrorImage"), System.Drawing.Image) + Me.PictureBox1.Image = CType(resources.GetObject("PictureBox1.Image"), System.Drawing.Image) + Me.PictureBox1.Location = New System.Drawing.Point(0, 0) + Me.PictureBox1.Name = "PictureBox1" + Me.PictureBox1.Size = New System.Drawing.Size(469, 330) + Me.PictureBox1.TabIndex = 1 + Me.PictureBox1.TabStop = False + ' + 'btnOK + ' + Me.btnOK.Location = New System.Drawing.Point(201, 339) + Me.btnOK.Name = "btnOK" + Me.btnOK.Size = New System.Drawing.Size(75, 23) + Me.btnOK.TabIndex = 2 + Me.btnOK.Text = "OK" + Me.btnOK.UseVisualStyleBackColor = True + ' + 'lblversiondatum + ' + Me.lblversiondatum.BackColor = System.Drawing.Color.White + Me.lblversiondatum.Font = New System.Drawing.Font("Microsoft Sans Serif", 11.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblversiondatum.Location = New System.Drawing.Point(249, 273) + Me.lblversiondatum.Name = "lblversiondatum" + Me.lblversiondatum.Size = New System.Drawing.Size(193, 24) + Me.lblversiondatum.TabIndex = 4 + Me.lblversiondatum.Text = "Version " + Me.lblversiondatum.TextAlign = System.Drawing.ContentAlignment.MiddleCenter + ' + 'lblVersion + ' + Me.lblVersion.BackColor = System.Drawing.Color.White + Me.lblVersion.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblVersion.Location = New System.Drawing.Point(245, 249) + Me.lblVersion.Name = "lblVersion" + Me.lblVersion.Size = New System.Drawing.Size(197, 24) + Me.lblVersion.TabIndex = 3 + Me.lblVersion.Text = "Version " + Me.lblVersion.TextAlign = System.Drawing.ContentAlignment.MiddleCenter + ' + 'frmAbout + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(464, 374) + Me.Controls.Add(Me.lblversiondatum) + Me.Controls.Add(Me.lblVersion) + Me.Controls.Add(Me.btnOK) + Me.Controls.Add(Me.PictureBox1) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.Name = "frmAbout" + Me.Text = "frmAbout" + CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + + End Sub + Friend WithEvents PictureBox1 As System.Windows.Forms.PictureBox + Friend WithEvents btnOK As System.Windows.Forms.Button + Friend WithEvents lblversiondatum As System.Windows.Forms.Label + Friend WithEvents lblVersion As System.Windows.Forms.Label +End Class diff --git a/.svn/pristine/ab/abef72354479e4d400e881b0e927206dbf0bb61b.svn-base b/.svn/pristine/ab/abef72354479e4d400e881b0e927206dbf0bb61b.svn-base new file mode 100644 index 0000000..e3fdb4a --- /dev/null +++ b/.svn/pristine/ab/abef72354479e4d400e881b0e927206dbf0bb61b.svn-base @@ -0,0 +1,130 @@ +Imports System.IO +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient +''' +''' Form mit generalisiertem Domain-Table-Editor. +''' +''' +''' +''' +''' Vertragsverwaltung.TKB.VV.Sysadmin.DomainTable +Public Class frmDomainEditorExtTables + +#Region "Deklarationen" + Dim ds As New DataSet + Dim da As SqlDataAdapter + Dim co As New SqlConnection + Dim cb As SqlCommandBuilder + Dim tablename As String + Dim SpaltenTitel As New Utils.Tabellenspalte +#End Region + +#Region "Formular-Funktionen" + ''' + ''' Tabellenname bernehmen und Objekt DomainTable initialisieren + ''' Initialisierung der Komponenten + ''' + ''' Tabellenname der Tabelle, welche ber den Domaineditor editiert werden soll + ''' Bentigt werden entsprechende Stored_Procedures, welche mit LBLLGEN_2 generiert wurden + ''' pr_"Tablename"_SelectAll + ''' pr_"Tablename"_Update + ''' + Public Sub New(ByVal tblname As String, ByVal Connectionstring As String) + ' Domaintable = New TKB.VV.Sysadmin.DomainTable(tblname) + Me.InitializeComponent() + ' Me.Text = "Domaineditor: " & tblname + Me.tablename = tblname + Me.co.ConnectionString = Connectionstring + End Sub + ''' + ''' Zuordnung der Daten aus Domaintable und Spaltentitel des Grids setzen + ''' + ''' + ''' + ''' + Private Sub frmDomainEditor_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + Try + da = New SqlDataAdapter("Select * from " & Me.tablename, Me.co) + cb = New SqlCommandBuilder(da) + da.Fill(ds, "ExtTable") + Me.C1Daten.DataSource = ds.Tables(0) + Me.C1Daten.DataMember = ds.Tables(0).TableName + Catch ex As Exception + MsgBox(ex.Message) + End Try + End Sub + + + ''' + ''' Schliessen des Formulars + ''' + ''' + ''' + ''' + Private Sub BeendenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BeendenToolStripMenuItem.Click + Me.Close() + End Sub + ''' + ''' Ruft BeendetnToolStipMenuItem_Click auf + ''' + ''' + ''' + ''' + Private Sub TSBtnQuit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnQuit.Click + BeendenToolStripMenuItem_Click(sender, e) + End Sub + ''' + ''' Prfung auf allfllige Daten-Changes. Wurden Daten verndert, kann der User entscheiden, ob gespeichert, nichtgespeichert oder + ''' das Formular nicht gespeichert werden soll. + ''' + ''' + ''' + ''' + Private Sub frmDomainEditor_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing + If Me.ds.HasChanges Then + Dim msg As New Utils.MyMessage + Dim msgboxres As MsgBoxResult + msgboxres = msg.Show_MessageYesNoCancel(3) + If msgboxres = MsgBoxResult.Cancel Then + e.Cancel = True + Exit Sub + End If + If msgboxres = MsgBoxResult.Yes Then + Try + da.Update(ds, "ExtTable") + + Catch ex As Exception + MsgBox(ex.Message) + End Try + + End If + End If + Try + Me.co.Close() + da.Dispose() + co.Dispose() + cb.Dispose() + ds.Dispose() + Catch ex As Exception + MsgBox(ex.Message) + End Try + End Sub + + ''' + ''' Sichern der Daten + ''' + ''' + ''' + ''' + Private Sub TSBtnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnSave.Click + Try + da.Update(ds, "ExtTable") + Catch ex As Exception + MsgBox(ex.Message) + End Try + End Sub +#End Region + +End Class diff --git a/.svn/pristine/ae/ae7ba8e04d13c702916f6d65cfe9d17a3d5fec31.svn-base b/.svn/pristine/ae/ae7ba8e04d13c702916f6d65cfe9d17a3d5fec31.svn-base new file mode 100644 index 0000000..6b68408 --- /dev/null +++ b/.svn/pristine/ae/ae7ba8e04d13c702916f6d65cfe9d17a3d5fec31.svn-base @@ -0,0 +1,196 @@ +Imports System.IO +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient +Public Class frmMain + +#Region "Deklarationen" + Dim ForceQuit As Boolean = False + Dim txt As New Utils.MyMessage + Dim sec As New Utils.MySecurity +#End Region + + Private Sub TSBtnVertragsuebersicht_Click(sender As System.Object, e As System.EventArgs) Handles TSBtnVertragsuebersicht.Click + Dim f As New frmThemenübersicht + f.MdiParent = Me + f.Show() + End Sub + + ''' + ''' Laden des Formulars + ''' + ''' + ''' + ''' + + Private Sub frmMain_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load + If Not Init_System() Then + Me.Close() + Exit Sub + End If + Me.Cursor = Cursors.WaitCursor + Application.DoEvents() + Try + sec.Set_Form_Security(Me) + Catch + End Try + Delete_Temp_Files() + Me.Cursor = Cursors.Default + End Sub + + ''' + ''' Löschen der Dateien im Temp-Verzeichnis + ''' + ''' + Private Sub Delete_Temp_Files() + Dim s As String + For Each s In System.IO.Directory.GetFiles(Globals.clsapplication.sTmp_filepath) + Try + System.IO.File.Delete(s) + Catch + End Try + Next s + End Sub + + ''' + ''' System-Initialosierung + ''' - Applikationsdaten auslesen + ''' - Aktueller Mitarbeiter auslesen bzw. Login-Dialog anzeigen + ''' + ''' + Private Function Init_System() As Boolean + ' Dim dbconn As New TKB.VV.DB.DB_Connection + ' dbconn = Nothing + + Globals.clsapplication.iApplikationsnr = 1 + Globals.clsapplication.cpMainConnectionProvider = Globals.conn + conn.OpenConnection() + Globals.clsapplication.SelectOne() + conn.CloseConnection(True) + + 'Show Login, sofern der Applikationsparameter gesetzt ist + If Globals.clsapplication.bShowlogin.Value = True Then + If Not login() Then Return False + Me.WindowState = FormWindowState.Maximized + If Not Directory.Exists(Globals.clsapplication.sTmp_filepath) Then + Directory.CreateDirectory(Globals.clsapplication.sTmp_filepath) + End If + Dim f As New frmSplash + f.MdiParent = Me + f.Show() + Application.DoEvents() + Return True + Else + '14.04.2009 - Menueintrag ausblenden, sofern das Loginfenster nicht angezeigt wird + Me.NeuAnmeldenToolStripMenuItem.Visible = False + Dim f As New frmSplash + f.MdiParent = Me + f.Show() + Application.DoEvents() + 'Prüfung mittels TG-Nummer, ob der User berechtigt ist + Dim tmp_mitarbeiter As New DB.MyMitarbeiter + Dim tmp_mitarbeiterdata As New DataTable + tmp_mitarbeiter.cpMainConnectionProvider = Globals.conn + Globals.conn.OpenConnection() + tmp_mitarbeiterdata = tmp_mitarbeiter.SelectWithTGNummer() + Globals.conn.CloseConnection(True) + Application.DoEvents() + If tmp_mitarbeiterdata.Rows.Count < 1 Then + txt.show_standardmessage(2, MsgBoxStyle.Exclamation) + Me.ForceQuit = True + Return False + Exit Function + End If + Globals.clsmitarbeiter.iMitarbeiternr = New SqlInt32(CType(tmp_mitarbeiterdata.Rows(0).Item("Mitarbeiternr"), Int32)) + Globals.clsmitarbeiter.cpMainConnectionProvider = Globals.conn + conn.OpenConnection() + Globals.clsmitarbeiter.SelectOne() + Globals.conn.CloseConnection(True) + tmp_mitarbeiter.Dispose() + tmp_mitarbeiterdata.Dispose() + Me.WindowState = FormWindowState.Maximized + If Not Directory.Exists(Globals.clsapplication.sTmp_filepath) Then + Directory.CreateDirectory(Globals.clsapplication.sTmp_filepath) + End If + Return True + End If + End Function + + ''' + ''' Login-Fenster anzeigen und neuen User anmelden + ''' + ''' + Private Function login() As Boolean + Dim f As New frmLogin + f.ShowDialog() + If f.DialogResult = Windows.Forms.DialogResult.OK Then + Globals.clsmitarbeiter.iMitarbeiternr = f.Mitarbeiternr + Globals.clsmitarbeiter.cpMainConnectionProvider = Globals.conn + conn.OpenConnection() + Globals.clsmitarbeiter.SelectOne() + Globals.conn.CloseConnection(True) + Else + Return False + End If + Return True + + End Function + + Private Sub NeuAnmeldenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles NeuAnmeldenToolStripMenuItem.Click + login() + sec.Set_Form_Security(Me) + + End Sub + + Private Sub BeendenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles BeendenToolStripMenuItem.Click + Me.Close() + End Sub + + Private Sub TSBtnQuit_Click(sender As Object, e As EventArgs) Handles TSBtnQuit.Click + Me.BeendenToolStripMenuItem_Click(sender, e) + End Sub + + Private Sub ThemenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ThemenToolStripMenuItem.Click + Dim f As New frmThemenübersicht + f.MdiParent = Me + f.Show() + End Sub + + Private Sub SystemAdministrationToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles SystemAdministrationToolStripMenuItem.Click + Dim f As New frmSysadminMenu + f.MdiParent = Me + f.Show() + End Sub + + Private Sub ObjektListerToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ObjektListerToolStripMenuItem.Click + If InputBox("Passwort:") <> "341211" Then Exit Sub + Dim formselector As New frmFormSelector + formselector.ListForms.Items.Clear() + formselector.ListForms.Items.Add(Me.Name) + For Each x As Form In Me.MdiChildren + formselector.ListForms.Items.Add(x.Name) + Next + formselector.ShowDialog() + If formselector.DialogResult = Windows.Forms.DialogResult.OK Then + If formselector.ListForms.SelectedItem = Me.Name Then + sec.List_Form_Controls(Me) + sec.Print_Screen(Me) + Exit Sub + End If + For Each x As Form In Me.MdiChildren + If x.Name = formselector.ListForms.SelectedItem Then + sec.List_Form_Controls(x) + sec.Print_Screen(x) + End If + Next + + End If + + End Sub + + Private Sub TSBtnMonitoring_Click(sender As Object, e As EventArgs) Handles TSBtnMonitoring.Click + Dim f As New frmDetail + f.MdiParent = Me + f.Show() + End Sub +End Class \ No newline at end of file diff --git a/.svn/pristine/ae/aed0abc1a9fa47b3e5a055c0fa9a229fcac66374.svn-base b/.svn/pristine/ae/aed0abc1a9fa47b3e5a055c0fa9a229fcac66374.svn-base new file mode 100644 index 0000000..43cf592 Binary files /dev/null and b/.svn/pristine/ae/aed0abc1a9fa47b3e5a055c0fa9a229fcac66374.svn-base differ diff --git a/.svn/pristine/b0/b0188f09d4be374557ff7f1a9a0c58f4ae794ef8.svn-base b/.svn/pristine/b0/b0188f09d4be374557ff7f1a9a0c58f4ae794ef8.svn-base new file mode 100644 index 0000000..43cd27b Binary files /dev/null and b/.svn/pristine/b0/b0188f09d4be374557ff7f1a9a0c58f4ae794ef8.svn-base differ diff --git a/.svn/pristine/b0/b054a0973b8fad3fddbde0d24336482df697fa0b.svn-base b/.svn/pristine/b0/b054a0973b8fad3fddbde0d24336482df697fa0b.svn-base new file mode 100644 index 0000000..3f1c8e0 Binary files /dev/null and b/.svn/pristine/b0/b054a0973b8fad3fddbde0d24336482df697fa0b.svn-base differ diff --git a/.svn/pristine/b1/b14fc5e38abe23977a0dcf445aa28ec70f978f9d.svn-base b/.svn/pristine/b1/b14fc5e38abe23977a0dcf445aa28ec70f978f9d.svn-base new file mode 100644 index 0000000..60f5b0a --- /dev/null +++ b/.svn/pristine/b1/b14fc5e38abe23977a0dcf445aa28ec70f978f9d.svn-base @@ -0,0 +1,208 @@ +' ////////////////////////////////////////////////////////////////////////////////////////// +' // Description: Base class for Database Interaction. +' // Generated by LLBLGen v1.21.2003.712 Final on: Dienstag, 1. Januar 2013, 19:36:38 +' // Because this class implements IDisposable, derived classes shouldn't do so. +' ////////////////////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Configuration +Imports System.Data +Imports System.Data.SqlClient +Imports System.Data.SqlTypes + +Namespace DB + ' /// + ' /// Purpose: Error Enums used by this LLBL library. + ' /// + Public Enum LLBLError + AllOk + ' // Add more here (check the comma's!) + End Enum + + + ' /// + ' /// Purpose: General interface of the API generated. Contains only common methods of all classes. + ' /// + Public Interface ICommonDBAccess + Function Insert() As Boolean + Function Update() As Boolean + Function Delete() As Boolean + Function SelectOne() As DataTable + Function SelectAll() As DataTable + End Interface + + + ' /// + ' /// Purpose: Abstract base class for Database Interaction classes. + ' /// + Public MustInherit Class clsDBInteractionBase + Implements IDisposable + Implements ICommonDBAccess + +#Region " Class Member Declarations " + + Protected m_scoMainConnection As SqlConnection + Protected m_iRowsAffected As Integer + Protected m_iErrorCode As SqlInt32 + Protected m_bMainConnectionIsCreatedLocal As Boolean + Protected m_cpMainConnectionProvider As clsConnectionProvider + Private m_sConnectionString As String + Private m_bIsDisposed As Boolean + +#End Region + + + ' /// + ' /// Purpose: Class constructor. + ' /// + Public Sub New() + ' // Initialize the class' members. + InitClass() + End Sub + + + ' /// + ' /// Purpose: Initializes class members. + ' /// + Private Sub InitClass() + ' // create all the objects and initialize other members. + m_scoMainConnection = new SqlConnection() + m_bMainConnectionIsCreatedLocal = True + m_cpMainConnectionProvider = Nothing + m_iErrorCode = New SqlInt32(LLBLError.AllOk) + m_bIsDisposed = False + End Sub + + + ' /// + ' /// Purpose: Implements the IDispose' method Dispose. + ' /// + Overloads Public Sub Dispose() Implements IDisposable.Dispose + Dispose(True) + GC.SuppressFinalize(Me) + End Sub + + + ' /// + ' /// Purpose: Implements the Dispose functionality. + ' /// + Overridable Overloads Protected Sub Dispose(ByVal bIsDisposing As Boolean) + ' // Check to see if Dispose has already been called. + If Not m_bIsDisposed Then + If bIsDisposing Then + ' // Dispose managed resources. + If m_bMainConnectionIsCreatedLocal Then + ' // Object is created in this class, so destroy it here. + m_scoMainConnection.Close() + m_scoMainConnection.Dispose() + m_bMainConnectionIsCreatedLocal = True + End If + m_cpMainConnectionProvider = Nothing + m_scoMainConnection = Nothing + End If + End If + m_bIsDisposed = True + End Sub + + + ' /// + ' /// Purpose: Implements the ICommonDBAccess.Insert() method. + ' /// + Public Overridable Function Insert() As Boolean Implements ICommonDBAccess.Insert + ' // No implementation, throw exception + Throw New NotImplementedException() + End Function + + + ' /// + ' /// Purpose: Implements the ICommonDBAccess.Delete() method. + ' /// + Public Overridable Function Delete() As Boolean Implements ICommonDBAccess.Delete + ' // No implementation, throw exception + Throw New NotImplementedException() + End Function + + + ' /// + ' /// Purpose: Implements the ICommonDBAccess.Update() method. + ' /// + Public Overridable Function Update() As Boolean Implements ICommonDBAccess.Update + ' // No implementation, throw exception + Throw New NotImplementedException() + End Function + + + ' /// + ' /// Purpose: Implements the ICommonDBAccess.SelectOne() method. + ' /// + Public Overridable Function SelectOne() As DataTable Implements ICommonDBAccess.SelectOne + ' // No implementation, throw exception + Throw New NotImplementedException() + End Function + + + ' /// + ' /// Purpose: Implements the ICommonDBAccess.SelectAll() method. + ' /// + Public Overridable Function SelectAll() As DataTable Implements ICommonDBAccess.SelectAll + ' // No implementation, throw exception + Throw New NotImplementedException() + End Function + + +#Region " Class Property Declarations " + + Public WriteOnly Property cpMainConnectionProvider() As clsConnectionProvider + Set(ByVal Value As clsConnectionProvider) + If Value Is Nothing Then + ' // Invalid value + Throw New ArgumentNullException("cpMainConnectionProvider", "Nothing passed as value to this property which is not allowed.") + End If + + ' // A connection provider object is passed to this class. + ' // Retrieve the SqlConnection object, if present and create a + ' // reference to it. If there is already a MainConnection object + ' // referenced by the membervar, destroy that one or simply + ' // remove the reference, based on the flag. + If Not (m_scoMainConnection Is Nothing) Then + ' // First get rid of current connection object. Caller is responsible + If m_bMainConnectionIsCreatedLocal Then + ' // Is local created object, close it and dispose it. + m_scoMainConnection.Close() + m_scoMainConnection.Dispose() + End If + ' // Remove reference. + m_scoMainConnection = Nothing + End If + m_cpMainConnectionProvider = CType(Value, clsConnectionProvider) + m_scoMainConnection = m_cpMainConnectionProvider.scoDBConnection + m_bMainConnectionIsCreatedLocal = False + End Set + End Property + + + Public ReadOnly Property iErrorCode() As SqlInt32 + Get + Return m_iErrorCode + End Get + End Property + + + Public Property sConnectionString() As String + Get + Return m_sConnectionString + End Get + Set (ByVal Value As String) + m_sConnectionString = Value + m_scoMainConnection.ConnectionString = m_sConnectionString + End Set + End Property + Public Readonly Property iRowsAffected() As Integer + Get + Return m_iRowsAffected + End Get + End Property + +#End Region + + End Class +End Namespace diff --git a/.svn/pristine/b3/b390f669f511ccb2eb447345f031ea6f55c2fcc2.svn-base b/.svn/pristine/b3/b390f669f511ccb2eb447345f031ea6f55c2fcc2.svn-base new file mode 100644 index 0000000..6a2d5e7 --- /dev/null +++ b/.svn/pristine/b3/b390f669f511ccb2eb447345f031ea6f55c2fcc2.svn-base @@ -0,0 +1,158 @@ +Imports SautinSoft.HtmlToRtf +Imports System.IO +Public Class frmDetail + + Private Sub tbrSave_Click(sender As System.Object, e As System.EventArgs) Handles tbrSave.Click + Me.rtbDoc.SaveFile("h:\tssettings\eintrag" + Microsoft.VisualBasic.Right(Me.TreeView2.SelectedNode.Text, 1) + ".rtf") + + End Sub + + Private Sub TreeView2_AfterSelect(sender As System.Object, e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView2.AfterSelect + Me.rtbDoc.Clear() + Me.rtbDoc.Visible = True + Me.Panel1.Visible = False + Me.rtbDoc.Dock = DockStyle.Fill + Me.Panel2.Dock = DockStyle.Fill + Try + Me.rtbDoc.LoadFile("h:\tssettings\eintrag" + Microsoft.VisualBasic.Right(Me.TreeView2.SelectedNode.Text, 1) + ".rtf") + Catch + End Try + End Sub + + Private Sub ÜbersichtToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles ÜbersichtToolStripMenuItem.Click + Dim x As New ToolStrip + x = ToolStrip9 + Me.rtbDoc.Visible = False + Me.Panel1.Dock = DockStyle.Fill + Me.Panel1.Visible = True + Panel1.Controls.Clear() + Panel1.Controls.Add(x) + For i = 9 To 1 Step -1 + Try + Dim rb As New RichTextBox + rb.LoadFile("h:\tssettings\Eintrag" + Trim(i.ToString) + ".rtf") + rb.Height = 80 + rb.Dock = DockStyle.Top + rb.ReadOnly = True + AddHandler rb.DoubleClick, AddressOf rb_dblClick + Panel1.Controls.Add(rb) + Dim l As New Label + Catch + End Try + + Next + + End Sub + + Private Sub rb_dblClick(sender As Object, e As System.EventArgs) + Me.Panel1.Visible = False + Me.rtbDoc.Visible = True + Me.rtbDoc.Dock = DockStyle.Fill + Me.Panel2.Dock = DockStyle.Fill + Me.TreeView2.SelectedNode = TreeView2.Nodes(0) + End Sub + + + + Private Sub frmDetail_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load + Me.TreeView2.Nodes.Clear() + For i = 1 To 9 + Me.TreeView2.Nodes.Add("Eintrag" + i.ToString) + Next + End Sub + + Private Sub AllesToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles AllesToolStripMenuItem.Click + + 'Dim rb As New RichTextBox + 'Dim rb1 As New RichTextBox + 'Me.Panel1.Controls.Clear() + + 'For i = 9 To 1 Step -1 + ' Try + ' rb1.LoadFile("h:\tssettings\Eintrag" + Trim(i.ToString) + ".rtf") + ' 'rb = AppendRTF(rb1, rb1.Rtf) + ' rb.SelectionStart = 0 + ' rb.SelectionLength = 0 + ' rb1.SelectAll() + ' rb.Rtf = rb.Rtf + rb1.Rtf + ' ' rb1.SelectAll() + ' ' My.Computer.Clipboard.SetText(rb1.SelectedRtf) + ' ' rb.Rtf += My.Computer.Clipboard.GetText + ' Catch + ' End Try + + 'Next + 'Me.Panel1.Controls.Add(rb) + 'rb.Dock = DockStyle.Fill + Dim h As New SautinSoft.HtmlToRtf + + Dim firstRtf As String = "" + Dim Delimitter As String = "" + Dim secondRtf As String = "" + Dim singleRtf As String = "" + + singleRtf = ReadFromFile("h:\tssettings\empty.rtf") + Delimitter = ReadFromFile("h:\tssettings\delimitter.rtf") + For i = 1 To 9 + Try + secondRtf = ReadFromFile("h:\tssettings\Eintrag" + Trim(i.ToString) + ".rtf") + singleRtf = h.MergeRtfString(singleRtf, secondRtf) + singleRtf = h.MergeRtfString(singleRtf, Delimitter) + Catch + End Try + + Next + Dim x As New ToolStrip + x = ToolStrip9 + Me.Panel1.Controls.Clear() + Panel1.Controls.Add(x) + Dim rb As New RichTextBox + rb.Rtf = singleRtf + Me.Panel1.Controls.Add(rb) + rb.Dock = DockStyle.Fill + Me.Panel1.Visible = True + Me.Panel1.Dock = DockStyle.Fill + Me.rtbDoc.Visible = False + + End Sub + + + Public Function ReadFromFile(ByVal fileName As String) As String + + Dim fileString As String = "" + Try + Dim fs As System.IO.FileStream = New FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.Read) + Dim b(CInt(Fix(fs.Length)) - 1) As Byte + If fs.Read(b, 0, CInt(Fix(fs.Length))) > 0 Then + Dim arCharRes(fs.Length - 1) As Char + For i As Integer = 0 To fs.Length - 1 + arCharRes(i) = ChrW(b(i)) + Next i + fileString = New String(arCharRes) + End If + fs.Close() + Return fileString + Catch + Return "" + End Try + End Function + Public Function WriteToFile(ByVal fileName As String, ByVal fileStr As String) As Integer + Try + Dim sw As New StreamWriter(fileName, False) + sw.Write(fileStr) + sw.Close() + Catch + Return 2 + End Try + Return 0 + End Function + + + Private Sub ToolStripButton22_Click(sender As System.Object, e As System.EventArgs) Handles ToolStripButton22.Click + ÜbersichtToolStripMenuItem_Click(sender, e) + End Sub + + Private Sub ToolStripButton23_Click(sender As System.Object, e As System.EventArgs) Handles ToolStripButton23.Click + AllesToolStripMenuItem_Click(sender, e) + End Sub +End Class \ No newline at end of file diff --git a/.svn/pristine/b6/b6dc3c0a40544caaa70f483fc766755fb78e8ab6.svn-base b/.svn/pristine/b6/b6dc3c0a40544caaa70f483fc766755fb78e8ab6.svn-base new file mode 100644 index 0000000..1125b58 --- /dev/null +++ b/.svn/pristine/b6/b6dc3c0a40544caaa70f483fc766755fb78e8ab6.svn-base @@ -0,0 +1,321 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 227, 17 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAKNJREFUOE+VkwEO + wCAIA93PeZo/cyKiiMDYEmNC7FGpe4r9NaeeLjcAuFZXjxp+tVZs4jY6xFoIQCALwMR1QHYkVyTGXQNk + YQHQrhRJiAS00g/OwrET4OysHZDYWn1IGQet4EBCQOwAsyUIxWJcoYzYcHkzIMjOVQ1xw6MUGDJ2zjkz + A+t5Xg6sKMOXyFfyHKgru//IjHGnkBUycb2Dv8IF+BK+MTpb49UVguoAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAF5JREFUOE9jPHDg + wH8GSgDUAJAhJGOwXpgBDQ0QA0B8fBimBk6TYwDMtWS7ANm1ZHlhEBsAcxq+KAWpwekFmCQxNNZoJMYF + II14XYDL+bDENUgNIDdDwZMyoQyETx4A+Fj5YOUZcUAAAAAASUVORK5CYII= + + + + 329, 17 + + + + iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAADdJREFUKFNjYMAE + /7GIgYWQJXCxURTCFOE1ESSJoQAmiI9GcSayQqzuR3cLVithOvH6DpsisBgAoKoc5C8W7oEAAAAASUVO + RK5CYII= + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj0yLjAuMC4wLCBDdWx0 + dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACRTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5QYWdlU2V0dGluZ3MHAAAAD3ByaW50ZXJTZXR0aW5ncwVjb2xvcglwYXBlclNp + emULcGFwZXJTb3VyY2URcHJpbnRlclJlc29sdXRpb24JbGFuZHNjYXBlB21hcmdpbnMEBAQEBAQEJ1N5 + c3RlbS5EcmF3aW5nLlByaW50aW5nLlByaW50ZXJTZXR0aW5ncwIAAAAgU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuVHJpU3RhdGUCAAAAIVN5c3RlbS5EcmF3aW5nLlByaW50aW5nLlBhcGVyU2l6ZQIAAAAjU3lz + dGVtLkRyYXdpbmcuUHJpbnRpbmcuUGFwZXJTb3VyY2UCAAAAKVN5c3RlbS5EcmF3aW5nLlByaW50aW5n + LlByaW50ZXJSZXNvbHV0aW9uAgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAf + U3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuTWFyZ2lucwIAAAACAAAACQMAAAAF/P///yBTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5UcmlTdGF0ZQEAAAAFdmFsdWUAAgIAAAAACgoKAfv////8////AAkGAAAABQMA + AAAnU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRlclNldHRpbmdzEgAAAAtwcmludGVyTmFtZQpk + cml2ZXJOYW1lCm91dHB1dFBvcnQLcHJpbnRUb0ZpbGUUcHJpbnREaWFsb2dEaXNwbGF5ZWQKZXh0cmFi + eXRlcwlleHRyYWluZm8GY29waWVzBmR1cGxleAdjb2xsYXRlE2RlZmF1bHRQYWdlU2V0dGluZ3MIZnJv + bVBhZ2UGdG9QYWdlB21heFBhZ2UHbWluUGFnZQpwcmludFJhbmdlDGRldm1vZGVieXRlcw1jYWNoZWRE + ZXZtb2RlAQEBAAAABwAEBAQAAAAABAAHAQEHAgceU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuRHVwbGV4 + AgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAkU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuUGFnZVNldHRpbmdzAgAAAAgICAgiU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRSYW5n + ZQIAAAAHAgIAAAAKBgcAAAAACQcAAAAAAAAACv//Bfj///8eU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcu + RHVwbGV4AQAAAAd2YWx1ZV9fAAgCAAAA/////wH3/////P///wAJCgAAAAAAAAAAAAAADycAAAAAAAAF + 9f///yJTeXN0ZW0uRHJhd2luZy5QcmludGluZy5QcmludFJhbmdlAQAAAAd2YWx1ZV9fAAgCAAAAAAAA + AAAACgUGAAAAH1N5c3RlbS5EcmF3aW5nLlByaW50aW5nLk1hcmdpbnMEAAAABGxlZnQFcmlnaHQDdG9w + BmJvdHRvbQAAAAAICAgIAgAAAGQAAABkAAAAZAAAAGQAAAABCgAAAAEAAAAJAwAAAAHz/////P///wAK + CgoB8v////z///8ACQ8AAAABDwAAAAYAAABkAAAAZAAAAGQAAABkAAAACw== + + + + <?xml version="1.0"?><Blob><Styles type="C1.Win.C1TrueDBGrid.Design.ContextWrapper"><Data>Inactive{ForeColor:InactiveCaptionText;BackColor:InactiveCaption;}OddRow{BackColor:224, 224, 224;}Style5{}RecordSelector{AlignImage:Center;}Heading{Wrap:True;AlignVert:Center;Border:Flat,ControlDark,0, 1, 0, 1;ForeColor:ControlText;BackColor:Control;}Style6{}Group{BackColor:ControlDark;Border:None,,0, 0, 0, 0;AlignVert:Center;}Style8{}Footer{}Style13{}FilterWatermark{ForeColor:InfoText;BackColor:Info;}Style12{}HighlightRow{ForeColor:HighlightText;BackColor:Highlight;}Editor{}Style4{}FilterBar{ForeColor:Black;BackColor:255, 255, 192;}EvenRow{BackColor:White;}Style11{}Style16{}Style1{}Caption{AlignHorz:Center;}Selected{ForeColor:HighlightText;BackColor:Highlight;}Style9{}Style2{}Style14{}Normal{}Style7{}Style15{}Style10{AlignHorz:Near;}Style3{}</Data></Styles><Splits><C1.Win.C1TrueDBGrid.MergeView Name="" AlternatingRowStyle="True" CaptionHeight="17" ColumnCaptionHeight="17" ColumnFooterHeight="17" FilterBar="True" MarqueeStyle="DottedCellBorder" RecordSelectorWidth="16" DefRecSelWidth="16" VerticalScrollGroup="1" HorizontalScrollGroup="1"><Height>222</Height><CaptionStyle parent="Style2" me="Style10" /><EditorStyle parent="Editor" me="Style5" /><EvenRowStyle parent="EvenRow" me="Style8" /><FilterBarStyle parent="FilterBar" me="Style13" /><FilterWatermarkStyle parent="FilterWatermark" me="Style14" /><FooterStyle parent="Footer" me="Style3" /><GroupStyle parent="Group" me="Style12" /><HeadingStyle parent="Heading" me="Style2" /><HighLightRowStyle parent="HighlightRow" me="Style7" /><InactiveStyle parent="Inactive" me="Style4" /><OddRowStyle parent="OddRow" me="Style9" /><RecordSelectorStyle parent="RecordSelector" me="Style11" /><SelectedStyle parent="Selected" me="Style6" /><Style parent="Normal" me="Style1" /><ClientRect>0, 0, 459, 222</ClientRect><BorderSide>0</BorderSide></C1.Win.C1TrueDBGrid.MergeView></Splits><NamedStyles><Style parent="" me="Normal" /><Style parent="Normal" me="Heading" /><Style parent="Heading" me="Footer" /><Style parent="Heading" me="Caption" /><Style parent="Heading" me="Inactive" /><Style parent="Normal" me="Selected" /><Style parent="Normal" me="Editor" /><Style parent="Normal" me="HighlightRow" /><Style parent="Normal" me="EvenRow" /><Style parent="Normal" me="OddRow" /><Style parent="Heading" me="RecordSelector" /><Style parent="Normal" me="FilterBar" /><Style parent="FilterBar" me="FilterWatermark" /><Style parent="Caption" me="Group" /></NamedStyles><vertSplits>1</vertSplits><horzSplits>1</horzSplits><Layout>None</Layout><DefaultRecSelWidth>16</DefaultRecSelWidth><ClientArea>0, 0, 459, 222</ClientArea><PrintPageHeaderStyle parent="" me="Style15" /><PrintPageFooterStyle parent="" me="Style16" /></Blob> + + + + iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAADdJREFUKFNjYMAE + /7GIgYWQJXCxURTCFOE1ESSJoQAmiI9GcSayQqzuR3cLVithOvH6DpsisBgAoKoc5C8W7oEAAAAASUVO + RK5CYII= + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj0yLjAuMC4wLCBDdWx0 + dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACRTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5QYWdlU2V0dGluZ3MHAAAAD3ByaW50ZXJTZXR0aW5ncwVjb2xvcglwYXBlclNp + emULcGFwZXJTb3VyY2URcHJpbnRlclJlc29sdXRpb24JbGFuZHNjYXBlB21hcmdpbnMEBAQEBAQEJ1N5 + c3RlbS5EcmF3aW5nLlByaW50aW5nLlByaW50ZXJTZXR0aW5ncwIAAAAgU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuVHJpU3RhdGUCAAAAIVN5c3RlbS5EcmF3aW5nLlByaW50aW5nLlBhcGVyU2l6ZQIAAAAjU3lz + dGVtLkRyYXdpbmcuUHJpbnRpbmcuUGFwZXJTb3VyY2UCAAAAKVN5c3RlbS5EcmF3aW5nLlByaW50aW5n + LlByaW50ZXJSZXNvbHV0aW9uAgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAf + U3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuTWFyZ2lucwIAAAACAAAACQMAAAAF/P///yBTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5UcmlTdGF0ZQEAAAAFdmFsdWUAAgIAAAAACgoKAfv////8////AAkGAAAABQMA + AAAnU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRlclNldHRpbmdzEgAAAAtwcmludGVyTmFtZQpk + cml2ZXJOYW1lCm91dHB1dFBvcnQLcHJpbnRUb0ZpbGUUcHJpbnREaWFsb2dEaXNwbGF5ZWQKZXh0cmFi + eXRlcwlleHRyYWluZm8GY29waWVzBmR1cGxleAdjb2xsYXRlE2RlZmF1bHRQYWdlU2V0dGluZ3MIZnJv + bVBhZ2UGdG9QYWdlB21heFBhZ2UHbWluUGFnZQpwcmludFJhbmdlDGRldm1vZGVieXRlcw1jYWNoZWRE + ZXZtb2RlAQEBAAAABwAEBAQAAAAABAAHAQEHAgceU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuRHVwbGV4 + AgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAkU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuUGFnZVNldHRpbmdzAgAAAAgICAgiU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRSYW5n + ZQIAAAAHAgIAAAAKBgcAAAAACQcAAAAAAAAACv//Bfj///8eU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcu + RHVwbGV4AQAAAAd2YWx1ZV9fAAgCAAAA/////wH3/////P///wAJCgAAAAAAAAAAAAAADycAAAAAAAAF + 9f///yJTeXN0ZW0uRHJhd2luZy5QcmludGluZy5QcmludFJhbmdlAQAAAAd2YWx1ZV9fAAgCAAAAAAAA + AAAACgUGAAAAH1N5c3RlbS5EcmF3aW5nLlByaW50aW5nLk1hcmdpbnMEAAAABGxlZnQFcmlnaHQDdG9w + BmJvdHRvbQAAAAAICAgIAgAAAGQAAABkAAAAZAAAAGQAAAABCgAAAAEAAAAJAwAAAAHz/////P///wAK + CgoB8v////z///8ACQ8AAAABDwAAAAYAAABkAAAAZAAAAGQAAABkAAAACw== + + + + <?xml version="1.0"?><Blob><Styles type="C1.Win.C1TrueDBGrid.Design.ContextWrapper"><Data>Inactive{ForeColor:InactiveCaptionText;BackColor:InactiveCaption;}OddRow{BackColor:224, 224, 224;}Style5{}RecordSelector{AlignImage:Center;}Heading{Wrap:True;AlignVert:Center;Border:Flat,ControlDark,0, 1, 0, 1;ForeColor:ControlText;BackColor:Control;}Style6{}Group{BackColor:ControlDark;Border:None,,0, 0, 0, 0;AlignVert:Center;}Style8{}Footer{}Style13{}FilterWatermark{ForeColor:InfoText;BackColor:Info;}Style12{}HighlightRow{ForeColor:HighlightText;BackColor:Highlight;}Editor{}Style4{}FilterBar{ForeColor:Black;BackColor:255, 255, 192;}EvenRow{BackColor:White;}Style11{}Style16{}Style1{}Caption{AlignHorz:Center;}Selected{ForeColor:HighlightText;BackColor:Highlight;}Style9{}Style2{}Style14{}Normal{}Style7{}Style15{}Style10{AlignHorz:Near;}Style3{}</Data></Styles><Splits><C1.Win.C1TrueDBGrid.MergeView Name="" AlternatingRowStyle="True" CaptionHeight="17" ColumnCaptionHeight="17" ColumnFooterHeight="17" FilterBar="True" MarqueeStyle="DottedCellBorder" RecordSelectorWidth="16" DefRecSelWidth="16" VerticalScrollGroup="1" HorizontalScrollGroup="1"><Height>222</Height><CaptionStyle parent="Style2" me="Style10" /><EditorStyle parent="Editor" me="Style5" /><EvenRowStyle parent="EvenRow" me="Style8" /><FilterBarStyle parent="FilterBar" me="Style13" /><FilterWatermarkStyle parent="FilterWatermark" me="Style14" /><FooterStyle parent="Footer" me="Style3" /><GroupStyle parent="Group" me="Style12" /><HeadingStyle parent="Heading" me="Style2" /><HighLightRowStyle parent="HighlightRow" me="Style7" /><InactiveStyle parent="Inactive" me="Style4" /><OddRowStyle parent="OddRow" me="Style9" /><RecordSelectorStyle parent="RecordSelector" me="Style11" /><SelectedStyle parent="Selected" me="Style6" /><Style parent="Normal" me="Style1" /><ClientRect>0, 0, 474, 222</ClientRect><BorderSide>0</BorderSide></C1.Win.C1TrueDBGrid.MergeView></Splits><NamedStyles><Style parent="" me="Normal" /><Style parent="Normal" me="Heading" /><Style parent="Heading" me="Footer" /><Style parent="Heading" me="Caption" /><Style parent="Heading" me="Inactive" /><Style parent="Normal" me="Selected" /><Style parent="Normal" me="Editor" /><Style parent="Normal" me="HighlightRow" /><Style parent="Normal" me="EvenRow" /><Style parent="Normal" me="OddRow" /><Style parent="Heading" me="RecordSelector" /><Style parent="Normal" me="FilterBar" /><Style parent="FilterBar" me="FilterWatermark" /><Style parent="Caption" me="Group" /></NamedStyles><vertSplits>1</vertSplits><horzSplits>1</horzSplits><Layout>None</Layout><DefaultRecSelWidth>16</DefaultRecSelWidth><ClientArea>0, 0, 474, 222</ClientArea><PrintPageHeaderStyle parent="" me="Style15" /><PrintPageFooterStyle parent="" me="Style16" /></Blob> + + + 437, 17 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w + LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 + ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAA6 + CAAAAk1TRnQBSQFMAgEBAwEAAQQBAAEEAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo + AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA + AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 + AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA + AWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYCAAFm + AZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHMATMCAAHM + AWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEzAQABZgEA + ATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIzAf8BAAEz + AWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEzAQABMwGZ + AWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZAQABMwLM + AQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFmAQABMwEA + AWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFmATMBmQEA + AWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEzAQABZgGZ + AWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEAAWYBzAH/ + AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZATMBmQEA + AZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFmAgABmQFm + ATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZAcwBAAKZ + Af8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIAAZkB/wEz + AQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHMAQABmQEA + AcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHMAWYCAAHM + AWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZAWYBAAHM + ApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHMAf8CAAHM + Af8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/AQABmQEA + AcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFmATMBAAHM + AmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZAQAB/wGZ + AcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC/wEz + AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm + AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw + AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD/6IADewzAA3sMwAC7AkA + AuwzAALsAwAB7AUAAuwUAAUHAgAFBxMAAuwCAAPsBAAC7BMAAgcKAAIHEgAC7AEABewDAALsEwABBwMA + BgcDAAEHEgAC7AEAAuwBAAPsAgAC7BMAAgcKAAIHEgAC7AEAAewDAAPsAQAC7BQABQcCAAUHEwAC7AYA + AuwBAALsMwAC7AcAAewBAALsMwAC7AkAAuwzAA3sMwAN7FIAAUIBTQE+BwABPgMAASgDAAFAAwABEAMA + AQEBAAEBBQABgBcAA/8BAAb/AgAG/wIAAv8BgAEDAYABAwIAAv8BgAEDAYABAwIAAv8BnwHzAZ8B8wIA + AcEBgwGdAfMBnQHzAgABgAEBAZgB8wGYAfMEAAGQAXMBkAFzAgABEAEIAZIBMwGSATMEAAGXARMBlwET + AgABgAEBAZ8BkwGfAZMCAAHBAYMBnwHTAZ8B0wIAAv8BnwHzAZ8B8wIAAv8BgAEDAYABAwIAAv8BgAED + AYABAwIABv8CAAs= + + + + + iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAADdJREFUKFNjYMAE + /7GIgYWQJXCxURTCFOE1ESSJoQAmiI9GcSayQqzuR3cLVithOvH6DpsisBgAoKoc5C8W7oEAAAAASUVO + RK5CYII= + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj0yLjAuMC4wLCBDdWx0 + dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACRTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5QYWdlU2V0dGluZ3MHAAAAD3ByaW50ZXJTZXR0aW5ncwVjb2xvcglwYXBlclNp + emULcGFwZXJTb3VyY2URcHJpbnRlclJlc29sdXRpb24JbGFuZHNjYXBlB21hcmdpbnMEBAQEBAQEJ1N5 + c3RlbS5EcmF3aW5nLlByaW50aW5nLlByaW50ZXJTZXR0aW5ncwIAAAAgU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuVHJpU3RhdGUCAAAAIVN5c3RlbS5EcmF3aW5nLlByaW50aW5nLlBhcGVyU2l6ZQIAAAAjU3lz + dGVtLkRyYXdpbmcuUHJpbnRpbmcuUGFwZXJTb3VyY2UCAAAAKVN5c3RlbS5EcmF3aW5nLlByaW50aW5n + LlByaW50ZXJSZXNvbHV0aW9uAgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAf + U3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuTWFyZ2lucwIAAAACAAAACQMAAAAF/P///yBTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5UcmlTdGF0ZQEAAAAFdmFsdWUAAgIAAAAACgoKAfv////8////AAkGAAAABQMA + AAAnU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRlclNldHRpbmdzEgAAAAtwcmludGVyTmFtZQpk + cml2ZXJOYW1lCm91dHB1dFBvcnQLcHJpbnRUb0ZpbGUUcHJpbnREaWFsb2dEaXNwbGF5ZWQKZXh0cmFi + eXRlcwlleHRyYWluZm8GY29waWVzBmR1cGxleAdjb2xsYXRlE2RlZmF1bHRQYWdlU2V0dGluZ3MIZnJv + bVBhZ2UGdG9QYWdlB21heFBhZ2UHbWluUGFnZQpwcmludFJhbmdlDGRldm1vZGVieXRlcw1jYWNoZWRE + ZXZtb2RlAQEBAAAABwAEBAQAAAAABAAHAQEHAgceU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuRHVwbGV4 + AgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAkU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuUGFnZVNldHRpbmdzAgAAAAgICAgiU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRSYW5n + ZQIAAAAHAgIAAAAKBgcAAAAACQcAAAAAAAAACv//Bfj///8eU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcu + RHVwbGV4AQAAAAd2YWx1ZV9fAAgCAAAA/////wH3/////P///wAJCgAAAAAAAAAAAAAADycAAAAAAAAF + 9f///yJTeXN0ZW0uRHJhd2luZy5QcmludGluZy5QcmludFJhbmdlAQAAAAd2YWx1ZV9fAAgCAAAAAAAA + AAAACgUGAAAAH1N5c3RlbS5EcmF3aW5nLlByaW50aW5nLk1hcmdpbnMEAAAABGxlZnQFcmlnaHQDdG9w + BmJvdHRvbQAAAAAICAgIAgAAAGQAAABkAAAAZAAAAGQAAAABCgAAAAEAAAAJAwAAAAHz/////P///wAK + CgoB8v////z///8ACQ8AAAABDwAAAAYAAABkAAAAZAAAAGQAAABkAAAACw== + + + + <?xml version="1.0"?><Blob><Styles type="C1.Win.C1TrueDBGrid.Design.ContextWrapper"><Data>Inactive{ForeColor:InactiveCaptionText;BackColor:InactiveCaption;}OddRow{BackColor:224, 224, 224;}Style5{}RecordSelector{AlignImage:Center;}Heading{Wrap:True;AlignVert:Center;Border:Flat,ControlDark,0, 1, 0, 1;ForeColor:ControlText;BackColor:Control;}Style6{}Group{BackColor:ControlDark;Border:None,,0, 0, 0, 0;AlignVert:Center;}Style8{}Footer{}Style13{}FilterWatermark{ForeColor:InfoText;BackColor:Info;}Style12{}HighlightRow{ForeColor:HighlightText;BackColor:Highlight;}Editor{}Style4{}FilterBar{ForeColor:Black;BackColor:255, 255, 192;}EvenRow{BackColor:White;}Style11{}Style16{}Style1{}Caption{AlignHorz:Center;}Selected{ForeColor:HighlightText;BackColor:Highlight;}Style9{}Style2{}Style14{}Normal{}Style7{}Style15{}Style10{AlignHorz:Near;}Style3{}</Data></Styles><Splits><C1.Win.C1TrueDBGrid.MergeView Name="" AlternatingRowStyle="True" CaptionHeight="17" ColumnCaptionHeight="17" ColumnFooterHeight="17" FilterBar="True" MarqueeStyle="DottedCellBorder" RecordSelectorWidth="16" DefRecSelWidth="16" VerticalScrollGroup="1" HorizontalScrollGroup="1"><Height>165</Height><CaptionStyle parent="Style2" me="Style10" /><EditorStyle parent="Editor" me="Style5" /><EvenRowStyle parent="EvenRow" me="Style8" /><FilterBarStyle parent="FilterBar" me="Style13" /><FilterWatermarkStyle parent="FilterWatermark" me="Style14" /><FooterStyle parent="Footer" me="Style3" /><GroupStyle parent="Group" me="Style12" /><HeadingStyle parent="Heading" me="Style2" /><HighLightRowStyle parent="HighlightRow" me="Style7" /><InactiveStyle parent="Inactive" me="Style4" /><OddRowStyle parent="OddRow" me="Style9" /><RecordSelectorStyle parent="RecordSelector" me="Style11" /><SelectedStyle parent="Selected" me="Style6" /><Style parent="Normal" me="Style1" /><ClientRect>0, 0, 945, 165</ClientRect><BorderSide>0</BorderSide></C1.Win.C1TrueDBGrid.MergeView></Splits><NamedStyles><Style parent="" me="Normal" /><Style parent="Normal" me="Heading" /><Style parent="Heading" me="Footer" /><Style parent="Heading" me="Caption" /><Style parent="Heading" me="Inactive" /><Style parent="Normal" me="Selected" /><Style parent="Normal" me="Editor" /><Style parent="Normal" me="HighlightRow" /><Style parent="Normal" me="EvenRow" /><Style parent="Normal" me="OddRow" /><Style parent="Heading" me="RecordSelector" /><Style parent="Normal" me="FilterBar" /><Style parent="FilterBar" me="FilterWatermark" /><Style parent="Caption" me="Group" /></NamedStyles><vertSplits>1</vertSplits><horzSplits>1</horzSplits><Layout>None</Layout><DefaultRecSelWidth>16</DefaultRecSelWidth><ClientArea>0, 0, 945, 165</ClientArea><PrintPageHeaderStyle parent="" me="Style15" /><PrintPageFooterStyle parent="" me="Style16" /></Blob> + + + + AAABAAEAICAEAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP// + AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAACIiIiIiAAAiIiIiIgAAAAAiIiIiIgAAIiIiIiIAAAAiIgAAAAAAAAA + AAAAiIgAAIiIAAAAAAAAAAAAAIiIAACIAAAAiIiIiIiIAAAAiAAAiAAAAIiIiIiIiAAAAIgAAIiIAAAA + AAAAAAAAAIiIAACIiAAAAAAAAAAAAACIiAAAAIiIiIiIAACIiIiIiAAAAACIiIiIiAAAiIiIiIgAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////////// + ////////////////////////8APAD/ADwA/AAAADwAAAAwAAAAAAAAAAAwAAwAMAAMAAAAAAAAAAAMAA + AAPAAAAD8APAD/ADwA///////////////////////////////////////////w== + + + \ No newline at end of file diff --git a/.svn/pristine/b8/b8f5f5348d05a25843c224642943595cc4291055.svn-base b/.svn/pristine/b8/b8f5f5348d05a25843c224642943595cc4291055.svn-base new file mode 100644 index 0000000..ee01eae --- /dev/null +++ b/.svn/pristine/b8/b8f5f5348d05a25843c224642943595cc4291055.svn-base @@ -0,0 +1,178 @@ + _ +Partial Class FrmToolTipEditor + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(FrmToolTipEditor)) + Me.MenuStrip1 = New System.Windows.Forms.MenuStrip + Me.DateiToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem + Me.BeendenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem + Me.ToolStrip1 = New System.Windows.Forms.ToolStrip + Me.TSBtnQuit = New System.Windows.Forms.ToolStripButton + Me.lblFormular = New System.Windows.Forms.Label + Me.txtFormularname = New System.Windows.Forms.TextBox + Me.txtControlname = New System.Windows.Forms.TextBox + Me.lblControl = New System.Windows.Forms.Label + Me.lblToolTip = New System.Windows.Forms.Label + Me.txtToolTip = New System.Windows.Forms.TextBox + Me.btnSave = New System.Windows.Forms.Button + Me.MenuStrip1.SuspendLayout() + Me.ToolStrip1.SuspendLayout() + Me.SuspendLayout() + ' + 'MenuStrip1 + ' + Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DateiToolStripMenuItem}) + Me.MenuStrip1.Location = New System.Drawing.Point(0, 0) + Me.MenuStrip1.Name = "MenuStrip1" + Me.MenuStrip1.Size = New System.Drawing.Size(587, 24) + Me.MenuStrip1.TabIndex = 1 + Me.MenuStrip1.Text = "MenuStrip1" + ' + 'DateiToolStripMenuItem + ' + Me.DateiToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.BeendenToolStripMenuItem}) + Me.DateiToolStripMenuItem.Name = "DateiToolStripMenuItem" + Me.DateiToolStripMenuItem.Size = New System.Drawing.Size(44, 20) + Me.DateiToolStripMenuItem.Text = "&Datei" + ' + 'BeendenToolStripMenuItem + ' + Me.BeendenToolStripMenuItem.Name = "BeendenToolStripMenuItem" + Me.BeendenToolStripMenuItem.Size = New System.Drawing.Size(152, 22) + Me.BeendenToolStripMenuItem.Text = "&Beenden" + ' + 'ToolStrip1 + ' + Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.TSBtnQuit}) + Me.ToolStrip1.Location = New System.Drawing.Point(0, 24) + Me.ToolStrip1.Name = "ToolStrip1" + Me.ToolStrip1.Size = New System.Drawing.Size(587, 25) + Me.ToolStrip1.TabIndex = 2 + Me.ToolStrip1.Text = "ToolStrip1" + ' + 'TSBtnQuit + ' + Me.TSBtnQuit.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnQuit.Image = CType(resources.GetObject("TSBtnQuit.Image"), System.Drawing.Image) + Me.TSBtnQuit.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnQuit.Name = "TSBtnQuit" + Me.TSBtnQuit.Size = New System.Drawing.Size(23, 22) + Me.TSBtnQuit.Text = "Fenster schliessen" + Me.TSBtnQuit.ToolTipText = "Fenster schliessen" + ' + 'lblFormular + ' + Me.lblFormular.AutoSize = True + Me.lblFormular.Location = New System.Drawing.Point(12, 61) + Me.lblFormular.Name = "lblFormular" + Me.lblFormular.Size = New System.Drawing.Size(73, 13) + Me.lblFormular.TabIndex = 3 + Me.lblFormular.Text = "Formularname" + ' + 'txtFormularname + ' + Me.txtFormularname.Location = New System.Drawing.Point(91, 61) + Me.txtFormularname.Name = "txtFormularname" + Me.txtFormularname.Size = New System.Drawing.Size(210, 20) + Me.txtFormularname.TabIndex = 4 + ' + 'txtControlname + ' + Me.txtControlname.Location = New System.Drawing.Point(91, 87) + Me.txtControlname.Name = "txtControlname" + Me.txtControlname.Size = New System.Drawing.Size(210, 20) + Me.txtControlname.TabIndex = 5 + ' + 'lblControl + ' + Me.lblControl.AutoSize = True + Me.lblControl.Location = New System.Drawing.Point(12, 90) + Me.lblControl.Name = "lblControl" + Me.lblControl.Size = New System.Drawing.Size(40, 13) + Me.lblControl.TabIndex = 6 + Me.lblControl.Text = "Control" + ' + 'lblToolTip + ' + Me.lblToolTip.AutoSize = True + Me.lblToolTip.Location = New System.Drawing.Point(12, 126) + Me.lblToolTip.Name = "lblToolTip" + Me.lblToolTip.Size = New System.Drawing.Size(43, 13) + Me.lblToolTip.TabIndex = 7 + Me.lblToolTip.Text = "ToolTip" + ' + 'txtToolTip + ' + Me.txtToolTip.Location = New System.Drawing.Point(91, 119) + Me.txtToolTip.Multiline = True + Me.txtToolTip.Name = "txtToolTip" + Me.txtToolTip.Size = New System.Drawing.Size(474, 75) + Me.txtToolTip.TabIndex = 8 + ' + 'btnSave + ' + Me.btnSave.Location = New System.Drawing.Point(91, 220) + Me.btnSave.Name = "btnSave" + Me.btnSave.Size = New System.Drawing.Size(75, 23) + Me.btnSave.TabIndex = 9 + Me.btnSave.Text = "Speichern" + Me.btnSave.UseVisualStyleBackColor = True + ' + 'FrmToolTipEditor + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(587, 262) + Me.Controls.Add(Me.btnSave) + Me.Controls.Add(Me.txtToolTip) + Me.Controls.Add(Me.lblToolTip) + Me.Controls.Add(Me.lblControl) + Me.Controls.Add(Me.txtControlname) + Me.Controls.Add(Me.txtFormularname) + Me.Controls.Add(Me.lblFormular) + Me.Controls.Add(Me.ToolStrip1) + Me.Controls.Add(Me.MenuStrip1) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.Name = "FrmToolTipEditor" + Me.Text = "ToolTipEditor" + Me.MenuStrip1.ResumeLayout(False) + Me.MenuStrip1.PerformLayout() + Me.ToolStrip1.ResumeLayout(False) + Me.ToolStrip1.PerformLayout() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents MenuStrip1 As System.Windows.Forms.MenuStrip + Friend WithEvents DateiToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents BeendenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStrip1 As System.Windows.Forms.ToolStrip + Friend WithEvents TSBtnQuit As System.Windows.Forms.ToolStripButton + Friend WithEvents lblFormular As System.Windows.Forms.Label + Friend WithEvents txtFormularname As System.Windows.Forms.TextBox + Friend WithEvents txtControlname As System.Windows.Forms.TextBox + Friend WithEvents lblControl As System.Windows.Forms.Label + Friend WithEvents lblToolTip As System.Windows.Forms.Label + Friend WithEvents txtToolTip As System.Windows.Forms.TextBox + Friend WithEvents btnSave As System.Windows.Forms.Button +End Class diff --git a/.svn/pristine/b9/b98a456a2359616c15cff77ebcd14c6231cecda4.svn-base b/.svn/pristine/b9/b98a456a2359616c15cff77ebcd14c6231cecda4.svn-base new file mode 100644 index 0000000..db67f6f --- /dev/null +++ b/.svn/pristine/b9/b98a456a2359616c15cff77ebcd14c6231cecda4.svn-base @@ -0,0 +1,38 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:4.0.30319.269 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + 'NOTE: This file is auto-generated; do not modify it directly. To make changes, + ' or if you encounter build errors in this file, go to the Project Designer + ' (go to Project Properties or double-click the My Project node in + ' Solution Explorer), and make changes on the Application tab. + ' + Partial Friend Class MyApplication + + _ + Public Sub New() + MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows) + Me.IsSingleInstance = false + Me.EnableVisualStyles = true + Me.SaveMySettingsOnExit = true + Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses + End Sub + + _ + Protected Overrides Sub OnCreateMainForm() + Me.MainForm = Global.Themenmanagement.frmMain + End Sub + End Class +End Namespace diff --git a/.svn/pristine/bb/bbd133b4fa3133be85d33cf429e0fde539cda575.svn-base b/.svn/pristine/bb/bbd133b4fa3133be85d33cf429e0fde539cda575.svn-base new file mode 100644 index 0000000..ca803af --- /dev/null +++ b/.svn/pristine/bb/bbd133b4fa3133be85d33cf429e0fde539cda575.svn-base @@ -0,0 +1,3146 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + 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 + c6ovzDcar/WHqNmBFbiGbHs93qV27PzK6Mq6j01Z6bgvwm5DXW+qLr33MERta6P0cy71HabnWJKbiw7v + /Fth/wDpryv/AD/gLcWHd/4tsP8A9NeV/wCf8BJT/9Ti/rUJ+tPWP/D1/wD1ZWfUdjpXsXUf8U/ROodQ + ys+3Ny2WZdz73tYatodYd7ms3UOdtQP/ABnOhf8Ac/N++n/3nTxOgFpi8F028GF1vS3gx8lqVf4pej0m + a+o5w+dH8cZX6P8AF/jUR6fVc4R/4VP/AFWE5PGZb7bb6YAYW8wQ0BYtP1ayaP5rrWe3+xhH/qunI37G + 6j/5e5/+Zg//ACNTJz4l0Y06ySyf2N1H/wAvc/8AzMH/AORqX7G6j/5e5/8AmYP/AMjUxc6ySyf2N1H/ + AMvc/wDzMH/5GpfsbqP/AJe5/wDmYP8A8jUlOsksn9jdR/8AL3P/AMzB/wDkal+xuo/+Xuf/AJmD/wDI + 1JTrJLJ/Y3Uf/L3P/wAzB/8Akal+xuo/+Xuf/mYP/wAjUlOssO7/AMW2H/6a8r/z/gI37G6j/wCXuf8A + 5mD/API1Sw+hnH6k3qWRn5OdkMpfj1i8UNa1ljqrrIbh4uJ7t+PX9NJT/9n/7RScUGhvdG9zaG9wIDMu + MAA4QklNBCUAAAAAABAAAAAAAAAAAAAAAAAAAAAAOEJJTQPtAAAAAAAQAEgAAAABAAIASAAAAAEAAjhC + SU0EJgAAAAAADgAAAAAAAAAAAAA/gAAAOEJJTQQNAAAAAAAEAAAAeDhCSU0EGQAAAAAABAAAAB44QklN + A/MAAAAAAAkAAAAAAAAAAAEAOEJJTQQKAAAAAAABAAA4QklNJxAAAAAAAAoAAQAAAAAAAAACOEJJTQP1 + AAAAAABIAC9mZgABAGxmZgAGAAAAAAABAC9mZgABAKGZmgAGAAAAAAABADIAAAABAFoAAAAGAAAAAAAB + ADUAAAABAC0AAAAGAAAAAAABOEJJTQP4AAAAAABwAAD/////////////////////////////A+gAAAAA + /////////////////////////////wPoAAAAAP////////////////////////////8D6AAAAAD///// + ////////////////////////A+gAADhCSU0EAAAAAAAAAgALOEJJTQQCAAAAAAAcAAAAAAAAAAIAAgAC + AAIAAgACAAIAAgAAAAAAADhCSU0ECAAAAAAAEAAAAAEAAAJAAAACQAAAAAA4QklNBB4AAAAAAAQAAAAA + OEJJTQQaAAAAAANJAAAABgAAAAAAAAAAAAABXgAAAdQAAAAKAFMAcABsAGEAcwBjAGgAXwBWAFYAAAAB + AAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAdQAAAFeAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAA + AAAAAAAAAAAAAAAAEAAAAAEAAAAAAABudWxsAAAAAgAAAAZib3VuZHNPYmpjAAAAAQAAAAAAAFJjdDEA + AAAEAAAAAFRvcCBsb25nAAAAAAAAAABMZWZ0bG9uZwAAAAAAAAAAQnRvbWxvbmcAAAFeAAAAAFJnaHRs + b25nAAAB1AAAAAZzbGljZXNWbExzAAAAAU9iamMAAAABAAAAAAAFc2xpY2UAAAASAAAAB3NsaWNlSURs + b25nAAAAAAAAAAdncm91cElEbG9uZwAAAAAAAAAGb3JpZ2luZW51bQAAAAxFU2xpY2VPcmlnaW4AAAAN + YXV0b0dlbmVyYXRlZAAAAABUeXBlZW51bQAAAApFU2xpY2VUeXBlAAAAAEltZyAAAAAGYm91bmRzT2Jq + YwAAAAEAAAAAAABSY3QxAAAABAAAAABUb3AgbG9uZwAAAAAAAAAATGVmdGxvbmcAAAAAAAAAAEJ0b21s + b25nAAABXgAAAABSZ2h0bG9uZwAAAdQAAAADdXJsVEVYVAAAAAEAAAAAAABudWxsVEVYVAAAAAEAAAAA + AABNc2dlVEVYVAAAAAEAAAAAAAZhbHRUYWdURVhUAAAAAQAAAAAADmNlbGxUZXh0SXNIVE1MYm9vbAEA + AAAIY2VsbFRleHRURVhUAAAAAQAAAAAACWhvcnpBbGlnbmVudW0AAAAPRVNsaWNlSG9yekFsaWduAAAA + B2RlZmF1bHQAAAAJdmVydEFsaWduZW51bQAAAA9FU2xpY2VWZXJ0QWxpZ24AAAAHZGVmYXVsdAAAAAti + Z0NvbG9yVHlwZWVudW0AAAARRVNsaWNlQkdDb2xvclR5cGUAAAAATm9uZQAAAAl0b3BPdXRzZXRsb25n + AAAAAAAAAApsZWZ0T3V0c2V0bG9uZwAAAAAAAAAMYm90dG9tT3V0c2V0bG9uZwAAAAAAAAALcmlnaHRP + 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 + 6j/5e5/+Zg//ACNTJz4l0Y06ySyf2N1H/wAvc/8AzMH/AORqX7G6j/5e5/8AmYP/AMjUxc6ySyf2N1H/ + AMvc/wDzMH/5GpfsbqP/AJe5/wDmYP8A8jUlOsksn9jdR/8AL3P/AMzB/wDkal+xuo/+Xuf/AJmD/wDI + 1JTrJLJ/Y3Uf/L3P/wAzB/8Akal+xuo/+Xuf/mYP/wAjUlOssO7/AMW2H/6a8r/z/gI37G6j/wCXuf8A + 5mD/API1Sw+hnH6k3qWRn5OdkMpfj1i8UNa1ljqrrIbh4uJ7t+PX9NJT/9k4QklNBCEAAAAAAFUAAAAB + AQAAAA8AQQBkAG8AYgBlACAAUABoAG8AdABvAHMAaABvAHAAAAATAEEAZABvAGIAZQAgAFAAaABvAHQA + bwBzAGgAbwBwACAANwAuADAAAAABADhCSU0EBgAAAAAABwAIAQEAAwEA/+ESSGh0dHA6Ly9ucy5hZG9i + ZS5jb20veGFwLzEuMC8APD94cGFja2V0IGJlZ2luPSfvu78nIGlkPSdXNU0wTXBDZWhpSHpyZVN6TlRj + emtjOWQnPz4KPD9hZG9iZS14YXAtZmlsdGVycyBlc2M9IkNSIj8+Cjx4OnhhcG1ldGEgeG1sbnM6eD0n + YWRvYmU6bnM6bWV0YS8nIHg6eGFwdGs9J1hNUCB0b29sa2l0IDIuOC4yLTMzLCBmcmFtZXdvcmsgMS41 + Jz4KPHJkZjpSREYgeG1sbnM6cmRmPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50 + YXgtbnMjJyB4bWxuczppWD0naHR0cDovL25zLmFkb2JlLmNvbS9pWC8xLjAvJz4KCiA8cmRmOkRlc2Ny + aXB0aW9uIGFib3V0PSd1dWlkOjRkOTc2ZmQ3LTBiZDMtMTFkZS1hZTFiLWZiNWQ3NDVjN2JhNycKICB4 + bWxuczp4YXBNTT0naHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyc+CiAgPHhhcE1NOkRvY3Vt + ZW50SUQ+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjgwOGU5NmFiLTBiZDAtMTFkZS1hZTFiLWZiNWQ3NDVj + N2JhNzwveGFwTU06RG9jdW1lbnRJRD4KIDwvcmRmOkRlc2NyaXB0aW9uPgoKPC9yZGY6UkRGPgo8L3g6 + eGFwbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAog + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9J3cnPz7/7gAmQWRvYmUAZEAAAAAB + AwAVBAMGCg0AAAAAAAAAAAAAAAAAAAAA/9sAQwABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB + AQEBAQEBAQEBAQEBAgICAgICAgICAgIDAwMDAwMDAwMD/9sAQwEBAQEBAQEBAQEBAgIBAgIDAwMDAwMD + AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD/8AAEQgBXgHUAwERAAIRAQMR + Af/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAE + EQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElK + U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrC + 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 + AUAFABQAUAFABQB//9k= + + + + + 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 + c6ovzDcar/WHqNmBFbiGbHs93qV27PzK6Mq6j01Z6bgvwm5DXW+qLr33MERta6P0cy71HabnWJKbiw7v + /Fth/wDpryv/AD/gLcWHd/4tsP8A9NeV/wCf8BJT/9Ti/rUJ+tPWP/D1/wD1ZWfUdjpXsXUf8U/ROodQ + ys+3Ny2WZdz73tYatodYd7ms3UOdtQP/ABnOhf8Ac/N++n/3nTxOgFpi8F028GF1vS3gx8lqVf4pej0m + a+o5w+dH8cZX6P8AF/jUR6fVc4R/4VP/AFWE5PGZb7bb6YAYW8wQ0BYtP1ayaP5rrWe3+xhH/qunI37G + 6j/5e5/+Zg//ACNTJz4l0Y06ySyf2N1H/wAvc/8AzMH/AORqX7G6j/5e5/8AmYP/AMjUxc6ySyf2N1H/ + AMvc/wDzMH/5GpfsbqP/AJe5/wDmYP8A8jUlOsksn9jdR/8AL3P/AMzB/wDkal+xuo/+Xuf/AJmD/wDI + 1JTrJLJ/Y3Uf/L3P/wAzB/8Akal+xuo/+Xuf/mYP/wAjUlOssO7/AMW2H/6a8r/z/gI37G6j/wCXuf8A + 5mD/API1Sw+hnH6k3qWRn5OdkMpfj1i8UNa1ljqrrIbh4uJ7t+PX9NJT/9n/7RScUGhvdG9zaG9wIDMu + MAA4QklNBCUAAAAAABAAAAAAAAAAAAAAAAAAAAAAOEJJTQPtAAAAAAAQAEgAAAABAAIASAAAAAEAAjhC + SU0EJgAAAAAADgAAAAAAAAAAAAA/gAAAOEJJTQQNAAAAAAAEAAAAeDhCSU0EGQAAAAAABAAAAB44QklN + A/MAAAAAAAkAAAAAAAAAAAEAOEJJTQQKAAAAAAABAAA4QklNJxAAAAAAAAoAAQAAAAAAAAACOEJJTQP1 + AAAAAABIAC9mZgABAGxmZgAGAAAAAAABAC9mZgABAKGZmgAGAAAAAAABADIAAAABAFoAAAAGAAAAAAAB + ADUAAAABAC0AAAAGAAAAAAABOEJJTQP4AAAAAABwAAD/////////////////////////////A+gAAAAA + /////////////////////////////wPoAAAAAP////////////////////////////8D6AAAAAD///// + ////////////////////////A+gAADhCSU0EAAAAAAAAAgALOEJJTQQCAAAAAAAcAAAAAAAAAAIAAgAC + AAIAAgACAAIAAgAAAAAAADhCSU0ECAAAAAAAEAAAAAEAAAJAAAACQAAAAAA4QklNBB4AAAAAAAQAAAAA + OEJJTQQaAAAAAANJAAAABgAAAAAAAAAAAAABXgAAAdQAAAAKAFMAcABsAGEAcwBjAGgAXwBWAFYAAAAB + AAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAdQAAAFeAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAA + AAAAAAAAAAAAAAAAEAAAAAEAAAAAAABudWxsAAAAAgAAAAZib3VuZHNPYmpjAAAAAQAAAAAAAFJjdDEA + AAAEAAAAAFRvcCBsb25nAAAAAAAAAABMZWZ0bG9uZwAAAAAAAAAAQnRvbWxvbmcAAAFeAAAAAFJnaHRs + b25nAAAB1AAAAAZzbGljZXNWbExzAAAAAU9iamMAAAABAAAAAAAFc2xpY2UAAAASAAAAB3NsaWNlSURs + b25nAAAAAAAAAAdncm91cElEbG9uZwAAAAAAAAAGb3JpZ2luZW51bQAAAAxFU2xpY2VPcmlnaW4AAAAN + YXV0b0dlbmVyYXRlZAAAAABUeXBlZW51bQAAAApFU2xpY2VUeXBlAAAAAEltZyAAAAAGYm91bmRzT2Jq + YwAAAAEAAAAAAABSY3QxAAAABAAAAABUb3AgbG9uZwAAAAAAAAAATGVmdGxvbmcAAAAAAAAAAEJ0b21s + b25nAAABXgAAAABSZ2h0bG9uZwAAAdQAAAADdXJsVEVYVAAAAAEAAAAAAABudWxsVEVYVAAAAAEAAAAA + AABNc2dlVEVYVAAAAAEAAAAAAAZhbHRUYWdURVhUAAAAAQAAAAAADmNlbGxUZXh0SXNIVE1MYm9vbAEA + AAAIY2VsbFRleHRURVhUAAAAAQAAAAAACWhvcnpBbGlnbmVudW0AAAAPRVNsaWNlSG9yekFsaWduAAAA + B2RlZmF1bHQAAAAJdmVydEFsaWduZW51bQAAAA9FU2xpY2VWZXJ0QWxpZ24AAAAHZGVmYXVsdAAAAAti + Z0NvbG9yVHlwZWVudW0AAAARRVNsaWNlQkdDb2xvclR5cGUAAAAATm9uZQAAAAl0b3BPdXRzZXRsb25n + AAAAAAAAAApsZWZ0T3V0c2V0bG9uZwAAAAAAAAAMYm90dG9tT3V0c2V0bG9uZwAAAAAAAAALcmlnaHRP + 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 + 6j/5e5/+Zg//ACNTJz4l0Y06ySyf2N1H/wAvc/8AzMH/AORqX7G6j/5e5/8AmYP/AMjUxc6ySyf2N1H/ + AMvc/wDzMH/5GpfsbqP/AJe5/wDmYP8A8jUlOsksn9jdR/8AL3P/AMzB/wDkal+xuo/+Xuf/AJmD/wDI + 1JTrJLJ/Y3Uf/L3P/wAzB/8Akal+xuo/+Xuf/mYP/wAjUlOssO7/AMW2H/6a8r/z/gI37G6j/wCXuf8A + 5mD/API1Sw+hnH6k3qWRn5OdkMpfj1i8UNa1ljqrrIbh4uJ7t+PX9NJT/9k4QklNBCEAAAAAAFUAAAAB + AQAAAA8AQQBkAG8AYgBlACAAUABoAG8AdABvAHMAaABvAHAAAAATAEEAZABvAGIAZQAgAFAAaABvAHQA + bwBzAGgAbwBwACAANwAuADAAAAABADhCSU0EBgAAAAAABwAIAQEAAwEA/+ESSGh0dHA6Ly9ucy5hZG9i + ZS5jb20veGFwLzEuMC8APD94cGFja2V0IGJlZ2luPSfvu78nIGlkPSdXNU0wTXBDZWhpSHpyZVN6TlRj + emtjOWQnPz4KPD9hZG9iZS14YXAtZmlsdGVycyBlc2M9IkNSIj8+Cjx4OnhhcG1ldGEgeG1sbnM6eD0n + YWRvYmU6bnM6bWV0YS8nIHg6eGFwdGs9J1hNUCB0b29sa2l0IDIuOC4yLTMzLCBmcmFtZXdvcmsgMS41 + Jz4KPHJkZjpSREYgeG1sbnM6cmRmPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50 + YXgtbnMjJyB4bWxuczppWD0naHR0cDovL25zLmFkb2JlLmNvbS9pWC8xLjAvJz4KCiA8cmRmOkRlc2Ny + aXB0aW9uIGFib3V0PSd1dWlkOjRkOTc2ZmQ3LTBiZDMtMTFkZS1hZTFiLWZiNWQ3NDVjN2JhNycKICB4 + bWxuczp4YXBNTT0naHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyc+CiAgPHhhcE1NOkRvY3Vt + ZW50SUQ+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjgwOGU5NmFiLTBiZDAtMTFkZS1hZTFiLWZiNWQ3NDVj + N2JhNzwveGFwTU06RG9jdW1lbnRJRD4KIDwvcmRmOkRlc2NyaXB0aW9uPgoKPC9yZGY6UkRGPgo8L3g6 + eGFwbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAog + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9J3cnPz7/7gAmQWRvYmUAZEAAAAAB + AwAVBAMGCg0AAAAAAAAAAAAAAAAAAAAA/9sAQwABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB + AQEBAQEBAQEBAQEBAgICAgICAgICAgIDAwMDAwMDAwMD/9sAQwEBAQEBAQEBAQEBAgIBAgIDAwMDAwMD + AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD/8AAEQgBXgHUAwERAAIRAQMR + Af/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAE + EQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElK + U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrC + 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 + AUAFABQAUAFABQB//9k= + + + + 17, 17 + + \ No newline at end of file diff --git a/.svn/pristine/bc/bc662c94c5351a95b3e6f4d7e93ae85d4affa4b7.svn-base b/.svn/pristine/bc/bc662c94c5351a95b3e6f4d7e93ae85d4affa4b7.svn-base new file mode 100644 index 0000000..37af84d --- /dev/null +++ b/.svn/pristine/bc/bc662c94c5351a95b3e6f4d7e93ae85d4affa4b7.svn-base @@ -0,0 +1,2384 @@ + _ +Partial Class frmDetail + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmDetail)) + Dim TreeNode1 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Eintrag1") + Dim TreeNode2 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Eintrag2") + Me.ToolStrip1 = New System.Windows.Forms.ToolStrip() + Me.TSBtnQuit = New System.Windows.Forms.ToolStripButton() + Me.TSBtnSave = New System.Windows.Forms.ToolStripButton() + Me.ToolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator() + Me.TSBtnCopy = New System.Windows.Forms.ToolStripButton() + Me.TSBtnNew = New System.Windows.Forms.ToolStripButton() + Me.TSBtnDelete = New System.Windows.Forms.ToolStripButton() + Me.MenuStrip1 = New System.Windows.Forms.MenuStrip() + Me.DateiToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.CheckBox1 = New System.Windows.Forms.CheckBox() + Me.Label11 = New System.Windows.Forms.Label() + Me.TextBox5 = New System.Windows.Forms.TextBox() + Me.Label9 = New System.Windows.Forms.Label() + Me.TextBox4 = New System.Windows.Forms.TextBox() + Me.Label8 = New System.Windows.Forms.Label() + Me.Label7 = New System.Windows.Forms.Label() + Me.DateTimePicker2 = New System.Windows.Forms.DateTimePicker() + Me.DateTimePicker1 = New System.Windows.Forms.DateTimePicker() + Me.Label6 = New System.Windows.Forms.Label() + Me.TextBox1 = New System.Windows.Forms.TextBox() + Me.TextBox3 = New System.Windows.Forms.TextBox() + Me.Label1 = New System.Windows.Forms.Label() + Me.Label3 = New System.Windows.Forms.Label() + Me.Label2 = New System.Windows.Forms.Label() + Me.TextBox2 = New System.Windows.Forms.TextBox() + Me.TabControl1 = New System.Windows.Forms.TabControl() + Me.TabPage5 = New System.Windows.Forms.TabPage() + Me.GroupBox5 = New System.Windows.Forms.GroupBox() + Me.C1TrueDBGrid1 = New C1.Win.C1TrueDBGrid.C1TrueDBGrid() + Me.ToolStrip2 = New System.Windows.Forms.ToolStrip() + Me.ToolStripButton4 = New System.Windows.Forms.ToolStripButton() + Me.ToolStripButton5 = New System.Windows.Forms.ToolStripButton() + Me.GroupBox4 = New System.Windows.Forms.GroupBox() + Me.TextBox7 = New System.Windows.Forms.TextBox() + Me.Label5 = New System.Windows.Forms.Label() + Me.ComboBox3 = New System.Windows.Forms.ComboBox() + Me.Label4 = New System.Windows.Forms.Label() + Me.GroupBox7 = New System.Windows.Forms.GroupBox() + Me.C1TrueDBGrid5 = New C1.Win.C1TrueDBGrid.C1TrueDBGrid() + Me.TabPage3 = New System.Windows.Forms.TabPage() + Me.Panel1 = New System.Windows.Forms.Panel() + Me.ToolStrip9 = New System.Windows.Forms.ToolStrip() + Me.ToolStripButton24 = New System.Windows.Forms.ToolStripButton() + Me.ToolStripButton25 = New System.Windows.Forms.ToolStripButton() + Me.Panel2 = New System.Windows.Forms.Panel() + Me.rtbDoc = New ExtendedRichTextBox.RichTextBoxPrintCtrl() + Me.ToolStrip3 = New System.Windows.Forms.ToolStrip() + Me.ToolStripButton1 = New System.Windows.Forms.ToolStripButton() + Me.tbrSave = New System.Windows.Forms.ToolStripButton() + Me.tbrNew = New System.Windows.Forms.ToolStripButton() + Me.tbrOpen = New System.Windows.Forms.ToolStripButton() + Me.ToolStripSeparator2 = New System.Windows.Forms.ToolStripSeparator() + Me.tbrFont = New System.Windows.Forms.ToolStripButton() + Me.ToolStripSeparator4 = New System.Windows.Forms.ToolStripSeparator() + Me.tbrLeft = New System.Windows.Forms.ToolStripButton() + Me.tbrCenter = New System.Windows.Forms.ToolStripButton() + Me.tbrRight = New System.Windows.Forms.ToolStripButton() + Me.ToolStripSeparator3 = New System.Windows.Forms.ToolStripSeparator() + Me.tbrBold = New System.Windows.Forms.ToolStripButton() + Me.tbrItalic = New System.Windows.Forms.ToolStripButton() + Me.tbrUnderline = New System.Windows.Forms.ToolStripButton() + Me.ToolStripSeparator7 = New System.Windows.Forms.ToolStripSeparator() + Me.tbrFind = New System.Windows.Forms.ToolStripButton() + Me.MenuStrip2 = New System.Windows.Forms.MenuStrip() + Me.FileToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.NewToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem1 = New System.Windows.Forms.ToolStripSeparator() + Me.OpenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.SaveToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.SaveAsToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem2 = New System.Windows.Forms.ToolStripSeparator() + Me.mnuPageSetup = New System.Windows.Forms.ToolStripMenuItem() + Me.PreviewToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.PrintToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem3 = New System.Windows.Forms.ToolStripSeparator() + Me.ExitToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.EditToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.mnuUndo = New System.Windows.Forms.ToolStripMenuItem() + Me.mnuRedo = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator6 = New System.Windows.Forms.ToolStripSeparator() + Me.FindToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.FindAndReplaceToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem4 = New System.Windows.Forms.ToolStripSeparator() + Me.SelectAllToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem5 = New System.Windows.Forms.ToolStripSeparator() + Me.CopyToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.CutToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.PasteToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem8 = New System.Windows.Forms.ToolStripSeparator() + Me.InsertImageToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.FontToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.SelectFontToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem6 = New System.Windows.Forms.ToolStripSeparator() + Me.FontColorToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator5 = New System.Windows.Forms.ToolStripSeparator() + Me.BoldToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ItalicToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.UnderlineToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.NormalToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem7 = New System.Windows.Forms.ToolStripSeparator() + Me.PageColorToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ParagraphToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.IndentToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.mnuIndent0 = New System.Windows.Forms.ToolStripMenuItem() + Me.mnuIndent5 = New System.Windows.Forms.ToolStripMenuItem() + Me.mnuIndent10 = New System.Windows.Forms.ToolStripMenuItem() + Me.mnuIndent15 = New System.Windows.Forms.ToolStripMenuItem() + Me.mnuIndent20 = New System.Windows.Forms.ToolStripMenuItem() + Me.mnuAlign = New System.Windows.Forms.ToolStripMenuItem() + Me.LeftToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.CenterToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.RightToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.BulletsToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.AddBulletsToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.RemoveBulletsToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.GroupBox6 = New System.Windows.Forms.GroupBox() + Me.TreeView2 = New System.Windows.Forms.TreeView() + Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.ÜbersichtToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.AllesToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStrip8 = New System.Windows.Forms.ToolStrip() + Me.ToolStripButton22 = New System.Windows.Forms.ToolStripButton() + Me.ToolStripButton23 = New System.Windows.Forms.ToolStripButton() + Me.TabPage4 = New System.Windows.Forms.TabPage() + Me.SplitContainer1 = New System.Windows.Forms.SplitContainer() + Me.GroupBox2 = New System.Windows.Forms.GroupBox() + Me.TreeView1 = New System.Windows.Forms.TreeView() + Me.CheckedListBox1 = New System.Windows.Forms.CheckedListBox() + Me.Label12 = New System.Windows.Forms.Label() + Me.TextBox6 = New System.Windows.Forms.TextBox() + Me.Label10 = New System.Windows.Forms.Label() + Me.GroupBox3 = New System.Windows.Forms.GroupBox() + Me.C1TrueDBGrid2 = New C1.Win.C1TrueDBGrid.C1TrueDBGrid() + Me.ToolStrip5 = New System.Windows.Forms.ToolStrip() + Me.ToolStripButton6 = New System.Windows.Forms.ToolStripButton() + Me.ToolStripButton7 = New System.Windows.Forms.ToolStripButton() + Me.ToolStrip4 = New System.Windows.Forms.ToolStrip() + Me.ToolStripButton2 = New System.Windows.Forms.ToolStripButton() + Me.ToolStripButton3 = New System.Windows.Forms.ToolStripButton() + Me.TabPage6 = New System.Windows.Forms.TabPage() + Me.C1TrueDBGrid4 = New C1.Win.C1TrueDBGrid.C1TrueDBGrid() + Me.TabPage1 = New System.Windows.Forms.TabPage() + Me.C1TrueDBGrid3 = New C1.Win.C1TrueDBGrid.C1TrueDBGrid() + Me.ToolStrip7 = New System.Windows.Forms.ToolStrip() + Me.ToolStripButton20 = New System.Windows.Forms.ToolStripButton() + Me.ToolStripButton21 = New System.Windows.Forms.ToolStripButton() + Me.TabControl2 = New System.Windows.Forms.TabControl() + Me.TabPage2 = New System.Windows.Forms.TabPage() + Me.TabPage7 = New System.Windows.Forms.TabPage() + Me.Panel3 = New System.Windows.Forms.Panel() + Me.SplitContainer2 = New System.Windows.Forms.SplitContainer() + Me.RichTextBoxPrintCtrl1 = New ExtendedRichTextBox.RichTextBoxPrintCtrl() + Me.ToolStrip6 = New System.Windows.Forms.ToolStrip() + Me.ToolStripButton8 = New System.Windows.Forms.ToolStripButton() + Me.ToolStripButton9 = New System.Windows.Forms.ToolStripButton() + Me.ToolStripButton10 = New System.Windows.Forms.ToolStripButton() + Me.ToolStripButton11 = New System.Windows.Forms.ToolStripButton() + Me.ToolStripSeparator8 = New System.Windows.Forms.ToolStripSeparator() + Me.ToolStripButton12 = New System.Windows.Forms.ToolStripButton() + Me.ToolStripSeparator9 = New System.Windows.Forms.ToolStripSeparator() + Me.ToolStripButton13 = New System.Windows.Forms.ToolStripButton() + Me.ToolStripButton14 = New System.Windows.Forms.ToolStripButton() + Me.ToolStripButton15 = New System.Windows.Forms.ToolStripButton() + Me.ToolStripSeparator10 = New System.Windows.Forms.ToolStripSeparator() + Me.ToolStripButton16 = New System.Windows.Forms.ToolStripButton() + Me.ToolStripButton17 = New System.Windows.Forms.ToolStripButton() + Me.ToolStripButton18 = New System.Windows.Forms.ToolStripButton() + Me.ToolStripSeparator11 = New System.Windows.Forms.ToolStripSeparator() + Me.ToolStripButton19 = New System.Windows.Forms.ToolStripButton() + Me.MenuStrip3 = New System.Windows.Forms.MenuStrip() + Me.ToolStripMenuItem9 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem10 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator12 = New System.Windows.Forms.ToolStripSeparator() + Me.ToolStripMenuItem11 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem12 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem13 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator13 = New System.Windows.Forms.ToolStripSeparator() + Me.ToolStripMenuItem14 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem15 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem16 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator14 = New System.Windows.Forms.ToolStripSeparator() + Me.ToolStripMenuItem17 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem18 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem19 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem20 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator15 = New System.Windows.Forms.ToolStripSeparator() + Me.ToolStripMenuItem21 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem22 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator16 = New System.Windows.Forms.ToolStripSeparator() + Me.ToolStripMenuItem23 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator17 = New System.Windows.Forms.ToolStripSeparator() + Me.ToolStripMenuItem24 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem25 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem26 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator18 = New System.Windows.Forms.ToolStripSeparator() + Me.ToolStripMenuItem27 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem28 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem29 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator19 = New System.Windows.Forms.ToolStripSeparator() + Me.ToolStripMenuItem30 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator20 = New System.Windows.Forms.ToolStripSeparator() + Me.ToolStripMenuItem31 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem32 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem33 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem34 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripSeparator21 = New System.Windows.Forms.ToolStripSeparator() + Me.ToolStripMenuItem35 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem36 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem37 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem38 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem39 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem40 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem41 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem42 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem43 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem44 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem45 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem46 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem47 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem48 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem49 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStrip1.SuspendLayout() + Me.MenuStrip1.SuspendLayout() + Me.TabControl1.SuspendLayout() + Me.TabPage5.SuspendLayout() + Me.GroupBox5.SuspendLayout() + CType(Me.C1TrueDBGrid1, System.ComponentModel.ISupportInitialize).BeginInit() + Me.ToolStrip2.SuspendLayout() + Me.GroupBox4.SuspendLayout() + Me.GroupBox7.SuspendLayout() + CType(Me.C1TrueDBGrid5, System.ComponentModel.ISupportInitialize).BeginInit() + Me.TabPage3.SuspendLayout() + Me.Panel1.SuspendLayout() + Me.ToolStrip9.SuspendLayout() + Me.Panel2.SuspendLayout() + Me.ToolStrip3.SuspendLayout() + Me.MenuStrip2.SuspendLayout() + Me.GroupBox6.SuspendLayout() + Me.ContextMenuStrip1.SuspendLayout() + Me.ToolStrip8.SuspendLayout() + Me.TabPage4.SuspendLayout() + CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SplitContainer1.Panel1.SuspendLayout() + Me.SplitContainer1.Panel2.SuspendLayout() + Me.SplitContainer1.SuspendLayout() + Me.GroupBox2.SuspendLayout() + Me.GroupBox3.SuspendLayout() + CType(Me.C1TrueDBGrid2, System.ComponentModel.ISupportInitialize).BeginInit() + Me.ToolStrip5.SuspendLayout() + Me.ToolStrip4.SuspendLayout() + Me.TabPage6.SuspendLayout() + CType(Me.C1TrueDBGrid4, System.ComponentModel.ISupportInitialize).BeginInit() + Me.TabPage1.SuspendLayout() + CType(Me.C1TrueDBGrid3, System.ComponentModel.ISupportInitialize).BeginInit() + Me.ToolStrip7.SuspendLayout() + Me.TabControl2.SuspendLayout() + Me.TabPage2.SuspendLayout() + Me.Panel3.SuspendLayout() + CType(Me.SplitContainer2, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SplitContainer2.Panel1.SuspendLayout() + Me.SplitContainer2.Panel2.SuspendLayout() + Me.SplitContainer2.SuspendLayout() + Me.ToolStrip6.SuspendLayout() + Me.MenuStrip3.SuspendLayout() + Me.SuspendLayout() + ' + 'ToolStrip1 + ' + Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.TSBtnQuit, Me.TSBtnSave, Me.ToolStripSeparator1, Me.TSBtnCopy, Me.TSBtnNew, Me.TSBtnDelete}) + Me.ToolStrip1.Location = New System.Drawing.Point(0, 24) + Me.ToolStrip1.Name = "ToolStrip1" + Me.ToolStrip1.Size = New System.Drawing.Size(1178, 25) + Me.ToolStrip1.TabIndex = 4 + Me.ToolStrip1.Text = "ToolStrip1" + ' + 'TSBtnQuit + ' + Me.TSBtnQuit.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnQuit.Image = CType(resources.GetObject("TSBtnQuit.Image"), System.Drawing.Image) + Me.TSBtnQuit.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnQuit.Name = "TSBtnQuit" + Me.TSBtnQuit.Size = New System.Drawing.Size(23, 22) + Me.TSBtnQuit.Text = "ToolStripButton1" + Me.TSBtnQuit.ToolTipText = "Anwendung beenden" + ' + 'TSBtnSave + ' + Me.TSBtnSave.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnSave.Image = CType(resources.GetObject("TSBtnSave.Image"), System.Drawing.Image) + Me.TSBtnSave.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnSave.Name = "TSBtnSave" + Me.TSBtnSave.Size = New System.Drawing.Size(23, 22) + Me.TSBtnSave.Text = "ToolStripButton1" + Me.TSBtnSave.ToolTipText = "Daten speichern" + ' + 'ToolStripSeparator1 + ' + Me.ToolStripSeparator1.Name = "ToolStripSeparator1" + Me.ToolStripSeparator1.Size = New System.Drawing.Size(6, 25) + ' + 'TSBtnCopy + ' + Me.TSBtnCopy.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnCopy.Image = CType(resources.GetObject("TSBtnCopy.Image"), System.Drawing.Image) + Me.TSBtnCopy.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnCopy.Name = "TSBtnCopy" + Me.TSBtnCopy.Size = New System.Drawing.Size(23, 22) + Me.TSBtnCopy.Text = "ToolStripButton2" + Me.TSBtnCopy.ToolTipText = "Datensatz kopieren" + ' + 'TSBtnNew + ' + Me.TSBtnNew.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnNew.Image = CType(resources.GetObject("TSBtnNew.Image"), System.Drawing.Image) + Me.TSBtnNew.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnNew.Name = "TSBtnNew" + Me.TSBtnNew.Size = New System.Drawing.Size(23, 22) + Me.TSBtnNew.Text = "Neuer Datensatz" + Me.TSBtnNew.ToolTipText = "Neuer Datensatz" + ' + 'TSBtnDelete + ' + Me.TSBtnDelete.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnDelete.Image = CType(resources.GetObject("TSBtnDelete.Image"), System.Drawing.Image) + Me.TSBtnDelete.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnDelete.Name = "TSBtnDelete" + Me.TSBtnDelete.Size = New System.Drawing.Size(23, 22) + Me.TSBtnDelete.Text = "Datensatz inaktivieren" + Me.TSBtnDelete.ToolTipText = "Datensatz inaktivieren" + ' + 'MenuStrip1 + ' + Me.MenuStrip1.AllowMerge = False + Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DateiToolStripMenuItem}) + Me.MenuStrip1.Location = New System.Drawing.Point(0, 0) + Me.MenuStrip1.Name = "MenuStrip1" + Me.MenuStrip1.Size = New System.Drawing.Size(1178, 24) + Me.MenuStrip1.TabIndex = 3 + Me.MenuStrip1.Text = "MenuStrip1" + ' + 'DateiToolStripMenuItem + ' + Me.DateiToolStripMenuItem.Name = "DateiToolStripMenuItem" + Me.DateiToolStripMenuItem.Size = New System.Drawing.Size(46, 20) + Me.DateiToolStripMenuItem.Text = "&Datei" + ' + 'CheckBox1 + ' + Me.CheckBox1.AutoSize = True + Me.CheckBox1.Location = New System.Drawing.Point(87, 242) + Me.CheckBox1.Name = "CheckBox1" + Me.CheckBox1.Size = New System.Drawing.Size(15, 14) + Me.CheckBox1.TabIndex = 22 + Me.CheckBox1.UseVisualStyleBackColor = True + ' + 'Label11 + ' + Me.Label11.AutoSize = True + Me.Label11.Location = New System.Drawing.Point(15, 242) + Me.Label11.Name = "Label11" + Me.Label11.Size = New System.Drawing.Size(31, 13) + Me.Label11.TabIndex = 21 + Me.Label11.Text = "Aktiv" + ' + 'TextBox5 + ' + Me.TextBox5.Location = New System.Drawing.Point(87, 292) + Me.TextBox5.Name = "TextBox5" + Me.TextBox5.Size = New System.Drawing.Size(91, 20) + Me.TextBox5.TabIndex = 18 + ' + 'Label9 + ' + Me.Label9.AutoSize = True + Me.Label9.Location = New System.Drawing.Point(15, 295) + Me.Label9.Name = "Label9" + Me.Label9.Size = New System.Drawing.Size(56, 13) + Me.Label9.TabIndex = 17 + Me.Label9.Text = "Mutiert am" + ' + 'TextBox4 + ' + Me.TextBox4.Location = New System.Drawing.Point(87, 266) + Me.TextBox4.Name = "TextBox4" + Me.TextBox4.Size = New System.Drawing.Size(91, 20) + Me.TextBox4.TabIndex = 16 + ' + 'Label8 + ' + Me.Label8.AutoSize = True + Me.Label8.Location = New System.Drawing.Point(15, 269) + Me.Label8.Name = "Label8" + Me.Label8.Size = New System.Drawing.Size(55, 13) + Me.Label8.TabIndex = 15 + Me.Label8.Text = "Erstellt am" + ' + 'Label7 + ' + Me.Label7.AutoSize = True + Me.Label7.Location = New System.Drawing.Point(215, 218) + Me.Label7.Name = "Label7" + Me.Label7.Size = New System.Drawing.Size(20, 13) + Me.Label7.TabIndex = 14 + Me.Label7.Text = "bis" + ' + 'DateTimePicker2 + ' + Me.DateTimePicker2.Format = System.Windows.Forms.DateTimePickerFormat.[Short] + Me.DateTimePicker2.Location = New System.Drawing.Point(241, 216) + Me.DateTimePicker2.Name = "DateTimePicker2" + Me.DateTimePicker2.Size = New System.Drawing.Size(91, 20) + Me.DateTimePicker2.TabIndex = 13 + ' + 'DateTimePicker1 + ' + Me.DateTimePicker1.Format = System.Windows.Forms.DateTimePickerFormat.[Short] + Me.DateTimePicker1.Location = New System.Drawing.Point(87, 216) + Me.DateTimePicker1.Name = "DateTimePicker1" + Me.DateTimePicker1.Size = New System.Drawing.Size(91, 20) + Me.DateTimePicker1.TabIndex = 12 + ' + 'Label6 + ' + Me.Label6.AutoSize = True + Me.Label6.Location = New System.Drawing.Point(15, 219) + Me.Label6.Name = "Label6" + Me.Label6.Size = New System.Drawing.Size(49, 13) + Me.Label6.TabIndex = 11 + Me.Label6.Text = "Gültig ab" + ' + 'TextBox1 + ' + Me.TextBox1.Location = New System.Drawing.Point(87, 19) + Me.TextBox1.Name = "TextBox1" + Me.TextBox1.Size = New System.Drawing.Size(245, 20) + Me.TextBox1.TabIndex = 6 + ' + 'TextBox3 + ' + Me.TextBox3.Location = New System.Drawing.Point(87, 143) + Me.TextBox3.Multiline = True + Me.TextBox3.Name = "TextBox3" + Me.TextBox3.Size = New System.Drawing.Size(245, 66) + Me.TextBox3.TabIndex = 10 + ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.Location = New System.Drawing.Point(15, 22) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(27, 13) + Me.Label1.TabIndex = 5 + Me.Label1.Text = "Titel" + ' + 'Label3 + ' + Me.Label3.AutoSize = True + Me.Label3.Location = New System.Drawing.Point(15, 145) + Me.Label3.Name = "Label3" + Me.Label3.Size = New System.Drawing.Size(67, 13) + Me.Label3.TabIndex = 9 + Me.Label3.Text = "Suchbegriffe" + ' + 'Label2 + ' + Me.Label2.AutoSize = True + Me.Label2.Location = New System.Drawing.Point(15, 73) + Me.Label2.Name = "Label2" + Me.Label2.Size = New System.Drawing.Size(72, 13) + Me.Label2.TabIndex = 7 + Me.Label2.Text = "Beschreibung" + ' + 'TextBox2 + ' + Me.TextBox2.Location = New System.Drawing.Point(87, 71) + Me.TextBox2.Multiline = True + Me.TextBox2.Name = "TextBox2" + Me.TextBox2.Size = New System.Drawing.Size(245, 66) + Me.TextBox2.TabIndex = 8 + ' + 'TabControl1 + ' + Me.TabControl1.Controls.Add(Me.TabPage5) + Me.TabControl1.Controls.Add(Me.TabPage3) + Me.TabControl1.Controls.Add(Me.TabPage4) + Me.TabControl1.Controls.Add(Me.TabPage6) + Me.TabControl1.Controls.Add(Me.TabPage1) + Me.TabControl1.Dock = System.Windows.Forms.DockStyle.Fill + Me.TabControl1.Location = New System.Drawing.Point(0, 49) + Me.TabControl1.Name = "TabControl1" + Me.TabControl1.SelectedIndex = 0 + Me.TabControl1.Size = New System.Drawing.Size(1178, 542) + Me.TabControl1.TabIndex = 13 + ' + 'TabPage5 + ' + Me.TabPage5.BackColor = System.Drawing.SystemColors.Control + Me.TabPage5.Controls.Add(Me.GroupBox5) + Me.TabPage5.Controls.Add(Me.GroupBox4) + Me.TabPage5.Controls.Add(Me.GroupBox7) + Me.TabPage5.Location = New System.Drawing.Point(4, 22) + Me.TabPage5.Name = "TabPage5" + Me.TabPage5.Size = New System.Drawing.Size(996, 476) + Me.TabPage5.TabIndex = 4 + Me.TabPage5.Text = "Allgemein" + ' + 'GroupBox5 + ' + Me.GroupBox5.Controls.Add(Me.C1TrueDBGrid1) + Me.GroupBox5.Controls.Add(Me.ToolStrip2) + Me.GroupBox5.Dock = System.Windows.Forms.DockStyle.Fill + Me.GroupBox5.Location = New System.Drawing.Point(348, 0) + Me.GroupBox5.Name = "GroupBox5" + Me.GroupBox5.Size = New System.Drawing.Size(648, 344) + Me.GroupBox5.TabIndex = 28 + Me.GroupBox5.TabStop = False + Me.GroupBox5.Text = "Dokumente" + ' + 'C1TrueDBGrid1 + ' + Me.C1TrueDBGrid1.Dock = System.Windows.Forms.DockStyle.Fill + Me.C1TrueDBGrid1.Location = New System.Drawing.Point(3, 41) + Me.C1TrueDBGrid1.Name = "C1TrueDBGrid1" + Me.C1TrueDBGrid1.PreviewInfo.Location = New System.Drawing.Point(0, 0) + Me.C1TrueDBGrid1.PreviewInfo.Size = New System.Drawing.Size(0, 0) + Me.C1TrueDBGrid1.PreviewInfo.ZoomFactor = 75.0R + Me.C1TrueDBGrid1.PrintInfo.PageSettings = CType(resources.GetObject("C1TrueDBGrid1.PrintInfo.PageSettings"), System.Drawing.Printing.PageSettings) + Me.C1TrueDBGrid1.PropBag = resources.GetString("C1TrueDBGrid1.PropBag") + Me.C1TrueDBGrid1.Size = New System.Drawing.Size(642, 300) + Me.C1TrueDBGrid1.TabIndex = 8 + Me.C1TrueDBGrid1.Text = "C1TrueDBGrid1" + ' + 'ToolStrip2 + ' + Me.ToolStrip2.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripButton4, Me.ToolStripButton5}) + Me.ToolStrip2.Location = New System.Drawing.Point(3, 16) + Me.ToolStrip2.Name = "ToolStrip2" + Me.ToolStrip2.Size = New System.Drawing.Size(642, 25) + Me.ToolStrip2.TabIndex = 7 + Me.ToolStrip2.Text = "ToolStrip2" + ' + 'ToolStripButton4 + ' + Me.ToolStripButton4.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton4.Image = CType(resources.GetObject("ToolStripButton4.Image"), System.Drawing.Image) + Me.ToolStripButton4.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton4.Name = "ToolStripButton4" + Me.ToolStripButton4.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton4.Text = "Neuer Datensatz" + Me.ToolStripButton4.ToolTipText = "Neuer Datensatz" + ' + 'ToolStripButton5 + ' + Me.ToolStripButton5.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton5.Image = CType(resources.GetObject("ToolStripButton5.Image"), System.Drawing.Image) + Me.ToolStripButton5.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton5.Name = "ToolStripButton5" + Me.ToolStripButton5.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton5.Text = "Datensatz inaktivieren" + Me.ToolStripButton5.ToolTipText = "Datensatz inaktivieren" + ' + 'GroupBox4 + ' + Me.GroupBox4.Controls.Add(Me.TextBox1) + Me.GroupBox4.Controls.Add(Me.TextBox7) + Me.GroupBox4.Controls.Add(Me.DateTimePicker2) + Me.GroupBox4.Controls.Add(Me.Label5) + Me.GroupBox4.Controls.Add(Me.Label7) + Me.GroupBox4.Controls.Add(Me.ComboBox3) + Me.GroupBox4.Controls.Add(Me.DateTimePicker1) + Me.GroupBox4.Controls.Add(Me.Label4) + Me.GroupBox4.Controls.Add(Me.Label8) + Me.GroupBox4.Controls.Add(Me.CheckBox1) + Me.GroupBox4.Controls.Add(Me.Label6) + Me.GroupBox4.Controls.Add(Me.Label1) + Me.GroupBox4.Controls.Add(Me.TextBox4) + Me.GroupBox4.Controls.Add(Me.Label11) + Me.GroupBox4.Controls.Add(Me.Label9) + Me.GroupBox4.Controls.Add(Me.TextBox2) + Me.GroupBox4.Controls.Add(Me.TextBox3) + Me.GroupBox4.Controls.Add(Me.Label2) + Me.GroupBox4.Controls.Add(Me.TextBox5) + Me.GroupBox4.Controls.Add(Me.Label3) + Me.GroupBox4.Dock = System.Windows.Forms.DockStyle.Left + Me.GroupBox4.Location = New System.Drawing.Point(0, 0) + Me.GroupBox4.Name = "GroupBox4" + Me.GroupBox4.Size = New System.Drawing.Size(348, 344) + Me.GroupBox4.TabIndex = 27 + Me.GroupBox4.TabStop = False + Me.GroupBox4.Text = "Thema" + ' + 'TextBox7 + ' + Me.TextBox7.Location = New System.Drawing.Point(87, 318) + Me.TextBox7.Name = "TextBox7" + Me.TextBox7.Size = New System.Drawing.Size(91, 20) + Me.TextBox7.TabIndex = 26 + ' + 'Label5 + ' + Me.Label5.AutoSize = True + Me.Label5.Location = New System.Drawing.Point(15, 321) + Me.Label5.Name = "Label5" + Me.Label5.Size = New System.Drawing.Size(69, 13) + Me.Label5.TabIndex = 25 + Me.Label5.Text = "Mutiert durch" + ' + 'ComboBox3 + ' + Me.ComboBox3.FormattingEnabled = True + Me.ComboBox3.Location = New System.Drawing.Point(87, 44) + Me.ComboBox3.Name = "ComboBox3" + Me.ComboBox3.Size = New System.Drawing.Size(245, 21) + Me.ComboBox3.TabIndex = 24 + ' + 'Label4 + ' + Me.Label4.AutoSize = True + Me.Label4.Location = New System.Drawing.Point(15, 49) + Me.Label4.Name = "Label4" + Me.Label4.Size = New System.Drawing.Size(52, 13) + Me.Label4.TabIndex = 23 + Me.Label4.Text = "Kategorie" + ' + 'GroupBox7 + ' + Me.GroupBox7.Controls.Add(Me.C1TrueDBGrid5) + Me.GroupBox7.Dock = System.Windows.Forms.DockStyle.Bottom + Me.GroupBox7.Location = New System.Drawing.Point(0, 344) + Me.GroupBox7.Name = "GroupBox7" + Me.GroupBox7.Size = New System.Drawing.Size(996, 132) + Me.GroupBox7.TabIndex = 29 + Me.GroupBox7.TabStop = False + Me.GroupBox7.Text = "Beteiligte Personen" + ' + 'C1TrueDBGrid5 + ' + Me.C1TrueDBGrid5.Dock = System.Windows.Forms.DockStyle.Fill + Me.C1TrueDBGrid5.Location = New System.Drawing.Point(3, 16) + Me.C1TrueDBGrid5.Name = "C1TrueDBGrid5" + Me.C1TrueDBGrid5.PreviewInfo.Location = New System.Drawing.Point(0, 0) + Me.C1TrueDBGrid5.PreviewInfo.Size = New System.Drawing.Size(0, 0) + Me.C1TrueDBGrid5.PreviewInfo.ZoomFactor = 75.0R + Me.C1TrueDBGrid5.PrintInfo.PageSettings = CType(resources.GetObject("C1TrueDBGrid5.PrintInfo.PageSettings"), System.Drawing.Printing.PageSettings) + Me.C1TrueDBGrid5.PropBag = resources.GetString("C1TrueDBGrid5.PropBag") + Me.C1TrueDBGrid5.Size = New System.Drawing.Size(990, 113) + Me.C1TrueDBGrid5.TabIndex = 9 + Me.C1TrueDBGrid5.Text = "C1TrueDBGrid5" + ' + 'TabPage3 + ' + Me.TabPage3.BackColor = System.Drawing.SystemColors.Control + Me.TabPage3.Controls.Add(Me.Panel1) + Me.TabPage3.Controls.Add(Me.Panel2) + Me.TabPage3.Controls.Add(Me.GroupBox6) + Me.TabPage3.Location = New System.Drawing.Point(4, 22) + Me.TabPage3.Name = "TabPage3" + Me.TabPage3.Size = New System.Drawing.Size(1170, 516) + Me.TabPage3.TabIndex = 2 + Me.TabPage3.Text = "Entwicklung" + ' + 'Panel1 + ' + Me.Panel1.AutoScroll = True + Me.Panel1.Controls.Add(Me.ToolStrip9) + Me.Panel1.Location = New System.Drawing.Point(330, 217) + Me.Panel1.Name = "Panel1" + Me.Panel1.Size = New System.Drawing.Size(589, 229) + Me.Panel1.TabIndex = 5 + ' + 'ToolStrip9 + ' + Me.ToolStrip9.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripButton24, Me.ToolStripButton25}) + Me.ToolStrip9.Location = New System.Drawing.Point(0, 0) + Me.ToolStrip9.Name = "ToolStrip9" + Me.ToolStrip9.Size = New System.Drawing.Size(589, 25) + Me.ToolStrip9.TabIndex = 0 + Me.ToolStrip9.Text = "ToolStrip9" + ' + 'ToolStripButton24 + ' + Me.ToolStripButton24.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton24.Image = CType(resources.GetObject("ToolStripButton24.Image"), System.Drawing.Image) + Me.ToolStripButton24.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton24.Name = "ToolStripButton24" + Me.ToolStripButton24.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton24.Text = "Speichern" + ' + 'ToolStripButton25 + ' + Me.ToolStripButton25.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton25.Image = CType(resources.GetObject("ToolStripButton25.Image"), System.Drawing.Image) + Me.ToolStripButton25.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton25.Name = "ToolStripButton25" + Me.ToolStripButton25.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton25.Text = "ToolStripButton25" + ' + 'Panel2 + ' + Me.Panel2.Controls.Add(Me.rtbDoc) + Me.Panel2.Controls.Add(Me.ToolStrip3) + Me.Panel2.Controls.Add(Me.MenuStrip2) + Me.Panel2.Location = New System.Drawing.Point(248, 16) + Me.Panel2.Name = "Panel2" + Me.Panel2.Size = New System.Drawing.Size(564, 179) + Me.Panel2.TabIndex = 5 + ' + 'rtbDoc + ' + Me.rtbDoc.Dock = System.Windows.Forms.DockStyle.Fill + Me.rtbDoc.Location = New System.Drawing.Point(0, 49) + Me.rtbDoc.Name = "rtbDoc" + Me.rtbDoc.Size = New System.Drawing.Size(564, 130) + Me.rtbDoc.TabIndex = 3 + Me.rtbDoc.Text = "" + ' + 'ToolStrip3 + ' + Me.ToolStrip3.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripButton1, Me.tbrSave, Me.tbrNew, Me.tbrOpen, Me.ToolStripSeparator2, Me.tbrFont, Me.ToolStripSeparator4, Me.tbrLeft, Me.tbrCenter, Me.tbrRight, Me.ToolStripSeparator3, Me.tbrBold, Me.tbrItalic, Me.tbrUnderline, Me.ToolStripSeparator7, Me.tbrFind}) + Me.ToolStrip3.Location = New System.Drawing.Point(0, 24) + Me.ToolStrip3.Name = "ToolStrip3" + Me.ToolStrip3.Size = New System.Drawing.Size(564, 25) + Me.ToolStrip3.TabIndex = 2 + Me.ToolStrip3.Text = "ToolStrip3" + ' + 'ToolStripButton1 + ' + Me.ToolStripButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton1.Image = CType(resources.GetObject("ToolStripButton1.Image"), System.Drawing.Image) + Me.ToolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton1.Name = "ToolStripButton1" + Me.ToolStripButton1.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton1.Text = "Fenster schliessen" + Me.ToolStripButton1.ToolTipText = "Fenster schliessen" + ' + 'tbrSave + ' + Me.tbrSave.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tbrSave.Image = CType(resources.GetObject("tbrSave.Image"), System.Drawing.Image) + Me.tbrSave.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tbrSave.Name = "tbrSave" + Me.tbrSave.Size = New System.Drawing.Size(23, 22) + Me.tbrSave.Text = "Speichern" + ' + 'tbrNew + ' + Me.tbrNew.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tbrNew.Image = CType(resources.GetObject("tbrNew.Image"), System.Drawing.Image) + Me.tbrNew.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tbrNew.Name = "tbrNew" + Me.tbrNew.Size = New System.Drawing.Size(23, 22) + Me.tbrNew.Text = "New" + Me.tbrNew.Visible = False + ' + 'tbrOpen + ' + Me.tbrOpen.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tbrOpen.Image = CType(resources.GetObject("tbrOpen.Image"), System.Drawing.Image) + Me.tbrOpen.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tbrOpen.Name = "tbrOpen" + Me.tbrOpen.Size = New System.Drawing.Size(23, 22) + Me.tbrOpen.Text = "Open" + Me.tbrOpen.Visible = False + ' + 'ToolStripSeparator2 + ' + Me.ToolStripSeparator2.Name = "ToolStripSeparator2" + Me.ToolStripSeparator2.Size = New System.Drawing.Size(6, 25) + ' + 'tbrFont + ' + Me.tbrFont.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tbrFont.Image = CType(resources.GetObject("tbrFont.Image"), System.Drawing.Image) + Me.tbrFont.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tbrFont.Name = "tbrFont" + Me.tbrFont.Size = New System.Drawing.Size(23, 22) + Me.tbrFont.Text = "Schrift" + ' + 'ToolStripSeparator4 + ' + Me.ToolStripSeparator4.Name = "ToolStripSeparator4" + Me.ToolStripSeparator4.Size = New System.Drawing.Size(6, 25) + ' + 'tbrLeft + ' + Me.tbrLeft.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tbrLeft.Image = CType(resources.GetObject("tbrLeft.Image"), System.Drawing.Image) + Me.tbrLeft.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tbrLeft.Name = "tbrLeft" + Me.tbrLeft.Size = New System.Drawing.Size(23, 22) + Me.tbrLeft.Text = "Linksbündig" + ' + 'tbrCenter + ' + Me.tbrCenter.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tbrCenter.Image = CType(resources.GetObject("tbrCenter.Image"), System.Drawing.Image) + Me.tbrCenter.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tbrCenter.Name = "tbrCenter" + Me.tbrCenter.Size = New System.Drawing.Size(23, 22) + Me.tbrCenter.Text = "Zentriert" + ' + 'tbrRight + ' + Me.tbrRight.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tbrRight.Image = CType(resources.GetObject("tbrRight.Image"), System.Drawing.Image) + Me.tbrRight.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tbrRight.Name = "tbrRight" + Me.tbrRight.Size = New System.Drawing.Size(23, 22) + Me.tbrRight.Text = "Rechtsbündig" + ' + 'ToolStripSeparator3 + ' + Me.ToolStripSeparator3.Name = "ToolStripSeparator3" + Me.ToolStripSeparator3.Size = New System.Drawing.Size(6, 25) + ' + 'tbrBold + ' + Me.tbrBold.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tbrBold.Image = CType(resources.GetObject("tbrBold.Image"), System.Drawing.Image) + Me.tbrBold.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tbrBold.Name = "tbrBold" + Me.tbrBold.Size = New System.Drawing.Size(23, 22) + Me.tbrBold.Text = "Fett" + ' + 'tbrItalic + ' + Me.tbrItalic.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tbrItalic.Image = CType(resources.GetObject("tbrItalic.Image"), System.Drawing.Image) + Me.tbrItalic.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tbrItalic.Name = "tbrItalic" + Me.tbrItalic.Size = New System.Drawing.Size(23, 22) + Me.tbrItalic.Text = "Kursiv" + ' + 'tbrUnderline + ' + Me.tbrUnderline.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tbrUnderline.Image = CType(resources.GetObject("tbrUnderline.Image"), System.Drawing.Image) + Me.tbrUnderline.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tbrUnderline.Name = "tbrUnderline" + Me.tbrUnderline.Size = New System.Drawing.Size(23, 22) + Me.tbrUnderline.Text = "Unterstrichen" + ' + 'ToolStripSeparator7 + ' + Me.ToolStripSeparator7.Name = "ToolStripSeparator7" + Me.ToolStripSeparator7.Size = New System.Drawing.Size(6, 25) + ' + 'tbrFind + ' + Me.tbrFind.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tbrFind.Image = CType(resources.GetObject("tbrFind.Image"), System.Drawing.Image) + Me.tbrFind.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tbrFind.Name = "tbrFind" + Me.tbrFind.Size = New System.Drawing.Size(23, 22) + Me.tbrFind.Text = "Suchen" + ' + 'MenuStrip2 + ' + Me.MenuStrip2.AllowMerge = False + Me.MenuStrip2.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.FileToolStripMenuItem, Me.EditToolStripMenuItem, Me.FontToolStripMenuItem, Me.ParagraphToolStripMenuItem, Me.BulletsToolStripMenuItem}) + Me.MenuStrip2.Location = New System.Drawing.Point(0, 0) + Me.MenuStrip2.Name = "MenuStrip2" + Me.MenuStrip2.Size = New System.Drawing.Size(564, 24) + Me.MenuStrip2.TabIndex = 1 + Me.MenuStrip2.Text = "MenuStrip2" + ' + 'FileToolStripMenuItem + ' + Me.FileToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.NewToolStripMenuItem, Me.ToolStripMenuItem1, Me.OpenToolStripMenuItem, Me.SaveToolStripMenuItem, Me.SaveAsToolStripMenuItem, Me.ToolStripMenuItem2, Me.mnuPageSetup, Me.PreviewToolStripMenuItem, Me.PrintToolStripMenuItem, Me.ToolStripMenuItem3, Me.ExitToolStripMenuItem}) + Me.FileToolStripMenuItem.Name = "FileToolStripMenuItem" + Me.FileToolStripMenuItem.Size = New System.Drawing.Size(37, 20) + Me.FileToolStripMenuItem.Text = "&File" + Me.FileToolStripMenuItem.Visible = False + ' + 'NewToolStripMenuItem + ' + Me.NewToolStripMenuItem.Image = CType(resources.GetObject("NewToolStripMenuItem.Image"), System.Drawing.Image) + Me.NewToolStripMenuItem.Name = "NewToolStripMenuItem" + Me.NewToolStripMenuItem.Size = New System.Drawing.Size(142, 22) + Me.NewToolStripMenuItem.Text = "&New" + ' + 'ToolStripMenuItem1 + ' + Me.ToolStripMenuItem1.Name = "ToolStripMenuItem1" + Me.ToolStripMenuItem1.Size = New System.Drawing.Size(139, 6) + ' + 'OpenToolStripMenuItem + ' + Me.OpenToolStripMenuItem.Image = CType(resources.GetObject("OpenToolStripMenuItem.Image"), System.Drawing.Image) + Me.OpenToolStripMenuItem.Name = "OpenToolStripMenuItem" + Me.OpenToolStripMenuItem.Size = New System.Drawing.Size(142, 22) + Me.OpenToolStripMenuItem.Text = "&Open..." + ' + 'SaveToolStripMenuItem + ' + Me.SaveToolStripMenuItem.Image = CType(resources.GetObject("SaveToolStripMenuItem.Image"), System.Drawing.Image) + Me.SaveToolStripMenuItem.Name = "SaveToolStripMenuItem" + Me.SaveToolStripMenuItem.Size = New System.Drawing.Size(142, 22) + Me.SaveToolStripMenuItem.Text = "&Save..." + ' + 'SaveAsToolStripMenuItem + ' + Me.SaveAsToolStripMenuItem.Name = "SaveAsToolStripMenuItem" + Me.SaveAsToolStripMenuItem.Size = New System.Drawing.Size(142, 22) + Me.SaveAsToolStripMenuItem.Text = "Save &As..." + ' + 'ToolStripMenuItem2 + ' + Me.ToolStripMenuItem2.Name = "ToolStripMenuItem2" + Me.ToolStripMenuItem2.Size = New System.Drawing.Size(139, 6) + ' + 'mnuPageSetup + ' + Me.mnuPageSetup.Name = "mnuPageSetup" + Me.mnuPageSetup.Size = New System.Drawing.Size(142, 22) + Me.mnuPageSetup.Text = "Page Setup..." + ' + 'PreviewToolStripMenuItem + ' + Me.PreviewToolStripMenuItem.Name = "PreviewToolStripMenuItem" + Me.PreviewToolStripMenuItem.Size = New System.Drawing.Size(142, 22) + Me.PreviewToolStripMenuItem.Text = "Pre&view..." + ' + 'PrintToolStripMenuItem + ' + Me.PrintToolStripMenuItem.Image = CType(resources.GetObject("PrintToolStripMenuItem.Image"), System.Drawing.Image) + Me.PrintToolStripMenuItem.Name = "PrintToolStripMenuItem" + Me.PrintToolStripMenuItem.Size = New System.Drawing.Size(142, 22) + Me.PrintToolStripMenuItem.Text = "&Print..." + ' + 'ToolStripMenuItem3 + ' + Me.ToolStripMenuItem3.Name = "ToolStripMenuItem3" + Me.ToolStripMenuItem3.Size = New System.Drawing.Size(139, 6) + ' + 'ExitToolStripMenuItem + ' + Me.ExitToolStripMenuItem.Name = "ExitToolStripMenuItem" + Me.ExitToolStripMenuItem.Size = New System.Drawing.Size(142, 22) + Me.ExitToolStripMenuItem.Text = "E&xit" + ' + 'EditToolStripMenuItem + ' + Me.EditToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.mnuUndo, Me.mnuRedo, Me.ToolStripSeparator6, Me.FindToolStripMenuItem, Me.FindAndReplaceToolStripMenuItem, Me.ToolStripMenuItem4, Me.SelectAllToolStripMenuItem, Me.ToolStripMenuItem5, Me.CopyToolStripMenuItem, Me.CutToolStripMenuItem, Me.PasteToolStripMenuItem, Me.ToolStripMenuItem8, Me.InsertImageToolStripMenuItem}) + Me.EditToolStripMenuItem.Name = "EditToolStripMenuItem" + Me.EditToolStripMenuItem.Size = New System.Drawing.Size(75, 20) + Me.EditToolStripMenuItem.Text = "&Bearbeiten" + ' + 'mnuUndo + ' + Me.mnuUndo.Image = CType(resources.GetObject("mnuUndo.Image"), System.Drawing.Image) + Me.mnuUndo.Name = "mnuUndo" + Me.mnuUndo.Size = New System.Drawing.Size(183, 22) + Me.mnuUndo.Text = "&Zurück" + ' + 'mnuRedo + ' + Me.mnuRedo.Image = CType(resources.GetObject("mnuRedo.Image"), System.Drawing.Image) + Me.mnuRedo.Name = "mnuRedo" + Me.mnuRedo.Size = New System.Drawing.Size(183, 22) + Me.mnuRedo.Text = "&Wieder herstellen" + ' + 'ToolStripSeparator6 + ' + Me.ToolStripSeparator6.Name = "ToolStripSeparator6" + Me.ToolStripSeparator6.Size = New System.Drawing.Size(180, 6) + ' + 'FindToolStripMenuItem + ' + Me.FindToolStripMenuItem.Image = CType(resources.GetObject("FindToolStripMenuItem.Image"), System.Drawing.Image) + Me.FindToolStripMenuItem.Name = "FindToolStripMenuItem" + Me.FindToolStripMenuItem.Size = New System.Drawing.Size(183, 22) + Me.FindToolStripMenuItem.Text = "&Suchen" + ' + 'FindAndReplaceToolStripMenuItem + ' + Me.FindAndReplaceToolStripMenuItem.Image = CType(resources.GetObject("FindAndReplaceToolStripMenuItem.Image"), System.Drawing.Image) + Me.FindAndReplaceToolStripMenuItem.Name = "FindAndReplaceToolStripMenuItem" + Me.FindAndReplaceToolStripMenuItem.Size = New System.Drawing.Size(183, 22) + Me.FindAndReplaceToolStripMenuItem.Text = "Suchen &und ersetzen" + ' + 'ToolStripMenuItem4 + ' + Me.ToolStripMenuItem4.Name = "ToolStripMenuItem4" + Me.ToolStripMenuItem4.Size = New System.Drawing.Size(180, 6) + ' + 'SelectAllToolStripMenuItem + ' + Me.SelectAllToolStripMenuItem.Name = "SelectAllToolStripMenuItem" + Me.SelectAllToolStripMenuItem.Size = New System.Drawing.Size(183, 22) + Me.SelectAllToolStripMenuItem.Text = "&Alles markieren" + ' + 'ToolStripMenuItem5 + ' + Me.ToolStripMenuItem5.Name = "ToolStripMenuItem5" + Me.ToolStripMenuItem5.Size = New System.Drawing.Size(180, 6) + ' + 'CopyToolStripMenuItem + ' + Me.CopyToolStripMenuItem.Image = CType(resources.GetObject("CopyToolStripMenuItem.Image"), System.Drawing.Image) + Me.CopyToolStripMenuItem.Name = "CopyToolStripMenuItem" + Me.CopyToolStripMenuItem.Size = New System.Drawing.Size(183, 22) + Me.CopyToolStripMenuItem.Text = "&Kopieren" + ' + 'CutToolStripMenuItem + ' + Me.CutToolStripMenuItem.Image = CType(resources.GetObject("CutToolStripMenuItem.Image"), System.Drawing.Image) + Me.CutToolStripMenuItem.Name = "CutToolStripMenuItem" + Me.CutToolStripMenuItem.Size = New System.Drawing.Size(183, 22) + Me.CutToolStripMenuItem.Text = "A&usschneiden" + ' + 'PasteToolStripMenuItem + ' + Me.PasteToolStripMenuItem.Image = CType(resources.GetObject("PasteToolStripMenuItem.Image"), System.Drawing.Image) + Me.PasteToolStripMenuItem.Name = "PasteToolStripMenuItem" + Me.PasteToolStripMenuItem.Size = New System.Drawing.Size(183, 22) + Me.PasteToolStripMenuItem.Text = "&Einfügen" + ' + 'ToolStripMenuItem8 + ' + Me.ToolStripMenuItem8.Name = "ToolStripMenuItem8" + Me.ToolStripMenuItem8.Size = New System.Drawing.Size(180, 6) + ' + 'InsertImageToolStripMenuItem + ' + Me.InsertImageToolStripMenuItem.Name = "InsertImageToolStripMenuItem" + Me.InsertImageToolStripMenuItem.Size = New System.Drawing.Size(183, 22) + Me.InsertImageToolStripMenuItem.Text = "Insert Image..." + Me.InsertImageToolStripMenuItem.Visible = False + ' + 'FontToolStripMenuItem + ' + Me.FontToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.SelectFontToolStripMenuItem, Me.ToolStripMenuItem6, Me.FontColorToolStripMenuItem, Me.ToolStripSeparator5, Me.BoldToolStripMenuItem, Me.ItalicToolStripMenuItem, Me.UnderlineToolStripMenuItem, Me.NormalToolStripMenuItem, Me.ToolStripMenuItem7, Me.PageColorToolStripMenuItem}) + Me.FontToolStripMenuItem.Name = "FontToolStripMenuItem" + Me.FontToolStripMenuItem.Size = New System.Drawing.Size(53, 20) + Me.FontToolStripMenuItem.Text = "S&chrift" + ' + 'SelectFontToolStripMenuItem + ' + Me.SelectFontToolStripMenuItem.Image = CType(resources.GetObject("SelectFontToolStripMenuItem.Image"), System.Drawing.Image) + Me.SelectFontToolStripMenuItem.Name = "SelectFontToolStripMenuItem" + Me.SelectFontToolStripMenuItem.Size = New System.Drawing.Size(160, 22) + Me.SelectFontToolStripMenuItem.Text = "Schriftauswahl..." + ' + 'ToolStripMenuItem6 + ' + Me.ToolStripMenuItem6.Name = "ToolStripMenuItem6" + Me.ToolStripMenuItem6.Size = New System.Drawing.Size(157, 6) + ' + 'FontColorToolStripMenuItem + ' + Me.FontColorToolStripMenuItem.Name = "FontColorToolStripMenuItem" + Me.FontColorToolStripMenuItem.Size = New System.Drawing.Size(160, 22) + Me.FontColorToolStripMenuItem.Text = "Schrift&farbe" + ' + 'ToolStripSeparator5 + ' + Me.ToolStripSeparator5.Name = "ToolStripSeparator5" + Me.ToolStripSeparator5.Size = New System.Drawing.Size(157, 6) + ' + 'BoldToolStripMenuItem + ' + Me.BoldToolStripMenuItem.Image = CType(resources.GetObject("BoldToolStripMenuItem.Image"), System.Drawing.Image) + Me.BoldToolStripMenuItem.Name = "BoldToolStripMenuItem" + Me.BoldToolStripMenuItem.Size = New System.Drawing.Size(160, 22) + Me.BoldToolStripMenuItem.Text = "F&ett" + ' + 'ItalicToolStripMenuItem + ' + Me.ItalicToolStripMenuItem.Image = CType(resources.GetObject("ItalicToolStripMenuItem.Image"), System.Drawing.Image) + Me.ItalicToolStripMenuItem.Name = "ItalicToolStripMenuItem" + Me.ItalicToolStripMenuItem.Size = New System.Drawing.Size(160, 22) + Me.ItalicToolStripMenuItem.Text = "&Kursiv" + ' + 'UnderlineToolStripMenuItem + ' + Me.UnderlineToolStripMenuItem.Image = CType(resources.GetObject("UnderlineToolStripMenuItem.Image"), System.Drawing.Image) + Me.UnderlineToolStripMenuItem.Name = "UnderlineToolStripMenuItem" + Me.UnderlineToolStripMenuItem.Size = New System.Drawing.Size(160, 22) + Me.UnderlineToolStripMenuItem.Text = "&Unterstrichen" + ' + 'NormalToolStripMenuItem + ' + Me.NormalToolStripMenuItem.Name = "NormalToolStripMenuItem" + Me.NormalToolStripMenuItem.Size = New System.Drawing.Size(160, 22) + Me.NormalToolStripMenuItem.Text = "&Normal" + ' + 'ToolStripMenuItem7 + ' + Me.ToolStripMenuItem7.Name = "ToolStripMenuItem7" + Me.ToolStripMenuItem7.Size = New System.Drawing.Size(157, 6) + ' + 'PageColorToolStripMenuItem + ' + Me.PageColorToolStripMenuItem.Name = "PageColorToolStripMenuItem" + Me.PageColorToolStripMenuItem.Size = New System.Drawing.Size(160, 22) + Me.PageColorToolStripMenuItem.Text = "&Page Color..." + Me.PageColorToolStripMenuItem.Visible = False + ' + 'ParagraphToolStripMenuItem + ' + Me.ParagraphToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.IndentToolStripMenuItem, Me.mnuAlign}) + Me.ParagraphToolStripMenuItem.Name = "ParagraphToolStripMenuItem" + Me.ParagraphToolStripMenuItem.Size = New System.Drawing.Size(73, 20) + Me.ParagraphToolStripMenuItem.Text = "P&aragraph" + Me.ParagraphToolStripMenuItem.Visible = False + ' + 'IndentToolStripMenuItem + ' + Me.IndentToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.mnuIndent0, Me.mnuIndent5, Me.mnuIndent10, Me.mnuIndent15, Me.mnuIndent20}) + Me.IndentToolStripMenuItem.Name = "IndentToolStripMenuItem" + Me.IndentToolStripMenuItem.Size = New System.Drawing.Size(108, 22) + Me.IndentToolStripMenuItem.Text = "&Indent" + Me.IndentToolStripMenuItem.Visible = False + ' + 'mnuIndent0 + ' + Me.mnuIndent0.Name = "mnuIndent0" + Me.mnuIndent0.Size = New System.Drawing.Size(105, 22) + Me.mnuIndent0.Text = "None" + ' + 'mnuIndent5 + ' + Me.mnuIndent5.Name = "mnuIndent5" + Me.mnuIndent5.Size = New System.Drawing.Size(105, 22) + Me.mnuIndent5.Text = "5 pts" + ' + 'mnuIndent10 + ' + Me.mnuIndent10.Name = "mnuIndent10" + Me.mnuIndent10.Size = New System.Drawing.Size(105, 22) + Me.mnuIndent10.Text = "10 pts" + ' + 'mnuIndent15 + ' + Me.mnuIndent15.Name = "mnuIndent15" + Me.mnuIndent15.Size = New System.Drawing.Size(105, 22) + Me.mnuIndent15.Text = "15 pts" + ' + 'mnuIndent20 + ' + Me.mnuIndent20.Name = "mnuIndent20" + Me.mnuIndent20.Size = New System.Drawing.Size(105, 22) + Me.mnuIndent20.Text = "20 pts" + ' + 'mnuAlign + ' + Me.mnuAlign.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.LeftToolStripMenuItem, Me.CenterToolStripMenuItem, Me.RightToolStripMenuItem}) + Me.mnuAlign.Name = "mnuAlign" + Me.mnuAlign.Size = New System.Drawing.Size(108, 22) + Me.mnuAlign.Text = "&Align" + ' + 'LeftToolStripMenuItem + ' + Me.LeftToolStripMenuItem.Image = CType(resources.GetObject("LeftToolStripMenuItem.Image"), System.Drawing.Image) + Me.LeftToolStripMenuItem.Name = "LeftToolStripMenuItem" + Me.LeftToolStripMenuItem.Size = New System.Drawing.Size(109, 22) + Me.LeftToolStripMenuItem.Text = "Left" + ' + 'CenterToolStripMenuItem + ' + Me.CenterToolStripMenuItem.Image = CType(resources.GetObject("CenterToolStripMenuItem.Image"), System.Drawing.Image) + Me.CenterToolStripMenuItem.Name = "CenterToolStripMenuItem" + Me.CenterToolStripMenuItem.Size = New System.Drawing.Size(109, 22) + Me.CenterToolStripMenuItem.Text = "Center" + ' + 'RightToolStripMenuItem + ' + Me.RightToolStripMenuItem.Image = CType(resources.GetObject("RightToolStripMenuItem.Image"), System.Drawing.Image) + Me.RightToolStripMenuItem.Name = "RightToolStripMenuItem" + Me.RightToolStripMenuItem.Size = New System.Drawing.Size(109, 22) + Me.RightToolStripMenuItem.Text = "Right" + ' + 'BulletsToolStripMenuItem + ' + Me.BulletsToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.AddBulletsToolStripMenuItem, Me.RemoveBulletsToolStripMenuItem}) + Me.BulletsToolStripMenuItem.Name = "BulletsToolStripMenuItem" + Me.BulletsToolStripMenuItem.Size = New System.Drawing.Size(123, 20) + Me.BulletsToolStripMenuItem.Text = "&Azfzählungszeichen" + ' + 'AddBulletsToolStripMenuItem + ' + Me.AddBulletsToolStripMenuItem.Name = "AddBulletsToolStripMenuItem" + Me.AddBulletsToolStripMenuItem.Size = New System.Drawing.Size(136, 22) + Me.AddBulletsToolStripMenuItem.Text = "Hinzufügen" + ' + 'RemoveBulletsToolStripMenuItem + ' + Me.RemoveBulletsToolStripMenuItem.Name = "RemoveBulletsToolStripMenuItem" + Me.RemoveBulletsToolStripMenuItem.Size = New System.Drawing.Size(136, 22) + Me.RemoveBulletsToolStripMenuItem.Text = "Entfernen" + ' + 'GroupBox6 + ' + Me.GroupBox6.Controls.Add(Me.TreeView2) + Me.GroupBox6.Controls.Add(Me.ToolStrip8) + Me.GroupBox6.Dock = System.Windows.Forms.DockStyle.Left + Me.GroupBox6.Location = New System.Drawing.Point(0, 0) + Me.GroupBox6.Name = "GroupBox6" + Me.GroupBox6.Size = New System.Drawing.Size(242, 516) + Me.GroupBox6.TabIndex = 4 + Me.GroupBox6.TabStop = False + ' + 'TreeView2 + ' + Me.TreeView2.ContextMenuStrip = Me.ContextMenuStrip1 + Me.TreeView2.Dock = System.Windows.Forms.DockStyle.Fill + Me.TreeView2.Location = New System.Drawing.Point(3, 41) + Me.TreeView2.Name = "TreeView2" + TreeNode1.Name = "Knoten0" + TreeNode1.Text = "Eintrag1" + TreeNode2.Name = "Knoten1" + TreeNode2.Text = "Eintrag2" + Me.TreeView2.Nodes.AddRange(New System.Windows.Forms.TreeNode() {TreeNode1, TreeNode2}) + Me.TreeView2.Size = New System.Drawing.Size(236, 472) + Me.TreeView2.TabIndex = 0 + ' + 'ContextMenuStrip1 + ' + Me.ContextMenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ÜbersichtToolStripMenuItem, Me.AllesToolStripMenuItem}) + Me.ContextMenuStrip1.Name = "ContextMenuStrip1" + Me.ContextMenuStrip1.Size = New System.Drawing.Size(125, 48) + ' + 'ÜbersichtToolStripMenuItem + ' + Me.ÜbersichtToolStripMenuItem.Name = "ÜbersichtToolStripMenuItem" + Me.ÜbersichtToolStripMenuItem.Size = New System.Drawing.Size(124, 22) + Me.ÜbersichtToolStripMenuItem.Text = "Übersicht" + ' + 'AllesToolStripMenuItem + ' + Me.AllesToolStripMenuItem.Name = "AllesToolStripMenuItem" + Me.AllesToolStripMenuItem.Size = New System.Drawing.Size(124, 22) + Me.AllesToolStripMenuItem.Text = "Alles" + ' + 'ToolStrip8 + ' + Me.ToolStrip8.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripButton22, Me.ToolStripButton23}) + Me.ToolStrip8.Location = New System.Drawing.Point(3, 16) + Me.ToolStrip8.Name = "ToolStrip8" + Me.ToolStrip8.Size = New System.Drawing.Size(236, 25) + Me.ToolStrip8.TabIndex = 1 + Me.ToolStrip8.Text = "ToolStrip8" + ' + 'ToolStripButton22 + ' + Me.ToolStripButton22.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text + Me.ToolStripButton22.Image = CType(resources.GetObject("ToolStripButton22.Image"), System.Drawing.Image) + Me.ToolStripButton22.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton22.Name = "ToolStripButton22" + Me.ToolStripButton22.Size = New System.Drawing.Size(61, 22) + Me.ToolStripButton22.Text = "Übersicht" + ' + 'ToolStripButton23 + ' + Me.ToolStripButton23.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text + Me.ToolStripButton23.Image = CType(resources.GetObject("ToolStripButton23.Image"), System.Drawing.Image) + Me.ToolStripButton23.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton23.Name = "ToolStripButton23" + Me.ToolStripButton23.Size = New System.Drawing.Size(36, 22) + Me.ToolStripButton23.Text = "Alles" + ' + 'TabPage4 + ' + Me.TabPage4.BackColor = System.Drawing.SystemColors.Control + Me.TabPage4.Controls.Add(Me.SplitContainer1) + Me.TabPage4.Controls.Add(Me.ToolStrip4) + Me.TabPage4.Location = New System.Drawing.Point(4, 22) + Me.TabPage4.Name = "TabPage4" + Me.TabPage4.Size = New System.Drawing.Size(1170, 516) + Me.TabPage4.TabIndex = 3 + Me.TabPage4.Text = "Kommunikation" + ' + 'SplitContainer1 + ' + Me.SplitContainer1.Dock = System.Windows.Forms.DockStyle.Fill + Me.SplitContainer1.Location = New System.Drawing.Point(0, 25) + Me.SplitContainer1.Name = "SplitContainer1" + ' + 'SplitContainer1.Panel1 + ' + Me.SplitContainer1.Panel1.Controls.Add(Me.GroupBox2) + ' + 'SplitContainer1.Panel2 + ' + Me.SplitContainer1.Panel2.Controls.Add(Me.TabControl2) + Me.SplitContainer1.Size = New System.Drawing.Size(1170, 491) + Me.SplitContainer1.SplitterDistance = 211 + Me.SplitContainer1.TabIndex = 10 + ' + 'GroupBox2 + ' + Me.GroupBox2.Controls.Add(Me.TreeView1) + Me.GroupBox2.Dock = System.Windows.Forms.DockStyle.Fill + Me.GroupBox2.Location = New System.Drawing.Point(0, 0) + Me.GroupBox2.Name = "GroupBox2" + Me.GroupBox2.Size = New System.Drawing.Size(211, 491) + Me.GroupBox2.TabIndex = 0 + Me.GroupBox2.TabStop = False + Me.GroupBox2.Text = "Datum" + ' + 'TreeView1 + ' + Me.TreeView1.Dock = System.Windows.Forms.DockStyle.Fill + Me.TreeView1.Location = New System.Drawing.Point(3, 16) + Me.TreeView1.Name = "TreeView1" + Me.TreeView1.Size = New System.Drawing.Size(205, 472) + Me.TreeView1.TabIndex = 0 + ' + 'CheckedListBox1 + ' + Me.CheckedListBox1.FormattingEnabled = True + Me.CheckedListBox1.Items.AddRange(New Object() {"Zielgruppe 1", "Zielgruppe 2", "Zielgruppe 3", "Zielgruppe 4"}) + Me.CheckedListBox1.Location = New System.Drawing.Point(571, 10) + Me.CheckedListBox1.Name = "CheckedListBox1" + Me.CheckedListBox1.Size = New System.Drawing.Size(181, 79) + Me.CheckedListBox1.TabIndex = 3 + ' + 'Label12 + ' + Me.Label12.AutoSize = True + Me.Label12.Location = New System.Drawing.Point(502, 10) + Me.Label12.Name = "Label12" + Me.Label12.Size = New System.Drawing.Size(63, 13) + Me.Label12.TabIndex = 2 + Me.Label12.Text = "Zielgruppen" + ' + 'TextBox6 + ' + Me.TextBox6.Location = New System.Drawing.Point(90, 7) + Me.TextBox6.Multiline = True + Me.TextBox6.Name = "TextBox6" + Me.TextBox6.Size = New System.Drawing.Size(384, 82) + Me.TextBox6.TabIndex = 1 + ' + 'Label10 + ' + Me.Label10.AutoSize = True + Me.Label10.Location = New System.Drawing.Point(12, 10) + Me.Label10.Name = "Label10" + Me.Label10.Size = New System.Drawing.Size(72, 13) + Me.Label10.TabIndex = 0 + Me.Label10.Text = "Beschreibung" + ' + 'GroupBox3 + ' + Me.GroupBox3.Controls.Add(Me.C1TrueDBGrid2) + Me.GroupBox3.Controls.Add(Me.ToolStrip5) + Me.GroupBox3.Dock = System.Windows.Forms.DockStyle.Fill + Me.GroupBox3.Location = New System.Drawing.Point(0, 0) + Me.GroupBox3.Name = "GroupBox3" + Me.GroupBox3.Size = New System.Drawing.Size(348, 359) + Me.GroupBox3.TabIndex = 0 + Me.GroupBox3.TabStop = False + Me.GroupBox3.Text = "Dokumente" + ' + 'C1TrueDBGrid2 + ' + Me.C1TrueDBGrid2.Dock = System.Windows.Forms.DockStyle.Fill + Me.C1TrueDBGrid2.Location = New System.Drawing.Point(3, 41) + Me.C1TrueDBGrid2.Name = "C1TrueDBGrid2" + Me.C1TrueDBGrid2.PreviewInfo.Location = New System.Drawing.Point(0, 0) + Me.C1TrueDBGrid2.PreviewInfo.Size = New System.Drawing.Size(0, 0) + Me.C1TrueDBGrid2.PreviewInfo.ZoomFactor = 75.0R + Me.C1TrueDBGrid2.PrintInfo.PageSettings = CType(resources.GetObject("C1TrueDBGrid2.PrintInfo.PageSettings"), System.Drawing.Printing.PageSettings) + Me.C1TrueDBGrid2.PropBag = resources.GetString("C1TrueDBGrid2.PropBag") + Me.C1TrueDBGrid2.Size = New System.Drawing.Size(342, 315) + Me.C1TrueDBGrid2.TabIndex = 8 + Me.C1TrueDBGrid2.Text = "C1TrueDBGrid2" + ' + 'ToolStrip5 + ' + Me.ToolStrip5.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripButton6, Me.ToolStripButton7}) + Me.ToolStrip5.Location = New System.Drawing.Point(3, 16) + Me.ToolStrip5.Name = "ToolStrip5" + Me.ToolStrip5.Size = New System.Drawing.Size(342, 25) + Me.ToolStrip5.TabIndex = 7 + Me.ToolStrip5.Text = "ToolStrip5" + ' + 'ToolStripButton6 + ' + Me.ToolStripButton6.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton6.Image = CType(resources.GetObject("ToolStripButton6.Image"), System.Drawing.Image) + Me.ToolStripButton6.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton6.Name = "ToolStripButton6" + Me.ToolStripButton6.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton6.Text = "Neuer Datensatz" + Me.ToolStripButton6.ToolTipText = "Neuer Datensatz" + ' + 'ToolStripButton7 + ' + Me.ToolStripButton7.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton7.Image = CType(resources.GetObject("ToolStripButton7.Image"), System.Drawing.Image) + Me.ToolStripButton7.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton7.Name = "ToolStripButton7" + Me.ToolStripButton7.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton7.Text = "Datensatz inaktivieren" + Me.ToolStripButton7.ToolTipText = "Datensatz inaktivieren" + ' + 'ToolStrip4 + ' + Me.ToolStrip4.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripButton2, Me.ToolStripButton3}) + Me.ToolStrip4.Location = New System.Drawing.Point(0, 0) + Me.ToolStrip4.Name = "ToolStrip4" + Me.ToolStrip4.Size = New System.Drawing.Size(1170, 25) + Me.ToolStrip4.TabIndex = 9 + Me.ToolStrip4.Text = "ToolStrip4" + ' + 'ToolStripButton2 + ' + Me.ToolStripButton2.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton2.Image = CType(resources.GetObject("ToolStripButton2.Image"), System.Drawing.Image) + Me.ToolStripButton2.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton2.Name = "ToolStripButton2" + Me.ToolStripButton2.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton2.Text = "Neuer Datensatz" + Me.ToolStripButton2.ToolTipText = "Neuer Datensatz" + ' + 'ToolStripButton3 + ' + Me.ToolStripButton3.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton3.Image = CType(resources.GetObject("ToolStripButton3.Image"), System.Drawing.Image) + Me.ToolStripButton3.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton3.Name = "ToolStripButton3" + Me.ToolStripButton3.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton3.Text = "Datensatz inaktivieren" + Me.ToolStripButton3.ToolTipText = "Datensatz inaktivieren" + ' + 'TabPage6 + ' + Me.TabPage6.BackColor = System.Drawing.SystemColors.Control + Me.TabPage6.Controls.Add(Me.C1TrueDBGrid4) + Me.TabPage6.Location = New System.Drawing.Point(4, 22) + Me.TabPage6.Name = "TabPage6" + Me.TabPage6.Size = New System.Drawing.Size(996, 476) + Me.TabPage6.TabIndex = 5 + Me.TabPage6.Text = "History" + ' + 'C1TrueDBGrid4 + ' + Me.C1TrueDBGrid4.Dock = System.Windows.Forms.DockStyle.Fill + Me.C1TrueDBGrid4.Location = New System.Drawing.Point(0, 0) + Me.C1TrueDBGrid4.Name = "C1TrueDBGrid4" + Me.C1TrueDBGrid4.PreviewInfo.Location = New System.Drawing.Point(0, 0) + Me.C1TrueDBGrid4.PreviewInfo.Size = New System.Drawing.Size(0, 0) + Me.C1TrueDBGrid4.PreviewInfo.ZoomFactor = 75.0R + Me.C1TrueDBGrid4.PrintInfo.PageSettings = CType(resources.GetObject("C1TrueDBGrid4.PrintInfo.PageSettings"), System.Drawing.Printing.PageSettings) + Me.C1TrueDBGrid4.PropBag = resources.GetString("C1TrueDBGrid4.PropBag") + Me.C1TrueDBGrid4.Size = New System.Drawing.Size(996, 476) + Me.C1TrueDBGrid4.TabIndex = 8 + Me.C1TrueDBGrid4.Text = "C1TrueDBGrid4" + ' + 'TabPage1 + ' + Me.TabPage1.BackColor = System.Drawing.SystemColors.Control + Me.TabPage1.Controls.Add(Me.C1TrueDBGrid3) + Me.TabPage1.Controls.Add(Me.ToolStrip7) + Me.TabPage1.Location = New System.Drawing.Point(4, 22) + Me.TabPage1.Name = "TabPage1" + Me.TabPage1.Size = New System.Drawing.Size(996, 476) + Me.TabPage1.TabIndex = 6 + Me.TabPage1.Text = "Journal" + ' + 'C1TrueDBGrid3 + ' + Me.C1TrueDBGrid3.Dock = System.Windows.Forms.DockStyle.Fill + Me.C1TrueDBGrid3.Location = New System.Drawing.Point(0, 25) + Me.C1TrueDBGrid3.Name = "C1TrueDBGrid3" + Me.C1TrueDBGrid3.PreviewInfo.Location = New System.Drawing.Point(0, 0) + Me.C1TrueDBGrid3.PreviewInfo.Size = New System.Drawing.Size(0, 0) + Me.C1TrueDBGrid3.PreviewInfo.ZoomFactor = 75.0R + Me.C1TrueDBGrid3.PrintInfo.PageSettings = CType(resources.GetObject("C1TrueDBGrid3.PrintInfo.PageSettings"), System.Drawing.Printing.PageSettings) + Me.C1TrueDBGrid3.PropBag = resources.GetString("C1TrueDBGrid3.PropBag") + Me.C1TrueDBGrid3.Size = New System.Drawing.Size(996, 451) + Me.C1TrueDBGrid3.TabIndex = 8 + Me.C1TrueDBGrid3.Text = "C1TrueDBGrid3" + ' + 'ToolStrip7 + ' + Me.ToolStrip7.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripButton20, Me.ToolStripButton21}) + Me.ToolStrip7.Location = New System.Drawing.Point(0, 0) + Me.ToolStrip7.Name = "ToolStrip7" + Me.ToolStrip7.Size = New System.Drawing.Size(996, 25) + Me.ToolStrip7.TabIndex = 7 + Me.ToolStrip7.Text = "ToolStrip7" + ' + 'ToolStripButton20 + ' + Me.ToolStripButton20.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton20.Image = CType(resources.GetObject("ToolStripButton20.Image"), System.Drawing.Image) + Me.ToolStripButton20.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton20.Name = "ToolStripButton20" + Me.ToolStripButton20.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton20.Text = "Neuer Datensatz" + Me.ToolStripButton20.ToolTipText = "Neuer Datensatz" + ' + 'ToolStripButton21 + ' + Me.ToolStripButton21.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton21.Image = CType(resources.GetObject("ToolStripButton21.Image"), System.Drawing.Image) + Me.ToolStripButton21.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton21.Name = "ToolStripButton21" + Me.ToolStripButton21.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton21.Text = "Datensatz inaktivieren" + Me.ToolStripButton21.ToolTipText = "Datensatz inaktivieren" + ' + 'TabControl2 + ' + Me.TabControl2.Controls.Add(Me.TabPage2) + Me.TabControl2.Controls.Add(Me.TabPage7) + Me.TabControl2.Dock = System.Windows.Forms.DockStyle.Fill + Me.TabControl2.Location = New System.Drawing.Point(0, 0) + Me.TabControl2.Name = "TabControl2" + Me.TabControl2.SelectedIndex = 0 + Me.TabControl2.Size = New System.Drawing.Size(955, 491) + Me.TabControl2.TabIndex = 1 + ' + 'TabPage2 + ' + Me.TabPage2.BackColor = System.Drawing.SystemColors.Control + Me.TabPage2.Controls.Add(Me.SplitContainer2) + Me.TabPage2.Controls.Add(Me.Panel3) + Me.TabPage2.Location = New System.Drawing.Point(4, 22) + Me.TabPage2.Name = "TabPage2" + Me.TabPage2.Padding = New System.Windows.Forms.Padding(3) + Me.TabPage2.Size = New System.Drawing.Size(947, 465) + Me.TabPage2.TabIndex = 0 + Me.TabPage2.Text = "Ausprägung 1" + ' + 'TabPage7 + ' + Me.TabPage7.BackColor = System.Drawing.SystemColors.Control + Me.TabPage7.Location = New System.Drawing.Point(4, 22) + Me.TabPage7.Name = "TabPage7" + Me.TabPage7.Padding = New System.Windows.Forms.Padding(3) + Me.TabPage7.Size = New System.Drawing.Size(804, 313) + Me.TabPage7.TabIndex = 1 + Me.TabPage7.Text = "Ausprägung 2" + ' + 'Panel3 + ' + Me.Panel3.Controls.Add(Me.Label10) + Me.Panel3.Controls.Add(Me.Label12) + Me.Panel3.Controls.Add(Me.CheckedListBox1) + Me.Panel3.Controls.Add(Me.TextBox6) + Me.Panel3.Dock = System.Windows.Forms.DockStyle.Top + Me.Panel3.Location = New System.Drawing.Point(3, 3) + Me.Panel3.Name = "Panel3" + Me.Panel3.Size = New System.Drawing.Size(941, 100) + Me.Panel3.TabIndex = 0 + ' + 'SplitContainer2 + ' + Me.SplitContainer2.Dock = System.Windows.Forms.DockStyle.Fill + Me.SplitContainer2.Location = New System.Drawing.Point(3, 103) + Me.SplitContainer2.Name = "SplitContainer2" + ' + 'SplitContainer2.Panel1 + ' + Me.SplitContainer2.Panel1.Controls.Add(Me.RichTextBoxPrintCtrl1) + Me.SplitContainer2.Panel1.Controls.Add(Me.ToolStrip6) + Me.SplitContainer2.Panel1.Controls.Add(Me.MenuStrip3) + ' + 'SplitContainer2.Panel2 + ' + Me.SplitContainer2.Panel2.Controls.Add(Me.GroupBox3) + Me.SplitContainer2.Size = New System.Drawing.Size(941, 359) + Me.SplitContainer2.SplitterDistance = 589 + Me.SplitContainer2.TabIndex = 1 + ' + 'RichTextBoxPrintCtrl1 + ' + Me.RichTextBoxPrintCtrl1.Dock = System.Windows.Forms.DockStyle.Fill + Me.RichTextBoxPrintCtrl1.Location = New System.Drawing.Point(0, 49) + Me.RichTextBoxPrintCtrl1.Name = "RichTextBoxPrintCtrl1" + Me.RichTextBoxPrintCtrl1.Size = New System.Drawing.Size(589, 310) + Me.RichTextBoxPrintCtrl1.TabIndex = 6 + Me.RichTextBoxPrintCtrl1.Text = "" + ' + 'ToolStrip6 + ' + Me.ToolStrip6.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripButton8, Me.ToolStripButton9, Me.ToolStripButton10, Me.ToolStripButton11, Me.ToolStripSeparator8, Me.ToolStripButton12, Me.ToolStripSeparator9, Me.ToolStripButton13, Me.ToolStripButton14, Me.ToolStripButton15, Me.ToolStripSeparator10, Me.ToolStripButton16, Me.ToolStripButton17, Me.ToolStripButton18, Me.ToolStripSeparator11, Me.ToolStripButton19}) + Me.ToolStrip6.Location = New System.Drawing.Point(0, 24) + Me.ToolStrip6.Name = "ToolStrip6" + Me.ToolStrip6.Size = New System.Drawing.Size(589, 25) + Me.ToolStrip6.TabIndex = 5 + Me.ToolStrip6.Text = "ToolStrip6" + ' + 'ToolStripButton8 + ' + Me.ToolStripButton8.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton8.Image = CType(resources.GetObject("ToolStripButton8.Image"), System.Drawing.Image) + Me.ToolStripButton8.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton8.Name = "ToolStripButton8" + Me.ToolStripButton8.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton8.Text = "Fenster schliessen" + Me.ToolStripButton8.ToolTipText = "Fenster schliessen" + ' + 'ToolStripButton9 + ' + Me.ToolStripButton9.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton9.Image = CType(resources.GetObject("ToolStripButton9.Image"), System.Drawing.Image) + Me.ToolStripButton9.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton9.Name = "ToolStripButton9" + Me.ToolStripButton9.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton9.Text = "Speichern" + ' + 'ToolStripButton10 + ' + Me.ToolStripButton10.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton10.Image = CType(resources.GetObject("ToolStripButton10.Image"), System.Drawing.Image) + Me.ToolStripButton10.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton10.Name = "ToolStripButton10" + Me.ToolStripButton10.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton10.Text = "New" + Me.ToolStripButton10.Visible = False + ' + 'ToolStripButton11 + ' + Me.ToolStripButton11.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton11.Image = CType(resources.GetObject("ToolStripButton11.Image"), System.Drawing.Image) + Me.ToolStripButton11.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton11.Name = "ToolStripButton11" + Me.ToolStripButton11.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton11.Text = "Open" + Me.ToolStripButton11.Visible = False + ' + 'ToolStripSeparator8 + ' + Me.ToolStripSeparator8.Name = "ToolStripSeparator8" + Me.ToolStripSeparator8.Size = New System.Drawing.Size(6, 25) + ' + 'ToolStripButton12 + ' + Me.ToolStripButton12.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton12.Image = CType(resources.GetObject("ToolStripButton12.Image"), System.Drawing.Image) + Me.ToolStripButton12.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton12.Name = "ToolStripButton12" + Me.ToolStripButton12.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton12.Text = "Schrift" + ' + 'ToolStripSeparator9 + ' + Me.ToolStripSeparator9.Name = "ToolStripSeparator9" + Me.ToolStripSeparator9.Size = New System.Drawing.Size(6, 25) + ' + 'ToolStripButton13 + ' + Me.ToolStripButton13.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton13.Image = CType(resources.GetObject("ToolStripButton13.Image"), System.Drawing.Image) + Me.ToolStripButton13.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton13.Name = "ToolStripButton13" + Me.ToolStripButton13.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton13.Text = "Linksbündig" + ' + 'ToolStripButton14 + ' + Me.ToolStripButton14.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton14.Image = CType(resources.GetObject("ToolStripButton14.Image"), System.Drawing.Image) + Me.ToolStripButton14.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton14.Name = "ToolStripButton14" + Me.ToolStripButton14.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton14.Text = "Zentriert" + ' + 'ToolStripButton15 + ' + Me.ToolStripButton15.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton15.Image = CType(resources.GetObject("ToolStripButton15.Image"), System.Drawing.Image) + Me.ToolStripButton15.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton15.Name = "ToolStripButton15" + Me.ToolStripButton15.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton15.Text = "Rechtsbündig" + ' + 'ToolStripSeparator10 + ' + Me.ToolStripSeparator10.Name = "ToolStripSeparator10" + Me.ToolStripSeparator10.Size = New System.Drawing.Size(6, 25) + ' + 'ToolStripButton16 + ' + Me.ToolStripButton16.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton16.Image = CType(resources.GetObject("ToolStripButton16.Image"), System.Drawing.Image) + Me.ToolStripButton16.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton16.Name = "ToolStripButton16" + Me.ToolStripButton16.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton16.Text = "Fett" + ' + 'ToolStripButton17 + ' + Me.ToolStripButton17.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton17.Image = CType(resources.GetObject("ToolStripButton17.Image"), System.Drawing.Image) + Me.ToolStripButton17.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton17.Name = "ToolStripButton17" + Me.ToolStripButton17.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton17.Text = "Kursiv" + ' + 'ToolStripButton18 + ' + Me.ToolStripButton18.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton18.Image = CType(resources.GetObject("ToolStripButton18.Image"), System.Drawing.Image) + Me.ToolStripButton18.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton18.Name = "ToolStripButton18" + Me.ToolStripButton18.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton18.Text = "Unterstrichen" + ' + 'ToolStripSeparator11 + ' + Me.ToolStripSeparator11.Name = "ToolStripSeparator11" + Me.ToolStripSeparator11.Size = New System.Drawing.Size(6, 25) + ' + 'ToolStripButton19 + ' + Me.ToolStripButton19.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton19.Image = CType(resources.GetObject("ToolStripButton19.Image"), System.Drawing.Image) + Me.ToolStripButton19.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton19.Name = "ToolStripButton19" + Me.ToolStripButton19.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton19.Text = "Suchen" + ' + 'MenuStrip3 + ' + Me.MenuStrip3.AllowMerge = False + Me.MenuStrip3.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripMenuItem9, Me.ToolStripMenuItem18, Me.ToolStripMenuItem28, Me.ToolStripMenuItem36, Me.ToolStripMenuItem47}) + Me.MenuStrip3.Location = New System.Drawing.Point(0, 0) + Me.MenuStrip3.Name = "MenuStrip3" + Me.MenuStrip3.Size = New System.Drawing.Size(589, 24) + Me.MenuStrip3.TabIndex = 4 + Me.MenuStrip3.Text = "MenuStrip3" + ' + 'ToolStripMenuItem9 + ' + Me.ToolStripMenuItem9.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripMenuItem10, Me.ToolStripSeparator12, Me.ToolStripMenuItem11, Me.ToolStripMenuItem12, Me.ToolStripMenuItem13, Me.ToolStripSeparator13, Me.ToolStripMenuItem14, Me.ToolStripMenuItem15, Me.ToolStripMenuItem16, Me.ToolStripSeparator14, Me.ToolStripMenuItem17}) + Me.ToolStripMenuItem9.Name = "ToolStripMenuItem9" + Me.ToolStripMenuItem9.Size = New System.Drawing.Size(37, 20) + Me.ToolStripMenuItem9.Text = "&File" + Me.ToolStripMenuItem9.Visible = False + ' + 'ToolStripMenuItem10 + ' + Me.ToolStripMenuItem10.Image = CType(resources.GetObject("ToolStripMenuItem10.Image"), System.Drawing.Image) + Me.ToolStripMenuItem10.Name = "ToolStripMenuItem10" + Me.ToolStripMenuItem10.Size = New System.Drawing.Size(142, 22) + Me.ToolStripMenuItem10.Text = "&New" + ' + 'ToolStripSeparator12 + ' + Me.ToolStripSeparator12.Name = "ToolStripSeparator12" + Me.ToolStripSeparator12.Size = New System.Drawing.Size(139, 6) + ' + 'ToolStripMenuItem11 + ' + Me.ToolStripMenuItem11.Image = CType(resources.GetObject("ToolStripMenuItem11.Image"), System.Drawing.Image) + Me.ToolStripMenuItem11.Name = "ToolStripMenuItem11" + Me.ToolStripMenuItem11.Size = New System.Drawing.Size(142, 22) + Me.ToolStripMenuItem11.Text = "&Open..." + ' + 'ToolStripMenuItem12 + ' + Me.ToolStripMenuItem12.Image = CType(resources.GetObject("ToolStripMenuItem12.Image"), System.Drawing.Image) + Me.ToolStripMenuItem12.Name = "ToolStripMenuItem12" + Me.ToolStripMenuItem12.Size = New System.Drawing.Size(142, 22) + Me.ToolStripMenuItem12.Text = "&Save..." + ' + 'ToolStripMenuItem13 + ' + Me.ToolStripMenuItem13.Name = "ToolStripMenuItem13" + Me.ToolStripMenuItem13.Size = New System.Drawing.Size(142, 22) + Me.ToolStripMenuItem13.Text = "Save &As..." + ' + 'ToolStripSeparator13 + ' + Me.ToolStripSeparator13.Name = "ToolStripSeparator13" + Me.ToolStripSeparator13.Size = New System.Drawing.Size(139, 6) + ' + 'ToolStripMenuItem14 + ' + Me.ToolStripMenuItem14.Name = "ToolStripMenuItem14" + Me.ToolStripMenuItem14.Size = New System.Drawing.Size(142, 22) + Me.ToolStripMenuItem14.Text = "Page Setup..." + ' + 'ToolStripMenuItem15 + ' + Me.ToolStripMenuItem15.Name = "ToolStripMenuItem15" + Me.ToolStripMenuItem15.Size = New System.Drawing.Size(142, 22) + Me.ToolStripMenuItem15.Text = "Pre&view..." + ' + 'ToolStripMenuItem16 + ' + Me.ToolStripMenuItem16.Image = CType(resources.GetObject("ToolStripMenuItem16.Image"), System.Drawing.Image) + Me.ToolStripMenuItem16.Name = "ToolStripMenuItem16" + Me.ToolStripMenuItem16.Size = New System.Drawing.Size(142, 22) + Me.ToolStripMenuItem16.Text = "&Print..." + ' + 'ToolStripSeparator14 + ' + Me.ToolStripSeparator14.Name = "ToolStripSeparator14" + Me.ToolStripSeparator14.Size = New System.Drawing.Size(139, 6) + ' + 'ToolStripMenuItem17 + ' + Me.ToolStripMenuItem17.Name = "ToolStripMenuItem17" + Me.ToolStripMenuItem17.Size = New System.Drawing.Size(142, 22) + Me.ToolStripMenuItem17.Text = "E&xit" + ' + 'ToolStripMenuItem18 + ' + Me.ToolStripMenuItem18.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripMenuItem19, Me.ToolStripMenuItem20, Me.ToolStripSeparator15, Me.ToolStripMenuItem21, Me.ToolStripMenuItem22, Me.ToolStripSeparator16, Me.ToolStripMenuItem23, Me.ToolStripSeparator17, Me.ToolStripMenuItem24, Me.ToolStripMenuItem25, Me.ToolStripMenuItem26, Me.ToolStripSeparator18, Me.ToolStripMenuItem27}) + Me.ToolStripMenuItem18.Name = "ToolStripMenuItem18" + Me.ToolStripMenuItem18.Size = New System.Drawing.Size(75, 20) + Me.ToolStripMenuItem18.Text = "&Bearbeiten" + ' + 'ToolStripMenuItem19 + ' + Me.ToolStripMenuItem19.Image = CType(resources.GetObject("ToolStripMenuItem19.Image"), System.Drawing.Image) + Me.ToolStripMenuItem19.Name = "ToolStripMenuItem19" + Me.ToolStripMenuItem19.Size = New System.Drawing.Size(183, 22) + Me.ToolStripMenuItem19.Text = "&Zurück" + ' + 'ToolStripMenuItem20 + ' + Me.ToolStripMenuItem20.Image = CType(resources.GetObject("ToolStripMenuItem20.Image"), System.Drawing.Image) + Me.ToolStripMenuItem20.Name = "ToolStripMenuItem20" + Me.ToolStripMenuItem20.Size = New System.Drawing.Size(183, 22) + Me.ToolStripMenuItem20.Text = "&Wieder herstellen" + ' + 'ToolStripSeparator15 + ' + Me.ToolStripSeparator15.Name = "ToolStripSeparator15" + Me.ToolStripSeparator15.Size = New System.Drawing.Size(180, 6) + ' + 'ToolStripMenuItem21 + ' + Me.ToolStripMenuItem21.Image = CType(resources.GetObject("ToolStripMenuItem21.Image"), System.Drawing.Image) + Me.ToolStripMenuItem21.Name = "ToolStripMenuItem21" + Me.ToolStripMenuItem21.Size = New System.Drawing.Size(183, 22) + Me.ToolStripMenuItem21.Text = "&Suchen" + ' + 'ToolStripMenuItem22 + ' + Me.ToolStripMenuItem22.Image = CType(resources.GetObject("ToolStripMenuItem22.Image"), System.Drawing.Image) + Me.ToolStripMenuItem22.Name = "ToolStripMenuItem22" + Me.ToolStripMenuItem22.Size = New System.Drawing.Size(183, 22) + Me.ToolStripMenuItem22.Text = "Suchen &und ersetzen" + ' + 'ToolStripSeparator16 + ' + Me.ToolStripSeparator16.Name = "ToolStripSeparator16" + Me.ToolStripSeparator16.Size = New System.Drawing.Size(180, 6) + ' + 'ToolStripMenuItem23 + ' + Me.ToolStripMenuItem23.Name = "ToolStripMenuItem23" + Me.ToolStripMenuItem23.Size = New System.Drawing.Size(183, 22) + Me.ToolStripMenuItem23.Text = "&Alles markieren" + ' + 'ToolStripSeparator17 + ' + Me.ToolStripSeparator17.Name = "ToolStripSeparator17" + Me.ToolStripSeparator17.Size = New System.Drawing.Size(180, 6) + ' + 'ToolStripMenuItem24 + ' + Me.ToolStripMenuItem24.Image = CType(resources.GetObject("ToolStripMenuItem24.Image"), System.Drawing.Image) + Me.ToolStripMenuItem24.Name = "ToolStripMenuItem24" + Me.ToolStripMenuItem24.Size = New System.Drawing.Size(183, 22) + Me.ToolStripMenuItem24.Text = "&Kopieren" + ' + 'ToolStripMenuItem25 + ' + Me.ToolStripMenuItem25.Image = CType(resources.GetObject("ToolStripMenuItem25.Image"), System.Drawing.Image) + Me.ToolStripMenuItem25.Name = "ToolStripMenuItem25" + Me.ToolStripMenuItem25.Size = New System.Drawing.Size(183, 22) + Me.ToolStripMenuItem25.Text = "A&usschneiden" + ' + 'ToolStripMenuItem26 + ' + Me.ToolStripMenuItem26.Image = CType(resources.GetObject("ToolStripMenuItem26.Image"), System.Drawing.Image) + Me.ToolStripMenuItem26.Name = "ToolStripMenuItem26" + Me.ToolStripMenuItem26.Size = New System.Drawing.Size(183, 22) + Me.ToolStripMenuItem26.Text = "&Einfügen" + ' + 'ToolStripSeparator18 + ' + Me.ToolStripSeparator18.Name = "ToolStripSeparator18" + Me.ToolStripSeparator18.Size = New System.Drawing.Size(180, 6) + ' + 'ToolStripMenuItem27 + ' + Me.ToolStripMenuItem27.Name = "ToolStripMenuItem27" + Me.ToolStripMenuItem27.Size = New System.Drawing.Size(183, 22) + Me.ToolStripMenuItem27.Text = "Insert Image..." + Me.ToolStripMenuItem27.Visible = False + ' + 'ToolStripMenuItem28 + ' + Me.ToolStripMenuItem28.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripMenuItem29, Me.ToolStripSeparator19, Me.ToolStripMenuItem30, Me.ToolStripSeparator20, Me.ToolStripMenuItem31, Me.ToolStripMenuItem32, Me.ToolStripMenuItem33, Me.ToolStripMenuItem34, Me.ToolStripSeparator21, Me.ToolStripMenuItem35}) + Me.ToolStripMenuItem28.Name = "ToolStripMenuItem28" + Me.ToolStripMenuItem28.Size = New System.Drawing.Size(53, 20) + Me.ToolStripMenuItem28.Text = "S&chrift" + ' + 'ToolStripMenuItem29 + ' + Me.ToolStripMenuItem29.Image = CType(resources.GetObject("ToolStripMenuItem29.Image"), System.Drawing.Image) + Me.ToolStripMenuItem29.Name = "ToolStripMenuItem29" + Me.ToolStripMenuItem29.Size = New System.Drawing.Size(160, 22) + Me.ToolStripMenuItem29.Text = "Schriftauswahl..." + ' + 'ToolStripSeparator19 + ' + Me.ToolStripSeparator19.Name = "ToolStripSeparator19" + Me.ToolStripSeparator19.Size = New System.Drawing.Size(157, 6) + ' + 'ToolStripMenuItem30 + ' + Me.ToolStripMenuItem30.Name = "ToolStripMenuItem30" + Me.ToolStripMenuItem30.Size = New System.Drawing.Size(160, 22) + Me.ToolStripMenuItem30.Text = "Schrift&farbe" + ' + 'ToolStripSeparator20 + ' + Me.ToolStripSeparator20.Name = "ToolStripSeparator20" + Me.ToolStripSeparator20.Size = New System.Drawing.Size(157, 6) + ' + 'ToolStripMenuItem31 + ' + Me.ToolStripMenuItem31.Image = CType(resources.GetObject("ToolStripMenuItem31.Image"), System.Drawing.Image) + Me.ToolStripMenuItem31.Name = "ToolStripMenuItem31" + Me.ToolStripMenuItem31.Size = New System.Drawing.Size(160, 22) + Me.ToolStripMenuItem31.Text = "F&ett" + ' + 'ToolStripMenuItem32 + ' + Me.ToolStripMenuItem32.Image = CType(resources.GetObject("ToolStripMenuItem32.Image"), System.Drawing.Image) + Me.ToolStripMenuItem32.Name = "ToolStripMenuItem32" + Me.ToolStripMenuItem32.Size = New System.Drawing.Size(160, 22) + Me.ToolStripMenuItem32.Text = "&Kursiv" + ' + 'ToolStripMenuItem33 + ' + Me.ToolStripMenuItem33.Image = CType(resources.GetObject("ToolStripMenuItem33.Image"), System.Drawing.Image) + Me.ToolStripMenuItem33.Name = "ToolStripMenuItem33" + Me.ToolStripMenuItem33.Size = New System.Drawing.Size(160, 22) + Me.ToolStripMenuItem33.Text = "&Unterstrichen" + ' + 'ToolStripMenuItem34 + ' + Me.ToolStripMenuItem34.Name = "ToolStripMenuItem34" + Me.ToolStripMenuItem34.Size = New System.Drawing.Size(160, 22) + Me.ToolStripMenuItem34.Text = "&Normal" + ' + 'ToolStripSeparator21 + ' + Me.ToolStripSeparator21.Name = "ToolStripSeparator21" + Me.ToolStripSeparator21.Size = New System.Drawing.Size(157, 6) + ' + 'ToolStripMenuItem35 + ' + Me.ToolStripMenuItem35.Name = "ToolStripMenuItem35" + Me.ToolStripMenuItem35.Size = New System.Drawing.Size(160, 22) + Me.ToolStripMenuItem35.Text = "&Page Color..." + Me.ToolStripMenuItem35.Visible = False + ' + 'ToolStripMenuItem36 + ' + Me.ToolStripMenuItem36.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripMenuItem37, Me.ToolStripMenuItem43}) + Me.ToolStripMenuItem36.Name = "ToolStripMenuItem36" + Me.ToolStripMenuItem36.Size = New System.Drawing.Size(73, 20) + Me.ToolStripMenuItem36.Text = "P&aragraph" + Me.ToolStripMenuItem36.Visible = False + ' + 'ToolStripMenuItem37 + ' + Me.ToolStripMenuItem37.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripMenuItem38, Me.ToolStripMenuItem39, Me.ToolStripMenuItem40, Me.ToolStripMenuItem41, Me.ToolStripMenuItem42}) + Me.ToolStripMenuItem37.Name = "ToolStripMenuItem37" + Me.ToolStripMenuItem37.Size = New System.Drawing.Size(108, 22) + Me.ToolStripMenuItem37.Text = "&Indent" + Me.ToolStripMenuItem37.Visible = False + ' + 'ToolStripMenuItem38 + ' + Me.ToolStripMenuItem38.Name = "ToolStripMenuItem38" + Me.ToolStripMenuItem38.Size = New System.Drawing.Size(105, 22) + Me.ToolStripMenuItem38.Text = "None" + ' + 'ToolStripMenuItem39 + ' + Me.ToolStripMenuItem39.Name = "ToolStripMenuItem39" + Me.ToolStripMenuItem39.Size = New System.Drawing.Size(105, 22) + Me.ToolStripMenuItem39.Text = "5 pts" + ' + 'ToolStripMenuItem40 + ' + Me.ToolStripMenuItem40.Name = "ToolStripMenuItem40" + Me.ToolStripMenuItem40.Size = New System.Drawing.Size(105, 22) + Me.ToolStripMenuItem40.Text = "10 pts" + ' + 'ToolStripMenuItem41 + ' + Me.ToolStripMenuItem41.Name = "ToolStripMenuItem41" + Me.ToolStripMenuItem41.Size = New System.Drawing.Size(105, 22) + Me.ToolStripMenuItem41.Text = "15 pts" + ' + 'ToolStripMenuItem42 + ' + Me.ToolStripMenuItem42.Name = "ToolStripMenuItem42" + Me.ToolStripMenuItem42.Size = New System.Drawing.Size(105, 22) + Me.ToolStripMenuItem42.Text = "20 pts" + ' + 'ToolStripMenuItem43 + ' + Me.ToolStripMenuItem43.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripMenuItem44, Me.ToolStripMenuItem45, Me.ToolStripMenuItem46}) + Me.ToolStripMenuItem43.Name = "ToolStripMenuItem43" + Me.ToolStripMenuItem43.Size = New System.Drawing.Size(108, 22) + Me.ToolStripMenuItem43.Text = "&Align" + ' + 'ToolStripMenuItem44 + ' + Me.ToolStripMenuItem44.Image = CType(resources.GetObject("ToolStripMenuItem44.Image"), System.Drawing.Image) + Me.ToolStripMenuItem44.Name = "ToolStripMenuItem44" + Me.ToolStripMenuItem44.Size = New System.Drawing.Size(109, 22) + Me.ToolStripMenuItem44.Text = "Left" + ' + 'ToolStripMenuItem45 + ' + Me.ToolStripMenuItem45.Image = CType(resources.GetObject("ToolStripMenuItem45.Image"), System.Drawing.Image) + Me.ToolStripMenuItem45.Name = "ToolStripMenuItem45" + Me.ToolStripMenuItem45.Size = New System.Drawing.Size(109, 22) + Me.ToolStripMenuItem45.Text = "Center" + ' + 'ToolStripMenuItem46 + ' + Me.ToolStripMenuItem46.Image = CType(resources.GetObject("ToolStripMenuItem46.Image"), System.Drawing.Image) + Me.ToolStripMenuItem46.Name = "ToolStripMenuItem46" + Me.ToolStripMenuItem46.Size = New System.Drawing.Size(109, 22) + Me.ToolStripMenuItem46.Text = "Right" + ' + 'ToolStripMenuItem47 + ' + Me.ToolStripMenuItem47.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripMenuItem48, Me.ToolStripMenuItem49}) + Me.ToolStripMenuItem47.Name = "ToolStripMenuItem47" + Me.ToolStripMenuItem47.Size = New System.Drawing.Size(123, 20) + Me.ToolStripMenuItem47.Text = "&Azfzählungszeichen" + ' + 'ToolStripMenuItem48 + ' + Me.ToolStripMenuItem48.Name = "ToolStripMenuItem48" + Me.ToolStripMenuItem48.Size = New System.Drawing.Size(136, 22) + Me.ToolStripMenuItem48.Text = "Hinzufügen" + ' + 'ToolStripMenuItem49 + ' + Me.ToolStripMenuItem49.Name = "ToolStripMenuItem49" + Me.ToolStripMenuItem49.Size = New System.Drawing.Size(136, 22) + Me.ToolStripMenuItem49.Text = "Entfernen" + ' + 'frmDetail + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(1178, 591) + Me.Controls.Add(Me.TabControl1) + Me.Controls.Add(Me.ToolStrip1) + Me.Controls.Add(Me.MenuStrip1) + Me.Name = "frmDetail" + Me.Text = "Thema/Issue" + Me.ToolStrip1.ResumeLayout(False) + Me.ToolStrip1.PerformLayout() + Me.MenuStrip1.ResumeLayout(False) + Me.MenuStrip1.PerformLayout() + Me.TabControl1.ResumeLayout(False) + Me.TabPage5.ResumeLayout(False) + Me.GroupBox5.ResumeLayout(False) + Me.GroupBox5.PerformLayout() + CType(Me.C1TrueDBGrid1, System.ComponentModel.ISupportInitialize).EndInit() + Me.ToolStrip2.ResumeLayout(False) + Me.ToolStrip2.PerformLayout() + Me.GroupBox4.ResumeLayout(False) + Me.GroupBox4.PerformLayout() + Me.GroupBox7.ResumeLayout(False) + CType(Me.C1TrueDBGrid5, System.ComponentModel.ISupportInitialize).EndInit() + Me.TabPage3.ResumeLayout(False) + Me.Panel1.ResumeLayout(False) + Me.Panel1.PerformLayout() + Me.ToolStrip9.ResumeLayout(False) + Me.ToolStrip9.PerformLayout() + Me.Panel2.ResumeLayout(False) + Me.Panel2.PerformLayout() + Me.ToolStrip3.ResumeLayout(False) + Me.ToolStrip3.PerformLayout() + Me.MenuStrip2.ResumeLayout(False) + Me.MenuStrip2.PerformLayout() + Me.GroupBox6.ResumeLayout(False) + Me.GroupBox6.PerformLayout() + Me.ContextMenuStrip1.ResumeLayout(False) + Me.ToolStrip8.ResumeLayout(False) + Me.ToolStrip8.PerformLayout() + Me.TabPage4.ResumeLayout(False) + Me.TabPage4.PerformLayout() + Me.SplitContainer1.Panel1.ResumeLayout(False) + Me.SplitContainer1.Panel2.ResumeLayout(False) + CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).EndInit() + Me.SplitContainer1.ResumeLayout(False) + Me.GroupBox2.ResumeLayout(False) + Me.GroupBox3.ResumeLayout(False) + Me.GroupBox3.PerformLayout() + CType(Me.C1TrueDBGrid2, System.ComponentModel.ISupportInitialize).EndInit() + Me.ToolStrip5.ResumeLayout(False) + Me.ToolStrip5.PerformLayout() + Me.ToolStrip4.ResumeLayout(False) + Me.ToolStrip4.PerformLayout() + Me.TabPage6.ResumeLayout(False) + CType(Me.C1TrueDBGrid4, System.ComponentModel.ISupportInitialize).EndInit() + Me.TabPage1.ResumeLayout(False) + Me.TabPage1.PerformLayout() + CType(Me.C1TrueDBGrid3, System.ComponentModel.ISupportInitialize).EndInit() + Me.ToolStrip7.ResumeLayout(False) + Me.ToolStrip7.PerformLayout() + Me.TabControl2.ResumeLayout(False) + Me.TabPage2.ResumeLayout(False) + Me.Panel3.ResumeLayout(False) + Me.Panel3.PerformLayout() + Me.SplitContainer2.Panel1.ResumeLayout(False) + Me.SplitContainer2.Panel1.PerformLayout() + Me.SplitContainer2.Panel2.ResumeLayout(False) + CType(Me.SplitContainer2, System.ComponentModel.ISupportInitialize).EndInit() + Me.SplitContainer2.ResumeLayout(False) + Me.ToolStrip6.ResumeLayout(False) + Me.ToolStrip6.PerformLayout() + Me.MenuStrip3.ResumeLayout(False) + Me.MenuStrip3.PerformLayout() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents ToolStrip1 As System.Windows.Forms.ToolStrip + Friend WithEvents TSBtnQuit As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnNew As System.Windows.Forms.ToolStripButton + Friend WithEvents MenuStrip1 As System.Windows.Forms.MenuStrip + Friend WithEvents DateiToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents TSBtnSave As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripSeparator1 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents TSBtnCopy As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnDelete As System.Windows.Forms.ToolStripButton + Friend WithEvents Label7 As System.Windows.Forms.Label + Friend WithEvents DateTimePicker2 As System.Windows.Forms.DateTimePicker + Friend WithEvents DateTimePicker1 As System.Windows.Forms.DateTimePicker + Friend WithEvents Label6 As System.Windows.Forms.Label + Friend WithEvents TextBox1 As System.Windows.Forms.TextBox + Friend WithEvents TextBox3 As System.Windows.Forms.TextBox + Friend WithEvents Label1 As System.Windows.Forms.Label + Friend WithEvents Label3 As System.Windows.Forms.Label + Friend WithEvents Label2 As System.Windows.Forms.Label + Friend WithEvents TextBox2 As System.Windows.Forms.TextBox + Friend WithEvents CheckBox1 As System.Windows.Forms.CheckBox + Friend WithEvents Label11 As System.Windows.Forms.Label + Friend WithEvents TextBox5 As System.Windows.Forms.TextBox + Friend WithEvents Label9 As System.Windows.Forms.Label + Friend WithEvents TextBox4 As System.Windows.Forms.TextBox + Friend WithEvents Label8 As System.Windows.Forms.Label + Friend WithEvents TabControl1 As System.Windows.Forms.TabControl + Friend WithEvents TabPage3 As System.Windows.Forms.TabPage + Friend WithEvents TabPage4 As System.Windows.Forms.TabPage + Friend WithEvents ToolStrip3 As System.Windows.Forms.ToolStrip + Friend WithEvents ToolStripButton1 As System.Windows.Forms.ToolStripButton + Friend WithEvents tbrNew As System.Windows.Forms.ToolStripButton + Friend WithEvents tbrOpen As System.Windows.Forms.ToolStripButton + Friend WithEvents tbrSave As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripSeparator2 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents tbrFont As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripSeparator4 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents tbrLeft As System.Windows.Forms.ToolStripButton + Friend WithEvents tbrCenter As System.Windows.Forms.ToolStripButton + Friend WithEvents tbrRight As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripSeparator3 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents tbrBold As System.Windows.Forms.ToolStripButton + Friend WithEvents tbrItalic As System.Windows.Forms.ToolStripButton + Friend WithEvents tbrUnderline As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripSeparator7 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents tbrFind As System.Windows.Forms.ToolStripButton + Friend WithEvents MenuStrip2 As System.Windows.Forms.MenuStrip + Friend WithEvents FileToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents NewToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem1 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents OpenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents SaveToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents SaveAsToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem2 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents mnuPageSetup As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents PreviewToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents PrintToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem3 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents ExitToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents EditToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents mnuUndo As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents mnuRedo As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator6 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents FindToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents FindAndReplaceToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem4 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents SelectAllToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem5 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents CopyToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents CutToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents PasteToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem8 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents InsertImageToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents FontToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents SelectFontToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem6 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents FontColorToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator5 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents BoldToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ItalicToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents UnderlineToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents NormalToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem7 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents PageColorToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ParagraphToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents IndentToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents mnuIndent0 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents mnuIndent5 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents mnuIndent10 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents mnuIndent15 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents mnuIndent20 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents mnuAlign As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents LeftToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents CenterToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents RightToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents BulletsToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents AddBulletsToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents RemoveBulletsToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents TabPage5 As System.Windows.Forms.TabPage + Friend WithEvents rtbDoc As ExtendedRichTextBox.RichTextBoxPrintCtrl + Friend WithEvents SplitContainer1 As System.Windows.Forms.SplitContainer + Friend WithEvents GroupBox2 As System.Windows.Forms.GroupBox + Friend WithEvents TreeView1 As System.Windows.Forms.TreeView + Friend WithEvents Label12 As System.Windows.Forms.Label + Friend WithEvents TextBox6 As System.Windows.Forms.TextBox + Friend WithEvents Label10 As System.Windows.Forms.Label + Friend WithEvents GroupBox3 As System.Windows.Forms.GroupBox + Friend WithEvents C1TrueDBGrid2 As C1.Win.C1TrueDBGrid.C1TrueDBGrid + Friend WithEvents ToolStrip5 As System.Windows.Forms.ToolStrip + Friend WithEvents ToolStripButton6 As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripButton7 As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStrip4 As System.Windows.Forms.ToolStrip + Friend WithEvents ToolStripButton2 As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripButton3 As System.Windows.Forms.ToolStripButton + Friend WithEvents TabPage6 As System.Windows.Forms.TabPage + Friend WithEvents C1TrueDBGrid4 As C1.Win.C1TrueDBGrid.C1TrueDBGrid + Friend WithEvents TabPage1 As System.Windows.Forms.TabPage + Friend WithEvents C1TrueDBGrid3 As C1.Win.C1TrueDBGrid.C1TrueDBGrid + Friend WithEvents ToolStrip7 As System.Windows.Forms.ToolStrip + Friend WithEvents ToolStripButton20 As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripButton21 As System.Windows.Forms.ToolStripButton + Friend WithEvents TextBox7 As System.Windows.Forms.TextBox + Friend WithEvents Label5 As System.Windows.Forms.Label + Friend WithEvents ComboBox3 As System.Windows.Forms.ComboBox + Friend WithEvents Label4 As System.Windows.Forms.Label + Friend WithEvents GroupBox5 As System.Windows.Forms.GroupBox + Friend WithEvents C1TrueDBGrid1 As C1.Win.C1TrueDBGrid.C1TrueDBGrid + Friend WithEvents ToolStrip2 As System.Windows.Forms.ToolStrip + Friend WithEvents ToolStripButton4 As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripButton5 As System.Windows.Forms.ToolStripButton + Friend WithEvents GroupBox4 As System.Windows.Forms.GroupBox + Friend WithEvents GroupBox6 As System.Windows.Forms.GroupBox + Friend WithEvents TreeView2 As System.Windows.Forms.TreeView + Friend WithEvents ContextMenuStrip1 As System.Windows.Forms.ContextMenuStrip + Friend WithEvents ÜbersichtToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents AllesToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStrip8 As System.Windows.Forms.ToolStrip + Friend WithEvents ToolStripButton22 As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripButton23 As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStrip9 As System.Windows.Forms.ToolStrip + Friend WithEvents ToolStripButton24 As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripButton25 As System.Windows.Forms.ToolStripButton + Friend WithEvents GroupBox7 As System.Windows.Forms.GroupBox + Friend WithEvents C1TrueDBGrid5 As C1.Win.C1TrueDBGrid.C1TrueDBGrid + Friend WithEvents CheckedListBox1 As System.Windows.Forms.CheckedListBox + Friend WithEvents TabControl2 As System.Windows.Forms.TabControl + Friend WithEvents TabPage2 As System.Windows.Forms.TabPage + Friend WithEvents TabPage7 As System.Windows.Forms.TabPage + Friend WithEvents Panel1 As System.Windows.Forms.Panel + Friend WithEvents Panel2 As System.Windows.Forms.Panel + Friend WithEvents SplitContainer2 As System.Windows.Forms.SplitContainer + Friend WithEvents RichTextBoxPrintCtrl1 As ExtendedRichTextBox.RichTextBoxPrintCtrl + Friend WithEvents ToolStrip6 As System.Windows.Forms.ToolStrip + Friend WithEvents ToolStripButton8 As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripButton9 As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripButton10 As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripButton11 As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripSeparator8 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents ToolStripButton12 As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripSeparator9 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents ToolStripButton13 As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripButton14 As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripButton15 As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripSeparator10 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents ToolStripButton16 As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripButton17 As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripButton18 As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripSeparator11 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents ToolStripButton19 As System.Windows.Forms.ToolStripButton + Friend WithEvents MenuStrip3 As System.Windows.Forms.MenuStrip + Friend WithEvents ToolStripMenuItem9 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem10 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator12 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents ToolStripMenuItem11 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem12 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem13 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator13 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents ToolStripMenuItem14 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem15 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem16 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator14 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents ToolStripMenuItem17 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem18 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem19 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem20 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator15 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents ToolStripMenuItem21 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem22 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator16 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents ToolStripMenuItem23 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator17 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents ToolStripMenuItem24 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem25 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem26 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator18 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents ToolStripMenuItem27 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem28 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem29 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator19 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents ToolStripMenuItem30 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator20 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents ToolStripMenuItem31 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem32 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem33 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem34 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripSeparator21 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents ToolStripMenuItem35 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem36 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem37 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem38 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem39 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem40 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem41 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem42 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem43 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem44 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem45 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem46 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem47 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem48 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem49 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents Panel3 As System.Windows.Forms.Panel +End Class diff --git a/.svn/pristine/bc/bcb053cc272e59b9f6b54b613625f5133bba9174.svn-base b/.svn/pristine/bc/bcb053cc272e59b9f6b54b613625f5133bba9174.svn-base new file mode 100644 index 0000000..52890c8 Binary files /dev/null and b/.svn/pristine/bc/bcb053cc272e59b9f6b54b613625f5133bba9174.svn-base differ diff --git a/.svn/pristine/bc/bce7f5cbc90602bfe508a31c0a9f75f9bebe4780.svn-base b/.svn/pristine/bc/bce7f5cbc90602bfe508a31c0a9f75f9bebe4780.svn-base new file mode 100644 index 0000000..e5655bb --- /dev/null +++ b/.svn/pristine/bc/bce7f5cbc90602bfe508a31c0a9f75f9bebe4780.svn-base @@ -0,0 +1,342 @@ + _ +Partial Class frmVerbindungEditor + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmVerbindungEditor)) + Me.ToolStrip1 = New System.Windows.Forms.ToolStrip + Me.TSBtnQuit = New System.Windows.Forms.ToolStripButton + Me.TSBtnSave = New System.Windows.Forms.ToolStripButton + Me.MenuStrip1 = New System.Windows.Forms.MenuStrip + Me.DateiToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem + Me.BeendenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem + Me.SplitContainer1 = New System.Windows.Forms.SplitContainer + Me.SplitContainer2 = New System.Windows.Forms.SplitContainer + Me.GrpBoxLeft = New System.Windows.Forms.GroupBox + Me.C1DatenLeft = New C1.Win.C1TrueDBGrid.C1TrueDBGrid + Me.GrpBoxRight = New System.Windows.Forms.GroupBox + Me.C1DatenRight = New C1.Win.C1TrueDBGrid.C1TrueDBGrid + Me.Panel1 = New System.Windows.Forms.Panel + Me.BtnFocusRight = New System.Windows.Forms.Button + Me.ImageList1 = New System.Windows.Forms.ImageList(Me.components) + Me.BtnFocusLeft = New System.Windows.Forms.Button + Me.BtnVerbinden = New System.Windows.Forms.Button + Me.GrpBoxBottom = New System.Windows.Forms.GroupBox + Me.C1DatenBottom = New C1.Win.C1TrueDBGrid.C1TrueDBGrid + Me.ToolStrip1.SuspendLayout() + Me.MenuStrip1.SuspendLayout() + Me.SplitContainer1.Panel1.SuspendLayout() + Me.SplitContainer1.Panel2.SuspendLayout() + Me.SplitContainer1.SuspendLayout() + Me.SplitContainer2.Panel1.SuspendLayout() + Me.SplitContainer2.Panel2.SuspendLayout() + Me.SplitContainer2.SuspendLayout() + Me.GrpBoxLeft.SuspendLayout() + CType(Me.C1DatenLeft, System.ComponentModel.ISupportInitialize).BeginInit() + Me.GrpBoxRight.SuspendLayout() + CType(Me.C1DatenRight, System.ComponentModel.ISupportInitialize).BeginInit() + Me.Panel1.SuspendLayout() + Me.GrpBoxBottom.SuspendLayout() + CType(Me.C1DatenBottom, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'ToolStrip1 + ' + Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.TSBtnQuit, Me.TSBtnSave}) + Me.ToolStrip1.Location = New System.Drawing.Point(0, 24) + Me.ToolStrip1.Name = "ToolStrip1" + Me.ToolStrip1.Size = New System.Drawing.Size(953, 25) + Me.ToolStrip1.TabIndex = 3 + Me.ToolStrip1.Text = "ToolStrip1" + ' + 'TSBtnQuit + ' + Me.TSBtnQuit.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnQuit.Image = CType(resources.GetObject("TSBtnQuit.Image"), System.Drawing.Image) + Me.TSBtnQuit.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnQuit.Name = "TSBtnQuit" + Me.TSBtnQuit.Size = New System.Drawing.Size(23, 22) + Me.TSBtnQuit.Text = "ToolStripButton1" + Me.TSBtnQuit.ToolTipText = "Fenster schliessen" + ' + 'TSBtnSave + ' + Me.TSBtnSave.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnSave.Image = CType(resources.GetObject("TSBtnSave.Image"), System.Drawing.Image) + Me.TSBtnSave.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnSave.Name = "TSBtnSave" + Me.TSBtnSave.Size = New System.Drawing.Size(23, 22) + Me.TSBtnSave.Text = "ToolStripButton1" + Me.TSBtnSave.ToolTipText = "Daten speichern" + ' + 'MenuStrip1 + ' + Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DateiToolStripMenuItem}) + Me.MenuStrip1.Location = New System.Drawing.Point(0, 0) + Me.MenuStrip1.Name = "MenuStrip1" + Me.MenuStrip1.Size = New System.Drawing.Size(953, 24) + Me.MenuStrip1.TabIndex = 2 + Me.MenuStrip1.Text = "MenuStrip1" + ' + 'DateiToolStripMenuItem + ' + Me.DateiToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.BeendenToolStripMenuItem}) + Me.DateiToolStripMenuItem.Name = "DateiToolStripMenuItem" + Me.DateiToolStripMenuItem.Size = New System.Drawing.Size(44, 20) + Me.DateiToolStripMenuItem.Text = "&Datei" + ' + 'BeendenToolStripMenuItem + ' + Me.BeendenToolStripMenuItem.Name = "BeendenToolStripMenuItem" + Me.BeendenToolStripMenuItem.Size = New System.Drawing.Size(117, 22) + Me.BeendenToolStripMenuItem.Text = "&Beenden" + ' + 'SplitContainer1 + ' + Me.SplitContainer1.Dock = System.Windows.Forms.DockStyle.Fill + Me.SplitContainer1.Location = New System.Drawing.Point(0, 49) + Me.SplitContainer1.Name = "SplitContainer1" + Me.SplitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal + ' + 'SplitContainer1.Panel1 + ' + Me.SplitContainer1.Panel1.Controls.Add(Me.SplitContainer2) + Me.SplitContainer1.Panel1.Controls.Add(Me.Panel1) + ' + 'SplitContainer1.Panel2 + ' + Me.SplitContainer1.Panel2.Controls.Add(Me.GrpBoxBottom) + Me.SplitContainer1.Size = New System.Drawing.Size(953, 466) + Me.SplitContainer1.SplitterDistance = 276 + Me.SplitContainer1.TabIndex = 4 + ' + 'SplitContainer2 + ' + Me.SplitContainer2.Dock = System.Windows.Forms.DockStyle.Fill + Me.SplitContainer2.Location = New System.Drawing.Point(0, 0) + Me.SplitContainer2.Name = "SplitContainer2" + ' + 'SplitContainer2.Panel1 + ' + Me.SplitContainer2.Panel1.Controls.Add(Me.GrpBoxLeft) + ' + 'SplitContainer2.Panel2 + ' + Me.SplitContainer2.Panel2.Controls.Add(Me.GrpBoxRight) + Me.SplitContainer2.Size = New System.Drawing.Size(953, 243) + Me.SplitContainer2.SplitterDistance = 467 + Me.SplitContainer2.TabIndex = 1 + ' + 'GrpBoxLeft + ' + Me.GrpBoxLeft.Controls.Add(Me.C1DatenLeft) + Me.GrpBoxLeft.Dock = System.Windows.Forms.DockStyle.Fill + Me.GrpBoxLeft.Location = New System.Drawing.Point(0, 0) + Me.GrpBoxLeft.Name = "GrpBoxLeft" + Me.GrpBoxLeft.Size = New System.Drawing.Size(467, 243) + Me.GrpBoxLeft.TabIndex = 0 + Me.GrpBoxLeft.TabStop = False + Me.GrpBoxLeft.Text = "GroupBox1" + ' + 'C1DatenLeft + ' + Me.C1DatenLeft.AlternatingRows = True + Me.C1DatenLeft.Dock = System.Windows.Forms.DockStyle.Fill + Me.C1DatenLeft.FilterBar = True + Me.C1DatenLeft.GroupByCaption = "Drag a column header here to group by that column" + Me.C1DatenLeft.Images.Add(CType(resources.GetObject("C1DatenLeft.Images"), System.Drawing.Image)) + Me.C1DatenLeft.Location = New System.Drawing.Point(3, 16) + Me.C1DatenLeft.Name = "C1DatenLeft" + Me.C1DatenLeft.PreviewInfo.Location = New System.Drawing.Point(0, 0) + Me.C1DatenLeft.PreviewInfo.Size = New System.Drawing.Size(0, 0) + Me.C1DatenLeft.PreviewInfo.ZoomFactor = 75 + Me.C1DatenLeft.PrintInfo.PageSettings = CType(resources.GetObject("C1DatenLeft.PrintInfo.PageSettings"), System.Drawing.Printing.PageSettings) + Me.C1DatenLeft.Size = New System.Drawing.Size(461, 224) + Me.C1DatenLeft.TabIndex = 4 + Me.C1DatenLeft.Text = "C1TrueDBGrid1" + Me.C1DatenLeft.PropBag = resources.GetString("C1DatenLeft.PropBag") + ' + 'GrpBoxRight + ' + Me.GrpBoxRight.Controls.Add(Me.C1DatenRight) + Me.GrpBoxRight.Dock = System.Windows.Forms.DockStyle.Fill + Me.GrpBoxRight.Location = New System.Drawing.Point(0, 0) + Me.GrpBoxRight.Name = "GrpBoxRight" + Me.GrpBoxRight.Size = New System.Drawing.Size(482, 243) + Me.GrpBoxRight.TabIndex = 1 + Me.GrpBoxRight.TabStop = False + Me.GrpBoxRight.Text = "GroupBox1" + ' + 'C1DatenRight + ' + Me.C1DatenRight.AlternatingRows = True + Me.C1DatenRight.Dock = System.Windows.Forms.DockStyle.Fill + Me.C1DatenRight.FilterBar = True + Me.C1DatenRight.GroupByCaption = "Drag a column header here to group by that column" + Me.C1DatenRight.Images.Add(CType(resources.GetObject("C1DatenRight.Images"), System.Drawing.Image)) + Me.C1DatenRight.Location = New System.Drawing.Point(3, 16) + Me.C1DatenRight.Name = "C1DatenRight" + Me.C1DatenRight.PreviewInfo.Location = New System.Drawing.Point(0, 0) + Me.C1DatenRight.PreviewInfo.Size = New System.Drawing.Size(0, 0) + Me.C1DatenRight.PreviewInfo.ZoomFactor = 75 + Me.C1DatenRight.PrintInfo.PageSettings = CType(resources.GetObject("C1DatenRight.PrintInfo.PageSettings"), System.Drawing.Printing.PageSettings) + Me.C1DatenRight.Size = New System.Drawing.Size(476, 224) + Me.C1DatenRight.TabIndex = 4 + Me.C1DatenRight.Text = "C1TrueDBGrid1" + Me.C1DatenRight.PropBag = resources.GetString("C1DatenRight.PropBag") + ' + 'Panel1 + ' + Me.Panel1.Controls.Add(Me.BtnFocusRight) + Me.Panel1.Controls.Add(Me.BtnFocusLeft) + Me.Panel1.Controls.Add(Me.BtnVerbinden) + Me.Panel1.Dock = System.Windows.Forms.DockStyle.Bottom + Me.Panel1.Location = New System.Drawing.Point(0, 243) + Me.Panel1.Name = "Panel1" + Me.Panel1.Size = New System.Drawing.Size(953, 33) + Me.Panel1.TabIndex = 0 + ' + 'BtnFocusRight + ' + Me.BtnFocusRight.ImageIndex = 2 + Me.BtnFocusRight.ImageList = Me.ImageList1 + Me.BtnFocusRight.Location = New System.Drawing.Point(920, 3) + Me.BtnFocusRight.Name = "BtnFocusRight" + Me.BtnFocusRight.Size = New System.Drawing.Size(30, 23) + Me.BtnFocusRight.TabIndex = 2 + Me.BtnFocusRight.UseVisualStyleBackColor = True + ' + 'ImageList1 + ' + Me.ImageList1.ImageStream = CType(resources.GetObject("ImageList1.ImageStream"), System.Windows.Forms.ImageListStreamer) + Me.ImageList1.TransparentColor = System.Drawing.Color.Transparent + Me.ImageList1.Images.SetKeyName(0, "Kette3.ico") + Me.ImageList1.Images.SetKeyName(1, "Haken1.ico") + Me.ImageList1.Images.SetKeyName(2, "Haken2.ico") + ' + 'BtnFocusLeft + ' + Me.BtnFocusLeft.ImageIndex = 1 + Me.BtnFocusLeft.ImageList = Me.ImageList1 + Me.BtnFocusLeft.Location = New System.Drawing.Point(6, 4) + Me.BtnFocusLeft.Name = "BtnFocusLeft" + Me.BtnFocusLeft.Size = New System.Drawing.Size(30, 23) + Me.BtnFocusLeft.TabIndex = 1 + Me.BtnFocusLeft.UseVisualStyleBackColor = True + ' + 'BtnVerbinden + ' + Me.BtnVerbinden.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft + Me.BtnVerbinden.ImageIndex = 0 + Me.BtnVerbinden.ImageList = Me.ImageList1 + Me.BtnVerbinden.Location = New System.Drawing.Point(430, 4) + Me.BtnVerbinden.Name = "BtnVerbinden" + Me.BtnVerbinden.Size = New System.Drawing.Size(84, 23) + Me.BtnVerbinden.TabIndex = 0 + Me.BtnVerbinden.Text = "Verbinden" + Me.BtnVerbinden.TextAlign = System.Drawing.ContentAlignment.MiddleRight + Me.BtnVerbinden.UseVisualStyleBackColor = True + ' + 'GrpBoxBottom + ' + Me.GrpBoxBottom.Controls.Add(Me.C1DatenBottom) + Me.GrpBoxBottom.Dock = System.Windows.Forms.DockStyle.Fill + Me.GrpBoxBottom.Location = New System.Drawing.Point(0, 0) + Me.GrpBoxBottom.Name = "GrpBoxBottom" + Me.GrpBoxBottom.Size = New System.Drawing.Size(953, 186) + Me.GrpBoxBottom.TabIndex = 2 + Me.GrpBoxBottom.TabStop = False + Me.GrpBoxBottom.Text = "GroupBox1" + ' + 'C1DatenBottom + ' + Me.C1DatenBottom.AlternatingRows = True + Me.C1DatenBottom.CellTips = C1.Win.C1TrueDBGrid.CellTipEnum.Floating + Me.C1DatenBottom.Dock = System.Windows.Forms.DockStyle.Fill + Me.C1DatenBottom.FilterBar = True + Me.C1DatenBottom.GroupByCaption = "Drag a column header here to group by that column" + Me.C1DatenBottom.Images.Add(CType(resources.GetObject("C1DatenBottom.Images"), System.Drawing.Image)) + Me.C1DatenBottom.Location = New System.Drawing.Point(3, 16) + Me.C1DatenBottom.Name = "C1DatenBottom" + Me.C1DatenBottom.PreviewInfo.Location = New System.Drawing.Point(0, 0) + Me.C1DatenBottom.PreviewInfo.Size = New System.Drawing.Size(0, 0) + Me.C1DatenBottom.PreviewInfo.ZoomFactor = 75 + Me.C1DatenBottom.PrintInfo.PageSettings = CType(resources.GetObject("C1DatenBottom.PrintInfo.PageSettings"), System.Drawing.Printing.PageSettings) + Me.C1DatenBottom.Size = New System.Drawing.Size(947, 167) + Me.C1DatenBottom.TabAction = C1.Win.C1TrueDBGrid.TabActionEnum.ColumnNavigation + Me.C1DatenBottom.TabIndex = 4 + Me.C1DatenBottom.Text = "C1TrueDBGrid1" + Me.C1DatenBottom.PropBag = resources.GetString("C1DatenBottom.PropBag") + ' + 'frmVerbindungEditor + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(953, 515) + Me.Controls.Add(Me.SplitContainer1) + Me.Controls.Add(Me.ToolStrip1) + Me.Controls.Add(Me.MenuStrip1) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.Name = "frmVerbindungEditor" + Me.Text = "VerbindungEditor" + Me.ToolStrip1.ResumeLayout(False) + Me.ToolStrip1.PerformLayout() + Me.MenuStrip1.ResumeLayout(False) + Me.MenuStrip1.PerformLayout() + Me.SplitContainer1.Panel1.ResumeLayout(False) + Me.SplitContainer1.Panel2.ResumeLayout(False) + Me.SplitContainer1.ResumeLayout(False) + Me.SplitContainer2.Panel1.ResumeLayout(False) + Me.SplitContainer2.Panel2.ResumeLayout(False) + Me.SplitContainer2.ResumeLayout(False) + Me.GrpBoxLeft.ResumeLayout(False) + CType(Me.C1DatenLeft, System.ComponentModel.ISupportInitialize).EndInit() + Me.GrpBoxRight.ResumeLayout(False) + CType(Me.C1DatenRight, System.ComponentModel.ISupportInitialize).EndInit() + Me.Panel1.ResumeLayout(False) + Me.GrpBoxBottom.ResumeLayout(False) + CType(Me.C1DatenBottom, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents ToolStrip1 As System.Windows.Forms.ToolStrip + Friend WithEvents TSBtnQuit As System.Windows.Forms.ToolStripButton + Friend WithEvents MenuStrip1 As System.Windows.Forms.MenuStrip + Friend WithEvents DateiToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents BeendenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents SplitContainer1 As System.Windows.Forms.SplitContainer + Friend WithEvents SplitContainer2 As System.Windows.Forms.SplitContainer + Friend WithEvents Panel1 As System.Windows.Forms.Panel + Friend WithEvents GrpBoxLeft As System.Windows.Forms.GroupBox + Friend WithEvents GrpBoxRight As System.Windows.Forms.GroupBox + Friend WithEvents GrpBoxBottom As System.Windows.Forms.GroupBox + Friend WithEvents BtnVerbinden As System.Windows.Forms.Button + Friend WithEvents ImageList1 As System.Windows.Forms.ImageList + Friend WithEvents BtnFocusRight As System.Windows.Forms.Button + Friend WithEvents BtnFocusLeft As System.Windows.Forms.Button + Friend WithEvents TSBtnSave As System.Windows.Forms.ToolStripButton + Friend WithEvents C1DatenLeft As C1.Win.C1TrueDBGrid.C1TrueDBGrid + Friend WithEvents C1DatenRight As C1.Win.C1TrueDBGrid.C1TrueDBGrid + Friend WithEvents C1DatenBottom As C1.Win.C1TrueDBGrid.C1TrueDBGrid +End Class diff --git a/.svn/pristine/c1/c19c0a6ac557d8c248858f301be635e88c613c0d.svn-base b/.svn/pristine/c1/c19c0a6ac557d8c248858f301be635e88c613c0d.svn-base new file mode 100644 index 0000000..5f5bcc4 --- /dev/null +++ b/.svn/pristine/c1/c19c0a6ac557d8c248858f301be635e88c613c0d.svn-base @@ -0,0 +1,236 @@ +''' +''' Form mit generalisiertem Domain-Table-Editor. +''' +''' +''' +''' +''' Vertragsverwaltung.TKB.VV.Sysadmin.DomainTable +Public Class frmDomainEditor + +#Region "Deklarationen" + Dim Domaintable As Sysadmin.DomainTable + Dim tablename As String + Dim SpaltenTitel As New Utils.Tabellenspalte +#End Region + +#Region "Formular-Funktionen" + ''' + ''' Tabellenname bernehmen und Objekt DomainTable initialisieren + ''' Initialisierung der Komponenten + ''' + ''' Tabellenname der Tabelle, welche ber den Domaineditor editiert werden soll + ''' Bentigt werden entsprechende Stored_Procedures, welche mit LBLLGEN_2 generiert wurden + ''' pr_"Tablename"_SelectAll + ''' pr_"Tablename"_Update + ''' + Public Sub New(ByVal tblname As String) + Me.InitializeComponent() + Domaintable = New Sysadmin.DomainTable(tblname) + + Me.Text = "Domaineditor: " & tblname + Me.tablename = tblname + End Sub + ''' + ''' Zuordnung der Daten aus Domaintable und Spaltentitel des Grids setzen + ''' + ''' + ''' + ''' + Private Sub frmDomainEditor_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + If Me.Domaintable.Tablename = "Auswertung" Then + Me.C1Daten.ContextMenuStrip = Me.ContextMenuStripAuswertung + End If + Me.C1Daten.DataSource = Domaintable.Tabledata + Me.C1Daten.DataMember = Domaintable.Tabledata.Tables(0).TableName + SpaltenTitel.Spaltentitel_aktualisieren(Me.C1Daten, Me.tablename, Me.Domaintable.Tabledata.Tables(0)) + End Sub + + + ''' + ''' Schliessen des Formulars + ''' + ''' + ''' + ''' + Private Sub BeendenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BeendenToolStripMenuItem.Click + Me.Close() + End Sub + ''' + ''' Ruft BeendetnToolStipMenuItem_Click auf + ''' + ''' + ''' + ''' + Private Sub TSBtnQuit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnQuit.Click + BeendenToolStripMenuItem_Click(sender, e) + End Sub + ''' + ''' Prfung auf allfllige Daten-Changes. Wurden Daten verndert, kann der User entscheiden, ob gespeichert, nichtgespeichert oder + ''' das Formular nicht gespeichert werden soll. + ''' + ''' + ''' + ''' + Private Sub frmDomainEditor_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing + If Me.Domaintable.Tabledata.HasChanges Then + Dim msg As New Utils.MyMessage + Dim msgboxres As MsgBoxResult + msgboxres = msg.Show_MessageYesNoCancel(3) + If msgboxres = MsgBoxResult.Cancel Then + e.Cancel = True + Exit Sub + End If + If msgboxres = MsgBoxResult.Yes Then + Domaintable.Save_Data() + End If + End If + If UCase(Me.tablename) = "SPALTEN" Then + Globals.Spaltendaten.Rows.Clear() + End If + Domaintable.dispose() + + End Sub + + ''' + ''' Sichern der Daten + ''' + ''' + ''' + ''' + Private Sub TSBtnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnSave.Click + Try + Domaintable.Save_Data() + If UCase(Me.tablename) = "SPALTEN" Then + Globals.Spaltendaten.Rows.Clear() + End If + If UCase(Me.tablename) = "TOOLTIP" Then + Globals.ToolTipDaten.Tables.Clear() + End If + Catch ex As Exception + MsgBox(ex.Message) + End Try + End Sub +#End Region + +#Region "C1 Handling" + ''' + ''' Aktualisierung der Spalten mutiert_am und mutierern. Sofern noch kein Schlsselwert gesetzt ist (bei neuem Datensatz) + ''' wird dieser aus der Keytabelle ausgelesen und zugewiesen. + ''' + ''' + ''' + ''' Je Domaintable ist ein Eintrag in der Key-Tabelle notwendig + Private Sub C1Daten_AfterColUpdate(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.ColEventArgs) Handles C1Daten.AfterColUpdate + 'Aktualisieren von Mutierer und Mutiert_am + + Dim i As Integer + Try + For i = 0 To Me.C1Daten.Columns.Count - 1 + If LCase(Me.C1Daten.Columns(i).DataField) = "mutiert_am" Then Me.C1Daten.Columns(i).Value = Now + If LCase(Me.C1Daten.Columns(i).DataField) = "mutierer" Then Me.C1Daten.Columns(i).Value = Globals.clsmitarbeiter.iMitarbeiternr.Value + Next + + 'neuer DB-Key auslsen, sofern kein Key vorhanden ist + If Me.C1Daten.Columns(0).Value Is DBNull.Value Then + Dim dbkey As New db.clsMyKey_Tabelle() + Dim key As Long + dbkey.cpMainConnectionProvider = conn + key = dbkey.get_dbkey(tablename) + Me.C1Daten.Columns(0).Value = key + For i = 0 To Me.C1Daten.Columns.Count - 1 + If LCase(Me.C1Daten.Columns(i).DataField) = "mandantnr" Then + Me.C1Daten.Columns(i).Value = Globals.clsmitarbeiter.iMandantnr.Value + End If + If LCase(Me.C1Daten.Columns(i).DataField) = "erstellt_am" Then + Me.C1Daten.Columns(i).Value = Now + End If + If LCase(Me.C1Daten.Columns(i).DataField) = "aktiv" Then + Me.C1Daten.Columns(i).Value = 1 + End If + Next + dbkey.Dispose() + End If + Catch + End Try + + End Sub + + ''' + ''' Aktualisierung der Default-Werte + ''' + ''' + ''' + ''' + Private Sub C1Daten_AfterInsert(ByVal sender As Object, ByVal e As System.EventArgs) Handles C1Daten.AfterInsert + 'Dim i As Integer + ''Defaulwerte erstellt_am, mutiert_am, mutierer und aktiv setzen + 'Try + + ' For i = 0 To C1Daten.Columns.Count - 1 + ' If LCase(Me.C1Daten.Columns(i).DataField) = "aktiv" Then + ' Me.C1Daten.Columns(i).Value = 1 + ' End If + ' If LCase(Me.C1Daten.Columns(i).DataField) = "mutiert_am" Then + ' Me.C1Daten.Columns(i).Value = Now + ' End If + ' If LCase(Me.C1Daten.Columns(i).DataField) = "mutierer" Then + ' Me.C1Daten.Columns(i).Value = Globals.clsmitarbeiter.iMitarbeiternr.Value + ' End If + ' If LCase(Me.C1Daten.Columns(i).DataField) = "mandantnr" Then + ' Me.C1Daten.Columns(i).Value = Globals.clsmitarbeiter.iMandantnr.Value + ' End If + ' If LCase(Me.C1Daten.Columns(i).DataField) = "mandnat" Then + ' Me.C1Daten.Columns(i).Value = Globals.clsmitarbeiter.iMandantnr.Value + ' End If + ' Next + 'Catch + 'End Try + End Sub + + ''' + ''' Anzeige allflliger Cellen-Tips + ''' + ''' + ''' + ''' + Private Sub C1Daten_FetchCellTips(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.FetchCellTipsEventArgs) Handles C1Daten.FetchCellTips + Dim ts As New Utils.Tabellenspalte + ts.Tabelle = Me.tablename + Try + 'ts.Feld = Me.C1Daten.Splits(0).DisplayColumns(e.ColIndex).Name + ts.Feld = Me.C1Daten.Columns(e.ColIndex).DataField + ts.getspalte() + e.CellTip = ts.TipText + Catch + End Try + ts = Nothing + + End Sub + +#End Region + + + Private Sub ReportdateiDBToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ReportdateiDBToolStripMenuItem.Click + Me.OpenFileDialog1.Filter = "Report-Dateien|*.rpt|Alle Dateien|*.*" + Me.OpenFileDialog1.ShowDialog() + If Me.OpenFileDialog1.FileName <> "" Then + Dim dms As New TKB.VV.Utils.MyDocMgmt + Me.C1Daten.Columns("CR_Filename").Value = dms.Save_RptDatei(Me.C1Daten.Columns("Auswertungnr").Value, Me.OpenFileDialog1.FileName) + dms = Nothing + + End If + End Sub + + Private Sub ReportdateiFilesystemToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ReportdateiFilesystemToolStripMenuItem.Click + Me.SaveFileDialog1.Filter = "Report-Dateien|*.rpt|Alle Dateien|*.*" + Me.SaveFileDialog1.ShowDialog() + If Me.SaveFileDialog1.FileName <> "" Then + Dim dms As New TKB.VV.Utils.MyDocMgmt + dms.Get_RptDatei(Me.C1Daten.Columns("Auswertungnr").Value, Me.SaveFileDialog1.FileName) + dms = Nothing + End If + + End Sub +End Class diff --git a/.svn/pristine/c2/c245f15762b0a6dc12ba166c48df17ed5409b862.svn-base b/.svn/pristine/c2/c245f15762b0a6dc12ba166c48df17ed5409b862.svn-base new file mode 100644 index 0000000..3cd557e Binary files /dev/null and b/.svn/pristine/c2/c245f15762b0a6dc12ba166c48df17ed5409b862.svn-base differ diff --git a/.svn/pristine/c2/c2ba1e2a18bd202fd0843ece13170a4dc419f730.svn-base b/.svn/pristine/c2/c2ba1e2a18bd202fd0843ece13170a4dc419f730.svn-base new file mode 100644 index 0000000..c3865ab --- /dev/null +++ b/.svn/pristine/c2/c2ba1e2a18bd202fd0843ece13170a4dc419f730.svn-base @@ -0,0 +1,174 @@ + _ +Partial Class frmDomainEditorExtTables + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmDomainEditorExtTables)) + Me.MenuStrip1 = New System.Windows.Forms.MenuStrip + Me.DateiToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem + Me.BeendenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem + Me.ToolStrip1 = New System.Windows.Forms.ToolStrip + Me.TSBtnQuit = New System.Windows.Forms.ToolStripButton + Me.TSBtnSave = New System.Windows.Forms.ToolStripButton + Me.C1Daten = New C1.Win.C1TrueDBGrid.C1TrueDBGrid + Me.ContextMenuStripAuswertung = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.ReportdateiDBToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem + Me.ReportdateiFilesystemToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem + Me.OpenFileDialog1 = New System.Windows.Forms.OpenFileDialog + Me.SaveFileDialog1 = New System.Windows.Forms.SaveFileDialog + Me.MenuStrip1.SuspendLayout() + Me.ToolStrip1.SuspendLayout() + CType(Me.C1Daten, System.ComponentModel.ISupportInitialize).BeginInit() + Me.ContextMenuStripAuswertung.SuspendLayout() + Me.SuspendLayout() + ' + 'MenuStrip1 + ' + Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DateiToolStripMenuItem}) + Me.MenuStrip1.Location = New System.Drawing.Point(0, 0) + Me.MenuStrip1.Name = "MenuStrip1" + Me.MenuStrip1.Size = New System.Drawing.Size(556, 24) + Me.MenuStrip1.TabIndex = 0 + Me.MenuStrip1.Text = "MenuStrip1" + ' + 'DateiToolStripMenuItem + ' + Me.DateiToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.BeendenToolStripMenuItem}) + Me.DateiToolStripMenuItem.Name = "DateiToolStripMenuItem" + Me.DateiToolStripMenuItem.Size = New System.Drawing.Size(44, 20) + Me.DateiToolStripMenuItem.Text = "&Datei" + ' + 'BeendenToolStripMenuItem + ' + Me.BeendenToolStripMenuItem.Name = "BeendenToolStripMenuItem" + Me.BeendenToolStripMenuItem.Size = New System.Drawing.Size(116, 22) + Me.BeendenToolStripMenuItem.Text = "&Beenden" + ' + 'ToolStrip1 + ' + Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.TSBtnQuit, Me.TSBtnSave}) + Me.ToolStrip1.Location = New System.Drawing.Point(0, 24) + Me.ToolStrip1.Name = "ToolStrip1" + Me.ToolStrip1.Size = New System.Drawing.Size(556, 25) + Me.ToolStrip1.TabIndex = 1 + Me.ToolStrip1.Text = "ToolStrip1" + ' + 'TSBtnQuit + ' + Me.TSBtnQuit.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnQuit.Image = CType(resources.GetObject("TSBtnQuit.Image"), System.Drawing.Image) + Me.TSBtnQuit.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnQuit.Name = "TSBtnQuit" + Me.TSBtnQuit.Size = New System.Drawing.Size(23, 22) + Me.TSBtnQuit.Text = "ToolStripButton1" + Me.TSBtnQuit.ToolTipText = "Fenster schliessen" + ' + 'TSBtnSave + ' + Me.TSBtnSave.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnSave.Image = CType(resources.GetObject("TSBtnSave.Image"), System.Drawing.Image) + Me.TSBtnSave.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnSave.Name = "TSBtnSave" + Me.TSBtnSave.Size = New System.Drawing.Size(23, 22) + Me.TSBtnSave.Text = "ToolStripButton1" + Me.TSBtnSave.ToolTipText = "Daten speichern" + ' + 'C1Daten + ' + Me.C1Daten.AllowAddNew = True + Me.C1Daten.AllowDelete = True + Me.C1Daten.AlternatingRows = True + Me.C1Daten.CellTips = C1.Win.C1TrueDBGrid.CellTipEnum.Floating + Me.C1Daten.Dock = System.Windows.Forms.DockStyle.Fill + Me.C1Daten.FilterBar = True + Me.C1Daten.GroupByCaption = "Drag a column header here to group by that column" + Me.C1Daten.Images.Add(CType(resources.GetObject("C1Daten.Images"), System.Drawing.Image)) + Me.C1Daten.Location = New System.Drawing.Point(0, 49) + Me.C1Daten.Name = "C1Daten" + Me.C1Daten.PreviewInfo.Location = New System.Drawing.Point(0, 0) + Me.C1Daten.PreviewInfo.Size = New System.Drawing.Size(0, 0) + Me.C1Daten.PreviewInfo.ZoomFactor = 75 + Me.C1Daten.PrintInfo.PageSettings = CType(resources.GetObject("C1Daten.PrintInfo.PageSettings"), System.Drawing.Printing.PageSettings) + Me.C1Daten.Size = New System.Drawing.Size(556, 270) + Me.C1Daten.TabAction = C1.Win.C1TrueDBGrid.TabActionEnum.ColumnNavigation + Me.C1Daten.TabIndex = 4 + Me.C1Daten.Text = "C1TrueDBGrid1" + Me.C1Daten.PropBag = resources.GetString("C1Daten.PropBag") + ' + 'ContextMenuStripAuswertung + ' + Me.ContextMenuStripAuswertung.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ReportdateiDBToolStripMenuItem, Me.ReportdateiFilesystemToolStripMenuItem}) + Me.ContextMenuStripAuswertung.Name = "ContextMenuStripAuswertung" + Me.ContextMenuStripAuswertung.Size = New System.Drawing.Size(200, 48) + ' + 'ReportdateiDBToolStripMenuItem + ' + Me.ReportdateiDBToolStripMenuItem.Name = "ReportdateiDBToolStripMenuItem" + Me.ReportdateiDBToolStripMenuItem.Size = New System.Drawing.Size(199, 22) + Me.ReportdateiDBToolStripMenuItem.Text = "Reportdatei -> DB" + ' + 'ReportdateiFilesystemToolStripMenuItem + ' + Me.ReportdateiFilesystemToolStripMenuItem.Name = "ReportdateiFilesystemToolStripMenuItem" + Me.ReportdateiFilesystemToolStripMenuItem.Size = New System.Drawing.Size(199, 22) + Me.ReportdateiFilesystemToolStripMenuItem.Text = "Reportdatei -> Filesystem" + ' + 'OpenFileDialog1 + ' + Me.OpenFileDialog1.FileName = "OpenFileDialog1" + ' + 'frmDomainEditorExtTables + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(556, 319) + Me.Controls.Add(Me.C1Daten) + Me.Controls.Add(Me.ToolStrip1) + Me.Controls.Add(Me.MenuStrip1) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.MainMenuStrip = Me.MenuStrip1 + Me.Name = "frmDomainEditorExtTables" + Me.Text = "frmDomainEditor" + Me.MenuStrip1.ResumeLayout(False) + Me.MenuStrip1.PerformLayout() + Me.ToolStrip1.ResumeLayout(False) + Me.ToolStrip1.PerformLayout() + CType(Me.C1Daten, System.ComponentModel.ISupportInitialize).EndInit() + Me.ContextMenuStripAuswertung.ResumeLayout(False) + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents MenuStrip1 As System.Windows.Forms.MenuStrip + Friend WithEvents ToolStrip1 As System.Windows.Forms.ToolStrip + Friend WithEvents DateiToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents BeendenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents TSBtnQuit As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnSave As System.Windows.Forms.ToolStripButton + Friend WithEvents C1Daten As C1.Win.C1TrueDBGrid.C1TrueDBGrid + Friend WithEvents ContextMenuStripAuswertung As System.Windows.Forms.ContextMenuStrip + Friend WithEvents ReportdateiDBToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ReportdateiFilesystemToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents OpenFileDialog1 As System.Windows.Forms.OpenFileDialog + Friend WithEvents SaveFileDialog1 As System.Windows.Forms.SaveFileDialog +End Class diff --git a/.svn/pristine/c3/c3063070bf3d3f267cbe9e1fb13563a704625c82.svn-base b/.svn/pristine/c3/c3063070bf3d3f267cbe9e1fb13563a704625c82.svn-base new file mode 100644 index 0000000..d7176d9 --- /dev/null +++ b/.svn/pristine/c3/c3063070bf3d3f267cbe9e1fb13563a704625c82.svn-base @@ -0,0 +1,41 @@ +''' +''' Form fr den Login. Wird nur angezeigt, sofern in der Tabelle Application Show-Login = true +''' +''' +Public Class frmLogin + + Dim m_mitarbeiternr As Integer + Property Mitarbeiternr() As Integer + Get + Return m_mitarbeiternr + End Get + Set(ByVal value As Integer) + m_mitarbeiternr = value + End Set + End Property + + Dim tmp_madaten As New DataTable + Dim tmp_clsmitarbeiter As New DB.MyMitarbeiter + Dim conn As New DB.clsConnectionProvider + + Private Sub frmLogin_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + conn = Globals.conn + tmp_clsmitarbeiter.cpMainConnectionProvider = conn + conn.OpenConnection() + tmp_madaten = tmp_clsmitarbeiter.SelectAllwithFullname + Me.cbMitarbeiter.DataSource = tmp_madaten + Me.cbMitarbeiter.DisplayMember = "Fullname" + Me.cbMitarbeiter.ValueMember = "Mitarbeiternr" + conn.CloseConnection(True) + End Sub + + Private Sub btnAnmelden_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAnmelden.Click + Me.Mitarbeiternr = Me.cbMitarbeiter.SelectedValue + Me.DialogResult = Windows.Forms.DialogResult.OK + End Sub + + Private Sub btnAbbruch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAbbruch.Click + Me.Mitarbeiternr = -1 + Me.DialogResult = Windows.Forms.DialogResult.Cancel + End Sub +End Class \ No newline at end of file diff --git a/.svn/pristine/c6/c60e08ccd5767695273e9cad586070c477c7a9c7.svn-base b/.svn/pristine/c6/c60e08ccd5767695273e9cad586070c477c7a9c7.svn-base new file mode 100644 index 0000000..9597270 Binary files /dev/null and b/.svn/pristine/c6/c60e08ccd5767695273e9cad586070c477c7a9c7.svn-base differ diff --git a/.svn/pristine/c6/c663237e00fa57288522216e932e49bcb1b5005a.svn-base b/.svn/pristine/c6/c663237e00fa57288522216e932e49bcb1b5005a.svn-base new file mode 100644 index 0000000..a5fd957 --- /dev/null +++ b/.svn/pristine/c6/c663237e00fa57288522216e932e49bcb1b5005a.svn-base @@ -0,0 +1,1142 @@ +-- ================================================================================================================ +-- Stored Procedures generated by LLBLGen v1.21.2003.712 Final on Dienstag, 1. Januar 2013, 13:15:45 +-- For the Low Level Business Logic Layer for the database 'themenmanagement' +-- ================================================================================================================ +SET NOCOUNT ON +GO +USE [themenmanagement] +GO + +-- ======================================================================================================== +-- [Stored Procedures generated for table: Application] +GO + +-- //// Insert Stored procedure. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_Application_Insert]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_Application_Insert] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will insert 1 row in the table 'Application' +-- Gets: @iapplikationsnr int +-- Gets: @sversion varchar(4) +-- Gets: @bshowlogin bit +-- Gets: @imandantnr int +-- Gets: @baktiv bit +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Gets: @imutierer int +-- Gets: @stmp_filepath varchar(255) +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_Application_Insert] + @iapplikationsnr int, + @sversion varchar(4), + @bshowlogin bit, + @imandantnr int, + @baktiv bit, + @daerstellt_am datetime, + @damutiert_am datetime, + @imutierer int, + @stmp_filepath varchar(255), + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- INSERT a new row in the table. +INSERT [dbo].[Application] +( + [applikationsnr], + [version], + [showlogin], + [mandantnr], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer], + [tmp_filepath] +) +VALUES +( + @iapplikationsnr, + @sversion, + @bshowlogin, + @imandantnr, + @baktiv, + @daerstellt_am, + @damutiert_am, + @imutierer, + @stmp_filepath +) +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Update Stored procedure for updating one single row. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_Application_Update]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_Application_Update] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will update an existing row in the table 'Application' +-- Gets: @iapplikationsnr int +-- Gets: @sversion varchar(4) +-- Gets: @bshowlogin bit +-- Gets: @imandantnr int +-- Gets: @baktiv bit +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Gets: @imutierer int +-- Gets: @stmp_filepath varchar(255) +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_Application_Update] + @iapplikationsnr int, + @sversion varchar(4), + @bshowlogin bit, + @imandantnr int, + @baktiv bit, + @daerstellt_am datetime, + @damutiert_am datetime, + @imutierer int, + @stmp_filepath varchar(255), + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- UPDATE an existing row in the table. +UPDATE [dbo].[Application] +SET + [version] = @sversion, + [showlogin] = @bshowlogin, + [mandantnr] = @imandantnr, + [aktiv] = @baktiv, + [erstellt_am] = @daerstellt_am, + [mutiert_am] = @damutiert_am, + [mutierer] = @imutierer, + [tmp_filepath] = @stmp_filepath +WHERE + [applikationsnr] = @iapplikationsnr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Delete Stored procedure using Primary Key. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_Application_Delete]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_Application_Delete] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will delete an existing row from the table 'Application' +-- using the Primary Key. +-- Gets: @iapplikationsnr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_Application_Delete] + @iapplikationsnr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- DELETE an existing row from the table. +DELETE FROM [dbo].[Application] +WHERE + [applikationsnr] = @iapplikationsnr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Select Stored procedure, based on Primary Key. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_Application_SelectOne]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_Application_SelectOne] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will select an existing row from the table 'Application' +-- based on the Primary Key. +-- Gets: @iapplikationsnr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_Application_SelectOne] + @iapplikationsnr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT an existing row from the table. +SELECT + [applikationsnr], + [version], + [showlogin], + [mandantnr], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer], + [tmp_filepath] +FROM [dbo].[Application] +WHERE + [applikationsnr] = @iapplikationsnr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Select All Stored procedure. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_Application_SelectAll]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_Application_SelectAll] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will select all rows from the table 'Application' +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_Application_SelectAll] + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT all rows from the table. +SELECT + [applikationsnr], + [version], + [showlogin], + [mandantnr], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer], + [tmp_filepath] +FROM [dbo].[Application] +ORDER BY + [applikationsnr] ASC +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- [End of Stored Procedures for table: Application] +-- ======================================================================================================== +GO + +-- ======================================================================================================== +-- [Stored Procedures generated for table: key_tabelle] +GO + +-- //// Insert Stored procedure. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_key_tabelle_Insert]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_key_tabelle_Insert] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will insert 1 row in the table 'key_tabelle' +-- Gets: @sbeschreibung varchar(255) +-- Gets: @ikey_wert int +-- Gets: @imandantnr int +-- Gets: @baktiv bit +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Gets: @imutierer int +-- Returns: @ikeynr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_key_tabelle_Insert] + @sbeschreibung varchar(255), + @ikey_wert int, + @imandantnr int, + @baktiv bit, + @daerstellt_am datetime, + @damutiert_am datetime, + @imutierer int, + @ikeynr int OUTPUT, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- INSERT a new row in the table. +INSERT [dbo].[key_tabelle] +( + [beschreibung], + [key_wert], + [mandantnr], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer] +) +VALUES +( + @sbeschreibung, + @ikey_wert, + @imandantnr, + @baktiv, + @daerstellt_am, + @damutiert_am, + @imutierer +) +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +-- Get the IDENTITY value for the row just inserted. +SELECT @ikeynr=SCOPE_IDENTITY() +GO + + +-- //// Update Stored procedure for updating one single row. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_key_tabelle_Update]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_key_tabelle_Update] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will update an existing row in the table 'key_tabelle' +-- Gets: @ikeynr int +-- Gets: @sbeschreibung varchar(255) +-- Gets: @ikey_wert int +-- Gets: @imandantnr int +-- Gets: @baktiv bit +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Gets: @imutierer int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_key_tabelle_Update] + @ikeynr int, + @sbeschreibung varchar(255), + @ikey_wert int, + @imandantnr int, + @baktiv bit, + @daerstellt_am datetime, + @damutiert_am datetime, + @imutierer int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- UPDATE an existing row in the table. +UPDATE [dbo].[key_tabelle] +SET + [beschreibung] = @sbeschreibung, + [key_wert] = @ikey_wert, + [mandantnr] = @imandantnr, + [aktiv] = @baktiv, + [erstellt_am] = @daerstellt_am, + [mutiert_am] = @damutiert_am, + [mutierer] = @imutierer +WHERE + [keynr] = @ikeynr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Delete Stored procedure using Primary Key. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_key_tabelle_Delete]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_key_tabelle_Delete] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will delete an existing row from the table 'key_tabelle' +-- using the Primary Key. +-- Gets: @ikeynr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_key_tabelle_Delete] + @ikeynr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- DELETE an existing row from the table. +DELETE FROM [dbo].[key_tabelle] +WHERE + [keynr] = @ikeynr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Select Stored procedure, based on Primary Key. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_key_tabelle_SelectOne]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_key_tabelle_SelectOne] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will select an existing row from the table 'key_tabelle' +-- based on the Primary Key. +-- Gets: @ikeynr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_key_tabelle_SelectOne] + @ikeynr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT an existing row from the table. +SELECT + [keynr], + [beschreibung], + [key_wert], + [mandantnr], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer] +FROM [dbo].[key_tabelle] +WHERE + [keynr] = @ikeynr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Select All Stored procedure. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_key_tabelle_SelectAll]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_key_tabelle_SelectAll] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will select all rows from the table 'key_tabelle' +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_key_tabelle_SelectAll] + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT all rows from the table. +SELECT + [keynr], + [beschreibung], + [key_wert], + [mandantnr], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer] +FROM [dbo].[key_tabelle] +ORDER BY + [keynr] ASC +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- [End of Stored Procedures for table: key_tabelle] +-- ======================================================================================================== +GO + +-- ======================================================================================================== +-- [Stored Procedures generated for table: meldungstexte] +GO + +-- //// Insert Stored procedure. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_meldungstexte_Insert]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_meldungstexte_Insert] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will insert 1 row in the table 'meldungstexte' +-- Gets: @imeldungstextnr int +-- Gets: @isprache int +-- Gets: @sinhalt varchar(1024) +-- Gets: @sBeschreibung varchar(255) +-- Gets: @baktiv bit +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Gets: @imutierer int +-- Gets: @imandantnr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_meldungstexte_Insert] + @imeldungstextnr int, + @isprache int, + @sinhalt varchar(1024), + @sBeschreibung varchar(255), + @baktiv bit, + @daerstellt_am datetime, + @damutiert_am datetime, + @imutierer int, + @imandantnr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- INSERT a new row in the table. +INSERT [dbo].[meldungstexte] +( + [meldungstextnr], + [sprache], + [inhalt], + [Beschreibung], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer], + [mandantnr] +) +VALUES +( + @imeldungstextnr, + @isprache, + @sinhalt, + @sBeschreibung, + @baktiv, + @daerstellt_am, + @damutiert_am, + @imutierer, + @imandantnr +) +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Update Stored procedure for updating one single row. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_meldungstexte_Update]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_meldungstexte_Update] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will update an existing row in the table 'meldungstexte' +-- Gets: @imeldungstextnr int +-- Gets: @isprache int +-- Gets: @sinhalt varchar(1024) +-- Gets: @sBeschreibung varchar(255) +-- Gets: @baktiv bit +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Gets: @imutierer int +-- Gets: @imandantnr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_meldungstexte_Update] + @imeldungstextnr int, + @isprache int, + @sinhalt varchar(1024), + @sBeschreibung varchar(255), + @baktiv bit, + @daerstellt_am datetime, + @damutiert_am datetime, + @imutierer int, + @imandantnr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- UPDATE an existing row in the table. +UPDATE [dbo].[meldungstexte] +SET + [inhalt] = @sinhalt, + [Beschreibung] = @sBeschreibung, + [aktiv] = @baktiv, + [erstellt_am] = @daerstellt_am, + [mutiert_am] = @damutiert_am, + [mutierer] = @imutierer, + [mandantnr] = @imandantnr +WHERE + [meldungstextnr] = @imeldungstextnr + AND [sprache] = @isprache +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Delete Stored procedure using Primary Key. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_meldungstexte_Delete]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_meldungstexte_Delete] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will delete an existing row from the table 'meldungstexte' +-- using the Primary Key. +-- Gets: @imeldungstextnr int +-- Gets: @isprache int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_meldungstexte_Delete] + @imeldungstextnr int, + @isprache int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- DELETE an existing row from the table. +DELETE FROM [dbo].[meldungstexte] +WHERE + [meldungstextnr] = @imeldungstextnr + AND [sprache] = @isprache +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Delete Stored procedure using PK field [meldungstextnr] +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_meldungstexte_DeleteAllWmeldungstextnrLogic]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_meldungstexte_DeleteAllWmeldungstextnrLogic] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will delete one or more existing rows from the table 'meldungstexte' +-- using the Primary Key field [meldungstextnr]. +-- Gets: @imeldungstextnr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_meldungstexte_DeleteAllWmeldungstextnrLogic] + @imeldungstextnr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- DELETE one or more existing rows from the table. +DELETE FROM [dbo].[meldungstexte] +WHERE + [meldungstextnr] = @imeldungstextnr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Delete Stored procedure using PK field [sprache] +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_meldungstexte_DeleteAllWspracheLogic]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_meldungstexte_DeleteAllWspracheLogic] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will delete one or more existing rows from the table 'meldungstexte' +-- using the Primary Key field [sprache]. +-- Gets: @isprache int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_meldungstexte_DeleteAllWspracheLogic] + @isprache int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- DELETE one or more existing rows from the table. +DELETE FROM [dbo].[meldungstexte] +WHERE + [sprache] = @isprache +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Select Stored procedure, based on Primary Key. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_meldungstexte_SelectOne]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_meldungstexte_SelectOne] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will select an existing row from the table 'meldungstexte' +-- based on the Primary Key. +-- Gets: @imeldungstextnr int +-- Gets: @isprache int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_meldungstexte_SelectOne] + @imeldungstextnr int, + @isprache int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT an existing row from the table. +SELECT + [meldungstextnr], + [sprache], + [inhalt], + [Beschreibung], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer], + [mandantnr] +FROM [dbo].[meldungstexte] +WHERE + [meldungstextnr] = @imeldungstextnr + AND [sprache] = @isprache +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Select All Stored procedure. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_meldungstexte_SelectAll]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_meldungstexte_SelectAll] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will select all rows from the table 'meldungstexte' +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_meldungstexte_SelectAll] + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT all rows from the table. +SELECT + [meldungstextnr], + [sprache], + [inhalt], + [Beschreibung], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer], + [mandantnr] +FROM [dbo].[meldungstexte] +ORDER BY + [meldungstextnr] ASC + , [sprache] ASC +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- [End of Stored Procedures for table: meldungstexte] +-- ======================================================================================================== +GO + +-- ======================================================================================================== +-- [Stored Procedures generated for table: mitarbeiter] +GO + +-- //// Insert Stored procedure. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_mitarbeiter_Insert]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_mitarbeiter_Insert] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will insert 1 row in the table 'mitarbeiter' +-- Gets: @imitarbeiternr int +-- Gets: @svorname varchar(50) +-- Gets: @sname varchar(50) +-- Gets: @stgnummer varchar(50) +-- Gets: @semail varchar(50) +-- Gets: @imandantnr int +-- Gets: @baktiv bit +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Gets: @imutierer int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_mitarbeiter_Insert] + @imitarbeiternr int, + @svorname varchar(50), + @sname varchar(50), + @stgnummer varchar(50), + @semail varchar(50), + @imandantnr int, + @baktiv bit, + @daerstellt_am datetime, + @damutiert_am datetime, + @imutierer int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- INSERT a new row in the table. +INSERT [dbo].[mitarbeiter] +( + [mitarbeiternr], + [vorname], + [name], + [tgnummer], + [email], + [mandantnr], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer] +) +VALUES +( + @imitarbeiternr, + @svorname, + @sname, + @stgnummer, + @semail, + @imandantnr, + @baktiv, + @daerstellt_am, + @damutiert_am, + @imutierer +) +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Update Stored procedure for updating one single row. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_mitarbeiter_Update]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_mitarbeiter_Update] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will update an existing row in the table 'mitarbeiter' +-- Gets: @imitarbeiternr int +-- Gets: @svorname varchar(50) +-- Gets: @sname varchar(50) +-- Gets: @stgnummer varchar(50) +-- Gets: @semail varchar(50) +-- Gets: @imandantnr int +-- Gets: @baktiv bit +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Gets: @imutierer int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_mitarbeiter_Update] + @imitarbeiternr int, + @svorname varchar(50), + @sname varchar(50), + @stgnummer varchar(50), + @semail varchar(50), + @imandantnr int, + @baktiv bit, + @daerstellt_am datetime, + @damutiert_am datetime, + @imutierer int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- UPDATE an existing row in the table. +UPDATE [dbo].[mitarbeiter] +SET + [vorname] = @svorname, + [name] = @sname, + [tgnummer] = @stgnummer, + [email] = @semail, + [mandantnr] = @imandantnr, + [aktiv] = @baktiv, + [erstellt_am] = @daerstellt_am, + [mutiert_am] = @damutiert_am, + [mutierer] = @imutierer +WHERE + [mitarbeiternr] = @imitarbeiternr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Delete Stored procedure using Primary Key. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_mitarbeiter_Delete]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_mitarbeiter_Delete] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will delete an existing row from the table 'mitarbeiter' +-- using the Primary Key. +-- Gets: @imitarbeiternr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_mitarbeiter_Delete] + @imitarbeiternr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- DELETE an existing row from the table. +DELETE FROM [dbo].[mitarbeiter] +WHERE + [mitarbeiternr] = @imitarbeiternr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Select Stored procedure, based on Primary Key. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_mitarbeiter_SelectOne]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_mitarbeiter_SelectOne] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will select an existing row from the table 'mitarbeiter' +-- based on the Primary Key. +-- Gets: @imitarbeiternr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_mitarbeiter_SelectOne] + @imitarbeiternr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT an existing row from the table. +SELECT + [mitarbeiternr], + [vorname], + [name], + [tgnummer], + [email], + [mandantnr], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer] +FROM [dbo].[mitarbeiter] +WHERE + [mitarbeiternr] = @imitarbeiternr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Select All Stored procedure. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_mitarbeiter_SelectAll]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_mitarbeiter_SelectAll] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will select all rows from the table 'mitarbeiter' +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_mitarbeiter_SelectAll] + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT all rows from the table. +SELECT + [mitarbeiternr], + [vorname], + [name], + [tgnummer], + [email], + [mandantnr], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer] +FROM [dbo].[mitarbeiter] +ORDER BY + [mitarbeiternr] ASC +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- [End of Stored Procedures for table: mitarbeiter] +-- ======================================================================================================== +GO + +-- ======================================================================================================== +-- [Stored Procedures generated for table: spalten] +GO + +-- //// Insert Stored procedure. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_spalten_Insert]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_spalten_Insert] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will insert 1 row in the table 'spalten' +-- Gets: @ieintragnr int +-- Gets: @stabelle varchar(255) +-- Gets: @stabellenspalte varchar(255) +-- Gets: @sspalte varchar(255) +-- Gets: @bReadonly bit +-- Gets: @balsHacken bit +-- Gets: @iBreite int +-- Gets: @iReihenfolge int +-- Gets: @stiptext varchar(255) +-- Gets: @baktiv bit +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Gets: @imutierer int +-- Gets: @imandantnr int +-- Gets: @sNumberFormat varchar(255) +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_spalten_Insert] + @ieintragnr int, + @stabelle varchar(255), + @stabellenspalte varchar(255), + @sspalte varchar(255), + @bReadonly bit, + @balsHacken bit, + @iBreite int, + @iReihenfolge int, + @stiptext varchar(255), + @baktiv bit, + @daerstellt_am datetime, + @damutiert_am datetime, + @imutierer int, + @imandantnr int, + @sNumberFormat varchar(255), + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- INSERT a new row in the table. +INSERT [dbo].[spalten] +( + [eintragnr], + [tabelle], + [tabellenspalte], + [spalte], + [Readonly], + [alsHacken], + [Breite], + [Reihenfolge], + [tiptext], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer], + [mandantnr], + [NumberFormat] +) +VALUES +( + @ieintragnr, + @stabelle, + @stabellenspalte, + @sspalte, + @bReadonly, + @balsHacken, + @iBreite, + @iReihenfolge, + @stiptext, + @baktiv, + @daerstellt_am, + @damutiert_am, + @imutierer, + @imandantnr, + @sNumberFormat +) +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Update Stored procedure for updating one single row. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_spalten_Update]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_spalten_Update] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will update an existing row in the table 'spalten' +-- Gets: @ieintragnr int +-- Gets: @stabelle varchar(255) +-- Gets: @stabellenspalte varchar(255) +-- Gets: @sspalte varchar(255) +-- Gets: @bReadonly bit +-- Gets: @balsHacken bit +-- Gets: @iBreite int +-- Gets: @iReihenfolge int +-- Gets: @stiptext varchar(255) +-- Gets: @baktiv bit +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Gets: @imutierer int +-- Gets: @imandantnr int +-- Gets: @sNumberFormat varchar(255) +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_spalten_Update] + @ieintragnr int, + @stabelle varchar(255), + @stabellenspalte varchar(255), + @sspalte varchar(255), + @bReadonly bit, + @balsHacken bit, + @iBreite int, + @iReihenfolge int, + @stiptext varchar(255), + @baktiv bit, + @daerstellt_am datetime, + @damutiert_am datetime, + @imutierer int, + @imandantnr int, + @sNumberFormat varchar(255), + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- UPDATE an existing row in the table. +UPDATE [dbo].[spalten] +SET + [tabelle] = @stabelle, + [tabellenspalte] = @stabellenspalte, + [spalte] = @sspalte, + [Readonly] = @bReadonly, + [alsHacken] = @balsHacken, + [Breite] = @iBreite, + [Reihenfolge] = @iReihenfolge, + [tiptext] = @stiptext, + [aktiv] = @baktiv, + [erstellt_am] = @daerstellt_am, + [mutiert_am] = @damutiert_am, + [mutierer] = @imutierer, + [mandantnr] = @imandantnr, + [NumberFormat] = @sNumberFormat +WHERE + [eintragnr] = @ieintragnr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Delete Stored procedure using Primary Key. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_spalten_Delete]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_spalten_Delete] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will delete an existing row from the table 'spalten' +-- using the Primary Key. +-- Gets: @ieintragnr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_spalten_Delete] + @ieintragnr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- DELETE an existing row from the table. +DELETE FROM [dbo].[spalten] +WHERE + [eintragnr] = @ieintragnr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Select Stored procedure, based on Primary Key. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_spalten_SelectOne]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_spalten_SelectOne] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will select an existing row from the table 'spalten' +-- based on the Primary Key. +-- Gets: @ieintragnr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_spalten_SelectOne] + @ieintragnr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT an existing row from the table. +SELECT + [eintragnr], + [tabelle], + [tabellenspalte], + [spalte], + [Readonly], + [alsHacken], + [Breite], + [Reihenfolge], + [tiptext], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer], + [mandantnr], + [NumberFormat] +FROM [dbo].[spalten] +WHERE + [eintragnr] = @ieintragnr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Select All Stored procedure. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_spalten_SelectAll]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_spalten_SelectAll] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will select all rows from the table 'spalten' +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_spalten_SelectAll] + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT all rows from the table. +SELECT + [eintragnr], + [tabelle], + [tabellenspalte], + [spalte], + [Readonly], + [alsHacken], + [Breite], + [Reihenfolge], + [tiptext], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer], + [mandantnr], + [NumberFormat] +FROM [dbo].[spalten] +ORDER BY + [eintragnr] ASC +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- [End of Stored Procedures for table: spalten] +-- ======================================================================================================== +GO diff --git a/.svn/pristine/c7/c70e514aeececccacc1fab6410880818ec9d43b5.svn-base b/.svn/pristine/c7/c70e514aeececccacc1fab6410880818ec9d43b5.svn-base new file mode 100644 index 0000000..f7be3b5 --- /dev/null +++ b/.svn/pristine/c7/c70e514aeececccacc1fab6410880818ec9d43b5.svn-base @@ -0,0 +1,208 @@ +' ////////////////////////////////////////////////////////////////////////////////////////// +' // Description: Base class for Database Interaction. +' // Generated by LLBLGen v1.21.2003.712 Final on: Dienstag, 1. Januar 2013, 13:15:45 +' // Because this class implements IDisposable, derived classes shouldn't do so. +' ////////////////////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Configuration +Imports System.Data +Imports System.Data.SqlClient +Imports System.Data.SqlTypes + +Namespace db + ' /// + ' /// Purpose: Error Enums used by this LLBL library. + ' /// + Public Enum LLBLError + AllOk + ' // Add more here (check the comma's!) + End Enum + + + ' /// + ' /// Purpose: General interface of the API generated. Contains only common methods of all classes. + ' /// + Public Interface ICommonDBAccess + Function Insert() As Boolean + Function Update() As Boolean + Function Delete() As Boolean + Function SelectOne() As DataTable + Function SelectAll() As DataTable + End Interface + + + ' /// + ' /// Purpose: Abstract base class for Database Interaction classes. + ' /// + Public MustInherit Class clsDBInteractionBase + Implements IDisposable + Implements ICommonDBAccess + +#Region " Class Member Declarations " + + Protected m_scoMainConnection As SqlConnection + Protected m_iRowsAffected As Integer + Protected m_iErrorCode As SqlInt32 + Protected m_bMainConnectionIsCreatedLocal As Boolean + Protected m_cpMainConnectionProvider As clsConnectionProvider + Private m_sConnectionString As String + Private m_bIsDisposed As Boolean + +#End Region + + + ' /// + ' /// Purpose: Class constructor. + ' /// + Public Sub New() + ' // Initialize the class' members. + InitClass() + End Sub + + + ' /// + ' /// Purpose: Initializes class members. + ' /// + Private Sub InitClass() + ' // create all the objects and initialize other members. + m_scoMainConnection = new SqlConnection() + m_bMainConnectionIsCreatedLocal = True + m_cpMainConnectionProvider = Nothing + m_iErrorCode = New SqlInt32(LLBLError.AllOk) + m_bIsDisposed = False + End Sub + + + ' /// + ' /// Purpose: Implements the IDispose' method Dispose. + ' /// + Overloads Public Sub Dispose() Implements IDisposable.Dispose + Dispose(True) + GC.SuppressFinalize(Me) + End Sub + + + ' /// + ' /// Purpose: Implements the Dispose functionality. + ' /// + Overridable Overloads Protected Sub Dispose(ByVal bIsDisposing As Boolean) + ' // Check to see if Dispose has already been called. + If Not m_bIsDisposed Then + If bIsDisposing Then + ' // Dispose managed resources. + If m_bMainConnectionIsCreatedLocal Then + ' // Object is created in this class, so destroy it here. + m_scoMainConnection.Close() + m_scoMainConnection.Dispose() + m_bMainConnectionIsCreatedLocal = True + End If + m_cpMainConnectionProvider = Nothing + m_scoMainConnection = Nothing + End If + End If + m_bIsDisposed = True + End Sub + + + ' /// + ' /// Purpose: Implements the ICommonDBAccess.Insert() method. + ' /// + Public Overridable Function Insert() As Boolean Implements ICommonDBAccess.Insert + ' // No implementation, throw exception + Throw New NotImplementedException() + End Function + + + ' /// + ' /// Purpose: Implements the ICommonDBAccess.Delete() method. + ' /// + Public Overridable Function Delete() As Boolean Implements ICommonDBAccess.Delete + ' // No implementation, throw exception + Throw New NotImplementedException() + End Function + + + ' /// + ' /// Purpose: Implements the ICommonDBAccess.Update() method. + ' /// + Public Overridable Function Update() As Boolean Implements ICommonDBAccess.Update + ' // No implementation, throw exception + Throw New NotImplementedException() + End Function + + + ' /// + ' /// Purpose: Implements the ICommonDBAccess.SelectOne() method. + ' /// + Public Overridable Function SelectOne() As DataTable Implements ICommonDBAccess.SelectOne + ' // No implementation, throw exception + Throw New NotImplementedException() + End Function + + + ' /// + ' /// Purpose: Implements the ICommonDBAccess.SelectAll() method. + ' /// + Public Overridable Function SelectAll() As DataTable Implements ICommonDBAccess.SelectAll + ' // No implementation, throw exception + Throw New NotImplementedException() + End Function + + +#Region " Class Property Declarations " + + Public WriteOnly Property cpMainConnectionProvider() As clsConnectionProvider + Set(ByVal Value As clsConnectionProvider) + If Value Is Nothing Then + ' // Invalid value + Throw New ArgumentNullException("cpMainConnectionProvider", "Nothing passed as value to this property which is not allowed.") + End If + + ' // A connection provider object is passed to this class. + ' // Retrieve the SqlConnection object, if present and create a + ' // reference to it. If there is already a MainConnection object + ' // referenced by the membervar, destroy that one or simply + ' // remove the reference, based on the flag. + If Not (m_scoMainConnection Is Nothing) Then + ' // First get rid of current connection object. Caller is responsible + If m_bMainConnectionIsCreatedLocal Then + ' // Is local created object, close it and dispose it. + m_scoMainConnection.Close() + m_scoMainConnection.Dispose() + End If + ' // Remove reference. + m_scoMainConnection = Nothing + End If + m_cpMainConnectionProvider = CType(Value, clsConnectionProvider) + m_scoMainConnection = m_cpMainConnectionProvider.scoDBConnection + m_bMainConnectionIsCreatedLocal = False + End Set + End Property + + + Public ReadOnly Property iErrorCode() As SqlInt32 + Get + Return m_iErrorCode + End Get + End Property + + + Public Property sConnectionString() As String + Get + Return m_sConnectionString + End Get + Set (ByVal Value As String) + m_sConnectionString = Value + m_scoMainConnection.ConnectionString = m_sConnectionString + End Set + End Property + Public Readonly Property iRowsAffected() As Integer + Get + Return m_iRowsAffected + End Get + End Property + +#End Region + + End Class +End Namespace diff --git a/.svn/pristine/c8/c83b0feb406207ea30f44816579fd9c40379fde5.svn-base b/.svn/pristine/c8/c83b0feb406207ea30f44816579fd9c40379fde5.svn-base new file mode 100644 index 0000000..f2da9c3 --- /dev/null +++ b/.svn/pristine/c8/c83b0feb406207ea30f44816579fd9c40379fde5.svn-base @@ -0,0 +1,15 @@ +Public Class frmSplash + + Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick + Me.Close() + End Sub + + Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click + + End Sub + + Private Sub frmSplash_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load + Me.lblVersion.Text = "Version " & Globals.clsapplication.sVersion.Value + Me.lblVersiondatum.text = Globals.Versionsdatum + End Sub +End Class \ No newline at end of file diff --git a/.svn/pristine/c8/c867888c2ec1fe2b7182b38b39ad8d982d1b0848.svn-base b/.svn/pristine/c8/c867888c2ec1fe2b7182b38b39ad8d982d1b0848.svn-base new file mode 100644 index 0000000..c64e3c7 --- /dev/null +++ b/.svn/pristine/c8/c867888c2ec1fe2b7182b38b39ad8d982d1b0848.svn-base @@ -0,0 +1,491 @@ +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace Sysadmin + + Public Class DomainTable + +#Region "Deklarationen" + + Dim UpdateCommand As New SqlCommand + Dim InsertCommand As New SqlCommand + Dim selectcommand As New SqlCommand + Dim BaseData As New DataSet + Dim connection As New SqlConnection() + Dim da As New SqlDataAdapter("", connection) + + Dim m_tablename As String + Property Tablename() As String + Get + Return m_tablename + End Get + Set(ByVal value As String) + m_tablename = value + End Set + End Property + + Dim m_selectproc As String + Property Select_Proc() As String + Get + Return "pr_" & Tablename & "_selectall" + End Get + Set(ByVal value As String) + m_selectproc = "pr_" & Tablename & "_selectall" + End Set + End Property + Property Update_Proc() As String + Get + Return "pr_" & Tablename & "_Update" + End Get + Set(ByVal value As String) + m_selectproc = "pr_" & Tablename & "_Update" + End Set + End Property + + Property Insert_Proc() As String + Get + Return "pr_" & Tablename & "_Insert" + End Get + Set(ByVal value As String) + m_selectproc = "pr_" & Tablename & "_Update" + End Set + End Property + + Property Select_Proc_Bottomtable() As String + Get + Return "pr_" & Tablename & "_selectall_bottomtable" + End Get + Set(ByVal value As String) + m_selectproc = "pr_" & Tablename & "_selectall_bottomtable" + End Set + End Property + Property Select_Proc_Bottomtable2() As String + Get + Return "pr_" & Tablename & "_selectall_bottomtable2" + End Get + Set(ByVal value As String) + m_selectproc = "pr_" & Tablename & "_selectall_bottomtable2" + End Set + End Property + Property Update_Proc_Bottomtable() As String + Get + Return "pr_" & Tablename & "_Update_bottomtable" + End Get + Set(ByVal value As String) + m_selectproc = "pr_" & Tablename & "_Update_bottomtable" + End Set + End Property + + Property Insert_Proc_Bottomtable() As String + Get + Return "pr_" & Tablename & "_Insert_bottomtable" + End Get + Set(ByVal value As String) + m_selectproc = "pr_" & Tablename & "_Update_bottomtable" + End Set + End Property + + Dim m_Tabledata As New DataSet + Property Tabledata() As DataSet + Get + Return m_Tabledata + End Get + Set(ByVal value As DataSet) + m_Tabledata = value + End Set + End Property + +#End Region + + ''' + ''' Tabellenname bernehmen und Daten ab DB laden + ''' + ''' + ''' + Sub New(ByVal tablename As String, Optional ByVal Fokus As Integer = 0, Optional ByVal Keyvalue As String = "") + Me.Tablename = tablename + If Keyvalue = "" Then + Load_Data() + Else + Load_Bootom_Table(tablename, Fokus, Keyvalue) + End If + End Sub + + Sub New(ByVal tablename As String, ByVal Fokus As Integer, ByVal Keyvalue As String, ByVal mitarbeiternr As Integer) + Me.Tablename = tablename + If Keyvalue = "" Then + Load_Data() + Else + Load_Data_MA_Fokus(tablename, Fokus, Keyvalue, mitarbeiternr) + End If + End Sub + + + Sub New(ByVal tablename As String, ByVal keyvalue As String, ByVal mitarbeiternr As Integer) + Me.Tablename = tablename + Load_Data_MA(tablename, keyvalue, mitarbeiternr) + End Sub + + Sub New(ByVal tablename As String, ByVal Focus As Integer, ByVal keyvalue As String, ByVal mitarbeiternr As Integer, ByVal Key2 As String) + Me.Tablename = tablename + Load_Data_2Key(tablename, keyvalue, mitarbeiternr, Key2) + End Sub + + + Public Sub Load_Data_MA(ByVal tablename As String, ByVal KeyValue As String, ByVal mitarbeiternr As Integer) + Tabledata.Tables.Clear() + Dim sqlcmd As New SqlCommand + sqlcmd.CommandText = Me.Select_Proc_Bottomtable + sqlcmd.Parameters.Add("@iErrorCode", SqlDbType.Int, 4) + sqlcmd.Parameters.Add("@Fokus", SqlDbType.Int, 4) + sqlcmd.Parameters.Add("@KeyValue", SqlDbType.VarChar, 255) + sqlcmd.Parameters.Add("@mitarbeiternr", SqlDbType.VarChar, 255) + sqlcmd.Parameters(0).Value = 0 + sqlcmd.Parameters(1).Value = 0 + sqlcmd.Parameters(2).Value = KeyValue + sqlcmd.Parameters(3).Value = Globals.clsmitarbeiter.iMitarbeiternr.Value + + sqlcmd.CommandType = CommandType.StoredProcedure + sqlcmd.Connection = connection + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.SelectCommand = sqlcmd + da.Fill(Tabledata, "Domaintable") + Catch ex As Exception + Finally + connection.Close() + da.Dispose() + sqlcmd.Dispose() + End Try + End Sub + + Public Sub Load_Data_2Key(ByVal tablename As String, ByVal KeyValue As String, ByVal mitarbeiternr As Integer, ByVal KeyValue2 As String) + Tabledata.Tables.Clear() + Dim sqlcmd As New SqlCommand + sqlcmd.CommandText = Me.Select_Proc_Bottomtable2 + sqlcmd.Parameters.Add("@iErrorCode", SqlDbType.Int, 4) + sqlcmd.Parameters.Add("@Fokus", SqlDbType.Int, 4) + sqlcmd.Parameters.Add("@KeyValue", SqlDbType.VarChar, 255) + sqlcmd.Parameters.Add("@KeyValue2", SqlDbType.VarChar, 255) + sqlcmd.Parameters.Add("@mitarbeiternr", SqlDbType.VarChar, 255) + sqlcmd.Parameters(0).Value = 0 + sqlcmd.Parameters(1).Value = 0 + sqlcmd.Parameters(2).Value = KeyValue + sqlcmd.Parameters(3).Value = KeyValue2 + sqlcmd.Parameters(4).Value = Globals.clsmitarbeiter.iMitarbeiternr.Value + + sqlcmd.CommandType = CommandType.StoredProcedure + sqlcmd.Connection = connection + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.SelectCommand = sqlcmd + da.Fill(Tabledata, "Domaintable") + Catch ex As Exception + Finally + connection.Close() + da.Dispose() + sqlcmd.Dispose() + End Try + End Sub + + Public Sub Load_Data_MA_Fokus(ByVal tablename As String, ByVal Fokus As Integer, ByVal KeyValue As String, ByVal mitarbeiternr As Integer) + Tabledata.Tables.Clear() + Dim sqlcmd As New SqlCommand + sqlcmd.CommandText = Me.Select_Proc_Bottomtable + sqlcmd.Parameters.Add("@iErrorCode", SqlDbType.Int, 4) + sqlcmd.Parameters.Add("@Fokus", SqlDbType.Int, 4) + sqlcmd.Parameters.Add("@KeyValue", SqlDbType.VarChar, 255) + sqlcmd.Parameters.Add("@mitarbeiternr", SqlDbType.VarChar, 255) + sqlcmd.Parameters(0).Value = 0 + sqlcmd.Parameters(1).Value = Fokus + sqlcmd.Parameters(2).Value = KeyValue + sqlcmd.Parameters(3).Value = Globals.clsmitarbeiter.iMitarbeiternr.Value + + sqlcmd.CommandType = CommandType.StoredProcedure + sqlcmd.Connection = connection + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.SelectCommand = sqlcmd + da.Fill(Tabledata, "Domaintable") + Catch ex As Exception + Finally + connection.Close() + da.Dispose() + sqlcmd.Dispose() + End Try + End Sub + + 'Sub New() + 'End Sub + ''' + ''' Daten ab Datenbank laden + ''' + ''' + Public Overridable Sub Load_Data() + Tabledata.Tables.Clear() + + selectcommand.CommandText = Me.Select_Proc + selectcommand.Parameters.Add("@iErrorCode", SqlDbType.Int, 4) + selectcommand.Parameters(0).Value = 0 + + selectcommand.CommandType = CommandType.StoredProcedure + selectcommand.Connection = connection + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.SelectCommand = selectcommand + da.Fill(Tabledata, "Domaintable") + Catch ex As Exception + Finally + connection.Close() + da.Dispose() + selectcommand.Dispose() + End Try + End Sub + ''' + ''' Basis-Datentabelle laden. Diese wird fr die dynamische Generierung der Insert- und Update-Statements bentigt + ''' + ''' + Private Sub Load_BaseData() + BaseData.Tables.Clear() + Dim sqlcmd As New SqlCommand + + sqlcmd.CommandText = Me.Select_Proc + sqlcmd.Parameters.Add("@iErrorCode", SqlDbType.Int, 4) + sqlcmd.Parameters(0).Value = 0 + + sqlcmd.CommandType = CommandType.StoredProcedure + sqlcmd.Connection = connection + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.SelectCommand = sqlcmd + da.Fill(BaseData, "Basedata") + Catch ex As Exception + Finally + connection.Close() + da.Dispose() + sqlcmd.Dispose() + End Try + End Sub + + ''' + ''' Update-Statement dynamisch fr das UpdateCommand generieren + ''' + ''' + Private Sub Generate_Update_Statement() + Dim col As DataColumn + Dim col1 As DataColumn + Dim UseCol As Boolean = False + + UpdateCommand.CommandText = Me.Update_Proc + UpdateCommand.CommandType = System.Data.CommandType.StoredProcedure + UpdateCommand.Connection = connection + + UpdateCommand.Parameters.Clear() + For Each col In Me.Tabledata.Tables(0).Columns + UseCol = False + For Each col1 In Me.BaseData.Tables(0).Columns + If col.ColumnName = col1.ColumnName Then + UseCol = True + Exit For + End If + Next + If UseCol Then UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter(Get_Prefix(col) & col.ColumnName, Get_SqlDBType(col), Get_Data_Fieldlen(col), col.ColumnName)) + Next + UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@iErrorcode", SqlDbType.Int, 4)) + UpdateCommand.Parameters("@iErrorcode").Value = 0 + da.UpdateCommand = UpdateCommand + End Sub + ''' + ''' Insert-Statement dynamisch fr das InsertCommand generieren + ''' + ''' + Private Sub Generate_Insert_Statement() + Dim col As DataColumn + Dim col1 As DataColumn + Dim UseCol As Boolean = False + + InsertCommand.CommandText = Me.Insert_Proc + InsertCommand.CommandType = System.Data.CommandType.StoredProcedure + InsertCommand.Connection = connection + + InsertCommand.Parameters.Clear() + For Each col In Me.Tabledata.Tables(0).Columns + UseCol = False + For Each col1 In Me.BaseData.Tables(0).Columns + If col.ColumnName = col1.ColumnName Then + UseCol = True + Exit For + End If + Next + If UseCol Then InsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter(Get_Prefix(col) & col.ColumnName, Get_SqlDBType(col), Get_Data_Fieldlen(col), col.ColumnName)) + Next + InsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@iErrorcode", SqlDbType.Int, 4)) + InsertCommand.Parameters("@iErrorcode").Value = 0 + da.InsertCommand = InsertCommand + End Sub + ''' + ''' Prefixt fr den SP-bergabeparameter generieren + ''' + ''' Aktuelle Columnt + ''' Prefis fr SP-bergabeparameter + ''' + Private Function Get_Prefix(ByVal col As DataColumn) As String + If col.DataType.Name = "DateTime" Then Return "@da" + If col.DataType.Name = "Double" Then Return "@f" + Return "@" & col.DataType.Name.Substring(0, 1) + End Function + ''' + ''' SQL-DB-Type fr den SP-bergabeparameter festlegen + ''' + ''' Aktuelle Column + ''' SQLDBType + ''' + Private Function Get_SqlDBType(ByVal col As DataColumn) As SqlDbType + If col.DataType.Name = "Integer" Then Return SqlDbType.Int + If col.DataType.Name = "Int32" Then Return SqlDbType.Int + If col.DataType.Name = "String" Then Return SqlDbType.VarChar + If col.DataType.Name = "Boolean" Then Return SqlDbType.Bit + If col.DataType.Name = "DateTime" Then Return SqlDbType.DateTime + If col.DataType.Name = "Double" Then Return SqlDbType.Float + MsgBox(col.DataType.Name) + End Function + + ''' + ''' Feldlnge fr den SP-bergabeparemter festlegen + ''' + ''' Aktulle Column + ''' Feldlnge + ''' + Private Function Get_Data_Fieldlen(ByVal col As DataColumn) As Integer + Return col.MaxLength + End Function + + ''' + ''' Datesichern. Dabei wird das Update- sowie das Insert-Statement dynamisch generiert + ''' + ''' + Public Sub Save_Data() + Load_BaseData() + Generate_Update_Statement() + Generate_Insert_Statement() + Try + da.Update(Me.Tabledata, Me.Tabledata.Tables(0).TableName) + + Catch ex As Exception + MsgBox(ex.Message) + End Try + End Sub + ''' + ''' Dispose von Tabledata + ''' + ''' + Public Sub dispose() + Me.Tabledata.Dispose() + End Sub + +#Region "Verknpfungseditor" + ''' + ''' Load der Verbindungstabelle + ''' + ''' + ''' + ''' + ''' + Public Sub Load_Bootom_Table(ByVal tablename As String, ByVal Fokus As Integer, ByVal KeyValue As String) + Tabledata.Tables.Clear() + Dim sqlcmd As New SqlCommand + sqlcmd.CommandText = Me.Select_Proc_Bottomtable + sqlcmd.Parameters.Add("@iErrorCode", SqlDbType.Int, 4) + sqlcmd.Parameters.Add("@Fokus", SqlDbType.Int, 4) + sqlcmd.Parameters.Add("@KeyValue", SqlDbType.VarChar, 255) + sqlcmd.Parameters(0).Value = 0 + sqlcmd.Parameters(1).Value = Fokus + sqlcmd.Parameters(2).Value = KeyValue + + sqlcmd.CommandType = CommandType.StoredProcedure + sqlcmd.Connection = connection + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.SelectCommand = sqlcmd + da.Fill(Tabledata, "Domaintable") + Catch ex As Exception + Finally + connection.Close() + da.Dispose() + sqlcmd.Dispose() + End Try + End Sub + ''' + ''' Neuer Eintrag in der Tabelle eintragen. Sind neben den Defaultwerten weitere Attribute vorhanden, werde diese abhngig vom Datentype mit Defaultwerten befllt. + ''' + ''' + ''' + ''' + ''' + ''' + Public Sub Insert_Bottom_Table(ByVal key1 As String, ByVal keyvalue1 As Integer, ByVal key2 As String, ByVal keyvalue2 As String) + Dim dbkey As New db.clsMyKey_Tabelle + dbkey.cpMainConnectionProvider = Globals.conn + conn.OpenConnection() + Dim newkey As Integer = dbkey.get_dbkey(Me.Tablename) + conn.CloseConnection(True) + dbkey.Dispose() + Dim dr As DataRow + dr = Me.Tabledata.Tables(0).NewRow + dr.Item(0) = newkey + Dim i As Integer + For i = 1 To Me.Tabledata.Tables(0).Columns.Count - 1 + Select Case UCase(Me.Tabledata.Tables(0).Columns(i).ColumnName) + Case "AKTIV" + dr.Item(i) = 1 + Case "ERSTELLT_AM" + dr.Item(i) = Now + Case "MUTIERT_AM" + dr.Item(i) = Now + Case "MUTIERER" + dr.Item(i) = Globals.clsmitarbeiter.iMitarbeiternr.Value + Case "MANDANTNR" + dr.Item(i) = Globals.clsmitarbeiter.iMandantnr.Value + Case "MANDANT" + dr.Item(i) = Globals.clsmitarbeiter.iMandantnr.Value + Case UCase(key1) + dr.Item(i) = keyvalue1 + Case UCase(key2) + dr.Item(i) = keyvalue2 + Case Else + Select Case Type.GetTypeCode(Me.Tabledata.Tables(0).Columns(i).DataType) + Case TypeCode.DateTime + dr.Item(i) = Now + Case TypeCode.Double + dr.Item(i) = 0 + Case TypeCode.String + dr.Item(i) = "" + Case TypeCode.Int32 + dr.Item(i) = 0 + Case TypeCode.Boolean + dr.Item(i) = True + Case TypeCode.Int16 + dr.Item(i) = 0 + Case TypeCode.Int32 + dr.Item(i) = 0 + Case TypeCode.Int64 + dr.Item(i) = 0 + End Select + End Select + Next + Me.Tabledata.Tables(0).Rows.Add(dr) + End Sub +#End Region + + + End Class + +End Namespace diff --git a/.svn/pristine/cb/cb6704e87c734414214b03be7542a74fb1799d03.svn-base b/.svn/pristine/cb/cb6704e87c734414214b03be7542a74fb1799d03.svn-base new file mode 100644 index 0000000..cfbba86 --- /dev/null +++ b/.svn/pristine/cb/cb6704e87c734414214b03be7542a74fb1799d03.svn-base @@ -0,0 +1,610 @@ + _ +Partial Class Themenübersicht + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(Themenübersicht)) + Dim TreeNode1 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Unterkategorie 1.1") + Dim TreeNode2 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Unterkategorie 1.2") + Dim TreeNode3 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Kategorie 1", New System.Windows.Forms.TreeNode() {TreeNode1, TreeNode2}) + Dim TreeNode4 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Unterkategorie 2.1") + Dim TreeNode5 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Unterkategorie 2.2") + Dim TreeNode6 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Kategorie 2", New System.Windows.Forms.TreeNode() {TreeNode4, TreeNode5}) + Me.ToolStrip1 = New System.Windows.Forms.ToolStrip() + Me.TSBtnQuit = New System.Windows.Forms.ToolStripButton() + Me.ToolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator() + Me.TsBtnSuchArt = New System.Windows.Forms.ToolStripDropDownButton() + Me.ApplikationSucheToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripTextBox1 = New System.Windows.Forms.ToolStripTextBox() + Me.TSBtnSuche = New System.Windows.Forms.ToolStripButton() + Me.TSBtnFilterAufheben = New System.Windows.Forms.ToolStripButton() + Me.TSBtnFirst = New System.Windows.Forms.ToolStripButton() + Me.TSBtnNext = New System.Windows.Forms.ToolStripButton() + Me.TSBtnPrevious = New System.Windows.Forms.ToolStripButton() + Me.TSBtnLast = New System.Windows.Forms.ToolStripButton() + Me.MenuStrip1 = New System.Windows.Forms.MenuStrip() + Me.DateiToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.SplitContainer1 = New System.Windows.Forms.SplitContainer() + Me.TreeView1 = New System.Windows.Forms.TreeView() + Me.SplitContainer2 = New System.Windows.Forms.SplitContainer() + Me.C1TrueDBGrid1 = New C1.Win.C1TrueDBGrid.C1TrueDBGrid() + Me.TabControl1 = New System.Windows.Forms.TabControl() + Me.TabPage1 = New System.Windows.Forms.TabPage() + Me.TextBox7 = New System.Windows.Forms.TextBox() + Me.Label5 = New System.Windows.Forms.Label() + Me.Label4 = New System.Windows.Forms.Label() + Me.TextBox6 = New System.Windows.Forms.TextBox() + Me.CheckBox1 = New System.Windows.Forms.CheckBox() + Me.Label1 = New System.Windows.Forms.Label() + Me.Label11 = New System.Windows.Forms.Label() + Me.TextBox2 = New System.Windows.Forms.TextBox() + Me.Label2 = New System.Windows.Forms.Label() + Me.Label3 = New System.Windows.Forms.Label() + Me.TextBox5 = New System.Windows.Forms.TextBox() + Me.TextBox3 = New System.Windows.Forms.TextBox() + Me.Label9 = New System.Windows.Forms.Label() + Me.TextBox1 = New System.Windows.Forms.TextBox() + Me.TextBox4 = New System.Windows.Forms.TextBox() + Me.Label6 = New System.Windows.Forms.Label() + Me.Label8 = New System.Windows.Forms.Label() + Me.DateTimePicker1 = New System.Windows.Forms.DateTimePicker() + Me.Label7 = New System.Windows.Forms.Label() + Me.DateTimePicker2 = New System.Windows.Forms.DateTimePicker() + Me.TabPage2 = New System.Windows.Forms.TabPage() + Me.TabPage3 = New System.Windows.Forms.TabPage() + Me.TabPage4 = New System.Windows.Forms.TabPage() + Me.TabPage5 = New System.Windows.Forms.TabPage() + Me.TabPage6 = New System.Windows.Forms.TabPage() + Me.ToolStrip1.SuspendLayout() + Me.MenuStrip1.SuspendLayout() + CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SplitContainer1.Panel1.SuspendLayout() + Me.SplitContainer1.Panel2.SuspendLayout() + Me.SplitContainer1.SuspendLayout() + CType(Me.SplitContainer2, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SplitContainer2.Panel1.SuspendLayout() + Me.SplitContainer2.Panel2.SuspendLayout() + Me.SplitContainer2.SuspendLayout() + CType(Me.C1TrueDBGrid1, System.ComponentModel.ISupportInitialize).BeginInit() + Me.TabControl1.SuspendLayout() + Me.TabPage1.SuspendLayout() + Me.SuspendLayout() + ' + 'ToolStrip1 + ' + Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.TSBtnQuit, Me.ToolStripSeparator1, Me.TsBtnSuchArt, Me.ToolStripTextBox1, Me.TSBtnSuche, Me.TSBtnFilterAufheben, Me.TSBtnFirst, Me.TSBtnNext, Me.TSBtnPrevious, Me.TSBtnLast}) + Me.ToolStrip1.Location = New System.Drawing.Point(0, 24) + Me.ToolStrip1.Name = "ToolStrip1" + Me.ToolStrip1.Size = New System.Drawing.Size(1003, 25) + Me.ToolStrip1.TabIndex = 4 + Me.ToolStrip1.Text = "ToolStrip1" + ' + 'TSBtnQuit + ' + Me.TSBtnQuit.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnQuit.Image = CType(resources.GetObject("TSBtnQuit.Image"), System.Drawing.Image) + Me.TSBtnQuit.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnQuit.Name = "TSBtnQuit" + Me.TSBtnQuit.Size = New System.Drawing.Size(23, 22) + Me.TSBtnQuit.Text = "ToolStripButton1" + Me.TSBtnQuit.ToolTipText = "Anwendung beenden" + ' + 'ToolStripSeparator1 + ' + Me.ToolStripSeparator1.Name = "ToolStripSeparator1" + Me.ToolStripSeparator1.Size = New System.Drawing.Size(6, 25) + ' + 'TsBtnSuchArt + ' + Me.TsBtnSuchArt.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text + Me.TsBtnSuchArt.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ApplikationSucheToolStripMenuItem}) + Me.TsBtnSuchArt.Image = CType(resources.GetObject("TsBtnSuchArt.Image"), System.Drawing.Image) + Me.TsBtnSuchArt.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TsBtnSuchArt.Name = "TsBtnSuchArt" + Me.TsBtnSuchArt.Size = New System.Drawing.Size(59, 22) + Me.TsBtnSuchArt.Text = "Suchen" + ' + 'ApplikationSucheToolStripMenuItem + ' + Me.ApplikationSucheToolStripMenuItem.Name = "ApplikationSucheToolStripMenuItem" + Me.ApplikationSucheToolStripMenuItem.Size = New System.Drawing.Size(107, 22) + Me.ApplikationSucheToolStripMenuItem.Text = "Filtern" + ' + 'ToolStripTextBox1 + ' + Me.ToolStripTextBox1.Name = "ToolStripTextBox1" + Me.ToolStripTextBox1.Size = New System.Drawing.Size(100, 25) + ' + 'TSBtnSuche + ' + Me.TSBtnSuche.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnSuche.Image = CType(resources.GetObject("TSBtnSuche.Image"), System.Drawing.Image) + Me.TSBtnSuche.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnSuche.Name = "TSBtnSuche" + Me.TSBtnSuche.Size = New System.Drawing.Size(23, 22) + Me.TSBtnSuche.Text = "ToolStripButton1" + ' + 'TSBtnFilterAufheben + ' + Me.TSBtnFilterAufheben.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnFilterAufheben.Image = CType(resources.GetObject("TSBtnFilterAufheben.Image"), System.Drawing.Image) + Me.TSBtnFilterAufheben.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnFilterAufheben.Name = "TSBtnFilterAufheben" + Me.TSBtnFilterAufheben.Size = New System.Drawing.Size(23, 22) + Me.TSBtnFilterAufheben.Text = "Filter aufheben" + ' + 'TSBtnFirst + ' + Me.TSBtnFirst.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnFirst.Image = CType(resources.GetObject("TSBtnFirst.Image"), System.Drawing.Image) + Me.TSBtnFirst.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnFirst.Name = "TSBtnFirst" + Me.TSBtnFirst.Size = New System.Drawing.Size(23, 22) + Me.TSBtnFirst.Text = "Erster Datensatz" + ' + 'TSBtnNext + ' + Me.TSBtnNext.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnNext.Image = CType(resources.GetObject("TSBtnNext.Image"), System.Drawing.Image) + Me.TSBtnNext.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnNext.Name = "TSBtnNext" + Me.TSBtnNext.Size = New System.Drawing.Size(23, 22) + Me.TSBtnNext.Text = "Nächster Datensatz" + ' + 'TSBtnPrevious + ' + Me.TSBtnPrevious.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnPrevious.Image = CType(resources.GetObject("TSBtnPrevious.Image"), System.Drawing.Image) + Me.TSBtnPrevious.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnPrevious.Name = "TSBtnPrevious" + Me.TSBtnPrevious.Size = New System.Drawing.Size(23, 22) + Me.TSBtnPrevious.Text = "Vorheriger Datensatz" + ' + 'TSBtnLast + ' + Me.TSBtnLast.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnLast.Image = CType(resources.GetObject("TSBtnLast.Image"), System.Drawing.Image) + Me.TSBtnLast.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnLast.Name = "TSBtnLast" + Me.TSBtnLast.Size = New System.Drawing.Size(23, 22) + Me.TSBtnLast.Text = "Letzter Datensatz" + ' + 'MenuStrip1 + ' + Me.MenuStrip1.AllowMerge = False + Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DateiToolStripMenuItem}) + Me.MenuStrip1.Location = New System.Drawing.Point(0, 0) + Me.MenuStrip1.Name = "MenuStrip1" + Me.MenuStrip1.Size = New System.Drawing.Size(1003, 24) + Me.MenuStrip1.TabIndex = 3 + Me.MenuStrip1.Text = "MenuStrip1" + ' + 'DateiToolStripMenuItem + ' + Me.DateiToolStripMenuItem.Name = "DateiToolStripMenuItem" + Me.DateiToolStripMenuItem.Size = New System.Drawing.Size(46, 20) + Me.DateiToolStripMenuItem.Text = "&Datei" + ' + 'SplitContainer1 + ' + Me.SplitContainer1.Dock = System.Windows.Forms.DockStyle.Fill + Me.SplitContainer1.Location = New System.Drawing.Point(0, 49) + Me.SplitContainer1.Name = "SplitContainer1" + ' + 'SplitContainer1.Panel1 + ' + Me.SplitContainer1.Panel1.Controls.Add(Me.TreeView1) + ' + 'SplitContainer1.Panel2 + ' + Me.SplitContainer1.Panel2.Controls.Add(Me.SplitContainer2) + Me.SplitContainer1.Size = New System.Drawing.Size(1003, 429) + Me.SplitContainer1.SplitterDistance = 333 + Me.SplitContainer1.TabIndex = 5 + ' + 'TreeView1 + ' + Me.TreeView1.Dock = System.Windows.Forms.DockStyle.Fill + Me.TreeView1.Location = New System.Drawing.Point(0, 0) + Me.TreeView1.Name = "TreeView1" + TreeNode1.Name = "Knoten1" + TreeNode1.Text = "Unterkategorie 1.1" + TreeNode2.Name = "Knoten2" + TreeNode2.Text = "Unterkategorie 1.2" + TreeNode3.Name = "Knoten0" + TreeNode3.Text = "Kategorie 1" + TreeNode4.Name = "Knoten4" + TreeNode4.Text = "Unterkategorie 2.1" + TreeNode5.Name = "Knoten5" + TreeNode5.Text = "Unterkategorie 2.2" + TreeNode6.Name = "Knoten3" + TreeNode6.Text = "Kategorie 2" + Me.TreeView1.Nodes.AddRange(New System.Windows.Forms.TreeNode() {TreeNode3, TreeNode6}) + Me.TreeView1.Size = New System.Drawing.Size(333, 429) + Me.TreeView1.TabIndex = 0 + ' + 'SplitContainer2 + ' + Me.SplitContainer2.Dock = System.Windows.Forms.DockStyle.Fill + Me.SplitContainer2.Location = New System.Drawing.Point(0, 0) + Me.SplitContainer2.Name = "SplitContainer2" + Me.SplitContainer2.Orientation = System.Windows.Forms.Orientation.Horizontal + ' + 'SplitContainer2.Panel1 + ' + Me.SplitContainer2.Panel1.Controls.Add(Me.C1TrueDBGrid1) + ' + 'SplitContainer2.Panel2 + ' + Me.SplitContainer2.Panel2.Controls.Add(Me.TabControl1) + Me.SplitContainer2.Panel2.RightToLeft = System.Windows.Forms.RightToLeft.No + Me.SplitContainer2.Size = New System.Drawing.Size(666, 429) + Me.SplitContainer2.SplitterDistance = 229 + Me.SplitContainer2.TabIndex = 0 + ' + 'C1TrueDBGrid1 + ' + Me.C1TrueDBGrid1.Dock = System.Windows.Forms.DockStyle.Fill + Me.C1TrueDBGrid1.Location = New System.Drawing.Point(0, 0) + Me.C1TrueDBGrid1.Name = "C1TrueDBGrid1" + Me.C1TrueDBGrid1.PreviewInfo.Location = New System.Drawing.Point(0, 0) + Me.C1TrueDBGrid1.PreviewInfo.Size = New System.Drawing.Size(0, 0) + Me.C1TrueDBGrid1.PreviewInfo.ZoomFactor = 75.0R + Me.C1TrueDBGrid1.PrintInfo.PageSettings = CType(resources.GetObject("C1TrueDBGrid1.PrintInfo.PageSettings"), System.Drawing.Printing.PageSettings) + Me.C1TrueDBGrid1.PropBag = resources.GetString("C1TrueDBGrid1.PropBag") + Me.C1TrueDBGrid1.Size = New System.Drawing.Size(666, 229) + Me.C1TrueDBGrid1.TabIndex = 0 + Me.C1TrueDBGrid1.Text = "C1TrueDBGrid1" + ' + 'TabControl1 + ' + Me.TabControl1.Controls.Add(Me.TabPage1) + Me.TabControl1.Controls.Add(Me.TabPage2) + Me.TabControl1.Controls.Add(Me.TabPage3) + Me.TabControl1.Controls.Add(Me.TabPage4) + Me.TabControl1.Controls.Add(Me.TabPage5) + Me.TabControl1.Controls.Add(Me.TabPage6) + 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(666, 196) + Me.TabControl1.TabIndex = 0 + ' + 'TabPage1 + ' + Me.TabPage1.BackColor = System.Drawing.SystemColors.Control + Me.TabPage1.Controls.Add(Me.TextBox7) + Me.TabPage1.Controls.Add(Me.Label5) + Me.TabPage1.Controls.Add(Me.Label4) + Me.TabPage1.Controls.Add(Me.TextBox6) + Me.TabPage1.Controls.Add(Me.CheckBox1) + Me.TabPage1.Controls.Add(Me.Label1) + Me.TabPage1.Controls.Add(Me.Label11) + Me.TabPage1.Controls.Add(Me.TextBox2) + Me.TabPage1.Controls.Add(Me.Label2) + Me.TabPage1.Controls.Add(Me.Label3) + Me.TabPage1.Controls.Add(Me.TextBox5) + Me.TabPage1.Controls.Add(Me.TextBox3) + Me.TabPage1.Controls.Add(Me.Label9) + Me.TabPage1.Controls.Add(Me.TextBox1) + Me.TabPage1.Controls.Add(Me.TextBox4) + Me.TabPage1.Controls.Add(Me.Label6) + Me.TabPage1.Controls.Add(Me.Label8) + Me.TabPage1.Controls.Add(Me.DateTimePicker1) + Me.TabPage1.Controls.Add(Me.Label7) + Me.TabPage1.Controls.Add(Me.DateTimePicker2) + Me.TabPage1.Location = New System.Drawing.Point(4, 22) + Me.TabPage1.Name = "TabPage1" + Me.TabPage1.Padding = New System.Windows.Forms.Padding(3) + Me.TabPage1.Size = New System.Drawing.Size(658, 170) + Me.TabPage1.TabIndex = 0 + Me.TabPage1.Text = "Allgemein" + ' + 'TextBox7 + ' + Me.TextBox7.Location = New System.Drawing.Point(76, 139) + Me.TextBox7.Name = "TextBox7" + Me.TextBox7.Size = New System.Drawing.Size(91, 20) + Me.TextBox7.TabIndex = 42 + ' + 'Label5 + ' + Me.Label5.AutoSize = True + Me.Label5.Location = New System.Drawing.Point(4, 142) + Me.Label5.Name = "Label5" + Me.Label5.Size = New System.Drawing.Size(69, 13) + Me.Label5.TabIndex = 41 + Me.Label5.Text = "Mutiert durch" + ' + 'Label4 + ' + Me.Label4.AutoSize = True + Me.Label4.Location = New System.Drawing.Point(4, 35) + Me.Label4.Name = "Label4" + Me.Label4.Size = New System.Drawing.Size(52, 13) + Me.Label4.TabIndex = 39 + Me.Label4.Text = "Kategorie" + ' + 'TextBox6 + ' + Me.TextBox6.Location = New System.Drawing.Point(76, 32) + Me.TextBox6.Name = "TextBox6" + Me.TextBox6.Size = New System.Drawing.Size(245, 20) + Me.TextBox6.TabIndex = 40 + ' + 'CheckBox1 + ' + Me.CheckBox1.AutoSize = True + Me.CheckBox1.Location = New System.Drawing.Point(207, 94) + Me.CheckBox1.Name = "CheckBox1" + Me.CheckBox1.Size = New System.Drawing.Size(15, 14) + Me.CheckBox1.TabIndex = 38 + Me.CheckBox1.UseVisualStyleBackColor = True + ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.Location = New System.Drawing.Point(4, 9) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(27, 13) + Me.Label1.TabIndex = 23 + Me.Label1.Text = "Titel" + ' + 'Label11 + ' + Me.Label11.AutoSize = True + Me.Label11.Location = New System.Drawing.Point(230, 93) + Me.Label11.Name = "Label11" + Me.Label11.Size = New System.Drawing.Size(31, 13) + Me.Label11.TabIndex = 37 + Me.Label11.Text = "Aktiv" + ' + 'TextBox2 + ' + Me.TextBox2.Location = New System.Drawing.Point(401, 6) + Me.TextBox2.Multiline = True + Me.TextBox2.Name = "TextBox2" + Me.TextBox2.Size = New System.Drawing.Size(245, 66) + Me.TextBox2.TabIndex = 26 + ' + 'Label2 + ' + Me.Label2.AutoSize = True + Me.Label2.Location = New System.Drawing.Point(329, 8) + Me.Label2.Name = "Label2" + Me.Label2.Size = New System.Drawing.Size(72, 13) + Me.Label2.TabIndex = 25 + Me.Label2.Text = "Beschreibung" + ' + 'Label3 + ' + Me.Label3.AutoSize = True + Me.Label3.Location = New System.Drawing.Point(329, 81) + Me.Label3.Name = "Label3" + Me.Label3.Size = New System.Drawing.Size(67, 13) + Me.Label3.TabIndex = 27 + Me.Label3.Text = "Suchbegriffe" + ' + 'TextBox5 + ' + Me.TextBox5.Location = New System.Drawing.Point(76, 113) + Me.TextBox5.Name = "TextBox5" + Me.TextBox5.Size = New System.Drawing.Size(91, 20) + Me.TextBox5.TabIndex = 36 + ' + 'TextBox3 + ' + Me.TextBox3.Location = New System.Drawing.Point(401, 79) + Me.TextBox3.Multiline = True + Me.TextBox3.Name = "TextBox3" + Me.TextBox3.Size = New System.Drawing.Size(245, 66) + Me.TextBox3.TabIndex = 28 + ' + 'Label9 + ' + Me.Label9.AutoSize = True + Me.Label9.Location = New System.Drawing.Point(4, 116) + Me.Label9.Name = "Label9" + Me.Label9.Size = New System.Drawing.Size(56, 13) + Me.Label9.TabIndex = 35 + Me.Label9.Text = "Mutiert am" + ' + 'TextBox1 + ' + Me.TextBox1.Location = New System.Drawing.Point(76, 6) + Me.TextBox1.Name = "TextBox1" + Me.TextBox1.Size = New System.Drawing.Size(245, 20) + Me.TextBox1.TabIndex = 24 + ' + 'TextBox4 + ' + Me.TextBox4.Location = New System.Drawing.Point(76, 88) + Me.TextBox4.Name = "TextBox4" + Me.TextBox4.Size = New System.Drawing.Size(91, 20) + Me.TextBox4.TabIndex = 34 + ' + 'Label6 + ' + Me.Label6.AutoSize = True + Me.Label6.Location = New System.Drawing.Point(4, 65) + Me.Label6.Name = "Label6" + Me.Label6.Size = New System.Drawing.Size(49, 13) + Me.Label6.TabIndex = 29 + Me.Label6.Text = "Gültig ab" + ' + 'Label8 + ' + Me.Label8.AutoSize = True + Me.Label8.Location = New System.Drawing.Point(4, 91) + Me.Label8.Name = "Label8" + Me.Label8.Size = New System.Drawing.Size(55, 13) + Me.Label8.TabIndex = 33 + Me.Label8.Text = "Erstellt am" + ' + 'DateTimePicker1 + ' + Me.DateTimePicker1.Format = System.Windows.Forms.DateTimePickerFormat.[Short] + Me.DateTimePicker1.Location = New System.Drawing.Point(76, 62) + Me.DateTimePicker1.Name = "DateTimePicker1" + Me.DateTimePicker1.Size = New System.Drawing.Size(91, 20) + Me.DateTimePicker1.TabIndex = 30 + ' + 'Label7 + ' + Me.Label7.AutoSize = True + Me.Label7.Location = New System.Drawing.Point(204, 64) + Me.Label7.Name = "Label7" + Me.Label7.Size = New System.Drawing.Size(20, 13) + Me.Label7.TabIndex = 32 + Me.Label7.Text = "bis" + ' + 'DateTimePicker2 + ' + Me.DateTimePicker2.Format = System.Windows.Forms.DateTimePickerFormat.[Short] + Me.DateTimePicker2.Location = New System.Drawing.Point(230, 62) + Me.DateTimePicker2.Name = "DateTimePicker2" + Me.DateTimePicker2.Size = New System.Drawing.Size(91, 20) + Me.DateTimePicker2.TabIndex = 31 + ' + 'TabPage2 + ' + Me.TabPage2.Location = New System.Drawing.Point(4, 22) + Me.TabPage2.Name = "TabPage2" + Me.TabPage2.Padding = New System.Windows.Forms.Padding(3) + Me.TabPage2.Size = New System.Drawing.Size(658, 170) + Me.TabPage2.TabIndex = 1 + Me.TabPage2.Text = "Dokumente" + Me.TabPage2.UseVisualStyleBackColor = True + ' + 'TabPage3 + ' + Me.TabPage3.Location = New System.Drawing.Point(4, 22) + Me.TabPage3.Name = "TabPage3" + Me.TabPage3.Size = New System.Drawing.Size(658, 170) + Me.TabPage3.TabIndex = 2 + Me.TabPage3.Text = "Entwicklung" + Me.TabPage3.UseVisualStyleBackColor = True + ' + 'TabPage4 + ' + Me.TabPage4.Location = New System.Drawing.Point(4, 22) + Me.TabPage4.Name = "TabPage4" + Me.TabPage4.Size = New System.Drawing.Size(658, 170) + Me.TabPage4.TabIndex = 3 + Me.TabPage4.Text = "Kommunikation" + Me.TabPage4.UseVisualStyleBackColor = True + ' + 'TabPage5 + ' + Me.TabPage5.Location = New System.Drawing.Point(4, 22) + Me.TabPage5.Name = "TabPage5" + Me.TabPage5.Size = New System.Drawing.Size(658, 170) + Me.TabPage5.TabIndex = 4 + Me.TabPage5.Text = "History" + Me.TabPage5.UseVisualStyleBackColor = True + ' + 'TabPage6 + ' + Me.TabPage6.Location = New System.Drawing.Point(4, 22) + Me.TabPage6.Name = "TabPage6" + Me.TabPage6.Size = New System.Drawing.Size(658, 170) + Me.TabPage6.TabIndex = 5 + Me.TabPage6.Text = "Journal" + Me.TabPage6.UseVisualStyleBackColor = True + ' + 'Themenübersicht + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(1003, 478) + Me.Controls.Add(Me.SplitContainer1) + Me.Controls.Add(Me.ToolStrip1) + Me.Controls.Add(Me.MenuStrip1) + Me.Name = "Themenübersicht" + Me.Text = "Themenübersicht" + Me.ToolStrip1.ResumeLayout(False) + Me.ToolStrip1.PerformLayout() + Me.MenuStrip1.ResumeLayout(False) + Me.MenuStrip1.PerformLayout() + Me.SplitContainer1.Panel1.ResumeLayout(False) + Me.SplitContainer1.Panel2.ResumeLayout(False) + CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).EndInit() + Me.SplitContainer1.ResumeLayout(False) + Me.SplitContainer2.Panel1.ResumeLayout(False) + Me.SplitContainer2.Panel2.ResumeLayout(False) + CType(Me.SplitContainer2, System.ComponentModel.ISupportInitialize).EndInit() + Me.SplitContainer2.ResumeLayout(False) + CType(Me.C1TrueDBGrid1, System.ComponentModel.ISupportInitialize).EndInit() + Me.TabControl1.ResumeLayout(False) + Me.TabPage1.ResumeLayout(False) + Me.TabPage1.PerformLayout() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents ToolStrip1 As System.Windows.Forms.ToolStrip + Friend WithEvents TSBtnQuit As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripSeparator1 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents TsBtnSuchArt As System.Windows.Forms.ToolStripDropDownButton + Friend WithEvents ApplikationSucheToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripTextBox1 As System.Windows.Forms.ToolStripTextBox + Friend WithEvents TSBtnSuche As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnFilterAufheben As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnFirst As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnNext As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnPrevious As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnLast As System.Windows.Forms.ToolStripButton + Friend WithEvents MenuStrip1 As System.Windows.Forms.MenuStrip + Friend WithEvents DateiToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents SplitContainer1 As System.Windows.Forms.SplitContainer + Friend WithEvents TreeView1 As System.Windows.Forms.TreeView + Friend WithEvents SplitContainer2 As System.Windows.Forms.SplitContainer + Friend WithEvents C1TrueDBGrid1 As C1.Win.C1TrueDBGrid.C1TrueDBGrid + 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 TabPage3 As System.Windows.Forms.TabPage + Friend WithEvents TabPage4 As System.Windows.Forms.TabPage + Friend WithEvents TabPage5 As System.Windows.Forms.TabPage + Friend WithEvents TabPage6 As System.Windows.Forms.TabPage + Friend WithEvents CheckBox1 As System.Windows.Forms.CheckBox + Friend WithEvents Label1 As System.Windows.Forms.Label + Friend WithEvents Label11 As System.Windows.Forms.Label + Friend WithEvents TextBox2 As System.Windows.Forms.TextBox + Friend WithEvents Label2 As System.Windows.Forms.Label + Friend WithEvents Label3 As System.Windows.Forms.Label + Friend WithEvents TextBox5 As System.Windows.Forms.TextBox + Friend WithEvents TextBox3 As System.Windows.Forms.TextBox + Friend WithEvents Label9 As System.Windows.Forms.Label + Friend WithEvents TextBox1 As System.Windows.Forms.TextBox + Friend WithEvents TextBox4 As System.Windows.Forms.TextBox + Friend WithEvents Label6 As System.Windows.Forms.Label + Friend WithEvents Label8 As System.Windows.Forms.Label + Friend WithEvents DateTimePicker1 As System.Windows.Forms.DateTimePicker + Friend WithEvents Label7 As System.Windows.Forms.Label + Friend WithEvents DateTimePicker2 As System.Windows.Forms.DateTimePicker + Friend WithEvents TextBox7 As System.Windows.Forms.TextBox + Friend WithEvents Label5 As System.Windows.Forms.Label + Friend WithEvents Label4 As System.Windows.Forms.Label + Friend WithEvents TextBox6 As System.Windows.Forms.TextBox +End Class diff --git a/.svn/pristine/cd/cd76580326ee95279e6345e0b16468fc2fcff02b.svn-base b/.svn/pristine/cd/cd76580326ee95279e6345e0b16468fc2fcff02b.svn-base new file mode 100644 index 0000000..6cc3462 --- /dev/null +++ b/.svn/pristine/cd/cd76580326ee95279e6345e0b16468fc2fcff02b.svn-base @@ -0,0 +1,3 @@ +Public Class Themenübersicht + +End Class \ No newline at end of file diff --git a/.svn/pristine/ce/ce2919f68382964366c9c1e964c40f65afd7ccf3.svn-base b/.svn/pristine/ce/ce2919f68382964366c9c1e964c40f65afd7ccf3.svn-base new file mode 100644 index 0000000..3b9732a --- /dev/null +++ b/.svn/pristine/ce/ce2919f68382964366c9c1e964c40f65afd7ccf3.svn-base @@ -0,0 +1,530 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'mitarbeiter' +' // Generated by LLBLGen v1.21.2003.712 Final on: Dienstag, 1. Januar 2013, 13:15:45 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace db + ''' + ''' Purpose: Data Access class for the table 'mitarbeiter'. + ''' + Public Class clsMitarbeiter + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daErstellt_am, m_daMutiert_am As SqlDateTime + Private m_iMandantnr, m_iMutierer, m_iMitarbeiternr As SqlInt32 + Private m_sEmail, m_sVorname, m_sTgnummer, m_sName As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iMitarbeiternr
  • + '''
  • sVorname. May be SqlString.Null
  • + '''
  • sName. May be SqlString.Null
  • + '''
  • sTgnummer. May be SqlString.Null
  • + '''
  • sEmail. May be SqlString.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_mitarbeiter_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@imitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iMitarbeiternr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@svorname", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sVorname)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sname", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sName)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@stgnummer", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTgnummer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@semail", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sEmail)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_mitarbeiter_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMitarbeiter::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iMitarbeiternr
  • + '''
  • sVorname. May be SqlString.Null
  • + '''
  • sName. May be SqlString.Null
  • + '''
  • sTgnummer. May be SqlString.Null
  • + '''
  • sEmail. May be SqlString.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_mitarbeiter_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@imitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iMitarbeiternr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@svorname", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sVorname)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sname", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sName)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@stgnummer", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTgnummer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@semail", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sEmail)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_mitarbeiter_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMitarbeiter::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iMitarbeiternr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_mitarbeiter_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@imitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iMitarbeiternr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_mitarbeiter_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMitarbeiter::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iMitarbeiternr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iMitarbeiternr
  • + '''
  • sVorname
  • + '''
  • sName
  • + '''
  • sTgnummer
  • + '''
  • sEmail
  • + '''
  • iMandantnr
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_mitarbeiter_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("mitarbeiter") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@imitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iMitarbeiternr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_mitarbeiter_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iMitarbeiternr = New SqlInt32(CType(dtToReturn.Rows(0)("mitarbeiternr"), Integer)) + If dtToReturn.Rows(0)("vorname") Is System.DBNull.Value Then + m_sVorname = SqlString.Null + Else + m_sVorname = New SqlString(CType(dtToReturn.Rows(0)("vorname"), String)) + End If + If dtToReturn.Rows(0)("name") Is System.DBNull.Value Then + m_sName = SqlString.Null + Else + m_sName = New SqlString(CType(dtToReturn.Rows(0)("name"), String)) + End If + If dtToReturn.Rows(0)("tgnummer") Is System.DBNull.Value Then + m_sTgnummer = SqlString.Null + Else + m_sTgnummer = New SqlString(CType(dtToReturn.Rows(0)("tgnummer"), String)) + End If + If dtToReturn.Rows(0)("email") Is System.DBNull.Value Then + m_sEmail = SqlString.Null + Else + m_sEmail = New SqlString(CType(dtToReturn.Rows(0)("email"), String)) + End If + If dtToReturn.Rows(0)("mandantnr") Is System.DBNull.Value Then + m_iMandantnr = SqlInt32.Null + Else + m_iMandantnr = New SqlInt32(CType(dtToReturn.Rows(0)("mandantnr"), Integer)) + End If + If dtToReturn.Rows(0)("aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMitarbeiter::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_mitarbeiter_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("mitarbeiter") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_mitarbeiter_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMitarbeiter::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iMitarbeiternr]() As SqlInt32 + Get + Return m_iMitarbeiternr + End Get + Set(ByVal Value As SqlInt32) + Dim iMitarbeiternrTmp As SqlInt32 = Value + If iMitarbeiternrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iMitarbeiternr", "iMitarbeiternr can't be NULL") + End If + m_iMitarbeiternr = Value + End Set + End Property + + + Public Property [sVorname]() As SqlString + Get + Return m_sVorname + End Get + Set(ByVal Value As SqlString) + m_sVorname = Value + End Set + End Property + + + Public Property [sName]() As SqlString + Get + Return m_sName + End Get + Set(ByVal Value As SqlString) + m_sName = Value + End Set + End Property + + + Public Property [sTgnummer]() As SqlString + Get + Return m_sTgnummer + End Get + Set(ByVal Value As SqlString) + m_sTgnummer = Value + End Set + End Property + + + Public Property [sEmail]() As SqlString + Get + Return m_sEmail + End Get + Set(ByVal Value As SqlString) + m_sEmail = Value + End Set + End Property + + + Public Property [iMandantnr]() As SqlInt32 + Get + Return m_iMandantnr + End Get + Set(ByVal Value As SqlInt32) + m_iMandantnr = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/.svn/pristine/d0/d0c1cf6c28aed7473a97e204fd249c59fd0de099.svn-base b/.svn/pristine/d0/d0c1cf6c28aed7473a97e204fd249c59fd0de099.svn-base new file mode 100644 index 0000000..541fa3c Binary files /dev/null and b/.svn/pristine/d0/d0c1cf6c28aed7473a97e204fd249c59fd0de099.svn-base differ diff --git a/.svn/pristine/d3/d3526d48e7306b9b3f0024ff745bb774a02be9fa.svn-base b/.svn/pristine/d3/d3526d48e7306b9b3f0024ff745bb774a02be9fa.svn-base new file mode 100644 index 0000000..8c84517 Binary files /dev/null and b/.svn/pristine/d3/d3526d48e7306b9b3f0024ff745bb774a02be9fa.svn-base differ diff --git a/.svn/pristine/d6/d603b05c539247e32f3fa5dcd617d6ab36c00507.svn-base b/.svn/pristine/d6/d603b05c539247e32f3fa5dcd617d6ab36c00507.svn-base new file mode 100644 index 0000000..1f95424 --- /dev/null +++ b/.svn/pristine/d6/d603b05c539247e32f3fa5dcd617d6ab36c00507.svn-base @@ -0,0 +1,632 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'meldungstexte' +' // Generated by LLBLGen v1.21.2003.712 Final on: Dienstag, 1. Januar 2013, 13:15:45 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace db + ''' + ''' Purpose: Data Access class for the table 'meldungstexte'. + ''' + Public Class clsMeldungstexte + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daMutiert_am, m_daErstellt_am As SqlDateTime + Private m_iMutierer, m_iMandantnr, m_iSprache, m_iMeldungstextnr As SqlInt32 + Private m_sBeschreibung, m_sInhalt As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iMeldungstextnr
  • + '''
  • iSprache
  • + '''
  • sInhalt. May be SqlString.Null
  • + '''
  • sBeschreibung. May be SqlString.Null
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_meldungstexte_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@imeldungstextnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iMeldungstextnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@isprache", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iSprache)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sinhalt", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sInhalt)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_meldungstexte_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMeldungstexte::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iMeldungstextnr
  • + '''
  • iSprache
  • + '''
  • sInhalt. May be SqlString.Null
  • + '''
  • sBeschreibung. May be SqlString.Null
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_meldungstexte_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@imeldungstextnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iMeldungstextnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@isprache", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iSprache)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sinhalt", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sInhalt)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_meldungstexte_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMeldungstexte::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iMeldungstextnr
  • + '''
  • iSprache
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_meldungstexte_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@imeldungstextnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iMeldungstextnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@isprache", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iSprache)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_meldungstexte_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMeldungstexte::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method using PK field 'meldungstextnr'. This method will + ''' delete one or more rows from the database, based on the Primary Key field 'meldungstextnr'. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iMeldungstextnr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Public Function DeleteAllWmeldungstextnrLogic() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_meldungstexte_DeleteAllWmeldungstextnrLogic]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@imeldungstextnr", SqlDbType.Int, 4, ParameterDirection.Input, false, 10, 0, "", DataRowVersion.Proposed, m_iMeldungstextnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iMeldungstextnr = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@imeldungstextnr").Value, Integer)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_meldungstexte_DeleteAllWmeldungstextnrLogic' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMeldungstexte::DeleteAllWmeldungstextnrLogic::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method using PK field 'sprache'. This method will + ''' delete one or more rows from the database, based on the Primary Key field 'sprache'. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iSprache
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Public Function DeleteAllWspracheLogic() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_meldungstexte_DeleteAllWspracheLogic]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@isprache", SqlDbType.Int, 4, ParameterDirection.Input, false, 10, 0, "", DataRowVersion.Proposed, m_iSprache)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iSprache = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@isprache").Value, Integer)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_meldungstexte_DeleteAllWspracheLogic' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMeldungstexte::DeleteAllWspracheLogic::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iMeldungstextnr
  • + '''
  • iSprache
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iMeldungstextnr
  • + '''
  • iSprache
  • + '''
  • sInhalt
  • + '''
  • sBeschreibung
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
  • iMandantnr
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_meldungstexte_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("meldungstexte") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@imeldungstextnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iMeldungstextnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@isprache", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iSprache)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_meldungstexte_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iMeldungstextnr = New SqlInt32(CType(dtToReturn.Rows(0)("meldungstextnr"), Integer)) + m_iSprache = New SqlInt32(CType(dtToReturn.Rows(0)("sprache"), Integer)) + If dtToReturn.Rows(0)("inhalt") Is System.DBNull.Value Then + m_sInhalt = SqlString.Null + Else + m_sInhalt = New SqlString(CType(dtToReturn.Rows(0)("inhalt"), String)) + End If + If dtToReturn.Rows(0)("Beschreibung") Is System.DBNull.Value Then + m_sBeschreibung = SqlString.Null + Else + m_sBeschreibung = New SqlString(CType(dtToReturn.Rows(0)("Beschreibung"), String)) + End If + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + If dtToReturn.Rows(0)("mandantnr") Is System.DBNull.Value Then + m_iMandantnr = SqlInt32.Null + Else + m_iMandantnr = New SqlInt32(CType(dtToReturn.Rows(0)("mandantnr"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMeldungstexte::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_meldungstexte_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("meldungstexte") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_meldungstexte_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMeldungstexte::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iMeldungstextnr]() As SqlInt32 + Get + Return m_iMeldungstextnr + End Get + Set(ByVal Value As SqlInt32) + Dim iMeldungstextnrTmp As SqlInt32 = Value + If iMeldungstextnrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iMeldungstextnr", "iMeldungstextnr can't be NULL") + End If + m_iMeldungstextnr = Value + End Set + End Property + + + Public Property [iSprache]() As SqlInt32 + Get + Return m_iSprache + End Get + Set(ByVal Value As SqlInt32) + Dim iSpracheTmp As SqlInt32 = Value + If iSpracheTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iSprache", "iSprache can't be NULL") + End If + m_iSprache = Value + End Set + End Property + + + Public Property [sInhalt]() As SqlString + Get + Return m_sInhalt + End Get + Set(ByVal Value As SqlString) + m_sInhalt = Value + End Set + End Property + + + Public Property [sBeschreibung]() As SqlString + Get + Return m_sBeschreibung + End Get + Set(ByVal Value As SqlString) + m_sBeschreibung = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + Dim bAktivTmp As SqlBoolean = Value + If bAktivTmp.IsNull Then + Throw New ArgumentOutOfRangeException("bAktiv", "bAktiv can't be NULL") + End If + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + + + Public Property [iMandantnr]() As SqlInt32 + Get + Return m_iMandantnr + End Get + Set(ByVal Value As SqlInt32) + m_iMandantnr = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/.svn/pristine/d6/d6ca6344c43fff713c0fef2541acf0ca44764762.svn-base b/.svn/pristine/d6/d6ca6344c43fff713c0fef2541acf0ca44764762.svn-base new file mode 100644 index 0000000..868f4e1 Binary files /dev/null and b/.svn/pristine/d6/d6ca6344c43fff713c0fef2541acf0ca44764762.svn-base differ diff --git a/.svn/pristine/d6/d6f0766b716b7e393af5ef02e351c265195ca446.svn-base b/.svn/pristine/d6/d6f0766b716b7e393af5ef02e351c265195ca446.svn-base new file mode 100644 index 0000000..84b09f4 Binary files /dev/null and b/.svn/pristine/d6/d6f0766b716b7e393af5ef02e351c265195ca446.svn-base differ diff --git a/.svn/pristine/d7/d7cc14e700a0c8b4bf2668d5409c1ed54187015a.svn-base b/.svn/pristine/d7/d7cc14e700a0c8b4bf2668d5409c1ed54187015a.svn-base new file mode 100644 index 0000000..1e0168a --- /dev/null +++ b/.svn/pristine/d7/d7cc14e700a0c8b4bf2668d5409c1ed54187015a.svn-base @@ -0,0 +1,261 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 17, 17 + + + 132, 17 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACkSURBVDhPlZOBDoAgCET9dD7NPyNPgpAIzY21oTzPg1rL + F4/0aaQEJqJXAIo8Vu9dL9gDYiGRgG6VCwBJLDvgbxRVsodvBPiEASDXF3mIB3AbBzPjBLDeHBVIcRbj + KScKuMGQElArmKZNSNJ7VYC2Ib48EIjE0gX1QPerLigkATytqxT4gQht3HsQx9H8+OpCeHL+R+FQnIPT + QiXaHPwtNMCu8ALckGXYKNsEDQAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAAB0AAAAWCAYAAAA8VJfMAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAE6SURBVEhLvVYBEoQgCPTp/dxLBN1FSq7prpkmM1hYQKiU + 9arnFt6ByHYrjTEEK1xfOECOGsSVvmeFNmkNAEjV9EsTbh8Cp2Ub9UXQZMfzOGo5b/B4gN6xF8Ogi7hm + h4yh8WFMAQRIEY6+Nme7WiCnzBdSRnth6mNMwBoZMW63OmRA8BQocHKmADeDEFG+kKmuNUg9nz68Pn1b + phg2KxQDIYPAGgvqUU4JQIEppxBeH9pXcnrLFHL6uHqd4j6nb1bvNqdvVq/rKlSVP6teDK+rRjse9WfV + G3Wav1Yvdp9WrGFjsIOp+UmfU2zoPrTtfZtTniiJ3quN3Rp85EDYkfzgB5xd7+WJj2dvThZiOpy6kA2c + 7g2fioUP+XSC2x0P/vltlXdNwwaL/5/JvNOgQDbJ9ZhK2UXkVFZX5D7llNs/ZB4AuwAAAABJRU5ErkJg + gg== + + + + + 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 + adgZ0hgeNP8F841EzWH3msoAAAAASUVORK5CYII= + + + \ No newline at end of file diff --git a/.svn/pristine/d8/d8258720e9d5619e9affb0b15edda710164c584c.svn-base b/.svn/pristine/d8/d8258720e9d5619e9affb0b15edda710164c584c.svn-base new file mode 100644 index 0000000..83b8087 --- /dev/null +++ b/.svn/pristine/d8/d8258720e9d5619e9affb0b15edda710164c584c.svn-base @@ -0,0 +1,37 @@ +Public Class FilterClass + + Dim m_columname As String + Dim m_filtervalue As String + Property Columname() As String + Get + Return m_columname + End Get + Set(ByVal value As String) + m_columname = value + End Set + End Property + + Property FilterValue() As String + Get + Return m_filtervalue + End Get + Set(ByVal value As String) + m_filtervalue = value + End Set + End Property + + Sub New(ByVal columname As String, ByVal filtervalue As String) + MyBase.New() + Me.Columname = columname + Me.FilterValue = filtervalue + End Sub + + Sub New() + MyBase.New() + End Sub + Public Sub add(ByVal columname As String, ByVal filtervalue As String) + Me.Columname = columname + Me.FilterValue = filtervalue + End Sub +End Class + diff --git a/.svn/pristine/d8/d85c49263cadb3e5a4dd6c6f9839dcf02bf9bc51.svn-base b/.svn/pristine/d8/d85c49263cadb3e5a4dd6c6f9839dcf02bf9bc51.svn-base new file mode 100644 index 0000000..2b64b27 Binary files /dev/null and b/.svn/pristine/d8/d85c49263cadb3e5a4dd6c6f9839dcf02bf9bc51.svn-base differ diff --git a/.svn/pristine/db/db0f9c9e65abf02a073226e6295fd5cc32388294.svn-base b/.svn/pristine/db/db0f9c9e65abf02a073226e6295fd5cc32388294.svn-base new file mode 100644 index 0000000..0b5cf22 Binary files /dev/null and b/.svn/pristine/db/db0f9c9e65abf02a073226e6295fd5cc32388294.svn-base differ diff --git a/.svn/pristine/db/dbbbbe2694d4b9b990881f279b4313574dbeac9b.svn-base b/.svn/pristine/db/dbbbbe2694d4b9b990881f279b4313574dbeac9b.svn-base new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/.svn/pristine/db/dbbbbe2694d4b9b990881f279b4313574dbeac9b.svn-base differ diff --git a/.svn/pristine/db/dbc11ccdd305a869b149dfdd1a8d26a4f8df607a.svn-base b/.svn/pristine/db/dbc11ccdd305a869b149dfdd1a8d26a4f8df607a.svn-base new file mode 100644 index 0000000..2cc077c --- /dev/null +++ b/.svn/pristine/db/dbc11ccdd305a869b149dfdd1a8d26a4f8df607a.svn-base @@ -0,0 +1,13 @@ +Public Class frmThemenübersicht + + Private Sub TextBox5_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox5.TextChanged + + End Sub + Private Sub Label9_Click(sender As System.Object, e As System.EventArgs) Handles Label9.Click + + End Sub + + Private Sub ÜbersichtToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) + + End Sub +End Class \ No newline at end of file diff --git a/.svn/pristine/dc/dc7543361cec7f481a5159b2241d8289bf8de01d.svn-base b/.svn/pristine/dc/dc7543361cec7f481a5159b2241d8289bf8de01d.svn-base new file mode 100644 index 0000000..c7ad6dd --- /dev/null +++ b/.svn/pristine/dc/dc7543361cec7f481a5159b2241d8289bf8de01d.svn-base @@ -0,0 +1,510 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'Application' +' // Generated by LLBLGen v1.21.2003.712 Final on: Dienstag, 1. Januar 2013, 13:15:45 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace db + ''' + ''' Purpose: Data Access class for the table 'Application'. + ''' + Public Class clsApplication + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bShowlogin, m_bAktiv As SqlBoolean + Private m_daMutiert_am, m_daErstellt_am As SqlDateTime + Private m_iMutierer, m_iMandantnr, m_iApplikationsnr As SqlInt32 + Private m_sTmp_filepath, m_sVersion As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iApplikationsnr
  • + '''
  • sVersion. May be SqlString.Null
  • + '''
  • bShowlogin. May be SqlBoolean.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • sTmp_filepath. May be SqlString.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Application_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iapplikationsnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iApplikationsnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sversion", SqlDbType.VarChar, 4, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sVersion)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bshowlogin", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bShowlogin)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@stmp_filepath", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTmp_filepath)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Application_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsApplication::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iApplikationsnr
  • + '''
  • sVersion. May be SqlString.Null
  • + '''
  • bShowlogin. May be SqlBoolean.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • sTmp_filepath. May be SqlString.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Application_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iapplikationsnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iApplikationsnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sversion", SqlDbType.VarChar, 4, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sVersion)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bshowlogin", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bShowlogin)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@stmp_filepath", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTmp_filepath)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Application_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsApplication::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iApplikationsnr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Application_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iapplikationsnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iApplikationsnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Application_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsApplication::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iApplikationsnr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iApplikationsnr
  • + '''
  • sVersion
  • + '''
  • bShowlogin
  • + '''
  • iMandantnr
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
  • sTmp_filepath
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Application_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("Application") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iapplikationsnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iApplikationsnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Application_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iApplikationsnr = New SqlInt32(CType(dtToReturn.Rows(0)("applikationsnr"), Integer)) + If dtToReturn.Rows(0)("version") Is System.DBNull.Value Then + m_sVersion = SqlString.Null + Else + m_sVersion = New SqlString(CType(dtToReturn.Rows(0)("version"), String)) + End If + If dtToReturn.Rows(0)("showlogin") Is System.DBNull.Value Then + m_bShowlogin = SqlBoolean.Null + Else + m_bShowlogin = New SqlBoolean(CType(dtToReturn.Rows(0)("showlogin"), Boolean)) + End If + If dtToReturn.Rows(0)("mandantnr") Is System.DBNull.Value Then + m_iMandantnr = SqlInt32.Null + Else + m_iMandantnr = New SqlInt32(CType(dtToReturn.Rows(0)("mandantnr"), Integer)) + End If + If dtToReturn.Rows(0)("aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + If dtToReturn.Rows(0)("tmp_filepath") Is System.DBNull.Value Then + m_sTmp_filepath = SqlString.Null + Else + m_sTmp_filepath = New SqlString(CType(dtToReturn.Rows(0)("tmp_filepath"), String)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsApplication::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Application_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("Application") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Application_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsApplication::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iApplikationsnr]() As SqlInt32 + Get + Return m_iApplikationsnr + End Get + Set(ByVal Value As SqlInt32) + Dim iApplikationsnrTmp As SqlInt32 = Value + If iApplikationsnrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iApplikationsnr", "iApplikationsnr can't be NULL") + End If + m_iApplikationsnr = Value + End Set + End Property + + + Public Property [sVersion]() As SqlString + Get + Return m_sVersion + End Get + Set(ByVal Value As SqlString) + m_sVersion = Value + End Set + End Property + + + Public Property [bShowlogin]() As SqlBoolean + Get + Return m_bShowlogin + End Get + Set(ByVal Value As SqlBoolean) + m_bShowlogin = Value + End Set + End Property + + + Public Property [iMandantnr]() As SqlInt32 + Get + Return m_iMandantnr + End Get + Set(ByVal Value As SqlInt32) + m_iMandantnr = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + + + Public Property [sTmp_filepath]() As SqlString + Get + Return m_sTmp_filepath + End Get + Set(ByVal Value As SqlString) + m_sTmp_filepath = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/.svn/pristine/df/df4a2c450a876c08658939e09d74aade302bc96a.svn-base b/.svn/pristine/df/df4a2c450a876c08658939e09d74aade302bc96a.svn-base new file mode 100644 index 0000000..feda537 --- /dev/null +++ b/.svn/pristine/df/df4a2c450a876c08658939e09d74aade302bc96a.svn-base @@ -0,0 +1,105 @@ + _ +Partial Class frmSplash + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmSplash)) + Me.PictureBox1 = New System.Windows.Forms.PictureBox + Me.Timer1 = New System.Windows.Forms.Timer(Me.components) + Me.lblVersion = New System.Windows.Forms.Label + Me.Panel1 = New System.Windows.Forms.Panel + Me.lblversiondatum = New System.Windows.Forms.Label + CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit() + Me.Panel1.SuspendLayout() + Me.SuspendLayout() + ' + 'PictureBox1 + ' + Me.PictureBox1.Dock = System.Windows.Forms.DockStyle.Fill + Me.PictureBox1.ErrorImage = CType(resources.GetObject("PictureBox1.ErrorImage"), System.Drawing.Image) + Me.PictureBox1.Image = CType(resources.GetObject("PictureBox1.Image"), System.Drawing.Image) + Me.PictureBox1.Location = New System.Drawing.Point(0, 0) + Me.PictureBox1.Name = "PictureBox1" + Me.PictureBox1.Size = New System.Drawing.Size(463, 334) + Me.PictureBox1.TabIndex = 0 + Me.PictureBox1.TabStop = False + ' + 'Timer1 + ' + Me.Timer1.Enabled = True + Me.Timer1.Interval = 3000 + ' + 'lblVersion + ' + Me.lblVersion.BackColor = System.Drawing.Color.White + Me.lblVersion.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblVersion.Location = New System.Drawing.Point(3, 0) + Me.lblVersion.Name = "lblVersion" + Me.lblVersion.Size = New System.Drawing.Size(197, 24) + Me.lblVersion.TabIndex = 1 + Me.lblVersion.Text = "Version " + Me.lblVersion.TextAlign = System.Drawing.ContentAlignment.MiddleCenter + ' + 'Panel1 + ' + Me.Panel1.BackColor = System.Drawing.Color.White + Me.Panel1.Controls.Add(Me.lblversiondatum) + Me.Panel1.Controls.Add(Me.lblVersion) + Me.Panel1.Location = New System.Drawing.Point(246, 252) + Me.Panel1.Name = "Panel1" + Me.Panel1.Size = New System.Drawing.Size(195, 48) + Me.Panel1.TabIndex = 2 + ' + 'lblversiondatum + ' + Me.lblversiondatum.BackColor = System.Drawing.Color.White + Me.lblversiondatum.Font = New System.Drawing.Font("Microsoft Sans Serif", 11.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblversiondatum.Location = New System.Drawing.Point(0, 24) + Me.lblversiondatum.Name = "lblversiondatum" + Me.lblversiondatum.Size = New System.Drawing.Size(200, 24) + Me.lblversiondatum.TabIndex = 2 + Me.lblversiondatum.Text = "Version " + Me.lblversiondatum.TextAlign = System.Drawing.ContentAlignment.MiddleCenter + ' + 'frmSplash + ' + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None + Me.ClientSize = New System.Drawing.Size(463, 334) + Me.ControlBox = False + Me.Controls.Add(Me.Panel1) + Me.Controls.Add(Me.PictureBox1) + Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None + Me.Name = "frmSplash" + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "frmSplash" + CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit() + Me.Panel1.ResumeLayout(False) + Me.ResumeLayout(False) + + End Sub + Friend WithEvents PictureBox1 As System.Windows.Forms.PictureBox + Friend WithEvents Timer1 As System.Windows.Forms.Timer + Friend WithEvents lblVersion As System.Windows.Forms.Label + Friend WithEvents Panel1 As System.Windows.Forms.Panel + Friend WithEvents lblversiondatum As System.Windows.Forms.Label +End Class diff --git a/.svn/pristine/e0/e0c04f6c809719d26686dfa9b77b69e8799179a0.svn-base b/.svn/pristine/e0/e0c04f6c809719d26686dfa9b77b69e8799179a0.svn-base new file mode 100644 index 0000000..384bd3f --- /dev/null +++ b/.svn/pristine/e0/e0c04f6c809719d26686dfa9b77b69e8799179a0.svn-base @@ -0,0 +1,632 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'meldungstexte' +' // Generated by LLBLGen v1.21.2003.712 Final on: Freitag, 4. Januar 2013, 17:02:51 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + ''' + ''' Purpose: Data Access class for the table 'meldungstexte'. + ''' + Public Class clsMeldungstexte + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daMutiert_am, m_daErstellt_am As SqlDateTime + Private m_iMutierer, m_iMandantnr, m_iSprache, m_iMeldungstextnr As SqlInt32 + Private m_sBeschreibung, m_sInhalt As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iMeldungstextnr
  • + '''
  • iSprache
  • + '''
  • sInhalt. May be SqlString.Null
  • + '''
  • sBeschreibung. May be SqlString.Null
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_meldungstexte_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@imeldungstextnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iMeldungstextnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@isprache", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iSprache)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sinhalt", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sInhalt)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_meldungstexte_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMeldungstexte::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iMeldungstextnr
  • + '''
  • iSprache
  • + '''
  • sInhalt. May be SqlString.Null
  • + '''
  • sBeschreibung. May be SqlString.Null
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_meldungstexte_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@imeldungstextnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iMeldungstextnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@isprache", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iSprache)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sinhalt", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sInhalt)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_meldungstexte_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMeldungstexte::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iMeldungstextnr
  • + '''
  • iSprache
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_meldungstexte_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@imeldungstextnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iMeldungstextnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@isprache", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iSprache)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_meldungstexte_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMeldungstexte::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method using PK field 'meldungstextnr'. This method will + ''' delete one or more rows from the database, based on the Primary Key field 'meldungstextnr'. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iMeldungstextnr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Public Function DeleteAllWmeldungstextnrLogic() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_meldungstexte_DeleteAllWmeldungstextnrLogic]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@imeldungstextnr", SqlDbType.Int, 4, ParameterDirection.Input, false, 10, 0, "", DataRowVersion.Proposed, m_iMeldungstextnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iMeldungstextnr = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@imeldungstextnr").Value, Integer)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_meldungstexte_DeleteAllWmeldungstextnrLogic' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMeldungstexte::DeleteAllWmeldungstextnrLogic::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method using PK field 'sprache'. This method will + ''' delete one or more rows from the database, based on the Primary Key field 'sprache'. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iSprache
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Public Function DeleteAllWspracheLogic() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_meldungstexte_DeleteAllWspracheLogic]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@isprache", SqlDbType.Int, 4, ParameterDirection.Input, false, 10, 0, "", DataRowVersion.Proposed, m_iSprache)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iSprache = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@isprache").Value, Integer)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_meldungstexte_DeleteAllWspracheLogic' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMeldungstexte::DeleteAllWspracheLogic::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iMeldungstextnr
  • + '''
  • iSprache
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iMeldungstextnr
  • + '''
  • iSprache
  • + '''
  • sInhalt
  • + '''
  • sBeschreibung
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
  • iMandantnr
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_meldungstexte_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("meldungstexte") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@imeldungstextnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iMeldungstextnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@isprache", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iSprache)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_meldungstexte_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iMeldungstextnr = New SqlInt32(CType(dtToReturn.Rows(0)("meldungstextnr"), Integer)) + m_iSprache = New SqlInt32(CType(dtToReturn.Rows(0)("sprache"), Integer)) + If dtToReturn.Rows(0)("inhalt") Is System.DBNull.Value Then + m_sInhalt = SqlString.Null + Else + m_sInhalt = New SqlString(CType(dtToReturn.Rows(0)("inhalt"), String)) + End If + If dtToReturn.Rows(0)("Beschreibung") Is System.DBNull.Value Then + m_sBeschreibung = SqlString.Null + Else + m_sBeschreibung = New SqlString(CType(dtToReturn.Rows(0)("Beschreibung"), String)) + End If + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + If dtToReturn.Rows(0)("mandantnr") Is System.DBNull.Value Then + m_iMandantnr = SqlInt32.Null + Else + m_iMandantnr = New SqlInt32(CType(dtToReturn.Rows(0)("mandantnr"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMeldungstexte::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_meldungstexte_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("meldungstexte") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_meldungstexte_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMeldungstexte::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iMeldungstextnr]() As SqlInt32 + Get + Return m_iMeldungstextnr + End Get + Set(ByVal Value As SqlInt32) + Dim iMeldungstextnrTmp As SqlInt32 = Value + If iMeldungstextnrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iMeldungstextnr", "iMeldungstextnr can't be NULL") + End If + m_iMeldungstextnr = Value + End Set + End Property + + + Public Property [iSprache]() As SqlInt32 + Get + Return m_iSprache + End Get + Set(ByVal Value As SqlInt32) + Dim iSpracheTmp As SqlInt32 = Value + If iSpracheTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iSprache", "iSprache can't be NULL") + End If + m_iSprache = Value + End Set + End Property + + + Public Property [sInhalt]() As SqlString + Get + Return m_sInhalt + End Get + Set(ByVal Value As SqlString) + m_sInhalt = Value + End Set + End Property + + + Public Property [sBeschreibung]() As SqlString + Get + Return m_sBeschreibung + End Get + Set(ByVal Value As SqlString) + m_sBeschreibung = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + Dim bAktivTmp As SqlBoolean = Value + If bAktivTmp.IsNull Then + Throw New ArgumentOutOfRangeException("bAktiv", "bAktiv can't be NULL") + End If + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + + + Public Property [iMandantnr]() As SqlInt32 + Get + Return m_iMandantnr + End Get + Set(ByVal Value As SqlInt32) + m_iMandantnr = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/.svn/pristine/e4/e47bbe8dc5d1e2101aa14b7fa8e3cc490a4dfb50.svn-base b/.svn/pristine/e4/e47bbe8dc5d1e2101aa14b7fa8e3cc490a4dfb50.svn-base new file mode 100644 index 0000000..fc96336 --- /dev/null +++ b/.svn/pristine/e4/e47bbe8dc5d1e2101aa14b7fa8e3cc490a4dfb50.svn-base @@ -0,0 +1,529 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'Rolle_SecurityObject' +' // Generated by LLBLGen v1.21.2003.712 Final on: Dienstag, 1. Januar 2013, 19:36:38 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + ''' + ''' Purpose: Data Access class for the table 'Rolle_SecurityObject'. + ''' + Public Class clsRolle_SecurityObject + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bReadonly, m_bAktiv, m_bInvisible As SqlBoolean + Private m_daErstellt_am, m_daMutiert_am As SqlDateTime + Private m_iMutierer, m_iMandantnr, m_iRollenr, m_iSecurityobjectnr, m_iRolle_securityobjectnr As SqlInt32 + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iRolle_securityobjectnr
  • + '''
  • iRollenr. May be SqlInt32.Null
  • + '''
  • iSecurityobjectnr. May be SqlInt32.Null
  • + '''
  • bReadonly. May be SqlBoolean.Null
  • + '''
  • bInvisible. May be SqlBoolean.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Rolle_SecurityObject_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@irolle_securityobjectnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iRolle_securityobjectnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@irollenr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iRollenr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@isecurityobjectnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iSecurityobjectnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@breadonly", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bReadonly)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@binvisible", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bInvisible)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Rolle_SecurityObject_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsRolle_SecurityObject::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iRolle_securityobjectnr
  • + '''
  • iRollenr. May be SqlInt32.Null
  • + '''
  • iSecurityobjectnr. May be SqlInt32.Null
  • + '''
  • bReadonly. May be SqlBoolean.Null
  • + '''
  • bInvisible. May be SqlBoolean.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Rolle_SecurityObject_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@irolle_securityobjectnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iRolle_securityobjectnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@irollenr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iRollenr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@isecurityobjectnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iSecurityobjectnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@breadonly", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bReadonly)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@binvisible", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bInvisible)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Rolle_SecurityObject_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsRolle_SecurityObject::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iRolle_securityobjectnr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Rolle_SecurityObject_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@irolle_securityobjectnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iRolle_securityobjectnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Rolle_SecurityObject_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsRolle_SecurityObject::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iRolle_securityobjectnr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iRolle_securityobjectnr
  • + '''
  • iRollenr
  • + '''
  • iSecurityobjectnr
  • + '''
  • bReadonly
  • + '''
  • bInvisible
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
  • iMandantnr
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Rolle_SecurityObject_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("Rolle_SecurityObject") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@irolle_securityobjectnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iRolle_securityobjectnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Rolle_SecurityObject_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iRolle_securityobjectnr = New SqlInt32(CType(dtToReturn.Rows(0)("rolle_securityobjectnr"), Integer)) + If dtToReturn.Rows(0)("rollenr") Is System.DBNull.Value Then + m_iRollenr = SqlInt32.Null + Else + m_iRollenr = New SqlInt32(CType(dtToReturn.Rows(0)("rollenr"), Integer)) + End If + If dtToReturn.Rows(0)("securityobjectnr") Is System.DBNull.Value Then + m_iSecurityobjectnr = SqlInt32.Null + Else + m_iSecurityobjectnr = New SqlInt32(CType(dtToReturn.Rows(0)("securityobjectnr"), Integer)) + End If + If dtToReturn.Rows(0)("readonly") Is System.DBNull.Value Then + m_bReadonly = SqlBoolean.Null + Else + m_bReadonly = New SqlBoolean(CType(dtToReturn.Rows(0)("readonly"), Boolean)) + End If + If dtToReturn.Rows(0)("invisible") Is System.DBNull.Value Then + m_bInvisible = SqlBoolean.Null + Else + m_bInvisible = New SqlBoolean(CType(dtToReturn.Rows(0)("invisible"), Boolean)) + End If + If dtToReturn.Rows(0)("aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + If dtToReturn.Rows(0)("mandantnr") Is System.DBNull.Value Then + m_iMandantnr = SqlInt32.Null + Else + m_iMandantnr = New SqlInt32(CType(dtToReturn.Rows(0)("mandantnr"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsRolle_SecurityObject::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Rolle_SecurityObject_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("Rolle_SecurityObject") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Rolle_SecurityObject_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsRolle_SecurityObject::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iRolle_securityobjectnr]() As SqlInt32 + Get + Return m_iRolle_securityobjectnr + End Get + Set(ByVal Value As SqlInt32) + Dim iRolle_securityobjectnrTmp As SqlInt32 = Value + If iRolle_securityobjectnrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iRolle_securityobjectnr", "iRolle_securityobjectnr can't be NULL") + End If + m_iRolle_securityobjectnr = Value + End Set + End Property + + + Public Property [iRollenr]() As SqlInt32 + Get + Return m_iRollenr + End Get + Set(ByVal Value As SqlInt32) + m_iRollenr = Value + End Set + End Property + + + Public Property [iSecurityobjectnr]() As SqlInt32 + Get + Return m_iSecurityobjectnr + End Get + Set(ByVal Value As SqlInt32) + m_iSecurityobjectnr = Value + End Set + End Property + + + Public Property [bReadonly]() As SqlBoolean + Get + Return m_bReadonly + End Get + Set(ByVal Value As SqlBoolean) + m_bReadonly = Value + End Set + End Property + + + Public Property [bInvisible]() As SqlBoolean + Get + Return m_bInvisible + End Get + Set(ByVal Value As SqlBoolean) + m_bInvisible = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + + + Public Property [iMandantnr]() As SqlInt32 + Get + Return m_iMandantnr + End Get + Set(ByVal Value As SqlInt32) + m_iMandantnr = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/.svn/pristine/e4/e4e266ce60046f49c86cd99286c409fb3cf0fa4e.svn-base b/.svn/pristine/e4/e4e266ce60046f49c86cd99286c409fb3cf0fa4e.svn-base new file mode 100644 index 0000000..ac84706 --- /dev/null +++ b/.svn/pristine/e4/e4e266ce60046f49c86cd99286c409fb3cf0fa4e.svn-base @@ -0,0 +1,3 @@ +Module Globals + +End Module diff --git a/.svn/pristine/e6/e62174b202319789f2397d33a8fa70e0b51be9ac.svn-base b/.svn/pristine/e6/e62174b202319789f2397d33a8fa70e0b51be9ac.svn-base new file mode 100644 index 0000000..00f2a9e --- /dev/null +++ b/.svn/pristine/e6/e62174b202319789f2397d33a8fa70e0b51be9ac.svn-base @@ -0,0 +1,489 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'rolle_sysadminfunktion' +' // Generated by LLBLGen v1.21.2003.712 Final on: Dienstag, 1. Januar 2013, 19:36:38 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + ''' + ''' Purpose: Data Access class for the table 'rolle_sysadminfunktion'. + ''' + Public Class clsRolle_sysadminfunktion + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daErstellt_am, m_daMutiert_am As SqlDateTime + Private m_iRollenr, m_iMandant, m_iSysadminfnktnr, m_iRolle_sysadminfnktnr, m_iMutierer As SqlInt32 + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iRolle_sysadminfnktnr
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • iSysadminfnktnr. May be SqlInt32.Null
  • + '''
  • iRollenr. May be SqlInt32.Null
  • + '''
  • iMandant. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_rolle_sysadminfunktion_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@irolle_sysadminfnktnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iRolle_sysadminfnktnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@isysadminfnktnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iSysadminfnktnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@irollenr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iRollenr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandant", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandant)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_rolle_sysadminfunktion_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsRolle_sysadminfunktion::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iRolle_sysadminfnktnr
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • iSysadminfnktnr. May be SqlInt32.Null
  • + '''
  • iRollenr. May be SqlInt32.Null
  • + '''
  • iMandant. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_rolle_sysadminfunktion_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@irolle_sysadminfnktnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iRolle_sysadminfnktnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@isysadminfnktnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iSysadminfnktnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@irollenr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iRollenr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandant", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandant)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_rolle_sysadminfunktion_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsRolle_sysadminfunktion::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iRolle_sysadminfnktnr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_rolle_sysadminfunktion_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@irolle_sysadminfnktnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iRolle_sysadminfnktnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_rolle_sysadminfunktion_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsRolle_sysadminfunktion::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iRolle_sysadminfnktnr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iRolle_sysadminfnktnr
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
  • iSysadminfnktnr
  • + '''
  • iRollenr
  • + '''
  • iMandant
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_rolle_sysadminfunktion_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("rolle_sysadminfunktion") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@irolle_sysadminfnktnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iRolle_sysadminfnktnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_rolle_sysadminfunktion_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iRolle_sysadminfnktnr = New SqlInt32(CType(dtToReturn.Rows(0)("rolle_sysadminfnktnr"), Integer)) + If dtToReturn.Rows(0)("aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + If dtToReturn.Rows(0)("sysadminfnktnr") Is System.DBNull.Value Then + m_iSysadminfnktnr = SqlInt32.Null + Else + m_iSysadminfnktnr = New SqlInt32(CType(dtToReturn.Rows(0)("sysadminfnktnr"), Integer)) + End If + If dtToReturn.Rows(0)("rollenr") Is System.DBNull.Value Then + m_iRollenr = SqlInt32.Null + Else + m_iRollenr = New SqlInt32(CType(dtToReturn.Rows(0)("rollenr"), Integer)) + End If + If dtToReturn.Rows(0)("mandant") Is System.DBNull.Value Then + m_iMandant = SqlInt32.Null + Else + m_iMandant = New SqlInt32(CType(dtToReturn.Rows(0)("mandant"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsRolle_sysadminfunktion::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_rolle_sysadminfunktion_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("rolle_sysadminfunktion") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_rolle_sysadminfunktion_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsRolle_sysadminfunktion::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iRolle_sysadminfnktnr]() As SqlInt32 + Get + Return m_iRolle_sysadminfnktnr + End Get + Set(ByVal Value As SqlInt32) + Dim iRolle_sysadminfnktnrTmp As SqlInt32 = Value + If iRolle_sysadminfnktnrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iRolle_sysadminfnktnr", "iRolle_sysadminfnktnr can't be NULL") + End If + m_iRolle_sysadminfnktnr = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + + + Public Property [iSysadminfnktnr]() As SqlInt32 + Get + Return m_iSysadminfnktnr + End Get + Set(ByVal Value As SqlInt32) + m_iSysadminfnktnr = Value + End Set + End Property + + + Public Property [iRollenr]() As SqlInt32 + Get + Return m_iRollenr + End Get + Set(ByVal Value As SqlInt32) + m_iRollenr = Value + End Set + End Property + + + Public Property [iMandant]() As SqlInt32 + Get + Return m_iMandant + End Get + Set(ByVal Value As SqlInt32) + m_iMandant = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/.svn/pristine/e8/e8d622b4561a6cdf65c06cb756a1fd3211591b24.svn-base b/.svn/pristine/e8/e8d622b4561a6cdf65c06cb756a1fd3211591b24.svn-base new file mode 100644 index 0000000..bacffef Binary files /dev/null and b/.svn/pristine/e8/e8d622b4561a6cdf65c06cb756a1fd3211591b24.svn-base differ diff --git a/.svn/pristine/ec/ec444fd4d061787b9cac079b7f897437f11c906a.svn-base b/.svn/pristine/ec/ec444fd4d061787b9cac079b7f897437f11c906a.svn-base new file mode 100644 index 0000000..8e5aa8e --- /dev/null +++ b/.svn/pristine/ec/ec444fd4d061787b9cac079b7f897437f11c906a.svn-base @@ -0,0 +1,95 @@ +''' +''' Form fr die Datenbankauswahl +''' +''' +Public Class frmDatenbankauswahl + Inherits System.Windows.Forms.Form + +#Region " Vom Windows Form Designer generierter Code " + + Public Sub New() + MyBase.New() + + ' Dieser Aufruf ist fr den Windows Form-Designer erforderlich. + InitializeComponent() + + ' Initialisierungen nach dem Aufruf InitializeComponent() hinzufgen + + End Sub + + ' Die Form berschreibt den Lschvorgang der Basisklasse, um Komponenten zu bereinigen. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + ' Fr Windows Form-Designer erforderlich + Private components As System.ComponentModel.IContainer + + 'HINWEIS: Die folgende Prozedur ist fr den Windows Form-Designer erforderlich + 'Sie kann mit dem Windows Form-Designer modifiziert werden. + 'Verwenden Sie nicht den Code-Editor zur Bearbeitung. + Friend WithEvents ListBox1 As System.Windows.Forms.ListBox + Friend WithEvents Button1 As System.Windows.Forms.Button + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmDatenbankauswahl)) + Me.ListBox1 = New System.Windows.Forms.ListBox + Me.Button1 = New System.Windows.Forms.Button + Me.SuspendLayout() + ' + 'ListBox1 + ' + Me.ListBox1.Location = New System.Drawing.Point(16, 16) + Me.ListBox1.Name = "ListBox1" + Me.ListBox1.Size = New System.Drawing.Size(232, 95) + Me.ListBox1.TabIndex = 0 + ' + 'Button1 + ' + Me.Button1.DialogResult = System.Windows.Forms.DialogResult.OK + Me.Button1.Location = New System.Drawing.Point(88, 128) + Me.Button1.Name = "Button1" + Me.Button1.Size = New System.Drawing.Size(75, 23) + Me.Button1.TabIndex = 1 + Me.Button1.Text = "&OK" + ' + 'frmDatenbankauswahl + ' + Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13) + Me.ClientSize = New System.Drawing.Size(258, 165) + Me.Controls.Add(Me.Button1) + Me.Controls.Add(Me.ListBox1) + Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.MaximizeBox = False + Me.MinimizeBox = False + Me.Name = "frmDatenbankauswahl" + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "Vertragsverwaltung: Datebbankauswahl" + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click + Me.Close() + End Sub + + Private Sub frmDatenbankauswahl_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + End Sub + + + Private Sub ListBox1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.DoubleClick + Me.Close() + End Sub + + Private Sub ListBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles ListBox1.KeyDown + If e.KeyCode = Keys.Enter Then Me.Close() + End Sub +End Class diff --git a/.svn/pristine/ed/ed893bcae757d024e1e9e85da6ebb95c1628a27c.svn-base b/.svn/pristine/ed/ed893bcae757d024e1e9e85da6ebb95c1628a27c.svn-base new file mode 100644 index 0000000..5d07551 --- /dev/null +++ b/.svn/pristine/ed/ed893bcae757d024e1e9e85da6ebb95c1628a27c.svn-base @@ -0,0 +1,570 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'SecurityObject' +' // Generated by LLBLGen v1.21.2003.712 Final on: Dienstag, 1. Januar 2013, 19:36:38 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + ''' + ''' Purpose: Data Access class for the table 'SecurityObject'. + ''' + Public Class clsSecurityObject + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daErstellt_am, m_daMutiert_am As SqlDateTime + Private m_iLevel, m_iMutierer, m_iMandantnr, m_iSecurityObjectNr As SqlInt32 + Private m_sSecurityForm, m_sSecurityObjectDescriotion, m_sSecurityObjectItem, m_sSecurityObject, m_sSecurityObjectType As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iSecurityObjectNr
  • + '''
  • sSecurityForm. May be SqlString.Null
  • + '''
  • sSecurityObjectType. May be SqlString.Null
  • + '''
  • sSecurityObject. May be SqlString.Null
  • + '''
  • sSecurityObjectItem. May be SqlString.Null
  • + '''
  • sSecurityObjectDescriotion. May be SqlString.Null
  • + '''
  • iLevel. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_SecurityObject_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iSecurityObjectNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iSecurityObjectNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sSecurityForm", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sSecurityForm)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sSecurityObjectType", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sSecurityObjectType)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sSecurityObject", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sSecurityObject)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sSecurityObjectItem", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sSecurityObjectItem)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sSecurityObjectDescriotion", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sSecurityObjectDescriotion)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iLevel", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iLevel)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bAktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daErstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daMutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iMutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iMandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_SecurityObject_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSecurityObject::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iSecurityObjectNr
  • + '''
  • sSecurityForm. May be SqlString.Null
  • + '''
  • sSecurityObjectType. May be SqlString.Null
  • + '''
  • sSecurityObject. May be SqlString.Null
  • + '''
  • sSecurityObjectItem. May be SqlString.Null
  • + '''
  • sSecurityObjectDescriotion. May be SqlString.Null
  • + '''
  • iLevel. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_SecurityObject_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iSecurityObjectNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iSecurityObjectNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sSecurityForm", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sSecurityForm)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sSecurityObjectType", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sSecurityObjectType)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sSecurityObject", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sSecurityObject)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sSecurityObjectItem", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sSecurityObjectItem)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sSecurityObjectDescriotion", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sSecurityObjectDescriotion)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iLevel", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iLevel)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bAktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daErstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daMutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iMutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iMandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_SecurityObject_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSecurityObject::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iSecurityObjectNr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_SecurityObject_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iSecurityObjectNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iSecurityObjectNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_SecurityObject_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSecurityObject::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iSecurityObjectNr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iSecurityObjectNr
  • + '''
  • sSecurityForm
  • + '''
  • sSecurityObjectType
  • + '''
  • sSecurityObject
  • + '''
  • sSecurityObjectItem
  • + '''
  • sSecurityObjectDescriotion
  • + '''
  • iLevel
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
  • iMandantnr
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_SecurityObject_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("SecurityObject") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iSecurityObjectNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iSecurityObjectNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_SecurityObject_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iSecurityObjectNr = New SqlInt32(CType(dtToReturn.Rows(0)("SecurityObjectNr"), Integer)) + If dtToReturn.Rows(0)("SecurityForm") Is System.DBNull.Value Then + m_sSecurityForm = SqlString.Null + Else + m_sSecurityForm = New SqlString(CType(dtToReturn.Rows(0)("SecurityForm"), String)) + End If + If dtToReturn.Rows(0)("SecurityObjectType") Is System.DBNull.Value Then + m_sSecurityObjectType = SqlString.Null + Else + m_sSecurityObjectType = New SqlString(CType(dtToReturn.Rows(0)("SecurityObjectType"), String)) + End If + If dtToReturn.Rows(0)("SecurityObject") Is System.DBNull.Value Then + m_sSecurityObject = SqlString.Null + Else + m_sSecurityObject = New SqlString(CType(dtToReturn.Rows(0)("SecurityObject"), String)) + End If + If dtToReturn.Rows(0)("SecurityObjectItem") Is System.DBNull.Value Then + m_sSecurityObjectItem = SqlString.Null + Else + m_sSecurityObjectItem = New SqlString(CType(dtToReturn.Rows(0)("SecurityObjectItem"), String)) + End If + If dtToReturn.Rows(0)("SecurityObjectDescriotion") Is System.DBNull.Value Then + m_sSecurityObjectDescriotion = SqlString.Null + Else + m_sSecurityObjectDescriotion = New SqlString(CType(dtToReturn.Rows(0)("SecurityObjectDescriotion"), String)) + End If + If dtToReturn.Rows(0)("Level") Is System.DBNull.Value Then + m_iLevel = SqlInt32.Null + Else + m_iLevel = New SqlInt32(CType(dtToReturn.Rows(0)("Level"), Integer)) + End If + If dtToReturn.Rows(0)("Aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("Aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("Erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("Erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("Mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("Mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("Mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("Mutierer"), Integer)) + End If + If dtToReturn.Rows(0)("Mandantnr") Is System.DBNull.Value Then + m_iMandantnr = SqlInt32.Null + Else + m_iMandantnr = New SqlInt32(CType(dtToReturn.Rows(0)("Mandantnr"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSecurityObject::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_SecurityObject_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("SecurityObject") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_SecurityObject_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSecurityObject::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iSecurityObjectNr]() As SqlInt32 + Get + Return m_iSecurityObjectNr + End Get + Set(ByVal Value As SqlInt32) + Dim iSecurityObjectNrTmp As SqlInt32 = Value + If iSecurityObjectNrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iSecurityObjectNr", "iSecurityObjectNr can't be NULL") + End If + m_iSecurityObjectNr = Value + End Set + End Property + + + Public Property [sSecurityForm]() As SqlString + Get + Return m_sSecurityForm + End Get + Set(ByVal Value As SqlString) + m_sSecurityForm = Value + End Set + End Property + + + Public Property [sSecurityObjectType]() As SqlString + Get + Return m_sSecurityObjectType + End Get + Set(ByVal Value As SqlString) + m_sSecurityObjectType = Value + End Set + End Property + + + Public Property [sSecurityObject]() As SqlString + Get + Return m_sSecurityObject + End Get + Set(ByVal Value As SqlString) + m_sSecurityObject = Value + End Set + End Property + + + Public Property [sSecurityObjectItem]() As SqlString + Get + Return m_sSecurityObjectItem + End Get + Set(ByVal Value As SqlString) + m_sSecurityObjectItem = Value + End Set + End Property + + + Public Property [sSecurityObjectDescriotion]() As SqlString + Get + Return m_sSecurityObjectDescriotion + End Get + Set(ByVal Value As SqlString) + m_sSecurityObjectDescriotion = Value + End Set + End Property + + + Public Property [iLevel]() As SqlInt32 + Get + Return m_iLevel + End Get + Set(ByVal Value As SqlInt32) + m_iLevel = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + + + Public Property [iMandantnr]() As SqlInt32 + Get + Return m_iMandantnr + End Get + Set(ByVal Value As SqlInt32) + m_iMandantnr = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/.svn/pristine/ef/ef52ed31dda561731593950a095ed014f6caf8ba.svn-base b/.svn/pristine/ef/ef52ed31dda561731593950a095ed014f6caf8ba.svn-base new file mode 100644 index 0000000..7cf4c46 Binary files /dev/null and b/.svn/pristine/ef/ef52ed31dda561731593950a095ed014f6caf8ba.svn-base differ diff --git a/.svn/pristine/ef/ef5a4bfca34766c2aac40a887cc219574a6908de.svn-base b/.svn/pristine/ef/ef5a4bfca34766c2aac40a887cc219574a6908de.svn-base new file mode 100644 index 0000000..4ca16cd --- /dev/null +++ b/.svn/pristine/ef/ef5a4bfca34766c2aac40a887cc219574a6908de.svn-base @@ -0,0 +1,432 @@ +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient +'* +' Object MyspaltenTitel +' +' Dieses Objekt liest die Daten aus der Tabelle Spalten und speichert diese in spaltendaten +' Die Daten werden fr die Spaltenbezeichnung der C1Datagrids verwendet +' +' Autor: Stefan Hutter +' Datum: 2.12.2002 +'* +Imports C1.Win.C1TrueDBGrid +Namespace Utils + + Public Class Tabellenspalte + Private m_table As String + Private m_field As String + Private m_spaltenname As String + Private m_locked As Boolean + Private m_Width As Integer + Private m_Order As Integer + Private m_alsHacken As Boolean + Private m_tiptext As String + Private m_numberformat As String + + Property ColWith() As Integer + Get + Return m_Width + End Get + Set(ByVal Value As Integer) + m_Width = Value + End Set + End Property + Property Order() As Integer + Get + Return m_Order + End Get + Set(ByVal Value As Integer) + m_Order = Value + End Set + End Property + Property Tabelle() As String + Get + Return m_table + End Get + Set(ByVal Value As String) + m_table = Value + End Set + End Property + Property Feld() As String + Get + Return m_field + End Get + Set(ByVal Value As String) + m_field = Value + End Set + End Property + Property spaltenname() As String + Get + Return m_spaltenname + End Get + Set(ByVal Value As String) + m_spaltenname = Value + End Set + End Property + Property locked() As Boolean + Get + Return m_locked + End Get + Set(ByVal Value As Boolean) + m_locked = Value + End Set + End Property + Property AlsHacken() As Boolean + Get + Return m_alsHacken + End Get + Set(ByVal Value As Boolean) + m_alsHacken = Value + End Set + End Property + Property TipText() As String + Get + Return m_tiptext + End Get + Set(ByVal Value As String) + m_tiptext = Value + End Set + End Property + Property Numberformat() As String + Get + Return m_numberformat + End Get + Set(ByVal value As String) + m_numberformat = value + End Set + End Property + Public Sub New() + + End Sub + Public Sub New(ByRef daten As Object, ByRef tablename As String, ByRef ds As DataSet) + Spaltentitel_aktualisieren(daten, tablename, ds) + End Sub + Public Function getspalte() + Try + Dim myspalten As New MySpaltenTitel() + myspalten.getspalte(Me.Tabelle, Me.Feld, Me.spaltenname, Me.locked, Me.ColWith, Me.Order, Me.AlsHacken, Me.TipText, Me.Numberformat) + Catch ex As Exception + MsgBox(ex.Message) + + End Try + End Function + + Public Function Spaltentitel_aktualisieren(ByRef daten As Object, ByRef tablename As String, ByRef ds As DataSet) + Dim anzcols As Integer + Dim i As Integer + Dim s As String + anzcols = daten.Splits(0).DisplayColumns.Count + Me.Tabelle = tablename + For i = 0 To daten.Columns.Count - 1 + s = daten.Columns(i).DataField + Me.Feld = s + Me.getspalte() + daten.Columns(i).Caption = Me.spaltenname + + If Me.ColWith = 0 Then + daten.Splits(0).DisplayColumns(i).Width = 0 + daten.Splits(0).DisplayColumns(i).Visible = False + Else + daten.Splits(0).DisplayColumns(i).Width = Me.ColWith + End If + + If Me.locked Then + daten.Splits(0).DisplayColumns(i).Locked = True + End If + + If Me.AlsHacken Then + daten.Columns(i).ValueItems.Presentation = C1.Win.C1TrueDBGrid.PresentationEnum.CheckBox + End If + + 'Prsentation von aktiv + If LCase(daten.Columns(i).DataField) = "aktiv" Then + daten.Columns(i).ValueItems.Presentation = C1.Win.C1TrueDBGrid.PresentationEnum.CheckBox + daten.Columns(i).ValueItems.DefaultItem = True + daten.Columns(i).DefaultValue = True + daten.Columns(i).FilterText = True + 'Dim items As C1.Win.C1TrueDBGrid.ValueItems = daten.Columns("aktiv").ValueItems + 'items.Values.Clear() + 'items.Values.Add(New C1.Win.C1TrueDBGrid.ValueItem("False", False)) ' unchecked + 'items.Values.Add(New C1.Win.C1TrueDBGrid.ValueItem("True", True)) ' checked + 'items.Values.Add(New C1.Win.C1TrueDBGrid.ValueItem("", "INDETERMINATE")) ' indeterminate state + + + End If + Select Case LCase(daten.Columns(i).DataField) + Case "erstellt_am", "erstelltam" + daten.Columns(i).DefaultValue = Now + End Select + If daten.Columns(i).DataType.Name = "DateTime" Then + daten.Columns(i).NumberFormat = "dd.MM.yyyy HH:mm:ss" + End If + If Me.Numberformat <> "" Then + daten.columns(i).numberformat = Me.Numberformat + End If + Next + ColumnOrder(tablename, daten) + daten.HeadingStyle.WrapText = False + End Function + + Public Function Spaltentitel_aktualisieren(ByRef daten As Object, ByRef tablename As String, ByRef dt As DataTable, Optional ByVal Aktiv_Spalte_True_Setzen As Boolean = True) + Dim anzcols As Integer + Dim i As Integer + Dim t As New DataTable() + Dim s As String + anzcols = daten.Splits(0).DisplayColumns.Count + t = dt + Me.Tabelle = tablename + For i = 0 To daten.Columns.Count - 1 + s = daten.Columns(i).DataField + 'If s = "ApplikationNr" Then + ' MsgBox("Hallo") + + 'End If + Me.Feld = s + Me.getspalte() + daten.Columns(i).Caption = Me.spaltenname + + If Me.ColWith = 0 Then + daten.Splits(0).DisplayColumns(i).Width = 0 + daten.Splits(0).DisplayColumns(i).Visible = False + Else + daten.Splits(0).DisplayColumns(i).Width = Me.ColWith + End If + + If Me.locked Then + daten.Splits(0).DisplayColumns(i).Locked = True + End If + + If Me.AlsHacken Then + daten.Columns(i).ValueItems.Presentation = C1.Win.C1TrueDBGrid.PresentationEnum.CheckBox + End If + + 'Prsentation von aktiv + If LCase(daten.Columns(i).DataField) = "aktiv" And Aktiv_Spalte_True_Setzen = True Then + daten.Columns(i).ValueItems.Presentation = C1.Win.C1TrueDBGrid.PresentationEnum.CheckBox + daten.Columns(i).ValueItems.DefaultItem = True + daten.Columns(i).DefaultValue = True + daten.Columns(i).FilterText = True + End If + Select Case LCase(daten.Columns(i).DataField) + Case "erstellt_am", "erstelltam" + daten.Columns(i).DefaultValue = Now + End Select + If daten.Columns(i).DataType.Name = "DateTime" Then + daten.Columns(i).NumberFormat = "dd.MM.yyyy HH:mm:ss" + End If + If Me.Numberformat <> "" Then + daten.columns(i).numberformat = Me.Numberformat + End If + Next + ColumnOrder(tablename, daten) + daten.HeadingStyle.WrapText = False + End Function + + Public Function Spaltentitel_aktualisieren_Optionaler_Aktiv_Filer(ByRef daten As Object, ByRef tablename As String, ByRef dt As DataTable, Optional ByVal Aktiv_Filter As String = "") + Dim anzcols As Integer + Dim i As Integer + Dim t As New DataTable() + Dim s As String + anzcols = daten.Splits(0).DisplayColumns.Count + t = dt + Me.Tabelle = tablename + For i = 0 To daten.Columns.Count - 1 + s = daten.Columns(i).DataField + + Me.Feld = s + Me.getspalte() + If Me.spaltenname = "" Then + daten.Splits(0).DisplayColumns(i).Width = 0 + Else + daten.Columns(i).Caption = Me.spaltenname + + If Me.ColWith = 0 Then + daten.Splits(0).DisplayColumns(i).Width = 0 + daten.Splits(0).DisplayColumns(i).Visible = False + Else + daten.Splits(0).DisplayColumns(i).Width = Me.ColWith + End If + + If Me.locked Then + daten.Splits(0).DisplayColumns(i).Locked = True + End If + + If Me.AlsHacken Then + daten.Columns(i).ValueItems.Presentation = C1.Win.C1TrueDBGrid.PresentationEnum.CheckBox + End If + + 'Prsentation von aktiv + If LCase(daten.Columns(i).DataField) = "aktiv" And Aktiv_Filter <> "" Then + daten.Columns(i).ValueItems.Presentation = C1.Win.C1TrueDBGrid.PresentationEnum.CheckBox + daten.Columns(i).ValueItems.DefaultItem = True + daten.Columns(i).DefaultValue = True + daten.Columns(i).FilterText = Aktiv_Filter + End If + Select Case LCase(daten.Columns(i).DataField) + Case "erstellt_am", "erstelltam" + daten.Columns(i).DefaultValue = Now + End Select + If daten.Columns(i).DataType.Name = "DateTime" Then + daten.Columns(i).NumberFormat = "dd.MM.yyyy HH:mm:ss" + End If + If Me.Numberformat <> "" Then + daten.columns(i).numberformat = Me.Numberformat + End If + End If + Next + ColumnOrder(tablename, daten) + daten.HeadingStyle.WrapText = False + End Function + ''' + ''' Sortierung der in der DB-Tabelle Spalaten festgelegten Reihenfolge + ''' + ''' + ''' + ''' + ''' + Public Function ColumnOrder(ByVal Tablename As String, ByRef Data As C1TrueDBGrid) + Dim spaltendata As DataTable = Globals.Spaltendaten + Dim dv() As DataRow + Dim dr As DataRow + Dim dc As New Collection + dv = spaltendata.Select("Tabelle='" & Tablename & "'", "Reihenfolge desc, Eintragnr") + For Each c As C1DisplayColumn In Data.Splits(0).DisplayColumns + dc.Add(c) + Next + While Data.Splits(0).DisplayColumns.Count > 0 + Data.Splits(0).DisplayColumns.RemoveAt(0) + End While + + For Each dr In dv + For Each e As C1DisplayColumn In dc + If e.Name = dr.Item(3) Then + Data.Splits(0).DisplayColumns.Insert(0, e) + End If + Next + Next + + End Function + End Class + + Public Class MySpaltenTitel + Private spaltendata As DataTable = Globals.Spaltendaten + Sub New() + load_data() + End Sub + + Sub dispose() + spaltendata.Dispose() + Me.dispose() + End Sub + + Public Function getspalte(ByVal tabelle As String, ByVal feld As String, ByRef spaltenname As String, ByRef locked As Boolean, _ + ByRef colwidth As Integer, ByRef order As Integer, ByRef alshacken As Boolean, ByRef tiptext As String, ByRef numberformat As String) + If spaltendata.Rows.Count = 0 Then load_data() + Dim dv() As DataRow + Dim dr As DataRow + dv = spaltendata.Select("Tabelle='" & tabelle & "' and tabellenspalte='" & feld & "'", "Reihenfolge, Eintragnr") + If dv.Length = 0 Then + spaltenname = "" + locked = True + colwidth = 0 + order = 0 + alshacken = False + tiptext = "" + numberformat = "" + End If + For Each dr In dv + spaltenname = dr.Item(3) + locked = dr.Item(4) + colwidth = dr.Item(6) + order = dr.Item(7) + alshacken = dr.Item(5) + tiptext = dr.Item(8) + numberformat = dr.Item(14).ToString + Next + 'Dim i As Integer + 'For i = 0 To spaltendata.Rows.Count - 1 + + ' If UCase(spaltendata.Rows(i).Item(1)) = UCase(tabelle) And UCase(spaltendata.Rows(i).Item(2)) = UCase(feld) Then + ' spaltenname = spaltendata.Rows(i).Item(3) + ' locked = spaltendata.Rows(i).Item(4) + ' colwidth = spaltendata.Rows(i).Item(6) + ' order = spaltendata.Rows(i).Item(7) + ' alshacken = spaltendata.Rows(i).Item(5) + ' tiptext = spaltendata.Rows(i).Item(8) + ' Exit Function + ' End If + 'Next + + End Function + + Public Sub load_data() + If Me.spaltendata.Rows.Count > 0 Then Exit Sub + Dim spalten As New Utils.clsSpalten() + spaltendata.Rows.Clear() + spalten.cpMainConnectionProvider = conn + spaltendata = spalten.Select_All_Aktiv + Globals.Spaltendaten = spaltendata + End Sub + End Class + + Public Class clsSpalten + Inherits DB.clsSpalten + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Public Function Select_All_Aktiv() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_spalten_SelectAll_Aktiv]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = New DataTable("spalten") + Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(0)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_spalten_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSpalten::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + End Class +End Namespace \ No newline at end of file diff --git a/.svn/pristine/f0/f08ea6951090d29ebbe00dcf64a7f5d15022e576.svn-base b/.svn/pristine/f0/f08ea6951090d29ebbe00dcf64a7f5d15022e576.svn-base new file mode 100644 index 0000000..66fffb7 --- /dev/null +++ b/.svn/pristine/f0/f08ea6951090d29ebbe00dcf64a7f5d15022e576.svn-base @@ -0,0 +1,11 @@ +Public Class frmFormSelector + + Private Sub ListForms_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListForms.DoubleClick + Me.DialogResult = Windows.Forms.DialogResult.OK + Me.Close() + End Sub + + Private Sub frmFormSelector_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + End Sub +End Class \ No newline at end of file diff --git a/.svn/pristine/f1/f159a257cafeaac1c6328e2c29566e683d2d452f.svn-base b/.svn/pristine/f1/f159a257cafeaac1c6328e2c29566e683d2d452f.svn-base new file mode 100644 index 0000000..c6e23b8 Binary files /dev/null and b/.svn/pristine/f1/f159a257cafeaac1c6328e2c29566e683d2d452f.svn-base differ diff --git a/.svn/pristine/f1/f1804d686ba3afaf391b1fc1afad1b5417cd5e0d.svn-base b/.svn/pristine/f1/f1804d686ba3afaf391b1fc1afad1b5417cd5e0d.svn-base new file mode 100644 index 0000000..521f45e --- /dev/null +++ b/.svn/pristine/f1/f1804d686ba3afaf391b1fc1afad1b5417cd5e0d.svn-base @@ -0,0 +1,864 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 239, 17 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACkSURBVDhPlZOBDoAgCET9dD7NPyNPgpAIzY21oTzPg1rL + F4/0aaQEJqJXAIo8Vu9dL9gDYiGRgG6VCwBJLDvgbxRVsodvBPiEASDXF3mIB3AbBzPjBLDeHBVIcRbj + KScKuMGQElArmKZNSNJ7VYC2Ib48EIjE0gX1QPerLigkATytqxT4gQht3HsQx9H8+OpCeHL+R+FQnIPT + QiXaHPwtNMCu8ALckGXYKNsEDQAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABeSURBVDhPYzhw4MB/SjADSDMDAwNZGKwXZkBDA8QQQq6B + qYHT5BgAczHZLkB2LVleGMQGwJyGL1pBanB6ASZJDI01GolxAUgjXhfgcj4sgQ1SA8jNUPCkTCgD4ZMH + ADk0Kh+zxKF0AAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAB7SURBVDhPtVKBDcAgCOvpnsZnzJq5MFSGMSNplhFaWwJE + RE8ATwaKZkHukUAp9bHRATRTADQU4AAr+jaBbF7O2Xoc7ApYR7eDd+Y+4Pfg+8bBd9bVLv5zQHsZTB2s + bqBnJsmi9vM7IHFyeHuXNxXI5O0RBgE2fK7o3wtcor2JxHm9tQ0AAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAYAAAA7bUf6AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACtSURBVDhPpdONCoMgEAdw3/+pfIkxWKy1mlh+pOsF3EQO + DjG9ULiEoJ9/9WLH14XeYpzz0FOH3wP7j/ioVm0R70xCagMWOIP8rmlIBCJWgpxVNARvN4esWdsI3mop + jdUXkPzwIZFRkp4kXUAqnEhvoo3gBBiB92r90BD4OJ8jtMm5H5FioiEQvbQdsYxtBK747GCX93ANKTXd + /HrQkZio1GzT8077i2ttPw638AOZO2GTDCfYPAAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACNSURBVDhPtZPRDcAgCEQZndHczHqkGBBsaE1N+EHvKXBS + a62fBGViZu5EFAL59XwAQMgjhjoE8ti3EAfAZiZccxYyAVWxwhQiANTmnt3vZV+05HBeegVAersVZEBt + 8haA2+1K+iOT+g9wVEKhiZjGLCFMoeAHN4XHPmxgzgdqzaqZUidayOe/oJA3v/ECXC1jKtBnBTgAAAAA + SUVORK5CYII= + + + + 346, 17 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0 + dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACRTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5QYWdlU2V0dGluZ3MHAAAAD3ByaW50ZXJTZXR0aW5ncwVjb2xvcglwYXBlclNp + emULcGFwZXJTb3VyY2URcHJpbnRlclJlc29sdXRpb24JbGFuZHNjYXBlB21hcmdpbnMEBAQEBAQEJ1N5 + c3RlbS5EcmF3aW5nLlByaW50aW5nLlByaW50ZXJTZXR0aW5ncwIAAAAgU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuVHJpU3RhdGUCAAAAIVN5c3RlbS5EcmF3aW5nLlByaW50aW5nLlBhcGVyU2l6ZQIAAAAjU3lz + dGVtLkRyYXdpbmcuUHJpbnRpbmcuUGFwZXJTb3VyY2UCAAAAKVN5c3RlbS5EcmF3aW5nLlByaW50aW5n + LlByaW50ZXJSZXNvbHV0aW9uAgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAf + U3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuTWFyZ2lucwIAAAACAAAACQMAAAAF/P///yBTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5UcmlTdGF0ZQEAAAAFdmFsdWUAAgIAAAAACgoKAfv////8////AAkGAAAABQMA + AAAnU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRlclNldHRpbmdzEgAAAAtwcmludGVyTmFtZQpk + cml2ZXJOYW1lCm91dHB1dFBvcnQLcHJpbnRUb0ZpbGUUcHJpbnREaWFsb2dEaXNwbGF5ZWQKZXh0cmFi + eXRlcwlleHRyYWluZm8GY29waWVzBmR1cGxleAdjb2xsYXRlE2RlZmF1bHRQYWdlU2V0dGluZ3MIZnJv + bVBhZ2UGdG9QYWdlB21heFBhZ2UHbWluUGFnZQpwcmludFJhbmdlDGRldm1vZGVieXRlcw1jYWNoZWRE + ZXZtb2RlAQEBAAAABwAEBAQAAAAABAAHAQEHAgceU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuRHVwbGV4 + AgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAkU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuUGFnZVNldHRpbmdzAgAAAAgICAgiU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRSYW5n + ZQIAAAAHAgIAAAAKBgcAAAAACQcAAAAAAAAACv//Bfj///8eU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcu + RHVwbGV4AQAAAAd2YWx1ZV9fAAgCAAAA/////wH3/////P///wAJCgAAAAAAAAAAAAAADycAAAAAAAAF + 9f///yJTeXN0ZW0uRHJhd2luZy5QcmludGluZy5QcmludFJhbmdlAQAAAAd2YWx1ZV9fAAgCAAAAAAAA + AAAACgUGAAAAH1N5c3RlbS5EcmF3aW5nLlByaW50aW5nLk1hcmdpbnMIAAAABGxlZnQFcmlnaHQDdG9w + BmJvdHRvbQpkb3VibGVMZWZ0C2RvdWJsZVJpZ2h0CWRvdWJsZVRvcAxkb3VibGVCb3R0b20AAAAAAAAA + AAgICAgGBgYGAgAAAGQAAABkAAAAZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZ + QAEKAAAAAQAAAAkDAAAAAfP////8////AAoKCgHy/////P///wAJDwAAAAEPAAAABgAAAGQAAABkAAAA + ZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAs= + + + + <?xml version="1.0"?><Blob><Styles type="C1.Win.C1TrueDBGrid.Design.ContextWrapper"><Data>HighlightRow{ForeColor:HighlightText;BackColor:Highlight;}Inactive{ForeColor:InactiveCaptionText;BackColor:InactiveCaption;}Style8{}Style7{}Style9{}EvenRow{BackColor:Aqua;}Normal{}RecordSelector{AlignImage:Center;}OddRow{}Style14{}Style3{}Footer{}Style13{}Heading{ForeColor:ControlText;Border:Flat,ControlDark,0, 1, 0, 1;AlignVert:Center;BackColor:Control;Wrap:True;}Style6{}Editor{}Style10{AlignHorz:Near;}Style16{}Style15{}Selected{ForeColor:HighlightText;BackColor:Highlight;}Style5{}Group{Border:None,,0, 0, 0, 0;AlignVert:Center;BackColor:ControlDark;}Style12{}Style11{}Style4{}FilterWatermark{ForeColor:InfoText;BackColor:Info;}Style1{}Caption{AlignHorz:Center;}Style2{}FilterBar{}</Data></Styles><Splits><C1.Win.C1TrueDBGrid.MergeView Name="" CaptionHeight="17" ColumnCaptionHeight="17" ColumnFooterHeight="17" MarqueeStyle="DottedCellBorder" RecordSelectorWidth="17" DefRecSelWidth="17" VerticalScrollGroup="1" HorizontalScrollGroup="1"><CaptionStyle parent="Style2" me="Style10" /><EditorStyle parent="Editor" me="Style5" /><EvenRowStyle parent="EvenRow" me="Style8" /><FilterBarStyle parent="FilterBar" me="Style13" /><FilterWatermarkStyle parent="FilterWatermark" me="Style14" /><FooterStyle parent="Footer" me="Style3" /><GroupStyle parent="Group" me="Style12" /><HeadingStyle parent="Heading" me="Style2" /><HighLightRowStyle parent="HighlightRow" me="Style7" /><InactiveStyle parent="Inactive" me="Style4" /><OddRowStyle parent="OddRow" me="Style9" /><RecordSelectorStyle parent="RecordSelector" me="Style11" /><SelectedStyle parent="Selected" me="Style6" /><Style parent="Normal" me="Style1" /><ClientRect>0, 0, 988, 443</ClientRect><BorderSide>0</BorderSide></C1.Win.C1TrueDBGrid.MergeView></Splits><NamedStyles><Style parent="" me="Normal" /><Style parent="Normal" me="Heading" /><Style parent="Heading" me="Footer" /><Style parent="Heading" me="Caption" /><Style parent="Heading" me="Inactive" /><Style parent="Normal" me="Selected" /><Style parent="Normal" me="Editor" /><Style parent="Normal" me="HighlightRow" /><Style parent="Normal" me="EvenRow" /><Style parent="Normal" me="OddRow" /><Style parent="Heading" me="RecordSelector" /><Style parent="Normal" me="FilterBar" /><Style parent="FilterBar" me="FilterWatermark" /><Style parent="Caption" me="Group" /></NamedStyles><vertSplits>1</vertSplits><horzSplits>1</horzSplits><Layout>None</Layout><DefaultRecSelWidth>17</DefaultRecSelWidth><ClientArea>0, 0, 988, 443</ClientArea><PrintPageHeaderStyle parent="" me="Style15" /><PrintPageFooterStyle parent="" me="Style16" /></Blob> + + + 568, 17 + + + + iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAYAAAA7bUf6AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACtSURBVDhPpdONCoMgEAdw3/+pfIkxWKy1mlh+pOsF3EQO + DjG9ULiEoJ9/9WLH14XeYpzz0FOH3wP7j/ioVm0R70xCagMWOIP8rmlIBCJWgpxVNARvN4esWdsI3mop + jdUXkPzwIZFRkp4kXUAqnEhvoo3gBBiB92r90BD4OJ8jtMm5H5FioiEQvbQdsYxtBK747GCX93ANKTXd + /HrQkZio1GzT8077i2ttPw638AOZO2GTDCfYPAAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACNSURBVDhPtZPRDcAgCEQZndHczHqkGBBsaE1N+EHvKXBS + a62fBGViZu5EFAL59XwAQMgjhjoE8ti3EAfAZiZccxYyAVWxwhQiANTmnt3vZV+05HBeegVAersVZEBt + 8haA2+1K+iOT+g9wVEKhiZjGLCFMoeAHN4XHPmxgzgdqzaqZUidayOe/oJA3v/ECXC1jKtBnBTgAAAAA + SUVORK5CYII= + + + + 790, 17 + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACkSURBVDhPlZOBDoAgCET9dD7NPyNPgpAIzY21oTzPg1rL + F4/0aaQEJqJXAIo8Vu9dL9gDYiGRgG6VCwBJLDvgbxRVsodvBPiEASDXF3mIB3AbBzPjBLDeHBVIcRbj + KScKuMGQElArmKZNSNJ7VYC2Ib48EIjE0gX1QPerLigkATytqxT4gQht3HsQx9H8+OpCeHL+R+FQnIPT + QiXaHPwtNMCu8ALckGXYKNsEDQAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABESURBVDhPY2CgMvgPNA8fJmjdf1wAyWC8huA1ACQJNQin + IcS4AK8hOA1AlsDnilEDgImIGDDIA5FAXkDOJwTzBX0UAABPRZh2vD9LogAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABxSURBVDhPxVNJEsAgCOPp/pyWUpAqDsulzOBKYkAFyBne + YeI5hIkioDWZr+sl4k1NReIWi2zA7czVG7syFSwkXv8SnwimghNJQMDyk2nENRgDMHKr6HNyBKT9NR2t + fgdMVX0Yu2AlCO6//Q9K7/uf4Av+LPEz9yPyNgAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABfSURBVDhPY2CgEvgPNIccDLf+f0MD3ABCbgJZBAIwGsIh + 0QCYa8lzATbLSHLBIDYAyWk4oxSkBqcXYJLE0FijkRgX4IpysLMIGACLc/xewJOkaWsALG2TmqEI5RvC + 8gCWcrF1SNJPYgAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABbSURBVDhPY2AY5KDhP9kObGgAaW74D6HJAhADIJhEALMd + ZgAZrkC2mURXIGyHOZvksED2OzqbQFhg2k6yK7D7FzVQcbgCt+3AuICmCTzpAp9fcYUJiWlj8CoHAICD + XMsGP053AAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAwSURBVDhPY2AYLOA/0CHkYOq5n1jbqWcjuknEugBdHfVc + RKwLqGfjaBjQLixJNxkAYl5HuZrRXM4AAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAqSURBVDhPY2AYLOA/0CHkYOq7n1hXDJzN6C4cOJcMnM3D + OQyoH6rEmggAcz9HuXkkmAwAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAxSURBVDhPY2AYNuA/0CfkYNoFALGuoZ4LiLURXR31XIBu + ErEuop4LiLVxOIcB2aEJAE1aR7mpxf/cAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAvSURBVDhPY2AYBegh8B8ogA8TFWLIBsA0YBPDadjgMgA9 + PEZCGFAlHRAVUINHEQDqQTrGIPgP6wAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAA4SURBVDhPY2AYBYRC4D9QATompAdDHmxAQ0MDiCYNQDXB + XECaZqjqUdvJCHls8U569JEVXwOmCQCz0SphnX9zfwAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABDSURBVDhPY2AYduA/0EfIGORBbGJ4PQ7TgKwImxhOQ0YN + QIQ6ZYHY0NAACkwGKE1SLGCLe7BhdAHoqQ4bny4OId4SAAIENs0pYfbBAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABpSURBVDhPtZNbCgAgCAS7/6V7F4q7GlRCPybjKJXS48iV + t45Es7xpn1tMiAKQvAXcGEhNacHyrr4CCH00XgehLlFuG/RC0oXdKZNvgD0CsLMGZA/RfsYCT7bs1d0D + gD76YscP6vH/DHAF0vazTSMR+uUAAAAASUVORK5CYII= + + + + 675, 17 + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAERJREFUOE9jYKAy + +A80Dx8maN1/XADJYLyG4DUAJAk1CKchxLgAryE4DUCWwOeKUQOAiYgYMMgDkUBeQM4nBPMFfRQAAE9F + mHa8P0uiAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAHFJREFUOE/FU0kS + wCAI4+n+nJZSkCoOy6XM4EpiQAXIGd5h4jmEiSKgNZmv6yXiTU1F4haLbMDtzNUbuzIVLCRe/xKfCKaC + E0lAwPKTacQ1GAMwcqvoc3IEpP01Ha1+B0xVfRi7YCUI7r/9D0rv+5/gC/4s8TP3I/I2AAAAAElFTkSu + QmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAF9JREFUOE9jYKAS + +A80hxwMt/5/QwPcAEJuAlkEAjAawiHRAJhryXMBNstIcsEgNgDJaTijFKQGpxdgksTQWKORGBfginKw + swgYAItz/F7Ak6RpawAsbZOaoQjlG8LyAJZysXVI0k9iAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAIhJREFUOE+1U0EO + wCAI4+k+zZ85a8TVBYElmwmXYWlpncgfp5TSvOqc7cgLYHRSA+YlMK3C4BTYU5AaELCzqtuK7O611jEA + 95caddxi5m8GuAnAaGSKmZeCKHPuq5pNsaeAwarQ3P8kv6eO5EfxAPJFhgeRec/+lsAM0n37vLMF1sfw + Rsl3//AFF6OYgqJ5sMAAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAE5JREFUOE9jYBgF + RIRAw38GBgRuaACxsQJ0CZgmdMUN/3EYgqwBpy1Q07DKIzuVkM8IGkCxC3D5H+QynGFAyNlAreAYIOQ6 + wuaMqkALAQBAozPhSnzvTwAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAEhJREFUOE9jYBgF + 8BBoaGj4z8CAjokMIIRmdA0wA5HFQWIYAKsgkiqYPDYDwcoIGQBTQ7YBBMIGdxig24zTBRCFEINGAd1D + AAAwgjPhFnKvlAAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAGlJREFUOE+1k1sK + ACAIBLv/pXsXirsaVEI/JuMoldLjyJW3jkSzvGmfW0yIApC8BdwYSE1pwfKuvgIIfTReB6EuUW4b9ELS + hd0pk2+APQKwswZkD9F+xgJPtuzV3QOAPvpixw/q8f8McAXS9rNNIxH65QAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAJdJREFUOE+lUwkO + wCAI8+n+3BNcgWK2jGTBIZTSYCmJ1VrbuDqf/GfpIa6FeMFiFDBNBFaciaeNI8h5FjY2zjNv21bEqwOA + BeIp7KJxoR67Q0zrcgDtHLztygGOBsJGWTgGXAOcdQJ5A/FC9yUKGnZ2IuJyGR1Dx8smUpAAQBixrTzj + fAXQXfgFYBbKvDyywlT510/zltgB+htFWvke2uMAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAHxJREFUOE/NklsK + QCEIRFt6O+9WJvkY088bCCFxmtFp7Q9nTBGoytqGPQJYgkDAah5QCtkA/vXe++yh8jyngCAdKGOghigF + 1z8GMFwingq0NWuJMGUF8ieajwD4VZIFlBFrIwiSn0GkINhzXcETACd81pwkLAqS7KchzR98nAljvdE1 + TsgAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAFRJREFUOE9jYKAR + +I9mLjqfoLWDwwCYK0A0yV4A+RHZAIJ+xqYAZjNZtsMMpERzA9QFYJocANMIomGYKHPQNSC7gKBrsCke + eANA/iYrDIgKMMoVAQAEKTZXuODVbQAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAJZJREFUOE+1k40O + gCAIhHl03pxE41ew1pYbs0yu764E+HHQ0Pb1+KrcQEQwKwnJfRAkRBwFc+YG3yjX8pznW1RFQvOBtd2n + BA2u2hDSlsBjelt5vRCwDCwLzqOrmcOeQQwKR5j7MNEgUBN0Ary+hNbQdCsCb8MaxZoKvCcQqk8EQpMt + TBt71SFWBM3Pd/qMMYPHk9ZtuACK+mkAJhkI5AAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAFtJREFUOE9jYBjk + oOE/2Q5saABpbvgPockCEAMgmEQAsx1mABmuQLaZRFcgbIc5m+SwQPY7OptAWGDaTrIrsPsXNVBxuAK3 + 7cC4gKYJPOkCn19xhQmJaWPwKgcAgINcywY/TncAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAC9JREFUOE9jYBgF + 6CHwHyiADxMVYsgGwDRgE8Np2OAyAD08RkIYUCUdEBVQg0cRAOpBOsYg+A/rAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAADhJREFUOE9jYBgF + hELgP1ABOiakB0MebEBDQwOIJg1ANcFcQJpmqOpR28kIeWzxTnr0kRVfA6YJALPRKmGdf3N/AAAAAElF + TkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAENJREFUOE9jYBh2 + 4D/QR8gY5EFsYng9DtOArAibGE5DRg1AhDplgdjQ0AAKTAYoTVIsYIt7sGF0AeipDhufLg4h3hIAAgQ2 + zSlh9sEAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAADBJREFUOE9jYBgs + 4D/QIeRg6rmfWNupZyO6ScS6AF0d9VxErAuoZ+NoGNAuLEk3GQBiXke5mtFczgAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAACpJREFUOE9jYBgs + 4D/QIeRg6rufWFcMnM3oLhw4lwyczcM5DKgfqsSaCABzP0e5eSSYDAAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAADFJREFUOE9jYBg2 + 4D/QJ+Rg2gUAsa6hnguItRFdHfVcgG4SsS6inguItXE4hwHZoQkATVpHuanF/9wAAAAASUVORK5CYII= + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0 + dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACRTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5QYWdlU2V0dGluZ3MHAAAAD3ByaW50ZXJTZXR0aW5ncwVjb2xvcglwYXBlclNp + emULcGFwZXJTb3VyY2URcHJpbnRlclJlc29sdXRpb24JbGFuZHNjYXBlB21hcmdpbnMEBAQEBAQEJ1N5 + c3RlbS5EcmF3aW5nLlByaW50aW5nLlByaW50ZXJTZXR0aW5ncwIAAAAgU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuVHJpU3RhdGUCAAAAIVN5c3RlbS5EcmF3aW5nLlByaW50aW5nLlBhcGVyU2l6ZQIAAAAjU3lz + dGVtLkRyYXdpbmcuUHJpbnRpbmcuUGFwZXJTb3VyY2UCAAAAKVN5c3RlbS5EcmF3aW5nLlByaW50aW5n + LlByaW50ZXJSZXNvbHV0aW9uAgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAf + U3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuTWFyZ2lucwIAAAACAAAACQMAAAAF/P///yBTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5UcmlTdGF0ZQEAAAAFdmFsdWUAAgIAAAAACgoKAfv////8////AAkGAAAABQMA + AAAnU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRlclNldHRpbmdzEgAAAAtwcmludGVyTmFtZQpk + cml2ZXJOYW1lCm91dHB1dFBvcnQLcHJpbnRUb0ZpbGUUcHJpbnREaWFsb2dEaXNwbGF5ZWQKZXh0cmFi + eXRlcwlleHRyYWluZm8GY29waWVzBmR1cGxleAdjb2xsYXRlE2RlZmF1bHRQYWdlU2V0dGluZ3MIZnJv + bVBhZ2UGdG9QYWdlB21heFBhZ2UHbWluUGFnZQpwcmludFJhbmdlDGRldm1vZGVieXRlcw1jYWNoZWRE + ZXZtb2RlAQEBAAAABwAEBAQAAAAABAAHAQEHAgceU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuRHVwbGV4 + AgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAkU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuUGFnZVNldHRpbmdzAgAAAAgICAgiU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRSYW5n + ZQIAAAAHAgIAAAAKBgcAAAAACQcAAAAAAAAACv//Bfj///8eU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcu + RHVwbGV4AQAAAAd2YWx1ZV9fAAgCAAAA/////wH3/////P///wAJCgAAAAAAAAAAAAAADycAAAAAAAAF + 9f///yJTeXN0ZW0uRHJhd2luZy5QcmludGluZy5QcmludFJhbmdlAQAAAAd2YWx1ZV9fAAgCAAAAAAAA + AAAACgUGAAAAH1N5c3RlbS5EcmF3aW5nLlByaW50aW5nLk1hcmdpbnMIAAAABGxlZnQFcmlnaHQDdG9w + BmJvdHRvbQpkb3VibGVMZWZ0C2RvdWJsZVJpZ2h0CWRvdWJsZVRvcAxkb3VibGVCb3R0b20AAAAAAAAA + AAgICAgGBgYGAgAAAGQAAABkAAAAZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZ + QAEKAAAAAQAAAAkDAAAAAfP////8////AAoKCgHy/////P///wAJDwAAAAEPAAAABgAAAGQAAABkAAAA + ZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAs= + + + + <?xml version="1.0"?><Blob><Styles type="C1.Win.C1TrueDBGrid.Design.ContextWrapper"><Data>HighlightRow{ForeColor:HighlightText;BackColor:Highlight;}Style8{}Style7{}Style9{}EvenRow{BackColor:Aqua;}Normal{}FilterBar{}RecordSelector{AlignImage:Center;}OddRow{}Style14{}Style3{}Footer{}Style13{}Heading{AlignVert:Center;Border:Flat,ControlDark,0, 1, 0, 1;ForeColor:ControlText;BackColor:Control;Wrap:True;}Style6{}Editor{}Style10{AlignHorz:Near;}Style16{}Style15{}Selected{ForeColor:HighlightText;BackColor:Highlight;}Style5{}Group{Border:None,,0, 0, 0, 0;AlignVert:Center;BackColor:ControlDark;}Style12{}Style11{}Style4{}FilterWatermark{ForeColor:InfoText;BackColor:Info;}Style1{}Caption{AlignHorz:Center;}Style2{}Inactive{ForeColor:InactiveCaptionText;BackColor:InactiveCaption;}</Data></Styles><Splits><C1.Win.C1TrueDBGrid.MergeView Name="" CaptionHeight="17" ColumnCaptionHeight="17" ColumnFooterHeight="17" MarqueeStyle="DottedCellBorder" RecordSelectorWidth="17" DefRecSelWidth="17" VerticalScrollGroup="1" HorizontalScrollGroup="1"><CaptionStyle parent="Style2" me="Style10" /><EditorStyle parent="Editor" me="Style5" /><EvenRowStyle parent="EvenRow" me="Style8" /><FilterBarStyle parent="FilterBar" me="Style13" /><FilterWatermarkStyle parent="FilterWatermark" me="Style14" /><FooterStyle parent="Footer" me="Style3" /><GroupStyle parent="Group" me="Style12" /><HeadingStyle parent="Heading" me="Style2" /><HighLightRowStyle parent="HighlightRow" me="Style7" /><InactiveStyle parent="Inactive" me="Style4" /><OddRowStyle parent="OddRow" me="Style9" /><RecordSelectorStyle parent="RecordSelector" me="Style11" /><SelectedStyle parent="Selected" me="Style6" /><Style parent="Normal" me="Style1" /><ClientRect>0, 0, 455, 154</ClientRect><BorderSide>0</BorderSide></C1.Win.C1TrueDBGrid.MergeView></Splits><NamedStyles><Style parent="" me="Normal" /><Style parent="Normal" me="Heading" /><Style parent="Heading" me="Footer" /><Style parent="Heading" me="Caption" /><Style parent="Heading" me="Inactive" /><Style parent="Normal" me="Selected" /><Style parent="Normal" me="Editor" /><Style parent="Normal" me="HighlightRow" /><Style parent="Normal" me="EvenRow" /><Style parent="Normal" me="OddRow" /><Style parent="Heading" me="RecordSelector" /><Style parent="Normal" me="FilterBar" /><Style parent="FilterBar" me="FilterWatermark" /><Style parent="Caption" me="Group" /></NamedStyles><vertSplits>1</vertSplits><horzSplits>1</horzSplits><Layout>None</Layout><DefaultRecSelWidth>17</DefaultRecSelWidth><ClientArea>0, 0, 455, 154</ClientArea><PrintPageHeaderStyle parent="" me="Style15" /><PrintPageFooterStyle parent="" me="Style16" /></Blob> + + + 1111, 17 + + + + iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAYAAAA7bUf6AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACtSURBVDhPpdONCoMgEAdw3/+pfIkxWKy1mlh+pOsF3EQO + DjG9ULiEoJ9/9WLH14XeYpzz0FOH3wP7j/ioVm0R70xCagMWOIP8rmlIBCJWgpxVNARvN4esWdsI3mop + jdUXkPzwIZFRkp4kXUAqnEhvoo3gBBiB92r90BD4OJ8jtMm5H5FioiEQvbQdsYxtBK747GCX93ANKTXd + /HrQkZio1GzT8077i2ttPw638AOZO2GTDCfYPAAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACNSURBVDhPtZPRDcAgCEQZndHczHqkGBBsaE1N+EHvKXBS + a62fBGViZu5EFAL59XwAQMgjhjoE8ti3EAfAZiZccxYyAVWxwhQiANTmnt3vZV+05HBeegVAersVZEBt + 8haA2+1K+iOT+g9wVEKhiZjGLCFMoeAHN4XHPmxgzgdqzaqZUidayOe/oJA3v/ECXC1jKtBnBTgAAAAA + SUVORK5CYII= + + + + 132, 56 + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACkSURBVDhPlZOBDoAgCET9dD7NPyNPgpAIzY21oTzPg1rL + F4/0aaQEJqJXAIo8Vu9dL9gDYiGRgG6VCwBJLDvgbxRVsodvBPiEASDXF3mIB3AbBzPjBLDeHBVIcRbj + KScKuMGQElArmKZNSNJ7VYC2Ib48EIjE0gX1QPerLigkATytqxT4gQht3HsQx9H8+OpCeHL+R+FQnIPT + QiXaHPwtNMCu8ALckGXYKNsEDQAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABESURBVDhPY2CgMvgPNA8fJmjdf1wAyWC8huA1ACQJNQin + IcS4AK8hOA1AlsDnilEDgImIGDDIA5FAXkDOJwTzBX0UAABPRZh2vD9LogAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABxSURBVDhPxVNJEsAgCOPp/pyWUpAqDsulzOBKYkAFyBne + YeI5hIkioDWZr+sl4k1NReIWi2zA7czVG7syFSwkXv8SnwimghNJQMDyk2nENRgDMHKr6HNyBKT9NR2t + fgdMVX0Yu2AlCO6//Q9K7/uf4Av+LPEz9yPyNgAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABfSURBVDhPY2CgEvgPNIccDLf+f0MD3ABCbgJZBAIwGsIh + 0QCYa8lzATbLSHLBIDYAyWk4oxSkBqcXYJLE0FijkRgX4IpysLMIGACLc/xewJOkaWsALG2TmqEI5RvC + 8gCWcrF1SNJPYgAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABbSURBVDhPY2AY5KDhP9kObGgAaW74D6HJAhADIJhEALMd + ZgAZrkC2mURXIGyHOZvksED2OzqbQFhg2k6yK7D7FzVQcbgCt+3AuICmCTzpAp9fcYUJiWlj8CoHAICD + XMsGP053AAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAwSURBVDhPY2AYLOA/0CHkYOq5n1jbqWcjuknEugBdHfVc + RKwLqGfjaBjQLixJNxkAYl5HuZrRXM4AAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAqSURBVDhPY2AYLOA/0CHkYOq7n1hXDJzN6C4cOJcMnM3D + OQyoH6rEmggAcz9HuXkkmAwAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAxSURBVDhPY2AYNuA/0CfkYNoFALGuoZ4LiLURXR31XIBu + ErEuop4LiLVxOIcB2aEJAE1aR7mpxf/cAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAvSURBVDhPY2AYBegh8B8ogA8TFWLIBsA0YBPDadjgMgA9 + PEZCGFAlHRAVUINHEQDqQTrGIPgP6wAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAA4SURBVDhPY2AYBYRC4D9QATompAdDHmxAQ0MDiCYNQDXB + XECaZqjqUdvJCHls8U569JEVXwOmCQCz0SphnX9zfwAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABDSURBVDhPY2AYduA/0EfIGORBbGJ4PQ7TgKwImxhOQ0YN + QIQ6ZYHY0NAACkwGKE1SLGCLe7BhdAHoqQ4bny4OId4SAAIENs0pYfbBAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABpSURBVDhPtZNbCgAgCAS7/6V7F4q7GlRCPybjKJXS48iV + t45Es7xpn1tMiAKQvAXcGEhNacHyrr4CCH00XgehLlFuG/RC0oXdKZNvgD0CsLMGZA/RfsYCT7bs1d0D + gD76YscP6vH/DHAF0vazTSMR+uUAAAAASUVORK5CYII= + + + + 17, 56 + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAERJREFUOE9jYKAy + +A80Dx8maN1/XADJYLyG4DUAJAk1CKchxLgAryE4DUCWwOeKUQOAiYgYMMgDkUBeQM4nBPMFfRQAAE9F + mHa8P0uiAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAHFJREFUOE/FU0kS + wCAI4+n+nJZSkCoOy6XM4EpiQAXIGd5h4jmEiSKgNZmv6yXiTU1F4haLbMDtzNUbuzIVLCRe/xKfCKaC + E0lAwPKTacQ1GAMwcqvoc3IEpP01Ha1+B0xVfRi7YCUI7r/9D0rv+5/gC/4s8TP3I/I2AAAAAElFTkSu + QmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAF9JREFUOE9jYKAS + +A80hxwMt/5/QwPcAEJuAlkEAjAawiHRAJhryXMBNstIcsEgNgDJaTijFKQGpxdgksTQWKORGBfginKw + swgYAItz/F7Ak6RpawAsbZOaoQjlG8LyAJZysXVI0k9iAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAIhJREFUOE+1U0EO + wCAI4+k+zZ85a8TVBYElmwmXYWlpncgfp5TSvOqc7cgLYHRSA+YlMK3C4BTYU5AaELCzqtuK7O611jEA + 95caddxi5m8GuAnAaGSKmZeCKHPuq5pNsaeAwarQ3P8kv6eO5EfxAPJFhgeRec/+lsAM0n37vLMF1sfw + Rsl3//AFF6OYgqJ5sMAAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAE5JREFUOE9jYBgF + RIRAw38GBgRuaACxsQJ0CZgmdMUN/3EYgqwBpy1Q07DKIzuVkM8IGkCxC3D5H+QynGFAyNlAreAYIOQ6 + wuaMqkALAQBAozPhSnzvTwAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAEhJREFUOE9jYBgF + 8BBoaGj4z8CAjokMIIRmdA0wA5HFQWIYAKsgkiqYPDYDwcoIGQBTQ7YBBMIGdxig24zTBRCFEINGAd1D + AAAwgjPhFnKvlAAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAGlJREFUOE+1k1sK + ACAIBLv/pXsXirsaVEI/JuMoldLjyJW3jkSzvGmfW0yIApC8BdwYSE1pwfKuvgIIfTReB6EuUW4b9ELS + hd0pk2+APQKwswZkD9F+xgJPtuzV3QOAPvpixw/q8f8McAXS9rNNIxH65QAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAJdJREFUOE+lUwkO + wCAI8+n+3BNcgWK2jGTBIZTSYCmJ1VrbuDqf/GfpIa6FeMFiFDBNBFaciaeNI8h5FjY2zjNv21bEqwOA + BeIp7KJxoR67Q0zrcgDtHLztygGOBsJGWTgGXAOcdQJ5A/FC9yUKGnZ2IuJyGR1Dx8smUpAAQBixrTzj + fAXQXfgFYBbKvDyywlT510/zltgB+htFWvke2uMAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAHxJREFUOE/NklsK + QCEIRFt6O+9WJvkY088bCCFxmtFp7Q9nTBGoytqGPQJYgkDAah5QCtkA/vXe++yh8jyngCAdKGOghigF + 1z8GMFwingq0NWuJMGUF8ieajwD4VZIFlBFrIwiSn0GkINhzXcETACd81pwkLAqS7KchzR98nAljvdE1 + TsgAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAFRJREFUOE9jYKAR + +I9mLjqfoLWDwwCYK0A0yV4A+RHZAIJ+xqYAZjNZtsMMpERzA9QFYJocANMIomGYKHPQNSC7gKBrsCke + eANA/iYrDIgKMMoVAQAEKTZXuODVbQAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAJZJREFUOE+1k40O + gCAIhHl03pxE41ew1pYbs0yu764E+HHQ0Pb1+KrcQEQwKwnJfRAkRBwFc+YG3yjX8pznW1RFQvOBtd2n + BA2u2hDSlsBjelt5vRCwDCwLzqOrmcOeQQwKR5j7MNEgUBN0Ary+hNbQdCsCb8MaxZoKvCcQqk8EQpMt + TBt71SFWBM3Pd/qMMYPHk9ZtuACK+mkAJhkI5AAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAFtJREFUOE9jYBjk + oOE/2Q5saABpbvgPockCEAMgmEQAsx1mABmuQLaZRFcgbIc5m+SwQPY7OptAWGDaTrIrsPsXNVBxuAK3 + 7cC4gKYJPOkCn19xhQmJaWPwKgcAgINcywY/TncAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAC9JREFUOE9jYBgF + 6CHwHyiADxMVYsgGwDRgE8Np2OAyAD08RkIYUCUdEBVQg0cRAOpBOsYg+A/rAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAADhJREFUOE9jYBgF + hELgP1ABOiakB0MebEBDQwOIJg1ANcFcQJpmqOpR28kIeWzxTnr0kRVfA6YJALPRKmGdf3N/AAAAAElF + TkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAENJREFUOE9jYBh2 + 4D/QR8gY5EFsYng9DtOArAibGE5DRg1AhDplgdjQ0AAKTAYoTVIsYIt7sGF0AeipDhufLg4h3hIAAgQ2 + zSlh9sEAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAADBJREFUOE9jYBgs + 4D/QIeRg6rmfWNupZyO6ScS6AF0d9VxErAuoZ+NoGNAuLEk3GQBiXke5mtFczgAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAACpJREFUOE9jYBgs + 4D/QIeRg6rufWFcMnM3oLhw4lwyczcM5DKgfqsSaCABzP0e5eSSYDAAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAADFJREFUOE9jYBg2 + 4D/QJ+Rg2gUAsa6hnguItRFdHfVcgG4SsS6inguItXE4hwHZoQkATVpHuanF/9wAAAAASUVORK5CYII= + + + + 1004, 17 + + + + iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAYAAAA7bUf6AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACtSURBVDhPpdONCoMgEAdw3/+pfIkxWKy1mlh+pOsF3EQO + DjG9ULiEoJ9/9WLH14XeYpzz0FOH3wP7j/ioVm0R70xCagMWOIP8rmlIBCJWgpxVNARvN4esWdsI3mop + jdUXkPzwIZFRkp4kXUAqnEhvoo3gBBiB92r90BD4OJ8jtMm5H5FioiEQvbQdsYxtBK747GCX93ANKTXd + /HrQkZio1GzT8077i2ttPw638AOZO2GTDCfYPAAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACNSURBVDhPtZPRDcAgCEQZndHczHqkGBBsaE1N+EHvKXBS + a62fBGViZu5EFAL59XwAQMgjhjoE8ti3EAfAZiZccxYyAVWxwhQiANTmnt3vZV+05HBeegVAersVZEBt + 8haA2+1K+iOT+g9wVEKhiZjGLCFMoeAHN4XHPmxgzgdqzaqZUidayOe/oJA3v/ECXC1jKtBnBTgAAAAA + SUVORK5CYII= + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0 + dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACRTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5QYWdlU2V0dGluZ3MHAAAAD3ByaW50ZXJTZXR0aW5ncwVjb2xvcglwYXBlclNp + emULcGFwZXJTb3VyY2URcHJpbnRlclJlc29sdXRpb24JbGFuZHNjYXBlB21hcmdpbnMEBAQEBAQEJ1N5 + c3RlbS5EcmF3aW5nLlByaW50aW5nLlByaW50ZXJTZXR0aW5ncwIAAAAgU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuVHJpU3RhdGUCAAAAIVN5c3RlbS5EcmF3aW5nLlByaW50aW5nLlBhcGVyU2l6ZQIAAAAjU3lz + dGVtLkRyYXdpbmcuUHJpbnRpbmcuUGFwZXJTb3VyY2UCAAAAKVN5c3RlbS5EcmF3aW5nLlByaW50aW5n + LlByaW50ZXJSZXNvbHV0aW9uAgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAf + U3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuTWFyZ2lucwIAAAACAAAACQMAAAAF/P///yBTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5UcmlTdGF0ZQEAAAAFdmFsdWUAAgIAAAAACgoKAfv////8////AAkGAAAABQMA + AAAnU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRlclNldHRpbmdzEgAAAAtwcmludGVyTmFtZQpk + cml2ZXJOYW1lCm91dHB1dFBvcnQLcHJpbnRUb0ZpbGUUcHJpbnREaWFsb2dEaXNwbGF5ZWQKZXh0cmFi + eXRlcwlleHRyYWluZm8GY29waWVzBmR1cGxleAdjb2xsYXRlE2RlZmF1bHRQYWdlU2V0dGluZ3MIZnJv + bVBhZ2UGdG9QYWdlB21heFBhZ2UHbWluUGFnZQpwcmludFJhbmdlDGRldm1vZGVieXRlcw1jYWNoZWRE + ZXZtb2RlAQEBAAAABwAEBAQAAAAABAAHAQEHAgceU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuRHVwbGV4 + AgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAkU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuUGFnZVNldHRpbmdzAgAAAAgICAgiU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRSYW5n + ZQIAAAAHAgIAAAAKBgcAAAAACQcAAAAAAAAACv//Bfj///8eU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcu + RHVwbGV4AQAAAAd2YWx1ZV9fAAgCAAAA/////wH3/////P///wAJCgAAAAAAAAAAAAAADycAAAAAAAAF + 9f///yJTeXN0ZW0uRHJhd2luZy5QcmludGluZy5QcmludFJhbmdlAQAAAAd2YWx1ZV9fAAgCAAAAAAAA + AAAACgUGAAAAH1N5c3RlbS5EcmF3aW5nLlByaW50aW5nLk1hcmdpbnMIAAAABGxlZnQFcmlnaHQDdG9w + BmJvdHRvbQpkb3VibGVMZWZ0C2RvdWJsZVJpZ2h0CWRvdWJsZVRvcAxkb3VibGVCb3R0b20AAAAAAAAA + AAgICAgGBgYGAgAAAGQAAABkAAAAZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZ + QAEKAAAAAQAAAAkDAAAAAfP////8////AAoKCgHy/////P///wAJDwAAAAEPAAAABgAAAGQAAABkAAAA + ZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAs= + + + + <?xml version="1.0"?><Blob><Styles type="C1.Win.C1TrueDBGrid.Design.ContextWrapper"><Data>HighlightRow{ForeColor:HighlightText;BackColor:Highlight;}Style8{}Style7{}Style9{}EvenRow{BackColor:Aqua;}Normal{}FilterBar{}RecordSelector{AlignImage:Center;}OddRow{}Style14{}Style3{}Footer{}Style13{}Heading{AlignVert:Center;Border:Flat,ControlDark,0, 1, 0, 1;ForeColor:ControlText;BackColor:Control;Wrap:True;}Style6{}Editor{}Style10{AlignHorz:Near;}Style16{}Style15{}Selected{ForeColor:HighlightText;BackColor:Highlight;}Style5{}Group{Border:None,,0, 0, 0, 0;AlignVert:Center;BackColor:ControlDark;}Style12{}Style11{}Style4{}FilterWatermark{ForeColor:InfoText;BackColor:Info;}Style1{}Caption{AlignHorz:Center;}Style2{}Inactive{ForeColor:InactiveCaptionText;BackColor:InactiveCaption;}</Data></Styles><Splits><C1.Win.C1TrueDBGrid.MergeView Name="" CaptionHeight="17" ColumnCaptionHeight="17" ColumnFooterHeight="17" MarqueeStyle="DottedCellBorder" RecordSelectorWidth="17" DefRecSelWidth="17" VerticalScrollGroup="1" HorizontalScrollGroup="1"><CaptionStyle parent="Style2" me="Style10" /><EditorStyle parent="Editor" me="Style5" /><EvenRowStyle parent="EvenRow" me="Style8" /><FilterBarStyle parent="FilterBar" me="Style13" /><FilterWatermarkStyle parent="FilterWatermark" me="Style14" /><FooterStyle parent="Footer" me="Style3" /><GroupStyle parent="Group" me="Style12" /><HeadingStyle parent="Heading" me="Style2" /><HighLightRowStyle parent="HighlightRow" me="Style7" /><InactiveStyle parent="Inactive" me="Style4" /><OddRowStyle parent="OddRow" me="Style9" /><RecordSelectorStyle parent="RecordSelector" me="Style11" /><SelectedStyle parent="Selected" me="Style6" /><Style parent="Normal" me="Style1" /><ClientRect>0, 0, 994, 474</ClientRect><BorderSide>0</BorderSide></C1.Win.C1TrueDBGrid.MergeView></Splits><NamedStyles><Style parent="" me="Normal" /><Style parent="Normal" me="Heading" /><Style parent="Heading" me="Footer" /><Style parent="Heading" me="Caption" /><Style parent="Heading" me="Inactive" /><Style parent="Normal" me="Selected" /><Style parent="Normal" me="Editor" /><Style parent="Normal" me="HighlightRow" /><Style parent="Normal" me="EvenRow" /><Style parent="Normal" me="OddRow" /><Style parent="Heading" me="RecordSelector" /><Style parent="Normal" me="FilterBar" /><Style parent="FilterBar" me="FilterWatermark" /><Style parent="Caption" me="Group" /></NamedStyles><vertSplits>1</vertSplits><horzSplits>1</horzSplits><Layout>None</Layout><DefaultRecSelWidth>17</DefaultRecSelWidth><ClientArea>0, 0, 994, 474</ClientArea><PrintPageHeaderStyle parent="" me="Style15" /><PrintPageFooterStyle parent="" me="Style16" /></Blob> + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0 + dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACRTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5QYWdlU2V0dGluZ3MHAAAAD3ByaW50ZXJTZXR0aW5ncwVjb2xvcglwYXBlclNp + emULcGFwZXJTb3VyY2URcHJpbnRlclJlc29sdXRpb24JbGFuZHNjYXBlB21hcmdpbnMEBAQEBAQEJ1N5 + c3RlbS5EcmF3aW5nLlByaW50aW5nLlByaW50ZXJTZXR0aW5ncwIAAAAgU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuVHJpU3RhdGUCAAAAIVN5c3RlbS5EcmF3aW5nLlByaW50aW5nLlBhcGVyU2l6ZQIAAAAjU3lz + dGVtLkRyYXdpbmcuUHJpbnRpbmcuUGFwZXJTb3VyY2UCAAAAKVN5c3RlbS5EcmF3aW5nLlByaW50aW5n + LlByaW50ZXJSZXNvbHV0aW9uAgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAf + U3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuTWFyZ2lucwIAAAACAAAACQMAAAAF/P///yBTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5UcmlTdGF0ZQEAAAAFdmFsdWUAAgIAAAAACgoKAfv////8////AAkGAAAABQMA + AAAnU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRlclNldHRpbmdzEgAAAAtwcmludGVyTmFtZQpk + cml2ZXJOYW1lCm91dHB1dFBvcnQLcHJpbnRUb0ZpbGUUcHJpbnREaWFsb2dEaXNwbGF5ZWQKZXh0cmFi + eXRlcwlleHRyYWluZm8GY29waWVzBmR1cGxleAdjb2xsYXRlE2RlZmF1bHRQYWdlU2V0dGluZ3MIZnJv + bVBhZ2UGdG9QYWdlB21heFBhZ2UHbWluUGFnZQpwcmludFJhbmdlDGRldm1vZGVieXRlcw1jYWNoZWRE + ZXZtb2RlAQEBAAAABwAEBAQAAAAABAAHAQEHAgceU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuRHVwbGV4 + AgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAkU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuUGFnZVNldHRpbmdzAgAAAAgICAgiU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRSYW5n + ZQIAAAAHAgIAAAAKBgcAAAAACQcAAAAAAAAACv//Bfj///8eU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcu + RHVwbGV4AQAAAAd2YWx1ZV9fAAgCAAAA/////wH3/////P///wAJCgAAAAAAAAAAAAAADycAAAAAAAAF + 9f///yJTeXN0ZW0uRHJhd2luZy5QcmludGluZy5QcmludFJhbmdlAQAAAAd2YWx1ZV9fAAgCAAAAAAAA + AAAACgUGAAAAH1N5c3RlbS5EcmF3aW5nLlByaW50aW5nLk1hcmdpbnMIAAAABGxlZnQFcmlnaHQDdG9w + BmJvdHRvbQpkb3VibGVMZWZ0C2RvdWJsZVJpZ2h0CWRvdWJsZVRvcAxkb3VibGVCb3R0b20AAAAAAAAA + AAgICAgGBgYGAgAAAGQAAABkAAAAZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZ + QAEKAAAAAQAAAAkDAAAAAfP////8////AAoKCgHy/////P///wAJDwAAAAEPAAAABgAAAGQAAABkAAAA + ZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAs= + + + + <?xml version="1.0"?><Blob><Styles type="C1.Win.C1TrueDBGrid.Design.ContextWrapper"><Data>HighlightRow{ForeColor:HighlightText;BackColor:Highlight;}Style8{}Style7{}Style9{}EvenRow{BackColor:Aqua;}Normal{}FilterBar{}RecordSelector{AlignImage:Center;}OddRow{}Style14{}Style3{}Footer{}Style13{}Heading{AlignVert:Center;Border:Flat,ControlDark,0, 1, 0, 1;ForeColor:ControlText;BackColor:Control;Wrap:True;}Style6{}Editor{}Style10{AlignHorz:Near;}Style16{}Style15{}Selected{ForeColor:HighlightText;BackColor:Highlight;}Style5{}Group{Border:None,,0, 0, 0, 0;AlignVert:Center;BackColor:ControlDark;}Style12{}Style11{}Style4{}FilterWatermark{ForeColor:InfoText;BackColor:Info;}Style1{}Caption{AlignHorz:Center;}Style2{}Inactive{ForeColor:InactiveCaptionText;BackColor:InactiveCaption;}</Data></Styles><Splits><C1.Win.C1TrueDBGrid.MergeView Name="" CaptionHeight="17" ColumnCaptionHeight="17" ColumnFooterHeight="17" MarqueeStyle="DottedCellBorder" RecordSelectorWidth="17" DefRecSelWidth="17" VerticalScrollGroup="1" HorizontalScrollGroup="1"><CaptionStyle parent="Style2" me="Style10" /><EditorStyle parent="Editor" me="Style5" /><EvenRowStyle parent="EvenRow" me="Style8" /><FilterBarStyle parent="FilterBar" me="Style13" /><FilterWatermarkStyle parent="FilterWatermark" me="Style14" /><FooterStyle parent="Footer" me="Style3" /><GroupStyle parent="Group" me="Style12" /><HeadingStyle parent="Heading" me="Style2" /><HighLightRowStyle parent="HighlightRow" me="Style7" /><InactiveStyle parent="Inactive" me="Style4" /><OddRowStyle parent="OddRow" me="Style9" /><RecordSelectorStyle parent="RecordSelector" me="Style11" /><SelectedStyle parent="Selected" me="Style6" /><Style parent="Normal" me="Style1" /><ClientRect>0, 0, 994, 449</ClientRect><BorderSide>0</BorderSide></C1.Win.C1TrueDBGrid.MergeView></Splits><NamedStyles><Style parent="" me="Normal" /><Style parent="Normal" me="Heading" /><Style parent="Heading" me="Footer" /><Style parent="Heading" me="Caption" /><Style parent="Heading" me="Inactive" /><Style parent="Normal" me="Selected" /><Style parent="Normal" me="Editor" /><Style parent="Normal" me="HighlightRow" /><Style parent="Normal" me="EvenRow" /><Style parent="Normal" me="OddRow" /><Style parent="Heading" me="RecordSelector" /><Style parent="Normal" me="FilterBar" /><Style parent="FilterBar" me="FilterWatermark" /><Style parent="Caption" me="Group" /></NamedStyles><vertSplits>1</vertSplits><horzSplits>1</horzSplits><Layout>None</Layout><DefaultRecSelWidth>17</DefaultRecSelWidth><ClientArea>0, 0, 994, 449</ClientArea><PrintPageHeaderStyle parent="" me="Style15" /><PrintPageFooterStyle parent="" me="Style16" /></Blob> + + + 239, 56 + + + + iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAYAAAA7bUf6AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACtSURBVDhPpdONCoMgEAdw3/+pfIkxWKy1mlh+pOsF3EQO + DjG9ULiEoJ9/9WLH14XeYpzz0FOH3wP7j/ioVm0R70xCagMWOIP8rmlIBCJWgpxVNARvN4esWdsI3mop + jdUXkPzwIZFRkp4kXUAqnEhvoo3gBBiB92r90BD4OJ8jtMm5H5FioiEQvbQdsYxtBK747GCX93ANKTXd + /HrQkZio1GzT8077i2ttPw638AOZO2GTDCfYPAAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACNSURBVDhPtZPRDcAgCEQZndHczHqkGBBsaE1N+EHvKXBS + a62fBGViZu5EFAL59XwAQMgjhjoE8ti3EAfAZiZccxYyAVWxwhQiANTmnt3vZV+05HBeegVAersVZEBt + 8haA2+1K+iOT+g9wVEKhiZjGLCFMoeAHN4XHPmxgzgdqzaqZUidayOe/oJA3v/ECXC1jKtBnBTgAAAAA + SUVORK5CYII= + + + \ No newline at end of file diff --git a/.svn/pristine/f2/f20dbf1a6a824867a395488c125fca26050a98b9.svn-base b/.svn/pristine/f2/f20dbf1a6a824867a395488c125fca26050a98b9.svn-base new file mode 100644 index 0000000..6682feb Binary files /dev/null and b/.svn/pristine/f2/f20dbf1a6a824867a395488c125fca26050a98b9.svn-base differ diff --git a/.svn/pristine/f8/f8f28859ed42b9a79680ba661d5e9a14685e518f.svn-base b/.svn/pristine/f8/f8f28859ed42b9a79680ba661d5e9a14685e518f.svn-base new file mode 100644 index 0000000..e066544 --- /dev/null +++ b/.svn/pristine/f8/f8f28859ed42b9a79680ba661d5e9a14685e518f.svn-base @@ -0,0 +1,510 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'Application' +' // Generated by LLBLGen v1.21.2003.712 Final on: Dienstag, 1. Januar 2013, 19:36:38 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + ''' + ''' Purpose: Data Access class for the table 'Application'. + ''' + Public Class clsApplication + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bShowlogin, m_bAktiv As SqlBoolean + Private m_daMutiert_am, m_daErstellt_am As SqlDateTime + Private m_iMutierer, m_iMandantnr, m_iApplikationsnr As SqlInt32 + Private m_sTmp_filepath, m_sVersion As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iApplikationsnr
  • + '''
  • sVersion. May be SqlString.Null
  • + '''
  • bShowlogin. May be SqlBoolean.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • sTmp_filepath. May be SqlString.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Application_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iapplikationsnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iApplikationsnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sversion", SqlDbType.VarChar, 4, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sVersion)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bshowlogin", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bShowlogin)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@stmp_filepath", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTmp_filepath)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Application_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsApplication::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iApplikationsnr
  • + '''
  • sVersion. May be SqlString.Null
  • + '''
  • bShowlogin. May be SqlBoolean.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • sTmp_filepath. May be SqlString.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Application_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iapplikationsnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iApplikationsnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sversion", SqlDbType.VarChar, 4, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sVersion)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bshowlogin", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bShowlogin)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@stmp_filepath", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTmp_filepath)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Application_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsApplication::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iApplikationsnr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Application_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iapplikationsnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iApplikationsnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Application_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsApplication::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iApplikationsnr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iApplikationsnr
  • + '''
  • sVersion
  • + '''
  • bShowlogin
  • + '''
  • iMandantnr
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
  • sTmp_filepath
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Application_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("Application") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iapplikationsnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iApplikationsnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Application_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iApplikationsnr = New SqlInt32(CType(dtToReturn.Rows(0)("applikationsnr"), Integer)) + If dtToReturn.Rows(0)("version") Is System.DBNull.Value Then + m_sVersion = SqlString.Null + Else + m_sVersion = New SqlString(CType(dtToReturn.Rows(0)("version"), String)) + End If + If dtToReturn.Rows(0)("showlogin") Is System.DBNull.Value Then + m_bShowlogin = SqlBoolean.Null + Else + m_bShowlogin = New SqlBoolean(CType(dtToReturn.Rows(0)("showlogin"), Boolean)) + End If + If dtToReturn.Rows(0)("mandantnr") Is System.DBNull.Value Then + m_iMandantnr = SqlInt32.Null + Else + m_iMandantnr = New SqlInt32(CType(dtToReturn.Rows(0)("mandantnr"), Integer)) + End If + If dtToReturn.Rows(0)("aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + If dtToReturn.Rows(0)("tmp_filepath") Is System.DBNull.Value Then + m_sTmp_filepath = SqlString.Null + Else + m_sTmp_filepath = New SqlString(CType(dtToReturn.Rows(0)("tmp_filepath"), String)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsApplication::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Application_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("Application") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Application_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsApplication::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iApplikationsnr]() As SqlInt32 + Get + Return m_iApplikationsnr + End Get + Set(ByVal Value As SqlInt32) + Dim iApplikationsnrTmp As SqlInt32 = Value + If iApplikationsnrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iApplikationsnr", "iApplikationsnr can't be NULL") + End If + m_iApplikationsnr = Value + End Set + End Property + + + Public Property [sVersion]() As SqlString + Get + Return m_sVersion + End Get + Set(ByVal Value As SqlString) + m_sVersion = Value + End Set + End Property + + + Public Property [bShowlogin]() As SqlBoolean + Get + Return m_bShowlogin + End Get + Set(ByVal Value As SqlBoolean) + m_bShowlogin = Value + End Set + End Property + + + Public Property [iMandantnr]() As SqlInt32 + Get + Return m_iMandantnr + End Get + Set(ByVal Value As SqlInt32) + m_iMandantnr = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + + + Public Property [sTmp_filepath]() As SqlString + Get + Return m_sTmp_filepath + End Get + Set(ByVal Value As SqlString) + m_sTmp_filepath = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/.svn/pristine/f9/f96d360468f2ed250e9ce621fa79714a53bfb371.svn-base b/.svn/pristine/f9/f96d360468f2ed250e9ce621fa79714a53bfb371.svn-base new file mode 100644 index 0000000..414ab22 --- /dev/null +++ b/.svn/pristine/f9/f96d360468f2ed250e9ce621fa79714a53bfb371.svn-base @@ -0,0 +1,50 @@ + _ +Partial Class frmFormSelector + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmFormSelector)) + Me.ListForms = New System.Windows.Forms.ListBox + Me.SuspendLayout() + ' + 'ListForms + ' + Me.ListForms.FormattingEnabled = True + Me.ListForms.Location = New System.Drawing.Point(28, 36) + Me.ListForms.Name = "ListForms" + Me.ListForms.Size = New System.Drawing.Size(259, 199) + Me.ListForms.TabIndex = 0 + ' + 'frmFormSelector + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(315, 322) + Me.Controls.Add(Me.ListForms) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.Name = "frmFormSelector" + Me.Text = "Form-Selector" + Me.ResumeLayout(False) + + End Sub + Friend WithEvents ListForms As System.Windows.Forms.ListBox +End Class diff --git a/.svn/pristine/f9/f9a8d468a2b6c8f08d51149e6157867a546b61cc.svn-base b/.svn/pristine/f9/f9a8d468a2b6c8f08d51149e6157867a546b61cc.svn-base new file mode 100644 index 0000000..6695872 --- /dev/null +++ b/.svn/pristine/f9/f9a8d468a2b6c8f08d51149e6157867a546b61cc.svn-base @@ -0,0 +1,610 @@ + _ +Partial Class frmThemenübersicht + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmThemenübersicht)) + Dim TreeNode1 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Unterkategorie 1.1") + Dim TreeNode2 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Unterkategorie 1.2") + Dim TreeNode3 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Kategorie 1", New System.Windows.Forms.TreeNode() {TreeNode1, TreeNode2}) + Dim TreeNode4 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Unterkategorie 2.1") + Dim TreeNode5 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Unterkategorie 2.2") + Dim TreeNode6 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Kategorie 2", New System.Windows.Forms.TreeNode() {TreeNode4, TreeNode5}) + Me.ToolStrip1 = New System.Windows.Forms.ToolStrip() + Me.TSBtnQuit = New System.Windows.Forms.ToolStripButton() + Me.ToolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator() + Me.TsBtnSuchArt = New System.Windows.Forms.ToolStripDropDownButton() + Me.ApplikationSucheToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripTextBox1 = New System.Windows.Forms.ToolStripTextBox() + Me.TSBtnSuche = New System.Windows.Forms.ToolStripButton() + Me.TSBtnFilterAufheben = New System.Windows.Forms.ToolStripButton() + Me.TSBtnFirst = New System.Windows.Forms.ToolStripButton() + Me.TSBtnNext = New System.Windows.Forms.ToolStripButton() + Me.TSBtnPrevious = New System.Windows.Forms.ToolStripButton() + Me.TSBtnLast = New System.Windows.Forms.ToolStripButton() + Me.MenuStrip1 = New System.Windows.Forms.MenuStrip() + Me.DateiToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.SplitContainer1 = New System.Windows.Forms.SplitContainer() + Me.TreeView1 = New System.Windows.Forms.TreeView() + Me.SplitContainer2 = New System.Windows.Forms.SplitContainer() + Me.C1TrueDBGrid1 = New C1.Win.C1TrueDBGrid.C1TrueDBGrid() + Me.TabControl1 = New System.Windows.Forms.TabControl() + Me.TabPage1 = New System.Windows.Forms.TabPage() + Me.TextBox7 = New System.Windows.Forms.TextBox() + Me.Label5 = New System.Windows.Forms.Label() + Me.Label4 = New System.Windows.Forms.Label() + Me.TextBox6 = New System.Windows.Forms.TextBox() + Me.CheckBox1 = New System.Windows.Forms.CheckBox() + Me.Label1 = New System.Windows.Forms.Label() + Me.Label11 = New System.Windows.Forms.Label() + Me.TextBox2 = New System.Windows.Forms.TextBox() + Me.Label2 = New System.Windows.Forms.Label() + Me.Label3 = New System.Windows.Forms.Label() + Me.TextBox5 = New System.Windows.Forms.TextBox() + Me.TextBox3 = New System.Windows.Forms.TextBox() + Me.Label9 = New System.Windows.Forms.Label() + Me.TextBox1 = New System.Windows.Forms.TextBox() + Me.TextBox4 = New System.Windows.Forms.TextBox() + Me.Label6 = New System.Windows.Forms.Label() + Me.Label8 = New System.Windows.Forms.Label() + Me.DateTimePicker1 = New System.Windows.Forms.DateTimePicker() + Me.Label7 = New System.Windows.Forms.Label() + Me.DateTimePicker2 = New System.Windows.Forms.DateTimePicker() + Me.TabPage2 = New System.Windows.Forms.TabPage() + Me.TabPage3 = New System.Windows.Forms.TabPage() + Me.TabPage4 = New System.Windows.Forms.TabPage() + Me.TabPage5 = New System.Windows.Forms.TabPage() + Me.TabPage6 = New System.Windows.Forms.TabPage() + Me.ToolStrip1.SuspendLayout() + Me.MenuStrip1.SuspendLayout() + CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SplitContainer1.Panel1.SuspendLayout() + Me.SplitContainer1.Panel2.SuspendLayout() + Me.SplitContainer1.SuspendLayout() + CType(Me.SplitContainer2, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SplitContainer2.Panel1.SuspendLayout() + Me.SplitContainer2.Panel2.SuspendLayout() + Me.SplitContainer2.SuspendLayout() + CType(Me.C1TrueDBGrid1, System.ComponentModel.ISupportInitialize).BeginInit() + Me.TabControl1.SuspendLayout() + Me.TabPage1.SuspendLayout() + Me.SuspendLayout() + ' + 'ToolStrip1 + ' + Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.TSBtnQuit, Me.ToolStripSeparator1, Me.TsBtnSuchArt, Me.ToolStripTextBox1, Me.TSBtnSuche, Me.TSBtnFilterAufheben, Me.TSBtnFirst, Me.TSBtnNext, Me.TSBtnPrevious, Me.TSBtnLast}) + Me.ToolStrip1.Location = New System.Drawing.Point(0, 24) + Me.ToolStrip1.Name = "ToolStrip1" + Me.ToolStrip1.Size = New System.Drawing.Size(1003, 25) + Me.ToolStrip1.TabIndex = 4 + Me.ToolStrip1.Text = "ToolStrip1" + ' + 'TSBtnQuit + ' + Me.TSBtnQuit.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnQuit.Image = CType(resources.GetObject("TSBtnQuit.Image"), System.Drawing.Image) + Me.TSBtnQuit.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnQuit.Name = "TSBtnQuit" + Me.TSBtnQuit.Size = New System.Drawing.Size(23, 22) + Me.TSBtnQuit.Text = "ToolStripButton1" + Me.TSBtnQuit.ToolTipText = "Anwendung beenden" + ' + 'ToolStripSeparator1 + ' + Me.ToolStripSeparator1.Name = "ToolStripSeparator1" + Me.ToolStripSeparator1.Size = New System.Drawing.Size(6, 25) + ' + 'TsBtnSuchArt + ' + Me.TsBtnSuchArt.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text + Me.TsBtnSuchArt.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ApplikationSucheToolStripMenuItem}) + Me.TsBtnSuchArt.Image = CType(resources.GetObject("TsBtnSuchArt.Image"), System.Drawing.Image) + Me.TsBtnSuchArt.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TsBtnSuchArt.Name = "TsBtnSuchArt" + Me.TsBtnSuchArt.Size = New System.Drawing.Size(59, 22) + Me.TsBtnSuchArt.Text = "Suchen" + ' + 'ApplikationSucheToolStripMenuItem + ' + Me.ApplikationSucheToolStripMenuItem.Name = "ApplikationSucheToolStripMenuItem" + Me.ApplikationSucheToolStripMenuItem.Size = New System.Drawing.Size(107, 22) + Me.ApplikationSucheToolStripMenuItem.Text = "Filtern" + ' + 'ToolStripTextBox1 + ' + Me.ToolStripTextBox1.Name = "ToolStripTextBox1" + Me.ToolStripTextBox1.Size = New System.Drawing.Size(100, 25) + ' + 'TSBtnSuche + ' + Me.TSBtnSuche.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnSuche.Image = CType(resources.GetObject("TSBtnSuche.Image"), System.Drawing.Image) + Me.TSBtnSuche.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnSuche.Name = "TSBtnSuche" + Me.TSBtnSuche.Size = New System.Drawing.Size(23, 22) + Me.TSBtnSuche.Text = "ToolStripButton1" + ' + 'TSBtnFilterAufheben + ' + Me.TSBtnFilterAufheben.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnFilterAufheben.Image = CType(resources.GetObject("TSBtnFilterAufheben.Image"), System.Drawing.Image) + Me.TSBtnFilterAufheben.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnFilterAufheben.Name = "TSBtnFilterAufheben" + Me.TSBtnFilterAufheben.Size = New System.Drawing.Size(23, 22) + Me.TSBtnFilterAufheben.Text = "Filter aufheben" + ' + 'TSBtnFirst + ' + Me.TSBtnFirst.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnFirst.Image = CType(resources.GetObject("TSBtnFirst.Image"), System.Drawing.Image) + Me.TSBtnFirst.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnFirst.Name = "TSBtnFirst" + Me.TSBtnFirst.Size = New System.Drawing.Size(23, 22) + Me.TSBtnFirst.Text = "Erster Datensatz" + ' + 'TSBtnNext + ' + Me.TSBtnNext.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnNext.Image = CType(resources.GetObject("TSBtnNext.Image"), System.Drawing.Image) + Me.TSBtnNext.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnNext.Name = "TSBtnNext" + Me.TSBtnNext.Size = New System.Drawing.Size(23, 22) + Me.TSBtnNext.Text = "Nächster Datensatz" + ' + 'TSBtnPrevious + ' + Me.TSBtnPrevious.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnPrevious.Image = CType(resources.GetObject("TSBtnPrevious.Image"), System.Drawing.Image) + Me.TSBtnPrevious.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnPrevious.Name = "TSBtnPrevious" + Me.TSBtnPrevious.Size = New System.Drawing.Size(23, 22) + Me.TSBtnPrevious.Text = "Vorheriger Datensatz" + ' + 'TSBtnLast + ' + Me.TSBtnLast.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnLast.Image = CType(resources.GetObject("TSBtnLast.Image"), System.Drawing.Image) + Me.TSBtnLast.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnLast.Name = "TSBtnLast" + Me.TSBtnLast.Size = New System.Drawing.Size(23, 22) + Me.TSBtnLast.Text = "Letzter Datensatz" + ' + 'MenuStrip1 + ' + Me.MenuStrip1.AllowMerge = False + Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DateiToolStripMenuItem}) + Me.MenuStrip1.Location = New System.Drawing.Point(0, 0) + Me.MenuStrip1.Name = "MenuStrip1" + Me.MenuStrip1.Size = New System.Drawing.Size(1003, 24) + Me.MenuStrip1.TabIndex = 3 + Me.MenuStrip1.Text = "MenuStrip1" + ' + 'DateiToolStripMenuItem + ' + Me.DateiToolStripMenuItem.Name = "DateiToolStripMenuItem" + Me.DateiToolStripMenuItem.Size = New System.Drawing.Size(46, 20) + Me.DateiToolStripMenuItem.Text = "&Datei" + ' + 'SplitContainer1 + ' + Me.SplitContainer1.Dock = System.Windows.Forms.DockStyle.Fill + Me.SplitContainer1.Location = New System.Drawing.Point(0, 49) + Me.SplitContainer1.Name = "SplitContainer1" + ' + 'SplitContainer1.Panel1 + ' + Me.SplitContainer1.Panel1.Controls.Add(Me.TreeView1) + ' + 'SplitContainer1.Panel2 + ' + Me.SplitContainer1.Panel2.Controls.Add(Me.SplitContainer2) + Me.SplitContainer1.Size = New System.Drawing.Size(1003, 429) + Me.SplitContainer1.SplitterDistance = 333 + Me.SplitContainer1.TabIndex = 5 + ' + 'TreeView1 + ' + Me.TreeView1.Dock = System.Windows.Forms.DockStyle.Fill + Me.TreeView1.Location = New System.Drawing.Point(0, 0) + Me.TreeView1.Name = "TreeView1" + TreeNode1.Name = "Knoten1" + TreeNode1.Text = "Unterkategorie 1.1" + TreeNode2.Name = "Knoten2" + TreeNode2.Text = "Unterkategorie 1.2" + TreeNode3.Name = "Knoten0" + TreeNode3.Text = "Kategorie 1" + TreeNode4.Name = "Knoten4" + TreeNode4.Text = "Unterkategorie 2.1" + TreeNode5.Name = "Knoten5" + TreeNode5.Text = "Unterkategorie 2.2" + TreeNode6.Name = "Knoten3" + TreeNode6.Text = "Kategorie 2" + Me.TreeView1.Nodes.AddRange(New System.Windows.Forms.TreeNode() {TreeNode3, TreeNode6}) + Me.TreeView1.Size = New System.Drawing.Size(333, 429) + Me.TreeView1.TabIndex = 0 + ' + 'SplitContainer2 + ' + Me.SplitContainer2.Dock = System.Windows.Forms.DockStyle.Fill + Me.SplitContainer2.Location = New System.Drawing.Point(0, 0) + Me.SplitContainer2.Name = "SplitContainer2" + Me.SplitContainer2.Orientation = System.Windows.Forms.Orientation.Horizontal + ' + 'SplitContainer2.Panel1 + ' + Me.SplitContainer2.Panel1.Controls.Add(Me.C1TrueDBGrid1) + ' + 'SplitContainer2.Panel2 + ' + Me.SplitContainer2.Panel2.Controls.Add(Me.TabControl1) + Me.SplitContainer2.Panel2.RightToLeft = System.Windows.Forms.RightToLeft.No + Me.SplitContainer2.Size = New System.Drawing.Size(666, 429) + Me.SplitContainer2.SplitterDistance = 229 + Me.SplitContainer2.TabIndex = 0 + ' + 'C1TrueDBGrid1 + ' + Me.C1TrueDBGrid1.Dock = System.Windows.Forms.DockStyle.Fill + Me.C1TrueDBGrid1.Location = New System.Drawing.Point(0, 0) + Me.C1TrueDBGrid1.Name = "C1TrueDBGrid1" + Me.C1TrueDBGrid1.PreviewInfo.Location = New System.Drawing.Point(0, 0) + Me.C1TrueDBGrid1.PreviewInfo.Size = New System.Drawing.Size(0, 0) + Me.C1TrueDBGrid1.PreviewInfo.ZoomFactor = 75.0R + Me.C1TrueDBGrid1.PrintInfo.PageSettings = CType(resources.GetObject("C1TrueDBGrid1.PrintInfo.PageSettings"), System.Drawing.Printing.PageSettings) + Me.C1TrueDBGrid1.PropBag = resources.GetString("C1TrueDBGrid1.PropBag") + Me.C1TrueDBGrid1.Size = New System.Drawing.Size(666, 229) + Me.C1TrueDBGrid1.TabIndex = 0 + Me.C1TrueDBGrid1.Text = "C1TrueDBGrid1" + ' + 'TabControl1 + ' + Me.TabControl1.Controls.Add(Me.TabPage1) + Me.TabControl1.Controls.Add(Me.TabPage2) + Me.TabControl1.Controls.Add(Me.TabPage3) + Me.TabControl1.Controls.Add(Me.TabPage4) + Me.TabControl1.Controls.Add(Me.TabPage5) + Me.TabControl1.Controls.Add(Me.TabPage6) + 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(666, 196) + Me.TabControl1.TabIndex = 0 + ' + 'TabPage1 + ' + Me.TabPage1.BackColor = System.Drawing.SystemColors.Control + Me.TabPage1.Controls.Add(Me.TextBox7) + Me.TabPage1.Controls.Add(Me.Label5) + Me.TabPage1.Controls.Add(Me.Label4) + Me.TabPage1.Controls.Add(Me.TextBox6) + Me.TabPage1.Controls.Add(Me.CheckBox1) + Me.TabPage1.Controls.Add(Me.Label1) + Me.TabPage1.Controls.Add(Me.Label11) + Me.TabPage1.Controls.Add(Me.TextBox2) + Me.TabPage1.Controls.Add(Me.Label2) + Me.TabPage1.Controls.Add(Me.Label3) + Me.TabPage1.Controls.Add(Me.TextBox5) + Me.TabPage1.Controls.Add(Me.TextBox3) + Me.TabPage1.Controls.Add(Me.Label9) + Me.TabPage1.Controls.Add(Me.TextBox1) + Me.TabPage1.Controls.Add(Me.TextBox4) + Me.TabPage1.Controls.Add(Me.Label6) + Me.TabPage1.Controls.Add(Me.Label8) + Me.TabPage1.Controls.Add(Me.DateTimePicker1) + Me.TabPage1.Controls.Add(Me.Label7) + Me.TabPage1.Controls.Add(Me.DateTimePicker2) + Me.TabPage1.Location = New System.Drawing.Point(4, 22) + Me.TabPage1.Name = "TabPage1" + Me.TabPage1.Padding = New System.Windows.Forms.Padding(3) + Me.TabPage1.Size = New System.Drawing.Size(658, 170) + Me.TabPage1.TabIndex = 0 + Me.TabPage1.Text = "Allgemein" + ' + 'TextBox7 + ' + Me.TextBox7.Location = New System.Drawing.Point(76, 139) + Me.TextBox7.Name = "TextBox7" + Me.TextBox7.Size = New System.Drawing.Size(91, 20) + Me.TextBox7.TabIndex = 42 + ' + 'Label5 + ' + Me.Label5.AutoSize = True + Me.Label5.Location = New System.Drawing.Point(4, 142) + Me.Label5.Name = "Label5" + Me.Label5.Size = New System.Drawing.Size(69, 13) + Me.Label5.TabIndex = 41 + Me.Label5.Text = "Mutiert durch" + ' + 'Label4 + ' + Me.Label4.AutoSize = True + Me.Label4.Location = New System.Drawing.Point(4, 35) + Me.Label4.Name = "Label4" + Me.Label4.Size = New System.Drawing.Size(52, 13) + Me.Label4.TabIndex = 39 + Me.Label4.Text = "Kategorie" + ' + 'TextBox6 + ' + Me.TextBox6.Location = New System.Drawing.Point(76, 32) + Me.TextBox6.Name = "TextBox6" + Me.TextBox6.Size = New System.Drawing.Size(245, 20) + Me.TextBox6.TabIndex = 40 + ' + 'CheckBox1 + ' + Me.CheckBox1.AutoSize = True + Me.CheckBox1.Location = New System.Drawing.Point(207, 94) + Me.CheckBox1.Name = "CheckBox1" + Me.CheckBox1.Size = New System.Drawing.Size(15, 14) + Me.CheckBox1.TabIndex = 38 + Me.CheckBox1.UseVisualStyleBackColor = True + ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.Location = New System.Drawing.Point(4, 9) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(27, 13) + Me.Label1.TabIndex = 23 + Me.Label1.Text = "Titel" + ' + 'Label11 + ' + Me.Label11.AutoSize = True + Me.Label11.Location = New System.Drawing.Point(230, 93) + Me.Label11.Name = "Label11" + Me.Label11.Size = New System.Drawing.Size(31, 13) + Me.Label11.TabIndex = 37 + Me.Label11.Text = "Aktiv" + ' + 'TextBox2 + ' + Me.TextBox2.Location = New System.Drawing.Point(401, 6) + Me.TextBox2.Multiline = True + Me.TextBox2.Name = "TextBox2" + Me.TextBox2.Size = New System.Drawing.Size(245, 66) + Me.TextBox2.TabIndex = 26 + ' + 'Label2 + ' + Me.Label2.AutoSize = True + Me.Label2.Location = New System.Drawing.Point(329, 8) + Me.Label2.Name = "Label2" + Me.Label2.Size = New System.Drawing.Size(72, 13) + Me.Label2.TabIndex = 25 + Me.Label2.Text = "Beschreibung" + ' + 'Label3 + ' + Me.Label3.AutoSize = True + Me.Label3.Location = New System.Drawing.Point(329, 81) + Me.Label3.Name = "Label3" + Me.Label3.Size = New System.Drawing.Size(67, 13) + Me.Label3.TabIndex = 27 + Me.Label3.Text = "Suchbegriffe" + ' + 'TextBox5 + ' + Me.TextBox5.Location = New System.Drawing.Point(76, 113) + Me.TextBox5.Name = "TextBox5" + Me.TextBox5.Size = New System.Drawing.Size(91, 20) + Me.TextBox5.TabIndex = 36 + ' + 'TextBox3 + ' + Me.TextBox3.Location = New System.Drawing.Point(401, 79) + Me.TextBox3.Multiline = True + Me.TextBox3.Name = "TextBox3" + Me.TextBox3.Size = New System.Drawing.Size(245, 66) + Me.TextBox3.TabIndex = 28 + ' + 'Label9 + ' + Me.Label9.AutoSize = True + Me.Label9.Location = New System.Drawing.Point(4, 116) + Me.Label9.Name = "Label9" + Me.Label9.Size = New System.Drawing.Size(56, 13) + Me.Label9.TabIndex = 35 + Me.Label9.Text = "Mutiert am" + ' + 'TextBox1 + ' + Me.TextBox1.Location = New System.Drawing.Point(76, 6) + Me.TextBox1.Name = "TextBox1" + Me.TextBox1.Size = New System.Drawing.Size(245, 20) + Me.TextBox1.TabIndex = 24 + ' + 'TextBox4 + ' + Me.TextBox4.Location = New System.Drawing.Point(76, 88) + Me.TextBox4.Name = "TextBox4" + Me.TextBox4.Size = New System.Drawing.Size(91, 20) + Me.TextBox4.TabIndex = 34 + ' + 'Label6 + ' + Me.Label6.AutoSize = True + Me.Label6.Location = New System.Drawing.Point(4, 65) + Me.Label6.Name = "Label6" + Me.Label6.Size = New System.Drawing.Size(49, 13) + Me.Label6.TabIndex = 29 + Me.Label6.Text = "Gültig ab" + ' + 'Label8 + ' + Me.Label8.AutoSize = True + Me.Label8.Location = New System.Drawing.Point(4, 91) + Me.Label8.Name = "Label8" + Me.Label8.Size = New System.Drawing.Size(55, 13) + Me.Label8.TabIndex = 33 + Me.Label8.Text = "Erstellt am" + ' + 'DateTimePicker1 + ' + Me.DateTimePicker1.Format = System.Windows.Forms.DateTimePickerFormat.[Short] + Me.DateTimePicker1.Location = New System.Drawing.Point(76, 62) + Me.DateTimePicker1.Name = "DateTimePicker1" + Me.DateTimePicker1.Size = New System.Drawing.Size(91, 20) + Me.DateTimePicker1.TabIndex = 30 + ' + 'Label7 + ' + Me.Label7.AutoSize = True + Me.Label7.Location = New System.Drawing.Point(204, 64) + Me.Label7.Name = "Label7" + Me.Label7.Size = New System.Drawing.Size(20, 13) + Me.Label7.TabIndex = 32 + Me.Label7.Text = "bis" + ' + 'DateTimePicker2 + ' + Me.DateTimePicker2.Format = System.Windows.Forms.DateTimePickerFormat.[Short] + Me.DateTimePicker2.Location = New System.Drawing.Point(230, 62) + Me.DateTimePicker2.Name = "DateTimePicker2" + Me.DateTimePicker2.Size = New System.Drawing.Size(91, 20) + Me.DateTimePicker2.TabIndex = 31 + ' + 'TabPage2 + ' + Me.TabPage2.Location = New System.Drawing.Point(4, 22) + Me.TabPage2.Name = "TabPage2" + Me.TabPage2.Padding = New System.Windows.Forms.Padding(3) + Me.TabPage2.Size = New System.Drawing.Size(658, 170) + Me.TabPage2.TabIndex = 1 + Me.TabPage2.Text = "Dokumente" + Me.TabPage2.UseVisualStyleBackColor = True + ' + 'TabPage3 + ' + Me.TabPage3.Location = New System.Drawing.Point(4, 22) + Me.TabPage3.Name = "TabPage3" + Me.TabPage3.Size = New System.Drawing.Size(658, 170) + Me.TabPage3.TabIndex = 2 + Me.TabPage3.Text = "Entwicklung" + Me.TabPage3.UseVisualStyleBackColor = True + ' + 'TabPage4 + ' + Me.TabPage4.Location = New System.Drawing.Point(4, 22) + Me.TabPage4.Name = "TabPage4" + Me.TabPage4.Size = New System.Drawing.Size(658, 170) + Me.TabPage4.TabIndex = 3 + Me.TabPage4.Text = "Kommunikation" + Me.TabPage4.UseVisualStyleBackColor = True + ' + 'TabPage5 + ' + Me.TabPage5.Location = New System.Drawing.Point(4, 22) + Me.TabPage5.Name = "TabPage5" + Me.TabPage5.Size = New System.Drawing.Size(658, 170) + Me.TabPage5.TabIndex = 4 + Me.TabPage5.Text = "History" + Me.TabPage5.UseVisualStyleBackColor = True + ' + 'TabPage6 + ' + Me.TabPage6.Location = New System.Drawing.Point(4, 22) + Me.TabPage6.Name = "TabPage6" + Me.TabPage6.Size = New System.Drawing.Size(658, 170) + Me.TabPage6.TabIndex = 5 + Me.TabPage6.Text = "Journal" + Me.TabPage6.UseVisualStyleBackColor = True + ' + 'Themenübersicht + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(1003, 478) + Me.Controls.Add(Me.SplitContainer1) + Me.Controls.Add(Me.ToolStrip1) + Me.Controls.Add(Me.MenuStrip1) + Me.Name = "Themenübersicht" + Me.Text = "Themenübersicht" + Me.ToolStrip1.ResumeLayout(False) + Me.ToolStrip1.PerformLayout() + Me.MenuStrip1.ResumeLayout(False) + Me.MenuStrip1.PerformLayout() + Me.SplitContainer1.Panel1.ResumeLayout(False) + Me.SplitContainer1.Panel2.ResumeLayout(False) + CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).EndInit() + Me.SplitContainer1.ResumeLayout(False) + Me.SplitContainer2.Panel1.ResumeLayout(False) + Me.SplitContainer2.Panel2.ResumeLayout(False) + CType(Me.SplitContainer2, System.ComponentModel.ISupportInitialize).EndInit() + Me.SplitContainer2.ResumeLayout(False) + CType(Me.C1TrueDBGrid1, System.ComponentModel.ISupportInitialize).EndInit() + Me.TabControl1.ResumeLayout(False) + Me.TabPage1.ResumeLayout(False) + Me.TabPage1.PerformLayout() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents ToolStrip1 As System.Windows.Forms.ToolStrip + Friend WithEvents TSBtnQuit As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripSeparator1 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents TsBtnSuchArt As System.Windows.Forms.ToolStripDropDownButton + Friend WithEvents ApplikationSucheToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripTextBox1 As System.Windows.Forms.ToolStripTextBox + Friend WithEvents TSBtnSuche As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnFilterAufheben As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnFirst As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnNext As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnPrevious As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnLast As System.Windows.Forms.ToolStripButton + Friend WithEvents MenuStrip1 As System.Windows.Forms.MenuStrip + Friend WithEvents DateiToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents SplitContainer1 As System.Windows.Forms.SplitContainer + Friend WithEvents TreeView1 As System.Windows.Forms.TreeView + Friend WithEvents SplitContainer2 As System.Windows.Forms.SplitContainer + Friend WithEvents C1TrueDBGrid1 As C1.Win.C1TrueDBGrid.C1TrueDBGrid + 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 TabPage3 As System.Windows.Forms.TabPage + Friend WithEvents TabPage4 As System.Windows.Forms.TabPage + Friend WithEvents TabPage5 As System.Windows.Forms.TabPage + Friend WithEvents TabPage6 As System.Windows.Forms.TabPage + Friend WithEvents CheckBox1 As System.Windows.Forms.CheckBox + Friend WithEvents Label1 As System.Windows.Forms.Label + Friend WithEvents Label11 As System.Windows.Forms.Label + Friend WithEvents TextBox2 As System.Windows.Forms.TextBox + Friend WithEvents Label2 As System.Windows.Forms.Label + Friend WithEvents Label3 As System.Windows.Forms.Label + Friend WithEvents TextBox5 As System.Windows.Forms.TextBox + Friend WithEvents TextBox3 As System.Windows.Forms.TextBox + Friend WithEvents Label9 As System.Windows.Forms.Label + Friend WithEvents TextBox1 As System.Windows.Forms.TextBox + Friend WithEvents TextBox4 As System.Windows.Forms.TextBox + Friend WithEvents Label6 As System.Windows.Forms.Label + Friend WithEvents Label8 As System.Windows.Forms.Label + Friend WithEvents DateTimePicker1 As System.Windows.Forms.DateTimePicker + Friend WithEvents Label7 As System.Windows.Forms.Label + Friend WithEvents DateTimePicker2 As System.Windows.Forms.DateTimePicker + Friend WithEvents TextBox7 As System.Windows.Forms.TextBox + Friend WithEvents Label5 As System.Windows.Forms.Label + Friend WithEvents Label4 As System.Windows.Forms.Label + Friend WithEvents TextBox6 As System.Windows.Forms.TextBox +End Class diff --git a/.svn/pristine/fa/fa632d7c2fdd730fa35f077c0ad34049e0a80525.svn-base b/.svn/pristine/fa/fa632d7c2fdd730fa35f077c0ad34049e0a80525.svn-base new file mode 100644 index 0000000..d77271f --- /dev/null +++ b/.svn/pristine/fa/fa632d7c2fdd730fa35f077c0ad34049e0a80525.svn-base @@ -0,0 +1,4262 @@ +-- ================================================================================================================ +-- Stored Procedures generated by LLBLGen v1.21.2003.712 Final on Freitag, 4. Januar 2013, 17:02:51 +-- For the Low Level Business Logic Layer for the database 'themenmanagement' +-- ================================================================================================================ +SET NOCOUNT ON +GO +USE [themenmanagement] +GO + +-- ======================================================================================================== +-- [Stored Procedures generated for table: Application] +GO + +-- //// Insert Stored procedure. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_Application_Insert]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_Application_Insert] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will insert 1 row in the table 'Application' +-- Gets: @iapplikationsnr int +-- Gets: @sversion varchar(4) +-- Gets: @bshowlogin bit +-- Gets: @imandantnr int +-- Gets: @baktiv bit +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Gets: @imutierer int +-- Gets: @stmp_filepath varchar(255) +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_Application_Insert] + @iapplikationsnr int, + @sversion varchar(4), + @bshowlogin bit, + @imandantnr int, + @baktiv bit, + @daerstellt_am datetime, + @damutiert_am datetime, + @imutierer int, + @stmp_filepath varchar(255), + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- INSERT a new row in the table. +INSERT [dbo].[Application] +( + [applikationsnr], + [version], + [showlogin], + [mandantnr], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer], + [tmp_filepath] +) +VALUES +( + @iapplikationsnr, + @sversion, + @bshowlogin, + @imandantnr, + @baktiv, + @daerstellt_am, + @damutiert_am, + @imutierer, + @stmp_filepath +) +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Update Stored procedure for updating one single row. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_Application_Update]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_Application_Update] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will update an existing row in the table 'Application' +-- Gets: @iapplikationsnr int +-- Gets: @sversion varchar(4) +-- Gets: @bshowlogin bit +-- Gets: @imandantnr int +-- Gets: @baktiv bit +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Gets: @imutierer int +-- Gets: @stmp_filepath varchar(255) +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_Application_Update] + @iapplikationsnr int, + @sversion varchar(4), + @bshowlogin bit, + @imandantnr int, + @baktiv bit, + @daerstellt_am datetime, + @damutiert_am datetime, + @imutierer int, + @stmp_filepath varchar(255), + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- UPDATE an existing row in the table. +UPDATE [dbo].[Application] +SET + [version] = @sversion, + [showlogin] = @bshowlogin, + [mandantnr] = @imandantnr, + [aktiv] = @baktiv, + [erstellt_am] = @daerstellt_am, + [mutiert_am] = @damutiert_am, + [mutierer] = @imutierer, + [tmp_filepath] = @stmp_filepath +WHERE + [applikationsnr] = @iapplikationsnr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Delete Stored procedure using Primary Key. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_Application_Delete]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_Application_Delete] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will delete an existing row from the table 'Application' +-- using the Primary Key. +-- Gets: @iapplikationsnr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_Application_Delete] + @iapplikationsnr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- DELETE an existing row from the table. +DELETE FROM [dbo].[Application] +WHERE + [applikationsnr] = @iapplikationsnr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Select Stored procedure, based on Primary Key. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_Application_SelectOne]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_Application_SelectOne] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will select an existing row from the table 'Application' +-- based on the Primary Key. +-- Gets: @iapplikationsnr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_Application_SelectOne] + @iapplikationsnr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT an existing row from the table. +SELECT + [applikationsnr], + [version], + [showlogin], + [mandantnr], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer], + [tmp_filepath] +FROM [dbo].[Application] +WHERE + [applikationsnr] = @iapplikationsnr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Select All Stored procedure. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_Application_SelectAll]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_Application_SelectAll] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will select all rows from the table 'Application' +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_Application_SelectAll] + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT all rows from the table. +SELECT + [applikationsnr], + [version], + [showlogin], + [mandantnr], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer], + [tmp_filepath] +FROM [dbo].[Application] +ORDER BY + [applikationsnr] ASC +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- [End of Stored Procedures for table: Application] +-- ======================================================================================================== +GO + +-- ======================================================================================================== +-- [Stored Procedures generated for table: funktionsgruppe] +GO + +-- //// Insert Stored procedure. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_funktionsgruppe_Insert]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_funktionsgruppe_Insert] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will insert 1 row in the table 'funktionsgruppe' +-- Gets: @ifunktionsgruppenr int +-- Gets: @sbezeichnung varchar(50) +-- Gets: @sbeschreibung varchar(50) +-- Gets: @szugehoerigkeit varchar(255) +-- Gets: @imandantnr int +-- Gets: @baktiv bit +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Gets: @imutierer int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_funktionsgruppe_Insert] + @ifunktionsgruppenr int, + @sbezeichnung varchar(50), + @sbeschreibung varchar(50), + @szugehoerigkeit varchar(255), + @imandantnr int, + @baktiv bit, + @daerstellt_am datetime, + @damutiert_am datetime, + @imutierer int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- INSERT a new row in the table. +INSERT [dbo].[funktionsgruppe] +( + [funktionsgruppenr], + [bezeichnung], + [beschreibung], + [zugehoerigkeit], + [mandantnr], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer] +) +VALUES +( + @ifunktionsgruppenr, + @sbezeichnung, + @sbeschreibung, + @szugehoerigkeit, + @imandantnr, + @baktiv, + @daerstellt_am, + @damutiert_am, + @imutierer +) +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Update Stored procedure for updating one single row. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_funktionsgruppe_Update]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_funktionsgruppe_Update] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will update an existing row in the table 'funktionsgruppe' +-- Gets: @ifunktionsgruppenr int +-- Gets: @sbezeichnung varchar(50) +-- Gets: @sbeschreibung varchar(50) +-- Gets: @szugehoerigkeit varchar(255) +-- Gets: @imandantnr int +-- Gets: @baktiv bit +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Gets: @imutierer int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_funktionsgruppe_Update] + @ifunktionsgruppenr int, + @sbezeichnung varchar(50), + @sbeschreibung varchar(50), + @szugehoerigkeit varchar(255), + @imandantnr int, + @baktiv bit, + @daerstellt_am datetime, + @damutiert_am datetime, + @imutierer int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- UPDATE an existing row in the table. +UPDATE [dbo].[funktionsgruppe] +SET + [bezeichnung] = @sbezeichnung, + [beschreibung] = @sbeschreibung, + [zugehoerigkeit] = @szugehoerigkeit, + [mandantnr] = @imandantnr, + [aktiv] = @baktiv, + [erstellt_am] = @daerstellt_am, + [mutiert_am] = @damutiert_am, + [mutierer] = @imutierer +WHERE + [funktionsgruppenr] = @ifunktionsgruppenr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Delete Stored procedure using Primary Key. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_funktionsgruppe_Delete]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_funktionsgruppe_Delete] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will delete an existing row from the table 'funktionsgruppe' +-- using the Primary Key. +-- Gets: @ifunktionsgruppenr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_funktionsgruppe_Delete] + @ifunktionsgruppenr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- DELETE an existing row from the table. +DELETE FROM [dbo].[funktionsgruppe] +WHERE + [funktionsgruppenr] = @ifunktionsgruppenr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Select Stored procedure, based on Primary Key. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_funktionsgruppe_SelectOne]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_funktionsgruppe_SelectOne] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will select an existing row from the table 'funktionsgruppe' +-- based on the Primary Key. +-- Gets: @ifunktionsgruppenr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_funktionsgruppe_SelectOne] + @ifunktionsgruppenr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT an existing row from the table. +SELECT + [funktionsgruppenr], + [bezeichnung], + [beschreibung], + [zugehoerigkeit], + [mandantnr], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer] +FROM [dbo].[funktionsgruppe] +WHERE + [funktionsgruppenr] = @ifunktionsgruppenr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Select All Stored procedure. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_funktionsgruppe_SelectAll]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_funktionsgruppe_SelectAll] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will select all rows from the table 'funktionsgruppe' +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_funktionsgruppe_SelectAll] + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT all rows from the table. +SELECT + [funktionsgruppenr], + [bezeichnung], + [beschreibung], + [zugehoerigkeit], + [mandantnr], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer] +FROM [dbo].[funktionsgruppe] +ORDER BY + [funktionsgruppenr] ASC +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- [End of Stored Procedures for table: funktionsgruppe] +-- ======================================================================================================== +GO + +-- ======================================================================================================== +-- [Stored Procedures generated for table: funktionsgruppe_rolle] +GO + +-- //// Insert Stored procedure. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_funktionsgruppe_rolle_Insert]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_funktionsgruppe_rolle_Insert] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will insert 1 row in the table 'funktionsgruppe_rolle' +-- Gets: @iFunktionsgrupperollenr int +-- Gets: @ifunktionsgruppenr int +-- Gets: @irollenr int +-- Gets: @imandantnr int +-- Gets: @baktiv bit +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Gets: @imutierer int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_funktionsgruppe_rolle_Insert] + @iFunktionsgrupperollenr int, + @ifunktionsgruppenr int, + @irollenr int, + @imandantnr int, + @baktiv bit, + @daerstellt_am datetime, + @damutiert_am datetime, + @imutierer int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- INSERT a new row in the table. +INSERT [dbo].[funktionsgruppe_rolle] +( + [Funktionsgrupperollenr], + [funktionsgruppenr], + [rollenr], + [mandantnr], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer] +) +VALUES +( + @iFunktionsgrupperollenr, + @ifunktionsgruppenr, + @irollenr, + @imandantnr, + @baktiv, + @daerstellt_am, + @damutiert_am, + @imutierer +) +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Update Stored procedure for updating one single row. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_funktionsgruppe_rolle_Update]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_funktionsgruppe_rolle_Update] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will update an existing row in the table 'funktionsgruppe_rolle' +-- Gets: @iFunktionsgrupperollenr int +-- Gets: @ifunktionsgruppenr int +-- Gets: @irollenr int +-- Gets: @imandantnr int +-- Gets: @baktiv bit +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Gets: @imutierer int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_funktionsgruppe_rolle_Update] + @iFunktionsgrupperollenr int, + @ifunktionsgruppenr int, + @irollenr int, + @imandantnr int, + @baktiv bit, + @daerstellt_am datetime, + @damutiert_am datetime, + @imutierer int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- UPDATE an existing row in the table. +UPDATE [dbo].[funktionsgruppe_rolle] +SET + [funktionsgruppenr] = @ifunktionsgruppenr, + [rollenr] = @irollenr, + [mandantnr] = @imandantnr, + [aktiv] = @baktiv, + [erstellt_am] = @daerstellt_am, + [mutiert_am] = @damutiert_am, + [mutierer] = @imutierer +WHERE + [Funktionsgrupperollenr] = @iFunktionsgrupperollenr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Delete Stored procedure using Primary Key. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_funktionsgruppe_rolle_Delete]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_funktionsgruppe_rolle_Delete] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will delete an existing row from the table 'funktionsgruppe_rolle' +-- using the Primary Key. +-- Gets: @iFunktionsgrupperollenr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_funktionsgruppe_rolle_Delete] + @iFunktionsgrupperollenr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- DELETE an existing row from the table. +DELETE FROM [dbo].[funktionsgruppe_rolle] +WHERE + [Funktionsgrupperollenr] = @iFunktionsgrupperollenr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Select Stored procedure, based on Primary Key. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_funktionsgruppe_rolle_SelectOne]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_funktionsgruppe_rolle_SelectOne] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will select an existing row from the table 'funktionsgruppe_rolle' +-- based on the Primary Key. +-- Gets: @iFunktionsgrupperollenr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_funktionsgruppe_rolle_SelectOne] + @iFunktionsgrupperollenr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT an existing row from the table. +SELECT + [Funktionsgrupperollenr], + [funktionsgruppenr], + [rollenr], + [mandantnr], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer] +FROM [dbo].[funktionsgruppe_rolle] +WHERE + [Funktionsgrupperollenr] = @iFunktionsgrupperollenr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Select All Stored procedure. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_funktionsgruppe_rolle_SelectAll]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_funktionsgruppe_rolle_SelectAll] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will select all rows from the table 'funktionsgruppe_rolle' +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_funktionsgruppe_rolle_SelectAll] + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT all rows from the table. +SELECT + [Funktionsgrupperollenr], + [funktionsgruppenr], + [rollenr], + [mandantnr], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer] +FROM [dbo].[funktionsgruppe_rolle] +ORDER BY + [Funktionsgrupperollenr] ASC +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- [End of Stored Procedures for table: funktionsgruppe_rolle] +-- ======================================================================================================== +GO + +-- ======================================================================================================== +-- [Stored Procedures generated for table: Kategorie] +GO + +-- //// Insert Stored procedure. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_Kategorie_Insert]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_Kategorie_Insert] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will insert 1 row in the table 'Kategorie' +-- Gets: @iKategorieNr int +-- Gets: @sBezeichnung varchar(255) +-- Gets: @sBeschreibung varchar(1024) +-- Gets: @baktiv bit +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Gets: @imutierer int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_Kategorie_Insert] + @iKategorieNr int, + @sBezeichnung varchar(255), + @sBeschreibung varchar(1024), + @baktiv bit, + @daerstellt_am datetime, + @damutiert_am datetime, + @imutierer int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- INSERT a new row in the table. +INSERT [dbo].[Kategorie] +( + [KategorieNr], + [Bezeichnung], + [Beschreibung], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer] +) +VALUES +( + @iKategorieNr, + @sBezeichnung, + @sBeschreibung, + @baktiv, + @daerstellt_am, + @damutiert_am, + @imutierer +) +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Update Stored procedure for updating one single row. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_Kategorie_Update]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_Kategorie_Update] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will update an existing row in the table 'Kategorie' +-- Gets: @iKategorieNr int +-- Gets: @sBezeichnung varchar(255) +-- Gets: @sBeschreibung varchar(1024) +-- Gets: @baktiv bit +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Gets: @imutierer int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_Kategorie_Update] + @iKategorieNr int, + @sBezeichnung varchar(255), + @sBeschreibung varchar(1024), + @baktiv bit, + @daerstellt_am datetime, + @damutiert_am datetime, + @imutierer int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- UPDATE an existing row in the table. +UPDATE [dbo].[Kategorie] +SET + [Bezeichnung] = @sBezeichnung, + [Beschreibung] = @sBeschreibung, + [aktiv] = @baktiv, + [erstellt_am] = @daerstellt_am, + [mutiert_am] = @damutiert_am, + [mutierer] = @imutierer +WHERE + [KategorieNr] = @iKategorieNr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Delete Stored procedure using Primary Key. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_Kategorie_Delete]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_Kategorie_Delete] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will delete an existing row from the table 'Kategorie' +-- using the Primary Key. +-- Gets: @iKategorieNr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_Kategorie_Delete] + @iKategorieNr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- DELETE an existing row from the table. +DELETE FROM [dbo].[Kategorie] +WHERE + [KategorieNr] = @iKategorieNr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Select Stored procedure, based on Primary Key. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_Kategorie_SelectOne]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_Kategorie_SelectOne] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will select an existing row from the table 'Kategorie' +-- based on the Primary Key. +-- Gets: @iKategorieNr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_Kategorie_SelectOne] + @iKategorieNr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT an existing row from the table. +SELECT + [KategorieNr], + [Bezeichnung], + [Beschreibung], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer] +FROM [dbo].[Kategorie] +WHERE + [KategorieNr] = @iKategorieNr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Select All Stored procedure. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_Kategorie_SelectAll]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_Kategorie_SelectAll] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will select all rows from the table 'Kategorie' +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_Kategorie_SelectAll] + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT all rows from the table. +SELECT + [KategorieNr], + [Bezeichnung], + [Beschreibung], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer] +FROM [dbo].[Kategorie] +ORDER BY + [KategorieNr] ASC +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- [End of Stored Procedures for table: Kategorie] +-- ======================================================================================================== +GO + +-- ======================================================================================================== +-- [Stored Procedures generated for table: key_tabelle] +GO + +-- //// Insert Stored procedure. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_key_tabelle_Insert]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_key_tabelle_Insert] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will insert 1 row in the table 'key_tabelle' +-- Gets: @sbeschreibung varchar(255) +-- Gets: @ikey_wert int +-- Gets: @imandantnr int +-- Gets: @baktiv bit +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Gets: @imutierer int +-- Returns: @ikeynr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_key_tabelle_Insert] + @sbeschreibung varchar(255), + @ikey_wert int, + @imandantnr int, + @baktiv bit, + @daerstellt_am datetime, + @damutiert_am datetime, + @imutierer int, + @ikeynr int OUTPUT, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- INSERT a new row in the table. +INSERT [dbo].[key_tabelle] +( + [beschreibung], + [key_wert], + [mandantnr], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer] +) +VALUES +( + @sbeschreibung, + @ikey_wert, + @imandantnr, + @baktiv, + @daerstellt_am, + @damutiert_am, + @imutierer +) +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +-- Get the IDENTITY value for the row just inserted. +SELECT @ikeynr=SCOPE_IDENTITY() +GO + + +-- //// Update Stored procedure for updating one single row. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_key_tabelle_Update]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_key_tabelle_Update] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will update an existing row in the table 'key_tabelle' +-- Gets: @ikeynr int +-- Gets: @sbeschreibung varchar(255) +-- Gets: @ikey_wert int +-- Gets: @imandantnr int +-- Gets: @baktiv bit +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Gets: @imutierer int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_key_tabelle_Update] + @ikeynr int, + @sbeschreibung varchar(255), + @ikey_wert int, + @imandantnr int, + @baktiv bit, + @daerstellt_am datetime, + @damutiert_am datetime, + @imutierer int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- UPDATE an existing row in the table. +UPDATE [dbo].[key_tabelle] +SET + [beschreibung] = @sbeschreibung, + [key_wert] = @ikey_wert, + [mandantnr] = @imandantnr, + [aktiv] = @baktiv, + [erstellt_am] = @daerstellt_am, + [mutiert_am] = @damutiert_am, + [mutierer] = @imutierer +WHERE + [keynr] = @ikeynr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Delete Stored procedure using Primary Key. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_key_tabelle_Delete]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_key_tabelle_Delete] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will delete an existing row from the table 'key_tabelle' +-- using the Primary Key. +-- Gets: @ikeynr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_key_tabelle_Delete] + @ikeynr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- DELETE an existing row from the table. +DELETE FROM [dbo].[key_tabelle] +WHERE + [keynr] = @ikeynr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Select Stored procedure, based on Primary Key. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_key_tabelle_SelectOne]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_key_tabelle_SelectOne] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will select an existing row from the table 'key_tabelle' +-- based on the Primary Key. +-- Gets: @ikeynr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_key_tabelle_SelectOne] + @ikeynr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT an existing row from the table. +SELECT + [keynr], + [beschreibung], + [key_wert], + [mandantnr], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer] +FROM [dbo].[key_tabelle] +WHERE + [keynr] = @ikeynr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Select All Stored procedure. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_key_tabelle_SelectAll]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_key_tabelle_SelectAll] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will select all rows from the table 'key_tabelle' +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_key_tabelle_SelectAll] + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT all rows from the table. +SELECT + [keynr], + [beschreibung], + [key_wert], + [mandantnr], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer] +FROM [dbo].[key_tabelle] +ORDER BY + [keynr] ASC +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- [End of Stored Procedures for table: key_tabelle] +-- ======================================================================================================== +GO + +-- ======================================================================================================== +-- [Stored Procedures generated for table: Kommunikation] +GO + +-- //// Insert Stored procedure. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_Kommunikation_Insert]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_Kommunikation_Insert] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will insert 1 row in the table 'Kommunikation' +-- Gets: @iKommunikationNr int +-- Gets: @sBezeichnung varchar(255) +-- Gets: @baktiv bit +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Gets: @imutierer int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_Kommunikation_Insert] + @iKommunikationNr int, + @sBezeichnung varchar(255), + @baktiv bit, + @daerstellt_am datetime, + @damutiert_am datetime, + @imutierer int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- INSERT a new row in the table. +INSERT [dbo].[Kommunikation] +( + [KommunikationNr], + [Bezeichnung], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer] +) +VALUES +( + @iKommunikationNr, + @sBezeichnung, + @baktiv, + @daerstellt_am, + @damutiert_am, + @imutierer +) +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Update Stored procedure for updating one single row. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_Kommunikation_Update]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_Kommunikation_Update] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will update an existing row in the table 'Kommunikation' +-- Gets: @iKommunikationNr int +-- Gets: @sBezeichnung varchar(255) +-- Gets: @baktiv bit +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Gets: @imutierer int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_Kommunikation_Update] + @iKommunikationNr int, + @sBezeichnung varchar(255), + @baktiv bit, + @daerstellt_am datetime, + @damutiert_am datetime, + @imutierer int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- UPDATE an existing row in the table. +UPDATE [dbo].[Kommunikation] +SET + [Bezeichnung] = @sBezeichnung, + [aktiv] = @baktiv, + [erstellt_am] = @daerstellt_am, + [mutiert_am] = @damutiert_am, + [mutierer] = @imutierer +WHERE + [KommunikationNr] = @iKommunikationNr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Delete Stored procedure using Primary Key. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_Kommunikation_Delete]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_Kommunikation_Delete] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will delete an existing row from the table 'Kommunikation' +-- using the Primary Key. +-- Gets: @iKommunikationNr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_Kommunikation_Delete] + @iKommunikationNr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- DELETE an existing row from the table. +DELETE FROM [dbo].[Kommunikation] +WHERE + [KommunikationNr] = @iKommunikationNr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Select Stored procedure, based on Primary Key. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_Kommunikation_SelectOne]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_Kommunikation_SelectOne] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will select an existing row from the table 'Kommunikation' +-- based on the Primary Key. +-- Gets: @iKommunikationNr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_Kommunikation_SelectOne] + @iKommunikationNr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT an existing row from the table. +SELECT + [KommunikationNr], + [Bezeichnung], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer] +FROM [dbo].[Kommunikation] +WHERE + [KommunikationNr] = @iKommunikationNr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Select All Stored procedure. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_Kommunikation_SelectAll]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_Kommunikation_SelectAll] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will select all rows from the table 'Kommunikation' +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_Kommunikation_SelectAll] + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT all rows from the table. +SELECT + [KommunikationNr], + [Bezeichnung], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer] +FROM [dbo].[Kommunikation] +ORDER BY + [KommunikationNr] ASC +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- [End of Stored Procedures for table: Kommunikation] +-- ======================================================================================================== +GO + +-- ======================================================================================================== +-- [Stored Procedures generated for table: KommunkationAuspraegung] +GO + +-- //// Insert Stored procedure. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_KommunkationAuspraegung_Insert]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_KommunkationAuspraegung_Insert] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will insert 1 row in the table 'KommunkationAuspraegung' +-- Gets: @iKommunikationAuspraegungNr int +-- Gets: @iKommunikationNr int +-- Gets: @sBezeichnung varchar(255) +-- Gets: @sBeschreibung varchar(255) +-- Gets: @blobDokument image +-- Gets: @sRTFText varchar(-1) +-- Gets: @baktiv bit +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Gets: @imutierer int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_KommunkationAuspraegung_Insert] + @iKommunikationAuspraegungNr int, + @iKommunikationNr int, + @sBezeichnung varchar(255), + @sBeschreibung varchar(255), + @blobDokument image, + @sRTFText varchar(-1), + @baktiv bit, + @daerstellt_am datetime, + @damutiert_am datetime, + @imutierer int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- INSERT a new row in the table. +INSERT [dbo].[KommunkationAuspraegung] +( + [KommunikationAuspraegungNr], + [KommunikationNr], + [Bezeichnung], + [Beschreibung], + [Dokument], + [RTFText], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer] +) +VALUES +( + @iKommunikationAuspraegungNr, + @iKommunikationNr, + @sBezeichnung, + @sBeschreibung, + @blobDokument, + @sRTFText, + @baktiv, + @daerstellt_am, + @damutiert_am, + @imutierer +) +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Update Stored procedure for updating one single row. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_KommunkationAuspraegung_Update]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_KommunkationAuspraegung_Update] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will update an existing row in the table 'KommunkationAuspraegung' +-- Gets: @iKommunikationAuspraegungNr int +-- Gets: @iKommunikationNr int +-- Gets: @sBezeichnung varchar(255) +-- Gets: @sBeschreibung varchar(255) +-- Gets: @blobDokument image +-- Gets: @sRTFText varchar(-1) +-- Gets: @baktiv bit +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Gets: @imutierer int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_KommunkationAuspraegung_Update] + @iKommunikationAuspraegungNr int, + @iKommunikationNr int, + @sBezeichnung varchar(255), + @sBeschreibung varchar(255), + @blobDokument image, + @sRTFText varchar(-1), + @baktiv bit, + @daerstellt_am datetime, + @damutiert_am datetime, + @imutierer int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- UPDATE an existing row in the table. +UPDATE [dbo].[KommunkationAuspraegung] +SET + [KommunikationNr] = @iKommunikationNr, + [Bezeichnung] = @sBezeichnung, + [Beschreibung] = @sBeschreibung, + [Dokument] = @blobDokument, + [RTFText] = @sRTFText, + [aktiv] = @baktiv, + [erstellt_am] = @daerstellt_am, + [mutiert_am] = @damutiert_am, + [mutierer] = @imutierer +WHERE + [KommunikationAuspraegungNr] = @iKommunikationAuspraegungNr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Delete Stored procedure using Primary Key. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_KommunkationAuspraegung_Delete]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_KommunkationAuspraegung_Delete] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will delete an existing row from the table 'KommunkationAuspraegung' +-- using the Primary Key. +-- Gets: @iKommunikationAuspraegungNr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_KommunkationAuspraegung_Delete] + @iKommunikationAuspraegungNr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- DELETE an existing row from the table. +DELETE FROM [dbo].[KommunkationAuspraegung] +WHERE + [KommunikationAuspraegungNr] = @iKommunikationAuspraegungNr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Select Stored procedure, based on Primary Key. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_KommunkationAuspraegung_SelectOne]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_KommunkationAuspraegung_SelectOne] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will select an existing row from the table 'KommunkationAuspraegung' +-- based on the Primary Key. +-- Gets: @iKommunikationAuspraegungNr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_KommunkationAuspraegung_SelectOne] + @iKommunikationAuspraegungNr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT an existing row from the table. +SELECT + [KommunikationAuspraegungNr], + [KommunikationNr], + [Bezeichnung], + [Beschreibung], + [Dokument], + [RTFText], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer] +FROM [dbo].[KommunkationAuspraegung] +WHERE + [KommunikationAuspraegungNr] = @iKommunikationAuspraegungNr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Select All Stored procedure. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_KommunkationAuspraegung_SelectAll]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_KommunkationAuspraegung_SelectAll] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will select all rows from the table 'KommunkationAuspraegung' +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_KommunkationAuspraegung_SelectAll] + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT all rows from the table. +SELECT + [KommunikationAuspraegungNr], + [KommunikationNr], + [Bezeichnung], + [Beschreibung], + [Dokument], + [RTFText], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer] +FROM [dbo].[KommunkationAuspraegung] +ORDER BY + [KommunikationAuspraegungNr] ASC +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- [End of Stored Procedures for table: KommunkationAuspraegung] +-- ======================================================================================================== +GO + +-- ======================================================================================================== +-- [Stored Procedures generated for table: meldungstexte] +GO + +-- //// Insert Stored procedure. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_meldungstexte_Insert]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_meldungstexte_Insert] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will insert 1 row in the table 'meldungstexte' +-- Gets: @imeldungstextnr int +-- Gets: @isprache int +-- Gets: @sinhalt varchar(1024) +-- Gets: @sBeschreibung varchar(255) +-- Gets: @baktiv bit +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Gets: @imutierer int +-- Gets: @imandantnr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_meldungstexte_Insert] + @imeldungstextnr int, + @isprache int, + @sinhalt varchar(1024), + @sBeschreibung varchar(255), + @baktiv bit, + @daerstellt_am datetime, + @damutiert_am datetime, + @imutierer int, + @imandantnr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- INSERT a new row in the table. +INSERT [dbo].[meldungstexte] +( + [meldungstextnr], + [sprache], + [inhalt], + [Beschreibung], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer], + [mandantnr] +) +VALUES +( + @imeldungstextnr, + @isprache, + @sinhalt, + @sBeschreibung, + @baktiv, + @daerstellt_am, + @damutiert_am, + @imutierer, + @imandantnr +) +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Update Stored procedure for updating one single row. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_meldungstexte_Update]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_meldungstexte_Update] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will update an existing row in the table 'meldungstexte' +-- Gets: @imeldungstextnr int +-- Gets: @isprache int +-- Gets: @sinhalt varchar(1024) +-- Gets: @sBeschreibung varchar(255) +-- Gets: @baktiv bit +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Gets: @imutierer int +-- Gets: @imandantnr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_meldungstexte_Update] + @imeldungstextnr int, + @isprache int, + @sinhalt varchar(1024), + @sBeschreibung varchar(255), + @baktiv bit, + @daerstellt_am datetime, + @damutiert_am datetime, + @imutierer int, + @imandantnr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- UPDATE an existing row in the table. +UPDATE [dbo].[meldungstexte] +SET + [inhalt] = @sinhalt, + [Beschreibung] = @sBeschreibung, + [aktiv] = @baktiv, + [erstellt_am] = @daerstellt_am, + [mutiert_am] = @damutiert_am, + [mutierer] = @imutierer, + [mandantnr] = @imandantnr +WHERE + [meldungstextnr] = @imeldungstextnr + AND [sprache] = @isprache +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Delete Stored procedure using Primary Key. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_meldungstexte_Delete]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_meldungstexte_Delete] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will delete an existing row from the table 'meldungstexte' +-- using the Primary Key. +-- Gets: @imeldungstextnr int +-- Gets: @isprache int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_meldungstexte_Delete] + @imeldungstextnr int, + @isprache int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- DELETE an existing row from the table. +DELETE FROM [dbo].[meldungstexte] +WHERE + [meldungstextnr] = @imeldungstextnr + AND [sprache] = @isprache +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Delete Stored procedure using PK field [meldungstextnr] +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_meldungstexte_DeleteAllWmeldungstextnrLogic]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_meldungstexte_DeleteAllWmeldungstextnrLogic] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will delete one or more existing rows from the table 'meldungstexte' +-- using the Primary Key field [meldungstextnr]. +-- Gets: @imeldungstextnr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_meldungstexte_DeleteAllWmeldungstextnrLogic] + @imeldungstextnr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- DELETE one or more existing rows from the table. +DELETE FROM [dbo].[meldungstexte] +WHERE + [meldungstextnr] = @imeldungstextnr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Delete Stored procedure using PK field [sprache] +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_meldungstexte_DeleteAllWspracheLogic]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_meldungstexte_DeleteAllWspracheLogic] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will delete one or more existing rows from the table 'meldungstexte' +-- using the Primary Key field [sprache]. +-- Gets: @isprache int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_meldungstexte_DeleteAllWspracheLogic] + @isprache int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- DELETE one or more existing rows from the table. +DELETE FROM [dbo].[meldungstexte] +WHERE + [sprache] = @isprache +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Select Stored procedure, based on Primary Key. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_meldungstexte_SelectOne]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_meldungstexte_SelectOne] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will select an existing row from the table 'meldungstexte' +-- based on the Primary Key. +-- Gets: @imeldungstextnr int +-- Gets: @isprache int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_meldungstexte_SelectOne] + @imeldungstextnr int, + @isprache int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT an existing row from the table. +SELECT + [meldungstextnr], + [sprache], + [inhalt], + [Beschreibung], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer], + [mandantnr] +FROM [dbo].[meldungstexte] +WHERE + [meldungstextnr] = @imeldungstextnr + AND [sprache] = @isprache +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Select All Stored procedure. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_meldungstexte_SelectAll]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_meldungstexte_SelectAll] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will select all rows from the table 'meldungstexte' +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_meldungstexte_SelectAll] + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT all rows from the table. +SELECT + [meldungstextnr], + [sprache], + [inhalt], + [Beschreibung], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer], + [mandantnr] +FROM [dbo].[meldungstexte] +ORDER BY + [meldungstextnr] ASC + , [sprache] ASC +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- [End of Stored Procedures for table: meldungstexte] +-- ======================================================================================================== +GO + +-- ======================================================================================================== +-- [Stored Procedures generated for table: mitarbeiter] +GO + +-- //// Insert Stored procedure. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_mitarbeiter_Insert]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_mitarbeiter_Insert] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will insert 1 row in the table 'mitarbeiter' +-- Gets: @imitarbeiternr int +-- Gets: @svorname varchar(50) +-- Gets: @sname varchar(50) +-- Gets: @stgnummer varchar(50) +-- Gets: @semail varchar(50) +-- Gets: @imandantnr int +-- Gets: @baktiv bit +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Gets: @imutierer int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_mitarbeiter_Insert] + @imitarbeiternr int, + @svorname varchar(50), + @sname varchar(50), + @stgnummer varchar(50), + @semail varchar(50), + @imandantnr int, + @baktiv bit, + @daerstellt_am datetime, + @damutiert_am datetime, + @imutierer int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- INSERT a new row in the table. +INSERT [dbo].[mitarbeiter] +( + [mitarbeiternr], + [vorname], + [name], + [tgnummer], + [email], + [mandantnr], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer] +) +VALUES +( + @imitarbeiternr, + @svorname, + @sname, + @stgnummer, + @semail, + @imandantnr, + @baktiv, + @daerstellt_am, + @damutiert_am, + @imutierer +) +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Update Stored procedure for updating one single row. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_mitarbeiter_Update]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_mitarbeiter_Update] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will update an existing row in the table 'mitarbeiter' +-- Gets: @imitarbeiternr int +-- Gets: @svorname varchar(50) +-- Gets: @sname varchar(50) +-- Gets: @stgnummer varchar(50) +-- Gets: @semail varchar(50) +-- Gets: @imandantnr int +-- Gets: @baktiv bit +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Gets: @imutierer int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_mitarbeiter_Update] + @imitarbeiternr int, + @svorname varchar(50), + @sname varchar(50), + @stgnummer varchar(50), + @semail varchar(50), + @imandantnr int, + @baktiv bit, + @daerstellt_am datetime, + @damutiert_am datetime, + @imutierer int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- UPDATE an existing row in the table. +UPDATE [dbo].[mitarbeiter] +SET + [vorname] = @svorname, + [name] = @sname, + [tgnummer] = @stgnummer, + [email] = @semail, + [mandantnr] = @imandantnr, + [aktiv] = @baktiv, + [erstellt_am] = @daerstellt_am, + [mutiert_am] = @damutiert_am, + [mutierer] = @imutierer +WHERE + [mitarbeiternr] = @imitarbeiternr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Delete Stored procedure using Primary Key. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_mitarbeiter_Delete]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_mitarbeiter_Delete] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will delete an existing row from the table 'mitarbeiter' +-- using the Primary Key. +-- Gets: @imitarbeiternr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_mitarbeiter_Delete] + @imitarbeiternr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- DELETE an existing row from the table. +DELETE FROM [dbo].[mitarbeiter] +WHERE + [mitarbeiternr] = @imitarbeiternr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Select Stored procedure, based on Primary Key. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_mitarbeiter_SelectOne]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_mitarbeiter_SelectOne] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will select an existing row from the table 'mitarbeiter' +-- based on the Primary Key. +-- Gets: @imitarbeiternr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_mitarbeiter_SelectOne] + @imitarbeiternr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT an existing row from the table. +SELECT + [mitarbeiternr], + [vorname], + [name], + [tgnummer], + [email], + [mandantnr], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer] +FROM [dbo].[mitarbeiter] +WHERE + [mitarbeiternr] = @imitarbeiternr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Select All Stored procedure. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_mitarbeiter_SelectAll]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_mitarbeiter_SelectAll] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will select all rows from the table 'mitarbeiter' +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_mitarbeiter_SelectAll] + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT all rows from the table. +SELECT + [mitarbeiternr], + [vorname], + [name], + [tgnummer], + [email], + [mandantnr], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer] +FROM [dbo].[mitarbeiter] +ORDER BY + [mitarbeiternr] ASC +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- [End of Stored Procedures for table: mitarbeiter] +-- ======================================================================================================== +GO + +-- ======================================================================================================== +-- [Stored Procedures generated for table: mitarbeiter_funktionsgruppe] +GO + +-- //// Insert Stored procedure. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_mitarbeiter_funktionsgruppe_Insert]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_mitarbeiter_funktionsgruppe_Insert] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will insert 1 row in the table 'mitarbeiter_funktionsgruppe' +-- Gets: @imitarbeiter_funktionsgruppenr int +-- Gets: @imitarbeiternr int +-- Gets: @ifunktionsgruppenr int +-- Gets: @baktiv bit +-- Gets: @imandantnr int +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Gets: @imutierer int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_mitarbeiter_funktionsgruppe_Insert] + @imitarbeiter_funktionsgruppenr int, + @imitarbeiternr int, + @ifunktionsgruppenr int, + @baktiv bit, + @imandantnr int, + @daerstellt_am datetime, + @damutiert_am datetime, + @imutierer int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- INSERT a new row in the table. +INSERT [dbo].[mitarbeiter_funktionsgruppe] +( + [mitarbeiter_funktionsgruppenr], + [mitarbeiternr], + [funktionsgruppenr], + [aktiv], + [mandantnr], + [erstellt_am], + [mutiert_am], + [mutierer] +) +VALUES +( + @imitarbeiter_funktionsgruppenr, + @imitarbeiternr, + @ifunktionsgruppenr, + @baktiv, + @imandantnr, + @daerstellt_am, + @damutiert_am, + @imutierer +) +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Update Stored procedure for updating one single row. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_mitarbeiter_funktionsgruppe_Update]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_mitarbeiter_funktionsgruppe_Update] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will update an existing row in the table 'mitarbeiter_funktionsgruppe' +-- Gets: @imitarbeiter_funktionsgruppenr int +-- Gets: @imitarbeiternr int +-- Gets: @ifunktionsgruppenr int +-- Gets: @baktiv bit +-- Gets: @imandantnr int +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Gets: @imutierer int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_mitarbeiter_funktionsgruppe_Update] + @imitarbeiter_funktionsgruppenr int, + @imitarbeiternr int, + @ifunktionsgruppenr int, + @baktiv bit, + @imandantnr int, + @daerstellt_am datetime, + @damutiert_am datetime, + @imutierer int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- UPDATE an existing row in the table. +UPDATE [dbo].[mitarbeiter_funktionsgruppe] +SET + [mitarbeiternr] = @imitarbeiternr, + [funktionsgruppenr] = @ifunktionsgruppenr, + [aktiv] = @baktiv, + [mandantnr] = @imandantnr, + [erstellt_am] = @daerstellt_am, + [mutiert_am] = @damutiert_am, + [mutierer] = @imutierer +WHERE + [mitarbeiter_funktionsgruppenr] = @imitarbeiter_funktionsgruppenr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Delete Stored procedure using Primary Key. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_mitarbeiter_funktionsgruppe_Delete]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_mitarbeiter_funktionsgruppe_Delete] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will delete an existing row from the table 'mitarbeiter_funktionsgruppe' +-- using the Primary Key. +-- Gets: @imitarbeiter_funktionsgruppenr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_mitarbeiter_funktionsgruppe_Delete] + @imitarbeiter_funktionsgruppenr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- DELETE an existing row from the table. +DELETE FROM [dbo].[mitarbeiter_funktionsgruppe] +WHERE + [mitarbeiter_funktionsgruppenr] = @imitarbeiter_funktionsgruppenr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Select Stored procedure, based on Primary Key. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_mitarbeiter_funktionsgruppe_SelectOne]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_mitarbeiter_funktionsgruppe_SelectOne] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will select an existing row from the table 'mitarbeiter_funktionsgruppe' +-- based on the Primary Key. +-- Gets: @imitarbeiter_funktionsgruppenr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_mitarbeiter_funktionsgruppe_SelectOne] + @imitarbeiter_funktionsgruppenr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT an existing row from the table. +SELECT + [mitarbeiter_funktionsgruppenr], + [mitarbeiternr], + [funktionsgruppenr], + [aktiv], + [mandantnr], + [erstellt_am], + [mutiert_am], + [mutierer] +FROM [dbo].[mitarbeiter_funktionsgruppe] +WHERE + [mitarbeiter_funktionsgruppenr] = @imitarbeiter_funktionsgruppenr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Select All Stored procedure. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_mitarbeiter_funktionsgruppe_SelectAll]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_mitarbeiter_funktionsgruppe_SelectAll] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will select all rows from the table 'mitarbeiter_funktionsgruppe' +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_mitarbeiter_funktionsgruppe_SelectAll] + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT all rows from the table. +SELECT + [mitarbeiter_funktionsgruppenr], + [mitarbeiternr], + [funktionsgruppenr], + [aktiv], + [mandantnr], + [erstellt_am], + [mutiert_am], + [mutierer] +FROM [dbo].[mitarbeiter_funktionsgruppe] +ORDER BY + [mitarbeiter_funktionsgruppenr] ASC +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- [End of Stored Procedures for table: mitarbeiter_funktionsgruppe] +-- ======================================================================================================== +GO + +-- ======================================================================================================== +-- [Stored Procedures generated for table: rolle] +GO + +-- //// Insert Stored procedure. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_rolle_Insert]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_rolle_Insert] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will insert 1 row in the table 'rolle' +-- Gets: @irollenr int +-- Gets: @sbezeichnung varchar(255) +-- Gets: @sbeschreibung varchar(255) +-- Gets: @bsysadminrolle bit +-- Gets: @imandantnr int +-- Gets: @baktiv bit +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Gets: @imutierer int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_rolle_Insert] + @irollenr int, + @sbezeichnung varchar(255), + @sbeschreibung varchar(255), + @bsysadminrolle bit, + @imandantnr int, + @baktiv bit, + @daerstellt_am datetime, + @damutiert_am datetime, + @imutierer int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- INSERT a new row in the table. +INSERT [dbo].[rolle] +( + [rollenr], + [bezeichnung], + [beschreibung], + [sysadminrolle], + [mandantnr], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer] +) +VALUES +( + @irollenr, + @sbezeichnung, + @sbeschreibung, + @bsysadminrolle, + @imandantnr, + @baktiv, + @daerstellt_am, + @damutiert_am, + @imutierer +) +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Update Stored procedure for updating one single row. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_rolle_Update]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_rolle_Update] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will update an existing row in the table 'rolle' +-- Gets: @irollenr int +-- Gets: @sbezeichnung varchar(255) +-- Gets: @sbeschreibung varchar(255) +-- Gets: @bsysadminrolle bit +-- Gets: @imandantnr int +-- Gets: @baktiv bit +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Gets: @imutierer int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_rolle_Update] + @irollenr int, + @sbezeichnung varchar(255), + @sbeschreibung varchar(255), + @bsysadminrolle bit, + @imandantnr int, + @baktiv bit, + @daerstellt_am datetime, + @damutiert_am datetime, + @imutierer int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- UPDATE an existing row in the table. +UPDATE [dbo].[rolle] +SET + [bezeichnung] = @sbezeichnung, + [beschreibung] = @sbeschreibung, + [sysadminrolle] = @bsysadminrolle, + [mandantnr] = @imandantnr, + [aktiv] = @baktiv, + [erstellt_am] = @daerstellt_am, + [mutiert_am] = @damutiert_am, + [mutierer] = @imutierer +WHERE + [rollenr] = @irollenr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Delete Stored procedure using Primary Key. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_rolle_Delete]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_rolle_Delete] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will delete an existing row from the table 'rolle' +-- using the Primary Key. +-- Gets: @irollenr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_rolle_Delete] + @irollenr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- DELETE an existing row from the table. +DELETE FROM [dbo].[rolle] +WHERE + [rollenr] = @irollenr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Select Stored procedure, based on Primary Key. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_rolle_SelectOne]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_rolle_SelectOne] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will select an existing row from the table 'rolle' +-- based on the Primary Key. +-- Gets: @irollenr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_rolle_SelectOne] + @irollenr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT an existing row from the table. +SELECT + [rollenr], + [bezeichnung], + [beschreibung], + [sysadminrolle], + [mandantnr], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer] +FROM [dbo].[rolle] +WHERE + [rollenr] = @irollenr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Select All Stored procedure. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_rolle_SelectAll]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_rolle_SelectAll] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will select all rows from the table 'rolle' +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_rolle_SelectAll] + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT all rows from the table. +SELECT + [rollenr], + [bezeichnung], + [beschreibung], + [sysadminrolle], + [mandantnr], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer] +FROM [dbo].[rolle] +ORDER BY + [rollenr] ASC +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- [End of Stored Procedures for table: rolle] +-- ======================================================================================================== +GO + +-- ======================================================================================================== +-- [Stored Procedures generated for table: Rolle_SecurityObject] +GO + +-- //// Insert Stored procedure. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_Rolle_SecurityObject_Insert]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_Rolle_SecurityObject_Insert] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will insert 1 row in the table 'Rolle_SecurityObject' +-- Gets: @irolle_securityobjectnr int +-- Gets: @irollenr int +-- Gets: @isecurityobjectnr int +-- Gets: @breadonly bit +-- Gets: @binvisible bit +-- Gets: @baktiv bit +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Gets: @imutierer int +-- Gets: @imandantnr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_Rolle_SecurityObject_Insert] + @irolle_securityobjectnr int, + @irollenr int, + @isecurityobjectnr int, + @breadonly bit, + @binvisible bit, + @baktiv bit, + @daerstellt_am datetime, + @damutiert_am datetime, + @imutierer int, + @imandantnr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- INSERT a new row in the table. +INSERT [dbo].[Rolle_SecurityObject] +( + [rolle_securityobjectnr], + [rollenr], + [securityobjectnr], + [readonly], + [invisible], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer], + [mandantnr] +) +VALUES +( + @irolle_securityobjectnr, + @irollenr, + @isecurityobjectnr, + @breadonly, + @binvisible, + @baktiv, + @daerstellt_am, + @damutiert_am, + @imutierer, + @imandantnr +) +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Update Stored procedure for updating one single row. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_Rolle_SecurityObject_Update]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_Rolle_SecurityObject_Update] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will update an existing row in the table 'Rolle_SecurityObject' +-- Gets: @irolle_securityobjectnr int +-- Gets: @irollenr int +-- Gets: @isecurityobjectnr int +-- Gets: @breadonly bit +-- Gets: @binvisible bit +-- Gets: @baktiv bit +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Gets: @imutierer int +-- Gets: @imandantnr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_Rolle_SecurityObject_Update] + @irolle_securityobjectnr int, + @irollenr int, + @isecurityobjectnr int, + @breadonly bit, + @binvisible bit, + @baktiv bit, + @daerstellt_am datetime, + @damutiert_am datetime, + @imutierer int, + @imandantnr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- UPDATE an existing row in the table. +UPDATE [dbo].[Rolle_SecurityObject] +SET + [rollenr] = @irollenr, + [securityobjectnr] = @isecurityobjectnr, + [readonly] = @breadonly, + [invisible] = @binvisible, + [aktiv] = @baktiv, + [erstellt_am] = @daerstellt_am, + [mutiert_am] = @damutiert_am, + [mutierer] = @imutierer, + [mandantnr] = @imandantnr +WHERE + [rolle_securityobjectnr] = @irolle_securityobjectnr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Delete Stored procedure using Primary Key. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_Rolle_SecurityObject_Delete]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_Rolle_SecurityObject_Delete] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will delete an existing row from the table 'Rolle_SecurityObject' +-- using the Primary Key. +-- Gets: @irolle_securityobjectnr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_Rolle_SecurityObject_Delete] + @irolle_securityobjectnr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- DELETE an existing row from the table. +DELETE FROM [dbo].[Rolle_SecurityObject] +WHERE + [rolle_securityobjectnr] = @irolle_securityobjectnr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Select Stored procedure, based on Primary Key. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_Rolle_SecurityObject_SelectOne]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_Rolle_SecurityObject_SelectOne] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will select an existing row from the table 'Rolle_SecurityObject' +-- based on the Primary Key. +-- Gets: @irolle_securityobjectnr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_Rolle_SecurityObject_SelectOne] + @irolle_securityobjectnr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT an existing row from the table. +SELECT + [rolle_securityobjectnr], + [rollenr], + [securityobjectnr], + [readonly], + [invisible], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer], + [mandantnr] +FROM [dbo].[Rolle_SecurityObject] +WHERE + [rolle_securityobjectnr] = @irolle_securityobjectnr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Select All Stored procedure. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_Rolle_SecurityObject_SelectAll]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_Rolle_SecurityObject_SelectAll] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will select all rows from the table 'Rolle_SecurityObject' +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_Rolle_SecurityObject_SelectAll] + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT all rows from the table. +SELECT + [rolle_securityobjectnr], + [rollenr], + [securityobjectnr], + [readonly], + [invisible], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer], + [mandantnr] +FROM [dbo].[Rolle_SecurityObject] +ORDER BY + [rolle_securityobjectnr] ASC +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- [End of Stored Procedures for table: Rolle_SecurityObject] +-- ======================================================================================================== +GO + +-- ======================================================================================================== +-- [Stored Procedures generated for table: rolle_sysadminfunktion] +GO + +-- //// Insert Stored procedure. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_rolle_sysadminfunktion_Insert]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_rolle_sysadminfunktion_Insert] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will insert 1 row in the table 'rolle_sysadminfunktion' +-- Gets: @irolle_sysadminfnktnr int +-- Gets: @baktiv bit +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Gets: @imutierer int +-- Gets: @isysadminfnktnr int +-- Gets: @irollenr int +-- Gets: @imandant int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_rolle_sysadminfunktion_Insert] + @irolle_sysadminfnktnr int, + @baktiv bit, + @daerstellt_am datetime, + @damutiert_am datetime, + @imutierer int, + @isysadminfnktnr int, + @irollenr int, + @imandant int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- INSERT a new row in the table. +INSERT [dbo].[rolle_sysadminfunktion] +( + [rolle_sysadminfnktnr], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer], + [sysadminfnktnr], + [rollenr], + [mandant] +) +VALUES +( + @irolle_sysadminfnktnr, + @baktiv, + @daerstellt_am, + @damutiert_am, + @imutierer, + @isysadminfnktnr, + @irollenr, + @imandant +) +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Update Stored procedure for updating one single row. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_rolle_sysadminfunktion_Update]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_rolle_sysadminfunktion_Update] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will update an existing row in the table 'rolle_sysadminfunktion' +-- Gets: @irolle_sysadminfnktnr int +-- Gets: @baktiv bit +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Gets: @imutierer int +-- Gets: @isysadminfnktnr int +-- Gets: @irollenr int +-- Gets: @imandant int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_rolle_sysadminfunktion_Update] + @irolle_sysadminfnktnr int, + @baktiv bit, + @daerstellt_am datetime, + @damutiert_am datetime, + @imutierer int, + @isysadminfnktnr int, + @irollenr int, + @imandant int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- UPDATE an existing row in the table. +UPDATE [dbo].[rolle_sysadminfunktion] +SET + [aktiv] = @baktiv, + [erstellt_am] = @daerstellt_am, + [mutiert_am] = @damutiert_am, + [mutierer] = @imutierer, + [sysadminfnktnr] = @isysadminfnktnr, + [rollenr] = @irollenr, + [mandant] = @imandant +WHERE + [rolle_sysadminfnktnr] = @irolle_sysadminfnktnr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Delete Stored procedure using Primary Key. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_rolle_sysadminfunktion_Delete]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_rolle_sysadminfunktion_Delete] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will delete an existing row from the table 'rolle_sysadminfunktion' +-- using the Primary Key. +-- Gets: @irolle_sysadminfnktnr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_rolle_sysadminfunktion_Delete] + @irolle_sysadminfnktnr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- DELETE an existing row from the table. +DELETE FROM [dbo].[rolle_sysadminfunktion] +WHERE + [rolle_sysadminfnktnr] = @irolle_sysadminfnktnr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Select Stored procedure, based on Primary Key. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_rolle_sysadminfunktion_SelectOne]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_rolle_sysadminfunktion_SelectOne] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will select an existing row from the table 'rolle_sysadminfunktion' +-- based on the Primary Key. +-- Gets: @irolle_sysadminfnktnr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_rolle_sysadminfunktion_SelectOne] + @irolle_sysadminfnktnr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT an existing row from the table. +SELECT + [rolle_sysadminfnktnr], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer], + [sysadminfnktnr], + [rollenr], + [mandant] +FROM [dbo].[rolle_sysadminfunktion] +WHERE + [rolle_sysadminfnktnr] = @irolle_sysadminfnktnr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Select All Stored procedure. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_rolle_sysadminfunktion_SelectAll]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_rolle_sysadminfunktion_SelectAll] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will select all rows from the table 'rolle_sysadminfunktion' +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_rolle_sysadminfunktion_SelectAll] + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT all rows from the table. +SELECT + [rolle_sysadminfnktnr], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer], + [sysadminfnktnr], + [rollenr], + [mandant] +FROM [dbo].[rolle_sysadminfunktion] +ORDER BY + [rolle_sysadminfnktnr] ASC +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- [End of Stored Procedures for table: rolle_sysadminfunktion] +-- ======================================================================================================== +GO + +-- ======================================================================================================== +-- [Stored Procedures generated for table: SecurityObject] +GO + +-- //// Insert Stored procedure. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_SecurityObject_Insert]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_SecurityObject_Insert] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will insert 1 row in the table 'SecurityObject' +-- Gets: @iSecurityObjectNr int +-- Gets: @sSecurityForm varchar(50) +-- Gets: @sSecurityObjectType varchar(50) +-- Gets: @sSecurityObject varchar(50) +-- Gets: @sSecurityObjectItem varchar(50) +-- Gets: @sSecurityObjectDescriotion varchar(50) +-- Gets: @iLevel int +-- Gets: @bAktiv bit +-- Gets: @daErstellt_am datetime +-- Gets: @daMutiert_am datetime +-- Gets: @iMutierer int +-- Gets: @iMandantnr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_SecurityObject_Insert] + @iSecurityObjectNr int, + @sSecurityForm varchar(50), + @sSecurityObjectType varchar(50), + @sSecurityObject varchar(50), + @sSecurityObjectItem varchar(50), + @sSecurityObjectDescriotion varchar(50), + @iLevel int, + @bAktiv bit, + @daErstellt_am datetime, + @daMutiert_am datetime, + @iMutierer int, + @iMandantnr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- INSERT a new row in the table. +INSERT [dbo].[SecurityObject] +( + [SecurityObjectNr], + [SecurityForm], + [SecurityObjectType], + [SecurityObject], + [SecurityObjectItem], + [SecurityObjectDescriotion], + [Level], + [Aktiv], + [Erstellt_am], + [Mutiert_am], + [Mutierer], + [Mandantnr] +) +VALUES +( + @iSecurityObjectNr, + @sSecurityForm, + @sSecurityObjectType, + @sSecurityObject, + @sSecurityObjectItem, + @sSecurityObjectDescriotion, + @iLevel, + @bAktiv, + @daErstellt_am, + @daMutiert_am, + @iMutierer, + @iMandantnr +) +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Update Stored procedure for updating one single row. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_SecurityObject_Update]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_SecurityObject_Update] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will update an existing row in the table 'SecurityObject' +-- Gets: @iSecurityObjectNr int +-- Gets: @sSecurityForm varchar(50) +-- Gets: @sSecurityObjectType varchar(50) +-- Gets: @sSecurityObject varchar(50) +-- Gets: @sSecurityObjectItem varchar(50) +-- Gets: @sSecurityObjectDescriotion varchar(50) +-- Gets: @iLevel int +-- Gets: @bAktiv bit +-- Gets: @daErstellt_am datetime +-- Gets: @daMutiert_am datetime +-- Gets: @iMutierer int +-- Gets: @iMandantnr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_SecurityObject_Update] + @iSecurityObjectNr int, + @sSecurityForm varchar(50), + @sSecurityObjectType varchar(50), + @sSecurityObject varchar(50), + @sSecurityObjectItem varchar(50), + @sSecurityObjectDescriotion varchar(50), + @iLevel int, + @bAktiv bit, + @daErstellt_am datetime, + @daMutiert_am datetime, + @iMutierer int, + @iMandantnr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- UPDATE an existing row in the table. +UPDATE [dbo].[SecurityObject] +SET + [SecurityForm] = @sSecurityForm, + [SecurityObjectType] = @sSecurityObjectType, + [SecurityObject] = @sSecurityObject, + [SecurityObjectItem] = @sSecurityObjectItem, + [SecurityObjectDescriotion] = @sSecurityObjectDescriotion, + [Level] = @iLevel, + [Aktiv] = @bAktiv, + [Erstellt_am] = @daErstellt_am, + [Mutiert_am] = @daMutiert_am, + [Mutierer] = @iMutierer, + [Mandantnr] = @iMandantnr +WHERE + [SecurityObjectNr] = @iSecurityObjectNr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Delete Stored procedure using Primary Key. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_SecurityObject_Delete]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_SecurityObject_Delete] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will delete an existing row from the table 'SecurityObject' +-- using the Primary Key. +-- Gets: @iSecurityObjectNr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_SecurityObject_Delete] + @iSecurityObjectNr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- DELETE an existing row from the table. +DELETE FROM [dbo].[SecurityObject] +WHERE + [SecurityObjectNr] = @iSecurityObjectNr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Select Stored procedure, based on Primary Key. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_SecurityObject_SelectOne]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_SecurityObject_SelectOne] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will select an existing row from the table 'SecurityObject' +-- based on the Primary Key. +-- Gets: @iSecurityObjectNr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_SecurityObject_SelectOne] + @iSecurityObjectNr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT an existing row from the table. +SELECT + [SecurityObjectNr], + [SecurityForm], + [SecurityObjectType], + [SecurityObject], + [SecurityObjectItem], + [SecurityObjectDescriotion], + [Level], + [Aktiv], + [Erstellt_am], + [Mutiert_am], + [Mutierer], + [Mandantnr] +FROM [dbo].[SecurityObject] +WHERE + [SecurityObjectNr] = @iSecurityObjectNr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Select All Stored procedure. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_SecurityObject_SelectAll]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_SecurityObject_SelectAll] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will select all rows from the table 'SecurityObject' +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_SecurityObject_SelectAll] + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT all rows from the table. +SELECT + [SecurityObjectNr], + [SecurityForm], + [SecurityObjectType], + [SecurityObject], + [SecurityObjectItem], + [SecurityObjectDescriotion], + [Level], + [Aktiv], + [Erstellt_am], + [Mutiert_am], + [Mutierer], + [Mandantnr] +FROM [dbo].[SecurityObject] +ORDER BY + [SecurityObjectNr] ASC +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- [End of Stored Procedures for table: SecurityObject] +-- ======================================================================================================== +GO + +-- ======================================================================================================== +-- [Stored Procedures generated for table: spalten] +GO + +-- //// Insert Stored procedure. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_spalten_Insert]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_spalten_Insert] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will insert 1 row in the table 'spalten' +-- Gets: @ieintragnr int +-- Gets: @stabelle varchar(255) +-- Gets: @stabellenspalte varchar(255) +-- Gets: @sspalte varchar(255) +-- Gets: @bReadonly bit +-- Gets: @balsHacken bit +-- Gets: @iBreite int +-- Gets: @iReihenfolge int +-- Gets: @stiptext varchar(255) +-- Gets: @baktiv bit +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Gets: @imutierer int +-- Gets: @imandantnr int +-- Gets: @sNumberFormat varchar(255) +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_spalten_Insert] + @ieintragnr int, + @stabelle varchar(255), + @stabellenspalte varchar(255), + @sspalte varchar(255), + @bReadonly bit, + @balsHacken bit, + @iBreite int, + @iReihenfolge int, + @stiptext varchar(255), + @baktiv bit, + @daerstellt_am datetime, + @damutiert_am datetime, + @imutierer int, + @imandantnr int, + @sNumberFormat varchar(255), + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- INSERT a new row in the table. +INSERT [dbo].[spalten] +( + [eintragnr], + [tabelle], + [tabellenspalte], + [spalte], + [Readonly], + [alsHacken], + [Breite], + [Reihenfolge], + [tiptext], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer], + [mandantnr], + [NumberFormat] +) +VALUES +( + @ieintragnr, + @stabelle, + @stabellenspalte, + @sspalte, + @bReadonly, + @balsHacken, + @iBreite, + @iReihenfolge, + @stiptext, + @baktiv, + @daerstellt_am, + @damutiert_am, + @imutierer, + @imandantnr, + @sNumberFormat +) +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Update Stored procedure for updating one single row. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_spalten_Update]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_spalten_Update] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will update an existing row in the table 'spalten' +-- Gets: @ieintragnr int +-- Gets: @stabelle varchar(255) +-- Gets: @stabellenspalte varchar(255) +-- Gets: @sspalte varchar(255) +-- Gets: @bReadonly bit +-- Gets: @balsHacken bit +-- Gets: @iBreite int +-- Gets: @iReihenfolge int +-- Gets: @stiptext varchar(255) +-- Gets: @baktiv bit +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Gets: @imutierer int +-- Gets: @imandantnr int +-- Gets: @sNumberFormat varchar(255) +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_spalten_Update] + @ieintragnr int, + @stabelle varchar(255), + @stabellenspalte varchar(255), + @sspalte varchar(255), + @bReadonly bit, + @balsHacken bit, + @iBreite int, + @iReihenfolge int, + @stiptext varchar(255), + @baktiv bit, + @daerstellt_am datetime, + @damutiert_am datetime, + @imutierer int, + @imandantnr int, + @sNumberFormat varchar(255), + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- UPDATE an existing row in the table. +UPDATE [dbo].[spalten] +SET + [tabelle] = @stabelle, + [tabellenspalte] = @stabellenspalte, + [spalte] = @sspalte, + [Readonly] = @bReadonly, + [alsHacken] = @balsHacken, + [Breite] = @iBreite, + [Reihenfolge] = @iReihenfolge, + [tiptext] = @stiptext, + [aktiv] = @baktiv, + [erstellt_am] = @daerstellt_am, + [mutiert_am] = @damutiert_am, + [mutierer] = @imutierer, + [mandantnr] = @imandantnr, + [NumberFormat] = @sNumberFormat +WHERE + [eintragnr] = @ieintragnr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Delete Stored procedure using Primary Key. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_spalten_Delete]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_spalten_Delete] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will delete an existing row from the table 'spalten' +-- using the Primary Key. +-- Gets: @ieintragnr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_spalten_Delete] + @ieintragnr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- DELETE an existing row from the table. +DELETE FROM [dbo].[spalten] +WHERE + [eintragnr] = @ieintragnr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Select Stored procedure, based on Primary Key. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_spalten_SelectOne]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_spalten_SelectOne] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will select an existing row from the table 'spalten' +-- based on the Primary Key. +-- Gets: @ieintragnr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_spalten_SelectOne] + @ieintragnr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT an existing row from the table. +SELECT + [eintragnr], + [tabelle], + [tabellenspalte], + [spalte], + [Readonly], + [alsHacken], + [Breite], + [Reihenfolge], + [tiptext], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer], + [mandantnr], + [NumberFormat] +FROM [dbo].[spalten] +WHERE + [eintragnr] = @ieintragnr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Select All Stored procedure. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_spalten_SelectAll]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_spalten_SelectAll] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will select all rows from the table 'spalten' +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_spalten_SelectAll] + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT all rows from the table. +SELECT + [eintragnr], + [tabelle], + [tabellenspalte], + [spalte], + [Readonly], + [alsHacken], + [Breite], + [Reihenfolge], + [tiptext], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer], + [mandantnr], + [NumberFormat] +FROM [dbo].[spalten] +ORDER BY + [eintragnr] ASC +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- [End of Stored Procedures for table: spalten] +-- ======================================================================================================== +GO + +-- ======================================================================================================== +-- [Stored Procedures generated for table: sysadminfunktion] +GO + +-- //// Insert Stored procedure. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_sysadminfunktion_Insert]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_sysadminfunktion_Insert] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will insert 1 row in the table 'sysadminfunktion' +-- Gets: @isysadminfnktnr int +-- Gets: @sbezeichnung varchar(255) +-- Gets: @iParentID int +-- Gets: @iSort int +-- Gets: @iImageIndex int +-- Gets: @iImageIndexOpen int +-- Gets: @iftop int +-- Gets: @ifleft int +-- Gets: @ifwidth int +-- Gets: @ifheight int +-- Gets: @sbeschreibung varchar(255) +-- Gets: @imandantnr int +-- Gets: @isprache int +-- Gets: @baktiv bit +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Gets: @imutierer int +-- Gets: @sDomaintable varchar(255) +-- Gets: @sKeyFields varchar(255) +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_sysadminfunktion_Insert] + @isysadminfnktnr int, + @sbezeichnung varchar(255), + @iParentID int, + @iSort int, + @iImageIndex int, + @iImageIndexOpen int, + @iftop int, + @ifleft int, + @ifwidth int, + @ifheight int, + @sbeschreibung varchar(255), + @imandantnr int, + @isprache int, + @baktiv bit, + @daerstellt_am datetime, + @damutiert_am datetime, + @imutierer int, + @sDomaintable varchar(255), + @sKeyFields varchar(255), + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- INSERT a new row in the table. +INSERT [dbo].[sysadminfunktion] +( + [sysadminfnktnr], + [bezeichnung], + [ParentID], + [Sort], + [ImageIndex], + [ImageIndexOpen], + [ftop], + [fleft], + [fwidth], + [fheight], + [beschreibung], + [mandantnr], + [sprache], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer], + [Domaintable], + [KeyFields] +) +VALUES +( + @isysadminfnktnr, + @sbezeichnung, + @iParentID, + @iSort, + @iImageIndex, + @iImageIndexOpen, + @iftop, + @ifleft, + @ifwidth, + @ifheight, + @sbeschreibung, + @imandantnr, + @isprache, + @baktiv, + @daerstellt_am, + @damutiert_am, + @imutierer, + @sDomaintable, + @sKeyFields +) +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Update Stored procedure for updating one single row. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_sysadminfunktion_Update]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_sysadminfunktion_Update] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will update an existing row in the table 'sysadminfunktion' +-- Gets: @isysadminfnktnr int +-- Gets: @sbezeichnung varchar(255) +-- Gets: @iParentID int +-- Gets: @iSort int +-- Gets: @iImageIndex int +-- Gets: @iImageIndexOpen int +-- Gets: @iftop int +-- Gets: @ifleft int +-- Gets: @ifwidth int +-- Gets: @ifheight int +-- Gets: @sbeschreibung varchar(255) +-- Gets: @imandantnr int +-- Gets: @isprache int +-- Gets: @baktiv bit +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Gets: @imutierer int +-- Gets: @sDomaintable varchar(255) +-- Gets: @sKeyFields varchar(255) +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_sysadminfunktion_Update] + @isysadminfnktnr int, + @sbezeichnung varchar(255), + @iParentID int, + @iSort int, + @iImageIndex int, + @iImageIndexOpen int, + @iftop int, + @ifleft int, + @ifwidth int, + @ifheight int, + @sbeschreibung varchar(255), + @imandantnr int, + @isprache int, + @baktiv bit, + @daerstellt_am datetime, + @damutiert_am datetime, + @imutierer int, + @sDomaintable varchar(255), + @sKeyFields varchar(255), + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- UPDATE an existing row in the table. +UPDATE [dbo].[sysadminfunktion] +SET + [bezeichnung] = @sbezeichnung, + [ParentID] = @iParentID, + [Sort] = @iSort, + [ImageIndex] = @iImageIndex, + [ImageIndexOpen] = @iImageIndexOpen, + [ftop] = @iftop, + [fleft] = @ifleft, + [fwidth] = @ifwidth, + [fheight] = @ifheight, + [beschreibung] = @sbeschreibung, + [mandantnr] = @imandantnr, + [sprache] = @isprache, + [aktiv] = @baktiv, + [erstellt_am] = @daerstellt_am, + [mutiert_am] = @damutiert_am, + [mutierer] = @imutierer, + [Domaintable] = @sDomaintable, + [KeyFields] = @sKeyFields +WHERE + [sysadminfnktnr] = @isysadminfnktnr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Delete Stored procedure using Primary Key. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_sysadminfunktion_Delete]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_sysadminfunktion_Delete] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will delete an existing row from the table 'sysadminfunktion' +-- using the Primary Key. +-- Gets: @isysadminfnktnr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_sysadminfunktion_Delete] + @isysadminfnktnr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- DELETE an existing row from the table. +DELETE FROM [dbo].[sysadminfunktion] +WHERE + [sysadminfnktnr] = @isysadminfnktnr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Select Stored procedure, based on Primary Key. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_sysadminfunktion_SelectOne]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_sysadminfunktion_SelectOne] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will select an existing row from the table 'sysadminfunktion' +-- based on the Primary Key. +-- Gets: @isysadminfnktnr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_sysadminfunktion_SelectOne] + @isysadminfnktnr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT an existing row from the table. +SELECT + [sysadminfnktnr], + [bezeichnung], + [ParentID], + [Sort], + [ImageIndex], + [ImageIndexOpen], + [ftop], + [fleft], + [fwidth], + [fheight], + [beschreibung], + [mandantnr], + [sprache], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer], + [Domaintable], + [KeyFields] +FROM [dbo].[sysadminfunktion] +WHERE + [sysadminfnktnr] = @isysadminfnktnr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Select All Stored procedure. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_sysadminfunktion_SelectAll]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_sysadminfunktion_SelectAll] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will select all rows from the table 'sysadminfunktion' +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_sysadminfunktion_SelectAll] + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT all rows from the table. +SELECT + [sysadminfnktnr], + [bezeichnung], + [ParentID], + [Sort], + [ImageIndex], + [ImageIndexOpen], + [ftop], + [fleft], + [fwidth], + [fheight], + [beschreibung], + [mandantnr], + [sprache], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer], + [Domaintable], + [KeyFields] +FROM [dbo].[sysadminfunktion] +ORDER BY + [sysadminfnktnr] ASC +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- [End of Stored Procedures for table: sysadminfunktion] +-- ======================================================================================================== +GO + +-- ======================================================================================================== +-- [Stored Procedures generated for table: Thema] +GO + +-- //// Insert Stored procedure. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_Thema_Insert]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_Thema_Insert] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will insert 1 row in the table 'Thema' +-- Gets: @iThemanNr int +-- Gets: @sTitel varchar(255) +-- Gets: @iKategorieNr int +-- Gets: @sBeschreibung varchar(1024) +-- Gets: @sSuchbegriffe varchar(1024) +-- Gets: @daGueltig_ab datetime +-- Gets: @daGueltig_bis datetime +-- Gets: @baktiv bit +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Gets: @imutierer int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_Thema_Insert] + @iThemanNr int, + @sTitel varchar(255), + @iKategorieNr int, + @sBeschreibung varchar(1024), + @sSuchbegriffe varchar(1024), + @daGueltig_ab datetime, + @daGueltig_bis datetime, + @baktiv bit, + @daerstellt_am datetime, + @damutiert_am datetime, + @imutierer int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- INSERT a new row in the table. +INSERT [dbo].[Thema] +( + [ThemanNr], + [Titel], + [KategorieNr], + [Beschreibung], + [Suchbegriffe], + [Gueltig_ab], + [Gueltig_bis], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer] +) +VALUES +( + @iThemanNr, + @sTitel, + @iKategorieNr, + @sBeschreibung, + @sSuchbegriffe, + @daGueltig_ab, + @daGueltig_bis, + @baktiv, + @daerstellt_am, + @damutiert_am, + @imutierer +) +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Update Stored procedure for updating one single row. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_Thema_Update]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_Thema_Update] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will update an existing row in the table 'Thema' +-- Gets: @iThemanNr int +-- Gets: @sTitel varchar(255) +-- Gets: @iKategorieNr int +-- Gets: @sBeschreibung varchar(1024) +-- Gets: @sSuchbegriffe varchar(1024) +-- Gets: @daGueltig_ab datetime +-- Gets: @daGueltig_bis datetime +-- Gets: @baktiv bit +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Gets: @imutierer int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_Thema_Update] + @iThemanNr int, + @sTitel varchar(255), + @iKategorieNr int, + @sBeschreibung varchar(1024), + @sSuchbegriffe varchar(1024), + @daGueltig_ab datetime, + @daGueltig_bis datetime, + @baktiv bit, + @daerstellt_am datetime, + @damutiert_am datetime, + @imutierer int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- UPDATE an existing row in the table. +UPDATE [dbo].[Thema] +SET + [Titel] = @sTitel, + [KategorieNr] = @iKategorieNr, + [Beschreibung] = @sBeschreibung, + [Suchbegriffe] = @sSuchbegriffe, + [Gueltig_ab] = @daGueltig_ab, + [Gueltig_bis] = @daGueltig_bis, + [aktiv] = @baktiv, + [erstellt_am] = @daerstellt_am, + [mutiert_am] = @damutiert_am, + [mutierer] = @imutierer +WHERE + [ThemanNr] = @iThemanNr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Delete Stored procedure using Primary Key. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_Thema_Delete]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_Thema_Delete] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will delete an existing row from the table 'Thema' +-- using the Primary Key. +-- Gets: @iThemanNr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_Thema_Delete] + @iThemanNr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- DELETE an existing row from the table. +DELETE FROM [dbo].[Thema] +WHERE + [ThemanNr] = @iThemanNr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Select Stored procedure, based on Primary Key. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_Thema_SelectOne]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_Thema_SelectOne] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will select an existing row from the table 'Thema' +-- based on the Primary Key. +-- Gets: @iThemanNr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_Thema_SelectOne] + @iThemanNr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT an existing row from the table. +SELECT + [ThemanNr], + [Titel], + [KategorieNr], + [Beschreibung], + [Suchbegriffe], + [Gueltig_ab], + [Gueltig_bis], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer] +FROM [dbo].[Thema] +WHERE + [ThemanNr] = @iThemanNr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Select All Stored procedure. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_Thema_SelectAll]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_Thema_SelectAll] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will select all rows from the table 'Thema' +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_Thema_SelectAll] + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT all rows from the table. +SELECT + [ThemanNr], + [Titel], + [KategorieNr], + [Beschreibung], + [Suchbegriffe], + [Gueltig_ab], + [Gueltig_bis], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer] +FROM [dbo].[Thema] +ORDER BY + [ThemanNr] ASC +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- [End of Stored Procedures for table: Thema] +-- ======================================================================================================== +GO + +-- ======================================================================================================== +-- [Stored Procedures generated for table: ThemaEntwicklung] +GO + +-- //// Insert Stored procedure. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_ThemaEntwicklung_Insert]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_ThemaEntwicklung_Insert] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will insert 1 row in the table 'ThemaEntwicklung' +-- Gets: @iThemaEntwicklungNr int +-- Gets: @iThemaNr int +-- Gets: @sBezeichnung varchar(255) +-- Gets: @blobDokument image +-- Gets: @sRTFText varchar(-1) +-- Gets: @baktiv bit +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Gets: @imutierer int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_ThemaEntwicklung_Insert] + @iThemaEntwicklungNr int, + @iThemaNr int, + @sBezeichnung varchar(255), + @blobDokument image, + @sRTFText varchar(-1), + @baktiv bit, + @daerstellt_am datetime, + @damutiert_am datetime, + @imutierer int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- INSERT a new row in the table. +INSERT [dbo].[ThemaEntwicklung] +( + [ThemaEntwicklungNr], + [ThemaNr], + [Bezeichnung], + [Dokument], + [RTFText], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer] +) +VALUES +( + @iThemaEntwicklungNr, + @iThemaNr, + @sBezeichnung, + @blobDokument, + @sRTFText, + @baktiv, + @daerstellt_am, + @damutiert_am, + @imutierer +) +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Update Stored procedure for updating one single row. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_ThemaEntwicklung_Update]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_ThemaEntwicklung_Update] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will update an existing row in the table 'ThemaEntwicklung' +-- Gets: @iThemaEntwicklungNr int +-- Gets: @iThemaNr int +-- Gets: @sBezeichnung varchar(255) +-- Gets: @blobDokument image +-- Gets: @sRTFText varchar(-1) +-- Gets: @baktiv bit +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Gets: @imutierer int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_ThemaEntwicklung_Update] + @iThemaEntwicklungNr int, + @iThemaNr int, + @sBezeichnung varchar(255), + @blobDokument image, + @sRTFText varchar(-1), + @baktiv bit, + @daerstellt_am datetime, + @damutiert_am datetime, + @imutierer int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- UPDATE an existing row in the table. +UPDATE [dbo].[ThemaEntwicklung] +SET + [ThemaNr] = @iThemaNr, + [Bezeichnung] = @sBezeichnung, + [Dokument] = @blobDokument, + [RTFText] = @sRTFText, + [aktiv] = @baktiv, + [erstellt_am] = @daerstellt_am, + [mutiert_am] = @damutiert_am, + [mutierer] = @imutierer +WHERE + [ThemaEntwicklungNr] = @iThemaEntwicklungNr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Delete Stored procedure using Primary Key. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_ThemaEntwicklung_Delete]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_ThemaEntwicklung_Delete] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will delete an existing row from the table 'ThemaEntwicklung' +-- using the Primary Key. +-- Gets: @iThemaEntwicklungNr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_ThemaEntwicklung_Delete] + @iThemaEntwicklungNr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- DELETE an existing row from the table. +DELETE FROM [dbo].[ThemaEntwicklung] +WHERE + [ThemaEntwicklungNr] = @iThemaEntwicklungNr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Select Stored procedure, based on Primary Key. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_ThemaEntwicklung_SelectOne]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_ThemaEntwicklung_SelectOne] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will select an existing row from the table 'ThemaEntwicklung' +-- based on the Primary Key. +-- Gets: @iThemaEntwicklungNr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_ThemaEntwicklung_SelectOne] + @iThemaEntwicklungNr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT an existing row from the table. +SELECT + [ThemaEntwicklungNr], + [ThemaNr], + [Bezeichnung], + [Dokument], + [RTFText], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer] +FROM [dbo].[ThemaEntwicklung] +WHERE + [ThemaEntwicklungNr] = @iThemaEntwicklungNr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Select All Stored procedure. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_ThemaEntwicklung_SelectAll]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_ThemaEntwicklung_SelectAll] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will select all rows from the table 'ThemaEntwicklung' +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_ThemaEntwicklung_SelectAll] + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT all rows from the table. +SELECT + [ThemaEntwicklungNr], + [ThemaNr], + [Bezeichnung], + [Dokument], + [RTFText], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer] +FROM [dbo].[ThemaEntwicklung] +ORDER BY + [ThemaEntwicklungNr] ASC +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- [End of Stored Procedures for table: ThemaEntwicklung] +-- ======================================================================================================== +GO + +-- ======================================================================================================== +-- [Stored Procedures generated for table: ToolTip] +GO + +-- //// Insert Stored procedure. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_ToolTip_Insert]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_ToolTip_Insert] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will insert 1 row in the table 'ToolTip' +-- Gets: @iToolTipNr int +-- Gets: @sFormularName varchar(50) +-- Gets: @sControlName varchar(50) +-- Gets: @sToolTip varchar(1024) +-- Gets: @bAktiv bit +-- Gets: @daErstellt_am datetime +-- Gets: @daMutiert_am datetime +-- Gets: @iMutierer int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_ToolTip_Insert] + @iToolTipNr int, + @sFormularName varchar(50), + @sControlName varchar(50), + @sToolTip varchar(1024), + @bAktiv bit, + @daErstellt_am datetime, + @daMutiert_am datetime, + @iMutierer int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- INSERT a new row in the table. +INSERT [dbo].[ToolTip] +( + [ToolTipNr], + [FormularName], + [ControlName], + [ToolTip], + [Aktiv], + [Erstellt_am], + [Mutiert_am], + [Mutierer] +) +VALUES +( + @iToolTipNr, + @sFormularName, + @sControlName, + @sToolTip, + @bAktiv, + @daErstellt_am, + @daMutiert_am, + @iMutierer +) +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Update Stored procedure for updating one single row. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_ToolTip_Update]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_ToolTip_Update] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will update an existing row in the table 'ToolTip' +-- Gets: @iToolTipNr int +-- Gets: @sFormularName varchar(50) +-- Gets: @sControlName varchar(50) +-- Gets: @sToolTip varchar(1024) +-- Gets: @bAktiv bit +-- Gets: @daErstellt_am datetime +-- Gets: @daMutiert_am datetime +-- Gets: @iMutierer int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_ToolTip_Update] + @iToolTipNr int, + @sFormularName varchar(50), + @sControlName varchar(50), + @sToolTip varchar(1024), + @bAktiv bit, + @daErstellt_am datetime, + @daMutiert_am datetime, + @iMutierer int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- UPDATE an existing row in the table. +UPDATE [dbo].[ToolTip] +SET + [FormularName] = @sFormularName, + [ControlName] = @sControlName, + [ToolTip] = @sToolTip, + [Aktiv] = @bAktiv, + [Erstellt_am] = @daErstellt_am, + [Mutiert_am] = @daMutiert_am, + [Mutierer] = @iMutierer +WHERE + [ToolTipNr] = @iToolTipNr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Delete Stored procedure using Primary Key. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_ToolTip_Delete]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_ToolTip_Delete] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will delete an existing row from the table 'ToolTip' +-- using the Primary Key. +-- Gets: @iToolTipNr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_ToolTip_Delete] + @iToolTipNr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- DELETE an existing row from the table. +DELETE FROM [dbo].[ToolTip] +WHERE + [ToolTipNr] = @iToolTipNr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Select Stored procedure, based on Primary Key. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_ToolTip_SelectOne]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_ToolTip_SelectOne] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will select an existing row from the table 'ToolTip' +-- based on the Primary Key. +-- Gets: @iToolTipNr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_ToolTip_SelectOne] + @iToolTipNr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT an existing row from the table. +SELECT + [ToolTipNr], + [FormularName], + [ControlName], + [ToolTip], + [Aktiv], + [Erstellt_am], + [Mutiert_am], + [Mutierer] +FROM [dbo].[ToolTip] +WHERE + [ToolTipNr] = @iToolTipNr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Select All Stored procedure. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_ToolTip_SelectAll]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_ToolTip_SelectAll] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will select all rows from the table 'ToolTip' +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_ToolTip_SelectAll] + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT all rows from the table. +SELECT + [ToolTipNr], + [FormularName], + [ControlName], + [ToolTip], + [Aktiv], + [Erstellt_am], + [Mutiert_am], + [Mutierer] +FROM [dbo].[ToolTip] +ORDER BY + [ToolTipNr] ASC +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- [End of Stored Procedures for table: ToolTip] +-- ======================================================================================================== +GO + +-- ======================================================================================================== +-- [Stored Procedures generated for table: Zielgruppe] +GO + +-- //// Insert Stored procedure. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_Zielgruppe_Insert]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_Zielgruppe_Insert] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will insert 1 row in the table 'Zielgruppe' +-- Gets: @iZielgruppeNr int +-- Gets: @sBezeichnung varchar(255) +-- Gets: @sBeschreibung varchar(255) +-- Gets: @baktiv bit +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_Zielgruppe_Insert] + @iZielgruppeNr int, + @sBezeichnung varchar(255), + @sBeschreibung varchar(255), + @baktiv bit, + @daerstellt_am datetime, + @damutiert_am datetime, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- INSERT a new row in the table. +INSERT [dbo].[Zielgruppe] +( + [ZielgruppeNr], + [Bezeichnung], + [Beschreibung], + [aktiv], + [erstellt_am], + [mutiert_am] +) +VALUES +( + @iZielgruppeNr, + @sBezeichnung, + @sBeschreibung, + @baktiv, + @daerstellt_am, + @damutiert_am +) +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Update Stored procedure for updating one single row. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_Zielgruppe_Update]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_Zielgruppe_Update] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will update an existing row in the table 'Zielgruppe' +-- Gets: @iZielgruppeNr int +-- Gets: @sBezeichnung varchar(255) +-- Gets: @sBeschreibung varchar(255) +-- Gets: @baktiv bit +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_Zielgruppe_Update] + @iZielgruppeNr int, + @sBezeichnung varchar(255), + @sBeschreibung varchar(255), + @baktiv bit, + @daerstellt_am datetime, + @damutiert_am datetime, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- UPDATE an existing row in the table. +UPDATE [dbo].[Zielgruppe] +SET + [Bezeichnung] = @sBezeichnung, + [Beschreibung] = @sBeschreibung, + [aktiv] = @baktiv, + [erstellt_am] = @daerstellt_am, + [mutiert_am] = @damutiert_am +WHERE + [ZielgruppeNr] = @iZielgruppeNr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Delete Stored procedure using Primary Key. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_Zielgruppe_Delete]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_Zielgruppe_Delete] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will delete an existing row from the table 'Zielgruppe' +-- using the Primary Key. +-- Gets: @iZielgruppeNr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_Zielgruppe_Delete] + @iZielgruppeNr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- DELETE an existing row from the table. +DELETE FROM [dbo].[Zielgruppe] +WHERE + [ZielgruppeNr] = @iZielgruppeNr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Select Stored procedure, based on Primary Key. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_Zielgruppe_SelectOne]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_Zielgruppe_SelectOne] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will select an existing row from the table 'Zielgruppe' +-- based on the Primary Key. +-- Gets: @iZielgruppeNr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_Zielgruppe_SelectOne] + @iZielgruppeNr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT an existing row from the table. +SELECT + [ZielgruppeNr], + [Bezeichnung], + [Beschreibung], + [aktiv], + [erstellt_am], + [mutiert_am] +FROM [dbo].[Zielgruppe] +WHERE + [ZielgruppeNr] = @iZielgruppeNr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- //// Select All Stored procedure. +if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pr_Zielgruppe_SelectAll]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[pr_Zielgruppe_SelectAll] +GO + +--------------------------------------------------------------------------------- +-- Stored procedure that will select all rows from the table 'Zielgruppe' +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_Zielgruppe_SelectAll] + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT all rows from the table. +SELECT + [ZielgruppeNr], + [Bezeichnung], + [Beschreibung], + [aktiv], + [erstellt_am], + [mutiert_am] +FROM [dbo].[Zielgruppe] +ORDER BY + [ZielgruppeNr] ASC +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +GO + + +-- [End of Stored Procedures for table: Zielgruppe] +-- ======================================================================================================== +GO diff --git a/.svn/pristine/fb/fb7fc0753356dbc462cfe377a76bd06cf4311e4c.svn-base b/.svn/pristine/fb/fb7fc0753356dbc462cfe377a76bd06cf4311e4c.svn-base new file mode 100644 index 0000000..15480b8 --- /dev/null +++ b/.svn/pristine/fb/fb7fc0753356dbc462cfe377a76bd06cf4311e4c.svn-base @@ -0,0 +1,9 @@ +Public Class frmMain + + + Private Sub TSBtnVertragsuebersicht_Click(sender As System.Object, e As System.EventArgs) Handles TSBtnVertragsuebersicht.Click + Dim f As New Themenübersicht + f.MdiParent = Me + f.Show() + End Sub +End Class \ No newline at end of file diff --git a/.svn/pristine/fb/fbd29ae1cf790e36b31f86c4ded34f04f8f9d64c.svn-base b/.svn/pristine/fb/fbd29ae1cf790e36b31f86c4ded34f04f8f9d64c.svn-base new file mode 100644 index 0000000..8ce6698 --- /dev/null +++ b/.svn/pristine/fb/fbd29ae1cf790e36b31f86c4ded34f04f8f9d64c.svn-base @@ -0,0 +1,29712 @@ + + + + C1.Win.C1TrueDBGrid.4 + + + + + Represents a ListBox with checkable items and advanced auto-search. + + + + + Internal delegate and parameters for C1ItemCheck event. + + + + + + + Represents a filter that contains a and a + . + + + + + Interface implemented by column filter objects. + + + + + Resets the filter making it inactive. + + + + + Applies the filter to a value. + + Value to be filtered. + True if the satisfies the filter; + False otherwise. + + + + Gets the editor used to modify the filter at run time. + + A to be used to modify the filter at + run time. + The control returned must implement the + interface. + + + + Gets a value that determines whether the filter is active. + + + + + Resets the filter making it inactive. + + + + + Applies the filter to a value. + + Value to be filtered. + True if the satisfies the filter; False otherwise. + + + + Gets the editor used to modify the filter at run time. + + A that is used to edit the filter + at run time. + + + + Gets the contained in this . + + + + + Gets the contained in this . + + + + + Gets or sets a value that determines whether the filter is active. + + + + + Represents a control used to edit a object. + + + + + Interface implemented by column filter editor controls. + + + + + Initializes the editor with parameters from a filter to be edited. + + that contains the column to be filtered. + Index of the column that contains the values to be filtered. + being edited. + + + + Applies changes to the filter being edited. + + + + + Gets a value that determines whether the containing form should remain + open even when it is deactivated. + + + This property allows custom editors to display modal dialogs. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Represents a filter based on one or two logical conditions. + + + + + Initializes a new instance of a . + + + + + Creates a clone of this . + + A clone of this . + + + + Resets the filter making it inactive. + + + + + Applies the filter to a value. + + Value to be filtered. + True if the satisfies the filter; + False otherwise. + + + + Gets the editor used to modify the filter at run time. + + A that is used to modify the filter at run time. + + + + Gets the first filter condition. + + + + + Gets the second filter condition. + + + + + Gets or sets whether the filter conditions should be combined + with an 'And' or with an 'Or' operator. + + + + + Gets or sets a value that determines whether the filter is active. + + + + + Represents operators used in filter conditions. + + + + + Disables the operator. + + + + + Return true if the value equals the operator parameter. + + + + + Return true if the value does not equal the operator parameter. + + + + + Return true if the value is greater than the operator parameter. + + + + + Return true if the value is less than the operator parameter. + + + + + Return true if the value is greater than or equal to the operator parameter. + + + + + Return true if the value is less than or equal to the operator parameter. + + + + + Return true if the string representation of the value contains the operator parameter. + + + + + Return true if the string representation of the value does not contain the operator parameter. + + + + + Return true if the string representation of the value begins with the operator parameter. + + + + + Return true if the string representation of the value ends with the operator parameter. + + + + + Represents a condition within a . + + + Each contains up to two conditions that + can be combined with 'And' or 'Or' operators. + + + + + Clears this condition by setting the to 'None' + and the to null. + + + + + Applies the condition to a given value. + + Value to test. + True if the value satisfies the condition, false otherwise. + + + + Gets a value that indicates whether the condition is active. + + + + + Gets or sets the operator used by this condition. + + + + + Gets or sets the parameter used by this condition. + + + + + Represents a control used to edit a . + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Represents a form that contains filter editor controls. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Specifies the type of filter to be used for a . + + + + + Filter column using a . + + + + + Filter column by values using a . + + + + + Filter column by conditions using a . + + + + + Filter column using a filter specified by the caller. + + + + + Do not provide a filter for this column. + + + + + GridFilterHandler + Handles cell/range selection for the FlexGridBase class + + + + + Represents a filter based on a set of values. + + + + + Resets the filter making it inactive. + + + + + Applies the filter to a value. + + Value to be filtered. + True if the satisfies the filter; False otherwise. + + + + Gets the editor used to modify the filter at run time. + + A that is used to edit the filter at run time. + + + + Gets or sets an array with the values that should be included in the output. + + + Setting this property to null causes the filter to include all values in the output. + + + + + Gets or sets a value that determines whether the filter is active. + + + + + Represents a control used to edit a . + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Represents a collection of unique values of type T. + + + + + Initializes a new instance of a . + + + + + Initializes a new instance of a . + + The comparer to use when comparing keys. + + + + Adds a value to the collection if not already present. + + Value to add to the collection. + + + + Determines whether the collection contains a specific value. + + Value to look for. + True if the collection contains the value. + + + + Removes all objects from the collection. + + + + + Sorts the elements in the collection. + + + This method assumes the elements support the interface. + + + + + Creates a from this collection. + + A that contains the objects in this collection. + + + + Gets an that iterates though the collection. + + An that iterates though the collection. + + + + Gets an that iterates though the collection. + + An that iterates though the collection. + + + + Compare two elements (for use in sorting; nulls appear last) + + + + + Gets the number of objects in the collection. + + + + + Summary description for MaskedTextBox. + + + + + Returns true if the current control content is valid + + + + + Returns the character nearest the given point. + + + X,Y coordinate in client space + + + + + Content property: + Gets the non-literal characters in the control. + + + + + PlaceHolder property: + Gets or sets the characters used to show spaces where user is supposed to type. + + + + + CurrentLine property: + Gets the number of the line where the cursor is. + + + + + LineCount property: + Gets the number of lines in the control. + + + + + Summary description for WinUser. + + CAUTION: Use this attribute with extreme care. Incorrect use can create security weaknesses. + This attribute can be applied to methods that want to call into native code without incurring + the performance loss of a run-time security check in doing so. The assertion and subsequent + demands performed when calling unmanaged code is omitted at run time, resulting in substantial + performance savings. Only code that has been granted the UnmanagedCode permission can do this + (see SecurityPermissionFlag). Using this attribute in a class or module applies to + all contained methods. + + + + Summary description for BaseGridFrame. + + + + + + + + + + + Ctor for the split container class. + + + + + Called when the class is being disposed. + + + True to cleanup. + + + + + Raised when the Binding Context changes. + + + + + + ISupportInitialize interface. + + + + + ISupportInitialize interface. + + + + + Called after the control has been added to another container. + + + + + Inherited from Control. + + + + + + Initializes root and named styles. + + + + + Inherited from Control. + + + + + + Inherited from Control. + + + + + + Inherited from Control. + + + + + + Inherited from Control. + + + + + + Inherited from Control. + + + + + + Inherited from Control. + + + + + + Inherited from Control. + + + + + + Inherited from Control. + + + + + + Inherited from Control. + + + + + + Inherited from Control. + + + + + + Inherited from Control. + + + + + + + Inherited from Control. + + + + + + + Inherited from Control. + + + + + + Inherited from Control. + + + + + + Inherited from Control. + + + + + + Inherited from Control. + + + + + + Inherited from Control. + + + + + + Processes Windows messages. + + + + + + Helper method for serializing images. + + + + + Recomputes the sizes of the splits based on the client size of the control. + + + + + Inherited from Control. + + + + + + Inherited from Control. + + + + + + Inherited from Control. + + + + + + Inherited from Control. + + + + + + Inherited from Control. + + + + + + Inherited from Control. + + + + + + Inherited from Control. + + + + + + Inherited from Control. + + + + + + painting + + + + + + Inherited from Control. + + + + + + Style listeners + + + + + + + Creates the view. + + + + + + Creates the view. + + The other. + + + + + Called when the datasource changes. + + The new datasource. + The new datamember. + True to force a new binding. + + + + + + + + + + + + + + + + + + + notifications from the datasource + + + + + Handle the Disposed event from the data source - typically used at design time + so the we know that the data source has been removed from the design surface + + + + + Handle the Item Changed Event on the CurrencyManager + + + + + + Handle the Position Changed Event on the CurrencyManager + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Provides ambient behavior for the VisualStyle property. + + + + + Resets to the default value. + + + + + Tests whether should be serialized. + + True if should be serialized, false otherwise. + + + + Raises the event. + + The instance containing the event data. + + + + Raised after the datasource has been updated for a column. + + + + + + Raised after a row has been deleted. + + + + + + Raised after a row has been inserted. + + + + + + Raised after a row has been updated. + + + + + + Raised before a column has been updated. + + + + + + Raised before a row is deleted. + + + + + + Raised before a row is inserted. + + + + + + Raised before a row is updated. + + + + + + Raised when a column has been resized. + + + + + + Raised when a column header has been clicked. + + + + + + Raised when a column footer has been clicked. + + + + + + Raised when a cell has to be rendered. + + + + + + Raised when a cell has to be printed. + + + + + + Raised when Page header needs to be printed. + + + + + + Raised when a Page footer needs to be printed. + + + + + + Raised before a row or column currency is changed. + + + + + + Raised after a row or column currency has been changed. + + + + + + Raised before a row is resized. + + + + + + Raised when the grid scrolls. + + + + + + Raised when a selection has changed. + + + + + + Raised when split currency has changed. + + + + + + Raised when a split has been removed. + + + + + + Raised when the grids cell content has been modified. + + + + + + Raised to fetch data for an unbound column. + + + + + + Raised when an unbound column has been updated. + + + + + + Raised after a column has been edited. + + + + + + Raised before a column edit. + + + + + + Raised when a column has been edited. + + + + + + Raised when the top row has changed. + + + + + + Raised when the left column has changed. + + + + + + Raised when a cell value needs custom formatting. + + + + + + Raised when a button in a cell has been clicked. + + + + + + Raised when a value in the combobox has been selected. + + + + + + Raised when a value item is selected that's not in the ValueItems collection. + + + + + + Raised when a custom style is to be used for rendering a cell. + + + + + + Raised when a custom style is to be used for renderind a grouped cell. + + + + + + Raised when a custom style is to be used for a row. + + + + + + Raised when a new row is added. + + + + + + Raised when a column is dragged. + + + + + + Raised when a cell tip is to be displayed. + + + + + + Raised when the grid is initialized. + + + + + + Raised when the datasource is changed. + + + + + + Raised when a band is collasped in a hierarchical grid. + + + + + + Raised when a band is expanded in a hierarchical grid. + + + + + + Raised when a grouped column is moved. + + + + + + Raised when a column header in the grouping area is clicked. + + + + + + Raised when scroll tips are to be displayed. + + + + + + Raised when a filter condition has changed. + + + + + + Raised when a button in the filter bar is clicked. + + + + + + Raised before a child grid is displayed. + + + + + + Rasied before a child grid is closed. + + + + + + Raised when the datasource is sorted by clicking the column header. + + + + + + Raised when AllowFilter is false. + + + + + + Raised after the datasource has been filtered. + + + + + + Raised after the datasource has been sorted. + + + + + + Raised when the grid encounters an error through the UI. + + + + + + Raised when custom values are to be used for the group text. + + + + + + Raised when custom aggregates are used for a grouped grid. + + + + + + Raised when custom group intervals are used for a grouped grid. + + + + + + Binds the grid at runtime + + Source of the data + The table to bind to within the object returned by the DataSource property + True to preserve design time layout + + + + Binds the grid at runtime + + Source of the data + The table to bind to within the object returned by the DataSource property + The call to SetDataBinding(object dataSource, string dataMember) assumes false for the holdFields arguments. + + + + Configures the grid for use without a datasource. + + + + + Adds a row to an unbound grid. + + The data used to populate the new row. Column data is delimited by ';' char. + The index of the row that was added. + + + + Adds a row to an unbound grid. + + The data used to populate the new row. + Character used to separate the data fields. + The index of the row that was added. + + + + Adds the number of given rows to an unbound grid. + + The number of rows to add. + The index of the first row that was added. + + + + Deletes the given row from an unbound grid. + + The index of the row to remove. + + + + Deletes a range of rows from an unbound grid. + + The starting index of the row to remove. + The number of rows to remove. + + + + Creates a new System.Data.DataRow with the same schema as the unbound grid. + + + + + + Gets the default size of the control. + + + + The default of the control. + + + + + Allows us to set the borderstyle. + + + + + Gets the current position from the currency manager. + + + + + Gets or sets the border for the control. + + + + + Gets or sets a value indicating whether the InactiveStyle is applied to the grid when it loses focus. + + + + + Gets or sets a value indicating the ability of the grid to automatically sort data when a column header is clicked. + + + If True, and if the property is set to GroupBy, the grid will automatically filter column data upon grouping action. + If False, the grid will fire the event. + If the property is set to Group By and the user attempts to drag a column header into the grouping area, the grid will automatically sort the column data. + If False, the event allows the application to sort the data. + + + + + Gets or sets a value indicating the ability of the grid to automatically filter data. + + + If True, and if the Filter Bar is active, the grid will automatically filter data. + If False, the grid will fire the event. + If the property is true and the user attempts to filter column data, the grid will automatically filter the column data according to the value in the Filter Bar. + If False, the event allows the application to filter the data. + + + + + Gets or sets the grid's caption. + + + For a control, this property determines the text displayed in the caption bar at the top of the grid. + Setting the Caption property to an empty string for a control hides its caption bar. + For a object, this property determines the text displayed in the object's heading area. + Setting the Caption property to an empty string for a object clears the text in the column's heading area but does not hide the heading. Column captions are only displayed if the grid's property is set to True. + Setting the Caption property to an empty string for a object hides the heading area, even if other splits have non-empty captions. + + + + + Gets or sets the height of the grid's caption. + + This property requires that the property of the grid has a value. + + + + Gets or sets the height of grid rows. + + + + + Gets or sets the specific data member in a multimember data source that the grid binds to. + + + This property returns or sets the name of the data member used to populate the grid. Typically, a data member represents a database table or query. + A bound can expose multiple sets of data that consumers can bind to. Each set of data is called a data member, and is identified by a unique string. + + + + + Gets or sets the source containing a list of values used to populate the items within the control. + + The DataSource property specifies the list of values used to bind a or control. + + + + Gets or sets a value indicating whether the control should use an off-screen buffer when painting to redue flicker. + + + Setting this value to False may cause the grid to flicker when the control is painting. + You may want to set DoubleBuffer to False to increase performance when deploying applications that run on terminal servers. + + + + + Gets or sets the general appearance of 3D elements for the entire grid. + + + + + Gets the DataRowCollection for an unbound grid. + + + + + Gets or sets a value that controls how the grid scrolls when the scroll thumb is moved. + + + + + + + + + + + + + + + + + The size of the split divider. + + + + Gets the number of rows in an unbound grid. + + + + + Gets or sets a value indicating whether Style information is applied from the datasource. + + + + + Occurs when visual style property has been changed. + + + + + Gets or sets a value that determines the overall appearance of the control. + + + This property allows you to quickly customize the appearance of the grid so + it matches the appearance of your application. + The settings available include System, various Microsoft Office color + schemes, and Custom, which relies on the controls standard styles and appearance + properties. + + + + + Gets or sets the renderer used to render visual styles. + + The renderer. + + + + Base class for splits. + + + + + + + + + + moving sizing info + + + + + editor + + + + + + creates a View from another view + + + + + + Releases the resources used by the view. + + + + + Releases the resources used by the view. + + + + + + Returns the string that represents the current object. + + + + + + Returns the style associated with a given cell. + + Row to fetch the style for. + Column to fetch the style for. + The text of the cell. + + + + + Returns a value indicating whether a line should be rendered for a given row and column. + + The row index. + The column index. + + + + + scrollbar helpers + + + + + Raised when the scrollbar visibility changes. + + The scrollbar object. + The new visible state. + + + + + + + + + + + + + + + + + + mouse handlers + + + + + + + + + + + + + + + + + + Scrolls the view either right or left during column move operations. + + + + + + + + + returns true if we displaying the insertion point on the leftside of the rect + + + + + + + + + + + + + autosizes the height of the given row + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + checks to see if the mouse is over a 3d element + + + + + + Style listeners + + + + + + + Called when C1DisplayColumn properties have been changed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + creates a datasource from the valueitems so for the internal combobox. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + potential properties + + + + + + + + + + + Gets or sets the type of border rendered for a split. + + + + + Base class for typeconverter. + + + + + Returns an object from it's string representation. + + + + + + + Returns a string representation from a given object. + + + + + + + Returns true if the source type is string. + + + + + + + + Returns true of the type of string. + + + + + + + + Overloaded. Returns whether this converter can convert an object of one type to the type of this converter. + + + + + + + + + Overloaded. Converts the given value object to the specified type. + + + + + + + + + + Typeconverter for bitmaps. Used for serialization. + + + + + Override. Returns the object given a string. + + + + + + + Override. Returns a string given an object. + + + + + + + Expandable object converter that doesn't handle strings. + + + + + Overloaded. Returns whether this converter can convert an object of one type to the type of this converter. + + + + + + + + Overloaded. Returns whether this converter can convert the object to the specified type. + + + + + + + + GridDataTypeConverter + Uses a drop-down list box to select values of type Type + (e.g. Column.DataType property). + + + + + + + + + + Initializes a new instance of the class. + + + + + Converts from. + + The CTX. + The ci. + The obj. + + + + + Helper class to manage FlatMode = Popup. Where 3D elements, + col headings, buttons, record selectors are drawn flat except when + the mouse is over them. Then they take on a 3D appearance + + + + + Defined the relationship of a column. + + + + + Column is not related. + + + + + Column is the parent. + + + + + Column is the child. + + + + + Represents a column that defines binding information for the datasource. + + + + + Creates a new instance of this object. + + + + + Creates a new instance of this object. + + The column caption. + The data type. + + + + Creates a new instance of this object. + + The column caption. + The field from the data source. + The data type. + + + + + + + + + + Resets ButtonPicture to its default value. + + + + + Resets FilterButtonPicture to its default value. + + + + + Gets the display value for a cell in a given row. + + The row to fetch. + The display value. + + + + Gets the cell value for a given row. + + The row to fetch. + The underlying data from the data source. + + + + Invalidate the current column in all visible rows. + + + + + Invalidates the current cell. + + + + + Invalidates the cell at the given row. + + Row to invalidate. + + + + Repopulate the entire grid from the data source. + + + + + Repopulates the current cell from the data source. + + + + + Repopulates the specified data from the data source. + + The row to refetch. + + + + Gets or sets the level of this column in a hierarchical data source. + + + + + + + + + + + + + + + Gets or sets the type of aggregate computed for a grouped row. + + + + + Gets or sets the image shown in a drop-down button in a column. + + + + + + + + + + Gets or sets the text in the column header. + + + + + Gets or sets a value indicating whether data in this column has been modified. + + + + + Gets or sets the database field name for a column. + + + + + Gets or sets the type of object stored for a column. + + + + + + + + + + Gets or sets the maximum number of characters which may be entered for cells in this column. + + + + + Gets or sets the default value for a column when a new row is added by the grid. + + + + + Gets or sets the edit mask for a column. + + + The property allows an input mask to be specified for automatic input formatting and validation. The mask syntax is similar to the one used by Microsoft Access. Setting the input mask for a column will prevent the user from entering any information in the cell that is not in the format of the string. + The must be a string composed of the following symbols: + Wildcards + + 0Digit. + 9Digit or space. + #Digit or sign. + LLetter. + ?Letter or space. + ALetter or digit. + aLetter, digit or space. + &Any character. + + Localized characters + + .Localized decimal separator. + ,Localized thousand separator. + :Localized time separator. + /Localized date separator. + + Command characters + + \Next character is taken as a literal. + >Translate letters to uppercase. + <Translate letters to lowercase. + + + + + + Gets or sets a value indicating whether literal characters in the edit mask are stored to the underlying data source. + + + + + Gets or sets the editor that is used to edit cell data. + + + + + Gets or sets a value indicating whether a DateTime picker is used to edit this column. + + + + + Gets or sets the image shown as the column's filter button. + + + + + + + + + + Gets or sets the key used to initiate the filtering operation as the user types in the filterbar. + + + + + Gets or sets the text displayed in the column footer. + + + + + Gets or sets the characters that should be ignored when applying the filter criteria to the datasource. + + + + + Gets or sets the operator that is used for a filter expression. + + + + + Gets or sets the data associated with the value of the filter for a column. + + + + + Specifies the text that is rendered in an empty cell in the Filterbar. + + + + + Gets or sets a value indicating whether a drop-down list is displayed in the filter cell that lists all the values of the field. + + + + + Gets or sets the value indicating All when the FilterDropdown property is True. + + The filter dropdown text. + + + + Gets or sets a value indicating whether multiple values can be selected in the filter drop-down list. + + If FilterMultiSelect is true then the user is able to enter several values using comma separator. + + + + Gets or sets a character used to separate values in the filter drop-down list when multiple values are selected. + + + + + Gets or sets the text of Apply button in the filter drop-down list when the FilterMultiSelect property is True. + + + + + Gets or sets the text of Cancel button in the filter drop-down list when the FilterMultiSelect property is True. + + + + + Gets or sets the text of Clear button in the filter drop-down list when the FilterMultiSelect property is True. + + + + + Specifies the ImeMode used to edit this column. + + + + + Gets or sets the formatting string for a column. + + + + + Gets the object for this column. + + + + + Gets or sets the display value for the current cell. + + + + + Gets or sets the value of the current cell. + + + + + Gets or sets a user defined objects associated with this column. + + + + + Gets or sets a user defined object associated with this column. + + + + + Gets or sets the state of the sorting glyph in the column caption bar. + + + + + Gets or sets the associated with this column. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Summary description for GridEditor. + + + + + Represents an object used to render grid elements. + + + + + Creates a new instance of this object. + + + + + Called when the class is being disposed. + + + + + Called when the class is being disposed. + + + True to cleanup. + + + + + + + + + + + Renders the given string using the style properties. + + Graphics object to render too. + Rectangle to render in. + String to render. + + + + Renders the given string using the style properties. + + Graphics object to render too. + Rectangle to render in. + String to render. + The draw flags. + + + + Reset BackColor to its default value. + + + + + Resets ForeColor to its default value. + + + + + Resets Font to its default value. + + + + + Resets HorizontalAlignment to its default value. + + + + + Resets VerticalAlignment to its default value. + + + + + Resets BackgroundPictureDrawMode to its default value. + + + + + Resets the BackgroundImage to its default value. + + + + + Resets ForGroundImagePosition to its default value. + + + + + Resets ForegroundImage to its default value. + + + + + Resets Locked to its default value. + + + + + Resets WrapText to its default value. + + + + + Resets Trimming to its default value. + + + + + Resets all specialized attributes. + + + + + Gets the associated with this Style. + + + + + Gets or sets the background color associated with a Style. + + + + + Gets or sets the background color associated with a Style. + + + + + Gets or sets a value indicating whether gamma correction is enabled when a linear gradient style is rendered. + + true if gamma correction is enabled; otherwise, false. + + + + Gets or sets the direction of a linear gradient. + + The gradient mode. + + + + Gets or sets the alpha component when the style is rendered. + + + + + Gets or sets the foreground color associated with a Style. + + + + + Gets or sets the Font associated with a Style. + + + + + Gets or sets the horizontal text alignment. + + + + + Gets or sets the vertical text alignment. + + + + + Gets or sets the rendering method for a . + + + + + Gets or sets the background image associated with a Style. + + + + + Gets or sets the position that the ForGroupImage is rendered. + + + + + Gets or sets the foreground image associated with a style. + + + + + Gets or sets a value indicating whether data entry is permitted for the assocated object. + + + + + Gets or sets a value indicating whether text is word-wrapped when it does not fit into a layout shape. + + + + + Gets or sets the name of the Style. + + + + + Gets or sets the trim characters for a string that does not completely fit into a layout shape. + + + + + Gets or sets the spacing between cell content and its edges. + + + + + + + + + + + + + + + + + + + + + + + + + Represents the border in a + + + + + Gets or sets the type of border. + + + + + Gets or sets the width of the left border. + + + + + Gets or sets the width of the right border. + + + + + Gets or sets the width of the top border. + + + + + Gets or sets the width of the bottom border. + + + + + Gets or sets the color of the border. + + + + + Summary description for GridEditorLateBind. + + + + + Represents an object that defines how cells are rendered. + + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Gets or sets a value indicating whether both Value and Display Value are rendenered when Display value is an image. + + + + + Gets or sets a value indicating whether users can cycle through by clicking on a cell. + + + + + Gets or sets the index of the default or -1 for no default. + + + + + Gets or sets the maximum number of visible rows in the combobox. + + + + + Gets or sets the method in which cells are rendered. + + + + + Gets or sets a value indicating whether data values are translated using matching . + + + + + Gets or sets a value indicating whether values entered by the user must match on of the objects. + + + + + Gets the collection of Value/Display Value pairs. + + + + + + + + + + Represents a collection of objects. + + + + + Initializes a new instance of the class. + + + + + Adds a to the end of the collection. + + The ValueItem to add. + The index at which the ValueItem has been added. + + + + + + + + + + + Inserts a at the specified index. + + The zero-based index at which the ValueItem should be inserted. + The ValueItem to insert. + + + + Gets the index of the specified . + + The ValueItem to search. + The index of the ValueItem. + + + + Gets or sets the specified from the collection at the specified index. + + + + + Represents an object that defines a value/display value pair. + + + + + Initializes a new instance of the ValueItem class. + + + + + Initializes a new instance of the ValueItem class. + + Underlying data value. + Translated value. + + + + Returns a string that represents the current object. + + + + + + Gets or sets the raw (untranslated) value of this item. + + + + + Gets or sets the display value of this item. + + + + + + + + + + + + + + + Represents the columns in a split. + + + + + Releases the resources used by the component. + + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Releases the resources used by the component. + + + + + + + + + + + Controls the used to change the appearance for cells meeting the specified condition. + + + Combination of one or more enumerations. + + + object that specifies appearance attributes. + + + + + Controls the used to change the appearance of cells according to their contents. + + + Combination of one or more enumerations. + + + object that specifies appearance attributes. + + + A regular expression string. + + + + + Removes a cell condition established with a previous call to the method. + + + Combination of one or more enumerations. + + + + + Removes a cell condition established with a previous call to the method. + + + Combination of one or more enumerations. + + + + + Removes a cell condition established with a previous call to the method. + + + Combination of one or more enumerations. + + + A regular expression string. + + + + + Adjusts the width of a column to accommodate the longest visible field within that column. + + + + + Gets or sets a value indicating whether the dropdown opens automatically when a key is typed. + + + + + Gets or sets a value indicating whether the dropdown auto fills the edit portion with the matched entry. + + + + + Gets the vertical offset of the top of the cell for the current row. + + + + + Gets or sets a value indicating whether the dropdown acts like a dropdown list (text portion is not editable). + + + + + Gets or sets the that controls the appearance of the column headers. + + + + + Gets or sets the root for this column. + + + + + Gets or sets the object that controls the appearance of column footers. + + + + + Gets or sets the used for the cell editor. + + + + + Gets or sets the used to render the cell in the grouped header row. + + + + + Gets or sets the used to render the cell in the grouped footer row. + + + + + Gets or sets a value indicating the visibility of a column. + + + + + Gets or sets the style of the border drawn between columns. + + + + + Gets or sets the width of a column. + + + + + Gets or sets the height of the column. + + + + + Gets or sets a value indicating the ability of a column to receive focus. + + + + + Gets or sets a value indicating whether editing is permitted in a column. + + + + + Gets or sets a value indicating whether contiguous like-value cells of this column are merged into one large cell. + + + + + Gets or sets a value indicating whether this is frozen. + + true if frozen; otherwise, false. + + + + + + + + + Gets or sets a value indicating whether column resizing is allowed. + + + + + Gets or sets a value indicating whether cells in this column look like buttons. + + + + + Gets or sets a value indicating whether buttons will be displayed when the cell does not contain focus. + + + + + Gets or sets a value indicating whether a dropdown button will be displayed in this column. + + + + + Gets or sets a value indicating whether a dropdown button will be displayed in this column. + + + + + Gets or sets the minimum width a column can be resized to when in . + + + + + Gets or sets a value indicating whether to display the column divider in the header area. + + + + + Gets or sets a value indicating whether to display the column divider in the footer area. + + + + + Gets or sets a value indicating whether the FetchCellStyle event will be raised for a column. + + + + + Gets or sets a value indicating whether a column header will act like a button. + + + + + Gets or sets a value indicating whether a column footer will act like a button. + + + + + Gets or sets a value indicating whether cells in this column are drawn by the user in the OwnerDrawCell event. + + + + + Gets the associted associated with this object. + + + + + + + + + + Gets the caption of the associated objects. + + + + + Enumerates the type of changes made to a display column for event listeners + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + TypeConverter for the GridLines object. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Froms the STR. + + The STR. + + + + + + + + + + + + + Represents the line used for row and column dividers. + + + + + Creates a new instance of this object. + + + + + Gets or sets the color of lines used for row and column dividers. + + + + + Gets or sets the style of lines used for row and column dividers. + + + + + + + + + + Initializes a new instance of the class. + + + + + Gets or sets the width. + + The width. + + + + Gets or sets the border3D style. + + The border3D style. + + + + Class to manage all the views + + TODO: mechanism for persistence + + + + + Sets the column index to the first visible column. + + + + + Sets the column index to the first visible column. + + + + + Inserts a new horizontal view + + + index of new view position + + + + computes the size of all views based upong width and height of views + + Area in which all the views live + + TODO: add fixed view sizes, we now assume everything is scalable + TODO: add different types of view divider widths + + + + Adjust the views width and heights + + Old frames client area + New frames client area + + TODO: fixed horizontal views need to be accounted for + TODO: account for different view sizing borders + + + + Returns the view that is in the scroll group that has the smallest + number of visible lines + + + + + + + Represents a collection of ViewRow objects. + + + + + Gets or sets the at the specified index. + + + + + Represents a row in a split. + + + + + Adjust the size of the row to fully display cell data. + + + + + Gets or sets the visiblity of a row. + + + + + Gets the type of row. + + + + + Gets or sets the height of a row. + + + + + Gets or sets the width of a row. + + + + + C1TrueDBGrid control object. + + + + + The C1TrueDBGrid control. + + + + + Called when the class is being disposed. + + + True to cleanup. + + + + + Creates a new accessibility object for the control. + + A new for the control. + + + + Creates the view. + + + + + + Creates the view. + + The other view. + + + + + + + + + + + + + + + + notifications + + + + + + + + + + + + + + + + + + Processes Windows messages. + + + + + + + + + + + Shoulds the width of the record selector be serialized. + + + + + + Should the row divider be serialized. + + + + + + + + + + + + Adds a row to an unbound grid. + + The data used to populate the new row. Column data is delimited by ';' char. + The index of the row that was added. + + + + Adds a row to an unbound grid. + + The data used to populate the new row. + Character used to separate the data fields. + The index of the row that was added. + + + + Adds the number of given rows to an unbound grid. + + The number of rows to add. + The index of the first row that was added. + + + + Instructs the grid to temporarily ignore IBindingList.ListChange notifications from the data source. + + + + + Resumes IBindingList.ListChange notifications from the data source to the grid. + + + + + Controls the used to change the appearance for cells meeting the specified condition. + + + Combination of one or more enumerations. + + + object that specifies appearance attributes. + + + + + Controls the used to change the appearance of cells according to their contents. + + + Combination of one or more enumerations. + + + object that specifies appearance attributes. + + + A regular expression string. + + + + + Returns the row index of the DataSource for a display row index. + + + The row index of the grid. + + + The underlying row index of the DataSource. + + + + + Removes a cell condition established with a previous call to the method. + + + Combination of one or more enumerations. + + + + + Removes a cell condition established with a previous call to the method. + + + Combination of one or more enumerations. + + + + + Removes a cell condition established with a previous call to the method. + + + Combination of one or more enumerations. + + + A regular expression string. + + + + + Restores the default grid layout. + + + + + Returns the column index for the column containing the specified X coordinate. + + + The horizontal coordinate (X value) in pixels. + + + The index of the column in the collection beneath the specified X coordinate. + + + + + Returns the zero-based index of the display row containing the Y specified coordinate. + + + The vertical coordinate (Y value) in pixels. + + + The display row index beneath the specified Y coordinate. + + + + + Returns the Y coordinate of the top of a visible row. + + + The displayed row index. + + + The Y coordinate of the specified display row, based on the client coordinates of the grid. + + + + + Scrolls the grid data area by the specified number of rows and columns. + + + Number of columns to scroll. + + + Number of rows to scroll. + + + + + + + + + + Returns one of the enumerations, which indicates the kind of grid element beneath the specified coordinate. + + + The Point in client coordinates. + + + The enumerations under the given coordinate. + + + + + Returns one of the constants, which indicates the kind of grid element beneath the specified coordinate. + + + The x-coordinate. + + + The y-coordinate. + + + The enumerations under the given coordinate. + + + + + Reinitializes grid with data from its data source. + + + True to preserves current column layout. False retrieves the schema from the datasource. + + + + + + + + + + Returns the of the split containing the specified coordinate. + + + The x-coordinate. + + + The y-coordinate. + + + The beneath the specified coordinate pair. + + + + + Updates any changes on the current row to the data source. + + + + + Moves the current row positions of the grid by the given offset. + + + The number of records to move. A positive value indicates forward movement; a negative value indicates backward movement. + + + + + Moves the current row positions of the grid by the given offset from the given row. + + + The number of records to move. A positive value indicates forward movement; a negative value indicates backward movement. + + + The origin of the relative movement. + + + + + Positions to the last row of the datasource. + + + + + Positions to the first row of the datasource. + + + + + Positions to the next row of the datasource. + + + + + Positions to the previous row of the datasource. + + + + + Deletes the current row. + + + + + Loads a saved layout from the given file. + + + The file containing a saved layout. + + + + + Loads a saved layout from the given stream. + + + The Stream containing a saved layout. + + + + + Saves the grid's layout. + + + File to contain the grid layout. + + + + + Saves the grid's layout. + + + The Stream to contain the grid layout. + + + + + Saves the grid's layout. + + + File to contain the grid layout. + + + Specifies whether default values are serialized. + + + + + Saves the grid's layout. + + + The Stream to contain the grid layout. + + + Specifies whether default values are serialized. + + + + + Returns the cell position for a set of coordinates. + + + The x-coordinate. + + + The y-coordinate. + + + The row under the coordinate pair. + + + The column index under the coordinate pair. + + + A value indicating whether a data cell is beneath the specified coordinate pair. + + + The CellContaining method combines the and methods into one call. If the coordinate pair specified by x and y points to a data cell, this method returns True, and the rowindex and colindex arguments receive zero-based indexes that identify the cell. + This method is useful when working with mouse and drag events when trying to determine where the user clicked or dropped another control in terms of a grid cell. + If the specified coordinate is outside of the grid's data area, this method returns False. Use the method to determine what kind of grid element, if any, is beneath the specified coordinate. + + + + + Invalidates the current row. + + + The RefreshRow method causes a repaint of the entire row in the grid. Normally, the grid repaints automatically as needed. However, if handlers have been written for the event, use this method to force a row to be repainted and hence cause the appropriate events to fire. + + + + + Invalidates the current row. + + + The row to refresh. + + + The RefreshRow method causes a repaint of the entire row in the grid. Normally, the grid repaints automatically as needed. However, if handlers have been written for the event, use this method to force a row to be repainted and hence cause the appropriate events to fire. + + + + + Invalidates the current column. + + + The RefreshCol method causes a repaint of the entire column in the grid. Normally, the grid repaints automatically as needed. However, if handlers have been written for the event, use this method to force a column to be repainted and hence cause the appropriate events to fire. + + + + + Invalidates the specified column. + + + The split column index to repaint. + + + The RefreshCol method causes a repaint of the entire column in the grid. Normally, the grid repaints automatically as needed. However, if handlers have been written for the event, use this method to force a column to be repainted and hence cause the appropriate events to fire. + + + + + Retreives data from the datasource for the current row and refreshes the row. + + + The RefetchRow method repopulates the specified row from a data source. It also repaints the row, firing all events necessary for redisplay. + By default, the grid retrieves data automatically as needed. In some circumstances, the underlying datasource may change without the grid receiving notification that a change has occurred. The RefetchRow method is provided for this purpose. + + + + + Retreives data from the datasource for the specified row and refreshes the row. + + + The row to refetch. + + + The RefetchRow method repopulates the specified row from a data source. It also repaints the row, firing all events necessary for redisplay. + By default, the grid retrieves data automatically as needed. In some circumstances, the underlying datasource may change without the grid receiving notification that a change has occurred. The RefetchRow method is provided for this purpose. + + + + + Expands the given row in GroupBy DataView. + + + The row to expand. + + + Expanding/collapsing a row in a GroupBy grid also expands/collapses the row in a split that shares the same vertical scroll group. + + + + + + Expands the given row in GroupBy DataView and optionally exapands the subrows. + + The row to expand. + True to expand subrows. + + + + Collapses a grouped row. + + + + + Obtains the band given a column index. + + + + + Obtains the underlying row object for the given band and row. + + + + + Obtains the expanded state of a band for a hierarchical grid. + + + + + Collapses a gvien band in a hierarchical grid. + + + + + Expand the given band in a hierarchical grid. + + + + + Closes the Child Grid. + + + + + Displays the Child grid. + + + + + Exports the grid to an HTML file. + + + + + Exports the grid to a PDF file. + + + + + Exports the grid to an RTF file. + + + + + Exports the grid to a XLS file. + + + + + Exports the grid to a XLS file. + + + + + Opens a dialog in which the user can select the export format. + + + + + Exports the grid based upon the file extension. + + + + + Exports the specified rows from the grid to the specified file as delimited text. + + + + + Exports the specified rows from the grid to the specified file as delimited text. + + + + + Exports the specified rows from the grid to the specified file as delimited text. + + + + + Exports the specified rows from the grid to the specified file as delimited text. + + + + + Exports the specified rows from the grid to the specified file as delimited text. + + + + + Exports the specified rows from the grid to the specified file as delimited text. + + + + + Inserts vertical splits at the given position. + + + + + Removes all vertical splits at the given index. + + + + + + + + + + Inserts new horizontal splits at the given position. + + + + + Removes all the horizontal splits at the given index. + + + + + Clears any cached styles and forces the grid to repaint. + + + + + Sets the focus to the given cell. + + The zero based index of the row. + The zero based index of the column. + + + + Extends the last column in each subrow so that all rows have the same width. + + + + + Raises the AfterColUpdate event. + + + + + + Raises the AfterDelete event. + + + + + + Raises the AfterInsert event. + + + + + + Raises the AfterUpdate event. + + + + + + Raises the BeforeColUpdate event. + + + + + + Raises the BeforeDelete event. + + + + + + Raises the BeforeInsert event. + + + + + + Raises the BeforeUpdate event. + + + + + + Raises the ColResize event. + + + + + + Raises the HeadClick event. + + + + + + Raises the FootClick event. + + + + + + Raises the OwnerDrawCell event. + + + + + + Raises the OwnerDrawCellPrint event. + + + + + + Raises the OwnerDrawPageHeader event. + + + + + + Raises the OwnerDrawPageFooter event. + + + + + + Raises the BeforeRowColChange event. + + + + + + Raises the RowColChange event. + + + + + + Raises the RowResize event. + + + + + + Raises the Scroll event. + + + + + + Raises the SelChange event. + + + + + + + + + + + Raises the SplitChange event. + + + + + + Raises tje SplitRemoved event. + + + + + + Raises the Change event. + + + + + + Raises the UnboundColumnFetch event. + + + + + + Raises the UnboundColumnUpdated event. + + + + + + Raises the AfterColEdit event. + + + + + + Raises the BeforeColEdit event. + + + + + + Raises the ColEdit event. + + + + + + Raises the FirstRowChange event. + + + + + + Raises the LeftColChange event. + + + + + + Raises the FromatText event. + + + + + + Raises the ButtonClick event. + + + + + + Raises the ComboSelect event. + + + + + + Raises the ValueItemError event. + + + + + + Raises the FetchCellStyle event. + + + + + + Raises the FetchGroupCellStyle event. + + + + + + Raises the FetchRowStyle event. + + + + + + Raises the OnAddNew event. + + + + + + Raises the ColMove event. + + + + + + Raises the FetchCellTips event. + + + + + + Raises the OnInit event. + + + + + + Raises the DataSourceChanged event. + + + + + + Raises the Collapse event. + + + + + + Raises the Expand event. + + + + + + Raises the GroupColMove event. + + + + + + Raises the GroupText event. + + + + + + Raises the GroupAggregate event. + + + + + + Raises the GroupHeadClick event. + + + + + + Raises the GroupInterval event. + + + + + + Raises the FetchScrollTips event. + + + + + + Raises the FilterChange event. + + + + + + Raises the FilterButtonClick event. + + + + + + Raises the BeforeOpen event. + + + + + + Raises the BeforeClose event. + + + + + + Raises the Sort event. + + + + + + Raises the Filter event. + + + + + + Raises the AfterFilter event. + + + + + + Raises the AfterSort event. + + + + + + Raises the Error event + + + + + + + + + + + + Gets the row object associated with the given row. + + + + + Gets or sets the cell value at the given row and column. + + + + + Gets or sets the cell value at the given row and column. + + + + + Gets a value that describes the current AddNew state. + + + + + Gets or sets a value indicating the ability to delete records from the grid. + + + + + Gets or sets a value indicating the ability to add new rows. + + + + + Gets or sets a value indicating whether arrow keys can be used to navigate around the grid. + + + + + Gets or sets a value indicating the ability to move columns in the grid. + + + + + Gets or sets a value indicating the ability to select columns in the grid. + + + + + Gets or sets a value indicating the ability to drag from the grid. + + + + + Gets or sets a value indicating the ability to select rows in the grid. + + + + + Gets or sets a value indicating the ability of a user to modify data. + + + + + Gets or sets a value indicating how the grid updates modifed data when the grid loses focus. + + + + + Gets the number of levels within a hierarchical grid. + + + + + Gets or sets the current row position of the underlying CurrencyManager. + + + + + Gets or sets whether the grid displays a pop-up text window when the cursor is idle. + + + + + Gets or sets the amount of time in milliseconds before the cell tip window is displayed. + + + + + Gets or sets the width of the cell tip window. + + + + The CellTipsWidth property returns or sets the width of the cell tip window in pixels. + + + By default, this property is set to zero, which causes the cell tip window to grow or shrink to accommodate the cell tip text. Override this behavior and give the cell tip window a fixed width by specifying a non-zero value for this property. + + + + + + Gets or sets the column position of the current cell in the current split. + + + + + Gets or sets the color of the collapse icon. + + + + + Gets a reference to the cell editor that is currently active. + + + + + Gets the Split that has focus. + + + + + Gets or sets the default width for all grid columns. + + + + + Gets or sets the color of the expand icon in hierarchical grids. + + + + + Gets or sets a value indicating the visibility of column headers. + + + + + Gets or sets a value indicating the visibility of column footers. + + + + + Gets the collection of C1DataColumn objects. + + + + + Gets or sets a value indicating the visibility of the current cell in a split. + + + + + Gets or sets a value indicating the modification status of the current row. + + + + + Gets the split index which will be current after cell movement. + + + + + Gets the row which will be current after cell movement. + + + + + Gets the column which will be current after cell movement. + + + + + Gets or sets a value indicating the editing status of the current cell. + + + + + Gets or sets a value indicating whether editing will take place in a popup window or within cell boundaries. + + + + + Gets or sets a value that determines how the grid displays rows below the last data row. + + + + + Gets or sets the image used for ErrorProvider. + + + + + Gets or sets a value that determines how the last column will extend to fill the dead area of the grid. + + + + + Gets or sets how the rightmost column reacts when clicked by the user. + + + + + Gets or sets a value indicating whether the event will be raised. + + + + + Gets or sets a value indicating whether the filter bar has focus. + + + + + Gets or sets a value indicating the visibility of the FilterBar. + + + + + Gets or sets the row index for the first visible row in a grid or split. + + + + + Gets or sets the zero-based index of the leftmost column in a grid or split. + + + + + Gets or sets the MarqueeStyle for a grid. + + + + + Gets or sets the time (milliseconds) in which the incremental search string will reset for a dropdown when the property is True. + + + + + Gets or sets the selection state of the grid. + + + + + Gets or sets the Image used in the record selector to indicate the Current row. + + + + + Gets or sets the Image used in the record selector to indicate the Modified row. + + + + + Gets or sets the Image used in the record selector to indicate the AddNew row. + + + + + Gets or sets the Image used in the record selector to indicate the FilterBar row. + + + + + Gets or sets the Image used in the record selector to indicate the Standard row. + + + + + Gets or sets the Image used in the record selector to indicate the Header row. + + + + + Gets or sets the Image used in the record selector to indicate the Footer row. + + + + + Gets the object. + + + + + Gets the object. + + + + + Gets or sets a value indicating the visibility of row headers for a grid or split. + + + + + Gets or sets the width of the row headers. + + + + + Gets or sets the the current row. + + + + + Gets or sets a value that determines whether the grid displays a pop-up text window when the scrollbar thumb is dragged. + + + + + Gets the collection of rows that are currently selected. + + + + + Gets the collection of columns that are currently selected. + + + + + Gets or sets the number of characters selected within the grid's editing window. + + + + + Gets or sets the starting point of the text selection within the grid's editing window. + + + + + Gets or sets the string containing the currently selected text within the grid's editing window. + + + + + Gets a value indicating whether a range of cells has been selected. + + + + + Gets or sets the index of the current within the . + + + + + Gets or sets a value that determines how columns will resize when the grid is resized. + + + + + Gets or sets a value indicating the behavior of the tab and arrow keys at split borders. + + + + + Gets or sets the behavior of the tab key. + + + + + Gets the number of visible columns in the current Split. + + + + + Gets the number of visible rows in the current Split. + + + + + Gets or sets a value indicating the behavior of Tab and arrow keys at row boundaries. + + + + + Gets the object that controls the appearance of the vertical scrollbar. + + + + + Gets the object that controls the appearance of the horizontal scrollbar. + + + + + Gets or sets the layout by which the grid will display data. + + + + + Gets or sets a value that determines the relative position of the next cell when the user presses the Enter key. + + + + + Gets or sets the text displayed in the grouping area when no columns have been grouped. + + + + + Gets the collection of columns that are grouped. + + + + + Gets or sets a value indicating the visibility of the Grouping area of the grid when the property is set to GroupBy. + + + + + Gets the rectangle occupied by the grouping area. + + + + + + + + + + Gets or sets the number of subrows of the grid when the property is set to MutlipleLinesFixed. + + + + + Gets or sets a value indicating the behavior of the grid and row currency when the grid's datasource is sorted. + + + + + Gets or sets the style of the border drawn between grid rows. + + + + + Gets or sets the color of the subrow divider in a multi-line grid. + + + + + Gets or sets the C1TrueDBGrid control used as a child grid in a hierarchical presentation. + + + + + Gets or sets the object that controls the appearance of the caption area. + + + + + Gets or sets the object that controls the appearance of the cell editor within a grid. + + + + + Gets or sets the object that controls the appearance of an even-numbered row when using . + + + + + Gets or sets the object that controls the appearance of the . + + + + + Gets or sets the object that controls the appearance of the . + + + + + Gets or sets the object that controls the appearance of column footers. + + + + + Gets or sets the object that controls the appearance of grouping area. + + + + + Gets or sets the object that controls the appearance of the grids column headers. + + + + + Gets or sets the object that controls the current row/cell when the is set to Highlight Row/Cell. + + + + + Gets or sets the object that controls the grids caption when it doesn't have focus. + + + + + Gets or sets the object that controls the appearance of an odd-numbered row when using . + + + + + Gets or sets the object that controls the appearance of the . + + + + + Gets or sets the object that controls the appearance of selected rows and columns. + + + + + Gets or sets the root object. + + + + + Gets the collection of named objects. + + + + + Gets or sets a value indicating whether the grid or split uses the for odd-numbered rows and for even-numbered rows. + + + + + Gets or sets how interactive row resizing is performed. + + + + + Gets or sets a value indicating whether a user is allowed to create horizontal splits. + + + + + Gets or sets a value indicating whether a user is allowed to create vertical splits. + + + + + Gets the collection of objects. + + + + + Gets or sets the width of a column when the is set to Inverted or Form. + + + + + Gets or sets the width of the column caption when the is set to Inverted or Form. + + + + + Occurs after a cell has been updated. + + + + + Occurs after a row has been deleted. + + + + + Occurs after a row has been added. + + + + + Occurs after a row has been updated. + + + + + Occurs before a cell is updated to the datasource. + + + + + Occurs before a row is deleted. + + + + + Occurs before a new row is added to the datasource. + + + + + Occurs before a row is updated to the datasource. + + + + + Occurs whenever a column is resized. + + + + + Occurs whenever a column header is clicked. + + + + + Occurs whenever a column footer is clicked. + + + + + Occurs before a cell is rendered and the is true. + + + + + Occurs before a cell is to be printed and the is true. + + + + + Occurs before the page header is to be printed. + + + + + Occurs before the page footer is to be printed. + + + + + Occurs prior to focus moving to another cell. + + + + + Occurs when the focus moves to a different cell. + + + + + Occurs whenever the user resizes a row. + + + + + Occurs whenever the user scrolls the grid. + + + + + Occurs whenever the user selected a different range of rows or columns. + + + + + Occurs whenever a Split changes focus. + + + + + Occurs when a split is removed. + + + + + Occurs whenever the user changes the value of a cell. + + + + + Occurs when the grid needs to access the value of an unbound column. + + + + + Occurs when the value of an unbound column has been updated. + + + + + Occurs after editing is completed. + + + + + Occurs before a cell enters edit mode. + + + + + Occurs whenever a cell first enters edit mode. + + + + + Occurs whenever the first row changes. + + + + + Occurs whenever the left column changes. + + + + + Occurs whenever a cell is about to be rendered and whose property has been set to FormatTextEvent. + + + + + Occurs whenever a button is clicked in a cell. + + + + + Occurs whenever a selection has been made to the built-in combo or TrueDBDropdown. + + + + + Occurs whenever a user attempts to enter invalid data into a column that is using valueitems. + + + + + Occurs whenever a cell is to be rendered and the is true. + + + + + Occurs whenever a grouped cell that contains an aggregate is to be rendered and is true. + + + + + Occurs whenever the grid renders a row and the property has been set. + + + + + Occurs whenever an AddNew operation has been initiated. + + + + + Occurs whenever the user has finished moving a column. + + + + + Occurs when the grid needs to display CellTips. + + + + + Occurs after the grid has been initialized. + + + + + Occurs whenever the datasource changes. + + + + + + + + + + Occurs whenever a hierarchical row is collapsed. + + + + + Occurs whenever a hierarchical row is expanded. + + + + + Occurs whenever a column is moved into or out of the grouping area. + + + + + Occurs when the property is set to custom. + + + + + Occurs when the is set to Custom for a grouped row. + + + + + Occurs whenever a column in the grouping area is clicked. + + + + + Occurs whenever a row is being grouped and a custom interval has been specified. + + + + + Occurs whenever the grid has focus and the scrollbar thumb is moved using the mouse. + + + + + Occurs when the contents of a cell in the filterbar changes. + + + + + Occurs when a button is clicked in the filterbar. + + + + + Occurs when the user attempts to open a child grid. + + + + + Occurs when the user attempts to close a child grid. + + + + + Occurs when the user drags a column into the grouping area. + + + + + Occurs when the user types in the filterbar and the property is false. + + + + + Occurs after the datasource has been filtered. + + + + + Occurs after a column has been sorted. + + + + + Occurs whenever an exception is thrown during end user interaction. + + + + + Represents a horizontal or vertical pane to display and edit data. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The f. + + + + Initializes a new instance of the class. + + The other. + + + + Called when the class is being disposed. + + + True to cleanup. + + + + + + + + + + + + + + + + + + + Draws the filter cell. + + The instance containing the event data. + The col. + + + + + + + + + + + + + + + + returns true if the data at the given row is the same as the passed in string + + + absolute row number + + + + + + + Called when C1DisplayColumn properties have been changed. + + + + + Returns the upper and lower bounds for a merged column. + + Starting row + Starting colum. + The CellRange object that defines the rows and columns for a merged cell. + + + + finds the upper and lower bounds for a merged column + + row number, relative + + + + + + Exits editing mode. + + + + + + short circuits exiting the editor on row change when actively filtering + + + + + + + + + + + + + + + + + + + + + + + + + Adds the row. + + The newrow. + + + + Deletes the rows. + + + + + Gets the drop down for the current column if one exists. + + + + + + Determines whether we have an internal combo. + + + true if combo is not a valueitem otherwise, false. + + + + + Determines whether this instance has combo. + + + true if this instance has combo; otherwise, false. + + + + + Creates the internal dropdown for use in the filterbar. + + + + + + Sets the flat mode. + + The mode. + + + + + + + + + + + + + + + Controls the used to change the appearance for cells meeting the specified condition. + + + Combination of one or more enumerations. + + + object that specifies appearance attributes. + + + + + Controls the used to change the appearance of cells according to their contents. + + + Combination of one or more enumerations. + + + object that specifies appearance attributes. + + + A regular expression string. + + + + + Removes a cell condition established with a previous call to the method. + + + Combination of one or more enumerations. + + + + + Removes a cell condition established with a previous call to the method. + + + Combination of one or more enumerations. + + + + + Removes a cell condition established with a previous call to the method. + + + Combination of one or more enumerations. + + + A regular expression string. + + + + + Returns the Rectangle for the given Row and Column + + Visible row number + Visible column index + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets or sets a value indicating whether the split can recive focus. + + + + + Gets or sets a value indicating the ability to move columns. + + + + + Gets or sets a value indicating the ability to select columns. + + + + + Gets or sets a value indicating the ability to select rows. + + + + + Gets or sets the name of a split. + + + + + Gets or sets how interactive row resizing is performed. + + + + + Gets or sets a value indicating whether a user is allowed to resize horizontal splits. + + + + + Gets or sets a value indicating whether a user is allowed to resize vertical splits. + + + + + Gets or sets a value indicating whether the split uses the for odd-numbered rows and for even-numbered rows. + + + + + Gets or sets the caption. + + + + + Gets or sets the height of the caption. + + + + + Gets or sets a value indicating the visibility of column headers. + + + + + Gets or sets the height of the column captions. + + + + + Gets or sets the height of column footers. + + + + + Gets or sets a value indicating the visibility of the current cell in a split. + + + + + Gets or sets a value that determines how the last column will extend to fill the dead area of the split. + + + + + Gets or sets a value indicating whether the event will be raised. + + + + + Gets or sets a value indicating whether the filter bar has focus. + + + + + Gets or sets a value indicating the visibility of the FilterBar. + + + + + Gets or sets the filter border style. + + The filter border style. + + + + Gets or sets the row index for the first visible row in a split. + + + + + + + + + + Gets or sets the left most visible column for a split. + + + + + Gets or sets the MarqueeStyle for a Split. + + + + + Gets or sets a value indicating if the cells of a split can be edited. + + + + + Gets or sets the width of the row headers. + + + + + + + + + + Gets or sets a value indicating the visibility of row headers for Split. + + + + + Gets the collection of Rows displayed in the Split. + + + + + Gets or sets the group which synchronizes verticall scrolling between splits. + + + + + Gets or sets the minimum width that a split can be interactively resized. + + + + + Gets or sets the minimum height that a split can be interactively resized. + + + + + Gets or sets the group which synchronizes horizontal scrolling between splits. + + + + + Gets or sets the position of the Horizontal scrollbar. + + + + + Gets or sets the position of the Vertical scrollbar. + + + + + Gets or sets a value that determines how columns will resize when the grid is resized. + + + + + Gets the object that controls the appearance of the vertical scrollbar. + + + + + Gets the object that controls the appearance of the horizontal scrollbar. + + + + + Gets or sets the size of a split. + + + + + Gets or sets the height of a split. + + + + + Gets or sets a value indicating how the property is used to determine the actual size of a split. + + + + + Gets or sets the object that controls the appearance of the caption area. + + + + + Gets or sets the object that controls the appearance of the cell editor within a grid. + + + + + Gets or sets the object that controls the appearance of an even-numbered row when using . + + + + + Gets or sets the object that controls the appearance of the . + + + + + Gets or sets the object that controls the appearance of the . + + + + + Gets or sets the object that controls the appearance of column footers. + + + + + + + + + + Gets or sets the object that controls the appearance of the grids column headers. + + + + + Gets or sets the object that controls the current row/cell when the is set to Highlight Row/Cell. + + + + + Gets or sets the object that controls the grids caption when it doesn't have focus. + + + + + Gets or sets the object that controls the appearance of an odd-numbered row when using . + + + + + Gets or sets the object that controls the appearance of the . + + + + + Gets or sets the object that controls the appearance of selected rows and columns. + + + + + Gets or sets the root object for the Split. + + + + + Gets a collection of objects. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the struct. + + The row. + The col. + + + + Initializes a new instance of the struct. + + The row1. + The col1. + The row2. + The col2. + + + + Determines whether the range is a single cell. + + + true if [is single cell]; otherwise, false. + + + + + Removes the child row and all its children + + + + + + Represents a collection of named . + + + + + + + + + + + + + + + + + + Adds a to the end of the collection. + + The Style to add. + The index at which the has been added. + + + + Inserts a at the specified index. + + The zero-based index at which the Style should be inserted. + The Style to insert. + + + + Gets the index of the specified . + + + The index of the Style. + + + + Removes the at the specified index. + + Teh zero-based index of the Style to remove. + + + + Gets the specified Style from the collection given its index. + + + + + Gets the specified Style from the collection given its name. + + + + + Represents a collection of in a . + + + + + Inserts a at the specified index. + + The zero-based index at which the C1DisplayColumn should be inserted. + The C1DataColumn to insert. + + + + Gets the index of the . + + + The index of the C1DisplayColumn. + + + + Gets the index of the specified by the . + + + The index of the C1DisplayColumn. + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets the specified from the collection at the specified index. + + + + + Gets the specified from the collection wich contains the specified . + + + + + Gets the specified from the collection with the specified name. + + + + + Contains a collection of objects. + + + + + + + + + + + + Removes all elements from the collection. + + + + + Adds a C1DataColumn to the end of the collection. + + The C1DataColumn to add. + The index at which the C1DataColumn has been added. + + + + Removes the C1DataColumn at the specified index. + + The zero-based index of the row to remove. + + + + Inserts a at the specified index. + + The zero-based index at which the C1DataColumn should be inserted. + The C1DataColumn to insert. + + + + Gets the index of the specified . + + + The index of the the C1DataColumn. + + + + Gets the index of a with the specified DataField. + + + The index of the the C1DataColumn. + + + + Gets the specified C1DataColumn from the collection at the specified index. + + + + + Gets the specified C1DataColumn from the collection with the specified name. + + + + + Contains a collection of objects that represent columns that are selected. + + + + + Removes all elements from the collection. + + + + + Removes the C1DataColumn at the specified index. + + The zero-based index of the row to remove. + + + + Adds a C1DataColumn to the end of the collection. + + The C1DataColumn to add. + The index at which the C1DataColumn has been added. + + + + Inserts a at the specified index. + + The zero-based index at which the C1DataColumn should be inserted. + The C1DataColumn to insert. + + + + Contains a collection of objects that represent columns that are grouped. + + + + + Removes all elements from the collection. + + + + + Exchanges the C1DataColumn objects at the specified index. + + The zero-based index of the first C1DataColumn. + The zero-based index of the second C1DataColumn. + + + + Removes the C1DataColumn at the specified index. + + The zero-based index of the row to remove. + + + + Adds a C1DataColumn to the end of the collection. + + The C1DataColumn to add. + The index at which the C1DataColumn has been added. + + + + Inserts a at the specified index. + + The zero-based index at which the C1DataColumn should be inserted. + The C1DataColumn to insert. + + + + Represents a collection of Selected rows. + + + + + Removes all elements from the collection. + + + + + Removes the row at the specified index. + + The zero-based index of the row to remove. + + + + Adds a row to the end of the collection. + + Row number to add. + The index at which the row has been added. + + + + Inserts a row at the specified index. + + The zero-based index at which row should be inserted. + The row to insert. + + + + Gets the index of the specified row. + + + The index of the row. + + + + Gets or sets the specified Row index from the collection. + + + + + Represents a collection of Split objects. + + + + + This interface is used to allow objects and collection to serialize + types of their members in a custom way. + If a collection implements this interface, TypeToString is invoked during + serialization of collection items, and for all items for which it returns a + non-null string, that string is used as the element name of the item. + If a class implements this interface, AND a member of that class has + attribute TypeNameSerialization.Custom, AND does not have attribute + XmlAttribute (i.e. is serialized as an element), TypeToString is invoked + on the owner when that member is serialized, and if that returns a non-null + string, that string is used as the value of TypeName attribute. + When deserializing a collection which implements this interface, + StringToType is invoked for each new item in the collection, and if that + returns a non-null type, that type is used to create the item. Otherwise, + TypeNameSerialization attribute is used. + When deserializing a class which implements this interface, StringToType + is invoked on that class for members with TypeNameSerialization.Custom + attribute set. + + + + + Returns a string representing the type of the object + + + + + Returns the type restored from the serialized string + + + + + + + + + + + + + + + + + + + + + + Gets the index if the specified Split. + + + + + + + Gets the specified Split object from the collection. + + + + + Gets the specified Split object from the collection. + + + + + Gets the specified Split object from the collection. + + + + + Gets the number of vertical splits in the collection. + + + + + Gets the number of horizontal splits in the collection. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + C1TrueDBDropdown control. + + + + + Creates a new instance of the object. + + + + + Called when the class is being disposed. + + + True to cleanup. + + + + + Creates the view. + + + + + + Creates the view. + + The other. + + + + + + + + + + + + + + + + notifications + + + + + Controls the used to change the appearance for cells meeting the specified condition. + + + Combination of one or more enumerations. + + + object that specifies appearance attributes. + + + + + Controls the used to change the appearance of cells according to their contents. + + + Combination of one or more enumerations. + + + object that specifies appearance attributes. + + + A regular expression string. + + + + + Restores the default layout. + + + + + Removes a cell condition established with a previous call to the method. + + + Combination of one or more enumerations. + + + + + Restores the default layout. + + + + + Returns the column index for the column containing the specified X coordinate. + + + The horizontal coordinate (X value) in pixels. + + + The index of the column in the collection beneath the specified X coordinate. + + + + + Returns the zero-based index of the display row containing the Y specified coordinate. + + + The vertical coordinate (Y value) in pixels. + + + The display row index beneath the specified Y coordinate. + + + + + + + + + + Reinitializes grid with data from its data source. + + + True to preserves current column layout. False retrieves the schema from the datasource. + + + + + + + + + + Scrolls the data area by the specified number of rows and columns + + + + + + + Occurs when the user has moved a column. + + + + + Occurs when the user has resized a column. + + + + + Occurs when the grids DataSource has changed. + + + + + Occurs when the dropdown is opened. + + + + + Occurs when the dropdown closes. + + + + + Occurs whenever the grid is about to display a row of data and the FetchRowStyles property is True. + + + + + Occurs when the first displayed row of a control or split is changed. + + + + + Occurs when the user clicks on the column footer. + + + + + Occurs when the grid is about to display cell data in a column whose NumberFormat property is set to the string FormatText Event. + + + + + Occurs when the user clicks on the column header. + + + + + Occurs when the first visible column of a grid or split is changed. + + + + + Occurs when the focus moves to a different row. + + + + + Occurs when the user has finished resizing a grid row. + + + + + Occurs when the user scrolls the grid. + + + + + Occurs when the user selects a different range of rows or columns. + + + + + Occurs when the grid needs to display the value of a cell in an unbound column. + + + + + Occurs when the user attempts to enter invalid data into a column that is using value lists. + + + + + Occurs whenever the grid has focus and the scrollbar thumb is moved using the mouse. + + + + + Gets the current selected index. + + + + + + + + + + + + + + + + + + + + + + + + Gets the default size of the control. + + + + The default of the control. + + + + + Gets or sets a value indicating the ability to move columns. + + + + + Gets or sets a value indicating the ability to select columns. + + + + + Gets or sets how interactive row resizing is performed. + + + + + Gets or sets a value indicating whether the dropdown uses the for odd-numbered rows and for even-numbered rows. + + + + + Gets or sets the current row position of the underlying CurrencyManager. + + + + + Gets or sets the column position. + + + + + Gets or sets a value indicating the visibility of column footers. + + + + + Gets or sets the height of column captions. + + + + + Gets or sets the height of column footers. + + + + + Gets or sets a value indicating the visibility of column headers. + + + + + Gets the collection of C1DataColumn objects. + + + + + Gets the collection of C1DisplayColumn objects. + + + + + Gets or sets a value indicating the visibility of the current cell. + + + + + Gets or sets the name of the column used to update the associated grid column. + + + + + Gets or sets the property used to update the associated grid column. + + + + + + + + + + Gets or sets the default width for all grid columns. + + + + + Gets or sets the width of the dropdown. + + + + + Gets or sets a value that determines how the grid displays rows below the last data row. + + + + + Gets or sets the object that controls the appearance of an even-numbered row when using . + + + + + Gets or sets a value that determines how the last column will extend to fill the dead area of the dropdown. + + + + + Gets or sets a value indicating whether the event will be raised. + + + + + Gets or sets the row index for the first visible row. + + + + + Gets or sets the object that controls the appearance of column footers. + + + + + Gets or sets the object that controls the appearance of the grids column headers. + + + + + Gets or sets the object that controls the appearance of a highlighted row. + + + + + Gets or sets a value indicating whether the control should resize to avoid showing partial items. + + + + + + + + + + + + + + + + + + + + Gets or sets the zero-based index of the leftmost column. + + + + + Gets or sets the name of the column used for incremental search. + + + + + Gets or sets the property used for incremental search. + + + + + Gets or sets the object that controls the appearance of an odd-numbered row when using . + + + + + Gets or sets the the current row. + + + + + Gets or sets the style of the border drawn between rows. + + + + + Gets or sets the color of the subrow divider in a multi-line dropdown. + + + + + Gets or sets a value that determines if rows are highlighted under the mouse. + + + + + Gets the object that controls the appearance of the vertical scrollbar. + + + + + Gets the object that controls the appearance of the horizontal scrollbar. + + + + + Gets or sets a value that determines whether the grid displays a pop-up text window when the scrollbar thumb is dragged. + + + + + Gets or sets the root object. + + + + + Gets the collection of named objects. + + + + + Gets or sets a value that determines how the grid display values in a column. + + + + + Gets the number of visible columns in the dropdown. + + + + + Gets the number of visible rows in the dropdown. + + + + + Occurs when the user has moved a column. + + + + + Occurs when the user has resized a column. + + + + + Occurs when the grids DataSource has changed. + + + + + Occurs when the dropdown is opened. + + + + + Occurs when the dropdown closes. + + + + + Occurs whenever the grid is about to display a row of data and the FetchRowStyles property is True. + + + + + Occurs when the first displayed row of a control or split is changed. + + + + + Occurs when the user clicks on the column footer. + + + + + Occurs when the grid is about to display cell data in a column whose NumberFormat property is set to the string FormatText Event. + + + + + Occurs when the user clicks on the column header. + + + + + Occurs when the first visible column of a grid or split is changed. + + + + + Occurs when the focus moves to a different row. + + + + + Occurs when the user has finished resizing a grid row. + + + + + Occurs when the user scrolls the grid. + + + + + Occurs when the user selects a different range of rows or columns. + + + + + Occurs when the grid needs to display the value of a cell in an unbound column. + + + + + Occurs when the user attempts to enter invalid data into a column that is using value lists. + + + + + Occurs whenever the grid has focus and the scrollbar thumb is moved using the mouse. + + + + + Gets or sets the object that controls the appearance of the caption area. + + + + + Gets or sets the object that controls the appearance of the RecordSelectors. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + splits properties + + + + + Specifies the glyph used to denote a sort direction in the column header. + + + + + Column is not sorted. + + + + + Column is sorted in ascending order. + + + + + Column is sorted in descending order. + + + + + Specifies the UI behavior for selecting rows and columns. + + + + + Multiple selection is disabled but single selection is permitted. When the user clicks a record selector, the current selection is cleared, and the clicked row is then selected and added to either the SelectedRows or SelectedCols collections. The Ctrl and Shift keys are ignored, and the user can only select one row at a time. + + + + + Multiple selection is enabled using the mouse. When the user clicks a record selector, the selection is cleared and the clicked row is selected and added to either the SelectedRows or Selected Cols collections. However, if the user holds down the Ctrl key while clicking, the clicked row is added to the current selection. The user can also select a range of rows by selecting the first row in the range, then selecting the last row in the range while holding down the Shift key. + + + + + Multiple selection is enabled using the mouse. The user can also select records with the following key combinations: Shift + Up Arrow, Shift + Down Arrow, Shift + PgUp, and Shift + PgDn. NOTE: The user will not be able to select a single cell, instead the entire corresponding row will be selected. + + + + + Specifies how 3D elements are rendered. + + + + + The grid’s column headers and recordselectors are rendered with an inset three-dimensional look + + + + + Three-dimensional elements appear flat + + + + + Three-dimensional elements are flat, but when the user drags the cursor over a column heading or recordselector, they become three-dimensional and appear to pop up. + + + + + Three-dimensional elements uses XP Themes if available. + + + + + Specifies the sizing mode for splits. + + + + + The indicates the relative size of the split with respect to other scalable splits. + + + + + The indicates the size of the split in pixels. + + + + + The indicates the number of columns displayed in the split. + + + + + Specifies the vertical alignment of text or images in a cell. + + + + + Text is rendered at the top of the cell. + + + + + Text is rendered at the center of the cell. + + + + + Text is rendered at the bottom of the cell. + + + + + Specifies the horizontal alignment of text or images in a cell. + + + + + Text is aligned Near and numeric values Far + + + + + Text is aligned to the left. + + + + + Text is aligned centered. + + + + + Text is aligned to the right. + + + + + Text is aligned with respect to the cells boundries. + + + + + Specifies the visibility of ScrollBars. + + + + + ScrollBars are never displayed. + + + + + ScrollBars are always displayed. + + + + + ScrollBars are displayed only if the object's contents extend beyond its borders. + + + + + Specifies the line style for row and column dividers. + + + + + No line. + + + + + Single line. + + + + + Double line. + + + + + Line with 3D raised appearance. + + + + + Line with 3D inset appearance. + + + + + Specifies how the grid displays its data. + + + + + The grid will only display flat files and will not support a hierarchical view. If the data source is a hierarchical dataset, the grid will only display data from the master table. + + + + + Rows will be represented horizontally and columns vertically. + + + + + The data will be displayed in a convenient data entry form. + + + + + A grouping area is created at the top of the grid; any columns that are placed into this area become part of the GroupedColumn collection. When in group mode, grid columns can be moved into or out of the grouping area with the Add and RemoveAt methods, respectively. Users can also perform this action by selecting and dragging a column into or out of the grouping. Users can customize the display of the grouped row with styles and automatically compute aggregates for columns that are grouped. The expanded/collapsed state of the grouping can also be specified. + + + + + The grid will display all the fields in the current grid area with multiple lines. + + + + + The grid will display DataSets in a hierarchical format. At run time, users can expand and collapse hierarchical recordset Bands using a treeview-like interface. + + + + + The grid will display all the fields in the current grid area with multiple lines. The number of subrows does not change once set. The number of subrows can be set using the LinesPerRow property. + + + + + Provides a description of the current addnew state with respect to the current cell. + + + + + The current cell is not on the addnew row. + + + + + The current cell is on the addnew row. + + + + + There is an Add New operation pending. + + + + + Specifies the behavior of the pop-up window when the cursor is idle over the grid. + + + + + No cell tips will be displayed. + + + + + Cell tips will be displayed in the bounding rectable of the cell. + + + + + Cell tips will be displayed under the mouse cursor. + + + + + Specifies how the grid exposes the rightmost column when it gets focus. + + + + + The grid will scroll to the left to display the rightmost column in its entirety. + + + + + The grid will not move when the rightmost column is clicked initially. However, if the user attempts to edit the cell, then the grid will scroll to the left to display the rightmost column in its entirety. + + + + + The grid will always leave the rightmost column clipped. + + + + + Specifies the location of the foreground image in a cell. + + + + + Image is rendered in the near side of the cell. + + + + + Image is rendered in the far side of the cell. + + + + + Image is rendered to the left of any text in the cell. + + + + + Image is rendered to the right of any text in the cell. + + + + + Image is rendered on top of any text in the cell. + + + + + Image is rendered below any text in the cell. + + + + + Text is not displayed. + + + + + Image is not displayed. + + + + + Specifies how the background image is rendered. + + + + + The image is rendered in the center of the cell. + + + + + The image is tiled in the cell. + + + + + The image is stretched to fit within the cell. + + + + + Specifies how rows can be resized. + + + + + Row can not be resized. + + + + + All rows will be sized to the same height or width. + + + + + Rows can be sized indepentently. + + + + + Specifies which rows are to be previewed/printed. + + + + + All rows are to be previewed/printed. + + + + + Only selected rows will be previewed/printed. + + + + + Only the current row will be previewed/printed. + + + + + Specifies the type of ui-element for a coordinate. + + + + + Coordinates are not in the grid. + + + + + Coordinates are in the caption area + + + + + Coordinates are in the split's header + + + + + Coordinates are in the split's resizing box + + + + + Coordinates are in the row selector. + + + + + Coordinates are in the row resizing box. + + + + + Coordinates are in the column headers. + + + + + Coordinates are in the column footers. + + + + + Coordinates are in the column resizing box. + + + + + Coordinates are in the data area. + + + + + Coordinates are in the grouping area. + + + + + Coordinates are in the group header. + + + + + Coordinates are in the empty row area. + + + + + Coordinates are in the addnew row. + + + + + Coordinates are in the empty column area. + + + + + Coordinates are in the filter bar. + + + + + Specifies how ValueItems are rendered. + + + + + Values are displayed as text or graphics. + + + + + Values are displayed as a group of Radio Buttons. + + + + + Values are displayed as a dropdown combobox. + + + + + Values are displayed as a dropdown combobox in sorted order. + + + + + Values are displayed as a checkbox. + + + + + Specifies how focus is handled when the Tab key is entered. + + + + + The tab key moves to the next or previous control on the form. + + + + + The tab key moves the current cell to the next or previous column. However, if this action would cause the current row to change, then the next or previous control on the form receives focus. + + + + + The tab key moves the current cell to the next or previous column. The behavior of the tab key at row boundaries is determined by the property. When this setting is used, the tab key never results in movement to another control. + + + + + Specifies the borders for a . + + + + + No borders. + + + + + Borders have a Flat appearance. + + + + + Borders have a 3D raised appearance. + + + + + Borders have a 3D inset appearance. + + + + + A line around the inside of the border. + + + + + A fillet type border. + + + + + Borders have a 3D raised with a bevel. + + + + + Borders have a 3D inset with a bevel. + + + + + Specifies which cell gets focus when the enter key is pressed. + + + + + Cell currency doesn't change. + + + + + The next cell will be the cell to the right of the current cell. + + + + + The next cell will be the cell below the current cell. + + + + + The next cell will be the cell to the left of the current cell. + + + + + The next cell will be the cell above the current cell. + + + + + Describes the disposition of a cell. + This enumeration has a FlagsAttribute attribute that allows a bitwise combination of its member values. + + + + + The cell satisfies none of the conditions. For grouped rows, this is the only applicable cell style. + + + + + The cell is the that currently has focus. At any given time, only one cell can have this status. When the MarqueeStyle property is set to Floating Editor, this condition is ignored. + + + + + The cell is part of a highlighted row marquee. When the MarqueeStyle property indicates that the entire current row is to be highlighted, all visible cells in the current row have this additional condition set. + + + + + The cell contents have been modified by the user but not yet written to the datasource. This condition is also set when cell contents have been modified in code with the Text or Value properties. + + + + + The cell is part of a row selected by the user or in code. The SelectedRowCollection contains the index for each selected row. + + + + + All cells. + + + + + Specifies how the current cell is highlighted. + + + + + The current cell within the current row will be highlighted by drawing a dotted border around the cell. In Microsoft Windows terminology, this is usually called a focus rectangle. + + + + + The current cell within the current row will be highlighted by drawing a solid box around the current cell. This is more visible than the dotted cell border, especially when 3D divider properties are used for the grid. + + + + + The entire current cell will be drawn using the attributes of the HighlightRowStyle property. This provides a very distinctive block-style highlight for the current cell. + + + + + The entire row containing the current cell will be drawn using the attributes of the HighlightRowStyle property. In this mode, it is not possible to visually determine which cell is the current cell, only the current row. When the grid or split is not editable, this setting is often preferred, since cell position is then irrelevant. + + + + + The entire row will be highlighted as in setting 3, but the current cell within the row will be "raised" so that it appears distinctive. This setting does not appear clearly with all background color and divider settings. The best effect is achieved by using 3D dividers and a light gray background. + + + + + The marquee will not be shown. This setting is useful for cases where the current row is irrelevant, or when not wanting to draw the user's attention to the grid until necessary. + + + + + The current cell will be highlighted by a floating text editor window with a blinking caret (as in Microsoft Access). + + + + + The entire current row will be highlighted by drawing a dotted border around it. This effect is similar to setting 0. + + + + + Identifies the type of scrollbar. + + + + + The Horizontal scrollbar. + + + + + The Vertical scrollbar. + + + + + Identifies the type of row. + + + + + Row is a datarow. + + + + + Row is a collapsed group row. + + + + + Row is an expanded group row. + + + + + Row is a footerrow. + + + + + Row is a childrow. + + + + + Specifies the initial expanded or collapsed state of a grouped row. + + + + + Grouped rows initial display is collapsed (default). + + + + + Grouped rows initial display is expanded. + + + + + Specifies how the grouped column should be displayed. + + + + + Grouped columns contain just a header row (default). + + + + + Grouped columns contain a header and footer row. + + + + + Specifies the type of aggregate that is computed for a grouped row. + + + + + No aggregate is calculated or displayed. + + + + + Count of non-empty values. + + + + + Sum of numerical values. + + + + + Average of the numerical values. + + + + + Minimum value (numerical, string, or date). + + + + + Maximum value (numerical, string, or date). + + + + + Standard deviation (using formula for Sample, n-1). + + + + + Standard deviation (using formula for Population, n). + + + + + Variance (using formula for Sample, n-1). + + + + + Variance (using formula for Population, n). + + + + + Causes the GroupAggregate event to be raised. + + + + + Specifies the width of a C1TrueDBDropdown for a cell. + + + + + The width of the dropdown is the control width. + + + + + The width of the dropdown is the column width. + + + + + Specifies how columns are merged. + + + + + + + + + + + + + + + + + + + + Specifies the type of gradient. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Specifies how rows are grouped. + + + + + Rows are grouped by their values. + + + + + Rows are grouped by the date portion of their values. + + + + + Rows are grouped by the month portion of their values. + + + + + Rows are grouped by the year portion of their values. + + + + + Rows are grouped by the first character of their values. + + + + + Rows are grouped according to their date values. + + + + + Rows are grouped by raising the event. + + + + + Raised before an action is performed on the grid and the action can be canceled. + + + + + Provides data for the , , , , , , , , and events. + + + + + Gets or sets a value indicating that the action should not be performed. + + + + + Provides data for the event. + + + + + Gets the current scroll position. + + + + + Gets the new scroll position. + + + + + Raised before a column enters edit mode. + + + + + Provides data for the BeforeColEdit event. + + + + + Gets or sets a value indicating that editing should be disallowed. + + If event procedure sets the Cancel argument to True, the cell will not enter edit mode. Otherwise, the ColEdit event is raised immediately, followed by the Change event for the KeyChar property, if non-zero. + + + + Indicates the character that initiated the editing operation. + + The BeforeColEdit event occurs just before the user enters edit mode by typing a character. If a floating editor marquee is not in use, this event also occurs when the user clicks the current cell or double clicks another cell. + + + + Indicates the position in the DisplayColumns collection. + + + + + Gets the C1DisplayColumn for the column being edited. + + + + + Raised after editing is completed in a cell. + + The BeforeColUpdate event occurs after editing is completed in a cell, but before data is moved from the cell to the grid's internal copy buffer. + The data specified by the OldValue argument moves from the cell to the grid's copy buffer when the user completes editing within a cell, as when tabbing to another column in the same row, pressing the Enter key, or clicking on another cell. Before the data has been moved from the cell into the grid's copy buffer, the BeforeColUpdate event is triggered. This event gives the application an opportunity to check the individual grid cells before they are committed to the grid's copy buffer. + If your event procedure sets the Cancel argument to True, the previous value is restored in the cell, the grid retains focus, and the AfterColUpdate event is not triggered. Change the current cell text by setting OldValue to the value wanted to display (other than the previous value). + To restore OldValue in the cell and permit the user to move focus off of the cell, set Cancel to False and set the cell to OldValue as follows: + + + + Provides data for the BeforeColUpdate event. + + + + + Gets or sets a value that prevents the user from moving focus to another cell. + + + + + Gets or sets the value of the original cell data. + + + + + Indicates the position in the DisplayColumns collection. + + + + + Gets the C1DisplayColumn for the column being edited. + + + + + Raised after a column has been resized. + + + + + Provides data for the ColReisize event. + + + + + Indicates the position in the DisplayColumns collection. + + + + + Gets or sets a value indicating that sizing should be ignored. + + + + + Gets the C1DisplayColumn for the column being sized. + + + + + Raised when an action is perfored on a column. + + + + + Provides data for the , , , , , , , , and events. + + + + + Indicates the position in the DisplayColumns collection. + + + + + Gets the C1DisplayColumn. + + + + + Raised when grouping columns. + + + + + Provides data for the event. + + + + + Indicates the position in the DisplayColumns collection. + + + + + The C1DataColumn that was clicked. + + + + + Raised when a cell is to rendered by the event code. + + + + + Provides data for the and events. + + + + + The bounding rectangle for the cell that needs to be rendered. + + + + + The index of the row for the cell being rendered. + + + + + The index of the split for the cell being rendered. + + + + + The index of the column in the DisplayColumns collection. + + + + + The GDI+ graphics object to render on. + + + + + The text of the cell. + + + + + The Style used to render the cell. + + + + + Indicates whether the event code rendered the cell. + + + + + The C1DisplayColumn being rendered. + + + + + Indicates whether the custom renderer handles the background, border or content. + + + + + Raised when custom page headers and footers need to be rendered. + + + + + Provides data for the and events. + + + + + The object used to render the custom header or footer + + + + + Raised after the current Row or Column changes. + + + + + Provides data for the event. + + + + + The previous row index. + + + + + The previous column index of the DisplayColumns collection. + + + + + Raised when an unbound column needs to be rendered. + + + + + Provides data for the event. + + + + + The index of the row. + + + + + Indicates the position in the Columns collection. + + + + + The object. + + + + + Gets or sets the value of the Column. + + + + + Raised when Split specific actions are performed. + + + + + Provides data for the and events. + + + + + Indicates the position of the Split in the Splits collection. + + + + + Raised when a cell needs custom formatting. + + + + + Provides data for the FromatText event. + + + + + Indicates the position in the Columns collection. + + + + + The row index for the cell to be formatted. + + + + + The value to format. + + + + + The object. + + + + + Raised when the used to render a cell needs customization. + + + + + Provides data for the event. + + + + + The sum of one or more constants describing the disposition of the cell being rendered. + + + + + Indicates the position in the Splits collection. + + + + + The index of the row for the cell being rendered. + + + + + The index of the column in the DisplayColumns collection. + + + + + The Style used to render the cell. + + + + + The C1DisplayColumn being rendered. + + + + + Provides data for the event. + + + + + Value that the data is being grouped on. + + + + + First row index that is being grouped. + + + + + Last row index that is being grouped. + + + + + Raised when the used to render a row needs customization. + + + + + Provides data for the event. + + + + + Indicates the position in the Splits collection. + + + + + The index of the row for the cell being rendered. + + + + + The Style used to render the row. + + + + + Raised when a column is being repositioned. + + + + + Provides data for the event. + + + + + Indicates the target index of the column being moved. + + + + + Indicates the starting position in the DisplayColumns collection. + + + + + Gets or sets a value indicating that the action should not be performed. + + + + + Gets the C1DisplayColumn that is being moved. + + + + + Raised when a column is moved into or out of the grouping area. + + + + + Provides data for the event. + + + + + The C1DataColumn for the column being moved. + + + + + Raised when cell tips are to be displayed. + + + + + Provides data for the event. + + + + + Indicates the position of the Split in the Splits collection. + + + + + Indicates the position in the DisplayColumns collection. + + + + + The index of the row for the cell tip. + + + + + The text to be displayed in the cell tip. + + + + + Indicates if the contents of the cell is fully displayed. + + + + + The Style used to render the cell tip. + + + + + The C1DisplayColumn that this tip is associated with. + + + + + Raised when a hierarchical node is expanded or collapsed. + + + + + Provides data for the and events. + + + + + Indicates the recordset level that holds the current row within a master-detail hierarchy. + + + + + Gets or sets a value indicating that the action should not be performed. + + + + + Raised when scroll tips are to be displayed. + + + + + Provides data for the event. + + + + + Indicates the position of the Split in the Splits collection. + + + + + Indicates the position in the DisplayColumns collection. + + + + + The index of the topmost row for the scroll tip. + + + + + Indicates the scrollbar that was moved. + + + + + The text to be displayed in the scroll tip. + + + + + The Style used to render the scroll tip. + + + + + The current C1DisplayColumn. + + + + + Raised when the grid is sorted or filtered. + + + + + Provides data for the , , , and + + + + + The filter or sort condition. + + + + + Raised when an excpetion is thrown via the UI. + + + + + Provides data for the event. + + + + + The exception which caused the Event to be raised. + + + + + True if the exception has been handled. + + + + + True to continue as if no exception was raised. + + + + + Raised when text is grouped. + + + + + Provides data for the event. + + + + + Custom text for the grouped row. + + + + + Value that the data is being grouped on. + + + + + Column that is being grouped. + + + + + Type of row being grouped. + + + + + First row index that is being grouped. + + + + + Last row index that is being grouped. + + + + + Raised when text is grouped. + + + + + Provides data for the event. + + + + + Underlying value of the row being grouped. + + + + + Column that is being grouped. + + + + + Row index that is being grouped. + + + + + Root accessible object exposed by C1TrueDBGrid control + + + + + Accessible object for group bar + + + + + Accessible object for view + + + + + Accessible object for grid row + + + + + Accessible object for grid cell + + + + + Object that represents a groupby split. + + + + + Gets the type of row. + + + + + Gets the text that is being grouped. + + + + + Gets the level of the grouping. + + + + + Gets the starting row index of the datasource that belong to this group. + + + + + Gets the ending row index of the datasource that belong to this group. + + + + + Gets the number of rows that belong to this group. + + + + + Processes grouped data. + + The row index containg the data. + The that is being grouped. + A string that the data will be grouped on. + + + + + + + + + + + Splits the columns so they exist on two sublines and evens out the + right edge. + + + + + Makes each line of a multi line grid the same width + + + + + Returns the number of columns for the given subline. + + Index of subline. + Number of columns in subline. + + + + Returns the subline in the header for the given point. + + Point to check. + The subline that the point is on. + + + + + + + + + + Adjust column widths so they all fit within the data area + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Interface used to provide feedback and the ability to cancel potentially long operations + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Simple stack with indexed access, based on System.Collections.ArrayList + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + General purpose pair class. (Should be moved to gp utils.) + + + + + + + + + + + + + + + + + + + + + + + + + + + Attribute used to specify which properties get serialized when saving layouts. + + + + + Attribute used to specify which properties get serialized when saving layouts. + + + + + Determines how item types are serialized + + + + + Item type is not serialized (this is the default) + + + + + Item type is serialized as a fully qualified name + + + + + Item type is serialized as a fully qualified name and assembly name + + + + + Use owner's IMemberTypeEncoder for members + (for collection items, this is done automatically). + + + + + Helper class for implementors of IMemberTypeEncoder + + + + + + + + + + + + + + + + + + + + + + + + + Forces the serializer to serialize the type name of a property or field + + + + + + + + + + + + + + + + + + + + + + This attribute allows to specify collection's element type name + (in that case there is no need to store it). + + + + + + + + + + + + + + + + Serializes and deserializes objects into and from XML. + + + All the methods in this class are static (Shared in Visual Basic). + You cannot create an instance of this class. + + + + + Serializes the specified Object and writes the XML-document instance to a file using the specified Stream. + DOES NOT close the underlying stream. Useful for copying objects. + Caller is responsible to call out writer.Close() to close writer and underlying stream. + + The Stream used to write the XML-document instance + The Object to serialize + The XmlSerializerNamespaces referenced by the object + The XmlWriter object reference. Call writer.Close after working with stream/writer. + + + + Serializes the specified Object and writes the XML-document instance to a file using the specified Stream. + + The Stream used to write the XML-document instance + The Object to serialize + The XmlSerializerNamespaces referenced by the object + + + + Serializes the specified Object and writes the XML-document instance to a file using the specified XmlWriter + + The XmlWriter used to write the XML-document instance + The Object to serialize + The XmlSerializerNamespaces referenced by the object + + + + Serializes the specified Object and writes the XML-document instance to a file using the specified Stream. + DOES NOT close the underlying stream. Useful for copying objects. + Caller is responsible to call out writer.Close() to close writer and underlying stream. + + The Stream used to write the XML-document instance + The Object to serialize + The FieldInfo or MemberInfo object context for the object to serialize + The XmlSerializerNamespaces referenced by the object + The XmlWriter object reference. Call writer.Close after working with stream/writer. + + + + + + + + + + + + + + + Serializes the specified Object and writes the XML-document instance to a file using the specified Stream. + + The Stream used to write the XML-document instance + The Object to serialize + The FieldInfo or MemberInfo object context for the object to serialize + The XmlSerializerNamespaces referenced by the object + + + + Serializes the specified Object and writes the XML-document instance to a file using the specified XmlWriter + + The XmlWriter used to write the XML-document instance + The Object to serialize + The FieldInfo or MemberInfo object context for the object to serialize + The XmlSerializerNamespaces referenced by the object + Array of attributes that specify what to serialize + + + + Serializes the specified object to an XML formatted string. + + + + + + + + + Used to write the namespaces as attributes for the initial object + + + + + + + Given a list of Field or Property attributes returns visibility + + + + + + + Enumerates and serializes all public fields and properties + + The XmlWriter used to write the XML-document instance + The Object to serialize + Array of attributes that specify what to serialize + + + + Deserializes an XML-document instance + + The Stream containing the XML-document instance to deserialize + The type of object being deserialized + The Object being deserialized + + + + Deserializes an XML-document instance + + The XmlReader containing the XML-document instance to deserialize + The type of object being deserialized + The Object being deserialized + + + + Deserializes object + + The XmlReader containing the XML-document instance to deserialize + The Object being deserialized + The type of object being deserialized + The type of array elements (in case the object is an array) + The Object being deserialized + + + + Deserializes an XML document string + + + + + + + + Deserializes text of element or attribute into object of appropriate type + + The XmlReader containing the XML-document instance to deserialize + The type of object being deserialized + The Object being deserialized + + + + Recognizes type of object serialized in element + + The XmlReader containing the XML-document instance to deserialize + The default type of object being deserialized + Custom serialization + The type of object being deserialized + + + + Deserializes array or collection + + The XmlReader containing the XML-document instance to deserialize + Collection item type + The array or collection being deserialized + + + + Returns the "almost" fully qualified type name - i.e. with assembly name, + but without version, culture, and public key. + + Type + Type name, assembly name + + + + Sets or returns the object implementing IOnLongOpInProgressProvider interface + (can be used to provide visual feedback to the user during serialization). + + + + + Gets or sets a value indicating whether all the values are to be persistent. + + + + + Sets or returns formatting used by the XML writer. + + + + + Sets or returns indentation used by the XML writer. + + + + + Sets or returns serialization of non-public properties. If true non-public properties + are included, but are hidden by default. Public properties are always visible by default. + + + + + + + + + + Initializes a new instance of the class. + + + + + Raises the event. + + + + + Raises the event. + + + true if this object can be changed; otherwise, false. + + + + + Gets the service object of the specified type. + + An object that specifies the type of service object to get. + + A service object of type . + -or- + null if there is no service object of type . + + + + + Gets the container representing this request. + + + + + Gets the object that is connected with this type descriptor request. + + + + + Gets the that is associated with the given context item. + + + + The that describes the given context item; otherwise, null if there is no responsible for the call. + + + + + Summary C1Description for Tally. + + + + + GroupInfo + Property of the C1DataColumn object, used to control grouping and + rendering of group headers and footers + + + + + Creates a new instance of the object. + + The column this object is associated with. + + + + Override. The string representation of the object. + + + + + + Gets or sets the position of the grouped row. + + + + + Gets or sets the initial expanded/collapsed state of the grouped row. + + + + + Gets or sets the text that is displayed in the group header row. + + + + + Gets or sets the text that is displayed in the group footer row. + + + + + Gets or sets the way rows are grouped. + + + + + Gets or set a value indicating the visibility of a column when it's grouped. + + + + + StringTables + this class contains a single static method InitTables that populates the + tables used by the Localizer class. + + + + + Represents print/export options form. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Required designer variable. + + + + + Creates a new instance of the PrintOptionsFrom class. + + + + + Called when the class is being disposed. + + + True to cleanup. + + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets or sets the output file name. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new instance of the ActionItem class. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets the editor style used by the method. + + An that can be used to gain additional context information. + + A value that indicates the style of editor used by the method. If the does not support this method, then will return . + + + + + Edits the specified object's value using the editor style indicated by the method. + + An that can be used to gain additional context information. + An that this editor can use to obtain services. + The object to edit. + + The new value of the object. If the value of the object has not changed, this should return the same object it was passed. + + + + + Gets the name of the base form class. + + The name of the base form class. + + + + Gets the none string. + + The none string. + + + + Gets a value indicating whether [include none in list]. + + true if [include none in list]; otherwise, false. + + + + Gets a value indicating whether [include base form class in list]. + + + true if [include base form class in list]; otherwise, false. + + + + + + + + + + Object to manage custom page headers and footers when printing and previewing. + + + + + Set the height of printing area (in inches) + + + + + + Renders text for the document. + + X-coordinate to start the rendering. + Y-coordinate to start the rendering. + The text to render. + The width for the rendered text. + The font to use. + The color of the text. + The alignment to render the text. + + + + Renders an image for the document. + + X-coordinate. + Y-coordinate. + Image to render. + Width to render. + Height to render. + Alignment options. + + + + Renders a line for the document. + + Start x-coordinate. + Start y-coordinate. + End x-coordinate. + End y-coordinate. + Color of the line. + Width of the line. + + + + The height of drawing area in inches + + + + + Specifies how a should be printed + or exported when using such methods as + , + etc. + + + + + This ctor is only used to create a copy of PrintInfo to compare user-modifiable + options against. + + PrintInfo to copy user-modifiable options from. + + + + Creates page header and footer styles. + + + + + Attaches page header and footer styles to the grid + (invokes Style.Attach(grid)). + + + + + + Exports the grid to the specified file. + Export format is determined by the file extension. + + Output file name. + + + + Exports the grid to HTML. + + Output file name. + + + + Exports the grid to PDF. + + Output file name. + + + + Exports the grid to RTF. + + Output file name. + + + + Exports the grid to XLS. + + Output file name. + + + + Exports the grid to XLS. + + Output file name. + Whether to export each page as a separate sheet. + + + + Sets text on the progress dialog if it exists. + + + + + + Closes and disposes the progress dialog if it exists. + + + + + Shows the export options dialog, allows the user to + exports the grid to one of the supported formats. + + + + + Exports the grid to the specified file. + Export format is determined by the file extension. + + + + + + Shows the "save file" dialog, allowing the user to specify an output file. + + + + + + + + + + + + + + + + Compares the user modfiable options in the current print info + against those in the other one, returns true if any of the user + options changed (so the document must be re-generated). + + The PrintInfo to compare against. + True if any of the user options have changed, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Resets the property to its default value. + + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Resets the property to its default value. + + + + + Opens a separate modal window in which end users can preview the output + that would be generated by the print operation. + + + allows to specify a custom form for + the preview dialog. + + + + + Prints the grid. + + + + + Prints the grid. + + Specifies the printer settings (including the printer) to use. + + + + Saves the current grid to a stream in C1D + (native C1PrintDocument) format. + + Note that unlike most other print/export methods, this method + does not require C1Report assemblies. + + + The output stream. + + + The stream's Position is set to 0 when the method returns. + + This method does not show progress dialog + (ignoring property). + + + + + + Saves the current grid to a memory stream in C1D + (native C1PrintDocument) format. + + The stream's Position is set to 0 when the method returns. + + + The stream containing the saved grid. + + + + Saves the current grid as a C1D file, which can later be loaded + into a C1PrintDocument (provided by C1Report product). + + Note that unlike most other print/export methods, this method + does not require C1Report assemblies. + + + The name of the output file. + true if the file was successfully saved, + false otherwise. + + + + Saves the current grid to a stream in C1D + (native C1PrintDocument) format. + + Note that unlike most other print/export methods, this method + does not require C1Report assemblies. + + + The output stream. + true if the stream was successfully written, + false otherwise. + + Unlike the method, + this method does not reset the stream's position after saving. + + + + + Gets or sets a value indicating whether the grid rows can split between pages. + + + This new property helps to print very long text in columns on multiple pages. + + + + + Gets or sets a value indicating whether the grid's color scheme is translated to the print page. + + + + + Gets or sets a value indicating whether the page header is owner-drawn. + + + + + Gets or sets a value indicating whether the page footer is owner-drawn. + + + + + Gets or sets the style used to render the page header. + + + + + Gets or sets the string to be printed at the top of each page. + + + + + Gets or sets the height of the Page header. + + + + + Gets or sets the style used to render the page footer. + + + + + Gets or sets the page footer height in hundredths of an inch. + + + + + Gets or sets a string to be printed at the bottom of each page. + + + + + Gets or sets a value indicating whether column footers should appear on each page. + + + + + Gets or sets a value indicating whether the grid caption should appear on each page. + + + + + Gets or sets a value inidcating whether split captions should appear on each page. + + + + + Gets or sets a value indicating whether horizontal splits are previewed and printed. + + + + + Gets or sets a value indicating whether column headers should appear on each page. + + + + + Gets or sets a value indicating how empty space left on a printed page is handled. + + + + + Gets or sets the horizontal page break mode. + + + + + Gets or sets a value that controls how text is wrapped in a cell. + + + + + Gets or sets a value whether to print a grid if it has no data rows. + + + + + Gets or sets the maximum row height in hundredths of an inch + (used if is ). + + + + + Gets or sets a value indicating how row height of the printed grid is determined. + + + + + Gets or sets a value indicating how grid lines are rendered. + + + + + Gets or sets a value indicating whether the options dialog is displayed + when the grid is printed or exported. + + + + + Gets or sets a value indicating whether the progress dialog is displayed when the grid is printed or exported. + + + + + Gets or sets a value indicating whether the grid in Form view style is printed each record per page. + + + + + Gets or sets a value indicating whether selected cells will be highlighted when previewing or printing. + + + + + Gets or sets the PageSettings for printing. + + + + + Gets or sets the caption of the print progress dialog. + + + + + Gets or sets the class name of the form used as the print options dialog. + + + + + Gets or sets the class name of the form used as the preview form. + + + + + Specifies how empty space left on a printed page is handled (filled or otherwise). + + + + + All columns are extended proportionally to fill the page. + + + + + Empty space on the right of the page is left as is. + + + + + Rightmost column on the page is extended to fill the empty space. + + + + + Specifies how grid is broken into extension (horizontal) pages + when it is too wide to fit into one page. + + + + + All columns are made narrow enough to fit into one page. + + + + + Columns that do not fit into one page are clipped. + + + + + Horizontal page breaks can be inserted on grid splits as necessary. + + + + + Horizontal page breaks can be inserted on any column as necessary. + + + + + Specifies how cell text is wrapped. + + + + + Text can wrap in any cell as needed. + + + + + Text in cells never wraps. + + + + + Use column's property. + + + + + Specifies how grid lines are rendered. + + + + + Grid lines are rendered. + + + + + Grid lines are not rendered. + + + + + Specifies how rows' heights are determined. + + + + + Stretch rows vertically to fit all data. + + + + + Use the grid's row height. + + + + + Stretch rows vertically but not greater than . + + + + + Specify allowed print options. + + + + + No print/export operations are allowed. + + + + + Printing is allowed. + + + + + Preview is allowed. + + + + + Export is allowed. + + + + + All print/export operations are allowed. + + + + + Property value. MUST BE EXACTLY THE SAME AS PROPERTY NAME IN EXPORTER! + + + + + The print preview form. + + + + + Creates a new instance of the PrintFrom class. + + + + + Additional initialization of the form. + + + To override properties like FormBorderStyle, MaximizeBox, MinimizeBox, ControlBox etc. of a Form, + inherited from "C1.Win.C1TrueDBGrid.PrintForm", override the Init method of the PrintForm. + First call the base.Init(), then set the properties you want. + + + The example is a custom PrintForm which has sizable border, control box is on, and minimize and maximize boxes are off. + + public class CustPrintForm : C1.Win.C1TrueDBGrid.PrintForm + { + public CustPrintForm(): base() + { + } + + protected override void Init() + { + base.Init(); + FormBorderStyle = FormBorderStyle.Sizable; + this.ControlBox = true; + this.MinimizeBox = false; + this.MaximizeBox = false; + } + } + + + + + + Overloaded. Overridden. Releases all resources used by the Control. + + + + + + + + + + + + + + + + Represents exception that is thrown if printing or exporting + a is cancelled by the user. + + + + + Initializes a new instance of the class. + + + + + The object that handles printing and previewing for the grid. + + + + + Initializes a new instance of the class. + + + + + + Initializes a new instance of the class. + + + + + + + Performs initialization + + + + + Replaces the old TrueGrid printing \p, \P etc. tags with corresponding C1PrintDocument's tags. + + The document. + The text to process. + The text with tags replaced. + + + + Applies the specified grid style to the target object. + Does not explicitlly set style attributes if the parent style has them already. + Checks/sets the following style attributes: TextColor, BackColor, Font, + BackgroundImage, BackgroundImageAlign, Borders, Padding. + + The target style owner. + The grid style to apply. + The style of the parent object (used to avoid explicit setting of + style attributes if they are already inherited from the parent). + + + + Converts a pixel value to a Unit (using "document" 1/300th of an inch units). + + The pixel value to convert. + The converted Unit value. + + + + Convert screen pixels to Document units (1/300 of inch) + + Length in screen pixels + + + + + Convert hundreds of inch to Document uints (1/300 of inch) + + Length in hundreds of inch + + + + + This function deals with the general cell drawing. + If it has only text, just draw the text. + If it has image (background or forground etc.), then we need to draw an area, then the image and text. + Because we only have text most of the time, this process will speed things up. + + The grid style to use. + The cell text. + Width of the cell, in %%. + The parent object. + The name of the image to use. + The render object representing the cell's content. + + + + Gets or sets the current row which is displayed in the progress dialog. + + + + + Gets the number of rows to be printed. + + + + + Specifies the characteristics of the print preview window + shown by the method. + + + + + + + + + + + + + + + + + Resets the array of UIStrings back to the default locale. + + + + + Gets or sets the caption of the preview window. + + + + + Gets or sets the position and manner in which the control is docked in the navigation page. + + + + + Gets or sets the location of the preview window. + + + + + Gets or sets a value indicating whether the end user has the ability to size the preview window. + + + + + Gets or sets the zoom factor for print preview. + + + + + Gets or sets the size of the form. + + + + + Gets or sets a value indicating the visibiity of toolbars. + + + + + Gets the array of user interface strings. + + + + + Print progress window. + + + + + Required designer variable. + + + + + Initializes a new instance of the C1PrintProgress class. + + + + + Overloaded. Releases the resources used by the component. + + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Gets or sets the text used to display the current progress when the grid is printed/previewed. + + + + + Gets or sets the text for the Cancel button. + + + + + Gets or sets the text for the Windows caption. + + + + + Gets a value indicating if the print/preview was cancelled. + + + + + Encapsulates dynamically loaded report/preview assemblies. + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + + + + + + Gets the data source. + + + + + + Gets the data view. + + + + + + + + + + + Sets the bound control. + + The bound control. + The name. + + + + Gets the size of the virtual segment. + + + + + + Sets the visible row count. + + The value. + The name. + + + + Bounds the control scrolled. + + + + + + + + + + Gets the first visible row. + + + + + + Gets the visible row count. + + + + + + Scrolls to row. + + The first visible row. + The row count. + + + + + + + + + Requests the modification. + + + + + + + + + + Sets the row filter. + + The value. + + + + Sets the sort. + + The value. + + + + Refreshes this instance. + + + + + Interfaces used by bound controls and other C1Data consumers: + Dynamic, late bound access to the interfaces, via reflection + + + + + Gets the data source. + + The obj. + + + + + + + + + + News the late binding I c1 complex bound control. + + The obj. + + + + + + + + + + Gets the data view. + + The obj. + + + + + Represents an anchor within a document. + One or more anchors can be associated with a + via the property on the object. + An anchor (and thus the render object associated with it) can be the + target of a if that hyperlink's + is a and that anchor's + is set to that anchor's . + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The anchor's name. + + + + Initializes a new instance of the class. + + The anchor's name. + The anchor's description. + + + + Initializes a new instance of the class. + + The anchor's name. + The anchor's description. + Arbitrary user data. + + + + Gets the name of the current anchor (must be unique within the document). + + + + + Gets the description of the current anchor. + + + + + Gets the custom user data associated with the current anchor. + + + + + Represents an anchor within a text object + (a , a or a ). + Based on , adds the ability to reference a specific position within the text + (see ). + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The anchor's name. + + + + Initializes a new instance of the class. + + The anchor's name. + The anchor's description. + + + + Initializes a new instance of the class. + + The anchor's name. + The anchor's description. + Arbitrary user data. + + + + Initializes a new instance of the class. + + The anchor's name. + The position within the text. + + + + Initializes a new instance of the class. + + The anchor's name. + The anchor's description. + The position within the text. + + + + Initializes a new instance of the class. + + The anchor's name. + The anchor's description. + Arbitrary user data. + The position within the text. + + + + Gets the position of anchor withint text, zero based. + + + + + Represents a collection of objects. + + + + + Adds a to the current collection. + + The anchor to add. + Index of the newly added anchor in the current collection. + + + + Inserts a into the current collection. + + The position at which to insert the anchor. + The anchor to insert. + + + + Removes a from the current collection. + + The anchor to remove. + + + + Returns the index of a in the current collection. + + The anchor to search for. + The index of the specified anchor in the current collection, or -1. + + + + Searches for an anchor with the specified name in the current collection. + + The name to search for. + The anchor with the specified name, or null if the anchor was not found. + + + + Gets or sets the at the specified index. + + + + + + + Represents the state of a . + + + + + An unvisited hyperlink. + + + + + A hyperlink that has been visited. + + + + + A hyperlink under the mouse pointer. + + + + + A hyperlink that has been clicked, but not yet visited. + + + + + Represents a hyperlink in a document. + A hyperlink may be assigned to a 's , + or a 's property. + In that case clicking on that object in a viewer will jump to the hyperlink's . + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class, + assigning its to a + associated with the specified . + + The to set as the target of the current hyperlink. + + + + Initializes a new instance of the class, + assigning its to a + associated with the specified . + + The to set as the target of the current hyperlink. + + + + Initializes a new instance of the class, + assigning its to the specified . + + The to set as the target of the current hyperlink. + + + + Initializes a new instance of the class, + assigning its to the specified . + + The to set as the target of the current hyperlink. + The string to assign to of the current hyperlink. + + + + Initializes a new instance of the class, + assigning its to the specified . + + The to set as the target of the current hyperlink. + The string to assign to of the current hyperlink. + Arbitrary value to assign to of the current hyperlink. + + + + Initializes a new instance of the class, + assigning its to a + associated with the specified anchor name. + + The name of the to set as the target of the current hyperlink. + + + + Copies the properties of the specified object to the current object. + + The source object to copy properties from. + + + + Creates a copy of the current object. + + The newly created object. + + + + Text shown in the status line when the mouse is over the link + (when the document is viewed in a C1PrintPreview). + + + + + Determines the target of the current hyperlink. + + + The hyperlink target is described by an instance of a class derived from , + and can be of one of the following types: + + + An anchor defined within the current document. + + A location within the current document. + + An anchor defined within a previously saved C1D document. + + An external document, program or URL. The ShellExecute API is used to invoke the link. + + A page within the current document. + + The hyperlink target is determined by a user event handler. + + + + + + Gets or sets arbitrary data associated with the current hyperlink. + + + + + Gets or sets the state of the current hyperlink. + + + + + Describes the target of a . + This is an abstract base class for the following derived classes: + , + , + , + , + , + . + + + + + Initializes a new instance of the class. + + + + + Describes a determined by a user event handler. + When using C1.Win.C1Preview.C1PreviewPane, attach a handler of the type + C1.Win.C1Preview.HyperlinkEventHandler to the C1PreviewPane's UserHyperlinkJump + event. That event will be fired when a hyperlink with the link target + of this type is clicked. + + + + + Initializes a new instance of the class. + + + + + Describes a pointing to a + within the current document. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The name () of the target . + + + + Gets the name () of the target object. + + + + + Describes a pointing to a + in a different object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The name of the file (C1D or C1DX) containing the target document. + The name () of the target . + + + + Gets the filename with the target object. + + + + + Describes a pointing to an external document, file or URL. + The hyperlink jump is performed using the ShellExecute OS shell API, so the result + depends on the operating system and installed programs. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The name of the file to execute on hyperlink jump (can be a document, URL etc.). + + + + Initializes a new instance of the class. + + The name of the file to execute on hyperlink jump (can be a document, URL etc.). + The shell command to execute (see for details). + + + + Initializes a new instance of the class. + + The name of the file to execute on hyperlink jump (can be a document, URL etc.). + The shell command to execute (see for details). + The command parameters. + The directory where the command is executed. + + + + Specifies the file or object on which to execute the specified verb. + + + To specify a Shell namespace object, pass the fully qualified parse name. + Note that not all verbs are supported on all objects. + For example, not all document types support the "print" verb. + + + + + Gets the command (verb) specifying the action to perform when the link is clicked. + + + The set of available verbs depends on the particular file or folder. + Generally, the actions available from an object's shortcut menu are + available verbs. + For more information about verbs and their availability, see Object Verbs. + See Extending Shortcut Menus for further discussion of shortcut menus. + The following verbs are commonly used. + + edit + Launches an editor and opens the document for editing. If FileName is not a document file, the function will fail. + + explore + Explores the folder specified by FileName. + + find + Initiates a search starting from the specified directory. + + open + Opens the file specified by the FileName parameter. + The file can be an executable file, a document file, or a folder. + + print + Prints the document file specified by FileName. + If FileName is not a document file, the function will fail. + + Empty string + For systems prior to Microsoft? Windows? 2000, the default verb is used + if it is valid and available in the registry. If not, the "open" verb is used. + For Windows 2000 and later systems, the default verb is used if available. + If not, the "open" verb is used. If neither verb is available, + the system uses the first verb listed in the registry. + + + + + + + If the parameter specifies an executable file, this is a string + specifying the parameters to be passed to the application. + The format of this string is determined by the verb that is to be invoked. + If specifies a document file, this should be an empty string. + + + + + Gets the default directory. + + + + + Describes the supported modes of moving between pages in a viewer. + + + + + Move to the first page. + + + + + Move to the previous page. + + + + + Move to the next page. + + + + + Move to the last page. + + + + + Move directly to the specified page. + + + + + Move to the page specified relative to the current page. + + + + + Describes a pointing to another page in the current document. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The absolute 1-based target page number. + + + + Initializes a new instance of the class. + + The type of the page jump. + + + + Initializes a new instance of the class. + + The type of the page jump. + The absolute 1-based target page number. + + + + Gets the type of page jump. + + + + + Gets the page number to jump to. + Depending on the value of , specifies + an absolute (1-based) or a relative page number. + + + + + Describes a pointing to an object within the current document + that supports the interface. + Types supporting that interface include , + , , and table elements (rows, columns, etc.). + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The target object (must support the interface). + + + + Gets the target object supporting the interface. + + + + + Represents the page settings of a . + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + from another object. + + The object to initialize the current one from. + + + + Initializes a new instance of the class + from another object. + + The object to initialize the current one from. + A value indicating whether the current page settings should have landscape orientation. + + + + Initializes a new instance of the class + from a object. + + The object to initialize the current page settings from. + + + + For internal use. + + + + + + + + + + + For internal use. + + + + + + + + + + + For internal use. + + + + + + + + + + + + For internal use. + + + + + + + + + + + + Compares the current with another object. + + The object to compare the current one to. + True if the two objects contain identical properties, false otherwise. + + + + Creates a copy of the current object. + + The newly created object. + + + + Assigns (copies) properties from another to the current object. + + The source object to copy properties from. + + + + Assigns (copies) properties from a to the current object. + + The source object to copy properties from. + + + + Creates an instance of the class, + and initializes it with the properties of the current object. + + The object providing the default units + (needed if some sizes in the current object are specified in ) and DPI + (needed if some sizes in the current object are specified in ). + Can be null, but in that case the current object must not contain sizes + specified in document default units or pixels. + A object + used to create the resulting . + If null, the default printer is used. + The newly created object. + + + + Creates an instance of the class, + and initializes it with the properties of the current object. + + The object providing the default units + (needed if some sizes in the current object are specified in ) and DPI + (needed if some sizes in the current object are specified in ). + Can be null, but in that case the current object must not contain sizes + specified in document default units or pixels. + The newly created object. + + + + Creates an instance of the class, + and initializes it with the properties of the current object. + + The newly created object. + + + + Compares the properties of two objects. + + The first object to compare. + The second object to compare. + True if the two objects' properties are identical, false otherwise. + + + + Retrieves the locale-specific default paper size for the current locale. + + OUT: The width of the default paper. + OUT: The height of the default paper. + OUT: The width of default margins. + OUT: Unit of measurement used to express the sizes (width, height and margin). + + + + Creates a new instance of the class. + If is true, + initializes the newly created object with settings based on the current + printer (specified by ). + Otherwise, initializes the newly created object with default system locale settings. + + The newly created object. + + + + Gets or sets a value indicating whether to use the printer paper size + when generating the document. + This property does not affect the values of + , + , + and + properties. + + + + + Gets the object containing the current . + Null is returned if the current object does not belong to a . + + + + + Gets or sets a value indicating whether the page is printed in landscape or portrait orientation. + Changing this property swaps the page height and width. + + + + + Gets or sets the width of the paper. + + + + + Gets or sets the height of the paper. + + + + + Gets or sets the paper kind. + Changing of this property may change and/or . + + + + + Gets or sets a value indicating whether the page should be printed in color. + + + + + Gets or sets the left margin. + + + + + Gets or sets the top margin. + + + + + Gets or sets the right margin. + + + + + Gets or sets the bottom margin. + + + + + Gets or sets the desired paper source kind. + + + + + Gets or sets the name of the paper source. + + + + + Gets or sets the desired printer resolution kind. + + + + + Provides for the class. + + + + + Tests whether an object of the specified type can be converted to the type of this converter. + + An that provides a format context. + A that represents the type to convert from. + True if this converter can perform the conversion, false otherwise. + + + + Converts the given value object to the specified type. + + An that provides a format context. + A . If a null reference (Nothing in Visual Basic) is passed, the current culture is assumed. + The object to convert. + The to convert the value parameter to. + An Object that represents the converted value. + + + + Specifies the persistence format. + + + + + Specifies the original C1Preview for .NET 2.0 format + (a document is represented by a single XML file). + + + + + Represents a ComponentOne Document. + + + + + Defines a class that can expose a Style property (of the type ). + + + + + Retrieves the value of an ambient property. + + The property key. + to use for evaluation of calculated properties. + The property value. + + + + Retrieves the value of a non-ambient property. + + The property key. + to use for evaluation of calculated properties. + The property value. + + + + Gets the value of a style property existing on the current object + (does not attempt to resolve properties not explicitly defined on the current object). + + The property key (any of the Style.c_propXXX constants). + that should be used to get calculated properties. + The property value. + + + + Gets the parent for ambient properties. + + + + + Gets the style of the current . + + + + + Gets the dictionary object used to store images. + + + + + For internal use only. + Describes an interface allowing an object that implements it to receive + notifications about changes from . + + + + + Called when the owned collection is being cleared. + + The that is being cleared. + + + + Called after the owned collection has been cleared. + + The that has been cleared. + + + + Called when an item is about to be inserted into the owned collection. + + The into which the item is about to be inserted. + The index of the item that is being inserted. + The item that is being inserted. + + + + Called after an item has been inserted into the owned collection. + + The into which the item has been inserted. + The index of the item that has been inserted. + The item that has been inserted. + + + + Called when an item is about to be removed from the owned collection. + + The from which the item is about to be removed. + The index of the item that is being removed. + The item that is being removed. + + + + Called after an item has been removed from the owned collection. + + The from which the item has been removed. + The index of the item that has been removed. + The item that has been removed. + + + + Called when an item is about to be set in the owned collection. + + The in which the item is about to be set. + The index of the item that is being set. + The old value of the item that is being set. + The new value for the item that is being set. + + + + Called after an item has been set in the owned collection. + + The in which the item has been set. + The index of the item that has been set. + The old value of the item that has been set. + The new value for the item that has been set. + + + + Describes a location within a + (used e.g. as the target of a hyperlink etc.). + The location is identified by a page and a rectangle on that page. + The rectangle's unit of measurement is determined by the document's + property. + Classes that implement this interface are + , and . + + + + + For internal use. + + + + + For internal use. + + + + + + Increment this constant (minor version) every time when you change the + serializable properties / objects of C1PrintDocument or nested objects. + + + + + Holds the AssemblyVersion of all preview/reports product dlls. + Used to get access to the assembly version of this dll from "client" code. + + + + + Initializes a new instance of the class. + + + + + Indicates whether the property should be serialized. + + True if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + True if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + True if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + True if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + True if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + True if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + True if should be serialized, false otherwise. + + + + Resets all document's properties to default values. + + + + + Called when the property value has changed. + + + + + Called when the property value has changed. + + + + + Called when the property value has changed. + + + + + Called to indicate the progress of document generating. + + How much is complete (from 0 to 1). + Whether the generating can be cancelled. + Returns true if generation is *not* aborted. + + + + Performs some initializations: creates the sub-objects (PageHeader, PageFooter etc) + initializes DefaultPageSettings and so on. + + + + + Returns the array of fonts used in document. + + Returns the array of Font objects. + + + + Returns the object with all fonts + used in this document. + + The object. + + + + Creates the Graphics object with specified dpi. + + The requested dpi. + OUT: Created graphics object or null if it can't be created for specified dpi. + OUT: Device context handle used to create Graphics object, it can be IntPtr.Zero if Graphics was created with FromHwnd method. + + + + Clears the current document, sets all properties to their default values. + + + + + Saves the current document to a disk file. The persistense format + ( or ) + is determined by the specified file extension. The save format defaults + to if the format cannot be determined from the extension. + + The target file name. + + + + + Saves the current document to a disk file using the specified format. + + The target file name. + The document persistence format to use. + + + + Saves the current document to a stream using the format. + + The target stream. + + + + Saves the current document to a stream using the specified format. + + The target stream. + The document persistence format to use. + + + + Selects a device to use for . + + This method looks for a printer with a "square" resolution + (i.e. with the same horizontal and vertical DPI) equal to or larger than 300 DPI. + If such a printer is found, it is assigned to , + and is set to . + Otherwise, is set to . + + The selected device's resolution is returned by . + + + + + Gets or sets the value limiting the maximum number of pages + in the generated document. + + The default value is -1, indicating that the number of pages + in the document is unlimited. + + + This property is only taken into account when the document is + created using the method. + + + + + + Gets the document creation mode. + + + + + Gets or sets the resolution (DPI) used during document creation. + Note that if is , + this is also the resolution of ResolvedUnit pixels. + + + + + Gets or sets the object used when the document is created. + That Graphics is used to calculate text sizes, measure RTF text, and so on. + + + + + Gets the current busy state of the current document. + + + + + Gets or sets the type of metafiles created by the current document. + The default is . + + + + + Gets or sets the object containing the information + about the current document (such as author, company, and so on). + + + + + Gets or sets the value that will be used + to specify the resolved sizes of objects within the current document + (e.g. the sizes of objects representing the + render objects in the document). + + This property cannot be changed when the document is generating + (i.e. while returns true). + + + + + + Gets or sets the default page layout for the current document. + This property is a shortcut for . + (A page layout includes page settings, page headers and footers, and column definitions.) + + + + + Gets the page layouts used in the current document. + In addition to the default layout which is always present, special layouts + may be defined for first, last, even and odd pages of the document. + The effective layout for each page is then produced by merging all applicable layouts. + + + + + Gets or sets the stacking rules for the current document. + The default value is . + + + + + Gets or sets the default unit of measurement for the current document. + This unit is used when sizes or coordinates of objects within the document + are set without specifying the unit of measurement explicitly. + The default value is . + + + + + Gets the object representing the body of the current document. + + + + + Gets the representing the collection + of user-defined objects in the current document. + + + + + Gets or sets the string used as the opening parentheses when including references to objects + in the current document's texts (e.g. in or ). + To include a TagOpenParen string itself in a text, prepend it with the string. + The default value is "[". + + + + + Gets or sets the string used as the closing parentheses when including references to objects + in the current document's texts (e.g. in or ). + To include a TagCloseParen string itself in a text, prepend it with the string. + The default value is "]". + + + + + Gets or sets the string that can be used to escape and . + To include a TagEscapeString string itself in a text, duplicate it. + The default value is "\". + + + + + Gets or sets a value indicating whether an exception should be raised if an error occurs + while the current document generates. + If this property is false, the method will return false + if errors occurred while generating, otherwise an exception will be thrown + on the first error. + The default value is false. + + + + + Gets or sets a value indicating whether methods can be called on the current document + that would result in the document becoming non-reflowable (such as ). + If this property is false, calling such methods will result in an exception. + If this property is true, calling such methods will set the + flag to false on the current document. + The default value is false. + + + + + Gets or sets a value indicating whether to clip the content + of the current document to page margins. + The default value is false. + + + + + Gets or sets a value indicating whether the end user should be allowed + to reflow the document with different page settings. This value is only a hint + to the document viewer, it is the viewer's responsibility to respect that hint. + The default value is false. + + + + + Gets or sets a value indicating whether all text in the current document + should be rendered using the GDI+ text API. + The default value is false. + + + + + Gets or sets a value indicating whether the current + should handle Windows messages while generating. + The default value is false. + + + Setting this property to true allows users to resize forms, click buttons, etc. while documents are + being generated. This makes applications more responsive, and is necessary if you want to provide a + "Cancel" button to stop the document generation (otherwise the user wouldn't be able to click the + button until the generation is complete). + Setting this property to false will cause documents to generate slightly faster. + + + The code below implements "Generate" and "Cancel" buttons attached to a . + The "Generate" button checks whether the document is busy before starting to generate it. + This is necessary because the user could click the "Generate" button several times in a row, before the document got a + chance to finish generating. (Calling the method while the component is busy throws an + exception.) + The "Cancel" button checks whether the document is currently generating, and sets the + property to true if it is. + + _doc.DoEvents = true; + + private void Generate_Click(object sender, EventArgs e) + { + if (_doc.BusyState != BusyStateEnum.Ready) + Console.WriteLine("Cannot generate now, document is busy"); + else + _doc.Generate(); + } + private void Cancel_Click(object sender, EventArgs e) + { + if (_doc.BusyState != BusyStateEnum.Ready) + _doc.Cancel = true; + else + Console.WriteLine("Document is not generating, nothing to cancel"); + } + + + + + + Gets the main (root) of the current document. + + + + + Gets the representing the collection of + objects of the current document. + + + + + Gets the current document's . + The Dictionary can be used to contain reused resources + (e.g. images used in multiple places in the document). + + + + + Gets or sets a value indicating whether to add messages to the + current document's collection + when script errors are found. + The default value is false. + + + + + Gets or sets a value indicating whether a dialog allowing to input values for some or all + of the user defined tags (elements of the collection) should be shown + to the user before the document generates. To include or exclude tags from the dialog, + use . + The default value is false. + + + + + Gets or sets the type of form that is to be used to input tag values + (the form will be shown if is true). + The form type must be derived from . + + + + + Gets or sets the type name of form that is to be used to input tag values + (the form will be shown if is true). + The form type must be derived from . + + + + + Gets or sets a value indicating whether the default page settings are + retrieved from the default printer (may slow things down if the printer + is a network one) or calculated based on the current locale. + + + + + Gets a string representing the version of the document persistence format + supported by the current assembly. + This version is used to check persisted documents' compatibility. + Versions are backwards-compatible, but not vice versa + (i.e. a document persisted using a newer version of + may be unreadable by an older version). + + + + + Gets a object representing the version of the document persistence format + supported by the current assembly. + This version is used to check persisted documents' compatibility. + Versions are backwards-compatible, but not vice versa + (i.e. a document persisted using a newer version of + may be unreadable by an older version). + + + + + Gets the resolution (DPI) of the object. + + + + + Gets or sets the name of the printer used to provide + used to measure/calculate layouts of objects. + This property is only used if is set to . + + + + + Gets or sets the type of device used to provide + used to measure/calculate layouts of objects. + If this property is set to , + specifies the printer. + + + + + Gets the object + used to measure/calculate layouts of objects. + + + + + Occurs when the property value has changed. + + + + + Occurs when the property value has changed. + + + + + Occurs periodically during document generation. + Allows to provide progress indication and the ability to cancel generation to the user. + + + + + Occurs when the property value has changed. + + + + + For internal use. + + + + + For internal use. + + + + + + For internal use. + + + + + + + The base class for types of objects that can be inserted in a 's . + Derived classes include and . + + + + + + For internal use only. + Elements of an must implement this interface. + + + + + Gets or sets the owner of the collection item. + + + + + Initializes a new instance of the class. + + The name of the . + + + + + Gets the object that is the owner of the current item. + + + + + Gets or sets the name of the current item. + The name must be unique within the containing the item. + + + + + Represents a dictionary within a . + The dictionary allows to store an object such as an image or an icon once, + and reuse it throughout the document. + Items contained in the dictionary must have types derived from + (e.g. or ). + + + + + Describes a collection with an owner. + Base class for and . + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The collection owner. + + + + Called when the collection is about to be cleared. + + + + + Called after the collection has been cleared. + + + + + Called when an item is about to be iserted. + + The item index. + The item. + + + + Called after an item has been inserted. + + The item index. + The item. + + + + Called when an item is about to be removed. + + The item index. + The item. + + + + Called after an item has been removed. + + The item index. + The item. + + + + Called when an item is about to be set. + + The item index. + The old item. + The new item. + + + + Called after an item has been set. + + The item index. + The old item. + The new item. + + + + Gets the type of items in the collection. + If this method returns null, items of different types can be added to the collection. + Otherwise, only items of the type this method returns can be added. + + + + + For internal use. + + + + + + + For internal use. + + + + + + + For internal use. + + + + + + For internal use. + + + + + + + For internal use. + + + + + + + Clears the current collection, and copies the items from another one. + The items are copied by cloning, and must support the + interface (if an item that does not support is encountered, an exception occurs). + + The to copy items from. + + + + Searches for the specified Object and returns the zero-based index + of the first occurrence within the entire collection. + + The Object to locate in the collection. The value can be a null reference. + The zero-based index of the first occurrence of value within the entire collection, if found; otherwise, -1. + + + + Swap two items in collection. + + Index of first item. + Index of second item. + + + + Gets the owner of collection. + + + + + Called when the dictionary has been cleared. + + + + + Called when an item has been removed from the dictionary. + + The index of the removed item. + The removed item. + + + + Called when an item in the dictionary has been set. + + The index of the item. + The old value. + The new value. + + + + Called when an item in the dictionary is about to be set. + + The index of the item. + The old value. + The new value. + + + + Called when an item is about to be inserted into the dictionary. + + The index where the item is to be inserted. + The item value. + + + + Gets the type of items that can be added to this dictionary. + + The type. + + + + Adds an item to the current dictionary. + + The to add. + The index of the newly added item in the current dictionary. + + + + Removes an item from the current dictionary. + + The to remove. + + + + Searches for a with the specified in the current dictionary. + + The name to search for. + The index of the item that was found, or -1. + + + + Gets the object that is the owner of the current dictionary. + + + + + Gets the with the specified name. + + + + + Gets or sets the at the specified index. + + + + + Represents an stored in a . + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The name of the current item. + + + + Initializes a new instance of the class. + + The name of the current item. + The image to store in the current item. + + + + Indicates whether the property should be serialized. + + True if should be serialized, false otherwise. + + + + Indicates whether the OpenXmlImage property should be serialized. + + True if OpenXmlImage should be serialized, false otherwise. + + + + Gets or sets the stored by the current . + + + + + Represents an stored in a . + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The name of the current item. + + + + Initializes a new instance of the class. + + The name of the current item. + The icon to store in the current item. + + + + Indicates whether the property should be serialized. + + True if should be serialized, false otherwise. + + + + Indicates whether the OpenXmlIcon property should be serialized. + + True if OpenXmlIcon should be serialized, false otherwise. + + + + Gets or sets the stored by the current . + + + + + For internal use only. + This interface should be implemented by a class if it needs to hold a link (reference) + to an object in a . + + + + + Gets the where the is stored. + + + + + The base class describing a link (reference) to a . + Provides the base functionality, derived classes such as and + represent links to specific type of dictionary items. + + + + + Initializes a new instance of the class. + + The owner of this instance. + + + + Gets the data representing the item. + + The data representing the item. + + + + Assigns (copies) properties from another to the current object. + + + + + + For internal use. + + + + + Gets the owner of the current dictionary item. + + + + + Gets or sets data representing the object stored in the dictionary. + + + + + Gets or sets the name of the item in the dictionary. + + + + + Specializes the class to represent a link to an . + + + + + Initializes a new instance of the class. + + The owner of this instance. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Gets the data representing the item. + + The data representing the item. + + + + Gets or sets the associated with the current item. + + + + + Specializes the class to represent a link to an . + + + + + Initializes a new instance of the class. + + The owner of this instance. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + For internal use. + + + + + + Gets the data representing the item. + + The data representing the item. + + + + Gets or sets the associated with the current item. + + + + + Represents the body of a . + The body is the main part of a document presenting visible content, + and can be accessed via the property on the document. + (The only other parts presenting visible document content are page headers and footers.) + + + + + Gets the object containing this . + + + + + Gets the stacking rules for the current . + Use to set the stacking rules. + + + + + Gets a value indicating whether the current contains any render objects + (i.e. whether the collection exists and is not empty). + + + + + Gets the collection of elements contained within the current . + + + + + Enumerates the fields stored by the class. + + + + + No fields. + + + + + The title of the document. + + + + + The author of the document. + + + + + The person who last made changes to the document. + + + + + The manager of the author. + + + + + The company of the author. + + + + + The subject of the document. + + + + + The document comments. + + + + + The date and time when the document was created. + + + + + The date and time when the document was last modified. + + + + + The application that created the original document. + + + + + The keywords for the document. + + + + + The application that created the document. + + + + + All fields. + + + + + Represents general information about a , + such as author, subject, creation date and time, and so on. + Can be accessed via the property on a document. + + + + + Initializes a new instance of the class. + + + + + Indicates whether the current object should be serialized. + + true if the current object should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Assigns (copies) properties from another to the current object. + + The source object to copy properties from. + + + + Creates a copy of the current object. + + The newly created object. + + + + Returns the collection of the current object + as a single space-delimited string. + + + + + + Assigns the collection on the current object + from a single string containing the space-delimited list of keywords. + (Note that the collection is cleared by this method prior to assignment.) + + The space-delimited list of keywords. + + + + Gets or sets the title of a document. + + + + + Gets or sets the author of a document. + + + + + Gets or sets the person who last made changes to a document. + + + + + Gets or sets the date and time when a document was created. + + + + + Gets or sets the date and time when a document was last modified. + + + + + Gets or sets the subject of a document. + + + + + Gets or sets the application that created a document. + + + + + Gets or sets the application that created the original document. + + + + + Gets or sets the company of a document's author. + + + + + Gets or sets the keywords for a document. + + + + + Gets or sets the manager of the author. + + + + + Gets or sets the comment. + + + + + Gets the of custom user defined string keys and strings associated with a document. + + + + + Represents an providing a fast search for the contained elements. + + + + + Performs a fast search for the specified object within the current . + + The object to search for. + OUT: the index of within the current list, or 0 if the object was not found. + true if was found, false otherwise. + + + + Adds an object implementing the interface to the current list. + + The object to add (if the current list already contains this object, an exception is thrown). + The index of the added object in the current list. + + + + Removes the element at the specified index from the current list. + + The index of the element to remove. + + + + Removes the specified element from the current list. + + The element to remove. + + + + Clears the current . + + + + + Returns the index of the specified object in the current . + (Performs a fast search using the method.) + + The object to search for. + The index of the specified object within the current list, or -1 if none was found. + + + + Gets the used internally to store the elements of the current . + + + + + Represents an that fires events when changing. + + + + + Initializes a new instance of the . + + + + + + Called when the collection is about to be cleared. + Fires the event. + + + + + Called after the collection has been cleared. + Fires the event. + + + + + Called when an item is about to be iserted. + Fires the event. + + The item index. + The item. + + + + Called after an item has been inserted. + Fires the event. + + The item index. + The item. + + + + Called when an item is about to be removed. + Fires the event. + + The item index. + The item. + + + + Called after an item has been removed. + Fires the event. + + The item index. + The item. + + + + Called when an item is about to be set. + Fires the event. + + The item index. + The old item. + The new item. + + + + Called after an item has been set. + Fires the event. + + The item index. + The old item. + The new item. + + + + Occurs when a change is about to be made to the current collection. + + + + + Occurs after a change has been made to the current collection. + + + + + Describes the type of a change to a collection. + + + + + Item is inserted. + + + + + Item is set (changed). + + + + + Item is deleted. + + + + + Collection is cleared. + + + + + Represents the method that will handler an event occuring when + collection changing. + + The source of event. + The parameters of event. + + + + Contains data about change events. + + + + + Initializes a new instance of the class. + + The collection change type. + The old item, or null. + The new item, or null. + The item index, or -1. + + + + Initializes a new instance of the class. + + + + + Gets the type of collection's changing. + + + + + Gets the old object at specified index. + + + + + Gets the new object at specified index. + + + + + Gets the index within collection where changing occurs. + + + + + Represents an absolute or relative page numbering change in a . + + + + + Initializes a new instance of the class. + + The page numbering mode. + The page numbering value (semantics depend on ). + + + + Gets the page number changed by the current object. + + The current page number. + The page number after the change. + + + + Converts the current object to a string. + + The string representing the current object. + + + + Converts a string to a object. + + The string to convert. + Indicates whether an exception should be thrown if the specified string cannot be converted. + The created object, + or null if the string could not be converted and is false. + + + + Gets or sets a value determining the page numbering change + represented by the current object. + + + + + Gets or sets the absolute page number or increment. + The semantics of this property depend on the value of the property. + + + + + Represents a type converter for . + + + + + The abstract base class for type converters that can convert to/from strings. + + + + + Converts a string to an object. + + An that provides a format context. + The string to convert. + The converted object. + + + + Converts an object to a string. + + An that provides a format context. + The object to convert. + The converted string. + + + + For internal use only. + + + + + + + + For internal use only. + + + + + + + + For internal use only. + + + + + + + + + For internal use only. + + + + + + + + + + Converts a string to a object. + + An that provides a format context. + The string to convert. + The converted value. + + + + Converts an object to a string. + + An that provides a format context. + The object to convert. + The converted string. + + + + Defines the stacking rules: block or inline flow, + top to bottom or left to right for block flow. + + + + + Objects are placed one beneath another within the container. + When the bottom edge of the current page is reached, a new page is added. + This is the default. + + + + + Objects are placed one next to another, from left to right. + When the right edge of the current page is reached, a new horizontal page is added + (a horizontal page logically extends the preceding page to the right; + C1PreviewPane respects this location by default, showing such pages in a row). + + + + + Objects are placed inline, one next to another, from left to right. + When the right edge of the current page is reached, the sequence wraps to the next line. + A new page is added when the bottom of the current page is reached. + + + + + Defines the device (printer or screen) used to measure the elements of a . + + + + + Use printer device to measure document elements. + + + + + Use system screen device to measure document elements. + + + + + Defines the generation mode of a . + + + + + The document was not generated, its creation mode is unknown at this time. + + + + + The document was created by a call to the method. + + + + + The document was created by calls to the and + methods. + + + + + Describes the type of a page numbering change in a . + + + + + Set page number to absolute value. + + + + + Change the page number on specified value. + + + + + Describes the busy state of a . + + + + + The document is not busy. + + + + + The document is currently generating. + + + + + The document is currently saving. + + + + + The document is currently loading. + + + + + For internal use only. + Provides graphics-related static helper methods and properties. + + + + + Reads a from a byte array. + + The byte array containing the data. + The newly created . + + + + + Writes a to a byte array. + + The to write. + The byte array containing the data. + + + + + Serializes a to a . + + The to serialize. + The target . + + + + + + Serializes a to a disk file. + + The to serialize. + The target file name. + + + + + Saves an to a . + + The to save. + The to use for saving the image + (ignored if the image is a ). + The object containing image data, or null if an error occurred while saving. + + Unlike the standard method, + this method saves objects as metafiles, without any conversions + (the standard method converts metafiles to PNG format prior to saving). + + + + + + Saves an to a . + + The to save. + The to use for saving the image + (ignored if is a , and is true). + If true, metafiles are saved without conversion, ignoring . + Otherwise, the image is saved in the specified format. + The object containing image data, or null if an error occurred while saving. + + Unlike the standard method, + this method is able to save objects as metafiles, without any conversions + (the standard method converts metafiles to PNG format prior to saving even if such conversion is not requested). + + + + + + Returns for the specified image format, + or null. + + The image format (e.g. as returned by ). + The corresponding or null if none was found. + + + + Tests whether the specified color is invisible + (i.e. equals or ). + + The color to test. + true if the specified color is invisible, false otherwise. + + + + Returns the logical and physical screen resolution. + + OUT: the logical horizontal resolution. + OUT: the logical vertical resolution. + OUT: the physical horizontal resolution. + OUT: the physical vertical resolution. + + + + For internal use. + + + + + Gets the physical horizontal resolution of the screen. + + + + + Gets the physical vertical resolution of the screen. + + + + + Gets the logical horizontal resolution of the screen. + + + + + Gets the logical vertical resolution of the screen. + + + + + If an object implements this interface, it can be seamlessly rendered + in a via a . + + + + + Gets the content of control as Image. + + The Image object representing a control content. + + + + Gets the content of control as C1 document + that is serialized in stream. + This document can be built with using C1PrintDocumentClient. + + The stream object containing the document tree. + + + + Describes the direction in which the new page should be started. + + + + + Type of page (vertical or horizontal) + is determinated on the basis of the current stacking rules. + Vertical page is added if Stacking is StackingRulesEnum.BlockTopToBottom. + + + + + Vertical page direction - i.e. logically the next page is below the current one. + + + + + Horizontal page direction - i.e. logically the next page is to the right of the current one. + + + + + The base type for classes describing layout-releated + changes that are applied to a before or after a + if assigned to or + on that object. + + Derived classes include + , + , + and + . + + + + + + Assigns (copies) properties from another to the current object. + + The source object to copy properties from. + + + + Creates a copy of the current object. + + The newly created object. + + + + Describes layout-related changes associated with a . + When an instance of this class is assigned to + or on that object, + a page break is inserted before of after that object, + and layout changes described by the instance are applied to the new page. + + + + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The to assign to the property of the current instance. + + + + Assigns (copies) properties from another to the current object. + + The source object to copy properties from. + + + + Gets or set the to apply to the new page. + + + + + Gets or sets the of the new page. + + + + + Gets or sets a value indicating whether the currently active page layout + should be saved in a stack before applying this , + to be restored after the associated has been fully rendered. + + + + + Describes layout-related changes associated with a . + When an instance of this class is assigned to + or on that object, + a column break is inserted before of after that object, + and layout changes described by the instance are applied. + + + + + + + + + Describes layout-related changes associated with a . + When an instance of this class is assigned to + or on that object, + and the current is , + a line break is inserted before of after that object, + and layout changes described by the instance are applied. + + + + + + + + + Describes layout-related changes associated with a . + When an instance of this class is assigned to + or on that object, + layout changes described by the instance are applied + to the next new page (but no immediate page break is caused by this class). + + + + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The to assign to the property of the current instance. + + + + Assigns (copies) properties from another to the current object. + + + + + + Gets or set the to apply to the next page. + + + + + Describes arguments for the event fired periodically by a potentially + long operation. Allows to provide feedback to the user and may also + allow to cancel the operation. + + + + + Creates a new instance of LongOperationEventArgs with default + properties (Complete=0, CanCancel=false). + + + + + Creates a new instance of LongOperationEventArgs with the + specified complete value and CanCancel=false. + + How much is complete (from 0 to 1). + + + + Creates a new instance of LongOperationEventArgs with the + specified complete and CanCancel values. + + How much is complete (from 0 to 1). + Whether the operation can be cancelled. + + + + Creates a new instance of LongOperationEventArgs with the + specified CanCancel value and Complete=0. + + Whether the operation can be cancelled. + + + + Gets the approximate completed ratio, from 0 (0% complete) to 1 (100% complete). + + + + + Gets the value indicating whether the event handler can cancel the current long operation + by setting the property to true. + + + + + Gets or sets a value indicating whether the current long operation + should be cancelled. (This property is ignored if is false.) + + + + + Represents a method that can handle a long operation event. + + The source of the event. + A that contains event data. + + + + Represents an of uniquely-named elements. + + + + + Initializes a new instance of the class. + + The collection owner. + + + + Gets the type of collection elements. + + The type. + + + + Called after the collection has been cleared. + + + + + Called after an item has been removed. + + The item index. + The item. + + + + Called after an item has been set. + + The item index. + The old item. + The new item. + + + + Called when an item is about to be set. + + The item index. + The old item. + The new item. + + + + Called when an item is about to be iserted. + + The item index. + The item. + + + + Returns the 0-based index of a + with specified name in the current . + + The name of the item to locate. + The 0-based index of the specified item, or -1 if the item was not found. + + + + Represents an element of a . + + + + + For internal use. + + + + + + Sets the name of the current item. + + The new name of the item. + + + + Assigns (copies) properties from another to the current object. + + The source object to copy properties from. + + + + Creates a copy of the current object. + Note that the property is not copied to the new object. + + The newly created object. + + + + Gets the containing the current object. + + + + + Gets or sets the unique name of the current object. + If an item with the specified name already exists in the collection, + an exception is thrown. + + + + + Represents an outline node within a . + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The node caption. + The location within a document associated with the current node. + + + + Initializes a new instance of the class. + + The node caption. + The location within a document associated with the current node. + The icon associated with the current node. + + + + Gets the containing the current node. + + + + + Gets the which is the parent of the current node. + + + + + Gets the nesting level of the current node within the nodes' tree + (top-level nodes have level 0). + + + + + Gets or sets the associated with the current node. + + + + + Gets or sets the UI string used to represent the current node. + + + + + Gets or sets the icon used to represent the current node. + + + + + Gets or sets the name in the of the icon used to represent the current node. + + + + + Gets the collection of child nodes of the current node. + Note that accessing this property initializes the collection if it has not been initialized yet. + To test whether there are child nodes without this side effect, use the property. + + + + + Gets a value indicating whether the collection of the current node + has been initialized and contains at least one element. + + + + + Gets the that is the root of the current node tree. + + + + + Gets the containing the current node tree. + + + + + Represents a collection of elements. + + + + + Gets the type of elements in this collection. + + The type. + + + + Adds a node to the current collection. + + The node to add. + The index of the newly added node in the current collection. + + + + Adds a node with the specified caption and location to the current collection. + + The caption of the node to add. + The location associated with the node. + The index of the newly added node in the current collection. + + + + Adds a node with the specified caption, location and icon to the current collection. + + The caption of the node to add. + The location associated with the node. + The icon associated with the node. + The index of the newly added node in the current collection. + + + + Removes a node from the current collection. + + The node to remove. + + + + Gets or sets the element at the specified index. + + The index in the current collection. + The element at the specified index. + + + + Represents the properties of a page column. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + A string that is converted to a value representing the of the current column. + A string that is converted to a value representing the of the current column. + + + + Initializes a new instance of the class. + + A value representing the of the current column. + A a value representing the of the current column. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Creates a copy of the current object. + + The newly created object. + + + + Assigns (copies) properties from another to the current object. + + The source object to copy properties from. + + + + Compares the properties on the current object to another . + + The to compare the current object with. + true if the properties of the two objects are equal, false otherwise. + + + + Gets or sets the width of the current column. + The default column width is "auto". + + + + + Gets or sets the spacing between the current and next columns. + The default column spacing is 5mm. + + + + + Represents a type converter for . + + + + + Tests whether the current converter can convert this object to the specified type. + + The converter context. + The target type. + true if the object can be converted, false otherwise. + + + + Converts the object to the specified type. + + The converter context. + The culture. + The value to convert. + The target type. + The converted object. + + + + Represents a collection of objects. + + + + + Adds a to the current collection. + + The to add. + The index of the added in the current collection. + + + + Adds a new initialized with the specified width and spacing to the current collection. + + The of the new column definition. + The of the new column definition. + The index of the added in the current collection. + + + + Adds a new initialized with the + default and to the current collection. + + The index of the added in the current collection. + + + + Inserts a into the current collection. + + The index at which to insert the specified . + The column definition to insert. + + + + Removes a from the current collection. + + The column definition to remove. + + + + Returns the index of the specified in the current collection. + + The to search for. + The index of the specified column definition in the current collection. + + + + Compares the current collection to another. + Uses the to compare elements + elements at the corresponding positions by their properties' values. + + The to compare the current with. + true if the two collections have the same elements at the same positions, false otherwise. + + + + Gets or sets the element at the specified index. + + The index in the current collection. + The element at the specified index. + + + + Identifies the set of pages to which a page layout is applied in a . + + + + + The current page layout is not a member of any document's PageLayouts collection. + + + + + The current page layout is the default for a document. + + + + + The current page layout is to be used for the first page of a document. + + + + + The current page layout is to be used for the last page of a document. + + + + + The current page layout is to be used for even pages of a document. + + + + + The current page layout is to be used for odd pages of a document. + + + + + Represents the page layout of a . + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The page settings to use. + + + + Initializes a new instance of the class. + + The page settings to use for the current page layout. + The column defitions to use for the current page layout. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Copies properties from another PageLayout object. + This method used internally within C1PrintDocument + during report generation. + + + + + Mix this PageLayout object with specified PageLayout object. + + The PageLayout object that should be mixed with this object. + + + + Returns true if PageLayout has no redefined fields. + + + + + Compares this PageLayout with other PageLayout object. + + PageLayout object to compare to. + Returns true if this PageLayout object equals other PageLayout object. + + + + Calculates the count of render objects used in this PageLayout object. + + Returns the count of render objects used in this PageLayout object. + + + + Creates a copy of the current object. + All nested objects (render objects, page settings etc.) are cloned on the new object. + + The newly created object. + + + + Assigns (copies) properties from another to the current object. + All nested objects (render objects, page settings etc.) are cloned. + + The source object to copy properties from. + + + + Clears the current object. + + + + + Gets the containing the current object. + + + + + Gets the associated with the current + in the document. + If is null, is returned. + + + + + Gets or sets the object associated with the current page layout. + + + + + Gets or sets the page header associated with the current page layout. + + + + + Gets or sets the page footer associated with the current page layout. + + + + + Gets or sets the watermark associated with the current page layout. + + + + + Gets or sets the overlay associated with the current page layout. + + + + + Gets or sets a value indicating whether the collection + on the current page layout has been initialized and is not empty. + + + + + Gets the collection of objects for the current page layout. + Note that accessing this property initializes the collection of column definitions + if it has not been initialized yet. + Use to test whether any columns have been defined on this layout. + + + + + Represents the standard page layouts used in a + (such as the default page layout, page layout used for first and last pages, + and so on). + + + + + Initializes a new instance of the class. + + The that is the owner of the current instance. + + + + Clears the current object. + + + + + Gets the object that owns the current object. + + + + + Gets the of the specified . + Returns null if the specified kind of page layout has not been specified + for the current . + + The kind of page layout to return. + The page layout with specified kind, or null if it does not exist. + + + + Gets or sets the to use for the first page of the current document. + + + + + Gets or sets the to use for the last page of the current document. + + + + + Gets or sets the to use for even pages of the current document. + + + + + Gets or sets the to use for odd pages of the current document. + + + + + Gets or sets the default for the current document. + The effective page layout for each page is determined by merging this layout + with all other applicable layouts. + The effective layout can be accessed via the property + on the . + + + + + Gets or sets a value indicating whether the page header should + print on the first page of the document. + This property overrides other related properties when set to false. + The default value is true. + + + + + Gets or sets a value indicating whether the page footer should + print on the first page of the document. + This property overrides other related properties when set to false. + The default value is true. + + + + + Gets or sets a value indicating whether the page header should + print on the last page of the document. + This property overrides other related properties when set to false. + The default value is true. + + + + + Gets or sets a value indicating whether the page footer should + print on the last page of the document. + This property overrides other related properties when set to false. + The default value is true. + + + + + Gets or sets a value indicating whether to suppress adding an empty page + at the end of a document if the last object in the document contains + a page break after itself. + The default value is false. + + + + + For internal use only. + A static class providing printer-related utilities. + + + + + Creates the information context for specified printer. + That context can be used for measurement operations, but must NOT be used for drawing. + + The printer name. + The context handle, or IntPtr.Zero if an error occurs. + + + + Gets the resolution of the specified printer. + + The printer name. + A structure where + represents the horizontal, and vertical DPI. + is returned if an error occurs. + + + + Gets the resolution for the specified device context. + + The device context to test. + A structure where + represents the horizontal, and vertical DPI. + is returned if an error occurs. + + + + Tests whether the specified printer name is valid. + + The printer name. + true if the specified printer name is valid, false otherwise. + + + + Searches for a printer with the specified minimal resolution, + and the same horizontal and vertical resolutions. + + The minimum acceptable DPI. + If this parameter is 0, the first available printer with the same horizontal and vertical resolutions is returned. + OUT: The resolution of the found printer, or 0 if a printer was not found. + The name of the found printer, or null if a printer was not found. + + + + + Searches for a printer with the specified minimal resolution, + and the same horizontal and vertical resolutions. + + The minimum acceptable DPI. + If this parameter is 0, the first available printer with the same horizontal and vertical resolutions is returned. + The name of the found printer, or null if a printer was not found. + + + + + For internal use only. + Represents a hashtable of properties and their values. + + + + + Clears the current instance. + + + + + Gets the index of a property in the and arrays. + + The property key. + The 0-based index of the specified property in the and arrays. + + + + Sets the value of a property. + + The property key. + The property value to set. + + + + Deletes a property value from the current . + + The property key to remove. + + + + Gets a value indicating whether the current is empty. + + + + + Tests whether a property is set in the current . + + The property key. + true if the specified property has been set on the current , false otherwise. + + + + Gets the number of properties set on the current . + This value is equal to the number of elements in the and collections. + + + + + Gets the array of property keys set in the current . + + + + + Gets the array of property values set on the current . + + + + + Represents a general-purpose container for other objects. + + + + + The abstract base class for all render objects representing content of a . + + + + + Initializes a new instance of the class. + + + + + For internal use only. + + + + + + Tests whether the property should be serialized. + + True if the property should be serialized, false otherwise. + + + + Tests whether the Flags property should be serialized. + + True if the property should be serialized, false otherwise. + + + + Tests whether the property should be serialized. + + True if the property should be serialized, false otherwise. + + + + Tests whether the property should be serialized. + + True if the property should be serialized, false otherwise. + + + + Tests whether the property should be serialized. + + True if the property should be serialized, false otherwise. + + + + Tests whether the property should be serialized. + + True if the property should be serialized, false otherwise. + + + + Tests whether the property should be serialized. + + True if the property should be serialized, false otherwise. + + + + Tests whether the property should be serialized. + + True if the property should be serialized, false otherwise. + + + + Tests whether the property should be serialized. + + True if the property should be serialized, false otherwise. + + + + Tests whether the property should be serialized. + + True if the property should be serialized, false otherwise. + + + + Tests whether the property should be serialized. + + True if the property should be serialized, false otherwise. + + + + Performs some initializations. + + + + + Gets the default value for the property. + + True. + + + + Gets the default value for the property. + + . + + + + Gets the default value for the property. + + . + + + + Gets the default value for the Flags property. + + 0. + + + + Gets the default value for the property. + + SplitBehaviorEnum.Never + + + + Gets the default value for the property. + + SplitBehaviorEnum.Never + + + + Returns the value of flag. The object has private field: + + private int _flags; + + This field can be used for storing various boolean properties + (CanSplitHorz, CanSplitVert etc), for example CanSplitHorz property defined as: + + public bool CanSplitHorz + { + get { return GetFlag(c_flgCanSplitVert); } + set { SetFlag(c_flgCanSplitVert, value); } + } + + + Mask of flag. + Returns true if specified flag is set. + + + + Sets value of flag. + + + Mask of flag. + Value of flag. + + + + Called after adding new child RenderObject object to the Children collection. + User can throw exception if this object can't be added as the child for this object. + + Child RenderObject object. + + + + Called after removing child RenderObject object from the Children collection. + User can throw exception if this object can't be removed. + + Child RenderObject object. + + + + Called after adding this object to the Children collection + of another object. + User can throw exception if this object can't be added as the child for this object. + + The new parent object for this object. + + + + Called after removing this object from the Children collection + of another object. + + The parent object of this object. + + + + Override this method to perform additional actions when value of the Width property of object is being read. + + + + + Override this method to perform additional actions when value of the Width property of object is being defined. + + + + + Override this method to perform additional actions when value of the Height property of object is being read. + + + + + Override this method to perform additional actions when value of the Height property of object is being defined. + + + + + Override this method to perform additional actions when value of the SplitVertBehavior property of object is being defined. + + + + + Override this method to perform additional actions when value of the SplitHorzBehavior property of object is being defined. + + + + + Gets the value of a child's ambient style property. + + The child . + The style property key. + to use for evaluation of calculated properties. + The style property value. + + + + Gets the value of a child's non-ambient style property. + + The child . + The style property key. + to use for evaluation of calculated properties. + The style property value. + + + + Override this method and return false if you want manually copy of children + objects for this object. This method returns true by default. + + Boolean value indicating that the children objects must be copied in the AssignFrom method. + + + + Override this method to return actual width of object that is used + when document resolved. + + + + + Override this method to return actual height of object that is used + when document resolved. + + + + + Assigns (copies) properties from another to the current object. + The list of fragments (the property) is neither copied nor changed. + Properties , are copied by reference. + The property is not copied. + + The source object to copy properties from. + Indicates whether the property should be copied. + Indicates whether the elements of the collection should be copied. + + + + Assigns (copies) properties from another to the current object. + The list of fragments (the property) is neither copied nor changed. + Properties , are copied by reference. + The property is not copied. + + The source object to copy properties from. + Indicates whether the property should be copied. + Indicates whether the elements of the collection should be copied. + Indicates whether the elements of the collection should be copied. + Indicates whether the property should be copied. + + + + Assigns (copies) properties from another to the current object. + The list of fragments (the property) is neither copied nor changed. + Properties , are copied by reference. + The property is not copied. + + The source object to copy properties from. + Indicates whether the property should be copied. + Indicates whether the elements of the collection should be copied. + Indicates whether the elements of the collection should be copied. + Indicates whether the property should be copied. + Indicates whether the property should be copied. + Indicates whether the property should be copied. + + + + Assigns (copies) properties from another to the current object. + The list of fragments (the property) is neither copied nor changed. + Properties , are copied by reference. + The property is not copied. + + The source object to copy properties from. + + + + Clones the current . + + Indicates whether the property should be cloned. + Indicates whether the property should be cloned. + The newly created object. + + + + Clones the current . + + Indicates whether the property should be cloned. + Indicates whether the property should be cloned. + Indicates whether the property should be cloned. + Indicates whether the property should be cloned. + Indicates whether the property should be cloned. + Indicates whether the property should be cloned. + The newly created object. + + + + Clones the current . + + Indicates whether the property should be cloned. + Indicates whether the property should be cloned. + Indicates whether the property should be cloned. + Indicates whether the property should be cloned. + The newly created object. + + + + Clones the current . + + The newly created object. + + + + Calculates the number of objects which are owned by the current object. + + + This method takes into account: + + Child objects and their children; + Objects which are specified in page layouts (such as PageHeader, PageFooter etc.). + + + The number of owned objects. + + + + Calculates the count of objects which are nested within this object. + This method takes into account child objects and their children. + + Returns the count of nested objects. + + + + For internal use. + + + + + Gets the actual width of object used when document resolved. + This property may differ from Width for example if object is placed + in the table's column with auto-with and Width is "parent.width" then + this property returns auto. + + + + + Gets the actual height of object used when document resolved. + This property may differs from Height for example if object is placed + in the table's row with auto-height and Height is "parent.height" then + this property returns auto. + + + + + The cell of RenderTable containing this object. + + + + + Gets or sets a value indicating how borders are drawn + if the object is too high and is split between pages. + + + + + Gets or sets a value indicating how borders are drawn + if the object is too wide and is split between horizontal pages. + + + + + Gets the most nested containing the current render object, + or null if the current object is not contained in a table. + + + + + + + Gets the 0-based index of the row in the most nested + containing the current render object, or -1 if the current object + is not contained in a table. + + + + + + + Gets the 0-based index of the column in the most nested + containing the current render object, or -1 if the current object + is not contained in a table. + + + + + + + Gets or sets the value indicating whether the object should be clipped. + + + + + Gets the object containing the current . + + + + + Gets the containing the current object, + or null if the current object has no or the owner is not a . + + + + + Gets the index of the current object within the , or -1 if there is no owner. + + + + + Gets the parent containing the current object. + + + + + Gets or sets the name of the current object. + The name can be an empty string. If it is not empty, the name must be unique + among the current object's siblings (i.e. objects with the same ). + + + + + Gets or sets arbitrary data associated with the current object. + + + + + Gets a value indicating whether the current object has children + (i.e. its collection contains at least one element). + + + + + Gets the collection of child render objects. + + + + + Gets or sets the stacking rules used to arrange the children of the current object. + + + For block flow, the alignment of child objects within the flow is determined by the + value of property on the current object, + and the values of properties on the children. + + + + + Gets or sets the value determining how the object is treated + when it is too high to fit in the vertical space available on the current page. + + + + + + Gets or sets the value determining how the object is treated + when it is too wide to fit in the horizontal space available on the current page. + + + + + + Indicates whether the object can be split horizontally if it falls on a page break. + + + + + Indicates whether the object can be split vertically if it falls on a page break. + + + + + Gets or sets the Z-order of the current object. + Objects with smaller Z-order values are drawn under objects with larger Z-order values. + By default, this property is zero. + + + + + Gets or sets the X coordinate of the current object. + + May be specified as auto (), + an absolute value (using ), + an absolute value with unit of measurement (e.g. "12mm"), + or an expression referencing this and other objects (e.g. "prev.right+2mm"). + + + + + + Gets or sets the Y coordinate of the current object. + + May be specified as auto (), + an absolute value (using ), + an absolute value with unit of measurement (e.g. "12mm"), + or an expression referencing this and other objects (e.g. "prev.height/2-self.height/2"). + + + + + + Gets or sets the width of the current object. + + May be specified as auto (), + a percentage of the parent's width (e.g. "50%"), + an absolute value (using ), + an absolute value with unit of measurement (e.g. "12mm"), + or an expression referencing this and other objects (e.g. "Max(prev.width,6cm)"). + + + + + + Gets or sets the height of the current object. + + May be specified as auto (), + a percentage of the parent's height (e.g. "50%"), + an absolute value (using ), + an absolute value with unit of measurement (e.g. "12mm"), + or an expression referencing this and other objects (e.g. "150%prev.height+1in"). + + + + + + Gets or sets the type of break (none, line, column, or page) to insert before the current object. + + + + + Gets or sets the type of break (none, line, column, or page) to insert after the current object. + + + + + Gets or sets the object + defining the change of page layout that will occur before the current object. + + + is an abstract class. + Instances of the following non-abstract classes derived from it can be assigned to this property: + + + Does not insert a break. Provides the ability to change page layout for the next page without interrupting the current flow. + + Inserts a line break in the inline flow. Does not break the block flow. + + Starts a new column in a multi-column layout, or a new page otherwise. + + Starts a new page. + + + + + + Gets or sets the object + defining the change of page layout that will occur after the current object. + + + is an abstract class. + Instances of the following non-abstract classes derived from it can be assigned to this property: + + + Does not insert a break. Provides the ability to change page layout for the next page without interrupting the current flow. + + Inserts a line break in the inline flow. Does not break the block flow. + + Starts a new column in a multi-column layout, or a new page otherwise. + + Starts a new page. + + + + + + Gets the of the current object. + This property cannot be assigned to. To use another style as the base + for the current object's style, set the to that other style. + + + + + Gets or sets a value indicating whether the horizontal borders of the current object + will repeat on all generated fragments when the object is split horizontally. + + + + + Gets or sets a value indicating whether the vertical borders of the current object + will repeat on all generated fragments when the object is split vertically. + + + + + Gets or sets the object + defining the page numbering change that will occur when the current object is rendered. + + + + + Gets or sets the hyperlink (see ) associated with the current object. + + + + + Gets the collection of anchors (elements of the type ) associated with the current object. + + + + + Gets a value indicating whether the current object has any anchors associated with it + (i.e. whether the collection exists and is not empty). + + + + + Gets the object containing the current object, + or null if the current object is not contained in a cell of a . + + + + + Gets or sets a render object which should be printed on the same page + as the current object. The specified object must have the same + as the current object. + + + + + Gets or sets a value indicating the visibility of the current object. + + + + + Initializes a new instance of the class. + + + + + For internal use. + + + + + + Gets the default value for the Flags property. + + Default flags plus CanSplitHorz and CanSplitVert. + + + + Gets the default horizontal split behavior (area is too wide). + + . + + + + Gets the default vertical split behavior (area is too high). + + . + + + + Gets the default area width. + + Parent width. + + + + Assigns (copies) properties from another to the current object. + Calls the base method. + If is a , also copies -specific properties. + + The source object to copy properties from. + Indicates whether the property should be copied. + Indicates whether the elements of the collection should be copied. + Indicates whether the elements of the collection should be copied. + Indicates whether the property should be copied. + Indicates whether the property should be copied. + Indicates whether the property should be copied. + + + + Gets or sets a that is repeated on all pages (or columns) + if the current render area is split vertically when it is too high to fit on + a single page. + + + The specified render object should not be a child of another render object. + It can be a child of the current render area; if it is not, it will be + added to the current render area's collection. + + + + + Gets or sets a that will be repeated on all "horizontal" pages + if the current render area is split horizontally when it is too wide to fit on + a single page. + + + The specified render object should not be a child of another render object. + It can be a child of the current render area; if it is not, it will be + added to the current render area's collection. + + + + + Represents an empty . + Provides a convenient placeholder for things like page breaks and so on, + where no content needs to be rendered. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with specified width and height. + + The width of the current object. + The height of the current object. + + + + Initializes a new instance of the class + with a specified height. + + The height of the current object. + + + + For internal use. + + + + + + Initializes a new instance of the class + with a zero height and a specified value. + + They type of break that is to be inserted after this object. + + + + Represents a drawing on a .NET object + in a . + + + + + Initializes a new instance of the class. + + + + + For internal use only. + + + + + + Indicates whether the content of the current object + should be serialized (i.e. is not empty). + + + + + + For internal use. + + + + + + Assigns (copies) properties from another to the current object. + Calls the base method. + If is a , also copies -specific properties. + + The source object to copy properties from. + Indicates whether the property should be copied. + Indicates whether the elements of the collection should be copied. + Indicates whether the elements of the collection should be copied. + Indicates whether the property should be copied. + Indicates whether the property should be copied. + Indicates whether the property should be copied. + + + + Clears the current object. + + + + + Gets or sets the type of metafile created by the current object. + + + + + Gets the object to draw on. + + + + + Gets the reference used to create the underlying metafile. + This property is simply a shortcut to the property, + and returns null if the current object has not been added + to a yet. + + + + + Represents an image in a . + Can also be used to show an image of a System.Windows.Forms.Control. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class, + assigning the property. + + An that is assigned to the property. + + + + Initializes a new instance of the class, + assigning the property. + + A string that is assigned to the property. + + + + Initializes a new instance of the class, + assigning the property, + and specifying a to use. + + An that is assigned to the property. + A to use + (the method + is used to copy the specified style to the current object's ). + + + + Initializes a new instance of the class, + assigning the property, + and specifying a to use. + + A string that is assigned to the property. + A to use + (the method + is used to copy the specified style to the current object's ). + + + + Initializes a new instance of the class, + assigning the property, + and specifying a to use. + + An that is assigned to the property. + An that is assigned to + of the current object's . + + + + Initializes a new instance of the class, + assigning the property, + and specifying a to use. + + A string that is assigned to the property. + An that is assigned to + of the current object's . + + + + For internal use only. + + + + + + For internal use only. + + + + + + + For internal use only. + + + + + + + For internal use only. + + + + + + + + For internal use only. + + + + + + + + For internal use only. + + + + + + + + For internal use only. + + + + + + + + Assigns (copies) properties from another to the current object. + Calls the base method. + If is a , also copies -specific properties. + + The source object to copy properties from. + Indicates whether the property should be copied. + Indicates whether the elements of the collection should be copied. + Indicates whether the elements of the collection should be copied. + Indicates whether the property should be copied. + Indicates whether the property should be copied. + Indicates whether the property should be copied. + + + + Gets or sets an that is + rendered by the current object. + + + + + Gets or sets the name of an image that is + rendered by the current object. + When the current object renders, the actual image is retrieved by this name + from the of the containing . + + + + + Specifies how borders are drawn when the object is split between pages. + + + + + Borders are not drawn where the object is split. + + + + + Square borders are drawn where the object is split. + + + + + Borders are drawn where the object is split. + If the border is round (see , + ), + round borders are drawn where the object is split. + + + + + Defines the splitting behavior of a render object. + + + + + The object should not be split between pages + (i.e. should always be kept together on a single page). + + + + + The object can be split if it does not fit onto the current page. + + + + + The object can be split only if it is too large to fit on an empty + page. In that case, the object is split immediately. Otherwise, a + new page is started and the object is placed on it without + splitting. + + + + + If the object does not fit on the current page (column), + a new page (column) is started; if the object does not fit + on that page (column), it is split as needed after that. + + + + + Defines the various breaks which can be forced before or after render object. + + + + + No break. + + + + + New page should be started. + + + + + New column should be started. + + + + + New line on inline flow should be started. + + + + + Specifies the visibility of an object. + + + + + Object is visible. + + + + + Object is not visible, but takes up space and affects the layout of other objects as if it were visible. + + + + + Object is not visible, its size is zero and it does not affect the layout of other objects. + + + + + This interface must be implemented by object which works as owner + for the RenderObject objects. + + + + + Represents the collection of RenderObject objects. + + + + + Called after the collection has been cleared. + + + + + Called after an item has been removed. + + The item index. + The item. + + + + Called after an item has been set. + + The item index. + The old item. + The new item. + + + + Called when an item is about to be set. + + The item index. + The old item. + The new item. + + + + Called when an item is about to be iserted. + + The item index. + The item. + + + + Returns typeof(). + + typeof(). + + + + Adds the specified to the current collection. + + The object to add. + The index of the newly added object in the current collection. + + + + Removes the specified from the current collection. + + The object to remove. + + + + Inserts the specified into the current collection. + + The index where to insert the object. + The object to insert. + + + + Searches the current collection for an object with the specified . + + The name to search for. + Index of the object in the current collection, or -1 if no object was found. + + + + Searches the current collection for an object that contains an anchor + with the specified name in its collection. + + The name of the anchor to search for. + OUT: contains the object with the specified name. + Returns the found render object or null if not found. + The object containing the specified anchor, or null if no object was found. + + + + Gets the with the specified . + + + + + Gets or sets the at the specified index. + + + + + Represents a paragraph in a . + Paragraphs can contain inline text and images, possibly rendered using different styles. + The content of a paragraph is accessible via the property. + + + + + The abstract base class for render object types representing text + ( and ) in a . + + + + + Initializes a new instance of the class. + + + + + For internal use only. + + + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + For internal use only. + + + + + + For internal use only. + + + + + + For internal use only. + + + + + + Assigns (copies) properties from another to the current object. + Calls the base method. + If is a , also copies -specific properties. + + The source object to copy properties from. + Indicates whether the property should be copied. + Indicates whether the elements of the collection should be copied. + Indicates whether the elements of the collection should be copied. + Indicates whether the property should be copied. + Indicates whether the property should be copied. + Indicates whether the property should be copied. + + + + Gets a value indicating whether the current object represents a non-empty text. + + + + + Gets the lenght of text represented by the current object. + (Do not use this property to test whether a non-empty text is assigned to the current object, + use instead.) + + + + + Gets the collection of objects representing tab stops + associated with the current text. + + + This method always returns a non-null , + initializing it if it did not exist. + To test whether the current object has any tab stops defined + without creating the collection, + use the property. + + + + + Gets a value indicating whether the collection + has been initialized and contains one or more elements. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class, + specifying a to use. + + A to use + (the method + is used to copy the specified style to the current object's ). + + + + Initializes a new instance of the class, + specifying a to use. + + The default font for the current paragraph. + + + + Initializes a new instance of the class, + specifying the default font and text color. + + The default font for the current paragraph. + The default text color for the current paragraph. + + + + Initializes a new instance of the class, + specifying the default font, text color and horizontal alignment. + + The default font for the current paragraph. + The default text color for the current paragraph. + The horizontal alignment for the current paragraph. + + + + Initializes a new instance of the class, + specifying the default font and horizontal alignment. + + The default font for the current paragraph. + The horizontal alignment for the current paragraph. + + + + Initializes a new instance of the class, + specifying the horizontal alignment. + + The horizontal alignment for the current paragraph. + + + + For internal use only. + + + + + + For internal use only. + + + + + + + For internal use only. + + + + + + + For internal use only. + + + + + + + + For internal use only. + + + + + + + + + For internal use only. + + + + + + + + For internal use only. + + + + + + + Assigns (copies) properties from another to the current object. + Calls the base method. + If is a , also copies -specific properties. + + The source object to copy properties from. + Indicates whether the property should be copied. + Indicates whether the elements of the collection should be copied. + Indicates whether the elements of the collection should be copied. + Indicates whether the property should be copied. + Indicates whether the property should be copied. + Indicates whether the property should be copied. + + + + Gets the representing + the content (text and images) of the current paragraph. + + + This method always returns a non-null , + initializing it if it did not exist. + To test whether a paragraph already contains content + without creating the collection, + use the property. + + + + + Gets a value indicating whether the collection + has been initialized and contains one or more elements. + + + + + Gets a value indicating whether the collection + has been initialized and contains one or more elements. + + This property is an alias for the property. + + + + + + Gets the count of characters in the current paragraph. + Each non-text object (such as ) + counts as one character. + + + + + Gets or sets the text of the current paragraph. + + + + The getter for this property concatenates and returns + the texts of all objects + in the current paragraph. + + + The setter clears the of the current paragraph, + and then adds the specified + as a single . + + + + + + The abstract base class for inline text and images, rendered using a single style, + in the of a object. + + + + + + + Initializes a new instance of the class. + + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + For internal use. + + + + + + Assigns (copies) properties from another to the current object. + + The object to copy the properties from. + + + + Creates a copy of the current object. + + The newly created object. + + + + Gets or sets the associated with the current paragraph object. + + + + + Gets the associated with the current paragraph object. + + + + + Gets the containing + the current paragraph object. + + + + + Gets the containing + the current paragraph object. + + + + + Gets the containing + the current paragraph object. + + + + + Gets the index of the current paragraph object + in the containing . + + + + + Gets the character 0-based position of the current paragraph object + in the text of the paragraph. + + Each non-text paragraph object () + counts as one character. + + + + + + + Gets the length of the current paragraph object in characters. + For non-text objects (), this + property returns 1. + + + + + Gets or sets arbitrary data associated with the current paragraph object. + + + + + Represents a run of text, rendered using a single style, + in the of a . + + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class, + assigning the property, + and specifying the . + + A string assigned to the property of the current object. + A to use + (the method + is used to copy the specified style to the current object's ). + + + + Initializes a new instance of the class, + assigning the property, + and specifying the . + + A string assigned to the property of the current object. + + + + Initializes a new instance of the class, + assigning the property, + and specifying the font. + + A string assigned to the property of the current object. + The font to use. + + + + Initializes a new instance of the class, + assigning the property, + and specifying the text color. + + A string assigned to the property of the current object. + The text color to use. + + + + Initializes a new instance of the class, + assigning the property, + and specifying the text position. + + A string assigned to the property of the current object. + The text position to use. + + + + Initializes a new instance of the class, + assigning the property, + and specifying the font and text color. + + A string assigned to the property of the current object. + The font to use. + The text color to use. + + + + Initializes a new instance of the class, + assigning the property, + and specifying the font and text position. + + A string assigned to the property of the current object. + The font to use. + The text position to use. + + + + Initializes a new instance of the class, + assigning the property, + and specifying the text color and position. + + A string assigned to the property of the current object. + The text color to use. + The text position to use. + + + + Initializes a new instance of the class, + assigning the property, + and specifying the font, text color and position. + + A string assigned to the property of the current object. + The font to use. + The text color to use. + The text position to use. + + + + Returns the length of this ParagraphText object. + + The text length. + + + + Assigns (copies) properties from another to the current object. + + The source object to copy properties from. + + + + Gets or sets the text of the current . + + + + + Represents an inline image + in the of a . + + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class, + assigning the property, + and specifying the . + + An image assigned to the property of the current object. + A to use + (the method + is used to copy the specified style to the current object's ). + + + + Initializes a new instance of the class, + assigning the property. + + An image assigned to the property of the current object. + + + + Initializes a new instance of the class, + assigning the property. + + A string that is assigned to the property. + + + + Returns the length of the current paragraph object. + + 1. + + + + Assigns (copies) properties from another to the current object. + + The source object to copy properties from. + + + + Gets or sets an that is + rendered by the current object. + + + + + Gets or sets the name of an image that is + rendered by the current object. + When the current object renders, the actual image is retrieved by this name + from the of the containing . + + + + + Gets the dictionary associated with this ParagraphImage object. + + + + + Represents a collection of objects + that is the + of a . + + + + + For internal use. + + + + + + Adds a to the current paragraph content. + + The to add. + The index of the added object in the current collection. + + + + Removes a from the current paragraph content. + + The object to remove. + + + + Adds a text string to the current paragraph content. + + The text string to add. + A object representing the specified text string. + + This method creates a , + initializes it with the specified text, and adds it + to the current collection. + + + + + Adds a text string with the specified style to the current paragraph content. + + The text string to add. + The style to use to render the string. + A object representing the specified text string. + + This method creates a , + initializes it with the specified text and style, and adds it + to the current collection. + + + + + Adds a text string with the specified font to the current paragraph content. + + The text string to add. + The font to use to render the string. + A object representing the specified text string. + + This method creates a , + initializes it with the specified text and font, and adds it + to the current collection. + + + + + Adds a text string with the specified text color to the current paragraph content. + + The text string to add. + The text color to use to render the string. + A object representing the specified text string. + + This method creates a , + initializes it with the specified text and text color, and adds it + to the current collection. + + + + + Adds a text string with the specified text position to the current paragraph content. + + The text string to add. + The text position to use to render the string. + A object representing the specified text string. + + This method creates a , + initializes it with the specified text and text position, and adds it + to the current collection. + + + + + Adds a text string with the specified font and text color to the current paragraph content. + + The text string to add. + The font to use to render the string. + The text color to use to render the string. + A object representing the specified text string. + + This method creates a , + initializes it with the specified text, font and text color, and adds it + to the current collection. + + + + + Adds a text string with the specified font and text position to the current paragraph content. + + The text string to add. + The font to use to render the string. + The text position to use to render the string. + A object representing the specified text string. + + This method creates a , + initializes it with the specified text, font and text position, and adds it + to the current collection. + + + + + Adds a text string with the specified text color and position to the current paragraph content. + + The text string to add. + The text color to use to render the string. + The text position to use to render the string. + A object representing the specified text string. + + This method creates a , + initializes it with the specified text, text color and position, and adds it + to the current collection. + + + + + Adds a text string with the specified font, text color and position to the current paragraph content. + + The text string to add. + The font to use to render the string. + The text color to use to render the string. + The text position to use to render the string. + A object representing the specified text string. + + This method creates a , + initializes it with the specified text, font, text color and position, and adds it + to the current collection. + + + + + Adds a text hyperlink to the current paragraph content. + + The text string to add. + The name of the anchor which is the target of the hyperlink. + A object representing the specified text string, + associated with the specified hyperlink. + + This method creates a , + initializes it with the specified text, + sets the on that object to a + initialized with , + and adds it to the current collection. + + + + + Adds a text hyperlink with a specified style to the current paragraph content. + + The text string to add. + The name of the anchor which is the target of the hyperlink. + A style used to render the string. + A object representing the specified text string, + associated with the specified hyperlink. + + This method creates a , + initializes it with the specified text and style, + sets the on that object to a + initialized with , + and adds it to the current collection. + + + + + Adds a text hyperlink to the current paragraph content. + + The text string to add. + A which is the target of the hyperlink. + A object representing the specified text string, + associated with the specified hyperlink. + + This method creates a , + initializes it with the specified text, + sets the on that object to a + initialized with , + and adds it to the current collection. + + + + + Adds a text hyperlink with a specified style to the current paragraph content. + + The text string to add. + A which is the target of the hyperlink. + A style used to render the string. + A object representing the specified text string, + associated with the specified hyperlink. + + This method creates a , + initializes it with the specified text and style, + sets the on that object to a + initialized with , + and adds it to the current collection. + + + + + Adds a text hyperlink to the current paragraph content. + + The text string to add. + A which is the target of the hyperlink. + A object representing the specified text string, + associated with the specified hyperlink. + + This method creates a , + initializes it with the specified text, + sets the on that object to a + initialized with , + and adds it to the current collection. + + + + + Adds a text hyperlink to the current paragraph content. + + The text string to add. + A which is the target of the hyperlink. + A object representing the specified text string, + associated with the specified hyperlink. + + This method creates a , + initializes it with the specified text, + sets the on that object to a + initialized with , + and adds it to the current collection. + + + + + Adds an image hyperlink to the current paragraph content. + + The image to add. + The name of the anchor which is the target of the hyperlink. + A object representing the specified image, + associated with the specified hyperlink. + + This method creates a , + initializes it with the specified image, + sets the on that object to a + initialized with , + and adds it to the current collection. + + + + + Adds an image hyperlink to the current paragraph content. + + The image to add. + A which is the target of the hyperlink. + A object representing the specified image, + associated with the specified hyperlink. + + This method creates a , + initializes it with the specified image, + sets the on that object to a + initialized with , + and adds it to the current collection. + + + + + Adds an image hyperlink to the current paragraph content. + + The image to add. + A which is the target of the hyperlink. + A object representing the specified image, + associated with the specified hyperlink. + + This method creates a , + initializes it with the specified image, + sets the on that object to a + initialized with , + and adds it to the current collection. + + + + + Adds an image hyperlink to the current paragraph content. + + The image to add. + A which is the target of the hyperlink. + A object representing the specified image, + associated with the specified hyperlink. + + This method creates a , + initializes it with the specified image, + sets the on that object to a + initialized with , + and adds it to the current collection. + + + + + Adds an image to the current paragraph content. + + The image to add. + A object representing the specified image. + + This method creates a , + initializes it with the specified image, + and adds it to the current collection. + + + + + Adds an image to the current paragraph content. + + A string that is assigned to the property. + A object representing the specified named image. + + This method creates a , + initializes it with the specified image name, + and adds it to the current collection. + + + + + Adds an image with a specified style to the current paragraph content. + + The image to add. + A style used to render the image. + A object representing the specified image. + + This method creates a , + initializes it with the specified image and style, + and adds it to the current collection. + + + + + Gets the containing object. + + + + + Gets or sets the at the specified index. + + The index in the current collection. + The at the specified index. + + + + Represents an RTF text in a . + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class, + using the specified RTF string and style. + + A RTF-formatted string assigned to the property. + A to use + (the method + is used to copy the specified style to the current object's ). + + + + Initializes a new instance of the class, + using the specified RTF string and style. + + A RTF-formatted string assigned to the property. + + + + For internal use only. + + + + + + For internal use only. + + + + + + + + For internal use only. + + + + + + + For internal use. + + + + + + For internal use. + + + + + + For internal use. + + + + + + For internal use. + + + + + + Assigns (copies) properties from another to the current object. + Calls the base method. + If is a , also copies -specific properties. + + The source object to copy properties from. + Indicates whether the property should be copied. + Indicates whether the elements of the collection should be copied. + Indicates whether the elements of the collection should be copied. + Indicates whether the property should be copied. + Indicates whether the property should be copied. + Indicates whether the property should be copied. + + + + Loads the content of the current from a disk file + containing RTF-formatted data. + + The name of the file to load. + + + + Loads the content of the current from a disk file + containing data in a specified format. + + The name of the file to load. + The type of data in the file. + + + + Loads the content of the current from a stream + containing RTF-formatted data. + + The stream to load data from. + + + + Loads the content of the current from a stream + containing data in a specified format. + + The stream to load data from. + The type of data in the stream. + + + + Gets a value indicating whether the property + has been initialized and has non-zero length. + + + + + Gets or sets the RTF-formatted text represented by the current object. + + + + + Gets or sets a value indicating whether or not the current + will automatically format Uniform Resource Locators (URLs) + when those are found in text assigned to the property. + + + + + The abstract base class representing the geometric properties of a shape. + Used by and derived classes. + + + + + Initializes a new instance of the class. + + + + + For internal use only. + + + + + + + Assigns (copies) properties from another to the current object. + + The source object to copy properties from. + + + + The abstract base class for classes representing geometric shapes (lines, polygons and so on) + in a . + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + For internal use only. + + + + + + For internal use only. + + + + + + For internal use only. + + + + + For internal use only. + + + + + + Assigns (copies) properties from another to the current object. + Calls the base method. + If is a , also copies -specific properties. + + The source object to copy properties from. + Indicates whether the property should be copied. + Indicates whether the elements of the collection should be copied. + Indicates whether the elements of the collection should be copied. + Indicates whether the property should be copied. + Indicates whether the property should be copied. + Indicates whether the property should be copied. + + + + Gets the object describing the geometric shape + represented by the current object. + + + + + The abstract base class representing the geometric properties of a line shape. + Used by and derived classes. + + + + + Initializes a new instance of the class. + + + + + Assigns (copies) properties from another to the current object. + + The source object to copy properties from. + + + + The abstract base class for classes representing line-based shapes (lines and polygons) + in a . + + + + + + + Initializes a new instance of the class. + + + + + For internal use only. + + + + + + Gets the object describing the geometric line + represented by the current object. + + + + + Represents the geometric properties of a object. + + + + + Initializes a new instance of the class. + The points that this line connects are set to the left top and right bottom + corners of the containing object. + + + + + Gets or sets the X coordinate of the first of the two points that the line connects. + + + + + Gets or sets the Y coordinate of the first of the two points that the line connects. + + + + + Gets or sets the X coordinate of the second of the two points that the line connects. + + + + + Gets or sets the Y coordinate of the second of the two points that the line connects. + + + + + Represents a line shape in a . + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class, + assigning the coordinates of the two points that the line connects. + + The X coordinate of the first of the two points that the line connects. + The Y coordinate of the first of the two points that the line connects. + The X coordinate of the second of the two points that the line connects. + The Y coordinate of the second of the two points that the line connects. + + + + + For internal use only. + + + + + + For internal use only. + + + + + + + + + + + For internal use only. + + + + + + Gets the object describing the geometric line + represented by the current object. + The coordinates of the line are relative to the left top corner + of the current object. + + + + + Represents the geometric properties of a object. + + + + + Initializes a new instance of the class. + The property is set to null. + + + + + Assigns (copies) properties from another to the current object. + + The source object to copy properties from. + + + + Gets or sets the array of points + defining the polygon. + + + + + Gets or sets a value indicating whether the polygon is closed + (i.e. the last point in the array is automatically connected to the first one) + or not. + + + + + Represents an open or closed polygon shape in a . + + + + + Initializes a new instance of the class. + + + + + For internal use only. + + + + + + For internal use only. + + + + + + Gets the object describing the geometric polygon + represented by the current object. + The points' coordinates are relative to the left top corner + of the current object. + + + + + Represents the geometric properties of a rectangle, + also serves as the base for classes describing + certain other shapes (such as round rectangle, arc and pie). + Used by and derived classes. + + + + + For internal use only. + + + + + Initializes a new instance of the class. + The location and size of the rectangle are set to those of the containing + object. + + + + + Assigns (copies) properties from another to the current object. + + The source object to copy properties from. + + + + Gets or sets the X coordinate of the current rectangle. + + + + + Gets or sets the Y coordinate of the current rectangle. + + + + + Gets or sets the width of the current rectangle. + + + + + Gets or sets the height of the current rectangle. + + + + + Represents a rectangle in a . + This is also the base class for and classes. + + + + + Initializes a new instance of the class. + The location and size of the rectangle are set to those of the current object. + + + + + Initializes a new instance of the class, + assigning the width and height of the rectangle. + The location of the rectangle is set to the location of the current . + + The width of the rectangle. + The height of the rectangle. + + + + Initializes a new instance of the class, + assigning the width and height of the rectangle, and the used to draw it. + The location of the rectangle is set to the location of the current . + + The width of the rectangle. + The height of the rectangle. + The used to draw the rectangle. + + + + Initializes a new instance of the class, + assigning the width and height of the rectangle, the used to draw it, and the fill color. + The location of the rectangle is set to the location of the current . + + The width of the rectangle. + The height of the rectangle. + The used to draw the rectangle. + The color used to fill the rectangle. + + + + Initializes a new instance of the class, + assigning the width and height of the rectangle, the used to draw it, and the fill brush. + The location of the rectangle is set to the location of the current . + + The width of the rectangle. + The height of the rectangle. + The used to draw the rectangle. + The brush used to fill the rectangle. + + + + Initializes a new instance of the class, + assigning the location and the size of the rectangle. + + The X coordinate of the rectangle, relative to the current object's location. + The Y coordinate of the rectangle, relative to the current object's location. + The width of the rectangle. + The height of the rectangle. + + + + Initializes a new instance of the class, + assigning the location and the size of the rectangle, + and the used to draw it. + + The X coordinate of the rectangle, relative to the current object's location. + The Y coordinate of the rectangle, relative to the current object's location. + The width of the rectangle. + The height of the rectangle. + The used to draw the rectangle. + + + + Initializes a new instance of the class, + assigning the location and the size of the rectangle, + the used to draw it, and the fill color. + + The X coordinate of the rectangle, relative to the current object's location. + The Y coordinate of the rectangle, relative to the current object's location. + The width of the rectangle. + The height of the rectangle. + The used to draw the rectangle. + The color used to fill the rectangle. + + + + Initializes a new instance of the class, + assigning the location and the size of the rectangle, + the used to draw it, and the fill brush. + + The X coordinate of the rectangle, relative to the current object's location. + The Y coordinate of the rectangle, relative to the current object's location. + The width of the rectangle. + The height of the rectangle. + The used to draw the rectangle. + The brush used to fill the rectangle. + + + + For internal use only. + + + + + + For internal use only. + + + + + + + + For internal use only. + + + + + + + + + For internal use only. + + + + + + + + + + For internal use only. + + + + + + + + + + For internal use only. + + + + + + + + + + For internal use only. + + + + + + + + + + + For internal use only. + + + + + + + + + + + + For internal use only. + + + + + + + + + + + + For internal use only. + + + + + + Gets the object describing the geometric rectangle + represented by the current object. + The coordinates of the rectangle are relative to the left top corner + of the current object. + + + + + Represents an ellipse in a . + + + + + Initializes a new instance of the class. + The location and size of the ellipse are set to those of the current object. + + + + + Initializes a new instance of the class, + assigning the width and height of the ellipse. + The location of the ellipse is set to the location of the current . + + The width of the ellipse. + The height of the ellipse. + + + + Initializes a new instance of the class, + assigning the width and height of the ellipse, and the used to draw it. + The location of the ellipse is set to the location of the current . + + The width of the ellipse. + The height of the ellipse. + The used to draw the ellipse. + + + + Initializes a new instance of the class, + assigning the width and height of the ellipse, the used to draw it, and the fill color. + The location of the ellipse is set to the location of the current . + + The width of the ellipse. + The height of the ellipse. + The used to draw the ellipse. + The fill color. + + + + Initializes a new instance of the class, + assigning the width and height of the ellipse, the used to draw it, and the fill brush. + The location of the ellipse is set to the location of the current . + + The width of the ellipse. + The height of the ellipse. + The used to draw the ellipse. + The fill brush. + + + + Initializes a new instance of the class, + assigning the location and the size of the ellipse. + + The X coordinate of the ellipse. + The Y coordinate of the ellipse. + The width of the ellipse. + The height of the ellipse. + + + + Initializes a new instance of the class, + assigning the location and the size of the ellipse, and the used to draw it. + + The X coordinate of the ellipse. + The Y coordinate of the ellipse. + The width of the ellipse. + The height of the ellipse. + The used to draw the ellipse. + + + + Initializes a new instance of the class, + assigning the location and the size of the ellipse, the used to draw it, and the fill color. + + The X coordinate of the ellipse. + The Y coordinate of the ellipse. + The width of the ellipse. + The height of the ellipse. + The used to draw the ellipse. + The fill color. + + + + Initializes a new instance of the class, + assigning the location and the size of the ellipse, the used to draw it, and the fill brush. + + The X coordinate of the ellipse. + The Y coordinate of the ellipse. + The width of the ellipse. + The height of the ellipse. + The used to draw the ellipse. + The fill brush. + + + + For internal use only. + + + + + + For internal use only. + + + + + + + + For internal use only. + + + + + + + + + For internal use only. + + + + + + + + + + For internal use only. + + + + + + + + + + For internal use only. + + + + + + + + + + For internal use only. + + + + + + + + + + + For internal use only. + + + + + + + + + + + + For internal use only. + + + + + + + + + + + + Gets the object describing the geometric ellipse + represented by the current object. + The coordinates of the ellipse are relative to the left top corner + of the current object. + + + + + Represents the geometric properties of a pie. + Used by class. + + + + + Initializes a new instance of the class. + is set to 0, while is set to 360 degrees, + thus making this a complete ellipse. + The location and size of the ellipse are set to those of the containing object. + + + + + Assigns (copies) properties from another to the current object. + + The source object to copy properties from. + + + + Gets or sets the angle, measured in degrees, clockwise from the X axis + to the first side of the sector defining the current shape. + + + + + Gets or sets the angle, measured in degrees, clockwise from + to the second side of the sector defining the current shape. + + + + + Represents a pie shape (a closed shape consisting of an arc of an ellipse, + with lines going from the start and end points of the arc to the ellipse's center) + in a . + + + + + Initializes a new instance of the class. + The start angle of the pie is set to 0, while the sweep angle is set to 360 degrees, + thus making it a complete ellipse. + The location and size of the ellipse are set to those of the current object. + + + + + Initializes a new instance of the class, + assigning the width, height, and start and sweep angles of the pie shape. + The location of the shape is set to the location of the current . + + The width of the ellipse containing the pie shape. + The height of the ellipse containing the pie shape. + The angle, in degrees, clockwise from the X axis + to the start of the pie's arc. + The angle, measured in degrees, clockwise from + to the end of the pie's arc. + + + + Initializes a new instance of the class, + assigning the width, height, start and sweep angles of the pie shape, + and the used to draw the shape. + The location of the shape is set to the location of the current . + + The width of the ellipse containing the pie shape. + The height of the ellipse containing the pie shape. + The angle, in degrees, clockwise from the X axis + to the start of the pie's arc. + The angle, measured in degrees, clockwise from + to the end of the pie's arc. + The used to draw the pie shape. + + + + Initializes a new instance of the class, + assigning the width, height, start and sweep angles of the pie shape, + the used to draw the shape, and the fill color. + The location of the shape is set to the location of the current . + + The width of the ellipse containing the pie shape. + The height of the ellipse containing the pie shape. + The angle, in degrees, clockwise from the X axis + to the start of the pie's arc. + The angle, measured in degrees, clockwise from + to the end of the pie's arc. + The used to draw the pie shape. + The shape fill color. + + + + Initializes a new instance of the class, + assigning the width, height, start and sweep angles of the pie shape, + the used to draw the shape, and the fill brush. + The location of the shape is set to the location of the current . + + The width of the ellipse containing the pie shape. + The height of the ellipse containing the pie shape. + The angle, in degrees, clockwise from the X axis + to the start of the pie's arc. + The angle, measured in degrees, clockwise from + to the end of the pie's arc. + The used to draw the pie shape. + The shape fill brush. + + + + Initializes a new instance of the class, + assigning the location, size, and start and sweep angles of the pie shape. + + The X coordinate of the ellipse containing the pie shape. + The Y coordinate of the ellipse containing the pie shape. + The width of the ellipse containing the pie shape. + The height of the ellipse containing the pie shape. + The angle, in degrees, clockwise from the X axis + to the start of the pie's arc. + The angle, measured in degrees, clockwise from + to the end of the pie's arc. + + + + Initializes a new instance of the class, + assigning the location, size, start and sweep angles of the pie shape, + and the used to draw the shape. + + The X coordinate of the ellipse containing the pie shape. + The Y coordinate of the ellipse containing the pie shape. + The width of the ellipse containing the pie shape. + The height of the ellipse containing the pie shape. + The angle, in degrees, clockwise from the X axis + to the start of the pie's arc. + The angle, measured in degrees, clockwise from + to the end of the pie's arc. + The used to draw the pie shape. + + + + Initializes a new instance of the class, + assigning the location, size, start and sweep angles of the pie shape, + the used to draw the shape, and the fill color. + + The X coordinate of the ellipse containing the pie shape. + The Y coordinate of the ellipse containing the pie shape. + The width of the ellipse containing the pie shape. + The height of the ellipse containing the pie shape. + The angle, in degrees, clockwise from the X axis + to the start of the pie's arc. + The angle, measured in degrees, clockwise from + to the end of the pie's arc. + The used to draw the pie shape. + The shape fill color. + + + + Initializes a new instance of the class, + assigning the location, size, start and sweep angles of the pie shape, + the used to draw the shape, and the fill brush. + + The X coordinate of the ellipse containing the pie shape. + The Y coordinate of the ellipse containing the pie shape. + The width of the ellipse containing the pie shape. + The height of the ellipse containing the pie shape. + The angle, in degrees, clockwise from the X axis + to the start of the pie's arc. + The angle, measured in degrees, clockwise from + to the end of the pie's arc. + The used to draw the pie shape. + The shape fill brush. + + + + For internal use only. + + + + + + For internal use only. + + + + + + + + + + For internal use only. + + + + + + + + + + + For internal use only. + + + + + + + + + + + + For internal use only. + + + + + + + + + + + + For internal use only. + + + + + + + + + + + + For internal use only. + + + + + + + + + + + + + For internal use only. + + + + + + + + + + + + + + For internal use only. + + + + + + + + + + + + + + For internal use only. + + + + + + Gets the object describing the pie shape + represented by the current object. + The coordinates of the ellipse containing the pie shape are relative to the left top corner + of the current object. + + + + + Represents the geometric properties of an arc. + Used by class. + + + + + Initializes a new instance of the class. + is set to false. + + + + + Assigns (copies) properties from another to the current object. + + The source object to copy properties from. + + + + Gets or sets a value indicating whether the current arc should be closed + (i.e. the start and end points of the arc should be connected by a straight line) + or not. + + + The default value of this property is false. + + + + + Represents an arc of an ellipse in a . + + + + + Initializes a new instance of the class. + The start angle of the arc is set to 0, while the sweep angle is set to 360 degrees, + thus making it a complete ellipse. + The location and size of the arc's ellipse are set to those of the current object. + + + + + Initializes a new instance of the class, + assigning the width, height, and start and sweep angles of the arc. + The location of the arc's ellipse is set to the location of the current . + + The width of the ellipse containing the arc. + The height of the ellipse containing the arc. + The angle, in degrees, clockwise from the X axis + to the start of the arc. + The angle, measured in degrees, clockwise from + to the end of the arc. + + + + Initializes a new instance of the class, + assigning the width, height, start and sweep angles of the arc, + and the used to draw the arc. + The location of the arc's ellipse is set to the location of the current . + + The width of the ellipse containing the arc. + The height of the ellipse containing the arc. + The angle, in degrees, clockwise from the X axis + to the start of the arc. + The angle, measured in degrees, clockwise from + to the end of the arc. + The used to draw the arc. + + + + Initializes a new instance of the class, + assigning the width, height, start and sweep angles of the arc, + the used to draw the arc, + and the color used to fill the segment formed by the arc and a line connecting its ends. + The location of the arc's ellipse is set to the location of the current . + + The width of the ellipse containing the arc. + The height of the ellipse containing the arc. + The angle, in degrees, clockwise from the X axis + to the start of the arc. + The angle, measured in degrees, clockwise from + to the end of the arc. + The used to draw the arc. + The fill color. + + + + Initializes a new instance of the class, + assigning the width, height, start and sweep angles of the arc, + the used to draw the arc, + and the brush used to fill the segment formed by the arc and a line connecting its ends. + The location of the arc's ellipse is set to the location of the current . + + The width of the ellipse containing the arc. + The height of the ellipse containing the arc. + The angle, in degrees, clockwise from the X axis + to the start of the arc. + The angle, measured in degrees, clockwise from + to the end of the arc. + The used to draw the arc. + The fill brush. + + + + Initializes a new instance of the class, + assigning the location, size, and start and sweep angles of the arc. + + The X coordinate of the ellipse containing the arc. + The Y coordinate of the ellipse containing the arc. + The width of the ellipse containing the arc. + The height of the ellipse containing the arc. + The angle, in degrees, clockwise from the X axis + to the start of the arc. + The angle, measured in degrees, clockwise from + to the end of the arc. + + + + Initializes a new instance of the class, + assigning the location, size, and start and sweep angles of the arc, + and the used to draw the arc. + + The X coordinate of the ellipse containing the arc. + The Y coordinate of the ellipse containing the arc. + The width of the ellipse containing the arc. + The height of the ellipse containing the arc. + The angle, in degrees, clockwise from the X axis + to the start of the arc. + The angle, measured in degrees, clockwise from + to the end of the arc. + The used to draw the arc. + + + + Initializes a new instance of the class, + assigning the location, size, and start and sweep angles of the arc, + the used to draw the arc, + and the color used to fill the segment formed by the arc and a line connecting its ends. + + The X coordinate of the ellipse containing the arc. + The Y coordinate of the ellipse containing the arc. + The width of the ellipse containing the arc. + The height of the ellipse containing the arc. + The angle, in degrees, clockwise from the X axis + to the start of the arc. + The angle, measured in degrees, clockwise from + to the end of the arc. + The used to draw the arc. + The fill color. + + + + Initializes a new instance of the class, + assigning the location, size, and start and sweep angles of the arc, + the used to draw the arc, + and the brush used to fill the segment formed by the arc and a line connecting its ends. + + The X coordinate of the ellipse containing the arc. + The Y coordinate of the ellipse containing the arc. + The width of the ellipse containing the arc. + The height of the ellipse containing the arc. + The angle, in degrees, clockwise from the X axis + to the start of the arc. + The angle, measured in degrees, clockwise from + to the end of the arc. + The used to draw the arc. + The fill brush. + + + + For internal use only. + + + + + + For internal use only. + + + + + + + + + + For internal use only. + + + + + + + + + + + For internal use only. + + + + + + + + + + + + For internal use only. + + + + + + + + + + + + For internal use only. + + + + + + + + + + + + For internal use only. + + + + + + + + + + + + + For internal use only. + + + + + + + + + + + + + + For internal use only. + + + + + + + + + + + + + + For internal use only. + + + + + + Gets the object describing the arc + represented by the current object. + The coordinates of the ellipse containing the arc are relative to the left top corner + of the current object. + + + + + Represents the geometric properties of a rectangle with rounded corners. + Used by the class. + + + + + Initializes a new instance of the class. + The location and size of the rectangle are set to those of the containing + object. + The dimensions of the ellipse used to draw the rounded corners are set + to 5% of the corresponding rectangle's dimensions. + + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Assigns (copies) properties from another to the current object. + + The source object to copy properties from. + + + + Gets or sets the width of the ellipse used to draw the rounded corners of the rectangle. + The default value of this property is calculated as 5% of the width of the rectangle. + + + + + Gets or sets the height of the ellipse used to draw the rounded corners of the rectangle. + The default value of this property is calculated as 5% of the height of the rectangle. + + + + + Represents a rectangle with rounded corners in a . + + + + + Initializes a new instance of the class. + The location and size of the rectangle are set to those of the current object. + The dimensions of the ellipse used to draw the rounded corners are set + to 5% of the corresponding rectangle's dimensions. + + + + + Initializes a new instance of the class, + assigning the width and height of the rectangle. + The location of the rectangle is set to the location of the current . + The dimensions of the ellipse used to draw the rounded corners are set + to 5% of the corresponding rectangle's dimensions. + + The width of the rectangle. + The height of the rectangle. + + + + Initializes a new instance of the class, + assigning the width and height of the rectangle, and the used to draw it. + The location of the rectangle is set to the location of the current . + The dimensions of the ellipse used to draw the rounded corners are set + to 5% of the corresponding rectangle's dimensions. + + The width of the rectangle. + The height of the rectangle. + The used to draw the rectangle. + + + + Initializes a new instance of the class, + assigning the width and height of the rectangle, the used to draw it, and the fill color. + The location of the rectangle is set to the location of the current . + The dimensions of the ellipse used to draw the rounded corners are set + to 5% of the corresponding rectangle's dimensions. + + The width of the rectangle. + The height of the rectangle. + The used to draw the rectangle. + The color used to fill the rectangle. + + + + Initializes a new instance of the class, + assigning the width and height of the rectangle, the used to draw it, and the fill brush. + The location of the rectangle is set to the location of the current . + The dimensions of the ellipse used to draw the rounded corners are set + to 5% of the corresponding rectangle's dimensions. + + The width of the rectangle. + The height of the rectangle. + The used to draw the rectangle. + The brush used to fill the rectangle. + + + + Initializes a new instance of the class, + assigning the location and the size of the rectangle. + The dimensions of the ellipse used to draw the rounded corners are set + to 5% of the corresponding rectangle's dimensions. + + The X coordinate of the rectangle, relative to the current object's location. + The Y coordinate of the rectangle, relative to the current object's location. + The width of the rectangle. + The height of the rectangle. + + + + Initializes a new instance of the class, + assigning the location and the size of the rectangle, + and the used to draw it. + The dimensions of the ellipse used to draw the rounded corners are set + to 5% of the corresponding rectangle's dimensions. + + The X coordinate of the rectangle, relative to the current object's location. + The Y coordinate of the rectangle, relative to the current object's location. + The width of the rectangle. + The height of the rectangle. + The used to draw the rectangle. + + + + Initializes a new instance of the class, + assigning the location and the size of the rectangle, + the used to draw it, and the fill color. + The dimensions of the ellipse used to draw the rounded corners are set + to 5% of the corresponding rectangle's dimensions. + + The X coordinate of the rectangle, relative to the current object's location. + The Y coordinate of the rectangle, relative to the current object's location. + The width of the rectangle. + The height of the rectangle. + The used to draw the rectangle. + The color used to fill the rectangle. + + + + Initializes a new instance of the class, + assigning the location and the size of the rectangle, + the used to draw it, and the fill brush. + The dimensions of the ellipse used to draw the rounded corners are set + to 5% of the corresponding rectangle's dimensions. + + The X coordinate of the rectangle, relative to the current object's location. + The Y coordinate of the rectangle, relative to the current object's location. + The width of the rectangle. + The height of the rectangle. + The used to draw the rectangle. + The brush used to fill the rectangle. + + + + Initializes a new instance of the class, + assigning the location, size and roundness of the rectangle, + the used to draw it, and the fill color. + + The X coordinate of the rectangle, relative to the current object's location. + The Y coordinate of the rectangle, relative to the current object's location. + The width of the rectangle. + The height of the rectangle. + The width of the ellipse used to draw the rounded corners (may be specified as "5%width" for example). + The height of the ellipse used to draw the rounded corners (may be specified as "5%height" for example). + The used to draw the rectangle. + The color used to fill the rectangle. + + + + Initializes a new instance of the class, + assigning the location, size and roundness of the rectangle, + the used to draw it, and the fill brush. + + The X coordinate of the rectangle, relative to the current object's location. + The Y coordinate of the rectangle, relative to the current object's location. + The width of the rectangle. + The height of the rectangle. + The width of the ellipse used to draw the rounded corners (may be specified as "5%width" for example). + The height of the ellipse used to draw the rounded corners (may be specified as "5%height" for example). + The used to draw the rectangle. + The brush used to fill the rectangle. + + + + For internal use only. + + + + + + For internal use only. + + + + + + + + For internal use only. + + + + + + + + + For internal use only. + + + + + + + + + + For internal use only. + + + + + + + + + + For internal use only. + + + + + + + + + + For internal use only. + + + + + + + + + + + For internal use only. + + + + + + + + + + + + For internal use only. + + + + + + + + + + + + For internal use only. + + + + + + + + + + + + + + For internal use only. + + + + + + + + + + + + + + For internal use only. + + + + + + Gets the object describing the geometric rectangle + represented by the current object. + The coordinates of the rectangle are relative to the left top corner + of the current object. + + + + + Defines a value which can be in one of three states: undefined, true or false. + + + + + The value is undefined. + + + + + The value is true. + + + + + The value is false. + + + + + Enumerates the sizing modes of a . + + + + + At table level, default is for rows, + and for columns; + at row/column level, default inherits from the table. + + + + + Size (height for rows, width for columns) should be explicitly + specified (if omitted, it is determined by the available space + and row/column count). + + + + + Size (height for rows, width for columns) is calculated + automatically based on the content. + + + + + Enumerates the possible handling of a cell's content + when the cell is split between pages. + + + + + The content of a cell should be split if the cell is split. + + + + + The content of a cell should be copied each time the cell is split. + + + + + The content of a cell should be printed just once, + and cut if the cell is split and not all content fits. + + + + + Enumerates page break options available for elements of a . + + + + + A page break may be inserted if needed. + + + + + A page break is always inserted. + + + + + If a page break is needed, it should be inserted here. + + + + + Obsolete (spelling error), use instead. + + + + + A page break can not be inserted. + + + + + The abstract base class for rows and columns of a . + + + + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Assigns (copies) properties from another to the current object. + (The property is not copied.) + + The source object to copy properties from. + + + + Gets the object containing the current vector. + + + + + Gets the object containing the current vector. + + + + + Gets the 0-based index of the current vector in the containing + (i.e. the row index for rows, the column index for columns). + + + In tables, elements (cells, rows and columns) + are physically created only if they contain data, or if their style differs from default. + Hence the physical position of a object (i.e. a row or a column) + in the containing (accessible via the vector's + property) is not the same as the logical index of that row or column + in the table. The Ordinal property allows to retrieve that logical position. + + + + + Obsolete, use instead. + + + + + Gets or sets the size of the current vector + (height if the vector is a , + width if the vector is a ). + + + + + Gets or sets a value determining how page breaks are inserted before + the current vector + (regular, horizontal page breaks if the vector is a , + vertical page breaks if the vector is a ). + + + + + Gets or sets a value indicating whether the current vector + (row or column) can split between pages. + The default value is false. + + + + + Gets or sets a value indicating whether the current vector + (row or column) is visible. + + + + + Gets the of the current vector (row or column). + + + + + Gets the of objects contained in the cells + of the current vector (row or column). + See for details. + + + + + Gets or sets a value determining + how the size of the current vector (height for rows, width for columns) + is calculated. + + + + + Describes how the height of a row in a + can be adjusted if required by adjustments to the height of the + containing table. + + + + + The behavior depends on the property + of the containing . + + + + + The row can be stretched as needed. + + + + + The row can not be stretched. + + + + + The row can be stretched if it is the last row on the page. + + + + + Represents a row of a . + + + + + + + Assigns (copies) properties from another to the current object. + + The source object to copy properties from. + + + + Gets the containing the current row. + + + + + Gets or sets the height of the current row. + + + + + Gets or sets the mode of the current row. + + + + + Gets the at the specified column index. + This property always returns a non-null object. + + The index of the cell in the current row (i.e. the column index). + The cell at the specified index. + + + + Describes how the width of a column in a + can be adjusted if required by adjustments to the width of the + containing table. + + + + + The behavior depends on the property + of the containing . + + + + + The column can be stretched as needed. + + + + + The column can not be stretched. + + + + + The column can be stretched if it is the last row on the page. + + + + + Represents a column of a . + + + + + + + Assigns (copies) properties from another to the current object. + + The source object to copy properties from. + + + + Gets the containing the current column. + + + + + Gets or sets the width of the current column. + + + + + Gets or sets the mode of the current column. + + + + + Gets the at the specified row index. + This property always returns a non-null object. + + The index of the cell in the current column (i.e. the row index). + The cell at the specified index. + + + + The abstract base class representing a collection of objects. + This is the base class for collections of table rows and columns, + accessible as and + on a . + + + + + + + + Deletes the contents of all cells in a range of rows or columns in the current collection. + + The of the first row or column in the range. + The number of rows or columns in the range. + + This method physically removes all cell data and custom styles in the specified range. + + + + + Deletes any user cell groups in a range of rows or columns in the current collection. + + The of the first row or column in the range. + The number of rows or columns in the range. + + + + For internal use. + + + + + + + For internal use. + + + + + + + For internal use only. + + + + + + For internal use. + + + + + + For internal use. + + + + + + + For internal use. + + + + + + Returns the vector with maximum ordinal or -1 if collection does not contains vectors. + + + + + For internal use. + Returns the specified vector if it has been accessed (and hence initialized) already, + or null. + + The ordinal of the vector to get. + The specified vector, or null if it has not been initialized. + + + + Returns the size (height for rows, width for columns) of a + (row or column) identified by its index in a . + This method does not create the specified vector if it has not been initialized + (see remarks for details). + + The 0-based index () of the row or column. + The height or width of the row or column. + + + Because elements of a 's collections (cells, rows and columns) + are physically created "on demand" only when they are accessed via collections' + indexer properties, using this method is more efficient when you only need + to test the height/width of a row/column without creating it. + + + For instance, the following code physically creates a object + before testing its height: + + + RenderTable rt = new RenderTable(); + if (rt.Rows[10].Height == Unit.Auto) + doSomething(); + + At the same time, the following code does not cause a physical row object to be created, + while being functionally identical to the code above: + + RenderTable rt = new RenderTable(); + if (rt.Rows.GetVectorSize(10) == Unit.Auto) + doSomething(); + + + + + + Returns the value of the property of a + (row or column) identified by its index in a . + This method does not create the specified vector if it has not been initialized yet + (see remarks in for details). + + The 0-based index () of the row or column. + The value of the specified vector's property, + or false if the vector has not been initialized. + + + + Returns the value of the property of a + (row or column) identified by its index in a . + This method does not create the specified vector if it has not been initialized yet + (see remarks in for details). + + The 0-based index () of the row or column. + The value of the specified vector's property, + or true if the vector has not been initialized. + + + + Returns the value of the property of a + (row or column) identified by its index in a . + This method does not create the specified vector if it has not been initialized yet + (see remarks in for details). + + The 0-based index () of the row or column. + The value of the specified vector's property, + or if the vector has not been initialized. + + + + Returns the effective of a + (row or column) identified by its index in a . + This method does not create the specified vector if it has not been initialized yet + (see remarks in for details). + + The 0-based index () of the row or column. + The effective sizing mode of the specified vector (row or column). + + + + Assigns (copies) properties from another to the current object. + + The source object to copy properties from. + + + + Inserts a range of rows or columns into the containing . + + The position where to insert rows or columns. + The number of rows or columns to insert. + + + + Deletes a range of rows or columns from the containing . + + The index of the first row or column to delete. + The number of rows or columns to delete. + + + + Deletes a row or column from the containing . + + The index of the row or column to delete. + + + + Inserts a row or column into the containing . + + The position where to insert the row or column. + + + + Gets the containing table's collection. + + + + + Gets the containing table's collection. + + + + + Gets the object containing the current collection. + + + + + Gets the object representing + the groups of vectors (rows or columns) defined on the current collection. + + + + + Gets or sets the logical count of vectors (rows or columns) in the current collection. + Setting this property to -1 (which is the default) ensures that Count + is calculated automatically. + + + tables are logically infinite. Simply accessing an element + at any position expands the table to include that position. Hence by default the Count + property returns the maximum row or column number that has been accessed so far. + Assigning a non-negative value to this property allows to increase or decrease the number of rows or columns + (if the number of vectors is decreased, elements with greater indices are cleared). + + + + + Gets the physical count of vectors (rows or columns) + currently stored in this . + + + + + Represents a collection of rows (objects of the type) + in a . + + + + + For internal use only. + + + + + + + For internal use only. + + + + + + + For internal use only. + + + + + + For internal use only. + + + + + + For internal use only. + + + + + + + For internal use only. + + + + + + + For internal use only. + + + + + + + For internal use only. + + + + + + Returns the with the specified index + (the of the row), + or null if that object + has not been initialized. + + The 0-based index of the row in the containing table. + The object or null. + + Physically, rows in a are created + when they are accessed using the indexer property on the + collection. This method may be used + to test whether a physical object exists + for a particular row index. + + + + + Gets the collection of row groups defined on the containing . + + + + + Gets the object corresponding to the row + at the specified index in the containing . + Note that a will be created if it has not been + initialized for that row index yet. + Use to get a row without creating it. + + The row index in the containing table. + The at the specified index in the table. + + + + Represents a collection of columns (objects of the type) + in a . + + + + + For internal use only. + + + + + + + For internal use only. + + + + + + + For internal use only. + + + + + + For internal use only. + + + + + + For internal use only. + + + + + + + For internal use only. + + + + + + + For internal use only. + + + + + + + For internal use only. + + + + + + Returns the with the specified index + (the of the column), + or null if that object + has not been initialized. + + The 0-based index of the column in the containing table. + The object or null. + + Physically, columns in a are created + when they are accessed using the indexer property on the + collection. This method may be used + to test whether a physical object exists + for a particular column index. + + + + + Gets the collection of column groups defined on the containing . + + + + + Gets the object corresponding to the column + at the specified index in the containing . + Note that a will be created if it has not been + initialized for that column index yet. + Use to get a column without creating it. + + The column index in the containing table. + The at the specified index in the table. + + + + Represents a cell in a . + + + + + + + For internal use only. + + + + + + For internal use only. + + + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Assigns (copies) properties from another to the current object. + The and properties + are not copied. + A "deep" copy of the is made, i.e. a copy + of the is created and assigned to the + newly created cell's property. + + The source object to copy properties from. + + + + Determines whether the current cell is visible in the containing table. + A cell is visible if it spans at least one visible row and column + (see ). + + true if the current cell is visible, false otherwise. + + + + Gets or sets arbitrary data associated with the current cell. + + + + + Gets the containing the current cell. + + + + + Gets the containing the current cell. + + + + + Gets the 0-based index in the table of the row containing the current cell. + + + + + + + Gets the 0-based index in the table of the column containing the current cell. + + + + + + + Obsolete, use Row instead. + + + + + Obsolete, use Col instead. + + + + + Gets or sets the number of columns spanned by the current cell. + Cannot be less than 1, which is the default. + + + + + Gets or sets the number of rows spanned by the current cell. + Cannot be less than 1, which is the default. + + + + + Gets the index of the last column spanned by the current cell. + If is 1, the value of this property is equal to . + + + + + Gets the index of the last row spanned by the current cell. + If is 1, the value of this property is equal to . + + + + + Gets or sets the contained in the current cell. + + + + + + + Gets or sets the text contained in the current cell. + + + + Setting this property checks the current value of the property. + If it is a , the is assigned to that object's + . + + + Otherwise, a new initialized with + is created and assigned to . + Note that properties from the old are copied + to the newly created using the + method. + In particular, this copies the style from the old object to the new one. + + + Getting this property returns of + assigned to the on the current cell, or an empty string + if the current value of is not a . + + + + + + + + + Gets or sets the image contained in the current cell. + + + + Setting this property checks the current value of the property. + If it is a , the is assigned to that object's + . + + + Otherwise, a new initialized with + is created and assigned to . + Note that properties from the old are copied + to the newly created using the + method. + In particular, this copies the style from the old object to the new one. + + + Getting this property returns of + assigned to the on the current cell, or null + if the current value of is not a . + + + + + + + + + Gets the contained in the current cell. + + + + Getting this property checks the current value of the property. + If it is a , it is returned. + + + Otherwise, a new is created, assigned to , + and returned. + + + Note that properties from the old are copied + to the newly created using the + method. + In particular, this copies the style from the old object to the new one. + + + + + + + + + Gets the of the current cell. + + + + The value of this property affects both ambient and non-ambient + style attributes of the cell itself and, through object containment, + ambient attributes of the cell's content. + + + For example, because is ignored + for table cells, the following code does not affect the look of a table: + + RenderTable rt = new RenderTable(); + rt.Cells[1, 2].Text = "My text."; + rt.Cells[1, 2].Style.Spacing.All = "3mm"; + + while the following code adds 3mm of whie space around the text in the + cell: + + RenderTable rt = new RenderTable(); + rt.Cells[1, 2].Text = "My text."; + rt.Cells[1, 2].CellStyle.Spacing.All = "3mm"; + + + + + + + + Gets the that is used to render the content of the current cell. + + + This style is not applied to the current cell itself, + rather it is applied to the cell's content (), + affecting both ambient and non-ambient style attributes of that object. + For an example, see remarks in . + + + + + + Gets a describing the geometry of the current cell in the table. + + The location of the returned rectangle defines the location (column and row) of the current cell, + while its size defines the number of columns and rows spanned by the current cell. + + + + + + + + + + Gets or sets a value indicating how the content of the current cell is treated + when the cell is split vertically between two horizontal (extension, + created when the document is too wide) pages. + ( should be true for this to happen). + + + + + + + Gets or sets a value indicating how the content of the current cell is treated + when the cell is split horizontally between two vertical (regular) pages + ( should be true for this to happen). + + + + + + + Gets or sets a value indicating whether horizontal gridlines should + be drawn when the cell is split between two vertical (regular) pages. + + + + + + Gets or sets a value indicating whether vertical gridlines should + be drawn when the cell is split between two horizontal (extension, + created when the document is too wide) pages. + + + + + + Represents a collection of cells + (objects of the type ). + A collection of this type is returned by the property + of a table. + + + + + For internal use. + This interface is used to allow objects to receive notifications from Serializer. + + + + + For internal use. + + + + + + For internal use. + + + + + Returns the object at the specified row and column in the containing , + or null if that object has not been initialized. + + The 0-based row index of the cell. + The 0-based column index of the cell. + The object at the specified row and column, or null. + + The cells of a table are not initialized unless they are accessed via the indexer property + on the cells collection. Unlike the indexer, this method can be used to test whether + a object has been created for a cell, without initializing it. + + + + + Gets the bounds of the initialized cells area. + The returned structure's + contains the column index of the rightmost initialized cell + 1, + while + contains the row index of the bottommost initialized cell + 1. + + The size of the initialized cells area. + + + + + Assigns (copies) properties from another to the current object. + + The source object to copy properties from. + + + + Gets the count of cells in the current collection. + + + + + Gets the object at the specified index. + + + + + Contains the number of rightmost column. + + + + + Contains the number of bottommost row. + + + + + Gets the containing the current collection of cells. + + + + + + Gets the at the intersection of the specified row and column. + This property always returns a non-null object. + + The 0-based row index. + The 0-based column index. + The cell at the intersection of the specified row and column. + + + + + Flags specifying how a table header is repeated in a . + This is the type of . + + + + + The header is printed once at the top of the table. + + + + + The header is repeated at the top of each page. If there are multiple columns + per page, the header is repeated only at the top of the first column on the page. + + + + + The header is repeated only if there are multiple columns per page, at the top + of each column except the first on the page. If there is only one column, + the header is not printed at all. + + + + + The header is repeated at the top of all pages. If there are multiple columns per page, + the header is repeated at the top of each column. + + + + + Flags specifying how a table footer is repeated in a . + This is the type of . + + + + + The footer is printed once at the end of the table. + + + + + The footer is repeated at the bottom of each page. If there are multiple columns + per page, the footer is repeated only at the bottom of the last column on the page. + + + + + The footer is repeated only if there are multiple columns per page, at the bottom + of each column except the last on the page. If there is only one column, + the footer is not printed at all. + + + + + The footer is repeated at the bottom of all pages. If there are multiple columns per page, + the footer is repeated at the bottom of each column. + + + + + Represents a group of rows or columns + (see and ). + + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Assigns (copies) properties from another to the current object. + + The source object to copy properties from. + + + + Gets the containing the current group. + + + + + Gets the containing the current group. + + + + + Gets the 0-based index in the containing + of the first row or column in the current group. + + + + + Gets the number of rows or columns in the current group. + + + + + Gets the 0-based index in the containing + of the last row or column in the current group. + + + + + Gets or sets a value indicating whether the current group can split between pages. + The default is true. + + + + + Gets or sets a value indicating whether the current group + should be repeated as a table header on each page where + the containing table is printed. + + Only one row and column group in a table can has this property set to true. + + + + + + Gets or sets a value indicating whether the current group + should be repeated as a table footer on each page where + the containing table is printed. + + Only one row and column group in a table can has this property set to true. + + + + + + Gets or sets a value indicating whether the current group + should be repeated as a table header on each column where + the containing table is printed. + + Only one row and column group in a table can has this property set to true. + + + + + + Gets or sets a value indicating whether the current group + should be repeated as a table footer on each column where + the containing table is printed. + + Only one row and column group in a table can has this property set to true. + + + + + + Gets or sets flags indicating whether the current group + should be treated as a table header repeated on each + page and/or column. + + + + + + + Gets or sets flags indicating whether the current group + should be treated as a table footer repeated on each + page and/or column. + + + + + + + Gets or sets the minimum number of rows or columns that must be printed + on the same page before the current group, to allow a page break to be inserted. + + + + + Gets or sets the minimum number of rows or columns that must be printed + on the same page after the current group, to allow a page break to be inserted. + + + + + Gets the associated with the current group. + This style affects ambient and non-ambient attributes of the group as a whole, + and ambient properties of the elements contained in the group. + + + + + + Gets the that is used to initialize + of cells in the current group. + + + + + + Obsolete. Use Position instead. + + + + + Obsolete. Use LastPosition instead. + + + + + Represents a collection of row or column groups in a . + This is the type of and + collections. + + + + + Assigns (copies) properties from another to the current object. + + The source object to copy properties from. + + + + Gets the group of rows or columns which has the + property set to true. + + The which is a table header repeated on each page, + or null if such group does not exist. + + + + Gets the group of rows or columns which has the + property set to true. + + The which is a table footer repeated on each page, + or null if such group does not exist. + + + + Gets the group of rows or columns which has the + property set to true. + + The which is a table header repeated on each column, + or null if such group does not exist. + + + + Gets the group of rows or columns which has the + property set to true. + + The which is a table footer repeated on each column, + or null if such group does not exist. + + + + Gets the bound of the current group collection, + i.e. the index of the last row or column in the contained groups plus 1. + + The bound of the current group collection. + + + + Searches the current collection for a group with the specified + position (row or column index) in the containing table, and count of elements. + + The starting position (row or column index) of the group in the containing table. + The count of rows or columns in the group. + The group matching the search criteria, or null if such group does not exist. + + + + Searches the current collection for all groups that contain + the row or column with the specified index in the containing table, + returns the array of all groups that were found. + + The row or column index. + The array of objects that were found. + + + + Gets the containing the current collection of row or column groups. + + + + + Gets the row or column group that has the specified position in the containing table and element count. + This property always returns a object. If the group with the specified + parameters did not exist, it is created and added to the current collection. + + The index in the containing table of the first row or column in the group. + The number of rows or columns in the group. + The with the specified criteria. + + + + Represents a (possibly sparse) user-defined group of cells + (objects of type ) in a . + + + + + Initializes a new instance of the class, + includes a range of cells identified by a rectangular area, in the group. + + Identifies a rectangluar range of cells as follows: + + is the column index of the top left cell; + is the row index of the top left cell; + is the number of columns; + is the number of rows. + + + + + + Initializes a new instance of the class, + includes a single cell identified by its coordinates, in the group. + + Identifies a cell as follows: + + is the column index of the cell; + is the row index of the cell. + + + + + + Initializes a new instance of the class, + includes a range of cells identified by a list of rectangular areas, in the group. + + The list of rectangular areas to include in the group, + each area is identified by a structure as follows: + + is the column index of the top left cell; + is the row index of the top left cell; + is the number of columns; + is the number of rows. + + + + + + Initializes a new instance of the class, + includes a range of cells identified by a list of cell coordinates, in the group. + + The list of cell coordinates to include in the group, + each cell is identified by a structure as follows: + + is the column index of the cell; + is the row index of the cell. + + + + + + Initializes a new instance of the class, + includes a range of cells identified by a list of rectangular areas or individual cell coordnates, in the group. + + + + The list of rectangular areas or individual cell coordnates to include in the group, + each item in the list may be either a or a structure. + + If the item is a , it identifies an area to include as follows: + + is the column index of the top left cell; + is the row index of the top left cell; + is the number of columns; + is the number of rows. + + If the item is a , it identifies a cell to include as follows: + + is the column index of the cell; + is the row index of the cell. + + + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Assigns (copies) properties from another to the current object. + + The source object to copy properties from. + + + + Tests whether the current cell group contains a cell with the specified row and column indices. + + The row index of the cell. + The column index of the cell. + true if the current group contains the specified cell, false otherwise. + + + + Gets the containing the current cell group. + + + + + Gets the containing the current cell group. + + + + + Gets the of the current cell group. + + + + + Gets the of objects contained in the cells + of the current cell group. + See for details. + + + + + Gets an array of structures identifying all cells + included in the current group. + For details, + (lone cells are represented by rectangles with both dimensions set to 1). + + + + + Represents a collection of objects. + This is the type of the property of a . + + + + + For internal use only. + + + + + + + For internal use only. + + + + + + + + For internal use only. + + + + + + + Assigns (copies) properties from another to the current object. + + The source object to copy properties from. + + + + Adds a to the current collection. + + The user cell group to add. + The index of the newly added group in the current collection. + + + + Finds all user cell groups (objects of type ) + that contain the cell at the specified row and column indices. + + The row index of the cell. + The column index of the cell. + A containing all objects from the current collection + that contain the cell at the specified position in the table. + + + + Gets the bounding rectangle that includes all cells in all groups in the current collection. + + + A structure, the of which contains the column index + 1 + of the rightmost cell, while the contains the row index + 1 + of the bottommost cell. + + + + Gets the object containing the current collection of user cell groups. + + + + + Gets the at the specified index in the current collection. + + The index in the current collection. + The at the specified index. + + + + Enumerates the modes of stretching the rows or columns of a + when filling an empty space below or on the right of the table. + + + + + Rows or columns of a table do no stretch. + + + + + All rows or columns of a table are stretched equally to fill the page. + + + + + All columns of a table are stretched equally to fill the page. + + + + + Only the last row or column on a page is stretched to fill it. + + + + + Only the last column on a page is stretched to fill it. + + + + + Represents a table in a . + + + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class, + assigning the row and column counts + (see ). + + The count assigned to on the collection. + The count assigned to on the collection. + + + + For internal use only. + + + + + + For internal use only. + + + + + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + For internal use only. + + + + + + For internal use only. + + + + + For internal use only. + + + + + + For internal use only. + + + + + + For internal use only. + + + + + + For internal use only. + + + + + + + + + For internal use only. + + + + + + + + + For internal use only. + + + + + + Assigns (copies) properties from another to the current object. + Calls the base method. + If is a , also copies -specific properties. + + The source object to copy properties from. + Indicates whether the property should be copied. + Indicates whether the elements of the collection should be copied. + Indicates whether the elements of the collection should be copied. + Indicates whether the property should be copied. + Indicates whether rows, columns, cells, row, column and user cell groups should be copied. + Indicates whether the property should be copied. + Indicates whether the property should be copied. + + + + Assigns (copies) properties from another to the current object. + Calls the base method. + If is a , also copies -specific properties. + + The source object to copy properties from. + Indicates whether the property should be copied. + Indicates whether the elements of the collection should be copied. + Indicates whether the elements of the collection should be copied. + Indicates whether the property should be copied. + Indicates whether the property should be copied. + Indicates whether the property should be copied. + + + + For internal use only. + + + + + For internal use only. + + + + + Gets or sets a value determining how the heights of table rows are + calculated. The default is . + + + + + Gets or sets a value determining how the widths of table columns are + calculated. The default is . + + + To make a table with automatically calculated columns' widths, + set this property to , + and the on the + to , e.g.: + + RenderTable rt = new RenderTable(); + rt.ColumnSizingMode = TableSizingModeEnum.Auto; + rt.Width = Unit.Auto; + + + + + + Gets the collection of rows of the current . + Getting a row with an arbitrary index on this collection + always returns a object, initializing it if necessary. + + + + + Gets the collection of columns of the current . + Getting a column with an arbitrary index on this collection + always returns a object, initializing it if necessary. + + + + + Gets the collection of row groups defined on the current . + + + + + Gets the collection of column groups defined on the current . + + + + + Gets the collection of cells of the current . + Getting a cell with arbitrary row and column indices on this collection + always returns a object, initializing it if necessary. + + + + + Gets the collection of objects defined on the current table. + + + + + Obsolete. Use instead. + + + + + Gets or sets the mode of stretching the columns of the current table + when filling an empty space on the right of the table. + + + + + Gets or sets the mode of stretching the rows of the current table + when filling an empty space below the table. + + + + + Gets the of objects contained in the cells + of the current table. + See for details. + + + + + Gets or sets a value indicating whether a vertical page header, if defined (see remarks), + should be printed on the first of the horizontal pages spanned by the current table. + + + To define a vertical page header, create a column group on the current table, + and mark it as a page or column header, e.g. like this: + + RenderTable rt = new RenderTable(); + rt.ColGroups[0, 2].Header = TableHeaderEnum.All; + + + + + + + + + Gets or sets a value indicating whether a horizontal page header, if defined (see remarks), + should be printed on the first of the pages spanned by the current table. + + + To define a horizontal page header, create a row group on the current table, + and mark it as a page or column header, e.g. like this: + + RenderTable rt = new RenderTable(); + rt.RowGroups[0, 2].Header = TableHeaderEnum.All; + + + + + + + + + Gets or sets a value indicating whether a vertical page footer, if defined (see remarks), + should be printed on the last of the horizontal pages spanned by the current table. + + + To define a vertical page footer, create a column group on the current table, + and mark it as a page or column footer, e.g. like this: + + RenderTable rt = new RenderTable(); + rt.ColGroups[10, 2].Footer = TableFooterEnum.All; + + + + + + + + + Gets or sets a value indicating whether a horizontal page footer, if defined (see remarks), + should be printed on the last of the pages spanned by the current table. + + + To define a horizontal page footer, create a row group on the current table, + and mark it as a page or column footer, e.g. like this: + + RenderTable rt = new RenderTable(); + rt.RowGroups[10, 2].Footer = TableFooterEnum.All; + + + + + + + + + Gets or sets a value indicating whether vertical gridlines (see ) + should be drawn when the current table is split between two or more horizontal (extender) pages. + + + + + Gets or sets a value indicating whether horizontal gridlines (see ) + should be drawn when the current table is split between two or more pages. + + + + + Represents a run of text in a . + Text is drawn using a single style (see for multi-style text). + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class, + assigning the property. + + A string assigned to the property. + + + + Initializes a new instance of the class, + assigning the property and style. + + A string assigned to the property. + A to use + (the method + is used to copy the specified style to the current object's ). + + + + Initializes a new instance of the class, + assigning the property and font. + + A string assigned to the property. + The font used to render the text. + + + + Initializes a new instance of the class, + assigning the property, + font and text color. + + A string assigned to the property. + The font used to render the text. + The text color used to render the text. + + + + Initializes a new instance of the class, + assigning the property, + font, text color and alignment. + + A string assigned to the property. + The font used to render the text. + The text color used to render the text. + The horizontal text alignment. + + + + Initializes a new instance of the class, + assigning the property, + font and text alignment. + + A string assigned to the property. + The font used to render the text. + The horizontal text alignment. + + + + Initializes a new instance of the class, + assigning the property, + and text alignment. + + A string assigned to the property. + The horizontal text alignment. + + + + Initializes a new instance of the class, + assigning the property, + and the parent styles. + + A string assigned to the property. + The style assigned to the property of the current object's style. + The style assigned to the property of the current object's style. + + + + For internal use only. + + + + + + For internal use only. + + + + + + + + For internal use only. + + + + + + + For internal use only. + + + + + + + + For internal use only. + + + + + + + + + For internal use only. + + + + + + + + + + For internal use only. + + + + + + + + + For internal use only. + + + + + + + + For internal use only. + + + + + + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Assigns (copies) properties from another to the current object. + Calls the base method. + If is a , also copies -specific properties. + + + + + + + + + + + + Gets or sets the text of the current object. + + + + + Gets a value indicating whether the property of the current object is + not null and has a greater than zero length. + + + + + Gets the length of the string returned by the property. + + + + + Specifies the text alignment on a tab position. + See for details. + + + + + Text is left-aligned on the tab position (text starts at the tab stop). + + + + + Text is centered around the tab position. + + + + + Text is right-aligned on the tab position (text ends at the tab stop). + + + + + Represents a tab stop in a text in a . + To set a tab stop, add it to the + collection on the text or paragraph. + + + + + Initializes a new instance of the class, + at the specified position, with the default () text alignment. + + The tab position, relative to the left edge of the text area. + + + + Initializes a new instance of the class, + at the specified position and with the specified text alignment. + + The tab position, relative to the left edge of the text area. + The text alignment at this tab position. + + + + Initializes a new instance of the class, + at the specified position and with the specified text alignment and fill character. + + The tab position, relative to the left edge of the text area. + The text alignment at this tab position. + The character used to fill the area between the preceding and the current tab stops. + + + + Assigns (copies) properties from another to the current object. + + The source object to copy properties from. + + + + Gets or sets the tab stop position, relative to the left of the text area. + + + The tab stop position is relative to the left edge of the text area. + That area does not include any padding or borders, so for example + if a has a 1 inch left padding, + and the first is set to 1 inch, + any text after the first tab char will be positioned 2 inches + to the right of the 's X coordinate. + + + + + Gets or sets the text alignment at the current tab. + + + + + Gets or sets the char used to fill the space between the current and the preceding tabs. + + + This feature's main use is in , where it fills the space + between left-aligned TOC entries and right-aligned page numbers. + + + + + Represents a collection of objects. + This is the type of property. + + + + + Creates a new object, + initializes it with the specified tab stop position, + and adds it to the current collection. + + The position of the tab stop relative to the left edge of the text area. + The index of the added object in the current collection. + + + + Creates a new object, + initializes it with the specified tab stop position and text alignment, + and adds it to the current collection. + + The position of the tab stop relative to the left edge of the text area. + The text alignment at the specified tab stop. + The index of the added object in the current collection. + + + + Creates a new object, + initializes it with the specified tab stop position, text alignment and fill char, + and adds it to the current collection. + + The position of the tab stop relative to the left edge of the text area. + The text alignment at the specified tab stop. + The fill char between the preceding and the added tab stop. + The index of the added object in the current collection. + + + + Adds a object to the current collection. + + The object to add. + The index of in the current collection. + + + + Inserts a object at the specified position into the current collection. + + The index at which to insert . + The object to insert. + + + + Removes a object from the current collection. + + The object to remove. + + + + Gets the index of a object in the current collection. + + The object to get the index of. + The index of in the current collection. + + + + Gets or sets the at the specified index. + + The index in the current collection. + The TabPosition at the specified index. + + + + Represents a single entry in the table of contents (TOC; ) in a . + + + + + Initializes a new instance of the class. + + + + + For internal use only. + + + + + + For internal use only. + + + + + + Gets a string containing the page number tag enclosed in tag parentheses + ("[LPN]" by default). + + + + + Gets the object containing the current TOC entry. + + + + + Gets a value indicating whether the current TOC entry will produce visible + output in the generated document. + + + + + Gets the count of characters in the current TOC entry. + + + + + Gets or sets the level of the current entry in the TOC. + This value is 1-based, and determines the indentation of the current item in the generated TOC. + The default value is 1, which does not indent the entry. + Nested levels are indented by the amount. + + + + + Represents a table of contents (TOC) in a . + Individual TOC entries are represented by objects. + This object may also contain other types of render objects + (this may be used e.g. to show a TOC header). + + + + + For internal use only. + + + + + For internal use only. + + + + + Initializes a new instance of the class. + + + + + For internal use only. + + + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + For internal use only. + + + + + For internal use only. + + + + + + For internal use only. + + + + + + For internal use only. + + + + + + Assigns (copies) properties from another to the current object. + Calls the base method. + If is a , also copies -specific properties. + + The source object to copy properties from. + Indicates whether the property should be copied. + Indicates whether the elements of the collection should be copied. + Indicates whether the elements of the collection should be copied. + Indicates whether the property should be copied. + Indicates whether the property should be copied. + Indicates whether the property should be copied. + + + + Creates a new initialized with the specified + text and hyperlink, and adds it to the current TOC. + + A text representing the TOC item that is being added. + A which is the target of the TOC item. + The that was created and added to the current TOC. + + + + Creates a new initialized with the specified + text, hyperlink and level, and adds it to the current TOC. + + A text representing the TOC item that is being added. + A which is the target of the TOC item. + The of the TOC item. + The that was created and added to the current TOC. + + + + Creates a new initialized with the specified + text and target page number, and adds it to the current TOC. + + A text representing the TOC item that is being added. + The page number which is the target of the TOC item. + The that was created and added to the current TOC. + + + + Creates a new initialized with the specified + text, target page number and level, and adds it to the current TOC. + + A text representing the TOC item that is being added. + The page number which is the target of the TOC item. + The of the TOC item. + The that was created and added to the current TOC. + + + + Creates a new initialized with the specified + text and target , and adds it to the current TOC. + + A text representing the TOC item that is being added. + A which is the target of the TOC item. + The that was created and added to the current TOC. + + + + Creates a new initialized with the specified + text, target and level, and adds it to the current TOC. + + A text representing the TOC item that is being added. + A which is the target of the TOC item. + The of the TOC item. + The that was created and added to the current TOC. + + + + Creates a new initialized with the specified + text and target , and adds it to the current TOC. + + A text representing the TOC item that is being added. + A which is the target of the TOC item. + The that was created and added to the current TOC. + + + + Creates a new initialized with the specified + text, target and level, and adds it to the current TOC. + + A text representing the TOC item that is being added. + A which is the target of the TOC item. + The of the TOC item. + The that was created and added to the current TOC. + + + + Gets or sets a value indicating whether page numbers should be displayed in the current TOC. + + + + + Gets or sets a value indicating whether page numbers should be right-aligned within the current TOC. + + + + + Gets or sets a value indicating whether only the page numbers in the + rendered TOC represent clickable hyperlinks (otherwise, the entire + area between an entry's caption and page number can be clicked). + The default value is false. + + + + + Gets or sets a character used to fill empty spaces between TOC items and corresponding page numbers. + + + + + Gets or sets the indentation step of TOC items. + Items with equal to 1 are not indented, + each next level is indented by this value. + The default value is 10mm. + + + + + For internal use only. + + + + + For internal use. + Determines how item types are serialized + + + + + Name of type will NOT be serialized. + On deserialization object will be created and assigned to the field or property, + Type of created object will be determinated by the type of field or property. + + + + + Item type is serialized with using of aliases, + if alias is not found type will be serialized with assembly name. + On deserialization object will be created and assigned to the field or property. + + + + + Indicates that: + Item's type should not be serialized and on deserialization + value of property should be read from object. + + + + + For internal use. + Forces the serializer to serialize the type name of a property or field. + + + + + For internal use. + + + + + + For internal use. + + + + + + For internal use. + Defines how the type name of a property of field will be serialized. + + + + + For internal use. + This attribute defines additional properties for collections properties or fields. + + + + + For internal use. + + + + + + + For internal use. + + + + + + + + For internal use. + + + + + + + For internal use. + Collection's items are references. + + + + + For internal use. + Collection's items can be referenced by other properties. + + + + + For internal use. + + + + + For internal use. + + + + + For internal use. + Allows to mark field or property as "parent reference". + + + + + For internal use. + + + + + For internal use. + Allows to define additional properties for class. + + + + + For internal use. + + + + + + For internal use. + + + + + + + For internal use. + Indicates that by default the public fields or properties are not serialized. + + + + + For internal use. + Indicates that the type converter specified for class should be ignored + and not used during serialization. + + + + + For internal use. + + + + + For internal use. + + + + + For internal use. + + + + + For internal use. + + + + + For internal use. + Indicates that the object should be serialized only if it supports deserialization. + + + + + For internal use. + + + + + For internal use. + Indicates that the error occurs on deserialization value of this property should be ignored. + + + + + For internal use. + + + + + For internal use. + Indicates that the property or field is serializable only in C1D format. + + + + + For internal use. + + + + + For internal use. + Defines options for serialization in Open Xml format. + + + + + For internal use. + + + + + For internal use. + + + + + + For internal use. + + + + + + + For internal use. + Gets the name of part in open xml file. + + + + + For internal use. + Gets the value indicating that the name of part + should be autogenerated in the path defined by Path property. + + + + + For internal use. + Gets the path where part name shoulbe auto generated. + + + + + For internal use. + + + + + For internal use only. + + + + + For internal use. + + + + + For internal use. + + + + + + + For internal use. + + + + + + For internal use. + Converts a string to the C1FormatVersion object. + + The string to convert. + Indicates the exception should be thrown if string can not be converted to C1FormatVersion. + Returns instance of C1FormatVersion object or null. + + + + For internal use. + Gets the version of C1D document format. + + + + + For internal use. + Gets the AssemblyVersion of C1.C1Preview.2.dll assemly + that supports this FormatVersion. + + + + + For internal use. + + + + + For internal use. + + An that provides a format context. + + + + + + For internal use. + + An that provides a format context. + + + + + + For internal use. + + + + + Checks is passed string a reference on some object or not. + + The string to check. + Contains the reference value if string is a reference. + + + + + For internal use. + + + + + + For internal use only. + + + + + + + + Returns the "almost" fully qualified type name - i.e. with assembly name, + but without version, culture, and public key. + + Type + Type name, assembly name + + + + For internal use. + Checks the type's alias can be registered the or not. + + Type object. + Alias for type. + Returns true if alias is valid and can be registered. + + + + For internal use. + Registers new type's alias. + + Type object. + Alias for type. + + + + For internal use. + Serializes an object to a file, the format (C1D or C1DX) + is determinated by the file extension. If the file does not have an + extension or the extension is not C1D/C1DX, the C1D format is used. + + The target file name. + The object to serialize. + + + + For internal use. + Serializes an object to a stream in C1D format. + + The target stream. + The object to serialize. + + + + For internal use. + Serializes an object to a file. + + The target file name. + The object to serialize. + The document persistence format to use. + + + + For internal use. + Serializes an object to a stream. + + The target stream. + The object to serialize. + The document persistence format to use. + + + + For internal use. + Serializes the specified Object and writes the XML-document instance to a file. + + Name of destination file. + The Object to serialize. + The XmlSerializerNamespaces referenced by the object. + + + + For internal use. + Serializes the specified Object and writes the XML-document instance to a file using the specified Stream. + DOES NOT close the underlying stream. Useful for copying objects. + Caller is responsible to call out writer.Close() to close writer and underlying stream. + + The Stream used to write the XML-document instance + The Object to serialize + The XmlSerializerNamespaces referenced by the object + The XmlWriter object reference. Call writer.Close after working with stream/writer. + + + + For internal use. + Serializes the specified Object and writes the XML-document instance to a file using the specified Stream. + + The Stream used to write the XML-document instance + The Object to serialize + The XmlSerializerNamespaces referenced by the object + + + + For internal use. + Serializes the specified Object and writes the XML-document instance to a file using the specified XmlWriter + + The XmlWriter used to write the XML-document instance + The Object to serialize. + The XmlSerializerNamespaces referenced by the object. + + + + For internal use. + Serializes the specified object to an XML formatted string. + + The Object to serialize. + The XmlSerializerNamespaces referenced by the object. + String with results of serialization. + + + + For internal use. + Creates a Serializer class instances that formats the output XML. + + The created Serializer object. + + + + For internal use. + + + + + For internal use. + Sets or returns formatting used by the XML writer. + + + + + For internal use. + Sets or returns indentation used by the XML writer. + + + + + For internal use. + + + + + For internal use. + + + + + Gets information about a type, if type does not exist in cache + then the new TypeInfo object is created for it. + + + + + Indicates that the property/field is a collection. + + + + + Indicates that the property/field is an array. + + + + + Indicates that the property/field must be serialized as attribute. + + + + + Indicates that the property/field should be serialized as reference. + This field can be true only for *non* value properties/fields. + + + + + Indicates that the property/field contains an object + on which can reference properties/fields of other objects. + This field can be true only for non value fields/properties, + also these properties / fields should be serialized as XML elements (IsAttribute = false). + + + + + Like IsReference but for items in collection. + + + + + Like IsReferenceDest but for items in collection. + + + + + Indicates that the property should be serialized only if sit supports deserialzation. + + + + + Indicates that the error occurs during deserialization value of this property should be ignored. + + + + + Defines how the type name of property/field should be serialized. + + + + + Checks is serialization of the field/property needed or not. + Serialization is needed if: + 2. ShouldSerializeXXX method is not defined in obj for member described by this TypeInfoItem object + or this method returns true for value specified by propValue parameter. + 1. propValue does not equal DefaultValue for member described by this TypeInfoItem object. + + Object containing property or field described by this TypeInfoItem object. + Contains value of property on exit. + Returns true if property of obj must be serialized. + + + + Returns the value of the field/property described by this TypeInfoItem class. + + Object property/field of that is described by this TypeInfoItem object. + + + + For internal use only. + Serializes the Brush class as XmlElement. + + + + + For internal use only. + + + + + For internal use only. + + + + + + For internal use only. + + + + + + For internal use only. + + + + + + For internal use only. + + + + + + For internal use only. + + + + + + For internal use only. + + + + + + For internal use only. + + + + + + For internal use only. + + + + + + For internal use only. + + + + + + For internal use only. + + + + + + For internal use only. + + + + + + For internal use only. + + + + + + For internal use only. + + + + + + For internal use only. + + + + + + For internal use only. + + + + + + For internal use only. + + + + + + For internal use only. + + + + + + For internal use only. + + + + + + For internal use only. + + + + + + For internal use only. + + + + + + For internal use only. + + + + + + For internal use only. + + + + + + For internal use only. + + + + + + For internal use only. + + + + + + For internal use only. + Class with the only purpose in life - serialize images. + + + + + For internal use only. + + + + + + For internal use only. + + + + + For internal use only. + + + + + Converts a string to a object. + + An that provides a format context. + The string to convert. + The converted value. + + + + Converts an object to a string. + + An that provides a format context. + The object to convert. + The converted string. + + + + For internal use only. + Class with the only purpose in life - serialize icons. + + + + + For internal use only. + + + + + + For internal use only. + + + + + For internal use only. + + + + + Converts a string to a object. + + An that provides a format context. + The string to convert. + The converted value. + + + + Converts an object to a string. + + An that provides a format context. + The object to convert. + The converted string. + + + + For internal use only. + Class with the only purpose in life - serialize images. + + + + + For internal use only. + + + + + + For internal use only. + + + + + For internal use only. + + + + + Converts a string to a object. + + An that provides a format context. + The string to convert. + The converted value. + + + + Converts an object to a string. + + An that provides a format context. + The object to convert. + The converted string. + + + + Specifies the alignment within their container of objects in the block flow + (see ). + This is the type of and + properties. + + + + + + If specified for a child object's , + indicates that the parent's value is used. + + + If specified for a , equivalent to + . + + + + + + Objects are left-aligned for top to bottom flow (), + and top-aligned for left to right flow (). + + + + + Objects are centered horizontally for top to bottom flow (), + and vertically for left to right flow (). + + + + + Objects are right-aligned for top to bottom flow (), + and bottom-aligned for left to right flow (). + + + + + Specifies how text is split when wrapping long lines. + For internal use only. + + + + + Words are not split. + + + + + Words can be split at any pos. + + + + + Specifies the horizontal alignment of text within a containing object. + + This is the type of property. + + + + + The text is left-aligned. + + + + + The text is centered horizontally. + + + + + The text is right-aligned. + + + + + The text is justified horizontally by widening the white spaces existing in the text. + + + + + The text is justified horizontally by adding white spaces between all characters in the text. + + (Note that if is false, + this mode is not supported, and is used instead.) + + + + + Specifies the vertical alignment of text within a containing object. + + This is the type of property. + + + + + The text is top-aligned. + + + + + The text is centered vertically. + + + + + The text is bottom-aligned. + + + + + The text is justified vertically. + + + + + When applied to vertical text (, ), + justifies text vertically by adding white spaces between all characters. + + (Note that if is false, + this mode is not supported, and is used instead.) + + + + + Specifies the horizontal alignment of foreground and background images. + + This is the type of property + on and . + + + + + The image is left-aligned. + + + + + The image is centered horizontally. + + + + + The image is right-aligned. + + + + + Specifies the vertical alignment of foreground and background images. + + This is the type of property + on and . + + + + + The image is top-aligned. + + + + + The image is centered vertically. + + + + + The image is bottom-aligned. + + + + + Specifies the subscript and superscript properties of text. + + This is the type of property. + + + + + The text is positioned and sized normally. + + + + + The text is positioned and sized as subscript. + + + + + The text is positioned and sized as superscript. + + + + + Defines image alignment properties. + + + + + Gets or sets the horizontal alignment of an image within a container. + + + + + Gets or sets the vertical alignment of an image within a container. + + + + + Gets or sets a value indicating whether an image is stretched horizontally to fill its container. + + + + + Gets or sets a value indicating whether an image is stretched vertically to fill its container. + + + + + Gets or sets a value indicating whether the original aspect ratio is preserved when rendering an image. + + + + + Gets or sets a value indicating whether an image is tiled horizontally within its container. + + + + + Gets or sets a value indicating whether an image is tiled vertically within its container. + + + + + Gets or sets a value indicating whether an image should be resized to best fit within its container. + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Represents the alignment of an image within its container. + + + + + Initializes a new instance of the class. + + A value assigned to . + A value assigned to . + A value assigned to . + A value assigned to . + A value assigned to . + A value assigned to . + A value assigned to . + + + + Returns a string that represents the current . + + A string that represents the current . + + + + Gets or sets the horizontal alignment of an image within a container. + + + + + Gets or sets the vertical alignment of an image within a container. + + + + + Gets or sets a value indicating whether an image is stretched horizontally to fill its container. + + + + + Gets or sets a value indicating whether an image is stretched vertically to fill its container. + + + + + Gets or sets a value indicating whether the original aspect ratio is preserved when rendering an image. + Used when or is true. + + + + + Gets or sets a value indicating whether an image is tiled horizontally within its container. + Ignored if is true. + + + + + Gets or sets a value indicating whether an image is tiled vertically within its container. + Ignored if is true. + + + + + Gets or sets a value indicating whether an image should be resized to best fit within its container. + See remarks for details. + + + + Getting this property returns a Boolean conjunction (AND) of the + , and values. + + + Setting this property to a true value sets + , and to true. + + + Setting this property to a false value sets + only to false. + + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets the default image alignment. + + + + + A structure representing four values + corresponding to the four sides of a rectangluar area. + Used by and properties. + + + + + Describes four values + corresponding to the four sides of a rectangluar area. + + + + + Gets or sets the left offset value. + + + + + Gets or sets the top offset value. + + + + + Gets or sets the right offset value. + + + + + Gets or sets the bottom offset value. + + + + + Sets all four offset values. + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Initializes a new instance of the structure, + assigning the , , and + values. + + A string representing the value assigned to the property. + A string representing the value assigned to the property. + A string representing the value assigned to the property. + A string representing the value assigned to the property. + + Only absolute values (such as "1mm" or "8in") are allowed. + + + + + Initializes a new instance of the structure, + assigning a single value to all four offset properties. + + A string representing the value assigned to all four offsets. + + Only absolute values (such as "1mm" or "8in") are allowed. + + + + + Initializes a new instance of the structure, + assigning a single value to all four offset properties. + + A value assigned to all four offsets. + + Only absolute values (such as "1mm" or "8in") are allowed. + + + + + Gets or sets the left offset value. + + + Only absolute values (such as "1mm" or "8in") are allowed. + + + + + Gets or sets the top offset value. + + + Only absolute values (such as "1mm" or "8in") are allowed. + + + + + Gets or sets the right offset value. + + + Only absolute values (such as "1mm" or "8in") are allowed. + + + + + Gets or sets the bottom offset value. + + + Only absolute values (such as "1mm" or "8in") are allowed. + + + + + Sets all four offset values. + + + Only absolute values (such as "1mm" or "8in") are allowed. + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Represents a set of attributes used to draw lines. + This class is immutable. + + + + + Initializes a new instance of the class + with default values (1pt wide black line). + + + + + Initializes a new instance of the class, + assigning line color. + + A value assigned to the property. + + + + Initializes a new instance of the class, + assigning line width and color. + + A value assigned to the property. + A value assigned to the property. + + + + Initializes a new instance of the class, + assigning line width, color and dash style. + + A value assigned to the property. + A value assigned to the property. + A value assigned to the property. + + + + Initializes a new instance of the class, + assigning line width, color and dash pattern. + is set to . + + A value assigned to the property. + A value assigned to the property. + A value assigned to the property. + + + + Initializes a new instance of the class, + assigning line width, color, dash background color and dash style. + + A value assigned to the property. + A value assigned to the property. + A value assigned to the property. + A value assigned to the property. + + + + Initializes a new instance of the class, + assigning line width, color, dash background color and dash pattern. + is set to . + + A value assigned to the property. + A value assigned to the property. + A value assigned to the property. + A value assigned to the property. + + + + Tests whether the current and another objects define + same line styles - i.e. whether the values of , + , and + properties are the same. + Note that this method does NOT compare the lines' widths. + + A to compare to the current one. + true if the two lines have same styles, false otherwise. + + + + Determines whether the specified object is equal to the current object. + This method compares the property values on the objects. + + The object to compare with the current object. + true if the specified object's properties are equal to the current one's, false otherwise. + + + + Serves as a hash function for the type. + + A hash code for the current object. + + + + Returns a string that represents the current object. + + A string that represents the current object. + + + + Creates a object, and initialises it with values + acquired by parsing a string representation of a . + + A string representing a (see ). + If true, an exception is thrown if an error occurs while parsing; otherwise, errors are ignored. + The new object. + + + + For internal use only. + + + + + + + + + Gets the line color. + + + + + Gets the line width (thickness). + + + + + Gets the the background color of spaces between the dashes of a dashed line. + Not used if is . + + + + + Gets the of the current . + + + + + Gets an array of custom dashes and spaces. + + + This property is used only if + is set to . + + + + + Represents an empty line (with emtpy color and zero width). + + + + + Represents the default regular line (solid black, 1pt wide). + + + + + Represents the default bold line (solid black, 2pt wide). + + + + + Used to convert objects of type. + + + + + Converts a string to a . + + An that provides a format context. + The string to convert. + The converted object. + + + + Converts an object to a string. + + An that provides a format context. + The object to convert. + The converted string. + + + + A structure defining the four borders around a rectangular area. + Each border is represented by a object. + + + + + Describes four borders around a rectangular area. + Each border is represented by a object. + + + + + Gets or sets the left border. + + + + + Gets or sets the top border. + + + + + Gets or sets the right border. + + + + + Gets or sets the bottom border. + + + + + Sets all four borders. + + + + + Gets or sets the width of the ellipse used to draw the rounded corners of the border. + + + + + Gets or sets the height of the ellipse used to draw the rounded corners of the border. + + + + + Gets a value indicating whether the current borders is rounded + (i.e. whether both and have non-zero values). + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the left border. + + + + + Gets or sets the top border. + + + + + Gets or sets the right border. + + + + + Gets or sets the bottom border. + + + + + Sets all four borders to a single value. + + + + + Gets or sets the x-radius of the ellipse used to draw the rounded corners of the border. + + + If both this and are non-zero, all borders are drawn using the + same () border thickness. + + If this value is less than the border thickness, border thickness is used as the radius. + + + + + + Gets or sets the y-radius of the ellipse used to draw the rounded corners of the border. + + + If both this and are non-zero, all borders are drawn using the + same () border thickness. + + If this value is less than the border thickness, border thickness is used as the radius. + + + + + + Gets a value indicating whether the current structure + defines rounded borders (i.e. whether both and + have non-zero values). + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + A structure defining the grid lines (four borders and two internal lines) + used to draw a . + Each line is represented by a object. + + + + + Describes the grid lines used to draw a . + Each line is represented by a object. + + + + + Gets or sets the left outer border of a table. + + + + + Gets or sets the top outer border of a table. + + + + + Gets or sets the right outer border of a table. + + + + + Gets or sets the bottom outer border of a table. + + + + + Gets or sets the vertical inner lines in a table. + + + + + Gets or sets the horizontal inner lines in a table. + + + + + Sets all six lines to a single value. + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the left outer border of a table. + + + + + Gets or sets the top outer border of a table. + + + + + Gets or sets the right outer border of a table. + + + + + Gets or sets the bottom outer border of a table. + + + + + Gets or sets the vertical inner lines in a table. + + + + + Gets or sets the horizontal inner lines in a table. + + + + + Sets all six lines to a single value. + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Represents the visual attributes of a hyperlink in a certain state. + + + + + Initializes a new instance of the class. + + + + + Checks whether the current has all default values. + + true if all properties on the current object have default values, false otherwise. + + + + Represents the visual attributes of a text hyperlink in a certain state. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class, + assigning background and foreground colors and property. + + The background color of the hyperlink text. + The foreground color of the hyperlink text. + A value indicating whether the hyperlink text should be underlined. + + + + Initializes a new instance of the class, + assigning property. + + A value indicating whether the hyperlink text should be underlined. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Checks whether the current has all default values. + + true if all properties on the current object have default values, false otherwise. + + + + Determines whether the specified object is equal to the current object. + This method compares properties on the two objects. + + The object to compare with the current object. + true if the specified Object is equal to the current object; otherwise, false. + + + + Serves as a hash function for . + + A hash code for the current object. + + + + Gets the background color. + If this value indicates an empty or transparent color, + the background color of a hyperlink is not changed. + + + + + Gets the foreground (text) color. + If this value indicates an empty or transparent color, + the text color of a hyperlink is not changed. + + + + + Gets a value indicating whether the text of a hyperlink is underlined. + + + + + Gets the default attributes of visited hyperlinks. + + + + + Gets the default attributes of "normal" (neither visited nor highlighted) hyperlinks. + + + + + Gets the default attributes of highlighted hyperlinks. + + + + + Represents the shadow cast by a . + + + + + Represents the shadow cast by a . + This interface is implemented by structure. + + + + + Gets or sets the transparency of the shadow, in percent. + A value of 0 defines a solid (non-transparent) shadow, + a value of 100 (which is the default) defines a fully transparent (invisible) shadow. + + + + + Gets or sets the size of the shadow relative to the size of the object, in percent. + A value of 100 (which is the default) indicates that the shadow has the same size + as the object. + + + + + Gets or sets the distance that the shadow's center is offset from the the object's center. + Note that only absolute values (such as "0.5in" or "4mm") can + be assigned to this property. + The default is 2mm. + + + + + Gets or sets the angle, in degrees, of the shadow. The angle is measured relative + to the three o'clock position clockwise. The default is 45. + + + + + Gets or sets the color of the shadow. The default is Black. + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Initializes a new instance of the structure, + assigning , , and + values. + + A value assigned to the property. + A value assigned to the property. + An absolute value assigned to the property. + A value assigned to the property. + A value assigned to the property. + + + + Gets or sets the transparency of the shadow, in percent. + A value of 0 defines a solid (non-transparent) shadow, + a value of 100 defines a fully transparent (invisible) shadow. + + + + + Gets or sets the size of the shadow relative to the size of the object, in percent. + A value of 100 indicates that the shadow has the same size + as the object. + + + + + Gets or sets the distance that the shadow's center is offset from the the object's center. + Note that only absolute values (such as "0.5in" or "4mm") can + be assigned to this property. + + + + + Gets or sets the angle, in degrees, of the shadow. The angle is measured relative + to the three o'clock position clockwise. + + + + + Gets or sets the color of the shadow. + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Represents the style of an object. + + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the left spacing should be serialized. + + true if left spacing should be serialized, false otherwise. + + + + Indicates whether the right spacing should be serialized. + + true if right spacing should be serialized, false otherwise. + + + + Indicates whether the top spacing should be serialized. + + true if top spacing should be serialized, false otherwise. + + + + Indicates whether the bottom spacing should be serialized. + + true if bottom spacing should be serialized, false otherwise. + + + + Indicates whether the left padding should be serialized. + + true if left padding should be serialized, false otherwise. + + + + Indicates whether the right padding should be serialized. + + true if right padding should be serialized, false otherwise. + + + + Indicates whether the top padding should be serialized. + + true if top padding should be serialized, false otherwise. + + + + Indicates whether the bottom padding should be serialized. + + true if bottom padding should be serialized, false otherwise. + + + + Indicates whether the left border should be serialized. + + true if left border should be serialized, false otherwise. + + + + Indicates whether the right border should be serialized. + + true if right border should be serialized, false otherwise. + + + + Indicates whether the top border should be serialized. + + true if top border should be serialized, false otherwise. + + + + Indicates whether the bottom border should be serialized. + + true if bottom border should be serialized, false otherwise. + + + + Indicates whether BorderRadiusX should be serialized. + + true if BorderRadiusX should be serialized, false otherwise. + + + + Indicates whether BorderRadiusY should be serialized. + + true if BorderRadiusY should be serialized, false otherwise. + + + + Indicates whether the horizontal image alignment should be serialized. + + true if horizontal image alignment should be serialized, false otherwise. + + + + Indicates whether the vertical image alignment should be serialized. + + true if vertical image alignment should be serialized, false otherwise. + + + + Indicates whether the horizontal stretch image alignment should be serialized. + + true if horizontal stretch image alignment should be serialized, false otherwise. + + + + Indicates whether the vertical stretch image alignment should be serialized. + + true if vertical stretch image alignment should be serialized, false otherwise. + + + + Indicates whether the keep aspect image alignment should be serialized. + + true if keep aspect image alignment should be serialized, false otherwise. + + + + Indicates whether the horizontal tile image alignment should be serialized. + + true if horizontal tile image alignment should be serialized, false otherwise. + + + + Indicates whether the vertical tile image alignment should be serialized. + + true if vertical tile image alignment should be serialized, false otherwise. + + + + Indicates whether the horizontal background image alignment should be serialized. + + true if horizontal background image alignment should be serialized, false otherwise. + + + + Indicates whether the vertical background image alignment should be serialized. + + true if vertical background image alignment should be serialized, false otherwise. + + + + Indicates whether the horizontal stretch background image alignment should be serialized. + + true if horizontal stretch background image alignment should be serialized, false otherwise. + + + + Indicates whether the vertical stretch background image alignment should be serialized. + + true if vertical stretch background image alignment should be serialized, false otherwise. + + + + Indicates whether the keep aspect background image alignment should be serialized. + + true if keep aspect background image alignment should be serialized, false otherwise. + + + + Indicates whether the horizontal tile background image alignment should be serialized. + + true if horizontal tile background image alignment should be serialized, false otherwise. + + + + Indicates whether the vertical tile background image alignment should be serialized. + + true if vertical tile background image alignment should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the Shadow.Transparency property should be serialized. + + true if Shadow.Transparency should be serialized, false otherwise. + + + + Indicates whether the Shadow.Size property should be serialized. + + true if Shadow.Size should be serialized, false otherwise. + + + + Indicates whether the Shadow.Distance property should be serialized. + + true if Shadow.Distance should be serialized, false otherwise. + + + + Indicates whether the Shadow.Angle property should be serialized. + + true if Shadow.Angle should be serialized, false otherwise. + + + + Indicates whether the left grid line property should be serialized. + + true if left grid line should be serialized, false otherwise. + + + + Indicates whether the right grid line property should be serialized. + + true if right grid line should be serialized, false otherwise. + + + + Indicates whether the top grid line property should be serialized. + + true if top grid line should be serialized, false otherwise. + + + + Indicates whether the bottom grid line property should be serialized. + + true if bottom grid line should be serialized, false otherwise. + + + + Indicates whether the vertical grid line property should be serialized. + + true if vertical grid line should be serialized, false otherwise. + + + + Indicates whether the horizontal grid line property should be serialized. + + true if horizontal grid line should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Indicates whether the property should be serialized. + + true if should be serialized, false otherwise. + + + + Gets value of "style" property. + If style has no this property and all its parents has no this property + then null is returned (NOT DEFAULT VALUE). + + Key of property (c_propXXX constant). + that should be used to get calculated properties. + + + + This method used only in RenderTable objects and its subobjects TableCell, + TableVector etc. + + Key of property (c_propXXX constant). + that should be used to get calculated properties. + + + + Returns true if style has no properties. + + + + + Clears the current style, resets all properties so that they + inherit from the parent style. + + + + + Copies to the current style all properties of another object + that have been explicitly set on that other style, + plus the values of the and properties. + + The source object to copy properties from. + + Effectively, this method makes the current + a complete copy of the style. + + + + + Gets a value indicating whether the current style has calculated properties. + + + + + Gets the owner of the current style. + + + + + Gets or sets the that is the parent of the current style. + + If non-null, that style provides the values for non-ambient properties + of the current style that have not been explicitly set. + + + If null, such properties have default values. + + + This property is null by default. + + + + Initially a object does not have any + explicitly set properties. This means that the effective + values of all ambient properties (such as font) are inherited from + the style of the containing object, while the effective values + of all non-ambient properties (such as borders) are inherited + from the style specified by this property. + + + + + Sets both parents ( and ) to the same value. + + + + + Gets the collection of child styles + (i.e. objects that have their + set to the current style). + + + This method always returns a non-null collection of child styles, + initializing it if it did not exist. + To test whether a style already has child styles + without creating the collection, + use the property. + + + + + Gets a value indicating whether the current style's + collection has been initialized and contains one or more elements. + + + + + Gets or sets the that is the ambient parent of the current style. + + If non-null, that style provides the values for ambient properties + of the current style that have not been explicitly set. + + + If null, such properties are inherited from the style of the containing object. + + + This property is null by default. + + + + Initially a object does not have any + explicitly set properties. This means that the effective + values of all ambient properties (such as font) are inherited from + the style of the containing object, unless this property has + been set to a non-null value, in which case they are + inherited from that style. + + Note that even if an AmbientParent has been specified, + only ambient properties that have been explicitly set on + that style or any of its own ambient parents (styles or containing objects) + propagate to the current style. See example below for details. + + + + For instance, the following code: + + C1PrintDocument doc = new C1PrintDocument(); + RenderArea ra = new RenderArea(); + ra.Style.FontBold = true; + RenderText rt = new RenderText("my text"); + ra.Style.AmbientParent = doc.Style; + ra.Children.Add(rt); + doc.Body.Children.Add(ra); + + still prints "my text" in bold, while this code: + + C1PrintDocument doc = new C1PrintDocument(); + doc.Style.FontBold = false; // this line makes the difference! + RenderArea ra = new RenderArea(); + ra.Style.FontBold = true; + RenderText rt = new RenderText("my text"); + ra.Style.AmbientParent = doc.Style; + ra.Children.Add(rt); + doc.Body.Children.Add(ra); + + prints "my text" using regular (non-bold) font. This is because + has been explicitly set to false + on the style assigned to the AmbientParent on the text object. + + + + + Gets or sets the background image. + The image is aligned using . + + + This property is non-ambient (inherited from the of the current style if not explicitly set). + The default is no image. + + + + + Gets or sets the name of the background image + in on the current document. + + + This property is non-ambient (inherited from the of the current style if not explicitly set). + The default is emtpy string. + + + + + Gets or sets the brush used to fill the background. + If both this and properties are specified for a style, + the BackColor takes precedence. + + + This property is non-ambient (inherited from the of the current style if not explicitly set). + The default is no brush. + + + + + Gets or sets the text (foreground) color. + + + This property is ambient (inherited from the style of the object containing the current style's owner if not explicitly set). + The default is black color. + + + + + Gets or sets the text rotation angle, + in degrees counterclockwise from the X axis. + + + This property is non-ambient (inherited from the of the current style if not explicitly set). + The default is 0. + + + + + Gets or sets the horizontal text alignment. + + + This property is ambient (inherited from the style of the object containing the current style's owner if not explicitly set). + The default is left alignment. + + + + + Gets or sets the vertical text alignment. + + + This property is ambient (inherited from the style of the object containing the current style's owner if not explicitly set). + The default is top alignment. + + + + + Gets or sets the line spacing of a text in percent. + + + This property is ambient (inherited from the style of the object containing the current style's owner if not explicitly set). + The default is 100% (normal line spacing). + + + + + Gets or sets a value indicating whether text automatically + wraps to the next line when there is not enough space left on the current line. + + + This property is ambient (inherited from the style of the object containing the current style's owner if not explicitly set). + The default is true. + + + + + Gets or sets a value indicating whether text is rendered + normally, or as superscript or subscript. + + + This property is non-ambient (inherited from the of the current style if not explicitly set). + The default is normal text. + + + + + Gets or sets a for "normal" (neither visited nor highlighted) hyperlinks. + + + This property is ambient (inherited from the style of the object containing the current style's owner if not explicitly set). + The default is to highlight hyperlinks with blue text color. + + + + + Gets or sets a for visited hyperlinks. + + + This property is ambient (inherited from the style of the object containing the current style's owner if not explicitly set). + The default is to highlight visited hyperlinks with magenta text color. + + + + + Gets or sets a for highlighted hyperlinks. + + + This property is ambient (inherited from the style of the object containing the current style's owner if not explicitly set). + The default is to underline text on a hyperlinks under mouse. + + + + + Gets or sets a for active hyperlinks. + + + This property is ambient (inherited from the style of the object containing the current style's owner if not explicitly set). + The default is to not highlight active hyperlinks. + + + + + Obsolete. Use instead. + + + + + Obsolete. Use instead. + + + + + Gets or sets a value indicating whether spaces at ends of text lines + are taken into account when measuring the text. + + + This property is ambient (inherited from the style of the object containing the current style's owner if not explicitly set). + The default is false. + + + + + Gets or sets the padding (white space added between the style owner's content and borders). + + + Padding is within (if any), while is added outside of borders. + + This property is non-ambient (inherited from the of the current style if not explicitly set). + + The default is no padding. + + + + + Gets or sets the spacing between the the current style's owner and the surrounding objects. + + + Spacing is outside of (which, in turn, contain ). + + This property is non-ambient (inherited from the of the current style if not explicitly set). + + The default is no spacing. + + + + + Gets or sets the borders drawn around the current style's owner object. + + + Borders are drawn within the area, and contain . + + This property is non-ambient (inherited from the of the current style if not explicitly set). + + The default is no borders. + + + + + Gets or sets properties of the shadow cast by the current object. + By default the shadow is invisible due to being 100% transparent. + Set Shadow.Transparency to a value less than 100, to show shadow. + Other properties can be adjusted as needed. + + + + + Gets or sets the grid lines used to draw tables. + + + This property is non-ambient (inherited from the of the current style if not explicitly set). + The default is no grid lines. + + + + + Gets or sets the foreground image alignment. + + + This property is ambient (inherited from the style of the object containing the current style's owner if not explicitly set). + The default is to align to left/top, stretch horizontally and vertically, and keep aspect ratio. + + + + + + Gets or sets the background image alignment. + + + This property is non-ambient (inherited from the of the current style if not explicitly set). + The default is to align to left/top, stretch horizontally and vertically, and keep aspect ratio. + + + + + + Gets or sets the background color. + If both this and properties are specified for a style, + this property takes precedence. + + + This property is non-ambient (inherited from the of the current style if not explicitly set). + The default is transparent background color. + + + + + Gets or sets the minimum number of orphan text lines allowed on a page + before or after a page break. + + + This property is non-ambient (inherited from the of the current style if not explicitly set). + The default is 0. + + + + + Gets or sets a value indicating whether just the client area of a , + or the whole control, is rendered by the object owning the current style. + + + + A can render an image of a + if it is assigned to the RenderImage's property. + ClientAreaOnly can be used to indicate that only the client area of that control should be rendered. + + + This property is non-ambient (inherited from the of the current style if not explicitly set). + + The default is false. + + + + + Gets or sets the brush used to fill internal areas of shapes + (objects derived from ). + If for a style both this and are specified, + ShapeFillColor takes precedence. + + + This property is non-ambient (inherited from the of the current style if not explicitly set). + The default is no brush. + + + + + Gets or sets the color used to fill internal areas of shapes + (objects derived from ). + If for a style both this and are specified, + this property takes precedence. + + + This property is non-ambient (inherited from the of the current style if not explicitly set). + The default is transparent fill color. + + + + + Gets or sets the style of lines used to draw shape objects (RenderLine, RenderRectangle etc). + + + This property is non-ambient (inherited from the of the current style if not explicitly set). + The default is a black line, 1pt thick. + + + + + Gets or sets the alignment of the current style's owner object within its container in a block flow. + + + This property is non-ambient (inherited from the of the current style if not explicitly set). + The default is . + + + + + + + Gets or sets the alignment of children of the current style's owner object in a block flow. + + + This property is non-ambient (inherited from the of the current style if not explicitly set). + The default is . + + + + + + + Gets or sets the indentation of the first line in a block of text. + + + This property is non-ambient (inherited from the of the current style if not explicitly set). + The default is 0. + + + + + Gets or sets the spacing between characters in a text. + + + This property is ambient (inherited from the style of the object containing the current style's owner if not explicitly set). + The default is 0 (normal spacing). + + + + + Gets or sets the amount (in percent) by which to increase or decrease + the widths of characters in a text. + + + This property is ambient (inherited from the style of the object containing the current style's owner if not explicitly set). + The default is 100 (normal width). + + + + + Gets or sets a value indicating whether the last line of text should be justified + if the current style has set to + or . + + + This property is ambient (inherited from the style of the object containing the current style's owner if not explicitly set). + The default is false. + + + + + Gets or sets a value indicating whether lines of text + ending with a newline character should be justified + if the current style has set to + or . + + + This property is ambient (inherited from the style of the object containing the current style's owner if not explicitly set). + The default is true. + + + + + Gets or sets a mode of words' splitting during text wrapping. + at any pos. + + + + + Gets or sets the font. + + + Note that setting this property resets properies specifying individual font attributes: + , + , + , + , + and + . + + This property is ambient (inherited from the style of the object containing the current style's owner if not explicitly set). + + The default is Arial, 10pt. + + + + + Gets or sets the face name of the font. + + + This property is ambient (inherited from the style of the object containing the current style's owner if not explicitly set). + The default is Arial. + + + + + Gets or sets the em-size of the font. + + + This property is ambient (inherited from the style of the object containing the current style's owner if not explicitly set). + The default is 10. + + + + + Gets or sets a value indicating whether the font is bold. + + + This property is ambient (inherited from the style of the object containing the current style's owner if not explicitly set). + The default is false. + + + + + Gets or sets a value indicating whether the font is italic. + + + This property is ambient (inherited from the style of the object containing the current style's owner if not explicitly set). + The default is false. + + + + + Gets or sets a value indicating whether the font is underlined. + + + This property is ambient (inherited from the style of the object containing the current style's owner if not explicitly set). + The default is false. + + + + + Gets or sets a value indicating whether the font is strikeout. + + + This property is ambient (inherited from the style of the object containing the current style's owner if not explicitly set). + The default is false. + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Gets or sets the expression used to calculate . + + + + + Represents a collection of objects. + This is the type of the collection + on a . + + + + + Creates a new object and adds it to the current collection. + + The created object. + + + + Gets the object at the specified index in the current collection. + + The index of the element. + The element at the specified index. + + + + Represents operating system related information in a . + + + + + Initializes a new instance of the class. + Note that the property values are not updated by this constructor, + the method should be used to actually + fill the current object with system info data. + + + + + Updates the properties of the current object + with the current system info data. + + + + + Gets the number of system screens. + + + + + Gets the logical horizontal resolution (DPI) of the screen. + + + + + Gets the logical vertical resolution (DPI) of the screen. + + + + + Gets the physical horizontal resolution (DPI) of the screen. + + + + + Gets the physical vertical resolution (DPI) of the screen. + + + + + Gets the bounds of the screen as returned by . + + + + + Gets the measurement device as returned by . + + + + + Gets the measurement printer name as returned by . + + + + + Gets the measurement resolution as returned by . + + + + + Gets the if is a printer, + or the word "Screen" if it is the screen. + + + + + Gets a string representing the format version used to serialize a . + Format versions are backward-compatible, but not necessarily forward-compatible. + + + + + Gets the assembly version of the assembly containing the class. + + + + + Gets the current culture. + + + + + Gets the OS version as returned by . + + + + + The abstract base class for system () and user defined () tags. + + + + + Gets the object containing the current tag. + Can return null if the tag has not been added to a document. + + + + + Gets or sets the value of the current tag. + + + + + The abstract base class for system defined tags such as and . + + + + + Gets the name of the current tag. + + + + + + Sets the name of the current tag. + + The new tag name. + + + + Copies the properties of the specified object to the current object. + + The source object to copy properties from. + + + + Gets or sets the value of the current tag. + + + + + The abstract base class for system tags that evaluate to a page number or count. + + + + + Represents the current page number system tag. + + + + + Returns the name of the current tag ("PageNo"). + + "PageNo". + + + + Represents the total page count system tag. + + + + + Returns the name of the current tag ("PageCount"). + + "PageCount". + + + + Represents the current horizontal page number system tag. + + + + + Returns the name of the current tag ("PageX"). + + "PageX". + + + + Represents the horizontal page count system tag. + + + + + Returns the name of the current tag ("PageXCount"). + + "PageXCount". + + + + Represents the current vertical page number system tag. + + + + + Returns the name of the current tag ("PageY"). + + "PageY". + + + + Represents the vertical page count system tag. + + + + + Returns the name of the current tag ("PageYCount"). + + "PageYCount". + + + + Represents a system tag that is replaced by the page number of a hyperlink target. + + + + + Returns the name of the current tag ("HyperlinkPageNo"). + + "HyperlinkPageNo". + + + + The abstract base class for system tags that return + data from . + + + + + Represents a system tag returning the date and time when the document was last generated. + + + + + Returns the name of the current tag ("GeneratedDateTime"). + + "GeneratedDateTime". + + + + Represents a system tag returning the date and time when the document was last printed. + + + + + Returns the name of the current tag ("PrintedDateTime"). + + "PrintedDateTime". + + + + Represents a system tag returning the file name last used to save or load the document. + + + + + Returns the name of the current tag ("LastFileName"). + + "LastFileName". + + + + Represents a system tag returning the name of the printer last used to print the document. + + + + + Returns the name of the current tag ("LastPrinterName"). + + "LastPrinterName". + + + + Represents a user-defined tag. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified name and value. + + The name of the tag. + The value of the tag. + + + + Initializes a new instance of the class with the specified name. + + The name of the tag. + + + + Initializes a new instance of the class with the specified name, value and type. + + The name of the tag. + The value of the tag. + The type of the tag. + + + + Sets the name of the current tag. + + The new tag name. + + + + Copies the properties of the specified object to the current object. + + The source object to copy properties from. + + + + Gets or sets a value indicating whether the of the current tag + should be serialized. The default is true. + + + + + Gets or sets a value indicating whether to show the current tag and + allow the user to edit its in the tags input dialog. + The default is true. + + + + + Gets or sets a value indicating whether the + property contains a string with a script expression + which must be evaluated when the tag is rendered. + + + + + Gets or sets the description of the tag. + If not empty, used as the label in the tag input dialog. + (If Description is empty, is shown in the input dialog instead.) + + + + + Gets or sets the current tag type. + + + + + Gets or sets the current tag value. + + + + + Gets or sets a object that is used by the tag input dialog + to customize the editor for the current tag. By default, this property is null. + + + The class is abstract, the following types derived from it + can be used, depending on the current tag's type: + + + Used to customize input of a string value. + + Used to customize input of a value. + + Allows to use a or for input of the tag's value. + + Allows to input a Boolean value using a check box. + + Used to customize input of a numeric value. + + + + + + Converts objects to/from other types. + + + + + Tests whether this converter can convert the object to the specified type. + + An ITypeDescriptorContext that provides a format context. + The target type. + true if the conversion can be performed, false otherwise. + + + + Converts the given value object to the specified type. + + An ITypeDescriptorContext that provides a format context. + The culture into which will be converted. + The object to convert. + The target type. + An object representing the converted value. + + + + Converts values to/from other types. + + + + + Converts the given object to a object. + + An ITypeDescriptorContext that provides a format context. + The culture into which will be converted. + The object to convert. + An object representing the converted value. + + + + Represents a collection of objects. + + + + + Initializes a new instance of the class. + + + + + + Adds a object to the current collection. + + The object to add. + The index of the newly added object. + + + + Removes a object from the current collection. + + The object to remove. + + + + Finds the index of the object with the specified name in the collection. + + The name to search for. + The index of the found object. + + + + Gets or sets a in the current collection by its index. + + The index of the in the current collection. + The with the specified index. + + + + Gets a in the current collection by its . + + The name of the . + The with the specified name. + + + + The abstract base class for specialized classes used by the + tag input dialog to customize input of individual tags. + + + + + Initializes a new instance of the class. + + + + + Copies the properties of the specified object to the current object. + + The source object to copy properties from. + + + + Creates a copy of the current object. + + The newly created object. + + + + Represents customization parameters for input of string tag values. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The maximum length of the input string. + + + + Copies the properties of the specified object to the current object. + + The source object to copy properties from. + + + + Gets or sets the maximum length of the input string. + + + + + Represents customization parameters for input of tag values. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The minimum allowed date. + The maximum allowed date. + The format to use in the date/time picker. + The custom date/time format string. + + + + Initializes a new instance of the class. + + The format to use in the date/time picker. + The custom date/time format string. + + + + Copies the properties of the specified object to the current object. + + The source object to copy properties from. + + + + Gets or sets the custom date/time format string. + + + + + Gets or sets the minimum allowed date. + + + + + Gets or sets the maximum allowed date. + + + + + Gets or sets the format to use in the date/time picker. + + + + + Specifies the type of list for . + + + + + The is used for input. + + + + + The is used for input. + + + + + Represents customization parameters for input of tag values that can be selected from a list. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The type of list input to use. + The collection of list items. + + + + Copies the properties of the specified object to the current object. + + The source object to copy properties from. + + + + Gets or sets the type of list input to use. + + + + + Gets the value indicating whether the list contains any items. + + + + + Gets the collection of list items. + + + + + Represents a list item for . + + + + + Initializes a new instance of the class. + + The item name. + The item value. + + + + Copies the properties of the specified object to the current object. + + The source object to copy properties from. + + + + Returns the string representation of the current . + + The string representing the current item. + + + + Gets or sets the current item's value. + + + + + Represents a collection of list items for . + + + + + Initializes a new instance of the class. + + The collection owner. + + + + Adds an item to the current collection. + + The item to add. + The index of the newly added item. + + + + Removes an item from the current collection. + + The item to remove. + + + + Gets or set the item with the specified index. + + The index of the item. + The item with the specified index. + + + + Gets or set the item with the specified name. + + The name of the item. + The item with the specified name. + + + + Represents customization parameters for input of Booleand tag values. + + + + + Initializes a new instance of the class. + + + + + Copies the properties of the specified object to the current object. + + The source object to copy properties from. + + + + Represents customization parameters for input of numeric tag values. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The minimum allowed value. + The maximum allowed value. + Increment for the spin buttons. + Editor precision (decimal places). + + + + Copies the properties of the specified object to the current object. + + The source object to copy properties from. + + + + Gets or sets the minimum allowed value. + + + + + Gets or sets the maximum allowed value. + + + + + Gets or sets the increment for the spin buttons. + + + + + Gets or sets the editor precision (decimal places). + + + + + For internal use. + Specifies a referenced object in an expression in a . + + + + + The parent of the current object. + + + + + The next object at the same level as the current object. + + + + + The previous object at the same level as the current object. + + + + + The current object. + + + + + An object with the specified name. + + + + + The current page. + + + + + The current page column. + + + + + An object with the specified Id + (provided for backward compatibility only). + + + + + A page with the specifid index. + + + + + For internal use. + Enumerates the single-dimensional coordinates and sizes of an object. + + + + + The default dimension. + + + + + The left edge of an object. + + + + + The top edge of an object. + + + + + The right edge of an object. + + + + + The bottom edge of an object. + + + + + The width of an object. + + + + + The height of an object. + + + + + Enumerates units of measurement used in a , + used by and related types. + + + + + Units specified by a document's are used. + + + + + Specifies the document unit (1/300 inch) as the unit of measure. + + + + + Specifies the inch as the unit of measure. + + + + + Specifies the millimeter as the unit of measure. + + + + + Specifies the pica unit (1/6 inch) as the unit of measure. + + + + + Specifies a device pixel as the unit of measure. + + + + + Specifies a printer's point (1/72 inch) as the unit of measure. + + + + + Specifies a twip (1/1440 inch) as the unit of measure. + + + + + Specifies a hundredths of an inch as the unit of measure. + + + + + Specifies 1/75 inch as the unit of measure. + + + + + Specifies centimetre's as the unit of measure. + + + + + Measurement is relative to the height of the element's font. + + + + + Measurement is relative to the height of the lowercase letter x of the element's font. + + + + + Measurement is relative to the spacing between two lines of element's font. + + + + + For internal use. + The abstract base class representing a single coordinate or dimension of an object. + + + + + Initializes a new instance of the class. + + + + + Converts a string to a value. The string can be one of the following: + "def", "doc", "in", "mm", "pc", "pix", "pt", "tw", "inhs". + This method is case-insensitive. + + The string to convert. If it is null or empty, is returned. + OUT: On exit, contains the value. + true if no error occurred, false otherwise. + + + + Converts a value to a string representation as in + the following table: + + DefaultEmpty string + Document"doc" + Inch"in" + Millimeter"mm" + Pica"pc" + Pixel"pix" + Point"pt" + Twip"tw" + InHs"inhs" + + + A to convert. + The string representing . + + + + Converts a string to a value. + The string can be one of the following: + "left", "top", "right", "bottom", "width", "height". + This method is not case sensitive. + + The string to convert. If s is null or empty, is returned. + OUT: A corresponding to the specified string. + true if no error occurred, false otherwise. + + + + Parses a string and creates a instance from that string. + + The string to parse. + Indicates whether to throw an exception if the string cannot be parsed. + A instance. Depending on , + this may be a , a , a or a . + If is false, null is returned if an error occurred. + + + + Returns true if size or coordinate represented by this Unit object. + Depends on autosize. + + + + + Gets a value indicating whether the current object represents an auto length. + + + + + Gets a value indicating whether the current object represents a zero length. + + + + + Gets a value indicating whether the current object represents an absolute length. + + + + + Gets an instance of representing an auto length. + + + + + Converts to/from other types. + + + + + Converts a string to a . + + An that provides a format context. + The string to convert. + A representing . + + + + Converts an object to a string. + + An that provides a format context. + The object to convert. + The converted string. + + + + For internal use. + Represents an automatic dimension or coordinate. + Only one instance of this type can be created, it can be accessed via . + The string "auto" can be used in expressions as an alias for this type. + + + + + Converts the current object to a string. + + "auto". + + + + For internal use. + Represents an absolute length value, such as "5mm", "10in", "20" and so on. + + + + + Initializes a new instance of the class + from a string representing the length value. + + The string used to initialize the value, such as "5mm" or "10in". + + + + Initializes a new instance of the class + from a value and unit of measurement. + + The length value. + Unit of measurement of . + + + + Compares the current length with another object. + This method performs comparison by value. + + The object to compare the current with. + true if the two objects repesent the same length, false otherwise. + + + + Gets the hash code for the current object, + based on the length value. + + The hash code. + + + + Converts the current object to a string. + The returned string can be converted back to the current length object + (e.g. it can be used to initialize a to the same value). + + The string representing the current length value. + + + + Compares the current object with another object. + + A object to compare the current one with. + The document providing the context for comparison. + The font providing the context for comparison. + 0 if the two objects represent equal lengths, + -1 if the current length is less than the other, + 1 if the current length is greater than the other, + -2 if the units of measurement cannot be compared. + + + + Gets the numeric value (expressed in ). + + + + + Gets the unit of measurement used by . + + + + + Contains predefined values. + + + + + Gets a instance representing an empty length + (defined as "0mm"). + + + + + Gets a instance representing the default line thickness + (equal to 1pt). + This is used for borders, grid lines etc. + + + + + Gets a instance representing the default bold line thickness + (equal to 2pt). + This is used for borders, grid lines etc. + + + + + Gets an array of predefined values + (, and ). + + + + + For internal use. + Represents a length value that references a coordinate or a dimension of another object. + + (Examples of such references are "parent.width", "MyObjectName.right", "prev.height" + or "MyObjectName.MySubObjectName.Width".) + + + + + + Initializes a new instance of the class + from a string representing the length reference. + + The string used to initialize the value, such as "parent.width" or "MyObject.right". + + + + + Initializes a new instance of the class + from an array of nested object references and a dimension. + + An array of referencing nested objects. + The target dimension of this LengthRef. + + + + Initializes a new instance of the class + from a nested object reference and a dimension. + + A identifying the referenced object. + The target dimension of this LengthRef. + + + + Initializes a new instance of the class + from a predefined source reference and a dimension. + + A identifying the referenced object. + The target dimension of this LengthRef. + + + + Compares the current length with another object. + This method performs comparison by value. + + The object to compare the current with. + true if the two objects repesent the same length, false otherwise. + + + + Gets the hash code for the current object, + based on the length value. + + The hash code. + + + + Converts the current object to a string. + The returned string can be converted back to the current length object + (e.g. it can be used to initialize a to the same value). + + The string representing the current length value. + + + + Gets the array of objects composing the path to the target object of the current reference length. + If the current reference + + + + If the current object uses a simple (not nested) reference such as "parent.width", + this array contains just one element, corresponding to the parent object. + + + If the current object uses a nested reference such as "parent.MyChildName.width", + this array contains a element for each object in the hierarchy + (one for parent, and one for MyChildName in this example). + + + + + + Gets the target dimension of the referenced object. + + + + + A structure representing a single referenced object in a + (if the LengthRef uses a hierarchical reference, each object in the hierarchy + of nested objects is represented by an instance of this structure). + + + + + Specifies the referenced object as a . + + + + + Specifies the name of the referenced object if is . + + + + + Specifies the page or column number if is + or . + + + + + Initializes a new instance of the structure + with the specified source. + + A identifying the source of the current reference. + + + + Initializes a new instance of the structure + with the specified source, source name and page/column number. + + A identifying the source of the current reference. + The source name + (used if is ). + The source page/column number + (used if is + or ). + + + + Initializes a new instance of the structure + with the specified source and page/column number. + + A identifying the source of the current reference. + The source page/column number + (used if is + or ). + + + + Initializes a new instance of the structure + with the specified source name. + + The source name + ( is set to by this constructor). + + + + Converts the current object to a string. + The returned string can be converted back to the current length object + (e.g. it can be used to initialize a to the same value). + + The string representing the current length value. + + + + Contains and provides access to a number of commonly used + predefined objects. + + + + + Gets a instance representing the "Parent.Left" reference. + + + + + Gets a instance representing the "Parent.Top" reference. + + + + + Gets a instance representing the "Parent.Width" reference. + + + + + Gets a instance representing the "Parent.Height" reference. + + + + + Gets a instance representing the "Prev.Right" reference. + + + + + Gets a instance representing the "Prev.Bottom" reference. + + + + + Gets a instance representing the "Prev.Height" reference. + + + + + Gets a instance representing the "Next.Height" reference. + + + + + Gets a instance representing the "Parent.Default" reference. + + + + + Gets a instance representing the "Self.Default" reference. + + + + + Gets a instance representing the "Parent.Right" reference. + + + + + Gets a instance representing the "Parent.Bottom" reference. + + + + + Gets a instance representing the "Self.Width" reference. + + + + + Gets a instance representing the "Self.Height" reference. + + + + + Gets a instance representing the the "Page.Width" reference. + + + + + Gets a instance representing the "Page.Height" reference. + + + + + Gets a collection of containing all lengths + defined by the class. + + + + + For internal use. + Represents a length value which is an expression comprising instances of + , , and operations on them + (represented by static properties of type, such as LengthExp.Add) . + + (Examples of such expressions are "parent.width + 5mm", "80%parent.width", and so on.) + + + + + + + + Initializes a new instance of the class + with an array of operands and operations in inverse Polish notation order. + + The operands and operations comprising the current , + in inverse Polish notation order. + + The array should be a valid inverse Polish notation + stack of operands and operations such as: + + + : represents an absolute length value; + + + : represents a coordinate or dimension of another object; + + + A built-in function: + + : maximum; + : minimum. + + + + An operation: + + : add; + : subtract; + : multiply; + : divide; + : percentage; + : unary minus; + : unary plus; + : bracket (opening or closing); + : empty argument. + + + + + + + + + Compares the current object with another stack of + operands and operations in inverse Polish notation + (see remarks in for details). + This method compares values of the two stacks. + + A inverse Polish notation stack of operands and operations that are compared to the current expression. + + + + Compares the current length expression with another object. + This method compares operation stacks of the two objects + using the method. + + The object to compare the current with. + true if the two objects repesent the same length, false otherwise. + + + + Gets the hash code for the current object, + based on the values in the length expression stack. + + The hash code. + + + + Converts the current object to a string. + The returned string can be converted back to the current length object + (e.g. it can be used to initialize a to the same value). + + The string representing the current length value. + + + + Gets the expression stack, as described in remarks + to . + + + + + Gets an array of all registered (supported) operators. + + + + + Gets an array of all registered (supported) unary operators. + + + + + Gets an array of all registered (supported) functions. + + + + + Gets the static instance of the class, + can be used in the constructor. + + + + + Gets the static instance of the class, + can be used in the constructor. + + + + + Gets the static instance of the class, + can be used in the constructor. + + + + + Gets the static instance of the class, + can be used in the constructor. + + + + + Gets the static instance of the class, + can be used in the constructor. + + + + + Gets the static instance of the class, + can be used in the constructor. + + + + + Gets the static instance of the class, + can be used in the constructor. + + + + + Gets the static instance of the class, + can be used in the constructor. + + + + + Gets the static instance of the class, + can be used in the constructor. + + + + + Gets the static instance of the class, + can be used in the constructor. + + + + + Gets the static instance of the class, + can be used in the constructor. + + + + + For internal use. + + + + + For internal use. + + + + + + + + For internal use. + + + + + + + + For internal use. + + + + + For internal use. + + + + + For internal use. + + + + + For internal use. + + + + + For internal use. + + + + + For internal use. + + + + + For internal use. + + + + + For internal use. + + + + + For internal use. + + + + + + For internal use. + + + + + + For internal use. + + + + + For internal use. + + + + + For internal use. + + + + + + + For internal use. + + + + + + + + + For internal use. + + + + + + + For internal use. + + + + + For internal use. + + + + + For internal use. + + + + + For internal use. + + + + + + For internal use. + + + + + For internal use. + + + + + For internal use. + + + + + For internal use. + + + + + For internal use. + + + + + For internal use. + + + + + For internal use. + + + + + For internal use. + + + + + For internal use. + + + + + For internal use. + + + + + For internal use. + + + + + For internal use. + + + + + For internal use. + + + + + For internal use. + + + + + For internal use. + + + + + For internal use. + + + + + For internal use. + + + + + For internal use. + + + + + For internal use. + + + + + For internal use. + + + + + For internal use. + + + + + For internal use. + + + + + For internal use. + + + + + For internal use. + + + + + For internal use. + + + + + For internal use. + + + + + For internal use. + + + + + For internal use. + + + + + For internal use. + + + + + For internal use. + + + + + For internal use. + + + + + For internal use. + Holds some predefined LengthExp objects. + + + + + Represents "Parent.Right - Self.Width" reference. + + + + + Represents "Parent.Bottom - Self.Height" reference. + + + + + Represents "(Parent.Width - Self.Width) / 2" reference. + + + + + Represents "(Parent.Height - Self.Height) / 2" reference. + + + + + Represents "Self.Width / 2" reference. + + + + + Represents "Self.Height / 2" reference. + + + + + For internal use. + + + + + A structure representing a single coordinate or dimension of an object + (e.g. or of a ) + in a . + + + + The value may be "auto", absolute (e.g. "5mm"), or an expression (e.g. "prev.width + 12mm"). + See for more details. + + + + + + + + Initializes a new instance of the structure + from a string. See remarks for details. + + A string representing the value. + + + (In the description that follows, "object" means a + or another document object on which the current Unit represents a dimension + or a coordinate, not the Unit structure itself.) + + + The string should contain a valid value + in one of the following forms: + + + Auto, represented by the string "auto". + The exact semantics depend on the type of object with which the current unit is associated. + + + + An unqualified numeric value, e.g. "8" or "100.12". + In this case determines the unit of measurement. + + + + A numeric value qualified with unit of measurement, e.g. "28mm" or "7in". + + The following unit type qualifiers are supported + (for each type, the corresponding element of the enumeration is listed): + + + def is used + (; this is equivalent to not specifying untis at all); + doc"Document" units (; 1/300th of an inch); + inInches (); + mmMillimeters (); + pcPicas (; 1/6 of an inch); + pixDevice pixels (; depend on ); + ptPoints (; 1/72 of a inch); + twTwips (; 1/1440 of a inch); + inhs1/100 of an inch (); + dsp"Display" units (; 1/75 of an inch); + cmCentimeters (); + em"Em size" (; object font's height); + ex"Ex size" (; object font lowercase x's height); + lsObject font's line spacing (). + + + + + A percentage of the object's parent size, optionally qualified with the parent's dimension + ("width" or "height"; if a dimension is not specified, the dimension the current unit referes to is assumed), + e.g. "50%width" or "120%". + (Percentage can only be used to specify width or height, and is not valid for coordinates.) + + + + A reference to a dimension or coordinate of another object, + e.g. "prev.width", "next.bottom" or "page1column2.width". + + The referenced object may be identified by any of the following key words: + + self + The current object. Default, may be omitted; + parent + The current object's parent (container); + prev + The previous sibling of the current object; + next + The next sibling of the current object; + page + The current page; + column + The current page column; + pageN + Page by number, N is 1-based + (e.g. "page8"; the page must already exist - forward references using this notation are not supported); + pageindexN + Page by index, N is 0-based + (e.g. "page0"); + columnM + Column by number, M is 1-based, on the current page (e.g. "column2"); + pageN.columnM + Column M on page N, M and N are 1-based (e.g. "page8.column2"); + object name + Object with the specified name (see ). + The object is first searched among the siblings of the current object, then among its children. + + + The referenced dimension or coordinate may be specified using any of the following key words: + + leftThe X coordinate of the left edge of an object; + topThe Y coordinate of the top edge of an object; + rightThe X coordinate of the right edge of an object; + bottomThe Y coordinate of the bottom edge of an object; + widthThe width of an object; + heightThe height of an object. + + + + + A Max or Min built-in function call, e.g. "Max(prev.width,6cm)" or "Min(0.5in,next.height)". + + + + An expression using operands in any of the forms described above (except "auto"), + combined using operators + (add), - (subtract), * (multiply), / (divide), % (percent), + functions Min and Max, and parentheses ( and ). + + Examples of unit expressions are: + + + prev.width + 50%prev.width + This expression can be used to specify the width of an object being 1.5 times the width of its previous sibling + + + 150%prev + Same as above + + + prev * 1.5 + Same as above but using multiplication instead of percentage + + + + + + + + + Initializes a new instance of the structure + with an absolute length value. + + The unit value. + The unit of measurement. + + + + For internal use. + + + + + + For internal use. + + + + + + + + For internal use. + + + + + + + Returns a string that represents the current object. + + A string that represents the current object. + + + + Compares the current unit value with another object. + + The object to compare the current with. + true if the two objects repesent the same unit value, false otherwise. + + + + Gets the hash code for the current unit value. + + The hash code. + + + + Attempts to convert the current unit value to other unit of measurement. + Only absolute units can be converted. + This method throws an exception if the conversion cannot be performed. + + The target . + The value in units. + + + + Attempts to convert the current unit value to other unit of measurement. + Only absolute units can be converted. + This method throws an exception if the conversion cannot be performed. + + The target . + The target resolution (used if is ). + The value in units. + + + + Attempts to convert the current unit value to other unit of measurement. + Only absolute units can be converted. + This method throws an exception if the conversion cannot be performed. + + The current unit value's resolution (used if is ). + The target . + The target resolution (used if is ). + The value in units. + + + + Attempts to convert an object to a unit value. + This method throws an exception if the conversion cannot be performed. + + An object to convert. + A unit value representing . + + + + Tests whether the two unit values are equal. + + The first unit value. + The second unit value. + true if the two units are equal, false otherwise. + + + + Tests whether the two unit values are not equal. + + The first unit value. + The second unit value. + true if the two units are not equal, false otherwise. + + + + Returns the absolute value of a expressed in units. + Throws exception if the operation cannot be performed. + + The unit value to convert. + The absolute value. + + + + Converts a unit value to a string. + + The unit to convert. + The string representing the unit value. + + + + Converts a double value to a using units. + + The double value. + The unit value. + + + + Converts an integer value to a using units. + + The integer value. + The unit value. + + + + Converts a string to a value (see . + + The string to convert. + The unit value. + + + + For internal use. + + + + + + + Gets a value indicating whether the current unit represents an empty value. + + + + + Gets the absolute value of the current unit (in ). + + + + + Gets the unit of measurement of the current unit. + + + + + Gets a value indicating whether the current unit represents an "auto" value. + + + + + Gets a value indicating whether the current unit represents an absolute value + (such as "1mm", "2in", "3em" and so on). + + + + + Gets a value indicating whether the current unit is specified as "parent.width". + + + + + Gets a value indicating whether the current unit is specified as "parent.height". + + + + + Gets a value indicating whether the current unit is specified as "parent". + + + + + For internal use. + Gets the LengthBase object representing this unit. + + + + + Gets a representing an "auto" value. + + + + + Gets a representing an emtpy (zero) value. + + + + + Gets a value representing the default line thickness (1 point wide). + + + + + Gets a value representing the default "bold" line thickness (2 points wide). + + + + + Provides type conversions for values. + + + + + Converts a string to a object. + + An that provides a format context. + The string to convert. + The converted value. + + + + Converts an object to a string. + + An that provides a format context. + The object to convert. + The converted string. + + + + Tests whether an object can be converted to the specified type. + + The conversion context. + The target type. + true if the conversion can be performed, false otherwise. + + + + Converts an object to the specified type. + + The conversion context. + The culture to use. + The value to convert. + The target type. + The converted object. + + + + Represents a point on a two-dimensional surface, + with coordinates specified as values. + + + + + Initializes a new instance of the structure. + + The X coordinate. + The Y coordinate. + + + + Converts the current value to a human-readable string. + + The string representing the current value. + + + + Converts a string to a structure. + + The string to convert. + OUT: The structure representing . + Indicates whether an exception should be thrown if the conversion cannot be performed + (if an error occurs, and this value is false, is set to ). + true if no error occurred, false otherwise. + + + + Gets or sets the X coordinate of the current point. + + + + + Gets or sets the Y coordinate of the current point. + + + + + Represents a with zero coordinates. + + + + + Provides type conversions for values. + + + + + Converts a string to a value. + + An that provides a format context. + The string to convert. + The converted value. + + + + Converts an object to a string. + + An that provides a format context. + The object to convert. + The converted string. + + + + Contains common functions. + + + Contains common functions. + + + + Millimeters per inch as double. + + + Document units per inch as double. + + + Points per inch as double. + + + Twips per inch as double. + + + Picas per inch as double. + + + Centimeters per inch as double. + + + Display units per inch as double. + + + Millimeters per inch as float. + + + Document units per inch as float. + + + Points per inch as float. + + + Twips per inch as float. + + + Picas per inch as float. + + + Centimeters per inch as float. + + + Display units per inch as float. + + + + The special NumberFormatInfo object used to convert numbers + in C1PrintDocument, its fields are initialized as: + NumberDecimalSeparator is "." + CurrencyDecimalSeparator is "." + + + + For internal use only. + + + For internal use only. + + + For internal use only. + + + + For internal use only. + Converts an array of colors to a string. + + The array to convert. + The ";"-delimited string representing the color array. + + + + For internal use only. + Converts a ";"-delimited string to an array of colors. + + The string to convert. + The array of converted colors, or null if s is null. + + + + For internal use only. + Converts an array of float values to a ","-delimited string. + + + + + + + For internal use only. + Converts the array of floats to string. + + Array to convert. + Specifies the delimiter between numbers in string (should not be a [.]). + Returns the string representing a float array. + + + + For internal use only. + + + + + + + For internal use only. + Converts a string to array of floats. + + String to process. + Specifies the delimiter between numbers in string (should not be a [.]). + Array of floats or null if s is null. + + + + For internal use only. + Compares two array of floats. + + First array of float values. + Second array of float values. + Returns true if arrays equals. + + + + Converts color to string, use this method instead of Color.Name. + + Color structure to convert. + An that provides a format context. + The string representing a color. + + + + Converts string to color, use this method instead of Color.FromName(), + because the Color.FromName() works incorrectly sometimes. + + String to convert. + An that provides a format context. + The color. + + + + Performs a case-sensitive search of a string in a string array. + + The string array to search. + The string to search for. + Index of in , or -1 if the string was not found. + + + + Converts a string to a 32-bit signed integer, + using as the format provider. + The return value indicates whether the operation succeeded. + + The string to convert. + OUT: on return, the converted 32-bit signed integer, or zero if conversion failed. + true if was converted successfully, false otherwise. + + + + Converts a string to a double-precision floating-point number, + using as the format provider. + The return value indicates whether the operation succeeded. + + The string to convert. + OUT: on return, the converted double-precision floating-point number, or zero if conversion failed. + true if was converted successfully, false otherwise. + + + + For internal use only. + + + + + + + For internal use only. + + + + + + + For internal use only. + + + + + + + For internal use only. + + + + + + + For internal use only. + + + + + + + For internal use only. + Rounds a float value to the nearest integer. + + The float value. + The rounded integer. + + + + For internal use only. + Rounds a double value to the nearest integer. + + The double value. + The rounded integer. + + + + Tests whether an object is a . + + The object to test. + true if the object is a , false otherwise. + + + + Gets the represending the passed object, + or null if is not a . + + A document to test/convert. + representing the passed object, or null. + + + + Tests whether the specified type is, or derived from, . + + The type to test. + true if the type is , + false otherwise. + + + + Converts a value from one unit of measurement to another. + + The value to convert. + The source unit of measurement. + The target unit of measurement. + The source DPI (used if is ). + The target DPI (used if is ). + converted to units. + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Gets or sets the mask + + + + + Gets or sets a value indicating whether the underlying datasource should be updated with the literals in the mask. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Finds the specified type name. + + Name of the type. + + + + + Represents a handler for an item related event. + + + + + Provides data for an item related event. + + + + + Gets key of the item being added or changed. + + The key. + + + + Gets the string value. + + The value. + + + + Gets a value indicating whether this instance is default. + + + true if this instance is default; otherwise, false. + + + + + Gets the description. + + The description. + + + + Represents a collection of end user visible UI strings. + + + + + Adds a string to the collection, specifying the ordinal. + + The key of the string. + The ordinal of the string. + The string. + The description of the string. + + + + Adds a string to the collection in alphabetical order. + + The key of the string. + The string. + The description of the string. + + + + Adds a string to the collection, preserving the order. + + The key of the string. + The string. + The description of the string. + + + + Sets all strings in collection to their default values. + + + + + Indicates whether any of the strings in the current collection + have non-default values. + + true if any of the strings have non-default values, false otherwise. + + + + Tests whether a string in the collection has default value. + + The key of the string to test. + true if the string has default value, false otherwise. + + + + Returns the description of a string. + + The key of the string to get the description of. + The string's description + + + + Resets a string to its default value. + + The key of the string to reset. + + + + For internal use. + + + + + + + For internal use. + + + + + + + Returns the key of an item with the specified index. + + The item index. + The item's key. + + + + Gets the string by its index. + + The string index. + The string. + + + + Sets the value of a string with the specified index. + + The string index. + The new string value. + + + + For internal use. + + + + + + For internal use. + + + + + + Fires the event. + + The event data. + + + + Fires the event. + + The event data. + + + + Fires the event. + + The event data. + + + + Gets or sets the string value for the specified key. + + The key of the string. + The string corresponding to the specified key. + + + + Used for serialization of strings. + + + + + Gets or sets the description shown in Properties window in the IDE. + + + + + Gets the number of elements contained in the collection. + + + + + For internal use. + + + + + For internal use. + + + + + Occurs when a new item is added to the collection. + + + + + Occurs when an item in the collection is changed. + + + + + Occurs when the collection has been changed. + + + + + Provides type conversion for the type. + + + + + For internal use. + + + + + + + + + + For internal use. + + + + + + + + + For internal use. + + + + + + + For internal use. + + + + + For internal use. + + + + + + + + For internal use. + + + + + + + For internal use. + + + + + + For internal use. + + + + + + + For internal use. + + + + + + + For internal use. + + + + + + + For internal use. + + + + + For internal use. + + + + + A helper class for implementing an ambient property on a control. + + + Usage: + An instance of AmbientPropertyMonitor must be created by the host control with the reference + to that host as the parameter. + The AmbientPropertyMonitor subscribes to the following events: + + ParentChanged on the host and the whole parents' chain; + + (ambient property name)Changed or INotifyPropertyChanged on the host and all parents in the chain. + NOTE: For the AmbientPropertyMonitor to work correctly, all controls that have the target property declared + must also provide either a property changed event, or implement INotifyPropertyChanged and fire + it at appropriate moments. + + + The AmbientPropertyMonitor monitors changes of the ambient property value on the host and all parents, + and if a change occurs applies the value of the ambient property on the closest parent + to that property on the host control, unless it has been changed independently of the AmbientPropertyMonitor + (AmbientPropertyMonitor assumes that when it is created, the ambient property on the host has default, + unchanged value). + + It is recommended that all controls declaring the target property also provide + the Reset(property) and ShouldSerialize(property) methods, calling the + and methods as needed. + + + + + + The target property name. + + + + + At all times, should contain the up-to-date parent chain, + starting with the host itself. Needed to keep track of + parent changes, and changes of ambient property on the parents. + + + + + Prevents raising the _propertySetByUser while we adjust the + property ourselves. + + + + + If true, we consider the property to have a value explicitly set + ty the user, so we do not update it anymore until reset. + + + + + Initializes a new instance of the AmbientPropertyMonitor class. + + Control on which the ambient property will be monitored. + The name of the monitored property. + The type of the property MUST be an enumeration. + + An instance of this class must be created in the constructor + of the host control. + It is assumed that the value of the ambient property that will be monitored + by the AmbientPropertyMonitor has not been set yet (i.e. has the default value) + at the time the AmbientPropertyMonitor is constructed. + + + + + Clears the all references. + + + Call Dispose() in the Dispose method + of the host control. + + An instance of the AmbientPropertyMonitor class holds references to the + host in private variables and event handles. + Host holds reference to the instance of the AmbientPropertyMonitor. + + If not to clear the refs then the host control and the all referenced objects (Form, etc.) may be never released to GC. + This cause a memory leak. + + + public class C1OutBar... + { + public C1OutBar() + { + ... + _ambientVisualStyleMonitor = new AmbientPropertyMonitor(this, "VisualStyle"); + } + + protected override void Dispose(bool disposing) + { + if (disposing) + { + // To prevent the memory leak + if (_ambientVisualStyleMonitor != null) + { + _ambientVisualStyleMonitor.Dispose(); + _ambientVisualStyleMonitor = null; + } + ... + base.Dispose(disposing); + } + ... + } + + + + + Notifies the AmbientPropertyMonitor that the value of the monitored property + has been reset. If the host control is currently parented to a container + which itself defines the monitored property, the value from that parent + is assigned to the property on the host. + + + It is recommended that the host defines a Reset method for the target + property, and calls this method from that. E.g.: + + private AmbientPropertyMonitor __ambientVisualStyleMonitor = null; + ... + ctor() { + __ambientVisualStyleMonitor = new AmbientPropertyMonitor(this, "VisualStyle"); + ... + } + public VisualStyle VisualStyle { + get { ... } + set { ... } + } + protected void ResetVisualStyle() { + ... + __ambientVisualStyleMonitor.ResetValue(); + } + + + + + + Gets the value indicating whether the monitored property + currently has the ambient value, i.e. the value has been set + (by the AmbientPropertyMonitor) based on the value of a parent of the host. + + + It is recommended that the host defines a ShouldSerialize method for the target + property, tests IsValueAmbient in that method, and returns false if IsValueAmbient + returns true. E.g.: + + private AmbientPropertyMonitor __ambientVisualStyleMonitor = null; + ... + ctor() { + __ambientVisualStyleMonitor = new AmbientPropertyMonitor(this, "VisualStyle"); + ... + } + public VisualStyle VisualStyle { + get { ... } + set { ... } + } + protected bool ShouldSerializeVisualStyle() { + if (__ambientVisualStyleMonitor.IsValueAmbient) + return false; + ... + } + + + + + + Gets file-association string from the registry. + + Use constants. + Use constants. + + + + + An success/error code. + + To get associated exe's length/exe: + + uint assocLen = 0; + AssocQueryString(ASSOCF.ASSOCF_INIT_DEFAULTTOSTAR,ASSOCSTR.ASSOCSTR_EXECUTABLE,Path.GetExtension(OutputFileName),"open",null,ref assocLen); + + For existing files, another option is FindExecutable. + + + + + Fiels of DEVMODE structure. + + + + + GetDeviceCaps() constants + + + + + Sorting IDs. + + + + + Primary language IDs. + + + + + Sublanguage IDs. + + The name immediately following SUBLANG_ dictates which primary + language ID that sublanguage ID can be combined with to form a + valid language ID. + + + + + Locale Types. + + + + + usage: + using (FixFpu ff = new FixFpu()) + { do printer stuff } + or + do printer stuff + FixFpu.Doit(); + + + + A field type invalid or not found. + + + + System Menu Command Values + + + + + SetWindowPos flags. + + + + + Flags for ChangeDisplaySettings() function. + + + + + Return values of the ChangeDisplaySettings() function. + + + + + Windows messages. + + + + + EditControl window messages. + + + + + WM_HSCROLL and WM_VSCROLL notifications codes. + + + + + BM_GETSTATE flags. + + + + + BM_XXX flags. + + + + + DRAWITEMSTRUCT control types. + + + + + DRAWITEMSTRUCT drawing actions. + + + + + DRAWITEMSTRUCT visual states. + + + + + ComponentOne constants. + + + + + Specifies a raster-operation code, used by BitBlt function and other. + + + + + ShowWindow() function codes. + + + + + WM_PRINT drawing options. + + + + + Rich edit data format types. + + + + + Rich edit data format replacement options. + + + + + EM_SETCHARFORMAT / EM_GETCHARFORMAT flags. + + + + + CHARFORMAT mask values. + + + + + CHARFORMAT effects. + + + + + EM_SETTYPOGRAPHYOPTIONS flags. + + + + + Text Alignment Options. + + + + + GetDCEx() flags. + + + + + GetWindow() Constants. + + + + + GetAncestor() constants. + + + + + ExtTextOut() flags. + + + + + SetBkMode modes. + + + + + GetObjectType() returning values. + + + + + TEXTMETRIC tmPitchAndFamily flags. + + + + + OLE constants. + + + + + CreateWindow() flags. + + + + + Extended Window Styles + + + + + CreateWindow() flags for edit controls. + + + + + DrawFrameControl(), type of frame control to draw. + + + + + DrawFrameControl(), state of control. + + + + + CreatePen() flags + + + + + SetWindowLong() flags. + + + + + GetGuiResources() flags. + + + + + ExtSelectClipRgn() flags. + + + + + ScrollWindowEx flags + + + + + WM_MOUSEACTIVATE Return Codes + + + + + Constants for SetROP2 + + + + + Defines ASSOCF values for AssocQueryString method's first parameter (flags). + + + + + Defines ASSOCSTR values for AssocQueryString method's second parameter (str). + + + + + Name of Atom create by GDI+ for current thread. + + + + + Gets true if GDI+ currently shutdown. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Provides static methods that + should be called from the constructors of licensed classes. + Also provides a static method that can + be called to show the about box with product and licensing information. + + + + + Perform license validation. Call this method from the licensed object's + constructor to save a license key at design time, validate it at runtime, + and display a nag dialog if a valid license is not found. + + Type of licensed object (use typeof() and not GetType()). + Reference to the licensed object (not currently used). + A object that contains information about the license. + + Check the ShouldNag property of the returned + to determine whether the licensed class should nag the user. This value is set + to true in situations where a valid license was not found but a nag dialog + could not be displayed. In these cases, the licensed class is supposed to nag + in some other way (with a watermark for example). + + + + + Perform license validation. Call this method from the licensed object's + constructor to save a license key at design time, validate it at runtime, + and display a nag dialog if a valid license is not found. + + Type of licensed object (use typeof() and not GetType()). + Reference to the licensed object (not currently used). + Whether the nag dialog should be displayed when a valid license is not found. + A object that contains information about the license. + + This overload was created for use in WPF. It should be called in the control's constructor + in order to support license persistence correctly. But it should not show the nag dialog until the + control is fully loaded, or the VS designer may remain blank. + So the solution is this: + + LicenseInfo _licInfo; + public LicensedControl() + { + // check license but don't nag yet + _licInfo = ProviderInfo.Validate(typeof(LicensedControl), this, false); + + // perform licensing after control is fully loaded + Loaded += LicensedControl_Loaded; + } + void LicensedControl_Loaded(object sender, RoutedEventArgs e) + { + // nag after loading + if (_licInfo.ShouldNag) + { + ProviderInfo.ShowAboutBox(this); + } + } + + + + + + Nag user by showing AboutBox with license information. + Show it only once per day per assembly. + + Type of licensed object (use typeof() and not GetType()). + object that contains information about the license. + Whether we're running at design or run time. + + + + Version of Validate used by constructors that take runtime keys. + + Type of licensed object (use typeof() and not GetType()). + Reference to the licensed object. + Assembly that contains the owner licensed control. + Any valid C1 runtime key. + A with information about the runtime key. + + This allows a licensed C1 class to create other C1 objects bypassing + license verification for the child objects. + For extra safety, we check that the owner object is defined in an assembly + the contains a 'C1ProductInfo' attribute. + + + + + Design time validation. Looks for a license in the registry and saves it in the + provided . + + Type of licensed object (use typeof() and not GetType()). + where the runtime key will be stored. + A with information about the license. + + Call this method from application-type products (that always require a license to be + installed in the registry). In this case, the parameter + should be set to null. + + + + + Runtime validation. + Looks for a runtime key stored in the current application's resources. + + Type of licensed object (use typeof() and not GetType()). + where the runtime key will be stored. + A with information about the license. + + + + Shows the About Box for an instance of a C1 product. + + + + + Get the type whose assembly contains a 'C1ProductInfoAttribute'. + + Instance of an object whose type is to be checked. + The type whose assembly contains a 'C1ProductInfoAttribute' + + + + Contains information about a license stored in an application. + + + + + Initializes a new instance of a class. + + + + + Initializes a new instance of a class. + + + + + Gets or sets the status of this license (valid, expired, unlicensed). + + + + + Gets or sets the associated with this license. + + + + + Gets or sets the associated with this license. + + + + + Gets the number of evaluation days elapsed. + Returns -1 for valid licenses. + + + + + Gets the number of evaluation days still left. + + + + + Gets or sets a value that determines whether the caller should + nag the user. This is the case when the component/control is + not licensed, but is not running in interactive mode. So we can't + show a dialog and the caller is supposed to nag some other way + (typically by adding watermarks to the UI or output). + + + + + Gets a value that determines whether the license found is valid. + + + + + Gets a value that determines whether the license found is expired. + + + + + Gets a value that determines whether the component is running under + localhost and therefore should not nag the user with alert dialogs. + + + + + Gets a value that determines whether the license found is valid. + + + + + Gets a value that determines whether the license found is expired. + + + + + + Provides a version of GetSavedLicenseKey that doesn't require + special permissions. + + The code was mostly copied from the .NET framework, but then changed + in a few places to require fewer permissions (assembly name, file io, + etc). + + The main change is the use of a custom deserializer to read Hashtable + objects instead of the original BinaryFormatter, which requires + permissions. + + + + + + Attribute used to specify the product name shown on the About Box. + + + + + Attribute used to attach licensing/product information to assemblies. + + + + + Attribute used to attach support information to assemblies. + + + + + C1DescriptionAttribute replaces the DescriptionAttribute + and uses the C1Localizer class to return the localized Attribute string + + + + + C1CategoryAttribute replaces the CategoryAttribute + and uses the C1Localizer class to return the localized Attribute string + + + + + Localization tables and methods for looking up localized strings. + + + + + Represents a license for a product (e.g. C1BarCode, C1Studio Enterprise). + + Provides methods for: + - generating new license keys (administrative task) + - checking license key validity (used by installer and products) + - generating and checking runtime keys (used by products) + - installing/uninstalling licenses (used by installer) + + The install/uninstall code requires elevated permissions, and is + used only by setups and utilities (not by controls). The code is + implemented in the ProductLicense.Installer.cs, which controls should + not include since it won't be useful to them. + + When a product is sold, we send the user a license KEY. The user installs + a license on his machine by providing his name, his company name, and the + key. + + The is a string in the following format: + + AAQYYCC-XX-NNNNNN-DD-DZZZZZZ + + Where: + + AA: Product code (should match one of the products in the + product catalog (see ProductInformation.GetProductCatalog()). + Q: Quarter when the license key was issued (1, 2, or 3) + YY: Year when the license key was issued (e.g., 10 for 2010) + CC: Order code, two chars that indicate whether this is a + new sale, upgrade, renewal, special offer, etc. + XX: Hash code to ensure key validity. + NNNNNN: Unique serial number. + DDD: Vendor code, three chars + ZZZZZZ: Combination of random numbers for uniqueness and extra hash. + + + + + + C1CryptStream + reads and decrypts data from an encrypted zip base stream, or + encrypts and writes data to an encrypted zip base stream + + + + + Calculates a checksum value for the entry and compares it to the checksum that + was stored when the entry was created. + + True if the checksum values match, false otherwise. + + This method is used to check the integrity of the entries in the zip file. If the + calculated checksum does not match the stored checksum, then either the zip file is + corrupted or the program used to create the zip file is incompatible with + C1Zip. + + + + + Checks whether this can be read with the currently set password. + + True if the entry can be read with the current password, or if the entry is not + encrypted. + + This method is more efficient than using a try/catch block and trying to open the entry + to determine whether the current password is valid for the entry. + + + + + Returns a that can be used to read the content of the entry without + extracting it to a disk file. + + A that can be used to read the data in the entry. + + The returned is a , which + decompresses the data as it is read from the entry. + + + + + Extracts this entry to a file. + + Name and location of the extracted file. + + + + Removes this entry from the zip file. + + + + + Gets the entry name. This is usually a file name, optionally including a path. + + + + + Gets the original (uncompressed) size of the entry, in bytes. + + + + + Gets the compressed size of the entry, in bytes. + + + + + Gets the checksum calculated when the entry was compressed. + + + This value can be used to check the integrity of the entry when it is decompressed. + + + + + Gets the date and time when the file used to create the entry was last modified. + + + This value can be used to check whether an entry needs to be updated because the + source file was modified since it was last compressed. + + + + + Gets or sets a comment associated with the entry. + + + + + Gets the file attributes associated with the entry. + + + + + Gets a value that determines whether the entry is encrypted. + + + Encrypted entries can only be extracted if the property + on the containing object is set to the password that was used + when the file was added to the zip file. + + + + + Copies the elements of the ICollection to an Array, starting at a + particular Array index. + + The one-dimensional Array that is the destination of the elements copied from ICollection. The Array must have zero-based indexing. + The zero-based index in at which copying begins. + + + + Determines whether the collection contains an entry with a given name. + + Name of the entry to look for. + True if the collection contains an entry with the given name, false otherwise. + + + + Determines whether the collection contains an entry. + + Entry of the entry to look for. + True if the collection contains the entry, false otherwise. + + + + Gets the index of the entry with the specified name. + + Name of the entry to look for. + The index of the entry in the collection, or -1 if the entry was not found. + + + + Gets the index of an entry in the collection. + + to look for. + The index of the entry in the collection, or -1 if the entry was not found. + + + + Adds an entry to the current zip file. + + Name of the file to add to the zip file. + + By default, the directory name is not stored in the zip file. To store a specific + part of the directory name in the zip file, use the overloaded version of the + Add method with a pathLevels parameter. + + + + + Adds a list of entries to the current zip file. + + Array containing the file names of the entries to be added to the zip file. + + + + Adds an entry to the current zip file. + + Name of the file to add to the zip file. + The number of path levels to be stored as the entry name. + + By default, path names are not stored in the zip file. For example, adding + the file "c:\temp\samples\readme.txt" to the zip file will create an entry called + "readme.txt". + The parameter allows you to store one or more levels of the path in the entry name. + For example, adding the file "c:\temp\samples\readme.txt" to the zip file with =1 + will create an entry called "samples\readme.txt". + + + + + Adds an entry to the current zip file. + + Name of the file to add to the zip file. + Name of the new entry as stored in the zip file. + + By default, entries in the zip file have the same name as the original (uncompressed) + file. This method allows you to specify a different name, including a path for example. + + + + + Adds a stream to the current zip file. + + Stream that contains data for the new entry. + Name to be used for the new entry. + + + + Adds the content of a folder to the current zip file. + + The full path of the folder to be added to the zip file. + + This method adds all files and sub folders to the zip file. + + + + + Adds the content of a folder to the current zip file. + + The full path of the folder to be added to the zip file. + A mask that specifies which files to add. + + If the folder contains sub folders, those are also added to the zip file. + + + + + Adds the content of a folder to the current zip file. + + The full path of the folder to be added to the zip file. + A mask that specifies which files to add. + True to include sub folders, false to include only files at the root level. + + + + Extracts the contents of the zip file into a specified path. + + Destination path for the unzipped files. + + If the zip file contains compressed folders, new folders will be created + under the destination path to preserve the hierarchical structure of the + archive. + + + + + Removes an entry from the current zip file. + + Index of the entry to remove. + + + + Removes an entry from the current zip file. + + Name of the entry to remove (case-insensitive). + + + + Removes several entries from the current zip file. + + Array containing the indices of the entries to remove. + + + + Removes several entries from the current zip file. + + Array containing the names of the entries to remove. + + + + Extracts a file from the current zip file. + + Index of the entry to extract. + Name and location of the extracted file. + + + + Extracts a file from the current zip file. + + Name of the entry to extract. + Name and location of the extracted file. + + + + Extracts a file from the current zip file. + + Index of the entry to extract. + + The entry is extracted to a file in the same folder as the current zip + file, with the same name as the entry. + + + + + Extracts a file from the current zip file. + + Name of the entry to extract. + + The entry is extracted to a file in the same folder as the current zip + file, with the same name as the entry. + + + + + Opens a stream for writing an entry into the zip file. + + The name of the new entry. + Whether to use a memory stream or temporary file. + + A stream that can be used to write data into the zip file. The entry + is not added until the stream is closed. + + + + + Gets a value that indicates whether access to the ICollection is synchronized (thread-safe). + + + + + Gets an object that can be used to synchronize access to the ICollection. + + + + + Gets the number of entries in the current zip file. + + + + + Gets the at the specified index. + + + + + Gets the with the given name (returns null if the entry cannot be found). + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class and creates or opens + a zip file associated with this new instance. + + The name of the zip file to open or create. + True to create a new zip file, false to open an existing file. + + If is true and the zip file already exists, it is overwritten + with a new empty file. + If is false and the zip file already exists, the existing file + is opened. + + + + + Initializes a new instance of the class and opens a zip file associated + with this new instance. + + The name of the zip file to open. + + If the file does not exist, a new empty file is created. + + + + + Initializes a new instance of the class and opens a zip stream associated + with this new instance. + + that contains the zip data. + Whether to initialize the stream with an empty zip header or open an existing + zip file in the stream. + + + + Initializes a new instance of the class and opens a zip stream associated + with this new instance. + + that contains the zip data. + + + + Opens an existing zip file. + + The name of an existing zip file, including the path. + + This method checks that the zip file exists and is a valid zip file, then + reads the zip file directory into the collection. + The zip file is then closed, and can be used by other applications. There is no + need to close the zip file explicitly. + + + + + Creates an empty zip file on disk. + + The name of the zip file to create, including the path. + + If a file by the same name already exists, it is deleted before the new one + is created. + + + + + Opens an existing zip file stored in a stream. + + that contains a zip file. + + This method allows you to open and work with a zip file stored in a stream + instead of in an actual file. + Typical usage scenarios for this are zip files stored as application resources + or in binary database fields. + + + The example below loads information from a zip file stored in an embedded resource. + To embed a zip file in an application, follow these steps: + 1) Right-click the project node in Visual Studio, select the Add | Add Existing Item... menu option. + 2) Select a zip file to add to the project as an embedded resource. + 3) Select the newly added file and make sure the Build Action property is set to "Embedded Resource". + + // get Stream from application resources + System.Reflection.Assembly a = this.GetType().Assembly; + using (Stream stream = a.GetManifestResourceStream("MyApp.test.zip")) + { + // open C1ZipFile on the stream + zip.Open(stream); + + // enumerate the entries in the zip file, + foreach (C1ZipEntry ze in zip.Entries) + { + // show entries that have a 'txt' extension. + if (ze.FileName.ToLower().EndsWith(".txt")) + { + using (StreamReader sr = new StreamReader(ze.OpenReader())) + { + MessageBox.Show(sr.ReadToEnd(), ze.FileName); + } + } + } + } + + + + + + Creates a new zip file in a stream. + + that will contain the new zip file. + + The code below creates a new on a memory stream, then adds + several files to it. Finally, the code gets the zipped data out as an array of bytes, + which could be stored in a database for example. + + // create zip on a stream + MemoryStream msZip = new MemoryStream(); + C1ZipFile zip = new C1ZipFile(msZip, true); + + // add some entries to it + foreach (string f in Directory.GetFiles(@"c:\WINDOWS\Web\Wallpaper")) + { + zip.Entries.Add(f); + } + + // get zipped data out as a byte array + byte[] zipData = msZip.ToArray(); + + + + + + Resets all data members of the object. + + + Disk files are automatically closed by C1Zip. You only need to use this + method if you want to break the connection between a class + and a physical zip file. + + + + + Refreshes all data members by re-opening the current zip file. + + + This method is useful in instances where other applications may have changed + the zip file and you want to make sure the information in the + collection is up to date. + + + + + Tests whether a file is a valid zip file. + + Name of the file to test. + True if the file exists and is a valid zip file, false otherwise. + + + + Tests whether a stream contains a valid zip file. + + to test. + True if contains a valid zip file, false otherwise. + + + + Opens the zip file for multiple operations. + + + By default, opens and closes the zip file + automatically whenever entries are added or removed. + This can cause delays in systems that have certain types of anti-virus + software installed, or in situations where you want to add a large number of + relatively small entries. In these cases, use the and + methods to keep the zip file open until the entire + operation is concluded. + Use a finally clause to ensure that the + method is called even if an exception occurs. + + + The code below opens a zip file, adds several entries to it, then closes + the file: + + C1ZipFile zip = new C1ZipFile(); + zip.Open(myzipfile); + try + { + zip.OpenBatch(); + foreach (string fileName in Directory.GetFiles(path, "*.*")) + zip.Entries.Add(fileName); + } + finally + { + zip.CloseBatch(); + } + + + + + + Closes a zip file after it was opened with a call to the + method. + + + See the method for a complete description + and a sample. + + + + + Gets the name of the current zip file. + + + + + Gets or sets the password to use when adding or retrieving entries from the + zip file. + + + If the property is set to a non-empty string, any entries + added to the zip file will be encrypted and protected by the password. To extract these + entries later, the same password must be used. + The password applies to all entries from the moment it is set. If you set the + password to a non-empty string and then add several entries to the zip file, all + entries will use the same password. + Although C1Zip supports Unicode characters in passwords, several popular zip + utilities do not. To ensure your encrypted zip files can be opened with third-party + utilities, use passwords that consist of ASCII characters only. + + + + + Gets or sets a comment associated with the current zip file. + + + + + Gets or sets the compression level to use when adding entries to the zip file. + + + Higher compression settings create smaller files, but take longer to process. The + default setting () provides + a good trade-off between compression and speed. + + + + + Gets a that contains the entries in the zip file. + + + The collection is used to enumerate the entries in the zip file, + and also to add, remove, and expand entries. + + + + + Determines whether the component should overwrite read-only files when extracting + entries from the zip file. + + + + + Determines whether the component should overwrite hidden files when extracting + entries from the zip file. + + + + + Determines whether the component should overwrite system files when extracting + entries from the zip file. + + + + + Gets or sets the size of the largest stream to be compressed in memory. + + + compresses entries into temporary streams before + adding them to the zip file. + Entries with fewer than bytes are compressed + using a temporary memory stream. + Entries with more than bytes are compressed + using a temporary file. You can control the location of the temporary file using + the property. + + + + + Gets or sets the name of the temporary file to use when adding entries to the zip file. + + + creates temporary streams while adding entries to a zip file. + These temporary streams can be memory-based or disk-based, depending on the size of the + entry and on the setting of the property. + If a temporary file is used, you can control its location by + setting the property. If you don't select a path for the + temporary file, will create one automatically using the + method. + + + + + Encoding used for entry names and comments + + NOTE: this is culture-dependent, which is a really bad idea, but most zip packers + use the default OEM code page to encode file names, so we have to go along with it... + + Note that Encoding.Default seems like a logical choice but doesn't really work for + international locales. Instead, we need to create an encoding using the current + OEMCodePage. That allows accents and international characters to be used in file + names (like the zip built into Windows, allows names such as "Åland.txt", "Äiti.txt", + "Würth.txt", etc.). + + This has nothing to do with compression, it's just used to encode and decode entry + names and comments. + + + + + + Exception thrown when trying to open an invalid Zip file. + + + + + Initializes a new instance of a . + + Message that describes the exception. + + + + Initializes a new instance of a . + + Message that describes the exception. + Name of the file that caused the exception. + + + + Initializes a new instance of a . + + Message that describes the exception. + Name of the file that caused the exception. + Inner exception. + + + + Initializes a new instance of the class. + + Input stream that contains the compressed data. + + + + Initializes a new instance of the class. + + Input stream that contains the compressed data. + Specifies whether the compressed stream was created in zip format. + Specifies the number of compressed bytes to read from the stream. + + The parameter is needed only when a single stream contains + several compressed streams (in zip files for example). If this parameter is not + specified, it is assumed that the stream contains a single stream of compressed data. + + + + + Initializes a new instance of the class. + + Input stream that contains the compressed data. + Specifies whether the compressed stream was created in zip format. + + + + Initializes a new instance of the class. + + Input stream that contains the compressed data. + Specifies whether the compressed stream contains header information (should be False for streams in zip files). + Specifies whether the compressed stream contains a CRC32 checksum (should be True for streams in zip files). + + + + Initializes a new instance of the class. + + Input stream that contains the compressed data. + Specifies whether the compressed stream was created in zip format. + Specifies the number of compressed bytes to read from the stream. + Specifies the method that was used to compress the stream. + + + + Not supported. + + + + + Sets the number of compressed bytes to read from the underlying stream. + + + + + Reads a sequence of bytes from the underlying compressed stream, decompressing them into + a buffer, then advances the position within the stream by the number of bytes read. + + An array of bytes. When this method returns, contains the specified byte array with the values between and ( + ) replaced by the uncompressed data read from the stream. + The zero-based byte offset in at which to begin storing the data read from the current stream. + The maximum number of (decompressed) bytes to be read from the current stream. + The total number of bytes read into the buffer. This may be less than the number of bytes + requested if that many bytes are not currently available, or zero (0) if the end of the stream has been reached. + + + + + This method is overridden and is not supported by the class. + + + + + Clears all buffers for this stream and causes any buffered data to be written to the underlying + stream. + + + + + Closes the current stream compressor and flushed any pending data into the base stream. + If the property is set to True (the default value), + then this method also closes the base stream and releases any resources (such as sockets + and file handles) associated with it. + + + + + Reads a byte from the stream and advances the position within the stream + by one byte, or returns -1 if at the end of the stream. + + The unsigned byte cast to an , or -1 if at + the end of the stream. + + + + + Gets the underlying stream that contains the compressed data. + + + + + Gets or sets whether calling the method will also + close the underlying stream (see ). + + + + + Gets the number of bytes in the stream (compressed bytes). + + + + + Gets the number of bytes that were compressed into the stream (uncompressed bytes). + + + + + Always returns True. + + + + + Always returns False. + + + + + Always returns False. + + + + + Gets the length of the compressed stream if it is known (or -1 if the + length of the compressed stream is unknown). + + + + + Gets the position within the stream (read-only). + + + + + No Compression. + + + + + Low compression, highest speed. + + + + + Highest compression, low speed. + + + + + High compression, high speed. + + + + + Initializes a new instance of the class. + + Output stream that will contain the compressed data. + + + + Initializes a new instance of the class. + + Output stream that will contain the compressed data. + Specifies whether the compressed stream should be compatible with zip files. + + Streams in zip files are different from regular zlib streams in two aspects: + (1) zip streams do not contain any local header information (the information is stored in the zip file headers instead) and + (2) zip streams use a CRC32 checksum instead of the adler32 checksum used by zlib streams. + + + + + Initializes a new instance of the class. + + Output stream that will contain the compressed data. + Include header information in compressed stream (should be False for streams in zip files). + Include CRC32 checksum in compressed stream (should be True for streams in zip files). + + + + Initializes a new instance of the class. + + Output stream that will contain the compressed data. + Compression level to use when compressing data. + + + + Initializes a new instance of the class. + + Output stream that will contain the compressed data. + Compression level to use when compressing data. + Specifies whether the compressed stream should be compatible with zip files. + + + + Initializes a new instance of the class. + + Output stream that will contain the compressed data. + Compression level to use when compressing data. + Include header information in compressed stream (should be False for streams in zip files). + Include CRC32 checksum in compressed stream (should be True for streams in zip files). + + + + Not supported. + + + + + Not supported. + + + + + Not supported. + + + + + Writes a sequence of bytes to the current stream and advances the current + position within this stream by the number of bytes written. + + An array of bytes. This method copies bytes from + to the current stream. + The zero-based byte offset in at which to begin copying bytes to the current stream. + The number of bytes to be written to the current stream. + + The data is compressed as it is written into the stream. Writing bytes + into the stream will usually advance the position by a number smaller than . + + + + + Clears all buffers for this stream and causes any buffered data to be written to the underlying + stream. + + + + + Closes the current stream compressor and flushed any pending data into the base stream. + If the property is set to True (the default value), + then this method also closes the base stream and releases any resources (such as sockets + and file handles) associated with it. + + + + + Writes a byte to the current position in the stream and advances the position within the stream by one byte. + + Value to be written to the stream. + + + + Gets the underlying stream that receives the compressed data. + + + + + Gets or sets whether calling the method will also + close the underlying stream (see ). + + + + + Gets the checksum value used to check the integrity of the stream. + + + The checksum used may be an Adler or crc32 value depending on how + the was created. + + + + + Gets the number of bytes in the stream (compressed bytes). + + + + + Gets the number of bytes that were compressed into the stream (uncompressed bytes). + + + + + Gets the ZStream instance wrapped by this . + + + This property is useful only in advanced applications that need to customize + the low-level behavior of the compressor. It is not needed in common applications. + + + + + Always returns False. + + + + + Always returns True. + + + + + Always returns False. + + + + + Returns the length of the underlying stream, in bytes. + + + + + Gets the position within the stream (read-only). + + + + + Provide localization for error messages in Japanese. + + + + + ZipEntryStreamWriter + Extends C1ZStreamWriter to provide the following: + 1) Creates a memory or temporary storage stream. + 2) Keeps track of the parent zip file. + 3) Overrides Close to add the compressed stream to the zip file. + + + + + Interface ICheckSum + implemented by the Adler32 and CRC32 objects. + Adler32 is a faster checksum used by the native ZLib + CRC32 is the default checksum used in ZIP files + + + + + Summary description for CRC32. + methods are called Adler to keep zlib source code + + + + + Summary description for Deflate. + + + + + Summary description for InfBlocks. + + + + + Summary description for InfCodes. + + + + + Summary description for Inflate. + + + + + Summary description for InfTree. + + + + + Summary description for StaticTree. + + + + + Summary description for Tree. + + + + + No error. + + + + + End of stream detected. + + + + + A preset dictionary is needed at this point. + + + + + File error. + + + + + Stream structure is inconsistent (input/output buffers are null for example). + + + + + Input data is corrupted (wrong format or checksum). + + + + + Not enough memory. + + + + + No progress possible or no room in output buffer. + + + + + Incompatible ZLIB version. + + + + + Input buffer. + + + + + Position of cursor into input buffer. + + + + + Number of bytes available in the input buffer. + + + + + Total number of input bytes read so far. + + + + + Output buffer. + + + + + Position of cursor into the output buffer. + + + + + Number of free bytes remaining in output buffer. + + + + + Total number of bytes output so far. + + + + + Description of the last error (null if no errors). + + + + + Current checksum value (Adler or CRC32). + + + + + Initializes a new instance of the ZStream class using an Adler checksum. + + + + + Initializes a new instance of the ZStream class. + + True to use a CRC32 checksum, False to use an Adler checksum. + + CRC32 checksums are the standard used in zip files. Adler checksums are the default + used by ZLIB. Adler checksums are faster to calculate, but are not compatible with the zip format. + + + + + Initializes the internal stream state for decompression. + + Zero on success, an error code on failure. + + The fields and must be + initialized before by the caller. + inflateInit does not perform any decompression apart from reading the + zlib header if present: data decompression is done by the + method. Therefore, the next_in and avail_in may be modified, but + next_out and avail_out are unchanged. + + + + + Initializes the internal stream state for decompression. + + Size of the LZ77 sliding compression window in bits (the default value is 15 bits). + Zero on success, an error code on failure. + + + + Decompresses as much data as possible until the input buffer is exhausted or + the output buffer is full. + + How to flush data into the output buffer (default value is 2). + + Z_OK if some progress has been made (more input processed or more output produced), + Z_STREAM_END if the end of the compressed data has been reached and all + uncompressed output has been produced, + Z_NEED_DICT if a preset dictionary is needed at this point, + Z_DATA_ERROR if the input data was corrupted (input stream not conforming to + the zlib format or incorrect checksum), + Z_STREAM_ERROR if the stream structure was inconsistent (for example if + next_in or next_out was null), + Z_MEM_ERROR if there was not enough memory, + Z_BUF_ERROR if no progress is possible or if there was not enough room in the + output buffer when Z_FINISH is used. + + + inflate performs one or both of the following actions: + + 1. Decompress more input starting at next_in and update next_in + and avail_in accordingly. If not all input can be processed (because there + is not enough room in the output buffer), next_in is updated and processing + will resume at this point for the next call to inflate. + + 2. Provide more output starting at next_out and update next_out + and avail_out accordingly. inflate provides as much output as + possible, until there is no more input data or no more space in the output buffer. + + Before the call to inflate, the application should ensure that at least one of the + actions is possible, by providing more input and/or consuming more output, and + updating the next_* and avail_* values accordingly. + + If inflate returns Zero and avail_out == 0, it must be called again + after making room in the output buffer because there might be more output pending. + + The application can consume the uncompressed output when it wants, for example when + the output buffer is full (avail_out == 0), or after each call of inflate. + + This method may introduce some output latency (reading input without producing + any output) except when forced to flush. + + + + + Frees all dynamically allocated data structures for this stream, + discards any unprocessed input, and does not flush any pending output. + + Zero on success, an error code on failure. + + + + Skips invalid compressed data until a full flush point is found, + or until all available input is skipped. No output is provided. + + Zero on success, an error code on failure. + + + + Initializes the decompression dictionary from the given uncompressed byte sequence. + + Data in the dictionary. + Number of bytes in the dictionary. + Zero on success, an error code on failure. + + This method must be called immediately after a call of + if this call returned Z_NEED_DICT. The dictionary chosen by the compressor + can be determined from the Adler32 value returned by this call to inflate. + The compressor and decompressor must use exactly the same dictionary + (see the method). + + + + + Initializes the internal stream state for compression. + + Compression level between zero and nine (0-9). + Zero on success, an error code on failure. + + Compression level 1 gives best speed, 9 gives best compression. + Compression level zero gives no compression at all (the input data is simply copied a block at a time). + The default compression level is 6, which provides a compromise between speed and compression. + + + + + Initializes the internal stream state for compression. + + Compression level between zero and nine (0-9). + Size of the LZ77 sliding compression window in bits (the default value is 15 bits). + Zero on success, an error code on failure. + + Compression level 1 gives best speed, 9 gives best compression. + Compression level zero gives no compression at all (the input data is simply copied a block at a time). + The default compression level is 6, which provides a compromise between speed and compression. + + + + + Compresses as much data as possible, and stops when the input buffer becomes empty or the + output buffer becomes full. + + Non-zero to force some data to be flushed into the output buffer. + Zero on success, an error code on failure. + + deflate performs one or both of the following actions: + 1. Compress more input starting at next_in and update next_in and + avail_in accordingly. If not all input can be processed (because there is not + enough room in the output buffer), next_in and avail_in are updated and + processing will resume at this point for the next call to deflate. + 2. Provide more output starting at next_out and update next_out and + avail_out accordingly. This action is forced if the parameter is + non zero. Forcing flush frequently degrades the compression ratio, so this parameter + should be set only when necessary (in interactive applications). Some output may be + provided even if flush is not set + This method may introduce some output latency (reading input without producing + any output) except when forced to flush. + If deflate returns with avail_out == 0, this method must be called + again with the same value of the parameter and more output space + until the flush is complete (deflate returns with avail_out != 0). + + + + + Frees all dynamically allocated data structures for this stream, + discards any unprocessed input, and does not flush any pending output. + + Zero on success, an error code on failure. + + + + Dynamically updates the compression level and compression strategy. + + Compression level between zero and nine (0-9). + Compression strategy (0-2). + + + + + Initializes the compression dictionary from the given byte sequence without + producing any compressed output. + + Data in the dictionary. + Number of bytes in the dictionary. + Zero on success, an error code on failure. + + This method must be called immediately after , + before any call to . + The compressor and decompressor must use exactly the same dictionary + (see ). + + + + + The exception that is thrown when reading or writing to a compressed stream fails. + + + + + Border is a basic border object, used by StyleContext for rendering + and measuring elements. + It provides a solid border with a single color and arbitrary widths + on each side. + Border is designed to be extended so you can easily implement + 3-D effects, compound borders, etc. + + + + + BorderEmpty + + + + + BorderCompound combines two borders. These may in turn be compound, + so we get a lot of flexibility (got this idea from Java). + + + + + BorderRaised draws a 1-pixel wide raised border. + + + + + BorderInset draws a 1-pixel wide inset border. + + + + + BorderGroove draws a 2-pixel wide groove border. + + + + + BorderFillet draws a 2-pixel wide fillet border. + + + + + This is a specialized dictionary that does _very_ efficient range + lookups based on Point keys (much faster than a Hashtable or SortedList). + + + + + constructs a dragimage class + + bitmap that you want to drag around + initial starting position (in screen coordinates) + + + + Drags the immage around the screen + + Mouse position in screen coordinates + + + + Ends the drag operation. Final paint and some cleanup. + + Current cursor position in screen coordinates + + + + saves the area of the display that will be painted on when dragging a bitmap + + + + + Creates the memory dc that will contain the background obscured by + the image being dragged. + + + + + redraws the portion of the display that was painted on by the bitmap being dragged + + + + + Base class for the grid's scrollbars + + + + + Initializes a new instance of the SBar class + + + + + + + Overloaded. Releases the resources used by the class. + + + + + + Occurs when the scroll box has been moved by either a mouse or keyboard action. + + + + + + + Occurs when the mouse pointer enters the control. + + + + + + + Gets or sets the visibility of the scrollbars. + + + + + Gets or sets a value indicating whether the scrollbar is displayed. + + + + + Gets or sets a numeric value that represents the current position of the scroll box on the scroll bar control. + + + + + Represents a vertical scrollbar. + + + + + Initializes a new instance of the VBar class. + + + + + + Overloaded. Occurs when the scroll box has been moved by either a mouse or keyboard action. + + + + + + + Returns a string the represents the current object. + + + + + + Gets or sets a numeric value that represents the current position of the scroll box on the scroll bar control. + + + + + Gets or sets the width of the vertical scrollbar. + + + + + Represents a horizontal scrollbar. + + + + + Initializes a new instance of the VBar class. + + + + + + Overloaded. Occurs when the scroll box has been moved by either a mouse or keyboard action. + + + + + + + Returns a string the represents the current object. + + + + + + Gets or sets the height of the horizontal scrollbar. + + + + + Specifies which elements of the cell should be drawn by the grid. + + + This enumeration is used when rendering owner-drawn cells. + + + + + Draw nothing. + + + + + Draw the cell background. + + + + + Draw the cell border. + + + + + Draw the cell content (text, images, checkboxes, etc). + + + + + Draw all cell elements (background, border, and contents). + + + + + StyleContext contains a base Style definition and a list of + named Styles. It provides the following services: + - Style management (create, edit, and remove Styles) + - Style inheritance mechanism + - Rendering and measuring methods + + + + + Style contains a collection of arbitrary attributes, + represented by a name/object entry, a reference to a parent + Style, and a reference to the containing StyleContext. + + + + + Summary description for Types. + + + + + Determines the Office 2007 color scheme. + + + + + MS Office 2007 blue color scheme. + + + + + MS Office 2007 black color scheme. + + + + + MS Office 2007 silver color scheme. + + + + + Specifies a visual style to use when rendering the control. + + + + + Do not use any visual styles. Render the control using the styles and properties only. + + + + + Render the control with an appearance based on the current system settings. + + + + + Render the control with an appearance based on the Office 2007 Blue color scheme. + + + + + Render the control with an appearance based on the Office 2007 Silver color scheme. + + + + + Render the control with an appearance based on the Office 2007 Black color scheme. + + + + + Render the control with an appearance based on the Office 2010 Blue color scheme. + + + + + Render the control with an appearance based on the Office 2010 Silver color scheme. + + + + + Render the control with an appearance based on the Office 2010 Black color scheme. + + + + + Base class for the grid renderers. + + + + + Initializes a new instance of the class. + + + + + + + + + + Gets the background brush. + + The grid. + Type of the cell. + The r. + + + + + Gets the border pen. + + Type of the cell. + + + + + Styles the has custom background. + + The style. + + + + + Styles the has custom border. + + The style. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Initializes a new instance of the class. + + + + diff --git a/.svn/pristine/fc/fc8d8fd0b653f34ec5f73699861c1e5168bfaaa0.svn-base b/.svn/pristine/fc/fc8d8fd0b653f34ec5f73699861c1e5168bfaaa0.svn-base new file mode 100644 index 0000000..68f2c2b Binary files /dev/null and b/.svn/pristine/fc/fc8d8fd0b653f34ec5f73699861c1e5168bfaaa0.svn-base differ diff --git a/.svn/pristine/fd/fd2f6f2f7890a2155a499f9fb3edcddf94fffda6.svn-base b/.svn/pristine/fd/fd2f6f2f7890a2155a499f9fb3edcddf94fffda6.svn-base new file mode 100644 index 0000000..8a52475 --- /dev/null +++ b/.svn/pristine/fd/fd2f6f2f7890a2155a499f9fb3edcddf94fffda6.svn-base @@ -0,0 +1,16 @@ +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\bin\Debug\Themenmanagement.exe +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\bin\Debug\Themenmanagement.pdb +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\bin\Debug\Themenmanagement.xml +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\bin\Debug\C1.Win.C1TrueDBGrid.4.dll +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\bin\Debug\C1.Win.C1TrueDBGrid.4.xml +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\obj\x86\Debug\ResolveAssemblyReference.cache +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmMain.resources +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmDetail.resources +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.Resources.resources +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.Themenübersicht.resources +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\obj\x86\Debug\GenerateResource.read.1.tlog +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\obj\x86\Debug\GenerateResource.write.1.tlog +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.exe.licenses +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.exe +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.xml +E:\Software-Projekte\VS2010\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.pdb diff --git a/.svn/wc.db b/.svn/wc.db new file mode 100644 index 0000000..9342458 Binary files /dev/null and b/.svn/wc.db differ diff --git a/.vs/Themenmanagement/v14/.suo b/.vs/Themenmanagement/v14/.suo new file mode 100644 index 0000000..4c4b7d3 Binary files /dev/null and b/.vs/Themenmanagement/v14/.suo differ diff --git a/.vs/Themenmanagement/v15/.suo b/.vs/Themenmanagement/v15/.suo new file mode 100644 index 0000000..15d074b Binary files /dev/null and b/.vs/Themenmanagement/v15/.suo differ diff --git a/.vs/Themenmanagement/v15/Server/sqlite3/db.lock b/.vs/Themenmanagement/v15/Server/sqlite3/db.lock new file mode 100644 index 0000000..e69de29 diff --git a/.vs/Themenmanagement/v15/Server/sqlite3/storage.ide b/.vs/Themenmanagement/v15/Server/sqlite3/storage.ide new file mode 100644 index 0000000..19db345 Binary files /dev/null and b/.vs/Themenmanagement/v15/Server/sqlite3/storage.ide differ diff --git a/.vs/Themenmanagement/v16/.suo b/.vs/Themenmanagement/v16/.suo new file mode 100644 index 0000000..6112fbf Binary files /dev/null and b/.vs/Themenmanagement/v16/.suo differ diff --git a/.vs/Themenmanagement/v16/Server/sqlite3/db.lock b/.vs/Themenmanagement/v16/Server/sqlite3/db.lock new file mode 100644 index 0000000..e69de29 diff --git a/.vs/Themenmanagement/v16/Server/sqlite3/storage.ide b/.vs/Themenmanagement/v16/Server/sqlite3/storage.ide new file mode 100644 index 0000000..21c3338 Binary files /dev/null and b/.vs/Themenmanagement/v16/Server/sqlite3/storage.ide differ diff --git a/Dokumente/Datenmodell.vsd b/Dokumente/Datenmodell.vsd new file mode 100644 index 0000000..a99a835 Binary files /dev/null and b/Dokumente/Datenmodell.vsd differ diff --git a/Dokumente/Konzept/20121217_Konzept.pdf b/Dokumente/Konzept/20121217_Konzept.pdf new file mode 100644 index 0000000..d2d723f Binary files /dev/null and b/Dokumente/Konzept/20121217_Konzept.pdf differ diff --git a/Dokumente/Konzept/20131126_Kernbotschaften.docx b/Dokumente/Konzept/20131126_Kernbotschaften.docx new file mode 100644 index 0000000..94c5b2f Binary files /dev/null and b/Dokumente/Konzept/20131126_Kernbotschaften.docx differ diff --git a/Dokumente/Konzept/Konzept.docx b/Dokumente/Konzept/Konzept.docx new file mode 100644 index 0000000..5968b5a Binary files /dev/null and b/Dokumente/Konzept/Konzept.docx differ diff --git a/Dokumente/Konzept/Konzept.pdf b/Dokumente/Konzept/Konzept.pdf new file mode 100644 index 0000000..90441c7 Binary files /dev/null and b/Dokumente/Konzept/Konzept.pdf differ diff --git a/Git_Create.bat b/Git_Create.bat new file mode 100644 index 0000000..8b4345d --- /dev/null +++ b/Git_Create.bat @@ -0,0 +1,7 @@ +rem cd %1 +git init +git remote add origin http://shuhost.synology.me:8181/shu/themenmanagement.git +git add . +git commit -m "Initial commit" +git push -u origin master +pause \ No newline at end of file diff --git a/Icons/Actions-document-save-icon.png b/Icons/Actions-document-save-icon.png new file mode 100644 index 0000000..46e5e20 Binary files /dev/null and b/Icons/Actions-document-save-icon.png differ diff --git a/Icons/Actions-layer-visible-on-icon.png b/Icons/Actions-layer-visible-on-icon.png new file mode 100644 index 0000000..cf38c1d Binary files /dev/null and b/Icons/Actions-layer-visible-on-icon.png differ diff --git a/Icons/Actions-print-preview-icon.png b/Icons/Actions-print-preview-icon.png new file mode 100644 index 0000000..44016e5 Binary files /dev/null and b/Icons/Actions-print-preview-icon.png differ diff --git a/Icons/Architecture-info-icon.png b/Icons/Architecture-info-icon.png new file mode 100644 index 0000000..b6380cf Binary files /dev/null and b/Icons/Architecture-info-icon.png differ diff --git a/Icons/Button-Refresh-icon.png b/Icons/Button-Refresh-icon.png new file mode 100644 index 0000000..bae4c98 Binary files /dev/null and b/Icons/Button-Refresh-icon.png differ diff --git a/Icons/Custom-Icon-Design-Pretty-Office-5-Themes.ico b/Icons/Custom-Icon-Design-Pretty-Office-5-Themes.ico new file mode 100644 index 0000000..74e60e0 Binary files /dev/null and b/Icons/Custom-Icon-Design-Pretty-Office-5-Themes.ico differ diff --git a/Icons/Custom-Icon-Design-Pretty-Office-8-Theme.ico b/Icons/Custom-Icon-Design-Pretty-Office-8-Theme.ico new file mode 100644 index 0000000..da1c523 Binary files /dev/null and b/Icons/Custom-Icon-Design-Pretty-Office-8-Theme.ico differ diff --git a/Icons/Delete-icon.png b/Icons/Delete-icon.png new file mode 100644 index 0000000..f3add6a Binary files /dev/null and b/Icons/Delete-icon.png differ diff --git a/Icons/Devices-printer-icon.png b/Icons/Devices-printer-icon.png new file mode 100644 index 0000000..0c7cc3a Binary files /dev/null and b/Icons/Devices-printer-icon.png differ diff --git a/Icons/Document-Blank-icon.png b/Icons/Document-Blank-icon.png new file mode 100644 index 0000000..d60cc39 Binary files /dev/null and b/Icons/Document-Blank-icon.png differ diff --git a/Icons/Document-icon.png b/Icons/Document-icon.png new file mode 100644 index 0000000..87f7e3f Binary files /dev/null and b/Icons/Document-icon.png differ diff --git a/Icons/Excel.JPG b/Icons/Excel.JPG new file mode 100644 index 0000000..24104d4 Binary files /dev/null and b/Icons/Excel.JPG differ diff --git a/Icons/Find-icon.png b/Icons/Find-icon.png new file mode 100644 index 0000000..cfdc399 Binary files /dev/null and b/Icons/Find-icon.png differ diff --git a/Icons/Icons-Land-Vista-People-Office-Customer-Male-Light.ico b/Icons/Icons-Land-Vista-People-Office-Customer-Male-Light.ico new file mode 100644 index 0000000..489df92 Binary files /dev/null and b/Icons/Icons-Land-Vista-People-Office-Customer-Male-Light.ico differ diff --git a/Icons/KB.ico b/Icons/KB.ico new file mode 100644 index 0000000..a9ba555 Binary files /dev/null and b/Icons/KB.ico differ diff --git a/Icons/Kernbotschaft.png b/Icons/Kernbotschaft.png new file mode 100644 index 0000000..53d7eba Binary files /dev/null and b/Icons/Kernbotschaft.png differ diff --git a/Icons/MS-Office-2003-PowerPoint-icon.png b/Icons/MS-Office-2003-PowerPoint-icon.png new file mode 100644 index 0000000..f8929d3 Binary files /dev/null and b/Icons/MS-Office-2003-PowerPoint-icon.png differ diff --git a/Icons/Microsoft-Office-Excel-icon.png b/Icons/Microsoft-Office-Excel-icon.png new file mode 100644 index 0000000..d47c228 Binary files /dev/null and b/Icons/Microsoft-Office-Excel-icon.png differ diff --git a/Icons/Microsoft-Office-Word-icon.png b/Icons/Microsoft-Office-Word-icon.png new file mode 100644 index 0000000..3574e04 Binary files /dev/null and b/Icons/Microsoft-Office-Word-icon.png differ diff --git a/Icons/Network-icon.png b/Icons/Network-icon.png new file mode 100644 index 0000000..ddc7efe Binary files /dev/null and b/Icons/Network-icon.png differ diff --git a/Icons/Overview.png b/Icons/Overview.png new file mode 100644 index 0000000..4a61e12 Binary files /dev/null and b/Icons/Overview.png differ diff --git a/Icons/PDF.jpg b/Icons/PDF.jpg new file mode 100644 index 0000000..2b94426 Binary files /dev/null and b/Icons/PDF.jpg differ diff --git a/Icons/PDF_Small.JPG b/Icons/PDF_Small.JPG new file mode 100644 index 0000000..eea9ec0 Binary files /dev/null and b/Icons/PDF_Small.JPG differ diff --git a/Icons/Printer-Setup-Utility-If-you-like-Buuf-please-consider-donating-Icon-Spam-icon.png b/Icons/Printer-Setup-Utility-If-you-like-Buuf-please-consider-donating-Icon-Spam-icon.png new file mode 100644 index 0000000..32494e3 Binary files /dev/null and b/Icons/Printer-Setup-Utility-If-you-like-Buuf-please-consider-donating-Icon-Spam-icon.png differ diff --git a/Icons/Save-icon.png b/Icons/Save-icon.png new file mode 100644 index 0000000..135a688 Binary files /dev/null and b/Icons/Save-icon.png differ diff --git a/Icons/Splash.JPG b/Icons/Splash.JPG new file mode 100644 index 0000000..8ce218a Binary files /dev/null and b/Icons/Splash.JPG differ diff --git a/Icons/Splash.psd b/Icons/Splash.psd new file mode 100644 index 0000000..f1facb3 Binary files /dev/null and b/Icons/Splash.psd differ diff --git a/Icons/Splash1.JPG b/Icons/Splash1.JPG new file mode 100644 index 0000000..7d1866e Binary files /dev/null and b/Icons/Splash1.JPG differ diff --git a/Icons/Theme-icon.png b/Icons/Theme-icon.png new file mode 100644 index 0000000..ad262c7 Binary files /dev/null and b/Icons/Theme-icon.png differ diff --git a/Icons/add-icon.png b/Icons/add-icon.png new file mode 100644 index 0000000..6881c40 Binary files /dev/null and b/Icons/add-icon.png differ diff --git a/Icons/door-out-icon.png b/Icons/door-out-icon.png new file mode 100644 index 0000000..23805d2 Binary files /dev/null and b/Icons/door-out-icon.png differ diff --git a/Icons/edit-icon.png b/Icons/edit-icon.png new file mode 100644 index 0000000..b8e8a83 Binary files /dev/null and b/Icons/edit-icon.png differ diff --git a/Icons/photos-icon.png b/Icons/photos-icon.png new file mode 100644 index 0000000..a3738ea Binary files /dev/null and b/Icons/photos-icon.png differ diff --git a/Icons/print-icon.png b/Icons/print-icon.png new file mode 100644 index 0000000..04a186f Binary files /dev/null and b/Icons/print-icon.png differ diff --git a/Icons/view-icon.png b/Icons/view-icon.png new file mode 100644 index 0000000..e602094 Binary files /dev/null and b/Icons/view-icon.png differ diff --git a/Icons/write-document-icon.png b/Icons/write-document-icon.png new file mode 100644 index 0000000..443e9a4 Binary files /dev/null and b/Icons/write-document-icon.png differ diff --git a/Implementierung_Mai_2013/Fnkt.sql b/Implementierung_Mai_2013/Fnkt.sql new file mode 100644 index 0000000..9465762 Binary files /dev/null and b/Implementierung_Mai_2013/Fnkt.sql differ diff --git a/Implementierung_Mai_2013/Implementierung_Mai_2013.zip b/Implementierung_Mai_2013/Implementierung_Mai_2013.zip new file mode 100644 index 0000000..c433bfb Binary files /dev/null and b/Implementierung_Mai_2013/Implementierung_Mai_2013.zip differ diff --git a/Implementierung_Mai_2013/Insert.sql b/Implementierung_Mai_2013/Insert.sql new file mode 100644 index 0000000..5d06700 --- /dev/null +++ b/Implementierung_Mai_2013/Insert.sql @@ -0,0 +1,754 @@ +USE [TIM]; +SET NOCOUNT ON; +SET XACT_ABORT ON; +GO + +BEGIN TRANSACTION; +INSERT INTO [dbo].[Application]([applikationsnr], [version], [showlogin], [mandantnr], [aktiv], [erstellt_am], [mutiert_am], [mutierer], [tmp_filepath]) +SELECT 1, N'1.0', 0, 1, 1, '01.01.2013 00:00:00.000', '01.01.2013 21:26:04.107', 1, N'h:\tssettings\themenmgmt' +COMMIT; +RAISERROR (N'[dbo].[Application]: Insert Batch: 1.....Done!', 10, 1) WITH NOWAIT; +GO + +BEGIN TRANSACTION; +INSERT INTO [dbo].[Auswertung]([AuswertungNr], [Bezeichnung], [Aktiv], [Erstellt_am], [Mutiert_am], [Mutierer], [Report], [Filename], [Excel_Report], [SQL], [SQLType], [Beschreibung], [Connectionstring_Subreport]) +SELECT 1, N'Themenbersicht nach Titel', 1, '20.04.2013 08:36:40.903', '20.04.2013 10:12:07.710', 1, 1, N'rpt1.frx', 1, N'Select * from View_RPT_Themenuebersicht', N'SQL', NULL, NULL UNION ALL +SELECT 2, N'Themenbersicht nach Kategorie', 1, '20.04.2013 10:12:15.123', '20.04.2013 10:14:29.097', 1, 1, N'rpt2.frx', 1, N'Select * from View_RPT_Themenuebersicht', N'SQL', NULL, NULL UNION ALL +SELECT 3, N'Themenbersicht nach Erstellungsdatm', 1, '20.04.2013 10:12:30.993', '20.04.2013 10:13:04.987', 1, 1, N'rpt3.frx', 1, N'Select * from View_RPT_Themenuebersicht', N'SQL', NULL, NULL UNION ALL +SELECT 4, N'Thema / Kommunikation', 1, '20.04.2013 10:26:59.013', '20.04.2013 10:46:38.097', 1, 1, N'rpt4.frx', 1, N'Select * from View_RPT_ThemaKommunikation', N'SQL', NULL, NULL +COMMIT; +RAISERROR (N'[dbo].[Auswertung]: Insert Batch: 1.....Done!', 10, 1) WITH NOWAIT; +GO + +BEGIN TRANSACTION; +INSERT INTO [dbo].[AuswertungAuswertungParameter]([AuswertungAuswertungparameternr], [Auswertungnr], [Auswertungparameternr], [DBfeldname], [Reihenfolge], [Aktiv], [Erstellt_am], [Mutiert_am], [Mutierer]) +SELECT 1, 4, 1, N'[Kommuikation erstellt_am]', 0, 1, '20.04.2013 10:48:54.783', '20.04.2013 10:49:08.020', 1 UNION ALL +SELECT 2, 4, 2, N'[Kommuikation erstellt_am]', 0, 1, '20.04.2013 10:49:14.987', '20.04.2013 10:49:16.867', 1 UNION ALL +SELECT 3, 4, 2, N'', 0, 0, '20.04.2013 10:54:21.947', '20.04.2013 10:54:24.780', 1 UNION ALL +SELECT 4, 1, 3, N'', 0, 0, '20.04.2013 11:04:41.993', '20.04.2013 11:04:45.580', 1 UNION ALL +SELECT 5, 4, 3, N'Zielgruppe', 0, 1, '20.04.2013 11:04:51.273', '20.04.2013 11:24:36.410', 1 UNION ALL +SELECT 6, 4, 4, N'Auspraegung', 0, 1, '20.04.2013 11:05:04.210', '20.04.2013 11:24:39.520', 1 +COMMIT; +RAISERROR (N'[dbo].[AuswertungAuswertungParameter]: Insert Batch: 1.....Done!', 10, 1) WITH NOWAIT; +GO + +BEGIN TRANSACTION; +INSERT INTO [dbo].[AuswertungGruppe]([AuswertungGruppeNr], [Bezeichnung], [Aktiv], [Erstellt_am], [Mutiert_am], [Mutierer], [Parentid]) +SELECT 1, N'Auswertungen', 1, '20.04.2013 08:23:52.613', '20.04.2013 08:41:10.157', 1, 0 UNION ALL +SELECT 2, N'bersichten', 1, '20.04.2013 10:25:49.177', '20.04.2013 10:25:57.983', 1, 1 UNION ALL +SELECT 3, N'Kommunikation', 1, '20.04.2013 10:25:55.757', '20.04.2013 10:25:58.317', 1, 1 +COMMIT; +RAISERROR (N'[dbo].[AuswertungGruppe]: Insert Batch: 1.....Done!', 10, 1) WITH NOWAIT; +GO + +BEGIN TRANSACTION; +INSERT INTO [dbo].[AuswertungGruppeAuswertung]([AuswertungGruppeAuswertungNr], [AuswertungGruppeNr], [AuswertungNr], [Aktiv], [Erstllt_am], [Mutiert_am], [Mutierer]) +SELECT 1, 1, 1, 0, '20.04.2013 08:37:12.447', '20.04.2013 10:26:14.083', 1 UNION ALL +SELECT 2, 1, 2, 0, '20.04.2013 10:13:16.423', '20.04.2013 10:26:15.350', 1 UNION ALL +SELECT 3, 1, 3, 0, '20.04.2013 10:13:17.983', '20.04.2013 10:26:14.563', 1 UNION ALL +SELECT 4, 2, 1, 1, '20.04.2013 10:26:08.833', '20.04.2013 10:26:08.833', 1 UNION ALL +SELECT 5, 2, 2, 1, '20.04.2013 10:26:10.057', '20.04.2013 10:26:10.057', 1 UNION ALL +SELECT 6, 2, 3, 1, '20.04.2013 10:26:11.513', '20.04.2013 10:26:11.513', 1 UNION ALL +SELECT 7, 3, 4, 1, '20.04.2013 10:27:36.477', '20.04.2013 10:27:36.477', 1 +COMMIT; +RAISERROR (N'[dbo].[AuswertungGruppeAuswertung]: Insert Batch: 1.....Done!', 10, 1) WITH NOWAIT; +GO + +BEGIN TRANSACTION; +INSERT INTO [dbo].[AuswertungRptDatei]([AuswertungDateiNr], [Filename], [Reportname], [Reportfile], [Erstellt_am], [Mutiert_am], [Mutierer]) +SELECT 1, N'H:\tssettings\themenmgmt\rpt1.frx', N'rpt1.frx', 0xEFBBBF3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D227574662D38223F3E0D0A3C5265706F7274205363726970744C616E67756167653D22566222205265706F7274496E666F2E437265617465643D2230382F32302F323031312031363A35343A303222205265706F7274496E666F2E4D6F6469666965643D2230342F32302F323031332031303A31383A333122205265706F7274496E666F2E43726561746F7256657273696F6E3D22323031332E312E392E30223E0D0A20203C536372697074546578743E496D706F7274732053797374656D0D0A496D706F7274732053797374656D2E436F6C6C656374696F6E730D0A496D706F7274732053797374656D2E436F6C6C656374696F6E732E47656E657269630D0A496D706F7274732053797374656D2E436F6D706F6E656E744D6F64656C0D0A496D706F7274732053797374656D2E57696E646F77732E466F726D730D0A496D706F7274732053797374656D2E44726177696E670D0A496D706F727473204D6963726F736F66742E56697375616C42617369630D0A496D706F72747320466173745265706F72740D0A496D706F72747320466173745265706F72742E446174610D0A496D706F72747320466173745265706F72742E4469616C6F670D0A496D706F72747320466173745265706F72742E5461626C650D0A496D706F72747320466173745265706F72742E426172636F64650D0A496D706F72747320466173745265706F72742E5574696C730D0A0D0A4E616D65737061636520466173745265706F72740D0A20205075626C696320436C617373205265706F72745363726970740D0A202020200D0A2020456E6420436C6173730D0A456E64204E616D6573706163650D0A3C2F536372697074546578743E0D0A20203C5374796C65733E0D0A202020203C5374796C65204E616D653D224576656E5F5374796C65222046696C6C2E436F6C6F723D223139322C203235352C20313932222F3E0D0A202020203C5374796C65204E616D653D224F645F222F3E0D0A20203C2F5374796C65733E0D0A20203C44696374696F6E6172793E0D0A202020203C5461626C6544617461536F75726365204E616D653D22446174656E22205265666572656E63654E616D653D22446174612E446174656E222044617461547970653D2253797374656D2E496E7433322220456E61626C65643D2274727565223E0D0A2020202020203C436F6C756D6E204E616D653D22546974656C222044617461547970653D2253797374656D2E537472696E67222F3E0D0A2020202020203C436F6C756D6E204E616D653D2242657A656963686E756E67222044617461547970653D2253797374656D2E537472696E67222F3E0D0A2020202020203C436F6C756D6E204E616D653D22426573636872656962756E67222044617461547970653D2253797374656D2E537472696E67222F3E0D0A2020202020203C436F6C756D6E204E616D653D22537563686265677269666665222044617461547970653D2253797374656D2E537472696E67222F3E0D0A2020202020203C436F6C756D6E204E616D653D224775656C7469675F626973222044617461547970653D2253797374656D2E4461746554696D65222F3E0D0A2020202020203C436F6C756D6E204E616D653D224775656C6974675F6162222044617461547970653D2253797374656D2E4461746554696D65222F3E0D0A2020202020203C436F6C756D6E204E616D653D226D7574696572745F616D222044617461547970653D2253797374656D2E4461746554696D65222F3E0D0A2020202020203C436F6C756D6E204E616D653D2265727374656C6C745F616D222044617461547970653D2253797374656D2E4461746554696D65222F3E0D0A202020203C2F5461626C6544617461536F757263653E0D0A202020203C506172616D65746572204E616D653D22546974656C31222044617461547970653D2253797374656D2E537472696E67222F3E0D0A202020203C506172616D65746572204E616D653D22546974656C32222044617461547970653D2253797374656D2E537472696E67222F3E0D0A202020203C506172616D65746572204E616D653D22506172616D6574657273222044617461547970653D2253797374656D2E537472696E67222F3E0D0A20203C2F44696374696F6E6172793E0D0A20203C5265706F727450616765204E616D653D22506167653122204C616E6473636170653D22747275652220506170657257696474683D22323937222050617065724865696768743D223231302220526177506170657253697A653D2239223E0D0A202020203C5265706F72745469746C6542616E64204E616D653D225265706F72745469746C6531222057696474683D22313034372E3036222F3E0D0A202020203C5061676548656164657242616E64204E616D653D2250616765486561646572312220546F703D2234222057696474683D22313034372E303622204865696768743D223130332E3935223E0D0A2020202020203C506963747572654F626A656374204E616D653D22506963747572653122204C6566743D22392E34352220546F703D222D392E3435222057696474683D223231372E333522204865696768743D2236362E31352220496D6167653D226956424F5277304B47676F414141414E535568455567414141666B4141414278434149414141425A514532794141414141584E535230494172733463365141414141526E51553142414143786A777638595155414141414A6345685A637741414472774141413638415A5738636B6B4141414155644556596445463164476876636742546447566D5957346753485630644756797037305041414141414342305256683051334A6C59585270623235556157316C414449774D544D364D444D364D4449674D6A41364D7A4D364D546C5A436B46674141442F57556C45515652345875783942594264786658335858664E786757586C6771655A4F3235724D5631335A37765734756A4C5333536C677231467168445730706257696A466151745563416B516948757976767463352F75646D66766576673351456B704B2B2F3879652F612B652B654F6E6A6E7A6D7A4E795A795132466D4B2B694E7672387243496A796A4557495246777945574362414972765159697242676849566844344B44553068524667724843506478456A5968546F4545456A616E6942412B47494962756754344E5372626838492B596B553047496B476B44424B504E353450437A4B33722B4257334159464761524B47633172726748353145574B4246524B4869454A52554545666C366E795448456663616A46474542526A7A4D4F626A544A64662B546E68426C626363356A66676E424446694A51455A53344A39765435725135626634486A4D5138596143596934554F4D74636743343278794B422F485067797A69496A2F4171344555676B41416A59357A6E46354836486A534459433570496F5064792F4B45517768396D6F5848653241445A6366555469346A7746766365466E437877416A7A6A555863684971452F6A4A6E33342B42572F415757432B415868447559654F587555303373674E71614545786E2B2F7A476A63494F343763484E5752597341396273676C4C45557A4D416E74394A76676731754352444C4650586432327077327038312F76354743586738413552434C764D6C43623748494C68625A7954783433453033524C6A42492B6741692B776A437030364F734243687A676465546353722B4A306B462B50733944414B534F4576354F466472485155525A4351346772556F6848574F4A6D4C2F50755A433763494F56376D41634E414E426668735833625144694D744144787950387968394647794336567249447645585843684867365831656F3351526545327748454E6E50414C6C4A7A6A68426F396B38457234346836466858674379632F436A626752644E71634E71664E2F344B526F4C62765A2B344C4C45767A6D3158464A6B4E2B66655863526D334A71764B534A6E56686937716752563363724A3752714A375A6F4A3757784B6C5A57644A30716D68476F334A3267334A4F2F66736934584C7565755838553061496F7242465764784D393265757062686D4E74496A61473672396F77325061356E5732734C3135536530326238786D503348474F75674D7A593932756D414431422B5354693435586F55636B4F354C636359642F334654694F4A4F457141427945477A7A3675463466562B31686731636951544C46484D6565596E636E30476C7A327077322F7774474F733443554E6A5431797A4F6342685337626F73753246323135495A4A6D4F52315A68724E3259376A446C325934475643492B347A376670503049716D4571777958486F7337744F49575632365850742B6C6D642B6A6B642B686B6D66624746486B475A546557466E5A7230316F72707658565A48556F3475505770653945566F4347526B7A4F4135426A51687A674A544938702B464D63524144394D6E432F7A2B734A51412F436666775643416B47345561346952747850326B6A504A394170383170633972386A7868706B45583273736A307274714D6A58565357326B616F4C4E464F6474616B392B687A656E555A70693136525A74746F6B6F3030795562564B44636B375A4E644F737A72444931336353374F4D457837424A74367054624F725555334D4649587845564E4B716E6F45755470733676344D6579635A6D6E4E752F544B712F4973326D79624270697332367A7A312B3132486D2F52437758734239544C57583958715162434F4439667368414C6F41656A49636D69636857747846365A4C594A4D5339794C356759693550704E506D74446C742F6E654D4E45474438753638566E574B51352F5A5877764E2F577A4873756B72792B633336576133364B613336616131363261326E6B6834645971754D396F30303973303469706F576A7552754964396E47613245733175495A707A79713649434E657A476A546E3147764F624E544D61365A48784A7457382B6D506231716233616B71364B6E4F73656C79473870766675696E49375245352B544D6C434761524B7A6E4B432B47374D576F765479654135646F474E346E52574F7468664446372B584859495146354F5656734246526748776E6A4F6F6B6772756775446E6838625135625536622F32496A6A516264417977797732535532697554725A724D467357395231352B4D5844734F652F68762F734F5078556B65735A50393348364733383846566651733736446776374F3657392B6F6D6343386F32776A4C73425065633968595477526151766567362B34714972625043493947786E4577394D7648585A357A765432796F4C625071355A754F58482F795A6D395A646E6F514256414C425151543377474A417643434F30634266443475345751547473534366514F7233545349516B486A456A542F2B434B4433525A69666F684D5269626A47474276686337614165314C7442614444787A75522F5A3032703831706339723874786F4A395869455261593361374C736867797A7472684E2B336658675445574668417A7A434B4456502F70486A6243637679555851453349525A7965386635557671674A2B7A684B3979446672374F485953622B4A7036754D473957426C35696D694D72376B38786A77416363522B504467477932505243656A7641797834674955554E396F4B54647263447457635675313348376B4862696148507436484156514B625670473841526C334D4F43594D67674378366A745561526F7A5455356B4772504D7243342B2B62554935444C447A4D7769354F75422F6756793967484C3048594C334C47773446774879456649514678454B6A49347A42475639445369627344374177482B75524C30526B4A75394F6D39506D74506C764E784B514256426530717A4A63426A534C6471535675324C59776438564C6B4A6363517137306B7734695147453037464659474878674777496562333030306B4650463757446A6739376B693051416F47694743545A79434C4F426A676343707558705A344668344850694F526D566F66444465786E69597A38324378316C497962452B75314D31713432772F6D5458584149716864364E37424E766F357734773947733776495066652F4A2B323539364F646666507965572F2F383638382F657665582F2F4B62722F7A35354F6A57702B6A366E63642F3836306E4A683976662F513355555443423341512B3763662B2F56586E766F746F766A365078363439616E376276767A3737377A2B483276444237775571467772492F4275686A486C784665574D6F5070383170633972385678745A727939733153523147795337747142642B2F7A59675342714E422F684251594264325159456B504A6549705838672B66454648494E544B49617A6A6B43345A394173726A6572315137524F312B7A6A2B6E6F6F72496B4C4C4179332B654741554D627044376B444936353059686372725A3845427274666E577252704674573054753033487273486E59782F432B7335345237743633486D2F66557254313353767653735276325A6256577A3277327A4F34776C486670386B79624866424945393855644E5063414B757955483839713049777962355136545034423570395872797073552B57334B4B6131362B5A31317335647237323062666D502F7653486B596966736750413536574453337A6D566B36396F4E506D74446C742F75734E59663077692B5232614B5265672B5455356E5553316F64516E63584163614C4B435457514E4D474553763668453474345758416B366859667878356E376D48365A73703968415550735541694861594268384178466A682B4B676C5248475368375A46424A41507034554D302F4F50596B4239613853414C5664786B793752724A5A73717A364C3936685033774D334A6A7464504763506868456350487A703763502F4C383965715A72666F5A70694D326342696979477074544B35537974316E78796C4F6251465A6931534B507A6963576137466A6B5349324248574B6977525A6E68304B586274566B326258366E495764312B526E72644C632F2F6543455150596778414543494649727238365555792B58326D6C7A327077322F2B3247734236776B673273377A64495062537138726C787274647A72416651512B755577556967663779476E774C79303669306179384C4C622B783536783171724F61744C4D626C504D374448504E78706B6475756D646B34524851596D57487A6F682F446B642B764D37613835647254792F707452783439596833326A5136774A4C304F344236387476746745364A5963713236713939552F336A4A3838316F4F784D74447A6A68527577484D334830442F7A64376E693165554175674C724D616B646B57613079695A6C63447239302B45395831617156634C484B6430346E3644467156635A4E496570723137664B504D387A59624C37455A6B3770316B6B4F643474546C39533074747461636131703678334F506A76415A3267693664344237447645412B696C596A2F5469657471634E71664E66373252554A5648336F4831636230654B422F666B6B58476F314E5A7439324D375757525877792F4D724E5655394B716E756573797A6470704B624671575A6C696B554639546C4F7956615A4569302F644B496F5773757A47386F2B356C673262316E70613537443648435158752F33735768774A4937315853706F7846393538715431656D3434592B4F4C634F68724B634C3659797A3832774D766C6451725A3362565A566742784E726B2F75716B76696F67736D52584A396E663337564C4C6657717052375A52757054532F3330574E4368686C346635616F39477465357655736C5336566B716143326F6230797056316430717A37326A50334832512B6E77427A58756878724A667A79424E2B477574506D39506D66384A494C456A496B742B6D6B666F4D714F725A4A68724441657149566435695041454575493956627172647034676D474E764F50422F667444616E76717A456173686F71775347536D5A467A7159367155636E39623644594E6D6A6730353636696939313467304648646F726E33304A77663553453449656A306750524B4546712B346B592F68324657354675317454357A306544335064677A6C78585149626A6A446A374C51722F593958394B6B686C497674514F46395A4A545131694D6135636D7966482B727430617156636A39644458586D6B32667439506C7450624E454D52462F4E37676473447A4465375535396B556D5232477A4C36717449324C633371577A4C64565032646C7838665941786447456F6A4449643471506C693654305A704253357859765435725135626637726A597A3168613141424950554A592F5845395A7A41424A3650536767686870347861624B662F494557424449414A6F53437263584F444C49324A61486635425776376A595A736A7355476262645A4B704D6E667A45716C6A4D63455771436542684132773736536F4336535737784E44344F416F55484C4B7177354667566C2F3862626D6E587772744948514F505436364D53457748726C6A545A716A577971416A504E7A5A37736D6B764F6751536C48735431656A42386D455565325076694F5532474D3077314F63334B326630724D737A61444A4D4742515374484A54585352385070317256704F6B6A52344B34317039696F792B4B3453432F67397A6B6D4E54545739556C726452705179443548646F7A3637585565487470572B59784669707371454134756233566B726D53706D334D367654314664392B3654466750567851496D6C5A4671575762754D7052356D424B41734A4644636E50416F6A4F784F4339443736694D4939786332762F4648324A46364A68356939654B4966616A456E3755564B4A314D75615049335A754B762F68556871424E4469784E2F42654B3355393449456D385433636776524A706A7966356E78433954516F41527239377066664A33716F6B37694A4E73454554382B68356D69736545306751685465423150426C784978356A6C676D3343513978677665704963522B685A6C4D6F5841792B546268655972396163504836326D64535647724B7457705130386649504C634F4B32354A465A4749364C675A4A623947387754345354554E32704E474333636A6E6A6345326852304E34636A457A387A582B7773464F545A6C656E636B7032714A50694B4F5A3844346F3765482B454D4A4D64537272767074454D49747830305368485A70632B78614C4B3331676E575A5453686D72714E4A67564A6133364D395A6F2F6A70786344636248364E76536F50524943553747673250734169775074757154626171436B33616233304172482B4841594D52516F434773364A7644687836344D566E66766A6B417A2F3479344D2F652F62786E37337735492B6666657948542F33783772382F38734D6E662F2B6A357837353464356E557459747A4F673353687630524535562B6F5A71517638315633352F7A7A5066652F722B487A2F31687A762B3969446F70302B424872727A72772F643864654866765430517A2F2F38304E6F57586C686F6C454A547576554A6A73316775465376794846616368745558333948772B4F69504A43617541616651446369453250696668457656744D56394F4D4E664F46364271546B49672F537174342B434D7549693471643572704459556D58445155686B666F454646455169306370356752666B4277482F51467777472B72545461776E435974343255414438454A786F4D42756B2B74714D6E47555137374B4530653268684157636D64526E48493645774769323438345259674F4C7968684561596F6A5152416D654B546E494A68644F6569477555534C59493352634F516351464730554F75456D42374248674D496C355138394A76544D4B415945696468426F333666344B4B34696F2B544B5244366C6F4C48346B56325969374535744C6B4531487A384548436B716368484B534B436266554C344E7652426F4D422B6C62464F374C3478644B4137454C32655635354E6E6C646E6A7639644D504341796B67456965696245496C31723155436769782B5433545A374849487A774A783479436A306343644D484A794565516844465375456754654C44613651454A52627A54717754464B6255557049347755544263507842576E78636B4F533845303869626C72766937514C5A6B3634585167694745414530496B436271384C42517768514D5338684367636D574C7463547A2B30305A434252336B574A2F6570514E4D464C57722F7A467841434A4D7459545850574B572B4A456654744A774C3241364370486B6B70363449507238714B4C2B6B5746596A306339513378315466313372382B785449486D443566516367446F4365756453716C624B574D3979456C596A2B786E6478756C6A764C6B4C6E3371786C7170355972437A63744C6C6C5A7375663232415259657051594A2B49546B552F70524B364236433678484331483051624565374246434B556877535243306531633434496F476F567744485361697753472F573151696239672F78507A62326468736B794856695935466D5751726C36786C4B623247484B6468587466534E35676654546743386642325650675345435071455168766B5A6B68466B52444251366B4F7053677048363931466B2B7255502F67396565524A615254396B6E39344D4B47664435413334764C54716C4B6759693750554E6A5648714F517746675644496C61687961426D445956386F474F5166694155447670435075426A79756E446A38303445513841476568576A6D4D476449456F427A53754142504C4A733066424D50507968663877714F6D4141343539486A466A4976414331776A5A494E63693433674D6A6143394A6C346A766244786F2F4D4B377A43347743747341646D344355516E6B436C45546E424A514550754179486D492B41526A5165464E2B614C6A6E6F42625747586E394357653855724F43412F53435A506D427463344347414A6B4C425151386153574971797355666A5872784A424938486F6936417454593848686C4368446B425563396945744F595253314A2B694F684F456434517458354156764B5A77675A316F6B46494C505343694351714933634D54426E77435A6670416959443165424949526D70636872676F2B75344B754D5138744C4B5A414B5769366B45635245566D6970434E52747763433442305A6F6939642B5053507A2B7447666D5331414849526136716F4E664B4841693665545A482B554E684E583871514355436F4B623263384E596270725A547541516E516C484266783431433372522F49674D555977674479524B654B5A4B4B596350673138344572354F47356A2F454E626A6B6C414B6F6C5169596137636F565248615A56333643657650463634656E48577163523655464B584569526A765644746361582B6755617971394E3744464A3771646761534F7173794C635A4B7A64307644527942426F7542476F734C4E61626330486E65723369773842365159492F6769436A77465855684467524B4D6755355461684358365777447872645871506E6E4C5272304E47306E6F4D4B523256307A734E627A492F4843416F4431395979554F4C434A557248695A69515761673179646950546F486B715679576F767142793838437379696758704B6A51694B746B39413438792F6F7736346F3935416C445244776D69716A4D7A6A415752515A6F4A2B61463063642B424E7A67355348686B504135344A545342314D5349395877413943635937444E36366D512F61347A674C6A6F666475422B6E44376D684B414371676B4B65534B38504561496868654F38704B42516F6B304B51344846473241666E43454779674D30656B7059634E773937706F415433676A784D4F414F6F7377386343666359467A75485852655467553742463051626B6C6D6934386A714D4264726B6E57636D44787933717A76476F62355157364E4A7A56435153524E30674A4A766E6B6A73656449395052414943386358754776434F4C49447434444361366C484B657852763456684F453749444A6F7341655A3738766A42536A65614B75697834706A3871617A634C6F74775275426633305167616D314167437556624245502F704D747A3176476C5836366F483956776A4156414B46796B48735845515544324569656541594A37312B6949502B4247354D6A56634D5131784C77514F53476C534462756B51766945732B583842643265554D54314664414F50356F32437353684A52777A734D5354494233654148624B527730455352367A4F4E792B2F332B43496F534F6D493446416C34335335716A61446A522F323848304D79774C47654A3145454658733662636A385237412B305266754F566279346B4678554A30345443642B42432F74576C5855574A6C686D774C4E487A344235654E456A787A72436653314E4E6C7271556A665543325A56526B4F513348766B767A36796A756566527A6F686D34484B6946776C724C43313576487354374C526D4D342F7A375743344C334F49453777416C334A4F674B2B4D6144506B385531592B55666451516C782B6F46336D4C75597562464D6C574A53326D37465A4A335A714D7671726B396F725A70717264714C33414F395146716E35794F6349374B4234347269694D453748655570375A725A2F5A71766E6D6E33383953726F66655553744732547354655A2B6E6B31735A3446646444794C447A77422F7649764964447A49446451556363395870385853437448457771517A6A7A6B6D52674B75636634715763447A4C38334E4978377744664143444468436148727A7547444549517A68527663497048493569447A482B65483076415151674D63524D68784550674D7A5135736F7645454F42356A62422F7A374755754641315342527471516967786F594448433369616D4A68415843684B6E684A717436436178714D6A687A785351444463374A3059517475476A4C38646E546A49324148473972444177516779456A6E4F32464653582B456834683065672F614D5874647836703753436D6145444D536B706D34596B49586B42556C5652374D493767636A30516D766432774D79614C4744303049382B344B6A2F4E744D4E6762346548394C4D705042454A306B594D73656F53466B514130623063385979684B486950316169687A4E4954463259615767364D637041557342636765593737447A41644749594E6742664A436D417158634953496B552F654B6F4463626A6443516564766D506250514C354368356833574F774F456E575042467779647A687A596F5A696E584350772B4E5978493179504241644F3872504475496E2B666A346F554F552F6B4F4D486150306F79784351784D6F48463457715034554676306763424573576C6D666A795238494F49446238584A52626735464A6941584D474E7A2B504646575548707145704F735938534353615139796A6948336A347A4C5749326B386C2F4751543575342B553968665A784934416A6F5178354959475169544242776949586176336444386270796745366157436C34366F6A5565564C742B57414F6E7738413341753947475170793936324E4D6D6B796D716E6F317057666633714978784242716C2F54745757444B705A494867433169506C482B4337325865614F4A2F43664C494568456A464E55356B48775651526E597A62314639685753716F4A6C7161376E6B55475830476C50624B786459362F62794767346A394F676F4771637764466A71387376744C413848525143734C7A436A716144524C57423932675A39756C5752763362786E63382F684B4942566833786A5149466672623757667544332F2F6B4C5A62384C6D4E2B752B6F73613758753667377A31363535654F647A6B4A3833334D63472B5259364148326B336F636179766C464858427543625236646D443330384D376E77306465574C3037622B3639763735794F7450373373564B4F426A34554155574554794A6D646563494237664D4E372F4E466A327839333758706B374B33486A6D35484348386132766E532B45484375584449462F4354637A516F664B6A6B316550376E2F63642B59743333375065773338367650335A49322F2F592F6572486F59474437464568706A7645497334377672794A376330706A6556706251727A2B745A39666234635435514A544E5A6F507A5273416349432F4439772F355831333335366F7364617A396D5831565372353635546C33573337547531733133626E397948794E46474E55484954392F3441306B365A6D4A50552B4F3766365465382F44513238393874617A4244302B726861674B515448676667754C773277774A3650524947392B356E2F2F714F76624C332F7A7472624E6C3135666566356653746E744F74705039645733646E575774554E396F333366656533683137657956793868554F683877456D4A4E6A726F644451562F41547749454A774D52396E70476E4437324A2B767645384674507548632F36646E7A7950453348397533485230465A4333696A544250524A3545456351565A37536D4432372F2B354D446231477978393536344E697266786C2B2B2B6E6A4F35342F396A5A6577654F6B34563451457343426478316F4148412F382B356C6F632F2F36656456582B6F39743266354846743169556C58304B7961336134727661703934362B2B2B6365447278346A745141774C546F4B6C426277424F30766269613848704C6E494C585A6B4A2F4864722F36694776664830494848346F652B64575256312F31447277396642534A6842736F5066736A3437382B39464C6A4C373634594E504B7A4A614B2F4B624B5A6264754F4D7967324850686952426549585345432F646B687838357A61664E66786A724266646C734B4561694B6F4F56514A796D623330736D4B7A6A75593545316556664F68455772794D39595272596A5953396F543147716C504A66585459766B63757846415036396538375272507A536A77524345695364636A486569726E703970776A72686547526F4B664B6965746843425A7842364D526F4A732F47416745664941596449626D74756B79375A726B506A306F745565583464524C4459744B6D6A56764D7A39556E594150554968436E494B68776C423236506445724A647346616E6D696F39765776506446783938656549415A4F4D31332F48463366567A375857705A744C36305946493639586E574A52466A57577A31355574366C7074324E774F5652517765705146686B494366486D6477355550566B43632F6E706F78324C7A69756C4C46364A466E394F715062657A2B6F7A566C5A576D6C56414A30576A35614C774B695A7953546751416B4B712F616450356E54587A7A56586F617378627037697778586875533557327477585A687A627445566A5066626B6A34563838396369353633567A6D39526E744F6C6E72536F376636316159312F337873682B734F496F63372F4A527161764C6975784759757658706D307556707175545466706E397063432F386975696734364F7A416C30654775587A2F754F4B6A65325A686B7650744334377132394E6B6155363236536630624E30687357515831392B62752B4B6A7A6D5776654139644A792B364136647431347A6432336C374759316D6C3730744571616C4665596C2B2F5A2B7A62764174492B546E77694F755166473645467530694D652F43563462337458373571786F7246737A7631382F715770585255536B304C553147555A6D57575131665958563355565956794B6537517A4F30305847697565337838357875525157697936447653756661514377512B34614878636336326F393778572B363534394F74646565314757633130515A4E6F486C4E75724B7539547339513869644B4A516F59425056454F32787877734C4E47776F346D56583279396F71796C5A703044526E4757752F705231326366716465732F303332495A67386F63506F58524D4751636E3349507771464862723879693975574E42682B506932656D6E3570326474585A6E53705533764D57523347334D743274785752556D4C3670794F7173737379782F632B384C6267514855647A667A6A55304D45304D694964636F456B5A6C482B547A475165395931653272357A5A5556586F71453171566C793474576E4F306F72502F2B783767324730624F7841324E587839632F4D74646449445A64447330454A4A6A733035562F716775447833684E68505836674834416F762F694843734854664E72412F41657858675A366B476942615758684D6562667756794B7A35726E4F65756B686975686C6B347576446B5652436F38595431774C6332757A4C437035573445734C35584B573351534A734E6B716D73794634397431463731643366676A536A772B376C413938774E504B4C5845435A38714832796C6776396B684174667A3634783849362B503853615145413768485452436A6C676C766548316A6F515764526D43396844354B6A773774566D615850723231596B364863533844486F6A516F4D654635586B7367414A737147446A3855786976576A2F4A4876356A43323130764A503376444D33627459384B76502F426F494F364E4E6B32505430517055616854565570383270552B623136326262744E4E7236386F57487046587430564F316C6B4477326D553744426364704A45374153446B5A6341523855774E63446778653056633373304F57593149554F49385373594E576973315972304E4A506B504C4930775231466238385763677449414377322F7A644732616144626C6D545661487371684A4157317865724E47756156396D4155676F6A3461596F6458516D756F354E2B342F2B355A395972435476554D5A2F56306837476B535846326F325948477A724B76447644677775574C447248587076535569725A6C564B764A752B6135656C724637342B6441442B513547674F304961376A434E6E2F682B2F4F71546339636F463352577A335573535734716C396F7155377367474A5730514B743138625374793651316E317077316571432B7249664866334873797851624E566C746C63574F49323558667138486D4E715A2B574D4674577A423761486F6C447367784E523935687646446342476B4D5037765966727A53744F4B394A4F364E4A55576A525A7663594A4A7443736C6449473358534A67504E6C7A6A564B643361564B633231615A4355476B745A646B4E705558725370752F652F304C766F4D6A3447356F49687877513174694C69416E4D51383851377434772B392B4F4B4E65686271633236484B6146646B64616F794779726D4E6D6A5152354778487469484F3137326672386648455A354857626873396472353571717331755534484E6575327047697A712F39724C7162535A304A73515169764169666F56476A367278642F644274437358626C674E4656746138636E703136325257712B55484A5851427142355A50595A637879363745356C5A6D4E707A707146732B6F7232372F2F576151663875616D346138674C64304A427677735042346C7A516E534364332F334E58717247614668467876714A5857586E35325230335037563838546F4E4C6B655533394A537372696873553258594E4B6D6271744F323171467076507A364E6B6F6B3267732B686F4D736F6C56412F77425A6B2F504C6B3333617750796E73423642676657514D317942396277504F4D6243514B7672482F357853617336766130795A324F745A433666417330664F69566766595A4E6D576C5679394D444175753347756B7255357471576F662B6E486F6470426D6464444670356E4B354B4264494F52414757412F42697449366E50682B4F414C7234526A354F7A6B6A2B504D4F6F70466F506A7441546C4156776D4578314341737733376F396546647A44572F585A394E48334D426F355753565147737A2B35557A544E563732522B56785456435343497050496847354241556E345638654468424B7A5036745649367A383175362F6D316A325062486A69687774733151584E43767036755231466F3647566E583367574C6E6B7241526C326C554131746B6D77356D394B3839317274684269332F346B6A35523171416F3834514351504F584130667A5679344579716432367957624D726D39596D355837646E4E4F676A416F59415969655A5944342B55532F704664555552725076655A34465A6B6C575A3674515632413351796E4F616C597533745133523246544545795747683379306942436F3949302F2F684A616344723648315A46686C4F5833716B6F6246487359494874624F54384E63724C656C616E72562B593032744D3664564C646F566B726B4475586A6D36453146365132696C6F4E48543374463376766A6F374C584B2B5A62616A4D614B764B37717A4F34717961796762396E67713165484E6C5779566D5A7657794B314C774C757A3969362F4136324F776E3254673336566654744D6638346F376A4C2B494A3750354464525638784245467532697A504E63434365356E762F48626A37453564526C74466B6B58424A346F30314B4545316E6456536E3234716967636D774A68556934636D677954737352757946323779504C6A573935696F2B4D733649562B444B796B365733694D7A7036677978773952392B43465761466774417173325657527471387270724375735641347A357736476F4239684B6E493336677A544A795964396A76456A53442F567378615A5462646F732F71727059364B615662442F4137446B68753744394D6B725A41544D72684262487877502F4B62742F352B5958737431506130786C4A554163516C4F5654495338704749333259677653624B3642495A58667051446B323763792B4F716E754538747632377964445932687A554F3330776546494F696C67536B7166612B665475652F594A31756476384B56436A5579727972567161765872547076752F765A4B4774762F312B7766724B61575A6A54717469476F4943303279566B5061466E2B6B59456B4B4457686B6B76414C576F396C4431736A364E4E596E6D503845316763683751674D516B614C72676836454468556730504D39786F626E394F6953573871792B75726F657258432B5578415A6F2F64486F33724B6565424C432B57794674725A4B366C424463656533477630337348347251386D77494E3252477A6A7650425757427A3832655571782F4C784B49447834435234367745487272575462364F677961494441554B6B2B5256542B7A53594D4B544D733134425A414479384365656D5258392B70312F646F424E616E4F7851357750324F30765750334A62666255526E7136522F535A5A466B394A57675234363043323731306A543272597971512B5157707072313048787A4F30797A48445762587667523441564C2F52584D5732492B454D514A4F5A69345A6543523648557039492B4454726F66556B4F5459464E50366452645943764E7047786E6B6232655049346D3146646F6249742F2F3731714E4945667A31613648475A56674366356F71723239414D384C556973644B4A30487150627A78387A7977544142664E5569554E796A6B71737271312F32412B2F6464365A725171696A7556756430554F31723031483564756C5578723032375932672F50412B365239456748574842762F734F6E39476B4C326E565A725571633771716B753049545A6B4A526436716B5071724A4B63327861724D637169546E6172556A58724A736A6835717A48313838756C766B71705277584C464B537A43793756435077767674336A744A6B4764486E664B484D50456755507375414F46707876725A7265565A5747586B4A6E47545853446C56366A7A34504F4E75365747705A564E68666B3952526A6A594A574A6C436533584157586D365654584E5756586356506E6A6E582F5A7A39786F4F516A4A5172456C4B445450484E3730344138795443726144344D2B4E6852537253337131422F6A733644454B6346656545466A48365556506D696239374C494263365657525A555063376E626D3236575658536F5458653545524C3742624B416E58454B514177475333694D794E374C6D79704C717058544C4D62303631694E77344E66576675304B42626B3953306148706662625A5A685561582B6B43647054535A684351686D36336C78693932482B563948657158684361786E7270574C484C684B6B3242575338356553657957312F6971466E2F6B3574665965484D56597579753676546E4D59637377614E475A71546C4D3031556C745A2B593157776E726B377A54572F79767A6E384436614A4458664C436575743277696B77772F3848497845455730582F656355342F454B534D506C6A74315572394B4F617036507A6845674C6E342F5669444763533637765676424E74544F73786F502B372F7076584157574F6A51394E34514478517769516A5057416D2F4B6262656E2F4A74624469446A654835307172492B50346252666D6457744C727071716452384B53706E7764616C557376697A41376C544B757875466D5A73664B4B47526139314C6777465A7A735655455654625770434B544D466168346C3235754F67797445525650524D5378486863414537432B474C484146375258654852716375314970326F666E51627A44717A6E6F2F796F7273635A5733723739576E51715148516662512F424F412B7A6179353942727175536469505A414C6C6678726A3935543046795A447157764832566149546C4B6B7A636276683534636461325A645036717A4F36314D6C516E3947427335564B6A737030532B57732B6B70677663666E686A494343494E4166734B3862486148635762336B6B796250686C745447654631473251326B7154484C6F30687A3748706974715679336F7270465766517168456478335843706442785668455649493753484C726B714279744B765472584A574F394633344F50336F414A775072647A504D473838396F5579657675774C61377578744B334D733672774F3566524F6264473630764F6453326562395355646D74796D387478326856522F35594C7231755674726B756A6A6F67536E51423042543757753249764F67656849586E36472B584C7352766C3250767748625274464C574C664F386A55412B675533754D2B6E65635535793930526A5777372F412B764F3656394B65537A32637A373379476D4C394C5534774246783130567054386A336B633433546C4856456637576C7046365A3336464E4D796E5236536E617369793376305A6166786E6137786B646D6A6C746D704B4769706E746D76543652636D745A5958587271524B3136756766666363716C6E644E56393834756354674F46494D446F7834614D56626C5436636177764E4B484A515A4F736C646F5735546D7132762F776E5975756179313231714A766878596C78326E496851706972534456734C3273374359724A49486D396B2B5034667772632B71786E74646949717231464149713969447A48574752753362394C583974615A3546537A4F4B684D564B617678504B6461447073374E546B375032756E4C3458796266685A305065625A37783942636D6B746C7A44494F45383858534656595270752B4E43772F6C314E6E4F4654365A396A665A714E394F58707A5A7039695667504F674872556458354C52354F7750724D486931684A57314B6F6334433470766F49344D7A48457362762F505A613339332B32642F662B65367232303530316154327277497172485565676B3030357A4E7454514B595663574E6971664F4C34445449694854726F62705354346375426F6B515739423757306151725737325568364758794F6F7033772F706C33343968505743366D7A6178534C5A714C726C57786E6F347033673463714747662F5852657774616C526D304F7A646B43666969424C366F48376C567370515332636F4A35546362736D39594A646B71705A6146462F5776656E76735543447150783463473243686E37373535384C566932643331306D4E56387137684E7155514C48383771705A505855586246316E75666472332F6E3737372F78314B2F58662B76712F496179416F632B63314F4E5A4632454869464B6F624254585754533545437A37745A43712F3237613639665672317068685956625A54356A7A412F736E78476B335A36672B4B383368555A79793662313668752F75613133332F6D39322F366A75316A45326A382F757A662F3531584871362F34374E7A7A55617039694B70655248745734637531365961314E446B4E566638636679746F365278422F6C6E707078767642783748726D446A33346B594832764A746369734A3750685844656B6752786A73457A35427569496D4D395770516533715A7965525A5944796A674443623042496352373565662B46585269744B5A397470385A7732615876416E74564F52744F374B6A322B72372F724E4E33363139782B376D586348637A3034734C33394A37646B72792B6C394B4D7A31362B537475676B744935745A566473616743335353496A614B3370644172636F78544757656A383164544D6B4F625872382B412B44566575654C5858357A57585A4E7352714E536D6E483943716C31456347466B39716B725037714B32383048794C646B63514D47554E4136486D416345502F7037452B7766796E787575426751694D31767742704768693579336D57376931645137715657735A6A6548323671512B6449724C547A6E57383558317744566164734B42586C42756233567955326C2B66666C6E487676706353376977514374395A695343784173554C566F4E546574527A3442367A2F413347773834424E4E2F4D56556B724765464B34457248657167532F766776587767685354367366564846374A42596C66574A326F3135744B6B31475241506657797652656F395377754F70623231356D376E3030466B2F4B3778343263652F42352B645944466E642B7078747454544367434C62617051324756482F6E542F344569324B49505468686D4E396B41566638782B52735235365051436C5330504E4B74667233777672415334446A4D6C6A4F45675366554D77696655516F554363323868694E4971652B356366753365613155416474593646535A7572704331477956365765733053644E71532B76585A572B7253652F51707073725535744C705A74315A39746F355378612B744F384E564945787A73784C6E4B764F3362417170614D7978616D44357069357051354E58567148496E6E3570542F632F39656466416E3541484D66693434665A38472F42672F4F6274664F364B2B544F68636C627A41556D4458543239585161764D366F54526F6358317862432F684464716A59436734426C436C4A54534173794D73664E6179386B39334C6A7533516676393578343678454C37492B4E6A7A41757577665577437741486F5473444D6638772B745A464739666D6D6D6A7A45756F356457736B713771347132725A31376243317968665330726C434C35465554514336326C4569456F45724F3656736636344B5074597556506834436443417A746747674439777136595876384F7242384E306D6345304A6848417034787876617A38486D7431664D6353365157614E5A38332B7A326372534F6339743032356C374F787443346B636F2F643664776347444C487A376D302B6330622B4B6C67567671704C3661557063636D706E74756C2F75663350764E445237304E6E48376B49655A6C2F6D49584F5868664465687232305359374E4F6666314359316C366159464E4E7657432F566E5A66666F6C686772305879386B32614F6262717933765837716450314C6A383849456D5342416B687751446476694231576E447A58384936326B756950743168514E6A664831657A7A336668427159326C4A6573476D4A5A434B497A3731324258584E456E48354642416748675263343051444F414436444A7336766256697671336D6B34345642376977446B477778656948794C5449757944556C516A774B34776D6F657A447748703445544B5A534C493577545942363648576F634A5077586F3757692F43304A4A6D4454726D5872694746376B61384639366C4B38695574676D596A3078683838396F724A6C4F4854532B73586C4E7A6C3363387A6C756C4C5548615450635146356D782B3850613178635536764D52767567536E64714A6E4B664976682F505636644B4A704F622B494231676652597144622F6734316E667A377869634B71537A32434B5031772F487352344F6B536165547668467052316B624D3133727339783848466B506F6144797039696F544763595770435348736A7035532F4B4E443043302F636D2B756F496B77306C55494C54757378454D71304C43726F716335705665537457657A34795A6632737741452F6D42674750325067794E48526A776A4872366678463947647861744B6330787161576D4B374B765869623147354A3639576B6D47727A367861486E647243786F387A6A6F6C46494169616F6F6F504D2F786F626D644F687A33456145415551616E71625A6C716E4E7475457374446C646170664730614479373934436B61594237315A5A49773674596639452B726D466376367A4C765A4F444A344C454C37586C41656B427665526E7270714F487745483133776D3738307A32356A61704D6D7A367072345A6D4F33747163737936326658616E63774E6D455A6F7844434548496B412B6D6B4D7836704D73616C516A7154546F4176626F30612F655543776C5A653767454C4F4E48704759614748665A47446A39664878737245476D4C447A553755552B45594B68715374493935376A2F792B7378575857614857724B70706337793743314C73753236346F5A4B6446614F304377436664344D46516D2B554B626F422B786A3767322F2B66374D7272726B33686F61704C56574A766457465A75716A4E666130484A342B6363564C456F736E61424F54326875417833375136734130465A5A796C4343575A4444745A66547845425457646C6E4F6E654768735A35656146684F4D72636A7A372F462B717969443252514D512F57625A35646B2B6253664D6647634F4A5954304B51436A31447839375932364C7674436B5239637374632B49536B5761534A636D475A724656476A2B63416E494474555642467A6A436A364E344150724D36337136576239394C586C662F4D654F455348654552387742395368326D6745386B6D452B63415636506957452F37313339517242654278796B6541306732695662634E69782F3079396A2F63776D4661323566472B7370356F41696E6E6E467A496952727736416576544E6C594257504D32314362566C35357458374744597645666F374E2F4F5535456D4473535249646D4677764E7331546C57375770356F7273712B736B78304A706B7759743936796C7059435055496A3451434A4557492B6148486A54653654597A4166513049467A304C49354D4878657651724E786A2F422B684847316E3337657652554A447676616B424348504A3450586F59595671307A724E454D524857332F4C6B76556B574E586F59554235524C696C744651563232686C377071503651756679337878344871494F4A4B57772B594C33674E384E6C426D4C7541387A7A365A66666D4F427253624C706B33625745304450713258702F56584166725073793942497147507779583534746A6B6334314270393464487537373154654B484D62697A6373416A6F5764704554544770672B4852442F64574139524355414A4F4B696A387A354130677363504158443977487042364930453475414872613067753564676659424933364D4239564669446D4D41326D73384A317969797A496257334E6D6C6A58584B5873616972626B464C465A6F422B45576F3145445157765549454C4433346476544C4D6F4D7179495450547737462F49654E546F6351324B4967334D567361505A356956507A34676470666B7032307230486D68754E6D4738336E69544538304133487664766B416B7A4873415965506E657442376B7A6F56306F6171394774585370614B6C4B625332313534414230642B6B726134365A64445241466661584D676E356178764E365948682B737A4564765A4F4E6461677055706468527466535757745578796B6C63455439476642326849397554572B4750464D48547470636C584931625843625A6C4764643958366E44574C7971397033776C6445546B4F6F74796F6E77513666677A746B65675263674A486B456C2B4963346B43507870633871786E6A714B7742754F67564244494B427642675A62762F585A6F675A6C726B5666754732355A43724C334C59454B707655736A4439464B2B76522B436F4133493134466F504D4135596E324E527A326852582F76416E556470534D474C6441596770644649324F385431576B793337676A425333695A324630744266663869466750636C735444546A4E49585A346F452F7837462B67685A31784C42653750466742316A544F4C6A41656A66336748496B754F6665635548494D4F4B473330396976656A78454D783161354C6246426473574E7434322F5851364A45772B6B657448512F537A704330497475396A34552B3656773577364A50616C32557671564B3271535372716B43554A355A7233616A74454D4277492B4D396442746F3447335045644B424E616A483242545A566B304D307A364266557150686278376C69505736682B44642B36486A3041776F67653674716A4D557333615336377067324E44773350386E7A426154516168654F626E7278584174623361644F3639594464724B62795762617159724F7570465739374F74626B4F5978524263676D50443758494D54673842726438694E556A764D665070727A646B4E5A5A6E64687551744E55686E396732726F62666D74367665597145337655634A596E782B35674543633851502B6B644742394141414A365331792B454970787431575A616159434368476F7A5653585336376D6548675147495673687673635A54792B676479496351714D344555586530527845615663317549727664676B58555862514E515A4D7636532F4F612F444B48576F6B337672704F614B57583272353959626A6A4132355065472B4C356D314C2B4A304871482F6F64767A7A41706330794B584C4D7979387048354A7A7151724D47525578707071525432496C59447876306B43363172437A6F314E46634E422B2B4139616A67314A396B784D536A726F41522F41507268316B4C4C50714D696A3174506A647A706548316C383879316E374F6D30423636574462514B5251416A676A5451427846462B564C436F38745A7666364767535A6670714A573671354F634E63574F70624D6144532F344276474B3933745161304C486D422B7342734E5475766769564A707555536631473444317565744B4C37497365543036684F4B6A37535943586C712F7731746645445631784C75592F4944415976364C462F7A327443487A623242396F71576764316A54767A776C4336474D44456539554F6F665050786133744C4C70317572615436392B6372304C62553055575A54384A5858716C4F4E39526E302F5654436E7362644E44304C6A65786A70747133325368742F42547943756B4A42756D6254434538776C434F59446A576679686A4F50487745776D57635A4A4E77764F2F7850713458682F486569704B37683258655067694C6F527A49745A54554C724337757070617975506B764C4969772F774D4D5A6869473850695370366B506D322F76364F346D5A6C486D716D745654615A70436346546B3956545058566779544F38424B444F744A7277394372793878515446585530666572737843342F704F7242667A436951746C444959344576397436387473756F42706F42523541355944373165594830306A7656633551625751362F50636C5A4A7073575356566E63573576666F5A375772706E5270706D3576764A31356B4A44666977774771436C687046674F4141556F374B6D72793444534D5A35707071733173724D7669717037557061443961354F4C2B336570374A2B446F623462504E49595A476753756859646F576757786355532F43764C42764658674F724566614B486639616D6B4C6A62432F504C7150383445324E42595A45754E76586F544459516A7041436552455678684E52535746374F4851684767502B366831372F474A6C72762F6B7057757A5A3334334C4A7245727471697132316B4170666E626B454C7A444D61342B53703751362B39494E77507256666D34576B696E41634F4C544A7252474E6144752F696859526B59564579306B58774F35684C72386F4A4F4451322B30377975504959447652355954304C4331662F395964632F6F6B4E7A7A4E57464735665257477376395A2B794E3952636445336A62746F4367526753474274333052704B6B6C4C6165413649483655706756665957456D37555771746C4C714E4B5832314B6132716D573347727A2F7A774144534170625342676D68416671734D70516E734C3448657231527370656E624B36687057567279376265646473416567753030796A5377764D5338592B4D446150345274786A7548497835574D34676E685843695134663972416E43545778332F466A3541646B47427144453369647354315949524E6F4C6768416145447A503057383263747657796D73787046434957614B6A3866534B45626A7358693568515277732F7672554948416E4244386D53764B4C68756C645330654536722F6F47336E7A73344D55674A35682B62494F6D384B764B46795443555A3347424530496C5648713057324B5042494831747A314236334351385A4D796E473154364A2B62667A6D4745352B626A592F685544586751654D534B7969364551556B59333050696F4E726776594B6D716D32616936773141474761504E7A55586C346963496A6B414C56656F4A46767676635134574E6C5A6B3241456F467A656E52614A696D75456E424E5737434F416F66625238663733724E66375445704B4E5336414F614B4E4B36564356572F647A31536F48314D7672456B77554F633570676F525866334A6266625578482F58656F4A4B7369725673485162336B6D755A784B696C4551726C4445723073444B792F39624637365A52384B4E6649534938757861597574686E6D4E4F745576633351586A31635334566A784343594943494663763970664D2F304E6C32475351557653585A566D6F4D4F555369323668712F6351317142394B50694E423638626142755479515A32494B3441596C2F73564837797070556853594E6642466B7772412B733247564B73346F783869464849482B5837786F53436964744E324F7947506538775470503745414A2B374F7349694F3668715250374D427634534F765A30364E6A766A6D7A2F732F2F676F34454464343975582F4F724C326254467759616D6E7433365050614E5763334766342B74412B4E41634A486341674869554554322F586F48636C575A615A5A68654C4C74504A767770313074764134306F3865426B64414348516F77417353765133557A53674E66482F4B766F7A326C36584465666A3071554D467164626633425048656D5159505A6A50506E4D76656B7430584F564741353933305353316C546B66752B4E563574764A764642396B4A306A4E4841666846434E3036784459496746396A4C2F69387966314646423632716339495677336F62616E4D627969377457446769746E486F2F4E4E2B7769774E52746C5844635541684F63716C725455704A7357435274324F49436E31614E5634716347396642586C7943323553586965596E2F6166414373462F57452F7645654D68596E50484930695674774B524837314164484A776248574841664336372B7A74587A4E797954326B72664366542F4153495A4D6976794E764D684931497746564A37716254714374316E3741656974414D697052733454304F4F56497463636935456E6D4F2F484F75424E49415073582B3977507176507648427A7073394F664E4F72452B636D303163682F4E655741386A62766A39464C3265734E35576B574A5846446A307975733733655152474D463938764A46376F444C30584145515050446C782B66316B4B4C7971462F4162747046675339696862464348456F45657342707546582F63646C724F38483170656E644B6D4B725A6F5931744E43627A496946694B4F395648614C716E32573173796E554274465151474B4A7A4B7466754C4537416570595A756759746A2F5A63667532653679556744507367496661756879544672466A5472722F725262545379784A454C4A4B644E5242656D547374766A377853624B4C684176684E64784251416A486E4F57712B2B4F6A64674A676F665446416530354141586546675A5138376C41416A565341685A346165484E4273366251544965396B4644317161554E6867797A39735852513469496B736969555938584B756C347949584B4D4442364C4D792F7041586E2F786F38394C6B6E3736363577586C783737705A317271305A6D563271366245566C765971696C71316551315668535A64526C495664736971695A32525A704443383258592F3065616A52346A38764C57596251675057556671744B66446843566379704164625432514978724B6372314730594D494E6A2F51414C667379786C4E707361724135316E66526F486B69316F2B7836423457366E6E6F7A69774C6D687746416232314E4B4E586C3935656366466E5778742B646E5072543237752F4D6D5857753738664D755062327A39305932574F322B303333366A2F6675664E392F782B63596666333770335A386A37616F666C51344356703764593568744E533773573765586A664E4F43614B6766757075466970705565565A4F436352785559516E636477666D7631456559582B65564A5032302B69506B333948706554346A39494E7A77462B4B74494F36614B6F56725A4144647563504D66662F526C334E584C35786D4E7952624641533741756A2F67316850314646474D38425153666F4E556D643563582F644A3763302F73567A674852595A416B5A4366424A48726C337A444D5379342F382B3338623678324B4A4774466B6450592F754F625A4B79482B7969464157396F42326B6B6D5750397A3363384D37315464314A595434554F7664355A6E75355154624E6F357365774871796D54504645386A744B4D317157455261712B2B3432306B2F4E6C536C64476B4867396A2F422B746D32576C703741364869574A2F5272706A66704876737747767669665851526869373437556E536D7A5674496A625273304A59675443416F2F75322F38386A5535515847462F6C4F446551316F786D4244793030624F4E4E50374A68755A33363654736236486A396633476649367461384E4830495534734D6C50744250487751635A79364132754849364C4F4462362B3575573957737871415071744E5839796D6C6459744C7436384B74756B7A2B383054444D62733573552B653271484A4D3670396559326D6567594C73557956336137453756475332477677337651634F446C4646657144324F51492F756559532B70514C57412B6952474F4A327436625170455850695175743443326679435266704643447955645A38454C6E4D6970485767764C2B377463727A666337495371546A36694444304439442B61666E4254666766764C6C4256556D543236584F37394C6C6D6455456E4C5541713774426B4E56656B6D68576F33566B6469747A5779714C6D796F4C6D79757932796852545A6346314B344879535A75724D76714E4F535A56346472466E323674526A4F4478704B6E366831596A315A7A6F783664674E787534385757466168724C6A3467786E4E77326E775138304848363855397279704569612B4545546151776D6A49462F614D4D433936646F73334E6551316C68643247616933433348354B4C412B476458475843356D434E50523232327132504B4848787A6B6D2F503436667337564141354C3141325359654E3579582B2B33386136314F364161786C775072726E2F6870484F74706F4A6D587370392F67454F376A544E32332F34585A356F4E4A34333133557170717878613541797A6A50556A66494D746B5441596E6A62435A6141412B76684C37376747696A6267477967765648764A6F726A6B32705A3378667176506E72504C47734E507A56585232446831475362314C50587134345175393444363650556766767930372B643461676C724C65726B6E74306943584671737872726E6873654166516D64794649344641514278734D75476D6F2B396F7679302B4D766D4D5A2B2F63646D3142484F747077734E51314B5A396377435A6739596434424F5678456B304777655A5A78397A66655A58337A6D3355564F775A6C47656854596B79473554546575715462564242394C6C576175796D6C58495258367A616D37506B694B486B57652F6C4D62486E51724A716333715643316F4D54777A736D63697A6A53416435697773762B684F394131416459446A6D56647170752B6D3556336A4548537552656B47777A6E49417565684134423633755779316950787235624938374B7237374A4F53697750734A476F77486F2B48573339414D6F636D686A567958744274472B45476B443345505A7A3758546A415564363059394732314B747A616A537775586F457737623648526832363847464B4B6C674474596B6C4478586B4E47705376724E652F452B74706C6C676C6D52656E5739583661326B6A4247423945466F485A654B302B53446D354C482B7653687578434E38513679344D49335257525042572F2F3079384C5669346F7332734C2B477572516B5344474B4137366F42676F6E784A432B48323057447574783542703163787A316E3269652B58627A4C63374E416F73344D4F79637671687966723568752B544F59722F2F702F472B6C536F64656179664C76754B792F38487171697750713458753854494235454657555048583844574538546741345A3636557554573772564B7750457462375766673133334630416D6855415668764B3875794B6D6432717565765652786B775348363745744F47417A53426C414766414E476A374A5137653158303243396A5436476F412B465146626C706465314574595473302F452B754A32327056465171634E594F48554644714D303164587643665763774A6F33767255623262596176674D734A704F59515166374F717370724B486874343469766467417270367444364C6D4F69656349456477506F77333554374C393639737A71304D6B4B68464B6773444E4E62744C7550485A4C3168544550734434614452396A4163425A362F632F653161485961595A45456C66612B646675374B3462326C71757A4B6A707A624E6269773056785530616337755870477A74717977525A6E5657676E73546F6251306B634D436F536659564C4E617A55384E62706E584F514335554C4C4F756E62756B312F76414E767954324E3371444A6752634E6D70506A6B426F684139794C6834343059563569413167584F734343352F63737033494574747156795537714F6346587A59314F53446A35696244785347434152617176643078765668585964464465633842686671774E5369664A7045417A695775715530645647354A677032582B53416B6F31616269752F6F6F6F4E465032375A6361693264335674335A732F537561326133545179387835595430326D436C65306862596666484759373973615030547374506B4135742F412B684F6675424550384370714664557831466A2F4C756164766137696A4F346C7556594E6E614F455270374B6B70666F66784C724556632F4E50724B4E4964326D745577665733354134646668684250634C7751574D4354487731467148394C2B5249356F727659372F3935724C65556F35692B2F737144644C675336633463367A6C72424E6148416A522B38666A495473443353574539366A43746472575635566749362B65745577426F424E5A54706E676959654A59663453466C4C66316F686349785A4377336C494A6A52745166764831725369794F4E59446779477877443567506452682B6F514B656A334B756B7464306C4E62737172386E3241394C73443637373334794853546B6241655769334E4F6970546E647069732F627558632B4D6345796B4B527878654470394659554D687277686568356C775A665979417954446879547362354C6E6549307A476A52376A6C36694938443874504E513545783738524246727278622F6357314A666C74697579484E71737A62585157394779536B316C476332564D7A6173536C35584E72314A7436444A57485A31782B57626D696F2B5A366D3431546C7238334C43583151573650553931412B59323262343839676574473255432F7A375A617A662F434268506243563935396B72456668796E736B38507843476A7A30375471776E697A423548334D66375A7A53527A727166396B4A586B5757453846457148396F71486A4C2F383844546F5657516E7230645649646170524E456E6D796853544973756D4C657975426D576156614273546A6B6D5661365A466A534477422F63463171304755326C52653271314F575846446455414E7A704B3273657837746A666238652B663373677A38356A66582F76766E6757492B4C7144616935754352444837494837656939586D522F5778384C777457333951317A3254494E366C54544A57455367354937547577587477495544354668436932564150724D797871534E58537A7A6E526939773166426A563178384E42714A4247704F4E6841495256494E59647549552F2F302F6A66573057614E64675A7235745A63656F4447634543314A6F74553476497746316F74765A5034307667646977794765356C72685052487275584D5A3639466865743133584E376E456B56764B3875304B4B6162314850574B6662546A6D434539575345355041304135665275776657662F4B364A74716F6F46744865476574544F6E57706A68316E37796D365632786E76592B6131466E396C65544D73484836347564316250574B512F546D566E766966576A4C504B725063385674326B682F7A51493036394235794F74567739513233622F376167645642634351546F56424B6A746F734550684153393373634377797A30682F4533693077616C414A48324250312B76436747504350444963394F316C6F5772756D304D3633744C525730763438472F545A573559557447732F755748396A632F642F7A722F65476F6643782B6B6266516A635038636D316A2F36792F6C3952684A644C74497234396A5066694D67436B6E304F763547493741656C4B6955592F6B2B6B586A39624A654C33494F746F56704D707833556B694B646A483350497552786E43366155394E616C6B744A4D2F564E3646326347474C30756D7675472F362B6E557A573946524948557472566562512B65394C4D787A364D2F6474673646573152666B625073386E6D4E61714A6D4457684F69325A4F7133597570374D366A45557246383174554631677154753773327247756F714C656C6539515965746E496A31744B4B4A3545524A6A5734586662687738794D2F4836506D6E345166546B2B6244325A4F487574356251546841736B526E565463344A474D63434349464472366E76356232782B653261724F61314F6B6D525130337570554A572B756D7352364166514336306D6754795568466C73464C55537A3675633361593543676B4E30624362363130514542776E5A5164586D6E2F2F4A46502F395034333177474A6338327A6172377A772B7A6A5768354174754537416567542B35346D392B5532564A34583176413454316D64594663566D3961783678523457684E624A75637754684E434A2B345467666A36477336426E69645336454D684C6D37745A4B3347543271322F364B71474F4E596A64344174614B6C517A34483178653036326B766456456F6E547A6B31425862443341624E503948726354504B776F386366334E616F796F645749384F415330585561583247544C624B32752B30487545662F5450683347674449636848394652327567584B58547A4D2F47762F2F4E644F65304B476C5748674B477049456B326F4F563453347A5867774B68594E4150745072426E71655447786354304A764B754C5372556A5A5751536C65393933506247666A42326D3347546F5661344435422F6B75615767726472465138382B2F6B4E35655151304A574F656B4D5278675052706175495373556937345A4D4149782F717354685776596A477337364A5A55786E726B5249787438375246647A675575522F693433506274646D3271695A4234676A49774C726A546652334B7867464141423935302F7547554758494A4C44765141797446465337657165703735795373732B41627A4875434869534C4E42346943614D583338572F4E63425776446A492F43765141383733467867414C72374A68684D6C35697A6A6567665664717053744E6568696F7138677342365A35564A79326E7841383447774873527243376A504A336C496975684E4B437A766577504A6974414A2F5A432F56396A594A37617379323274524A384F47676364386D42616C417A6C5773696951486C424879725730394B46316976542B6F335A572B6F4167767A776848494269464C7A6F6E6E573668397366787A646332546654312B6F6938796569505755553534642F687A372F542B4A3962483139616A41754B4C544462336542536454353261524F386F67722F78506A4F347162714D394A79526E42574343426D656D596A30676A754B49454E6276696F356C72626F7971317566334B7552624B57704E6B5768565433505A507A647356654F307A645442442B526351397848777230364269385158392B32584F49767343794B656B59454C466B316B466A4F4A2B2B726955523677466241757476652B53656F6A612B495264684C6F335835316C312F784C7278316B554D6E396D573157325355327A6F42733533447555302F7471693961554171654F307A62304843444876637764704F4F7335533376412B6835584E43394C4E2B756F2B554733527035627262586B4E386872384D4238524F67614F33353564653270706D55755A74716152765248693274534F6D704F714E373653452B6975696877306367574E413861487245527A4D5164496137366A4F6D6A49624671644457725A56694B3961433157583337583168674158414C536F614F68444742326E632B73675070595A464E42486177302B56325567727A6161336B553544362F71526258687755336D416266796A4A4F6F3833666E73482B5A3036494431614C42544F4E596E57326C75566E384C375A464132656254312F755A3738592F33554F6246545A657A67386B5555694F79704C2B757472766241564741304D516C4A2F4F5A6B4779366673734D4F3059337938506A3650794A6A6E5551494C34384666454866486A4B744B506C4C775436326E315A376347726464582F2F547255564936794E31703834484E76345831454261423956527A59504157436754555954704C6C673045334769336E622F395A6C34485955656D5530634C594871317748715351714855783948357738623646476943765870535144704C6351586F4177304247626D393156447131546459555976476D4D3866514637702F46684338502B667354366D31333851724F38716631657344345A356234426A2F61767549374D36644C54574675586571387A73307965334C633561742F67335136386434742B4F55684C6866486943746F55683777524476336A6C53647231337335335A50756E5741396B64483867725063474951454D676E72574F687275514261537271366C72592F746976524F42644A383752392F43437847436B584779584F51506F6C436741636A5939765A614E714B5335506230624F68556944785267623744446D6432706447443847355078694144772B4C48476268575A3336644C755742714F6347674339744F5A5430726F72376A3732776E372F43462B744C774A483779464941696E505467664F61644B653062306B7736616D496177754C62422B3274724B332B3935675A2F4D52536D4376776B433176446D682B354536644F5355355346615245514764494F724E2F464A6D6A4578754F5044497752316F2F53506A51656E78766B5A6948373754664F364E426B634C302B45657531583643397A354369614A684247774B4C376874387664697379304F3371552B62646A575537744C434C6B507832744B39644E4A35695043637234774363377868776E47516E773452353066693474486E4459794E69315644394E6B4E7272547337543277486A58334E4E5A2F714F596B735235326B4379712F6953574175744A4776434D4D694D6639477255543138574472486F45384D37353572706E4A7263626B4E6D6E3548473446422B54695639587368684862565845414730674874782F2B2B5470594C6D766D774B33475273724262624E364961414E664F736458392F736A4C364833376162656D4353353571476D55656C48643542794A2F49714D30335073397A54576E366A583034486A66433835545536725970676E6B6F734A563576424B525A35616654413263366C53655A4B326C4442555172457A2B72577A6E42556D2B3735436E702B38414B5A6B5A4D46444938456752336F64536E37476D6C337A482B43395A513830544238514B796E4852796A516169664B322F6F42537A6D3946564C396E4C36487371755444637238397155633974304C7A48585152625A34786D6569415438595372694965593779447730645878562B2F774E79334C3771776E42496232496C324E39746B6E372F4E6768594C45334845516451657A514C597162366478777956795231562B46666B4365307A44645A74784F514D6D314455446934495434756B684949356A772F4D6965656573717378744B73326A624A555753585A3176316331617237707635374E6A2F4273305A414C4F78326E446A4D426E2F6E5433764C356C304F5770687747396E705A466C7565754B33337777437467463179535536374C4950736A415A65667A6C78304C31696E6D47625255546C3279324D34774870497453614739584176787574665A64363835737038594C3239556D712F564849714D6A7356353168725867306350544A2B6E49416539536849355565456579397147502B4D433341536A626A70704A4D49745A4C494C4377395076366835622F412B75784F316465652F4457364F4B4B486364703859504D68594431564733716D4F6F3158754B426742686E6277344B617A39717A6D73717A7533526336394851616A5A6F3943445341616E714A7365326A79643046694D3541716E2F6655496667732F6D4165674A394330566B4237366E6E445A5A623133667857313945427747486D50424C774D5057784B50434534736F6A3067796A584D50474D38326635392F3862724564322F6A6E57463762785966703377337234704853474B484C493067372F4948526B3674745A53704D326F4B41565573504642586144367373394F786C374D7A5471597252796632674568554C496549543558773464573943737A62504673463749786F654E3962674D65536277397176333333564231374B6B746E494336773036384C4F67727A716C7152527766326258736D66356544716B656F796630596F417765474732363636304C6B38773653553268615373434746464F3855724564634937775463494146356C75724D797A304C524B744975306F4B2B79756D746C5673344F46646F38636F6645594D5A694F6C49473958674C69412B48525A646661537461587A3975384974554A5069676761644334357A5A71662F58474D31436E34425A466979744B3667674C33764847452F54466730574658697874544E612B4D4C4E4C50363154323350336264444B6A7766646E67447455544D364E6A455939714A354732542B4C7A2F776B7A4D36445368754B723665536178484C44477370784A455275422B4C34755566645945315932577A322B744C7268326D62542B73734B47386B7461612B6E7259755356634A7A44665344434A7278736E4261626F6D62352F5542334F6D74774E4F7244646341314D75456570374B6A6176517557452B64474742394434484761617A2F734D7A4A593730674C735351414B465A304839514941457041716750714268666576703379625758354A67312B52733531466F7278466D6A31467A623662765A564C744D7750704A315637632F4E7445346736347431625377443030656F637165307464726C565431742B776E3762426F7431497769436F6B3541326F58305169465057524634464A647A46666B396A2F667641656E6C356E432B4942386A534965624C5862306F7637637161364E52367277386131744E4268722B6C5A2B63596139364B4842776E77796A644C62554941752B366A2B2B6930584F7474526B4E316551506E737173563530515942456534496A5A7A536F38303061767069646E343764644D57383639616C6D5A516C2F6375794769732F38385176333662355276594738393833386D627064616269686B6F36574D4F69794E686351366F306B676445787257487670743969652B52674D4448666654564C4E4332704C34796F3131426932724D6C55443846464E6C536E505A6433622F47536F7A6B4E3374392F6B69394F4543515078597849312B7739327650546D7658705866726B544451463368486D68493046633038357030503376686365535879685679532B6D6E72634B66484E745A75487078726C6C4E4A334E426E624B556C5679316373374735526C316C3447664F384A6A714A6775366753776F3479397A735A656A5179566232677336464452466A6539364733544F6877784E35735847362F3342326C7743617761592F51353165327650707178367649437078454E6957517451364F5631614834654D2F4B686C75333747566A626862792B6A332B69516C5A595363564B75774E2B3864592B44412F78427974785A613776366D787244394D465A424B6845534C424755533677766667665666662B4C5845455679527935506D77396F50684457633535446A6F586151676157417574703751335632366439523836324C697578566165612B5A6C776467414266526C42363879366C436D39657541377846305134503544782F72304456576F72675430694C717A6C4B446671556D70582F6A62742F384775546E6D48344579543169507967567045364F48517355413859764142666B685A6B6D2F2F3939672F623863773447302F417539486C67666F44574C364F476633374F43674C763169727972612B6E736232765A7247765770446158706452642F684C7A484B4B316874376A6845486A4F316A6B764C37565359324C4D357836727338716B33722F4E645A374F4E59586E7954572B337930435755675247657772507269687579474D6B4C35507072616F656E57396C4C61667457697A4F3675766E426A2F625331796A4D37362B6161616A4D624B6E4C61715746493756536B626A44534646513372626C4D3664496D41635364394E3373713850494530334D496E784544576D5A30366A4B366C446D647875547A4A57516635716B4E53746D303537414C734439776167484657632F6262724A41497666652F37687339754E6D5773584A567355784E754E476D6B4434452B645964504D616462642F76514479432B564C6652705767744B4D7770767370477A577730354C5256517A3847426A4B3231314569306C4D3579314A31725837614C736533527364334D682F4266594F4E2F5A534D7A566C564D61315249395A646C58376563446F3371702F58314175736845704E374A5043355841375A744B7A75307636316D59326C64457037422F566D7376717236437952647332797232312B6D373661704A514178796369766F6D514677694F6A42396B4558534D626E7270675A6C742B746C4E32677562716C377848527548793441626F6B4946386636786E6879664E682F45664843736E314A6E78414D36627167386A4F316B72743566665364703652577A74367947334B4459614A7155766C6C4839514F70302F734D7748655571434368326C4E4E2F7643776E724450556B474C6347774B334A4E69324C46593835314E78316C6F78442B47584C7444626D4139705276536875774B724564476545357834652B3434546154763665782F6E316776617A5841346E384E493444726250766B54737A41434A51676464664A446B717958336234706C62567551304B44396D5837583269397675665036784733372F6B345A7633354378636D464B757A4C7A366D586B427168394B72456578755769585241472F654D765251664F634E526C39664276626A744B70312B336D725A4F366C79636474314B41733231692B6631724D7A72304365314B6C4E733268534866747132465851534C504C756F414D4349634F5A646D3236565A33686F50583172772F524F707941692B59686F7448774341745A37726F317430325A4C6236363669784E36596632725549464F636532394F596E66766E51384D34583263544C7A48664C333336762F4B7A74544E735361666E46307A59747057586D6D3756305173426D74625342646B366531617A392B714F2F6F6F385341494141596A387471555147447A4E76387A65767A57306F53374D6F307A645653793258676E584656362B556C6E367932474938313737432F4F4D76662B765A5237702F2B52336A31376356746D716D7465744B48465845573375707442484E69597A31615262613031697372796347305667744A4947326E68356D6F64762B63752F73566E566157326E4A39537570484D324C4F4C65317948744B55326E4450562B2B3766556E6E676F65665A574E76784961666E4A773178662F2F4A736C3337786D686D4E4A55724D697455316431476B3870376C36442F4F4E6B33427730614A5365452B737A2B315166654F4A58377667474D7044724D684F6D77396754684C7234785144433772465039794755486F75324B43352F707633434D52787A71593155764E6932684463556B465153364F4E46616D622B4246784E6758452F555052362B4652396A7656686E7269356C494A4F70656C4C48746A62584A6E3554533738536C322F44687A41624A436B534341336866774567364341426D45336A4B69675843526355316B6B50495A2B2F336F7342367841304F4257614252466A79516750554345385765786A4F624E46414D7656512B68494F384B4F55736B4D464E7A414C5A48324468496850714B682B4334495469794456727676725348306135474A447A424B77586E546D38456C6850586E6F71715672533749736D76316E464479794D2B4D576D582F41566F7359477574355477635046485A6F5555336C79727970725734316B4B364E65313670507A7432384F714F2B764B524A50624E4250622B6A4B722B2B737169724B6D646A7264522B6862536C4F676E366F3031464A3564426245426F31516A7236567771336E6D67736B4434364A653547667661492F635774425075304E4770585371705335646E70665831687A67555475474459414B797856634A753866474157526F4572362B2F6546696D7746596D5733585365336F6732706F3748464C6A64527654415A47492F3151357A637352386953545A505771736778612B356775796C686E415070646D3247525A316A303831755672382B6449416934446F456B6A724976432B776F61496D525736486B6D61773044616A6D2B756B724F5761644769695A70694D774E2B4D4A7558732F685535726171435468306B466E4B626464555371556442574C7846493232694853424B57725666654F68757448623074514E34345061414131436C68316A6765332F392F665436696D4B626E707154486D3336706871703559724D54557579653274535779714273394D37716F726244556E313559574F3673796D63715366394C414E4F716C665453744E45374165657232387A7955744D36584342414D48517550516C71717574383431473653474B3948555A56797A44463030476D4A4361585A706164646C737836787A47307A4C4769706D7432694B3272525A64486D2B4D596B5145475845557737733658367A63674954566C50414D4D705A44434B37326B636D645A43557755514A466D6B757A52353752716831386333367669664E6B682B6E435A4E6F75304A4644636E32494D537A4C765A6E57684F4875734A514D696E654F4A33564E39417672422F6C4838754D5875746B7334534D696D5441625578424346432B635851584342796E4362646E417A424935537078443442624942334A43756F6669522F71464571716231797271586D68742F394541434233713749414265636D496E6E626A4A58436265784F2F6E336F384E36384A3447646C6E6F6347675556573458734C35646D3978656B5570726E42526F54664F324C4956757461425A6535445255686155434E796A556946566B336E4241324532315446504E48535952576130366C4B37444B524A305659776D6953544B72644E2F5A57582F6E695939716B6E63436344626F58436E6F4166367551674378786E374C48525053556465747046446869784162717750726D31636C617A66682B6432436450326F6544614A576934544474554838343647713937627038734D75306B44352F3336696A6B527A30396C42533576496B69794B333235446157516D644C6E39444458333861613749374E593350504C647772346C744C59456A66636D5075566F55583138612F4E52306570342B4B6F563367684235627A317358734C4862586B7545755874716B75786172506264664E587163357941664269514E496B356743465579674A494A4E2F6C416F35474E52394569512B4D383838664D5A625A72704A694E4168773669516373427A52667851734373616D696D42563131556B7446555666644F5931564477337565494835675A6A45756E356B72537933537A2F64595A7935706D796E3778677478513934305452372F533655326A376D572F4C4676766E5736754B754B6C70386951594A65556562354B516A74326A777039644158393732615041323336724C6236716359644A2F36664266704D344B766967466E61484B744D303152565A3933362B2F53543355714A7576614954556765656B4B6150327A56396564713539535836484F736D6B344B57445A6B3942336E466A56535433566D5832316B6A4E70566D6471734A4F44616A4959577837366B374A6F6B6A754D325273704A336A386E7572387A7256705A387A3736554F45326563494F4935745A72513979397058544B7655547644584357316F6B39444852514A50545A4C656170644230576873454D484A436C7130794B63564A51345741634A36565A417055677A4B576651506B672B716F6B30724539464D4F707867666C764D56625543647851534F69556F4B7A5246706F716979335658333379747952526B47575546302F472F366842327046646F53314E5A6B5877567041414A30474A39753946735143344950384C396E78517652346B444E3251793041304F42723149616974393337374C48746470686E6C564D6248625361682B554D6E6A757A7667665562784966794F6D6C547A625475756F75373134366777767568794A2B6B536369762F5074523676553078416B5148364D5066454A764D2F2B5A70696F6167656D73414152516669304B314B347A6D3356376D47654D316E6251427A4D674956365565507A6A5468442F5275594959394E575665626171716E4739686F7A2B35666B5761746D572B712B3863706A75316E6747504F35615874425275737277685141516A744B58335647487A7A386575453670645254525A306E384E79736E653959666C616A38524366583656497556494976313676317865674D7746656478324650706A6272557532564567746C326475426C4A636D72713143726966424B43306C6D5A764D47594237466F57706A5263636336576C64325033336E727A69634B54556170553532796F59363039513231365362646F75764D53445A67534742394E45687348344E652F39547673303136636D6E565343316C615762644C4F65794D397471396C4848676E4A4D6F69727944754C564B65774E306F324D596E5155314145572B506D4F5A38357071353765544E743241726C537A5571707651796C584C68787954527A4E5A68545A4B343631373769723064336F52542B486A6B4F614F4E675A3042764D712F486D4E31637571424A2B657234336743344651327867413977664E677A694E71786C77566E7271334961367A49614B744D73326C794E74565278365674495731715271764679716B5637464C6D395653684433532B59366E6C3531392B6D42334D6243796A7861426F37626F31616431365048622B364762414F75514E5255784137782F3373534466653872396B762F4975513361755A324757543131475534393159754E77466E363070554174424D4E72625A3438374A356D3163577469696E74366F6659636532504864506E734E417736336D53716C354965377A326C555674396833737842345167596C543456504638675347733542786B707436394F306E7A3533342F7163726871706157485331537349376D3261644E72395834333244315744446F2B6C786C4C4C4478367054756B334674674E6B4D2B646F5348716B76673830516E7166794A4D6A76566838446264627053735541567155376373792B31644D746453642F4D66667A364B51673779542F4E344D7635484464494F75524F564553546E4276386E454A644D6D59534A5035354143532F2F4A57394F48757546456666556530625869687950307362466B5766476473395A70316A6758454A6E6236492B6B383469342F4B706F4866713957514A6F45665847346F68344C3758694F37467245376A3777363941674143662B4D35654C3947354A52376B33382F4F717A6E5567436D557730666F79585676725058715571616C4D553267395379474356492B2F78594465643156422F6B363950707A4C615965496B626A723579547478422F39476747777279724F5756674F6D4337695570466C3265325A6935706E78656B2B46377A7A384B355231566E57645A46732B67312B65506869646F334A59396458546E755533564B593256475633564F575A446671503641744F792B62586C51414834516E54424D4E526C34676443635074397542746E6B642F75652B3469352F4C43395758547A6272706662565A3358712B4F68624652377573534F73766E2B6D6F6D744769757442532B393058487754572F50726F4B7A5058716165314757623372307274304F5137617250586C462F523358435554693455456B686A47596A75654E523330782F75796D785335765175535864555A546C725A765374794B35586C4B7857374F5859684651684455674D6D4941624E42554967553650353977515A37654F424C33493357486D3373746374397A2F6B387373793265764C6B65446571616A626C71374A682F4A586C6E3561657671722F336A51623532694C344C66634B7A6279593066537674774A5053713666353538614635316872746F2F76446449354969486D3934304D483065526A6244416D2B484248637A37365A3756737A70304B4B6D30466870466D5866566D767A757171533238704C4E514C6671584C73653962466B54646D32333334584848694748555543636C7356325A3271504B74757573303465373343386433504832463038676D364A52472B4C734A48682F36466A6F5848555A3176666669755761764B536C70557151324C705A6253374E34714F7469766F7979747835437A64536D646672376D73756C6D2F63776D315350682F552B7A34633838393275414F774B66316C64583644435732497735617864726272536A6C304D7A774B49495351376F41693742457072546A7569342F5964664C6C366A794733527A4E7934576D70585347326C55722B524F684139757551756D6C7167754769785046564D3271656F2F736F46396C726A4E6562643457457768427043446C45496334784645643243396272695A6D326872536174585A505A6F63316356344675325A636575427436506357503475624A2B4E3831677048497449446D643657344D3543515665452B306375376D506438495A75547850724A5831484E4F4E627A46574D512B6B4D7330766A7436334A584C3870755532523236556C684F5A56414434706A5057374968694244546631696B45565A7347326C314651327931717A2F4E624E52326A79687736616B42502F2F6F33494D50636D2F33364557492F6F2F594841364569557673594D48592B34645A61315A3631537A61705854472F547A5850573454706A5863556E6D717066635230455A6F576F454D6B582F416D686963734E62484350536A764D6F703961567A313368614A6B6E5770325739574339707135363757586D6C5A39352F4837426C6741614567443734457734556D4172364C6A45446E474976652F385054463962566E7439576559566D366F4D6B3461326E354A395959532B7558486734436779674B474B41776A49676469764E782F2F67774337336F4F61446F726A2B7A58705733637545635233572B545A2F61575A6C6C306151336C5A3768714A7535746E7A6C3533756548392B4C7475704165505365462F3930616476794261765630315A555A4E52635072645266333554395A4B74647648564B426D654F3852344C4F543534544D5077554668737A5A6A64566C656732704773783774784F4C75526D6A5477435A6B566A523475414C6F4166327751634C382F69434E4E53455545463249623234574747582B496559377A4C7976425938394F62546A6964473358776766673544765A344542446E616F4A70434272512F2B734D437342356A796F78457155717A4B4C4A766D62456664776568774A4F7148556B3866475556447834615069672F453972434A467950486D372F376D584D37713476586C6B45424C3271734C47696F6D474853357A61555A363638596D36723968506D4A552B3739683669666F443754545A3663567674685A30314331703163787056383963724C3179743276544E47394652414E41486770346F74585368554A68364478376D50786759526D2F6A4C2B4F374632366F5436332B314A6C64532B67556B61627947666171374F594B59506F38523233656969733766334454587471555A6841492B36312F33442B2F5154326E52544F3752564F30706E54576D6F707A31717337766E624E496254526E4D634A7A43454777684B31615942463059643762487A766F7331744A59336165665A6C75525A6A456E714871483241654C4D6974554F4639676E4D4B62626F383574564266586C6C2F5374663342672B3347716A4B486A492B42694248327969596B4A5834516146624261625730346135566D336C724E677061714D3171727A3234774C7261752B39374476786E6E544B52692B6C3833435A774569637149584A31416358735537516D55364943484641734C5656506376496335616177586F3531386E6753695266554D4C674572414E4E76762F4251635A4E435443684A566D56475878563133784B672B554F6E4F4E624C63412B673777487869544B4C736D5444386D6B746D764E62712F63794C3742706A4C376246706B34475A4F51642F6E33493852366C416C4B57327954792B562B304473477344374B502B31356A593376352F64384131694F386B472B546B4D4D542F5055697978514C68434D7A7A666D6469456B2F6D554E7169376A51425935794B49485757434D4179497469554E493843374349626750653378652B454C6C424F41432B4E356D486E514F6F446A447931444542794341466B3839376C677341547071565262636B5942726A42664858773574562F59305657357450646455393747656C584E62394F5658745732342B787576687765674E777A3452694258494D534344686E414335304D784149365174756C2B5A4332495072315956724C345138543773506C776541454842794D455A41496A3776396F77416D7045726B4767593363493851514949785A454A68655554497A542B356F496E3653436A6F64516463586B613779626A356D4D6D6569654D655075747A5A4F6759564A7A6A4C48797566566C7837354930687A616276694E5230434733472B746D746D765138614930526B49526A3475507059574758454F494150616F635566355A734A66654F686E69377257664E713035464C62696F393131487A61764C542B356733506A75386467474D5750425164523973414F6B344C4D6232482B4751595868324E6A4939485061682B775943485067614564687A30345272326B79573065305478707538592B6E6266662F4768796B334E6C3365762B62526A78566B4E6D697536566C3970576648744A333839514F6642686F353568714263757968394B4F34676D6D45456A72534E3065692F2F396A45414E71534F4E4F4577534F4B4574773737686B48567945324B4A636A3050475A3536594837315A63617A3237662B32384453766E3961773879376E38777534316C2F63334B4C64304772655A48396A393067424A5A74544E4A3541495867416458495A6A595A4C3955662F454B4974436C6F36774B4949397A454B37676D4D6A7351324E5252722B6877327953724171793179636D53446B50553534424638456962654A4473434B754274346C774E436D486741385A4466315A776331754D6959704C6E784245625839734C63486B7566507969767255354A706F526F6F30473278656E4F4857674539443551796342392F4B6F76634436506F335571386E66756B4979586E68326B2B47584C2F31706D5054546943644B51457A5A4F536B5479337638396950472B6D45586C5945483156737561734136744237674C444152585633555957436664774C316C38706D696C7A77584D67475A5376795134584D5041472F4B307A6E58694D45424558564F4F674E524D492B6A35643065586A3368346C344F42454F3934674655634D4C33396D4B34706B495557744B58392F4146556D514842392B45446E633879515167682B6447454B644236612F34522F59785477482B4246334F786D302F6767364B784D684C79584C37342F34664336506D3263694F75783341383851537A7844336E415139523968456B7845616670587645576A5068344A544C44776B4A2F555572674D7752586C6C4B634456353531736963456F5873596A3873746E306F57444248636538556E46366766434236384A7565426B4A64552F714133464B5139586744364C2F714F7A7258584A5A767062457549665A4A646A557155343943645954624B57413867426E47736A30547065424D664337685A384B682F35456955656A6D413133317334676A664358492F6334327977504841364848764D467158436561485339774D55344B672B644B674842316353327A6777644B57596A794B49464B4C704348394B5058517348384D6F6E6959755937517A41727450626D666564464F484752757442774866554E6F442B434D50454A55526F5A776730656B636A7A73686C39657A434930517551546A43684E7541444467666A4459522B6B5259674E314957394C506F5743372F4A416A75596278647431596C7151754930546E50494A446E456648385138686E324233412F34585A5257596836772B4E436D587235436C703076415168742F5356475855792F38654E344E315549597A4C7253416832384A5633486D694D3953314F4E7A6A315753777768766E3462756144344431735A4F6738523668523942514277347A6639665062354F575835612F73553771574A793671567179302F6C4239476E4A4F394435517964454D596E3176587A70574B39476169303766394F363673326D6355594C684D4C686F4939726C3553646B7A4B78764D6476502B4978484D4632314767754C6A436541476C4859337A796B386F656C766752516A455261784A696A69634E796859556A714C6979573946614B454151423942545868523362676C33684A4763567A3042596B5333415054436461356F652B536F6C4733473957546A4D66445134675A7239634C6C2B446434436830646B677156656D343748704A57535A6F464747356F4455696556456D397739454D7569446532512F48505148414E393030674358654F49484867502B41483054682B44344A4234496A6451456C485365636B6F2F4A38476D47455051614F4558734963515948336779474649506846776B42794661495145534131494451576951515164476E454444534E6A49512B5175756B623136446F6165555048524F6F6B3944464E43747A3270587276334D646D7342774E4543626D6C45346B596E785556786445344245596A3143414A72797A774A34747A6730635367306A7661506C797652754A63324C45504568386347714C554A42774A694F41696978796D4B4E7055324249756752535251426E52533478515A4852784149504149615554496B50396A456663774E527530684761556A6F4B69714C316550455559326E4C6168544D53444B496C4A337351535162396F767449634D7A35644B4A42516373417A513236626E41476A59484B49674753514867523453304C4D522F764A6F4A3052525935492B414C5156456241427465616A5476674849506B386F7934666569465963317051482F7773502F726B486965523470737A7772676C317877694E657969345469562F77436D374157304654484F4E4F504850483732704F47757352422B4B6A4F7A6E3079486A55743465355A3678564646694E4E436E6172354F73355A6E626C6F6A2B374565413952734936335036616F73616C4C755A4331554639594871526A514B6C5947796331496D6C7666344C6457426A77727277584C67423832524D4A66506A31714551674435773654657774494E61424E317868576B6F6B4C7469726D4A4538384B2F354772476843587176536B4458394C754D6C667966745569396F49516F764A4A5456496D344E536179487353536B576753414D5371414D303041454C3754532B4375712F424542445443496864647A6768643647777A4645774E466D7A74684930506F4E334A684734644F545037706B56766743643031744F4C3044462B77392F434E5A667752506E504A485948456B564B4334455A6B684D63692F41465176487948427374316D2F2B79353157554C4769416875787039495A6A616B414D69364F627733736B775145572B66597A76357662717555436F4B43314C6E31617961484B734B6A6E6D41772F65654E50314D4769343677696F2B347877534D43657234364F51495646646477454330424D69387748647A3034526263526A766D395559696B4B5849714E2B467431425779434F674848307342456B3349522F41576D5939395948496B706F364F4B50766E727A5167366B314455335171426F684E353248546846545850346F654553426350635541683752764A465778472F69337934492F6B77617754524265426C4758394974633168302B31776835754D4652463635513977482B466A697143672B75516838455271306F515067754C496670714579336F4D6B3979465978754F42494D6C644C6843652F33634E4573394C5447514D46325249534B58494E32564F75456C3845582F48765A78675053565945664A376D412B413958783350524952587343306269395332626C365A6F4E3652743879576A30476F51666339394A45664C4B4448395A7A69756C647356347971336F6575764D7761535945394C516C4F7254534439414E6A4F553966767352596A32784847675775364B754339564A4E4D4478346F38544C49663479447536324D4978624B444149674E69704274756F4C2B4452664134366E46426B364963436F6D52632F734F4533386C614B71514A62376846676B503341312B45656E6B71376A33453469376D48514D47795352556838446977514C636F422F6E7638494941373355796D4334734A4C674373665238494E724758444738364A534141734F735343756F32645A362F586E74476B372F374E74333932344C6B647A4C2B50786B443849337977486E534D54736B5050523835316E58506251737331526E4E35576E69577A624C59756E717570522B5932707A32526E724E5565355167333442724279396C4A7252746B4165704C73634F4B4352436D4971666E6B68706256634E556B31676267537055524C7547464A6D443444543873425635776C554F65476D77387A436C52383063422F575170456A4D31475A4D42796B51736C45324D6E325174564857517930636C4D67366B356F55425752796A4A545A774E75616C655230516E70417532495338704466674870595153446641524F78566A4C636F6D44447A6A6B3367456556467863534A5973632F6E68474C2F50792F624A422B5162466635457A63694461506E744671656B504549312B456A736478422B6B52655565764D6B7166655A2F67635449732B6548647A556C6A7653673575734E3758784164383850656B6658583938357631716332565252637335492B36756B433057376D66506E6A696444386F644D55724F2B52783344537577794E64332F70434239554A51306F484B4739396A36416965553966697671426D7256667837724562732F536F4F314A416163784C306F464A5139434466694C526F4434426374474B6375664168714A757A46594C72497A736A594B46527375506545416C427352516A30436A2B385A6F4C345251355A45506371763531432F4A4C6F45695462676B526C4673482B45794D6378346C6E4230543338493761487339714C4B663046675968433664494D363043446B4D5A704D6F54383070356A7848744D777A514A2F31586A6D556B364F557236316E567A66337A625856356E6470386D37484557586657706C576C4E316F36662F4B46722F7A6C33702B39394E68644C7A3532772B2F754E487A4F50714E466E64756D7A4F32694E656C4A466D58716871726B613565536872486D552F4F37367137363654634F423864486156422B444F4C33667541654A4C385639687A4B345575304671497979712B45723453574143474C454D686555414A325430624B505A356F4F64584C75354867454465435864773634755A66735A31415542756731364E5069664153354A41776E6239484278533930676E364C4570575763695A78787477655361475269686450444C712B664753776C5575516E6A47417753415576522F3052426A305268473565365245485630366E4156424575306C47486D6E7741377558742B4F59482B69546B35724964426A47352F514877414C306F555864716E6A7234316236324B546D63323036596F684C6C3242573244307A2F3175396C54513842364144313149415457307865476D69786E315678373356393968345A59475057426570494A7554674A6B2B424C2F7555564131586E49786A44516653495142444B52795249454B2B42644D4E666F6862465A73786F5978776651546F30664265395132642B6C4E39416951774535644632314C4A775A4877593957304B4B4F4F434A37694E4578373547396B4942344A4F634161535859424573484843493365472B697A67514E5238504D712B59736B51627367794D52434F4366675645636D76524D533478354D5946384A397A4F5749442B416B527746585A4D514C48357146434E6778794E6875786A363175546D356F53797A7579716C723171794B71575768564A376562354A4D384F6B6E39657550364E4E6E3739363462524F545836586765544E6F615144594C74306B6B56425234523361326475576A6D37586E3077434D30324D68683054664335617845706169745065437871454E4973626D546253557638696F79666D4F4359597751566634755175563243673169757038516F6E754F5278706B702B435A493241686E776D5538424A6934523046692B4134583371624B687276424259456862654D524F706F5935496D47786E306575424E68434F4C3445664E4659454F2F384968756C76416C3531335949702F2F34316950664941454532516A7245433041674B67676A7A5461465855773265655147352F6D4D35726F356F7761536E347A304D52766D456E536F2F627662733561617A48426669414E3546414D4F67506F41554731672B77534E7333507A7539515A5857574A7254553055723633753039446E6C4B6636574B6B3555385543497135757672336471306D77366166575664562F65644A42466A6A45506A595253306A6E696E3551524765652B354E2F2F434E5A444F52576A336C4D4D4C4344756B41615550616C705044476F63716873694667736D49454E315174434752433334474B454F335142683130306C6B32324642706542556D68703330436643506A6B35496B5A355575516F7A694A4F534A763379587433464B644362664364644966367A476F764969685769547843675462764149537A4A7741476468386745624245684278634E4A754B556E38514F6E496C61494C62794C527871344355464B42544B4F30615952504579666E776149455335436A78436D37493234396A4A572B2F5772706E63766B546F7136664F666A64575A3179375075575A35656F3868755A4F32493661396876727161414D696377564A47742B7A4166704E636D76356A4D334C3453423358666D763937304164527542346A7047712B746C4F42613545416B384D514E78457659693454466677714E3443534D6377676242436F4944754A393878353369416B74425535376A62684B4A30737666696874686D66422B796B504D445A51445043456C49774761685966306F43737A46504A4F52487A6A59622B584C777232424C3049316365584F304D7078545541575173462F554666474832586141523972416B2F756147672B4E6761684251354F68487234514C79674166632F3838616B592F4A544F414878506C4A5379514366415356323446466E46666B57444148686B596D554F744A392B657A46364B6B2B435875574C683856334F5357412B4B6C545149534948516A2F6E4742756877346246506D4A65643162576B794B70484F4B5476584C325537336F36425A512F644A7045655547776364416543644472733033613750714B4F3359396659697653614130382B48436B7A4D69313979582F50735259543039456F6F686475524641447A34483652436741324E382F49326747617855454A4373343234686B644A424E79787A69426565674832564A304F6A772B6A69714A47516547696A41556A2F6D454F3937487970556735775336526847583846594A2F7237636E455033444E51685238462F45376F34426658784767597877696544654F2F41704A6D364C616F42656349424F4E4B6457445355656F4A6B4A4C312B6A6A66774F427A7A754945303755334378784F417977734A37574542316C615767515447747579374A6772347048625241436A7649726B7878366C4B37615339753267334E527674795335746F702F76384C754F5A5063744B3670566E4E68752B396677666A3944634D58576845447A305535454A45592B6778497A49526A7A775A3179456730526E67684C74426358447846765A633479452B796C76656248694551414B5673524A744262434A516A337767474B517A5339736E63524D674C683451534477564858424A796834495A6A712B7842555076476147316F684261476F70716762304E4B53516A77446E3245727A756974376A53584454666C774B78674646416649676C346B4648457A2F78784F4E476A6C336B6D5A7A387278716B5857534B4D6F482F654B5A347670427863594442454439692F6A694C766830614F306171616E43494C366C43755542724956386F4175474C6C3455495670516A686677653571537850754C6A77344E6B53334568644A546347442B4B34656476504431742B614B5A48546F4F66306F2B644B346A395363426D6A39306B72476531486E354D64554F705A3432384D727071636E72717037587458513738774B584B5463796D302F4778504D652F2F3150596231387877306530624C366F3046454D55776631346A5069304C486D423956797864664C6F3334515454464B6F514B62554551462B6A73766E455877706B492B5146712F4C4D70396861642F63384F554342423144663662417078557248487368704C51767A706E52515456434C5A784E2F78433937476B6B4C335A425754483178674B63416C6A6A6A6B5272794C752B534F5477774852727A69623347424A6432696C49565443436F6633345242794D43557732453371684436454963386F37415A484234536A72316A376B43494F444441777332335845576A6B533361456C7331684163615064382B7A4342744E5049503945704A7172745647545A316970554F3759505535625172703630757662527436624D6A2B773477377A6743445961694C74545A5744706A79525470537377466943632F356F4A4C4B4E496D6534785A676E434A65352F307857386D4859757934307A446B334173334D734F457241652B5257452B7A6A7A51626A42492B7846363474484F6135336841396E614B516633666E7977776466662B446F47373838384E4C3977322F65662F53562B393538356A687A65794E3866776A367A6F4E6B45713044705053784E2F37782B4946586E6870362B2B4644727A7838344F5648397237343049376E55434B5445614641764C786678464D726F75572F33457A652F5538614A4638776D664B42663252544643723672384851684A634F5249574950726A72706365486476334A632F4350593773664864767A794D4462447833592F7372455554414B6855576C6965597A356C4877424C65694550384A68303453363058697149483241333351464B4D3852364D2B74446B4849784E485755522F5665635A6E635A384B7933436B63794C705775582F496578486D7058706C5644752F45304C3837657545524344364F70724F3275573545322B6977497568376C3532524D504F2F78332F384931703967774F31514B4454452F476330616650626C586D64716B4B4C74714244566452636556616266704674355344686454424D4F5A514A745973446632545030554D514556544C6F7978383456724467695A6A555A4E6D756D4E4A5556656474486278584E7653633970716935515839337A3563366A685A4F4931375152364E794E624A7A6F6A775A48766351464442487749544546365249654448496D3551524A6354707978776A2F76736E426E5171595467734B56784430654636376345754744354C6534516A3045307A6873485169376A6A4B3269775565505079367572766C6F7556614B453167434A32784851746B314F4F4379304E527A772B652F6F4E71593976385A6E312B6B7A4B6A725A4932704F777A304351514C6648533073792F72587936517A392F41365372556D7134354F50584E56317A2F7833672F34426E46487250714E394641584B567944554B4C55686B694A496B736742434C6754467175706B587352627373516A486C435375484C7667684D67656F742F504D66396979694544622B487458414D6B6C3368587A6A6A586E434A2B3535384A627A7A583546434F546F5934555934674778464930653934342B392B6549567A637375624B6D643132516F616C43587447706E74326775735331373676423257706354435A4B714551694533654E6535742F50786A39747169747071436871566561305655367A366339324C72334376504C6C73634E51587941625A4C7A6F67504A76414558476564793478504D694A2B5A2F307944783442396F386B486B69764D6348414361763831636C3170577A31717641542F7A473958546D73425377376E74646334377637776A504159786B786B464C2F4349454468483843764B36352F77352B5378336B74445263424E504345756849376D576E77537373637A2B475A6F2B507857593035445A63476D4A5878625067587051624668484F427949676E4C784F4758443042794F414C726E5954314754594E4B4C652F52756F73542B3272706930446D3957506A2B78306F78506B707738794356416F56334C75424A475A2B697A2F7674506D6F384236476C6750426F38795830476E686C59363062376E4F6D51323161776F3661362B6446764441647279686236784442444B43776B695A583838544A74353753635650714B39336A4772765371375135646D4E3649744C50784D76645368794866577A57777A47713678372F414F41537370687841634B7677456D73714232424E6452557954346A76566933414149556E41656A676D7A704D6A63732F524845425041596D4A424C4B48472F696959504550793453675A4876794734754976304C34414773587263516D4234454966556D4C517438564876336A7756646276762F35476657714F6132305138354672557632734F442B4D49453744526841712B497A314642636F47424373654948356B562F757550707A7039385358474C3837784E363749374E456D746C646C3258556137597136392B684C6E537333314A767644332F396C384F30336146654A3841526C44703365594569736D6B48505373796B69645445306F6C6259536573596365744A343338435064344C5670743454336D45566479424A73454E4A52743473545A425A64786D6E516A6E726D6253525033486E386263794353536B6134775A5862412B76427662386532546D2F726D4A576F326161325A686E4E57536174526E4E35624E6231552B50764132473048374F30415A524A364B3063384E5246674C515A335451366552707658724A6F557272714A7933526E6D412B64487530724161516B5A6B56477A55476157557647744759486761336D6C4536684A4A746F33396E6B43796554666232472F4D5448306C456B4D57776A354F334578396D7649386D51746845324D314E446C7741483270517978795271737876304D4C66755A33566566626A41566D2F6251576E65556E587A6E434E54626144514D796C754158743179466D7553504344744F776E7967385871796B684F646D473763487774355076504C3735316A57566251585576373236486E533674695A46424F54546963684D59396764474165414854484B6B2F4D4F4C4C34635243514677495036564C6B2B4851356469302B53324B7937633137615346306D696961496944766A6D454B68454E6A67633959424E3971344B4D6B5A70355967624A69497A48662F39545745397A71747A4578335032525366515A36496C725431615A44444C6F615854306D326154317A626442433543342B4F303877452B737A49434470666B664345432F6577423942766676434F3750714B444A4D6D743764577371676C2B4E32304A4D315A4C6130722F5A527A3352376D6E5244376734764B4C5642476F416B734F537A6A566B437473424D326B45376F7274534F43675448762B41685A794F65346B4743794D4855567949634D72434D4F343035694C6D6E662B6A3465424E5041426D38706A64304B377A696C51677745504A446748307338704D6E37727530725735656D79376670456B33713749736845707A31367635464135564478454C2F497257434669504850464D5464344D5535636F744A2F524E344F3446324D4F654458496477574144653768486147427943424A496B4767424237792F48416A5968574A35355A346A3854544C64776A4C447A6752766A6939694977574A4162456234496D64384B6578375365786A78576E675538664A627849505952495138734E6862504342387668436544366C4D52694369673048542B4F54653757657631304C2F53454A6C6430494C495267426D44773139446159542F37354F53323443556444714338467A5172494C5247644771624973716A5057616446725854544F6A6C457972555564496C344248544C535536596946676B493547344562664369534434777056736B5A41455555534F424F46653967304863512B78764F495756396B42666E687578444D63676D4E6F366841497555737334706866516552632B4D5544334D6A31534D5A5634556E3245364E524670375272715774394F5364766B687A7A576C586D2B2F2B796E452B5A4339436D6779634678442F6F6B48306A4D6C4F75496D5463486E79574D384A46775133475A3863502B6C694179773664343036765645686453706F6F424E597A3158374537422B55682F4857786F446E55547144304C437232677A524644577972774E4E556B6435646C6D566246564E38746D335053586E2B7869776647515377786E2B774A75354E33444F3973697338537079567A4A743252346C69642F6961486B394350482B6D7737595832715866507836357232556F574A6A504935484F516F3448467A7349674D2B796347574F67506739756E7436727A626671732F6D717034664B637263736C697A4C4E6F553972313879334C62317278392B41583851444C322F744542766E422B5666334841375A453355454A6B74584841524B526F596D6F754C593332632B4557776B3537457A39514142516B336B323942394D774E6D454238494B7948733768374D6E4833584344464B32464349667147447358783763642F64586137496239545266496D546B6C30364B4867412B75525A7546594249757343645144345A466E686B6642622F446F69305338314765597449796E4A3037766B68465967635139397A586C7253447542416E416C556F4E4B524477455875564744345A345376326A4573694958675244786E78384736454378776A444D5172435065774A435043353245425277693138514932552F6B4D2B796633766E704767786F744B4A3361324B656938374F3674586E747172384D377052395151586B65785A46773754395558367A43725756564448432B764A4D6D2F4B4D6575302B6D7553673054612B6F6F786A76666A6C62616F597969636A4975624A6D4B535945552B4341334769397A466E34693043654D2F3834706E374553346E513444426A3344445934633976434E356C4C4334522F354B75443352752F4449335841786C6E46564A454E326778397967396F5570485069434D5167726943432B38774F70666E75572F6B48434E776835772F43342F374552786838696F364762436B4F754D466275496E6C6966372F4C617848514C696866376A6C44393577454D6A795A2B2B68326161612F50356C5568632F645367326A414E344173712F753149764144714F33652B623544594466684E4477373144526163656435546C326E585A6E6371384E7357436E695550653361692F6F636A644A515073423758634451514A5A57436C346251363055654A332F6659555063785039486A2F555A5856702B57692F703963647062786E434C7854386D4164645057713376483450436E635043387862707A6A627554537255795531585A47785A616C6B555543706C35724B35746D583258377931614F4D75586A4F5169463470396F466E555641486C676A534D343744483545635173386B6D56584D44446D376C3072444F6374486B553169346370584D49474648386C2B364A337042734B754266426B4947397349685A78344D6C5668472B30444B5051526134356247375A33526F36486A75587258557034546D6B654855543238677249646179754F675335776D6E2F6E594467584F6252467976426B5137392B56524D6F466959784D7670763835515A333866516E7670562F79496A6278444154586B342B694E385453446276734557717743675246426E384A436144322B4B74634D6256616D7246365332734F4D50774338494E47506A45766C666E2F7874596E325A587A6D705776384863782B674953617054644F4837382B424F79444D494E774B4F71496279464D594E6A2B4545757752622F694C784B5A4865315968586774745475435359416F725A786933694650647941695561314253714C4E78572B4A7030674C7570574A394558365153576771734879556D634964634E736B6A565453713871545852344D455031525A2B4C764A634F58486B782B7646774846736F6F72476469672F78576D445766516E7A3349574E327457374B62564F6C3250665873346D6F374C2B623352476468663549304A634234614E31714F726A5A5570486D30425274714A587172796879474C4A61796C64392B796F305253376D67335966426D5043507636686C646A6A3656306B69597A494F4C6558662B482B6F385036516F754D3963683165706557643549306E37796D4352584A4636426447436443586E6641672B4962643032672F6878676B63733331732F764D4253324B4B586D30754A72566B6E74692B6B556C2F614B4252745771613678486D46734D4F71666F45455071743441656A5155754B4B65782B452B786F445948644B4646384236336E56496F436E69455363797767732F656C356F6175524B424D5739344357695178735462326249774945496D664F6348754F45634F4549784C336A535741397254586C4651415963595435502F766F54364855303035384739525376314C716B37482B694941776545734D45345451524B4A46344D49422F305834534A69494A5761643446455176384242334447336F3673495658676B532F456A73732B7A7747316C762F46594A7433486A4867456956655456753971784B73344A595170322B41424D516E6979594164627046346C42544B416A68435542423377482B525050687A7363686A2B3136643130697249516A72653158386C4D47547750705568374B6B5666307963782B6B6A566F6A74476F4B705377326365506455394772774258335170385153525A5A534351793851633446493534456F546A457832417844322F774933496F6E4173664D736568624F34433048634F367754645350424676495339785837545169517878337A50756B65426E65527946674D367748306448442F43566776676F763938762B3458682F446568465450494F434968384136324F6834456D455359612F436E763950702F507851395965494E3550325A646D64386D6A6E364E516244416430456E324D53415739793866336F76724B66543854744C4D336F4E4F6231477158567867644E593247584971792B395A2B64666B643942576E4165436E72356545346F776A7A384977572B4D3572494647376F503548697678386431682B495468535A6454513379773933544F6B6D37523559662F48565463674A2F33676C456F726768335A68504F515A506334693570392F4E61394E4F6364526B394659686A704A36364E3636617A42354462466E4659394158315950706478774458784C6C6747493749392B5A78676B4D41674B6D6643506933454848497232446A4A5362684575507A5551326744784356593467667855594E4254346764315161454733676B4B776F6942765155424B643461434475467A6134694A54542B6E723669574839347A2F4C6739625A6F35453263717A7631575232365765765677305164324D514A6F6A696D6B7079684B696569464A4F6A6E424C7A796459695244675067457534355566563048434657776D5177444A45644539764968574E75355864684D6E666F6B484E6556566E45347769612F674A30344A38524A4E64537563514A624942666763533544494771354135346350764471376D57614D434F743761416A2B5A4C472B75453339456E4D666F4C574755374765684A2B50526E495357412F69535A4C7A4C6B684F75456730504D5664434564784E2B39384B7878772F2F68462F7549386A784D5A2F4C7A546F79437575304365685737454C57492B4F6476344D3131452B484241747367616E6E6C4D2F44305A34516E5A48325842516A72724878437642482F414C7454787241366C356135626156455848496E4543454E2B336750725153494E4D6670415741394B714D2F6B674C47525936672B394441304D5162463844686A747A3736717A6B4E66506D6A51484F42776D4A30586D6A366F4B6C412F3447785876615943506532536A776D6F31646872736A754E53615A4B374D6332757A5769764A72326C396A493867796265644271774E436A44354244684F507543534A4971464D635162526E6144344C3465656A777272533077362B7343486A7552574A33575464672B73762B53714A68716539775546334B4E75484175374268693734355848703175724D2B3161394C4A7A7577785352775874554E525A4C6E55717A743234396F486A72364F6B7946424277686439566972794C7564556D50687A7A45726377684D78694C3768347464592F52514F346F4A4250384B615777487255544749533742486C414C56654B7934434631794575733578454D5555645642754F467145583846317943423962774B49426A794E51587267353937387534697177364D6B767255557139533674626B3276587A31716F4769627676687655496E754A4E49426C6B5A494A444552486579413645527846437A487663476952634A646F6B45757A4A43426338474D475045312F46484F43435633466E3945784D6572655576367335775530694A6279504A302F6741455747556747334F63397743344B612B6365447238356F2B6542596E325A5877767432356A374377754D6E594430762B6E646966534A2F4B46684F6B2B6D474A2F45434C6B4163393661556C334167336E4948776A3875776B4B3435486263694163515A344E4D63435349356A4E453730644F46586D4D652B47454378774B2F7345422B59384C6E6F67644641735056734D787241647A514D53726634723134416B6636554A775154377249624E6464706C414A7A39656A3942344A6D48774F2F6C4572384A2B7477652F626859615A6548447A5065787871714354716A324D5341574B4E2B62415063633641565943794B584A304E545049715751324139445856422F7253537554787A5135566B715579794B4B44647036323563754D4433392F4E504B4F432B5144486F516E5354446E5769794C426C58496B6549513751664666464E564868505548497850544F3357306779374865727079724C397357785071417830595231763052343735786F426C4C3056484C75705A55397933564771346C4937364E46586B626C34694E5632523574445037463779315A662B654A5271563552323230424E63767551362F47494F4A3957726D43696A7355516C684E71494B2B4555346E575434534A336F48496F4553486E4C3141415A497568435061436446555547626C756F3072694664736B754E782B61516B6D6E6247497878512B4167354C6E38385A466B4F4B536A3830666A764D5261383666473770336653724159584E6E534B4E5556572F667931704E636A484A37434B5A6C4379434958635A4C7A54765754316D6243787338707A707859666A6D4A6F4F43594249526634363834775355494875456467594156676B534178425A514C444678392F456B775933774B4167326C485042353363534E2F67465A775372554C6867437767784968773532534B707364534B354346776A69413843715148506F466E484F7352464339454E7351694478782B645871726D6E623652463372426F34723048453871626E5A4D2B76562B326831453555582F2F49747767385A6F79776A685363776836644E4C6E4D4B4D35374439794A4B367052416B4230526A707A33715354734A312B4A306F7756422B7A684E30374335547474456931466B5346716B51795A357768515A434D5744777979417773384444474F3956316F515A5567346C554D3679482F6C436D3468327335662F424669794E514F34426C7149593849696F75376D514B4E303465367850594C4E496E5030575A47776F3972684F30355361587175672B3570335242745565654D53785741413961566778724538416130486B374751496A41424E2B6F31686664726D61716C6A596472474B6F4A3761305847786D7079594B374D6378694B6D35562F4464506E472B466F67506E394250526965786B7145726D4A7068774A6E754A4F5550775856654B2F4165754A6D614B76523168503352512B696A4936506F4B79333876385A64733663786F71705A62536A4B755753705A794F6B6E4457706E545631316F71317033782B634F386B57483141654C695A303461494A6E6D79517973634B445249584244656F6B776F654B67657944526A6751697976733852612B534869515A434566504841696269474548746434375932396C69734A374F4D524152333461556F79486545374C794671764F564A6A58766C78457348396968424641545364704146502F38457A63316D64744A5350776D4B6B6B3154624B45784847516667664E4F68707737415153436550326B75573652546A6D524841726847416D4158354467414763433857517937384B784146434246464E52413145675276412F48685249354973637848774A5A344C6838656A696A6B574D794B387348506835422B45436E6B4F6568574250304170523469465541524755434163704558774134535A4F6545534F4B456B494967596876424470435948382F7643724A596C59377A6735724D2B794B733966717A344D354F425944396A68374130497A6943464970323468343149444A4B414C464F4169626C474773554E743856627549464C6C432F38497041544B4A3733654C42674E51704F6B467A634B41495549693930555233695A51455366494E6655647A4341634B4244634955446B524A43634B6A694135754B48783451684A3550455238454A49584A556F6E434441426C7744306141754A562B2B47396669464678425378544D566B6F38776F3374355754413477506B682F2F786257442F314B655A41454C3867653435666669323963584732565A506D3045676469354B33564574646C56492F6879714F3953654339556E536964376A6576304A4A46522B4F4C417153377072797135754F30494C4C6C476A672F5370486C4179516D5567684268585A496F79774973684D556630692B4C2F62384C364A41654E34564456437448685237673577674B396439303271373071725655686D5645442B58345647326965504B576A637446316E57387A4838535269706A4C7A5751326365384E3038724C4942312F415A6944654347624235682F4A33502F6158543354592F2B3348426A397A6D3270595574367577325662484A63506E6D687262626233686B2F4F32392F4F7A5A41634A39767341665651566442512F2F4B41614E534A545247554E552F534C3776634D486F684E416E4C656A597A765A4F4C547641344652314B49423335696F546F4D737549644E2F47482F7930732F3333744769323532732B6F63612B3046746955645037356C422F50745A76376A614150434C6C51625245506654694643666F4B4B4E787738784C787630585452324434576559344E64742F3372646C575933616E4D74576D536E56713051644B6161764962314B2B794C79764D51394365346D4E376D43652F637948534631304A6B6D5971694A6E6A686664564E71384C4449536F574E5A554A6641446167767A77614F667537426E313770584C6467766562733171717A3236765062612F702B385533376A2F30796D4557486B4B6E4E756F5431516656694C525573414C316957396346614142546741574F72352B4D42625A6634744E76425161324D4D437A2F7550486B55612F47342F4863735847513636554832515539682F35396B2F72767A69706C6B727973397531482B7966636B6C3755742F384D4B6A3849693363414F4A395649455A476A4C7952444B6A6E5956447671687774444752794D52502F725A5142792B635530454870384C487276752F682F5766586E54476161616E4C566C4D7A734D5251334B5433617661666E65352F3534384E56447A48654D39697747636757502B38636842684561353551724273514574774C726633666B31654932366C6C4B546858674F386D755348487167505650446532436479465537346E313352553546755646367A534867694E435854684B5A7859472F75375A62376E39786E4D6274476331614B44316E374E653358376274572B7945616A2F513378374E63514F6D554B7738686B34434430516867776737376846476F2F526D63627957626751672B334D63392F41397235377631313264636543466B50786D6F707A4F6D76506244626F50324F2F35654737587773504857612B34337A4A386B6A493761467A49756D554C70724A43306638453267664935366764357A3271496D384852354252586778654A7766377A79326D3430502B7964515746345752424D464234645945504C356A622F65582F555A782B786C5A52397272626D6730566A5A30336A37737739745A79506F5366507969744358553067387171795853696F556F4A525470716A454F645A3361775457702F5853466B774336326D7A4B69706634696F7567783761756E57455976524345304B5475634E2F6641384C5063394764714761684D59482B4F4850336D4241564F365478336F75773979574C6B67694653513963535063784169356570574E66484C6A6D706D4F4B767051382B726C4244704F6864544E30596376756F2B44746344756B365645724A634465532B344632525835765856354B3072765866333336485445745045376E483865416577427579444D4346546C41575255304878332F38477245646E42586E4246626C326144353964644D6556487A613952754B7350656851362F4E61394A6C4E61767965326F7A657170705278633662783339472B565A6D3159397A34614F302F5A67516D32527379626E44616E3330596C42774173344747432B6C77504862337A6B376B38365673317031733032566557317171574755716D7451714A5245533336436C6B573954534C626F5A4A6E3774365563305865763838746773514D49454B3665634831524A4167465755467A2B4C756C6755595637377739732B3156517A663631712B6E726C2F4936714379784C7A3136727565376E3377483637776D4F375041503974377870654C614B2B6432566B456169363236664A4D36656633434972507572503456737A76316C64655A48782F626A5771446F4C786352436E6C59655961474562786E624E534D366656694A426E4E6D6E4F36566F36313136543236484D37644958624B71545447565352326E525653757972507263446B3152693235366D32474F63326C2B665356512B345A66335834383470625A5174684F3867414D52614F494842316B7668335230646176586E7457693346326977356577496F43717A477070554A714B69765A7344793171654B437A65746E31367458334C7A6862344F3767666844496664346B425A456B526768544E52536A352F6150336C666F3868726E714F612F74627A4767304C476E586E6D3565633356467A51623168635A30574348736B4F4135752F47566B742F367A6A6B75324E4757734C5A336C584949305A37636F5A3171715A3355615A7A567243355974576E6E4C7868336873514E6846774270304F63364E6A4A4552636C5869784A576332335279336544674B3733566E44306A72382B704C6E4B64465A6231526E577575776D5258355864624B56547546503771314B6352714B2B70664F634E534337535531563636396F652B702F612B6A2F594F514436464F674D4E6965745A4C4169344F5558685872443935765634462F4546372F32706B34494742313835714D387871303836774742424969614F71304B53646154584F4D786C6E724B7559763137357063642B6A6B69484972346A45794E79525550344C70515372366F45394E466A6444596B37634C326C3547396D2B37393375776D4C65523268726B71733057525939616870444B376A464C446F674A6E5455703961553539786377474E597067323133663345314453615463484234623846502F6752635A486370474F6A76453442585030625733624C71776F36356F52656D5A357470353763627A57717175574B3637392F452F494776516835344C48362B357162656F5870485871494263465A6B4E6D553256364674545531717679462B36735036623137336750594A61444F36424E7934586236736748663470574A396E4952314F6A4F456B6F2F493656426C746C6461377634785346697A46425443467834502B385233424954542F3264705066477939356C4D7431545057564A356E586E616C592F3348562B72576237425073444334342F4C525471496E6A2F574A4E4F57576D2F677A6C3344773644674C33666E3659396C4C4C7A317A38307161465778664B4E6E4B55376656456C52787042624C37516D6D34367233795A44412B6A6A63792F5969714863442F5A544E4E564C3970544F37616936794C594F454866454E49366438763035434E35517743412B554935474C6549376976366933487A58573032526A463633446F5677376148303945674D6C644A674658342B4F7A466D746D4E2B315647705270446D4E3262303155747669314131567155356473633377362B485841434C41473272657149576A48464656524F68433347695859783879676E35502F6265766E64476D53616C66564E78626D325A535A6A6C30326433477242356A576E395638715A714F6F4373563550637035644D35566E642B6A7948507165782F4977322F646137626F4F4F3567353636527A5559435130424A325338674C3552705741586D6D37382B62704459704369793637747772516B4762545A4C5A5557482F7A395A665978443869527A396C576A4B6A5158484F6C6A58532B7375794E7453674F356A5858353362583532336F5161784A3757557A5852557A326E56337250375763443945462B4D54617A424A59434B4770375A704D76707167476170375170306A6F55325859644E4871705937466B4B614F642B45424F70625368536D705A6D4C4E7075575452304B6D5A4E6C56686D2B71574A33364F5845634358756232556B636B534D753066437A30646E44774C6562702B2B3233693965566E3774706459354A6E574652533259464F6B6D70322B716B7A55624A57536E314B476B68724C565371722F69334B3172357A5371566E31703477462B6272696268635A385935457731785052684542414969466647486F6963666769553933734673317361315657557A6B61732B79565631375358503373364237342F656F2F6667654D793267756C787175794E7855693470446F6774755779716B39744B4376706F435A39575A505373714E6E63384D376F6651414E4E4676562F6542513852675046352B70496B596C4345643456484C4E392F664F4B6E7061633269754264314C7A6C6254724F49323638446E56666C3353356D71706333484F31715853386F386E7431664D3656756176623630714C485366732F58586D516A4542695361694565614C6C704D7879714A6B502F4E745944793837744D4434624F7279544261333366475775765471747053793943306A4845325A614A4855754174676C5756434F326A794C357179754A565658575862346830566D3655686B49623549574A684E5445774D2B326C374F2B6935716F30645A7A515A35317557354A6E31556D636C48555541574C4258306B445456545853645575523639517474624248666B74737876546C6C33334D73657948727A384276494959384D39516F64644436515A41306E512F52486F58633675753755534E79477454416F375432797254316C78356671507567663076764D56384E2F7A70352B41597969752F747A7037593632302B714C304C62564A2F51624A5366685174476C70686B6B317136766D3074373142326B376D57474F7357786B614654734A6F6C383845784541457135775070756D7073466636696D3479614F396479412B57374764766E4730484852622B723452502B367335784C693163742B6E6A507971496D3156785462636E53736E4F587164446D51637A675748446F354C46656D424D6545303338465755414265772F776F4B4C65746357314A6442427979365A675639535773704252436A794148306B352F52436D6A474E51375A37344E49627162435051556C4345474A4D4F4F457A735247492F53376F713671394B5758647431354332726A4F50726D49625237685056676971444A6E4D577A452F2F39364C4265586F66447352375A524B3141726F465746313766644969414C375358425335317270316E72736C735532583031456F4F72575257466662585376575835375172623376746F594F30335344416869766477486F754243434B514567456457354368356A6E6D6443682B62616154444F4E65764765424F6B58744F38466F4E4E5379592F707748304639526736466B6D573872797453325A735870375A5748616864636E6D483338462B74476F47783157696956433837366B6336476E764A6635326E39304D334B523031644E794F736F6C2F7130615275724C632F382B47656531786430476776576C556B724C3030337132676C56613832746338677456354A432B5174554251574165626D5837382B6F374873417575796C39677759476A2F784141536A67774134464142706E645553536752757A613179384254446B77426F4E504B656C6F417673556F6456564947777A53316A71705379647472455955366475576F4C47353576343755487730755957716A656F5870472F757875684C4E4E38465863754B4C667255546F5855756868684A765871435369425246336C306961747445556E6256424A6E313075326376544E36466C4C637675564F58556C35316A71337371654244594162676638597A496E7A585369424E39796E636B50495A2B39386674793661623959554F6F3953384B4B656E616E70764856724252775037666E546B576144742F4332727049364B3747314C365354626A586F2B3061575374745551446E61704B426B4E56785132716A396857666B6D3878316A3063502B4353704E443833646F4F736539676538345343552B714F4D5864685150587574656F36744E7357684A2B2B627179684D314D53744E5854667552427459527261457169516656575371614A6751313236565A3357574E723030792F736F2B2B78673353576C4B676258436F52413742626A4E6354316E65705570416B75794C6C5A4C412B3156453576563339504A766F652B7A4F4758616A314C49346F3964416734326D4B354F75716150562B707630575A39624A566E4C6B4C7830744E44724C34656566734661773337612F596B646E6343464A386E4E30385A5851414C67396A47326F4E47517536716364705870712B4D4E6D7A714A70753441434A563052716C3145516D6576547A6A6D6D55513747537271716976466E686130714C3678744F2F42523669794D613959377A496148464C6741574F4D513861344556587452523071484F37444D68795A6E38315774787038504C57343139363479476F494E4D334C495745554C6D5953306D326F51665979354F75516F64794D652B49617941627865303664434950556E2B52375470795745342F3154764233526A57393668544862514F42796C4848632F73554A72752B74496F68783430744F346F6D456E462B704D586E357A666F45316575796A4C6F706E5658534F74754B5377412F33766D6E4F6171312F304478796A41346768793047336C30364A4F556D736E2F784E7349785A4A647879513363524434314C2B674178632B6F564253593164457A6762776F416C2B64687970594A416F74504875766A6C416A33494E6D4E5150773437714F4E3664585448423355714F714C6E7878352B7A68397830487A313868795050473434634954652B42333875394869765649746F5161316130463037496339433056735036637A7A5A745A3535394C476A363661317A7A4E565A375771705135477A5A61566B5655477668774A53304B796F2F2B3731423567505175787838793346516678557A386C2B44474944466F31415A364A464C2F74596149474E6C45646F3861524F416E6B427456596C39506F4D707A367A7279706E5531324B557964316C67486C536273336F304A574143594B4F7A556673797A352F56742F4732463832427138676F4A50764556484F49774B3033485846334E614B71584F437635526D494C716E714E532B357562387275724D70764B3057302F39376F473141717035597055394237517274695575634337626E585764637570326A64665564425458644371764C5233725A6869335465494F6B4D35637250496E5062715A4973757A6146503736366942615A4F6256492F55464A4C573151434B314839624F5855626747556255422F6B734F636A6256353638732B3839766253526D47494E446F5078526956506A676675622F565065713344616C3146354F68367A52646E353036686C55747178726C684D715157767071705132515831544A6D3842436B506C72306A72316D643236624E733275494F7A583148587762636A3947494D6F494E4D492B48746D5069484159724C7251767A577175534C656A63564A4A6E6158675A306E2F6B703847643552303130414E524D386D62304F745A4B366B3053633064636949417878545530544968614D536B707A636F727867772F7236373337754C655A462F5565486E535977554B4B385541473478316B515944313376626134555A5052584A6D4D376F354E6B2B616748566651634B4C3471416C33716F6E5670724C5550754F307A367956316C2F43313274705A3278636C746C51386533746A394F6550333736304A6950354554454957396F795250583458774172452F71716978794771393937623538717A624E70436A637641524E4F386B5347714575525449614962445874496947415642776D777A6F6E755A62444C5062717452585733667A48644F417848516D487A546A43532F696D6F6745396762486437487765655A6C7332314C5569466D4C6557464735666B39746441614F6E344D4C7536594E74796444364B7230664838574A53596741526E6158494F4A6F456144615862466A335639666559545450416235784134336155336D4E73674461356F58626D6E4E61465652654861556B4357676E7A4D7131662F7836446C7251356B566F6D4175324C6B76764E534930314266712B364933696534767A5670585376594B744B5A354B4E6D564337742F65747468686D6159563278774236322F334D4D6D7243644951536D4C396656325A5571584A74756B42745950736D43516E3834496E65595959382F3642383976716A3754766A544479592F2F7379706D62563035303136625558664644582B383679416469303968307351415258507957492B45796441414537666E7A376A6772534275415550344D524B6B77307932337665642F4B614B334334396258485873596A4B4F7748724B6130412B6E386236302B41653544734D67373376547170395972697131644B7A61577A5451625639576267425641626F736D425363344F4C714B2B6B42475738642B50464F76705779714F396541624F7261306D7443704F65747A54612B7A794F3276506C3763724D3771314F527658456F61665874357871596C304F757A576975316E37667670396B6E50343152514B50336F584E4B355976556E6F44314C42674A6569614F2B6B65415247665A3639493646495149646C5852565376534C4B7138546A565538747831705158313556446F4D7463764C72526F3835774779515141316152737159624F6D4752537750354B3578706733464449485142366F725A375552574A7962755A752B33484E303972312B5459644E434353657535756735416D62455A6F4B5941774D335A7546786166576C78627933367767435264444E3673756F4D34477A7A705A4A546B5878564C51413376636551316C492B7030502F77316566684772763451324A65347932464A367A546C4E6B7163363136414671714964705061687074417378455651746C4436644F6D4B5136712F4937316D533146715A3071374D62716D6376626279746F6675706847576F4A65664A59573637546E4B517157626D2F4B614B374D634F6A5177735850574F4553326F6F64526876447A2B3273424A536B5746653554624F7273445457496B56704841476A7A5A5644564633323238383854753946394A47566236496B634F343547786E637A3734584F35666C5758565A2F645135616A6F36464E4E6E6576706A325A375672636E744A62655337633565576246786133462B58616C61534267317479617041526C4B326F742B6D544C4C70432B7731303571304F2F6C47624853325A4A5435683943343047514D314C706A4C4C796273664D634B2B6630724369775638317731733373716B6D7258777739644C617A466C6F7177477557737A613351775764414F7068696B6B425A4D7A64564364316C456C7470636D746C5A2F63334843456A356D516C4B443535684D77754866783966556E5950314A6A654649335A576F2B374F7557706E645936447A414A71754147387A6E626F6334484C4435536A333469314C55614F4A6D656835324D76524B55665A465854566F6432363437552F6258636670315242617947354A5147474D4B4E5A327374592F6F71797450714B6B70346C426567326D625453736B2B6A33563367584A4B31656D4642517756454E36752B64475A334C526F7A464279564B526F5961316C7174783549325079743631443061454143666C7A5179534E35474936366F62426573616B426F525674575A594D595542685763725158636936616D6C7944326B2F475A43546C5A2B6375576B356969792F79356A635870486C4E43424D3670584350627051707355706664573564754F434A754F7A72734E6F7138415A347164634133474A59583076754D532F6D3757682B64546B6D44576D6E39383653433050465154554D5A54494A3971577A3231453776525332364B557A3636675356425442666F4E64626473664355306A4959666A716C4C6A52392B52744E4A597A30386771475552426A596B43763546537A784E6B37635463513750684A6C775633754933745A384E4E584E55684E693142343148727A6B5871717872536A4334666A44776E7234355434536E5976734E355569724A425A6C485965577357662B57703378366C77653459317650733442665A4246484F384D387A4B50392B6446677637354867554B51364365587A624C54334762422B77656562486D65445A3576726F4E486E41756A724C307662756C5471682F616E5174315973474846693279416C422B4969703866323053444B6A546A6842386B5741346450346951317379516F42396777544E4D5655554F59353754434D524A576E50464F56314C74393333765766476475396D6F3773446738386565764F48663333673341376A544275676342457039553446644F65737135616B6D43726E64687065597A52347A41636A4931456F463246617A774455632F3730316E6E4E6D76796D7975536D55716C6C45616E657658716F744B67593047716C355A2B655A74486E314A6456667247723749754F4D7A65757944485234416D7039684150477A38747846615A626C624E6339545733647833674545426F345551535031597948504253693071556B6D39737242465062743343666F4B304976524E4761684C594632334659366338754B516F734256574A6D69324665712B486A3968566E724B373835437231313335782B786A664F514F5659344335392F4552324E6E323670534F79695149367361616C463444676B4C2F5063656B6E6D59317A4F39656374486D64596F626259757661352F5A714A7A65544F6C4A586E756C31457A6A504544685A44526A4859756C6D6F2B742F633631723059473048634578424D2F6776355142446F70312B756479326B694476434E42736C656B587A31456D6C7A566537316642384C506861456C72576B53616E395972666938396238565975676E5253674C626452783552364C5142426B374A34792B71554E615662482F77784645393032554C6F754B4E5130615A34366342464E414276736C422B76564A6158357257715A5A71506E573274666273646D507239322B34642F66665834734F7675492F38704C33305065662B66306C7071587A473954353965573062314A48656362577570534E56546B6255434B583366584B5836424C697632663562704E6E38564648754C6655676D732F77446A395649504851425163753071394353797533527A74367A493631444F63395263666E3372387539654E623278737269704D71656C6F7269334A7074365950437268437164326C386E7262726977713756423648396545597046673864757859616333764477574D73414C332B484D75792F41353956717479526F7632553130724C374F76764F6D5050336D4C6A62385247587A52646541665933756333372F702F435A396174556E7039754D7564314779567A4F5435545546396F4E35316C71393550536A597241763052317556456A3046536A4156693870546D7271527A515156314430662F6F343376414E46794D316A48586F6F586F35713565565057562F727176627378667558436570537133565A48555567624E67435A642B4D597479585A64596233716D30382F4D4D51526870694A63754A3158574139656F53304B70302B42794739486C4357326148737650744C67472B34647A4732502B6A75756630725A7A56576F7865626255562F70557936706C72717155432F4A323939425A6F36326E3456616A30344D3859585549484348776A72543053483243746368435149776A32394A73416954683168766C2F732F587468597958414D62314844306C466B51506C503851784845454335552F41657042776E39716A6F3374306D57326B676149366E642B313747336D687944534C4238746A3550354C6C68454F55764949482B63677656554D445956617578486776573451714765655576544752745835725570307746744859756B5454584A4543794C4D7474684C4768562F6E376B645343734837552F4941596F6B485A536841585779336D4577512B565663546E476F4E57433630634E61526739654B355A7150716938343357476737477A744557784B4778734E756F4257636A6B63396831687779782F766D414630686937577035504D6932686B7555754E52734C2B693638655153324D426D6B48615368667755676F53487A7575764F57575532714766617161656A50326A5370546833426C6C6B4270624B345454323751586E376D302B3852564E686B62645A5941634C5073454F586252315855704C4B5233374A37374D364E4E426F5A6157583378325238312B466A345763534D76345243746C6B4E39674D6F4478514C656E32506A746F652B5639525851384A67556151374E4A6C324C61724E3944626436365474526734424C4A6766386F394D515553427865414F32726B6A4C5067384735316C71344A71517550584A4A4D71494869787337706758646E463361732F392F686432356C6E4C78304D454435453455516550667247783571727A3277334C4F685A696835562B705A6130724E364E634152564B35664848683248335037774F786F7945384C41744761686F2B773050774F513145504E636B45484D68586C344A333968584A6E5A587A2B3561645A312F792B3645336B4D35647A4C65582B6445426666446F396E506271394172417575672B615A7651413048664B6A796263617A5445754F7343693637625345696D3859365A39776F33436835774C374C7578614F6131445037335455506546336E2F3444304646705636582F486B614457433661636C4E384947336E7A756E7954437455307644464D697976514A466D646D6D306C7872475152764A32496E45744E6954734A362F74307346413765367641396A5538533635575A322B716B3169747A37626F536B2F62737A71706E32644162314E4347674D746F756834342B4E4A5A445A71735656644D36366D6D51554961424B2B573268644E3237693870466E337A61667542797639304741677432696C666442546144636E734F754335716F5A6A65717A544C5762373772744D504D4E6F30796A3439414A686D67594D344A36696F776A5237302F2F484C68387357355A67306671455357616242757272336D73596D6465774F41596F67443444354D7063624342356C6265344F74324B4A484E343479433777533879696D52664D2B55352F655544717658582F2F384A75516974334D6435674C78702F48396C78677170336571554D766C6C616D514E4863614942716E773257586D632F77767775326F38564451734E51504571434B77503033673959543059525639366731317072525874502F754347483434464849394D374A762B724C794F6562612F41347472615336447633345567676259766B62477A7A476F6F643834775245344C7459506557686C5A332F786E673954494B394D48474C4F506C4339436B6E676B4A64476D4F52395464754C4B7858305043575855506A576253485157576141796D6D47542B61316F69423867636D416574786345386B31506B4D69796F4E4558576A6B5067346D713179656C2F74776D7461442F4D7645594A6F4449474448712F50532F4178354A6C41466F544244596B733352466E6F435244567144574A574939494F4E55597A3270676232614A4474796F637979714148364E443359682B4C546F676448696F616A6A4268725652625944584F62314E3939344F34683379695950384738486C4C61513753454C4552614D41514C5967444D6C75476556786A654E704F616A4D716762312B7A664A4D46386E435168576C4A4F77754D45695A534978454F45344A44534B43756F6C7161666E774C414369706F7A7A2F326857535A61485556514656656C717A4170574B417151576C432F6443444D45612F6E2B7A666C576A75386F464F697A4547696E4A674D59305678782F6C72314136383944546C424852356D55514133376F64592B433032686A71545A6C4A4B6E5976546F532F33304D6659614F716D74616965634F2B6D76594351656939564779686A7942474B456855624B744A6E482F3070754A534D38473171634179525A6E6670707A5770416142444A4A5030785A2B4C326B446159463073694277497559437136332F344F6168346142356F4674705241576C4A7469675133634C574A662F5939775A534E557A54504C525041425265454B31365A4778682B334B6B6B77594E304733664250685755717663566E466533387064714768686434547A44616C46696C46317A2B395A526673444F7443416F524331314478304B664932314D357031563763567674576142677964707A4B676F7070496F4965445076446E68656E7253745062363349374B75692B6F4A6D7A4B374F376A5957724B38384A714D3248644C43537A4F4B4167493851794839644B4E786B5730562B6D53446A41596D674864676D6F73764D6961705276464832626A50682F432F39395166357254534B71613847396277325168316E734D41356630414F59354541704163627667597A753850767A713952517573704D564F4E4A4F6853756F2B6966583174477646426832364E544D37644D5A746E61384E37494D764E466644556639673241757534764566423364633146594E7A59414B6F6C394E737A73394775694C3839714E6C6334473842447578344D2B547768614446684555493753755753357576467A6659644A3573574B644A4A324C6868555743416B616353504E6F4356396A5156644F71537567326B3139764B6B2F6F4E7862323153323764424D3454452F6E353665677A4941696B762F5361746B777A7233524F52524C615A705258747772594E624E4A74646936366F58522F536773534D5551583433677039577530526664683146656D65324B4448524E6F4453676F42327174473739484850313374416F41672F54354A44674B45786B6749554C7A487A6148493542614648737968796274754D5858774A514877364D48474B68656655716443347A6B65613278576B6271365574364C795746376570626E37304C695153325552714B54543867354150666E4F53574538504A324867334D2F5067614F516F7377644365344D6A43356F314A553461695341653738522F55536148594A4F31324F554F6D6871534944794B53494F454F6F4D6379557055424361506A57714D586F564335783176397231747845362F597936324B53456B6F4153714D567A6A427649422B693973503472542F366E734C344831567556626C566C57676E467045306157676543472B424C6A304C714B714D327A46535231564B2B376D746266476A5A6F3646785036334351795566436B2B496B6857453145496F5A636D41525A672B7742454866597A3658622B342F39634441646F736B314D5946512B316E62343245727441383159426C75444436327A6B4975654B374C5A4B47755474567152635851506B796D766A57422B467673797A774B4E42554F6262623659526345677A6167764A644B585551396D5A3261722B346A323348334D4E7771452F537366484545554A755641305862642F4964394573324855652B685367674D35446C312B752B7158423539446D4A51594C2F397569307361326A4D4F633846622F766A544841734E6334465877487071564A7A36346B59566B49732B5A65455A4436424C774C73466F73654431676A3950505177556A6F716B3633517A576C534E3356626257706E35597831356666393758457547477773344556544158314D534155534F527A3237596D4F58324A616D7248794374707844367257526A70484963326B6D4E4F3339412B757430657078534D45464E55626F4842657A7970614741506846466A76524A2B39456D7279676E584B582F7A74495541534F48446352617472614A316A6845364252396671453132725A7655766C566F57306E517846477148436E326A6E5071794E7A3348305669355742514A43377139784131655A496543497A39353472354246747A76472F44545043436B465061303868724A4A6862414A59697659396B5247446D3776567071574552744D45436B692F6863334B4635685959444973474144356B56344152472F6537497179577464465A4A4F673172454E6166314A37476850556239536B323966776D7A544F4858716441513146307A33424458696A35614C6B6A6E3776336A706E7461443456306C5944736252626C5746525432395758574665755474434836654E52394261452B496A55794150433779345A2F73454377344552774E513456426366424D4F79424C2F514A653453735647307367655062716A7145314C577A5332584A3630725A614B77465335614676624165596C6F513148555839516365416354636969617A6F67714E426A6750557033574C5059565668642F5535395A7237582F6F7A47684C773038507A79325743626735454A79717537737A72425069415036693877486F496C5137396731312B64423069515A712F4561796944454F7A4956304244536648656C7247596C646D325454315037337841504F67454A666633454F66676E667A6A694155316F36463445795753626E6D316F333777694F6B373779484F6556592F2F2B4B2B773777754971723762556C57645571726E4B6E4A72515041726A4B6B725A72315333336F7137646C565A6473697A5A70684D67425167704A434730554150426751532B454571413045784E414464736A4148334C6C6C6C6537332F2B3836733167494D76386C6A6656776658393239642B36554D326665633837634B536974302B5768634A504649536A53583235384F6E62786E484764693151566336434F457459573038537231394968726150504F487745724539714E73437570335061707558594449432B4E537535526A4F766F335258734166324C38544E35334C61653038346E5A792B4B4175435135614674666939596A33304F55304A6272576F6738554B79464F7442756B3459427A3441746676477370722F4F71384A4A762B676F62695933415141773650346A2F7136495A3541687648345A4C6C476C4B2F4F4F53562B4F487A4151366F3667536F42513931483845463773693336425941473056486C73634457357237595231532F4E4E58615A4D7273796573577869334C6C395650772F496C56536A5069453652715435544F476E69783273752F6557684159787659753964674C725737525235717A7A476F74322B57556D365137694C5953486834347A594F562F762F676773556F6475366141417A324246505763495A56733174332B396C2F786C506D426D344533576162766876563443635830656A6B62414669504A7632484431354D4B4A302F727173456642614E45324B7069613749794C3235415743426D4E47694142796F612B6B662B656B55454746685A7437386A7764487238684962674E4B5A7171364F4E6F76726B4566623961555033447A5955354B466E55715741327635525259333236497173366333627973682F4E76435747396375304B764F636A443548456A612F2B4F62584F434433457856796C3964656B547972506576587A7A524267494134614767575A5736344637633442334479754F4135347570324B7A797355416351417A78414545556F5765487052525571337833565955584A2B307349752B39723571765877764856673356694C346557425865435931384E5A4F6577324F534E59337772646C67565865386D744852774C462F4444622F43366F6462347174635838487270636D317A4844362F7270436D4449432B672F495070456F757A2F35686463464C653764415A626F35456C45774676584348507037334C30442F4B674B335048352F4536766F3938504B3062593961412B7871723048653839346650735562777A366F74543267733430344C32683135564E652B6978735637475A42735231455250347077617179767A3035754D4D3573574178524A3338557268644C72754B2F6979434F556E632B66512B48564D44745269314C7247386C303359366A794B4262386436744A486F566D4F4354622F38345A732B56337750665052695976356C61545530356B5A66427769394D75326152614F62545A50725450735658362B637376344E782F4269666554776539474D3646782F366A694F5A6A622F616E4E53705461704F5639564D54742B585448646B4A6F35385679325A586978486B495731367950736B6D73463171787A524146704C5A6F703157794577594E7245394F6E68544534596D444234714F366D4D74667139596E34424779493832416B4871644D4C77314B7257474A4F62544650584C566174754553314E70666A59637175694B3556543741617A58666465417877374F6B42687672384C74726C6B45672F305A7A594C6573553659675565456D6B4466623239687A7250696F52583461556842656450747250424473787252516D54342F6932362F3439646658716B6F7553344A667955457647574173734237386849434269583043436B466F4D4C61376277356A5055565A7232724B5273755074577279376D6848654B384378344B7448523468576734756B4259733930385652387971656678414371794861562B766759696A7762513965536630423873676A475A6D45323939523678484568777635413936334D346A697166676C6C5930547671613158505A33646559446474356F73333037444567693938442B7A484169675A35672B484B6B654B3937666A655478583744477365716F627250734A75625458454E687448564D366659636B397A484837496E2F696B466766413679584767554F424C41443463335A312F2F39666D42487434634C4651694668394970415476334744696F4F443951426B59756E353361565578544636414A546A627055737936702F37394B6D6F5A5449596534714C64714B462B4F374B476D39336550674366437A474A44656A646968647933684E7932566D4A49593444466258546F3454416D6136584869445441456D694432645572575A38626336667633676E67765575646B4F6445617A506A756E4B48316B323939566A4F2B794B4E7A77336170424234425173597851434D725038463131787A56436357647A627656555830354B54574B4F5A555A58376D39662F426A61433877794E5A47432F7739305377303448464F634A7865466759666B545444696D7545546650667630455259457964797642464E4C733153725A6E4B45534974655443764C4F733961644968366E50554B7A69422B4244345631764F7A6631716A3666716E37345667674930755964577942486A625339464171522F63396459346D346C597A31352B667366474F616C617333336745424C77422B6E48444A62376131685064614A4F62636B7266664B323537326658397179654A6F744C3746476E51444C75505248435A3046597A754C3435625065645737352F4D51546457774D58477159356978486C37684149666C41725963506738714156772B72506965503751747358446D443638715332724C5631574C6F5761776147785A2F4B4C46346730585163696978634C51544935662B546A374E4B5A526E394B596B3777713833787A2F71664B774445462B51793676533575594D4C4F6E45685277764C782F57493944533575574D50423962547261374D702B6C33354D61567A5A3351735A45396939637A6F645156456758704E536E5075524C5078346338326F6F6F6836344170562F6478354438513450497868455A5A4B6D536159454A6968367A6F6E4145686A4366454C693048782B6F434B626841465351657075556578664735346A7167424E4634594E522F724468616E763344754D5A634E6B6730677A56774D413070566254725957524A724A636D4658415A574D3950565252366F6A43514E4B704A43792F6B74672B656F58486B633869434931506B4E704446773030526B425A4835614E424E6D73355A4C35656B394267514B736F762F66487942497A6A414B684F4A545A3734443130437643645743466F72724268694F4B2F2B4C3652657772713536485A735970504C42746D3432547A635A392F4B6754424E5A4C58726C38666C6A305442537339416663515837784F3644345A3357574A706E5A47794D6D3742414F6B70704D34797643693276435A5246766E417272495A6D316D636C573359664B735250386973425577416459754B4C7242546D475A787A59706E6847563276693463586241422F38416F7A587839704D6A372F7A54395179336B49535971304C73427331686E7230392F6E74486737764233473176784F4B43334A2B57484156744A7658334E563674784A34542B6C652F39626A6F2B734E5357754C554A556A6D2F5578566A57772F7234744C7745575A42384F347A3944574A2B4156425A6343766C454A686B4D3565566E494347416F7578396669643466762F627A794A4C374C586779736B61715077346D333543545537396737636470366F47746E49354A49356639415A4350756855494B2B76542F4564557579676F7770564F437753386145623068766335653246474F3953426E59702F765436764454593954587A4F5A4E7274556C56713459574F534B6B4C2B5142783967446A683966782F715254646C77724A4D7432766539423948326B513045413846616B6657466F317678766A4477325951364531356B68787345586D4239516D5832782F3263462F4C7457442B71457762787244467442595750334A42315A3174385A57614352514E6856746E55695632462F4E36373550496258336B456F4E716A3246467159652B632B686832724766525261574445514D686E774F4769566A72592F556A76306F716D5A4E5969354C7256626235484764646D38465271384F4A3961436F6C6A414A2F30757471737547585A2F5961427A586D42653365465A47562F6C657858746332462B55505766342B33696B4B4B44763261363351674B4939554366754670746C445562526D37615651767A667475704D6C30345A66305350464C565A535A6676356872664A5A656E7453534F3735617630337067514775634879336D4B6B76674A3569675252514A47526153435A4C42362F2F474A70503042503077695953587A6A64527854662B39316658503351623335556D6A3939516561463571494C47785A4E716A474E575A4639586B584F3942576143575761324E4B4D6B54575A4B67737130636A70676932474D5A5769763136674434657453526C5167673133337A4C6146735A36666D396F794237567141553476716B636868504B6A4B43344952686A457259425474532B514B49705459556A6D3451586A4863622B5855367A5A617A3875377265365734696A4A4A587030753167752B417575687A316A6A744E5942424F357A616F7553476F436B367446774F747479564662755A486C5255386C7578593663694434756D707A49496439484E444358413451464943734131507A4154386255476D4C59704956563061794454544F6D584C317034414373564C76584C636F4849336F49316B6436636D33714E4B742B48373874687933456667676844693553704C68634C69444F5673554E374F41514C47414835364E784A5047342B74776E2F304F3748747A326F54546764533937706477756A7639784B76346A584672414E614234336A3234396364502F4E375157586C3275534739584A74656E54505A6E44752B5644756C326A6968556E644F2B384930364C6C566C384D71596B7470436D5039505A7465684D5A466F53456B6F695036544742395337624B6D6E6C527831495556676B4134385779427851555371625078323832735064524B5A7637397361577A754E6D637967766E504C326E42454E7569537A586E746A2F51462B53524C6969394441656F432B474656314D4E69374D395339522F453876764F3179747658586D59756E47343254576B6F47464E6A6A4630383537794B33504E4C44616D465631363465736D4938726B4A7263596F612B5A49626E72426236315479343148326636674F646969767758726752367031526F594162304B5842357163616A2F41504B41537162564641535976424D36797145346A58524769554B4175465A44424F764248796B5049507A3843745A4841784A72732B497336756C584C59566E7745354661786256664C3047536165303532742F31625A6638585572446A3845427077413437376847483673527862364866674C66674534542F673457714C62377A69677548396B585269395967366E4E614539644F527739514C614B563946357A4E4D72646F5272514C724739516A3674516A6257515A423332617338363661726E4B38494D6E4433333471613848456F614B6F6B733457475438525831547872395872452B43646753374272452B32704964737A703332765572506C5A386C39694B6F355A63435A2B4F41386E4E63396E7756687335634D576930563966693171477955784D34786373466F47456941654A44524A70654C7749414E5145464D4A592B4D682F62505554767A3358584443394A6D39636858354D4E657A4850413770746342754E6152306C715261394A7A6C3332424B624D324C375370676F6D73677152782F4D7146637A5A486559416D3143762F6A4244514D5933307A42354D42536C54313258454E32685372376850525943677861474A4F56376A5177425A2B4D777763556F4A6E745A614D616B567242307851535977775A365931356C5938654D747877694A624A6F372F41757446527748336F675173416F766674652B6255476B597955565573696B7744527267305A696D334D7037627A7A47455A6C656A3463376558466F49314D53774F536956344472773436655934722F336F3966475738784A445470523754725751584E34495978595758472F612F2F486236526B345972337A754A3965773945466A666F496C744E716256614946516476675158672B4B592B644564334946684A3839696E6558456B53446A612F58523764435A514A6575553844414F4C765739393242614158685A54432F6F5A3643454251677765394A7734727A683746642B4D6A76376C73706634487065724A70566E4A706650696171426C78565A6C4456704F4265494D706C6B6A4C566B5171755132557851616943304C46545371566A504F61767A6A746C634767463668414E676C536E366D7344357233542F2F7942566E505736344332772B6B424F38454B42316A4C4949374164694F684F577A774849307051425372527878593459692B3763706F5637696657435079646779724D503461696A4731374C2B3434394B332B39626C7156646D4A46356F54537A4C534B544C615856694D4D79706A56655A4D3653754C4C4D386655356167713569567867484A47596C744F516A73586B4968724D556D73707978396133393964474E327970724343395975687A4D487730682B4D7769444A6E5374442F4476427065324B673759577A4158695056517A38447839707A454B7258456572424A766748437A362F323463437A624D324A4E5765724B7562794F32327A4770592B5377485174325243427435586E41646F3063505438676C467A7A79633868682B7245644C634E4D3773374D3367427877756467686A6A612F596575625536323541466B78476D644F6541686D424A5348673841376D4671746E50635233616A6833747A4E787067576A72686E5233444E664744573258554641414C59732F5473306377476934792F51674A7852633538373169506E457573542B6A49502F2F4773733855337873446E353154587A4269786179306A6B494F5259653531367947456B557A68716974652F784F446975326E7944515134654A7355614D66416A78762B6A444F574C6E614C39667666564D656F55685A6B5647576D7452556D4E65624B4D70707434344569494C5549426C6763717949514E714C75634369373542432F38733674706956554F4771696C72564A4E6859706B616A6A6E4E4D6E414E6F735176425769364A37456538686F44724B6E506A6D2F51546D38742F6C54783972465A4D5479486B596738636651615233423539696B65474758452B72717345573147747266716563423679324F33775430486F684654416F482F42757639394E4F4A3957346E454F71464131745456366E6A6D303063305769646E37696D674B79757A4F7838367265634C694461426436434655395850615345354C724E59736735564D556878665643377966776161497338376C384169744C48644E71416C7A2B354D6E376B53695341467769355A4E394F4F7959436D4E396C45325457703631567777574A414E456566796F4C3341506472334443636E634472752B787343782F784461466F673041545370537633696A6E383766505461304D71594A5365634A43356C63315478332F6665507936764C6A68766C5762537173783069325A63677A477032554165746F6B506B73686B585359696965764967774555336847704E694F2B54512B736A36336A6C4B364850336D6457492B5736324533446F347A6750584E325543723332782B6A6E4C694A306F6731774534315251594A754555646A327145397849723962444C457541414141784363713645585736636561632F534B59324A514E634D66754F414461366F642B4D61314D6D315932503947636C566958506262656B4E70676F424F4A6B6F49613153704C4E6D79676C4E5938446D69787A464A31476C57324445354B6174456D747564504B544F45375871423958312B46766D55574938474F4F7547616A687A2F5346753079516C4B6F697145396A72746A764170632B56344E684B396C4C796B3444412B684772545A482B6574454F773343506E312F72722B66556B496B6478644334624D3558463669732F49594531497175313435625537795A52723348376A6A426D5639306E734F673866586A2F384B7552383242557742364543356B36647842623438536E4E572B4171715649302B74475A4153755572524D4A4C4565764542585377744E44694E432F64745758467269305931474A49723157762F657663584953376244554D503842457053722F54775A354B2B46784259507233672F5679623346554E6E4B65304D42357337693438506F794D5476476439317A393665575A6B5A585A4579345A6F6E4B4D7065446C2B7446477A5A72344D432B646E5448695A43446F67587A68334150497A384553785031676D787A6353736B794D6D52624A5A722F76536238645847614C4E325A46736556343842384C586E63763362426D4E6353313555505449417030454433544F5733396A6E70717866714B71647031706A484C452B54325762427843665571566E4733614A614E47514966334372712B2F357954577736364D736D556E3147765062697542757149527834346D3457564975635746364B6B2B70506A4F61562F4567577673394B52646A2B714C462F4D4A6757576F4C4245777A4B7476782F71783552777448735A36744572525830396E4A386A5A41382F75337A79326B697647384A754839447A4D38354E71314732503364484E627A6873463749362B4C724D49624C71343072364B4F7052786676507670317046646B702F4977386E787133495774555732354336667A4F653239486F6F346775304877717352366A713858574D2B507750556151496E6D747159442F47676B6E457055426774453445417141522F6E44587973754B43385553356748365761536F4A445A66372B305A732B6A6A696B4134312F5471645439436B467233726D6E6B6D6C6D6F6C56757653476E455455594E3338755061633065734B4F61325837514B4162686A64586743724B3748524350424B585A326E71706B625178556C526E774A724C39767930766B6D4F417A434D657073623731753479766238346533577936643863726C424F506D4C474E6B4E43614B4B78493434525053492F5843385366616A58423534427534476F4B6E4872476466334731426A33636B786B754335365058596F66744F3174576333464557746E4A304B69515779563132657672346B71695944506B544B56535571477878367A57694C4C7245796532787A486A7837565475796E6157716E7A4F4355794A30514D4A7046546E4165725A3967665553754C364F3954454E32664631757677374F794742626D5A616C46642B77734537517543686134483134796F4245514C7277584449565475486B4733753252734B6E6579734236454D59617848365354574E774B5A446150724456486D724248723454646E7377756B575539667050544B704B616370582B38345A6A6939724C6132513847526B6667346976482F776E57413157457263474B7845304F4B6D446B682F30444834574F6A5376586A47307634674A5064647A6F51416A66734E4770734A3733573358523179785172626F30746A3076716336517469686A63374437534E43426867326A4431554F4577343552796B6F74543476774F483778507047596A30615958776A353832694650397A54646B426A72336C6B68324747326F6E31356E6F3946584F4774475A7977577A5776545170736C572F625253485953797839346272674B786C444E6B425041507957527443327A5A30332F307A357466503974614747754663574667444444396175664864533249623441396F6B7570304B61737A443672767669537A6C5758644B365961446165663832716D446F74683145685A4C743278476F4449484A536C59362B4F5A635441524C535245497841424266776671597575776B57786A72415842306D587A44692F56443758712F6D427A45696859433731523866392F393453527A727371617A633669526A5A736C435739746442362F3833482B5732547766414B44795346532B525441444853644843334674397A506474544B3957784D442F6249463151474F716B726D4B30724C5833333446454558796F5866385672416577616D39744F735176714836574A594C3165493232373565774870596463424D766A6D694168527647656743666E59444A73664E48464E2B54752F397A66737643535331467170557A5963507973336E39334F67314F56464E5770694B584D366F4C4F75732B734C706C7479704E546E6E747932365950304B3241725274566E4A617774684C6B6937486F726B6E6B3076436F3752396748684F434E3250657956502B7834475356443265784F4230724A742F4248704E484C425238674F59462B654857576E4F68614E61786A5643576E576254417A446341363248586F386A6746643541456A633838386670384734723534756D6A6361656E5868397357723570544474703635656B4643524F625A476631357A795A584E53792B79464536714D63496E35764A714E3556776B6B72395846515A6B464432345A774F31714D5743752F73444D394C6C2B58395A717948784E4B79504232736A396A316A64723456744F6F6D717A3564362B68373957696A566D64793558586175614E75327152716E7A57424B7678582F7333752B672B6F396C41514F6A554D534B3037692B6A3066426A765767612B447459666668446F416C3661555A43466D2F34353850784B2B5942596364316C58426C3751677544784D4E77587049412B4347444958784A6674564F3244525A4536724C3870595579463276424E624D776A474566524645647A6347654C3736634F4A72483047745139475165464C6458585A4E575851375A43327734726A672B446863383235795A585A596D6A4258454A71527934484F3957714A39535A46763673486532426C52766742466F494A4E704A767A44745A65576950653958334C4E6156795A5641727331624D44584C6F42766D3743324A4B3561653035746B6557756D312F6176526B5664307A7841704C324B7036504663633278622F777752736E64705A7749424238345A715A595058594B73314266362F50373449363652646A4C7146556B48726476626477484D36587366376374704C504F593374613167503470546234494676786E6F494D4636545050717557432F36504252346D523636774D452B722B4F35765A765371334E47574E5663664278704357776130354B586455333149544A5A356B6C7953317A4B72417268376775366F48522F2B64347A593879364562575A30486D30776871796F477648564F7475662F7068386155782F47344536344855493576596F7749624D363557712F3875574138656775645239626F4A4E63523665436551546E42625449376C304272545431756A532B466D53666A51714E62443235696E736D556E6D545772377276783662332F3261633467574B49746C767848654173614239584746356445453373316F445077506F785A7633644837307748466766313644766575452B36633835785A59616641742F3244304767654677477644677344497730554A7042332B674870414B346F6C72797031535633424932437434417858357A734465632B7358714B726D71786F304E485261314B7256476C58316C656573577A7139796E4464732F652F734838546A41626B70446667484241625737366A39484838596C4F47716A3162745A6F4C4F6E315872432F367A5442695054746A4B2B644D366C685138766A4E7073647652493344764F4E6E6555746D2F4F7138785061384553746D6E562B71683455425532386736425439587A796F2F466858504F54464D474D396A73473377712F694479414D6342394376747A372F5A7A79653246643866546D346751724B69396E324C4665644E674236306332637051366B3550723844526B7164626D783634724168616B4E786550586A7A76326D63664547756968545075396E716358673577466D4F52767A6573687A63747352356C495471494A65534139634331414B652F2B2F5972396A766665666F486A6357714A5A647A526B2F5A7A46476442647879746D7032664B4E786B69586E726A662F4631494C39485148505059517079774A723539706555497331464E37506F67746D54576D72566A5643706457722B4A36697670456932466D5A2F6C6E4376754C442F6477446F6A4373594E6F774736593156386F767478625731504D576C68656F3961596F6A763542585630745871482F61417A41436A686438682B6F68735845624C654B38625874357747316C4E61655034533167392B6D3431675051543976385A36766864534846366E503867504656374676386C3165464B6C4557344B703331777A56737447423574795A355759305165766848727665786574334E464D31664A485A317064616761574256717A7279766D792B782B4B33444F77654362726B6E48413677526136524D42547245327131687038334854346C316E4E73504263613266622F772F6F2B6473317866504D4833694E4A692B616D694D566B5971347634526A513573796B6134716E72463330686E4C38633856783144664148697A777A777441344D4959674C2B62332F354C544358586C4236314E6739384275736764574737587668506241566E424F7462736D4F6244426B3357593872726D4349624A466C355673425669514B6251397735596F50656E656E57626D504B58775272727A55544A5766306C4A3478626F4B79434A6B47434652587476395030386F563675736D6245334C4959693456366E625A715239646E31662F33314471555079677846674744344F4F776552654541346C324B6E324F757171346365573278616C3075484E50766850564A74626F46762B3445684834563632552F426D5765537A4F4E2F612F742B74724D314B376971504A357978372F7956754B59337072386467365930706A547670317931524C4C386254695773584A712F4D3046304651345472746145684D4A6F684236524947766A446A7658684E37345541324D4748543178444437374363572F5965646253635658786C646B6A6530555335684763486B594343676649643652526A304A6B716F623257364B626A61716C733438743273466A4C744E53703864786F57446739365163625253536A6C6B39337671772F6E53486F544E776E6C4873326E552F656A714D73345A34635A7371472F664163576A57566435636466797146567A4A71356644416557774D7050333461345774335935646B66426F2B6A346145314F6E7A555873697A6E414D4333332B76457279305A646E5A375574554B32664864426170754A6A776E4C477253326159382F667A51352F48343346525654736832357933456C443852344D44757858376A2B704B4A74586D6A49524A56544F62692F3831613065624E523930662B355133454F78486B797A3348737A31306751697A7039433962544A30653542512B417350735633396D7254344831636C31764961344D2F3532785868436E552B416E5238747A3536797A71764E4757545438656C535878624838374D4C4B6E6D5178376845377663673868562F46662B5354524551442F42324337644A59676F5A4E71344A4C56716952364B6747773568796457523876637971785071342B6C4E6A5062534F79423972683339454B6C2F422B696A5268344D5876343731614D4A67654D763974343276304A50624542684F374F4B3669614D743269324B2F7A2F75412B5141696A4B6F375A475355776E7355567A4C666E2F4E684F623855653263746F62347762727874546E33623331354F4C422B52494D327663344563384542395953443352434548592F674A38675A346B6A57527A61394446546C69335671666B3146733633586A47307057764748472B416567555541576C784D4C7A4D6D4E655143544B4F754B31475A5A364F424A4C626C586E5A4435573661765277427944346874352F676A6454736E703641653763535A4C396F6778674B79436D572F79585769302F4449763945377A4F48395132634E6A57796247376C6874732B5558782F32504C6971494A4C78396C795644555A4939747A59727134316741714B4837463350743363464D7474425132555A6459344F484C782F426950594C4C4367752F6979675A41364C6C68425363306179374177504934734B66745939614F6A7571576777674863546C4D303655465A727A417568703441386139534135336279426B343854476E506A7A4C72303167564C663363744767774F6E772F7767376F4C4F5467684C4D6968316438373169506E6E49504751676D7339796F4258796A6F63584A6D6F472B546369783952645A456D326C456465616F56684E5868362B5A6F36724C424B5A4D614630776133335646763978744655325231453138466F673045446B7A78566C5250356C3847785531566B6A576E4F6A32764E565A584D6E315266433249644A44716E77395059466576715541666A573441657130743854744D4F486E567779443169663347546955754E74614D6D61464B76756E554D3776496F58364E4E4C31514A30454862396662644573423657577054746D37456568796836424F7646696D6C687249636E6D316844724F2F6D6C312F42712F384B367845576E69616C30346B3863764770793571587763746B57725A73596E3248455159554774694C5064736C336F6E3377685335736E7535592F746E6975503868754A52467142384E6F65664E6D6150586C63635A56556E4C706C7A4A4F4A2F344353772F6F4B57553250396B564E69665A425441594359775071784E5A77314C622F4E447532766A324339344C5A7930544C6A3258564673665763624D57756D7A576D7842703177345A66376C4963694965572F4E46657064657644484259713174733748564155614471556D6F4E48504A6B6D5963366971335479726C555A78377257374D4256656C4E2B636750683244684548344D634E4944464253706F4553484647666A7737664631654A644C64635861684D3778746A5534786F4C667662476B79676D4B6832694436776676314C4432666A49526B4D6D41724F3759385563514B537775776D434E4643417962317578634536783775664B4A3752565472756B6C59724A6E61316644657354375A2B466573356C526F582B4356326445466A3344566B4841374B2F703277587537786D645A6F71766A54547A39562B6D4738473634787035526C4A72586E636641466C4E4D3632484361354936437357585A62397433697A6F36435232773643505877343731596657474B3854484F73634A725A6D6F675770565172352B56313876565A397A716A5633564458334C6F684138786B6E4D4A726439424C723258452F435053744F6E5A713132614F6173754669492B303655653346366E4D3674484C4D352F663948366B4C4D682B7233304151494C436646395950394538695058494E6C64475A4C6D413952774734506635375830772F6F42786B496D37506E70755371324A50654D3147636768423759325A484F44693871357170587A32762F79757A304259414A714348444E5435537737513471775A324B4D7132754D4B597363317A6E6F684669734532614C54653954412B6A66702F3742506463467356483366554675626C2B6638694A556D2F32484A71384C477573525138526A41497964744371686250352F72365055662B51415765492F612B695151624E39392F4358523041446165483963676A67474F763470765263517173723333304E72694751705A45344F2B4F39554C4D6351303378527677754138717A70596E376B534630734F4475516667364541565A7956555A31663934666F426471327743784B35452B49732F764D5030494D6477622F383134617A473471694C646D637A623861324B654458525A745557662B75505A545437636244427838355374594438672B4A64594C3047414751562F4265713647424553414D48775A362F764678335941392F6E46325943746C4F59387A68566F30384A555039656176395633424A463065776463413362476A6877425A6B4E4B543842375646482B6F2F524E7365624831716856746571347A6B4C3562526177634E63487A30586D55736D614F544E59583638476B4E332B32676275594935446449556838794171755141396F63333942325A31724F4C774739686E395A7738794C5273367247317563386433633758424C7A43475A70576E637574773647654C584F533178516D3132677573533034794956436666316353706F2B756C636F646F54486934635635646F58486831646F3039724C347970796F4A4B2F712B786E6E30344F4D3430317174736D576C584C5653746D6C337A3845385231656632512B2B35397636777051516D61657731433268554E63336E4E346D366A4D6C745261617272516534733372345150346C6873697A43697A74556679703156714F67576E5149516641656A654C786E4561534637795A6567686635374F476539436B495230693176694C6E68485A777050785768516342347942506632642F39356E6C736432646770415936514B53425A5942424154564C6B7A6E394267335939685959443751585163374545344B5A63546C6E5063573974346B74336B7A47317A6A5372657447784942772F78523051737957396B47466B47576F386744786E2F6153654B33303361424E73686C746633774451435266325442796E785070307332454535354C49504250727761374C72796F37466B4C54513662454E7937466335514C475067582F724A7262454E75664C4F4A4738355A4D31576465527943325734613356476376447A7A32543066735547794B4B77616C4847663474366975464D7264656E7443315856326247742B534F7332724732764F6D564A6D4139764647617055462F33304176616843654E595150776E4E41386167377971645747386333355848444A724A5544344747562F4832766D33514A4F53586C34505155524130474E6A3148496654464A354C6854614D5A6E426561776B6362593744675653494E6F62697932494478354563557146646A7A70715A4D63466C415264312F41654468516B45525A2F2B5249796961784B72452B31734A385869674649477362366376556573596735596B6265634162356F57686739495859683776526657424D7451374F4235506A68787A416833476B4A537539516E64457A4546464177485877725569354E6F5A3470597065785850374E557241544577456B646455306854476733625048394363384676743779496D4B6D546767477872444778342B4B6D4A516B326270736A73523679422B7456397546412F7A4B3479427754456C6A76432F44623748625268384D50644642373544623763436257474A345257412B64625664434179456634762F425576303073796D364A7075662B4A7255344D506B46576F4F42686579776E7233685478303850414B48426F597566365333312F4836584C316E47345330354954303249635661744A4B3166662B63347A4A344975487A6674596E354166596F6657442B2B53676573687A344162346E317263543664342F735968554B4174617A31474A527565524B396D69786F625543704C676E4F39326D386A6D5874437A65792F6E63584A744534454F5948443759453447586A6D776276514C32696D697A6A5643696F6B7571566A32784F6D65373067633230587856517538652B6A52315A5462484E55484F47374D54322F4E47563253647456787A514846796B44377365764564486C643230614F34533348755570527A6D356645572F5371736F78784C51564A6451595945366A3361655636744737784359636C6C5A6D42537A7233327345316A5A7655306332363248704E556D333432797A746567524651635758686F6849777044644C62374E7874645434466E326576574974693968506570424E4547797131767845657346574948596B315A363559794F68615633586476483777322B41347037336250337846646C4A6139665142393666543678666E332B694D714D7957586152392F39357865395231464F704F2F7A6862504541514568594C326F4132673251414230636C797434642F392B35426834657777626241534C5532676339683945396B3633624E6B45784C474E5368536B5831693954366E50497542596B6355642B47364F6E694C556462733648707434706F43666B79484B4652644F61497254356A68677354485652493733496638504530366E62646B6743624F6C6B3676793133337433754F5569473559645351445859304A617078744A6C355036736E6A445A7059786F4E4E373639345A42596565704D48562F482B6F4F4267536B31757569362B624170794970324B442B75596A397A66526B73437735534A6E5A52504D46714F517A6A334E6246716972756C7066555655774261736A6D646D68316171446B6C4372444A306F2F6C36436845524A3044665444314E32702B4F504B3573665836656E566C73394D364368496154424255726370413069696C307570453437644C726A392F6D35756375762F2F6661585A316879307930356357614E34495A47315746436D3445782B504C42725444382B51725542496A4C36666A7237376C6C556F3078735662507A6E63306D336F74327467506D7863694B75417653784669666D414B4143386B3465647878534F2B7A657067574D585661784C71746645325458537475754B4A57337546694B477049435251486F48396667364542364C3939483866474C63714F375842424A6744796E43536665576371665635472F613843305856717A6741334C304275354D49366666626751422B4237644A36542F66576842546C6848626C737676484E557A34332B38564655374830355338613374372F642B4161614A6E624443724941776F46793746666661352B3950746569674659686F74665059425679765457374B52586D334B3733394D43576879626A694137556D314F53504768614E7452686936346A314845664970617031326C75626766586B413177756C4178314F5867457842442B50597072637158596C77706D48546363313845626D46366866326254363867564375376932767142773070772B6B7239744B59694F516559323764614D314E4B732B372B36495844584B7266727A68634375726378785866774B76645375413170547642724663742B31486132704B6B31515841557A4138746A5A3771746E3434372F644930624C5145645149794C2F594D4B7A423764412F304762516B5752773433494438665862392F2F716342663542596753433668396C473578487059724342594131514D734D42676B32596C57375174542F30477A656345787864774E52754848315844336276324B373578797744452B58774C44685A59576A4D6E646B3042484B2B3561306F686B3977324A2B4474397A6B2F562F716E32664B525A79354E58444D4C6B4171544176573453786C415045645048474872384C506A436D624B495358345A75684939624F2F54323074556C6D7A6F5378484E356F53724A53756359323536557379414E2F494E4D304F5964376A4662516D594832696C574F646F78725573553345656A472B7669736347424B422B6D4A334C35506945564A5149366949394849746D776248344849717A3467325934705A753656374E2F694A794D464D676136556334686C6D72447277666D59426935786D464A726D46697562586E3439755063676F33644D5042784C326F6F53573853573152577A6557716B5A614D73577358527132616D31356865432F55445838464452566146727858657358575648356776592F46494E616A47625152367A2F7367344D724A6C6944524B5779713073324A424A42584A5469744D345334722B4A3747352B47345458343059644B4D71724F7A656C4C4A6B3771624F456658506C7336452F523759612B6631426D6F7274516B5241384F446F4D41715331384E45614C486D7244466D2F567575766541794F7A7538486736526344745273556356662B5A5077335A39664C33686C6A63336947386A5A2B77344A645A504D734D2B6E5465694655344A444277326C555342395641385961385A7455756F4A4874504B4D707A2F62756D4E686243756C65567A6C625A4E4D6E584176706E6F616E41324539764C76785232374939334A6A4A5357514A634247466E596F624A6D31305A575A6961313538563148532B684B302F4B6C744339426D506C5A4F6F486B663966616941595036676736492B494E37337037615844536C7152436D617878593053686D4B6C6A6E41736454716A522F2F6679395931513669427A4E687559444141355944796367325371776E73597373663643356F566945526743684A683036412B45764D69566C447249495644676E5061464175765645757335674E326D4C743067734A367235497551514471596363493632652F72652F58494A78665969726B316F45307343646D6F486E66566F73544B72426D5668692B344A4A5A764831634249777764633341666F674548576F59486D5878797A2F75775746555647537A522B694C68443948756A6C3436732B36783239363266334755797868347647495A5252686375785858716E75756A3675597A386E59612F4B6A4F2F4F456D5449376F5356587466694B61313938454C4A426541587151513352566F4176533677665A796257552B6531776466686172326132356F50536179484A796D3644794C744B4F514466344C3746646655436C6A4859742B434E565435695662746A41723930774C72775154774775597734477A3834737A6F70624D6D58374F5558522F6D6D574E7657716F716E7A667A32717233504165414B5A546E6B502F776F5833497A42664B77444D3932314C4D756D6E5872307859553867682F32557A347A67585352646C793535734E6C37336C392B4C4A5A5545316F756C46376F46316B2B71304B55496949786933356F6158414C573739797A4537596B6F67566A755430677364364C31354F71424E616A5A59475A434E2B696A377532524655396534513563377A4630506A344C344473335A796A414B334C66624B324B7A302F734F61506864323938764C524E7935525656324F46365057354B6B71356B363135662F7131622F307343654757777A4249397A75507A612B517175716849724E5658586D4A6C2B2F4249303362766E6331552F2B396A3932746C2B496C744D4E785178506447437A307666727A3139566C632F6C68754F5673364F614F66494B6E694B387A4C5247592F72797A494F69473432386841774B757747774F5063613832674C7358354567785A326658516A4E30504F2B3230584B7064594430684666666E59584555334A424851452F4C42525944467A536F5778706C6371425871625A76416574535842486F7076664144556D76524C6E516A784C687774436C675056524632304F33773664454B55424846652B44483730307455774872514468345637326E5955412F64456468525061463832386F52622B436E78306439447637524D75545238334D3141426149455271565841554E72316952624470685037714D306B31714E655254366B7A6B47546F397942384F73307A39394D4955355546494963416E687972683930556356394E366B4B4C6749325163644757385255645969646D55324F4B68466E73524550434B6F594A4B2B4869536A786A5472595A5A7272724B6A4F7653634F45725A514E5346574C52424266314D39484B344569785965394A30766234413041326E503148484B5070794A4676694138315874614F4777304D4E322F5A56586C63456D436E644153367758664957786570537A532B3644357A366C4E6E644D5539376F39674A59362B426B66477475644D5638324C78316637674A434D34477954573530417A38563361756D6D444E34636F487979394459446F4570624D42364A6F66317A3332365559673869622F6B62336331644E642B4C50574339617656433239496732425638786B427A656336375735314D304E757448566D6763327658524D4B684B304765454D6759336D2B322B5A614462436453426173612B5A50574244735A364145764948756151786A5852534550614F42353473585A4E474E5A6F4264374B47413947675876486B725365516566424B43424B7445783861484C46654C42336A6D4C4173633378444872635362494F354A47594D564D354E7264626F666C783339542F75653937392B52337650375069706A624E71694A596C4D67716A557075512B6A58586D73424545655A733157577A4B6975676C46584C3442466C674A335A2B6B5635395158314E7833303930626E3335352F365A48506E697839506175533975576E4E4F314A4B484A47503663433731536C356E516C6874586D58584A366D57626C473549432F6C4131594473685A4F3470476B5235416469544436734A745A4831577656743350654C4945474F4344554E72674158704164667641516F434F78586B6573372B4B7137724631326D6D567848715975475143742F68513969764F363539374B476C46426A7459366A4C46664F61354931747A6B70704D357A517675472F727937415034433268396E63456A712F2B3836387658724D38746A71626E334F735764487475585131366A4C465A3362316D4670442B2B4F2F524F31772B6831794937702F4A4E5A50714E5478697767746571327154613161625567796137667668583849676654443358474A6A4E503050685857717971766847714D62386C4A74686E537263597231717A6F6576717566787A662B74644448797A355664655547734D59733237714E637359662F584D3647754B565256585472682B2B61697172476D566873383551734176467679436F514D453943666B2F2B6973745575355955346A643868434534367861704A727445767675653431313236453336734D6F4E5276752F664E76375A4774596772413861737A6B753562676E4F744C767275505A5A584B7468584C6E36452B374E49735150566F53417076304336324858737738483951744C7134567A64484A2F31346B34325638766D6C37514438314746595269343444666844596F734237324E4778576A56695A32636A52554D423649437671437766504246686F7542526750566F5137446D3637397750636D796C74756B52596A334542695564554C776F374B4B66744355756D544F68725967377A6C64637957324B367A4B6A476E4E6A797A56647A7A2B3054356A326A4E55744D685955646A3077676C6A66616F4C6D41645A2F314376736573394A72493959544D5236386664306957337647306A474F75524F774F4F465A47785233476576587052733173464869366E4B536D7A6B376F35777061463451554154304B676D59327A6A535A492F682B4D73767336703431704D4B55766E33623378475167725779445937624844726B66727A666C7850654141776A536C796E4450697874674D71416F5A2B72344F745A7A66483074327456385659644774547062374E456A734835394F52784D2B47666B7042413459565251326E7135584B3237354E72366955737A3032703071685658784B38725A6F656D5A52373864504435584850656E7A652F69714A4A6D494F482B4B2F6554794761452B704D3062576131477558514E6F496C42587A347175794958506E4E425A50724E4B6E6C6D5A4E6279356D782B4B794B795A6674565331617661594E6358387A744543565A53687572714966546857773530622F77593742644547324C6C464D59557571666A6A7A654F735267344F6766514C72502B4B58532B7850675334357257554A6261424752324C7841636259415167573577626766573334524778586F6F6376316977447766715A55434D33736E6F4B7164545844597A39706F536C5730656D6C425557773468752F6953615331464D436B6D7478624461376C6F715136706F38554F755076644E43326457344C485A6C516178316F4D453961554544374B726F7A704B71435857546C726C4557643370512F73554A7A666C33427857324C303872343556613136736F7730414D694737574A37586E7856733055692B6E7554533843432F7243483845394B426F7351496736796E746879794A59626251714272452B757035724A4F7758342B756C4A346C57416B614166594276442F6B59786E71344F4D5436745270566C77357651514B663373542B656C61396E784C54717751334B54315461334A54476B7A7372792B2F6A4E73694E6E492B3845684C3970545734686D57334C53696D656556476935745741697450327235484953455078664E4A574C6D7736766A7570766343596666466330502F4B5248574C6E3442304C384A35516773483638334738576C644968766B554C724E2B366679654B43614D65696753474A55514C6D68765834663536777233412B6D59392B364E727548704274435537707072724F6364585A6B35754B347176796B7177614D5A32464D57414F54567A78537551646C7248674F39307339463637383343526847354966794A626573662F55586973726C544F6865707975656F724E6B7353444D3775305A575A634C31504B2B2B6146717037757A4B6E416B72736D5930496F6E73735A304C75484931494E36616959756B71786453743758706F47446544527A696477795177486F3551696E6A616A4D516B703832495835724F497756574A2F33323037526551755068336D685179724D4C4E5158626A67477354344B6C673373656C68704C566D7144694E3078756165765245726D67536568766874467444483368344746742F6B6D6F6B7744592F65446E4D654C516A4D68463247646733486C487642563949677067306B58632B57334669624B586D5635713341556152724634676B42684D4136385745677148393965384E37474F7538646A504C4167376C6A53492B4E2F3559474C665448596E563845452B546B5457766C51636633363044744A5A7633493873774A61786246326F7A786E416D69486447496C6D4445655751444B586F49795A2F4463555A794D4F685535624E2B304C37343073723858663575694B3959436877537A503536336332303679486336645747502F787A6736694A4D3361634775734257343277433454516450416244677A6B6B3169505177712F7941644F4D472B5235336536643131755730697372315750764B714972313962704372396E3946724636545747633832352B35512B6F44793849694251523837447932346F544670346179552B6878714F31735746455055366C77612B4E5A73565656476244505855364E56586A566E7A4C71464938785A4D4256624E2F386C76714F41665155455974334952763145572B35506E6E385945524C68764B686C47724E3746482F70677A656E31513742656A474B36614B6D6866754679302F6A56324339574E77445A31474D6F5667762B336E5A6C516531707A6D4A396547514643615841383645637354624433462F2F4976335641575870614656563830536D2B724A595771365242675139667957434E647456476E47704B575A414176556F4F516771686851387443482F377977726E68736A54366D4D70507A756D48514153354261465332624337505573655A6E4444384F6641524B4E2B524539325A522F79716D67746E61484B64716575703378385576666E45626844616151696D4C72754A6469762B433171345548345936376D336F6861783657384E7234636A4778786541326F414F774433546E35344A395A504B7866665A67464D58547056467A3044696656737558694261695541542F6D77456A526358772B6B34425272614B6E56657456317861723665534F764C755A553675723555396375476246694E67496B5657756D724336423068315671793139396537454E5956556239524138427549356B7676756B624D4478413149726F706F45762B6359423769374D7155536C794C38783241744F6D417A7452574F684F46424E474B4E364365734E31536F57616E786B674F65426B6778594761554B44596372364A614F6254576B6468657A787432516B724339575656334A666E6E52493652613954384A3179336B4266636A307965764C6F77726D33395A34794B307668502B41513466432F6E374237684E7833366C2F777646665835313772684B37646C6453364F717551775264306534635A4677356D5A44773432717A6B3673557164613950455657575071546171567332436A58482F77587971625A75793153366D6B6158727230436A2B3062734477436771674667502F6839576C506C586D30644C7243666E32536544576969386B33593976392B414B554832534B4F2B37494F6D2F5944412B696D6C326A685933784C425737676934576A4C494E5A4C7551324C4C724565366A386345706C424732386C7774542F69663331314C5369616543695733452F744F57567357567156646C637A76734469397135646C504B2B7158524B7A4D7661316B4A3558513435484B4B73646949586F55556F4B364A3961495042316A2F6A6E32665336624D58513743583256427369644834764A3349735231796A4E79454C6C47436478654435794F50545247504B616674553073315355736E68752F644E3445613236367253436C787042734E75414D5371736D6A52456B7234654A6B474B30525A316730553564705A315655586A743362663168427A48506233434F665842524D33365354336161717856432B762B4E363973414653686F5A327034787636634941795968774F494C574E38325A544C506F3561387350526241654441574A5337493335442F6D3745457A65324454532B4F7264416C4E4F66773832774B66514D2B312F61706E7734314E7238764E5746634A4641625939597539702F2F64742F754B2B6B57705A647A374647325343732B6145624F75694D7347314D366E52596247413044767A4F63794F4D746E4E727A367877334B5869412B5955754D614D4B4C5532707A312F337031326A7738494663486A7441435079424D5676783443327736784E7239576A71634A7752412B7A7553786F5767703966772F70424242652B37586C744A3964496F4B48487A317961386966454F42775A6B6A424851386B315945665A595149666F666E6A4E3932325776524F7A496D3571706A6A6175726E637A73587647374E4943646264556B4E4F656661436A39582B6E7342707A54517650364175792F6F774F73626472365676697872526B4D6838737A2B6E4F705A71717679565A306D78444F7931636856686576562F4F52624F792F354A72455A3934704C78336375534B705254366A574E6633356A6A324B38334377483042504578334F436E664D6873357A51374D43363248587731614972644F4244794E616A434E74326D534C3176525472704551786E712B396C577333362B347A6937564A3848446F7A564E4F45414D30797148594C306E46484A7931414F4D672F38456A35316A4B30797330584346534D746372756E596C634D42516C3235644F397332616C64432F4136304331712B6577787463624D583763396F7879616476567961414978394158415A495433552F534C446D4139455132693557504C4252532B73482F4C70484B44324955437741514D345A684C4F4838664864794A6A456577487357484B59707241424D5541326855412B73644C384A7465737A354D577A3538523346716F725A48453765596554383156625252626B2B5437557554315632575853374B6162466D4C7136494772563350476C3670314B5037674B54676164397144586862544172685030787169654A792F4A484C73794B373438453634356C5A42744C69634D4177706244516B6442574D37697447694A7A5558706C5A7255366F30767A763637732F332F4375314A5A2F6C725A7A4E556A53717839546C504C486E505253516D6B324D6651587A6A79704B396E6F7A5949485251674B4A776A725551736D7675505A5A474F76466D4D7576594433344E6D4D6C35314B52537A42576D74516A57334E676547337033737578752B446E7954594C4F512B414A364A376B317148325262445747485864307658454A3672317876797556466B36426A3131545554472F4E48316D70677973526356544A69545A4671325A586E72693862585479333861366639516A4A73564D33414F7646494C4F304B6E305548494647413754577533614F72786370453979486F44784A3376394F4A4E2F36796A6B51384D6B786C2F4B4F792B4F556D35654351636444486C526A487A73455138665A5465614265514B6C476945772F662B47396976424C59706A463030477A76586F647031417A595036412F6A4A6A66637966387278395769695150786258392B41426F7A61505650483137482B6B483967527155783371784F724F65715A2F474E787152612F595271666461616374674F51414747497A73467A497554374D30346F6A68526C7279667479645577757330786C2B7A5746575846625775474455656238735A6138345A74304A74652F68324B4979426F427431336138456E392B3365667A5372426D726C79513346366A4D326448742B64774F48713556432B5745312F58615553313530396F5731663774743238722F663955446F32724D71526163784C7154614D62383643537031666B3247362F4468704932434741486E617149416E7266542B64576D556157324E4D74687048312B596B562B765471334F757146754D496F6A4177524148723464483145534B63304C7858647938434F564E714E58436D6B367763654B6F4848505A5378675677514A694D5753384A465A4378767348335032374666737241312B4D4B39646465454D56585075307178657271756343392B4E5835334657446D644C36704C7163715A563545445A324B586B3030744152584F65384237462F716E696E4C77773833787A346267716675654967655954632B3569576E4C5953324254552F323047565756732B41476A6539594D47727037484F742B623938363639773763484A513733484B4F526F6F6F46676B4376426F5A6863354857664572797359516E4B54677347664B677A6F556C50714E515733397830545062686F4435464B53425567412B5157367A45655568782F584146367033643949435036475A44696C6C3354686E4831784E7655414B424355363343386254587358396D654B6659636B647653706A516C74683347705939336D63446732436F724A7056465A4E72465766564B612B6F48335A4652326C32796A7A7763536C47616C6D59317054486A525A5845744F57705732344D654E79444F74514C426154476F46627279306439745A71777A77652B4A714F5878326842696B6B46366D333352674634714D366B59594F78734648514A6354317170546245595362553573432F4856334D39766B38552F7A2B562F62484C356B7862743152564E512B534359434F7533474A6175556C514D61347455565168496D4E2F49413063746D73366261694E33304864376D5045356347374F797835396863666E5345387751686758712B342F6E487A79387A6E642B794F4C5A4B4D366F74583957675362682B61644B4E79396C5A5644346E41514A666D3575384A474E4B71663433487A792F58516E652F666E47796258356162626338574A427079687A316A537A3665484E7279442F586852552B4F72454A55585264316E544B777A3053757534476C5763545964615750364C54716778397547414D774C725556387555562B6F4F7763376534506E4C394E4F724B48456370364856513362596C4B466274767876577A61556E514832327976456F434C426D636449615046784975342B70787846667132682B36676E434D636441394835484A30304265656E6E6664423665574738645954616A454B45374E7A5532717A353953763242476565375A42566B66484E6C39304E57486E43424C48484F4A496B307331364F4A6A71716A705478304C6855594B69534F317A6A4C697A4E4951507867304D2B4E666B547A4476693948414F4C346F64434177355967747734483756494B52644C664F42385376494D7A786B742F7A6A615A4B67506B75726E486E7830774F3163696F42394F4E4B75543743467366356E627844726B64557A6458776436342F36426935635A5A7859706B34334739424F4A70714E453676305A3558704465336C6B43637769754745774948415051717034444D654963446D5950666C5463764756786F534B7A527044666D7146585050366C79577343786A37504C73437933464635586E763770374336733446447A6874634E55326130454C312B394B715653427869434A45464355706F4C34693336424B736872616B67736459494F4C6A3133576351444C443173544B41426F6247504E6D536C3749796530715A3462796C75757172327A7853636B4C674851653867353874642F33306836744D3038754D6B79714E51447041777A6C6C4F664D73692F4549445266794A6B78306A726C6B356D56784F434136634B56747961524B66587146626D4B56626E493131394763554B5A7065756758454743476B43456C304B4E46754431695A32713879485639647969657336727A786C545444594B4741496F6C5744526F63744532513279745961717463504B536243696234774548307857642F6E5A377634746D61584376596B634D36782B3938314A724365472B4B6A765A71682F586D41664645324E5741393367473432305A4939704B307971317153757A4B7935372B5A74436A63744F6544704759444278397A34676734343039516959415634417542446E4C50726C7144735538734D30445451662F44307A316D705733704430346E492B486F775146516C6541475332795565553179584C6B5739363862424D7258717869442F5A62714C6C2B633839384662784273776756344565514B6350634568475A3664696D504637563354796747767876676148596F386F6B3433737347593046594137494F74657036316150335439364965346435396F51517572696D61754677396D59766F715366586D61617630705A633351447A53336A386C45786B42707835646665324879374C5156564F714F526B4C746971343877355A362F516239314872456474516E6D44687741546E2B446B325575306B7976433951374D775973584C646676352B7067336A654442793966577A6F654F73396D7050645A4D5465746338486F357477347377597163474B74435436423453654E3779736E396F706C6256684862682B5146626C78754F784942546552505A79504B3735586A3378795A63754B69645535592B70796F367256493830616C55555431355362316C7145776B3473315757326C37393865447571594A2F692F6365424C52646246365175793453784D743569544675566555474636644733583442463741763467324C5241324139624F53384475745A4B334F6D56357267496F7657707A7537564666783830377076457278437753495A6342577341675873506368675A637331703564726B643436496178465742737A726B72444E75503768667966664C416A33346C64503671484C5272324842516F6A4365774E4C704B2F57646637774458712B514A594831346B737132487441385851382B75764A4B37536F724E524B3356687A62686F5357714737714C7A7777694A746273314B6C474B416C68617733735539316163733079535571796330466B346F3037335877346D32564A75445A7962776630596F7269672B54684552422B4F6B61534D76766B34797A4443633557425430666A6C4348452F5749496E564F4E4177347872716963412F757230452B704D4E7A3337675068594E4977484D76504D356A656532503747597A766565485448786B632B32596A7A686F383350724E35497977344A45334F4458495050396B756B57457873423331324F313362443779785175662F50764A4C57382B76755831783761382F756574622F786C3238612F62583372663765392F592B74372F7A726F3366433571635336416D3567483341386366322F747638364F316F6F744E7238733478463077724E3035626F564F764E392F3231742B324B34346A776E53467A4F317A39627935652B74664E722F78344E62584874333531714E62583065636D2F66734848444153534D34514F6A5A44674F4F5451632F2B2F765774352F593873626A327A632B744F333168376138696D78417A657A33394B4B413443386356436C37726F4248647653424474743758396D3739552F62587676546C6E39743250486D6E37652B39746A57562F2F79366274764864335637516C2F3871464F6C484B456B754D73634139384148506752332B714F4F37663945722B7A5332545636676E6C326E5073655442674A7075795A2B775844326E616358506E6E6E6F553864524B666C7965527967466136524A5A514F4F4956695168763961664E7256622B373851666C7564414E35395555414349425732504C6F58364D42622F7375765044467A355575734533424D614C556D6D7866346D58676E41746F6B564365397739722B335A2B746374477A647366664F7054393535637366624737612B2F7453324E39343938504678547938746334543142596B63496A6663645A596C437835786E766A584A2F2F2B30366158482F33306A51632F66654F503231353562504E724C332F3634576339687831424834724D596F7458674830414B5751654E7539685A5743482B386A6142332B5630627871334B4C35414E794A5A744F5943743238363633722F6E342F6D484F5134396D5A387A322B586D514D6C664C496C7463652F2B524E4D507A4A545739732F474C72515565764643716B675175417950616567787665662F56334C7A31353138616E373372376632393739596D6258336F4D6F76584630663179696F4D62396C4749396879797336666E454D546A4636383939664E2F62666A4647332B39342F572F2F76726C762F7A7868616667725A37674D6B5342413072773662306672766A6C565266576C63796F4E4146534A362F537053395458317862557632486D3537632F5A3839374C2B6931554A51416A4F35753678516E3077495A686276653049554D3454354B4E5439314947506C742B782F6B4A7A55657243655A4F72636962566D4344474A62657575652F64357845416249454E424C7432313843523533643938504457317837612F73596A32313539597374724C32782F663976427A7763383453563655463677635A2F582F74726537553974662F654A6A7A647532506E57587A375A2B4D5332312F2F363852767648647A653765304C317865304C4D37665546392F32676D5A662B50527A612B67646279385A3873422B776D4541477467366F4B66754D42504D446B693532442B677A76656550446A312F2F327962762F507279726D36754E69494A4465384A4D3973483559333139356A767833476366504C72703163632F656576424852736633766E326E3765393965662F765062302B362B2F7657507A6F66346547624D4B514144575446327554617331545735664F4B5A4D2B35482F474A7845324232793469564845436D432F526545643738544164416C67626B6779425049495167462F54724A52384E474541584F70365264776F6C55484151483741527348516B4E3746486347546459306D7735735456716D414F337676676E385231794741394544706169616943707742336746776A58714362774B704930576A7171466A7A6B4861414D4A55504144564447373756374850302B4A2B7767414145454852474B59704A6F44364F46496A416A4A49676A2F6B4E6343394146692B3854786237466633786E73486576346F43456F4831434E68786F5848684C514A6A7730373349474D414F6972426263614F646835464F524937364A587147664430424A397A746269554166446D6775493870766F4D2B7A755243474B676176495667494451414235773955527863773463394A6B617777497743395449475A6A494D514C4368384A3645652F774734554B67486D4B776332777965595738375647636E796D4F48557266357443785862793251324F46693650345543496B6A53597153655A456B73523938462B73352B7A3954426E34304873456D504B7034746D75324C38516E59334955702F69636247765254524C6E496553594253696C6477417538436C48685971674E4C68346E4377763438726153504C3441534B5455736A5842424A49696339516674425A65416F2B344C5A4A39346A467361414445685753494B77656A67516E6C3343494E6A41447238446958614C6A696B552F4750467555317866495A456851684A72455274496D2B394966645278515632676473774A2F76466247474A52794258494F414D55655451526F37364849663941336864394D373744676C5847446C45506848566F4850476E37674A3569417453616749784E2F6A732B4D2B684F32517652753852547748516E624538466D6739334E2B6133587355567A37466664426A6A4A6B7A4867467752676E7A46734176593963525549514B6D53657159684F533452422F4867644D675A5A7851584B697A72614C7061555151303651313667706177526841663378444C644C4339636475534873516D4777344341584B45314157324F633461613579672F7266744F4B4F357578586B30324E38764A6E2B46367776357757576B737235635835427A4B6232514838692F624B4867716A305941456E323471615563775244594E484D417A41695A657351625333416A53594842516D31786A6F4E4F6F2B47304B5A513674425234594B6367455346594C4E7733704C4D694170423064366D57504E5656566D71796778566163596A687A39383033667754632B426A5737534F3634442F336151336E50792B68335876753945373330582B72646A33366142413576375362674166536A6F412F7370534F594B467A4C4D634244692F39422F2B43506634653275777A756450472F31484E376950627A4A6533696634742B6F484A37316331754D56524E6C56552B303566357534394E48756350764D42366F4D465131344E4D6A657251633747554B6432334A477055484C71514D67566A4E41646947516E4168486849476349476D4975376A4165414145595A31413451632B434973596E764964387A72414A5441655166425068654B50797A4D454478694D6E354545755037314D31692F58546559436F43636E777564372F507A61353076436B574630445969433448796453524E612F66352B4565332F794A584D6D495A6134683679434148794C3142656A414439344A5A77486E6344456C795A4B436F4B4A39506F664862512B34305441414247684F6739614D48776F50444554652B674F655871356E6A7A675A465167524D4B3879576B46657079506739364C4A4359514B6E75446F4E7A52464B6742704665452B6B7754446F544B6348414D5A79554F59784F48784161685961304D4A377772506B56504A614B63534F4E69365361676B6278414D35346F3049634175774A637A35684649764D4A3049526A697A5A50456175642F6B52393662474B335966454E414478486E5A3451315872633532536E6C646648505261524C3267493773454C2F6B4D385A4A5245476552645A4A4B736C68524F525749516E4E30517431654654506F43667147766852694A2F484D57574A424467794162776C67522B676B75484A384E6B67674B4A77413345536665683145466F7752634652594A774975664F3541696F3556706777524C3854372F684469316D434955466C642B3455436538524D4347623644676A76735441714A773142422B62684E71733875384A51444A73464649435472515368613059646D39794D505A42706546794C48386F494377766A6A4E6241613959576773687A6655462B6F4C4551616B56755A4E38514A776F57384D2F69554F59424F676D524B56754D525968586C464779535235434C336F69464B42676D456856655158675A474B4677566F4876573049396B35714B6F317479597A6F4B5935707A70375174544C666B54724C6D535A706D7A6A75374F752B63716A793438465067396C704D6F476E6D307A7048615072706E632B714D5347683879715A584953517571537A766B7A494438365270384E426948393868585A694F63666854462B6C6E564B71686538764B62486F696D6D322F4B6A71724A684751335344507234384531675034434254682B394131556B534A3148334A327330386A54794350554E7865344A636441564F2F306844374B7A6A2F313949684345636B6834526F5632376F6152424B486966627949316F4A48694154797878594642654879424743467536455668446E744469714F674F4B456E63556F45416D6B452B6C364163577765475359414E554A4C706B6930595378513079427635473974674551514751494C71365250464B5553664E444932515A4C2F49516F4D4338414E6E776B4863446145774277687A6959555334393432454947796F4D4E34485A4C2B2B6541574A496E584A4D65537A7A2B7643425834694D686B674843336570714C685973352B7078504E44564542474159384471666637635A623850716C597953447963597658356330654953314C7968496B415850635159754147503950716650362B544F417046734D396543774462674D456A7865554E756A39386867676E6E43566B4C684E7A426F45664173307857784D3961504A6B666C684459356B50657655484A595A457442474D31693564785379416D567765414A454244794A716E4A63316C3568455168466852434A4545644B44596B74376E5261326836686C614A67324341653269677346422F676B4F532F62694A7949484A376E4C4D625552474F7452374537463651357869515170635978466F6A394952434D536C66484C43357769426F326F546166583477694B355741517875317A4F3131517268426D4545506A684F5168743359667A2B515043696C674645576D5568524F6778745379393533334164586B4763516977434168644C6870476E6B454A614A69782F7A32496330574F527672712B68636F7630614169524959795A57675443774363346842654979686C5359745158534F627A3546316B4664476A51614736504636714F6E4649664F66425551347367776F2B776D346C474665705674587256433147626935616C6A4771576A504B716766786935785A6E317046536A4C72347930674C536A68394D3452536A4B66376A6E577168315665327269396847436F6F5951666E346C32426B6B524A37516C4A50596D4A4E6D79786C546C354E536E354E637A7A4E2B6A724F5A6345356F34304943306333476D4A567A37336A6C6956344F6742334F4131574C424154524D773933445044676F77684A47524142595133422F492B6F6574775239304E636656434950676A74557A5A526E506B32476769455937446C6E43515A4C3068474461776E33497457416673497351754D77554F524547495252684E2B6743544979426959435945464D6B35786F4B464354453869494E2B67544D736D48705A75456D3450706348376A454C51594273375366494F557051324D75344D596765614345646E6575444C6F34325246594B31795057676E78534A52424A65353452576755726B755979616131794C7941524A553038796B4D4547337A3335642F414B6A35416C4D644D6F66416352416A4A6F576F714D444159546C713634356945545A545935556C3843302B4454384276794436396B5A61456959434F4B6B4B675246355139536A38593947537751524B4668334567644A6B6F6859674E4A35457143646455415A75666F384541414168535355524256444A6A70444244654639457A414D3878773852774F63682B6B524747595150426B6638776A50425536645145354C516B694C5855502B41536741726B785152796777493473466F3647565366694B484C427043494A4F44387359416A4843774A4E4274672B586C7758686B6F754B6D544176694A2B42654570347A356E41775A42732B345A66716977337A572B6F4C495758384967416A464C6F7A6E4B3977476F4F2F6553736344303479557A4A492B492B4D4F354A62646C2B4A432F6D5534635168726C5548764832483542437231714A525453615657543257613573554A6461624575704E4F4B66576D635A62534D6C312F446E615A6A78395368366B314C72544F754F5668415A6A664F4F3355657A6758466C4A58336C3678696D3656684E6A315354576B4F4C4D6D6C45576E75504E6D6F6D32334B6756633151316D564831757668367732537236586376627868674778726D51315A777043362F6863514A5969514E427965373571566A48735A396763676E42576777627445634959566F4F553450687A71346658374F525966424478746E454A576B684F457358784F534443736578696E73644C6C394E695856465743336C734D485042566A772B6C76776743683379436249714F6956585579327146335A436F7949647941522B7A312B6278756E382F6A3933747849633168706A34304A4634554A306E685138594744484736334336487848713253486C666847504852634176726166774B304E4A484869645979366F5A71696469504943716D6948636A307861575152395953547A614766386C32635A4162444D65455051674C6F595773505A6B4341436942446D4E61454B4A6B2F486D416269446E30755832796178664259435243393843676872715356594D445A35434D59776850754B5169753370686A5171676A35417651412B48566A387949315355714272674D67362F44775978474F3654666F2B4D4C357A4579556A674F634B63644C4E5366443457472B596E62416E717643476C777846354565414C384F65576A69636A3469416A63434467642F5431436A414E774F546E486C4C53565A496B796F563377414A70775442752F42664652445A6B6230623444676F4B386343314A4936426F6A50476A41323543634A4E35703144743977632F43316457356B76784D506134416337754B444538664337534139322F636E366F6B7A5167575A425431316649545145564A5A6F567249576D4945684A483843737546347565584F6D4B67427238634456656D444C594B38694F69524B7946706B422B346F416A502F4169537271534969755A4C6741786865446C767473637A634E464B303952793434524B7732527A376757326B76464C7333413976744B4138365279773478567050514B655566336E536939676A5470394D3643744247615576346C6B6A66544B384D305156416B3848415145366F32544B3479544B736B345870436A57466944532F4F7173715A56705044645149732B6C474C5A703566615872674830384944543238422B42754B4D47626C425375615A435547486B426B685566554477514F6C43514865364F554A44663169414B4545623639574939444465374C2F73484848416B6D5A4A38563068354F424C7846334C74684E764E396B786A78736B654739466742654745356F636B79416A3851476936706E78644E6B376348777772446B676B724448336B48626C686336417579424D517042733044494434683045525173546A557A6B4354666C69776A7046472B4A624D694D6930624765793658697A30534967594A394969426E2B4441422B67686C79657945564934597A4A4F6B4567584E33474A32435252623347704135722F66495977346653344344346851337871412F45494A78714F443851623869314A67786D6D6A6846594439505A7037412F424A6D4D764155536954447A394A676B31674E527148684568444A4F704F6F534870556B334245767573586E42447A454E61496947456E7A45345466654665635A43715235435372492F594234675049734E6A347A52386E347764734979522F694A386747563349473652714A73414767783732697079735844515938653064424A4E655A6D38774957365044716869644C4A63794B33644C645046717843384158466D78766C5552496A58413068454B426A475256624B43446E574254704A68414B352F664269705455754D3849445A314659756E6538493950462B3579744A634C68353641776F434B3478436172414F5742332B467842396B524C2B4F584A4F4966556C2F55436F6843314A6549696F4551767852793542492F49342B6B46686F4D4E526762657978527769472F525878687755634B51722F793958415165522B486970704266466D4364662B703474776E3175412B774C454B374E75526735774F69366434684475432F4F4C702F2F2B38682F4D6B38654C706E76654C39564969644F687246486D456B4A496964346144455039657851666172775432635333447747654B3777736C734A7433676C386F376C314B594A66692F35777367692B485668726D3876416473754A5A71594D55506F62656B67534A515643412B4B4241344D42662F494A63795873385A4441494955514E64385576326959794B4F376A4C495150636F666D4153385541535542356558584B72516F516F423479616D4542674A2B4B424B2B4A574D51456F354C684D635A59526833494151567859526B566D55716B6D5149584C6A4564792B52427A5A5471557443766F47672B4D6F61394E4A6D5959735167516354776F46676941386B797952654A636D4439686837424967734D716B497557436677754353575A4B33634248425976614A2B5546676F477962384150434B675168615271484251434252524D657A4930347966684175475A78384641515745563046342F345730415137456A38496551686F534278437643456E3649344D454E5265744568344766506B37544252627769546B54454F41534A334345535A456232357147435A4D484471596B4D7956585863596C736F4A5A4279424A595A412F776F3649737236786F486A496F434B3844796F584A6A2F6752426A5743714B425851654579696C6451532F7737574752474A507050454837775859344F63484F34415A725353656844436C2F75654F455A3978484749633479327041546D4D75455A4C353456345445477967314C427463384730555374676F49444A576C6F73366941595443694B38542F454E5246726F4945534C4741647A677A757968734163595731414E4B47466F4A75702B366B71774C3141384A7671792B3131306377584D45356469777778572B48634D6A4B6B49744A46646C772B685059694E686C4B5243554F4A43744E497477535759496546625A4D2B4631776A4661634B445675797264556643594B496F51673348546C4E566A35395475432B456E36644D374F373334476C302B4852486A53562B366657527153536A69484B4A646743363978787255597141662B55414E4C5A6737333857324A694A722B526A72466A53452F684E4449472B452F512B6C5539365159675841746A386A4E3842305A54704238464C6E7870534E793931746F384D426C4A4A3654682F7739354F37514734503354683566655471557773665862736C4C5754704A4A782F4B7177694A6B77777739426A79665041592F50486C5236674A69744F336B417844456A2B2B644D6751736A596C69644F70632F376C5139372F437033367263686A6351736E475559656737636A667759502B57416F44626D4D4A435270384C6B34496F4545345951414A37457638756A6B332F41565470476F7670336B67597476542F6F723979495645626C7A536F6F4534365538784E3254496642455873696267332B2F547164344D4F52652B4772776234515552666C2F4D41345A324F413571394941414141415355564F524B35435949493D222F3E0D0A2020202020203C546578744F626A656374204E616D653D22546578743222204C6566743D223637302E39352220546F703D2232382E3335222057696474683D223335392E3122204865696768743D2231382E392220546578743D225B546974656C325D2220486F727A416C69676E3D2252696768742220466F6E743D22417269616C2C20313070742C207374796C653D426F6C64222F3E0D0A2020202020203C546578744F626A656374204E616D653D22546578743122204C6566743D223637302E3935222057696474683D223335392E3122204865696768743D2231382E392220546578743D225B546974656C315D2220486F727A416C69676E3D2252696768742220466F6E743D22417269616C2C20313070742C207374796C653D426F6C64222F3E0D0A2020202020203C546578744F626A656374204E616D653D2254657874313222204C6566743D22392E34352220546F703D2237352E36222057696474683D2239342E3522204865696768743D2231382E392220546578743D225468656D612220466F6E743D22417269616C2C20313070742C207374796C653D426F6C64222F3E0D0A2020202020203C546578744F626A656374204E616D653D2254657874313622204C6566743D223137302E312220546F703D2237352E36222057696474683D2239342E3522204865696768743D2231382E392220546578743D224B617465676F7269652220466F6E743D22417269616C2C20313070742C207374796C653D426F6C64222F3E0D0A2020202020203C546578744F626A656374204E616D653D2254657874313722204C6566743D223331312E38352220546F703D2237352E36222057696474683D2239342E3522204865696768743D2231382E392220546578743D22426573636872656962756E672220466F6E743D22417269616C2C20313070742C207374796C653D426F6C64222F3E0D0A2020202020203C546578744F626A656374204E616D653D2254657874313822204C6566743D223531302E332220546F703D2237352E36222057696474683D2239342E3522204865696768743D2231382E392220546578743D2247C3BC6C7469672061622220466F6E743D22417269616C2C20313070742C207374796C653D426F6C64222F3E0D0A2020202020203C546578744F626A656374204E616D653D2254657874313922204C6566743D223631342E32352220546F703D2237352E36222057696474683D2239342E3522204865696768743D2231382E392220546578743D2247C3BC6C746967206269732220466F6E743D22417269616C2C20313070742C207374796C653D426F6C64222F3E0D0A2020202020203C546578744F626A656374204E616D653D2254657874323022204C6566743D223732372E36352220546F703D2237352E36222057696474683D2239342E3522204865696768743D2231382E392220546578743D225375636862656772696666652220466F6E743D22417269616C2C20313070742C207374796C653D426F6C64222F3E0D0A2020202020203C4C696E654F626A656374204E616D653D224C696E653222204C6566743D22392E34352220546F703D2239342E35222057696474683D22313032302E36222F3E0D0A2020202020203C546578744F626A656374204E616D653D2254657874323122204C6566743D223933352E35352220546F703D2237352E36222057696474683D2239342E3522204865696768743D2231382E392220546578743D2245727374656C6C7420616D2220466F6E743D22417269616C2C20313070742C207374796C653D426F6C64222F3E0D0A202020203C2F5061676548656164657242616E643E0D0A202020203C4461746142616E64204E616D653D2244617461312220546F703D223131312E3935222057696474683D22313034372E303622204865696768743D2232382E39222043616E47726F773D2274727565222044617461536F757263653D22446174656E223E0D0A2020202020203C546578744F626A656374204E616D653D22546578743522204C6566743D22392E34352220546F703D22392E3435222057696474683D223135312E3222204865696768743D2231382E39222043616E47726F773D22747275652220546578743D225B446174656E2E546974656C5D222F3E0D0A2020202020203C546578744F626A656374204E616D653D22546578743422204C6566743D223137302E312220546F703D22392E3435222057696474683D223133322E3322204865696768743D2231382E39222043616E47726F773D22747275652220546578743D225B446174656E2E42657A656963686E756E675D222F3E0D0A2020202020203C546578744F626A656374204E616D653D22546578743622204C6566743D223331312E38352220546F703D22392E3435222057696474683D2231383922204865696768743D2231382E39222043616E47726F773D22747275652220546578743D225B446174656E2E426573636872656962756E675D222F3E0D0A2020202020203C546578744F626A656374204E616D653D22546578743922204C6566743D223531302E332220546F703D22392E3435222057696474683D2239342E3522204865696768743D2231382E392220546578743D225B446174656E2E4775656C6974675F61625D2220486964655A65726F733D22747275652220466F726D61743D22446174652220466F726D61742E466F726D61743D2264222F3E0D0A2020202020203C546578744F626A656374204E616D653D2254657874313022204C6566743D223631342E32352220546F703D22392E3435222057696474683D2239342E3522204865696768743D2231382E392220546578743D225B446174656E2E4775656C7469675F6269735D2220486964655A65726F733D22747275652220466F726D61743D22446174652220466F726D61742E466F726D61743D2264222F3E0D0A2020202020203C546578744F626A656374204E616D653D2254657874313122204C6566743D223732372E36352220546F703D22392E3435222057696474683D223137302E3122204865696768743D2231382E39222043616E47726F773D22747275652220546578743D225B446174656E2E5375636862656772696666655D222F3E0D0A2020202020203C546578744F626A656374204E616D653D22546578743322204C6566743D223933352E35352220546F703D22392E3435222057696474683D2239342E3522204865696768743D2231382E392220546578743D225B446174656E2E65727374656C6C745F616D5D2220466F726D61743D22446174652220466F726D61742E466F726D61743D2264222F3E0D0A2020202020203C4368696C6442616E64204E616D653D224368696C64312220546F703D223134342E3835222057696474683D22313034372E3036223E0D0A20202020202020203C4C696E654F626A656374204E616D653D224C696E653122204C6566743D22392E3435222057696474683D22313032302E36222F3E0D0A2020202020203C2F4368696C6442616E643E0D0A2020202020203C536F72743E0D0A20202020202020203C536F72742045787072657373696F6E3D225B446174656E2E546974656C5D222F3E0D0A2020202020203C2F536F72743E0D0A202020203C2F4461746142616E643E0D0A202020203C50616765466F6F74657242616E64204E616D653D2250616765466F6F746572312220546F703D223134382E3835222057696474683D22313034372E303622204865696768743D2233372E38223E0D0A2020202020203C4C696E654F626A656374204E616D653D224C696E653322204C6566743D22392E34352220546F703D22392E3435222057696474683D22313032302E36222F3E0D0A2020202020203C546578744F626A656374204E616D653D22546578743722204C6566743D223933352E35352220546F703D2231382E39222057696474683D2239342E3522204865696768743D2231382E392220546578743D225B506167654E5D2220486F727A416C69676E3D225269676874222F3E0D0A2020202020203C546578744F626A656374204E616D653D2254657874313522204C6566743D22392E34352220546F703D2231382E39222057696474683D2239342E3522204865696768743D2231382E392220546578743D225B446174655D2220466F726D61743D22446174652220466F726D61742E466F726D61743D2264222F3E0D0A202020203C2F50616765466F6F74657242616E643E0D0A20203C2F5265706F7274506167653E0D0A3C2F5265706F72743E0D0A00, '20.04.2013 09:17:05.657', '20.04.2013 10:18:41.720', 1 UNION ALL +SELECT 2, N'H:\tssettings\themenmgmt\rpt2.frx', N'rpt2.frx', 0xEFBBBF3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D227574662D38223F3E0D0A3C5265706F7274205363726970744C616E67756167653D22566222205265706F7274496E666F2E437265617465643D2230382F32302F323031312031363A35343A303222205265706F7274496E666F2E4D6F6469666965643D2230342F32302F323031332031303A31373A333122205265706F7274496E666F2E43726561746F7256657273696F6E3D22323031332E312E392E30223E0D0A20203C536372697074546578743E496D706F7274732053797374656D0D0A496D706F7274732053797374656D2E436F6C6C656374696F6E730D0A496D706F7274732053797374656D2E436F6C6C656374696F6E732E47656E657269630D0A496D706F7274732053797374656D2E436F6D706F6E656E744D6F64656C0D0A496D706F7274732053797374656D2E57696E646F77732E466F726D730D0A496D706F7274732053797374656D2E44726177696E670D0A496D706F727473204D6963726F736F66742E56697375616C42617369630D0A496D706F72747320466173745265706F72740D0A496D706F72747320466173745265706F72742E446174610D0A496D706F72747320466173745265706F72742E4469616C6F670D0A496D706F72747320466173745265706F72742E5461626C650D0A496D706F72747320466173745265706F72742E426172636F64650D0A496D706F72747320466173745265706F72742E5574696C730D0A0D0A4E616D65737061636520466173745265706F72740D0A20205075626C696320436C617373205265706F72745363726970740D0A202020200D0A2020456E6420436C6173730D0A456E64204E616D6573706163650D0A3C2F536372697074546578743E0D0A20203C5374796C65733E0D0A202020203C5374796C65204E616D653D224576656E5F5374796C65222046696C6C2E436F6C6F723D223139322C203235352C20313932222F3E0D0A202020203C5374796C65204E616D653D224F645F222F3E0D0A20203C2F5374796C65733E0D0A20203C44696374696F6E6172793E0D0A202020203C5461626C6544617461536F75726365204E616D653D22446174656E22205265666572656E63654E616D653D22446174612E446174656E222044617461547970653D2253797374656D2E496E7433322220456E61626C65643D2274727565223E0D0A2020202020203C436F6C756D6E204E616D653D22546974656C222044617461547970653D2253797374656D2E537472696E67222F3E0D0A2020202020203C436F6C756D6E204E616D653D2242657A656963686E756E67222044617461547970653D2253797374656D2E537472696E67222F3E0D0A2020202020203C436F6C756D6E204E616D653D22426573636872656962756E67222044617461547970653D2253797374656D2E537472696E67222F3E0D0A2020202020203C436F6C756D6E204E616D653D22537563686265677269666665222044617461547970653D2253797374656D2E537472696E67222F3E0D0A2020202020203C436F6C756D6E204E616D653D224775656C7469675F626973222044617461547970653D2253797374656D2E4461746554696D65222F3E0D0A2020202020203C436F6C756D6E204E616D653D224775656C6974675F6162222044617461547970653D2253797374656D2E4461746554696D65222F3E0D0A2020202020203C436F6C756D6E204E616D653D226D7574696572745F616D222044617461547970653D2253797374656D2E4461746554696D65222F3E0D0A2020202020203C436F6C756D6E204E616D653D2265727374656C6C745F616D222044617461547970653D2253797374656D2E4461746554696D65222F3E0D0A202020203C2F5461626C6544617461536F757263653E0D0A202020203C506172616D65746572204E616D653D22546974656C31222044617461547970653D2253797374656D2E537472696E67222F3E0D0A202020203C506172616D65746572204E616D653D22546974656C32222044617461547970653D2253797374656D2E537472696E67222F3E0D0A202020203C506172616D65746572204E616D653D22506172616D6574657273222044617461547970653D2253797374656D2E537472696E67222F3E0D0A20203C2F44696374696F6E6172793E0D0A20203C5265706F727450616765204E616D653D22506167653122204C616E6473636170653D22747275652220506170657257696474683D22323937222050617065724865696768743D223231302220526177506170657253697A653D2239223E0D0A202020203C5265706F72745469746C6542616E64204E616D653D225265706F72745469746C6531222057696474683D22313034372E3036222F3E0D0A202020203C5061676548656164657242616E64204E616D653D2250616765486561646572312220546F703D2234222057696474683D22313034372E303622204865696768743D223130332E3935223E0D0A2020202020203C506963747572654F626A656374204E616D653D22506963747572653122204C6566743D22392E34352220546F703D222D392E3435222057696474683D223231372E333522204865696768743D2236362E31352220496D6167653D226956424F5277304B47676F414141414E535568455567414141666B4141414278434149414141425A514532794141414141584E535230494172733463365141414141526E51553142414143786A777638595155414141414A6345685A637741414472774141413638415A5738636B6B4141414155644556596445463164476876636742546447566D5957346753485630644756797037305041414141414342305256683051334A6C59585270623235556157316C414449774D544D364D444D364D4449674D6A41364D7A4D364D546C5A436B46674141442F57556C45515652345875783942594264786658335858664E786757586C6771655A4F3235724D5631335A37765734756A4C5333536C677231467168445730706257696A466151745563416B516948757976767463352F75646D66766576673351456B704B2B2F3879652F612B652B654F6E6A6E7A6D7A4E795A795132466D4B2B694E7672387243496A796A4557495246777945574362414972765159697242676849566844344B44553068524667724843506478456A5968546F4545456A616E6942412B47494962756754344E5372626838492B596B553047496B476B44424B504E353450437A4B33722B4257334159464761524B47633172726748353145574B4246524B4869454A52554545666C366E795448456663616A46474542526A7A4D4F626A544A64662B546E68426C626363356A66676E424446694A51455A53344A39765435725135626634486A4D5138596143596934554F4D74636743343278794B422F485067797A69496A2F4171344555676B41416A59357A6E46354836486A534459433570496F5064792F4B45517768396D6F5848653241445A6366555469346A7746766365466E437877416A7A6A555863684971452F6A4A6E33342B42572F415757432B415868447559654F587555303373674E71614545786E2B2F7A476A63494F343763484E5752597341396273676C4C45557A4D416E74394A76676731754352444C4650586432327077327038312F76354743586738413552434C764D6C43623748494C68625A7954783433453033524C6A42492B6741692B776A437030364F734243687A676465546353722B4A306B462B50733944414B534F4576354F466472485155525A4351346772556F6848574F4A6D4C2F50755A433763494F56376D41634E414E426668735833625144694D744144787950387968394647794336567249447645585843684867365831656F3351526545327748454E6E50414C6C4A7A6A68426F396B38457234346836466858674379632F436A626752644E71634E71664E2F344B526F4C62765A2B344C4C45767A6D3158464A6B4E2B66655863526D334A71764B534A6E56686937716752563363724A3752714A375A6F4A3757784B6C5A57644A30716D68476F334A3267334A4F2F66736934584C7565755838553061496F7242465764784D393265757062686D4E74496A61473672396F77325061356E5732734C3135536530326238786D503348474F75674D7A593932756D414431422B5354693435586F55636B4F354C636359642F334654694F4A4F457141427945477A7A3675463466562B31686731636951544C46484D6565596E636E30476C7A327077322F7774474F733443554E6A5431797A4F6342685337626F73753246323135495A4A6D4F52315A68724E3259376A446C325934475643492B347A376670503049716D4571777958486F7337744F49575632365850742B6C6D642B6A6B642B686B6D66624746486B475A546557466E5A7230316F72707658565A48556F3475505770653945566F4347526B7A4F4135426A51687A674A544938702B464D63524144394D6E432F7A2B734A51412F436666775643416B47345561346952747850326B6A504A394170383170633972386A7868706B45583273736A307274714D6A58565357326B616F4C4E464F6474616B392B687A656E555A70693136525A74746F6B6F3030795562564B44636B375A4E644F737A72444931336353374F4D457837424A74367054624F725555334D4649587845564E4B716E6F45755470733676344D6579635A6D6E4E752F544B712F4973326D79624270697332367A7A312B3132486D2F52437758734239544C57583958715162434F4439667368414C6F41656A49636D69636857747846365A4C594A4D5339794C356759693550704E506D74446C742F6E654D4E45474438753638566E574B51352F5A5877764E2F577A4873756B72792B633336576133364B613336616131363261326E6B6834645971754D396F30303973303469706F576A7552754964396E47613245733175495A707A79713649434E657A476A546E3147764F624E544D61365A48784A7457382B6D506231716233616B71364B6E4F73656C79473870766675696E49375245352B544D6C434761524B7A6E4B432B47374D576F765479654135646F474E346E52574F7468664446372B584859495146354F5656734246526748776E6A4F6F6B6772756775446E6838625135625536622F32496A6A516264417977797732535532697554725A724D467357395231352B4D5844734F652F68762F734F5078556B65735A50393348364733383846566651733736446776374F3657392B6F6D6343386F32776A4C73425065633968595477526151766567362B34714972625043493947786E4577394D7648585A357A765432796F4C625071355A754F58482F795A6D395A646E6F514256414C425151543377474A417643434F30634266443475345751547473534366514F7233545349516B486A456A542F2B434B4433525A69666F684D5269626A47474276686337614165314C7442614444787A75522F5A3032703831706339723874786F4A395869455261593361374C736867797A7472684E2B336658675445574668417A7A434B4456502F70486A6243637679555851453349525A7965386635557671674A2B7A684B3979446672374F485953622B4A7036754D473957426C35696D694D72376B38786A77416363522B504467477932505243656A7641797834674955554E396F4B54647263447457635675313348376B4862696148507436484156514B625670473841526C334D4F43594D67674378366A745561526F7A5455356B4772504D7243342B2B62554935444C447A4D7769354F75422F6756793967484C3048594C334C47773446774879456649514678454B6A49347A42475639445369627344374177482B75524C30526B4A75394F6D39506D74506C764E784B514256426530717A4A63426A534C6471535675324C59776438564C6B4A6363517137306B7734695147453037464659474878674777496562333030306B4650463757446A6739376B693051416F47694743545A79434C4F426A676343707558705A344668344850694F526D566F66444465786E69597A38324378316C497962452B75314D31713432772F6D5458584149716864364E37424E766F357734773947733776495066652F4A2B323539364F646666507965572F2F383638382F657665582F2F4B62722F7A35354F6A57702B6A366E63642F3836306E4A683976662F513355555443423341512B3763662B2F56586E766F746F766A365078363439616E376276767A3737377A2B483276444237775571467772492F4275686A486C784665574D6F5070383170633972385678745A727939733153523147795337747142642B2F7A59675342714E422F684251594264325159456B504A6549705838672B66454648494E544B49617A6A6B43345A394173726A6572315137524F312B7A6A2B6E6F6F72496B4C4C4179332B654741554D627044376B444936353059686372725A3845427274666E577252704674573054753033487273486E59782F432B7335345237743633486D2F66557254313353767653735276325A6256577A3277327A4F34776C486670386B79624866424945393855644E5063414B757955483839713049777962355136545034423570395872797073552B57334B4B6131362B5A31317335647237323062666D502F7653486B596966736750413536574453337A6D566B36396F4E506D74446C742F75734E59663077692B5232614B5265672B5455356E5553316F64516E63584163614C4B435457514E4D474553763668453474345758416B366859667878356E376D48365A73703968415550735541694861594268384178466A682B4B676C5248475368375A46424A41507034554D302F4F50596B4239613853414C5664786B793752724A5A73717A364C3936685033774D334A6A7464504763506868456350487A703763502F4C383965715A72666F5A70694D326342696979477074544B35537974316E78796C4F6251465A6931534B507A6963576137466A6B5349324248574B6977525A6E68304B586274566B326258366E495764312B526E72644C632F2F6543455150596778414543494649727238365555792B58326D6C7A327077322F2B3247734236776B673273377A64495062537138726C787274647A72416651512B755577556967663779476E774C79303669306179384C4C622B783536783171724F61744C4D626C504D374448504E78706B6475756D646B34524851596D57487A6F682F446B642B764D37613835647254792F707452783439596833326A5136774A4C304F344236387476746745364A5963713236713939552F336A4A3838316F4F784D74447A6A68527577484D334830442F7A64376E693165554175674C724D616B646B57613079695A6C63447239302B45395831617156634C484B6430346E3644467156635A4E496570723137664B504D387A59624C37455A6B3770316B6B4F643474546C39533074747461636131703678334F506A76415A3267693664344237447645412B696C596A2F5469657471634E71664E66373252554A5648336F4831636230654B422F666B6B58476F314E5A7439324D375757525877792F4D724E5655394B716E756573797A6470704B624671575A6C696B554639546C4F7956615A4569302F644B496F5773757A47386F2B356C673262316E70613537443648435158752F33735768774A4937315853706F7846393538715431656D3434592B4F4C634F68724B634C3659797A3832774D766C6451725A3362565A566742784E726B2F75716B76696F67736D52584A396E663337564C4C6657717052375A52757054532F3330574E4368686C346635616F39477465357655736C5336566B716143326F6230797056316430717A37326A50334832512B6E77427A58756878724A667A79424E2B477574506D39506D66384A494C456A496B742B6D6B666F4D714F725A4A68724441657149566435695041454575493956627172647034676D474E764F50422F667444616E76717A456173686F71775347536D5A467A7159367155636E39623644594E6D6A6730353636696939313467304648646F726E33304A77663553453449656A306750524B4546712B346B592F68324657354675317454357A306544335064677A6C78585149626A6A446A374C51722F593958394B6B686C497674514F46395A4A545131694D6135636D7966482B727430617156636A39644458586D6B32667439506C7450624E454D52462F4E37676473447A4465375535396B556D5232477A4C36717449324C633371577A4C64565032646C7838665941786447456F6A4449643471506C693654305A704253357859765435725135626637726A597A3168613141424950554A592F5845395A7A41424A3650536767686870347861624B662F494557424449414A6F53437263584F444C49324A61486635425776376A595A736A7355476262645A4B704D6E667A45716C6A4D63455771436542684132773736536F4336535737784E44344F416F55484C4B7177354667566C2F3862626D6E587772744948514F505436364D53457748726C6A545A716A577971416A504E7A5A37736D6B764F6751536C48735431656A42386D455565325076694F5532474D3077314F63334B326630724D737A61444A4D4742515374484A54585352385070317256704F6B6A52344B34317039696F792B4B3453432F67397A6B6D4E54545739556C726452705179443548646F7A3637585565487470572B59784669707371454134756233566B726D53706D334D367654314664392B3654466750567851496D6C5A4671575762754D7052356D424B41734A4644636E50416F6A4F784F4339443736694D4939786332762F4648324A46364A68356939654B4966616A456E3755564B4A314D75615049335A754B762F68556871424E4469784E2F42654B3355393449456D385433636776524A706A7966356E78433954516F41527239377066664A33716F6B37694A4E73454554382B68356D69736545306751685465423150426C784978356A6C676D3343513978677665704963522B685A6C4D6F5841792B546268655972396163504836326D64535647724B7457705130386649504C634F4B32354A465A4749364C675A4A623947387754345354554E32704E474333636A6E6A6345326852304E34636A457A387A582B7773464F545A6C656E636B7032714A50694B4F5A3844346F3765482B454D4A4D64537272767074454D49747830305368485A70632B78614C4B3331676E575A5453686D72714E4A67564A6133364D395A6F2F6A70786344636248364E76536F50524943553747673250734169775074757154626171436B33616233304172482B4841594D52516F434773364A7644687836344D566E66766A6B417A2F3479344D2F652F62786E37337735492B6666657948542F33783772382F38734D6E662F2B6A357837353464356E557459747A4F673353687630524535562B6F5A71517638315633352F7A7A5066652F722B487A2F31687A762B3969446F70302B424872727A72772F643864654866765430517A2F2F38304E6F57586C686F6C454A547576554A6A73316775465376794846616368745558333948772B4F69504A43617541616651446369453250696668457656744D56394F4D4E664F46364271546B49672F537174342B434D7549693471643572704459556D58445155686B666F454646455169306370356752666B4277482F51467777472B72545461776E435974343255414438454A786F4D42756B2B74714D6E47555137374B4530653268684157636D64526E48493645774769323438345259674F4C7968684561596F6A5152416D654B546E494A68644F6569477555534C59493352634F516351464730554F75456D42374248674D496C355138394A76544D4B415945696468426F333666344B4B34696F2B544B5244366C6F4C48346B56325969374535744C6B4531487A384548436B716368484B534B436266554C344E7652426F4D422B6C62464F374C3478644B4137454C32655635354E6E6C646E6A7639644D504341796B67456965696245496C31723155436769782B5433545A374849487A774A783479436A306343644D484A794565516844465375456754654C44613651454A52627A54717754464B6255557049347755544263507842576E78636B4F533845303869626C72766937514C5A6B3634585167694745414530496B436271384C42517768514D5338684367636D574C7463547A2B30305A434252336B574A2F6570514E4D464C57722F7A467841434A4D7459545850574B572B4A456654744A774C3241364370486B6B70363449507238714B4C2B6B5746596A306339513378315466313372382B785449486D443566516367446F4365756453716C624B574D3979456C596A2B786E6478756C6A764C6B4C6E3371786C7170355972437A63744C6C6C5A7375663232415259657051594A2B49546B552F70524B364236433678484331483051624565374246434B556877535243306531633434496F476F567744485361697753472F573151696239672F78507A62326468736B794856695935466D5751726C36786C4B623247484B6468587466534E35676654546743386642325650675345435071455168766B5A6B68466B52444251366B4F7053677048363931466B2B7255502F67396565524A615254396B6E39344D4B47664435413334764C54716C4B6759693750554E6A5648714F517746675644496C61687961426D445956386F474F5166694155447670435075426A79756E446A38303445513841476568576A6D4D476449456F427A53754142504C4A733066424D50507968663877714F6D4141343539486A466A4976414331776A5A494E63693433674D6A6143394A6C346A766244786F2F4D4B377A43347743747341646D344355516E6B436C45546E424A514550754179486D492B41526A5165464E2B614C6A6E6F42625747586E394357653855724F43412F53435A506D427463344347414A6B4C425151386153574971797355666A5872784A424938486F6936417454593848686C4368446B425563396945744F595253314A2B694F684F456434517458354156764B5A77675A316F6B46494C505343694351714933634D54426E77435A6670416959443165424949526D70636872676F2B75344B754D5138744C4B5A414B5769366B45635245566D6970434E52747763433442305A6F6939642B5053507A2B7447666D5331414849526136716F4E664B4841693665545A482B554E684E583871514355436F4B623263384E596270725A547541516E516C484266783431433372522F49674D555977674479524B654B5A4B4B596350673138344572354F47356A2F454E626A6B6C414B6F6C5169596137636F565248615A56333643657650463634656E48577163523655464B584569526A765644746361582B6755617971394E3744464A3771646761534F7173794C635A4B7A64307644527942426F7542476F734C4E61626330486E65723369773842365159492F6769436A77465855684467524B4D6755355461684358365777447872645871506E6E4C5272304E47306E6F4D4B523256307A734E627A492F4843416F4431395979554F4C434A557248695A69515761673179646950546F486B715679576F767142793838437379696758704B6A51694B746B39413438792F6F7736346F3935416C445244776D69716A4D7A6A415752515A6F4A2B61463063642B424E7A67355348686B504135344A545342314D5349395877413943635937444E36366D512F61347A674C6A6F666475422B6E44376D684B414371676B4B65534B38504561496868654F38704B42516F6B304B51344846473241666E43454779674D30656B7059634E773937706F415433676A784D4F414F6F7377386343666359467A75485852655467553742463051626B6C6D6934386A714D4264726B6E57636D44787933717A76476F62355157364E4A7A56435153524E30674A4A766E6B6A73656449395052414943386358754776434F4C49447434444361366C484B657852763456684F453749444A6F7341655A3738766A42536A65614B75697834706A3871617A634C6F74775275426633305167616D314167437556624245502F704D747A3176476C5836366F483956776A4156414B46796B48735845515544324569656541594A37312B6949502B4247354D6A56634D5131784C77514F53476C534462756B51766945732B583842643265554D54314664414F50356F32437353684A52777A734D5354494233654148624B527730455352367A4F4E792B2F332B43496F534F6D493446416C34335335716A61446A522F323848304D79774C47654A3145454658733662636A385237412B305266754F566279346B4678554A30345443642B42432F74576C5855574A6C686D774C4E487A344235654E456A787A72436653314E4E6C7271556A665543325A56526B4F513348766B767A36796A756566527A6F686D34484B6946776C724C43313576487354374C526D4D342F7A375743344C334F49453777416C334A4F674B2B4D6144506B385531592B55666451516C782B6F46336D4C75597562464D6C574A53326D37465A4A335A714D7671726B396F725A70717264714C33414F395146716E35794F6349374B4234347269694D453748655570375A725A2F5A71766E6D6E33383953726F66655553744732547354655A2B6E6B31735A3446646444794C447A77422F7649764964447A49446451556363395870385853437448457771517A6A7A6B6D52674B75636634715763447A4C38334E4978377744664143444468436148727A7547444549517A68527663497048493569447A482B65483076415151674D63524D68784550674D7A5135736F7645454F42356A62422F7A374755754641315342527471516967786F594448433369616D4A68415843684B6E684A717436436178714D6A687A785351444463374A3059517475476A4C38646E546A49324148473972444177516779456A6E4F32464653582B456834683065672F614D5874647836703753436D6145444D536B706D34596B49586B42556C5652374D493767636A30516D766432774D79614C4744303049382B344B6A2F4E744D4E6762346548394C4D705042454A306B594D73656F53466B514130623063385979684B486950316169687A4E4954463259615767364D637041557342636765593737447A41644749594E6742664A436D417158634953496B552F654B6F4463626A6443516564766D506250514C354368356833574F774F456E575042467779647A687A596F5A696E584350772B4E5978493179504241644F3872504475496E2B666A346F554F552F6B4F4D486150306F79784351784D6F48463457715034554676306763424573576C6D666A795238494F49446238584A52626735464A6941584D474E7A2B504646575548707145704F735938534353615139796A6948336A347A4C5749326B386C2F4751543575342B553968665A784934416A6F5178354959475169544242776949586176336444386270796745366157436C34366F6A5565564C742B57414F6E7738413341753947475170793936324E4D6D6B796D716E6F317057666633714978784242716C2F54745757444B705A494867433169506C482B4337325865614F4A2F43664C494568456A464E55356B48775651526E597A62314639685753716F4A6C7161376E6B55475830476C50624B786459362F62794767346A394F676F4771637764466A71387376744C413848525143734C7A436A716144524C57423932675A39756C5752763362786E63382F684B4942566833786A5149466672623757667544332F2F6B4C5A62384C6D4E2B752B6F73613758753667377A31363535654F647A6B4A3833334D63472B5259364148326B336F636179766C464858427543625236646D443330384D376E77306465574C3037622B3639763735794F7450373373564B4F426A34554155574554794A6D646563494237664D4E372F4E466A327839333758706B374B33486A6D35484348386132766E532B45484375584449462F4354637A516F664B6A6B316550376E2F63642B59743333375065773338367650335A49322F2F592F6572486F59474437464568706A7645497334377672794A376330706A6556706251727A2B745A39666234635435514A544E5A6F507A5273416349432F4439772F355831333335366F7364617A396D5831565372353635546C33573337547531733133626E397948794E46474E55484954392F3441306B365A6D4A50552B4F3766365465382F44513238393874617A4244302B726861674B515448676667754C773277774A3650524947392B356E2F2F714F76624C332F7A7472624E6C3135666566356653746E744F74705039645733646E575774554E396F333366656533683137657956793868554F683877456D4A4E6A726F644451562F41547749454A774D52396E70476E4437324A2B767645384674507548632F36646E7A7950453348397533485230465A4333696A544250524A3545456351565A37536D4432372F2B354D446231477978393536344E697266786C2B2B2B6E6A4F35342F396A5A6577654F6B34563451457343426478316F4148412F382B356C6F632F2F36656456582B6F39743266354846743169556C58304B7961336134727661703934362B2B2B6365447278346A745141774C546F4B6C426277424F30766269613848704C6E494C585A6B4A2F4864722F36694776664830494848346F652B64575256312F31447277396642534A6842736F5066736A3437382B39464C6A4C373634594E504B7A4A614B2F4B624B5A6264754F4D7967324850686952426549585345432F646B687838357A61664E66786A724266646C734B4561694B6F4F56514A796D623330736D4B7A6A75593545316556664F68455772794D39595272596A5953396F543147716C504A66585459766B63757846415036396538375272507A536A77524345695364636A486569726E703970776A72686547526F4B664B6965746843425A7842364D526F4A732F47416745664941596449626D74756B79375A726B506A306F745565583464524C4459744B6D6A56764D7A39556E594150554968436E494B68776C423236506445724A647346616E6D696F39765776506446783938656549415A4F4D31332F48463366567A375857705A744C36305946493639586E574A52466A57577A31355574366C7074324E774F5652517765705146686B494366486D6477355550566B43632F6E706F78324C7A69756C4C46364A466E394F715062657A2B6F7A566C5A576D6C56414A30576A35614C774B695A7953546751416B4B712F616450356E54587A7A56586F617378627037697778586875533557327477585A687A627445566A5066626B6A34563838396369353633567A6D39526E744F6C6E72536F376636316159312F337873682B734F496F63372F4A527161764C6975784759757658706D307556707175545466706E397063432F386975696734364F7A416C30654775587A2F754F4B6A65325A686B7650744334377132394E6B6155363236536630624E30687357515831392B62752B4B6A7A6D5776654139644A792B364136647431347A6432336C374759316D6C3730744571616C4665596C2B2F5A2B7A62764174492B546E77694F755166473645467530694D652F43563462337458373571786F7246737A7631382F715770585255536B304C553147555A6D57575131665958563355565956794B6537517A4F30305847697565337838357875525157697936447653756661514377512B34614878636336326F393778572B363534394F74646565314757633130515A4E6F486C4E75724B7539547339513869644B4A516F59425056454F32787877734C4E47776F346D56583279396F71796C5A703044526E4757752F705231326366716465732F303332495A67386F63506F58524D4751636E3349507771464862723879693975574E42682B506932656D6E3570326474585A6E53705533764D57523347334D743274785752556D4C3670794F7173737379782F632B384C6267514855647A667A6A55304D45304D694964636F456B5A6C482B547A475165395931653272357A5A5556586F71453171566C793474576E4F306F72502F2B783767324730624F7841324E587839632F4D74646449445A64447330454A4A6A733035562F716775447833684E68505836674834416F762F694843734854664E72412F41657858675A366B476942615758684D6562667756794B7A35726E4F65756B686975686C6B347576446B5652436F38595431774C6332757A4C437035573445734C35584B573351534A734E6B716D73794634397431463731643366676A536A772B376C413938774E504B4C5845435A38714832796C6776396B684174667A3634783849362B503853615145413768485452436A6C676C766548316A6F515764526D43396844354B6A773774566D615850723231596B364863533844486F6A516F4D654635586B7367414A737147446A3855786976576A2F4A4876356A43323130764A503376444D33627459384B76502F426F494F364E4E6B32505430517055616854565570383270552B623136326262744E4E7236386F57487046587430564F316C6B4477326D553744426364704A45374153446B5A6341523855774E63446778653056633373304F57593149554F49385373594E576973315972304E4A506B504C4930775231466238385763677449414377322F7A644732616144626C6D545661487371684A4157317865724E47756156396D4155676F6A3461596F6458516D756F354E2B342F2B355A395972435476554D5A2F56306837476B535846326F325948477A724B76447644677775574C447248587076535569725A6C564B764A752B6135656C724637342B6441442B513547674F304961376A434E6E2F682B2F4F71546339636F463352577A335573535734716C396F7155377367474A5730514B743138625374793651316E317077316571432B7249664866334873797851624E566C746C63574F49323558667138486D4E715A2B574D4674577A423761486F6C447367784E523935687646446342476B4D5037765966727A53744F4B394A4F364E4A55576A525A7663594A4A7443736C6449473358534A67504E6C7A6A564B643361564B633231615A4355476B745A646B4E705558725370752F652F304C766F4D6A3447356F49687877513174694C69416E4D51383851377434772B392B4F4B4E65686271633236484B6146646B64616F794779726D4E6D6A5152354778487469484F3137326672386648455A354857626873396472353571717331755534484E6575327047697A712F39724C7162535A304A73515169764169666F56476A367278642F644274437358626C674E4656746138636E703136325257712B55484A5851427142355A50595A637879363745356C5A6D4E707A707146732B6F7232372F2F576151663875616D346138674C64304A427677735042346C7A516E534364332F334E58717247614668467876714A5857586E35325230335037563838546F4E4C6B655533394A537372696873553258594E4B6D6271744F323171467076507A364E6B6F6B3267732B686F4D736F6C56412F77425A6B2F504C6B3333617750796E73423642676657514D317942396277504F4D6243514B7672482F357853617336766130795A324F745A433666417330664F69566766595A4E6D576C5679394D444175753347756B7255357471576F662B6E486F6470426D6464444670356E4B354B4264494F52414757412F42697449366E50682B4F414C7234526A354F7A6B6A2B504D4F6F70466F506A7441546C4156776D4578314341737733376F396546647A44572F585A394E48334D426F355753565147737A2B35557A544E563732522B56785456435343497050496847354241556E345638654468424B7A5036745649367A383175362F6D316A325062486A69687774733151584E43767036755231466F3647566E583367574C6E6B7241526C326C554131746B6D77356D394B3839317274684269332F346B6A35523171416F3834514351504F584130667A5679344579716432367957624D726D39596D355837646E4E4F676A416F59415969655A5944342B55532F704664555552725076655A34465A6B6C575A3674515632413351796E4F616C597533745133523246544545795747683379306942436F3949302F2F684A616344723648315A46686C4F5833716B6F6246487359494874624F54384E63724C656C616E72562B593032744D3664564C646F566B726B4475586A6D36453146365132696C6F4E48543374463376766A6F374C584B2B5A62616A4D614B764B37717A4F34717961796762396E67713165484E6C5779566D5A7657794B314C774C757A3969362F4136324F776E3254673336566654744D6638346F376A4C2B494A3750354464525638784245467532697A504E63434365356E762F48626A37453564526C74466B6B58424A346F30314B4545316E6456536E3234716967636D774A68556934636D677954737352757946323779504C6A573935696F2B4D733649562B444B796B365733694D7A7036677978773952392B43465761466774417173325657527471387270724375735641347A357736476F4239684B6E493336677A544A795964396A76456A53442F567378615A5462646F732F71727059364B615662442F4137446B68753744394D6B725A41544D72684262487877502F4B62742F352B5958737431506130786C4A554163516C4F5654495338704749333259677653624B3642495A58667051446B323763792B4F716E754538747632377964445932687A554F3330776546494F696C67536B7166612B665475652F594A31756476384B56436A5579727972567161765872547076752F765A4B4774762F312B7766724B61575A6A54717469476F4943303279566B5061466E2B6B59456B4B4457686B6B76414C576F396C4431736A364E4E596E6D503845316763683751674D516B614C72676836454468556730504D39786F626E394F6953573871792B75726F657258432B5578415A6F2F64486F33724B6565424C432B57794674725A4B366C424463656533477630337348347251386D77494E3252477A6A7650425757427A3832655571782F4C784B49447834435234367745487272575462364F677961494441554B6B2B5256542B7A53594D4B544D733134425A414479384365656D5258392B70312F646F424E616E4F7851357750324F30765750334A62666255526E7136522F535A5A466B394A57675234363043323731306A543272597971512B5157707072313048787A4F30797A48445762587667523441564C2F52584D5732492B454D514A4F5A69345A6543523648557039492B4454726F66556B4F5459464E50366452645943764E7047786E6B6232655049346D3146646F6249742F2F3731714E4945667A31613648475A56674366356F71723239414D384C556973644B4A30487150627A78387A7977544142664E5569554E796A6B71737271312F32412B2F6464365A725171696A7556756430554F31723031483564756C5578723032375932672F50412B365239456748574842762F734F6E39476B4C326E565A725571633771716B753049545A6B4A526436716B5071724A4B63327861724D637169546E6172556A58724A736A6835717A48313838756C766B71705277584C464B537A43793756435077767674336A744A6B4764486E664B484D50456755507375414F46707876725A7265565A5747586B4A6E47545853446C56366A7A34504F4E75365747705A564E68666B3952526A6A594A574A6C436533584157586D365654584E5756586356506E6A6E582F5A7A39786F4F516A4A5172456C4B445450484E3730344138795443726144344D2B4E6852537253337131422F6A733644454B6346656545466A48365556506D696239374C494263365657525A555063376E626D3236575658536F5458653545524C3742624B416E58454B514177475333694D794E374C6D79704C717058544C4D62303631694E77344E66576675304B42626B3953306148706662625A5A685561582B6B43647054535A684351686D36336C78693932482B563948657158684361786E7270574C484C684B6B3242575338356553657957312F6971466E2F6B3574665965484D56597579753676546E4D59637377614E475A71546C4D3031556C745A2B593157776E726B377A54572F79767A6E384436614A4458664C436575743277696B77772F3848497845455730582F656355342F454B534D506C6A74315572394B4F617036507A6845674C6E342F5669444763533637765676424E74544F73786F502B372F7076584157574F6A51394E34514478517769516A5057416D2F4B6262656E2F4A74624469446A654835307172492B50346252666D6457744C727071716452384B53706E7764616C557376697A41376C544B757875466D5A73664B4B47526139314C6777465A7A735655455654625770434B544D466168346C3235754F67797445525650524D5378486863414537432B474C484146375258654852716375314970326F666E51627A44717A6E6F2F796F7273635A5733723739576E51715148516662512F424F412B7A6179353942727175536469505A414C6C6678726A3935543046795A447157764832566149546C4B6B7A636276683534636461325A645036717A4F36314D6C516E3947427335564B6A737030532B57732B6B70677663666E686A494343494E4166734B3862486148635762336B6B796250686C745447654631473251326B7154484C6F30687A3748706974715679336F7270465766517168456478335843706442785668455649493753484C726B714279744B765472584A574F394633344F50336F414A775072647A504D473838396F5579657675774C61377578744B334D733672774F3566524F6264473630764F6453326562395355646D74796D387478326856522F35594C7231755674726B756A6A6F67536E51423042543757753249764F67656849586E36472B584C7352766C3250767748625274464C574C664F386A55412B675533754D2B6E65635535793930526A5777372F412B764F3656394B65537A32637A373379476D4C394C5534774246783130567054386A336B633433546C4856456637576C7046365A3336464E4D796E5236536E617369793376305A6166786E6137786B646D6A6C746D704B4769706E746D76543652636D745A5958587271524B3136756766666363716C6E644E56393834756354674F46494D446F7834614D56626C5436636177764E4B484A515A4F736C646F5735546D7132762F776E5975756179313231714A766878596C78326E496851706972534456734C3273374359724A49486D396B2B5034667772632B71786E74646949717231464149713969447A48574752753362394C583974615A3546537A4F4B684D564B617678504B6461447073374E546B375032756E4C3458796266685A305065625A37783942636D6B746C7A44494F45383858534656595270752B4E43772F6C314E6E4F4654365A396A665A714E394F58707A5A7039695667504F674872556458354C52354F7750724D486931684A57314B6F6334433470766F49344D7A48457362762F505A613339332B32642F662B65367232303530316154327277497172485565676B3030357A4E7454514B595663574E6971664F4C34445449694854726F62705354346375426F6B515739423757306151725737325568364758794F6F7033772F706C33343968505743366D7A6178534C5A714C726C57786E6F347033673463714747662F5852657774616C526D304F7A646B43666969424C366F48376C567370515332636F4A35546362736D39594A646B71705A6146462F5776656E76735543447150783463473243686E37373535384C566932643331306D4E56387137684E7155514C48383771705A505855586246316E75666472332F6E3737372F78314B2F58662B76712F496179416F632B63314F4E5A4632454869464B6F624254585754533545437A37745A43712F3237613639665672317068685956625A54356A7A412F736E78476B335A36672B4B383368555A79793662313668752F75613133332F6D39322F366A75316A45326A382F757A662F3531584871362F34374E7A7A55617039694B70655248745734637531365961314E446B4E566638636679746F365278422F6C6E707078767642783748726D446A33346B594832764A746369734A3750685844656B6752786A73457A35427569496D4D395770516533715A7965525A5944796A674443623042496352373565662B46585269744B5A397470385A7732615876416E74564F52744F374B6A322B72372F724E4E33363139782B376D586348637A3034734C33394A37646B72792B6C394B4D7A31362B537475676B744935745A566473616743335353496A614B3370644172636F78544757656A383164544D6B4F625872382B412B44566575654C5858357A57585A4E7352714E536D6E483943716C31456347466B39716B725037714B32383048794C646B63514D47554E4136486D416345502F7037452B7766796E787575426751694D31767742704768693579336D57376931645137715657735A6A6548323671512B6449724C547A6E57383558317744566164734B42586C42756233567955326C2B66666C6E487676706353376977514374395A695343784173554C566F4E546574527A3442367A2F413347773834424E4E2F4D56556B724765464B34457248657167532F766776587767685354367366564846374A42596C66574A326F3135744B6B31475241506657797652656F395377754F70623231356D376E3030466B2F4B3778343263652F42352B645944466E642B7078747454544367434C62617051324756482F6E542F344569324B49505468686D4E396B41566638782B52735235365051436C5330504E4B74667233777672415334446A4D6C6A4F45675366554D77696655516F554363323868694E4971652B356366753365613155416474593646535A7572704331477956365765733053644E71532B76585A572B7253652F51707073725535744C705A74315A39746F355378612B744F384E564945787A73784C6E4B764F3362417170614D7978616D44357069357051354E58567148496E6E3570542F632F39656466416E3541484D66693434665A38472F42672F4F6274664F364B2B544F68636C627A41556D4458543239585161764D366F54526F6358317862432F684464716A59436734426C436C4A54534173794D73664E6179386B39334C6A7533516676393578343678454C37492B4E6A7A41757577665577437741486F5473444D6638772B745A464739666D6D6D6A7A45756F356457736B713771347132725A31376243317968665330726C434C35465554514336326C4569456F45724F3656736636344B5074597556506834436443417A746747674439777136595876384F7242384E306D6345304A6848417034787876617A38486D7431664D6353365157614E5A38332B7A326372534F6339743032356C374F787443346B636F2F643664776347444C487A376D302B6330622B4B6C67567671704C3661557063636D706E74756C2F75663350764E445237304E6E48376B49655A6C2F6D49584F5868664465687232305359374E4F6666314359316C366159464E4E7657432F566E5A66666F6C686772305879386B32614F6262717933765837716450314C6A383849456D5342416B687751446476694231576E447A58384936326B756950743168514E6A664831657A7A336668427159326C4A6573476D4A5A434B497A3731324258584E456E48354642416748675263343051444F414436444A7336766256697671336D6B34345642376977446B477778656948794C5449757944556C516A774B34776D6F657A447748703445544B5A534C493577545942363648576F634A5077586F3757692F43304A4A6D4454726D5872694746376B61384639366C4B38695574676D596A3078683838396F724A6C4F4854532B73586C4E7A6C3363387A6C756C4C5548615450635146356D782B3850613178635536764D52767567536E64714A6E4B664976682F505636644B4A704F622B494231676652597144622F6734316E667A377869634B71537A32434B5031772F487352344F6B536165547668467052316B624D3133727339783848466B506F6144797039696F544763595770435348736A7035532F4B4E443043302F636D2B756F496B77306C55494C54757378454D71304C43726F716335705665537457657A34795A6632737741452F6D42674750325067794E48526A776A4872366678463947647861744B6330787161576D4B374B765869623147354A3639576B6D47727A367861486E647243786F387A6A6F6C46494169616F6F6F504D2F786F626D644F687A33456145415551616E71625A6C716E4E7475457374446C646170664730614479373934436B61594237315A5A49773674596639452B726D466376367A4C765A4F444A344C454C37586C41656B427665526E7270714F487745483133776D3738307A32356A61704D6D7A367072345A6D4F33747163737936326658616E63774E6D455A6F7844434548496B412B6D6B4D7836704D73616C516A7154546F4176626F30612F655543776C5A653767454C4F4E48704759614748665A47446A39664878737245476D4C447A553755552B45594B68715374493935376A2F792B7378575857614857724B70706337793743314C73753236346F5A4B6446614F304377436664344D46516D2B554B626F422B786A3767322F2B66374D7272726B33686F61704C56574A766457465A75716A4E666130484A342B6363564C456F736E61424F54326875417833375136734130465A5A796C4343575A4444745A66547845425457646C6E4F6E654768735A35656146684F4D72636A7A372F462B717969443252514D512F57625A35646B2B6253664D6647634F4A5954304B51436A31447839375932364C7674436B5239637374632B49536B5761534A636D475A724656476A2B63416E494474555642467A6A436A364E344150724D36337136576239394C586C662F4D654F455348654552387742395368326D6745386B6D452B63415636506957452F37313339517242654278796B6541306732695662634E69782F3079396A2F63776D4661323566472B7370356F41696E6E6E467A496952727736416576544E6C594257504D32314362566C35357458374744597645666F374E2F4F5535456D4473535249646D4677764E7331546C57375770356F7273712B736B78304A706B7759743936796C7059435055496A3451434A4557492B6148486A54653654597A4166513049467A304C49354D4878657651724E786A2F422B684847316E3337657652554A447676616B424348504A3450586F59595671307A724E454D524857332F4C6B76556B574E586F59554235524C696C744651563232686C377071503651756679337878344871494F4A4B57772B594C33674E384E6C426D4C7541387A7A365A66666D4F427253624C706B33625745304450713258702F56584166725073793942497147507779583534746A6B6334314270393464487537373154654B484D62697A6373416A6F5764704554544770672B4852442F64574139524355414A4F4B696A387A354130677363504158443977487042364930453475414872613067753564676659424933364D4239564669446D4D41326D73384A317969797A496257334E6D6C6A58584B5873616972626B464C465A6F422B45576F3145445157765549454C4433346476544C4D6F4D7179495450547737462F49654E546F6351324B4967334D567361505A356956507A34676470666B7032307230486D68754E6D4738336E69544538304133487664766B416B7A4873415965506E657442376B7A6F56306F6171394774585370614B6C4B625332313534414230642B6B726134365A64445241466661584D676E356178764E365948682B737A4564765A4F4E6461677055706468527466535757745578796B6C63455439476642326849397554572B4750464D48547470636C584931625843625A6C4764643958366E44574C7971397033776C6445546B4F6F74796F6E77513666677A746B65675263674A486B456C2B4963346B43507870633871786E6A714B7742754F67564244494B427642675A62762F585A6F675A6C726B5666754732355A43724C334C59454B707655736A4439464B2B76522B436F4133493134466F504D4135596E324E527A326852582F76416E556470534D474C6441596770644649324F385431576B793337676A425333695A324630744266663869466750636C735444546A4E49585A346F452F7837462B67685A31784C42653750466742316A544F4C6A41656A66336748496B754F6665635548494D4F4B473330396976656A78454D783161354C6246426473574E7434322F5851364A45772B6B657448512F537A704330497475396A34552B3656773577364A50616C32557671564B3271535372716B43554A355A7233616A74454D4277492B4D396442746F3447335045644B424E616A483242545A566B304D307A364266557150686278376C69505736682B44642B36486A3041776F67653674716A4D557333615336377067324E44773350386E7A426154516168654F626E7278584174623361644F3639594464724B62795762617159724F7570465739374F74626B4F5978524263676D50443758494D54673842726438694E556A764D665070727A646B4E5A5A6E64687551744E55686E396732726F62666D74367665597145337655634A596E782B35674543633851502B6B644742394141414A365331792B454970787431575A616159434368476F7A5653585336376D6548675147495673687673635A54792B676479496351714D344555586530527845615663317549727664676B58555862514E515A4D7636532F4F612F444B48576F6B337672704F614B57583272353959626A6A4132355065472B4C356D314C2B4A304871482F6F64767A7A41706330794B584C4D7979387048354A7A7151724D47525578707071525432496C59447876306B43363172437A6F314E46634E422B2B4139616A67314A396B784D536A726F41522F41507268316B4C4C50714D696A3174506A647A706548316C383879316E374F6D30423636574462514B5251416A676A5451427846462B564C436F38745A7666364767535A6670714A573671354F634E63574F70624D6144532F344276474B3933745161304C486D422B7342734E5475766769564A707555536631473444317565744B4C37497365543036684F4B6A37535943586C712F7731746645445631784C75592F4944415976364C462F7A327443487A623242396F71576764316A54767A776C4336474D44456539554F6F665050786133744C4C70317572615436392B6372304C62553055575A54384A5858716C4F4E39526E302F5654436E7362644E44304C6A65786A70747133325368742F42547943756B4A42756D6254434538776C434F59446A576679686A4F50487745776D57635A4A4E77764F2F7850713458682F486569704B37683258655067694C6F527A49745A54554C724337757070617975506B764C4969772F774D4D5A6869473850695370366B506D322F76364F346D5A6C486D716D745654615A70436346546B3956545058566779544F38424B444F744A7277394372793878515446585530666572737843342F704F7242667A436951746C444959344576397436387473756F42706F42523541355944373165594830306A7656633551625751362F50636C5A4A7073575356566E63573576666F5A375772706E5270706D3576764A31356B4A44666977774771436C687046674F4141556F374B6D72793444534D5A35707071733173724D7669717037557061443961354F4C2B336570374A2B446F623462504E49595A476753756859646F576757786355532F43764C42764658674F724566614B486639616D6B4C6A62432F504C7150383445324E42595A45754E76586F544459516A7041436552455678684E52535746374F4851684767502B366831372F474A6C72762F6B7057757A5A3334334C4A7245727471697132316B4170666E626B454C7A444D61342B53703751362B39494E77507256666D34576B696E41634F4C544A7252474E6144752F696859526B59564579306B58774F35684C72386F4A4F4451322B30377975504959447652355954304C4331662F395964632F6F6B4E7A7A4E57464735665257477376395A2B794E3952636445336A62746F4367526753474274333052704B6B6C4C6165413649483655706756665957456D37555771746C4C714E4B5832314B6132716D573347727A2F7A774144534170625342676D68416671734D70516E734C3448657231527370656E624B36687057567279376265646473416567753030796A5377764D5338592B4D446150345274786A7548497835574D34676E685843695134663972416E43545778332F466A3541646B47427144453369647354315949524E6F4C6768416145447A503057383263747657796D73787046434957614B6A3866534B45626A7358693568515277732F7672554948416E4244386D53764B4C68756C645330654536722F6F47336E7A73344D55674A35682B62494F6D384B764B46795443555A3347424530496C5648713057324B5042494831747A314236334351385A4D796E473154364A2B62667A6D4745352B626A592F685544586751654D534B7969364551556B59333050696F4E726776594B6D716D32616936773141474761504E7A55586C346963496A6B414C56656F4A46767676635134574E6C5A6B3241456F467A656E52614A696D75456E424E5737434F416F66625238663733724E66375445704B4E5336414F614B4E4B36564356572F647A31536F48314D7672456B77554F633570676F525866334A6266625578482F58656F4A4B7369725673485162336B6D755A784B696C4551726C4445723073444B792F39624637365A52384B4E6649534938757861597574686E6D4E4F745576633351586A31635334566A784343594943494663763970664D2F304E6C32475351557653585A566D6F4D4F555369323668712F6351317142394B50694E423638626142755479515A32494B3441596C2F73564837797070556853594E6642466B7772412B733247564B73346F783869464849482B5837786F53436964744E324F7947506538775470503745414A2B374F7349694F3668715250374D427634534F765A30364E6A766A6D7A2F732F2F676F34454464343975582F4F724C326254467759616D6E7433365050614E5763334766342B74412B4E41634A486341674869554554322F586F48636C575A615A5A68654C4C74504A767770313074764134306F3865426B64414348516F77417353765133557A53674E66482F4B766F7A326C36584465666A3071554D467164626633425048656D5159505A6A50506E4D76656B7430584F564741353933305353316C546B66752B4E563574764A764642396B4A306A4E4841666846434E3036784459496746396A4C2F69387966314646423632716339495677336F62616E4D627969377457446769746E486F2F4E4E2B7769774E52746C5844635541684F63716C725455704A7357435274324F49436E31614E5634716347396642586C7943323553586965596E2F6166414373462F57452F7645654D68596E50484930695674774B524837314164484A776248574841664336372B7A74587A4E797954326B72664366542F4153495A4D6976794E764D684931497746564A37716254714374316E3741656974414D697052733454304F4F56497463636935456E6D4F2F484F75424E49415073582B3977507176507648427A7073394F664E4F72452B636D303163682F4E655741386A62766A39464C3265734E35576B574A5846446A307975733733655152474D463938764A46376F444C30584145515050446C782B66316B4B4C7971462F4162747046675339696862464348456F45657342707546582F63646C724F38483170656E644B6D4B725A6F5931744E43627A496946694B4F395648614C716E32573173796E554274465151474B4A7A4B7466754C4537416570595A756759746A2F5A63667532653679556744507367496661756879544672466A5472722F725262545379784A454C4A4B644E5242656D547374766A377853624B4C684176684E64784251416A486E4F57712B2B4F6A64674A676F665446416530354141586546675A5138376C41416A565341685A346165484E4273366251544965396B4644317161554E6867797A39735852513469496B736969555938584B756C347949584B4D4442364C4D792F7041586E2F786F38394C6B6E3736363577586C783737705A317271305A6D563271366245566C765971696C71316551315668535A64526C495664736971695A32525A704443383258592F3065616A52346A38764C57596251675057556671744B66446843566379704164625432514978724B6372314730594D494E6A2F51414C667379786C4E707361724135316E66526F486B69316F2B7836423457366E6E6F7A69774C6D687746416232314E4B4E586C3935656366466E5778742B646E5072543237752F4D6D5857753738664D755062327A39305932574F322B303333366A2F6675664E392F782B63596666333770335A386A37616F666C51344356703764593568744E533773573765586A664E4F43614B6766757075466970705565565A4F436352785559516E636477666D7631456559582B65564A5032302B69506B333948706554346A39494E7A77462B4B74494F36614B6F56725A4144647563504D66662F526C334E584C35786D4E7952624641533741756A2F67316850314646474D38425153666F4E556D643563582F644A3763302F73567A674852595A416B5A4366424A48726C337A444D5379342F382B3338623678324B4A4774466B6450592F754F625A4B79482B7969464157396F42326B6B6D5750397A3363384D37315464314A595434554F7664355A6E75355154624E6F357365774871796D54504645386A744B4D317157455261712B2B3432306B2F4E6C536C64476B4867396A2F422B746D32576C703741364869574A2F5272706A66704876737747767669665851526869373437556E536D7A5674496A625273304A59675443416F2F75322F38386A5535515847462F6C4F446551316F786D4244793030624F4E4E50374A68755A33363654736236486A396633476649367461384E4830495534734D6C50744250487751635A79364132754849364C4F4462362B3575573957737871415071744E5839796D6C6459744C7436384B74756B7A2B383054444D62733573552B653271484A4D3670396559326D6567594C73557956336137453756475332477677337651634F446C4646657144324F51492F756559532B70514C57412B6952474F4A327436625170455850695175743443326679435266704643447955645A38454C6E4D6970485767764C2B377463727A666337495371546A36694444304439442B61666E4254666766764C6C4256556D543236584F37394C6C6D6455456E4C5541713774426B4E56656B6D68576F33566B6469747A5779714C6D796F4C6D79757932796852545A6346314B344879535A75724D76714E4F535A56346472466E323674526A4F4478704B6E366831596A315A7A6F783664674E787534385757466168724C6A3467786E4E77326E775138304848363855397279704569612B4545546151776D6A49462F614D4D433936646F73334E6551316C68643247616933433348354B4C412B476458475843356D434E50523232327132504B4848787A6B6D2F503436667337564141354C3141325359654E3579582B2B33386136314F364161786C775072726E2F6870484F74706F4A6D587370392F67454F376A544E32332F34585A356F4E4A34333133557170717878613541797A6A50556A66494D746B5441596E6A62435A6141412B76684C37376747696A6267477967765648764A6F726A6B32705A3378667176506E72504C47734E507A56585232446831475362314C50587134345175393444363650556766767930372B643461676C724C65726B6E74306943584671737872726E6873654166516D64794649344641514278734D75476D6F2B396F7679302B4D766D4D5A2B2F63646D3142484F747077734E51314B5A396377435A6739596434424F5678456B304777655A5A78397A66655A58337A6D3355564F775A6C47656854596B79473554546575715462564242394C6C576175796D6C58495258367A616D37506B694B486B57652F6C4D62486E51724A716333715643316F4D54777A736D63697A6A53416435697773762B684F394131416459446A6D56647170752B6D3556336A4548537552656B47777A6E49417565684134423633755779316950787235624938374B7237374A4F53697750734A476F77486F2B48573339414D6F636D686A567958744274472B45476B443345505A7A3758546A415564363059394732314B747A616A537775586F457737623648526832363847464B4B6C674474596B6C4478586B4E47705376724E652F452B74706C6C676C6D52656E5739583661326B6A4247423945466F485A654B302B53446D354C482B7653687578434E38513679344D49335257525042572F2F3079384C5669346F7332734C2B477572516B5344474B4137366F42676F6E784A432B48323057447574783542703163787A316E3269652B58627A4C63374E416F73344D4F79637671687966723568752B544F59722F2F702F472B6C536F64656179664C76754B792F38487171697750713458753854494235454657555048583844574538546741345A3636557554573772564B7750457462375766673133334630416D6855415668764B3875794B6D6432717565765652786B775348363745744F47417A53426C414766414E476A374A5137653158303243396A5436476F412B465146626C706465314574595473302F452B754A32327056465171634E594F48554644714D303164587643665763774A6F33767255623262596176674D734A704F59515166374F717370724B486874343469766467417270367444364C6D4F69656349456477506F77333554374C393639737A71304D6B4B68464B6773444E4E62744C7550485A4C3168544550734434614452396A4163425A362F632F653161485961595A45456C66612B646675374B3462326C71757A4B6A707A624E6269773056785530616337755870477A74717977525A6E5657676E73546F6251306B634D436F536659564C4E617A55384E62706E584F514335554C4C4F756E62756B312F76414E767954324E3371444A6752634E6D70506A6B426F684139794C6834343059563569413167584F734343352F63737033494574747156795537714F6346587A59314F53446A35696244785347434152617176643078765668585964464465633842686671774E5369664A7045417A695775715530645647354A677032582B53416B6F31616269752F6F6F6F4E465032375A6361693264335674335A732F537561326133545179387835595430326D436C65306862596666484759373973615030547374506B4135742F412B684F6675424550384370714664557831466A2F4C756164766137696A4F346C7556594E6E614F455270374B6B70666F66784C724556632F4E50724B4E4964326D745577665733354134646668684250634C7751574D4354487731467148394C2B5249356F727659372F3935724C65556F35692B2F737144644C675336633463367A6C72424E6148416A522B38666A495473443353574539366A43746472575635566749362B65745577426F424E5A54706E676959654A59663453466C4C66316F686349785A4377336C494A6A52745166764831725369794F4E59446779477877443567506452682B6F514B656A334B756B7464306C4E62737172386E3241394C73443637373334794853546B6241655769334E4F6970546E647069732F627558632B4D6345796B4B527878654470394659554D687277686568356C775A665979417954446879547362354C6E6549307A476A52376A6C36694938443874504E513545783738524246727278622F6357314A666C74697579484E71737A62585157394779536B316C476332564D7A6173536C35584E72314A7436444A57485A31782B57626D696F2B5A366D3431546C7238334C43583151573650553931412B59323262343839676574473255432F7A375A617A662F434268506243563935396B72456668796E736B38507843476A7A30375471776E697A423548334D66375A7A53527A727166396B4A586B5757453846457148396F71486A4C2F383844546F5657516E7230645649646170524E456E6D796853544973756D4C657975426D576156614273546A6B6D5661365A466A534477422F63463171304755326C52653271314F575846446455414E7A704B3273657837746A666238652B663373677A38356A66582F76766E6757492B4C7144616935754352444837494837656939586D522F5778384C777457333951317A3254494E366C54544A57455367354937547577587477495544354668436932564150724D797871534E58537A7A6E526939773166426A563178384E42714A4247704F4E6841495256494E59647549552F2F302F6A66573057614E64675A7235745A63656F4447634543314A6F74553476497746316F74765A5034307667646977794765356C72685052487275584D5A3639466865743133584E376E456B56764B3875304B4B6162314850574B6662546A6D434539575345355041304135665275776657662F4B364A74716F6F46744865476574544F6E57706A68316E37796D365632786E76592B6131466E396C65544D73484836347564316250574B512F546D566E766966576A4C504B725063385674326B682F7A51493036394235794F74567739513233622F376167645642634351546F56424B6A746F734550684153393373634377797A30682F4533693077616C414A48324250312B76436747504350444963394F316C6F5772756D304D3633744C525730763438472F545A573559557447732F755748396A632F642F7A722F65476F6643782B6B6266516A635038636D316A2F36792F6C3952684A644C74497234396A5066694D67436B6E304F763547493741656C4B6955592F6B2B6B586A39624A654C33494F746F56704D707833556B694B646A483350497552786E43366155394E616C6B744A4D2F564E3646326347474C30756D7675472F362B6E557A573946524948557472566562512B65394C4D787A364D2F6474673646573152666B625073386E6D4E61714A6D4457684F69325A4F7133597570374D366A45557246383174554631677154753773327247756F714C656C6539515965746E496A31744B4B4A3545524A6A5734586662687738794D2F4836506D6E345166546B2B6244325A4F487574356251546841736B526E565463344A474D63434349464472366E76356232782B653261724F61314F6B6D525130337570554A572B756D7352364166514336306D6754795568466C73464C55537A3675633361593543676B4E30624362363130514542776E5A5164586D6E2F2F4A46502F395034333177474A6338327A6172377A772B7A6A5768354174754537416567542B35346D392B5532564A34583176413454316D64594663566D3961783678523457684E624A75637754684E434A2B345467666A36477336426E69645336454D684C6D37745A4B3347543271322F364B71474F4E596A64344174614B6C517A34483178653036326B766456456F6E547A6B31425862443341624E503948726354504B776F386366334E616F796F645749384F415330585561583247544C624B32752B30487545662F5450683347674449636848394652327567584B58547A4D2F47762F2F4E644F65304B476C5748674B477049456B326F4F563453347A5867774B68594E4150745072426E71655447786354304A764B754C5372556A5A5751536C65393933506247666A42326D3347546F5661344435422F6B75615767726472465138382B2F6B4E35655151304A574F656B4D5278675052706175495373556937345A4D4149782F717354685776596A477337364A5A55786E726B5249787438375246647A675575522F693433506274646D3271695A4234676A49774C726A546652334B7867464141423935302F7547554758494A4C44765141797446465337657165703735795373732B41627A4875434869534C4E42346943614D583338572F4E63425776446A492F43765141383733467867414C72374A68684D6C35697A6A6567665664717053744E6568696F7138677342365A35564A79326E7841383447774873527243376A504A336C496975684E4B437A766577504A6974414A2F5A432F56396A594A37617379323274524A384F47676364386D42616C417A6C5773696951486C424879725730394B46316976542B6F335A572B6F4167767A776848494269464C7A6F6E6E573668397366787A646332546654312B6F6938796569505755553534642F687A372F542B4A3962483139616A41754B4C544462336542536454353261524F386F67722F78506A4F347162714D394A79526E42574343426D656D596A30676A754B49454E6276696F356C72626F7971317566334B7552624B57704E6B5768565433505A507A647356654F307A645442442B526351397848777230364269385158392B32584F49767343794B656B59454C466B316B466A4F4A2B2B726955523677466241757476652B53656F6A612B495264684C6F335835316C312F784C7278316B554D6E396D573157325355327A6F42733533447555302F7471693961554171654F307A62304843444876637764704F4F7335533376412B6835584E43394C4E2B756F2B554733527035627262586B4E386872384D4238524F67614F33353564653270706D55755A74716152765248693274534F6D704F714E373653452B6975696877306367574E413861487245527A4D5164496137366A4F6D6A49624671644457725A56694B3961433157583337583168674158414C536F614F68444742326E632B73675070595A464E42486177302B56325567727A6161336B553544362F71526258687755336D416266796A4A4F6F3833666E73482B5A3036494431614C42544F4E596E57326C75566E384C375A464132656254312F755A3738592F33554F6246545A657A67386B5555694F79704C2B757472766241564741304D516C4A2F4F5A6B4779366673734D4F3059337938506A3650794A6A6E5551494C34384666454866486A4B744B506C4C775436326E315A376347726464582F2F547255564936794E31703834484E76345831454261423956527A59504157436754555954704C6C673045334769336E622F395A6C34485955656D5530634C594871317748715351714855783948357738623646476943765870535144704C6351586F4177304247626D393156447131546459555976476D4D3866514637702F46684338502B667354366D31333851724F38716631657344345A356234426A2F61767549374D36644C54574675586571387A73307965334C633561742F67335136386434742B4F55684C6866486943746F55683777524476336A6C53647231337335335A50756E5741396B64483867725063474951454D676E72574F687275514261537271366C72592F746976524F42644A383752392F43437847436B584779584F51506F6C436741636A5939765A614E714B5335506230624F68556944785267623744446D6432706447443847355078694144772B4C48476268575A3336644C755742714F6347674339744F5A5430726F72376A3732776E372F43462B744C774A483779464941696E505467664F61644B653062306B7736616D496177754C62422B3274724B332B3935675A2F4D52536D4376776B433176446D682B354536644F5355355346615245514764494F724E2F464A6D6A4578754F5044497752316F2F53506A51656E78766B5A6948373754664F364E426B634C302B45657531583643397A354369614A684247774B4C376874387664697379304F3371552B62646A575537744C434C6B507832744B39644E4A35695043637234774363377868776E47516E773452353066693474486E4459794E69315644394E6B4E7272547337543277486A58334E4E5A2F714F596B735235326B4379712F6953574175744A4776434D4D694D6639477255543138574472486F45384D37353572706E4A7263626B4E6D6E3548473446422B54695639587368684862565845414730674874782F2B2B5470594C6D766D774B33475273724262624E364961414E664F736458392F736A4C364833376162656D4353353571476D55656C48643542794A2F49714D30335073397A54576E366A583034486A66433835545536725970676E6B6F734A563576424B525A35616654413263366C53655A4B326C4442555172457A2B72577A6E42556D2B3735436E702B38414B5A6B5A4D46444938456752336F64536E37476D6C337A482B43395A513830544238514B796E4852796A516169664B322F6F42537A6D3946564C396E4C36487371755444637238397155633974304C7A48585152625A34786D6569415438595372694965593779447730645878562B2F774E79334C3771776E42496232496C324E39746B6E372F4E6768594C45334845516451657A514C597162366478777956795231562B46666B4365307A44645A74784F514D6D314455446934495434756B684949356A772F4D6965656573717378744B73326A624A555753585A3176316331617237707635374E6A2F4273305A414C4F78326E446A4D426E2F6E5433764C356C304F5770687747396E705A466C7565754B33337777437467463179535536374C4950736A415A65667A6C78304C31696E6D47625255546C3279324D34774870497453614739584176787574665A64363835737038594C3239556D712F564849714D6A7356353168725867306350544A2B6E49416539536849355565456579397147502B4D433341536A626A70704A4D49745A4C494C4377395076366835622F412B75784F316465652F4457364F4B4B486364703859504D68594431564733716D4F6F3158754B426742686E6277344B617A39717A6D73717A7533526336394851616A5A6F3943445341616E714A7365326A79643046694D3541716E2F6655496667732F6D4165674A394330566B4237366E6E445A5A623133667857313945427747486D50424C774D5057784B50434534736F6A3067796A584D50474D38326635392F3862724564322F6A6E57463762785966703377337234704853474B484C493067372F4948526B3674745A53704D326F4B41565573504642586144367373394F786C374D7A5471597252796632674568554C496549543558773464573943737A62504673463749786F654E3962674D65536277397176333333564231374B6B746E494336773036384C4F67727A716C7152527766326258736D66356544716B656F796630596F417765474732363636304C6B38773653553268615373434746464F3855724564634937775463494146356C75724D797A304C524B744975306F4B2B79756D746C5673344F46646F38636F6645594D5A694F6C49473958674C69412B48525A646661537461587A3975384974554A5069676761644334357A5A71662F58474D31436E34425A466979744B3667674C33764847452F54466730574658697874544E612B4D4C4E4C50363154323350336264444B6A7766646E67447455544D364E6A455939714A354732542B4C7A2F776B7A4D36445368754B723665536178484C44477370784A455275422B4C34755566645945315932577A322B744C7268326D62542B73734B47386B7461612B6E7259755356634A7A44665344434A7278736E4261626F6D62352F5542334F6D74774E4F7244646341314D75456570374B6A6176517557452B64474742394434484761617A2F734D7A4A593730674C735351414B465A304839514941457041716750714268666576703379625758354A67312B52733531466F7278466D6A31467A623662765A564C744D7750704A315637632F4E7445346736347431625377443030656F637165307464726C565431742B776E3762426F7431497769436F6B3541326F58305169465057524634464A647A46666B396A2F667641656E6C356E432B4942386A534965624C5862306F7637637161364E52367277386131744E4268722B6C5A2B63596139364B4842776E77796A644C62554941752B366A2B2B6930584F7474526B4E316551506E737173563530515942456534496A5A7A536F38303061767069646E343764644D57383639616C6D5A516C2F6375794769732F38385176333662355276594738393833386D627064616269686B6F36574D4F69794E686351366F306B676445787257487670743969652B52674D4448666654564C4E4332704C34796F3131426932724D6C55443846464E6C536E505A6433622F47536F7A6B4E3374392F6B69394F4543515078597849312B7739327650546D7658705866726B544451463368486D68493046633038357030503376686365535879685679532B6D6E72634B66484E745A75487078726C6C4E4A334E426E624B556C5679316373374735526C316C3447664F384A6A714A6775366753776F3479397A735A656A5179566232677336464452466A6539364733544F6877784E35735847362F3342326C7743617761592F51353165327650707178367649437078454E6957517451364F5631614834654D2F4B686C75333747566A626862792B6A332B69516C5A595363564B75774E2B3864592B44412F78427974785A613776366D787244394D465A424B6845534C424755533677766667665666662B4C5845455679527935506D77396F50684457633535446A6F586151676157417574703751335632366439523836324C697578566165612B5A6C776467414266526C42363879366C436D39657541377846305134503544782F72304456576F72675430694C717A6C4B446671556D70582F6A62742F384775546E6D48344579543169507967567045364F48517355413859764142666B685A6B6D2F2F3939672F623863773447302F417539486C67666F44574C364F476633374F43674C763169727972612B6E736232765A7247765770446158706452642F684C7A484B4B316874376A6845486A4F316A6B764C37565359324C4D357836727338716B33722F4E645A374F4E59586E7954572B337930435755675247657772507269687579474D6B4C35507072616F656E57396C4C61667457697A4F3675766E426A2F625331796A4D37362B6161616A4D624B6E4C61715746493756536B626A44534646513372626C4D3664496D41635364394E3373713850494530334D496E784544576D5A30366A4B366C446D647875547A4A57516635716B4E53746D303537414C734439776167484657632F6262724A41497666652F37687339754E6D5773584A567355784E754E476D6B4434452B645964504D616462642F76514479432B564C6652705767744B4D7770767370477A577730354C5256517A3847426A4B3231314569306C4D3579314A31725837614C736533527364334D682F4266594F4E2F5A534D7A566C564D61315249395A646C58376563446F3371702F58314175736845704E374A5043355841375A744B7A75307636316D59326C64457037422F566D7376717236437952647332797232312B6D373661704A514178796369766F6D514677694F6A42396B4558534D626E7270675A6C742B746C4E32677562716C377848527548793441626F6B4946386636786E6879664E682F45664843736E314A6E78414D36627167386A4F316B72743566665364703652577A74367947334B4459614A7155766C6C4839514F70302F734D7748655571434368326C4E4E2F7643776E724450556B474C6347774B334A4E69324C46593835314E78316C6F78442B47584C7444626D4139705276536875774B724564476545357834652B3434546154763665782F6E316776617A5841346E384E493444726250766B54737A41434A51676464664A446B717958336234706C62567551304B44396D5837583269397675665036784733372F6B345A7633354378636D464B757A4C7A366D586B427168394B72456578755769585241472F654D765251664F634E526C39664276626A744B70312B336D725A4F366C79636474314B41733231692B6631724D7A72304365314B6C4E733268534866747132465851534C504C756F414D4349634F5A646D3236565A33686F50583172772F524F707941692B59686F7448774341745A37726F317430325A4C6236363669784E36596632725549464F636532394F596E66766E51384D34583263544C7A48664C333336762F4B7A74544E735361666E46307A59747057586D6D3756305173426D74625342646B366531617A392B714F2F6F6F385341494141596A387471555147447A4E76387A65767A57306F53374D6F307A645653793258676E584656362B556C6E367932474938313737432F4F4D76662B765A5237702F2B52336A31376356746D716D7465744B48465845573375707442484E69597A31615262613031697372796347305667744A4947326E68356D6F64762B63752F73566E566157326E4A39537570484D324C4F4C65317948744B55326E4450562B2B3766556E6E676F65665A574E76784961666E4A773178662F2F4A736C3337786D686D4E4A55724D697455316431476B3870376C36442F4F4E6B33427730614A5365452B737A2B315166654F4A58377667474D7044724D684F6D77396754684C7234785144433772465039794755486F75324B43352F707633434D52787A71593155764E6932684463556B465153364F4E46616D622B4246784E6758452F555052362B4652396A7656686E7269356C494A4F70656C4C48746A62584A6E3554533738536C322F44687A41624A436B534341336866774567364341426D45336A4B69675843526355316B6B50495A2B2F336F7342367841304F4257614252466A79516750554345385765786A4F624E46414D7656512B68494F384B4F55736B4D464E7A414C5A48324468496850714B682B4334495469794456727676725348306135474A447A424B77586E546D38456C6850586E6F71715672533749736D76316E464479794D2B4D576D582F41566F7359477574355477635046485A6F5555336C79727970725734316B4B364E65313670507A7432384F714F2B764B524A50624E4250622B6A4B722B2B737169724B6D646A7264522B6862536C4F676E366F3031464A3564426245426F31516A7236567771336E6D67736B4434364A653547667661492F635774425075304E4770585371705335646E70665831687A67555475474459414B797856634A753866474157526F4572362B2F6546696D7746596D5733585365336F6732706F3748464C6A64527654415A47492F3151357A637352386953545A505771736778612B356775796C686E415070646D3247525A316A303831755672382B6449416934446F456B6A724976432B776F61496D525736486B6D61773044616A6D2B756B724F5761644769695A70694D774E2B4D4A7558732F685535726171435468306B466E4B626464555371556442574C7846493232694853424B57725666654F68757448623074514E34345061414131436C68316A6765332F392F665436696D4B626E707154486D3336706871703559724D54557579653274535779714273394D37716F726244556E313559574F3673796D63715366394C414E4F716C665453744E45374165657232387A7955744D36584342414D48517550516C71717574383431473653474B3948555A56797A44463030476D4A4361585A706164646C737836787A47307A4C4769706D7432694B3272525A64486D2B4D596B5145475845557737733658367A63674954566C50414D4D705A44434B37326B636D645A43557755514A466D6B757A52353752716831386333367669664E6B682B6E435A4E6F75304A4644636E32494D537A4C765A6E57684F4875734A514D696E654F4A33564E39417672422F6C4838754D5875746B7334534D696D5441625578424346432B635851584342796E4362646E417A424935537078443442624942334A43756F6669522F71464571716231797271586D68742F394541434233713749414265636D496E6E626A4A58436265784F2F6E336F384E36384A3447646C6E6F6347675556573458734C35646D3978656B5570726E42526F54664F324C4956757461425A6535445255686155434E796A556946566B336E4241324532315446504E48535952576130366C4B37444B524A305659776D6953544B72644E2F5A57582F6E695939716B6E63436344626F58436E6F4166367551674378786E374C48525053556465747046446869784162717750726D31636C617A66682B6432436450326F6544614A576934544474554838343647713937627038734D75306B44352F3336696A6B527A30396C42533576496B69794B333235446157516D644C6E39444458333861613749374E593350504C647772346C744C59456A66636D5075566F55583138612F4E52306570342B4B6F563367684235627A317358734C4862586B7545755874716B75786172506264664E587163357941664269514E496B356743465579674A494A4E2F6C416F35474E52394569512B4D383838664D5A625A72704A694E4168773669516373427A52667851734373616D696D42563131556B7446555666644F5931564477337565494835675A6A45756E356B72537933537A2F64595A7935706D796E3778677478513934305452372F533655326A376D572F4C4676766E5736754B754B6C70386951594A65556562354B516A74326A777039644158393732615041323336724C6236716359644A2F36664266704D344B766967466E61484B744D303152565A3933362B2F53543355714A7576614954556765656B4B6150327A56396564713539535836484F736D6B344B57445A6B3942336E466A56535433566D5832316B6A4E70566D6471734A4F44616A4959577837366B374A6F6B6A754D325273704A336A386E7572387A7256705A387A3736554F45326563494F4935745A72513979397058544B7655547644584357316F6B39444852514A50545A4C656170644230576873454D484A436C7130794B63564A51345741634A36565A417055677A4B576651506B672B716F6B30724539464D4F707867666C764D56625543647851534F69556F4B7A5246706F716979335658333379747952526B47575546302F472F366842327046646F53314E5A6B5877567041414A30474A39753946735143344950384C396E78517652346B444E3251793041304F42723149616974393337374C48746470686E6C564D6248625361682B554D6E6A757A7667665562784966794F6D6C547A625475756F75373134366777767568794A2B6B536369762F5074523676553078416B5148364D5066454A764D2F2B5A70696F6167656D73414152516669304B314B347A6D3356376D47654D316E6251427A4D674956365565507A6A5468442F5275594959394E575665626171716E4739686F7A2B35666B5761746D572B712B3863706A75316E6747504F35615874425275737277685141516A744B58335647487A7A386575453670645254525A306E384E79736E653959666C616A38524366583656497556494976313676317865674D7746656478324650706A6272557532564567746C326475426C4A636D72713143726966424B43306C6D5A764D47594237466F57706A5263636336576C64325033336E727A69634B54556170553532796F59363039513231365362646F75764D53445A67534742394E45687348344E652F39547673303136636D6E565343316C615762644C4F65794D397471396C4848676E4A4D6F69727944754C564B65774E306F324D596E5155314145572B506D4F5A38357071353765544E743241726C537A5571707651796C584C68787954527A4E5A68545A4B343631373769723064336F52542B486A6B4F614F4E675A3042764D712F486D4E31637571424A2B657234336743344651327867413977664E677A694E71786C77566E7271334961367A49614B744D73326C794E74565278365674495731715271764679716B5637464C6D395653684433532B59366E6C3531392B6D42334D6243796A7861426F37626F31616431365048622B364762414F75514E5255784137782F3373534466653872396B762F4975513361755A324757543131475534393159754E77466E363070554174424D4E72625A3438374A356D3163577469696E74366F6659636532504864506E734E417736336D53716C354965377A326C555674396833737842345167596C543456504638675347733542786B707436394F306E7A3533342F7163726871706157485331537349376D3261644E72395834333244315744446F2B6C786C4C4C4478367054756B334674674E6B4D2B646F5348716B76673830516E7166794A4D6A76566838446264627053735541567155376373792B31644D746453642F4D66667A364B51673779542F4E344D7635484464494F75524F564553546E4276386E454A644D6D59534A5035354143532F2F4A57394F48757546456666556530625869687950307362466B5766476473395A70316A6758454A6E6236492B6B383469342F4B706F4866713957514A6F45665847346F68344C3758694F37467245376A3777363941674143662B4D35654C3947354A52376B33382F4F717A6E5567436D557730666F79585676725058715571616C4D553267395379474356492B2F78594465643156422F6B363950707A4C615965496B626A723579547478422F39476747777279724F5756674F6D4337695570466C3265325A6935706E78656B2B46377A7A384B355231566E57645A46732B67312B65506869646F334A59396458546E755533564B593256475633564F575A446671503641744F792B62586C51414834516E54424D4E526C34676443635074397542746E6B642F75652B3469352F4C43395758547A6272706662565A3358712B4F68624652377573534F73766E2B6D6F6D744769757442532B393058487754572F50726F4B7A5058716165314757623372307274304F5137617250586C462F523358435554693455456B686A47596A75654E523330782F75796D785335765175535864555A546C725A765374794B35586C4B7857374F5859684651684455674D6D4941624E42554967553650353977515A37654F424C33493357486D3373746374397A2F6B387373793265764C6B65446571616A626C71374A682F4A586C6E3561657671722F336A51623532694C344C66634B7A6279593066537674774A5053713666353538614635316872746F2F76446449354969486D3934304D483065526A6244416D2B484248637A37365A3756737A70304B4B6D30466870466D5866566D767A757171533238704C4E514C6671584C73653962466B54646D32333334584848694748555543636C7356325A3271504B74757573303465373343386433504832463038676D364A52472B4C734A48682F36466A6F5848555A3176666669755761764B536C70557151324C705A6253374E34714F7469766F7979747835437A64536D646672376D73756C6D2F63776D315350682F552B7A34633838393275414F774B66316C64583644435732497735617864726272536A6C304D7A774B49495351376F41693742457072546A7569342F5964664C6C366A794733527A4E7934576D70585347326C55722B524F684139757551756D6C7167754769785046564D3271656F2F736F46396C726A4E6562643457457768427043446C45496334784645643243396272695A6D326872536174585A505A6F63316356344675325A636575427436506357503475624A2B4E3831677048497449446D643657344D3543515665452B306375376D506438495A75547850724A5831484E4F4E627A46574D512B6B4D7330766A7436334A584C3870755532523236556C684F5A56414434706A5057374968694244546631696B45565A7347326C314651327931717A2F4E624E52326A79687736616B42502F2F6F33494D50636D2F33364557492F6F2F594841364569557673594D48592B34645A61315A3631537A61705854472F547A5850573454706A5863556E6D717066635230455A6F576F454D6B582F416D686963734E62484350536A764D6F703961567A313368614A6B6E5770325739574339707135363757586D6C5A39352F4837426C6741614567443734457734556D4172364C6A45446E474976652F385054463962566E7439576559566D366F4D6B3461326E354A395959532B7558486734436779674B474B41776A49676469764E782F2F67774337336F4F61446F726A2B7A58705733637545635233572B545A2F61575A6C6C306151336C5A3768714A7535746E7A6C3533756548392B4C7475704165505365462F3930616476794261765630315A555A4E52635072645266333554395A4B74647648564B426D654F3852344C4F543534544D5077554668737A5A6A64566C656732704773783774784F4C75526D6A5477435A6B566A523475414C6F4166327751634C382F69434E4E53455545463249623234574747582B496559377A4C7976425938394F62546A6964473358776766673544765A344542446E616F4A70434272512F2B734D437342356A796F78457155717A4B4C4A766D62456664776568774A4F7148556B3866475556447834615069672F453972434A467950486D372F376D584D37713476586C6B45424C3271734C47696F6D474853357A61555A363638596D36723968506D4A552B3739683669666F443754545A3663567674685A30314331703163787056383963724C3179743276544E47394652414E41486770346F74585368554A68364478376D50786759526D2F6A4C2B4F374632366F5436332B314A6C64532B67556B61627947666171374F594B59506F38523233656969733766334454587471555A6841492B36312F33442B2F5154326E52544F3752564F30706E54576D6F707A31717337766E624E496254526E4D634A7A43454777684B31615942463059643762487A766F7331744A59336165665A6C75525A6A456E714871483241654C4D6974554F4639676E4D4B62626F383574564266586C6C2F5374663342672B3347716A4B486A492B42694248327969596B4A5834516146624261625730346135566D336C724E677061714D3171727A3234774C7261752B39374476786E6E544B52692B6C3833435A774569637149584A31416358735537516D55364943484641734C5656506376496335616177586F3531386E6753695266554D4C674572414E4E76762F4251635A4E435443684A566D56475878563133784B672B554F6E4F4E624C63412B673777487869544B4C736D5444386D6B746D764E62712F63794C3742706A4C376246706B34475A4F51642F6E33493852366C416C4B57327954792B562B304473477344374B502B31356A593376352F64384131694F386B472B546B4D4D542F5055697978514C68434D7A7A666D6469456B2F6D554E7169376A51425935794B49485757434D4179497469554E493843374349626750653378652B454C6C424F41432B4E356D486E514F6F446A447931444542794341466B3839376C677341547071565262636B5942726A42664858773574562F59305657357450646455393747656C584E62394F5658745732342B787576687765674E777A3452694258494D534344686E414335304D784149365174756C2B5A4332495072315956724C345138543773506C776541454842794D455A41496A3776396F77416D7045726B4767593363493851514949785A454A68655554497A542B356F496E3653436A6F64516463586B613779626A356D4D6D6569654D655075747A5A4F6759564A7A6A4C48797566566C7837354930687A616276694E5230434733472B746D746D765138614930526B49526A3475507059574758454F494150616F635566355A734A66654F686E69377257664E713035464C62696F393131487A61764C542B356733506A75386467474D5750425164523973414F6B344C4D6232482B4751595868324E6A4939485061682B775943485067614564687A30345272326B79573065305478707538592B6E6266662F4768796B334E6C3365762B62526A78566B4E6D697536566C3970576648744A333839514F6642686F353568714263757968394B4F34676D6D45456A72534E3065692F2F396A45414E71534F4E4F4577534F4B4574773737686B48567945324B4A636A3050475A3536594837315A63617A3237662B32384453766E3961773879376E38777534316C2F63334B4C64304772655A48396A393067424A5A74544E4A3541495867416458495A6A595A4C3955662F454B4974436C6F36774B4949397A454B37676D4D6A7351324E5252722B6877327953724171793179636D53446B50553534424638456962654A4473434B754274346C774E436D486741385A4466315A776331754D6959704C6E784245625839734C63486B7566507969767255354A706F526F6F30473278656E4F4857674539443551796342392F4B6F76634436506F335571386E66756B4979586E68326B2B47584C2F31706D5054546943644B51457A5A4F536B5479337638396950472B6D45586C5945483156737561734136744237674C444152585633555957436664774C316C38706D696C7A77584D67475A5376795134584D5041472F4B307A6E58694D45424558564F4F674E524D492B6A35643065586A3368346C344F42454F3934674655634D4C33396D4B34706B495557744B58392F4146556D514842392B45446E633879515167682B6447454B644236612F34522F59785477482B4246334F786D302F6767364B784D684C79584C37342F34664336506D3263694F75783341383851537A7844336E415139523968456B7845616670587645576A5068344A544C44776B4A2F555572674D7752586C6C4B634456353531736963456F5873596A3873746E306F57444248636538556E46366766434236384A7565426B4A64552F714133464B5139586744364C2F714F7A7258584A5A767062457549665A4A646A557155343943645954624B57413867426E47736A30547065424D664337685A384B682F35456955656A6D413133317334676A664358492F6334327977504841364848764D467158436561485339774D55344B672B644B674842316353327A6777644B57596A794B49464B4C704348394B5058517348384D6F6E6959755937517A41727450626D666564464F484752757442774866554E6F442B434D50454A55526F5A776730656B636A7A73686C39657A434930517551546A43684E7541444467666A4459522B6B5259674E314957394C506F5743372F4A416A75596278647431596C7151754930546E50494A446E456648385138686E324233412F34585A5257596836772B4E436D587235436C703076415168742F5356475855792F38654E344E315549597A4C7253416832384A5633486D694D3953314F4E7A6A315753777768766E3462756144344431735A4F6738523668523942514277347A6639665062354F575835612F73553771574A793671567179302F6C4239476E4A4F394435517964454D596E3176587A70574B39476169303766394F363673326D6355594C684D4C686F4939726C3553646B7A4B78764D6476502B4978484D4632314767754C6A436541476C4859337A796B386F656C766752516A455261784A696A69634E796859556A714C6979573946614B454151423942545868523362676C33684A4763567A3042596B5333415054436461356F652B536F6C4733473957546A4D66445134675A7239634C6C2B446434436830646B677156656D343748704A57535A6F464747356F4455696556456D397739454D7569446532512F48505148414E393030674358654F49484867502B41483054682B44344A4234496A6451456C485365636B6F2F4A38476D47455051614F4558734963515948336779474649506846776B42794661495145534131494451576951515164476E454444534E6A49512B5175756B623136446F6165555048524F6F6B3944464E43747A3270587276334D646D7342774E4543626D6C45346B596E785556786445344245596A3143414A72797A774A34747A6730635367306A7661506C797652754A63324C45504568386347714C554A42774A694F41696978796D4B4E7055324249756752535251426E52533478515A4852784149504149615554496B50396A456663774E527530684761556A6F4B69714C316550455559326E4C6168544D53444B496C4A337351535162396F767449634D7A35644B4A42516373417A513236626E41476A59484B49674753514867523453304C4D522F764A6F4A3052525935492B414C5156456241427465616A5476674849506B386F7934666569465963317051482F7773502F726B486965523470737A7772676C317877694E657969345469562F77436D374157304654484F4E4F504850483732704F47757352422B4B6A4F7A6E3079486A55743465355A3678564646694E4E436E6172354F73355A6E626C6F6A2B374565413952734936335036616F73616C4C755A4331554639594871526A514B6C5947796331496D6C7666344C6457426A77727277584C67423832524D4A66506A31714551674435773654657774494E61424E317868576B6F6B4C7469726D4A4538384B2F354772476843587176536B4458394C754D6C667966745569396F49516F764A4A5456496D344E536179487353536B576753414D5371414D303041454C3754532B4375712F424542445443496864647A6768643647777A4645774E466D7A74684930506F4E334A684734644F545037706B56766743643031744F4C3044462B77392F434E5A667752506E504A485948456B564B4334455A6B684D63692F41465176487948427374316D2F2B79353157554C4769416875787039495A6A616B414D69364F627733736B775145572B66597A76357662717555436F4B43314C6E31617961484B734B6A6E6D41772F65654E50314D4769343677696F2B347877534D43657234364F51495646646477454330424D69387748647A3034526263526A766D395559696B4B5849714E2B467431425779434F674848307342456B3349522F41576D5939395948496B706F364F4B50766E727A5167366B314455335171426F684E353248546846545850346F654553426350635541683752764A465778472F69337934492F6B77617754524265426C4758394974633168302B31776835754D4652463635513977482B466A697143672B75516838455271306F515067754C496670714579336F4D6B3979465978754F42494D6C644C6843652F33634E4573394C5447514D46325249534B58494E32564F75456C3845582F48765A78675053565945664A376D412B413958783350524952587343306269395332626C365A6F4E3652743879576A30476F51666339394A45664C4B4448395A7A69756C647356347971336F6575764D7761535945394C516C4F7254534439414E6A4F553966767352596A32784847675775364B754339564A4E4D4478346F38544C49663479447536324D4978624B444149674E69704274756F4C2B4452664134366E46426B364963436F6D52632F734F4533386C614B71514A62376846676B503341312B45656E6B71376A33453469376D48514D47795352556838446977514C636F422F6E7638494941373355796D4334734A4C674373665238494E724758444738364A534141734F735343756F32645A362F586E74476B372F374E74333932344C6B647A4C2B50786B443849337977486E534D54736B5050523835316E58506251737331526E4E35576E69577A624C59756E717570522B5932707A32526E724E5565355167333442724279396C4A7252746B4165704C73634F4B4352436D4971666E6B68706256634E556B31676267537055524C7547464A6D443444543873425635776C554F65476D77387A436C52383063422F575170456A4D31475A4D42796B51736C45324D6E325174564857517930636C4D67366B356F55425752796A4A545A774E75616C655230516E70417532495338704466674870595153446641524F78566A4C636F6D44447A6A6B3367456556467863534A5973632F6E68474C2F50792F624A422B5162466635457A63694461506E744671656B504549312B456A736478422B6B52655565764D6B7166655A2F67635449732B6548647A556C6A7653673575734E3758784164383850656B6658583938357631716332565252637335492B36756B433057376D66506E6A696444386F644D55724F2B52783344537577794E64332F70434239554A51306F484B4739396A36416965553966697671426D7256667837724562732F536F4F314A416163784C306F464A5139434466694C526F4434426374474B6375664168714A757A46594C72497A736A594B46527375506545416C427352516A30436A2B385A6F4C345251355A45506371763531432F4A4C6F45695462676B526C4673482B45794D6378346C6E4230543338493761487339714C4B663046675968433664494D363043446B4D5A704D6F54383070356A7848744D777A514A2F31586A6D556B364F557236316E567A66337A625856356E6470386D37484557586657706C576C4E316F36662F4B46722F7A6C33702B39394E68644C7A3532772B2F754E487A4F50714E466E64756D7A4F32694E656C4A466D58716871726B613565536872486D552F4F37367137363654634F423864486156422B444F4C33667541654A4C385639687A4B345575304671497979712B45723453574143474C454D686555414A325430624B505A356F4F64584C75354867454465435864773634755A66735A31415542756731364E5069664153354A41776E6239484278533930676E364C4570575763695A78787477655361475269686450444C712B664753776C5575516E6A47417753415576522F3052426A305268473565365245485630366E4156424575306C47486D6E7741377558742B4F59482B69546B35724964426A47352F514877414C306F555864716E6A7234316236324B546D63323036596F684C6C3242573244307A2F3175396C54513842364144313149415457307865476D69786E315678373356393968345A59475057426570494A7554674A6B2B424C2F7555564131586E49786A44516653495142444B52795249454B2B42644D4E666F6862465A73786F5978776651546F30664265395132642B6C4E39416951774535644632314C4A775A4877593957304B4B4F4F434A37694E4578373547396B4942344A4F634161535859424573484843493365472B697A67514E5238504D712B59736B51627367794D52434F4366675645636D76524D533478354D5946384A397A4F5749442B416B527746585A4D514C48357146434E6778794E6875786A363175546D356F53797A7579716C723171794B71575768564A376562354A4D384F6B6E39657550364E4E6E3739363462524F545836586765544E6F615144594C74306B6B56425234523361326475576A6D37586E3077434D30324D68683054664335617845706169745065437871454E4973626D546253557638696F79666D4F4359597751566634755175563243673169757038516F6E754F5278706B702B435A493241686E776D5538424A6934523046692B4134583371624B687276424259456862654D524F706F5935496D47786E306575424E68434F4C3445664E4659454F2F384968756C76416C3531335949702F2F34316950664941454532516A7245433041674B67676A7A5461465855773265655147352F6D4D35726F356F7761536E347A304D52766D456E536F2F627662733561617A48426669414E3546414D4F67506F41554731672B77534E7333507A7539515A5857574A7254553055723633753039446E6C4B6636574B6B3555385543497135757672336471306D77366166575664562F65644A42466A6A45506A595253306A6E696E3551524765652B354E2F2F434E5A444F52576A336C4D4D4C4344756B41615550616C705044476F63716873694667736D49454E315174434752433334474B454F335142683130306C6B32324642706542556D68703330436643506A6B35496B5A355575516F7A694A4F534A763379587433464B644362664364644966367A476F764969685769547843675462764149537A4A7741476468386745624245684278634E4A754B556E38514F6E496C61494C62794C527871344355464B42544B4F30615952504579666E776149455335436A78436D37493234396A4A572B2F5772706E63766B546F7136664F666A64575A3179375075575A35656F3868755A4F32493661396876727161414D696377564A47742B7A4166704E636D76356A4D334C3453423358666D763937304164527542346A7047712B746C4F42613545416B384D514E78457659693454466677714E3443534D6377676242436F4944754A393878353369416B74425535376A62684B4A30737666696874686D66422B796B504D445A51445043456C49774761685966306F43737A46504A4F52487A6A59622B584C777232424C3049316365584F304D7078545541575173462F554666474832586141523972416B2F756147672B4E6761684251354F68487234514C79674166632F3838616B592F4A544F414878506C4A5379514366415356323446466E46666B57444148686B596D554F744A392B657A46364B6B2B435875574C683856334F5357412B4B6C545149534948516A2F6E4742756877346246506D4A65643162576B794B70484F4B5476584C325537336F36425A512F644A7045655547776364416543644472733033613750714B4F3359396659697653614130382B48436B7A4D69313979582F50735259543039456F6F686475524641447A34483652436741324E382F49326747617855454A4373343234686B644A424E79787A69426565674832564A304F6A772B6A69714A47516547696A41556A2F6D454F3937487970556735775336526847583846594A2F7237636E455033444E51685238462F45376F34426658784767597877696544654F2F41704A6D364C616F42656349424F4E4B6457445355656F4A6B4A4C312B6A6A66774F427A7A754945303755334378784F417977734A37574542316C615767515447747579374A6772347048625241436A7649726B7878366C4B37615339753267334E527674795335746F702F76384C754F5A5063744B3670566E4E68752B396677666A3944634D58576845447A305535454A45592B6778497A49526A7A775A3179456730526E67684C74426358447846765A633479452B796C76656248694551414B5673524A744262434A516A337767474B517A5339736E63524D674C683451534477564858424A796834495A6A712B7842555076476147316F684261476F70716762304E4B53516A77446E3245727A756974376A53584454666C774B78674646416649676C346B4648457A2F78784F4E476A6C336B6D5A7A387278716B5857534B4D6F482F654B5A347670427863594442454439692F6A694C766830614F306171616E43494C366C43755542724956386F4175474C6C3455495670516A686677653571537850754C6A77344E6B53334568644A546347442B4B34656476504431742B614B5A48546F4F66306F2B644B346A395363426D6A39306B72476531486E354D64554F705A3432384D727071636E72717037587458513738774B584B5463796D302F4778504D652F2F3150596231387877306530624C366F3046454D55776631346A5069304C486D423956797864664C6F3334515454464B6F514B62554551462B6A73766E455877706B492B5146712F4C4D70396861642F63384F554342423144663662417078557248487368704C51767A706E52515456434C5A784E2F78433937476B6B4C335A425754483178674B63416C6A6A6A6B5272794C752B534F5477774852727A69623347424A6432696C49565443436F6633345242794D43557732453371684436454963386F37415A484234536A72316A376B43494F444441777332335845576A6B533361456C7331684163615064382B7A4342744E5049503945704A7172745647545A316970554F3759505535625172703630757662527436624D6A2B773477377A6743445961694C74545A5744706A79525470537377466943632F356F4A4C4B4E496D6534785A676E434A65352F307857386D4859757934307A446B334173334D734F457241652B5257452B7A6A7A51626A42492B7846363474484F6135336841396E614B516633666E7977776466662B446F47373838384E4C3977322F65662F53562B393538356A687A65794E3866776A367A6F4E6B45713044705053784E2F37782B4946586E6870362B2B4644727A7838344F5648397237343049376E55434B5445614641764C786678464D726F75572F33457A652F5538614A4638776D664B42663252544643723672384851684A634F5249574950726A72706365486476334A632F4350593773664864767A794D4462447833592F7372455554414B6855576C6965597A356C4877424C65694550384A68303453363058697149483241333351464B4D3852364D2B74446B4849784E485755522F5665635A6E635A384B7933436B63794C705775582F496578486D7058706C5644752F45304C3837657545524344364F70724F3275573545322B6977497568376C3532524D504F2F78332F384931703967774F31514B4454452F476330616650626C586D64716B4B4C74714244566452636556616266704674355344686454424D4F5A514A745973446632545030554D514556544C6F7978383456724467695A6A555A4E6D756D4E4A5556656474486278584E7653633970716935515839337A3563366A685A4F4931375152364E794E624A7A6F6A775A48766351464442487749544546365249654448496D3551524A6354707978776A2F76736E426E5171595467734B56784430654636376345754744354C6534516A3045307A6873485169376A6A4B3269775565505079367572766C6F7556614B453167434A32784851746B314F4F4379304E527A772B652F6F4E71593976385A6E312B6B7A4B6A725A4932704F777A304351514C6648533073792F72587936517A392F41365372556D7134354F50584E56317A2F7833672F34426E46487250714E394641584B567944554B4C55686B694A496B736742434C6754467175706B587352627373516A486C435375484C7667684D67656F742F504D66396979694544622B487458414D6B6C3368587A6A6A586E434A2B3535384A627A7A583546434F546F5934555934674778464930653934342B392B6549567A637375624B6D643132516F616C43587447706E74326775735331373676423257706354435A4B714551694533654E6535742F50786A39747169747071436871566561305655367A366339324C72334376504C6C73634E51587941625A4C7A6F67504A76414558476564793478504D694A2B5A2F307944783442396F386B486B69764D6348414361763831636C3170577A31717641542F7A473958546D73425377376E74646334377637776A504159786B786B464C2F4349454468483843764B36352F77352B5378336B74445263424E504345756849376D576E77537373637A2B475A6F2B507857593035445A63476D4A5878625067587051624668484F427949676E4C784F4758443042794F414C726E5954314754594E4B4C652F52756F73542B3272706930446D3957506A2B78306F78506B707738794356416F56334C75424A475A2B697A2F7674506D6F384236476C6750426F38795830476E686C59363062376E4F6D51323161776F3661362B6446764441647279686236784442444B43776B695A583838544A74353753635650714B39336A4772765371375135646D4E3649744C50784D76645368794866577A57777A47713678372F414F41537370687841634B7677456D73714232424E6452557954346A76566933414149556E41656A676D7A704D6A63732F524845425041596D4A424C4B48472F696959504550793453675A4876794734754976304C34414773587263516D4234454966556D4C517438564876336A7756646276762F35476657714F6132305138354672557632734F442B4D49453744526841712B497A314642636F47424373654948356B562F757550707A7039385358474C3837784E363749374E456D746C646C3258556137597136392B684C6E537333314A767644332F396C384F30336146654A3841526C44703365594569736D6B48505373796B69645445306F6C6259536573596365744A343338435064344C5670743454336D45566479424A73454E4A52743473545A425A64786D6E516A6E726D6253525033486E386263794353536B6134775A5862412B76427662386532546D2F726D4A576F326161325A686E4E57536174526E4E35624E6231552B50764132473048374F30415A524A364B3063384E5246674C515A335451366552707658724A6F557272714A7933526E6D412B64487530724161516B5A6B56477A55476157557647744759486761336D6C4536684A4A746F33396E6B43796554666232472F4D5448306C456B4D57776A354F334578396D7649386D51746845324D314E446C7741483270517978795271737876304D4C66755A33566566626A41566D2F6251576E65556E587A6E434E54626144514D796C754158743179466D7553504344744F776E7967385871796B684F646D473763487774355076504C3735316A57566251585576373236486E533674695A46424F54546963684D59396764474165414854484B6B2F4D4F4C4C34635243514677495036564C6B2B4851356469302B53324B7937633137615346306D696961496944766A6D454B68454E6A67633959424E3971344B4D6B5A70355967624A69497A48662F39545745397A71747A4578335032525366515A36496C725431615A44444C6F615854306D326154317A626442433543342B4F303877452B737A49434470666B664345432F6577423942766676434F3750714B444A4D6D743764577371676C2B4E32304A4D315A4C6130722F5A527A3352376D6E5244376734764B4C5642476F416B734F537A6A566B437473424D326B45376F7274534F43675448762B41685A794F65346B4743794D4855567949634D72434D4F343035694C6D6E662B6A3465424E5041426D38706A64304B377A696C51677745504A446748307338704D6E37727530725735656D79376670456B33713749736845707A31367635464135564478454C2F497257434669504850464D5464344D5535636F744A2F524E344F3446324D4F654458496477574144653768486147427943424A496B4767424237792F48416A5968574A35355A346A3854544C64776A4C447A6752766A6939694977574A4162456234496D64384B6578375365786A78576E675538664A627849505952495138734E6862504342387668436544366C4D52694369673048542B4F54653757657631304C2F53454A6C6430494C495267426D44773139446159542F37354F53323443556444714338467A5172494C5247644771624973716A5057616446725854544F6A6C457972555564496C344248544C535536596946676B493547344562664369534434777056736B5A41455555534F424F46653967304863512B78764F495756396B42666E687578444D63676D4E6F366841497555737334706866516552632B4D5544334D6A31534D5A5634556E3245364E524670375272715774394F5364766B687A7A576C586D2B2F2B796E452B5A4339436D6779634678442F6F6B48306A4D6C4F75496D5463486E79574D384A46775133475A3863502B6C694179773664343036765645686453706F6F424E597A3158374537422B55682F4857786F446E55547144304C437232677A524644577972774E4E556B6435646C6D566246564E38746D335053586E2B7869776647515377786E2B774A75354E33444F3973697338537079567A4A743252346C69642F6961486B394350482B6D7737595832715866507836357232556F574A6A504935484F516F3448467A7349674D2B796347574F67506739756E7436727A626671732F6D717034664B637263736C697A4C4E6F553972313879334C62317278392B41583851444C322F744542766E422B5666334841375A453355454A6B74584841524B526F596D6F754C593332632B4557776B3537457A39514142516B336B323942394D774E6D454238494B7948733768374D6E4833584344464B32464349667147447358783763642F64586137496239545266496D546B6C30364B4867412B75525A7546594249757343645144345A466E686B6642622F446F69305338314765597449796E4A3037766B68465967635139397A586C7253447542416E416C556F4E4B524477455875564744345A345376326A4573694958675244786E78384736454378776A444D5172435065774A435043353245425277693138514932552F6B4D2B796633766E704767786F744B4A3361324B656938374F3674586E747172384D377052395151586B65785A46773754395558367A43725756564448432B764A4D6D2F4B4D6575302B6D7553673054612B6F6F786A76666A6C62616F597969636A4975624A6D4B535945552B4341334769397A466E34693043654D2F3834706E374553346E513444426A3344445934633976434E356C4C4334522F354B75443352752F4449335841786C6E46564A454E326778397967396F5570485069434D5167726943432B38774F70666E75572F6B48434E776835772F43342F374552786838696F364762436B4F754D466275496E6C6966372F4C617848514C696866376A6C44393577454D6A795A2B2B68326161612F50356C5568632F645367326A414E344173712F753149764144714F33652B623544594466684E4477373144526163656435546C326E585A6E6371384E7357436E695550653361692F6F636A644A515073423758634451514A5A57436C346251363055654A332F6659555063785039486A2F555A5856702B57692F703963647062786E434C7854386D4164645057713376483450436E635043387862707A6A627554537255795531585A47785A616C6B555543706C35724B35746D583258377931614F4D75586A4F5169463470396F466E555641486C676A534D343744483545635173386B6D56584D44446D376C3072444F6374486B553169346370584D49474648386C2B364A337042734B754266426B4947397349685A78344D6C5668472B30444B5051526134356247375A33526F36486A75587258557034546D6B654855543238677249646179754F675335776D6E2F6E594467584F6252467976426B5137392B56524D6F466959784D7670763835515A333866516E7670562F79496A6278444154586B342B694E385453446276734557717743675246426E384A436144322B4B74634D6256616D7246365332734F4D50774338494E47506A45766C666E2F7874596E325A587A6D705776384863782B674953617054644F4837382B424F79444D494E774B4F71496279464D594E6A2B4545757752622F694C784B5A4865315968586774745475435359416F725A786933694650647941695561314253714C4E78572B4A7030674C7570574A394558365153576771734879556D634964634E736B6A565453713871545852344D455031525A2B4C764A634F58486B782B7646774846736F6F72476469672F78576D445766516E7A3349574E327457374B62564F6C3250665873346D6F374C2B623352476468663549304A634234614E31714F726A5A5570486D30425274714A587172796879474C4A61796C64392B796F305253376D67335966426D5043507636686C646A6A3656306B69597A494F4C6558662B482B6F385036516F754D3963683165706557643549306E37796D4352584A4636426447436443586E6641672B4962643032672F6878676B63733331732F764D4253324B4B586D30754A72566B6E74692B6B556C2F614B4252745771613678486D46734D4F71666F45455071743441656A5155754B4B65782B452B786F445948644B4646384236336E56496F436E69455363797767732F656C356F6175524B424D5739344357695178735462326249774945496D664F6348754F45634F4549784C336A535741397254586C4651415963595435502F766F54364855303035384739525376314C716B37482B694941776545734D45345451524B4A46344D49422F305834534A69494A5761643446455176384242334447336F3673495658676B532F456A73732B7A7747316C762F46594A7433486A4867456956655456753971784B73344A595170322B41424D516E6979594164627046346C42544B416A68435542423377482B525050687A7363686A2B3136643130697249516A72653158386C4D47547750705568374B6B5666307963782B6B6A566F6A74476F4B705377326365506455394772774258335170385153525A5A534351793851633446493534456F546A457832417844322F774933496F6E4173664D736568624F34433048634F367754645350424676495339785837545169517878337A50756B65426E65527946674D367748306448442F43566776676F763938762B3458682F446568465450494F434968384136324F6834456D455359612F436E763950702F507851395965494E3550325A646D64386D6A6E364E516244416430456E324D53415739793866336F76724B66543854744C4D336F4E4F6231477158567867644E593247584971792B395A2B64666B643942576E4165436E72356545346F776A7A384977572B4D3572494647376F503548697678386431682B495468535A6454513379773933544F6B6D37523559662F48565463674A2F33676C456F726768335A68504F515A506334693570392F4E61394E4F6364526B394659686A704A36364E3636617A42354462466E4659394158315950706478774458784C6C6747493749392B5A78676B4D41674B6D6643506933454848497232446A4A5362684575507A5551326744784356593467667855594E4254346764315161454733676B4B776F6942765155424B643461434475467A6134694A54542B6E723669574839347A2F4C6739625A6F35453263717A7631575232365765765677305164324D514A6F6A696D6B7079684B696569464A4F6A6E424C7A796459695244675067457534355566563048434657776D5177444A45644539764968574E75355864684D6E666F6B484E6556566E45347769612F674A30344A38524A4E64537563514A624942666763533544494771354135346350764471376D57614D434F743761416A2B5A4C472B75453339456E4D666F4C574755374765684A2B50526E495357412F69535A4C7A4C6B684F75456730504D5664434564784E2B39384B7878772F2F68462F7549386A784D5A2F4C7A546F79437575304365685737454C57492B4F6476344D3131452B484241747367616E6E6C4D2F44305A34516E5A48325842516A72724878437642482F414C7454787241366C356135626156455848496E4543454E2B336750725153494E4D6670415741394B714D2F6B674C47525936672B394441304D5162463844686A747A3736717A6B4E66506D6A51484F42776D4A30586D6A366F4B6C412F3447785876615943506532536A776D6F31646872736A754E53615A4B374D6332757A5769764A72326C396A493867796265644271774E436A44354244684F507543534A4971464D635162526E6144344C3465656A777272533077362B7343486A7552574A33575464672B73762B53714A68716539775546334B4E75484175374268693734355848703175724D2B3161394C4A7A7577785352775874554E525A4C6E55717A743234396F486A72364F6B7946424277686439566972794C7564556D50687A7A45726377684D78694C3768347464592F52514F346F4A4250384B615777487255544749533742486C414C56654B7934434631794575733578454D5555645642754F467145583846317943423962774B49426A794E51587267353937387534697177364D6B767255557139533674626B3276587A31716F4769627676687655496E754A4E49426C6B5A494A444552486579413645527846437A487663476952634A646F6B45757A4A43426338474D475045312F46484F43435633466E3945784D6572655576367335775530694A6279504A302F6741455747556747334F63397743344B612B6365447238356F2B6542596E325A5877767432356A374377754D6E594430762B6E646966534A2F4B46684F6B2B6D474A2F45434C6B4163393661556C334167336E4948776A3875776B4B3435486263694163515A344E4D63435349356A4E453730644F46586D4D652B47454378774B2F7345422B59384C6E6F67644641735056734D787241647A514D53726634723134416B6636554A775154377249624E6464706C414A7A39656A3942344A6D48774F2F6C4572384A2B7477652F626859615A6548447A5065787871714354716A324D5341574B4E2B62415063633641565943794B584A304E545049715751324139445856422F7253537554787A5135566B715579794B4B44647036323563754D4433392F4E504B4F432B5144486F516E5354446E5769794C426C58496B6549513751664666464E564868505548497850544F3357306779374865727079724C397357785071417830595231763052343735786F426C4C3056484C75705A55397933564771346C4937364E46586B626C34694E5632523574445037463779315A662B654A5271563552323230424E63767551362F47494F4A3957726D43696A7355516C684E71494B2B4555346E575434534A336F48496F4553486E4C3141415A497568435061436446555547626C756F3072694664736B754E782B61516B6D6E6247497878512B4167354C6E38385A466B4F4B536A3830666A764D5261383666473770336653724159584E6E534B4E5556572F667931704E636A484A37434B5A6C4379434958635A4C7A54765754316D6243787338707A707859666A6D4A6F4F43594249526634363834775355494875456467594156676B534178425A514C444678392F456B775933774B4167326C485042353363534E2F67465A775372554C6867437767784968773532534B707364534B354346776A69413843715148506F466E484F7352464339454E7351694478782B645871726D6E623652463372426F34723048453871626E5A4D2B76562B326831453555582F2F49747767385A6F79776A685363776836644E4C6E4D4B4D35374439794A4B367052416B4230526A707A33715354734A312B4A306F7756422B7A684E30374335547474456931466B5346716B51795A357768515A434D5744777979417773384444474F3956316F515A5567346C554D3679482F6C436D3468327335662F424669794E514F34426C7149593849696F75376D514B4E303465367850594C4E496E5030575A47776F3972684F30355361587175672B3570335242745565654D53785741413961566778724538416130486B374751496A41424E2B6F31686664726D61716C6A596472474B6F4A3761305847786D7079594B374D6378694B6D35562F4464506E472B466F67506E394250526965786B7145726D4A7068774A6E754A4F5550775856654B2F4165754A6D614B76523168503352512B696A4936506F4B79333876385A64733663786F71705A62536A4B755753705A794F6B6E4457706E545631316F71317033782B634F386B57483141654C695A303461494A6E6D79517973634B445249584244656F6B776F654B67657944526A6751697976733852612B534869515A434566504841696269474548746434375932396C69734A374F4D524152333461556F79486545374C794671764F564A6A58766C78457348396968424641545364704146502F38457A63316D64744A5350776D4B6B6B3154624B45784847516667664E4F68707737415153436550326B75573652546A6D524841726847416D4158354467414763433857517937384B784146434246464E52413145675276412F48685249354973637848774A5A344C6838656A696A6B574D794B387348506835422B45436E6B4F6568574250304170523469465541524755434163704558774134535A4F6545534F4B456B494967596876424470435948382F7643724A596C59377A6735724D2B794B733966717A344D354F425944396A68374130497A6943464970323468343149444A4B414C464F4169626C474773554E743856627549464C6C432F38497041544B4A3733654C42674E51704F6B467A634B41495549693930555233695A51455366494E6655647A4341634B4244634955446B524A43634B6A694135754B48783451684A3550455238454A49584A556F6E434441426C7744306141754A562B2B47396669464678425378544D566B6F38776F3374355754413477506B682F2F786257442F314B655A41454C3867653435666669323963584732565A506D3045676469354B33564574646C56492F6879714F3953654339556E536964376A6576304A4A46522B4F4C417153377072797135754F30494C4C6C476A672F5370486C4179516D5567684268585A496F79774973684D556630692B4C2F62384C364A41654E34564456437448685237673577674B396439303271373071725655686D5645442B58345647326965504B576A637446316E57387A4838535269706A4C7A5751326365384E3038724C4942312F415A6944654347624235682F4A33502F6158543354592F2B3348426A397A6D3270595574367577325662484A63506E6D687262626233686B2F4F32392F4F7A5A41634A39767341665651566442512F2F4B41614E534A545247554E552F534C3776634D486F684E416E4C656A597A765A4F4C547641344652314B49423335696F546F4D737549644E2F47482F7930732F3333744769323532732B6F63612B3046746955645037356C422F50745A76376A614150434C6C51625245506654694643666F4B4B4E787738784C787630585452324434576559344E64742F3372646C575933616E4D74576D536E56713051644B6161764962314B2B794C79764D51394365346D4E376D43652F637948534631304A6B6D5971694A6E6A686664564E71384C4449536F574E5A554A6641446167767A77614F667537426E313770584C6467766562733171717A3236765062612F702B385533376A2F30796D4557486B4B6E4E756F5431516656694C525573414C316957396346614142546741574F72352B4D42625A6634744E76425161324D4D437A2F7550486B55612F47342F4863735847513636554832515539682F35396B2F72767A69706C6B727973397531482B7966636B6C3755742F384D4B6A3849693363414F4A395649455A476A4C7952444B6A6E5956447671687774444752794D52502F725A5142792B635530454870384C487276752F682F5766586E54476161616E4C566C4D7A734D5251334B5433617661666E65352F3534384E56447A48654D39697747636757502B38636842684561353551724273514574774C726633666B31654932366C6C4B546858674F386D755348487167505650446532436479465537346E313352553546755646367A534867694E435854684B5A7859472F75375A62376E39786E4D6274476331614B44316E374E653358376274572B7945616A2F513378374E63514F6D554B7738686B34434430516867776737376846476F2F526D63627957626751672B334D63392F41397235377631313264636543466B50786D6F707A4F6D76506244626F50324F2F35654737587773504857612B34337A4A386B6A493761467A49756D554C70724A43306638453267664935366764357A3271496D384852354252586778654A7766377A79326D3430502B7964515746345752424D464234645945504C356A622F65582F555A782B786C5A52397272626D6730566A5A30336A37737739745A79506F5366507969744358553067387171795853696F556F4A525470716A454F645A3361775457702F5853466B774336326D7A4B69706634696F7567783761756E57455976524345304B5475634E2F6641384C5063394764714761684D59482B4F4850336D4241564F365478336F75773979574C6B67694653513963535063784169356570574E66484C6A6D706D4F4B767051382B726C4244704F6864544E30596376756F2B44746344756B365645724A634465532B344632525835765856354B3072765866333336485445745045376E483865416577427579444D4346546C41575255304878332F38477245646E42586E4246626C326144353964644D6556487A613952754B7350656851362F4E61394A6C4E61767965326F7A657170705278633662783339472B565A6D3159397A34614F302F5A67516D32527379626E44616E3330596C42774173344747432B6C77504862337A6B376B38365673317031733032566557317171574755716D7451714A5245533336436C6B573954534C626F5A4A6E3774365563305865763838746773514D49454B3665634831524A4167465755467A2B4C756C6755595637377739732B3156517A663631712B6E726C2F4936714379784C7A3136727565376E3377483637776D4F375041503974377870654C614B2B6432566B456169363236664A4D36656633434972507572503456737A76316C64655A48782F626A5771446F4C786352436E6C59655961474562786E624E534D366656694A426E4E6D6E4F36566F36313136543236484D37644958624B71545447565352326E525653757972507263446B3152693235366D32474F63326C2B665356512B345A66335834383470625A5174684F3867414D52614F494842316B7668335230646176586E7457693346326977356577496F43717A477070554A714B69765A7344793171654B437A65746E31367458334C7A6862344F3767666844496664346B425A456B526768544E52536A352F6150336C666F3868726E714F612F74627A4767304C476E586E6D3565633356467A51623168635A30574348736B4F4135752F47566B742F367A6A6B75324E4757734C5A336C584949305A37636F5A3171715A3355615A7A567243355974576E6E4C7868336873514E6846774270304F63364E6A4A4552636C5869784A576332335279336544674B3733566E44306A72382B704C6E4B64465A6231526E577575776D5258355864624B56547546503771314B6352714B2B70664F634E534337535531563636396F652B702F612B6A2F594F514436464F674D4E6965745A4C4169344F5558685872443935765634462F4546372F32706B34494742313835714D387871303836774742424969614F71304B53646154584F4D786C6E724B7559763137357063642B6A6B69484972346A45794E79525550344C70515372366F45394E466A6444596B37634C326C3547396D2B37393375776D4C65523268726B71733057525939616870444B376A464C446F674A6E5455703961553539786377474E597067323133663345314453615463484234623846502F6752635A486370474F6A76453442585030625733624C71776F36356F52656D5A357470353763627A57717175574B3637392F452F494776516835344C48362B357162656F5870485871494263465A6B4E6D553256364674545531717679462B36735036623137336750594A61444F36424E7934586236736748663470574A396E4952314F6A4F456B6F2F493656426C746C6461377634785346697A46425443467834502B385233424954542F3264705066477939356C4D7431545057564A356E586E616C592F3348562B72576237425073444334342F4C525471496E6A2F574A4E4F57576D2F677A6C3344773644674C33666E3659396C4C4C7A317A38307161465778664B4E6E4B55376656456C52787042624C37516D6D34367233795A44412B6A6A63792F5969714863442F5A544E4E564C3970544F37616936794C594F454866454E49366438763035434E35517743412B554935474C6549376976366933487A58573032526A463633446F5677376148303945674D6C644A674658342B4F7A466D746D4E2B315647705270446D4E3262303155747669314131567155356473633377362B485841434C41473272657149576A48464656524F68433347695859783879676E35502F6265766E64476D53616C66564E78626D325A535A6A6C30326433477242356A576E395638715A714F6F4373563550637035644D35566E642B6A7948507165782F4977322F646137626F4F4F3567353636527A5559435130424A325338674C3552705741586D6D37382B62704459704369793637747772516B4762545A4C5A5557482F7A395A665978443869527A396C576A4B6A5158484F6C6A58532B7375794E7453674F356A5858353362583532336F5161784A3757557A5852557A326E56337250375763443945462B4D54617A424A59434B4770375A704D76707167476170375170306A6F55325859644E4871705937466B4B614F642B45424F70625368536D705A6D4C4E7075575452304B6D5A4E6C56686D2B71574A33364F5845634358756232556B636B534D753066437A30646E44774C6562702B2B3233693965566E3774706459354A6E574652533259464F6B6D70322B716B7A55624A57536E314B476B68724C565371722F69334B3172357A5371566E31703477462B6272696268635A385935457731785052684542414969466647486F6963666769553933734673317361315657557A6B61732B79565631375358503373364237342F656F2F6667654D793267756C787175794E7855693470446F6774755779716B39744B4376706F435A39575A505373714E6E63384D376F6651414E4E4676562F6542513852675046352B70496B596C4345643456484C4E392F664F4B6E7061633269754264314C7A6C6254724F49323638446E56666C3353356D71706333484F31715853386F386E7431664D3656756176623630714C485366732F58586D516A4542695361694565614C6C704D7879714A6B502F4E745944793837744D4434624F7279544261333366475775765471747053793943306A4845325A614A4855754174676C5756434F326A794C357179754A565658575862346830566D3655686B49623549574A684E5445774D2B326C374F2B6935716F30645A7A515A35317557354A6E31556D636C48555541574C4258306B445456545853645575523639517474624248666B74737876546C6C33334D73657948727A384276494959384D39516F64644436515A41306E512F52486F58633675753755534E79477454416F375432797254316C78356671507567663076764D56384E2F7A70352B41597969752F747A7037593632302B714C304C62564A2F51624A5366685174476C70686B6B317136766D3074373142326B376D57474F7357786B614654734A6F6C383845784541457135775070756D7073466636696D3479614F396479412B57374764766E4730484852622B723452502B367335784C693163742B6E6A507971496D3156785462636E53736E4F587164446D51637A675748446F354C46656D424D6545303338465755414265772F776F4B4C65746357314A6442427979365A675639535773704252436A794148306B352F52436D6A474E51375A37344E49627162435051556C4345474A4D4F4F457A735247492F53376F713671394B5758647431354332726A4F50726D49625237685056676971444A6E4D577A452F2F39364C4265586F66447352375A524B3141726F465746313766644969414C375358425335317270316E72736C735532583031456F4F72575257466662585376575835375172623376746F594F30335344416869766477486F754243434B514567456457354368356A6E6D6443682B62616154444F4E65764765424F6B58744F38466F4E4E5379592F707748304639526736466B6D573872797453325A735870375A5748616864636E6D483338462B74476F47783157696956433837366B6336476E764A6635326E39304D334B523031644E794F736F6C2F7130615275724C632F382B47656531786430476776576C556B724C3030337132676C56613832746338677456354A432B5174554251574165626D5837382B6F374873417575796C39677759476A2F784141536A67774134464142706E645553536752757A613179384254446B77426F4E504B656C6F417673556F6456564947777A53316A71705379647472455955366475576F4C47353576343755487730755957716A656F5870472F757875684C4E4E38465863754B4C667255546F5855756868684A765871435369425246336C306961747445556E6256424A6E313075326376544E36466C4C637675564F58556C35316A71337371654244594162676638597A496E7A585369424E39796E636B50495A2B39386674793661623959554F6F3953384B4B656E616E70764856724252775037666E546B576144742F4332727049364B3747314C365354626A586F2B3061575374745551446E61704B426B4E56785132716A396857666B6D3878316A3063502B4353704E443833646F4F736539676538345343552B714F4D5864685150587574656F36744E7357684A2B2B627179684D314D53744E5854667552427459527261457169516656575371614A6751313236565A3357574E723030792F736F2B2B78673353576C4B676258436F52413742626A4E6354316E65705570416B75794C6C5A4C412B3156453576563339504A766F652B7A4F4758616A314C49346F3964416734326D4B354F75716150562B707630575A39624A566E4C6B4C7830744E44724C34656566734661773337612F596B646E6343464A386E4E30385A5851414C67396A47326F4E47517536716364705870712B4D4E6D7A714A70753441434A563052716C3145516D6576547A6A6D6D55513747537271716976466E686130714C3678744F2F42523669794D613959377A496148464C6741574F4D513861344556587452523071484F37444D68795A6E38315774787038504C57343139363479476F494E4D334C495745554C6D5953306D326F51665979354F75516F64794D652B49617941627865303664434950556E2B52375470795745342F3154764233526A57393668544862514F42796C4848632F73554A72752B74496F68783430744F346F6D456E462B704D586E357A666F45316575796A4C6F706E5658534F74754B5377412F33766D6E4F6171312F304478796A41346768793047336C30364A4F556D736E2F784E7349785A4A647879513363524434314C2B674178632B6F564253593164457A6762776F416C2B64687970594A416F74504875766A6C416A33494E6D4E5150773437714F4E3664585448423355714F714C6E7878352B7A68397830487A313868795050473434634954652B42333875394869765649746F5161316130463037496339433056735036637A7A5A745A3535394C476A363661317A7A4E565A375771705135477A5A61566B5655477668774A53304B796F2F2B3731423567505175787838793346516678557A386C2B44474944466F31415A364A464C2F74596149474E6C45646F3861524F416E6B427456596C39506F4D707A367A7279706E5531324B557964316C67486C536273336F304A574143594B4F7A556673797A352F56742F4732463832427138676F4A50764556484F49774B3033485846334E614B71584F437635526D494C716E714E532B357562387275724D70764B3057302F39376F473141717035597055394237517274695575634337626E585764637570326A64665564425458644371764C5233725A6869335465494F6B4D35637250496E5062715A4973757A6146503736366942615A4F6256492F55464A4C573151434B314839624F5855626747556255422F6B734F636A6256353638732B3839766253526D47494E446F5078526956506A676675622F565065713344616C3146354F68367A52646E353036686C55747178726C684D715157767071705132515831544A6D3842436B506C72306A72316D643236624E733275494F7A583148587762636A3947494D6F494E4D492B48746D5069484159724C7251767A577175534C656A63564A4A6E6158675A306E2F6B703847643552303130414E524D386D62304F745A4B366B3053633064636949417878545530544968614D536B707A636F727867772F7236373337754C655A462F5565486E535977554B4B385541473478316B515944313376626134555A5052584A6D4D376F354E6B2B616748566651634B4C3471416C33716F6E5670724C5550754F307A367956316C2F43313274705A3278636C746C51386533746A394F6550333736304A6950354554454957396F795250583458774172452F71716978794771393937623538717A624E70436A637641524E4F386B5347714575525449614962445874496947415642776D777A6F6E755A62444C5062717452585733667A48644F417848516D487A546A43532F696D6F6745396762486437487765655A6C7332314C5569466D4C6557464735666B39746441614F6E344D4C7536594E74796444364B7230664838574A53596741526E6158494F4A6F456144615862466A335639666559545450416235784134336155336D4E73674461356F58626D6E4E61465652654861556B4357676E7A4D7131662F7836446C7251356B566F6D4175324C6B76764E534930314266712B364933696534767A5670585376594B744B5A354B4E6D564337742F65747468686D6159563278774236322F334D4D6D7243644951536D4C396656325A5571584A74756B42745950736D43516E3834496E65595959382F3642383976716A3754766A544479592F2F7379706D62563035303136625558664644582B383679416469303968307351415258507957492B45796441414537666E7A376A6772534275415550344D524B6B77307932337665642F4B614B334334396258485873596A4B4F7748724B6130412B6E386236302B41653544734D67373376547170395972697131644B7A61577A5451625639576267425641626F736D425363344F4C714B2B6B42475738642B50464F76705779714F396541624F7261306D7443704F65747A54612B7A794F3276506C3763724D3771314F527658456F61665874357871596C304F757A576975316E37667670396B6E50343152514B50336F584E4B355976556E6F44314C42674A6569614F2B6B65415247665A3639493646495149646C5852565376534C4B7138546A565538747831705158313556446F4D7463764C72526F3835774779515141316152737159624F6D4752537750354B3578706733464449485142366F725A375552574A7962755A752B33484E303972312B5459644E434353657535756735416D62455A6F4B5941774D335A7546786166576C78627933367767435264444E3673756F4D34477A7A705A4A546B5878564C51413376636551316C492B7030502F77316566684772763451324A65347932464A367A546C4E6B7163363136414671714964705061687074417378455651746C4436644F6D4B5136712F4937316D533146715A3071374D62716D6376626279746F6675706847576F4A65664A59573637546E4B517157626D2F4B614B374D634F6A5177735850574F4553326F6F64526876447A2B3273424A536B5746653554624F7273445457496B56704841476A7A5A5644564633323238383854753946394A47566236496B634F343547786E637A3734584F35666C5758565A2F645135616A6F36464E4E6E6576706A325A375672636E744A62655337633565576246786133462B58616C61534267317479617041526C4B326F742B6D544C4C70432B7731303571304F2F6C47624853325A4A5435683943343047514D314C706A4C4C796273664D634B2B6630724369775638317731733373716B6D7258777739644C617A466C6F7177477557737A613351775764414F7068696B6B425A4D7A64564364316C456C7470636D746C5A2F63334843456A356D516C4B443535684D77754866783966556E5950314A6A654649335A576F2B374F7557706E645936447A414A71754147387A6E626F6334484C4435536A333469314C55614F4A6D656835324D76524B55665A465854566F6432363437552F6258636670315242617947354A5147474D4B4E5A327374592F6F71797450714B6B70346C426567326D625453736B2B6A33563367584A4B31656D4642517756454E36752B64475A334C526F7A464279564B526F5961316C7174783549325079743631443061454143666C7A5179534E35474936366F62426573616B426F525674575A594D595542685763725158636936616D6C7944326B2F475A43546C5A2B6375576B356969792F79356A635870486C4E43424D3670584350627051707355706664573564754F434A754F7A72734E6F7138415A347164634133474A59583076754D532F6D3757682B64546B6D44576D6E39383653433050465154554D5A54494A3971577A3231453776525332364B557A3636675356425442666F4E64626473664355306A4959666A716C4C6A52392B52744E4A597A30386771475552426A596B43763546537A784E6B37635463513750684A6C775633754933745A384E4E584E55684E693142343148727A6B5871717872536A4334666A44776E7234355434536E5976734E355569724A425A6C485965577357662B57703378366C77653459317650733442665A4246484F384D387A4B50392B6446677637354867554B51364365587A624C54334762422B77656562486D65445A3576726F4E486E41756A724C307662756C5471682F616E5174315973474846693279416C422B4969703866323053444B6A546A6842386B5741346450346951317379516F42396777544E4D5655554F59353754434D524A576E50464F56314C74393333765766476475396D6F3773446738386565764F48663333673341376A544275676342457039553446644F65737135616B6D43726E64687065597A52347A41636A4931456F463246617A774455632F3730316E6E4E6D76796D7975536D55716C6C45616E657658716F744B67593047716C355A2B655A74486E314A6456667247723749754F4D7A65757944485234416D7039684150477A38747846615A626C624E6339545733647833674545426F345551535031597948504253693071556B6D39737242465062743343666F4B304976524E4761684C594632334659366338754B516F734256574A6D69324665712B486A3968566E724B373835437231313335782B786A664F514F5659344335392F4552324E6E323670534F79695149367361616C463444676B4C2F5063656B6E6D59317A4F39656374486D64596F626259757661352F5A714A7A65544F6C4A586E756C31457A6A504544685A44526A4859756C6D6F2B742F633631723059473048634578424D2F6776355142446F70312B756479326B694476434E42736C656B587A31456D6C7A566537316642384C506861456C72576B53616E395972666938396238565975676E5253674C626452783552364C5142426B374A34792B71554E615662482F77784645393032554C6F754B4E5130615A34366342464E414276736C422B76564A6158357257715A5A71506E573274666273646D507239322B34642F66665834734F7675492F38704C33305065662B66306C7071587A473954353965573062314A48656362577570534E56546B6255434B583366584B5836424C697632663562704E6E38564648754C6655676D732F77446A395649504851425163753071394353797533527A74367A493631444F63395263666E3372387539654E623278737269704D71656C6F7269334A7074365950437268437164326C386E7262726977713756423648396545597046673864757859616333764477574D73414C332B484D75792F41353956717479526F7632553130724C374F76764F6D5050336D4C6A62385247587A52646541665933756333372F702F435A396174556E7039754D7564314779567A4F5435545546396F4E35316C71393550536A597241763052317556456A3046536A4156693870546D7271527A515156314430662F6F343376414E46794D316A48586F6F586F35713565565057562F727176627378667558436570537133565A48555567624E67435A642B4D597479585A64596233716D30382F4D4D51526870694A63754A3158574139656F53304B70302B42794739486C4357326148737650744C67472B34647A4732502B6A75756630725A7A56576F7865626255562F70557936706C72717155432F4A323939425A6F36326E3456616A30344D3859585549484348776A72543053483243746368435149776A32394A73416954683168766C2F732F587468597958414D62314844306C466B51506C503851784845454335552F41657042776E39716A6F3374306D57326B676149366E642B313747336D687944534C4238746A3550354C6C68454F55764949482B63677656554D445956617578486776573451714765655576544752745835725570307746744859756B5454584A4543794C4D7474684C4768562F6E376B645343734837552F4941596F6B485A536841585779336D4577512B565663546E476F4E57433630634E61526739654B355A7150716938343357476737477A744557784B4778734E756F4257636A6B63396831687779782F766D414630686937577035504D6932686B7555754E52734C2B693638655153324D426D6B48615368667755676F53487A7575764F57575532714766617161656A50326A5370546833426C6C6B4270624B345454323751586E376D302B3852564E686B62645A5941634C5073454F586252315855704C4B5233374A37374D364E4E426F5A6157583378325238312B466A345763534D76345243746C6B4E39674D6F4478514C656E32506A746F652B5639525851384A67556151374E4A6C324C61724E3944626436365474526734424C4A6766386F394D515553427865414F32726B6A4C5067384735316C71344A71517550584A4A4D71494869787337706758646E463361732F392F686432356C6E4C78304D454435453455516550667247783571727A3277334C4F685A696835562B705A6130724E364E634152564B35664848683248335037774F786F7945384C41744761686F2B773050774F513145504E636B45484D68586C344A333968584A6E5A587A2B3561645A312F792B3645336B4D35647A4C65582B6445426666446F396E506271394172417575672B615A7651413048664B6A796263617A5445754F7343693637625345696D3859365A39776F33436835774C374C7578614F6131445037335455506546336E2F3444304646705636582F486B614457433661636C4E384947336E7A756E7954437455307644464D697976514A466D646D6D306C7872475152764A32496E45744E6954734A362F74307346413765367641396A5538533635575A322B716B3169747A37626F536B2F62737A71706E32644162314E4347674D746F756834342B4E4A5A445A71735656644D36366D6D51554961424B2B573268644E3237693870466E337A61667542797639304741677432696C666442546144636E734F754335716F5A6A65717A544C5762373772744D504D4E6F30796A3439414A686D67594D344A36696F776A5237302F2F484C68387357355A67306671455357616242757272336D73596D6465774F41596F67443444354D7063624342356C6265344F74324B4A484E343479433777533879696D52664D2B55352F655544717658582F2F384A75516974334D6435674C78702F48396C78677170336571554D766C6C616D514E4863614942716E773257586D632F77767775326F38564451734E51504571434B77503033673959543059525639366731317072525874502F754347483434464849394D374A762B724C794F6562612F41347472615336447633345567676259766B62477A7A476F6F643834775245344C7459506557686C5A332F786E673954494B394D48474C4F506C4339436B6E676B4A64476D4F52395464754C4B7858305043575855506A576253485157576141796D6D47542B61316F69423867636D416574786345386B31506B4D69796F4E4558576A6B5067346D713179656C2F74776D7461442F4D7645594A6F4449474448712F50532F4178354A6C41466F544244596B733352466E6F435244567144574A574939494F4E55597A3270676232614A4474796F637979714148364E443359682B4C546F676448696F616A6A4268725652625944584F62314E3939344F34683379695950384738486C4C61513753454C4552614D41514C5967444D6C75476556786A654E704F616A4D716762312B7A664A4D46386E435168576C4A4F77754D45695A534978454F45344A44534B43756F6C7161666E774C414369706F7A7A2F326857535A61485556514656656C717A4170574B417151576C432F6443444D45612F6E2B7A666C576A75386F464F697A4547696E4A674D59305678782F6C72314136383944546C424852356D55514133376F64592B433032686A71545A6C4A4B6E5976546F532F33304D6659614F716D74616965634F2B6D76594351656939564779686A7942474B456855624B744A6E482F3070754A534D38473171634179525A6E6670707A5770416142444A4A5030785A2B4C326B446159463073694277497559437136332F344F6168346142356F4674705241576C4A7469675133634C574A662F5939775A534E557A54504C525041425265454B31365A4778682B334B6B6B77594E304733664250685755717663566E466533387064714768686434547A44616C46696C46317A2B395A526673444F7443416F524331314478304B664932314D357031563763567674576142677964707A4B676F7070496F4965445076446E68656E7253745062363349374B75692B6F4A6D7A4B374F376A5957724B38384A714D3248644C43537A4F4B4167493851794839644B4E786B5730562B6D53446A41596D674864676D6F73764D6961705276464832626A50682F432F39395166357254534B71613847396277325168316E734D41356630414F59354541704163627667597A753850767A713952517573704D564F4E4A4F6853756F2B6966583174477646426832364E544D37644D5A746E61384E37494D764E466644556639673241757534764566423364633146594E7A59414B6F6C394E737A73394775694C3839714E6C6334473842447578344D2B547768614446684555493753755753357576467A6659644A3573574B644A4A324C6868555743416B616353504E6F4356396A5156644F71537567326B3139764B6B2F6F4E7862323153323764424D3454452F6E353665677A4941696B762F5361746B777A7233524F52524C615A705258747772594E624E4A74646936366F58522F536773534D5551583433677039577530526664683146656D65324B4448524E6F4453676F42327174473739484850313374416F41672F54354A44674B45786B6749554C7A487A6148493542614648737968796274754D5858774A514877364D48474B68656655716443347A6B65613278576B6271365574364C795746376570626E37304C695153325552714B54543867354150666E4F53574538504A324867334D2F5067614F516F7377644365344D6A43356F314A553461695341653738522F55536148594A4F31324F554F6D6871534944794B53494F454F6F4D6379557055424361506A57714D586F564335783176397231747845362F597936324B53456B6F4153714D567A6A427649422B693973503472542F366E734C344831567556626C566C57676E467045306157676543472B424C6A304C714B714D327A46535231564B2B376D746266476A5A6F3646785036334351795566436B2B496B6857453145496F5A636D41525A672B7742454866597A3658622B342F39634441646F736B314D5946512B316E62343245727441383159426C75444436327A6B4975654B374C5A4B47755474567152635851506B796D766A57422B467673797A774B4E42554F6262623659526345677A6167764A644B585551396D5A3261722B346A323348334D4E7771452F537366484545554A755641305862642F4964394573324855652B685367674D35446C312B752B7158423539446D4A51594C2F397569307361326A4D4F633846622F766A544841734E6334465877487071564A7A36346B59566B49732B5A65455A4436424C774C73466F73654431676A3950505177556A6F716B3633517A576C534E3356626257706E35597831356666393758457547477773344556544158314D534155534F527A3237596D4F58324A616D7248794374707844367257526A70484963326B6D4E4F3339412B757430657078534D45464E55626F4842657A7970614741506846466A76524A2B39456D7279676E584B582F7A74495541534F48446352617472614A316A6845364252396671453132725A7655766C566F57306E517846477148436E326A6E5071794E7A3348305669355742514A43377139784131655A496543497A39353472354246747A76472F44545043436B465061303868724A4A6862414A59697659396B5247446D3776567071574552744D45436B692F6863334B4635685959444973474144356B56344152472F6537497179577464465A4A4F673172454E6166314A37476850556239536B323966776D7A544F4858716441513146307A33424458696A35614C6B6A6E3776336A706E7461443456306C5944736252626C5746525432395758574665755474434836654E52394261452B496A55794150433779345A2F73454377344552774E513456426366424D4F79424C2F514A653453735647307367655062716A7145314C577A5332584A3630725A614B77465335614676624165596C6F513148555839516365416354636969617A6F67714E426A6750557033574C5059565668642F5535395A7237582F6F7A47684C773038507A79325743626735454A79717537737A72425069415036693877486F496C5137396731312B64423069515A712F4561796944454F7A4956304244536648656C7247596C646D325454315037337841504F67454A666633454F66676E667A6A694155316F36463445795753626E6D316F333777694F6B373779484F6556592F2F2B4B2B773777754971723762556C57645571726E4B6E4A72515041726A4B6B725A72315333336F7137646C565A6473697A5A70684D67425167704A434730554150426751532B454571413045784E414464736A4148334C6C6C6C6537332F2B3836733167494D76386C6A6656776658393239642B36554D326665633837634B536974302B5768634A504649536A53583235384F6E62786E484764693151566336434F457459573038537231394968726150504F487745724539714E73437570335061707558594449432B4E537535526A4F766F335258734166324C38544E35334C61653038346E5A792B4B4175435135614674666939596A33304F55304A6272576F6738554B79464F7442756B3459427A3441746676477370722F4F71384A4A762B676F62695933415141773650346A2F7136495A3541687648345A4C6C476C4B2F4F4F53562B4F487A4151366F3667536F42513931483845463773693336425941473056486C73634457357237595231532F4E4E58615A4D7273796573577869334C6C395650772F496C56536A5069453652715435544F476E69783273752F6557684159787659753964674C725737525235717A7A476F74322B57556D365137694C5953486834347A594F562F762F676773556F6475366141417A324246505763495A56733174332B396C2F786C506D426D344533576162766876563443635830656A6B62414669504A7632484431354D4B4A302F727173456642614E45324B7069613749794C3235415743426D4E47694142796F612B6B662B656B55454746685A7437386A7764487238684962674E4B5A7171364F4E6F76726B4566623961555033447A5955354B466E55715741327635525259333236497173366333627973682F4E76435747396375304B764F636A443548456A612F2B4F62584F434433457856796C3964656B547972506576587A7A524267494134614767575A5736344637633442334479754F4135347570324B7A797355416351417A78414545556F5765487052525571337833565955584A2B307349752B39723571765877764856673356694C346557425865435931384E5A4F6577324F534E59337772646C67565865386D744852774C462F4444622F43366F6462347174635838487270636D317A4844362F7270436D4449432B672F495070456F757A2F35686463464C653764415A626F35456C45774676584348507037334C30442F4B674B335048352F4536766F3938504B3062593961412B7871723048653839346650735562777A366F74543267733430344C32683135564E652B6978735637475A42735231455250347077617179767A3035754D4D3573574178524A3338557268644C72754B2F6979434F556E632B66512B48564D44745269314C7247386C303359366A794B4262386436744A486F566D4F4354622F38345A732B56337750665052695976356C61545530356B5A66427769394D75326152614F62545A50725450735658362B637376344E782F4269666554776539474D3646782F366A694F5A6A622F616E4E53705461704F5639564D54742B585448646B4A6F35385679325A586978486B495731367950736B6D73463171787A524146704C5A6F703157794577594E7245394F6E68544534596D444234714F366D4D74667139596E34424779493832416B4871644D4C77314B7257474A4F62544650584C566174754553314E70666A59637175694B3556543741617A58666465417877374F6B42687672384C74726C6B45672F305A7A594C6573553659675565456D6B4466623239687A7250696F52583461556842656450747250424473787252516D54342F6932362F3439646658716B6F7553344A667955457647574173734237386849434269583043436B466F4D4C61376277356A5055565A7232724B5273755074577279376D6848654B384378344B7448523468576734756B4259733930385652387971656678414371794861562B766759696A7762513965536630423873676A475A6D45323939523678484568777635413936334D346A697166676C6C5930547671613158505A33646559446474356F73333037444567693938442B7A484169675A35672B484B6B654B3937666A655478583744477365716F627250734A75625458454E687448564D366659636B397A484837496E2F696B466766413679584767554F424C41443463335A312F2F39666D42487434634C4651694668394970415476334744696F4F443951426B59756E353361565578544636414A546A627055737936702F37394B6D6F5A5449596534714C64714B462B4F374B476D39336550674366437A474A44656A646968647933684E7932566D4A49593444466258546F3454416D6136584869445441456D694432645572575A38626336667633676E67765575646B4F6445617A506A756E4B48316B323939566A4F2B794B4E7A77336170424234425173597851434D725038463131787A56436357647A627656555830354B54574B4F5A555A58376D39662F426A61433877794E5A47432F7739305377303448464F634A7865466759666B545444696D7545546650667630455259457964797642464E4C733153725A6E4B45534974655443764C4F733961644968366E50554B7A69422B4244345631764F7A6631716A3666716E37345667674930755964577942486A625339464171522F63396459346D346C597A31352B667366474F616C617333336745424C77422B6E48444A62376131685064614A4F62636B7266664B323537326658397179654A6F744C3746476E51444C75505248435A3046597A754C3435625065645737352F4D51546457774D58477159356978486C37684149666C41725963506738714156772B72506965503751747358446D443638715332724C5631574C6F5761776147785A2F4B4C46346730585163696978634C51544935662B546A374E4B5A526E394B596B3777713833787A2F71664B774445462B51793676533575594D4C4F6E45685277764C782F57493944533575574D50423962547261374D702B6C33354D61567A5A3351735A45396939637A6F645156456758704E536E5075524C5078346338326F6F6F6836344170562F6478354438513450497868455A5A4B6D536159454A6968367A6F6E4145686A4366454C693048782B6F434B626841465351657075556578664735346A7167424E4634594E522F724468616E763344754D5A634E6B6730677A56774D413070566254725957524A724A636D4658415A574D3950565252366F6A43514E4B704A43792F6B74672B656F58486B633869434931506B4E704446773030526B425A4835614E424E6D73355A4C35656B394267514B736F762F66487942497A6A414B684F4A545A3734443130437643645743466F72724268694F4B2F2B4C3652657772713536485A735970504C42746D3432547A635A392F4B6754424E5A4C58726C38666C6A305442537339416663515837784F3644345A3357574A706E5A47794D6D3742414F6B70704D34797643693276435A5246766E417272495A6D316D636C573359664B735250386973425577416459754B4C7242546D475A787A59706E6847563276693463586241422F38416F7A587839704D6A372F7A54395179336B49535971304C73427331686E7230392F6E74486737764233473176784F4B43334A2B57484156744A7658334E563674784A34542B6C652F39626A6F2B734E5357754C554A556A6D2F5578566A57772F7234744C7745575A42384F347A3944574A2B4156425A6343766C454A686B4D3565566E494347416F7578396669643466762F627A794A4C374C586779736B61715077346D333543545537396737636470366F47746E49354A49356639415A4350756855494B2B76542F4564557579676F7770564F437753386145623068766335653246474F3953426E59702F765436764454593954587A4F5A4E7274556C56713459574F534B6B4C2B5142783967446A683966782F715254646C77724A4D7432766539423948326B513045413846616B6657466F317678766A4477325951364531356B68787345586D4239516D5832782F3263462F4C7457442B71457762787244467442595750334A42315A3174385A57614352514E6856746E55695632462F4E36373550496258336B456F4E716A3246467159652B632B686832724766525261574445514D686E774F4769566A72592F556A76306F716D5A4E5969354C7256626235484764646D38465271384F4A3961436F6C6A414A2F30757471737547585A2F5961427A586D42653365465A47562F6C657858746332462B55505766342B33696B4B4B44763261363351674B4939554366754670746C445562526D37615651767A667475704D6C30345A66305350464C565A535A6676356872664A5A656E7453534F3735617630337067514775634879336D4B6B76674A3569675252514A47526153435A4C42362F2F474A70503042503077695953587A6A64527854662B39316658503351623335556D6A3939516561463571494C47785A4E716A474E575A4639586B584F3942576143575761324E4B4D6B54575A4B67737130636A70676932474D5A5769763136674434657453526C5167673133337A4C6146735A36666D396F794237567141553476716B636868504B6A4B43344952686A457259425474532B514B49705459556A6D3451586A4863622B5855367A5A617A3875377265365734696A4A4A587030753167752B417575687A316A6A744E5942424F357A616F7553476F436B367446774F747479564662755A486C5255386C7578593663694434756D707A49496439484E444358413451464943734131507A4154386255476D4C59704956563061794454544F6D584C317034414373564C76584C636F4849336F49316B6436636D33714E4B742B48373874687933456667676844693553704C68634C69444F5673554E374F41514C47414835364E784A5047342B74776E2F304F3748747A326F54546764533937706477756A7639784B76346A584672414E614234336A3234396364502F4E375157586C3275534739584A74656E54505A6E44752B5644756C326A6968556E644F2B384930364C6C566C384D71596B7470436D5039505A7465684D5A466F53456B6F695036544742395337624B6D6E6C527831495556676B4134385779427851555371625078323832735064524B5A7637397361577A754E6D637967766E504C326E42454E7569537A586E746A2F51462B53524C6969394441656F432B474656314D4E69374D395339522F453876764F3179747658586D59756E47343254576B6F47464E6A6A4630383537794B33504E4C44616D465631363465736D4938726B4A7263596F612B5A49626E72426236315479343148326636674F646969767758726752367031526F594162304B5842357163616A2F41504B41537162564641535976424D36797145346A58524769554B4175465A44424F764248796B5049507A3843745A4841784A72732B497336756C584C59566E7745354661786256664C3047536165303532742F31625A6638585572446A3845427077413437376847483673527862364866674C66674534542F673457714C62377A69677548396B585269395967366E4E614539644F527739514C614B563946357A4E4D72646F5272514C724739516A3674516A6257515A423332617338363661726E4B38494D6E4433333471613848456F614B6F6B733457475438525831547872395872452B43646753374272452B32704964737A703332765572506C5A386C39694B6F355A63435A2B4F41386E4E63396E7756687335634D576930563966693171477955784D34786373466F47456941654A44524A70654C7749414E5145464D4A592B4D682F62505554767A3358584443394A6D39636858354D4E657A4850413770746342754E6152306C715261394A7A6C3332424B624D324C375370676F6D73677152782F4D7146637A5A486559416D3143762F6A4244514D5933307A42354D42536C54313258454E32685372376850525943677861474A4F56376A5177425A2B4D777763556F4A6E745A614D616B567242307851535977775A365931356C5938654D747877694A624A6F372F41757446527748336F675173416F766674652B6255476B597955565573696B7744527267305A696D334D7037627A7A47455A6C656A3463376558466F49314D53774F536956344472773436655934722F336F3966475738784A445470523754725751584E34495978595758472F612F2F486236526B345972337A754A3965773945466A666F496C744E716256614946516476675158672B4B592B644564334946684A3839696E6558456B53446A612F58523764435A514A6575553844414F4C765739393242614158685A54432F6F5A3643454251677765394A7734727A683746642B4D6A76376C73706634487065724A70566E4A706650696171426C78565A6C4456704F4265494D706C6B6A4C566B5171755132557851616943304C46545371566A504F61767A6A746C634767463668414E676C536E366D7344357233542F2F7942566E505736344332772B6B424F38454B42316A4C4949374164694F684F577A774849307051425372527878593459692B3763706F5637696657435079646779724D503461696A4731374C2B3434394B332B39626C7156646D4A46356F54537A4C534B544C615856694D4D79706A56655A4D3653754C4C4D386655356167713569567867484A47596C744F516A73586B4968724D556D73707978396133393964474E327970724343395975687A4D487730682B4D7769444A6E5374442F4476427065324B673759577A4158695056517A38447839707A454B7258456572424A766748437A362F323463437A624D324A4E5765724B7562794F32327A4770592B5377485174325243427435586E41646F3063505438676C467A7A79633868682B7245644C634E4D3773374D3367427877756467686A6A612F596575625536323541466B78476D644F6541686D424A5348673841376D4671746E50635233616A6833747A4E787067576A72686E5233444E664744573258554641414C59732F5473306377476934792F51674A7852633538373169506E457573542B6A49502F2F4773733855337873446E353154587A4269786179306A6B494F5259653531367947456B557A68716974652F784F446975326E7944515134654A7355614D66416A78762B6A444F574C6E614C39667666564D656F55685A6B5647576D7452556D4E65624B4D70707434344569494C5549426C6763717949514E714C75634369373542432F38733674706956554F4771696C72564A4E6859706B616A6A6E4E4D6E414E6F735176425769364A37456538686F44724B6E506A6D2F51546D38742F6C54783972465A4D5479486B596738636651615233423539696B65474758452B72717345573147747266716563423679324F33775430486F684654416F482F42757639394E4F4A3957346E454F71464131745456366E6A6D303063305769646E37696D674B79757A4F7838367265634C694461426436434655395850615345354C724E59736735564D556878665643377966776161497338376C384169744C48644E71416C7A2B354D6E376B53695341467769355A4E394F4F7959436D4E396C45325457703631567777574A414E456566796F4C3341506472334443636E634472752B787343782F784461466F673041545370537633696A6E383766505461304D71594A5365634A43356C63315478332F6665507936764C6A68766C5762537173783069325A63677A477032554165746F6B506B73686B585359696965764967774555336847704E694F2B54512B736A36336A6C4B364850336D6457492B5736324533446F347A6750584E325543723332782B6A6E4C694A306F6731774534315251594A754555646A327145397849723962444C457541414141784363713645585736636561632F534B59324A514E634D66754F414461366F642B4D61314D6D315932503947636C566958506262656B4E70676F424F4A6B6F49613153704C4E6D79676C4E5938446D69787A464A31476C57324445354B6174456D747564504B544F45375871423958312B46766D55574938474F4F7547616A687A2F5346753079516C4B6F697145396A72746A764170632B56344E684B396C4C796B3444412B684772545A482B6574454F773343506E312F72722B66556B496B6478644334624D3558463669732F49594531497175313435625537795A52723348376A6A426D5639306E734F673866586A2F384B7552383242557742364543356B36647842623438536E4E572B4171715649302B74475A4153755572524D4A4C4565764542585377744E44694E432F64745758467269305931474A49723157762F657663584953376244554D503842457053722F54775A354B2B46784259507233672F5679623346554E6E4B65304D42357337693438506F794D5476476439317A393665575A6B5A585A4579345A6F6E4B4D7065446C2B7446477A5A72344D432B646E5448695A43446F67587A68334150497A384553785031676D787A6353736B794D6D52624A5A722F76536238645847614C4E325A46736556343842384C586E63763362426D4E6353313555505449417030454433544F5733396A6E70717866714B71647031706A484C452B54325762427843665571566E4733614A614E47514966334372712B2F357954577736364D736D556E3147765062697542757149527834346D3457564975635746364B6B2B70506A4F61562F4567577673394B52646A2B714C462F4D4A6757576F4C4245777A4B7476782F71783552777448735A36744572525830396E4A386A5A41382F75337A79326B697647384A754839447A4D38354E71314732503364484E627A6873463749362B4C724D49624C71343072364B4F7052786676507670317046646B702F4977386E787133495774555732354336667A4F653239486F6F346775304877717352366A713858574D2B507750556151496E6D747159442F47676B6E457055426774453445417141522F6E44587973754B43385553356748365761536F4A445A66372B305A732B6A6A696B4134312F5471645439436B467233726D6E6B6D6C6D6F6C56757653476E455455594E3338755061633065734B4F61325837514B4162686A64586743724B3748524350424B585A326E71706B625178556C526E774A724C39767930766B6D4F417A434D657073623731753479766238346533577936643863726C424F506D4C474E6B4E43614B4B78493434525053492F5843385366616A58423534427534476F4B6E4872476466334731426A33636B786B754335365058596F66744F3174576333464557746E4A304B69515779563132657672346B71695944506B544B56535571477878367A57694C4C7245796532787A486A7837565475796E6157716E7A4F4355794A30514D4A7046546E4165725A3967665553754C364F3954454E32664631757677374F794742626D5A616C46642B77734537517543686134483134796F4245514C7277584449565475486B4733753252734B6E6579734236454D59617848365354574E774B5A446150724456486D724248723454646E7377756B575539667050544B704B616370582B38345A6A6939724C6132513847526B6667346976482F776E57413157457263474B7845304F4B6D446B682F30444834574F6A5376586A47307634674A5064647A6F51416A66734E4770734A3733573358523179785172626F30746A3076716336517469686A63374437534E43426867326A4431554F4577343552796B6F74543476774F483778507047596A30615958776A353832694650397A54646B426A72336C6B68324747326F6E31356E6F3946584F4774475A7977577A5776545170736C572F625253485953797839346272674B786C444E6B425041507957527443327A5A30332F307A357466503974614747754663574667444444396175664864533249623441396F6B7570304B61737A443672767669537A6C5758644B365961446165663832716D446F74683145685A4C743278476F4449484A536C59362B4F5A635441524C535245497841424266776671597575776B57786A72415842306D587A44692F56443758712F6D427A45696859433731523866392F393453527A727371617A633669526A5A736C435739746442362F3833482B5732547766414B44795346532B525441444853644843334674397A506474544B3957784D442F6249463151474F716B726D4B30724C5833333446454558796F5866385672416577616D39744F735176714836574A594C3165493232373565774870596463424D766A6D694168527647656743666E59444A73664E48464E2B54752F397A66737643535331467170557A5963507973336E39334F67314F56464E5770694B584D366F4C4F75732B734C706C7479704E546E6E747932365950304B3241725274566E4A617774684C6B6937486F726B6E6B3076436F3752396748684F434E3250657956502B7834475356443265784F4230724A742F4248704E484C425238674F59462B654857576E4F68614E61786A5643576E576254417A446341363248586F386A6746643541456A633838386670384734723534756D6A6361656E5868397357723570544474703635656B4643524F625A476631357A795A584E53792B79464536714D63496E35764A714E3556776B6B72395846515A6B464432345A774F31714D5743752F73444D394C6C2B58395A717948784E4B79504232736A396A316A64723456744F6F6D717A3564362B68373957696A566D64793558586175614E75327152716E7A57424B7678582F7333752B672B6F396C41514F6A554D534B3037692B6A3066426A765767612B447459666668446F416C3661555A43466D2F34353850784B2B5942596364316C58426C3751677544784D4E77587049412B4347444958784A6674564F3244525A4536724C3870595579463276424E624D776A474566524645647A6347654C3736634F4A72483047745139475165464C6458585A4E575851375A43327734726A672B446863383235795A585A596D6A4258454A71527934484F3957714A39535A46763673486532426C52766742466F494A4E704A767A44745A65576950653958334C4E6156795A5641727331624D44584C6F42766D3743324A4B3561653035746B6557756D312F6176526B5664307A7841704C324B7036504663633278622F777752736E64705A7749424238345A715A595058594B73314266362F50373449363652646A4C7146556B48726476626477484D36587366376374704C504F593374613167503470546234494676786E6F494D4636545050717557432F36504252346D523636774D452B722B4F35765A765371334E47574E5663664278704357776130354B586455333149544A5A356B6C7953317A4B72417268376775366F48522F2B64347A593879364562575A30486D30776871796F477648564F7475662F7068386155782F47344536344855493576596F7749624D363557712F3875574138656775645239626F4A4E63523665436551546E42625449376C304272545431756A532B466D53666A51714E62443235696E736D556E6D545772377276783662332F3261633467574B49746C767848654173614239584746356445453373316F445077506F785A7633644837307748466766313644766575452B36633835785A59616641742F3244304767654677477644677344497730554A7042332B674870414B346F6C72797031535633424932437434417858357A734465632B7358714B726D71786F304E485261314B7256476C58316C656573577A7139796E4464732F652F734838546A41626B70446667484241625737366A39484838596C4F47716A3162745A6F4C4F6E315872432F367A5442695054746A4B2B644D366C685138766A4E7073647652493344764F4E6E6555746D2F4F7138785061384553746D6E562B71683455425532386736425439587A796F2F466858504F54464D474D396A73473377712F694479414D6342394376747A372F5A7A79653246643866546D346751724B69396E324C4665644E674236306332637051366B3550723844526B7164626D783634724168616B4E786550586A7A76326D63664547756968545075396E716358673577466D4F52767A6573687A63747352356C495471494A65534139634331414B652F2B2F5972396A766665666F486A6357714A5A647A526B2F5A7A46476442647879746D7032664B4E786B69586E726A662F4631494C39485148505059517079774A723539706555497331464E37506F67746D54576D72566A5643706457722B4A36697670456932466D5A2F6C6E4376754C442F6477446F6A4373594E6F774736593156386F767478625731504D576C68656F3961596F6A763542585630745871482F61417A41436A686438682B6F68735845624C654B38625874357747316C4E61655034533167392B6D3431675051543976385A36766864534846366E503867504656374676386C3165464B6C4557344B703331777A56737447423574795A355759305165766848727665786574334E464D31664A485A317064616761574256717A7279766D792B782B4B33444F77654362726B6E48413677526136524D42547245327131687038334854346C316E4E73504263613266622F772F6F2B6473317866504D4833694E4A692B616D694D566B5971347634526A513573796B6134716E72463330686E4C38633856783144664148697A777A777441344D4959674C2B62332F354C544358586C4236314E6739384275736764574737587668506241566E424F7462736D4F6244426B3357593872726D4349624A466C355673425669514B6251397735596F50656E656E57626D504B58775272727A55544A5766306C4A3478626F4B79434A6B47434652587476395030386F563675736D6245334C4959693456366E625A715239646E31662F33314471555079677846674744344F4F776552654541346C324B6E324F757171346365573278616C3075484E50766850564A74626F46762B3445684834563632552F426D5765537A4F4E2F612F742B74724D314B376971504A357978372F7956754B59337072386467365930706A547670317931524C4C386254695773584A712F4D3046304651345472746145684D4A6F684236524947766A446A7658684E37345541324D4748543178444437374363572F5965646253635658786C646B6A6530555335684763486B594343676649643652526A304A6B716F623257364B626A61716C733438743273466A4C744E53703864786F57446739365163625253536A6C6B39337671772F6E53486F544E776E6C4873326E552F656A714D73345A34635A7371472F664163576A57566435636466797146567A4A71356644416557774D7050333461345774335935646B66426F2B6A346145314F6E7A555873697A6E414D4333332B76457279305A646E5A375574554B32664864426170754A6A776E4C477253326159382F667A51352F48343346525654736832357933456C443852344D44757858376A2B704B4A74586D6A49524A56544F62692F3831613065624E523930662B355133454F78486B797A3348737A31306751697A7039433962544A30653542512B417350735633396D7254344831636C31764961344D2F3532785868436E552B416E5238747A3536797A71764E4757545438656C535878624838374D4C4B6E6D5178376845377663673868562F46662B5354524551442F42324337644A59676F5A4E71344A4C56716952364B6747773568796457523876637971785071342B6C4E6A5062534F79423972683339454B6C2F422B696A5268344D5876343731614D4A67654D763974343276304A50624542684F374F4B3669614D743269324B2F7A2F75412B5141696A4B6F375A475355776E7355567A4C666E2F4E684F623855653263746F62347762727874546E33623331354F4C422B52494D327663344563384542395953443352434548592F674A38675A346B6A57527A61394446546C69335671666B3146733633586A47307057764748472B416567555541576C784D4C7A4D6D4E655143544B4F754B31475A5A364F424A4C626C586E5A4435573661765277427944346874352F676A6454736E703641653763535A4C396F6778674B79436D572F79585769302F4449763945377A4F48395132634E6A57796247376C6874732B5558782F32504C6971494A4C78396C795644555A4939747A59727134316741714B4837463350743363464D7474425132555A6459344F484C782F426950594C4C4367752F6979675A41364C6C68425363306179374177504934734B66745939614F6A7571576777674863546C4D303655465A727A417568703441386139534135336279426B343854476E506A7A4C72303167564C663363744767774F6E772F7767376F4C4F5467684C4D6968316438373169506E6E49504751676D7339796F4258796A6F63584A6D6F472B546369783952645A456D326C456465616F56684E5868362B5A6F36724C424B5A4D614630776133335646763978744655325231453138466F673045446B7A78566C5250356C3847785531566B6A576E4F6A32764E565A584D6E315266433249644A44716E77395059466576715541666A573441657130743854744D4F486E567779443169663347546955754E74614D6D61464B76756E554D3776496F58364E4E4C31514A30454862396662644573423657577054746D37456568796836424F7646696D6C687249636E6D316844724F2F6D6C312F42712F384B367845576E69616C30346B3863764770793571587763746B57725A73596E3248455159554774694C5064736C336F6E3377685335736E7535592F746E6975503868754A52467142384E6F65664E6D6150586C63635A56556E4C706C7A4A4F4A2F344353772F6F4B57553250396B564E69665A425441594359775071784E5A77314C622F4E447532766A324339344C5A7930544C6A3258564673665763624D57756D7A576D7842703177345A66376C4963694965572F4E46657064657644484259713174733748564155614471556D6F4E48504A6B6D5963366971335479726C555A78377257374D4256656C4E2B636750683244684548344D634E4944464253706F4553484647666A7737664631654A644C64635861684D3778746A5534786F4C667662476B79676D4B6832694436776676314C4432666A49526B4D6D41724F3759385563514B537775776D434E4643417962317578634536783775664B4A3752565472756B6C59724A6E61316644657354375A2B466573356C526F582B4356326445466A3344566B4841374B2F703277587537786D645A6F71766A54547A39562B6D4738473634787035526C4A72586E636641466C4E4D3632484361354936437357585A62397433697A6F36435232773643505877343731596657474B3854484F73634A725A6D6F675770565172352B56313876565A397A716A5633564458334C6F684138786B6E4D4A726439424C723258452F435053744F6E5A713132614F6173754669492B303655653346366E4D3674484C4D352F663948366B4C4D682B7233304151494C436646395950394538695058494E6C64475A4C6D413952774734506635375830772F6F42786B496D37506E70755371324A50654D3147636768423759325A484F44693871357170587A32762F79757A304259414A714348444E5435537737513471775A324B4D7132754D4B597363317A6E6F684669734532614C54653954412B6A66702F3742506463467356483366554675626C2B6638694A556D2F32484A71384C477573525138526A41497964744371686250352F72365055662B51415765492F612B695151624E39392F4358523041446165483963676A67474F763470765263517173723333304E72694751705A45344F2B4F39554C4D6351303378527677754138717A70596E376B534630734F4475516667364541565A7956555A31663934666F426471327743784B35452B49732F764D5030494D6477622F383134617A473471694C646D637A623861324B654458525A745557662B75505A545437636244427838355374594438672B4A64594C3047414751562F4265713647424553414D48775A362F764678335941392F6E46325943746C4F59387A68566F30384A555039656176395633424A463065776463413362476A6877425A6B4E4B543842375646482B6F2F524E7365624831716856746571347A6B4C3562526177634E63487A30586D55736D614F544E59583638476B4E332B32676275594935446449556838794171755141396F63333942325A31724F4C774739686E395A7738794C5273367247317563386433633758424C7A43475A70576E637574773647654C584F533178516D3132677573533034794956436666316353706F2B756C636F646F54486934635635646F58486831646F3039724C347970796F4A4B2F712B786E6E30344F4D3430317174736D576C584C5653746D6C337A3845385231656632512B2B35397636777051516D61657731433268554E63336E4E346D366A4D6C745261617272516534733372345150346C6873697A43697A74556679703156714F67576E5149516641656A654C786E4561534637795A6567686635374F476539436B495230693176694C6E68485A777050785768516342347942506632642F39356E6C736432646770415936514B53425A5942424154564C6B7A6E394267335939685959443751585163374545344B5A63546C6E5063573974346B74336B7A47317A6A5372657447784942772F78523051737957396B47466B47576F386744786E2F6153654B33303361424E73686C746633774451435266325442796E785070307332454535354C49504250727761374C72796F37466B4C54513662454E7937466335514C475067582F724A7262454E75664C4F4A4738355A4D31576465527943325734613356476376447A7A32543066735547794B4B77616C4847663474366975464D7264656E7443315856326247742B534F7332724732764F6D564A6D4139764647617055462F33304176616843654E595150776E4E41386167377971645747386333355848444A724A5544344747562F4832766D33514A4F53586C34505155524130474E6A3148496654464A354C6854614D5A6E426561776B6362593744675653494E6F62697932494478354563557146646A7A70715A4D63466C415264312F41654468516B45525A2F2B5249796961784B72452B31734A385869674649477362366376556573596735596B6265634162356F57686739495859683776526657424D7451374F4235506A68787A416833476B4A537539516E64457A4546464177485877725569354E6F5A3470597065785850374E557241544577456B646455306854476733625048394363384676743779496D4B6D546767477872444778342B4B6D4A516B326270736A73523679422B7456397546412F7A4B3479427754456C6A76432F44623748625268384D50644642373544623763436257474A345257412B64625664434179456634762F425576303073796D364A7075662B4A7255344D506B46576F4F42686579776E7233685478303850414B48426F597566365333312F4836584C316E47345330354954303249635661744A4B3166662B63347A4A344975487A6674596E354166596F6657442B2B53676573687A344162346E317263543664342F735968554B4174617A31474A527565524B396D69786F625543704C676E4F39326D386A6D5874437A65792F6E63584A744534454F5948443759453447586A6D776276514C32696D697A6A5643696F6B7571566A32784F6D65373067633230587856517538652B6A52315A5462484E55484F47374D54322F4E47563253647456787A514846796B44377365764564486C643230614F34533348755570527A6D356645572F5371736F78784C51564A6451595945366A3361655636744737784359636C6C5A6D42537A7233327345316A5A7655306332363248704E556D333432797A746567524651635758686F6849777044644C62374E7874645434466E326576574974693968506570424E4547797131767845657346574948596B315A363559794F68615633586476483777322B41347037336250337846646C4A6139665142393666543678666E332B694D714D7957586152392F39357865395231464F704F2F7A6862504541514568594C326F4132673251414230636C797434642F392B35426834657777626241534C5532676339683945396B3633624E6B45784C474E5368536B5831693954366E50497542596B6355642B47364F6E694C556462733648707434706F43666B79484B4652644F61497254356A68677354485652493733496638504530366E62646B6743624F6C6B3676793133337433754F5569473559645351445859304A617078744A6C355036736E6A445A7059786F4E4E373639345A42596565704D48562F482B6F4F4267536B31757569362B624170794970324B442B75596A397A66526B73437735534A6E5A52504D46714F517A6A334E6246716972756C7066555655774261736A6D646D68316171446B6C4372444A306F2F6C36436845524A3044665444314E32702B4F504B3573665836656E566C73394D364368496154424255726370413069696C307570453437644C726A392F6D35756375762F2F6661585A316879307930356357614E34495A47315746436D3445782B504C42725444382B51725542496A4C36666A7237376C6C556F3078735662507A6E63306D336F74327467506D7863694B75417653784669666D414B4143386B3465647878534F2B7A657067574D585661784C71746645325458537475754B4A57337546694B477049435251486F48396667364542364C3939483866474C63714F375842424A6744796E43536665576371665635472F613843305856717A6741334C304275354D49366666626751422B4237644A36542F66576842546C6848626C737676484E557A34332B38564655374830355338613374372F642B4161614A6E624443724941776F46793746666661352B3950746569674659686F74665059425679765457374B52586D334B3733394D43576879626A694137556D314F53504768614E7452686936346A314845664970617031326C75626766586B413177756C4178314F5867457842442B50597072637158596C77706D48546363313845626D46366866326254363867564375376932767142773070772B6B7239744B59694F516559323764614D314E4B732B372B36495844584B7266727A68634375726378785866774B76645375413170547642724663742B31486132704B6B31515841557A4138746A5A3771746E3434372F644930624C5145645149794C2F594D4B7A423764412F304762516B5752773433494438665862392F2F716342663542596753433668396C473578487059724342594131514D734D42676B32596C57375174542F30477A656345787864774E52754848315844336276324B373578797744452B58774C44685A59576A4D6E646B3042484B2B3561306F686B3977324A2B4474397A6B2F562F716E32664B525A79354E58444D4C6B4171544176573453786C415045645048474872384C506A436D624B495358345A75684939624F2F54323074556C6D7A6F5378484E356F53724A53756359323536557379414E2F494E4D304F5964376A4662516D594832696C574F646F78725573553345656A472B7669736347424B422B6D4A334C35506945564A5149366949394849746D776248344849717A3467325934705A753656374E2F694A794D464D676136556334686C6D72447277666D59426935786D464A726D46697562586E3439755063676F33644D5042784C326F6F53573853573152577A6557716B5A614D73577358527132616D31356865432F55445838464452566146727858657358575648356776592F46494E616A47625152367A2F7367344D724A6C6944524B5779713073324A424A42584A5469744D345334722B4A3747352B47345458343059644B4D71724F7A656C4C4A6B3771624F456658506C7336452F523759612B6631426D6F7274516B5241384F446F4D41715331384E45614C486D7244466D2F567575766541794F7A7538486736526344745273556356662B5A5077335A39664C33686C6A63336947386A5A2B77344A645A504D734D2B6E5465694655344A444277326C555342395641385961385A7455756F4A4874504B4D707A2F62756D4E686243756C65567A6C625A4E4D6E584176706E6F616E41324539764C76785232374939334A6A4A5357514A634247466E596F624A6D31305A575A6961313538563148532B684B302F4B6C744339426D506C5A4F6F486B663966616941595036676736492B494E37337037615844536C7152436D617878593053686D4B6C6A6E41736454716A522F2F6679395931513669427A4E687559444141355944796367325371776E73597373663643356F566945526743684A683036412B45764D69566C447249495644676E5061464175765645757335674E326D4C743067734A367235497551514471596363493632652F72652F58494A78665969726B316F45307343646D6F486E66566F73544B72426D5668692B344A4A5A764831634249777764633341666F674548576F59486D5878797A2F75775746555647537A522B694C68443948756A6C3436732B36783239363266334755797868347647495A5252686375785858716E75756A3675597A386E59612F4B6A4F2F4F456D5449376F5356587466694B61313938454C4A426541587151513352566F4176533677665A796257552B6531776466686172326132356F50536179484A796D3644794C744B4F514466344C3746646655436C6A4859742B434E565435695662746A41723930774C72775154774775597734477A3834737A6F70624D6D58374F5558522F6D6D574E7657716F716E7A667A32717233504165414B5A546E6B502F776F5833497A42664B77444D3932314C4D756D6E5872307859553867682F32557A347A67585352646C793535734E6C37336C392B4C4A5A5545316F756C46376F46316B2B71304B55496949786933356F6158414C573739797A4537596B6F67566A755430677364364C31354F71424E616A5A59475A434E2B696A377532524655396534513563377A4630506A344C344473335A796A414B334C66624B324B7A302F734F61506864323938764C524E7935525656324F46365057354B6B71356B363135662F7131622F307343654757777A4249397A75507A612B517175716849724E5658586D4A6C2B2F4249303362766E6331552F2B396A3932746C2B496C744D4E785178506447437A307666727A3139566C632F6C68754F5673364F614F66494B6E694B387A4C5247592F72797A494F69473432386841774B757747774F5063613832674C7358354567785A326658516A4E30504F2B3230584B7064594430684666666E59584555334A424851452F4C42525944467A536F5778706C6371425871625A76416574535842486F7076664144556D76524C6E516A784C687774436C675056524632304F33773664454B55424846652B44483730307455774872514468345637326E5955412F64456468525061463832386F52622B436E78306439447637524D75545238334D3141426149455271565841554E72316952624470685037714D306B31714E655254366B7A6B47546F397942384F73307A39394D4955355546494963416E687972683930556356394E366B4B4C6749325163644757385255645969646D55324F4B68466E73524550434B6F594A4B2B4869536A786A5472595A5A7272724B6A4F7653634F45725A514E5346574C52424266314D39484B344569785965394A30766234413041326E503148484B5070794A4676694138315874614F4777304D4E322F5A56586C63456D436E644153367758664957786570537A532B3644357A366C4E6E644D5539376F39674A59362B426B66477475644D5638324C78316637674A434D34477954573530417A38563361756D6D444E34636F487979394459446F4570624D42364A6F66317A3332365559673869622F6B62336331644E642B4C50574339617656433239496732425638786B427A656336375735314D304E757448566D6763327658524D4B684B304765454D6759336D2B322B5A614462436453426173612B5A50574244735A364145764948756151786A5852534550614F42353473585A4E474E5A6F4264374B47413947675876486B725365516566424B43424B7445783861484C46654C42336A6D4C4173633378444872635362494F354A47594D564D354E7264626F666C783339542F75653937392B52337650375069706A624E71694A596C4D67716A557075512B6A58586D73424545655A733157577A4B6975676C46584C3442466C674A335A2B6B5635395158314E7833303930626E3335352F365A48506E697839506175533975576E4E4F314A4B484A47503663433731536C356E516C6874586D58584A366D57626C473549432F6C4131594473685A4F3470476B5235416469544436734A745A4831577656743350654C4945474F4344554E72674158704164667641516F434F78586B6573372B4B7137724631326D6D567848715975475143742F68513969764F363539374B476C46426A7459366A4C46664F61354931747A6B70704D357A517675472F727937415034433268396E63456A712F2B3836387658724D38746A71626E334F735764487475585131366A4C465A3362316D4670442B2B4F2F524F31772B6831794937702F4A4E5A50714E5478697767746571327154613161625567796137667668583849676654443358474A6A4E503050685857717971766847714D62386C4A74686E537263597231717A6F6576717566787A662B74644448797A355664655547734D59733237714E637359662F584D3647754B565256585472682B2B61697172476D566873383551734176467679436F514D453943666B2F2B6973745575355955346A643868434534367861704A727445767675653431313236453336734D6F4E5276752F664E76375A4774596772413861737A6B753562676E4F744C767275505A5A584B7468584C6E36452B374E49735150566F53417076304336324858737738483951744C7134567A64484A2F31346B34325638766D6C37514438314746595269343444666844596F734237324E4778576A56695A32636A52554D423649437671437766504246686F7542526750566F5137446D3637397750636D796C74756B52596A334542695564554C776F374B4B66744355756D544F68725967377A6C64637957324B367A4B6A476E4E6A797A56647A7A2B3054356A326A4E55744D685955646A3077676C6A66616F4C6D41645A2F314376736573394A72493959544D5236386664306957337647306A474F75524F774F4F465A47785233476576587052733173464869366E4B536D7A6B376F35777061463451554154304B676D59327A6A535A492F682B4D73767336703431704D4B55766E33623378475167725779445937624844726B66727A666C7850654141776A536C796E4450697874674D71416F5A2B72344F745A7A66483074327456385659644774547062374E456A734835394F52784D2B47666B7042413459565251326E7135584B3237354E72366955737A3032703071685658784B38725A6F656D5A52373864504435584850656E7A652F69714A4A6D494F482B4B2F6554794761452B704D3062576131477558514E6F496C42587A347175794958506E4E425A50724E4B6E6C6D5A4E6279356D782B4B794B795A6674565331617661594E6358387A744543565A53687572714966546857773530622F77593742644547324C6C464D59557571666A6A7A654F735267344F6766514C72502B4B58532B7850675334357257554A6261424752324C7841636259415167573577626766573334524778586F6F6376316977447766715A55434D33736E6F4B7164545844597A39706F536C5730656D6C425557773468752F6953615331464D436B6D7478624461376C6F715136706F38554F755076644E43326457344C485A6C516178316F4D453961554544374B726F7A704B71435857546C726C4557643370512F73554A7A666C33427857324C303872343556613136736F7730414D694737574A37586E7856733055692B6E7554533843432F7243483845394B426F7351496736796E746879794A59626251714272452B757035724A4F7758342B756C4A346C57416B614166594276442F6B59786E71344F4D5436745270566C77357651514B663373542B656C61396E784C54717751334B54315461334A54476B7A7372792B2F6A4E73694E6E492B3845684C3970545734686D57334C53696D656556476935745741697450327235484953455078664E4A574C6D7736766A7570766343596666466330502F4B5248574C6E3442304C384A35516773483638334738576C644968766B554C724E2B366679654B43614D65696753474A55514C6D68765834663536777233412B6D59392B364E727548704274435537707072724F6364585A6B35754B347176796B7177614D5A32464D57414F54567A78537551646C7248674F39307339463637383343526847354966794A626573662F55586973726C544F6865707975656F724E6B7353444D3775305A575A634C31504B2B2B6146717037757A4B6E416B72736D5930496F6E73735A304C75484931494E36616959756B71786453743758706F47446544527A696477795177486F3551696E6A616A4D516B703832495835724F497756574A2F33323037526551755068336D685179724D4C4E5158626A67477354344B6C673373656C68704C566D7144694E3078756165765245726D67536568766874467444483368344746742F6B6D6F6B7744592F65446E4D654C516A4D68463247646733486C487642563949677067306B58632B57334669624B586D5635713341556152724634676B42684D4136385745677148393965384E37474F7538646A504C4167376C6A53492B4E2F3559474C665448596E563845452B546B5457766C51636633363044744A5A7633493873774A61786246326F7A786E416D69486447496C6D4445655751444B586F49795A2F4463555A794D4F685535624E2B304C37343073723858663575694B3959436877537A503536336332303679486336645747502F787A6736694A4D3361634775734257343277433454516450416244677A6B6B3169505177712F7941644F4D472B5235336536643131755730697372315750764B714972313962704372396E3946724636545747633832352B35512B6F44793849694251523837447932346F544670346179552B6878714F31735746455055366C77612B4E5A73565656476244505855364E56586A566E7A4C71464938785A4D4256624E2F386C76714F41665155455974334952763145572B35506E6E385945524C68764B686C47724E3746482F70677A656E31513742656A474B36614B6D6866754679302F6A56324339574E77445A31474D6F5667762B336E5A6C516531707A6D4A396547514643615841383645637354624433462F2F4976335641575870614656563830536D2B724A595771365242675139667957434E647456476E47704B575A414176556F4F516771686851387443482F377977726E68736A54366D4D70507A756D48514153354261465332624337505573655A6E4444384F6641524B4E2B524539325A522F79716D67746E61484B64716575703378385576666E45626844616151696D4C72754A6469762B433171345548345936376D336F6861783657384E7234636A4778786541326F414F774433546E35344A395A504B7866665A67464D58547056467A3044696656737558694261695541542F6D77456A526358772B6B34425272614B6E56657456317861723665534F764C755A553675723555396375476246694E67496B5657756D724336423068315671793139396537454E5956556239524138427549356B7676756B624D4478413149726F706F45762B6359423769374D7155536C794C38783241744F6D417A7452574F684F46424E474B4E364365734E31536F57616E786B674F65426B6778594761554B44596372364A614F6254576B6468657A787432516B724339575656334A666E6E52493652613954384A3179336B4266636A307965764C6F77726D33395A34794B307668502B41513466432F6E374237684E7833366C2F777646665835313772684B37646C6453364F717551775264306534635A4677356D5A44773432717A6B3673557164613950455657575071546171567332436A58482F77587971625A75793153366D6B6158727230436A2B3062734477436771674667502F6839576C506C586D30644C7243666E32536544576969386B33593976392B414B554832534B4F2B37494F6D2F5944412B696D6C326A685933784C425737676934576A4C494E5A4C7551324C4C724565366A386345706C424732386C7774542F69663331314C5369616543695733452F744F57567357567156646C637A76734469397135646C504B2B7158524B7A4D7661316B4A3558513435484B4B73646949586F55556F4B364A3961495042316A2F6A6E32665336624D58513743583256427369644834764A3349735231796A4E79454C6C47436478654435794F50545247504B616674553073315355736E68752F644E3445613236367253436C787042734E75414D5371736D6A52456B7234654A6B474B30525A316730553564705A315655586A743362663168427A48506233434F665842524D33365354336161717856432B762B4E363973414653686F5A327034787636634941795968774F494C574E38325A544C506F3561387350526241654441574A5337493335442F6D3745457A65324454532B4F7264416C4E4F66773832774B66514D2B312F61706E7734314E7238764E5746634A4641625939597539702F2F64742F754B2B6B57705A647A374647325343732B6145624F75694D7347314D366E52596247413044767A4F63794F4D746E4E727A367877334B5869412B5955754D614D4B4C5532707A312F337031326A7738494663486A7441435079424D5676783443327736784E7239576A71634A7752412B7A7553786F5767703966772F70424242652B37586C744A3964496F4B48487A317961386966454F42775A6B6A424851386B315945665A595149666F666E6A4E3932325776524F7A496D3571706A6A6175726E637A73587647374E4943646264556B4E4F656661436A39582B6E7342707A54517650364175792F6F774F73626472365676697872526B4D6838737A2B6E4F705A71717679565A306D78444F7931636856686576562F4F52624F792F354A72455A3934704C78336375534B705254366A574E6633356A6A324B38334377483042504578334F436E664D6873357A51374D43363248587731614972644F4244794E616A434E74326D534C3176525472704551786E712B396C577333362B347A6937564A3848446F7A564E4F45414D30797148594C306E46484A7931414F4D672F38456A35316A4B30797330584346534D746372756E596C634D42516C3235644F397332616C64432F4136304331712B6577787463624D583763396F7879616476567961414978394158415A495433552F534C446D4139455132693557504C4252532B73482F4C70484B44324955437741514D345A684C4F4838664864794A6A456577487357484B59707241424D5541326855412B73644C384A7465737A354D577A3538523346716F725A48453765596554383156625252626B2B5437557554315632575853374B6162466D4C7136494772563350476C3670314B5037674B54676164397144586862544172685030787169654A792F4A484C73794B373438453634356C5A42744C69634D4177706244516B6442574D37697447694A7A5558706C5A7255366F30767A763637732F332F4375314A5A2F6C725A7A4E556A53717839546C504C486E505253516D6B324D6651587A6A79704B396E6F7A5949485251674B4A776A725551736D7675505A5A474F76466D4D7576594433344E6D4D6C35314B52537A42576D74516A57334E676547337033737578752B446E7954594C4F512B414A364A376B317148325262445747485864307658454A3672317876797556466B36426A3131545554472F4E48316D70677973526356544A69545A4671325A586E72693862585479333861366639516A4A73564D33414F7646494C4F304B6E305548494647413754577533614F72786370453979486F44784A3376394F4A4E2F36796A6B51384D6B786C2F4B4F792B4F556D35654351636444486C526A487A73455138665A5465614265514B6C476945772F662B47396976424C59706A463030477A76586F647031417A595036412F6A4A6A66637966387278395769695150786258392B41426F7A61505650483137482B6B483967527155783371784F724F65715A2F474E787152612F595271666461616374674F51414747497A73467A497554374D30346F6A68526C7279667479645577757330786C2B7A5746575846625775474455656238735A6138345A74304A74652F68324B4979426F427431336138456E392B3365667A5372426D726C79513346366A4D326448742B64774F48713556432B5745312F58615553313530396F5731663774743238722F663955446F32724D71526163784C7154614D62383643537031666B3247362F4468704932434741486E617149416E7266542B64576D556157324E4D74687048312B596B562B765471334F757146754D496F6A4177524148723464483145534B63304C7858647938434F564E714E58436D6B367763654B6F4848505A5378675677514A694D5753384A465A4378767348335032374666737241312B4D4B39646465454D56585075307178657271756343392B4E5835334657446D644C36704C7163715A563545445A324B586B3030744152584F65384237462F716E696E4C77773833787A346267716675654967655954632B3569576E4C5953324254552F323047565756732B41476A6539594D47727037484F742B623938363639773763484A513733484B4F526F6F6F46676B4376426F5A6863354857664572797359516E4B54677347664B677A6F556C50714E515733397830545062686F4435464B53425567412B5157367A45655568782F584146367033643949435036475A44696C6C3354686E4831784E7655414B424355363343386254587358396D654B6659636B647653706A516C74683347705939336D63446732436F724A7056465A4E72465766564B612B6F48335A4652326C32796A7A7763536C47616C6D59317054486A525A5845744F57705732344D654E79444F74514C426154476F46627279306439745A71777A77652B4A714F5878326842696B6B46366D333352674634714D366B59594F78734648514A6354317170546245595362553573432F4856334D39766B38552F7A2B562F62484C356B7862743152564E512B534359434F7533474A6175556C514D61347455565168496D4E2F49413063746D73366261694E33304864376D5045356347374F797835396863666E5345387751686758712B342F6E487A79387A6E642B794F4C5A4B4D366F74583957675362682B61644B4E79396C5A5644346E41514A666D3575384A474E4B71663433487A792F58516E652F666E47796258356162626338574A427079687A316A537A3665484E7279442F586852552B4F72454A55585264316E544B777A3053757534476C5763545964615750364C54716778397547414D774C725556387555562B6F4F7763376534506E4C394E4F724B48456370364856513362596C4B466274767876577A61556E514832327976456F434C426D636449615046784975342B70787846667132682B36676E434D636441394835484A30304265656E6E6664423665574738645954616A454B45374E7A5532717A353953763242476565375A42566B66484E6C39304E57486E43424C48484F4A496B307331364F4A6A71716A705478304C6855594B69534F317A6A4C697A4E4951507867304D2B4E666B547A4476693948414F4C346F64434177355967747734483756494B52644C664F42385376494D7A786B742F7A6A615A4B67506B75726E486E7830774F3163696F42394F4E4B75543743467366356E627844726B64557A6458776436342F36426935635A5A7859706B34334739424F4A70714E453676305A3558704465336C6B43637769754745774948415051717034444D654963446D5950666C5463764756786F534B7A527044666D7146585050366C79577343786A37504C73437933464635586E763770374336733446447A6874634E55326130454C312B394B715653427869434A45464355706F4C34693336424B736872616B67736459494F4C6A3133576351444C443173544B41426F6247504E6D536C3749796530715A3462796C75757172327A7853636B4C674851653867353874642F33306836744D3038754D6B79714E51447041777A6C6C4F664D73692F4549445266794A6B78306A726C6B356D56784F434136634B56747961524B66587146626D4B56626E493131394763554B5A7065756758454743476B43456C304B4E46754431695A32713879485639647969657336727A786C545444594B4741496F6C5744526F63744532513279745961717463504B536243696234774548307857642F6E5A377634746D61584376596B634D36782B3938314A724365472B4B6A765A71682F586D41664645324E5741393367473432305A4939704B307971317153757A4B7935372B5A74436A63744F6544704759444278397A34676734343039516959415634417542446E4C50726C7144735538734D30445451662F44307A316D705733704430346E492B486F775146516C6541475332795565553179584C6B5739363862424D7258717869442F5A62714C6C2B633839384662784273776756344565514B6350634568475A3664696D504637563354796747767876676148596F386F6B3433737347593046594137494F74657036316150335439364965346435396F51517572696D61754677396D59766F715366586D61617630705A633351447A53336A386C45786B42707835646665324879374C5156564F714F526B4C746971343877355A362F516239314872456474516E6D44687741546E2B446B325575306B7976433951374D775973584C646676352B7067336A654442793966577A6F654F73396D7050645A4D5465746338486F357477347377597163474B74435436423453654E3779736E396F706C6256684862682B5146626C78754F784942546552505A79504B3735586A3378795A63754B69645535592B70796F367256493830616C55555431355362316C7145776B3473315757326C37393865447571594A2F692F6365424C52646246365175793453784D743569544675566555474636644733583442463741763467324C5241324139624F53384475745A4B334F6D56357267496F7657707A7537564666783830377076457278437753495A6342577341675873506368675A637331703564726B643436496178465742737A726B72444E75503768667966664C416A33346C64503671484C5272324842516F6A4365774E4C704B2F57646637774458712B514A594831346B737132487441385851382B75764A4B37536F724E524B3356687A62686F5357714737714C7A7777694A746273314B6C474B416C68617733735539316163733079535571796330466B346F3037335877346D32564A75445A7962776630596F7269672B54684552422B4F6B61534D76766B34797A4443633557425430666A6C4348452F5749496E564F4E4177347872716963412F757230452B704D4E7A3337675068594E4977484D76504D356A656532503747597A766565485448786B632B32596A7A686F383350724E35497977344A45334F4458495050396B756B57457873423331324F313362443779785175662F50764A4C57382B76755831783761382F756574622F786C3238612F62583372663765392F592B74372F7A726F3366433571635336416D3567483341386366322F747638364F316F6F744E7238733478463077724E3035626F564F764E392F3231742B324B34346A776E53467A4F317A39627935652B74664E722F78344E62584874333531714E62583065636D2F66734848444153534D34514F6A5A44674F4F5451632F2B2F765774352F593873626A327A632B744F333168376138696D78417A657A33394B4B413443386356436C37726F4248647653424474743758396D3739552F62587676546C6E39743250486D6E37652B39746A57562F2F79366274764864335637516C2F3871464F6C484B456B754D73634139384148506752332B714F4F37663945722B7A5332545636676E6C326E5073655442674A7075795A2B775844326E616358506E6E6E6F553864524B666C7965527967466136524A5A514F4F4956695168763961664E7256622B373851666C7564414E35395555414349425732504C6F58364D42622F7375765044467A355575734533424D614C556D6D7866346D58676E41746F6B564365397739722B335A2B746374477A647366664F7054393535637366624737612B2F7453324E39343938504678547938746334543142596B63496A6663645A596C437835786E766A584A2F2F2B30366158482F33306A51632F66654F503231353562504E724C332F3634576339687831424834724D596F7458674830414B5751654E7539685A5743482B386A6142332B5630627871334B4C35414E794A5A744F5943743238363633722F6E342F6D484F5134396D5A387A322B586D514D6C664C496C7463652F2B524E4D507A4A545739732F474C72515565764643716B675175417950616567787665662F56334C7A31353138616E373372376632393739596D6258336F4D6F76584630663179696F4D62396C4749396879797336666E454D546A4636383939664E2F62666A4647332B39342F572F2F76726C762F7A7868616667725A37674D6B5342413072773662306672766A6C565266576C63796F4E4146534A362F537053395458317862557632486D3537632F5A3839374C2B6931554A51416A4F35753678516E3077495A686276653049554D3454354B4E5439314947506C742B782F6B4A7A55657243655A4F72636962566D4344474A62657575652F64357845416249454E424C7432313843523533643938504457317837612F73596A32313539597374724C32782F663976427A7763383453563655463677635A2F582F74726537553974662F654A6A7A647532506E57587A375A2B4D5332312F2F363852767648647A653765304C317865304C4D37665546392F32676D5A662B50527A612B67646279385A3873422B776D4541477467366F4B66754D42504D446B693532442B677A76656550446A312F2F327962762F507279726D36754E69494A4465384A4D3973483559333139356A767833476366504C72703163632F656576424852736633766E326E3765393965662F765062302B362B2F7657507A6F66346547624D4B514144575446327554617331545735664F4B5A4D2B35482F474A7845324232793469564845436D432F526545643738544164416C67626B6779425049495167462F54724A52384E474541584F70365264776F6C55484151483741527348516B4E3746486347546459306D7735735456716D414F337676676E385231794741394544706169616943707742336746776A58714362774B704930576A7171466A7A6B4861414D4A55504144564447373756374850302B4A2B7767414145454852474B59704A6F44364F46496A416A4A49676A2F6B4E6343394146692B3854786237466633786E73486576346F43456F4831434E68786F5848684C514A6A7730373349474D414F6972426263614F646835464F524937364A587147664430424A397A746269554166446D6775493870766F4D2B7A755243474B676176495667494451414235773955527863773463394A6B617777497743395449475A6A494D514C4368384A3645652F774734554B67486D4B776332777965595738375647636E796D4F48557266357443785862793251324F46693650345543496B6A53597153655A456B73523938462B73352B7A3954426E34304873456D504B7034746D75324C38516E59334955702F69636247765254524C6E496553594253696C6477417538436C48685971674E4C68346E4377763438726153504C3441534B5455736A5842424A49696339516674425A65416F2B344C5A4A39346A467361414445685753494B77656A67516E6C3343494E6A41447238446958614C6A696B552F4750467555317866495A456851684A72455274496D2B394966645278515632676473774A2F76466247474A52794258494F414D55655451526F37364849663941336864394D373744676C5847446C45506848566F4850476E37674A3569417453616749784E2F6A732B4D2B684F32517652753852547748516E624538466D6739334E2B6133587355567A37466664426A6A4A6B7A4867467752676E7A46734176593963525549514B6D53657159684F533452422F4867644D675A5A7851584B697A72614C7061555151303651313667706177526841663378444C644C4339636475534873516D4777344341584B45314157324F633461613579672F7266744F4B4F357578586B30324E38764A6E2B46367776357757576B737235635835427A4B6232514838692F624B4867716A305941456E323471615563775244594E484D417A41695A657351625333416A53594842516D31786A6F4E4F6F2B47304B5A513674425234594B6367455346594C4E7733704C4D694170423064366D57504E5656566D71796778566163596A687A39383033667754632B426A5737534F3634442F336151336E50792B68335876753945373330582B72646A33366142413576375362674166536A6F412F7370534F594B467A4C4D634244692F39422F2B43506634653275777A756450472F31484E376950627A4A6533696634742B6F484A37316331754D56524E6C56552B303566357534394E48756350764D42366F4D465131344E4D6A657251633747554B6432334A477055484C71514D67566A4E41646947516E4168486849476349476D4975376A4165414145595A31413451632B434973596E764964387A72414A5441655166425068654B50797A4D454478694D6E354545755037314D31692F58546559436F43636E777564372F507A61353076436B574630445969433448796453524E612F66352B4565332F794A584D6D495A6134683679434148794C3142656A414439344A5A77486E6344456C795A4B436F4B4A39506F664862512B34305441414247684F6739614D48776F50444554652B674F655871356E6A7A675A465167524D4B3879576B46657079506739364C4A4359514B6E75446F4E7A52464B6742704665452B6B7754446F544B6348414D5A79554F59784F48784161685961304D4A377772506B56504A614B63534F4E69365361676B6278414D35346F3049634175774A637A35684649764D4A3049526A697A5A50456175642F6B52393662474B335966454E414478486E5A3451315872633532536E6C646648505261524C3267493773454C2F6B4D385A4A5245476552645A4A4B736C68524F525749516E4E30517431654654506F43667147766852694A2F484D57574A424467794162776C67522B676B75484A384E6B67674B4A77413345536665683145466F7752634652594A774975664F3541696F3556706777524C3854372F684469316D434955466C642B3455436538524D4347623644676A76735441714A773142422B62684E71733875384A51444A73464649435472515368613059646D39794D505A42706546794C48386F494377766A6A4E6241613959576773687A6655462B6F4C4551616B56755A4E38514A776F57384D2F69554F59424F676D524B56754D525968586C464779535235434C336F69464B42676D456856655158675A474B4677566F4876573049396B35714B6F317479597A6F4B5935707A70375174544C666B54724C6D535A706D7A6A75374F752B63716A793438465067396C704D6F476E6D307A7048615072706E632B714D5347683879715A584953517571537A766B7A494438365270384E426948393868585A694F63666854462B6C6E564B71686538764B62486F696D6D322F4B6A71724A684751335344507234384531675034434254682B394131556B534A3148334A327330386A54794350554E7865344A636441564F2F306844374B7A6A2F313949684345636B6834526F5632376F6152424B486966627949316F4A48694154797878594642654879424743467536455668446E744469714F674F4B456E63556F45416D6B452B6C364163577765475359414E554A4C706B6930595378513079427635473974674551514751494C71365250464B5553664E444932515A4C2F49516F4D4338414E6E776B4863446145774277687A6959555334393432454947796F4D4E34485A4C2B2B6541574A496E584A4D65537A7A2B7643425834694D686B674843336570714C685973352B7078504E44564542474159384471666637635A623850716C597953447963597658356330654953314C7968496B415850635159754147503950716650362B544F417046734D396543774462674D456A7865554E756A39386867676E6E43566B4C684E7A426F45664173307857784D3961504A6B666C684459356B50657655484A595A457442474D31693564785379416D567765414A454244794A716E4A63316C3568455168466852434A4545644B44596B74376E5261326836686C614A67324341653269677346422F676B4F532F62694A7949484A376E4C4D625552474F7452374537463651357869515170635978466F6A394952434D536C66484C43357769426F326F546166583477694B355741517875317A4F3131517268426D4545506A684F5168743359667A2B515043696C674645576D5568524F6778745379393533334164586B4763516977434168644C6870476E6B454A614A69782F7A32496330574F527672712B68636F7630614169524959795A57675443774363346842654979686C5359745158534F627A3546316B4664476A51614736504636714F6E4649664F66425551347367776F2B776D346C474665705674587256433147626935616C6A4771576A504B716766786935785A6E317046536A4C72347930674C536A68394D3452536A4B66376A6E577168315665327269396847436F6F5951666E346C32426B6B524A37516C4A50596D4A4E6D79786C546C354E536E354E637A7A4E2B6A724F5A6345356F34304943306333476D4A567A37336A6C6956344F6742334F4131574C424154524D773933445044676F77684A47524142595133422F492B6F6574775239304E636656434950676A74557A5A526E506B32476769455937446C6E43515A4C3068474461776E33497457416673497351754D77554F524547495252684E2B6743544979426959435945464D6B35786F4B464354453869494E2B67544D736D48705A75456D3450706348376A454C51594273375366494F557051324D75344D596765614345646E6575444C6F34325246594B31795057676E78534A52424A65353452576755726B755979616131794C7941524A553038796B4D4547337A3335642F414B6A35416C4D644D6F66416352416A4A6F576F714D444159546C713634356945545A545935556C3843302B4454384276794436396B5A61456959434F4B6B4B675246355139536A38593947537751524B4668334567644A6B6F6859674E4A35457143646455415A75666F384541414168535355524256444A6A70444244654639457A414D3878773852774F63682B6B524747595150426B6638776A50425536645145354C516B694C5855502B41536741726B785152796777493473466F3647565366694B484C427043494A4F44387359416A4843774A4E4274672B586C7758686B6F754B6D544176694A2B42654570347A356E41775A42732B345A66716977337A572B6F4C495758384967416A464C6F7A6E4B3977476F4F2F6553736344303479557A4A492B492B4D4F354A62646C2B4A432F6D5534635168726C5548764832483542437231714A525453615657543257613573554A6461624575704E4F4B66576D635A62534D6C312F446E615A6A78395368366B314C72544F754F5668415A6A664F4F3355657A6758466C4A58336C3678696D3656684E6A315354576B4F4C4D6D6C45576E75504E6D6F6D32334B6756633151316D564831757668367732537236586376627868674778726D51315A777043362F6863514A5969514E427965373571566A48735A396763676E42576777627445634959566F4F553450687A71346658374F525966424478746E454A576B684F457358784F534443736578696E73644C6C394E695856465743336C734D485042566A772B6C76776743683379436249714F6956585579327146335A436F7949647941522B7A312B6278756E382F6A3933747849633168706A34304A4634554A306E685138594744484736334336487848713253486C666847504852634176726166774B304E4A484869645979366F5A71696469504943716D6948636A307861575152395953547A614766386C32635A4162444D65455051674C6F595773505A6B4341436942446D4E61454B4A6B2F486D416269446E30755832796178664259435243393843676872715356594D445A35434D59776850754B5169753370686A5171676A35417651412B48566A387949315355714272674D67362F44775978474F3654666F2B4D4C357A4579556A674F634B63644C4E5366443457472B596E62416E717643476C777846354565414C384F65576A69636A3469416A63434467642F5431436A414E774F546E486C4C53565A496B796F563377414A70775442752F42664652445A6B6230623444676F4B386343314A4936426F6A50476A41323543634A4E35703144743977632F43316457356B76784D506134416337754B444538664337534139322F636E366F6B7A5167575A425431316649545145564A5A6F567249576D4945684A483843737546347565584F6D4B67427238634456656D444C594B38694F69524B7946706B422B346F416A502F4169537271534969755A4C6741786865446C767473637A634E464B303952793434524B7732527A376757326B76464C7333413976744B4138365279773478567050514B655566336E536939676A5470394D3643744247615576346C6B6A66544B384D305156416B3848415145366F32544B3479544B736B345870436A57466944532F4F7173715A56705044645149732B6C474C5A703566615872674830384944543238422B42754B4D47626C425375615A435547486B426B685566554477514F6C43514865364F554A44663169414B4545623639574939444465374C2F73484848416B6D5A4A38563068354F424C7846334C74684E764E396B786A78736B654739466742654745356F636B79416A3851476936706E78644E6B376348777772446B676B724448336B48626C686336417579424D517042733044494434683045525173546A557A6B4354666C69776A7046472B4A624D694D6930624765793658697A30534967594A394969426E2B4441422B67686C79657945564934597A4A4F6B4567584E33474A32435252623347704135722F66495977346653344344346851337871412F45494A78714F443851623869314A67786D6D6A6846594439505A7037412F424A6D4D764155536954447A394A676B31674E527148684568444A4F704F6F534870556B334245767573586E42447A454E61496947456E7A45345466654665635A43715235435372492F594234675049734E6A347A52386E347764734979522F694A386747563349473652714A73414767783732697079735844515938653064424A4E655A6D38774957365044716869644C4A63794B33644C645046717843384158466D78766C5552496A58413068454B426A475256624B43446E574254704A68414B352F664269705455754D3849445A314659756E6538493950462B3579744A634C68353641776F434B3478436172414F5742332B467842396B524C2B4F584A4F4966556C2F55436F6843314A6549696F4551767852793542492F49342B6B46686F4D4E526762657978527769472F525878687755634B51722F793958415165522B486970704266466D4364662B703474776E3175412B774C454B374E75526735774F69366434684475432F4F4C702F2F2B38682F4D6B38654C706E76654C39564969644F687246486D456B4A496964346144455039657851666172775432635333447747654B3777736C734A7433676C386F376C314B594A66692F35777367692B485668726D3876416473754A5A71594D55506F62656B67534A515643412B4B4241344D42662F494A63795873385A4441494955514E64385576326959794B4F376A4C495150636F666D4153385541535542356558584B72516F516F423479616D4542674A2B4B424B2B4A574D51456F354C684D635A59526833494151567859526B566D55716B6D5149584C6A4564792B52427A5A5471557443766F47672B4D6F61394E4A6D5959735167516354776F46676941386B797952654A636D4439686837424967734D716B497557436677754353575A4B33634248425976614A2B5546676F477962384150434B675168615271484251434252524D657A4930347966684175475A78384641515745563046342F345730415137456A38496551686F534278437643456E3649344D454E5265744568344766506B37544252627769546B54454F41534A334345535A456232357147435A4D484471596B4D7956585863596C736F4A5A4279424A595A412F776F3649737236786F486A496F434B3844796F584A6A2F6752426A5743714B425851654579696C6451532F7737574752474A507050454837775859344F63484F34415A725353656844436C2F75654F455A3978484749633479327041546D4D75455A4C353456345445477967314C427463384730555374676F49444A576C6F73366941595443694B38542F454E5246726F4945534C4741647A677A757968734163595731414E4B47466F4A75702B366B71774C3141384A7671792B3131306377584D45356469777778572B48634D6A4B6B49744A46646C772B685059694E686C4B5243554F4A43744E497477535759496546625A4D2B4631776A4661634B445675797264556643594B496F51673348546C4E566A35395475432B456E36644D374F373334476C302B4852486A53562B366657527153536A69484B4A646743363978787255597141662B55414E4C5A6737333857324A694A722B526A72466A53452F684E4449472B452F512B6C5539365159675841746A386A4E3842305A54704238464C6E7870534E793931746F384D426C4A4A3654682F7739354F37514734503354683566655471557773665862736C4C5754704A4A782F4B7177694A6B77777739426A79665041592F50486C5236674A69744F336B417844456A2B2B644D6751736A596C69644F70632F376C5139372F437033367263686A6351736E475559656737636A667759502B57416F44626D4D4A435270384C6B34496F4545345951414A37457638756A6B332F41565470476F7670336B67597476542F6F723979495645626C7A536F6F4534365538784E3254496642455873696267332B2F547164344D4F52652B4772776234515552666C2F4D41345A324F413571394941414141415355564F524B35435949493D222F3E0D0A2020202020203C546578744F626A656374204E616D653D22546578743222204C6566743D223637302E39352220546F703D2232382E3335222057696474683D223335392E3122204865696768743D2231382E392220546578743D225B546974656C325D2220486F727A416C69676E3D2252696768742220466F6E743D22417269616C2C20313070742C207374796C653D426F6C64222F3E0D0A2020202020203C546578744F626A656374204E616D653D22546578743122204C6566743D223637302E3935222057696474683D223335392E3122204865696768743D2231382E392220546578743D225B546974656C315D2220486F727A416C69676E3D2252696768742220466F6E743D22417269616C2C20313070742C207374796C653D426F6C64222F3E0D0A2020202020203C546578744F626A656374204E616D653D2254657874313222204C6566743D223135312E322220546F703D2237352E36222057696474683D2239342E3522204865696768743D2231382E392220546578743D225468656D612220466F6E743D22417269616C2C20313070742C207374796C653D426F6C64222F3E0D0A2020202020203C546578744F626A656374204E616D653D2254657874313622204C6566743D22392E34352220546F703D2237352E36222057696474683D2239342E3522204865696768743D2231382E392220546578743D224B617465676F7269652220466F6E743D22417269616C2C20313070742C207374796C653D426F6C64222F3E0D0A2020202020203C546578744F626A656374204E616D653D2254657874313722204C6566743D223331312E38352220546F703D2237352E36222057696474683D2239342E3522204865696768743D2231382E392220546578743D22426573636872656962756E672220466F6E743D22417269616C2C20313070742C207374796C653D426F6C64222F3E0D0A2020202020203C546578744F626A656374204E616D653D2254657874313822204C6566743D223531302E332220546F703D2237352E36222057696474683D2239342E3522204865696768743D2231382E392220546578743D2247C3BC6C7469672061622220466F6E743D22417269616C2C20313070742C207374796C653D426F6C64222F3E0D0A2020202020203C546578744F626A656374204E616D653D2254657874313922204C6566743D223631342E32352220546F703D2237352E36222057696474683D2239342E3522204865696768743D2231382E392220546578743D2247C3BC6C746967206269732220466F6E743D22417269616C2C20313070742C207374796C653D426F6C64222F3E0D0A2020202020203C546578744F626A656374204E616D653D2254657874323022204C6566743D223732372E36352220546F703D2237352E36222057696474683D2239342E3522204865696768743D2231382E392220546578743D225375636862656772696666652220466F6E743D22417269616C2C20313070742C207374796C653D426F6C64222F3E0D0A2020202020203C4C696E654F626A656374204E616D653D224C696E653222204C6566743D22392E34352220546F703D2239342E35222057696474683D22313032302E36222F3E0D0A2020202020203C546578744F626A656374204E616D653D2254657874323122204C6566743D223933352E35352220546F703D2237352E36222057696474683D2239342E3522204865696768743D2231382E392220546578743D2245727374656C6C7420616D2220466F6E743D22417269616C2C20313070742C207374796C653D426F6C64222F3E0D0A202020203C2F5061676548656164657242616E643E0D0A202020203C4461746142616E64204E616D653D2244617461312220546F703D223131312E3935222057696474683D22313034372E303622204865696768743D2232382E39222043616E47726F773D2274727565222044617461536F757263653D22446174656E223E0D0A2020202020203C546578744F626A656374204E616D653D22546578743522204C6566743D223135312E322220546F703D22392E3435222057696474683D223135312E3222204865696768743D2231382E39222043616E47726F773D22747275652220546578743D225B446174656E2E546974656C5D222F3E0D0A2020202020203C546578744F626A656374204E616D653D22546578743622204C6566743D223331312E38352220546F703D22392E3435222057696474683D2231383922204865696768743D2231382E39222043616E47726F773D22747275652220546578743D225B446174656E2E426573636872656962756E675D222F3E0D0A2020202020203C546578744F626A656374204E616D653D22546578743922204C6566743D223531302E332220546F703D22392E3435222057696474683D2239342E3522204865696768743D2231382E392220546578743D225B446174656E2E4775656C6974675F61625D2220486964655A65726F733D22747275652220466F726D61743D22446174652220466F726D61742E466F726D61743D2264222F3E0D0A2020202020203C546578744F626A656374204E616D653D2254657874313022204C6566743D223631342E32352220546F703D22392E3435222057696474683D2239342E3522204865696768743D2231382E392220546578743D225B446174656E2E4775656C7469675F6269735D2220486964655A65726F733D22747275652220466F726D61743D22446174652220466F726D61742E466F726D61743D2264222F3E0D0A2020202020203C546578744F626A656374204E616D653D2254657874313122204C6566743D223732372E36352220546F703D22392E3435222057696474683D223135312E3222204865696768743D2231382E39222043616E47726F773D22747275652220546578743D225B446174656E2E5375636862656772696666655D222F3E0D0A2020202020203C546578744F626A656374204E616D653D22546578743422204C6566743D22392E34352220546F703D22392E3435222057696474683D223133322E3322204865696768743D2231382E39222043616E47726F773D22747275652220546578743D225B446174656E2E42657A656963686E756E675D222F3E0D0A2020202020203C546578744F626A656374204E616D653D22546578743322204C6566743D223933352E35352220546F703D22392E3435222057696474683D2239342E3522204865696768743D2231382E392220546578743D225B446174656E2E65727374656C6C745F616D5D2220466F726D61743D22446174652220466F726D61742E466F726D61743D2264222F3E0D0A2020202020203C4368696C6442616E64204E616D653D224368696C64312220546F703D223134342E3835222057696474683D22313034372E3036223E0D0A20202020202020203C4C696E654F626A656374204E616D653D224C696E653122204C6566743D22392E3435222057696474683D22313032302E36222F3E0D0A2020202020203C2F4368696C6442616E643E0D0A2020202020203C536F72743E0D0A20202020202020203C536F72742045787072657373696F6E3D225B446174656E2E42657A656963686E756E675D222F3E0D0A2020202020203C2F536F72743E0D0A202020203C2F4461746142616E643E0D0A202020203C50616765466F6F74657242616E64204E616D653D2250616765466F6F746572312220546F703D223134382E3835222057696474683D22313034372E303622204865696768743D2233372E38223E0D0A2020202020203C4C696E654F626A656374204E616D653D224C696E653322204C6566743D22392E34352220546F703D22392E3435222057696474683D22313032302E36222F3E0D0A2020202020203C546578744F626A656374204E616D653D22546578743722204C6566743D223933352E35352220546F703D2231382E39222057696474683D2239342E3522204865696768743D2231382E392220546578743D225B506167654E5D2220486F727A416C69676E3D225269676874222F3E0D0A2020202020203C546578744F626A656374204E616D653D2254657874313522204C6566743D22392E34352220546F703D2231382E39222057696474683D2239342E3522204865696768743D2231382E392220546578743D225B446174655D2220466F726D61743D22446174652220466F726D61742E466F726D61743D2264222F3E0D0A202020203C2F50616765466F6F74657242616E643E0D0A20203C2F5265706F7274506167653E0D0A3C2F5265706F72743E0D0A00, '20.04.2013 10:12:52.607', '20.04.2013 10:17:41.450', 1 UNION ALL +SELECT 3, N'H:\tssettings\themenmgmt\rpt3.frx', N'rpt3.frx', 0xEFBBBF3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D227574662D38223F3E0D0A3C5265706F7274205363726970744C616E67756167653D22566222205265706F7274496E666F2E437265617465643D2230382F32302F323031312031363A35343A303222205265706F7274496E666F2E4D6F6469666965643D2230342F32302F323031332031303A31363A303722205265706F7274496E666F2E43726561746F7256657273696F6E3D22323031332E312E392E30223E0D0A20203C536372697074546578743E496D706F7274732053797374656D0D0A496D706F7274732053797374656D2E436F6C6C656374696F6E730D0A496D706F7274732053797374656D2E436F6C6C656374696F6E732E47656E657269630D0A496D706F7274732053797374656D2E436F6D706F6E656E744D6F64656C0D0A496D706F7274732053797374656D2E57696E646F77732E466F726D730D0A496D706F7274732053797374656D2E44726177696E670D0A496D706F727473204D6963726F736F66742E56697375616C42617369630D0A496D706F72747320466173745265706F72740D0A496D706F72747320466173745265706F72742E446174610D0A496D706F72747320466173745265706F72742E4469616C6F670D0A496D706F72747320466173745265706F72742E5461626C650D0A496D706F72747320466173745265706F72742E426172636F64650D0A496D706F72747320466173745265706F72742E5574696C730D0A0D0A4E616D65737061636520466173745265706F72740D0A20205075626C696320436C617373205265706F72745363726970740D0A202020200D0A2020456E6420436C6173730D0A456E64204E616D6573706163650D0A3C2F536372697074546578743E0D0A20203C5374796C65733E0D0A202020203C5374796C65204E616D653D224576656E5F5374796C65222046696C6C2E436F6C6F723D223139322C203235352C20313932222F3E0D0A202020203C5374796C65204E616D653D224F645F222F3E0D0A20203C2F5374796C65733E0D0A20203C44696374696F6E6172793E0D0A202020203C5461626C6544617461536F75726365204E616D653D22446174656E22205265666572656E63654E616D653D22446174612E446174656E222044617461547970653D2253797374656D2E496E7433322220456E61626C65643D2274727565223E0D0A2020202020203C436F6C756D6E204E616D653D22546974656C222044617461547970653D2253797374656D2E537472696E67222F3E0D0A2020202020203C436F6C756D6E204E616D653D2242657A656963686E756E67222044617461547970653D2253797374656D2E537472696E67222F3E0D0A2020202020203C436F6C756D6E204E616D653D22426573636872656962756E67222044617461547970653D2253797374656D2E537472696E67222F3E0D0A2020202020203C436F6C756D6E204E616D653D22537563686265677269666665222044617461547970653D2253797374656D2E537472696E67222F3E0D0A2020202020203C436F6C756D6E204E616D653D224775656C7469675F626973222044617461547970653D2253797374656D2E4461746554696D65222F3E0D0A2020202020203C436F6C756D6E204E616D653D224775656C6974675F6162222044617461547970653D2253797374656D2E4461746554696D65222F3E0D0A2020202020203C436F6C756D6E204E616D653D226D7574696572745F616D222044617461547970653D2253797374656D2E4461746554696D65222F3E0D0A2020202020203C436F6C756D6E204E616D653D2265727374656C6C745F616D222044617461547970653D2253797374656D2E4461746554696D65222F3E0D0A202020203C2F5461626C6544617461536F757263653E0D0A202020203C506172616D65746572204E616D653D22546974656C31222044617461547970653D2253797374656D2E537472696E67222F3E0D0A202020203C506172616D65746572204E616D653D22546974656C32222044617461547970653D2253797374656D2E537472696E67222F3E0D0A202020203C506172616D65746572204E616D653D22506172616D6574657273222044617461547970653D2253797374656D2E537472696E67222F3E0D0A20203C2F44696374696F6E6172793E0D0A20203C5265706F727450616765204E616D653D22506167653122204C616E6473636170653D22747275652220506170657257696474683D22323937222050617065724865696768743D223231302220526177506170657253697A653D2239223E0D0A202020203C5265706F72745469746C6542616E64204E616D653D225265706F72745469746C6531222057696474683D22313034372E3036222F3E0D0A202020203C5061676548656164657242616E64204E616D653D2250616765486561646572312220546F703D2234222057696474683D22313034372E303622204865696768743D223130332E3935223E0D0A2020202020203C506963747572654F626A656374204E616D653D22506963747572653122204C6566743D22392E34352220546F703D222D392E3435222057696474683D223231372E333522204865696768743D2236362E31352220496D6167653D226956424F5277304B47676F414141414E535568455567414141666B4141414278434149414141425A514532794141414141584E535230494172733463365141414141526E51553142414143786A777638595155414141414A6345685A637741414472774141413638415A5738636B6B4141414155644556596445463164476876636742546447566D5957346753485630644756797037305041414141414342305256683051334A6C59585270623235556157316C414449774D544D364D444D364D4449674D6A41364D7A4D364D546C5A436B46674141442F57556C45515652345875783942594264786658335858664E786757586C6771655A4F3235724D5631335A37765734756A4C5333536C677231467168445730706257696A466151745563416B516948757976767463352F75646D66766576673351456B704B2B2F3879652F612B652B654F6E6A6E7A6D7A4E795A795132466D4B2B694E7672387243496A796A4557495246777945574362414972765159697242676849566844344B44553068524667724843506478456A5968546F4545456A616E6942412B47494962756754344E5372626838492B596B553047496B476B44424B504E353450437A4B33722B4257334159464761524B47633172726748353145574B4246524B4869454A52554545666C366E795448456663616A46474542526A7A4D4F626A544A64662B546E68426C626363356A66676E424446694A51455A53344A39765435725135626634486A4D5138596143596934554F4D74636743343278794B422F485067797A69496A2F4171344555676B41416A59357A6E46354836486A534459433570496F5064792F4B45517768396D6F5848653241445A6366555469346A7746766365466E437877416A7A6A555863684971452F6A4A6E33342B42572F415757432B415868447559654F587555303373674E71614545786E2B2F7A476A63494F343763484E5752597341396273676C4C45557A4D416E74394A76676731754352444C4650586432327077327038312F76354743586738413552434C764D6C43623748494C68625A7954783433453033524C6A42492B6741692B776A437030364F734243687A676465546353722B4A306B462B50733944414B534F4576354F466472485155525A4351346772556F6848574F4A6D4C2F50755A433763494F56376D41634E414E426668735833625144694D744144787950387968394647794336567249447645585843684867365831656F3351526545327748454E6E50414C6C4A7A6A68426F396B38457234346836466858674379632F436A626752644E71634E71664E2F344B526F4C62765A2B344C4C45767A6D3158464A6B4E2B66655863526D334A71764B534A6E56686937716752563363724A3752714A375A6F4A3757784B6C5A57644A30716D68476F334A3267334A4F2F66736934584C7565755838553061496F7242465764784D393265757062686D4E74496A61473672396F77325061356E5732734C3135536530326238786D503348474F75674D7A593932756D414431422B5354693435586F55636B4F354C636359642F334654694F4A4F457141427945477A7A3675463466562B31686731636951544C46484D6565596E636E30476C7A327077322F7774474F733443554E6A5431797A4F6342685337626F73753246323135495A4A6D4F52315A68724E3259376A446C325934475643492B347A376670503049716D4571777958486F7337744F49575632365850742B6C6D642B6A6B642B686B6D66624746486B475A546557466E5A7230316F72707658565A48556F3475505770653945566F4347526B7A4F4135426A51687A674A544938702B464D63524144394D6E432F7A2B734A51412F436666775643416B47345561346952747850326B6A504A394170383170633972386A7868706B45583273736A307274714D6A58565357326B616F4C4E464F6474616B392B687A656E555A70693136525A74746F6B6F3030795562564B44636B375A4E644F737A72444931336353374F4D457837424A74367054624F725555334D4649587845564E4B716E6F45755470733676344D6579635A6D6E4E752F544B712F4973326D79624270697332367A7A312B3132486D2F52437758734239544C57583958715162434F4439667368414C6F41656A49636D69636857747846365A4C594A4D5339794C356759693550704E506D74446C742F6E654D4E45474438753638566E574B51352F5A5877764E2F577A4873756B72792B633336576133364B613336616131363261326E6B6834645971754D396F30303973303469706F576A7552754964396E47613245733175495A707A79713649434E657A476A546E3147764F624E544D61365A48784A7457382B6D506231716233616B71364B6E4F73656C79473870766675696E49375245352B544D6C434761524B7A6E4B432B47374D576F765479654135646F474E346E52574F7468664446372B584859495146354F5656734246526748776E6A4F6F6B6772756775446E6838625135625536622F32496A6A516264417977797732535532697554725A724D467357395231352B4D5844734F652F68762F734F5078556B65735A50393348364733383846566651733736446776374F3657392B6F6D6343386F32776A4C73425065633968595477526151766567362B34714972625043493947786E4577394D7648585A357A765432796F4C625071355A754F58482F795A6D395A646E6F514256414C425151543377474A417643434F30634266443475345751547473534366514F7233545349516B486A456A542F2B434B4433525A69666F684D5269626A47474276686337614165314C7442614444787A75522F5A3032703831706339723874786F4A395869455261593361374C736867797A7472684E2B336658675445574668417A7A434B4456502F70486A6243637679555851453349525A7965386635557671674A2B7A684B3979446672374F485953622B4A7036754D473957426C35696D694D72376B38786A77416363522B504467477932505243656A7641797834674955554E396F4B54647263447457635675313348376B4862696148507436484156514B625670473841526C334D4F43594D67674378366A745561526F7A5455356B4772504D7243342B2B62554935444C447A4D7769354F75422F6756793967484C3048594C334C47773446774879456649514678454B6A49347A42475639445369627344374177482B75524C30526B4A75394F6D39506D74506C764E784B514256426530717A4A63426A534C6471535675324C59776438564C6B4A6363517137306B7734695147453037464659474878674777496562333030306B4650463757446A6739376B693051416F47694743545A79434C4F426A676343707558705A344668344850694F526D566F66444465786E69597A38324378316C497962452B75314D31713432772F6D5458584149716864364E37424E766F357734773947733776495066652F4A2B323539364F646666507965572F2F383638382F657665582F2F4B62722F7A35354F6A57702B6A366E63642F3836306E4A683976662F513355555443423341512B3763662B2F56586E766F746F766A365078363439616E376276767A3737377A2B483276444237775571467772492F4275686A486C784665574D6F5070383170633972385678745A727939733153523147795337747142642B2F7A59675342714E422F684251594264325159456B504A6549705838672B66454648494E544B49617A6A6B43345A394173726A6572315137524F312B7A6A2B6E6F6F72496B4C4C4179332B654741554D627044376B444936353059686372725A3845427274666E577252704674573054753033487273486E59782F432B7335345237743633486D2F66557254313353767653735276325A6256577A3277327A4F34776C486670386B79624866424945393855644E5063414B757955483839713049777962355136545034423570395872797073552B57334B4B6131362B5A31317335647237323062666D502F7653486B596966736750413536574453337A6D566B36396F4E506D74446C742F75734E59663077692B5232614B5265672B5455356E5553316F64516E63584163614C4B435457514E4D474553763668453474345758416B366859667878356E376D48365A73703968415550735541694861594268384178466A682B4B676C5248475368375A46424A41507034554D302F4F50596B4239613853414C5664786B793752724A5A73717A364C3936685033774D334A6A7464504763506868456350487A703763502F4C383965715A72666F5A70694D326342696979477074544B35537974316E78796C4F6251465A6931534B507A6963576137466A6B5349324248574B6977525A6E68304B586274566B326258366E495764312B526E72644C632F2F6543455150596778414543494649727238365555792B58326D6C7A327077322F2B3247734236776B673273377A64495062537138726C787274647A72416651512B755577556967663779476E774C79303669306179384C4C622B783536783171724F61744C4D626C504D374448504E78706B6475756D646B34524851596D57487A6F682F446B642B764D37613835647254792F707452783439596833326A5136774A4C304F344236387476746745364A5963713236713939552F336A4A3838316F4F784D74447A6A68527577484D334830442F7A64376E693165554175674C724D616B646B57613079695A6C63447239302B45395831617156634C484B6430346E3644467156635A4E496570723137664B504D387A59624C37455A6B3770316B6B4F643474546C39533074747461636131703678334F506A76415A3267693664344237447645412B696C596A2F5469657471634E71664E66373252554A5648336F4831636230654B422F666B6B58476F314E5A7439324D375757525877792F4D724E5655394B716E756573797A6470704B624671575A6C696B554639546C4F7956615A4569302F644B496F5773757A47386F2B356C673262316E70613537443648435158752F33735768774A4937315853706F7846393538715431656D3434592B4F4C634F68724B634C3659797A3832774D766C6451725A3362565A566742784E726B2F75716B76696F67736D52584A396E663337564C4C6657717052375A52757054532F3330574E4368686C346635616F39477465357655736C5336566B716143326F6230797056316430717A37326A50334832512B6E77427A58756878724A667A79424E2B477574506D39506D66384A494C456A496B742B6D6B666F4D714F725A4A68724441657149566435695041454575493956627172647034676D474E764F50422F667444616E76717A456173686F71775347536D5A467A7159367155636E39623644594E6D6A6730353636696939313467304648646F726E33304A77663553453449656A306750524B4546712B346B592F68324657354675317454357A306544335064677A6C78585149626A6A446A374C51722F593958394B6B686C497674514F46395A4A545131694D6135636D7966482B727430617156636A39644458586D6B32667439506C7450624E454D52462F4E37676473447A4465375535396B556D5232477A4C36717449324C633371577A4C64565032646C7838665941786447456F6A4449643471506C693654305A704253357859765435725135626637726A597A3168613141424950554A592F5845395A7A41424A3650536767686870347861624B662F494557424449414A6F53437263584F444C49324A61486635425776376A595A736A7355476262645A4B704D6E667A45716C6A4D63455771436542684132773736536F4336535737784E44344F416F55484C4B7177354667566C2F3862626D6E587772744948514F505436364D53457748726C6A545A716A577971416A504E7A5A37736D6B764F6751536C48735431656A42386D455565325076694F5532474D3077314F63334B326630724D737A61444A4D4742515374484A54585352385070317256704F6B6A52344B34317039696F792B4B3453432F67397A6B6D4E54545739556C726452705179443548646F7A3637585565487470572B59784669707371454134756233566B726D53706D334D367654314664392B3654466750567851496D6C5A4671575762754D7052356D424B41734A4644636E50416F6A4F784F4339443736694D4939786332762F4648324A46364A68356939654B4966616A456E3755564B4A314D75615049335A754B762F68556871424E4469784E2F42654B3355393449456D385433636776524A706A7966356E78433954516F41527239377066664A33716F6B37694A4E73454554382B68356D69736545306751685465423150426C784978356A6C676D3343513978677665704963522B685A6C4D6F5841792B546268655972396163504836326D64535647724B7457705130386649504C634F4B32354A465A4749364C675A4A623947387754345354554E32704E474333636A6E6A6345326852304E34636A457A387A582B7773464F545A6C656E636B7032714A50694B4F5A3844346F3765482B454D4A4D64537272767074454D49747830305368485A70632B78614C4B3331676E575A5453686D72714E4A67564A6133364D395A6F2F6A70786344636248364E76536F50524943553747673250734169775074757154626171436B33616233304172482B4841594D52516F434773364A7644687836344D566E66766A6B417A2F3479344D2F652F62786E37337735492B6666657948542F33783772382F38734D6E662F2B6A357837353464356E557459747A4F673353687630524535562B6F5A71517638315633352F7A7A5066652F722B487A2F31687A762B3969446F70302B424872727A72772F643864654866765430517A2F2F38304E6F57586C686F6C454A547576554A6A73316775465376794846616368745558333948772B4F69504A43617541616651446369453250696668457656744D56394F4D4E664F46364271546B49672F537174342B434D7549693471643572704459556D58445155686B666F454646455169306370356752666B4277482F51467777472B72545461776E435974343255414438454A786F4D42756B2B74714D6E47555137374B4530653268684157636D64526E48493645774769323438345259674F4C7968684561596F6A5152416D654B546E494A68644F6569477555534C59493352634F516351464730554F75456D42374248674D496C355138394A76544D4B415945696468426F333666344B4B34696F2B544B5244366C6F4C48346B56325969374535744C6B4531487A384548436B716368484B534B436266554C344E7652426F4D422B6C62464F374C3478644B4137454C32655635354E6E6C646E6A7639644D504341796B67456965696245496C31723155436769782B5433545A374849487A774A783479436A306343644D484A794565516844465375456754654C44613651454A52627A54717754464B6255557049347755544263507842576E78636B4F533845303869626C72766937514C5A6B3634585167694745414530496B436271384C42517768514D5338684367636D574C7463547A2B30305A434252336B574A2F6570514E4D464C57722F7A467841434A4D7459545850574B572B4A456654744A774C3241364370486B6B70363449507238714B4C2B6B5746596A306339513378315466313372382B785449486D443566516367446F4365756453716C624B574D3979456C596A2B786E6478756C6A764C6B4C6E3371786C7170355972437A63744C6C6C5A7375663232415259657051594A2B49546B552F70524B364236433678484331483051624565374246434B556877535243306531633434496F476F567744485361697753472F573151696239672F78507A62326468736B794856695935466D5751726C36786C4B623247484B6468587466534E35676654546743386642325650675345435071455168766B5A6B68466B52444251366B4F7053677048363931466B2B7255502F67396565524A615254396B6E39344D4B47664435413334764C54716C4B6759693750554E6A5648714F517746675644496C61687961426D445956386F474F5166694155447670435075426A79756E446A38303445513841476568576A6D4D476449456F427A53754142504C4A733066424D50507968663877714F6D4141343539486A466A4976414331776A5A494E63693433674D6A6143394A6C346A766244786F2F4D4B377A43347743747341646D344355516E6B436C45546E424A514550754179486D492B41526A5165464E2B614C6A6E6F42625747586E394357653855724F43412F53435A506D427463344347414A6B4C425151386153574971797355666A5872784A424938486F6936417454593848686C4368446B425563396945744F595253314A2B694F684F456434517458354156764B5A77675A316F6B46494C505343694351714933634D54426E77435A6670416959443165424949526D70636872676F2B75344B754D5138744C4B5A414B5769366B45635245566D6970434E52747763433442305A6F6939642B5053507A2B7447666D5331414849526136716F4E664B4841693665545A482B554E684E583871514355436F4B623263384E596270725A547541516E516C484266783431433372522F49674D555977674479524B654B5A4B4B596350673138344572354F47356A2F454E626A6B6C414B6F6C5169596137636F565248615A56333643657650463634656E48577163523655464B584569526A765644746361582B6755617971394E3744464A3771646761534F7173794C635A4B7A64307644527942426F7542476F734C4E61626330486E65723369773842365159492F6769436A77465855684467524B4D6755355461684358365777447872645871506E6E4C5272304E47306E6F4D4B523256307A734E627A492F4843416F4431395979554F4C434A557248695A69515761673179646950546F486B715679576F767142793838437379696758704B6A51694B746B39413438792F6F7736346F3935416C445244776D69716A4D7A6A415752515A6F4A2B61463063642B424E7A67355348686B504135344A545342314D5349395877413943635937444E36366D512F61347A674C6A6F666475422B6E44376D684B414371676B4B65534B38504561496868654F38704B42516F6B304B51344846473241666E43454779674D30656B7059634E773937706F415433676A784D4F414F6F7377386343666359467A75485852655467553742463051626B6C6D6934386A714D4264726B6E57636D44787933717A76476F62355157364E4A7A56435153524E30674A4A766E6B6A73656449395052414943386358754776434F4C49447434444361366C484B657852763456684F453749444A6F7341655A3738766A42536A65614B75697834706A3871617A634C6F74775275426633305167616D314167437556624245502F704D747A3176476C5836366F483956776A4156414B46796B48735845515544324569656541594A37312B6949502B4247354D6A56634D5131784C77514F53476C534462756B51766945732B583842643265554D54314664414F50356F32437353684A52777A734D5354494233654148624B527730455352367A4F4E792B2F332B43496F534F6D493446416C34335335716A61446A522F323848304D79774C47654A3145454658733662636A385237412B305266754F566279346B4678554A30345443642B42432F74576C5855574A6C686D774C4E487A344235654E456A787A72436653314E4E6C7271556A665543325A56526B4F513348766B767A36796A756566527A6F686D34484B6946776C724C43313576487354374C526D4D342F7A375743344C334F49453777416C334A4F674B2B4D6144506B385531592B55666451516C782B6F46336D4C75597562464D6C574A53326D37465A4A335A714D7671726B396F725A70717264714C33414F395146716E35794F6349374B4234347269694D453748655570375A725A2F5A71766E6D6E33383953726F66655553744732547354655A2B6E6B31735A3446646444794C447A77422F7649764964447A49446451556363395870385853437448457771517A6A7A6B6D52674B75636634715763447A4C38334E4978377744664143444468436148727A7547444549517A68527663497048493569447A482B65483076415151674D63524D68784550674D7A5135736F7645454F42356A62422F7A374755754641315342527471516967786F594448433369616D4A68415843684B6E684A717436436178714D6A687A785351444463374A3059517475476A4C38646E546A49324148473972444177516779456A6E4F32464653582B456834683065672F614D5874647836703753436D6145444D536B706D34596B49586B42556C5652374D493767636A30516D766432774D79614C4744303049382B344B6A2F4E744D4E6762346548394C4D705042454A306B594D73656F53466B514130623063385979684B486950316169687A4E4954463259615767364D637041557342636765593737447A41644749594E6742664A436D417158634953496B552F654B6F4463626A6443516564766D506250514C354368356833574F774F456E575042467779647A687A596F5A696E584350772B4E5978493179504241644F3872504475496E2B666A346F554F552F6B4F4D486150306F79784351784D6F48463457715034554676306763424573576C6D666A795238494F49446238584A52626735464A6941584D474E7A2B504646575548707145704F735938534353615139796A6948336A347A4C5749326B386C2F4751543575342B553968665A784934416A6F5178354959475169544242776949586176336444386270796745366157436C34366F6A5565564C742B57414F6E7738413341753947475170793936324E4D6D6B796D716E6F317057666633714978784242716C2F54745757444B705A494867433169506C482B4337325865614F4A2F43664C494568456A464E55356B48775651526E597A62314639685753716F4A6C7161376E6B55475830476C50624B786459362F62794767346A394F676F4771637764466A71387376744C413848525143734C7A436A716144524C57423932675A39756C5752763362786E63382F684B4942566833786A5149466672623757667544332F2F6B4C5A62384C6D4E2B752B6F73613758753667377A31363535654F647A6B4A3833334D63472B5259364148326B336F636179766C464858427543625236646D443330384D376E77306465574C3037622B3639763735794F7450373373564B4F426A34554155574554794A6D646563494237664D4E372F4E466A327839333758706B374B33486A6D35484348386132766E532B45484375584449462F4354637A516F664B6A6B316550376E2F63642B59743333375065773338367650335A49322F2F592F6572486F59474437464568706A7645497334377672794A376330706A6556706251727A2B745A39666234635435514A544E5A6F507A5273416349432F4439772F355831333335366F7364617A396D5831565372353635546C33573337547531733133626E397948794E46474E55484954392F3441306B365A6D4A50552B4F3766365465382F44513238393874617A4244302B726861674B515448676667754C773277774A3650524947392B356E2F2F714F76624C332F7A7472624E6C3135666566356653746E744F74705039645733646E575774554E396F333366656533683137657956793868554F683877456D4A4E6A726F644451562F41547749454A774D52396E70476E4437324A2B767645384674507548632F36646E7A7950453348397533485230465A4333696A544250524A3545456351565A37536D4432372F2B354D446231477978393536344E697266786C2B2B2B6E6A4F35342F396A5A6577654F6B34563451457343426478316F4148412F382B356C6F632F2F36656456582B6F39743266354846743169556C58304B7961336134727661703934362B2B2B6365447278346A745141774C546F4B6C426277424F30766269613848704C6E494C585A6B4A2F4864722F36694776664830494848346F652B64575256312F31447277396642534A6842736F5066736A3437382B39464C6A4C373634594E504B7A4A614B2F4B624B5A6264754F4D7967324850686952426549585345432F646B687838357A61664E66786A724266646C734B4561694B6F4F56514A796D623330736D4B7A6A75593545316556664F68455772794D39595272596A5953396F543147716C504A66585459766B63757846415036396538375272507A536A77524345695364636A486569726E703970776A72686547526F4B664B6965746843425A7842364D526F4A732F47416745664941596449626D74756B79375A726B506A306F745565583464524C4459744B6D6A56764D7A39556E594150554968436E494B68776C423236506445724A647346616E6D696F39765776506446783938656549415A4F4D31332F48463366567A375857705A744C36305946493639586E574A52466A57577A31355574366C7074324E774F5652517765705146686B494366486D6477355550566B43632F6E706F78324C7A69756C4C46364A466E394F715062657A2B6F7A566C5A576D6C56414A30576A35614C774B695A7953546751416B4B712F616450356E54587A7A56586F617378627037697778586875533557327477585A687A627445566A5066626B6A34563838396369353633567A6D39526E744F6C6E72536F376636316159312F337873682B734F496F63372F4A527161764C6975784759757658706D307556707175545466706E397063432F386975696734364F7A416C30654775587A2F754F4B6A65325A686B7650744334377132394E6B6155363236536630624E30687357515831392B62752B4B6A7A6D5776654139644A792B364136647431347A6432336C374759316D6C3730744571616C4665596C2B2F5A2B7A62764174492B546E77694F755166473645467530694D652F43563462337458373571786F7246737A7631382F715770585255536B304C553147555A6D57575131665958563355565956794B6537517A4F30305847697565337838357875525157697936447653756661514377512B34614878636336326F393778572B363534394F74646565314757633130515A4E6F486C4E75724B7539547339513869644B4A516F59425056454F32787877734C4E47776F346D56583279396F71796C5A703044526E4757752F705231326366716465732F303332495A67386F63506F58524D4751636E3349507771464862723879693975574E42682B506932656D6E3570326474585A6E53705533764D57523347334D743274785752556D4C3670794F7173737379782F632B384C6267514855647A667A6A55304D45304D694964636F456B5A6C482B547A475165395931653272357A5A5556586F71453171566C793474576E4F306F72502F2B783767324730624F7841324E587839632F4D74646449445A64447330454A4A6A733035562F716775447833684E68505836674834416F762F694843734854664E72412F41657858675A366B476942615758684D6562667756794B7A35726E4F65756B686975686C6B347576446B5652436F38595431774C6332757A4C437035573445734C35584B573351534A734E6B716D73794634397431463731643366676A536A772B376C413938774E504B4C5845435A38714832796C6776396B684174667A3634783849362B503853615145413768485452436A6C676C766548316A6F515764526D43396844354B6A773774566D615850723231596B364863533844486F6A516F4D654635586B7367414A737147446A3855786976576A2F4A4876356A43323130764A503376444D33627459384B76502F426F494F364E4E6B32505430517055616854565570383270552B623136326262744E4E7236386F57487046587430564F316C6B4477326D553744426364704A45374153446B5A6341523855774E63446778653056633373304F57593149554F49385373594E576973315972304E4A506B504C4930775231466238385763677449414377322F7A644732616144626C6D545661487371684A4157317865724E47756156396D4155676F6A3461596F6458516D756F354E2B342F2B355A395972435476554D5A2F56306837476B535846326F325948477A724B76447644677775574C447248587076535569725A6C564B764A752B6135656C724637342B6441442B513547674F304961376A434E6E2F682B2F4F71546339636F463352577A335573535734716C396F7155377367474A5730514B743138625374793651316E317077316571432B7249664866334873797851624E566C746C63574F49323558667138486D4E715A2B574D4674577A423761486F6C447367784E523935687646446342476B4D5037765966727A53744F4B394A4F364E4A55576A525A7663594A4A7443736C6449473358534A67504E6C7A6A564B643361564B633231615A4355476B745A646B4E705558725370752F652F304C766F4D6A3447356F49687877513174694C69416E4D51383851377434772B392B4F4B4E65686271633236484B6146646B64616F794779726D4E6D6A5152354778487469484F3137326672386648455A354857626873396472353571717331755534484E6575327047697A712F39724C7162535A304A73515169764169666F56476A367278642F644274437358626C674E4656746138636E703136325257712B55484A5851427142355A50595A637879363745356C5A6D4E707A707146732B6F7232372F2F576151663875616D346138674C64304A427677735042346C7A516E534364332F334E58717247614668467876714A5857586E35325230335037563838546F4E4C6B655533394A537372696873553258594E4B6D6271744F323171467076507A364E6B6F6B3267732B686F4D736F6C56412F77425A6B2F504C6B3333617750796E73423642676657514D317942396277504F4D6243514B7672482F357853617336766130795A324F745A433666417330664F69566766595A4E6D576C5679394D444175753347756B7255357471576F662B6E486F6470426D6464444670356E4B354B4264494F52414757412F42697449366E50682B4F414C7234526A354F7A6B6A2B504D4F6F70466F506A7441546C4156776D4578314341737733376F396546647A44572F585A394E48334D426F355753565147737A2B35557A544E563732522B56785456435343497050496847354241556E345638654468424B7A5036745649367A383175362F6D316A325062486A69687774733151584E43767036755231466F3647566E583367574C6E6B7241526C326C554131746B6D77356D394B3839317274684269332F346B6A35523171416F3834514351504F584130667A5679344579716432367957624D726D39596D355837646E4E4F676A416F59415969655A5944342B55532F704664555552725076655A34465A6B6C575A3674515632413351796E4F616C597533745133523246544545795747683379306942436F3949302F2F684A616344723648315A46686C4F5833716B6F6246487359494874624F54384E63724C656C616E72562B593032744D3664564C646F566B726B4475586A6D36453146365132696C6F4E48543374463376766A6F374C584B2B5A62616A4D614B764B37717A4F34717961796762396E67713165484E6C5779566D5A7657794B314C774C757A3969362F4136324F776E3254673336566654744D6638346F376A4C2B494A3750354464525638784245467532697A504E63434365356E762F48626A37453564526C74466B6B58424A346F30314B4545316E6456536E3234716967636D774A68556934636D677954737352757946323779504C6A573935696F2B4D733649562B444B796B365733694D7A7036677978773952392B43465761466774417173325657527471387270724375735641347A357736476F4239684B6E493336677A544A795964396A76456A53442F567378615A5462646F732F71727059364B615662442F4137446B68753744394D6B725A41544D72684262487877502F4B62742F352B5958737431506130786C4A554163516C4F5654495338704749333259677653624B3642495A58667051446B323763792B4F716E754538747632377964445932687A554F3330776546494F696C67536B7166612B665475652F594A31756476384B56436A5579727972567161765872547076752F765A4B4774762F312B7766724B61575A6A54717469476F4943303279566B5061466E2B6B59456B4B4457686B6B76414C576F396C4431736A364E4E596E6D503845316763683751674D516B614C72676836454468556730504D39786F626E394F6953573871792B75726F657258432B5578415A6F2F64486F33724B6565424C432B57794674725A4B366C424463656533477630337348347251386D77494E3252477A6A7650425757427A3832655571782F4C784B49447834435234367745487272575462364F677961494441554B6B2B5256542B7A53594D4B544D733134425A414479384365656D5258392B70312F646F424E616E4F7851357750324F30765750334A62666255526E7136522F535A5A466B394A57675234363043323731306A543272597971512B5157707072313048787A4F30797A48445762587667523441564C2F52584D5732492B454D514A4F5A69345A6543523648557039492B4454726F66556B4F5459464E50366452645943764E7047786E6B6232655049346D3146646F6249742F2F3731714E4945667A31613648475A56674366356F71723239414D384C556973644B4A30487150627A78387A7977544142664E5569554E796A6B71737271312F32412B2F6464365A725171696A7556756430554F31723031483564756C5578723032375932672F50412B365239456748574842762F734F6E39476B4C326E565A725571633771716B753049545A6B4A526436716B5071724A4B63327861724D637169546E6172556A58724A736A6835717A48313838756C766B71705277584C464B537A43793756435077767674336A744A6B4764486E664B484D50456755507375414F46707876725A7265565A5747586B4A6E47545853446C56366A7A34504F4E75365747705A564E68666B3952526A6A594A574A6C436533584157586D365654584E5756586356506E6A6E582F5A7A39786F4F516A4A5172456C4B445450484E3730344138795443726144344D2B4E6852537253337131422F6A733644454B6346656545466A48365556506D696239374C494263365657525A555063376E626D3236575658536F5458653545524C3742624B416E58454B514177475333694D794E374C6D79704C717058544C4D62303631694E77344E66576675304B42626B3953306148706662625A5A685561582B6B43647054535A684351686D36336C78693932482B563948657158684361786E7270574C484C684B6B3242575338356553657957312F6971466E2F6B3574665965484D56597579753676546E4D59637377614E475A71546C4D3031556C745A2B593157776E726B377A54572F79767A6E384436614A4458664C436575743277696B77772F3848497845455730582F656355342F454B534D506C6A74315572394B4F617036507A6845674C6E342F5669444763533637765676424E74544F73786F502B372F7076584157574F6A51394E34514478517769516A5057416D2F4B6262656E2F4A74624469446A654835307172492B50346252666D6457744C727071716452384B53706E7764616C557376697A41376C544B757875466D5A73664B4B47526139314C6777465A7A735655455654625770434B544D466168346C3235754F67797445525650524D5378486863414537432B474C484146375258654852716375314970326F666E51627A44717A6E6F2F796F7273635A5733723739576E51715148516662512F424F412B7A6179353942727175536469505A414C6C6678726A3935543046795A447157764832566149546C4B6B7A636276683534636461325A645036717A4F36314D6C516E3947427335564B6A737030532B57732B6B70677663666E686A494343494E4166734B3862486148635762336B6B796250686C745447654631473251326B7154484C6F30687A3748706974715679336F7270465766517168456478335843706442785668455649493753484C726B714279744B765472584A574F394633344F50336F414A775072647A504D473838396F5579657675774C61377578744B334D733672774F3566524F6264473630764F6453326562395355646D74796D387478326856522F35594C7231755674726B756A6A6F67536E51423042543757753249764F67656849586E36472B584C7352766C3250767748625274464C574C664F386A55412B675533754D2B6E65635535793930526A5777372F412B764F3656394B65537A32637A373379476D4C394C5534774246783130567054386A336B633433546C4856456637576C7046365A3336464E4D796E5236536E617369793376305A6166786E6137786B646D6A6C746D704B4769706E746D76543652636D745A5958587271524B3136756766666363716C6E644E56393834756354674F46494D446F7834614D56626C5436636177764E4B484A515A4F736C646F5735546D7132762F776E5975756179313231714A766878596C78326E496851706972534456734C3273374359724A49486D396B2B5034667772632B71786E74646949717231464149713969447A48574752753362394C583974615A3546537A4F4B684D564B617678504B6461447073374E546B375032756E4C3458796266685A305065625A37783942636D6B746C7A44494F45383858534656595270752B4E43772F6C314E6E4F4654365A396A665A714E394F58707A5A7039695667504F674872556458354C52354F7750724D486931684A57314B6F6334433470766F49344D7A48457362762F505A613339332B32642F662B65367232303530316154327277497172485565676B3030357A4E7454514B595663574E6971664F4C34445449694854726F62705354346375426F6B515739423757306151725737325568364758794F6F7033772F706C33343968505743366D7A6178534C5A714C726C57786E6F347033673463714747662F5852657774616C526D304F7A646B43666969424C366F48376C567370515332636F4A35546362736D39594A646B71705A6146462F5776656E76735543447150783463473243686E37373535384C566932643331306D4E56387137684E7155514C48383771705A505855586246316E75666472332F6E3737372F78314B2F58662B76712F496179416F632B63314F4E5A4632454869464B6F624254585754533545437A37745A43712F3237613639665672317068685956625A54356A7A412F736E78476B335A36672B4B383368555A79793662313668752F75613133332F6D39322F366A75316A45326A382F757A662F3531584871362F34374E7A7A55617039694B70655248745734637531365961314E446B4E566638636679746F365278422F6C6E707078767642783748726D446A33346B594832764A746369734A3750685844656B6752786A73457A35427569496D4D395770516533715A7965525A5944796A674443623042496352373565662B46585269744B5A397470385A7732615876416E74564F52744F374B6A322B72372F724E4E33363139782B376D586348637A3034734C33394A37646B72792B6C394B4D7A31362B537475676B744935745A566473616743335353496A614B3370644172636F78544757656A383164544D6B4F625872382B412B44566575654C5858357A57585A4E7352714E536D6E483943716C31456347466B39716B725037714B32383048794C646B63514D47554E4136486D416345502F7037452B7766796E787575426751694D31767742704768693579336D57376931645137715657735A6A6548323671512B6449724C547A6E57383558317744566164734B42586C42756233567955326C2B66666C6E487676706353376977514374395A695343784173554C566F4E546574527A3442367A2F413347773834424E4E2F4D56556B724765464B34457248657167532F766776587767685354367366564846374A42596C66574A326F3135744B6B31475241506657797652656F395377754F70623231356D376E3030466B2F4B3778343263652F42352B645944466E642B7078747454544367434C62617051324756482F6E542F344569324B49505468686D4E396B41566638782B52735235365051436C5330504E4B74667233777672415334446A4D6C6A4F45675366554D77696655516F554363323868694E4971652B356366753365613155416474593646535A7572704331477956365765733053644E71532B76585A572B7253652F51707073725535744C705A74315A39746F355378612B744F384E564945787A73784C6E4B764F3362417170614D7978616D44357069357051354E58567148496E6E3570542F632F39656466416E3541484D66693434665A38472F42672F4F6274664F364B2B544F68636C627A41556D4458543239585161764D366F54526F6358317862432F684464716A59436734426C436C4A54534173794D73664E6179386B39334C6A7533516676393578343678454C37492B4E6A7A41757577665577437741486F5473444D6638772B745A464739666D6D6D6A7A45756F356457736B713771347132725A31376243317968665330726C434C35465554514336326C4569456F45724F3656736636344B5074597556506834436443417A746747674439777136595876384F7242384E306D6345304A6848417034787876617A38486D7431664D6353365157614E5A38332B7A326372534F6339743032356C374F787443346B636F2F643664776347444C487A376D302B6330622B4B6C67567671704C3661557063636D706E74756C2F75663350764E445237304E6E48376B49655A6C2F6D49584F5868664465687232305359374E4F6666314359316C366159464E4E7657432F566E5A66666F6C686772305879386B32614F6262717933765837716450314C6A383849456D5342416B687751446476694231576E447A58384936326B756950743168514E6A664831657A7A336668427159326C4A6573476D4A5A434B497A3731324258584E456E48354642416748675263343051444F414436444A7336766256697671336D6B34345642376977446B477778656948794C5449757944556C516A774B34776D6F657A447748703445544B5A534C493577545942363648576F634A5077586F3757692F43304A4A6D4454726D5872694746376B61384639366C4B38695574676D596A3078683838396F724A6C4F4854532B73586C4E7A6C3363387A6C756C4C5548615450635146356D782B3850613178635536764D52767567536E64714A6E4B664976682F505636644B4A704F622B494231676652597144622F6734316E667A377869634B71537A32434B5031772F487352344F6B536165547668467052316B624D3133727339783848466B506F6144797039696F544763595770435348736A7035532F4B4E443043302F636D2B756F496B77306C55494C54757378454D71304C43726F716335705665537457657A34795A6632737741452F6D42674750325067794E48526A776A4872366678463947647861744B6330787161576D4B374B765869623147354A3639576B6D47727A367861486E647243786F387A6A6F6C46494169616F6F6F504D2F786F626D644F687A33456145415551616E71625A6C716E4E7475457374446C646170664730614479373934436B61594237315A5A49773674596639452B726D466376367A4C765A4F444A344C454C37586C41656B427665526E7270714F487745483133776D3738307A32356A61704D6D7A367072345A6D4F33747163737936326658616E63774E6D455A6F7844434548496B412B6D6B4D7836704D73616C516A7154546F4176626F30612F655543776C5A653767454C4F4E48704759614748665A47446A39664878737245476D4C447A553755552B45594B68715374493935376A2F792B7378575857614857724B70706337793743314C73753236346F5A4B6446614F304377436664344D46516D2B554B626F422B786A3767322F2B66374D7272726B33686F61704C56574A766457465A75716A4E666130484A342B6363564C456F736E61424F54326875417833375136734130465A5A796C4343575A4444745A66547845425457646C6E4F6E654768735A35656146684F4D72636A7A372F462B717969443252514D512F57625A35646B2B6253664D6647634F4A5954304B51436A31447839375932364C7674436B5239637374632B49536B5761534A636D475A724656476A2B63416E494474555642467A6A436A364E344150724D36337136576239394C586C662F4D654F455348654552387742395368326D6745386B6D452B63415636506957452F37313339517242654278796B6541306732695662634E69782F3079396A2F63776D4661323566472B7370356F41696E6E6E467A496952727736416576544E6C594257504D32314362566C35357458374744597645666F374E2F4F5535456D4473535249646D4677764E7331546C57375770356F7273712B736B78304A706B7759743936796C7059435055496A3451434A4557492B6148486A54653654597A4166513049467A304C49354D4878657651724E786A2F422B684847316E3337657652554A447676616B424348504A3450586F59595671307A724E454D524857332F4C6B76556B574E586F59554235524C696C744651563232686C377071503651756679337878344871494F4A4B57772B594C33674E384E6C426D4C7541387A7A365A66666D4F427253624C706B33625745304450713258702F56584166725073793942497147507779583534746A6B6334314270393464487537373154654B484D62697A6373416A6F5764704554544770672B4852442F64574139524355414A4F4B696A387A354130677363504158443977487042364930453475414872613067753564676659424933364D4239564669446D4D41326D73384A317969797A496257334E6D6C6A58584B5873616972626B464C465A6F422B45576F3145445157765549454C4433346476544C4D6F4D7179495450547737462F49654E546F6351324B4967334D567361505A356956507A34676470666B7032307230486D68754E6D4738336E69544538304133487664766B416B7A4873415965506E657442376B7A6F56306F6171394774585370614B6C4B625332313534414230642B6B726134365A64445241466661584D676E356178764E365948682B737A4564765A4F4E6461677055706468527466535757745578796B6C63455439476642326849397554572B4750464D48547470636C584931625843625A6C4764643958366E44574C7971397033776C6445546B4F6F74796F6E77513666677A746B65675263674A486B456C2B4963346B43507870633871786E6A714B7742754F67564244494B427642675A62762F585A6F675A6C726B5666754732355A43724C334C59454B707655736A4439464B2B76522B436F4133493134466F504D4135596E324E527A326852582F76416E556470534D474C6441596770644649324F385431576B793337676A425333695A324630744266663869466750636C735444546A4E49585A346F452F7837462B67685A31784C42653750466742316A544F4C6A41656A66336748496B754F6665635548494D4F4B473330396976656A78454D783161354C6246426473574E7434322F5851364A45772B6B657448512F537A704330497475396A34552B3656773577364A50616C32557671564B3271535372716B43554A355A7233616A74454D4277492B4D396442746F3447335045644B424E616A483242545A566B304D307A364266557150686278376C69505736682B44642B36486A3041776F67653674716A4D557333615336377067324E44773350386E7A426154516168654F626E7278584174623361644F3639594464724B62795762617159724F7570465739374F74626B4F5978524263676D50443758494D54673842726438694E556A764D665070727A646B4E5A5A6E64687551744E55686E396732726F62666D74367665597145337655634A596E782B35674543633851502B6B644742394141414A365331792B454970787431575A616159434368476F7A5653585336376D6548675147495673687673635A54792B676479496351714D344555586530527845615663317549727664676B58555862514E515A4D7636532F4F612F444B48576F6B337672704F614B57583272353959626A6A4132355065472B4C356D314C2B4A304871482F6F64767A7A41706330794B584C4D7979387048354A7A7151724D47525578707071525432496C59447876306B43363172437A6F314E46634E422B2B4139616A67314A396B784D536A726F41522F41507268316B4C4C50714D696A3174506A647A706548316C383879316E374F6D30423636574462514B5251416A676A5451427846462B564C436F38745A7666364767535A6670714A573671354F634E63574F70624D6144532F344276474B3933745161304C486D422B7342734E5475766769564A707555536631473444317565744B4C37497365543036684F4B6A37535943586C712F7731746645445631784C75592F4944415976364C462F7A327443487A623242396F71576764316A54767A776C4336474D44456539554F6F665050786133744C4C70317572615436392B6372304C62553055575A54384A5858716C4F4E39526E302F5654436E7362644E44304C6A65786A70747133325368742F42547943756B4A42756D6254434538776C434F59446A576679686A4F50487745776D57635A4A4E77764F2F7850713458682F486569704B37683258655067694C6F527A49745A54554C724337757070617975506B764C4969772F774D4D5A6869473850695370366B506D322F76364F346D5A6C486D716D745654615A70436346546B3956545058566779544F38424B444F744A7277394372793878515446585530666572737843342F704F7242667A436951746C444959344576397436387473756F42706F42523541355944373165594830306A7656633551625751362F50636C5A4A7073575356566E63573576666F5A375772706E5270706D3576764A31356B4A44666977774771436C687046674F4141556F374B6D72793444534D5A35707071733173724D7669717037557061443961354F4C2B336570374A2B446F623462504E49595A476753756859646F576757786355532F43764C42764658674F724566614B486639616D6B4C6A62432F504C7150383445324E42595A45754E76586F544459516A7041436552455678684E52535746374F4851684767502B366831372F474A6C72762F6B7057757A5A3334334C4A7245727471697132316B4170666E626B454C7A444D61342B53703751362B39494E77507256666D34576B696E41634F4C544A7252474E6144752F696859526B59564579306B58774F35684C72386F4A4F4451322B30377975504959447652355954304C4331662F395964632F6F6B4E7A7A4E57464735665257477376395A2B794E3952636445336A62746F4367526753474274333052704B6B6C4C6165413649483655706756665957456D37555771746C4C714E4B5832314B6132716D573347727A2F7A774144534170625342676D68416671734D70516E734C3448657231527370656E624B36687057567279376265646473416567753030796A5377764D5338592B4D446150345274786A7548497835574D34676E685843695134663972416E43545778332F466A3541646B47427144453369647354315949524E6F4C6768416145447A503057383263747657796D73787046434957614B6A3866534B45626A7358693568515277732F7672554948416E4244386D53764B4C68756C645330654536722F6F47336E7A73344D55674A35682B62494F6D384B764B46795443555A3347424530496C5648713057324B5042494831747A314236334351385A4D796E473154364A2B62667A6D4745352B626A592F685544586751654D534B7969364551556B59333050696F4E726776594B6D716D32616936773141474761504E7A55586C346963496A6B414C56656F4A46767676635134574E6C5A6B3241456F467A656E52614A696D75456E424E5737434F416F66625238663733724E66375445704B4E5336414F614B4E4B36564356572F647A31536F48314D7672456B77554F633570676F525866334A6266625578482F58656F4A4B7369725673485162336B6D755A784B696C4551726C4445723073444B792F39624637365A52384B4E6649534938757861597574686E6D4E4F745576633351586A31635334566A784343594943494663763970664D2F304E6C32475351557653585A566D6F4D4F555369323668712F6351317142394B50694E423638626142755479515A32494B3441596C2F73564837797070556853594E6642466B7772412B733247564B73346F783869464849482B5837786F53436964744E324F7947506538775470503745414A2B374F7349694F3668715250374D427634534F765A30364E6A766A6D7A2F732F2F676F34454464343975582F4F724C326254467759616D6E7433365050614E5763334766342B74412B4E41634A486341674869554554322F586F48636C575A615A5A68654C4C74504A767770313074764134306F3865426B64414348516F77417353765133557A53674E66482F4B766F7A326C36584465666A3071554D467164626633425048656D5159505A6A50506E4D76656B7430584F564741353933305353316C546B66752B4E563574764A764642396B4A306A4E4841666846434E3036784459496746396A4C2F69387966314646423632716339495677336F62616E4D627969377457446769746E486F2F4E4E2B7769774E52746C5844635541684F63716C725455704A7357435274324F49436E31614E5634716347396642586C7943323553586965596E2F6166414373462F57452F7645654D68596E50484930695674774B524837314164484A776248574841664336372B7A74587A4E797954326B72664366542F4153495A4D6976794E764D684931497746564A37716254714374316E3741656974414D697052733454304F4F56497463636935456E6D4F2F484F75424E49415073582B3977507176507648427A7073394F664E4F72452B636D303163682F4E655741386A62766A39464C3265734E35576B574A5846446A307975733733655152474D463938764A46376F444C30584145515050446C782B66316B4B4C7971462F4162747046675339696862464348456F45657342707546582F63646C724F38483170656E644B6D4B725A6F5931744E43627A496946694B4F395648614C716E32573173796E554274465151474B4A7A4B7466754C4537416570595A756759746A2F5A63667532653679556744507367496661756879544672466A5472722F725262545379784A454C4A4B644E5242656D547374766A377853624B4C684176684E64784251416A486E4F57712B2B4F6A64674A676F665446416530354141586546675A5138376C41416A565341685A346165484E4273366251544965396B4644317161554E6867797A39735852513469496B736969555938584B756C347949584B4D4442364C4D792F7041586E2F786F38394C6B6E3736363577586C783737705A317271305A6D563271366245566C765971696C71316551315668535A64526C495664736971695A32525A704443383258592F3065616A52346A38764C57596251675057556671744B66446843566379704164625432514978724B6372314730594D494E6A2F51414C667379786C4E707361724135316E66526F486B69316F2B7836423457366E6E6F7A69774C6D687746416232314E4B4E586C3935656366466E5778742B646E5072543237752F4D6D5857753738664D755062327A39305932574F322B303333366A2F6675664E392F782B63596666333770335A386A37616F666C51344356703764593568744E533773573765586A664E4F43614B6766757075466970705565565A4F436352785559516E636477666D7631456559582B65564A5032302B69506B333948706554346A39494E7A77462B4B74494F36614B6F56725A4144647563504D66662F526C334E584C35786D4E7952624641533741756A2F67316850314646474D38425153666F4E556D643563582F644A3763302F73567A674852595A416B5A4366424A48726C337A444D5379342F382B3338623678324B4A4774466B6450592F754F625A4B79482B7969464157396F42326B6B6D5750397A3363384D37315464314A595434554F7664355A6E75355154624E6F357365774871796D54504645386A744B4D317157455261712B2B3432306B2F4E6C536C64476B4867396A2F422B746D32576C703741364869574A2F5272706A66704876737747767669665851526869373437556E536D7A5674496A625273304A59675443416F2F75322F38386A5535515847462F6C4F446551316F786D4244793030624F4E4E50374A68755A33363654736236486A396633476649367461384E4830495534734D6C50744250487751635A79364132754849364C4F4462362B3575573957737871415071744E5839796D6C6459744C7436384B74756B7A2B383054444D62733573552B653271484A4D3670396559326D6567594C73557956336137453756475332477677337651634F446C4646657144324F51492F756559532B70514C57412B6952474F4A327436625170455850695175743443326679435266704643447955645A38454C6E4D6970485767764C2B377463727A666337495371546A36694444304439442B61666E4254666766764C6C4256556D543236584F37394C6C6D6455456E4C5541713774426B4E56656B6D68576F33566B6469747A5779714C6D796F4C6D79757932796852545A6346314B344879535A75724D76714E4F535A56346472466E323674526A4F4478704B6E366831596A315A7A6F783664674E787534385757466168724C6A3467786E4E77326E775138304848363855397279704569612B4545546151776D6A49462F614D4D433936646F73334E6551316C68643247616933433348354B4C412B476458475843356D434E50523232327132504B4848787A6B6D2F503436667337564141354C3141325359654E3579582B2B33386136314F364161786C775072726E2F6870484F74706F4A6D587370392F67454F376A544E32332F34585A356F4E4A34333133557170717878613541797A6A50556A66494D746B5441596E6A62435A6141412B76684C37376747696A6267477967765648764A6F726A6B32705A3378667176506E72504C47734E507A56585232446831475362314C50587134345175393444363650556766767930372B643461676C724C65726B6E74306943584671737872726E6873654166516D64794649344641514278734D75476D6F2B396F7679302B4D766D4D5A2B2F63646D3142484F747077734E51314B5A396377435A6739596434424F5678456B304777655A5A78397A66655A58337A6D3355564F775A6C47656854596B79473554546575715462564242394C6C576175796D6C58495258367A616D37506B694B486B57652F6C4D62486E51724A716333715643316F4D54777A736D63697A6A53416435697773762B684F394131416459446A6D56647170752B6D3556336A4548537552656B47777A6E49417565684134423633755779316950787235624938374B7237374A4F53697750734A476F77486F2B48573339414D6F636D686A567958744274472B45476B443345505A7A3758546A415564363059394732314B747A616A537775586F457737623648526832363847464B4B6C674474596B6C4478586B4E47705376724E652F452B74706C6C676C6D52656E5739583661326B6A4247423945466F485A654B302B53446D354C482B7653687578434E38513679344D49335257525042572F2F3079384C5669346F7332734C2B477572516B5344474B4137366F42676F6E784A432B48323057447574783542703163787A316E3269652B58627A4C63374E416F73344D4F79637671687966723568752B544F59722F2F702F472B6C536F64656179664C76754B792F38487171697750713458753854494235454657555048583844574538546741345A3636557554573772564B7750457462375766673133334630416D6855415668764B3875794B6D6432717565765652786B775348363745744F47417A53426C414766414E476A374A5137653158303243396A5436476F412B465146626C706465314574595473302F452B754A32327056465171634E594F48554644714D303164587643665763774A6F33767255623262596176674D734A704F59515166374F717370724B486874343469766467417270367444364C6D4F69656349456477506F77333554374C393639737A71304D6B4B68464B6773444E4E62744C7550485A4C3168544550734434614452396A4163425A362F632F653161485961595A45456C66612B646675374B3462326C71757A4B6A707A624E6269773056785530616337755870477A74717977525A6E5657676E73546F6251306B634D436F536659564C4E617A55384E62706E584F514335554C4C4F756E62756B312F76414E767954324E3371444A6752634E6D70506A6B426F684139794C6834343059563569413167584F734343352F63737033494574747156795537714F6346587A59314F53446A35696244785347434152617176643078765668585964464465633842686671774E5369664A7045417A695775715530645647354A677032582B53416B6F31616269752F6F6F6F4E465032375A6361693264335674335A732F537561326133545179387835595430326D436C65306862596666484759373973615030547374506B4135742F412B684F6675424550384370714664557831466A2F4C756164766137696A4F346C7556594E6E614F455270374B6B70666F66784C724556632F4E50724B4E4964326D745577665733354134646668684250634C7751574D4354487731467148394C2B5249356F727659372F3935724C65556F35692B2F737144644C675336633463367A6C72424E6148416A522B38666A495473443353574539366A43746472575635566749362B65745577426F424E5A54706E676959654A59663453466C4C66316F686349785A4377336C494A6A52745166764831725369794F4E59446779477877443567506452682B6F514B656A334B756B7464306C4E62737172386E3241394C73443637373334794853546B6241655769334E4F6970546E647069732F627558632B4D6345796B4B527878654470394659554D687277686568356C775A665979417954446879547362354C6E6549307A476A52376A6C36694938443874504E513545783738524246727278622F6357314A666C74697579484E71737A62585157394779536B316C476332564D7A6173536C35584E72314A7436444A57485A31782B57626D696F2B5A366D3431546C7238334C43583151573650553931412B59323262343839676574473255432F7A375A617A662F434268506243563935396B72456668796E736B38507843476A7A30375471776E697A423548334D66375A7A53527A727166396B4A586B5757453846457148396F71486A4C2F383844546F5657516E7230645649646170524E456E6D796853544973756D4C657975426D576156614273546A6B6D5661365A466A534477422F63463171304755326C52653271314F575846446455414E7A704B3273657837746A666238652B663373677A38356A66582F76766E6757492B4C7144616935754352444837494837656939586D522F5778384C777457333951317A3254494E366C54544A57455367354937547577587477495544354668436932564150724D797871534E58537A7A6E526939773166426A563178384E42714A4247704F4E6841495256494E59647549552F2F302F6A66573057614E64675A7235745A63656F4447634543314A6F74553476497746316F74765A5034307667646977794765356C72685052487275584D5A3639466865743133584E376E456B56764B3875304B4B6162314850574B6662546A6D434539575345355041304135665275776657662F4B364A74716F6F46744865476574544F6E57706A68316E37796D365632786E76592B6131466E396C65544D73484836347564316250574B512F546D566E766966576A4C504B725063385674326B682F7A51493036394235794F74567739513233622F376167645642634351546F56424B6A746F734550684153393373634377797A30682F4533693077616C414A48324250312B76436747504350444963394F316C6F5772756D304D3633744C525730763438472F545A573559557447732F755748396A632F642F7A722F65476F6643782B6B6266516A635038636D316A2F36792F6C3952684A644C74497234396A5066694D67436B6E304F763547493741656C4B6955592F6B2B6B586A39624A654C33494F746F56704D707833556B694B646A483350497552786E43366155394E616C6B744A4D2F564E3646326347474C30756D7675472F362B6E557A573946524948557472566562512B65394C4D787A364D2F6474673646573152666B625073386E6D4E61714A6D4457684F69325A4F7133597570374D366A45557246383174554631677154753773327247756F714C656C6539515965746E496A31744B4B4A3545524A6A5734586662687738794D2F4836506D6E345166546B2B6244325A4F487574356251546841736B526E565463344A474D63434349464472366E76356232782B653261724F61314F6B6D525130337570554A572B756D7352364166514336306D6754795568466C73464C55537A3675633361593543676B4E30624362363130514542776E5A5164586D6E2F2F4A46502F395034333177474A6338327A6172377A772B7A6A5768354174754537416567542B35346D392B5532564A34583176413454316D64594663566D3961783678523457684E624A75637754684E434A2B345467666A36477336426E69645336454D684C6D37745A4B3347543271322F364B71474F4E596A64344174614B6C517A34483178653036326B766456456F6E547A6B31425862443341624E503948726354504B776F386366334E616F796F645749384F415330585561583247544C624B32752B30487545662F5450683347674449636848394652327567584B58547A4D2F47762F2F4E644F65304B476C5748674B477049456B326F4F563453347A5867774B68594E4150745072426E71655447786354304A764B754C5372556A5A5751536C65393933506247666A42326D3347546F5661344435422F6B75615767726472465138382B2F6B4E35655151304A574F656B4D5278675052706175495373556937345A4D4149782F717354685776596A477337364A5A55786E726B5249787438375246647A675575522F693433506274646D3271695A4234676A49774C726A546652334B7867464141423935302F7547554758494A4C44765141797446465337657165703735795373732B41627A4875434869534C4E42346943614D583338572F4E63425776446A492F43765141383733467867414C72374A68684D6C35697A6A6567665664717053744E6568696F7138677342365A35564A79326E7841383447774873527243376A504A336C496975684E4B437A766577504A6974414A2F5A432F56396A594A37617379323274524A384F47676364386D42616C417A6C5773696951486C424879725730394B46316976542B6F335A572B6F4167767A776848494269464C7A6F6E6E573668397366787A646332546654312B6F6938796569505755553534642F687A372F542B4A3962483139616A41754B4C544462336542536454353261524F386F67722F78506A4F347162714D394A79526E42574343426D656D596A30676A754B49454E6276696F356C72626F7971317566334B7552624B57704E6B5768565433505A507A647356654F307A645442442B526351397848777230364269385158392B32584F49767343794B656B59454C466B316B466A4F4A2B2B726955523677466241757476652B53656F6A612B495264684C6F335835316C312F784C7278316B554D6E396D573157325355327A6F42733533447555302F7471693961554171654F307A62304843444876637764704F4F7335533376412B6835584E43394C4E2B756F2B554733527035627262586B4E386872384D4238524F67614F33353564653270706D55755A74716152765248693274534F6D704F714E373653452B6975696877306367574E413861487245527A4D5164496137366A4F6D6A49624671644457725A56694B3961433157583337583168674158414C536F614F68444742326E632B73675070595A464E42486177302B56325567727A6161336B553544362F71526258687755336D416266796A4A4F6F3833666E73482B5A3036494431614C42544F4E596E57326C75566E384C375A464132656254312F755A3738592F33554F6246545A657A67386B5555694F79704C2B757472766241564741304D516C4A2F4F5A6B4779366673734D4F3059337938506A3650794A6A6E5551494C34384666454866486A4B744B506C4C775436326E315A376347726464582F2F547255564936794E31703834484E76345831454261423956527A59504157436754555954704C6C673045334769336E622F395A6C34485955656D5530634C594871317748715351714855783948357738623646476943765870535144704C6351586F4177304247626D393156447131546459555976476D4D3866514637702F46684338502B667354366D31333851724F38716631657344345A356234426A2F61767549374D36644C54574675586571387A73307965334C633561742F67335136386434742B4F55684C6866486943746F55683777524476336A6C53647231337335335A50756E5741396B64483867725063474951454D676E72574F687275514261537271366C72592F746976524F42644A383752392F43437847436B584779584F51506F6C436741636A5939765A614E714B5335506230624F68556944785267623744446D6432706447443847355078694144772B4C48476268575A3336644C755742714F6347674339744F5A5430726F72376A3732776E372F43462B744C774A483779464941696E505467664F61644B653062306B7736616D496177754C62422B3274724B332B3935675A2F4D52536D4376776B433176446D682B354536644F5355355346615245514764494F724E2F464A6D6A4578754F5044497752316F2F53506A51656E78766B5A6948373754664F364E426B634C302B45657531583643397A354369614A684247774B4C376874387664697379304F3371552B62646A575537744C434C6B507832744B39644E4A35695043637234774363377868776E47516E773452353066693474486E4459794E69315644394E6B4E7272547337543277486A58334E4E5A2F714F596B735235326B4379712F6953574175744A4776434D4D694D6639477255543138574472486F45384D37353572706E4A7263626B4E6D6E3548473446422B54695639587368684862565845414730674874782F2B2B5470594C6D766D774B33475273724262624E364961414E664F736458392F736A4C364833376162656D4353353571476D55656C48643542794A2F49714D30335073397A54576E366A583034486A66433835545536725970676E6B6F734A563576424B525A35616654413263366C53655A4B326C4442555172457A2B72577A6E42556D2B3735436E702B38414B5A6B5A4D46444938456752336F64536E37476D6C337A482B43395A513830544238514B796E4852796A516169664B322F6F42537A6D3946564C396E4C36487371755444637238397155633974304C7A48585152625A34786D6569415438595372694965593779447730645878562B2F774E79334C3771776E42496232496C324E39746B6E372F4E6768594C45334845516451657A514C597162366478777956795231562B46666B4365307A44645A74784F514D6D314455446934495434756B684949356A772F4D6965656573717378744B73326A624A555753585A3176316331617237707635374E6A2F4273305A414C4F78326E446A4D426E2F6E5433764C356C304F5770687747396E705A466C7565754B33337777437467463179535536374C4950736A415A65667A6C78304C31696E6D47625255546C3279324D34774870497453614739584176787574665A64363835737038594C3239556D712F564849714D6A7356353168725867306350544A2B6E49416539536849355565456579397147502B4D433341536A626A70704A4D49745A4C494C4377395076366835622F412B75784F316465652F4457364F4B4B486364703859504D68594431564733716D4F6F3158754B426742686E6277344B617A39717A6D73717A7533526336394851616A5A6F3943445341616E714A7365326A79643046694D3541716E2F6655496667732F6D4165674A394330566B4237366E6E445A5A623133667857313945427747486D50424C774D5057784B50434534736F6A3067796A584D50474D38326635392F3862724564322F6A6E57463762785966703377337234704853474B484C493067372F4948526B3674745A53704D326F4B41565573504642586144367373394F786C374D7A5471597252796632674568554C496549543558773464573943737A62504673463749786F654E3962674D65536277397176333333564231374B6B746E494336773036384C4F67727A716C7152527766326258736D66356544716B656F796630596F417765474732363636304C6B38773653553268615373434746464F3855724564634937775463494146356C75724D797A304C524B744975306F4B2B79756D746C5673344F46646F38636F6645594D5A694F6C49473958674C69412B48525A646661537461587A3975384974554A5069676761644334357A5A71662F58474D31436E34425A466979744B3667674C33764847452F54466730574658697874544E612B4D4C4E4C50363154323350336264444B6A7766646E67447455544D364E6A455939714A354732542B4C7A2F776B7A4D36445368754B723665536178484C44477370784A455275422B4C34755566645945315932577A322B744C7268326D62542B73734B47386B7461612B6E7259755356634A7A44665344434A7278736E4261626F6D62352F5542334F6D74774E4F7244646341314D75456570374B6A6176517557452B64474742394434484761617A2F734D7A4A593730674C735351414B465A304839514941457041716750714268666576703379625758354A67312B52733531466F7278466D6A31467A623662765A564C744D7750704A315637632F4E7445346736347431625377443030656F637165307464726C565431742B776E3762426F7431497769436F6B3541326F58305169465057524634464A647A46666B396A2F667641656E6C356E432B4942386A534965624C5862306F7637637161364E52367277386131744E4268722B6C5A2B63596139364B4842776E77796A644C62554941752B366A2B2B6930584F7474526B4E316551506E737173563530515942456534496A5A7A536F38303061767069646E343764644D57383639616C6D5A516C2F6375794769732F38385176333662355276594738393833386D627064616269686B6F36574D4F69794E686351366F306B676445787257487670743969652B52674D4448666654564C4E4332704C34796F3131426932724D6C55443846464E6C536E505A6433622F47536F7A6B4E3374392F6B69394F4543515078597849312B7739327650546D7658705866726B544451463368486D68493046633038357030503376686365535879685679532B6D6E72634B66484E745A75487078726C6C4E4A334E426E624B556C5679316373374735526C316C3447664F384A6A714A6775366753776F3479397A735A656A5179566232677336464452466A6539364733544F6877784E35735847362F3342326C7743617761592F51353165327650707178367649437078454E6957517451364F5631614834654D2F4B686C75333747566A626862792B6A332B69516C5A595363564B75774E2B3864592B44412F78427974785A613776366D787244394D465A424B6845534C424755533677766667665666662B4C5845455679527935506D77396F50684457633535446A6F586151676157417574703751335632366439523836324C697578566165612B5A6C776467414266526C42363879366C436D39657541377846305134503544782F72304456576F72675430694C717A6C4B446671556D70582F6A62742F384775546E6D48344579543169507967567045364F48517355413859764142666B685A6B6D2F2F3939672F623863773447302F417539486C67666F44574C364F476633374F43674C763169727972612B6E736232765A7247765770446158706452642F684C7A484B4B316874376A6845486A4F316A6B764C37565359324C4D357836727338716B33722F4E645A374F4E59586E7954572B337930435755675247657772507269687579474D6B4C35507072616F656E57396C4C61667457697A4F3675766E426A2F625331796A4D37362B6161616A4D624B6E4C61715746493756536B626A44534646513372626C4D3664496D41635364394E3373713850494530334D496E784544576D5A30366A4B366C446D647875547A4A57516635716B4E53746D303537414C734439776167484657632F6262724A41497666652F37687339754E6D5773584A567355784E754E476D6B4434452B645964504D616462642F76514479432B564C6652705767744B4D7770767370477A577730354C5256517A3847426A4B3231314569306C4D3579314A31725837614C736533527364334D682F4266594F4E2F5A534D7A566C564D61315249395A646C58376563446F3371702F58314175736845704E374A5043355841375A744B7A75307636316D59326C64457037422F566D7376717236437952647332797232312B6D373661704A514178796369766F6D514677694F6A42396B4558534D626E7270675A6C742B746C4E32677562716C377848527548793441626F6B4946386636786E6879664E682F45664843736E314A6E78414D36627167386A4F316B72743566665364703652577A74367947334B4459614A7155766C6C4839514F70302F734D7748655571434368326C4E4E2F7643776E724450556B474C6347774B334A4E69324C46593835314E78316C6F78442B47584C7444626D4139705276536875774B724564476545357834652B3434546154763665782F6E316776617A5841346E384E493444726250766B54737A41434A51676464664A446B717958336234706C62567551304B44396D5837583269397675665036784733372F6B345A7633354378636D464B757A4C7A366D586B427168394B72456578755769585241472F654D765251664F634E526C39664276626A744B70312B336D725A4F366C79636474314B41733231692B6631724D7A72304365314B6C4E733268534866747132465851534C504C756F414D4349634F5A646D3236565A33686F50583172772F524F707941692B59686F7448774341745A37726F317430325A4C6236363669784E36596632725549464F636532394F596E66766E51384D34583263544C7A48664C333336762F4B7A74544E735361666E46307A59747057586D6D3756305173426D74625342646B366531617A392B714F2F6F6F385341494141596A387471555147447A4E76387A65767A57306F53374D6F307A645653793258676E584656362B556C6E367932474938313737432F4F4D76662B765A5237702F2B52336A31376356746D716D7465744B48465845573375707442484E69597A31615262613031697372796347305667744A4947326E68356D6F64762B63752F73566E566157326E4A39537570484D324C4F4C65317948744B55326E4450562B2B3766556E6E676F65665A574E76784961666E4A773178662F2F4A736C3337786D686D4E4A55724D697455316431476B3870376C36442F4F4E6B33427730614A5365452B737A2B315166654F4A58377667474D7044724D684F6D77396754684C7234785144433772465039794755486F75324B43352F707633434D52787A71593155764E6932684463556B465153364F4E46616D622B4246784E6758452F555052362B4652396A7656686E7269356C494A4F70656C4C48746A62584A6E3554533738536C322F44687A41624A436B534341336866774567364341426D45336A4B69675843526355316B6B50495A2B2F336F7342367841304F4257614252466A79516750554345385765786A4F624E46414D7656512B68494F384B4F55736B4D464E7A414C5A48324468496850714B682B4334495469794456727676725348306135474A447A424B77586E546D38456C6850586E6F71715672533749736D76316E464479794D2B4D576D582F41566F7359477574355477635046485A6F5555336C79727970725734316B4B364E65313670507A7432384F714F2B764B524A50624E4250622B6A4B722B2B737169724B6D646A7264522B6862536C4F676E366F3031464A3564426245426F31516A7236567771336E6D67736B4434364A653547667661492F635774425075304E4770585371705335646E70665831687A67555475474459414B797856634A753866474157526F4572362B2F6546696D7746596D5733585365336F6732706F3748464C6A64527654415A47492F3151357A637352386953545A505771736778612B356775796C686E415070646D3247525A316A303831755672382B6449416934446F456B6A724976432B776F61496D525736486B6D61773044616A6D2B756B724F5761644769695A70694D774E2B4D4A7558732F685535726171435468306B466E4B626464555371556442574C7846493232694853424B57725666654F68757448623074514E34345061414131436C68316A6765332F392F665436696D4B626E707154486D3336706871703559724D54557579653274535779714273394D37716F726244556E313559574F3673796D63715366394C414E4F716C665453744E45374165657232387A7955744D36584342414D48517550516C71717574383431473653474B3948555A56797A44463030476D4A4361585A706164646C737836787A47307A4C4769706D7432694B3272525A64486D2B4D596B5145475845557737733658367A63674954566C50414D4D705A44434B37326B636D645A43557755514A466D6B757A52353752716831386333367669664E6B682B6E435A4E6F75304A4644636E32494D537A4C765A6E57684F4875734A514D696E654F4A33564E39417672422F6C4838754D5875746B7334534D696D5441625578424346432B635851584342796E4362646E417A424935537078443442624942334A43756F6669522F71464571716231797271586D68742F394541434233713749414265636D496E6E626A4A58436265784F2F6E336F384E36384A3447646C6E6F6347675556573458734C35646D3978656B5570726E42526F54664F324C4956757461425A6535445255686155434E796A556946566B336E4241324532315446504E48535952576130366C4B37444B524A305659776D6953544B72644E2F5A57582F6E695939716B6E63436344626F58436E6F4166367551674378786E374C48525053556465747046446869784162717750726D31636C617A66682B6432436450326F6544614A576934544474554838343647713937627038734D75306B44352F3336696A6B527A30396C42533576496B69794B333235446157516D644C6E39444458333861613749374E593350504C647772346C744C59456A66636D5075566F55583138612F4E52306570342B4B6F563367684235627A317358734C4862586B7545755874716B75786172506264664E587163357941664269514E496B356743465579674A494A4E2F6C416F35474E52394569512B4D383838664D5A625A72704A694E4168773669516373427A52667851734373616D696D42563131556B7446555666644F5931564477337565494835675A6A45756E356B72537933537A2F64595A7935706D796E3778677478513934305452372F533655326A376D572F4C4676766E5736754B754B6C70386951594A65556562354B516A74326A777039644158393732615041323336724C6236716359644A2F36664266704D344B766967466E61484B744D303152565A3933362B2F53543355714A7576614954556765656B4B6150327A56396564713539535836484F736D6B344B57445A6B3942336E466A56535433566D5832316B6A4E70566D6471734A4F44616A4959577837366B374A6F6B6A754D325273704A336A386E7572387A7256705A387A3736554F45326563494F4935745A72513979397058544B7655547644584357316F6B39444852514A50545A4C656170644230576873454D484A436C7130794B63564A51345741634A36565A417055677A4B576651506B672B716F6B30724539464D4F707867666C764D56625543647851534F69556F4B7A5246706F716979335658333379747952526B47575546302F472F366842327046646F53314E5A6B5877567041414A30474A39753946735143344950384C396E78517652346B444E3251793041304F42723149616974393337374C48746470686E6C564D6248625361682B554D6E6A757A7667665562784966794F6D6C547A625475756F75373134366777767568794A2B6B536369762F5074523676553078416B5148364D5066454A764D2F2B5A70696F6167656D73414152516669304B314B347A6D3356376D47654D316E6251427A4D674956365565507A6A5468442F5275594959394E575665626171716E4739686F7A2B35666B5761746D572B712B3863706A75316E6747504F35615874425275737277685141516A744B58335647487A7A386575453670645254525A306E384E79736E653959666C616A38524366583656497556494976313676317865674D7746656478324650706A6272557532564567746C326475426C4A636D72713143726966424B43306C6D5A764D47594237466F57706A5263636336576C64325033336E727A69634B54556170553532796F59363039513231365362646F75764D53445A67534742394E45687348344E652F39547673303136636D6E565343316C615762644C4F65794D397471396C4848676E4A4D6F69727944754C564B65774E306F324D596E5155314145572B506D4F5A38357071353765544E743241726C537A5571707651796C584C68787954527A4E5A68545A4B343631373769723064336F52542B486A6B4F614F4E675A3042764D712F486D4E31637571424A2B657234336743344651327867413977664E677A694E71786C77566E7271334961367A49614B744D73326C794E74565278365674495731715271764679716B5637464C6D395653684433532B59366E6C3531392B6D42334D6243796A7861426F37626F31616431365048622B364762414F75514E5255784137782F3373534466653872396B762F4975513361755A324757543131475534393159754E77466E363070554174424D4E72625A3438374A356D3163577469696E74366F6659636532504864506E734E417736336D53716C354965377A326C555674396833737842345167596C543456504638675347733542786B707436394F306E7A3533342F7163726871706157485331537349376D3261644E72395834333244315744446F2B6C786C4C4C4478367054756B334674674E6B4D2B646F5348716B76673830516E7166794A4D6A76566838446264627053735541567155376373792B31644D746453642F4D66667A364B51673779542F4E344D7635484464494F75524F564553546E4276386E454A644D6D59534A5035354143532F2F4A57394F48757546456666556530625869687950307362466B5766476473395A70316A6758454A6E6236492B6B383469342F4B706F4866713957514A6F45665847346F68344C3758694F37467245376A3777363941674143662B4D35654C3947354A52376B33382F4F717A6E5567436D557730666F79585676725058715571616C4D553267395379474356492B2F78594465643156422F6B363950707A4C615965496B626A723579547478422F39476747777279724F5756674F6D4337695570466C3265325A6935706E78656B2B46377A7A384B355231566E57645A46732B67312B65506869646F334A59396458546E755533564B593256475633564F575A446671503641744F792B62586C51414834516E54424D4E526C34676443635074397542746E6B642F75652B3469352F4C43395758547A6272706662565A3358712B4F68624652377573534F73766E2B6D6F6D744769757442532B393058487754572F50726F4B7A5058716165314757623372307274304F5137617250586C462F523358435554693455456B686A47596A75654E523330782F75796D785335765175535864555A546C725A765374794B35586C4B7857374F5859684651684455674D6D4941624E42554967553650353977515A37654F424C33493357486D3373746374397A2F6B387373793265764C6B65446571616A626C71374A682F4A586C6E3561657671722F336A51623532694C344C66634B7A6279593066537674774A5053713666353538614635316872746F2F76446449354969486D3934304D483065526A6244416D2B484248637A37365A3756737A70304B4B6D30466870466D5866566D767A757171533238704C4E514C6671584C73653962466B54646D32333334584848694748555543636C7356325A3271504B74757573303465373343386433504832463038676D364A52472B4C734A48682F36466A6F5848555A3176666669755761764B536C70557151324C705A6253374E34714F7469766F7979747835437A64536D646672376D73756C6D2F63776D315350682F552B7A34633838393275414F774B66316C64583644435732497735617864726272536A6C304D7A774B49495351376F41693742457072546A7569342F5964664C6C366A794733527A4E7934576D70585347326C55722B524F684139757551756D6C7167754769785046564D3271656F2F736F46396C726A4E6562643457457768427043446C45496334784645643243396272695A6D326872536174585A505A6F63316356344675325A636575427436506357503475624A2B4E3831677048497449446D643657344D3543515665452B306375376D506438495A75547850724A5831484E4F4E627A46574D512B6B4D7330766A7436334A584C3870755532523236556C684F5A56414434706A5057374968694244546631696B45565A7347326C314651327931717A2F4E624E52326A79687736616B42502F2F6F33494D50636D2F33364557492F6F2F594841364569557673594D48592B34645A61315A3631537A61705854472F547A5850573454706A5863556E6D717066635230455A6F576F454D6B582F416D686963734E62484350536A764D6F703961567A313368614A6B6E5770325739574339707135363757586D6C5A39352F4837426C6741614567443734457734556D4172364C6A45446E474976652F385054463962566E7439576559566D366F4D6B3461326E354A395959532B7558486734436779674B474B41776A49676469764E782F2F67774337336F4F61446F726A2B7A58705733637545635233572B545A2F61575A6C6C306151336C5A3768714A7535746E7A6C3533756548392B4C7475704165505365462F3930616476794261765630315A555A4E52635072645266333554395A4B74647648564B426D654F3852344C4F543534544D5077554668737A5A6A64566C656732704773783774784F4C75526D6A5477435A6B566A523475414C6F4166327751634C382F69434E4E53455545463249623234574747582B496559377A4C7976425938394F62546A6964473358776766673544765A344542446E616F4A70434272512F2B734D437342356A796F78457155717A4B4C4A766D62456664776568774A4F7148556B3866475556447834615069672F453972434A467950486D372F376D584D37713476586C6B45424C3271734C47696F6D474853357A61555A363638596D36723968506D4A552B3739683669666F443754545A3663567674685A30314331703163787056383963724C3179743276544E47394652414E41486770346F74585368554A68364478376D50786759526D2F6A4C2B4F374632366F5436332B314A6C64532B67556B61627947666171374F594B59506F38523233656969733766334454587471555A6841492B36312F33442B2F5154326E52544F3752564F30706E54576D6F707A31717337766E624E496254526E4D634A7A43454777684B31615942463059643762487A766F7331744A59336165665A6C75525A6A456E714871483241654C4D6974554F4639676E4D4B62626F383574564266586C6C2F5374663342672B3347716A4B486A492B42694248327969596B4A5834516146624261625730346135566D336C724E677061714D3171727A3234774C7261752B39374476786E6E544B52692B6C3833435A774569637149584A31416358735537516D55364943484641734C5656506376496335616177586F3531386E6753695266554D4C674572414E4E76762F4251635A4E435443684A566D56475878563133784B672B554F6E4F4E624C63412B673777487869544B4C736D5444386D6B746D764E62712F63794C3742706A4C376246706B34475A4F51642F6E33493852366C416C4B57327954792B562B304473477344374B502B31356A593376352F64384131694F386B472B546B4D4D542F5055697978514C68434D7A7A666D6469456B2F6D554E7169376A51425935794B49485757434D4179497469554E493843374349626750653378652B454C6C424F41432B4E356D486E514F6F446A447931444542794341466B3839376C677341547071565262636B5942726A42664858773574562F59305657357450646455393747656C584E62394F5658745732342B787576687765674E777A3452694258494D534344686E414335304D784149365174756C2B5A4332495072315956724C345138543773506C776541454842794D455A41496A3776396F77416D7045726B4767593363493851514949785A454A68655554497A542B356F496E3653436A6F64516463586B613779626A356D4D6D6569654D655075747A5A4F6759564A7A6A4C48797566566C7837354930687A616276694E5230434733472B746D746D765138614930526B49526A3475507059574758454F494150616F635566355A734A66654F686E69377257664E713035464C62696F393131487A61764C542B356733506A75386467474D5750425164523973414F6B344C4D6232482B4751595868324E6A4939485061682B775943485067614564687A30345272326B79573065305478707538592B6E6266662F4768796B334E6C3365762B62526A78566B4E6D697536566C3970576648744A333839514F6642686F353568714263757968394B4F34676D6D45456A72534E3065692F2F396A45414E71534F4E4F4577534F4B4574773737686B48567945324B4A636A3050475A3536594837315A63617A3237662B32384453766E3961773879376E38777534316C2F63334B4C64304772655A48396A393067424A5A74544E4A3541495867416458495A6A595A4C3955662F454B4974436C6F36774B4949397A454B37676D4D6A7351324E5252722B6877327953724171793179636D53446B50553534424638456962654A4473434B754274346C774E436D486741385A4466315A776331754D6959704C6E784245625839734C63486B7566507969767255354A706F526F6F30473278656E4F4857674539443551796342392F4B6F76634436506F335571386E66756B4979586E68326B2B47584C2F31706D5054546943644B51457A5A4F536B5479337638396950472B6D45586C5945483156737561734136744237674C444152585633555957436664774C316C38706D696C7A77584D67475A5376795134584D5041472F4B307A6E58694D45424558564F4F674E524D492B6A35643065586A3368346C344F42454F3934674655634D4C33396D4B34706B495557744B58392F4146556D514842392B45446E633879515167682B6447454B644236612F34522F59785477482B4246334F786D302F6767364B784D684C79584C37342F34664336506D3263694F75783341383851537A7844336E415139523968456B7845616670587645576A5068344A544C44776B4A2F555572674D7752586C6C4B634456353531736963456F5873596A3873746E306F57444248636538556E46366766434236384A7565426B4A64552F714133464B5139586744364C2F714F7A7258584A5A767062457549665A4A646A557155343943645954624B57413867426E47736A30547065424D664337685A384B682F35456955656A6D413133317334676A664358492F6334327977504841364848764D467158436561485339774D55344B672B644B674842316353327A6777644B57596A794B49464B4C704348394B5058517348384D6F6E6959755937517A41727450626D666564464F484752757442774866554E6F442B434D50454A55526F5A776730656B636A7A73686C39657A434930517551546A43684E7541444467666A4459522B6B5259674E314957394C506F5743372F4A416A75596278647431596C7151754930546E50494A446E456648385138686E324233412F34585A5257596836772B4E436D587235436C703076415168742F5356475855792F38654E344E315549597A4C7253416832384A5633486D694D3953314F4E7A6A315753777768766E3462756144344431735A4F6738523668523942514277347A6639665062354F575835612F73553771574A793671567179302F6C4239476E4A4F394435517964454D596E3176587A70574B39476169303766394F363673326D6355594C684D4C686F4939726C3553646B7A4B78764D6476502B4978484D4632314767754C6A436541476C4859337A796B386F656C766752516A455261784A696A69634E796859556A714C6979573946614B454151423942545868523362676C33684A4763567A3042596B5333415054436461356F652B536F6C4733473957546A4D66445134675A7239634C6C2B446434436830646B677156656D343748704A57535A6F464747356F4455696556456D397739454D7569446532512F48505148414E393030674358654F49484867502B41483054682B44344A4234496A6451456C485365636B6F2F4A38476D47455051614F4558734963515948336779474649506846776B42794661495145534131494451576951515164476E454444534E6A49512B5175756B623136446F6165555048524F6F6B3944464E43747A3270587276334D646D7342774E4543626D6C45346B596E785556786445344245596A3143414A72797A774A34747A6730635367306A7661506C797652754A63324C45504568386347714C554A42774A694F41696978796D4B4E7055324249756752535251426E52533478515A4852784149504149615554496B50396A456663774E527530684761556A6F4B69714C316550455559326E4C6168544D53444B496C4A337351535162396F767449634D7A35644B4A42516373417A513236626E41476A59484B49674753514867523453304C4D522F764A6F4A3052525935492B414C5156456241427465616A5476674849506B386F7934666569465963317051482F7773502F726B486965523470737A7772676C317877694E657969345469562F77436D374157304654484F4E4F504850483732704F47757352422B4B6A4F7A6E3079486A55743465355A3678564646694E4E436E6172354F73355A6E626C6F6A2B374565413952734936335036616F73616C4C755A4331554639594871526A514B6C5947796331496D6C7666344C6457426A77727277584C67423832524D4A66506A31714551674435773654657774494E61424E317868576B6F6B4C7469726D4A4538384B2F354772476843587176536B4458394C754D6C667966745569396F49516F764A4A5456496D344E536179487353536B576753414D5371414D303041454C3754532B4375712F424542445443496864647A6768643647777A4645774E466D7A74684930506F4E334A684734644F545037706B56766743643031744F4C3044462B77392F434E5A667752506E504A485948456B564B4334455A6B684D63692F41465176487948427374316D2F2B79353157554C4769416875787039495A6A616B414D69364F627733736B775145572B66597A76357662717555436F4B43314C6E31617961484B734B6A6E6D41772F65654E50314D4769343677696F2B347877534D43657234364F51495646646477454330424D69387748647A3034526263526A766D395559696B4B5849714E2B467431425779434F674848307342456B3349522F41576D5939395948496B706F364F4B50766E727A5167366B314455335171426F684E353248546846545850346F654553426350635541683752764A465778472F69337934492F6B77617754524265426C4758394974633168302B31776835754D4652463635513977482B466A697143672B75516838455271306F515067754C496670714579336F4D6B3979465978754F42494D6C644C6843652F33634E4573394C5447514D46325249534B58494E32564F75456C3845582F48765A78675053565945664A376D412B413958783350524952587343306269395332626C365A6F4E3652743879576A30476F51666339394A45664C4B4448395A7A69756C647356347971336F6575764D7761535945394C516C4F7254534439414E6A4F553966767352596A32784847675775364B754339564A4E4D4478346F38544C49663479447536324D4978624B444149674E69704274756F4C2B4452664134366E46426B364963436F6D52632F734F4533386C614B71514A62376846676B503341312B45656E6B71376A33453469376D48514D47795352556838446977514C636F422F6E7638494941373355796D4334734A4C674373665238494E724758444738364A534141734F735343756F32645A362F586E74476B372F374E74333932344C6B647A4C2B50786B443849337977486E534D54736B5050523835316E58506251737331526E4E35576E69577A624C59756E717570522B5932707A32526E724E5565355167333442724279396C4A7252746B4165704C73634F4B4352436D4971666E6B68706256634E556B31676267537055524C7547464A6D443444543873425635776C554F65476D77387A436C52383063422F575170456A4D31475A4D42796B51736C45324D6E325174564857517930636C4D67366B356F55425752796A4A545A774E75616C655230516E70417532495338704466674870595153446641524F78566A4C636F6D44447A6A6B3367456556467863534A5973632F6E68474C2F50792F624A422B5162466635457A63694461506E744671656B504549312B456A736478422B6B52655565764D6B7166655A2F67635449732B6548647A556C6A7653673575734E3758784164383850656B6658583938357631716332565252637335492B36756B433057376D66506E6A696444386F644D55724F2B52783344537577794E64332F70434239554A51306F484B4739396A36416965553966697671426D7256667837724562732F536F4F314A416163784C306F464A5139434466694C526F4434426374474B6375664168714A757A46594C72497A736A594B46527375506545416C427352516A30436A2B385A6F4C345251355A45506371763531432F4A4C6F45695462676B526C4673482B45794D6378346C6E4230543338493761487339714C4B663046675968433664494D363043446B4D5A704D6F54383070356A7848744D777A514A2F31586A6D556B364F557236316E567A66337A625856356E6470386D37484557586657706C576C4E316F36662F4B46722F7A6C33702B39394E68644C7A3532772B2F754E487A4F50714E466E64756D7A4F32694E656C4A466D58716871726B613565536872486D552F4F37367137363654634F423864486156422B444F4C33667541654A4C385639687A4B345575304671497979712B45723453574143474C454D686555414A325430624B505A356F4F64584C75354867454465435864773634755A66735A31415542756731364E5069664153354A41776E6239484278533930676E364C4570575763695A78787477655361475269686450444C712B664753776C5575516E6A47417753415576522F3052426A305268473565365245485630366E4156424575306C47486D6E7741377558742B4F59482B69546B35724964426A47352F514877414C306F555864716E6A7234316236324B546D63323036596F684C6C3242573244307A2F3175396C54513842364144313149415457307865476D69786E315678373356393968345A59475057426570494A7554674A6B2B424C2F7555564131586E49786A44516653495142444B52795249454B2B42644D4E666F6862465A73786F5978776651546F30664265395132642B6C4E39416951774535644632314C4A775A4877593957304B4B4F4F434A37694E4578373547396B4942344A4F634161535859424573484843493365472B697A67514E5238504D712B59736B51627367794D52434F4366675645636D76524D533478354D5946384A397A4F5749442B416B527746585A4D514C48357146434E6778794E6875786A363175546D356F53797A7579716C723171794B71575768564A376562354A4D384F6B6E39657550364E4E6E3739363462524F545836586765544E6F615144594C74306B6B56425234523361326475576A6D37586E3077434D30324D68683054664335617845706169745065437871454E4973626D546253557638696F79666D4F4359597751566634755175563243673169757038516F6E754F5278706B702B435A493241686E776D5538424A6934523046692B4134583371624B687276424259456862654D524F706F5935496D47786E306575424E68434F4C3445664E4659454F2F384968756C76416C3531335949702F2F34316950664941454532516A7245433041674B67676A7A5461465855773265655147352F6D4D35726F356F7761536E347A304D52766D456E536F2F627662733561617A48426669414E3546414D4F67506F41554731672B77534E7333507A7539515A5857574A7254553055723633753039446E6C4B6636574B6B3555385543497135757672336471306D77366166575664562F65644A42466A6A45506A595253306A6E696E3551524765652B354E2F2F434E5A444F52576A336C4D4D4C4344756B41615550616C705044476F63716873694667736D49454E315174434752433334474B454F335142683130306C6B32324642706542556D68703330436643506A6B35496B5A355575516F7A694A4F534A763379587433464B644362664364644966367A476F764969685769547843675462764149537A4A7741476468386745624245684278634E4A754B556E38514F6E496C61494C62794C527871344355464B42544B4F30615952504579666E776149455335436A78436D37493234396A4A572B2F5772706E63766B546F7136664F666A64575A3179375075575A35656F3868755A4F32493661396876727161414D696377564A47742B7A4166704E636D76356A4D334C3453423358666D763937304164527542346A7047712B746C4F42613545416B384D514E78457659693454466677714E3443534D6377676242436F4944754A393878353369416B74425535376A62684B4A30737666696874686D66422B796B504D445A51445043456C49774761685966306F43737A46504A4F52487A6A59622B584C777232424C3049316365584F304D7078545541575173462F554666474832586141523972416B2F756147672B4E6761684251354F68487234514C79674166632F3838616B592F4A544F414878506C4A5379514366415356323446466E46666B57444148686B596D554F744A392B657A46364B6B2B435875574C683856334F5357412B4B6C545149534948516A2F6E4742756877346246506D4A65643162576B794B70484F4B5476584C325537336F36425A512F644A7045655547776364416543644472733033613750714B4F3359396659697653614130382B48436B7A4D69313979582F50735259543039456F6F686475524641447A34483652436741324E382F49326747617855454A4373343234686B644A424E79787A69426565674832564A304F6A772B6A69714A47516547696A41556A2F6D454F3937487970556735775336526847583846594A2F7237636E455033444E51685238462F45376F34426658784767597877696544654F2F41704A6D364C616F42656349424F4E4B6457445355656F4A6B4A4C312B6A6A66774F427A7A754945303755334378784F417977734A37574542316C615767515447747579374A6772347048625241436A7649726B7878366C4B37615339753267334E527674795335746F702F76384C754F5A5063744B3670566E4E68752B396677666A3944634D58576845447A305535454A45592B6778497A49526A7A775A3179456730526E67684C74426358447846765A633479452B796C76656248694551414B5673524A744262434A516A337767474B517A5339736E63524D674C683451534477564858424A796834495A6A712B7842555076476147316F684261476F70716762304E4B53516A77446E3245727A756974376A53584454666C774B78674646416649676C346B4648457A2F78784F4E476A6C336B6D5A7A387278716B5857534B4D6F482F654B5A347670427863594442454439692F6A694C766830614F306171616E43494C366C43755542724956386F4175474C6C3455495670516A686677653571537850754C6A77344E6B53334568644A546347442B4B34656476504431742B614B5A48546F4F66306F2B644B346A395363426D6A39306B72476531486E354D64554F705A3432384D727071636E72717037587458513738774B584B5463796D302F4778504D652F2F3150596231387877306530624C366F3046454D55776631346A5069304C486D423956797864664C6F3334515454464B6F514B62554551462B6A73766E455877706B492B5146712F4C4D70396861642F63384F554342423144663662417078557248487368704C51767A706E52515456434C5A784E2F78433937476B6B4C335A425754483178674B63416C6A6A6A6B5272794C752B534F5477774852727A69623347424A6432696C49565443436F6633345242794D43557732453371684436454963386F37415A484234536A72316A376B43494F444441777332335845576A6B533361456C7331684163615064382B7A4342744E5049503945704A7172745647545A316970554F3759505535625172703630757662527436624D6A2B773477377A6743445961694C74545A5744706A79525470537377466943632F356F4A4C4B4E496D6534785A676E434A65352F307857386D4859757934307A446B334173334D734F457241652B5257452B7A6A7A51626A42492B7846363474484F6135336841396E614B516633666E7977776466662B446F47373838384E4C3977322F65662F53562B393538356A687A65794E3866776A367A6F4E6B45713044705053784E2F37782B4946586E6870362B2B4644727A7838344F5648397237343049376E55434B5445614641764C786678464D726F75572F33457A652F5538614A4638776D664B42663252544643723672384851684A634F5249574950726A72706365486476334A632F4350593773664864767A794D4462447833592F7372455554414B6855576C6965597A356C4877424C65694550384A68303453363058697149483241333351464B4D3852364D2B74446B4849784E485755522F5665635A6E635A384B7933436B63794C705775582F496578486D7058706C5644752F45304C3837657545524344364F70724F3275573545322B6977497568376C3532524D504F2F78332F384931703967774F31514B4454452F476330616650626C586D64716B4B4C74714244566452636556616266704674355344686454424D4F5A514A745973446632545030554D514556544C6F7978383456724467695A6A555A4E6D756D4E4A5556656474486278584E7653633970716935515839337A3563366A685A4F4931375152364E794E624A7A6F6A775A48766351464442487749544546365249654448496D3551524A6354707978776A2F76736E426E5171595467734B56784430654636376345754744354C6534516A3045307A6873485169376A6A4B3269775565505079367572766C6F7556614B453167434A32784851746B314F4F4379304E527A772B652F6F4E71593976385A6E312B6B7A4B6A725A4932704F777A304351514C6648533073792F72587936517A392F41365372556D7134354F50584E56317A2F7833672F34426E46487250714E394641584B567944554B4C55686B694A496B736742434C6754467175706B587352627373516A486C435375484C7667684D67656F742F504D66396979694544622B487458414D6B6C3368587A6A6A586E434A2B3535384A627A7A583546434F546F5934555934674778464930653934342B392B6549567A637375624B6D643132516F616C43587447706E74326775735331373676423257706354435A4B714551694533654E6535742F50786A39747169747071436871566561305655367A366339324C72334376504C6C73634E51587941625A4C7A6F67504A76414558476564793478504D694A2B5A2F307944783442396F386B486B69764D6348414361763831636C3170577A31717641542F7A473958546D73425377376E74646334377637776A504159786B786B464C2F4349454468483843764B36352F77352B5378336B74445263424E504345756849376D576E77537373637A2B475A6F2B507857593035445A63476D4A5878625067587051624668484F427949676E4C784F4758443042794F414C726E5954314754594E4B4C652F52756F73542B3272706930446D3957506A2B78306F78506B707738794356416F56334C75424A475A2B697A2F7674506D6F384236476C6750426F38795830476E686C59363062376E4F6D51323161776F3661362B6446764441647279686236784442444B43776B695A583838544A74353753635650714B39336A4772765371375135646D4E3649744C50784D76645368794866577A57777A47713678372F414F41537370687841634B7677456D73714232424E6452557954346A76566933414149556E41656A676D7A704D6A63732F524845425041596D4A424C4B48472F696959504550793453675A4876794734754976304C34414773587263516D4234454966556D4C517438564876336A7756646276762F35476657714F6132305138354672557632734F442B4D49453744526841712B497A314642636F47424373654948356B562F757550707A7039385358474C3837784E363749374E456D746C646C3258556137597136392B684C6E537333314A767644332F396C384F30336146654A3841526C44703365594569736D6B48505373796B69645445306F6C6259536573596365744A343338435064344C5670743454336D45566479424A73454E4A52743473545A425A64786D6E516A6E726D6253525033486E386263794353536B6134775A5862412B76427662386532546D2F726D4A576F326161325A686E4E57536174526E4E35624E6231552B50764132473048374F30415A524A364B3063384E5246674C515A335451366552707658724A6F557272714A7933526E6D412B64487530724161516B5A6B56477A55476157557647744759486761336D6C4536684A4A746F33396E6B43796554666232472F4D5448306C456B4D57776A354F334578396D7649386D51746845324D314E446C7741483270517978795271737876304D4C66755A33566566626A41566D2F6251576E65556E587A6E434E54626144514D796C754158743179466D7553504344744F776E7967385871796B684F646D473763487774355076504C3735316A57566251585576373236486E533674695A46424F54546963684D59396764474165414854484B6B2F4D4F4C4C34635243514677495036564C6B2B4851356469302B53324B7937633137615346306D696961496944766A6D454B68454E6A67633959424E3971344B4D6B5A70355967624A69497A48662F39545745397A71747A4578335032525366515A36496C725431615A44444C6F615854306D326154317A626442433543342B4F303877452B737A49434470666B664345432F6577423942766676434F3750714B444A4D6D743764577371676C2B4E32304A4D315A4C6130722F5A527A3352376D6E5244376734764B4C5642476F416B734F537A6A566B437473424D326B45376F7274534F43675448762B41685A794F65346B4743794D4855567949634D72434D4F343035694C6D6E662B6A3465424E5041426D38706A64304B377A696C51677745504A446748307338704D6E37727530725735656D79376670456B33713749736845707A31367635464135564478454C2F497257434669504850464D5464344D5535636F744A2F524E344F3446324D4F654458496477574144653768486147427943424A496B4767424237792F48416A5968574A35355A346A3854544C64776A4C447A6752766A6939694977574A4162456234496D64384B6578375365786A78576E675538664A627849505952495138734E6862504342387668436544366C4D52694369673048542B4F54653757657631304C2F53454A6C6430494C495267426D44773139446159542F37354F53323443556444714338467A5172494C5247644771624973716A5057616446725854544F6A6C457972555564496C344248544C535536596946676B493547344562664369534434777056736B5A41455555534F424F46653967304863512B78764F495756396B42666E687578444D63676D4E6F366841497555737334706866516552632B4D5544334D6A31534D5A5634556E3245364E524670375272715774394F5364766B687A7A576C586D2B2F2B796E452B5A4339436D6779634678442F6F6B48306A4D6C4F75496D5463486E79574D384A46775133475A3863502B6C694179773664343036765645686453706F6F424E597A3158374537422B55682F4857786F446E55547144304C437232677A524644577972774E4E556B6435646C6D566246564E38746D335053586E2B7869776647515377786E2B774A75354E33444F3973697338537079567A4A743252346C69642F6961486B394350482B6D7737595832715866507836357232556F574A6A504935484F516F3448467A7349674D2B796347574F67506739756E7436727A626671732F6D717034664B637263736C697A4C4E6F553972313879334C62317278392B41583851444C322F744542766E422B5666334841375A453355454A6B74584841524B526F596D6F754C593332632B4557776B3537457A39514142516B336B323942394D774E6D454238494B7948733768374D6E4833584344464B32464349667147447358783763642F64586137496239545266496D546B6C30364B4867412B75525A7546594249757343645144345A466E686B6642622F446F69305338314765597449796E4A3037766B68465967635139397A586C7253447542416E416C556F4E4B524477455875564744345A345376326A4573694958675244786E78384736454378776A444D5172435065774A435043353245425277693138514932552F6B4D2B796633766E704767786F744B4A3361324B656938374F3674586E747172384D377052395151586B65785A46773754395558367A43725756564448432B764A4D6D2F4B4D6575302B6D7553673054612B6F6F786A76666A6C62616F597969636A4975624A6D4B535945552B4341334769397A466E34693043654D2F3834706E374553346E513444426A3344445934633976434E356C4C4334522F354B75443352752F4449335841786C6E46564A454E326778397967396F5570485069434D5167726943432B38774F70666E75572F6B48434E776835772F43342F374552786838696F364762436B4F754D466275496E6C6966372F4C617848514C696866376A6C44393577454D6A795A2B2B68326161612F50356C5568632F645367326A414E344173712F753149764144714F33652B623544594466684E4477373144526163656435546C326E585A6E6371384E7357436E695550653361692F6F636A644A515073423758634451514A5A57436C346251363055654A332F6659555063785039486A2F555A5856702B57692F703963647062786E434C7854386D4164645057713376483450436E635043387862707A6A627554537255795531585A47785A616C6B555543706C35724B35746D583258377931614F4D75586A4F5169463470396F466E555641486C676A534D343744483545635173386B6D56584D44446D376C3072444F6374486B553169346370584D49474648386C2B364A337042734B754266426B4947397349685A78344D6C5668472B30444B5051526134356247375A33526F36486A75587258557034546D6B654855543238677249646179754F675335776D6E2F6E594467584F6252467976426B5137392B56524D6F466959784D7670763835515A333866516E7670562F79496A6278444154586B342B694E385453446276734557717743675246426E384A436144322B4B74634D6256616D7246365332734F4D50774338494E47506A45766C666E2F7874596E325A587A6D705776384863782B674953617054644F4837382B424F79444D494E774B4F71496279464D594E6A2B4545757752622F694C784B5A4865315968586774745475435359416F725A786933694650647941695561314253714C4E78572B4A7030674C7570574A394558365153576771734879556D634964634E736B6A565453713871545852344D455031525A2B4C764A634F58486B782B7646774846736F6F72476469672F78576D445766516E7A3349574E327457374B62564F6C3250665873346D6F374C2B623352476468663549304A634234614E31714F726A5A5570486D30425274714A587172796879474C4A61796C64392B796F305253376D67335966426D5043507636686C646A6A3656306B69597A494F4C6558662B482B6F385036516F754D3963683165706557643549306E37796D4352584A4636426447436443586E6641672B4962643032672F6878676B63733331732F764D4253324B4B586D30754A72566B6E74692B6B556C2F614B4252745771613678486D46734D4F71666F45455071743441656A5155754B4B65782B452B786F445948644B4646384236336E56496F436E69455363797767732F656C356F6175524B424D5739344357695178735462326249774945496D664F6348754F45634F4549784C336A535741397254586C4651415963595435502F766F54364855303035384739525376314C716B37482B694941776545734D45345451524B4A46344D49422F305834534A69494A5761643446455176384242334447336F3673495658676B532F456A73732B7A7747316C762F46594A7433486A4867456956655456753971784B73344A595170322B41424D516E6979594164627046346C42544B416A68435542423377482B525050687A7363686A2B3136643130697249516A72653158386C4D47547750705568374B6B5666307963782B6B6A566F6A74476F4B705377326365506455394772774258335170385153525A5A534351793851633446493534456F546A457832417844322F774933496F6E4173664D736568624F34433048634F367754645350424676495339785837545169517878337A50756B65426E65527946674D367748306448442F43566776676F763938762B3458682F446568465450494F434968384136324F6834456D455359612F436E763950702F507851395965494E3550325A646D64386D6A6E364E516244416430456E324D53415739793866336F76724B66543854744C4D336F4E4F6231477158567867644E593247584971792B395A2B64666B643942576E4165436E72356545346F776A7A384977572B4D3572494647376F503548697678386431682B495468535A6454513379773933544F6B6D37523559662F48565463674A2F33676C456F726768335A68504F515A506334693570392F4E61394E4F6364526B394659686A704A36364E3636617A42354462466E4659394158315950706478774458784C6C6747493749392B5A78676B4D41674B6D6643506933454848497232446A4A5362684575507A5551326744784356593467667855594E4254346764315161454733676B4B776F6942765155424B643461434475467A6134694A54542B6E723669574839347A2F4C6739625A6F35453263717A7631575232365765765677305164324D514A6F6A696D6B7079684B696569464A4F6A6E424C7A796459695244675067457534355566563048434657776D5177444A45644539764968574E75355864684D6E666F6B484E6556566E45347769612F674A30344A38524A4E64537563514A624942666763533544494771354135346350764471376D57614D434F743761416A2B5A4C472B75453339456E4D666F4C574755374765684A2B50526E495357412F69535A4C7A4C6B684F75456730504D5664434564784E2B39384B7878772F2F68462F7549386A784D5A2F4C7A546F79437575304365685737454C57492B4F6476344D3131452B484241747367616E6E6C4D2F44305A34516E5A48325842516A72724878437642482F414C7454787241366C356135626156455848496E4543454E2B336750725153494E4D6670415741394B714D2F6B674C47525936672B394441304D5162463844686A747A3736717A6B4E66506D6A51484F42776D4A30586D6A366F4B6C412F3447785876615943506532536A776D6F31646872736A754E53615A4B374D6332757A5769764A72326C396A493867796265644271774E436A44354244684F507543534A4971464D635162526E6144344C3465656A777272533077362B7343486A7552574A33575464672B73762B53714A68716539775546334B4E75484175374268693734355848703175724D2B3161394C4A7A7577785352775874554E525A4C6E55717A743234396F486A72364F6B7946424277686439566972794C7564556D50687A7A45726377684D78694C3768347464592F52514F346F4A4250384B615777487255544749533742486C414C56654B7934434631794575733578454D5555645642754F467145583846317943423962774B49426A794E51587267353937387534697177364D6B767255557139533674626B3276587A31716F4769627676687655496E754A4E49426C6B5A494A444552486579413645527846437A487663476952634A646F6B45757A4A43426338474D475045312F46484F43435633466E3945784D6572655576367335775530694A6279504A302F6741455747556747334F63397743344B612B6365447238356F2B6542596E325A5877767432356A374377754D6E594430762B6E646966534A2F4B46684F6B2B6D474A2F45434C6B4163393661556C334167336E4948776A3875776B4B3435486263694163515A344E4D63435349356A4E453730644F46586D4D652B47454378774B2F7345422B59384C6E6F67644641735056734D787241647A514D53726634723134416B6636554A775154377249624E6464706C414A7A39656A3942344A6D48774F2F6C4572384A2B7477652F626859615A6548447A5065787871714354716A324D5341574B4E2B62415063633641565943794B584A304E545049715751324139445856422F7253537554787A5135566B715579794B4B44647036323563754D4433392F4E504B4F432B5144486F516E5354446E5769794C426C58496B6549513751664666464E564868505548497850544F3357306779374865727079724C397357785071417830595231763052343735786F426C4C3056484C75705A55397933564771346C4937364E46586B626C34694E5632523574445037463779315A662B654A5271563552323230424E63767551362F47494F4A3957726D43696A7355516C684E71494B2B4555346E575434534A336F48496F4553486E4C3141415A497568435061436446555547626C756F3072694664736B754E782B61516B6D6E6247497878512B4167354C6E38385A466B4F4B536A3830666A764D5261383666473770336653724159584E6E534B4E5556572F667931704E636A484A37434B5A6C4379434958635A4C7A54765754316D6243787338707A707859666A6D4A6F4F43594249526634363834775355494875456467594156676B534178425A514C444678392F456B775933774B4167326C485042353363534E2F67465A775372554C6867437767784968773532534B707364534B354346776A69413843715148506F466E484F7352464339454E7351694478782B645871726D6E623652463372426F34723048453871626E5A4D2B76562B326831453555582F2F49747767385A6F79776A685363776836644E4C6E4D4B4D35374439794A4B367052416B4230526A707A33715354734A312B4A306F7756422B7A684E30374335547474456931466B5346716B51795A357768515A434D5744777979417773384444474F3956316F515A5567346C554D3679482F6C436D3468327335662F424669794E514F34426C7149593849696F75376D514B4E303465367850594C4E496E5030575A47776F3972684F30355361587175672B3570335242745565654D53785741413961566778724538416130486B374751496A41424E2B6F31686664726D61716C6A596472474B6F4A3761305847786D7079594B374D6378694B6D35562F4464506E472B466F67506E394250526965786B7145726D4A7068774A6E754A4F5550775856654B2F4165754A6D614B76523168503352512B696A4936506F4B79333876385A64733663786F71705A62536A4B755753705A794F6B6E4457706E545631316F71317033782B634F386B57483141654C695A303461494A6E6D79517973634B445249584244656F6B776F654B67657944526A6751697976733852612B534869515A434566504841696269474548746434375932396C69734A374F4D524152333461556F79486545374C794671764F564A6A58766C78457348396968424641545364704146502F38457A63316D64744A5350776D4B6B6B3154624B45784847516667664E4F68707737415153436550326B75573652546A6D524841726847416D4158354467414763433857517937384B784146434246464E52413145675276412F48685249354973637848774A5A344C6838656A696A6B574D794B387348506835422B45436E6B4F6568574250304170523469465541524755434163704558774134535A4F6545534F4B456B494967596876424470435948382F7643724A596C59377A6735724D2B794B733966717A344D354F425944396A68374130497A6943464970323468343149444A4B414C464F4169626C474773554E743856627549464C6C432F38497041544B4A3733654C42674E51704F6B467A634B41495549693930555233695A51455366494E6655647A4341634B4244634955446B524A43634B6A694135754B48783451684A3550455238454A49584A556F6E434441426C7744306141754A562B2B47396669464678425378544D566B6F38776F3374355754413477506B682F2F786257442F314B655A41454C3867653435666669323963584732565A506D3045676469354B33564574646C56492F6879714F3953654339556E536964376A6576304A4A46522B4F4C417153377072797135754F30494C4C6C476A672F5370486C4179516D5567684268585A496F79774973684D556630692B4C2F62384C364A41654E34564456437448685237673577674B396439303271373071725655686D5645442B58345647326965504B576A637446316E57387A4838535269706A4C7A5751326365384E3038724C4942312F415A6944654347624235682F4A33502F6158543354592F2B3348426A397A6D3270595574367577325662484A63506E6D687262626233686B2F4F32392F4F7A5A41634A39767341665651566442512F2F4B41614E534A545247554E552F534C3776634D486F684E416E4C656A597A765A4F4C547641344652314B49423335696F546F4D737549644E2F47482F7930732F3333744769323532732B6F63612B3046746955645037356C422F50745A76376A614150434C6C51625245506654694643666F4B4B4E787738784C787630585452324434576559344E64742F3372646C575933616E4D74576D536E56713051644B6161764962314B2B794C79764D51394365346D4E376D43652F637948534631304A6B6D5971694A6E6A686664564E71384C4449536F574E5A554A6641446167767A77614F667537426E313770584C6467766562733171717A3236765062612F702B385533376A2F30796D4557486B4B6E4E756F5431516656694C525573414C316957396346614142546741574F72352B4D42625A6634744E76425161324D4D437A2F7550486B55612F47342F4863735847513636554832515539682F35396B2F72767A69706C6B727973397531482B7966636B6C3755742F384D4B6A3849693363414F4A395649455A476A4C7952444B6A6E5956447671687774444752794D52502F725A5142792B635530454870384C487276752F682F5766586E54476161616E4C566C4D7A734D5251334B5433617661666E65352F3534384E56447A48654D39697747636757502B38636842684561353551724273514574774C726633666B31654932366C6C4B546858674F386D755348487167505650446532436479465537346E313352553546755646367A534867694E435854684B5A7859472F75375A62376E39786E4D6274476331614B44316E374E653358376274572B7945616A2F513378374E63514F6D554B7738686B34434430516867776737376846476F2F526D63627957626751672B334D63392F41397235377631313264636543466B50786D6F707A4F6D76506244626F50324F2F35654737587773504857612B34337A4A386B6A493761467A49756D554C70724A43306638453267664935366764357A3271496D384852354252586778654A7766377A79326D3430502B7964515746345752424D464234645945504C356A622F65582F555A782B786C5A52397272626D6730566A5A30336A37737739745A79506F5366507969744358553067387171795853696F556F4A525470716A454F645A3361775457702F5853466B774336326D7A4B69706634696F7567783761756E57455976524345304B5475634E2F6641384C5063394764714761684D59482B4F4850336D4241564F365478336F75773979574C6B67694653513963535063784169356570574E66484C6A6D706D4F4B767051382B726C4244704F6864544E30596376756F2B44746344756B365645724A634465532B344632525835765856354B3072765866333336485445745045376E483865416577427579444D4346546C41575255304878332F38477245646E42586E4246626C326144353964644D6556487A613952754B7350656851362F4E61394A6C4E61767965326F7A657170705278633662783339472B565A6D3159397A34614F302F5A67516D32527379626E44616E3330596C42774173344747432B6C77504862337A6B376B38365673317031733032566557317171574755716D7451714A5245533336436C6B573954534C626F5A4A6E3774365563305865763838746773514D49454B3665634831524A4167465755467A2B4C756C6755595637377739732B3156517A663631712B6E726C2F4936714379784C7A3136727565376E3377483637776D4F375041503974377870654C614B2B6432566B456169363236664A4D36656633434972507572503456737A76316C64655A48782F626A5771446F4C786352436E6C59655961474562786E624E534D366656694A426E4E6D6E4F36566F36313136543236484D37644958624B71545447565352326E525653757972507263446B3152693235366D32474F63326C2B665356512B345A66335834383470625A5174684F3867414D52614F494842316B7668335230646176586E7457693346326977356577496F43717A477070554A714B69765A7344793171654B437A65746E31367458334C7A6862344F3767666844496664346B425A456B526768544E52536A352F6150336C666F3868726E714F612F74627A4767304C476E586E6D3565633356467A51623168635A30574348736B4F4135752F47566B742F367A6A6B75324E4757734C5A336C584949305A37636F5A3171715A3355615A7A567243355974576E6E4C7868336873514E6846774270304F63364E6A4A4552636C5869784A576332335279336544674B3733566E44306A72382B704C6E4B64465A6231526E577575776D5258355864624B56547546503771314B6352714B2B70664F634E534337535531563636396F652B702F612B6A2F594F514436464F674D4E6965745A4C4169344F5558685872443935765634462F4546372F32706B34494742313835714D387871303836774742424969614F71304B53646154584F4D786C6E724B7559763137357063642B6A6B69484972346A45794E79525550344C70515372366F45394E466A6444596B37634C326C3547396D2B37393375776D4C65523268726B71733057525939616870444B376A464C446F674A6E5455703961553539786377474E597067323133663345314453615463484234623846502F6752635A486370474F6A76453442585030625733624C71776F36356F52656D5A357470353763627A57717175574B3637392F452F494776516835344C48362B357162656F5870485871494263465A6B4E6D553256364674545531717679462B36735036623137336750594A61444F36424E7934586236736748663470574A396E4952314F6A4F456B6F2F493656426C746C6461377634785346697A46425443467834502B385233424954542F3264705066477939356C4D7431545057564A356E586E616C592F3348562B72576237425073444334342F4C525471496E6A2F574A4E4F57576D2F677A6C3344773644674C33666E3659396C4C4C7A317A38307161465778664B4E6E4B55376656456C52787042624C37516D6D34367233795A44412B6A6A63792F5969714863442F5A544E4E564C3970544F37616936794C594F454866454E49366438763035434E35517743412B554935474C6549376976366933487A58573032526A463633446F5677376148303945674D6C644A674658342B4F7A466D746D4E2B315647705270446D4E3262303155747669314131567155356473633377362B485841434C41473272657149576A48464656524F68433347695859783879676E35502F6265766E64476D53616C66564E78626D325A535A6A6C30326433477242356A576E395638715A714F6F4373563550637035644D35566E642B6A7948507165782F4977322F646137626F4F4F3567353636527A5559435130424A325338674C3552705741586D6D37382B62704459704369793637747772516B4762545A4C5A5557482F7A395A665978443869527A396C576A4B6A5158484F6C6A58532B7375794E7453674F356A5858353362583532336F5161784A3757557A5852557A326E56337250375763443945462B4D54617A424A59434B4770375A704D76707167476170375170306A6F55325859644E4871705937466B4B614F642B45424F70625368536D705A6D4C4E7075575452304B6D5A4E6C56686D2B71574A33364F5845634358756232556B636B534D753066437A30646E44774C6562702B2B3233693965566E3774706459354A6E574652533259464F6B6D70322B716B7A55624A57536E314B476B68724C565371722F69334B3172357A5371566E31703477462B6272696268635A385935457731785052684542414969466647486F6963666769553933734673317361315657557A6B61732B79565631375358503373364237342F656F2F6667654D793267756C787175794E7855693470446F6774755779716B39744B4376706F435A39575A505373714E6E63384D376F6651414E4E4676562F6542513852675046352B70496B596C4345643456484C4E392F664F4B6E7061633269754264314C7A6C6254724F49323638446E56666C3353356D71706333484F31715853386F386E7431664D3656756176623630714C485366732F58586D516A4542695361694565614C6C704D7879714A6B502F4E745944793837744D4434624F7279544261333366475775765471747053793943306A4845325A614A4855754174676C5756434F326A794C357179754A565658575862346830566D3655686B49623549574A684E5445774D2B326C374F2B6935716F30645A7A515A35317557354A6E31556D636C48555541574C4258306B445456545853645575523639517474624248666B74737876546C6C33334D73657948727A384276494959384D39516F64644436515A41306E512F52486F58633675753755534E79477454416F375432797254316C78356671507567663076764D56384E2F7A70352B41597969752F747A7037593632302B714C304C62564A2F51624A5366685174476C70686B6B317136766D3074373142326B376D57474F7357786B614654734A6F6C383845784541457135775070756D7073466636696D3479614F396479412B57374764766E4730484852622B723452502B367335784C693163742B6E6A507971496D3156785462636E53736E4F587164446D51637A675748446F354C46656D424D6545303338465755414265772F776F4B4C65746357314A6442427979365A675639535773704252436A794148306B352F52436D6A474E51375A37344E49627162435051556C4345474A4D4F4F457A735247492F53376F713671394B5758647431354332726A4F50726D49625237685056676971444A6E4D577A452F2F39364C4265586F66447352375A524B3141726F465746313766644969414C375358425335317270316E72736C735532583031456F4F72575257466662585376575835375172623376746F594F30335344416869766477486F754243434B514567456457354368356A6E6D6443682B62616154444F4E65764765424F6B58744F38466F4E4E5379592F707748304639526736466B6D573872797453325A735870375A5748616864636E6D483338462B74476F47783157696956433837366B6336476E764A6635326E39304D334B523031644E794F736F6C2F7130615275724C632F382B47656531786430476776576C556B724C3030337132676C56613832746338677456354A432B5174554251574165626D5837382B6F374873417575796C39677759476A2F784141536A67774134464142706E645553536752757A613179384254446B77426F4E504B656C6F417673556F6456564947777A53316A71705379647472455955366475576F4C47353576343755487730755957716A656F5870472F757875684C4E4E38465863754B4C667255546F5855756868684A765871435369425246336C306961747445556E6256424A6E313075326376544E36466C4C637675564F58556C35316A71337371654244594162676638597A496E7A585369424E39796E636B50495A2B39386674793661623959554F6F3953384B4B656E616E70764856724252775037666E546B576144742F4332727049364B3747314C365354626A586F2B3061575374745551446E61704B426B4E56785132716A396857666B6D3878316A3063502B4353704E443833646F4F736539676538345343552B714F4D5864685150587574656F36744E7357684A2B2B627179684D314D53744E5854667552427459527261457169516656575371614A6751313236565A3357574E723030792F736F2B2B78673353576C4B676258436F52413742626A4E6354316E65705570416B75794C6C5A4C412B3156453576563339504A766F652B7A4F4758616A314C49346F3964416734326D4B354F75716150562B707630575A39624A566E4C6B4C7830744E44724C34656566734661773337612F596B646E6343464A386E4E30385A5851414C67396A47326F4E47517536716364705870712B4D4E6D7A714A70753441434A563052716C3145516D6576547A6A6D6D55513747537271716976466E686130714C3678744F2F42523669794D613959377A496148464C6741574F4D513861344556587452523071484F37444D68795A6E38315774787038504C57343139363479476F494E4D334C495745554C6D5953306D326F51665979354F75516F64794D652B49617941627865303664434950556E2B52375470795745342F3154764233526A57393668544862514F42796C4848632F73554A72752B74496F68783430744F346F6D456E462B704D586E357A666F45316575796A4C6F706E5658534F74754B5377412F33766D6E4F6171312F304478796A41346768793047336C30364A4F556D736E2F784E7349785A4A647879513363524434314C2B674178632B6F564253593164457A6762776F416C2B64687970594A416F74504875766A6C416A33494E6D4E5150773437714F4E3664585448423355714F714C6E7878352B7A68397830487A313868795050473434634954652B42333875394869765649746F5161316130463037496339433056735036637A7A5A745A3535394C476A363661317A7A4E565A375771705135477A5A61566B5655477668774A53304B796F2F2B3731423567505175787838793346516678557A386C2B44474944466F31415A364A464C2F74596149474E6C45646F3861524F416E6B427456596C39506F4D707A367A7279706E5531324B557964316C67486C536273336F304A574143594B4F7A556673797A352F56742F4732463832427138676F4A50764556484F49774B3033485846334E614B71584F437635526D494C716E714E532B357562387275724D70764B3057302F39376F473141717035597055394237517274695575634337626E585764637570326A64665564425458644371764C5233725A6869335465494F6B4D35637250496E5062715A4973757A6146503736366942615A4F6256492F55464A4C573151434B314839624F5855626747556255422F6B734F636A6256353638732B3839766253526D47494E446F5078526956506A676675622F565065713344616C3146354F68367A52646E353036686C55747178726C684D715157767071705132515831544A6D3842436B506C72306A72316D643236624E733275494F7A583148587762636A3947494D6F494E4D492B48746D5069484159724C7251767A577175534C656A63564A4A6E6158675A306E2F6B703847643552303130414E524D386D62304F745A4B366B3053633064636949417878545530544968614D536B707A636F727867772F7236373337754C655A462F5565486E535977554B4B385541473478316B515944313376626134555A5052584A6D4D376F354E6B2B616748566651634B4C3471416C33716F6E5670724C5550754F307A367956316C2F43313274705A3278636C746C51386533746A394F6550333736304A6950354554454957396F795250583458774172452F71716978794771393937623538717A624E70436A637641524E4F386B5347714575525449614962445874496947415642776D777A6F6E755A62444C5062717452585733667A48644F417848516D487A546A43532F696D6F6745396762486437487765655A6C7332314C5569466D4C6557464735666B39746441614F6E344D4C7536594E74796444364B7230664838574A53596741526E6158494F4A6F456144615862466A335639666559545450416235784134336155336D4E73674461356F58626D6E4E61465652654861556B4357676E7A4D7131662F7836446C7251356B566F6D4175324C6B76764E534930314266712B364933696534767A5670585376594B744B5A354B4E6D564337742F65747468686D6159563278774236322F334D4D6D7243644951536D4C396656325A5571584A74756B42745950736D43516E3834496E65595959382F3642383976716A3754766A544479592F2F7379706D62563035303136625558664644582B383679416469303968307351415258507957492B45796441414537666E7A376A6772534275415550344D524B6B77307932337665642F4B614B334334396258485873596A4B4F7748724B6130412B6E386236302B41653544734D67373376547170395972697131644B7A61577A5451625639576267425641626F736D425363344F4C714B2B6B42475738642B50464F76705779714F396541624F7261306D7443704F65747A54612B7A794F3276506C3763724D3771314F527658456F61665874357871596C304F757A576975316E37667670396B6E50343152514B50336F584E4B355976556E6F44314C42674A6569614F2B6B65415247665A3639493646495149646C5852565376534C4B7138546A565538747831705158313556446F4D7463764C72526F3835774779515141316152737159624F6D4752537750354B3578706733464449485142366F725A375552574A7962755A752B33484E303972312B5459644E434353657535756735416D62455A6F4B5941774D335A7546786166576C78627933367767435264444E3673756F4D34477A7A705A4A546B5878564C51413376636551316C492B7030502F77316566684772763451324A65347932464A367A546C4E6B7163363136414671714964705061687074417378455651746C4436644F6D4B5136712F4937316D533146715A3071374D62716D6376626279746F6675706847576F4A65664A59573637546E4B517157626D2F4B614B374D634F6A5177735850574F4553326F6F64526876447A2B3273424A536B5746653554624F7273445457496B56704841476A7A5A5644564633323238383854753946394A47566236496B634F343547786E637A3734584F35666C5758565A2F645135616A6F36464E4E6E6576706A325A375672636E744A62655337633565576246786133462B58616C61534267317479617041526C4B326F742B6D544C4C70432B7731303571304F2F6C47624853325A4A5435683943343047514D314C706A4C4C796273664D634B2B6630724369775638317731733373716B6D7258777739644C617A466C6F7177477557737A613351775764414F7068696B6B425A4D7A64564364316C456C7470636D746C5A2F63334843456A356D516C4B443535684D77754866783966556E5950314A6A654649335A576F2B374F7557706E645936447A414A71754147387A6E626F6334484C4435536A333469314C55614F4A6D656835324D76524B55665A465854566F6432363437552F6258636670315242617947354A5147474D4B4E5A327374592F6F71797450714B6B70346C426567326D625453736B2B6A33563367584A4B31656D4642517756454E36752B64475A334C526F7A464279564B526F5961316C7174783549325079743631443061454143666C7A5179534E35474936366F62426573616B426F525674575A594D595542685763725158636936616D6C7944326B2F475A43546C5A2B6375576B356969792F79356A635870486C4E43424D3670584350627051707355706664573564754F434A754F7A72734E6F7138415A347164634133474A59583076754D532F6D3757682B64546B6D44576D6E39383653433050465154554D5A54494A3971577A3231453776525332364B557A3636675356425442666F4E64626473664355306A4959666A716C4C6A52392B52744E4A597A30386771475552426A596B43763546537A784E6B37635463513750684A6C775633754933745A384E4E584E55684E693142343148727A6B5871717872536A4334666A44776E7234355434536E5976734E355569724A425A6C485965577357662B57703378366C77653459317650733442665A4246484F384D387A4B50392B6446677637354867554B51364365587A624C54334762422B77656562486D65445A3576726F4E486E41756A724C307662756C5471682F616E5174315973474846693279416C422B4969703866323053444B6A546A6842386B5741346450346951317379516F42396777544E4D5655554F59353754434D524A576E50464F56314C74393333765766476475396D6F3773446738386565764F48663333673341376A544275676342457039553446644F65737135616B6D43726E64687065597A52347A41636A4931456F463246617A774455632F3730316E6E4E6D76796D7975536D55716C6C45616E657658716F744B67593047716C355A2B655A74486E314A6456667247723749754F4D7A65757944485234416D7039684150477A38747846615A626C624E6339545733647833674545426F345551535031597948504253693071556B6D39737242465062743343666F4B304976524E4761684C594632334659366338754B516F734256574A6D69324665712B486A3968566E724B373835437231313335782B786A664F514F5659344335392F4552324E6E323670534F79695149367361616C463444676B4C2F5063656B6E6D59317A4F39656374486D64596F626259757661352F5A714A7A65544F6C4A586E756C31457A6A504544685A44526A4859756C6D6F2B742F633631723059473048634578424D2F6776355142446F70312B756479326B694476434E42736C656B587A31456D6C7A566537316642384C506861456C72576B53616E395972666938396238565975676E5253674C626452783552364C5142426B374A34792B71554E615662482F77784645393032554C6F754B4E5130615A34366342464E414276736C422B76564A6158357257715A5A71506E573274666273646D507239322B34642F66665834734F7675492F38704C33305065662B66306C7071587A473954353965573062314A48656362577570534E56546B6255434B583366584B5836424C697632663562704E6E38564648754C6655676D732F77446A395649504851425163753071394353797533527A74367A493631444F63395263666E3372387539654E623278737269704D71656C6F7269334A7074365950437268437164326C386E7262726977713756423648396545597046673864757859616333764477574D73414C332B484D75792F41353956717479526F7632553130724C374F76764F6D5050336D4C6A62385247587A52646541665933756333372F702F435A396174556E7039754D7564314779567A4F5435545546396F4E35316C71393550536A597241763052317556456A3046536A4156693870546D7271527A515156314430662F6F343376414E46794D316A48586F6F586F35713565565057562F727176627378667558436570537133565A48555567624E67435A642B4D597479585A64596233716D30382F4D4D51526870694A63754A3158574139656F53304B70302B42794739486C4357326148737650744C67472B34647A4732502B6A75756630725A7A56576F7865626255562F70557936706C72717155432F4A323939425A6F36326E3456616A30344D3859585549484348776A72543053483243746368435149776A32394A73416954683168766C2F732F587468597958414D62314844306C466B51506C503851784845454335552F41657042776E39716A6F3374306D57326B676149366E642B313747336D687944534C4238746A3550354C6C68454F55764949482B63677656554D445956617578486776573451714765655576544752745835725570307746744859756B5454584A4543794C4D7474684C4768562F6E376B645343734837552F4941596F6B485A536841585779336D4577512B565663546E476F4E57433630634E61526739654B355A7150716938343357476737477A744557784B4778734E756F4257636A6B63396831687779782F766D414630686937577035504D6932686B7555754E52734C2B693638655153324D426D6B48615368667755676F53487A7575764F57575532714766617161656A50326A5370546833426C6C6B4270624B345454323751586E376D302B3852564E686B62645A5941634C5073454F586252315855704C4B5233374A37374D364E4E426F5A6157583378325238312B466A345763534D76345243746C6B4E39674D6F4478514C656E32506A746F652B5639525851384A67556151374E4A6C324C61724E3944626436365474526734424C4A6766386F394D515553427865414F32726B6A4C5067384735316C71344A71517550584A4A4D71494869787337706758646E463361732F392F686432356C6E4C78304D454435453455516550667247783571727A3277334C4F685A696835562B705A6130724E364E634152564B35664848683248335037774F786F7945384C41744761686F2B773050774F513145504E636B45484D68586C344A333968584A6E5A587A2B3561645A312F792B3645336B4D35647A4C65582B6445426666446F396E506271394172417575672B615A7651413048664B6A796263617A5445754F7343693637625345696D3859365A39776F33436835774C374C7578614F6131445037335455506546336E2F3444304646705636582F486B614457433661636C4E384947336E7A756E7954437455307644464D697976514A466D646D6D306C7872475152764A32496E45744E6954734A362F74307346413765367641396A5538533635575A322B716B3169747A37626F536B2F62737A71706E32644162314E4347674D746F756834342B4E4A5A445A71735656644D36366D6D51554961424B2B573268644E3237693870466E337A61667542797639304741677432696C666442546144636E734F754335716F5A6A65717A544C5762373772744D504D4E6F30796A3439414A686D67594D344A36696F776A5237302F2F484C68387357355A67306671455357616242757272336D73596D6465774F41596F67443444354D7063624342356C6265344F74324B4A484E343479433777533879696D52664D2B55352F655544717658582F2F384A75516974334D6435674C78702F48396C78677170336571554D766C6C616D514E4863614942716E773257586D632F77767775326F38564451734E51504571434B77503033673959543059525639366731317072525874502F754347483434464849394D374A762B724C794F6562612F41347472615336447633345567676259766B62477A7A476F6F643834775245344C7459506557686C5A332F786E673954494B394D48474C4F506C4339436B6E676B4A64476D4F52395464754C4B7858305043575855506A576253485157576141796D6D47542B61316F69423867636D416574786345386B31506B4D69796F4E4558576A6B5067346D713179656C2F74776D7461442F4D7645594A6F4449474448712F50532F4178354A6C41466F544244596B733352466E6F435244567144574A574939494F4E55597A3270676232614A4474796F637979714148364E443359682B4C546F676448696F616A6A4268725652625944584F62314E3939344F34683379695950384738486C4C61513753454C4552614D41514C5967444D6C75476556786A654E704F616A4D716762312B7A664A4D46386E435168576C4A4F77754D45695A534978454F45344A44534B43756F6C7161666E774C414369706F7A7A2F326857535A61485556514656656C717A4170574B417151576C432F6443444D45612F6E2B7A666C576A75386F464F697A4547696E4A674D59305678782F6C72314136383944546C424852356D55514133376F64592B433032686A71545A6C4A4B6E5976546F532F33304D6659614F716D74616965634F2B6D76594351656939564779686A7942474B456855624B744A6E482F3070754A534D38473171634179525A6E6670707A5770416142444A4A5030785A2B4C326B446159463073694277497559437136332F344F6168346142356F4674705241576C4A7469675133634C574A662F5939775A534E557A54504C525041425265454B31365A4778682B334B6B6B77594E304733664250685755717663566E466533387064714768686434547A44616C46696C46317A2B395A526673444F7443416F524331314478304B664932314D357031563763567674576142677964707A4B676F7070496F4965445076446E68656E7253745062363349374B75692B6F4A6D7A4B374F376A5957724B38384A714D3248644C43537A4F4B4167493851794839644B4E786B5730562B6D53446A41596D674864676D6F73764D6961705276464832626A50682F432F39395166357254534B71613847396277325168316E734D41356630414F59354541704163627667597A753850767A713952517573704D564F4E4A4F6853756F2B6966583174477646426832364E544D37644D5A746E61384E37494D764E466644556639673241757534764566423364633146594E7A59414B6F6C394E737A73394775694C3839714E6C6334473842447578344D2B547768614446684555493753755753357576467A6659644A3573574B644A4A324C6868555743416B616353504E6F4356396A5156644F71537567326B3139764B6B2F6F4E7862323153323764424D3454452F6E353665677A4941696B762F5361746B777A7233524F52524C615A705258747772594E624E4A74646936366F58522F536773534D5551583433677039577530526664683146656D65324B4448524E6F4453676F42327174473739484850313374416F41672F54354A44674B45786B6749554C7A487A6148493542614648737968796274754D5858774A514877364D48474B68656655716443347A6B65613278576B6271365574364C795746376570626E37304C695153325552714B54543867354150666E4F53574538504A324867334D2F5067614F516F7377644365344D6A43356F314A553461695341653738522F55536148594A4F31324F554F6D6871534944794B53494F454F6F4D6379557055424361506A57714D586F564335783176397231747845362F597936324B53456B6F4153714D567A6A427649422B693973503472542F366E734C344831567556626C566C57676E467045306157676543472B424C6A304C714B714D327A46535231564B2B376D746266476A5A6F3646785036334351795566436B2B496B6857453145496F5A636D41525A672B7742454866597A3658622B342F39634441646F736B314D5946512B316E62343245727441383159426C75444436327A6B4975654B374C5A4B47755474567152635851506B796D766A57422B467673797A774B4E42554F6262623659526345677A6167764A644B585551396D5A3261722B346A323348334D4E7771452F537366484545554A755641305862642F4964394573324855652B685367674D35446C312B752B7158423539446D4A51594C2F397569307361326A4D4F633846622F766A544841734E6334465877487071564A7A36346B59566B49732B5A65455A4436424C774C73466F73654431676A3950505177556A6F716B3633517A576C534E3356626257706E35597831356666393758457547477773344556544158314D534155534F527A3237596D4F58324A616D7248794374707844367257526A70484963326B6D4E4F3339412B757430657078534D45464E55626F4842657A7970614741506846466A76524A2B39456D7279676E584B582F7A74495541534F48446352617472614A316A6845364252396671453132725A7655766C566F57306E517846477148436E326A6E5071794E7A3348305669355742514A43377139784131655A496543497A39353472354246747A76472F44545043436B465061303868724A4A6862414A59697659396B5247446D3776567071574552744D45436B692F6863334B4635685959444973474144356B56344152472F6537497179577464465A4A4F673172454E6166314A37476850556239536B323966776D7A544F4858716441513146307A33424458696A35614C6B6A6E3776336A706E7461443456306C5944736252626C5746525432395758574665755474434836654E52394261452B496A55794150433779345A2F73454377344552774E513456426366424D4F79424C2F514A653453735647307367655062716A7145314C577A5332584A3630725A614B77465335614676624165596C6F513148555839516365416354636969617A6F67714E426A6750557033574C5059565668642F5535395A7237582F6F7A47684C773038507A79325743626735454A79717537737A72425069415036693877486F496C5137396731312B64423069515A712F4561796944454F7A4956304244536648656C7247596C646D325454315037337841504F67454A666633454F66676E667A6A694155316F36463445795753626E6D316F333777694F6B373779484F6556592F2F2B4B2B773777754971723762556C57645571726E4B6E4A72515041726A4B6B725A72315333336F7137646C565A6473697A5A70684D67425167704A434730554150426751532B454571413045784E414464736A4148334C6C6C6C6537332F2B3836733167494D76386C6A6656776658393239642B36554D326665633837634B536974302B5768634A504649536A53583235384F6E62786E484764693151566336434F457459573038537231394968726150504F487745724539714E73437570335061707558594449432B4E537535526A4F766F335258734166324C38544E35334C61653038346E5A792B4B4175435135614674666939596A33304F55304A6272576F6738554B79464F7442756B3459427A3441746676477370722F4F71384A4A762B676F62695933415141773650346A2F7136495A3541687648345A4C6C476C4B2F4F4F53562B4F487A4151366F3667536F42513931483845463773693336425941473056486C73634457357237595231532F4E4E58615A4D7273796573577869334C6C395650772F496C56536A5069453652715435544F476E69783273752F6557684159787659753964674C725737525235717A7A476F74322B57556D365137694C5953486834347A594F562F762F676773556F6475366141417A324246505763495A56733174332B396C2F786C506D426D344533576162766876563443635830656A6B62414669504A7632484431354D4B4A302F727173456642614E45324B7069613749794C3235415743426D4E47694142796F612B6B662B656B55454746685A7437386A7764487238684962674E4B5A7171364F4E6F76726B4566623961555033447A5955354B466E55715741327635525259333236497173366333627973682F4E76435747396375304B764F636A443548456A612F2B4F62584F434433457856796C3964656B547972506576587A7A524267494134614767575A5736344637633442334479754F4135347570324B7A797355416351417A78414545556F5765487052525571337833565955584A2B307349752B39723571765877764856673356694C346557425865435931384E5A4F6577324F534E59337772646C67565865386D744852774C462F4444622F43366F6462347174635838487270636D317A4844362F7270436D4449432B672F495070456F757A2F35686463464C653764415A626F35456C45774676584348507037334C30442F4B674B335048352F4536766F3938504B3062593961412B7871723048653839346650735562777A366F74543267733430344C32683135564E652B6978735637475A42735231455250347077617179767A3035754D4D3573574178524A3338557268644C72754B2F6979434F556E632B66512B48564D44745269314C7247386C303359366A794B4262386436744A486F566D4F4354622F38345A732B56337750665052695976356C61545530356B5A66427769394D75326152614F62545A50725450735658362B637376344E782F4269666554776539474D3646782F366A694F5A6A622F616E4E53705461704F5639564D54742B585448646B4A6F35385679325A586978486B495731367950736B6D73463171787A524146704C5A6F703157794577594E7245394F6E68544534596D444234714F366D4D74667139596E34424779493832416B4871644D4C77314B7257474A4F62544650584C566174754553314E70666A59637175694B3556543741617A58666465417877374F6B42687672384C74726C6B45672F305A7A594C6573553659675565456D6B4466623239687A7250696F52583461556842656450747250424473787252516D54342F6932362F3439646658716B6F7553344A667955457647574173734237386849434269583043436B466F4D4C61376277356A5055565A7232724B5273755074577279376D6848654B384378344B7448523468576734756B4259733930385652387971656678414371794861562B766759696A7762513965536630423873676A475A6D45323939523678484568777635413936334D346A697166676C6C5930547671613158505A33646559446474356F73333037444567693938442B7A484169675A35672B484B6B654B3937666A655478583744477365716F627250734A75625458454E687448564D366659636B397A484837496E2F696B466766413679584767554F424C41443463335A312F2F39666D42487434634C4651694668394970415476334744696F4F443951426B59756E353361565578544636414A546A627055737936702F37394B6D6F5A5449596534714C64714B462B4F374B476D39336550674366437A474A44656A646968647933684E7932566D4A49593444466258546F3454416D6136584869445441456D694432645572575A38626336667633676E67765575646B4F6445617A506A756E4B48316B323939566A4F2B794B4E7A77336170424234425173597851434D725038463131787A56436357647A627656555830354B54574B4F5A555A58376D39662F426A61433877794E5A47432F7739305377303448464F634A7865466759666B545444696D7545546650667630455259457964797642464E4C733153725A6E4B45534974655443764C4F733961644968366E50554B7A69422B4244345631764F7A6631716A3666716E37345667674930755964577942486A625339464171522F63396459346D346C597A31352B667366474F616C617333336745424C77422B6E48444A62376131685064614A4F62636B7266664B323537326658397179654A6F744C3746476E51444C75505248435A3046597A754C3435625065645737352F4D51546457774D58477159356978486C37684149666C41725963506738714156772B72506965503751747358446D443638715332724C5631574C6F5761776147785A2F4B4C46346730585163696978634C51544935662B546A374E4B5A526E394B596B3777713833787A2F71664B774445462B51793676533575594D4C4F6E45685277764C782F57493944533575574D50423962547261374D702B6C33354D61567A5A3351735A45396939637A6F645156456758704E536E5075524C5078346338326F6F6F6836344170562F6478354438513450497868455A5A4B6D536159454A6968367A6F6E4145686A4366454C693048782B6F434B626841465351657075556578664735346A7167424E4634594E522F724468616E763344754D5A634E6B6730677A56774D413070566254725957524A724A636D4658415A574D3950565252366F6A43514E4B704A43792F6B74672B656F58486B633869434931506B4E704446773030526B425A4835614E424E6D73355A4C35656B394267514B736F762F66487942497A6A414B684F4A545A3734443130437643645743466F72724268694F4B2F2B4C3652657772713536485A735970504C42746D3432547A635A392F4B6754424E5A4C58726C38666C6A305442537339416663515837784F3644345A3357574A706E5A47794D6D3742414F6B70704D34797643693276435A5246766E417272495A6D316D636C573359664B735250386973425577416459754B4C7242546D475A787A59706E6847563276693463586241422F38416F7A587839704D6A372F7A54395179336B49535971304C73427331686E7230392F6E74486737764233473176784F4B43334A2B57484156744A7658334E563674784A34542B6C652F39626A6F2B734E5357754C554A556A6D2F5578566A57772F7234744C7745575A42384F347A3944574A2B4156425A6343766C454A686B4D3565566E494347416F7578396669643466762F627A794A4C374C586779736B61715077346D333543545537396737636470366F47746E49354A49356639415A4350756855494B2B76542F4564557579676F7770564F437753386145623068766335653246474F3953426E59702F765436764454593954587A4F5A4E7274556C56713459574F534B6B4C2B5142783967446A683966782F715254646C77724A4D7432766539423948326B513045413846616B6657466F317678766A4477325951364531356B68787345586D4239516D5832782F3263462F4C7457442B71457762787244467442595750334A42315A3174385A57614352514E6856746E55695632462F4E36373550496258336B456F4E716A3246467159652B632B686832724766525261574445514D686E774F4769566A72592F556A76306F716D5A4E5969354C7256626235484764646D38465271384F4A3961436F6C6A414A2F30757471737547585A2F5961427A586D42653365465A47562F6C657858746332462B55505766342B33696B4B4B44763261363351674B4939554366754670746C445562526D37615651767A667475704D6C30345A66305350464C565A535A6676356872664A5A656E7453534F3735617630337067514775634879336D4B6B76674A3569675252514A47526153435A4C42362F2F474A70503042503077695953587A6A64527854662B39316658503351623335556D6A3939516561463571494C47785A4E716A474E575A4639586B584F3942576143575761324E4B4D6B54575A4B67737130636A70676932474D5A5769763136674434657453526C5167673133337A4C6146735A36666D396F794237567141553476716B636868504B6A4B43344952686A457259425474532B514B49705459556A6D3451586A4863622B5855367A5A617A3875377265365734696A4A4A587030753167752B417575687A316A6A744E5942424F357A616F7553476F436B367446774F747479564662755A486C5255386C7578593663694434756D707A49496439484E444358413451464943734131507A4154386255476D4C59704956563061794454544F6D584C317034414373564C76584C636F4849336F49316B6436636D33714E4B742B48373874687933456667676844693553704C68634C69444F5673554E374F41514C47414835364E784A5047342B74776E2F304F3748747A326F54546764533937706477756A7639784B76346A584672414E614234336A3234396364502F4E375157586C3275534739584A74656E54505A6E44752B5644756C326A6968556E644F2B384930364C6C566C384D71596B7470436D5039505A7465684D5A466F53456B6F695036544742395337624B6D6E6C527831495556676B4134385779427851555371625078323832735064524B5A7637397361577A754E6D637967766E504C326E42454E7569537A586E746A2F51462B53524C6969394441656F432B474656314D4E69374D395339522F453876764F3179747658586D59756E47343254576B6F47464E6A6A4630383537794B33504E4C44616D465631363465736D4938726B4A7263596F612B5A49626E72426236315479343148326636674F646969767758726752367031526F594162304B5842357163616A2F41504B41537162564641535976424D36797145346A58524769554B4175465A44424F764248796B5049507A3843745A4841784A72732B497336756C584C59566E7745354661786256664C3047536165303532742F31625A6638585572446A3845427077413437376847483673527862364866674C66674534542F673457714C62377A69677548396B585269395967366E4E614539644F527739514C614B563946357A4E4D72646F5272514C724739516A3674516A6257515A423332617338363661726E4B38494D6E4433333471613848456F614B6F6B733457475438525831547872395872452B43646753374272452B32704964737A703332765572506C5A386C39694B6F355A63435A2B4F41386E4E63396E7756687335634D576930563966693171477955784D34786373466F47456941654A44524A70654C7749414E5145464D4A592B4D682F62505554767A3358584443394A6D39636858354D4E657A4850413770746342754E6152306C715261394A7A6C3332424B624D324C375370676F6D73677152782F4D7146637A5A486559416D3143762F6A4244514D5933307A42354D42536C54313258454E32685372376850525943677861474A4F56376A5177425A2B4D777763556F4A6E745A614D616B567242307851535977775A365931356C5938654D747877694A624A6F372F41757446527748336F675173416F766674652B6255476B597955565573696B7744527267305A696D334D7037627A7A47455A6C656A3463376558466F49314D53774F536956344472773436655934722F336F3966475738784A445470523754725751584E34495978595758472F612F2F486236526B345972337A754A3965773945466A666F496C744E716256614946516476675158672B4B592B644564334946684A3839696E6558456B53446A612F58523764435A514A6575553844414F4C765739393242614158685A54432F6F5A3643454251677765394A7734727A683746642B4D6A76376C73706634487065724A70566E4A706650696171426C78565A6C4456704F4265494D706C6B6A4C566B5171755132557851616943304C46545371566A504F61767A6A746C634767463668414E676C536E366D7344357233542F2F7942566E505736344332772B6B424F38454B42316A4C4949374164694F684F577A774849307051425372527878593459692B3763706F5637696657435079646779724D503461696A4731374C2B3434394B332B39626C7156646D4A46356F54537A4C534B544C615856694D4D79706A56655A4D3653754C4C4D386655356167713569567867484A47596C744F516A73586B4968724D556D73707978396133393964474E327970724343395975687A4D487730682B4D7769444A6E5374442F4476427065324B673759577A4158695056517A38447839707A454B7258456572424A766748437A362F323463437A624D324A4E5765724B7562794F32327A4770592B5377485174325243427435586E41646F3063505438676C467A7A79633868682B7245644C634E4D3773374D3367427877756467686A6A612F596575625536323541466B78476D644F6541686D424A5348673841376D4671746E50635233616A6833747A4E787067576A72686E5233444E664744573258554641414C59732F5473306377476934792F51674A7852633538373169506E457573542B6A49502F2F4773733855337873446E353154587A4269786179306A6B494F5259653531367947456B557A68716974652F784F446975326E7944515134654A7355614D66416A78762B6A444F574C6E614C39667666564D656F55685A6B5647576D7452556D4E65624B4D70707434344569494C5549426C6763717949514E714C75634369373542432F38733674706956554F4771696C72564A4E6859706B616A6A6E4E4D6E414E6F735176425769364A37456538686F44724B6E506A6D2F51546D38742F6C54783972465A4D5479486B596738636651615233423539696B65474758452B72717345573147747266716563423679324F33775430486F684654416F482F42757639394E4F4A3957346E454F71464131745456366E6A6D303063305769646E37696D674B79757A4F7838367265634C694461426436434655395850615345354C724E59736735564D556878665643377966776161497338376C384169744C48644E71416C7A2B354D6E376B53695341467769355A4E394F4F7959436D4E396C45325457703631567777574A414E456566796F4C3341506472334443636E634472752B787343782F784461466F673041545370537633696A6E383766505461304D71594A5365634A43356C63315478332F6665507936764C6A68766C5762537173783069325A63677A477032554165746F6B506B73686B585359696965764967774555336847704E694F2B54512B736A36336A6C4B364850336D6457492B5736324533446F347A6750584E325543723332782B6A6E4C694A306F6731774534315251594A754555646A327145397849723962444C457541414141784363713645585736636561632F534B59324A514E634D66754F414461366F642B4D61314D6D315932503947636C566958506262656B4E70676F424F4A6B6F49613153704C4E6D79676C4E5938446D69787A464A31476C57324445354B6174456D747564504B544F45375871423958312B46766D55574938474F4F7547616A687A2F5346753079516C4B6F697145396A72746A764170632B56344E684B396C4C796B3444412B684772545A482B6574454F773343506E312F72722B66556B496B6478644334624D3558463669732F49594531497175313435625537795A52723348376A6A426D5639306E734F673866586A2F384B7552383242557742364543356B36647842623438536E4E572B4171715649302B74475A4153755572524D4A4C4565764542585377744E44694E432F64745758467269305931474A49723157762F657663584953376244554D503842457053722F54775A354B2B46784259507233672F5679623346554E6E4B65304D42357337693438506F794D5476476439317A393665575A6B5A585A4579345A6F6E4B4D7065446C2B7446477A5A72344D432B646E5448695A43446F67587A68334150497A384553785031676D787A6353736B794D6D52624A5A722F76536238645847614C4E325A46736556343842384C586E63763362426D4E6353313555505449417030454433544F5733396A6E70717866714B71647031706A484C452B54325762427843665571566E4733614A614E47514966334372712B2F357954577736364D736D556E3147765062697542757149527834346D3457564975635746364B6B2B70506A4F61562F4567577673394B52646A2B714C462F4D4A6757576F4C4245777A4B7476782F71783552777448735A36744572525830396E4A386A5A41382F75337A79326B697647384A754839447A4D38354E71314732503364484E627A6873463749362B4C724D49624C71343072364B4F7052786676507670317046646B702F4977386E787133495774555732354336667A4F653239486F6F346775304877717352366A713858574D2B507750556151496E6D747159442F47676B6E457055426774453445417141522F6E44587973754B43385553356748365761536F4A445A66372B305A732B6A6A696B4134312F5471645439436B467233726D6E6B6D6C6D6F6C56757653476E455455594E3338755061633065734B4F61325837514B4162686A64586743724B3748524350424B585A326E71706B625178556C526E774A724C39767930766B6D4F417A434D657073623731753479766238346533577936643863726C424F506D4C474E6B4E43614B4B78493434525053492F5843385366616A58423534427534476F4B6E4872476466334731426A33636B786B754335365058596F66744F3174576333464557746E4A304B69515779563132657672346B71695944506B544B56535571477878367A57694C4C7245796532787A486A7837565475796E6157716E7A4F4355794A30514D4A7046546E4165725A3967665553754C364F3954454E32664631757677374F794742626D5A616C46642B77734537517543686134483134796F4245514C7277584449565475486B4733753252734B6E6579734236454D59617848365354574E774B5A446150724456486D724248723454646E7377756B575539667050544B704B616370582B38345A6A6939724C6132513847526B6667346976482F776E57413157457263474B7845304F4B6D446B682F30444834574F6A5376586A47307634674A5064647A6F51416A66734E4770734A3733573358523179785172626F30746A3076716336517469686A63374437534E43426867326A4431554F4577343552796B6F74543476774F483778507047596A30615958776A353832694650397A54646B426A72336C6B68324747326F6E31356E6F3946584F4774475A7977577A5776545170736C572F625253485953797839346272674B786C444E6B425041507957527443327A5A30332F307A357466503974614747754663574667444444396175664864533249623441396F6B7570304B61737A443672767669537A6C5758644B365961446165663832716D446F74683145685A4C743278476F4449484A536C59362B4F5A635441524C535245497841424266776671597575776B57786A72415842306D587A44692F56443758712F6D427A45696859433731523866392F393453527A727371617A633669526A5A736C435739746442362F3833482B5732547766414B44795346532B525441444853644843334674397A506474544B3957784D442F6249463151474F716B726D4B30724C5833333446454558796F5866385672416577616D39744F735176714836574A594C3165493232373565774870596463424D766A6D694168527647656743666E59444A73664E48464E2B54752F397A66737643535331467170557A5963507973336E39334F67314F56464E5770694B584D366F4C4F75732B734C706C7479704E546E6E747932365950304B3241725274566E4A617774684C6B6937486F726B6E6B3076436F3752396748684F434E3250657956502B7834475356443265784F4230724A742F4248704E484C425238674F59462B654857576E4F68614E61786A5643576E576254417A446341363248586F386A6746643541456A633838386670384734723534756D6A6361656E5868397357723570544474703635656B4643524F625A476631357A795A584E53792B79464536714D63496E35764A714E3556776B6B72395846515A6B464432345A774F31714D5743752F73444D394C6C2B58395A717948784E4B79504232736A396A316A64723456744F6F6D717A3564362B68373957696A566D64793558586175614E75327152716E7A57424B7678582F7333752B672B6F396C41514F6A554D534B3037692B6A3066426A765767612B447459666668446F416C3661555A43466D2F34353850784B2B5942596364316C58426C3751677544784D4E77587049412B4347444958784A6674564F3244525A4536724C3870595579463276424E624D776A474566524645647A6347654C3736634F4A72483047745139475165464C6458585A4E575851375A43327734726A672B446863383235795A585A596D6A4258454A71527934484F3957714A39535A46763673486532426C52766742466F494A4E704A767A44745A65576950653958334C4E6156795A5641727331624D44584C6F42766D3743324A4B3561653035746B6557756D312F6176526B5664307A7841704C324B7036504663633278622F777752736E64705A7749424238345A715A595058594B73314266362F50373449363652646A4C7146556B48726476626477484D36587366376374704C504F593374613167503470546234494676786E6F494D4636545050717557432F36504252346D523636774D452B722B4F35765A765371334E47574E5663664278704357776130354B586455333149544A5A356B6C7953317A4B72417268376775366F48522F2B64347A593879364562575A30486D30776871796F477648564F7475662F7068386155782F47344536344855493576596F7749624D363557712F3875574138656775645239626F4A4E63523665436551546E42625449376C304272545431756A532B466D53666A51714E62443235696E736D556E6D545772377276783662332F3261633467574B49746C767848654173614239584746356445453373316F445077506F785A7633644837307748466766313644766575452B36633835785A59616641742F3244304767654677477644677344497730554A7042332B674870414B346F6C72797031535633424932437434417858357A734465632B7358714B726D71786F304E485261314B7256476C58316C656573577A7139796E4464732F652F734838546A41626B70446667484241625737366A39484838596C4F47716A3162745A6F4C4F6E315872432F367A5442695054746A4B2B644D366C685138766A4E7073647652493344764F4E6E6555746D2F4F7138785061384553746D6E562B71683455425532386736425439587A796F2F466858504F54464D474D396A73473377712F694479414D6342394376747A372F5A7A79653246643866546D346751724B69396E324C4665644E674236306332637051366B3550723844526B7164626D783634724168616B4E786550586A7A76326D63664547756968545075396E716358673577466D4F52767A6573687A63747352356C495471494A65534139634331414B652F2B2F5972396A766665666F486A6357714A5A647A526B2F5A7A46476442647879746D7032664B4E786B69586E726A662F4631494C39485148505059517079774A723539706555497331464E37506F67746D54576D72566A5643706457722B4A36697670456932466D5A2F6C6E4376754C442F6477446F6A4373594E6F774736593156386F767478625731504D576C68656F3961596F6A763542585630745871482F61417A41436A686438682B6F68735845624C654B38625874357747316C4E61655034533167392B6D3431675051543976385A36766864534846366E503867504656374676386C3165464B6C4557344B703331777A56737447423574795A355759305165766848727665786574334E464D31664A485A317064616761574256717A7279766D792B782B4B33444F77654362726B6E48413677526136524D42547245327131687038334854346C316E4E73504263613266622F772F6F2B6473317866504D4833694E4A692B616D694D566B5971347634526A513573796B6134716E72463330686E4C38633856783144664148697A777A777441344D4959674C2B62332F354C544358586C4236314E6739384275736764574737587668506241566E424F7462736D4F6244426B3357593872726D4349624A466C355673425669514B6251397735596F50656E656E57626D504B58775272727A55544A5766306C4A3478626F4B79434A6B47434652587476395030386F563675736D6245334C4959693456366E625A715239646E31662F33314471555079677846674744344F4F776552654541346C324B6E324F757171346365573278616C3075484E50766850564A74626F46762B3445684834563632552F426D5765537A4F4E2F612F742B74724D314B376971504A357978372F7956754B59337072386467365930706A547670317931524C4C386254695773584A712F4D3046304651345472746145684D4A6F684236524947766A446A7658684E37345541324D4748543178444437374363572F5965646253635658786C646B6A6530555335684763486B594343676649643652526A304A6B716F623257364B626A61716C733438743273466A4C744E53703864786F57446739365163625253536A6C6B39337671772F6E53486F544E776E6C4873326E552F656A714D73345A34635A7371472F664163576A57566435636466797146567A4A71356644416557774D7050333461345774335935646B66426F2B6A346145314F6E7A555873697A6E414D4333332B76457279305A646E5A375574554B32664864426170754A6A776E4C477253326159382F667A51352F48343346525654736832357933456C443852344D44757858376A2B704B4A74586D6A49524A56544F62692F3831613065624E523930662B355133454F78486B797A3348737A31306751697A7039433962544A30653542512B417350735633396D7254344831636C31764961344D2F3532785868436E552B416E5238747A3536797A71764E4757545438656C535878624838374D4C4B6E6D5178376845377663673868562F46662B5354524551442F42324337644A59676F5A4E71344A4C56716952364B6747773568796457523876637971785071342B6C4E6A5062534F79423972683339454B6C2F422B696A5268344D5876343731614D4A67654D763974343276304A50624542684F374F4B3669614D743269324B2F7A2F75412B5141696A4B6F375A475355776E7355567A4C666E2F4E684F623855653263746F62347762727874546E33623331354F4C422B52494D327663344563384542395953443352434548592F674A38675A346B6A57527A61394446546C69335671666B3146733633586A47307057764748472B416567555541576C784D4C7A4D6D4E655143544B4F754B31475A5A364F424A4C626C586E5A4435573661765277427944346874352F676A6454736E703641653763535A4C396F6778674B79436D572F79585769302F4449763945377A4F48395132634E6A57796247376C6874732B5558782F32504C6971494A4C78396C795644555A4939747A59727134316741714B4837463350743363464D7474425132555A6459344F484C782F426950594C4C4367752F6979675A41364C6C68425363306179374177504934734B66745939614F6A7571576777674863546C4D303655465A727A417568703441386139534135336279426B343854476E506A7A4C72303167564C663363744767774F6E772F7767376F4C4F5467684C4D6968316438373169506E6E49504751676D7339796F4258796A6F63584A6D6F472B546369783952645A456D326C456465616F56684E5868362B5A6F36724C424B5A4D614630776133335646763978744655325231453138466F673045446B7A78566C5250356C3847785531566B6A576E4F6A32764E565A584D6E315266433249644A44716E77395059466576715541666A573441657130743854744D4F486E567779443169663347546955754E74614D6D61464B76756E554D3776496F58364E4E4C31514A30454862396662644573423657577054746D37456568796836424F7646696D6C687249636E6D316844724F2F6D6C312F42712F384B367845576E69616C30346B3863764770793571587763746B57725A73596E3248455159554774694C5064736C336F6E3377685335736E7535592F746E6975503868754A52467142384E6F65664E6D6150586C63635A56556E4C706C7A4A4F4A2F344353772F6F4B57553250396B564E69665A425441594359775071784E5A77314C622F4E447532766A324339344C5A7930544C6A3258564673665763624D57756D7A576D7842703177345A66376C4963694965572F4E46657064657644484259713174733748564155614471556D6F4E48504A6B6D5963366971335479726C555A78377257374D4256656C4E2B636750683244684548344D634E4944464253706F4553484647666A7737664631654A644C64635861684D3778746A5534786F4C667662476B79676D4B6832694436776676314C4432666A49526B4D6D41724F3759385563514B537775776D434E4643417962317578634536783775664B4A3752565472756B6C59724A6E61316644657354375A2B466573356C526F582B4356326445466A3344566B4841374B2F703277587537786D645A6F71766A54547A39562B6D4738473634787035526C4A72586E636641466C4E4D3632484361354936437357585A62397433697A6F36435232773643505877343731596657474B3854484F73634A725A6D6F675770565172352B56313876565A397A716A5633564458334C6F684138786B6E4D4A726439424C723258452F435053744F6E5A713132614F6173754669492B303655653346366E4D3674484C4D352F663948366B4C4D682B7233304151494C436646395950394538695058494E6C64475A4C6D413952774734506635375830772F6F42786B496D37506E70755371324A50654D3147636768423759325A484F44693871357170587A32762F79757A304259414A714348444E5435537737513471775A324B4D7132754D4B597363317A6E6F684669734532614C54653954412B6A66702F3742506463467356483366554675626C2B6638694A556D2F32484A71384C477573525138526A41497964744371686250352F72365055662B51415765492F612B695151624E39392F4358523041446165483963676A67474F763470765263517173723333304E72694751705A45344F2B4F39554C4D6351303378527677754138717A70596E376B534630734F4475516667364541565A7956555A31663934666F426471327743784B35452B49732F764D5030494D6477622F383134617A473471694C646D637A623861324B654458525A745557662B75505A545437636244427838355374594438672B4A64594C3047414751562F4265713647424553414D48775A362F764678335941392F6E46325943746C4F59387A68566F30384A555039656176395633424A463065776463413362476A6877425A6B4E4B543842375646482B6F2F524E7365624831716856746571347A6B4C3562526177634E63487A30586D55736D614F544E59583638476B4E332B32676275594935446449556838794171755141396F63333942325A31724F4C774739686E395A7738794C5273367247317563386433633758424C7A43475A70576E637574773647654C584F533178516D3132677573533034794956436666316353706F2B756C636F646F54486934635635646F58486831646F3039724C347970796F4A4B2F712B786E6E30344F4D3430317174736D576C584C5653746D6C337A3845385231656632512B2B35397636777051516D61657731433268554E63336E4E346D366A4D6C745261617272516534733372345150346C6873697A43697A74556679703156714F67576E5149516641656A654C786E4561534637795A6567686635374F476539436B495230693176694C6E68485A777050785768516342347942506632642F39356E6C736432646770415936514B53425A5942424154564C6B7A6E394267335939685959443751585163374545344B5A63546C6E5063573974346B74336B7A47317A6A5372657447784942772F78523051737957396B47466B47576F386744786E2F6153654B33303361424E73686C746633774451435266325442796E785070307332454535354C49504250727761374C72796F37466B4C54513662454E7937466335514C475067582F724A7262454E75664C4F4A4738355A4D31576465527943325734613356476376447A7A32543066735547794B4B77616C4847663474366975464D7264656E7443315856326247742B534F7332724732764F6D564A6D4139764647617055462F33304176616843654E595150776E4E41386167377971645747386333355848444A724A5544344747562F4832766D33514A4F53586C34505155524130474E6A3148496654464A354C6854614D5A6E426561776B6362593744675653494E6F62697932494478354563557146646A7A70715A4D63466C415264312F41654468516B45525A2F2B5249796961784B72452B31734A385869674649477362366376556573596735596B6265634162356F57686739495859683776526657424D7451374F4235506A68787A416833476B4A537539516E64457A4546464177485877725569354E6F5A3470597065785850374E557241544577456B646455306854476733625048394363384676743779496D4B6D546767477872444778342B4B6D4A516B326270736A73523679422B7456397546412F7A4B3479427754456C6A76432F44623748625268384D50644642373544623763436257474A345257412B64625664434179456634762F425576303073796D364A7075662B4A7255344D506B46576F4F42686579776E7233685478303850414B48426F597566365333312F4836584C316E47345330354954303249635661744A4B3166662B63347A4A344975487A6674596E354166596F6657442B2B53676573687A344162346E317263543664342F735968554B4174617A31474A527565524B396D69786F625543704C676E4F39326D386A6D5874437A65792F6E63584A744534454F5948443759453447586A6D776276514C32696D697A6A5643696F6B7571566A32784F6D65373067633230587856517538652B6A52315A5462484E55484F47374D54322F4E47563253647456787A514846796B44377365764564486C643230614F34533348755570527A6D356645572F5371736F78784C51564A6451595945366A3361655636744737784359636C6C5A6D42537A7233327345316A5A7655306332363248704E556D333432797A746567524651635758686F6849777044644C62374E7874645434466E326576574974693968506570424E4547797131767845657346574948596B315A363559794F68615633586476483777322B41347037336250337846646C4A6139665142393666543678666E332B694D714D7957586152392F39357865395231464F704F2F7A6862504541514568594C326F4132673251414230636C797434642F392B35426834657777626241534C5532676339683945396B3633624E6B45784C474E5368536B5831693954366E50497542596B6355642B47364F6E694C556462733648707434706F43666B79484B4652644F61497254356A68677354485652493733496638504530366E62646B6743624F6C6B3676793133337433754F5569473559645351445859304A617078744A6C355036736E6A445A7059786F4E4E373639345A42596565704D48562F482B6F4F4267536B31757569362B624170794970324B442B75596A397A66526B73437735534A6E5A52504D46714F517A6A334E6246716972756C7066555655774261736A6D646D68316171446B6C4372444A306F2F6C36436845524A3044665444314E32702B4F504B3573665836656E566C73394D364368496154424255726370413069696C307570453437644C726A392F6D35756375762F2F6661585A316879307930356357614E34495A47315746436D3445782B504C42725444382B51725542496A4C36666A7237376C6C556F3078735662507A6E63306D336F74327467506D7863694B75417653784669666D414B4143386B3465647878534F2B7A657067574D585661784C71746645325458537475754B4A57337546694B477049435251486F48396667364542364C3939483866474C63714F375842424A6744796E43536665576371665635472F613843305856717A6741334C304275354D49366666626751422B4237644A36542F66576842546C6848626C737676484E557A34332B38564655374830355338613374372F642B4161614A6E624443724941776F46793746666661352B3950746569674659686F74665059425679765457374B52586D334B3733394D43576879626A694137556D314F53504768614E7452686936346A314845664970617031326C75626766586B413177756C4178314F5867457842442B50597072637158596C77706D48546363313845626D46366866326254363867564375376932767142773070772B6B7239744B59694F516559323764614D314E4B732B372B36495844584B7266727A68634375726378785866774B76645375413170547642724663742B31486132704B6B31515841557A4138746A5A3771746E3434372F644930624C5145645149794C2F594D4B7A423764412F304762516B5752773433494438665862392F2F716342663542596753433668396C473578487059724342594131514D734D42676B32596C57375174542F30477A656345787864774E52754848315844336276324B373578797744452B58774C44685A59576A4D6E646B3042484B2B3561306F686B3977324A2B4474397A6B2F562F716E32664B525A79354E58444D4C6B4171544176573453786C415045645048474872384C506A436D624B495358345A75684939624F2F54323074556C6D7A6F5378484E356F53724A53756359323536557379414E2F494E4D304F5964376A4662516D594832696C574F646F78725573553345656A472B7669736347424B422B6D4A334C35506945564A5149366949394849746D776248344849717A3467325934705A753656374E2F694A794D464D676136556334686C6D72447277666D59426935786D464A726D46697562586E3439755063676F33644D5042784C326F6F53573853573152577A6557716B5A614D73577358527132616D31356865432F55445838464452566146727858657358575648356776592F46494E616A47625152367A2F7367344D724A6C6944524B5779713073324A424A42584A5469744D345334722B4A3747352B47345458343059644B4D71724F7A656C4C4A6B3771624F456658506C7336452F523759612B6631426D6F7274516B5241384F446F4D41715331384E45614C486D7244466D2F567575766541794F7A7538486736526344745273556356662B5A5077335A39664C33686C6A63336947386A5A2B77344A645A504D734D2B6E5465694655344A444277326C555342395641385961385A7455756F4A4874504B4D707A2F62756D4E686243756C65567A6C625A4E4D6E584176706E6F616E41324539764C76785232374939334A6A4A5357514A634247466E596F624A6D31305A575A6961313538563148532B684B302F4B6C744339426D506C5A4F6F486B663966616941595036676736492B494E37337037615844536C7152436D617878593053686D4B6C6A6E41736454716A522F2F6679395931513669427A4E687559444141355944796367325371776E73597373663643356F566945526743684A683036412B45764D69566C447249495644676E5061464175765645757335674E326D4C743067734A367235497551514471596363493632652F72652F58494A78665969726B316F45307343646D6F486E66566F73544B72426D5668692B344A4A5A764831634249777764633341666F674548576F59486D5878797A2F75775746555647537A522B694C68443948756A6C3436732B36783239363266334755797868347647495A5252686375785858716E75756A3675597A386E59612F4B6A4F2F4F456D5449376F5356587466694B61313938454C4A426541587151513352566F4176533677665A796257552B6531776466686172326132356F50536179484A796D3644794C744B4F514466344C3746646655436C6A4859742B434E565435695662746A41723930774C72775154774775597734477A3834737A6F70624D6D58374F5558522F6D6D574E7657716F716E7A667A32717233504165414B5A546E6B502F776F5833497A42664B77444D3932314C4D756D6E5872307859553867682F32557A347A67585352646C793535734E6C37336C392B4C4A5A5545316F756C46376F46316B2B71304B55496949786933356F6158414C573739797A4537596B6F67566A755430677364364C31354F71424E616A5A59475A434E2B696A377532524655396534513563377A4630506A344C344473335A796A414B334C66624B324B7A302F734F61506864323938764C524E7935525656324F46365057354B6B71356B363135662F7131622F307343654757777A4249397A75507A612B517175716849724E5658586D4A6C2B2F4249303362766E6331552F2B396A3932746C2B496C744D4E785178506447437A307666727A3139566C632F6C68754F5673364F614F66494B6E694B387A4C5247592F72797A494F69473432386841774B757747774F5063613832674C7358354567785A326658516A4E30504F2B3230584B7064594430684666666E59584555334A424851452F4C42525944467A536F5778706C6371425871625A76416574535842486F7076664144556D76524C6E516A784C687774436C675056524632304F33773664454B55424846652B44483730307455774872514468345637326E5955412F64456468525061463832386F52622B436E78306439447637524D75545238334D3141426149455271565841554E72316952624470685037714D306B31714E655254366B7A6B47546F397942384F73307A39394D4955355546494963416E687972683930556356394E366B4B4C6749325163644757385255645969646D55324F4B68466E73524550434B6F594A4B2B4869536A786A5472595A5A7272724B6A4F7653634F45725A514E5346574C52424266314D39484B344569785965394A30766234413041326E503148484B5070794A4676694138315874614F4777304D4E322F5A56586C63456D436E644153367758664957786570537A532B3644357A366C4E6E644D5539376F39674A59362B426B66477475644D5638324C78316637674A434D34477954573530417A38563361756D6D444E34636F487979394459446F4570624D42364A6F66317A3332365559673869622F6B62336331644E642B4C50574339617656433239496732425638786B427A656336375735314D304E757448566D6763327658524D4B684B304765454D6759336D2B322B5A614462436453426173612B5A50574244735A364145764948756151786A5852534550614F42353473585A4E474E5A6F4264374B47413947675876486B725365516566424B43424B7445783861484C46654C42336A6D4C4173633378444872635362494F354A47594D564D354E7264626F666C783339542F75653937392B52337650375069706A624E71694A596C4D67716A557075512B6A58586D73424545655A733157577A4B6975676C46584C3442466C674A335A2B6B5635395158314E7833303930626E3335352F365A48506E697839506175533975576E4E4F314A4B484A47503663433731536C356E516C6874586D58584A366D57626C473549432F6C4131594473685A4F3470476B5235416469544436734A745A4831577656743350654C4945474F4344554E72674158704164667641516F434F78586B6573372B4B7137724631326D6D567848715975475143742F68513969764F363539374B476C46426A7459366A4C46664F61354931747A6B70704D357A517675472F727937415034433268396E63456A712F2B3836387658724D38746A71626E334F735764487475585131366A4C465A3362316D4670442B2B4F2F524F31772B6831794937702F4A4E5A50714E5478697767746571327154613161625567796137667668583849676654443358474A6A4E503050685857717971766847714D62386C4A74686E537263597231717A6F6576717566787A662B74644448797A355664655547734D59733237714E637359662F584D3647754B565256585472682B2B61697172476D566873383551734176467679436F514D453943666B2F2B6973745575355955346A643868434534367861704A727445767675653431313236453336734D6F4E5276752F664E76375A4774596772413861737A6B753562676E4F744C767275505A5A584B7468584C6E36452B374E49735150566F53417076304336324858737738483951744C7134567A64484A2F31346B34325638766D6C37514438314746595269343444666844596F734237324E4778576A56695A32636A52554D423649437671437766504246686F7542526750566F5137446D3637397750636D796C74756B52596A334542695564554C776F374B4B66744355756D544F68725967377A6C64637957324B367A4B6A476E4E6A797A56647A7A2B3054356A326A4E55744D685955646A3077676C6A66616F4C6D41645A2F314376736573394A72493959544D5236386664306957337647306A474F75524F774F4F465A47785233476576587052733173464869366E4B536D7A6B376F35777061463451554154304B676D59327A6A535A492F682B4D73767336703431704D4B55766E33623378475167725779445937624844726B66727A666C7850654141776A536C796E4450697874674D71416F5A2B72344F745A7A66483074327456385659644774547062374E456A734835394F52784D2B47666B7042413459565251326E7135584B3237354E72366955737A3032703071685658784B38725A6F656D5A52373864504435584850656E7A652F69714A4A6D494F482B4B2F6554794761452B704D3062576131477558514E6F496C42587A347175794958506E4E425A50724E4B6E6C6D5A4E6279356D782B4B794B795A6674565331617661594E6358387A744543565A53687572714966546857773530622F77593742644547324C6C464D59557571666A6A7A654F735267344F6766514C72502B4B58532B7850675334357257554A6261424752324C7841636259415167573577626766573334524778586F6F6376316977447766715A55434D33736E6F4B7164545844597A39706F536C5730656D6C425557773468752F6953615331464D436B6D7478624461376C6F715136706F38554F755076644E43326457344C485A6C516178316F4D453961554544374B726F7A704B71435857546C726C4557643370512F73554A7A666C33427857324C303872343556613136736F7730414D694737574A37586E7856733055692B6E7554533843432F7243483845394B426F7351496736796E746879794A59626251714272452B757035724A4F7758342B756C4A346C57416B614166594276442F6B59786E71344F4D5436745270566C77357651514B663373542B656C61396E784C54717751334B54315461334A54476B7A7372792B2F6A4E73694E6E492B3845684C3970545734686D57334C53696D656556476935745741697450327235484953455078664E4A574C6D7736766A7570766343596666466330502F4B5248574C6E3442304C384A35516773483638334738576C644968766B554C724E2B366679654B43614D65696753474A55514C6D68765834663536777233412B6D59392B364E727548704274435537707072724F6364585A6B35754B347176796B7177614D5A32464D57414F54567A78537551646C7248674F39307339463637383343526847354966794A626573662F55586973726C544F6865707975656F724E6B7353444D3775305A575A634C31504B2B2B6146717037757A4B6E416B72736D5930496F6E73735A304C75484931494E36616959756B71786453743758706F47446544527A696477795177486F3551696E6A616A4D516B703832495835724F497756574A2F33323037526551755068336D685179724D4C4E5158626A67477354344B6C673373656C68704C566D7144694E3078756165765245726D67536568766874467444483368344746742F6B6D6F6B7744592F65446E4D654C516A4D68463247646733486C487642563949677067306B58632B57334669624B586D5635713341556152724634676B42684D4136385745677148393965384E37474F7538646A504C4167376C6A53492B4E2F3559474C665448596E563845452B546B5457766C51636633363044744A5A7633493873774A61786246326F7A786E416D69486447496C6D4445655751444B586F49795A2F4463555A794D4F685535624E2B304C37343073723858663575694B3959436877537A503536336332303679486336645747502F787A6736694A4D3361634775734257343277433454516450416244677A6B6B3169505177712F7941644F4D472B5235336536643131755730697372315750764B714972313962704372396E3946724636545747633832352B35512B6F44793849694251523837447932346F544670346179552B6878714F31735746455055366C77612B4E5A73565656476244505855364E56586A566E7A4C71464938785A4D4256624E2F386C76714F41665155455974334952763145572B35506E6E385945524C68764B686C47724E3746482F70677A656E31513742656A474B36614B6D6866754679302F6A56324339574E77445A31474D6F5667762B336E5A6C516531707A6D4A396547514643615841383645637354624433462F2F4976335641575870614656563830536D2B724A595771365242675139667957434E647456476E47704B575A414176556F4F516771686851387443482F377977726E68736A54366D4D70507A756D48514153354261465332624337505573655A6E4444384F6641524B4E2B524539325A522F79716D67746E61484B64716575703378385576666E45626844616151696D4C72754A6469762B433171345548345936376D336F6861783657384E7234636A4778786541326F414F774433546E35344A395A504B7866665A67464D58547056467A3044696656737558694261695541542F6D77456A526358772B6B34425272614B6E56657456317861723665534F764C755A553675723555396375476246694E67496B5657756D724336423068315671793139396537454E5956556239524138427549356B7676756B624D4478413149726F706F45762B6359423769374D7155536C794C38783241744F6D417A7452574F684F46424E474B4E364365734E31536F57616E786B674F65426B6778594761554B44596372364A614F6254576B6468657A787432516B724339575656334A666E6E52493652613954384A3179336B4266636A307965764C6F77726D33395A34794B307668502B41513466432F6E374237684E7833366C2F777646665835313772684B37646C6453364F717551775264306534635A4677356D5A44773432717A6B3673557164613950455657575071546171567332436A58482F77587971625A75793153366D6B6158727230436A2B3062734477436771674667502F6839576C506C586D30644C7243666E32536544576969386B33593976392B414B554832534B4F2B37494F6D2F5944412B696D6C326A685933784C425737676934576A4C494E5A4C7551324C4C724565366A386345706C424732386C7774542F69663331314C5369616543695733452F744F57567357567156646C637A76734469397135646C504B2B7158524B7A4D7661316B4A3558513435484B4B73646949586F55556F4B364A3961495042316A2F6A6E32665336624D58513743583256427369644834764A3349735231796A4E79454C6C47436478654435794F50545247504B616674553073315355736E68752F644E3445613236367253436C787042734E75414D5371736D6A52456B7234654A6B474B30525A316730553564705A315655586A743362663168427A48506233434F665842524D33365354336161717856432B762B4E363973414653686F5A327034787636634941795968774F494C574E38325A544C506F3561387350526241654441574A5337493335442F6D3745457A65324454532B4F7264416C4E4F66773832774B66514D2B312F61706E7734314E7238764E5746634A4641625939597539702F2F64742F754B2B6B57705A647A374647325343732B6145624F75694D7347314D366E52596247413044767A4F63794F4D746E4E727A367877334B5869412B5955754D614D4B4C5532707A312F337031326A7738494663486A7441435079424D5676783443327736784E7239576A71634A7752412B7A7553786F5767703966772F70424242652B37586C744A3964496F4B48487A317961386966454F42775A6B6A424851386B315945665A595149666F666E6A4E3932325776524F7A496D3571706A6A6175726E637A73587647374E4943646264556B4E4F656661436A39582B6E7342707A54517650364175792F6F774F73626472365676697872526B4D6838737A2B6E4F705A71717679565A306D78444F7931636856686576562F4F52624F792F354A72455A3934704C78336375534B705254366A574E6633356A6A324B38334377483042504578334F436E664D6873357A51374D43363248587731614972644F4244794E616A434E74326D534C3176525472704551786E712B396C577333362B347A6937564A3848446F7A564E4F45414D30797148594C306E46484A7931414F4D672F38456A35316A4B30797330584346534D746372756E596C634D42516C3235644F397332616C64432F4136304331712B6577787463624D583763396F7879616476567961414978394158415A495433552F534C446D4139455132693557504C4252532B73482F4C70484B44324955437741514D345A684C4F4838664864794A6A456577487357484B59707241424D5541326855412B73644C384A7465737A354D577A3538523346716F725A48453765596554383156625252626B2B5437557554315632575853374B6162466D4C7136494772563350476C3670314B5037674B54676164397144586862544172685030787169654A792F4A484C73794B373438453634356C5A42744C69634D4177706244516B6442574D37697447694A7A5558706C5A7255366F30767A763637732F332F4375314A5A2F6C725A7A4E556A53717839546C504C486E505253516D6B324D6651587A6A79704B396E6F7A5949485251674B4A776A725551736D7675505A5A474F76466D4D7576594433344E6D4D6C35314B52537A42576D74516A57334E676547337033737578752B446E7954594C4F512B414A364A376B317148325262445747485864307658454A3672317876797556466B36426A3131545554472F4E48316D70677973526356544A69545A4671325A586E72693862585479333861366639516A4A73564D33414F7646494C4F304B6E305548494647413754577533614F72786370453979486F44784A3376394F4A4E2F36796A6B51384D6B786C2F4B4F792B4F556D35654351636444486C526A487A73455138665A5465614265514B6C476945772F662B47396976424C59706A463030477A76586F647031417A595036412F6A4A6A66637966387278395769695150786258392B41426F7A61505650483137482B6B483967527155783371784F724F65715A2F474E787152612F595271666461616374674F51414747497A73467A497554374D30346F6A68526C7279667479645577757330786C2B7A5746575846625775474455656238735A6138345A74304A74652F68324B4979426F427431336138456E392B3365667A5372426D726C79513346366A4D326448742B64774F48713556432B5745312F58615553313530396F5731663774743238722F663955446F32724D71526163784C7154614D62383643537031666B3247362F4468704932434741486E617149416E7266542B64576D556157324E4D74687048312B596B562B765471334F757146754D496F6A4177524148723464483145534B63304C7858647938434F564E714E58436D6B367763654B6F4848505A5378675677514A694D5753384A465A4378767348335032374666737241312B4D4B39646465454D56585075307178657271756343392B4E5835334657446D644C36704C7163715A563545445A324B586B3030744152584F65384237462F716E696E4C77773833787A346267716675654967655954632B3569576E4C5953324254552F323047565756732B41476A6539594D47727037484F742B623938363639773763484A513733484B4F526F6F6F46676B4376426F5A6863354857664572797359516E4B54677347664B677A6F556C50714E515733397830545062686F4435464B53425567412B5157367A45655568782F584146367033643949435036475A44696C6C3354686E4831784E7655414B424355363343386254587358396D654B6659636B647653706A516C74683347705939336D63446732436F724A7056465A4E72465766564B612B6F48335A4652326C32796A7A7763536C47616C6D59317054486A525A5845744F57705732344D654E79444F74514C426154476F46627279306439745A71777A77652B4A714F5878326842696B6B46366D333352674634714D366B59594F78734648514A6354317170546245595362553573432F4856334D39766B38552F7A2B562F62484C356B7862743152564E512B534359434F7533474A6175556C514D61347455565168496D4E2F49413063746D73366261694E33304864376D5045356347374F797835396863666E5345387751686758712B342F6E487A79387A6E642B794F4C5A4B4D366F74583957675362682B61644B4E79396C5A5644346E41514A666D3575384A474E4B71663433487A792F58516E652F666E47796258356162626338574A427079687A316A537A3665484E7279442F586852552B4F72454A55585264316E544B777A3053757534476C5763545964615750364C54716778397547414D774C725556387555562B6F4F7763376534506E4C394E4F724B48456370364856513362596C4B466274767876577A61556E514832327976456F434C426D636449615046784975342B70787846667132682B36676E434D636441394835484A30304265656E6E6664423665574738645954616A454B45374E7A5532717A353953763242476565375A42566B66484E6C39304E57486E43424C48484F4A496B307331364F4A6A71716A705478304C6855594B69534F317A6A4C697A4E4951507867304D2B4E666B547A4476693948414F4C346F64434177355967747734483756494B52644C664F42385376494D7A786B742F7A6A615A4B67506B75726E486E7830774F3163696F42394F4E4B75543743467366356E627844726B64557A6458776436342F36426935635A5A7859706B34334739424F4A70714E453676305A3558704465336C6B43637769754745774948415051717034444D654963446D5950666C5463764756786F534B7A527044666D7146585050366C79577343786A37504C73437933464635586E763770374336733446447A6874634E55326130454C312B394B715653427869434A45464355706F4C34693336424B736872616B67736459494F4C6A3133576351444C443173544B41426F6247504E6D536C3749796530715A3462796C75757172327A7853636B4C674851653867353874642F33306836744D3038754D6B79714E51447041777A6C6C4F664D73692F4549445266794A6B78306A726C6B356D56784F434136634B56747961524B66587146626D4B56626E493131394763554B5A7065756758454743476B43456C304B4E46754431695A32713879485639647969657336727A786C545444594B4741496F6C5744526F63744532513279745961717463504B536243696234774548307857642F6E5A377634746D61584376596B634D36782B3938314A724365472B4B6A765A71682F586D41664645324E5741393367473432305A4939704B307971317153757A4B7935372B5A74436A63744F6544704759444278397A34676734343039516959415634417542446E4C50726C7144735538734D30445451662F44307A316D705733704430346E492B486F775146516C6541475332795565553179584C6B5739363862424D7258717869442F5A62714C6C2B633839384662784273776756344565514B6350634568475A3664696D504637563354796747767876676148596F386F6B3433737347593046594137494F74657036316150335439364965346435396F51517572696D61754677396D59766F715366586D61617630705A633351447A53336A386C45786B42707835646665324879374C5156564F714F526B4C746971343877355A362F516239314872456474516E6D44687741546E2B446B325575306B7976433951374D775973584C646676352B7067336A654442793966577A6F654F73396D7050645A4D5465746338486F357477347377597163474B74435436423453654E3779736E396F706C6256684862682B5146626C78754F784942546552505A79504B3735586A3378795A63754B69645535592B70796F367256493830616C55555431355362316C7145776B3473315757326C37393865447571594A2F692F6365424C52646246365175793453784D743569544675566555474636644733583442463741763467324C5241324139624F53384475745A4B334F6D56357267496F7657707A7537564666783830377076457278437753495A6342577341675873506368675A637331703564726B643436496178465742737A726B72444E75503768667966664C416A33346C64503671484C5272324842516F6A4365774E4C704B2F57646637774458712B514A594831346B737132487441385851382B75764A4B37536F724E524B3356687A62686F5357714737714C7A7777694A746273314B6C474B416C68617733735539316163733079535571796330466B346F3037335877346D32564A75445A7962776630596F7269672B54684552422B4F6B61534D76766B34797A4443633557425430666A6C4348452F5749496E564F4E4177347872716963412F757230452B704D4E7A3337675068594E4977484D76504D356A656532503747597A766565485448786B632B32596A7A686F383350724E35497977344A45334F4458495050396B756B57457873423331324F313362443779785175662F50764A4C57382B76755831783761382F756574622F786C3238612F62583372663765392F592B74372F7A726F3366433571635336416D3567483341386366322F747638364F316F6F744E7238733478463077724E3035626F564F764E392F3231742B324B34346A776E53467A4F317A39627935652B74664E722F78344E62584874333531714E62583065636D2F66734848444153534D34514F6A5A44674F4F5451632F2B2F765774352F593873626A327A632B744F333168376138696D78417A657A33394B4B413443386356436C37726F4248647653424474743758396D3739552F62587676546C6E39743250486D6E37652B39746A57562F2F79366274764864335637516C2F3871464F6C484B456B754D73634139384148506752332B714F4F37663945722B7A5332545636676E6C326E5073655442674A7075795A2B775844326E616358506E6E6E6F553864524B666C7965527967466136524A5A514F4F4956695168763961664E7256622B373851666C7564414E35395555414349425732504C6F58364D42622F7375765044467A355575734533424D614C556D6D7866346D58676E41746F6B564365397739722B335A2B746374477A647366664F7054393535637366624737612B2F7453324E39343938504678547938746334543142596B63496A6663645A596C437835786E766A584A2F2F2B30366158482F33306A51632F66654F503231353562504E724C332F3634576339687831424834724D596F7458674830414B5751654E7539685A5743482B386A6142332B5630627871334B4C35414E794A5A744F5943743238363633722F6E342F6D484F5134396D5A387A322B586D514D6C664C496C7463652F2B524E4D507A4A545739732F474C72515565764643716B675175417950616567787665662F56334C7A31353138616E373372376632393739596D6258336F4D6F76584630663179696F4D62396C4749396879797336666E454D546A4636383939664E2F62666A4647332B39342F572F2F76726C762F7A7868616667725A37674D6B5342413072773662306672766A6C565266576C63796F4E4146534A362F537053395458317862557632486D3537632F5A3839374C2B6931554A51416A4F35753678516E3077495A686276653049554D3454354B4E5439314947506C742B782F6B4A7A55657243655A4F72636962566D4344474A62657575652F64357845416249454E424C7432313843523533643938504457317837612F73596A32313539597374724C32782F663976427A7763383453563655463677635A2F582F74726537553974662F654A6A7A647532506E57587A375A2B4D5332312F2F363852767648647A653765304C317865304C4D37665546392F32676D5A662B50527A612B67646279385A3873422B776D4541477467366F4B66754D42504D446B693532442B677A76656550446A312F2F327962762F507279726D36754E69494A4465384A4D3973483559333139356A767833476366504C72703163632F656576424852736633766E326E3765393965662F765062302B362B2F7657507A6F66346547624D4B514144575446327554617331545735664F4B5A4D2B35482F474A7845324232793469564845436D432F526545643738544164416C67626B6779425049495167462F54724A52384E474541584F70365264776F6C55484151483741527348516B4E3746486347546459306D7735735456716D414F337676676E385231794741394544706169616943707742336746776A58714362774B704930576A7171466A7A6B4861414D4A55504144564447373756374850302B4A2B7767414145454852474B59704A6F44364F46496A416A4A49676A2F6B4E6343394146692B3854786237466633786E73486576346F43456F4831434E68786F5848684C514A6A7730373349474D414F6972426263614F646835464F524937364A587147664430424A397A746269554166446D6775493870766F4D2B7A755243474B676176495667494451414235773955527863773463394A6B617777497743395449475A6A494D514C4368384A3645652F774734554B67486D4B776332777965595738375647636E796D4F48557266357443785862793251324F46693650345543496B6A53597153655A456B73523938462B73352B7A3954426E34304873456D504B7034746D75324C38516E59334955702F69636247765254524C6E496553594253696C6477417538436C48685971674E4C68346E4377763438726153504C3441534B5455736A5842424A49696339516674425A65416F2B344C5A4A39346A467361414445685753494B77656A67516E6C3343494E6A41447238446958614C6A696B552F4750467555317866495A456851684A72455274496D2B394966645278515632676473774A2F76466247474A52794258494F414D55655451526F37364849663941336864394D373744676C5847446C45506848566F4850476E37674A3569417453616749784E2F6A732B4D2B684F32517652753852547748516E624538466D6739334E2B6133587355567A37466664426A6A4A6B7A4867467752676E7A46734176593963525549514B6D53657159684F533452422F4867644D675A5A7851584B697A72614C7061555151303651313667706177526841663378444C644C4339636475534873516D4777344341584B45314157324F633461613579672F7266744F4B4F357578586B30324E38764A6E2B46367776357757576B737235635835427A4B6232514838692F624B4867716A305941456E323471615563775244594E484D417A41695A657351625333416A53594842516D31786A6F4E4F6F2B47304B5A513674425234594B6367455346594C4E7733704C4D694170423064366D57504E5656566D71796778566163596A687A39383033667754632B426A5737534F3634442F336151336E50792B68335876753945373330582B72646A33366142413576375362674166536A6F412F7370534F594B467A4C4D634244692F39422F2B43506634653275777A756450472F31484E376950627A4A6533696634742B6F484A37316331754D56524E6C56552B303566357534394E48756350764D42366F4D465131344E4D6A657251633747554B6432334A477055484C71514D67566A4E41646947516E4168486849476349476D4975376A4165414145595A31413451632B434973596E764964387A72414A5441655166425068654B50797A4D454478694D6E354545755037314D31692F58546559436F43636E777564372F507A61353076436B574630445969433448796453524E612F66352B4565332F794A584D6D495A6134683679434148794C3142656A414439344A5A77486E6344456C795A4B436F4B4A39506F664862512B34305441414247684F6739614D48776F50444554652B674F655871356E6A7A675A465167524D4B3879576B46657079506739364C4A4359514B6E75446F4E7A52464B6742704665452B6B7754446F544B6348414D5A79554F59784F48784161685961304D4A377772506B56504A614B63534F4E69365361676B6278414D35346F3049634175774A637A35684649764D4A3049526A697A5A50456175642F6B52393662474B335966454E414478486E5A3451315872633532536E6C646648505261524C3267493773454C2F6B4D385A4A5245476552645A4A4B736C68524F525749516E4E30517431654654506F43667147766852694A2F484D57574A424467794162776C67522B676B75484A384E6B67674B4A77413345536665683145466F7752634652594A774975664F3541696F3556706777524C3854372F684469316D434955466C642B3455436538524D4347623644676A76735441714A773142422B62684E71733875384A51444A73464649435472515368613059646D39794D505A42706546794C48386F494377766A6A4E6241613959576773687A6655462B6F4C4551616B56755A4E38514A776F57384D2F69554F59424F676D524B56754D525968586C464779535235434C336F69464B42676D456856655158675A474B4677566F4876573049396B35714B6F317479597A6F4B5935707A70375174544C666B54724C6D535A706D7A6A75374F752B63716A793438465067396C704D6F476E6D307A7048615072706E632B714D5347683879715A584953517571537A766B7A494438365270384E426948393868585A694F63666854462B6C6E564B71686538764B62486F696D6D322F4B6A71724A684751335344507234384531675034434254682B394131556B534A3148334A327330386A54794350554E7865344A636441564F2F306844374B7A6A2F313949684345636B6834526F5632376F6152424B486966627949316F4A48694154797878594642654879424743467536455668446E744469714F674F4B456E63556F45416D6B452B6C364163577765475359414E554A4C706B6930595378513079427635473974674551514751494C71365250464B5553664E444932515A4C2F49516F4D4338414E6E776B4863446145774277687A6959555334393432454947796F4D4E34485A4C2B2B6541574A496E584A4D65537A7A2B7643425834694D686B674843336570714C685973352B7078504E44564542474159384471666637635A623850716C597953447963597658356330654953314C7968496B415850635159754147503950716650362B544F417046734D396543774462674D456A7865554E756A39386867676E6E43566B4C684E7A426F45664173307857784D3961504A6B666C684459356B50657655484A595A457442474D31693564785379416D567765414A454244794A716E4A63316C3568455168466852434A4545644B44596B74376E5261326836686C614A67324341653269677346422F676B4F532F62694A7949484A376E4C4D625552474F7452374537463651357869515170635978466F6A394952434D536C66484C43357769426F326F546166583477694B355741517875317A4F3131517268426D4545506A684F5168743359667A2B515043696C674645576D5568524F6778745379393533334164586B4763516977434168644C6870476E6B454A614A69782F7A32496330574F527672712B68636F7630614169524959795A57675443774363346842654979686C5359745158534F627A3546316B4664476A51614736504636714F6E4649664F66425551347367776F2B776D346C474665705674587256433147626935616C6A4771576A504B716766786935785A6E317046536A4C72347930674C536A68394D3452536A4B66376A6E577168315665327269396847436F6F5951666E346C32426B6B524A37516C4A50596D4A4E6D79786C546C354E536E354E637A7A4E2B6A724F5A6345356F34304943306333476D4A567A37336A6C6956344F6742334F4131574C424154524D773933445044676F77684A47524142595133422F492B6F6574775239304E636656434950676A74557A5A526E506B32476769455937446C6E43515A4C3068474461776E33497457416673497351754D77554F524547495252684E2B6743544979426959435945464D6B35786F4B464354453869494E2B67544D736D48705A75456D3450706348376A454C51594273375366494F557051324D75344D596765614345646E6575444C6F34325246594B31795057676E78534A52424A65353452576755726B755979616131794C7941524A553038796B4D4547337A3335642F414B6A35416C4D644D6F66416352416A4A6F576F714D444159546C713634356945545A545935556C3843302B4454384276794436396B5A61456959434F4B6B4B675246355139536A38593947537751524B4668334567644A6B6F6859674E4A35457143646455415A75666F384541414168535355524256444A6A70444244654639457A414D3878773852774F63682B6B524747595150426B6638776A50425536645145354C516B694C5855502B41536741726B785152796777493473466F3647565366694B484C427043494A4F44387359416A4843774A4E4274672B586C7758686B6F754B6D544176694A2B42654570347A356E41775A42732B345A66716977337A572B6F4C495758384967416A464C6F7A6E4B3977476F4F2F6553736344303479557A4A492B492B4D4F354A62646C2B4A432F6D5534635168726C5548764832483542437231714A525453615657543257613573554A6461624575704E4F4B66576D635A62534D6C312F446E615A6A78395368366B314C72544F754F5668415A6A664F4F3355657A6758466C4A58336C3678696D3656684E6A315354576B4F4C4D6D6C45576E75504E6D6F6D32334B6756633151316D564831757668367732537236586376627868674778726D51315A777043362F6863514A5969514E427965373571566A48735A396763676E42576777627445634959566F4F553450687A71346658374F525966424478746E454A576B684F457358784F534443736578696E73644C6C394E695856465743336C734D485042566A772B6C76776743683379436249714F6956585579327146335A436F7949647941522B7A312B6278756E382F6A3933747849633168706A34304A4634554A306E685138594744484736334336487848713253486C666847504852634176726166774B304E4A484869645979366F5A71696469504943716D6948636A307861575152395953547A614766386C32635A4162444D65455051674C6F595773505A6B4341436942446D4E61454B4A6B2F486D416269446E30755832796178664259435243393843676872715356594D445A35434D59776850754B5169753370686A5171676A35417651412B48566A387949315355714272674D67362F44775978474F3654666F2B4D4C357A4579556A674F634B63644C4E5366443457472B596E62416E717643476C777846354565414C384F65576A69636A3469416A63434467642F5431436A414E774F546E486C4C53565A496B796F563377414A70775442752F42664652445A6B6230623444676F4B386343314A4936426F6A50476A41323543634A4E35703144743977632F43316457356B76784D506134416337754B444538664337534139322F636E366F6B7A5167575A425431316649545145564A5A6F567249576D4945684A483843737546347565584F6D4B67427238634456656D444C594B38694F69524B7946706B422B346F416A502F4169537271534969755A4C6741786865446C767473637A634E464B303952793434524B7732527A376757326B76464C7333413976744B4138365279773478567050514B655566336E536939676A5470394D3643744247615576346C6B6A66544B384D305156416B3848415145366F32544B3479544B736B345870436A57466944532F4F7173715A56705044645149732B6C474C5A703566615872674830384944543238422B42754B4D47626C425375615A435547486B426B685566554477514F6C43514865364F554A44663169414B4545623639574939444465374C2F73484848416B6D5A4A38563068354F424C7846334C74684E764E396B786A78736B654739466742654745356F636B79416A3851476936706E78644E6B376348777772446B676B724448336B48626C686336417579424D517042733044494434683045525173546A557A6B4354666C69776A7046472B4A624D694D6930624765793658697A30534967594A394969426E2B4441422B67686C79657945564934597A4A4F6B4567584E33474A32435252623347704135722F66495977346653344344346851337871412F45494A78714F443851623869314A67786D6D6A6846594439505A7037412F424A6D4D764155536954447A394A676B31674E527148684568444A4F704F6F534870556B334245767573586E42447A454E61496947456E7A45345466654665635A43715235435372492F594234675049734E6A347A52386E347764734979522F694A386747563349473652714A73414767783732697079735844515938653064424A4E655A6D38774957365044716869644C4A63794B33644C645046717843384158466D78766C5552496A58413068454B426A475256624B43446E574254704A68414B352F664269705455754D3849445A314659756E6538493950462B3579744A634C68353641776F434B3478436172414F5742332B467842396B524C2B4F584A4F4966556C2F55436F6843314A6549696F4551767852793542492F49342B6B46686F4D4E526762657978527769472F525878687755634B51722F793958415165522B486970704266466D4364662B703474776E3175412B774C454B374E75526735774F69366434684475432F4F4C702F2F2B38682F4D6B38654C706E76654C39564969644F687246486D456B4A496964346144455039657851666172775432635333447747654B3777736C734A7433676C386F376C314B594A66692F35777367692B485668726D3876416473754A5A71594D55506F62656B67534A515643412B4B4241344D42662F494A63795873385A4441494955514E64385576326959794B4F376A4C495150636F666D4153385541535542356558584B72516F516F423479616D4542674A2B4B424B2B4A574D51456F354C684D635A59526833494151567859526B566D55716B6D5149584C6A4564792B52427A5A5471557443766F47672B4D6F61394E4A6D5959735167516354776F46676941386B797952654A636D4439686837424967734D716B497557436677754353575A4B33634248425976614A2B5546676F477962384150434B675168615271484251434252524D657A4930347966684175475A78384641515745563046342F345730415137456A38496551686F534278437643456E3649344D454E5265744568344766506B37544252627769546B54454F41534A334345535A456232357147435A4D484471596B4D7956585863596C736F4A5A4279424A595A412F776F3649737236786F486A496F434B3844796F584A6A2F6752426A5743714B425851654579696C6451532F7737574752474A507050454837775859344F63484F34415A725353656844436C2F75654F455A3978484749633479327041546D4D75455A4C353456345445477967314C427463384730555374676F49444A576C6F73366941595443694B38542F454E5246726F4945534C4741647A677A757968734163595731414E4B47466F4A75702B366B71774C3141384A7671792B3131306377584D45356469777778572B48634D6A4B6B49744A46646C772B685059694E686C4B5243554F4A43744E497477535759496546625A4D2B4631776A4661634B445675797264556643594B496F51673348546C4E566A35395475432B456E36644D374F373334476C302B4852486A53562B366657527153536A69484B4A646743363978787255597141662B55414E4C5A6737333857324A694A722B526A72466A53452F684E4449472B452F512B6C5539365159675841746A386A4E3842305A54704238464C6E7870534E793931746F384D426C4A4A3654682F7739354F37514734503354683566655471557773665862736C4C5754704A4A782F4B7177694A6B77777739426A79665041592F50486C5236674A69744F336B417844456A2B2B644D6751736A596C69644F70632F376C5139372F437033367263686A6351736E475559656737636A667759502B57416F44626D4D4A435270384C6B34496F4545345951414A37457638756A6B332F41565470476F7670336B67597476542F6F723979495645626C7A536F6F4534365538784E3254496642455873696267332B2F547164344D4F52652B4772776234515552666C2F4D41345A324F413571394941414141415355564F524B35435949493D222F3E0D0A2020202020203C546578744F626A656374204E616D653D22546578743222204C6566743D223637302E39352220546F703D2232382E3335222057696474683D223335392E3122204865696768743D2231382E392220546578743D225B546974656C325D2220486F727A416C69676E3D2252696768742220466F6E743D22417269616C2C20313070742C207374796C653D426F6C64222F3E0D0A2020202020203C546578744F626A656374204E616D653D22546578743122204C6566743D223637302E3935222057696474683D223335392E3122204865696768743D2231382E392220546578743D225B546974656C315D2220486F727A416C69676E3D2252696768742220466F6E743D22417269616C2C20313070742C207374796C653D426F6C64222F3E0D0A2020202020203C546578744F626A656374204E616D653D2254657874313222204C6566743D22392E34352220546F703D2237352E36222057696474683D2239342E3522204865696768743D2231382E392220546578743D225468656D612220466F6E743D22417269616C2C20313070742C207374796C653D426F6C64222F3E0D0A2020202020203C546578744F626A656374204E616D653D2254657874313622204C6566743D223137302E312220546F703D2237352E36222057696474683D2239342E3522204865696768743D2231382E392220546578743D224B617465676F7269652220466F6E743D22417269616C2C20313070742C207374796C653D426F6C64222F3E0D0A2020202020203C546578744F626A656374204E616D653D2254657874313722204C6566743D223331312E38352220546F703D2237352E36222057696474683D2239342E3522204865696768743D2231382E392220546578743D22426573636872656962756E672220466F6E743D22417269616C2C20313070742C207374796C653D426F6C64222F3E0D0A2020202020203C546578744F626A656374204E616D653D2254657874313822204C6566743D223531302E332220546F703D2237352E36222057696474683D2239342E3522204865696768743D2231382E392220546578743D2247C3BC6C7469672061622220466F6E743D22417269616C2C20313070742C207374796C653D426F6C64222F3E0D0A2020202020203C546578744F626A656374204E616D653D2254657874313922204C6566743D223631342E32352220546F703D2237352E36222057696474683D2239342E3522204865696768743D2231382E392220546578743D2247C3BC6C746967206269732220466F6E743D22417269616C2C20313070742C207374796C653D426F6C64222F3E0D0A2020202020203C546578744F626A656374204E616D653D2254657874323022204C6566743D223732372E36352220546F703D2237352E36222057696474683D2239342E3522204865696768743D2231382E392220546578743D225375636862656772696666652220466F6E743D22417269616C2C20313070742C207374796C653D426F6C64222F3E0D0A2020202020203C4C696E654F626A656374204E616D653D224C696E653222204C6566743D22392E34352220546F703D2239342E35222057696474683D22313032302E36222F3E0D0A2020202020203C546578744F626A656374204E616D653D2254657874323122204C6566743D223933352E35352220546F703D2237352E36222057696474683D2239342E3522204865696768743D2231382E392220546578743D2245727374656C6C7420616D2220466F6E743D22417269616C2C20313070742C207374796C653D426F6C64222F3E0D0A202020203C2F5061676548656164657242616E643E0D0A202020203C4461746142616E64204E616D653D2244617461312220546F703D223131312E3935222057696474683D22313034372E303622204865696768743D2232382E39222043616E47726F773D2274727565222044617461536F757263653D22446174656E223E0D0A2020202020203C546578744F626A656374204E616D653D22546578743522204C6566743D22392E34352220546F703D22392E3435222057696474683D223135312E3222204865696768743D2231382E39222043616E47726F773D22747275652220546578743D225B446174656E2E546974656C5D222F3E0D0A2020202020203C546578744F626A656374204E616D653D22546578743422204C6566743D223137302E312220546F703D22392E3435222057696474683D223133322E3322204865696768743D2231382E39222043616E47726F773D22747275652220546578743D225B446174656E2E42657A656963686E756E675D222F3E0D0A2020202020203C546578744F626A656374204E616D653D22546578743622204C6566743D223331312E38352220546F703D22392E3435222057696474683D2231383922204865696768743D2231382E39222043616E47726F773D22747275652220546578743D225B446174656E2E426573636872656962756E675D222F3E0D0A2020202020203C546578744F626A656374204E616D653D22546578743922204C6566743D223531302E332220546F703D22392E3435222057696474683D2239342E3522204865696768743D2231382E392220546578743D225B446174656E2E4775656C6974675F61625D2220486964655A65726F733D22747275652220466F726D61743D22446174652220466F726D61742E466F726D61743D2264222F3E0D0A2020202020203C546578744F626A656374204E616D653D2254657874313022204C6566743D223631342E32352220546F703D22392E3435222057696474683D2239342E3522204865696768743D2231382E392220546578743D225B446174656E2E4775656C7469675F6269735D2220486964655A65726F733D22747275652220466F726D61743D22446174652220466F726D61742E466F726D61743D2264222F3E0D0A2020202020203C546578744F626A656374204E616D653D2254657874313122204C6566743D223732372E36352220546F703D22392E3435222057696474683D223137392E353522204865696768743D2231382E39222043616E47726F773D22747275652220546578743D225B446174656E2E5375636862656772696666655D222F3E0D0A2020202020203C546578744F626A656374204E616D653D22546578743322204C6566743D223933352E35352220546F703D22392E3435222057696474683D2239342E3522204865696768743D2231382E392220546578743D225B446174656E2E65727374656C6C745F616D5D2220466F726D61743D22446174652220466F726D61742E466F726D61743D2264222F3E0D0A2020202020203C4368696C6442616E64204E616D653D224368696C64312220546F703D223134342E3835222057696474683D22313034372E3036223E0D0A20202020202020203C4C696E654F626A656374204E616D653D224C696E653122204C6566743D22392E3435222057696474683D22313032302E36222F3E0D0A2020202020203C2F4368696C6442616E643E0D0A2020202020203C536F72743E0D0A20202020202020203C536F72742045787072657373696F6E3D225B446174656E2E65727374656C6C745F616D5D222F3E0D0A2020202020203C2F536F72743E0D0A202020203C2F4461746142616E643E0D0A202020203C50616765466F6F74657242616E64204E616D653D2250616765466F6F746572312220546F703D223134382E3835222057696474683D22313034372E303622204865696768743D2233372E38223E0D0A2020202020203C4C696E654F626A656374204E616D653D224C696E653322204C6566743D22392E34352220546F703D22392E3435222057696474683D22313032302E36222F3E0D0A2020202020203C546578744F626A656374204E616D653D22546578743722204C6566743D223933352E35352220546F703D2231382E39222057696474683D2239342E3522204865696768743D2231382E392220546578743D225B506167654E5D2220486F727A416C69676E3D225269676874222F3E0D0A2020202020203C546578744F626A656374204E616D653D2254657874313522204C6566743D22392E34352220546F703D2231382E39222057696474683D2239342E3522204865696768743D2231382E392220546578743D225B446174655D2220466F726D61743D22446174652220466F726D61742E466F726D61743D2264222F3E0D0A202020203C2F50616765466F6F74657242616E643E0D0A20203C2F5265706F7274506167653E0D0A3C2F5265706F72743E0D0A00, '20.04.2013 10:12:56.930', '20.04.2013 10:16:35.250', 1 UNION ALL +SELECT 4, N'H:\tssettings\themenmgmt\rpt4.frx', N'rpt4.frx', 0xEFBBBF3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D227574662D38223F3E0D0A3C5265706F7274205363726970744C616E67756167653D22566222205265706F7274496E666F2E437265617465643D2230382F32302F323031312031363A35343A303222205265706F7274496E666F2E4D6F6469666965643D2230342F32302F323031332031303A34353A353622205265706F7274496E666F2E43726561746F7256657273696F6E3D22323031332E312E392E30223E0D0A20203C536372697074546578743E496D706F7274732053797374656D0D0A496D706F7274732053797374656D2E436F6C6C656374696F6E730D0A496D706F7274732053797374656D2E436F6C6C656374696F6E732E47656E657269630D0A496D706F7274732053797374656D2E436F6D706F6E656E744D6F64656C0D0A496D706F7274732053797374656D2E57696E646F77732E466F726D730D0A496D706F7274732053797374656D2E44726177696E670D0A496D706F727473204D6963726F736F66742E56697375616C42617369630D0A496D706F72747320466173745265706F72740D0A496D706F72747320466173745265706F72742E446174610D0A496D706F72747320466173745265706F72742E4469616C6F670D0A496D706F72747320466173745265706F72742E5461626C650D0A496D706F72747320466173745265706F72742E426172636F64650D0A496D706F72747320466173745265706F72742E5574696C730D0A0D0A4E616D65737061636520466173745265706F72740D0A20205075626C696320436C617373205265706F72745363726970740D0A202020200D0A2020456E6420436C6173730D0A456E64204E616D6573706163650D0A3C2F536372697074546578743E0D0A20203C5374796C65733E0D0A202020203C5374796C65204E616D653D224576656E5F5374796C65222046696C6C2E436F6C6F723D223139322C203235352C20313932222F3E0D0A202020203C5374796C65204E616D653D224F645F222F3E0D0A20203C2F5374796C65733E0D0A20203C44696374696F6E6172793E0D0A202020203C5461626C6544617461536F75726365204E616D653D22446174656E22205265666572656E63654E616D653D22446174612E446174656E222044617461547970653D2253797374656D2E496E7433322220456E61626C65643D2274727565223E0D0A2020202020203C436F6C756D6E204E616D653D225468656D61222044617461547970653D2253797374656D2E537472696E67222F3E0D0A2020202020203C436F6C756D6E204E616D653D224B6F6D6D756E696B6174696F6E222044617461547970653D2253797374656D2E537472696E67222F3E0D0A2020202020203C436F6C756D6E204E616D653D224B6F6D6D75696B6174696F6E2065727374656C6C745F616D222044617461547970653D2253797374656D2E4461746554696D65222F3E0D0A2020202020203C436F6C756D6E204E616D653D224175737072616567756E67222044617461547970653D2253797374656D2E537472696E67222F3E0D0A2020202020203C436F6C756D6E204E616D653D225A69656C677275707065222044617461547970653D2253797374656D2E537472696E67222F3E0D0A202020203C2F5461626C6544617461536F757263653E0D0A202020203C506172616D65746572204E616D653D22546974656C31222044617461547970653D2253797374656D2E537472696E67222F3E0D0A202020203C506172616D65746572204E616D653D22546974656C32222044617461547970653D2253797374656D2E537472696E67222F3E0D0A202020203C506172616D65746572204E616D653D22506172616D6574657273222044617461547970653D2253797374656D2E537472696E67222F3E0D0A20203C2F44696374696F6E6172793E0D0A20203C5265706F727450616765204E616D653D22506167653122204C616E6473636170653D22747275652220506170657257696474683D22323937222050617065724865696768743D223231302220526177506170657253697A653D2239223E0D0A202020203C5265706F72745469746C6542616E64204E616D653D225265706F72745469746C6531222057696474683D22313034372E3036222F3E0D0A202020203C5061676548656164657242616E64204E616D653D2250616765486561646572312220546F703D2234222057696474683D22313034372E303622204865696768743D223131332E34223E0D0A2020202020203C506963747572654F626A656374204E616D653D22506963747572653122204C6566743D22392E34352220546F703D222D392E3435222057696474683D223231372E333522204865696768743D2236362E31352220496D6167653D226956424F5277304B47676F414141414E535568455567414141666B4141414278434149414141425A514532794141414141584E535230494172733463365141414141526E51553142414143786A777638595155414141414A6345685A637741414472774141413638415A5738636B6B4141414155644556596445463164476876636742546447566D5957346753485630644756797037305041414141414342305256683051334A6C59585270623235556157316C414449774D544D364D444D364D4449674D6A41364D7A4D364D546C5A436B46674141442F57556C45515652345875783942594264786658335858664E786757586C6771655A4F3235724D5631335A37765734756A4C5333536C677231467168445730706257696A466151745563416B516948757976767463352F75646D66766576673351456B704B2B2F3879652F612B652B654F6E6A6E7A6D7A4E795A795132466D4B2B694E7672387243496A796A4557495246777945574362414972765159697242676849566844344B44553068524667724843506478456A5968546F4545456A616E6942412B47494962756754344E5372626838492B596B553047496B476B44424B504E353450437A4B33722B4257334159464761524B47633172726748353145574B4246524B4869454A52554545666C366E795448456663616A46474542526A7A4D4F626A544A64662B546E68426C626363356A66676E424446694A51455A53344A39765435725135626634486A4D5138596143596934554F4D74636743343278794B422F485067797A69496A2F4171344555676B41416A59357A6E46354836486A534459433570496F5064792F4B45517768396D6F5848653241445A6366555469346A7746766365466E437877416A7A6A555863684971452F6A4A6E33342B42572F415757432B415868447559654F587555303373674E71614545786E2B2F7A476A63494F343763484E5752597341396273676C4C45557A4D416E74394A76676731754352444C4650586432327077327038312F76354743586738413552434C764D6C43623748494C68625A7954783433453033524C6A42492B6741692B776A437030364F734243687A676465546353722B4A306B462B50733944414B534F4576354F466472485155525A4351346772556F6848574F4A6D4C2F50755A433763494F56376D41634E414E426668735833625144694D744144787950387968394647794336567249447645585843684867365831656F3351526545327748454E6E50414C6C4A7A6A68426F396B38457234346836466858674379632F436A626752644E71634E71664E2F344B526F4C62765A2B344C4C45767A6D3158464A6B4E2B66655863526D334A71764B534A6E56686937716752563363724A3752714A375A6F4A3757784B6C5A57644A30716D68476F334A3267334A4F2F66736934584C7565755838553061496F7242465764784D393265757062686D4E74496A61473672396F77325061356E5732734C3135536530326238786D503348474F75674D7A593932756D414431422B5354693435586F55636B4F354C636359642F334654694F4A4F457141427945477A7A3675463466562B31686731636951544C46484D6565596E636E30476C7A327077322F7774474F733443554E6A5431797A4F6342685337626F73753246323135495A4A6D4F52315A68724E3259376A446C325934475643492B347A376670503049716D4571777958486F7337744F49575632365850742B6C6D642B6A6B642B686B6D66624746486B475A546557466E5A7230316F72707658565A48556F3475505770653945566F4347526B7A4F4135426A51687A674A544938702B464D63524144394D6E432F7A2B734A51412F436666775643416B47345561346952747850326B6A504A394170383170633972386A7868706B45583273736A307274714D6A58565357326B616F4C4E464F6474616B392B687A656E555A70693136525A74746F6B6F3030795562564B44636B375A4E644F737A72444931336353374F4D457837424A74367054624F725555334D4649587845564E4B716E6F45755470733676344D6579635A6D6E4E752F544B712F4973326D79624270697332367A7A312B3132486D2F52437758734239544C57583958715162434F4439667368414C6F41656A49636D69636857747846365A4C594A4D5339794C356759693550704E506D74446C742F6E654D4E45474438753638566E574B51352F5A5877764E2F577A4873756B72792B633336576133364B613336616131363261326E6B6834645971754D396F30303973303469706F576A7552754964396E47613245733175495A707A79713649434E657A476A546E3147764F624E544D61365A48784A7457382B6D506231716233616B71364B6E4F73656C79473870766675696E49375245352B544D6C434761524B7A6E4B432B47374D576F765479654135646F474E346E52574F7468664446372B584859495146354F5656734246526748776E6A4F6F6B6772756775446E6838625135625536622F32496A6A516264417977797732535532697554725A724D467357395231352B4D5844734F652F68762F734F5078556B65735A50393348364733383846566651733736446776374F3657392B6F6D6343386F32776A4C73425065633968595477526151766567362B34714972625043493947786E4577394D7648585A357A765432796F4C625071355A754F58482F795A6D395A646E6F514256414C425151543377474A417643434F30634266443475345751547473534366514F7233545349516B486A456A542F2B434B4433525A69666F684D5269626A47474276686337614165314C7442614444787A75522F5A3032703831706339723874786F4A395869455261593361374C736867797A7472684E2B336658675445574668417A7A434B4456502F70486A6243637679555851453349525A7965386635557671674A2B7A684B3979446672374F485953622B4A7036754D473957426C35696D694D72376B38786A77416363522B504467477932505243656A7641797834674955554E396F4B54647263447457635675313348376B4862696148507436484156514B625670473841526C334D4F43594D67674378366A745561526F7A5455356B4772504D7243342B2B62554935444C447A4D7769354F75422F6756793967484C3048594C334C47773446774879456649514678454B6A49347A42475639445369627344374177482B75524C30526B4A75394F6D39506D74506C764E784B514256426530717A4A63426A534C6471535675324C59776438564C6B4A6363517137306B7734695147453037464659474878674777496562333030306B4650463757446A6739376B693051416F47694743545A79434C4F426A676343707558705A344668344850694F526D566F66444465786E69597A38324378316C497962452B75314D31713432772F6D5458584149716864364E37424E766F357734773947733776495066652F4A2B323539364F646666507965572F2F383638382F657665582F2F4B62722F7A35354F6A57702B6A366E63642F3836306E4A683976662F513355555443423341512B3763662B2F56586E766F746F766A365078363439616E376276767A3737377A2B483276444237775571467772492F4275686A486C784665574D6F5070383170633972385678745A727939733153523147795337747142642B2F7A59675342714E422F684251594264325159456B504A6549705838672B66454648494E544B49617A6A6B43345A394173726A6572315137524F312B7A6A2B6E6F6F72496B4C4C4179332B654741554D627044376B444936353059686372725A3845427274666E577252704674573054753033487273486E59782F432B7335345237743633486D2F66557254313353767653735276325A6256577A3277327A4F34776C486670386B79624866424945393855644E5063414B757955483839713049777962355136545034423570395872797073552B57334B4B6131362B5A31317335647237323062666D502F7653486B596966736750413536574453337A6D566B36396F4E506D74446C742F75734E59663077692B5232614B5265672B5455356E5553316F64516E63584163614C4B435457514E4D474553763668453474345758416B366859667878356E376D48365A73703968415550735541694861594268384178466A682B4B676C5248475368375A46424A41507034554D302F4F50596B4239613853414C5664786B793752724A5A73717A364C3936685033774D334A6A7464504763506868456350487A703763502F4C383965715A72666F5A70694D326342696979477074544B35537974316E78796C4F6251465A6931534B507A6963576137466A6B5349324248574B6977525A6E68304B586274566B326258366E495764312B526E72644C632F2F6543455150596778414543494649727238365555792B58326D6C7A327077322F2B3247734236776B673273377A64495062537138726C787274647A72416651512B755577556967663779476E774C79303669306179384C4C622B783536783171724F61744C4D626C504D374448504E78706B6475756D646B34524851596D57487A6F682F446B642B764D37613835647254792F707452783439596833326A5136774A4C304F344236387476746745364A5963713236713939552F336A4A3838316F4F784D74447A6A68527577484D334830442F7A64376E693165554175674C724D616B646B57613079695A6C63447239302B45395831617156634C484B6430346E3644467156635A4E496570723137664B504D387A59624C37455A6B3770316B6B4F643474546C39533074747461636131703678334F506A76415A3267693664344237447645412B696C596A2F5469657471634E71664E66373252554A5648336F4831636230654B422F666B6B58476F314E5A7439324D375757525877792F4D724E5655394B716E756573797A6470704B624671575A6C696B554639546C4F7956615A4569302F644B496F5773757A47386F2B356C673262316E70613537443648435158752F33735768774A4937315853706F7846393538715431656D3434592B4F4C634F68724B634C3659797A3832774D766C6451725A3362565A566742784E726B2F75716B76696F67736D52584A396E663337564C4C6657717052375A52757054532F3330574E4368686C346635616F39477465357655736C5336566B716143326F6230797056316430717A37326A50334832512B6E77427A58756878724A667A79424E2B477574506D39506D66384A494C456A496B742B6D6B666F4D714F725A4A68724441657149566435695041454575493956627172647034676D474E764F50422F667444616E76717A456173686F71775347536D5A467A7159367155636E39623644594E6D6A6730353636696939313467304648646F726E33304A77663553453449656A306750524B4546712B346B592F68324657354675317454357A306544335064677A6C78585149626A6A446A374C51722F593958394B6B686C497674514F46395A4A545131694D6135636D7966482B727430617156636A39644458586D6B32667439506C7450624E454D52462F4E37676473447A4465375535396B556D5232477A4C36717449324C633371577A4C64565032646C7838665941786447456F6A4449643471506C693654305A704253357859765435725135626637726A597A3168613141424950554A592F5845395A7A41424A3650536767686870347861624B662F494557424449414A6F53437263584F444C49324A61486635425776376A595A736A7355476262645A4B704D6E667A45716C6A4D63455771436542684132773736536F4336535737784E44344F416F55484C4B7177354667566C2F3862626D6E587772744948514F505436364D53457748726C6A545A716A577971416A504E7A5A37736D6B764F6751536C48735431656A42386D455565325076694F5532474D3077314F63334B326630724D737A61444A4D4742515374484A54585352385070317256704F6B6A52344B34317039696F792B4B3453432F67397A6B6D4E54545739556C726452705179443548646F7A3637585565487470572B59784669707371454134756233566B726D53706D334D367654314664392B3654466750567851496D6C5A4671575762754D7052356D424B41734A4644636E50416F6A4F784F4339443736694D4939786332762F4648324A46364A68356939654B4966616A456E3755564B4A314D75615049335A754B762F68556871424E4469784E2F42654B3355393449456D385433636776524A706A7966356E78433954516F41527239377066664A33716F6B37694A4E73454554382B68356D69736545306751685465423150426C784978356A6C676D3343513978677665704963522B685A6C4D6F5841792B546268655972396163504836326D64535647724B7457705130386649504C634F4B32354A465A4749364C675A4A623947387754345354554E32704E474333636A6E6A6345326852304E34636A457A387A582B7773464F545A6C656E636B7032714A50694B4F5A3844346F3765482B454D4A4D64537272767074454D49747830305368485A70632B78614C4B3331676E575A5453686D72714E4A67564A6133364D395A6F2F6A70786344636248364E76536F50524943553747673250734169775074757154626171436B33616233304172482B4841594D52516F434773364A7644687836344D566E66766A6B417A2F3479344D2F652F62786E37337735492B6666657948542F33783772382F38734D6E662F2B6A357837353464356E557459747A4F673353687630524535562B6F5A71517638315633352F7A7A5066652F722B487A2F31687A762B3969446F70302B424872727A72772F643864654866765430517A2F2F38304E6F57586C686F6C454A547576554A6A73316775465376794846616368745558333948772B4F69504A43617541616651446369453250696668457656744D56394F4D4E664F46364271546B49672F537174342B434D7549693471643572704459556D58445155686B666F454646455169306370356752666B4277482F51467777472B72545461776E435974343255414438454A786F4D42756B2B74714D6E47555137374B4530653268684157636D64526E48493645774769323438345259674F4C7968684561596F6A5152416D654B546E494A68644F6569477555534C59493352634F516351464730554F75456D42374248674D496C355138394A76544D4B415945696468426F333666344B4B34696F2B544B5244366C6F4C48346B56325969374535744C6B4531487A384548436B716368484B534B436266554C344E7652426F4D422B6C62464F374C3478644B4137454C32655635354E6E6C646E6A7639644D504341796B67456965696245496C31723155436769782B5433545A374849487A774A783479436A306343644D484A794565516844465375456754654C44613651454A52627A54717754464B6255557049347755544263507842576E78636B4F533845303869626C72766937514C5A6B3634585167694745414530496B436271384C42517768514D5338684367636D574C7463547A2B30305A434252336B574A2F6570514E4D464C57722F7A467841434A4D7459545850574B572B4A456654744A774C3241364370486B6B70363449507238714B4C2B6B5746596A306339513378315466313372382B785449486D443566516367446F4365756453716C624B574D3979456C596A2B786E6478756C6A764C6B4C6E3371786C7170355972437A63744C6C6C5A7375663232415259657051594A2B49546B552F70524B364236433678484331483051624565374246434B556877535243306531633434496F476F567744485361697753472F573151696239672F78507A62326468736B794856695935466D5751726C36786C4B623247484B6468587466534E35676654546743386642325650675345435071455168766B5A6B68466B52444251366B4F7053677048363931466B2B7255502F67396565524A615254396B6E39344D4B47664435413334764C54716C4B6759693750554E6A5648714F517746675644496C61687961426D445956386F474F5166694155447670435075426A79756E446A38303445513841476568576A6D4D476449456F427A53754142504C4A733066424D50507968663877714F6D4141343539486A466A4976414331776A5A494E63693433674D6A6143394A6C346A766244786F2F4D4B377A43347743747341646D344355516E6B436C45546E424A514550754179486D492B41526A5165464E2B614C6A6E6F42625747586E394357653855724F43412F53435A506D427463344347414A6B4C425151386153574971797355666A5872784A424938486F6936417454593848686C4368446B425563396945744F595253314A2B694F684F456434517458354156764B5A77675A316F6B46494C505343694351714933634D54426E77435A6670416959443165424949526D70636872676F2B75344B754D5138744C4B5A414B5769366B45635245566D6970434E52747763433442305A6F6939642B5053507A2B7447666D5331414849526136716F4E664B4841693665545A482B554E684E583871514355436F4B623263384E596270725A547541516E516C484266783431433372522F49674D555977674479524B654B5A4B4B596350673138344572354F47356A2F454E626A6B6C414B6F6C5169596137636F565248615A56333643657650463634656E48577163523655464B584569526A765644746361582B6755617971394E3744464A3771646761534F7173794C635A4B7A64307644527942426F7542476F734C4E61626330486E65723369773842365159492F6769436A77465855684467524B4D6755355461684358365777447872645871506E6E4C5272304E47306E6F4D4B523256307A734E627A492F4843416F4431395979554F4C434A557248695A69515761673179646950546F486B715679576F767142793838437379696758704B6A51694B746B39413438792F6F7736346F3935416C445244776D69716A4D7A6A415752515A6F4A2B61463063642B424E7A67355348686B504135344A545342314D5349395877413943635937444E36366D512F61347A674C6A6F666475422B6E44376D684B414371676B4B65534B38504561496868654F38704B42516F6B304B51344846473241666E43454779674D30656B7059634E773937706F415433676A784D4F414F6F7377386343666359467A75485852655467553742463051626B6C6D6934386A714D4264726B6E57636D44787933717A76476F62355157364E4A7A56435153524E30674A4A766E6B6A73656449395052414943386358754776434F4C49447434444361366C484B657852763456684F453749444A6F7341655A3738766A42536A65614B75697834706A3871617A634C6F74775275426633305167616D314167437556624245502F704D747A3176476C5836366F483956776A4156414B46796B48735845515544324569656541594A37312B6949502B4247354D6A56634D5131784C77514F53476C534462756B51766945732B583842643265554D54314664414F50356F32437353684A52777A734D5354494233654148624B527730455352367A4F4E792B2F332B43496F534F6D493446416C34335335716A61446A522F323848304D79774C47654A3145454658733662636A385237412B305266754F566279346B4678554A30345443642B42432F74576C5855574A6C686D774C4E487A344235654E456A787A72436653314E4E6C7271556A665543325A56526B4F513348766B767A36796A756566527A6F686D34484B6946776C724C43313576487354374C526D4D342F7A375743344C334F49453777416C334A4F674B2B4D6144506B385531592B55666451516C782B6F46336D4C75597562464D6C574A53326D37465A4A335A714D7671726B396F725A70717264714C33414F395146716E35794F6349374B4234347269694D453748655570375A725A2F5A71766E6D6E33383953726F66655553744732547354655A2B6E6B31735A3446646444794C447A77422F7649764964447A49446451556363395870385853437448457771517A6A7A6B6D52674B75636634715763447A4C38334E4978377744664143444468436148727A7547444549517A68527663497048493569447A482B65483076415151674D63524D68784550674D7A5135736F7645454F42356A62422F7A374755754641315342527471516967786F594448433369616D4A68415843684B6E684A717436436178714D6A687A785351444463374A3059517475476A4C38646E546A49324148473972444177516779456A6E4F32464653582B456834683065672F614D5874647836703753436D6145444D536B706D34596B49586B42556C5652374D493767636A30516D766432774D79614C4744303049382B344B6A2F4E744D4E6762346548394C4D705042454A306B594D73656F53466B514130623063385979684B486950316169687A4E4954463259615767364D637041557342636765593737447A41644749594E6742664A436D417158634953496B552F654B6F4463626A6443516564766D506250514C354368356833574F774F456E575042467779647A687A596F5A696E584350772B4E5978493179504241644F3872504475496E2B666A346F554F552F6B4F4D486150306F79784351784D6F48463457715034554676306763424573576C6D666A795238494F49446238584A52626735464A6941584D474E7A2B504646575548707145704F735938534353615139796A6948336A347A4C5749326B386C2F4751543575342B553968665A784934416A6F5178354959475169544242776949586176336444386270796745366157436C34366F6A5565564C742B57414F6E7738413341753947475170793936324E4D6D6B796D716E6F317057666633714978784242716C2F54745757444B705A494867433169506C482B4337325865614F4A2F43664C494568456A464E55356B48775651526E597A62314639685753716F4A6C7161376E6B55475830476C50624B786459362F62794767346A394F676F4771637764466A71387376744C413848525143734C7A436A716144524C57423932675A39756C5752763362786E63382F684B4942566833786A5149466672623757667544332F2F6B4C5A62384C6D4E2B752B6F73613758753667377A31363535654F647A6B4A3833334D63472B5259364148326B336F636179766C464858427543625236646D443330384D376E77306465574C3037622B3639763735794F7450373373564B4F426A34554155574554794A6D646563494237664D4E372F4E466A327839333758706B374B33486A6D35484348386132766E532B45484375584449462F4354637A516F664B6A6B316550376E2F63642B59743333375065773338367650335A49322F2F592F6572486F59474437464568706A7645497334377672794A376330706A6556706251727A2B745A39666234635435514A544E5A6F507A5273416349432F4439772F355831333335366F7364617A396D5831565372353635546C33573337547531733133626E397948794E46474E55484954392F3441306B365A6D4A50552B4F3766365465382F44513238393874617A4244302B726861674B515448676667754C773277774A3650524947392B356E2F2F714F76624C332F7A7472624E6C3135666566356653746E744F74705039645733646E575774554E396F333366656533683137657956793868554F683877456D4A4E6A726F644451562F41547749454A774D52396E70476E4437324A2B767645384674507548632F36646E7A7950453348397533485230465A4333696A544250524A3545456351565A37536D4432372F2B354D446231477978393536344E697266786C2B2B2B6E6A4F35342F396A5A6577654F6B34563451457343426478316F4148412F382B356C6F632F2F36656456582B6F39743266354846743169556C58304B7961336134727661703934362B2B2B6365447278346A745141774C546F4B6C426277424F30766269613848704C6E494C585A6B4A2F4864722F36694776664830494848346F652B64575256312F31447277396642534A6842736F5066736A3437382B39464C6A4C373634594E504B7A4A614B2F4B624B5A6264754F4D7967324850686952426549585345432F646B687838357A61664E66786A724266646C734B4561694B6F4F56514A796D623330736D4B7A6A75593545316556664F68455772794D39595272596A5953396F543147716C504A66585459766B63757846415036396538375272507A536A77524345695364636A486569726E703970776A72686547526F4B664B6965746843425A7842364D526F4A732F47416745664941596449626D74756B79375A726B506A306F745565583464524C4459744B6D6A56764D7A39556E594150554968436E494B68776C423236506445724A647346616E6D696F39765776506446783938656549415A4F4D31332F48463366567A375857705A744C36305946493639586E574A52466A57577A31355574366C7074324E774F5652517765705146686B494366486D6477355550566B43632F6E706F78324C7A69756C4C46364A466E394F715062657A2B6F7A566C5A576D6C56414A30576A35614C774B695A7953546751416B4B712F616450356E54587A7A56586F617378627037697778586875533557327477585A687A627445566A5066626B6A34563838396369353633567A6D39526E744F6C6E72536F376636316159312F337873682B734F496F63372F4A527161764C6975784759757658706D307556707175545466706E397063432F386975696734364F7A416C30654775587A2F754F4B6A65325A686B7650744334377132394E6B6155363236536630624E30687357515831392B62752B4B6A7A6D5776654139644A792B364136647431347A6432336C374759316D6C3730744571616C4665596C2B2F5A2B7A62764174492B546E77694F755166473645467530694D652F43563462337458373571786F7246737A7631382F715770585255536B304C553147555A6D57575131665958563355565956794B6537517A4F30305847697565337838357875525157697936447653756661514377512B34614878636336326F393778572B363534394F74646565314757633130515A4E6F486C4E75724B7539547339513869644B4A516F59425056454F32787877734C4E47776F346D56583279396F71796C5A703044526E4757752F705231326366716465732F303332495A67386F63506F58524D4751636E3349507771464862723879693975574E42682B506932656D6E3570326474585A6E53705533764D57523347334D743274785752556D4C3670794F7173737379782F632B384C6267514855647A667A6A55304D45304D694964636F456B5A6C482B547A475165395931653272357A5A5556586F71453171566C793474576E4F306F72502F2B783767324730624F7841324E587839632F4D74646449445A64447330454A4A6A733035562F716775447833684E68505836674834416F762F694843734854664E72412F41657858675A366B476942615758684D6562667756794B7A35726E4F65756B686975686C6B347576446B5652436F38595431774C6332757A4C437035573445734C35584B573351534A734E6B716D73794634397431463731643366676A536A772B376C413938774E504B4C5845435A38714832796C6776396B684174667A3634783849362B503853615145413768485452436A6C676C766548316A6F515764526D43396844354B6A773774566D615850723231596B364863533844486F6A516F4D654635586B7367414A737147446A3855786976576A2F4A4876356A43323130764A503376444D33627459384B76502F426F494F364E4E6B32505430517055616854565570383270552B623136326262744E4E7236386F57487046587430564F316C6B4477326D553744426364704A45374153446B5A6341523855774E63446778653056633373304F57593149554F49385373594E576973315972304E4A506B504C4930775231466238385763677449414377322F7A644732616144626C6D545661487371684A4157317865724E47756156396D4155676F6A3461596F6458516D756F354E2B342F2B355A395972435476554D5A2F56306837476B535846326F325948477A724B76447644677775574C447248587076535569725A6C564B764A752B6135656C724637342B6441442B513547674F304961376A434E6E2F682B2F4F71546339636F463352577A335573535734716C396F7155377367474A5730514B743138625374793651316E317077316571432B7249664866334873797851624E566C746C63574F49323558667138486D4E715A2B574D4674577A423761486F6C447367784E523935687646446342476B4D5037765966727A53744F4B394A4F364E4A55576A525A7663594A4A7443736C6449473358534A67504E6C7A6A564B643361564B633231615A4355476B745A646B4E705558725370752F652F304C766F4D6A3447356F49687877513174694C69416E4D51383851377434772B392B4F4B4E65686271633236484B6146646B64616F794779726D4E6D6A5152354778487469484F3137326672386648455A354857626873396472353571717331755534484E6575327047697A712F39724C7162535A304A73515169764169666F56476A367278642F644274437358626C674E4656746138636E703136325257712B55484A5851427142355A50595A637879363745356C5A6D4E707A707146732B6F7232372F2F576151663875616D346138674C64304A427677735042346C7A516E534364332F334E58717247614668467876714A5857586E35325230335037563838546F4E4C6B655533394A537372696873553258594E4B6D6271744F323171467076507A364E6B6F6B3267732B686F4D736F6C56412F77425A6B2F504C6B3333617750796E73423642676657514D317942396277504F4D6243514B7672482F357853617336766130795A324F745A433666417330664F69566766595A4E6D576C5679394D444175753347756B7255357471576F662B6E486F6470426D6464444670356E4B354B4264494F52414757412F42697449366E50682B4F414C7234526A354F7A6B6A2B504D4F6F70466F506A7441546C4156776D4578314341737733376F396546647A44572F585A394E48334D426F355753565147737A2B35557A544E563732522B56785456435343497050496847354241556E345638654468424B7A5036745649367A383175362F6D316A325062486A69687774733151584E43767036755231466F3647566E583367574C6E6B7241526C326C554131746B6D77356D394B3839317274684269332F346B6A35523171416F3834514351504F584130667A5679344579716432367957624D726D39596D355837646E4E4F676A416F59415969655A5944342B55532F704664555552725076655A34465A6B6C575A3674515632413351796E4F616C597533745133523246544545795747683379306942436F3949302F2F684A616344723648315A46686C4F5833716B6F6246487359494874624F54384E63724C656C616E72562B593032744D3664564C646F566B726B4475586A6D36453146365132696C6F4E48543374463376766A6F374C584B2B5A62616A4D614B764B37717A4F34717961796762396E67713165484E6C5779566D5A7657794B314C774C757A3969362F4136324F776E3254673336566654744D6638346F376A4C2B494A3750354464525638784245467532697A504E63434365356E762F48626A37453564526C74466B6B58424A346F30314B4545316E6456536E3234716967636D774A68556934636D677954737352757946323779504C6A573935696F2B4D733649562B444B796B365733694D7A7036677978773952392B43465761466774417173325657527471387270724375735641347A357736476F4239684B6E493336677A544A795964396A76456A53442F567378615A5462646F732F71727059364B615662442F4137446B68753744394D6B725A41544D72684262487877502F4B62742F352B5958737431506130786C4A554163516C4F5654495338704749333259677653624B3642495A58667051446B323763792B4F716E754538747632377964445932687A554F3330776546494F696C67536B7166612B665475652F594A31756476384B56436A5579727972567161765872547076752F765A4B4774762F312B7766724B61575A6A54717469476F4943303279566B5061466E2B6B59456B4B4457686B6B76414C576F396C4431736A364E4E596E6D503845316763683751674D516B614C72676836454468556730504D39786F626E394F6953573871792B75726F657258432B5578415A6F2F64486F33724B6565424C432B57794674725A4B366C424463656533477630337348347251386D77494E3252477A6A7650425757427A3832655571782F4C784B49447834435234367745487272575462364F677961494441554B6B2B5256542B7A53594D4B544D733134425A414479384365656D5258392B70312F646F424E616E4F7851357750324F30765750334A62666255526E7136522F535A5A466B394A57675234363043323731306A543272597971512B5157707072313048787A4F30797A48445762587667523441564C2F52584D5732492B454D514A4F5A69345A6543523648557039492B4454726F66556B4F5459464E50366452645943764E7047786E6B6232655049346D3146646F6249742F2F3731714E4945667A31613648475A56674366356F71723239414D384C556973644B4A30487150627A78387A7977544142664E5569554E796A6B71737271312F32412B2F6464365A725171696A7556756430554F31723031483564756C5578723032375932672F50412B365239456748574842762F734F6E39476B4C326E565A725571633771716B753049545A6B4A526436716B5071724A4B63327861724D637169546E6172556A58724A736A6835717A48313838756C766B71705277584C464B537A43793756435077767674336A744A6B4764486E664B484D50456755507375414F46707876725A7265565A5747586B4A6E47545853446C56366A7A34504F4E75365747705A564E68666B3952526A6A594A574A6C436533584157586D365654584E5756586356506E6A6E582F5A7A39786F4F516A4A5172456C4B445450484E3730344138795443726144344D2B4E6852537253337131422F6A733644454B6346656545466A48365556506D696239374C494263365657525A555063376E626D3236575658536F5458653545524C3742624B416E58454B514177475333694D794E374C6D79704C717058544C4D62303631694E77344E66576675304B42626B3953306148706662625A5A685561582B6B43647054535A684351686D36336C78693932482B563948657158684361786E7270574C484C684B6B3242575338356553657957312F6971466E2F6B3574665965484D56597579753676546E4D59637377614E475A71546C4D3031556C745A2B593157776E726B377A54572F79767A6E384436614A4458664C436575743277696B77772F3848497845455730582F656355342F454B534D506C6A74315572394B4F617036507A6845674C6E342F5669444763533637765676424E74544F73786F502B372F7076584157574F6A51394E34514478517769516A5057416D2F4B6262656E2F4A74624469446A654835307172492B50346252666D6457744C727071716452384B53706E7764616C557376697A41376C544B757875466D5A73664B4B47526139314C6777465A7A735655455654625770434B544D466168346C3235754F67797445525650524D5378486863414537432B474C484146375258654852716375314970326F666E51627A44717A6E6F2F796F7273635A5733723739576E51715148516662512F424F412B7A6179353942727175536469505A414C6C6678726A3935543046795A447157764832566149546C4B6B7A636276683534636461325A645036717A4F36314D6C516E3947427335564B6A737030532B57732B6B70677663666E686A494343494E4166734B3862486148635762336B6B796250686C745447654631473251326B7154484C6F30687A3748706974715679336F7270465766517168456478335843706442785668455649493753484C726B714279744B765472584A574F394633344F50336F414A775072647A504D473838396F5579657675774C61377578744B334D733672774F3566524F6264473630764F6453326562395355646D74796D387478326856522F35594C7231755674726B756A6A6F67536E51423042543757753249764F67656849586E36472B584C7352766C3250767748625274464C574C664F386A55412B675533754D2B6E65635535793930526A5777372F412B764F3656394B65537A32637A373379476D4C394C5534774246783130567054386A336B633433546C4856456637576C7046365A3336464E4D796E5236536E617369793376305A6166786E6137786B646D6A6C746D704B4769706E746D76543652636D745A5958587271524B3136756766666363716C6E644E56393834756354674F46494D446F7834614D56626C5436636177764E4B484A515A4F736C646F5735546D7132762F776E5975756179313231714A766878596C78326E496851706972534456734C3273374359724A49486D396B2B5034667772632B71786E74646949717231464149713969447A48574752753362394C583974615A3546537A4F4B684D564B617678504B6461447073374E546B375032756E4C3458796266685A305065625A37783942636D6B746C7A44494F45383858534656595270752B4E43772F6C314E6E4F4654365A396A665A714E394F58707A5A7039695667504F674872556458354C52354F7750724D486931684A57314B6F6334433470766F49344D7A48457362762F505A613339332B32642F662B65367232303530316154327277497172485565676B3030357A4E7454514B595663574E6971664F4C34445449694854726F62705354346375426F6B515739423757306151725737325568364758794F6F7033772F706C33343968505743366D7A6178534C5A714C726C57786E6F347033673463714747662F5852657774616C526D304F7A646B43666969424C366F48376C567370515332636F4A35546362736D39594A646B71705A6146462F5776656E76735543447150783463473243686E37373535384C566932643331306D4E56387137684E7155514C48383771705A505855586246316E75666472332F6E3737372F78314B2F58662B76712F496179416F632B63314F4E5A4632454869464B6F624254585754533545437A37745A43712F3237613639665672317068685956625A54356A7A412F736E78476B335A36672B4B383368555A79793662313668752F75613133332F6D39322F366A75316A45326A382F757A662F3531584871362F34374E7A7A55617039694B70655248745734637531365961314E446B4E566638636679746F365278422F6C6E707078767642783748726D446A33346B594832764A746369734A3750685844656B6752786A73457A35427569496D4D395770516533715A7965525A5944796A674443623042496352373565662B46585269744B5A397470385A7732615876416E74564F52744F374B6A322B72372F724E4E33363139782B376D586348637A3034734C33394A37646B72792B6C394B4D7A31362B537475676B744935745A566473616743335353496A614B3370644172636F78544757656A383164544D6B4F625872382B412B44566575654C5858357A57585A4E7352714E536D6E483943716C31456347466B39716B725037714B32383048794C646B63514D47554E4136486D416345502F7037452B7766796E787575426751694D31767742704768693579336D57376931645137715657735A6A6548323671512B6449724C547A6E57383558317744566164734B42586C42756233567955326C2B66666C6E487676706353376977514374395A695343784173554C566F4E546574527A3442367A2F413347773834424E4E2F4D56556B724765464B34457248657167532F766776587767685354367366564846374A42596C66574A326F3135744B6B31475241506657797652656F395377754F70623231356D376E3030466B2F4B3778343263652F42352B645944466E642B7078747454544367434C62617051324756482F6E542F344569324B49505468686D4E396B41566638782B52735235365051436C5330504E4B74667233777672415334446A4D6C6A4F45675366554D77696655516F554363323868694E4971652B356366753365613155416474593646535A7572704331477956365765733053644E71532B76585A572B7253652F51707073725535744C705A74315A39746F355378612B744F384E564945787A73784C6E4B764F3362417170614D7978616D44357069357051354E58567148496E6E3570542F632F39656466416E3541484D66693434665A38472F42672F4F6274664F364B2B544F68636C627A41556D4458543239585161764D366F54526F6358317862432F684464716A59436734426C436C4A54534173794D73664E6179386B39334C6A7533516676393578343678454C37492B4E6A7A41757577665577437741486F5473444D6638772B745A464739666D6D6D6A7A45756F356457736B713771347132725A31376243317968665330726C434C35465554514336326C4569456F45724F3656736636344B5074597556506834436443417A746747674439777136595876384F7242384E306D6345304A6848417034787876617A38486D7431664D6353365157614E5A38332B7A326372534F6339743032356C374F787443346B636F2F643664776347444C487A376D302B6330622B4B6C67567671704C3661557063636D706E74756C2F75663350764E445237304E6E48376B49655A6C2F6D49584F5868664465687232305359374E4F6666314359316C366159464E4E7657432F566E5A66666F6C686772305879386B32614F6262717933765837716450314C6A383849456D5342416B687751446476694231576E447A58384936326B756950743168514E6A664831657A7A336668427159326C4A6573476D4A5A434B497A3731324258584E456E48354642416748675263343051444F414436444A7336766256697671336D6B34345642376977446B477778656948794C5449757944556C516A774B34776D6F657A447748703445544B5A534C493577545942363648576F634A5077586F3757692F43304A4A6D4454726D5872694746376B61384639366C4B38695574676D596A3078683838396F724A6C4F4854532B73586C4E7A6C3363387A6C756C4C5548615450635146356D782B3850613178635536764D52767567536E64714A6E4B664976682F505636644B4A704F622B494231676652597144622F6734316E667A377869634B71537A32434B5031772F487352344F6B536165547668467052316B624D3133727339783848466B506F6144797039696F544763595770435348736A7035532F4B4E443043302F636D2B756F496B77306C55494C54757378454D71304C43726F716335705665537457657A34795A6632737741452F6D42674750325067794E48526A776A4872366678463947647861744B6330787161576D4B374B765869623147354A3639576B6D47727A367861486E647243786F387A6A6F6C46494169616F6F6F504D2F786F626D644F687A33456145415551616E71625A6C716E4E7475457374446C646170664730614479373934436B61594237315A5A49773674596639452B726D466376367A4C765A4F444A344C454C37586C41656B427665526E7270714F487745483133776D3738307A32356A61704D6D7A367072345A6D4F33747163737936326658616E63774E6D455A6F7844434548496B412B6D6B4D7836704D73616C516A7154546F4176626F30612F655543776C5A653767454C4F4E48704759614748665A47446A39664878737245476D4C447A553755552B45594B68715374493935376A2F792B7378575857614857724B70706337793743314C73753236346F5A4B6446614F304377436664344D46516D2B554B626F422B786A3767322F2B66374D7272726B33686F61704C56574A766457465A75716A4E666130484A342B6363564C456F736E61424F54326875417833375136734130465A5A796C4343575A4444745A66547845425457646C6E4F6E654768735A35656146684F4D72636A7A372F462B717969443252514D512F57625A35646B2B6253664D6647634F4A5954304B51436A31447839375932364C7674436B5239637374632B49536B5761534A636D475A724656476A2B63416E494474555642467A6A436A364E344150724D36337136576239394C586C662F4D654F455348654552387742395368326D6745386B6D452B63415636506957452F37313339517242654278796B6541306732695662634E69782F3079396A2F63776D4661323566472B7370356F41696E6E6E467A496952727736416576544E6C594257504D32314362566C35357458374744597645666F374E2F4F5535456D4473535249646D4677764E7331546C57375770356F7273712B736B78304A706B7759743936796C7059435055496A3451434A4557492B6148486A54653654597A4166513049467A304C49354D4878657651724E786A2F422B684847316E3337657652554A447676616B424348504A3450586F59595671307A724E454D524857332F4C6B76556B574E586F59554235524C696C744651563232686C377071503651756679337878344871494F4A4B57772B594C33674E384E6C426D4C7541387A7A365A66666D4F427253624C706B33625745304450713258702F56584166725073793942497147507779583534746A6B6334314270393464487537373154654B484D62697A6373416A6F5764704554544770672B4852442F64574139524355414A4F4B696A387A354130677363504158443977487042364930453475414872613067753564676659424933364D4239564669446D4D41326D73384A317969797A496257334E6D6C6A58584B5873616972626B464C465A6F422B45576F3145445157765549454C4433346476544C4D6F4D7179495450547737462F49654E546F6351324B4967334D567361505A356956507A34676470666B7032307230486D68754E6D4738336E69544538304133487664766B416B7A4873415965506E657442376B7A6F56306F6171394774585370614B6C4B625332313534414230642B6B726134365A64445241466661584D676E356178764E365948682B737A4564765A4F4E6461677055706468527466535757745578796B6C63455439476642326849397554572B4750464D48547470636C584931625843625A6C4764643958366E44574C7971397033776C6445546B4F6F74796F6E77513666677A746B65675263674A486B456C2B4963346B43507870633871786E6A714B7742754F67564244494B427642675A62762F585A6F675A6C726B5666754732355A43724C334C59454B707655736A4439464B2B76522B436F4133493134466F504D4135596E324E527A326852582F76416E556470534D474C6441596770644649324F385431576B793337676A425333695A324630744266663869466750636C735444546A4E49585A346F452F7837462B67685A31784C42653750466742316A544F4C6A41656A66336748496B754F6665635548494D4F4B473330396976656A78454D783161354C6246426473574E7434322F5851364A45772B6B657448512F537A704330497475396A34552B3656773577364A50616C32557671564B3271535372716B43554A355A7233616A74454D4277492B4D396442746F3447335045644B424E616A483242545A566B304D307A364266557150686278376C69505736682B44642B36486A3041776F67653674716A4D557333615336377067324E44773350386E7A426154516168654F626E7278584174623361644F3639594464724B62795762617159724F7570465739374F74626B4F5978524263676D50443758494D54673842726438694E556A764D665070727A646B4E5A5A6E64687551744E55686E396732726F62666D74367665597145337655634A596E782B35674543633851502B6B644742394141414A365331792B454970787431575A616159434368476F7A5653585336376D6548675147495673687673635A54792B676479496351714D344555586530527845615663317549727664676B58555862514E515A4D7636532F4F612F444B48576F6B337672704F614B57583272353959626A6A4132355065472B4C356D314C2B4A304871482F6F64767A7A41706330794B584C4D7979387048354A7A7151724D47525578707071525432496C59447876306B43363172437A6F314E46634E422B2B4139616A67314A396B784D536A726F41522F41507268316B4C4C50714D696A3174506A647A706548316C383879316E374F6D30423636574462514B5251416A676A5451427846462B564C436F38745A7666364767535A6670714A573671354F634E63574F70624D6144532F344276474B3933745161304C486D422B7342734E5475766769564A707555536631473444317565744B4C37497365543036684F4B6A37535943586C712F7731746645445631784C75592F4944415976364C462F7A327443487A623242396F71576764316A54767A776C4336474D44456539554F6F665050786133744C4C70317572615436392B6372304C62553055575A54384A5858716C4F4E39526E302F5654436E7362644E44304C6A65786A70747133325368742F42547943756B4A42756D6254434538776C434F59446A576679686A4F50487745776D57635A4A4E77764F2F7850713458682F486569704B37683258655067694C6F527A49745A54554C724337757070617975506B764C4969772F774D4D5A6869473850695370366B506D322F76364F346D5A6C486D716D745654615A70436346546B3956545058566779544F38424B444F744A7277394372793878515446585530666572737843342F704F7242667A436951746C444959344576397436387473756F42706F42523541355944373165594830306A7656633551625751362F50636C5A4A7073575356566E63573576666F5A375772706E5270706D3576764A31356B4A44666977774771436C687046674F4141556F374B6D72793444534D5A35707071733173724D7669717037557061443961354F4C2B336570374A2B446F623462504E49595A476753756859646F576757786355532F43764C42764658674F724566614B486639616D6B4C6A62432F504C7150383445324E42595A45754E76586F544459516A7041436552455678684E52535746374F4851684767502B366831372F474A6C72762F6B7057757A5A3334334C4A7245727471697132316B4170666E626B454C7A444D61342B53703751362B39494E77507256666D34576B696E41634F4C544A7252474E6144752F696859526B59564579306B58774F35684C72386F4A4F4451322B30377975504959447652355954304C4331662F395964632F6F6B4E7A7A4E57464735665257477376395A2B794E3952636445336A62746F4367526753474274333052704B6B6C4C6165413649483655706756665957456D37555771746C4C714E4B5832314B6132716D573347727A2F7A774144534170625342676D68416671734D70516E734C3448657231527370656E624B36687057567279376265646473416567753030796A5377764D5338592B4D446150345274786A7548497835574D34676E685843695134663972416E43545778332F466A3541646B47427144453369647354315949524E6F4C6768416145447A503057383263747657796D73787046434957614B6A3866534B45626A7358693568515277732F7672554948416E4244386D53764B4C68756C645330654536722F6F47336E7A73344D55674A35682B62494F6D384B764B46795443555A3347424530496C5648713057324B5042494831747A314236334351385A4D796E473154364A2B62667A6D4745352B626A592F685544586751654D534B7969364551556B59333050696F4E726776594B6D716D32616936773141474761504E7A55586C346963496A6B414C56656F4A46767676635134574E6C5A6B3241456F467A656E52614A696D75456E424E5737434F416F66625238663733724E66375445704B4E5336414F614B4E4B36564356572F647A31536F48314D7672456B77554F633570676F525866334A6266625578482F58656F4A4B7369725673485162336B6D755A784B696C4551726C4445723073444B792F39624637365A52384B4E6649534938757861597574686E6D4E4F745576633351586A31635334566A784343594943494663763970664D2F304E6C32475351557653585A566D6F4D4F555369323668712F6351317142394B50694E423638626142755479515A32494B3441596C2F73564837797070556853594E6642466B7772412B733247564B73346F783869464849482B5837786F53436964744E324F7947506538775470503745414A2B374F7349694F3668715250374D427634534F765A30364E6A766A6D7A2F732F2F676F34454464343975582F4F724C326254467759616D6E7433365050614E5763334766342B74412B4E41634A486341674869554554322F586F48636C575A615A5A68654C4C74504A767770313074764134306F3865426B64414348516F77417353765133557A53674E66482F4B766F7A326C36584465666A3071554D467164626633425048656D5159505A6A50506E4D76656B7430584F564741353933305353316C546B66752B4E563574764A764642396B4A306A4E4841666846434E3036784459496746396A4C2F69387966314646423632716339495677336F62616E4D627969377457446769746E486F2F4E4E2B7769774E52746C5844635541684F63716C725455704A7357435274324F49436E31614E5634716347396642586C7943323553586965596E2F6166414373462F57452F7645654D68596E50484930695674774B524837314164484A776248574841664336372B7A74587A4E797954326B72664366542F4153495A4D6976794E764D684931497746564A37716254714374316E3741656974414D697052733454304F4F56497463636935456E6D4F2F484F75424E49415073582B3977507176507648427A7073394F664E4F72452B636D303163682F4E655741386A62766A39464C3265734E35576B574A5846446A307975733733655152474D463938764A46376F444C30584145515050446C782B66316B4B4C7971462F4162747046675339696862464348456F45657342707546582F63646C724F38483170656E644B6D4B725A6F5931744E43627A496946694B4F395648614C716E32573173796E554274465151474B4A7A4B7466754C4537416570595A756759746A2F5A63667532653679556744507367496661756879544672466A5472722F725262545379784A454C4A4B644E5242656D547374766A377853624B4C684176684E64784251416A486E4F57712B2B4F6A64674A676F665446416530354141586546675A5138376C41416A565341685A346165484E4273366251544965396B4644317161554E6867797A39735852513469496B736969555938584B756C347949584B4D4442364C4D792F7041586E2F786F38394C6B6E3736363577586C783737705A317271305A6D563271366245566C765971696C71316551315668535A64526C495664736971695A32525A704443383258592F3065616A52346A38764C57596251675057556671744B66446843566379704164625432514978724B6372314730594D494E6A2F51414C667379786C4E707361724135316E66526F486B69316F2B7836423457366E6E6F7A69774C6D687746416232314E4B4E586C3935656366466E5778742B646E5072543237752F4D6D5857753738664D755062327A39305932574F322B303333366A2F6675664E392F782B63596666333770335A386A37616F666C51344356703764593568744E533773573765586A664E4F43614B6766757075466970705565565A4F436352785559516E636477666D7631456559582B65564A5032302B69506B333948706554346A39494E7A77462B4B74494F36614B6F56725A4144647563504D66662F526C334E584C35786D4E7952624641533741756A2F67316850314646474D38425153666F4E556D643563582F644A3763302F73567A674852595A416B5A4366424A48726C337A444D5379342F382B3338623678324B4A4774466B6450592F754F625A4B79482B7969464157396F42326B6B6D5750397A3363384D37315464314A595434554F7664355A6E75355154624E6F357365774871796D54504645386A744B4D317157455261712B2B3432306B2F4E6C536C64476B4867396A2F422B746D32576C703741364869574A2F5272706A66704876737747767669665851526869373437556E536D7A5674496A625273304A59675443416F2F75322F38386A5535515847462F6C4F446551316F786D4244793030624F4E4E50374A68755A33363654736236486A396633476649367461384E4830495534734D6C50744250487751635A79364132754849364C4F4462362B3575573957737871415071744E5839796D6C6459744C7436384B74756B7A2B383054444D62733573552B653271484A4D3670396559326D6567594C73557956336137453756475332477677337651634F446C4646657144324F51492F756559532B70514C57412B6952474F4A327436625170455850695175743443326679435266704643447955645A38454C6E4D6970485767764C2B377463727A666337495371546A36694444304439442B61666E4254666766764C6C4256556D543236584F37394C6C6D6455456E4C5541713774426B4E56656B6D68576F33566B6469747A5779714C6D796F4C6D79757932796852545A6346314B344879535A75724D76714E4F535A56346472466E323674526A4F4478704B6E366831596A315A7A6F783664674E787534385757466168724C6A3467786E4E77326E775138304848363855397279704569612B4545546151776D6A49462F614D4D433936646F73334E6551316C68643247616933433348354B4C412B476458475843356D434E50523232327132504B4848787A6B6D2F503436667337564141354C3141325359654E3579582B2B33386136314F364161786C775072726E2F6870484F74706F4A6D587370392F67454F376A544E32332F34585A356F4E4A34333133557170717878613541797A6A50556A66494D746B5441596E6A62435A6141412B76684C37376747696A6267477967765648764A6F726A6B32705A3378667176506E72504C47734E507A56585232446831475362314C50587134345175393444363650556766767930372B643461676C724C65726B6E74306943584671737872726E6873654166516D64794649344641514278734D75476D6F2B396F7679302B4D766D4D5A2B2F63646D3142484F747077734E51314B5A396377435A6739596434424F5678456B304777655A5A78397A66655A58337A6D3355564F775A6C47656854596B79473554546575715462564242394C6C576175796D6C58495258367A616D37506B694B486B57652F6C4D62486E51724A716333715643316F4D54777A736D63697A6A53416435697773762B684F394131416459446A6D56647170752B6D3556336A4548537552656B47777A6E49417565684134423633755779316950787235624938374B7237374A4F53697750734A476F77486F2B48573339414D6F636D686A567958744274472B45476B443345505A7A3758546A415564363059394732314B747A616A537775586F457737623648526832363847464B4B6C674474596B6C4478586B4E47705376724E652F452B74706C6C676C6D52656E5739583661326B6A4247423945466F485A654B302B53446D354C482B7653687578434E38513679344D49335257525042572F2F3079384C5669346F7332734C2B477572516B5344474B4137366F42676F6E784A432B48323057447574783542703163787A316E3269652B58627A4C63374E416F73344D4F79637671687966723568752B544F59722F2F702F472B6C536F64656179664C76754B792F38487171697750713458753854494235454657555048583844574538546741345A3636557554573772564B7750457462375766673133334630416D6855415668764B3875794B6D6432717565765652786B775348363745744F47417A53426C414766414E476A374A5137653158303243396A5436476F412B465146626C706465314574595473302F452B754A32327056465171634E594F48554644714D303164587643665763774A6F33767255623262596176674D734A704F59515166374F717370724B486874343469766467417270367444364C6D4F69656349456477506F77333554374C393639737A71304D6B4B68464B6773444E4E62744C7550485A4C3168544550734434614452396A4163425A362F632F653161485961595A45456C66612B646675374B3462326C71757A4B6A707A624E6269773056785530616337755870477A74717977525A6E5657676E73546F6251306B634D436F536659564C4E617A55384E62706E584F514335554C4C4F756E62756B312F76414E767954324E3371444A6752634E6D70506A6B426F684139794C6834343059563569413167584F734343352F63737033494574747156795537714F6346587A59314F53446A35696244785347434152617176643078765668585964464465633842686671774E5369664A7045417A695775715530645647354A677032582B53416B6F31616269752F6F6F6F4E465032375A6361693264335674335A732F537561326133545179387835595430326D436C65306862596666484759373973615030547374506B4135742F412B684F6675424550384370714664557831466A2F4C756164766137696A4F346C7556594E6E614F455270374B6B70666F66784C724556632F4E50724B4E4964326D745577665733354134646668684250634C7751574D4354487731467148394C2B5249356F727659372F3935724C65556F35692B2F737144644C675336633463367A6C72424E6148416A522B38666A495473443353574539366A43746472575635566749362B65745577426F424E5A54706E676959654A59663453466C4C66316F686349785A4377336C494A6A52745166764831725369794F4E59446779477877443567506452682B6F514B656A334B756B7464306C4E62737172386E3241394C73443637373334794853546B6241655769334E4F6970546E647069732F627558632B4D6345796B4B527878654470394659554D687277686568356C775A665979417954446879547362354C6E6549307A476A52376A6C36694938443874504E513545783738524246727278622F6357314A666C74697579484E71737A62585157394779536B316C476332564D7A6173536C35584E72314A7436444A57485A31782B57626D696F2B5A366D3431546C7238334C43583151573650553931412B59323262343839676574473255432F7A375A617A662F434268506243563935396B72456668796E736B38507843476A7A30375471776E697A423548334D66375A7A53527A727166396B4A586B5757453846457148396F71486A4C2F383844546F5657516E7230645649646170524E456E6D796853544973756D4C657975426D576156614273546A6B6D5661365A466A534477422F63463171304755326C52653271314F575846446455414E7A704B3273657837746A666238652B663373677A38356A66582F76766E6757492B4C7144616935754352444837494837656939586D522F5778384C777457333951317A3254494E366C54544A57455367354937547577587477495544354668436932564150724D797871534E58537A7A6E526939773166426A563178384E42714A4247704F4E6841495256494E59647549552F2F302F6A66573057614E64675A7235745A63656F4447634543314A6F74553476497746316F74765A5034307667646977794765356C72685052487275584D5A3639466865743133584E376E456B56764B3875304B4B6162314850574B6662546A6D434539575345355041304135665275776657662F4B364A74716F6F46744865476574544F6E57706A68316E37796D365632786E76592B6131466E396C65544D73484836347564316250574B512F546D566E766966576A4C504B725063385674326B682F7A51493036394235794F74567739513233622F376167645642634351546F56424B6A746F734550684153393373634377797A30682F4533693077616C414A48324250312B76436747504350444963394F316C6F5772756D304D3633744C525730763438472F545A573559557447732F755748396A632F642F7A722F65476F6643782B6B6266516A635038636D316A2F36792F6C3952684A644C74497234396A5066694D67436B6E304F763547493741656C4B6955592F6B2B6B586A39624A654C33494F746F56704D707833556B694B646A483350497552786E43366155394E616C6B744A4D2F564E3646326347474C30756D7675472F362B6E557A573946524948557472566562512B65394C4D787A364D2F6474673646573152666B625073386E6D4E61714A6D4457684F69325A4F7133597570374D366A45557246383174554631677154753773327247756F714C656C6539515965746E496A31744B4B4A3545524A6A5734586662687738794D2F4836506D6E345166546B2B6244325A4F487574356251546841736B526E565463344A474D63434349464472366E76356232782B653261724F61314F6B6D525130337570554A572B756D7352364166514336306D6754795568466C73464C55537A3675633361593543676B4E30624362363130514542776E5A5164586D6E2F2F4A46502F395034333177474A6338327A6172377A772B7A6A5768354174754537416567542B35346D392B5532564A34583176413454316D64594663566D3961783678523457684E624A75637754684E434A2B345467666A36477336426E69645336454D684C6D37745A4B3347543271322F364B71474F4E596A64344174614B6C517A34483178653036326B766456456F6E547A6B31425862443341624E503948726354504B776F386366334E616F796F645749384F415330585561583247544C624B32752B30487545662F5450683347674449636848394652327567584B58547A4D2F47762F2F4E644F65304B476C5748674B477049456B326F4F563453347A5867774B68594E4150745072426E71655447786354304A764B754C5372556A5A5751536C65393933506247666A42326D3347546F5661344435422F6B75615767726472465138382B2F6B4E35655151304A574F656B4D5278675052706175495373556937345A4D4149782F717354685776596A477337364A5A55786E726B5249787438375246647A675575522F693433506274646D3271695A4234676A49774C726A546652334B7867464141423935302F7547554758494A4C44765141797446465337657165703735795373732B41627A4875434869534C4E42346943614D583338572F4E63425776446A492F43765141383733467867414C72374A68684D6C35697A6A6567665664717053744E6568696F7138677342365A35564A79326E7841383447774873527243376A504A336C496975684E4B437A766577504A6974414A2F5A432F56396A594A37617379323274524A384F47676364386D42616C417A6C5773696951486C424879725730394B46316976542B6F335A572B6F4167767A776848494269464C7A6F6E6E573668397366787A646332546654312B6F6938796569505755553534642F687A372F542B4A3962483139616A41754B4C544462336542536454353261524F386F67722F78506A4F347162714D394A79526E42574343426D656D596A30676A754B49454E6276696F356C72626F7971317566334B7552624B57704E6B5768565433505A507A647356654F307A645442442B526351397848777230364269385158392B32584F49767343794B656B59454C466B316B466A4F4A2B2B726955523677466241757476652B53656F6A612B495264684C6F335835316C312F784C7278316B554D6E396D573157325355327A6F42733533447555302F7471693961554171654F307A62304843444876637764704F4F7335533376412B6835584E43394C4E2B756F2B554733527035627262586B4E386872384D4238524F67614F33353564653270706D55755A74716152765248693274534F6D704F714E373653452B6975696877306367574E413861487245527A4D5164496137366A4F6D6A49624671644457725A56694B3961433157583337583168674158414C536F614F68444742326E632B73675070595A464E42486177302B56325567727A6161336B553544362F71526258687755336D416266796A4A4F6F3833666E73482B5A3036494431614C42544F4E596E57326C75566E384C375A464132656254312F755A3738592F33554F6246545A657A67386B5555694F79704C2B757472766241564741304D516C4A2F4F5A6B4779366673734D4F3059337938506A3650794A6A6E5551494C34384666454866486A4B744B506C4C775436326E315A376347726464582F2F547255564936794E31703834484E76345831454261423956527A59504157436754555954704C6C673045334769336E622F395A6C34485955656D5530634C594871317748715351714855783948357738623646476943765870535144704C6351586F4177304247626D393156447131546459555976476D4D3866514637702F46684338502B667354366D31333851724F38716631657344345A356234426A2F61767549374D36644C54574675586571387A73307965334C633561742F67335136386434742B4F55684C6866486943746F55683777524476336A6C53647231337335335A50756E5741396B64483867725063474951454D676E72574F687275514261537271366C72592F746976524F42644A383752392F43437847436B584779584F51506F6C436741636A5939765A614E714B5335506230624F68556944785267623744446D6432706447443847355078694144772B4C48476268575A3336644C755742714F6347674339744F5A5430726F72376A3732776E372F43462B744C774A483779464941696E505467664F61644B653062306B7736616D496177754C62422B3274724B332B3935675A2F4D52536D4376776B433176446D682B354536644F5355355346615245514764494F724E2F464A6D6A4578754F5044497752316F2F53506A51656E78766B5A6948373754664F364E426B634C302B45657531583643397A354369614A684247774B4C376874387664697379304F3371552B62646A575537744C434C6B507832744B39644E4A35695043637234774363377868776E47516E773452353066693474486E4459794E69315644394E6B4E7272547337543277486A58334E4E5A2F714F596B735235326B4379712F6953574175744A4776434D4D694D6639477255543138574472486F45384D37353572706E4A7263626B4E6D6E3548473446422B54695639587368684862565845414730674874782F2B2B5470594C6D766D774B33475273724262624E364961414E664F736458392F736A4C364833376162656D4353353571476D55656C48643542794A2F49714D30335073397A54576E366A583034486A66433835545536725970676E6B6F734A563576424B525A35616654413263366C53655A4B326C4442555172457A2B72577A6E42556D2B3735436E702B38414B5A6B5A4D46444938456752336F64536E37476D6C337A482B43395A513830544238514B796E4852796A516169664B322F6F42537A6D3946564C396E4C36487371755444637238397155633974304C7A48585152625A34786D6569415438595372694965593779447730645878562B2F774E79334C3771776E42496232496C324E39746B6E372F4E6768594C45334845516451657A514C597162366478777956795231562B46666B4365307A44645A74784F514D6D314455446934495434756B684949356A772F4D6965656573717378744B73326A624A555753585A3176316331617237707635374E6A2F4273305A414C4F78326E446A4D426E2F6E5433764C356C304F5770687747396E705A466C7565754B33337777437467463179535536374C4950736A415A65667A6C78304C31696E6D47625255546C3279324D34774870497453614739584176787574665A64363835737038594C3239556D712F564849714D6A7356353168725867306350544A2B6E49416539536849355565456579397147502B4D433341536A626A70704A4D49745A4C494C4377395076366835622F412B75784F316465652F4457364F4B4B486364703859504D68594431564733716D4F6F3158754B426742686E6277344B617A39717A6D73717A7533526336394851616A5A6F3943445341616E714A7365326A79643046694D3541716E2F6655496667732F6D4165674A394330566B4237366E6E445A5A623133667857313945427747486D50424C774D5057784B50434534736F6A3067796A584D50474D38326635392F3862724564322F6A6E57463762785966703377337234704853474B484C493067372F4948526B3674745A53704D326F4B41565573504642586144367373394F786C374D7A5471597252796632674568554C496549543558773464573943737A62504673463749786F654E3962674D65536277397176333333564231374B6B746E494336773036384C4F67727A716C7152527766326258736D66356544716B656F796630596F417765474732363636304C6B38773653553268615373434746464F3855724564634937775463494146356C75724D797A304C524B744975306F4B2B79756D746C5673344F46646F38636F6645594D5A694F6C49473958674C69412B48525A646661537461587A3975384974554A5069676761644334357A5A71662F58474D31436E34425A466979744B3667674C33764847452F54466730574658697874544E612B4D4C4E4C50363154323350336264444B6A7766646E67447455544D364E6A455939714A354732542B4C7A2F776B7A4D36445368754B723665536178484C44477370784A455275422B4C34755566645945315932577A322B744C7268326D62542B73734B47386B7461612B6E7259755356634A7A44665344434A7278736E4261626F6D62352F5542334F6D74774E4F7244646341314D75456570374B6A6176517557452B64474742394434484761617A2F734D7A4A593730674C735351414B465A304839514941457041716750714268666576703379625758354A67312B52733531466F7278466D6A31467A623662765A564C744D7750704A315637632F4E7445346736347431625377443030656F637165307464726C565431742B776E3762426F7431497769436F6B3541326F58305169465057524634464A647A46666B396A2F667641656E6C356E432B4942386A534965624C5862306F7637637161364E52367277386131744E4268722B6C5A2B63596139364B4842776E77796A644C62554941752B366A2B2B6930584F7474526B4E316551506E737173563530515942456534496A5A7A536F38303061767069646E343764644D57383639616C6D5A516C2F6375794769732F38385176333662355276594738393833386D627064616269686B6F36574D4F69794E686351366F306B676445787257487670743969652B52674D4448666654564C4E4332704C34796F3131426932724D6C55443846464E6C536E505A6433622F47536F7A6B4E3374392F6B69394F4543515078597849312B7739327650546D7658705866726B544451463368486D68493046633038357030503376686365535879685679532B6D6E72634B66484E745A75487078726C6C4E4A334E426E624B556C5679316373374735526C316C3447664F384A6A714A6775366753776F3479397A735A656A5179566232677336464452466A6539364733544F6877784E35735847362F3342326C7743617761592F51353165327650707178367649437078454E6957517451364F5631614834654D2F4B686C75333747566A626862792B6A332B69516C5A595363564B75774E2B3864592B44412F78427974785A613776366D787244394D465A424B6845534C424755533677766667665666662B4C5845455679527935506D77396F50684457633535446A6F586151676157417574703751335632366439523836324C697578566165612B5A6C776467414266526C42363879366C436D39657541377846305134503544782F72304456576F72675430694C717A6C4B446671556D70582F6A62742F384775546E6D48344579543169507967567045364F48517355413859764142666B685A6B6D2F2F3939672F623863773447302F417539486C67666F44574C364F476633374F43674C763169727972612B6E736232765A7247765770446158706452642F684C7A484B4B316874376A6845486A4F316A6B764C37565359324C4D357836727338716B33722F4E645A374F4E59586E7954572B337930435755675247657772507269687579474D6B4C35507072616F656E57396C4C61667457697A4F3675766E426A2F625331796A4D37362B6161616A4D624B6E4C61715746493756536B626A44534646513372626C4D3664496D41635364394E3373713850494530334D496E784544576D5A30366A4B366C446D647875547A4A57516635716B4E53746D303537414C734439776167484657632F6262724A41497666652F37687339754E6D5773584A567355784E754E476D6B4434452B645964504D616462642F76514479432B564C6652705767744B4D7770767370477A577730354C5256517A3847426A4B3231314569306C4D3579314A31725837614C736533527364334D682F4266594F4E2F5A534D7A566C564D61315249395A646C58376563446F3371702F58314175736845704E374A5043355841375A744B7A75307636316D59326C64457037422F566D7376717236437952647332797232312B6D373661704A514178796369766F6D514677694F6A42396B4558534D626E7270675A6C742B746C4E32677562716C377848527548793441626F6B4946386636786E6879664E682F45664843736E314A6E78414D36627167386A4F316B72743566665364703652577A74367947334B4459614A7155766C6C4839514F70302F734D7748655571434368326C4E4E2F7643776E724450556B474C6347774B334A4E69324C46593835314E78316C6F78442B47584C7444626D4139705276536875774B724564476545357834652B3434546154763665782F6E316776617A5841346E384E493444726250766B54737A41434A51676464664A446B717958336234706C62567551304B44396D5837583269397675665036784733372F6B345A7633354378636D464B757A4C7A366D586B427168394B72456578755769585241472F654D765251664F634E526C39664276626A744B70312B336D725A4F366C79636474314B41733231692B6631724D7A72304365314B6C4E733268534866747132465851534C504C756F414D4349634F5A646D3236565A33686F50583172772F524F707941692B59686F7448774341745A37726F317430325A4C6236363669784E36596632725549464F636532394F596E66766E51384D34583263544C7A48664C333336762F4B7A74544E735361666E46307A59747057586D6D3756305173426D74625342646B366531617A392B714F2F6F6F385341494141596A387471555147447A4E76387A65767A57306F53374D6F307A645653793258676E584656362B556C6E367932474938313737432F4F4D76662B765A5237702F2B52336A31376356746D716D7465744B48465845573375707442484E69597A31615262613031697372796347305667744A4947326E68356D6F64762B63752F73566E566157326E4A39537570484D324C4F4C65317948744B55326E4450562B2B3766556E6E676F65665A574E76784961666E4A773178662F2F4A736C3337786D686D4E4A55724D697455316431476B3870376C36442F4F4E6B33427730614A5365452B737A2B315166654F4A58377667474D7044724D684F6D77396754684C7234785144433772465039794755486F75324B43352F707633434D52787A71593155764E6932684463556B465153364F4E46616D622B4246784E6758452F555052362B4652396A7656686E7269356C494A4F70656C4C48746A62584A6E3554533738536C322F44687A41624A436B534341336866774567364341426D45336A4B69675843526355316B6B50495A2B2F336F7342367841304F4257614252466A79516750554345385765786A4F624E46414D7656512B68494F384B4F55736B4D464E7A414C5A48324468496850714B682B4334495469794456727676725348306135474A447A424B77586E546D38456C6850586E6F71715672533749736D76316E464479794D2B4D576D582F41566F7359477574355477635046485A6F5555336C79727970725734316B4B364E65313670507A7432384F714F2B764B524A50624E4250622B6A4B722B2B737169724B6D646A7264522B6862536C4F676E366F3031464A3564426245426F31516A7236567771336E6D67736B4434364A653547667661492F635774425075304E4770585371705335646E70665831687A67555475474459414B797856634A753866474157526F4572362B2F6546696D7746596D5733585365336F6732706F3748464C6A64527654415A47492F3151357A637352386953545A505771736778612B356775796C686E415070646D3247525A316A303831755672382B6449416934446F456B6A724976432B776F61496D525736486B6D61773044616A6D2B756B724F5761644769695A70694D774E2B4D4A7558732F685535726171435468306B466E4B626464555371556442574C7846493232694853424B57725666654F68757448623074514E34345061414131436C68316A6765332F392F665436696D4B626E707154486D3336706871703559724D54557579653274535779714273394D37716F726244556E313559574F3673796D63715366394C414E4F716C665453744E45374165657232387A7955744D36584342414D48517550516C71717574383431473653474B3948555A56797A44463030476D4A4361585A706164646C737836787A47307A4C4769706D7432694B3272525A64486D2B4D596B5145475845557737733658367A63674954566C50414D4D705A44434B37326B636D645A43557755514A466D6B757A52353752716831386333367669664E6B682B6E435A4E6F75304A4644636E32494D537A4C765A6E57684F4875734A514D696E654F4A33564E39417672422F6C4838754D5875746B7334534D696D5441625578424346432B635851584342796E4362646E417A424935537078443442624942334A43756F6669522F71464571716231797271586D68742F394541434233713749414265636D496E6E626A4A58436265784F2F6E336F384E36384A3447646C6E6F6347675556573458734C35646D3978656B5570726E42526F54664F324C4956757461425A6535445255686155434E796A556946566B336E4241324532315446504E48535952576130366C4B37444B524A305659776D6953544B72644E2F5A57582F6E695939716B6E63436344626F58436E6F4166367551674378786E374C48525053556465747046446869784162717750726D31636C617A66682B6432436450326F6544614A576934544474554838343647713937627038734D75306B44352F3336696A6B527A30396C42533576496B69794B333235446157516D644C6E39444458333861613749374E593350504C647772346C744C59456A66636D5075566F55583138612F4E52306570342B4B6F563367684235627A317358734C4862586B7545755874716B75786172506264664E587163357941664269514E496B356743465579674A494A4E2F6C416F35474E52394569512B4D383838664D5A625A72704A694E4168773669516373427A52667851734373616D696D42563131556B7446555666644F5931564477337565494835675A6A45756E356B72537933537A2F64595A7935706D796E3778677478513934305452372F533655326A376D572F4C4676766E5736754B754B6C70386951594A65556562354B516A74326A777039644158393732615041323336724C6236716359644A2F36664266704D344B766967466E61484B744D303152565A3933362B2F53543355714A7576614954556765656B4B6150327A56396564713539535836484F736D6B344B57445A6B3942336E466A56535433566D5832316B6A4E70566D6471734A4F44616A4959577837366B374A6F6B6A754D325273704A336A386E7572387A7256705A387A3736554F45326563494F4935745A72513979397058544B7655547644584357316F6B39444852514A50545A4C656170644230576873454D484A436C7130794B63564A51345741634A36565A417055677A4B576651506B672B716F6B30724539464D4F707867666C764D56625543647851534F69556F4B7A5246706F716979335658333379747952526B47575546302F472F366842327046646F53314E5A6B5877567041414A30474A39753946735143344950384C396E78517652346B444E3251793041304F42723149616974393337374C48746470686E6C564D6248625361682B554D6E6A757A7667665562784966794F6D6C547A625475756F75373134366777767568794A2B6B536369762F5074523676553078416B5148364D5066454A764D2F2B5A70696F6167656D73414152516669304B314B347A6D3356376D47654D316E6251427A4D674956365565507A6A5468442F5275594959394E575665626171716E4739686F7A2B35666B5761746D572B712B3863706A75316E6747504F35615874425275737277685141516A744B58335647487A7A386575453670645254525A306E384E79736E653959666C616A38524366583656497556494976313676317865674D7746656478324650706A6272557532564567746C326475426C4A636D72713143726966424B43306C6D5A764D47594237466F57706A5263636336576C64325033336E727A69634B54556170553532796F59363039513231365362646F75764D53445A67534742394E45687348344E652F39547673303136636D6E565343316C615762644C4F65794D397471396C4848676E4A4D6F69727944754C564B65774E306F324D596E5155314145572B506D4F5A38357071353765544E743241726C537A5571707651796C584C68787954527A4E5A68545A4B343631373769723064336F52542B486A6B4F614F4E675A3042764D712F486D4E31637571424A2B657234336743344651327867413977664E677A694E71786C77566E7271334961367A49614B744D73326C794E74565278365674495731715271764679716B5637464C6D395653684433532B59366E6C3531392B6D42334D6243796A7861426F37626F31616431365048622B364762414F75514E5255784137782F3373534466653872396B762F4975513361755A324757543131475534393159754E77466E363070554174424D4E72625A3438374A356D3163577469696E74366F6659636532504864506E734E417736336D53716C354965377A326C555674396833737842345167596C543456504638675347733542786B707436394F306E7A3533342F7163726871706157485331537349376D3261644E72395834333244315744446F2B6C786C4C4C4478367054756B334674674E6B4D2B646F5348716B76673830516E7166794A4D6A76566838446264627053735541567155376373792B31644D746453642F4D66667A364B51673779542F4E344D7635484464494F75524F564553546E4276386E454A644D6D59534A5035354143532F2F4A57394F48757546456666556530625869687950307362466B5766476473395A70316A6758454A6E6236492B6B383469342F4B706F4866713957514A6F45665847346F68344C3758694F37467245376A3777363941674143662B4D35654C3947354A52376B33382F4F717A6E5567436D557730666F79585676725058715571616C4D553267395379474356492B2F78594465643156422F6B363950707A4C615965496B626A723579547478422F39476747777279724F5756674F6D4337695570466C3265325A6935706E78656B2B46377A7A384B355231566E57645A46732B67312B65506869646F334A59396458546E755533564B593256475633564F575A446671503641744F792B62586C51414834516E54424D4E526C34676443635074397542746E6B642F75652B3469352F4C43395758547A6272706662565A3358712B4F68624652377573534F73766E2B6D6F6D744769757442532B393058487754572F50726F4B7A5058716165314757623372307274304F5137617250586C462F523358435554693455456B686A47596A75654E523330782F75796D785335765175535864555A546C725A765374794B35586C4B7857374F5859684651684455674D6D4941624E42554967553650353977515A37654F424C33493357486D3373746374397A2F6B387373793265764C6B65446571616A626C71374A682F4A586C6E3561657671722F336A51623532694C344C66634B7A6279593066537674774A5053713666353538614635316872746F2F76446449354969486D3934304D483065526A6244416D2B484248637A37365A3756737A70304B4B6D30466870466D5866566D767A757171533238704C4E514C6671584C73653962466B54646D32333334584848694748555543636C7356325A3271504B74757573303465373343386433504832463038676D364A52472B4C734A48682F36466A6F5848555A3176666669755761764B536C70557151324C705A6253374E34714F7469766F7979747835437A64536D646672376D73756C6D2F63776D315350682F552B7A34633838393275414F774B66316C64583644435732497735617864726272536A6C304D7A774B49495351376F41693742457072546A7569342F5964664C6C366A794733527A4E7934576D70585347326C55722B524F684139757551756D6C7167754769785046564D3271656F2F736F46396C726A4E6562643457457768427043446C45496334784645643243396272695A6D326872536174585A505A6F63316356344675325A636575427436506357503475624A2B4E3831677048497449446D643657344D3543515665452B306375376D506438495A75547850724A5831484E4F4E627A46574D512B6B4D7330766A7436334A584C3870755532523236556C684F5A56414434706A5057374968694244546631696B45565A7347326C314651327931717A2F4E624E52326A79687736616B42502F2F6F33494D50636D2F33364557492F6F2F594841364569557673594D48592B34645A61315A3631537A61705854472F547A5850573454706A5863556E6D717066635230455A6F576F454D6B582F416D686963734E62484350536A764D6F703961567A313368614A6B6E5770325739574339707135363757586D6C5A39352F4837426C6741614567443734457734556D4172364C6A45446E474976652F385054463962566E7439576559566D366F4D6B3461326E354A395959532B7558486734436779674B474B41776A49676469764E782F2F67774337336F4F61446F726A2B7A58705733637545635233572B545A2F61575A6C6C306151336C5A3768714A7535746E7A6C3533756548392B4C7475704165505365462F3930616476794261765630315A555A4E52635072645266333554395A4B74647648564B426D654F3852344C4F543534544D5077554668737A5A6A64566C656732704773783774784F4C75526D6A5477435A6B566A523475414C6F4166327751634C382F69434E4E53455545463249623234574747582B496559377A4C7976425938394F62546A6964473358776766673544765A344542446E616F4A70434272512F2B734D437342356A796F78457155717A4B4C4A766D62456664776568774A4F7148556B3866475556447834615069672F453972434A467950486D372F376D584D37713476586C6B45424C3271734C47696F6D474853357A61555A363638596D36723968506D4A552B3739683669666F443754545A3663567674685A30314331703163787056383963724C3179743276544E47394652414E41486770346F74585368554A68364478376D50786759526D2F6A4C2B4F374632366F5436332B314A6C64532B67556B61627947666171374F594B59506F38523233656969733766334454587471555A6841492B36312F33442B2F5154326E52544F3752564F30706E54576D6F707A31717337766E624E496254526E4D634A7A43454777684B31615942463059643762487A766F7331744A59336165665A6C75525A6A456E714871483241654C4D6974554F4639676E4D4B62626F383574564266586C6C2F5374663342672B3347716A4B486A492B42694248327969596B4A5834516146624261625730346135566D336C724E677061714D3171727A3234774C7261752B39374476786E6E544B52692B6C3833435A774569637149584A31416358735537516D55364943484641734C5656506376496335616177586F3531386E6753695266554D4C674572414E4E76762F4251635A4E435443684A566D56475878563133784B672B554F6E4F4E624C63412B673777487869544B4C736D5444386D6B746D764E62712F63794C3742706A4C376246706B34475A4F51642F6E33493852366C416C4B57327954792B562B304473477344374B502B31356A593376352F64384131694F386B472B546B4D4D542F5055697978514C68434D7A7A666D6469456B2F6D554E7169376A51425935794B49485757434D4179497469554E493843374349626750653378652B454C6C424F41432B4E356D486E514F6F446A447931444542794341466B3839376C677341547071565262636B5942726A42664858773574562F59305657357450646455393747656C584E62394F5658745732342B787576687765674E777A3452694258494D534344686E414335304D784149365174756C2B5A4332495072315956724C345138543773506C776541454842794D455A41496A3776396F77416D7045726B4767593363493851514949785A454A68655554497A542B356F496E3653436A6F64516463586B613779626A356D4D6D6569654D655075747A5A4F6759564A7A6A4C48797566566C7837354930687A616276694E5230434733472B746D746D765138614930526B49526A3475507059574758454F494150616F635566355A734A66654F686E69377257664E713035464C62696F393131487A61764C542B356733506A75386467474D5750425164523973414F6B344C4D6232482B4751595868324E6A4939485061682B775943485067614564687A30345272326B79573065305478707538592B6E6266662F4768796B334E6C3365762B62526A78566B4E6D697536566C3970576648744A333839514F6642686F353568714263757968394B4F34676D6D45456A72534E3065692F2F396A45414E71534F4E4F4577534F4B4574773737686B48567945324B4A636A3050475A3536594837315A63617A3237662B32384453766E3961773879376E38777534316C2F63334B4C64304772655A48396A393067424A5A74544E4A3541495867416458495A6A595A4C3955662F454B4974436C6F36774B4949397A454B37676D4D6A7351324E5252722B6877327953724171793179636D53446B50553534424638456962654A4473434B754274346C774E436D486741385A4466315A776331754D6959704C6E784245625839734C63486B7566507969767255354A706F526F6F30473278656E4F4857674539443551796342392F4B6F76634436506F335571386E66756B4979586E68326B2B47584C2F31706D5054546943644B51457A5A4F536B5479337638396950472B6D45586C5945483156737561734136744237674C444152585633555957436664774C316C38706D696C7A77584D67475A5376795134584D5041472F4B307A6E58694D45424558564F4F674E524D492B6A35643065586A3368346C344F42454F3934674655634D4C33396D4B34706B495557744B58392F4146556D514842392B45446E633879515167682B6447454B644236612F34522F59785477482B4246334F786D302F6767364B784D684C79584C37342F34664336506D3263694F75783341383851537A7844336E415139523968456B7845616670587645576A5068344A544C44776B4A2F555572674D7752586C6C4B634456353531736963456F5873596A3873746E306F57444248636538556E46366766434236384A7565426B4A64552F714133464B5139586744364C2F714F7A7258584A5A767062457549665A4A646A557155343943645954624B57413867426E47736A30547065424D664337685A384B682F35456955656A6D413133317334676A664358492F6334327977504841364848764D467158436561485339774D55344B672B644B674842316353327A6777644B57596A794B49464B4C704348394B5058517348384D6F6E6959755937517A41727450626D666564464F484752757442774866554E6F442B434D50454A55526F5A776730656B636A7A73686C39657A434930517551546A43684E7541444467666A4459522B6B5259674E314957394C506F5743372F4A416A75596278647431596C7151754930546E50494A446E456648385138686E324233412F34585A5257596836772B4E436D587235436C703076415168742F5356475855792F38654E344E315549597A4C7253416832384A5633486D694D3953314F4E7A6A315753777768766E3462756144344431735A4F6738523668523942514277347A6639665062354F575835612F73553771574A793671567179302F6C4239476E4A4F394435517964454D596E3176587A70574B39476169303766394F363673326D6355594C684D4C686F4939726C3553646B7A4B78764D6476502B4978484D4632314767754C6A436541476C4859337A796B386F656C766752516A455261784A696A69634E796859556A714C6979573946614B454151423942545868523362676C33684A4763567A3042596B5333415054436461356F652B536F6C4733473957546A4D66445134675A7239634C6C2B446434436830646B677156656D343748704A57535A6F464747356F4455696556456D397739454D7569446532512F48505148414E393030674358654F49484867502B41483054682B44344A4234496A6451456C485365636B6F2F4A38476D47455051614F4558734963515948336779474649506846776B42794661495145534131494451576951515164476E454444534E6A49512B5175756B623136446F6165555048524F6F6B3944464E43747A3270587276334D646D7342774E4543626D6C45346B596E785556786445344245596A3143414A72797A774A34747A6730635367306A7661506C797652754A63324C45504568386347714C554A42774A694F41696978796D4B4E7055324249756752535251426E52533478515A4852784149504149615554496B50396A456663774E527530684761556A6F4B69714C316550455559326E4C6168544D53444B496C4A337351535162396F767449634D7A35644B4A42516373417A513236626E41476A59484B49674753514867523453304C4D522F764A6F4A3052525935492B414C5156456241427465616A5476674849506B386F7934666569465963317051482F7773502F726B486965523470737A7772676C317877694E657969345469562F77436D374157304654484F4E4F504850483732704F47757352422B4B6A4F7A6E3079486A55743465355A3678564646694E4E436E6172354F73355A6E626C6F6A2B374565413952734936335036616F73616C4C755A4331554639594871526A514B6C5947796331496D6C7666344C6457426A77727277584C67423832524D4A66506A31714551674435773654657774494E61424E317868576B6F6B4C7469726D4A4538384B2F354772476843587176536B4458394C754D6C667966745569396F49516F764A4A5456496D344E536179487353536B576753414D5371414D303041454C3754532B4375712F424542445443496864647A6768643647777A4645774E466D7A74684930506F4E334A684734644F545037706B56766743643031744F4C3044462B77392F434E5A667752506E504A485948456B564B4334455A6B684D63692F41465176487948427374316D2F2B79353157554C4769416875787039495A6A616B414D69364F627733736B775145572B66597A76357662717555436F4B43314C6E31617961484B734B6A6E6D41772F65654E50314D4769343677696F2B347877534D43657234364F51495646646477454330424D69387748647A3034526263526A766D395559696B4B5849714E2B467431425779434F674848307342456B3349522F41576D5939395948496B706F364F4B50766E727A5167366B314455335171426F684E353248546846545850346F654553426350635541683752764A465778472F69337934492F6B77617754524265426C4758394974633168302B31776835754D4652463635513977482B466A697143672B75516838455271306F515067754C496670714579336F4D6B3979465978754F42494D6C644C6843652F33634E4573394C5447514D46325249534B58494E32564F75456C3845582F48765A78675053565945664A376D412B413958783350524952587343306269395332626C365A6F4E3652743879576A30476F51666339394A45664C4B4448395A7A69756C647356347971336F6575764D7761535945394C516C4F7254534439414E6A4F553966767352596A32784847675775364B754339564A4E4D4478346F38544C49663479447536324D4978624B444149674E69704274756F4C2B4452664134366E46426B364963436F6D52632F734F4533386C614B71514A62376846676B503341312B45656E6B71376A33453469376D48514D47795352556838446977514C636F422F6E7638494941373355796D4334734A4C674373665238494E724758444738364A534141734F735343756F32645A362F586E74476B372F374E74333932344C6B647A4C2B50786B443849337977486E534D54736B5050523835316E58506251737331526E4E35576E69577A624C59756E717570522B5932707A32526E724E5565355167333442724279396C4A7252746B4165704C73634F4B4352436D4971666E6B68706256634E556B31676267537055524C7547464A6D443444543873425635776C554F65476D77387A436C52383063422F575170456A4D31475A4D42796B51736C45324D6E325174564857517930636C4D67366B356F55425752796A4A545A774E75616C655230516E70417532495338704466674870595153446641524F78566A4C636F6D44447A6A6B3367456556467863534A5973632F6E68474C2F50792F624A422B5162466635457A63694461506E744671656B504549312B456A736478422B6B52655565764D6B7166655A2F67635449732B6548647A556C6A7653673575734E3758784164383850656B6658583938357631716332565252637335492B36756B433057376D66506E6A696444386F644D55724F2B52783344537577794E64332F70434239554A51306F484B4739396A36416965553966697671426D7256667837724562732F536F4F314A416163784C306F464A5139434466694C526F4434426374474B6375664168714A757A46594C72497A736A594B46527375506545416C427352516A30436A2B385A6F4C345251355A45506371763531432F4A4C6F45695462676B526C4673482B45794D6378346C6E4230543338493761487339714C4B663046675968433664494D363043446B4D5A704D6F54383070356A7848744D777A514A2F31586A6D556B364F557236316E567A66337A625856356E6470386D37484557586657706C576C4E316F36662F4B46722F7A6C33702B39394E68644C7A3532772B2F754E487A4F50714E466E64756D7A4F32694E656C4A466D58716871726B613565536872486D552F4F37367137363654634F423864486156422B444F4C33667541654A4C385639687A4B345575304671497979712B45723453574143474C454D686555414A325430624B505A356F4F64584C75354867454465435864773634755A66735A31415542756731364E5069664153354A41776E6239484278533930676E364C4570575763695A78787477655361475269686450444C712B664753776C5575516E6A47417753415576522F3052426A305268473565365245485630366E4156424575306C47486D6E7741377558742B4F59482B69546B35724964426A47352F514877414C306F555864716E6A7234316236324B546D63323036596F684C6C3242573244307A2F3175396C54513842364144313149415457307865476D69786E315678373356393968345A59475057426570494A7554674A6B2B424C2F7555564131586E49786A44516653495142444B52795249454B2B42644D4E666F6862465A73786F5978776651546F30664265395132642B6C4E39416951774535644632314C4A775A4877593957304B4B4F4F434A37694E4578373547396B4942344A4F634161535859424573484843493365472B697A67514E5238504D712B59736B51627367794D52434F4366675645636D76524D533478354D5946384A397A4F5749442B416B527746585A4D514C48357146434E6778794E6875786A363175546D356F53797A7579716C723171794B71575768564A376562354A4D384F6B6E39657550364E4E6E3739363462524F545836586765544E6F615144594C74306B6B56425234523361326475576A6D37586E3077434D30324D68683054664335617845706169745065437871454E4973626D546253557638696F79666D4F4359597751566634755175563243673169757038516F6E754F5278706B702B435A493241686E776D5538424A6934523046692B4134583371624B687276424259456862654D524F706F5935496D47786E306575424E68434F4C3445664E4659454F2F384968756C76416C3531335949702F2F34316950664941454532516A7245433041674B67676A7A5461465855773265655147352F6D4D35726F356F7761536E347A304D52766D456E536F2F627662733561617A48426669414E3546414D4F67506F41554731672B77534E7333507A7539515A5857574A7254553055723633753039446E6C4B6636574B6B3555385543497135757672336471306D77366166575664562F65644A42466A6A45506A595253306A6E696E3551524765652B354E2F2F434E5A444F52576A336C4D4D4C4344756B41615550616C705044476F63716873694667736D49454E315174434752433334474B454F335142683130306C6B32324642706542556D68703330436643506A6B35496B5A355575516F7A694A4F534A763379587433464B644362664364644966367A476F764969685769547843675462764149537A4A7741476468386745624245684278634E4A754B556E38514F6E496C61494C62794C527871344355464B42544B4F30615952504579666E776149455335436A78436D37493234396A4A572B2F5772706E63766B546F7136664F666A64575A3179375075575A35656F3868755A4F32493661396876727161414D696377564A47742B7A4166704E636D76356A4D334C3453423358666D763937304164527542346A7047712B746C4F42613545416B384D514E78457659693454466677714E3443534D6377676242436F4944754A393878353369416B74425535376A62684B4A30737666696874686D66422B796B504D445A51445043456C49774761685966306F43737A46504A4F52487A6A59622B584C777232424C3049316365584F304D7078545541575173462F554666474832586141523972416B2F756147672B4E6761684251354F68487234514C79674166632F3838616B592F4A544F414878506C4A5379514366415356323446466E46666B57444148686B596D554F744A392B657A46364B6B2B435875574C683856334F5357412B4B6C545149534948516A2F6E4742756877346246506D4A65643162576B794B70484F4B5476584C325537336F36425A512F644A7045655547776364416543644472733033613750714B4F3359396659697653614130382B48436B7A4D69313979582F50735259543039456F6F686475524641447A34483652436741324E382F49326747617855454A4373343234686B644A424E79787A69426565674832564A304F6A772B6A69714A47516547696A41556A2F6D454F3937487970556735775336526847583846594A2F7237636E455033444E51685238462F45376F34426658784767597877696544654F2F41704A6D364C616F42656349424F4E4B6457445355656F4A6B4A4C312B6A6A66774F427A7A754945303755334378784F417977734A37574542316C615767515447747579374A6772347048625241436A7649726B7878366C4B37615339753267334E527674795335746F702F76384C754F5A5063744B3670566E4E68752B396677666A3944634D58576845447A305535454A45592B6778497A49526A7A775A3179456730526E67684C74426358447846765A633479452B796C76656248694551414B5673524A744262434A516A337767474B517A5339736E63524D674C683451534477564858424A796834495A6A712B7842555076476147316F684261476F70716762304E4B53516A77446E3245727A756974376A53584454666C774B78674646416649676C346B4648457A2F78784F4E476A6C336B6D5A7A387278716B5857534B4D6F482F654B5A347670427863594442454439692F6A694C766830614F306171616E43494C366C43755542724956386F4175474C6C3455495670516A686677653571537850754C6A77344E6B53334568644A546347442B4B34656476504431742B614B5A48546F4F66306F2B644B346A395363426D6A39306B72476531486E354D64554F705A3432384D727071636E72717037587458513738774B584B5463796D302F4778504D652F2F3150596231387877306530624C366F3046454D55776631346A5069304C486D423956797864664C6F3334515454464B6F514B62554551462B6A73766E455877706B492B5146712F4C4D70396861642F63384F554342423144663662417078557248487368704C51767A706E52515456434C5A784E2F78433937476B6B4C335A425754483178674B63416C6A6A6A6B5272794C752B534F5477774852727A69623347424A6432696C49565443436F6633345242794D43557732453371684436454963386F37415A484234536A72316A376B43494F444441777332335845576A6B533361456C7331684163615064382B7A4342744E5049503945704A7172745647545A316970554F3759505535625172703630757662527436624D6A2B773477377A6743445961694C74545A5744706A79525470537377466943632F356F4A4C4B4E496D6534785A676E434A65352F307857386D4859757934307A446B334173334D734F457241652B5257452B7A6A7A51626A42492B7846363474484F6135336841396E614B516633666E7977776466662B446F47373838384E4C3977322F65662F53562B393538356A687A65794E3866776A367A6F4E6B45713044705053784E2F37782B4946586E6870362B2B4644727A7838344F5648397237343049376E55434B5445614641764C786678464D726F75572F33457A652F5538614A4638776D664B42663252544643723672384851684A634F5249574950726A72706365486476334A632F4350593773664864767A794D4462447833592F7372455554414B6855576C6965597A356C4877424C65694550384A68303453363058697149483241333351464B4D3852364D2B74446B4849784E485755522F5665635A6E635A384B7933436B63794C705775582F496578486D7058706C5644752F45304C3837657545524344364F70724F3275573545322B6977497568376C3532524D504F2F78332F384931703967774F31514B4454452F476330616650626C586D64716B4B4C74714244566452636556616266704674355344686454424D4F5A514A745973446632545030554D514556544C6F7978383456724467695A6A555A4E6D756D4E4A5556656474486278584E7653633970716935515839337A3563366A685A4F4931375152364E794E624A7A6F6A775A48766351464442487749544546365249654448496D3551524A6354707978776A2F76736E426E5171595467734B56784430654636376345754744354C6534516A3045307A6873485169376A6A4B3269775565505079367572766C6F7556614B453167434A32784851746B314F4F4379304E527A772B652F6F4E71593976385A6E312B6B7A4B6A725A4932704F777A304351514C6648533073792F72587936517A392F41365372556D7134354F50584E56317A2F7833672F34426E46487250714E394641584B567944554B4C55686B694A496B736742434C6754467175706B587352627373516A486C435375484C7667684D67656F742F504D66396979694544622B487458414D6B6C3368587A6A6A586E434A2B3535384A627A7A583546434F546F5934555934674778464930653934342B392B6549567A637375624B6D643132516F616C43587447706E74326775735331373676423257706354435A4B714551694533654E6535742F50786A39747169747071436871566561305655367A366339324C72334376504C6C73634E51587941625A4C7A6F67504A76414558476564793478504D694A2B5A2F307944783442396F386B486B69764D6348414361763831636C3170577A31717641542F7A473958546D73425377376E74646334377637776A504159786B786B464C2F4349454468483843764B36352F77352B5378336B74445263424E504345756849376D576E77537373637A2B475A6F2B507857593035445A63476D4A5878625067587051624668484F427949676E4C784F4758443042794F414C726E5954314754594E4B4C652F52756F73542B3272706930446D3957506A2B78306F78506B707738794356416F56334C75424A475A2B697A2F7674506D6F384236476C6750426F38795830476E686C59363062376E4F6D51323161776F3661362B6446764441647279686236784442444B43776B695A583838544A74353753635650714B39336A4772765371375135646D4E3649744C50784D76645368794866577A57777A47713678372F414F41537370687841634B7677456D73714232424E6452557954346A76566933414149556E41656A676D7A704D6A63732F524845425041596D4A424C4B48472F696959504550793453675A4876794734754976304C34414773587263516D4234454966556D4C517438564876336A7756646276762F35476657714F6132305138354672557632734F442B4D49453744526841712B497A314642636F47424373654948356B562F757550707A7039385358474C3837784E363749374E456D746C646C3258556137597136392B684C6E537333314A767644332F396C384F30336146654A3841526C44703365594569736D6B48505373796B69645445306F6C6259536573596365744A343338435064344C5670743454336D45566479424A73454E4A52743473545A425A64786D6E516A6E726D6253525033486E386263794353536B6134775A5862412B76427662386532546D2F726D4A576F326161325A686E4E57536174526E4E35624E6231552B50764132473048374F30415A524A364B3063384E5246674C515A335451366552707658724A6F557272714A7933526E6D412B64487530724161516B5A6B56477A55476157557647744759486761336D6C4536684A4A746F33396E6B43796554666232472F4D5448306C456B4D57776A354F334578396D7649386D51746845324D314E446C7741483270517978795271737876304D4C66755A33566566626A41566D2F6251576E65556E587A6E434E54626144514D796C754158743179466D7553504344744F776E7967385871796B684F646D473763487774355076504C3735316A57566251585576373236486E533674695A46424F54546963684D59396764474165414854484B6B2F4D4F4C4C34635243514677495036564C6B2B4851356469302B53324B7937633137615346306D696961496944766A6D454B68454E6A67633959424E3971344B4D6B5A70355967624A69497A48662F39545745397A71747A4578335032525366515A36496C725431615A44444C6F615854306D326154317A626442433543342B4F303877452B737A49434470666B664345432F6577423942766676434F3750714B444A4D6D743764577371676C2B4E32304A4D315A4C6130722F5A527A3352376D6E5244376734764B4C5642476F416B734F537A6A566B437473424D326B45376F7274534F43675448762B41685A794F65346B4743794D4855567949634D72434D4F343035694C6D6E662B6A3465424E5041426D38706A64304B377A696C51677745504A446748307338704D6E37727530725735656D79376670456B33713749736845707A31367635464135564478454C2F497257434669504850464D5464344D5535636F744A2F524E344F3446324D4F654458496477574144653768486147427943424A496B4767424237792F48416A5968574A35355A346A3854544C64776A4C447A6752766A6939694977574A4162456234496D64384B6578375365786A78576E675538664A627849505952495138734E6862504342387668436544366C4D52694369673048542B4F54653757657631304C2F53454A6C6430494C495267426D44773139446159542F37354F53323443556444714338467A5172494C5247644771624973716A5057616446725854544F6A6C457972555564496C344248544C535536596946676B493547344562664369534434777056736B5A41455555534F424F46653967304863512B78764F495756396B42666E687578444D63676D4E6F366841497555737334706866516552632B4D5544334D6A31534D5A5634556E3245364E524670375272715774394F5364766B687A7A576C586D2B2F2B796E452B5A4339436D6779634678442F6F6B48306A4D6C4F75496D5463486E79574D384A46775133475A3863502B6C694179773664343036765645686453706F6F424E597A3158374537422B55682F4857786F446E55547144304C437232677A524644577972774E4E556B6435646C6D566246564E38746D335053586E2B7869776647515377786E2B774A75354E33444F3973697338537079567A4A743252346C69642F6961486B394350482B6D7737595832715866507836357232556F574A6A504935484F516F3448467A7349674D2B796347574F67506739756E7436727A626671732F6D717034664B637263736C697A4C4E6F553972313879334C62317278392B41583851444C322F744542766E422B5666334841375A453355454A6B74584841524B526F596D6F754C593332632B4557776B3537457A39514142516B336B323942394D774E6D454238494B7948733768374D6E4833584344464B32464349667147447358783763642F64586137496239545266496D546B6C30364B4867412B75525A7546594249757343645144345A466E686B6642622F446F69305338314765597449796E4A3037766B68465967635139397A586C7253447542416E416C556F4E4B524477455875564744345A345376326A4573694958675244786E78384736454378776A444D5172435065774A435043353245425277693138514932552F6B4D2B796633766E704767786F744B4A3361324B656938374F3674586E747172384D377052395151586B65785A46773754395558367A43725756564448432B764A4D6D2F4B4D6575302B6D7553673054612B6F6F786A76666A6C62616F597969636A4975624A6D4B535945552B4341334769397A466E34693043654D2F3834706E374553346E513444426A3344445934633976434E356C4C4334522F354B75443352752F4449335841786C6E46564A454E326778397967396F5570485069434D5167726943432B38774F70666E75572F6B48434E776835772F43342F374552786838696F364762436B4F754D466275496E6C6966372F4C617848514C696866376A6C44393577454D6A795A2B2B68326161612F50356C5568632F645367326A414E344173712F753149764144714F33652B623544594466684E4477373144526163656435546C326E585A6E6371384E7357436E695550653361692F6F636A644A515073423758634451514A5A57436C346251363055654A332F6659555063785039486A2F555A5856702B57692F703963647062786E434C7854386D4164645057713376483450436E635043387862707A6A627554537255795531585A47785A616C6B555543706C35724B35746D583258377931614F4D75586A4F5169463470396F466E555641486C676A534D343744483545635173386B6D56584D44446D376C3072444F6374486B553169346370584D49474648386C2B364A337042734B754266426B4947397349685A78344D6C5668472B30444B5051526134356247375A33526F36486A75587258557034546D6B654855543238677249646179754F675335776D6E2F6E594467584F6252467976426B5137392B56524D6F466959784D7670763835515A333866516E7670562F79496A6278444154586B342B694E385453446276734557717743675246426E384A436144322B4B74634D6256616D7246365332734F4D50774338494E47506A45766C666E2F7874596E325A587A6D705776384863782B674953617054644F4837382B424F79444D494E774B4F71496279464D594E6A2B4545757752622F694C784B5A4865315968586774745475435359416F725A786933694650647941695561314253714C4E78572B4A7030674C7570574A394558365153576771734879556D634964634E736B6A565453713871545852344D455031525A2B4C764A634F58486B782B7646774846736F6F72476469672F78576D445766516E7A3349574E327457374B62564F6C3250665873346D6F374C2B623352476468663549304A634234614E31714F726A5A5570486D30425274714A587172796879474C4A61796C64392B796F305253376D67335966426D5043507636686C646A6A3656306B69597A494F4C6558662B482B6F385036516F754D3963683165706557643549306E37796D4352584A4636426447436443586E6641672B4962643032672F6878676B63733331732F764D4253324B4B586D30754A72566B6E74692B6B556C2F614B4252745771613678486D46734D4F71666F45455071743441656A5155754B4B65782B452B786F445948644B4646384236336E56496F436E69455363797767732F656C356F6175524B424D5739344357695178735462326249774945496D664F6348754F45634F4549784C336A535741397254586C4651415963595435502F766F54364855303035384739525376314C716B37482B694941776545734D45345451524B4A46344D49422F305834534A69494A5761643446455176384242334447336F3673495658676B532F456A73732B7A7747316C762F46594A7433486A4867456956655456753971784B73344A595170322B41424D516E6979594164627046346C42544B416A68435542423377482B525050687A7363686A2B3136643130697249516A72653158386C4D47547750705568374B6B5666307963782B6B6A566F6A74476F4B705377326365506455394772774258335170385153525A5A534351793851633446493534456F546A457832417844322F774933496F6E4173664D736568624F34433048634F367754645350424676495339785837545169517878337A50756B65426E65527946674D367748306448442F43566776676F763938762B3458682F446568465450494F434968384136324F6834456D455359612F436E763950702F507851395965494E3550325A646D64386D6A6E364E516244416430456E324D53415739793866336F76724B66543854744C4D336F4E4F6231477158567867644E593247584971792B395A2B64666B643942576E4165436E72356545346F776A7A384977572B4D3572494647376F503548697678386431682B495468535A6454513379773933544F6B6D37523559662F48565463674A2F33676C456F726768335A68504F515A506334693570392F4E61394E4F6364526B394659686A704A36364E3636617A42354462466E4659394158315950706478774458784C6C6747493749392B5A78676B4D41674B6D6643506933454848497232446A4A5362684575507A5551326744784356593467667855594E4254346764315161454733676B4B776F6942765155424B643461434475467A6134694A54542B6E723669574839347A2F4C6739625A6F35453263717A7631575232365765765677305164324D514A6F6A696D6B7079684B696569464A4F6A6E424C7A796459695244675067457534355566563048434657776D5177444A45644539764968574E75355864684D6E666F6B484E6556566E45347769612F674A30344A38524A4E64537563514A624942666763533544494771354135346350764471376D57614D434F743761416A2B5A4C472B75453339456E4D666F4C574755374765684A2B50526E495357412F69535A4C7A4C6B684F75456730504D5664434564784E2B39384B7878772F2F68462F7549386A784D5A2F4C7A546F79437575304365685737454C57492B4F6476344D3131452B484241747367616E6E6C4D2F44305A34516E5A48325842516A72724878437642482F414C7454787241366C356135626156455848496E4543454E2B336750725153494E4D6670415741394B714D2F6B674C47525936672B394441304D5162463844686A747A3736717A6B4E66506D6A51484F42776D4A30586D6A366F4B6C412F3447785876615943506532536A776D6F31646872736A754E53615A4B374D6332757A5769764A72326C396A493867796265644271774E436A44354244684F507543534A4971464D635162526E6144344C3465656A777272533077362B7343486A7552574A33575464672B73762B53714A68716539775546334B4E75484175374268693734355848703175724D2B3161394C4A7A7577785352775874554E525A4C6E55717A743234396F486A72364F6B7946424277686439566972794C7564556D50687A7A45726377684D78694C3768347464592F52514F346F4A4250384B615777487255544749533742486C414C56654B7934434631794575733578454D5555645642754F467145583846317943423962774B49426A794E51587267353937387534697177364D6B767255557139533674626B3276587A31716F4769627676687655496E754A4E49426C6B5A494A444552486579413645527846437A487663476952634A646F6B45757A4A43426338474D475045312F46484F43435633466E3945784D6572655576367335775530694A6279504A302F6741455747556747334F63397743344B612B6365447238356F2B6542596E325A5877767432356A374377754D6E594430762B6E646966534A2F4B46684F6B2B6D474A2F45434C6B4163393661556C334167336E4948776A3875776B4B3435486263694163515A344E4D63435349356A4E453730644F46586D4D652B47454378774B2F7345422B59384C6E6F67644641735056734D787241647A514D53726634723134416B6636554A775154377249624E6464706C414A7A39656A3942344A6D48774F2F6C4572384A2B7477652F626859615A6548447A5065787871714354716A324D5341574B4E2B62415063633641565943794B584A304E545049715751324139445856422F7253537554787A5135566B715579794B4B44647036323563754D4433392F4E504B4F432B5144486F516E5354446E5769794C426C58496B6549513751664666464E564868505548497850544F3357306779374865727079724C397357785071417830595231763052343735786F426C4C3056484C75705A55397933564771346C4937364E46586B626C34694E5632523574445037463779315A662B654A5271563552323230424E63767551362F47494F4A3957726D43696A7355516C684E71494B2B4555346E575434534A336F48496F4553486E4C3141415A497568435061436446555547626C756F3072694664736B754E782B61516B6D6E6247497878512B4167354C6E38385A466B4F4B536A3830666A764D5261383666473770336653724159584E6E534B4E5556572F667931704E636A484A37434B5A6C4379434958635A4C7A54765754316D6243787338707A707859666A6D4A6F4F43594249526634363834775355494875456467594156676B534178425A514C444678392F456B775933774B4167326C485042353363534E2F67465A775372554C6867437767784968773532534B707364534B354346776A69413843715148506F466E484F7352464339454E7351694478782B645871726D6E623652463372426F34723048453871626E5A4D2B76562B326831453555582F2F49747767385A6F79776A685363776836644E4C6E4D4B4D35374439794A4B367052416B4230526A707A33715354734A312B4A306F7756422B7A684E30374335547474456931466B5346716B51795A357768515A434D5744777979417773384444474F3956316F515A5567346C554D3679482F6C436D3468327335662F424669794E514F34426C7149593849696F75376D514B4E303465367850594C4E496E5030575A47776F3972684F30355361587175672B3570335242745565654D53785741413961566778724538416130486B374751496A41424E2B6F31686664726D61716C6A596472474B6F4A3761305847786D7079594B374D6378694B6D35562F4464506E472B466F67506E394250526965786B7145726D4A7068774A6E754A4F5550775856654B2F4165754A6D614B76523168503352512B696A4936506F4B79333876385A64733663786F71705A62536A4B755753705A794F6B6E4457706E545631316F71317033782B634F386B57483141654C695A303461494A6E6D79517973634B445249584244656F6B776F654B67657944526A6751697976733852612B534869515A434566504841696269474548746434375932396C69734A374F4D524152333461556F79486545374C794671764F564A6A58766C78457348396968424641545364704146502F38457A63316D64744A5350776D4B6B6B3154624B45784847516667664E4F68707737415153436550326B75573652546A6D524841726847416D4158354467414763433857517937384B784146434246464E52413145675276412F48685249354973637848774A5A344C6838656A696A6B574D794B387348506835422B45436E6B4F6568574250304170523469465541524755434163704558774134535A4F6545534F4B456B494967596876424470435948382F7643724A596C59377A6735724D2B794B733966717A344D354F425944396A68374130497A6943464970323468343149444A4B414C464F4169626C474773554E743856627549464C6C432F38497041544B4A3733654C42674E51704F6B467A634B41495549693930555233695A51455366494E6655647A4341634B4244634955446B524A43634B6A694135754B48783451684A3550455238454A49584A556F6E434441426C7744306141754A562B2B47396669464678425378544D566B6F38776F3374355754413477506B682F2F786257442F314B655A41454C3867653435666669323963584732565A506D3045676469354B33564574646C56492F6879714F3953654339556E536964376A6576304A4A46522B4F4C417153377072797135754F30494C4C6C476A672F5370486C4179516D5567684268585A496F79774973684D556630692B4C2F62384C364A41654E34564456437448685237673577674B396439303271373071725655686D5645442B58345647326965504B576A637446316E57387A4838535269706A4C7A5751326365384E3038724C4942312F415A6944654347624235682F4A33502F6158543354592F2B3348426A397A6D3270595574367577325662484A63506E6D687262626233686B2F4F32392F4F7A5A41634A39767341665651566442512F2F4B41614E534A545247554E552F534C3776634D486F684E416E4C656A597A765A4F4C547641344652314B49423335696F546F4D737549644E2F47482F7930732F3333744769323532732B6F63612B3046746955645037356C422F50745A76376A614150434C6C51625245506654694643666F4B4B4E787738784C787630585452324434576559344E64742F3372646C575933616E4D74576D536E56713051644B6161764962314B2B794C79764D51394365346D4E376D43652F637948534631304A6B6D5971694A6E6A686664564E71384C4449536F574E5A554A6641446167767A77614F667537426E313770584C6467766562733171717A3236765062612F702B385533376A2F30796D4557486B4B6E4E756F5431516656694C525573414C316957396346614142546741574F72352B4D42625A6634744E76425161324D4D437A2F7550486B55612F47342F4863735847513636554832515539682F35396B2F72767A69706C6B727973397531482B7966636B6C3755742F384D4B6A3849693363414F4A395649455A476A4C7952444B6A6E5956447671687774444752794D52502F725A5142792B635530454870384C487276752F682F5766586E54476161616E4C566C4D7A734D5251334B5433617661666E65352F3534384E56447A48654D39697747636757502B38636842684561353551724273514574774C726633666B31654932366C6C4B546858674F386D755348487167505650446532436479465537346E313352553546755646367A534867694E435854684B5A7859472F75375A62376E39786E4D6274476331614B44316E374E653358376274572B7945616A2F513378374E63514F6D554B7738686B34434430516867776737376846476F2F526D63627957626751672B334D63392F41397235377631313264636543466B50786D6F707A4F6D76506244626F50324F2F35654737587773504857612B34337A4A386B6A493761467A49756D554C70724A43306638453267664935366764357A3271496D384852354252586778654A7766377A79326D3430502B7964515746345752424D464234645945504C356A622F65582F555A782B786C5A52397272626D6730566A5A30336A37737739745A79506F5366507969744358553067387171795853696F556F4A525470716A454F645A3361775457702F5853466B774336326D7A4B69706634696F7567783761756E57455976524345304B5475634E2F6641384C5063394764714761684D59482B4F4850336D4241564F365478336F75773979574C6B67694653513963535063784169356570574E66484C6A6D706D4F4B767051382B726C4244704F6864544E30596376756F2B44746344756B365645724A634465532B344632525835765856354B3072765866333336485445745045376E483865416577427579444D4346546C41575255304878332F38477245646E42586E4246626C326144353964644D6556487A613952754B7350656851362F4E61394A6C4E61767965326F7A657170705278633662783339472B565A6D3159397A34614F302F5A67516D32527379626E44616E3330596C42774173344747432B6C77504862337A6B376B38365673317031733032566557317171574755716D7451714A5245533336436C6B573954534C626F5A4A6E3774365563305865763838746773514D49454B3665634831524A4167465755467A2B4C756C6755595637377739732B3156517A663631712B6E726C2F4936714379784C7A3136727565376E3377483637776D4F375041503974377870654C614B2B6432566B456169363236664A4D36656633434972507572503456737A76316C64655A48782F626A5771446F4C786352436E6C59655961474562786E624E534D366656694A426E4E6D6E4F36566F36313136543236484D37644958624B71545447565352326E525653757972507263446B3152693235366D32474F63326C2B665356512B345A66335834383470625A5174684F3867414D52614F494842316B7668335230646176586E7457693346326977356577496F43717A477070554A714B69765A7344793171654B437A65746E31367458334C7A6862344F3767666844496664346B425A456B526768544E52536A352F6150336C666F3868726E714F612F74627A4767304C476E586E6D3565633356467A51623168635A30574348736B4F4135752F47566B742F367A6A6B75324E4757734C5A336C584949305A37636F5A3171715A3355615A7A567243355974576E6E4C7868336873514E6846774270304F63364E6A4A4552636C5869784A576332335279336544674B3733566E44306A72382B704C6E4B64465A6231526E577575776D5258355864624B56547546503771314B6352714B2B70664F634E534337535531563636396F652B702F612B6A2F594F514436464F674D4E6965745A4C4169344F5558685872443935765634462F4546372F32706B34494742313835714D387871303836774742424969614F71304B53646154584F4D786C6E724B7559763137357063642B6A6B69484972346A45794E79525550344C70515372366F45394E466A6444596B37634C326C3547396D2B37393375776D4C65523268726B71733057525939616870444B376A464C446F674A6E5455703961553539786377474E597067323133663345314453615463484234623846502F6752635A486370474F6A76453442585030625733624C71776F36356F52656D5A357470353763627A57717175574B3637392F452F494776516835344C48362B357162656F5870485871494263465A6B4E6D553256364674545531717679462B36735036623137336750594A61444F36424E7934586236736748663470574A396E4952314F6A4F456B6F2F493656426C746C6461377634785346697A46425443467834502B385233424954542F3264705066477939356C4D7431545057564A356E586E616C592F3348562B72576237425073444334342F4C525471496E6A2F574A4E4F57576D2F677A6C3344773644674C33666E3659396C4C4C7A317A38307161465778664B4E6E4B55376656456C52787042624C37516D6D34367233795A44412B6A6A63792F5969714863442F5A544E4E564C3970544F37616936794C594F454866454E49366438763035434E35517743412B554935474C6549376976366933487A58573032526A463633446F5677376148303945674D6C644A674658342B4F7A466D746D4E2B315647705270446D4E3262303155747669314131567155356473633377362B485841434C41473272657149576A48464656524F68433347695859783879676E35502F6265766E64476D53616C66564E78626D325A535A6A6C30326433477242356A576E395638715A714F6F4373563550637035644D35566E642B6A7948507165782F4977322F646137626F4F4F3567353636527A5559435130424A325338674C3552705741586D6D37382B62704459704369793637747772516B4762545A4C5A5557482F7A395A665978443869527A396C576A4B6A5158484F6C6A58532B7375794E7453674F356A5858353362583532336F5161784A3757557A5852557A326E56337250375763443945462B4D54617A424A59434B4770375A704D76707167476170375170306A6F55325859644E4871705937466B4B614F642B45424F70625368536D705A6D4C4E7075575452304B6D5A4E6C56686D2B71574A33364F5845634358756232556B636B534D753066437A30646E44774C6562702B2B3233693965566E3774706459354A6E574652533259464F6B6D70322B716B7A55624A57536E314B476B68724C565371722F69334B3172357A5371566E31703477462B6272696268635A385935457731785052684542414969466647486F6963666769553933734673317361315657557A6B61732B79565631375358503373364237342F656F2F6667654D793267756C787175794E7855693470446F6774755779716B39744B4376706F435A39575A505373714E6E63384D376F6651414E4E4676562F6542513852675046352B70496B596C4345643456484C4E392F664F4B6E7061633269754264314C7A6C6254724F49323638446E56666C3353356D71706333484F31715853386F386E7431664D3656756176623630714C485366732F58586D516A4542695361694565614C6C704D7879714A6B502F4E745944793837744D4434624F7279544261333366475775765471747053793943306A4845325A614A4855754174676C5756434F326A794C357179754A565658575862346830566D3655686B49623549574A684E5445774D2B326C374F2B6935716F30645A7A515A35317557354A6E31556D636C48555541574C4258306B445456545853645575523639517474624248666B74737876546C6C33334D73657948727A384276494959384D39516F64644436515A41306E512F52486F58633675753755534E79477454416F375432797254316C78356671507567663076764D56384E2F7A70352B41597969752F747A7037593632302B714C304C62564A2F51624A5366685174476C70686B6B317136766D3074373142326B376D57474F7357786B614654734A6F6C383845784541457135775070756D7073466636696D3479614F396479412B57374764766E4730484852622B723452502B367335784C693163742B6E6A507971496D3156785462636E53736E4F587164446D51637A675748446F354C46656D424D6545303338465755414265772F776F4B4C65746357314A6442427979365A675639535773704252436A794148306B352F52436D6A474E51375A37344E49627162435051556C4345474A4D4F4F457A735247492F53376F713671394B5758647431354332726A4F50726D49625237685056676971444A6E4D577A452F2F39364C4265586F66447352375A524B3141726F465746313766644969414C375358425335317270316E72736C735532583031456F4F72575257466662585376575835375172623376746F594F30335344416869766477486F754243434B514567456457354368356A6E6D6443682B62616154444F4E65764765424F6B58744F38466F4E4E5379592F707748304639526736466B6D573872797453325A735870375A5748616864636E6D483338462B74476F47783157696956433837366B6336476E764A6635326E39304D334B523031644E794F736F6C2F7130615275724C632F382B47656531786430476776576C556B724C3030337132676C56613832746338677456354A432B5174554251574165626D5837382B6F374873417575796C39677759476A2F784141536A67774134464142706E645553536752757A613179384254446B77426F4E504B656C6F417673556F6456564947777A53316A71705379647472455955366475576F4C47353576343755487730755957716A656F5870472F757875684C4E4E38465863754B4C667255546F5855756868684A765871435369425246336C306961747445556E6256424A6E313075326376544E36466C4C637675564F58556C35316A71337371654244594162676638597A496E7A585369424E39796E636B50495A2B39386674793661623959554F6F3953384B4B656E616E70764856724252775037666E546B576144742F4332727049364B3747314C365354626A586F2B3061575374745551446E61704B426B4E56785132716A396857666B6D3878316A3063502B4353704E443833646F4F736539676538345343552B714F4D5864685150587574656F36744E7357684A2B2B627179684D314D53744E5854667552427459527261457169516656575371614A6751313236565A3357574E723030792F736F2B2B78673353576C4B676258436F52413742626A4E6354316E65705570416B75794C6C5A4C412B3156453576563339504A766F652B7A4F4758616A314C49346F3964416734326D4B354F75716150562B707630575A39624A566E4C6B4C7830744E44724C34656566734661773337612F596B646E6343464A386E4E30385A5851414C67396A47326F4E47517536716364705870712B4D4E6D7A714A70753441434A563052716C3145516D6576547A6A6D6D55513747537271716976466E686130714C3678744F2F42523669794D613959377A496148464C6741574F4D513861344556587452523071484F37444D68795A6E38315774787038504C57343139363479476F494E4D334C495745554C6D5953306D326F51665979354F75516F64794D652B49617941627865303664434950556E2B52375470795745342F3154764233526A57393668544862514F42796C4848632F73554A72752B74496F68783430744F346F6D456E462B704D586E357A666F45316575796A4C6F706E5658534F74754B5377412F33766D6E4F6171312F304478796A41346768793047336C30364A4F556D736E2F784E7349785A4A647879513363524434314C2B674178632B6F564253593164457A6762776F416C2B64687970594A416F74504875766A6C416A33494E6D4E5150773437714F4E3664585448423355714F714C6E7878352B7A68397830487A313868795050473434634954652B42333875394869765649746F5161316130463037496339433056735036637A7A5A745A3535394C476A363661317A7A4E565A375771705135477A5A61566B5655477668774A53304B796F2F2B3731423567505175787838793346516678557A386C2B44474944466F31415A364A464C2F74596149474E6C45646F3861524F416E6B427456596C39506F4D707A367A7279706E5531324B557964316C67486C536273336F304A574143594B4F7A556673797A352F56742F4732463832427138676F4A50764556484F49774B3033485846334E614B71584F437635526D494C716E714E532B357562387275724D70764B3057302F39376F473141717035597055394237517274695575634337626E585764637570326A64665564425458644371764C5233725A6869335465494F6B4D35637250496E5062715A4973757A6146503736366942615A4F6256492F55464A4C573151434B314839624F5855626747556255422F6B734F636A6256353638732B3839766253526D47494E446F5078526956506A676675622F565065713344616C3146354F68367A52646E353036686C55747178726C684D715157767071705132515831544A6D3842436B506C72306A72316D643236624E733275494F7A583148587762636A3947494D6F494E4D492B48746D5069484159724C7251767A577175534C656A63564A4A6E6158675A306E2F6B703847643552303130414E524D386D62304F745A4B366B3053633064636949417878545530544968614D536B707A636F727867772F7236373337754C655A462F5565486E535977554B4B385541473478316B515944313376626134555A5052584A6D4D376F354E6B2B616748566651634B4C3471416C33716F6E5670724C5550754F307A367956316C2F43313274705A3278636C746C51386533746A394F6550333736304A6950354554454957396F795250583458774172452F71716978794771393937623538717A624E70436A637641524E4F386B5347714575525449614962445874496947415642776D777A6F6E755A62444C5062717452585733667A48644F417848516D487A546A43532F696D6F6745396762486437487765655A6C7332314C5569466D4C6557464735666B39746441614F6E344D4C7536594E74796444364B7230664838574A53596741526E6158494F4A6F456144615862466A335639666559545450416235784134336155336D4E73674461356F58626D6E4E61465652654861556B4357676E7A4D7131662F7836446C7251356B566F6D4175324C6B76764E534930314266712B364933696534767A5670585376594B744B5A354B4E6D564337742F65747468686D6159563278774236322F334D4D6D7243644951536D4C396656325A5571584A74756B42745950736D43516E3834496E65595959382F3642383976716A3754766A544479592F2F7379706D62563035303136625558664644582B383679416469303968307351415258507957492B45796441414537666E7A376A6772534275415550344D524B6B77307932337665642F4B614B334334396258485873596A4B4F7748724B6130412B6E386236302B41653544734D67373376547170395972697131644B7A61577A5451625639576267425641626F736D425363344F4C714B2B6B42475738642B50464F76705779714F396541624F7261306D7443704F65747A54612B7A794F3276506C3763724D3771314F527658456F61665874357871596C304F757A576975316E37667670396B6E50343152514B50336F584E4B355976556E6F44314C42674A6569614F2B6B65415247665A3639493646495149646C5852565376534C4B7138546A565538747831705158313556446F4D7463764C72526F3835774779515141316152737159624F6D4752537750354B3578706733464449485142366F725A375552574A7962755A752B33484E303972312B5459644E434353657535756735416D62455A6F4B5941774D335A7546786166576C78627933367767435264444E3673756F4D34477A7A705A4A546B5878564C51413376636551316C492B7030502F77316566684772763451324A65347932464A367A546C4E6B7163363136414671714964705061687074417378455651746C4436644F6D4B5136712F4937316D533146715A3071374D62716D6376626279746F6675706847576F4A65664A59573637546E4B517157626D2F4B614B374D634F6A5177735850574F4553326F6F64526876447A2B3273424A536B5746653554624F7273445457496B56704841476A7A5A5644564633323238383854753946394A47566236496B634F343547786E637A3734584F35666C5758565A2F645135616A6F36464E4E6E6576706A325A375672636E744A62655337633565576246786133462B58616C61534267317479617041526C4B326F742B6D544C4C70432B7731303571304F2F6C47624853325A4A5435683943343047514D314C706A4C4C796273664D634B2B6630724369775638317731733373716B6D7258777739644C617A466C6F7177477557737A613351775764414F7068696B6B425A4D7A64564364316C456C7470636D746C5A2F63334843456A356D516C4B443535684D77754866783966556E5950314A6A654649335A576F2B374F7557706E645936447A414A71754147387A6E626F6334484C4435536A333469314C55614F4A6D656835324D76524B55665A465854566F6432363437552F6258636670315242617947354A5147474D4B4E5A327374592F6F71797450714B6B70346C426567326D625453736B2B6A33563367584A4B31656D4642517756454E36752B64475A334C526F7A464279564B526F5961316C7174783549325079743631443061454143666C7A5179534E35474936366F62426573616B426F525674575A594D595542685763725158636936616D6C7944326B2F475A43546C5A2B6375576B356969792F79356A635870486C4E43424D3670584350627051707355706664573564754F434A754F7A72734E6F7138415A347164634133474A59583076754D532F6D3757682B64546B6D44576D6E39383653433050465154554D5A54494A3971577A3231453776525332364B557A3636675356425442666F4E64626473664355306A4959666A716C4C6A52392B52744E4A597A30386771475552426A596B43763546537A784E6B37635463513750684A6C775633754933745A384E4E584E55684E693142343148727A6B5871717872536A4334666A44776E7234355434536E5976734E355569724A425A6C485965577357662B57703378366C77653459317650733442665A4246484F384D387A4B50392B6446677637354867554B51364365587A624C54334762422B77656562486D65445A3576726F4E486E41756A724C307662756C5471682F616E5174315973474846693279416C422B4969703866323053444B6A546A6842386B5741346450346951317379516F42396777544E4D5655554F59353754434D524A576E50464F56314C74393333765766476475396D6F3773446738386565764F48663333673341376A544275676342457039553446644F65737135616B6D43726E64687065597A52347A41636A4931456F463246617A774455632F3730316E6E4E6D76796D7975536D55716C6C45616E657658716F744B67593047716C355A2B655A74486E314A6456667247723749754F4D7A65757944485234416D7039684150477A38747846615A626C624E6339545733647833674545426F345551535031597948504253693071556B6D39737242465062743343666F4B304976524E4761684C594632334659366338754B516F734256574A6D69324665712B486A3968566E724B373835437231313335782B786A664F514F5659344335392F4552324E6E323670534F79695149367361616C463444676B4C2F5063656B6E6D59317A4F39656374486D64596F626259757661352F5A714A7A65544F6C4A586E756C31457A6A504544685A44526A4859756C6D6F2B742F633631723059473048634578424D2F6776355142446F70312B756479326B694476434E42736C656B587A31456D6C7A566537316642384C506861456C72576B53616E395972666938396238565975676E5253674C626452783552364C5142426B374A34792B71554E615662482F77784645393032554C6F754B4E5130615A34366342464E414276736C422B76564A6158357257715A5A71506E573274666273646D507239322B34642F66665834734F7675492F38704C33305065662B66306C7071587A473954353965573062314A48656362577570534E56546B6255434B583366584B5836424C697632663562704E6E38564648754C6655676D732F77446A395649504851425163753071394353797533527A74367A493631444F63395263666E3372387539654E623278737269704D71656C6F7269334A7074365950437268437164326C386E7262726977713756423648396545597046673864757859616333764477574D73414C332B484D75792F41353956717479526F7632553130724C374F76764F6D5050336D4C6A62385247587A52646541665933756333372F702F435A396174556E7039754D7564314779567A4F5435545546396F4E35316C71393550536A597241763052317556456A3046536A4156693870546D7271527A515156314430662F6F343376414E46794D316A48586F6F586F35713565565057562F727176627378667558436570537133565A48555567624E67435A642B4D597479585A64596233716D30382F4D4D51526870694A63754A3158574139656F53304B70302B42794739486C4357326148737650744C67472B34647A4732502B6A75756630725A7A56576F7865626255562F70557936706C72717155432F4A323939425A6F36326E3456616A30344D3859585549484348776A72543053483243746368435149776A32394A73416954683168766C2F732F587468597958414D62314844306C466B51506C503851784845454335552F41657042776E39716A6F3374306D57326B676149366E642B313747336D687944534C4238746A3550354C6C68454F55764949482B63677656554D445956617578486776573451714765655576544752745835725570307746744859756B5454584A4543794C4D7474684C4768562F6E376B645343734837552F4941596F6B485A536841585779336D4577512B565663546E476F4E57433630634E61526739654B355A7150716938343357476737477A744557784B4778734E756F4257636A6B63396831687779782F766D414630686937577035504D6932686B7555754E52734C2B693638655153324D426D6B48615368667755676F53487A7575764F57575532714766617161656A50326A5370546833426C6C6B4270624B345454323751586E376D302B3852564E686B62645A5941634C5073454F586252315855704C4B5233374A37374D364E4E426F5A6157583378325238312B466A345763534D76345243746C6B4E39674D6F4478514C656E32506A746F652B5639525851384A67556151374E4A6C324C61724E3944626436365474526734424C4A6766386F394D515553427865414F32726B6A4C5067384735316C71344A71517550584A4A4D71494869787337706758646E463361732F392F686432356C6E4C78304D454435453455516550667247783571727A3277334C4F685A696835562B705A6130724E364E634152564B35664848683248335037774F786F7945384C41744761686F2B773050774F513145504E636B45484D68586C344A333968584A6E5A587A2B3561645A312F792B3645336B4D35647A4C65582B6445426666446F396E506271394172417575672B615A7651413048664B6A796263617A5445754F7343693637625345696D3859365A39776F33436835774C374C7578614F6131445037335455506546336E2F3444304646705636582F486B614457433661636C4E384947336E7A756E7954437455307644464D697976514A466D646D6D306C7872475152764A32496E45744E6954734A362F74307346413765367641396A5538533635575A322B716B3169747A37626F536B2F62737A71706E32644162314E4347674D746F756834342B4E4A5A445A71735656644D36366D6D51554961424B2B573268644E3237693870466E337A61667542797639304741677432696C666442546144636E734F754335716F5A6A65717A544C5762373772744D504D4E6F30796A3439414A686D67594D344A36696F776A5237302F2F484C68387357355A67306671455357616242757272336D73596D6465774F41596F67443444354D7063624342356C6265344F74324B4A484E343479433777533879696D52664D2B55352F655544717658582F2F384A75516974334D6435674C78702F48396C78677170336571554D766C6C616D514E4863614942716E773257586D632F77767775326F38564451734E51504571434B77503033673959543059525639366731317072525874502F754347483434464849394D374A762B724C794F6562612F41347472615336447633345567676259766B62477A7A476F6F643834775245344C7459506557686C5A332F786E673954494B394D48474C4F506C4339436B6E676B4A64476D4F52395464754C4B7858305043575855506A576253485157576141796D6D47542B61316F69423867636D416574786345386B31506B4D69796F4E4558576A6B5067346D713179656C2F74776D7461442F4D7645594A6F4449474448712F50532F4178354A6C41466F544244596B733352466E6F435244567144574A574939494F4E55597A3270676232614A4474796F637979714148364E443359682B4C546F676448696F616A6A4268725652625944584F62314E3939344F34683379695950384738486C4C61513753454C4552614D41514C5967444D6C75476556786A654E704F616A4D716762312B7A664A4D46386E435168576C4A4F77754D45695A534978454F45344A44534B43756F6C7161666E774C414369706F7A7A2F326857535A61485556514656656C717A4170574B417151576C432F6443444D45612F6E2B7A666C576A75386F464F697A4547696E4A674D59305678782F6C72314136383944546C424852356D55514133376F64592B433032686A71545A6C4A4B6E5976546F532F33304D6659614F716D74616965634F2B6D76594351656939564779686A7942474B456855624B744A6E482F3070754A534D38473171634179525A6E6670707A5770416142444A4A5030785A2B4C326B446159463073694277497559437136332F344F6168346142356F4674705241576C4A7469675133634C574A662F5939775A534E557A54504C525041425265454B31365A4778682B334B6B6B77594E304733664250685755717663566E466533387064714768686434547A44616C46696C46317A2B395A526673444F7443416F524331314478304B664932314D357031563763567674576142677964707A4B676F7070496F4965445076446E68656E7253745062363349374B75692B6F4A6D7A4B374F376A5957724B38384A714D3248644C43537A4F4B4167493851794839644B4E786B5730562B6D53446A41596D674864676D6F73764D6961705276464832626A50682F432F39395166357254534B71613847396277325168316E734D41356630414F59354541704163627667597A753850767A713952517573704D564F4E4A4F6853756F2B6966583174477646426832364E544D37644D5A746E61384E37494D764E466644556639673241757534764566423364633146594E7A59414B6F6C394E737A73394775694C3839714E6C6334473842447578344D2B547768614446684555493753755753357576467A6659644A3573574B644A4A324C6868555743416B616353504E6F4356396A5156644F71537567326B3139764B6B2F6F4E7862323153323764424D3454452F6E353665677A4941696B762F5361746B777A7233524F52524C615A705258747772594E624E4A74646936366F58522F536773534D5551583433677039577530526664683146656D65324B4448524E6F4453676F42327174473739484850313374416F41672F54354A44674B45786B6749554C7A487A6148493542614648737968796274754D5858774A514877364D48474B68656655716443347A6B65613278576B6271365574364C795746376570626E37304C695153325552714B54543867354150666E4F53574538504A324867334D2F5067614F516F7377644365344D6A43356F314A553461695341653738522F55536148594A4F31324F554F6D6871534944794B53494F454F6F4D6379557055424361506A57714D586F564335783176397231747845362F597936324B53456B6F4153714D567A6A427649422B693973503472542F366E734C344831567556626C566C57676E467045306157676543472B424C6A304C714B714D327A46535231564B2B376D746266476A5A6F3646785036334351795566436B2B496B6857453145496F5A636D41525A672B7742454866597A3658622B342F39634441646F736B314D5946512B316E62343245727441383159426C75444436327A6B4975654B374C5A4B47755474567152635851506B796D766A57422B467673797A774B4E42554F6262623659526345677A6167764A644B585551396D5A3261722B346A323348334D4E7771452F537366484545554A755641305862642F4964394573324855652B685367674D35446C312B752B7158423539446D4A51594C2F397569307361326A4D4F633846622F766A544841734E6334465877487071564A7A36346B59566B49732B5A65455A4436424C774C73466F73654431676A3950505177556A6F716B3633517A576C534E3356626257706E35597831356666393758457547477773344556544158314D534155534F527A3237596D4F58324A616D7248794374707844367257526A70484963326B6D4E4F3339412B757430657078534D45464E55626F4842657A7970614741506846466A76524A2B39456D7279676E584B582F7A74495541534F48446352617472614A316A6845364252396671453132725A7655766C566F57306E517846477148436E326A6E5071794E7A3348305669355742514A43377139784131655A496543497A39353472354246747A76472F44545043436B465061303868724A4A6862414A59697659396B5247446D3776567071574552744D45436B692F6863334B4635685959444973474144356B56344152472F6537497179577464465A4A4F673172454E6166314A37476850556239536B323966776D7A544F4858716441513146307A33424458696A35614C6B6A6E3776336A706E7461443456306C5944736252626C5746525432395758574665755474434836654E52394261452B496A55794150433779345A2F73454377344552774E513456426366424D4F79424C2F514A653453735647307367655062716A7145314C577A5332584A3630725A614B77465335614676624165596C6F513148555839516365416354636969617A6F67714E426A6750557033574C5059565668642F5535395A7237582F6F7A47684C773038507A79325743626735454A79717537737A72425069415036693877486F496C5137396731312B64423069515A712F4561796944454F7A4956304244536648656C7247596C646D325454315037337841504F67454A666633454F66676E667A6A694155316F36463445795753626E6D316F333777694F6B373779484F6556592F2F2B4B2B773777754971723762556C57645571726E4B6E4A72515041726A4B6B725A72315333336F7137646C565A6473697A5A70684D67425167704A434730554150426751532B454571413045784E414464736A4148334C6C6C6C6537332F2B3836733167494D76386C6A6656776658393239642B36554D326665633837634B536974302B5768634A504649536A53583235384F6E62786E484764693151566336434F457459573038537231394968726150504F487745724539714E73437570335061707558594449432B4E537535526A4F766F335258734166324C38544E35334C61653038346E5A792B4B4175435135614674666939596A33304F55304A6272576F6738554B79464F7442756B3459427A3441746676477370722F4F71384A4A762B676F62695933415141773650346A2F7136495A3541687648345A4C6C476C4B2F4F4F53562B4F487A4151366F3667536F42513931483845463773693336425941473056486C73634457357237595231532F4E4E58615A4D7273796573577869334C6C395650772F496C56536A5069453652715435544F476E69783273752F6557684159787659753964674C725737525235717A7A476F74322B57556D365137694C5953486834347A594F562F762F676773556F6475366141417A324246505763495A56733174332B396C2F786C506D426D344533576162766876563443635830656A6B62414669504A7632484431354D4B4A302F727173456642614E45324B7069613749794C3235415743426D4E47694142796F612B6B662B656B55454746685A7437386A7764487238684962674E4B5A7171364F4E6F76726B4566623961555033447A5955354B466E55715741327635525259333236497173366333627973682F4E76435747396375304B764F636A443548456A612F2B4F62584F434433457856796C3964656B547972506576587A7A524267494134614767575A5736344637633442334479754F4135347570324B7A797355416351417A78414545556F5765487052525571337833565955584A2B307349752B39723571765877764856673356694C346557425865435931384E5A4F6577324F534E59337772646C67565865386D744852774C462F4444622F43366F6462347174635838487270636D317A4844362F7270436D4449432B672F495070456F757A2F35686463464C653764415A626F35456C45774676584348507037334C30442F4B674B335048352F4536766F3938504B3062593961412B7871723048653839346650735562777A366F74543267733430344C32683135564E652B6978735637475A42735231455250347077617179767A3035754D4D3573574178524A3338557268644C72754B2F6979434F556E632B66512B48564D44745269314C7247386C303359366A794B4262386436744A486F566D4F4354622F38345A732B56337750665052695976356C61545530356B5A66427769394D75326152614F62545A50725450735658362B637376344E782F4269666554776539474D3646782F366A694F5A6A622F616E4E53705461704F5639564D54742B585448646B4A6F35385679325A586978486B495731367950736B6D73463171787A524146704C5A6F703157794577594E7245394F6E68544534596D444234714F366D4D74667139596E34424779493832416B4871644D4C77314B7257474A4F62544650584C566174754553314E70666A59637175694B3556543741617A58666465417877374F6B42687672384C74726C6B45672F305A7A594C6573553659675565456D6B4466623239687A7250696F52583461556842656450747250424473787252516D54342F6932362F3439646658716B6F7553344A667955457647574173734237386849434269583043436B466F4D4C61376277356A5055565A7232724B5273755074577279376D6848654B384378344B7448523468576734756B4259733930385652387971656678414371794861562B766759696A7762513965536630423873676A475A6D45323939523678484568777635413936334D346A697166676C6C5930547671613158505A33646559446474356F73333037444567693938442B7A484169675A35672B484B6B654B3937666A655478583744477365716F627250734A75625458454E687448564D366659636B397A484837496E2F696B466766413679584767554F424C41443463335A312F2F39666D42487434634C4651694668394970415476334744696F4F443951426B59756E353361565578544636414A546A627055737936702F37394B6D6F5A5449596534714C64714B462B4F374B476D39336550674366437A474A44656A646968647933684E7932566D4A49593444466258546F3454416D6136584869445441456D694432645572575A38626336667633676E67765575646B4F6445617A506A756E4B48316B323939566A4F2B794B4E7A77336170424234425173597851434D725038463131787A56436357647A627656555830354B54574B4F5A555A58376D39662F426A61433877794E5A47432F7739305377303448464F634A7865466759666B545444696D7545546650667630455259457964797642464E4C733153725A6E4B45534974655443764C4F733961644968366E50554B7A69422B4244345631764F7A6631716A3666716E37345667674930755964577942486A625339464171522F63396459346D346C597A31352B667366474F616C617333336745424C77422B6E48444A62376131685064614A4F62636B7266664B323537326658397179654A6F744C3746476E51444C75505248435A3046597A754C3435625065645737352F4D51546457774D58477159356978486C37684149666C41725963506738714156772B72506965503751747358446D443638715332724C5631574C6F5761776147785A2F4B4C46346730585163696978634C51544935662B546A374E4B5A526E394B596B3777713833787A2F71664B774445462B51793676533575594D4C4F6E45685277764C782F57493944533575574D50423962547261374D702B6C33354D61567A5A3351735A45396939637A6F645156456758704E536E5075524C5078346338326F6F6F6836344170562F6478354438513450497868455A5A4B6D536159454A6968367A6F6E4145686A4366454C693048782B6F434B626841465351657075556578664735346A7167424E4634594E522F724468616E763344754D5A634E6B6730677A56774D413070566254725957524A724A636D4658415A574D3950565252366F6A43514E4B704A43792F6B74672B656F58486B633869434931506B4E704446773030526B425A4835614E424E6D73355A4C35656B394267514B736F762F66487942497A6A414B684F4A545A3734443130437643645743466F72724268694F4B2F2B4C3652657772713536485A735970504C42746D3432547A635A392F4B6754424E5A4C58726C38666C6A305442537339416663515837784F3644345A3357574A706E5A47794D6D3742414F6B70704D34797643693276435A5246766E417272495A6D316D636C573359664B735250386973425577416459754B4C7242546D475A787A59706E6847563276693463586241422F38416F7A587839704D6A372F7A54395179336B49535971304C73427331686E7230392F6E74486737764233473176784F4B43334A2B57484156744A7658334E563674784A34542B6C652F39626A6F2B734E5357754C554A556A6D2F5578566A57772F7234744C7745575A42384F347A3944574A2B4156425A6343766C454A686B4D3565566E494347416F7578396669643466762F627A794A4C374C586779736B61715077346D333543545537396737636470366F47746E49354A49356639415A4350756855494B2B76542F4564557579676F7770564F437753386145623068766335653246474F3953426E59702F765436764454593954587A4F5A4E7274556C56713459574F534B6B4C2B5142783967446A683966782F715254646C77724A4D7432766539423948326B513045413846616B6657466F317678766A4477325951364531356B68787345586D4239516D5832782F3263462F4C7457442B71457762787244467442595750334A42315A3174385A57614352514E6856746E55695632462F4E36373550496258336B456F4E716A3246467159652B632B686832724766525261574445514D686E774F4769566A72592F556A76306F716D5A4E5969354C7256626235484764646D38465271384F4A3961436F6C6A414A2F30757471737547585A2F5961427A586D42653365465A47562F6C657858746332462B55505766342B33696B4B4B44763261363351674B4939554366754670746C445562526D37615651767A667475704D6C30345A66305350464C565A535A6676356872664A5A656E7453534F3735617630337067514775634879336D4B6B76674A3569675252514A47526153435A4C42362F2F474A70503042503077695953587A6A64527854662B39316658503351623335556D6A3939516561463571494C47785A4E716A474E575A4639586B584F3942576143575761324E4B4D6B54575A4B67737130636A70676932474D5A5769763136674434657453526C5167673133337A4C6146735A36666D396F794237567141553476716B636868504B6A4B43344952686A457259425474532B514B49705459556A6D3451586A4863622B5855367A5A617A3875377265365734696A4A4A587030753167752B417575687A316A6A744E5942424F357A616F7553476F436B367446774F747479564662755A486C5255386C7578593663694434756D707A49496439484E444358413451464943734131507A4154386255476D4C59704956563061794454544F6D584C317034414373564C76584C636F4849336F49316B6436636D33714E4B742B48373874687933456667676844693553704C68634C69444F5673554E374F41514C47414835364E784A5047342B74776E2F304F3748747A326F54546764533937706477756A7639784B76346A584672414E614234336A3234396364502F4E375157586C3275534739584A74656E54505A6E44752B5644756C326A6968556E644F2B384930364C6C566C384D71596B7470436D5039505A7465684D5A466F53456B6F695036544742395337624B6D6E6C527831495556676B4134385779427851555371625078323832735064524B5A7637397361577A754E6D637967766E504C326E42454E7569537A586E746A2F51462B53524C6969394441656F432B474656314D4E69374D395339522F453876764F3179747658586D59756E47343254576B6F47464E6A6A4630383537794B33504E4C44616D465631363465736D4938726B4A7263596F612B5A49626E72426236315479343148326636674F646969767758726752367031526F594162304B5842357163616A2F41504B41537162564641535976424D36797145346A58524769554B4175465A44424F764248796B5049507A3843745A4841784A72732B497336756C584C59566E7745354661786256664C3047536165303532742F31625A6638585572446A3845427077413437376847483673527862364866674C66674534542F673457714C62377A69677548396B585269395967366E4E614539644F527739514C614B563946357A4E4D72646F5272514C724739516A3674516A6257515A423332617338363661726E4B38494D6E4433333471613848456F614B6F6B733457475438525831547872395872452B43646753374272452B32704964737A703332765572506C5A386C39694B6F355A63435A2B4F41386E4E63396E7756687335634D576930563966693171477955784D34786373466F47456941654A44524A70654C7749414E5145464D4A592B4D682F62505554767A3358584443394A6D39636858354D4E657A4850413770746342754E6152306C715261394A7A6C3332424B624D324C375370676F6D73677152782F4D7146637A5A486559416D3143762F6A4244514D5933307A42354D42536C54313258454E32685372376850525943677861474A4F56376A5177425A2B4D777763556F4A6E745A614D616B567242307851535977775A365931356C5938654D747877694A624A6F372F41757446527748336F675173416F766674652B6255476B597955565573696B7744527267305A696D334D7037627A7A47455A6C656A3463376558466F49314D53774F536956344472773436655934722F336F3966475738784A445470523754725751584E34495978595758472F612F2F486236526B345972337A754A3965773945466A666F496C744E716256614946516476675158672B4B592B644564334946684A3839696E6558456B53446A612F58523764435A514A6575553844414F4C765739393242614158685A54432F6F5A3643454251677765394A7734727A683746642B4D6A76376C73706634487065724A70566E4A706650696171426C78565A6C4456704F4265494D706C6B6A4C566B5171755132557851616943304C46545371566A504F61767A6A746C634767463668414E676C536E366D7344357233542F2F7942566E505736344332772B6B424F38454B42316A4C4949374164694F684F577A774849307051425372527878593459692B3763706F5637696657435079646779724D503461696A4731374C2B3434394B332B39626C7156646D4A46356F54537A4C534B544C615856694D4D79706A56655A4D3653754C4C4D386655356167713569567867484A47596C744F516A73586B4968724D556D73707978396133393964474E327970724343395975687A4D487730682B4D7769444A6E5374442F4476427065324B673759577A4158695056517A38447839707A454B7258456572424A766748437A362F323463437A624D324A4E5765724B7562794F32327A4770592B5377485174325243427435586E41646F3063505438676C467A7A79633868682B7245644C634E4D3773374D3367427877756467686A6A612F596575625536323541466B78476D644F6541686D424A5348673841376D4671746E50635233616A6833747A4E787067576A72686E5233444E664744573258554641414C59732F5473306377476934792F51674A7852633538373169506E457573542B6A49502F2F4773733855337873446E353154587A4269786179306A6B494F5259653531367947456B557A68716974652F784F446975326E7944515134654A7355614D66416A78762B6A444F574C6E614C39667666564D656F55685A6B5647576D7452556D4E65624B4D70707434344569494C5549426C6763717949514E714C75634369373542432F38733674706956554F4771696C72564A4E6859706B616A6A6E4E4D6E414E6F735176425769364A37456538686F44724B6E506A6D2F51546D38742F6C54783972465A4D5479486B596738636651615233423539696B65474758452B72717345573147747266716563423679324F33775430486F684654416F482F42757639394E4F4A3957346E454F71464131745456366E6A6D303063305769646E37696D674B79757A4F7838367265634C694461426436434655395850615345354C724E59736735564D556878665643377966776161497338376C384169744C48644E71416C7A2B354D6E376B53695341467769355A4E394F4F7959436D4E396C45325457703631567777574A414E456566796F4C3341506472334443636E634472752B787343782F784461466F673041545370537633696A6E383766505461304D71594A5365634A43356C63315478332F6665507936764C6A68766C5762537173783069325A63677A477032554165746F6B506B73686B585359696965764967774555336847704E694F2B54512B736A36336A6C4B364850336D6457492B5736324533446F347A6750584E325543723332782B6A6E4C694A306F6731774534315251594A754555646A327145397849723962444C457541414141784363713645585736636561632F534B59324A514E634D66754F414461366F642B4D61314D6D315932503947636C566958506262656B4E70676F424F4A6B6F49613153704C4E6D79676C4E5938446D69787A464A31476C57324445354B6174456D747564504B544F45375871423958312B46766D55574938474F4F7547616A687A2F5346753079516C4B6F697145396A72746A764170632B56344E684B396C4C796B3444412B684772545A482B6574454F773343506E312F72722B66556B496B6478644334624D3558463669732F49594531497175313435625537795A52723348376A6A426D5639306E734F673866586A2F384B7552383242557742364543356B36647842623438536E4E572B4171715649302B74475A4153755572524D4A4C4565764542585377744E44694E432F64745758467269305931474A49723157762F657663584953376244554D503842457053722F54775A354B2B46784259507233672F5679623346554E6E4B65304D42357337693438506F794D5476476439317A393665575A6B5A585A4579345A6F6E4B4D7065446C2B7446477A5A72344D432B646E5448695A43446F67587A68334150497A384553785031676D787A6353736B794D6D52624A5A722F76536238645847614C4E325A46736556343842384C586E63763362426D4E6353313555505449417030454433544F5733396A6E70717866714B71647031706A484C452B54325762427843665571566E4733614A614E47514966334372712B2F357954577736364D736D556E3147765062697542757149527834346D3457564975635746364B6B2B70506A4F61562F4567577673394B52646A2B714C462F4D4A6757576F4C4245777A4B7476782F71783552777448735A36744572525830396E4A386A5A41382F75337A79326B697647384A754839447A4D38354E71314732503364484E627A6873463749362B4C724D49624C71343072364B4F7052786676507670317046646B702F4977386E787133495774555732354336667A4F653239486F6F346775304877717352366A713858574D2B507750556151496E6D747159442F47676B6E457055426774453445417141522F6E44587973754B43385553356748365761536F4A445A66372B305A732B6A6A696B4134312F5471645439436B467233726D6E6B6D6C6D6F6C56757653476E455455594E3338755061633065734B4F61325837514B4162686A64586743724B3748524350424B585A326E71706B625178556C526E774A724C39767930766B6D4F417A434D657073623731753479766238346533577936643863726C424F506D4C474E6B4E43614B4B78493434525053492F5843385366616A58423534427534476F4B6E4872476466334731426A33636B786B754335365058596F66744F3174576333464557746E4A304B69515779563132657672346B71695944506B544B56535571477878367A57694C4C7245796532787A486A7837565475796E6157716E7A4F4355794A30514D4A7046546E4165725A3967665553754C364F3954454E32664631757677374F794742626D5A616C46642B77734537517543686134483134796F4245514C7277584449565475486B4733753252734B6E6579734236454D59617848365354574E774B5A446150724456486D724248723454646E7377756B575539667050544B704B616370582B38345A6A6939724C6132513847526B6667346976482F776E57413157457263474B7845304F4B6D446B682F30444834574F6A5376586A47307634674A5064647A6F51416A66734E4770734A3733573358523179785172626F30746A3076716336517469686A63374437534E43426867326A4431554F4577343552796B6F74543476774F483778507047596A30615958776A353832694650397A54646B426A72336C6B68324747326F6E31356E6F3946584F4774475A7977577A5776545170736C572F625253485953797839346272674B786C444E6B425041507957527443327A5A30332F307A357466503974614747754663574667444444396175664864533249623441396F6B7570304B61737A443672767669537A6C5758644B365961446165663832716D446F74683145685A4C743278476F4449484A536C59362B4F5A635441524C535245497841424266776671597575776B57786A72415842306D587A44692F56443758712F6D427A45696859433731523866392F393453527A727371617A633669526A5A736C435739746442362F3833482B5732547766414B44795346532B525441444853644843334674397A506474544B3957784D442F6249463151474F716B726D4B30724C5833333446454558796F5866385672416577616D39744F735176714836574A594C3165493232373565774870596463424D766A6D694168527647656743666E59444A73664E48464E2B54752F397A66737643535331467170557A5963507973336E39334F67314F56464E5770694B584D366F4C4F75732B734C706C7479704E546E6E747932365950304B3241725274566E4A617774684C6B6937486F726B6E6B3076436F3752396748684F434E3250657956502B7834475356443265784F4230724A742F4248704E484C425238674F59462B654857576E4F68614E61786A5643576E576254417A446341363248586F386A6746643541456A633838386670384734723534756D6A6361656E5868397357723570544474703635656B4643524F625A476631357A795A584E53792B79464536714D63496E35764A714E3556776B6B72395846515A6B464432345A774F31714D5743752F73444D394C6C2B58395A717948784E4B79504232736A396A316A64723456744F6F6D717A3564362B68373957696A566D64793558586175614E75327152716E7A57424B7678582F7333752B672B6F396C41514F6A554D534B3037692B6A3066426A765767612B447459666668446F416C3661555A43466D2F34353850784B2B5942596364316C58426C3751677544784D4E77587049412B4347444958784A6674564F3244525A4536724C3870595579463276424E624D776A474566524645647A6347654C3736634F4A72483047745139475165464C6458585A4E575851375A43327734726A672B446863383235795A585A596D6A4258454A71527934484F3957714A39535A46763673486532426C52766742466F494A4E704A767A44745A65576950653958334C4E6156795A5641727331624D44584C6F42766D3743324A4B3561653035746B6557756D312F6176526B5664307A7841704C324B7036504663633278622F777752736E64705A7749424238345A715A595058594B73314266362F50373449363652646A4C7146556B48726476626477484D36587366376374704C504F593374613167503470546234494676786E6F494D4636545050717557432F36504252346D523636774D452B722B4F35765A765371334E47574E5663664278704357776130354B586455333149544A5A356B6C7953317A4B72417268376775366F48522F2B64347A593879364562575A30486D30776871796F477648564F7475662F7068386155782F47344536344855493576596F7749624D363557712F3875574138656775645239626F4A4E63523665436551546E42625449376C304272545431756A532B466D53666A51714E62443235696E736D556E6D545772377276783662332F3261633467574B49746C767848654173614239584746356445453373316F445077506F785A7633644837307748466766313644766575452B36633835785A59616641742F3244304767654677477644677344497730554A7042332B674870414B346F6C72797031535633424932437434417858357A734465632B7358714B726D71786F304E485261314B7256476C58316C656573577A7139796E4464732F652F734838546A41626B70446667484241625737366A39484838596C4F47716A3162745A6F4C4F6E315872432F367A5442695054746A4B2B644D366C685138766A4E7073647652493344764F4E6E6555746D2F4F7138785061384553746D6E562B71683455425532386736425439587A796F2F466858504F54464D474D396A73473377712F694479414D6342394376747A372F5A7A79653246643866546D346751724B69396E324C4665644E674236306332637051366B3550723844526B7164626D783634724168616B4E786550586A7A76326D63664547756968545075396E716358673577466D4F52767A6573687A63747352356C495471494A65534139634331414B652F2B2F5972396A766665666F486A6357714A5A647A526B2F5A7A46476442647879746D7032664B4E786B69586E726A662F4631494C39485148505059517079774A723539706555497331464E37506F67746D54576D72566A5643706457722B4A36697670456932466D5A2F6C6E4376754C442F6477446F6A4373594E6F774736593156386F767478625731504D576C68656F3961596F6A763542585630745871482F61417A41436A686438682B6F68735845624C654B38625874357747316C4E61655034533167392B6D3431675051543976385A36766864534846366E503867504656374676386C3165464B6C4557344B703331777A56737447423574795A355759305165766848727665786574334E464D31664A485A317064616761574256717A7279766D792B782B4B33444F77654362726B6E48413677526136524D42547245327131687038334854346C316E4E73504263613266622F772F6F2B6473317866504D4833694E4A692B616D694D566B5971347634526A513573796B6134716E72463330686E4C38633856783144664148697A777A777441344D4959674C2B62332F354C544358586C4236314E6739384275736764574737587668506241566E424F7462736D4F6244426B3357593872726D4349624A466C355673425669514B6251397735596F50656E656E57626D504B58775272727A55544A5766306C4A3478626F4B79434A6B47434652587476395030386F563675736D6245334C4959693456366E625A715239646E31662F33314471555079677846674744344F4F776552654541346C324B6E324F757171346365573278616C3075484E50766850564A74626F46762B3445684834563632552F426D5765537A4F4E2F612F742B74724D314B376971504A357978372F7956754B59337072386467365930706A547670317931524C4C386254695773584A712F4D3046304651345472746145684D4A6F684236524947766A446A7658684E37345541324D4748543178444437374363572F5965646253635658786C646B6A6530555335684763486B594343676649643652526A304A6B716F623257364B626A61716C733438743273466A4C744E53703864786F57446739365163625253536A6C6B39337671772F6E53486F544E776E6C4873326E552F656A714D73345A34635A7371472F664163576A57566435636466797146567A4A71356644416557774D7050333461345774335935646B66426F2B6A346145314F6E7A555873697A6E414D4333332B76457279305A646E5A375574554B32664864426170754A6A776E4C477253326159382F667A51352F48343346525654736832357933456C443852344D44757858376A2B704B4A74586D6A49524A56544F62692F3831613065624E523930662B355133454F78486B797A3348737A31306751697A7039433962544A30653542512B417350735633396D7254344831636C31764961344D2F3532785868436E552B416E5238747A3536797A71764E4757545438656C535878624838374D4C4B6E6D5178376845377663673868562F46662B5354524551442F42324337644A59676F5A4E71344A4C56716952364B6747773568796457523876637971785071342B6C4E6A5062534F79423972683339454B6C2F422B696A5268344D5876343731614D4A67654D763974343276304A50624542684F374F4B3669614D743269324B2F7A2F75412B5141696A4B6F375A475355776E7355567A4C666E2F4E684F623855653263746F62347762727874546E33623331354F4C422B52494D327663344563384542395953443352434548592F674A38675A346B6A57527A61394446546C69335671666B3146733633586A47307057764748472B416567555541576C784D4C7A4D6D4E655143544B4F754B31475A5A364F424A4C626C586E5A4435573661765277427944346874352F676A6454736E703641653763535A4C396F6778674B79436D572F79585769302F4449763945377A4F48395132634E6A57796247376C6874732B5558782F32504C6971494A4C78396C795644555A4939747A59727134316741714B4837463350743363464D7474425132555A6459344F484C782F426950594C4C4367752F6979675A41364C6C68425363306179374177504934734B66745939614F6A7571576777674863546C4D303655465A727A417568703441386139534135336279426B343854476E506A7A4C72303167564C663363744767774F6E772F7767376F4C4F5467684C4D6968316438373169506E6E49504751676D7339796F4258796A6F63584A6D6F472B546369783952645A456D326C456465616F56684E5868362B5A6F36724C424B5A4D614630776133335646763978744655325231453138466F673045446B7A78566C5250356C3847785531566B6A576E4F6A32764E565A584D6E315266433249644A44716E77395059466576715541666A573441657130743854744D4F486E567779443169663347546955754E74614D6D61464B76756E554D3776496F58364E4E4C31514A30454862396662644573423657577054746D37456568796836424F7646696D6C687249636E6D316844724F2F6D6C312F42712F384B367845576E69616C30346B3863764770793571587763746B57725A73596E3248455159554774694C5064736C336F6E3377685335736E7535592F746E6975503868754A52467142384E6F65664E6D6150586C63635A56556E4C706C7A4A4F4A2F344353772F6F4B57553250396B564E69665A425441594359775071784E5A77314C622F4E447532766A324339344C5A7930544C6A3258564673665763624D57756D7A576D7842703177345A66376C4963694965572F4E46657064657644484259713174733748564155614471556D6F4E48504A6B6D5963366971335479726C555A78377257374D4256656C4E2B636750683244684548344D634E4944464253706F4553484647666A7737664631654A644C64635861684D3778746A5534786F4C667662476B79676D4B6832694436776676314C4432666A49526B4D6D41724F3759385563514B537775776D434E4643417962317578634536783775664B4A3752565472756B6C59724A6E61316644657354375A2B466573356C526F582B4356326445466A3344566B4841374B2F703277587537786D645A6F71766A54547A39562B6D4738473634787035526C4A72586E636641466C4E4D3632484361354936437357585A62397433697A6F36435232773643505877343731596657474B3854484F73634A725A6D6F675770565172352B56313876565A397A716A5633564458334C6F684138786B6E4D4A726439424C723258452F435053744F6E5A713132614F6173754669492B303655653346366E4D3674484C4D352F663948366B4C4D682B7233304151494C436646395950394538695058494E6C64475A4C6D413952774734506635375830772F6F42786B496D37506E70755371324A50654D3147636768423759325A484F44693871357170587A32762F79757A304259414A714348444E5435537737513471775A324B4D7132754D4B597363317A6E6F684669734532614C54653954412B6A66702F3742506463467356483366554675626C2B6638694A556D2F32484A71384C477573525138526A41497964744371686250352F72365055662B51415765492F612B695151624E39392F4358523041446165483963676A67474F763470765263517173723333304E72694751705A45344F2B4F39554C4D6351303378527677754138717A70596E376B534630734F4475516667364541565A7956555A31663934666F426471327743784B35452B49732F764D5030494D6477622F383134617A473471694C646D637A623861324B654458525A745557662B75505A545437636244427838355374594438672B4A64594C3047414751562F4265713647424553414D48775A362F764678335941392F6E46325943746C4F59387A68566F30384A555039656176395633424A463065776463413362476A6877425A6B4E4B543842375646482B6F2F524E7365624831716856746571347A6B4C3562526177634E63487A30586D55736D614F544E59583638476B4E332B32676275594935446449556838794171755141396F63333942325A31724F4C774739686E395A7738794C5273367247317563386433633758424C7A43475A70576E637574773647654C584F533178516D3132677573533034794956436666316353706F2B756C636F646F54486934635635646F58486831646F3039724C347970796F4A4B2F712B786E6E30344F4D3430317174736D576C584C5653746D6C337A3845385231656632512B2B35397636777051516D61657731433268554E63336E4E346D366A4D6C745261617272516534733372345150346C6873697A43697A74556679703156714F67576E5149516641656A654C786E4561534637795A6567686635374F476539436B495230693176694C6E68485A777050785768516342347942506632642F39356E6C736432646770415936514B53425A5942424154564C6B7A6E394267335939685959443751585163374545344B5A63546C6E5063573974346B74336B7A47317A6A5372657447784942772F78523051737957396B47466B47576F386744786E2F6153654B33303361424E73686C746633774451435266325442796E785070307332454535354C49504250727761374C72796F37466B4C54513662454E7937466335514C475067582F724A7262454E75664C4F4A4738355A4D31576465527943325734613356476376447A7A32543066735547794B4B77616C4847663474366975464D7264656E7443315856326247742B534F7332724732764F6D564A6D4139764647617055462F33304176616843654E595150776E4E41386167377971645747386333355848444A724A5544344747562F4832766D33514A4F53586C34505155524130474E6A3148496654464A354C6854614D5A6E426561776B6362593744675653494E6F62697932494478354563557146646A7A70715A4D63466C415264312F41654468516B45525A2F2B5249796961784B72452B31734A385869674649477362366376556573596735596B6265634162356F57686739495859683776526657424D7451374F4235506A68787A416833476B4A537539516E64457A4546464177485877725569354E6F5A3470597065785850374E557241544577456B646455306854476733625048394363384676743779496D4B6D546767477872444778342B4B6D4A516B326270736A73523679422B7456397546412F7A4B3479427754456C6A76432F44623748625268384D50644642373544623763436257474A345257412B64625664434179456634762F425576303073796D364A7075662B4A7255344D506B46576F4F42686579776E7233685478303850414B48426F597566365333312F4836584C316E47345330354954303249635661744A4B3166662B63347A4A344975487A6674596E354166596F6657442B2B53676573687A344162346E317263543664342F735968554B4174617A31474A527565524B396D69786F625543704C676E4F39326D386A6D5874437A65792F6E63584A744534454F5948443759453447586A6D776276514C32696D697A6A5643696F6B7571566A32784F6D65373067633230587856517538652B6A52315A5462484E55484F47374D54322F4E47563253647456787A514846796B44377365764564486C643230614F34533348755570527A6D356645572F5371736F78784C51564A6451595945366A3361655636744737784359636C6C5A6D42537A7233327345316A5A7655306332363248704E556D333432797A746567524651635758686F6849777044644C62374E7874645434466E326576574974693968506570424E4547797131767845657346574948596B315A363559794F68615633586476483777322B41347037336250337846646C4A6139665142393666543678666E332B694D714D7957586152392F39357865395231464F704F2F7A6862504541514568594C326F4132673251414230636C797434642F392B35426834657777626241534C5532676339683945396B3633624E6B45784C474E5368536B5831693954366E50497542596B6355642B47364F6E694C556462733648707434706F43666B79484B4652644F61497254356A68677354485652493733496638504530366E62646B6743624F6C6B3676793133337433754F5569473559645351445859304A617078744A6C355036736E6A445A7059786F4E4E373639345A42596565704D48562F482B6F4F4267536B31757569362B624170794970324B442B75596A397A66526B73437735534A6E5A52504D46714F517A6A334E6246716972756C7066555655774261736A6D646D68316171446B6C4372444A306F2F6C36436845524A3044665444314E32702B4F504B3573665836656E566C73394D364368496154424255726370413069696C307570453437644C726A392F6D35756375762F2F6661585A316879307930356357614E34495A47315746436D3445782B504C42725444382B51725542496A4C36666A7237376C6C556F3078735662507A6E63306D336F74327467506D7863694B75417653784669666D414B4143386B3465647878534F2B7A657067574D585661784C71746645325458537475754B4A57337546694B477049435251486F48396667364542364C3939483866474C63714F375842424A6744796E43536665576371665635472F613843305856717A6741334C304275354D49366666626751422B4237644A36542F66576842546C6848626C737676484E557A34332B38564655374830355338613374372F642B4161614A6E624443724941776F46793746666661352B3950746569674659686F74665059425679765457374B52586D334B3733394D43576879626A694137556D314F53504768614E7452686936346A314845664970617031326C75626766586B413177756C4178314F5867457842442B50597072637158596C77706D48546363313845626D46366866326254363867564375376932767142773070772B6B7239744B59694F516559323764614D314E4B732B372B36495844584B7266727A68634375726378785866774B76645375413170547642724663742B31486132704B6B31515841557A4138746A5A3771746E3434372F644930624C5145645149794C2F594D4B7A423764412F304762516B5752773433494438665862392F2F716342663542596753433668396C473578487059724342594131514D734D42676B32596C57375174542F30477A656345787864774E52754848315844336276324B373578797744452B58774C44685A59576A4D6E646B3042484B2B3561306F686B3977324A2B4474397A6B2F562F716E32664B525A79354E58444D4C6B4171544176573453786C415045645048474872384C506A436D624B495358345A75684939624F2F54323074556C6D7A6F5378484E356F53724A53756359323536557379414E2F494E4D304F5964376A4662516D594832696C574F646F78725573553345656A472B7669736347424B422B6D4A334C35506945564A5149366949394849746D776248344849717A3467325934705A753656374E2F694A794D464D676136556334686C6D72447277666D59426935786D464A726D46697562586E3439755063676F33644D5042784C326F6F53573853573152577A6557716B5A614D73577358527132616D31356865432F55445838464452566146727858657358575648356776592F46494E616A47625152367A2F7367344D724A6C6944524B5779713073324A424A42584A5469744D345334722B4A3747352B47345458343059644B4D71724F7A656C4C4A6B3771624F456658506C7336452F523759612B6631426D6F7274516B5241384F446F4D41715331384E45614C486D7244466D2F567575766541794F7A7538486736526344745273556356662B5A5077335A39664C33686C6A63336947386A5A2B77344A645A504D734D2B6E5465694655344A444277326C555342395641385961385A7455756F4A4874504B4D707A2F62756D4E686243756C65567A6C625A4E4D6E584176706E6F616E41324539764C76785232374939334A6A4A5357514A634247466E596F624A6D31305A575A6961313538563148532B684B302F4B6C744339426D506C5A4F6F486B663966616941595036676736492B494E37337037615844536C7152436D617878593053686D4B6C6A6E41736454716A522F2F6679395931513669427A4E687559444141355944796367325371776E73597373663643356F566945526743684A683036412B45764D69566C447249495644676E5061464175765645757335674E326D4C743067734A367235497551514471596363493632652F72652F58494A78665969726B316F45307343646D6F486E66566F73544B72426D5668692B344A4A5A764831634249777764633341666F674548576F59486D5878797A2F75775746555647537A522B694C68443948756A6C3436732B36783239363266334755797868347647495A5252686375785858716E75756A3675597A386E59612F4B6A4F2F4F456D5449376F5356587466694B61313938454C4A426541587151513352566F4176533677665A796257552B6531776466686172326132356F50536179484A796D3644794C744B4F514466344C3746646655436C6A4859742B434E565435695662746A41723930774C72775154774775597734477A3834737A6F70624D6D58374F5558522F6D6D574E7657716F716E7A667A32717233504165414B5A546E6B502F776F5833497A42664B77444D3932314C4D756D6E5872307859553867682F32557A347A67585352646C793535734E6C37336C392B4C4A5A5545316F756C46376F46316B2B71304B55496949786933356F6158414C573739797A4537596B6F67566A755430677364364C31354F71424E616A5A59475A434E2B696A377532524655396534513563377A4630506A344C344473335A796A414B334C66624B324B7A302F734F61506864323938764C524E7935525656324F46365057354B6B71356B363135662F7131622F307343654757777A4249397A75507A612B517175716849724E5658586D4A6C2B2F4249303362766E6331552F2B396A3932746C2B496C744D4E785178506447437A307666727A3139566C632F6C68754F5673364F614F66494B6E694B387A4C5247592F72797A494F69473432386841774B757747774F5063613832674C7358354567785A326658516A4E30504F2B3230584B7064594430684666666E59584555334A424851452F4C42525944467A536F5778706C6371425871625A76416574535842486F7076664144556D76524C6E516A784C687774436C675056524632304F33773664454B55424846652B44483730307455774872514468345637326E5955412F64456468525061463832386F52622B436E78306439447637524D75545238334D3141426149455271565841554E72316952624470685037714D306B31714E655254366B7A6B47546F397942384F73307A39394D4955355546494963416E687972683930556356394E366B4B4C6749325163644757385255645969646D55324F4B68466E73524550434B6F594A4B2B4869536A786A5472595A5A7272724B6A4F7653634F45725A514E5346574C52424266314D39484B344569785965394A30766234413041326E503148484B5070794A4676694138315874614F4777304D4E322F5A56586C63456D436E644153367758664957786570537A532B3644357A366C4E6E644D5539376F39674A59362B426B66477475644D5638324C78316637674A434D34477954573530417A38563361756D6D444E34636F487979394459446F4570624D42364A6F66317A3332365559673869622F6B62336331644E642B4C50574339617656433239496732425638786B427A656336375735314D304E757448566D6763327658524D4B684B304765454D6759336D2B322B5A614462436453426173612B5A50574244735A364145764948756151786A5852534550614F42353473585A4E474E5A6F4264374B47413947675876486B725365516566424B43424B7445783861484C46654C42336A6D4C4173633378444872635362494F354A47594D564D354E7264626F666C783339542F75653937392B52337650375069706A624E71694A596C4D67716A557075512B6A58586D73424545655A733157577A4B6975676C46584C3442466C674A335A2B6B5635395158314E7833303930626E3335352F365A48506E697839506175533975576E4E4F314A4B484A47503663433731536C356E516C6874586D58584A366D57626C473549432F6C4131594473685A4F3470476B5235416469544436734A745A4831577656743350654C4945474F4344554E72674158704164667641516F434F78586B6573372B4B7137724631326D6D567848715975475143742F68513969764F363539374B476C46426A7459366A4C46664F61354931747A6B70704D357A517675472F727937415034433268396E63456A712F2B3836387658724D38746A71626E334F735764487475585131366A4C465A3362316D4670442B2B4F2F524F31772B6831794937702F4A4E5A50714E5478697767746571327154613161625567796137667668583849676654443358474A6A4E503050685857717971766847714D62386C4A74686E537263597231717A6F6576717566787A662B74644448797A355664655547734D59733237714E637359662F584D3647754B565256585472682B2B61697172476D566873383551734176467679436F514D453943666B2F2B6973745575355955346A643868434534367861704A727445767675653431313236453336734D6F4E5276752F664E76375A4774596772413861737A6B753562676E4F744C767275505A5A584B7468584C6E36452B374E49735150566F53417076304336324858737738483951744C7134567A64484A2F31346B34325638766D6C37514438314746595269343444666844596F734237324E4778576A56695A32636A52554D423649437671437766504246686F7542526750566F5137446D3637397750636D796C74756B52596A334542695564554C776F374B4B66744355756D544F68725967377A6C64637957324B367A4B6A476E4E6A797A56647A7A2B3054356A326A4E55744D685955646A3077676C6A66616F4C6D41645A2F314376736573394A72493959544D5236386664306957337647306A474F75524F774F4F465A47785233476576587052733173464869366E4B536D7A6B376F35777061463451554154304B676D59327A6A535A492F682B4D73767336703431704D4B55766E33623378475167725779445937624844726B66727A666C7850654141776A536C796E4450697874674D71416F5A2B72344F745A7A66483074327456385659644774547062374E456A734835394F52784D2B47666B7042413459565251326E7135584B3237354E72366955737A3032703071685658784B38725A6F656D5A52373864504435584850656E7A652F69714A4A6D494F482B4B2F6554794761452B704D3062576131477558514E6F496C42587A347175794958506E4E425A50724E4B6E6C6D5A4E6279356D782B4B794B795A6674565331617661594E6358387A744543565A53687572714966546857773530622F77593742644547324C6C464D59557571666A6A7A654F735267344F6766514C72502B4B58532B7850675334357257554A6261424752324C7841636259415167573577626766573334524778586F6F6376316977447766715A55434D33736E6F4B7164545844597A39706F536C5730656D6C425557773468752F6953615331464D436B6D7478624461376C6F715136706F38554F755076644E43326457344C485A6C516178316F4D453961554544374B726F7A704B71435857546C726C4557643370512F73554A7A666C33427857324C303872343556613136736F7730414D694737574A37586E7856733055692B6E7554533843432F7243483845394B426F7351496736796E746879794A59626251714272452B757035724A4F7758342B756C4A346C57416B614166594276442F6B59786E71344F4D5436745270566C77357651514B663373542B656C61396E784C54717751334B54315461334A54476B7A7372792B2F6A4E73694E6E492B3845684C3970545734686D57334C53696D656556476935745741697450327235484953455078664E4A574C6D7736766A7570766343596666466330502F4B5248574C6E3442304C384A35516773483638334738576C644968766B554C724E2B366679654B43614D65696753474A55514C6D68765834663536777233412B6D59392B364E727548704274435537707072724F6364585A6B35754B347176796B7177614D5A32464D57414F54567A78537551646C7248674F39307339463637383343526847354966794A626573662F55586973726C544F6865707975656F724E6B7353444D3775305A575A634C31504B2B2B6146717037757A4B6E416B72736D5930496F6E73735A304C75484931494E36616959756B71786453743758706F47446544527A696477795177486F3551696E6A616A4D516B703832495835724F497756574A2F33323037526551755068336D685179724D4C4E5158626A67477354344B6C673373656C68704C566D7144694E3078756165765245726D67536568766874467444483368344746742F6B6D6F6B7744592F65446E4D654C516A4D68463247646733486C487642563949677067306B58632B57334669624B586D5635713341556152724634676B42684D4136385745677148393965384E37474F7538646A504C4167376C6A53492B4E2F3559474C665448596E563845452B546B5457766C51636633363044744A5A7633493873774A61786246326F7A786E416D69486447496C6D4445655751444B586F49795A2F4463555A794D4F685535624E2B304C37343073723858663575694B3959436877537A503536336332303679486336645747502F787A6736694A4D3361634775734257343277433454516450416244677A6B6B3169505177712F7941644F4D472B5235336536643131755730697372315750764B714972313962704372396E3946724636545747633832352B35512B6F44793849694251523837447932346F544670346179552B6878714F31735746455055366C77612B4E5A73565656476244505855364E56586A566E7A4C71464938785A4D4256624E2F386C76714F41665155455974334952763145572B35506E6E385945524C68764B686C47724E3746482F70677A656E31513742656A474B36614B6D6866754679302F6A56324339574E77445A31474D6F5667762B336E5A6C516531707A6D4A396547514643615841383645637354624433462F2F4976335641575870614656563830536D2B724A595771365242675139667957434E647456476E47704B575A414176556F4F516771686851387443482F377977726E68736A54366D4D70507A756D48514153354261465332624337505573655A6E4444384F6641524B4E2B524539325A522F79716D67746E61484B64716575703378385576666E45626844616151696D4C72754A6469762B433171345548345936376D336F6861783657384E7234636A4778786541326F414F774433546E35344A395A504B7866665A67464D58547056467A3044696656737558694261695541542F6D77456A526358772B6B34425272614B6E56657456317861723665534F764C755A553675723555396375476246694E67496B5657756D724336423068315671793139396537454E5956556239524138427549356B7676756B624D4478413149726F706F45762B6359423769374D7155536C794C38783241744F6D417A7452574F684F46424E474B4E364365734E31536F57616E786B674F65426B6778594761554B44596372364A614F6254576B6468657A787432516B724339575656334A666E6E52493652613954384A3179336B4266636A307965764C6F77726D33395A34794B307668502B41513466432F6E374237684E7833366C2F777646665835313772684B37646C6453364F717551775264306534635A4677356D5A44773432717A6B3673557164613950455657575071546171567332436A58482F77587971625A75793153366D6B6158727230436A2B3062734477436771674667502F6839576C506C586D30644C7243666E32536544576969386B33593976392B414B554832534B4F2B37494F6D2F5944412B696D6C326A685933784C425737676934576A4C494E5A4C7551324C4C724565366A386345706C424732386C7774542F69663331314C5369616543695733452F744F57567357567156646C637A76734469397135646C504B2B7158524B7A4D7661316B4A3558513435484B4B73646949586F55556F4B364A3961495042316A2F6A6E32665336624D58513743583256427369644834764A3349735231796A4E79454C6C47436478654435794F50545247504B616674553073315355736E68752F644E3445613236367253436C787042734E75414D5371736D6A52456B7234654A6B474B30525A316730553564705A315655586A743362663168427A48506233434F665842524D33365354336161717856432B762B4E363973414653686F5A327034787636634941795968774F494C574E38325A544C506F3561387350526241654441574A5337493335442F6D3745457A65324454532B4F7264416C4E4F66773832774B66514D2B312F61706E7734314E7238764E5746634A4641625939597539702F2F64742F754B2B6B57705A647A374647325343732B6145624F75694D7347314D366E52596247413044767A4F63794F4D746E4E727A367877334B5869412B5955754D614D4B4C5532707A312F337031326A7738494663486A7441435079424D5676783443327736784E7239576A71634A7752412B7A7553786F5767703966772F70424242652B37586C744A3964496F4B48487A317961386966454F42775A6B6A424851386B315945665A595149666F666E6A4E3932325776524F7A496D3571706A6A6175726E637A73587647374E4943646264556B4E4F656661436A39582B6E7342707A54517650364175792F6F774F73626472365676697872526B4D6838737A2B6E4F705A71717679565A306D78444F7931636856686576562F4F52624F792F354A72455A3934704C78336375534B705254366A574E6633356A6A324B38334377483042504578334F436E664D6873357A51374D43363248587731614972644F4244794E616A434E74326D534C3176525472704551786E712B396C577333362B347A6937564A3848446F7A564E4F45414D30797148594C306E46484A7931414F4D672F38456A35316A4B30797330584346534D746372756E596C634D42516C3235644F397332616C64432F4136304331712B6577787463624D583763396F7879616476567961414978394158415A495433552F534C446D4139455132693557504C4252532B73482F4C70484B44324955437741514D345A684C4F4838664864794A6A456577487357484B59707241424D5541326855412B73644C384A7465737A354D577A3538523346716F725A48453765596554383156625252626B2B5437557554315632575853374B6162466D4C7136494772563350476C3670314B5037674B54676164397144586862544172685030787169654A792F4A484C73794B373438453634356C5A42744C69634D4177706244516B6442574D37697447694A7A5558706C5A7255366F30767A763637732F332F4375314A5A2F6C725A7A4E556A53717839546C504C486E505253516D6B324D6651587A6A79704B396E6F7A5949485251674B4A776A725551736D7675505A5A474F76466D4D7576594433344E6D4D6C35314B52537A42576D74516A57334E676547337033737578752B446E7954594C4F512B414A364A376B317148325262445747485864307658454A3672317876797556466B36426A3131545554472F4E48316D70677973526356544A69545A4671325A586E72693862585479333861366639516A4A73564D33414F7646494C4F304B6E305548494647413754577533614F72786370453979486F44784A3376394F4A4E2F36796A6B51384D6B786C2F4B4F792B4F556D35654351636444486C526A487A73455138665A5465614265514B6C476945772F662B47396976424C59706A463030477A76586F647031417A595036412F6A4A6A66637966387278395769695150786258392B41426F7A61505650483137482B6B483967527155783371784F724F65715A2F474E787152612F595271666461616374674F51414747497A73467A497554374D30346F6A68526C7279667479645577757330786C2B7A5746575846625775474455656238735A6138345A74304A74652F68324B4979426F427431336138456E392B3365667A5372426D726C79513346366A4D326448742B64774F48713556432B5745312F58615553313530396F5731663774743238722F663955446F32724D71526163784C7154614D62383643537031666B3247362F4468704932434741486E617149416E7266542B64576D556157324E4D74687048312B596B562B765471334F757146754D496F6A4177524148723464483145534B63304C7858647938434F564E714E58436D6B367763654B6F4848505A5378675677514A694D5753384A465A4378767348335032374666737241312B4D4B39646465454D56585075307178657271756343392B4E5835334657446D644C36704C7163715A563545445A324B586B3030744152584F65384237462F716E696E4C77773833787A346267716675654967655954632B3569576E4C5953324254552F323047565756732B41476A6539594D47727037484F742B623938363639773763484A513733484B4F526F6F6F46676B4376426F5A6863354857664572797359516E4B54677347664B677A6F556C50714E515733397830545062686F4435464B53425567412B5157367A45655568782F584146367033643949435036475A44696C6C3354686E4831784E7655414B424355363343386254587358396D654B6659636B647653706A516C74683347705939336D63446732436F724A7056465A4E72465766564B612B6F48335A4652326C32796A7A7763536C47616C6D59317054486A525A5845744F57705732344D654E79444F74514C426154476F46627279306439745A71777A77652B4A714F5878326842696B6B46366D333352674634714D366B59594F78734648514A6354317170546245595362553573432F4856334D39766B38552F7A2B562F62484C356B7862743152564E512B534359434F7533474A6175556C514D61347455565168496D4E2F49413063746D73366261694E33304864376D5045356347374F797835396863666E5345387751686758712B342F6E487A79387A6E642B794F4C5A4B4D366F74583957675362682B61644B4E79396C5A5644346E41514A666D3575384A474E4B71663433487A792F58516E652F666E47796258356162626338574A427079687A316A537A3665484E7279442F586852552B4F72454A55585264316E544B777A3053757534476C5763545964615750364C54716778397547414D774C725556387555562B6F4F7763376534506E4C394E4F724B48456370364856513362596C4B466274767876577A61556E514832327976456F434C426D636449615046784975342B70787846667132682B36676E434D636441394835484A30304265656E6E6664423665574738645954616A454B45374E7A5532717A353953763242476565375A42566B66484E6C39304E57486E43424C48484F4A496B307331364F4A6A71716A705478304C6855594B69534F317A6A4C697A4E4951507867304D2B4E666B547A4476693948414F4C346F64434177355967747734483756494B52644C664F42385376494D7A786B742F7A6A615A4B67506B75726E486E7830774F3163696F42394F4E4B75543743467366356E627844726B64557A6458776436342F36426935635A5A7859706B34334739424F4A70714E453676305A3558704465336C6B43637769754745774948415051717034444D654963446D5950666C5463764756786F534B7A527044666D7146585050366C79577343786A37504C73437933464635586E763770374336733446447A6874634E55326130454C312B394B715653427869434A45464355706F4C34693336424B736872616B67736459494F4C6A3133576351444C443173544B41426F6247504E6D536C3749796530715A3462796C75757172327A7853636B4C674851653867353874642F33306836744D3038754D6B79714E51447041777A6C6C4F664D73692F4549445266794A6B78306A726C6B356D56784F434136634B56747961524B66587146626D4B56626E493131394763554B5A7065756758454743476B43456C304B4E46754431695A32713879485639647969657336727A786C545444594B4741496F6C5744526F63744532513279745961717463504B536243696234774548307857642F6E5A377634746D61584376596B634D36782B3938314A724365472B4B6A765A71682F586D41664645324E5741393367473432305A4939704B307971317153757A4B7935372B5A74436A63744F6544704759444278397A34676734343039516959415634417542446E4C50726C7144735538734D30445451662F44307A316D705733704430346E492B486F775146516C6541475332795565553179584C6B5739363862424D7258717869442F5A62714C6C2B633839384662784273776756344565514B6350634568475A3664696D504637563354796747767876676148596F386F6B3433737347593046594137494F74657036316150335439364965346435396F51517572696D61754677396D59766F715366586D61617630705A633351447A53336A386C45786B42707835646665324879374C5156564F714F526B4C746971343877355A362F516239314872456474516E6D44687741546E2B446B325575306B7976433951374D775973584C646676352B7067336A654442793966577A6F654F73396D7050645A4D5465746338486F357477347377597163474B74435436423453654E3779736E396F706C6256684862682B5146626C78754F784942546552505A79504B3735586A3378795A63754B69645535592B70796F367256493830616C55555431355362316C7145776B3473315757326C37393865447571594A2F692F6365424C52646246365175793453784D743569544675566555474636644733583442463741763467324C5241324139624F53384475745A4B334F6D56357267496F7657707A7537564666783830377076457278437753495A6342577341675873506368675A637331703564726B643436496178465742737A726B72444E75503768667966664C416A33346C64503671484C5272324842516F6A4365774E4C704B2F57646637774458712B514A594831346B737132487441385851382B75764A4B37536F724E524B3356687A62686F5357714737714C7A7777694A746273314B6C474B416C68617733735539316163733079535571796330466B346F3037335877346D32564A75445A7962776630596F7269672B54684552422B4F6B61534D76766B34797A4443633557425430666A6C4348452F5749496E564F4E4177347872716963412F757230452B704D4E7A3337675068594E4977484D76504D356A656532503747597A766565485448786B632B32596A7A686F383350724E35497977344A45334F4458495050396B756B57457873423331324F313362443779785175662F50764A4C57382B76755831783761382F756574622F786C3238612F62583372663765392F592B74372F7A726F3366433571635336416D3567483341386366322F747638364F316F6F744E7238733478463077724E3035626F564F764E392F3231742B324B34346A776E53467A4F317A39627935652B74664E722F78344E62584874333531714E62583065636D2F66734848444153534D34514F6A5A44674F4F5451632F2B2F765774352F593873626A327A632B744F333168376138696D78417A657A33394B4B413443386356436C37726F4248647653424474743758396D3739552F62587676546C6E39743250486D6E37652B39746A57562F2F79366274764864335637516C2F3871464F6C484B456B754D73634139384148506752332B714F4F37663945722B7A5332545636676E6C326E5073655442674A7075795A2B775844326E616358506E6E6E6F553864524B666C7965527967466136524A5A514F4F4956695168763961664E7256622B373851666C7564414E35395555414349425732504C6F58364D42622F7375765044467A355575734533424D614C556D6D7866346D58676E41746F6B564365397739722B335A2B746374477A647366664F7054393535637366624737612B2F7453324E39343938504678547938746334543142596B63496A6663645A596C437835786E766A584A2F2F2B30366158482F33306A51632F66654F503231353562504E724C332F3634576339687831424834724D596F7458674830414B5751654E7539685A5743482B386A6142332B5630627871334B4C35414E794A5A744F5943743238363633722F6E342F6D484F5134396D5A387A322B586D514D6C664C496C7463652F2B524E4D507A4A545739732F474C72515565764643716B675175417950616567787665662F56334C7A31353138616E373372376632393739596D6258336F4D6F76584630663179696F4D62396C4749396879797336666E454D546A4636383939664E2F62666A4647332B39342F572F2F76726C762F7A7868616667725A37674D6B5342413072773662306672766A6C565266576C63796F4E4146534A362F537053395458317862557632486D3537632F5A3839374C2B6931554A51416A4F35753678516E3077495A686276653049554D3454354B4E5439314947506C742B782F6B4A7A55657243655A4F72636962566D4344474A62657575652F64357845416249454E424C7432313843523533643938504457317837612F73596A32313539597374724C32782F663976427A7763383453563655463677635A2F582F74726537553974662F654A6A7A647532506E57587A375A2B4D5332312F2F363852767648647A653765304C317865304C4D37665546392F32676D5A662B50527A612B67646279385A3873422B776D4541477467366F4B66754D42504D446B693532442B677A76656550446A312F2F327962762F507279726D36754E69494A4465384A4D3973483559333139356A767833476366504C72703163632F656576424852736633766E326E3765393965662F765062302B362B2F7657507A6F66346547624D4B514144575446327554617331545735664F4B5A4D2B35482F474A7845324232793469564845436D432F526545643738544164416C67626B6779425049495167462F54724A52384E474541584F70365264776F6C55484151483741527348516B4E3746486347546459306D7735735456716D414F337676676E385231794741394544706169616943707742336746776A58714362774B704930576A7171466A7A6B4861414D4A55504144564447373756374850302B4A2B7767414145454852474B59704A6F44364F46496A416A4A49676A2F6B4E6343394146692B3854786237466633786E73486576346F43456F4831434E68786F5848684C514A6A7730373349474D414F6972426263614F646835464F524937364A587147664430424A397A746269554166446D6775493870766F4D2B7A755243474B676176495667494451414235773955527863773463394A6B617777497743395449475A6A494D514C4368384A3645652F774734554B67486D4B776332777965595738375647636E796D4F48557266357443785862793251324F46693650345543496B6A53597153655A456B73523938462B73352B7A3954426E34304873456D504B7034746D75324C38516E59334955702F69636247765254524C6E496553594253696C6477417538436C48685971674E4C68346E4377763438726153504C3441534B5455736A5842424A49696339516674425A65416F2B344C5A4A39346A467361414445685753494B77656A67516E6C3343494E6A41447238446958614C6A696B552F4750467555317866495A456851684A72455274496D2B394966645278515632676473774A2F76466247474A52794258494F414D55655451526F37364849663941336864394D373744676C5847446C45506848566F4850476E37674A3569417453616749784E2F6A732B4D2B684F32517652753852547748516E624538466D6739334E2B6133587355567A37466664426A6A4A6B7A4867467752676E7A46734176593963525549514B6D53657159684F533452422F4867644D675A5A7851584B697A72614C7061555151303651313667706177526841663378444C644C4339636475534873516D4777344341584B45314157324F633461613579672F7266744F4B4F357578586B30324E38764A6E2B46367776357757576B737235635835427A4B6232514838692F624B4867716A305941456E323471615563775244594E484D417A41695A657351625333416A53594842516D31786A6F4E4F6F2B47304B5A513674425234594B6367455346594C4E7733704C4D694170423064366D57504E5656566D71796778566163596A687A39383033667754632B426A5737534F3634442F336151336E50792B68335876753945373330582B72646A33366142413576375362674166536A6F412F7370534F594B467A4C4D634244692F39422F2B43506634653275777A756450472F31484E376950627A4A6533696634742B6F484A37316331754D56524E6C56552B303566357534394E48756350764D42366F4D465131344E4D6A657251633747554B6432334A477055484C71514D67566A4E41646947516E4168486849476349476D4975376A4165414145595A31413451632B434973596E764964387A72414A5441655166425068654B50797A4D454478694D6E354545755037314D31692F58546559436F43636E777564372F507A61353076436B574630445969433448796453524E612F66352B4565332F794A584D6D495A6134683679434148794C3142656A414439344A5A77486E6344456C795A4B436F4B4A39506F664862512B34305441414247684F6739614D48776F50444554652B674F655871356E6A7A675A465167524D4B3879576B46657079506739364C4A4359514B6E75446F4E7A52464B6742704665452B6B7754446F544B6348414D5A79554F59784F48784161685961304D4A377772506B56504A614B63534F4E69365361676B6278414D35346F3049634175774A637A35684649764D4A3049526A697A5A50456175642F6B52393662474B335966454E414478486E5A3451315872633532536E6C646648505261524C3267493773454C2F6B4D385A4A5245476552645A4A4B736C68524F525749516E4E30517431654654506F43667147766852694A2F484D57574A424467794162776C67522B676B75484A384E6B67674B4A77413345536665683145466F7752634652594A774975664F3541696F3556706777524C3854372F684469316D434955466C642B3455436538524D4347623644676A76735441714A773142422B62684E71733875384A51444A73464649435472515368613059646D39794D505A42706546794C48386F494377766A6A4E6241613959576773687A6655462B6F4C4551616B56755A4E38514A776F57384D2F69554F59424F676D524B56754D525968586C464779535235434C336F69464B42676D456856655158675A474B4677566F4876573049396B35714B6F317479597A6F4B5935707A70375174544C666B54724C6D535A706D7A6A75374F752B63716A793438465067396C704D6F476E6D307A7048615072706E632B714D5347683879715A584953517571537A766B7A494438365270384E426948393868585A694F63666854462B6C6E564B71686538764B62486F696D6D322F4B6A71724A684751335344507234384531675034434254682B394131556B534A3148334A327330386A54794350554E7865344A636441564F2F306844374B7A6A2F313949684345636B6834526F5632376F6152424B486966627949316F4A48694154797878594642654879424743467536455668446E744469714F674F4B456E63556F45416D6B452B6C364163577765475359414E554A4C706B6930595378513079427635473974674551514751494C71365250464B5553664E444932515A4C2F49516F4D4338414E6E776B4863446145774277687A6959555334393432454947796F4D4E34485A4C2B2B6541574A496E584A4D65537A7A2B7643425834694D686B674843336570714C685973352B7078504E44564542474159384471666637635A623850716C597953447963597658356330654953314C7968496B415850635159754147503950716650362B544F417046734D396543774462674D456A7865554E756A39386867676E6E43566B4C684E7A426F45664173307857784D3961504A6B666C684459356B50657655484A595A457442474D31693564785379416D567765414A454244794A716E4A63316C3568455168466852434A4545644B44596B74376E5261326836686C614A67324341653269677346422F676B4F532F62694A7949484A376E4C4D625552474F7452374537463651357869515170635978466F6A394952434D536C66484C43357769426F326F546166583477694B355741517875317A4F3131517268426D4545506A684F5168743359667A2B515043696C674645576D5568524F6778745379393533334164586B4763516977434168644C6870476E6B454A614A69782F7A32496330574F527672712B68636F7630614169524959795A57675443774363346842654979686C5359745158534F627A3546316B4664476A51614736504636714F6E4649664F66425551347367776F2B776D346C474665705674587256433147626935616C6A4771576A504B716766786935785A6E317046536A4C72347930674C536A68394D3452536A4B66376A6E577168315665327269396847436F6F5951666E346C32426B6B524A37516C4A50596D4A4E6D79786C546C354E536E354E637A7A4E2B6A724F5A6345356F34304943306333476D4A567A37336A6C6956344F6742334F4131574C424154524D773933445044676F77684A47524142595133422F492B6F6574775239304E636656434950676A74557A5A526E506B32476769455937446C6E43515A4C3068474461776E33497457416673497351754D77554F524547495252684E2B6743544979426959435945464D6B35786F4B464354453869494E2B67544D736D48705A75456D3450706348376A454C51594273375366494F557051324D75344D596765614345646E6575444C6F34325246594B31795057676E78534A52424A65353452576755726B755979616131794C7941524A553038796B4D4547337A3335642F414B6A35416C4D644D6F66416352416A4A6F576F714D444159546C713634356945545A545935556C3843302B4454384276794436396B5A61456959434F4B6B4B675246355139536A38593947537751524B4668334567644A6B6F6859674E4A35457143646455415A75666F384541414168535355524256444A6A70444244654639457A414D3878773852774F63682B6B524747595150426B6638776A50425536645145354C516B694C5855502B41536741726B785152796777493473466F3647565366694B484C427043494A4F44387359416A4843774A4E4274672B586C7758686B6F754B6D544176694A2B42654570347A356E41775A42732B345A66716977337A572B6F4C495758384967416A464C6F7A6E4B3977476F4F2F6553736344303479557A4A492B492B4D4F354A62646C2B4A432F6D5534635168726C5548764832483542437231714A525453615657543257613573554A6461624575704E4F4B66576D635A62534D6C312F446E615A6A78395368366B314C72544F754F5668415A6A664F4F3355657A6758466C4A58336C3678696D3656684E6A315354576B4F4C4D6D6C45576E75504E6D6F6D32334B6756633151316D564831757668367732537236586376627868674778726D51315A777043362F6863514A5969514E427965373571566A48735A396763676E42576777627445634959566F4F553450687A71346658374F525966424478746E454A576B684F457358784F534443736578696E73644C6C394E695856465743336C734D485042566A772B6C76776743683379436249714F6956585579327146335A436F7949647941522B7A312B6278756E382F6A3933747849633168706A34304A4634554A306E685138594744484736334336487848713253486C666847504852634176726166774B304E4A484869645979366F5A71696469504943716D6948636A307861575152395953547A614766386C32635A4162444D65455051674C6F595773505A6B4341436942446D4E61454B4A6B2F486D416269446E30755832796178664259435243393843676872715356594D445A35434D59776850754B5169753370686A5171676A35417651412B48566A387949315355714272674D67362F44775978474F3654666F2B4D4C357A4579556A674F634B63644C4E5366443457472B596E62416E717643476C777846354565414C384F65576A69636A3469416A63434467642F5431436A414E774F546E486C4C53565A496B796F563377414A70775442752F42664652445A6B6230623444676F4B386343314A4936426F6A50476A41323543634A4E35703144743977632F43316457356B76784D506134416337754B444538664337534139322F636E366F6B7A5167575A425431316649545145564A5A6F567249576D4945684A483843737546347565584F6D4B67427238634456656D444C594B38694F69524B7946706B422B346F416A502F4169537271534969755A4C6741786865446C767473637A634E464B303952793434524B7732527A376757326B76464C7333413976744B4138365279773478567050514B655566336E536939676A5470394D3643744247615576346C6B6A66544B384D305156416B3848415145366F32544B3479544B736B345870436A57466944532F4F7173715A56705044645149732B6C474C5A703566615872674830384944543238422B42754B4D47626C425375615A435547486B426B685566554477514F6C43514865364F554A44663169414B4545623639574939444465374C2F73484848416B6D5A4A38563068354F424C7846334C74684E764E396B786A78736B654739466742654745356F636B79416A3851476936706E78644E6B376348777772446B676B724448336B48626C686336417579424D517042733044494434683045525173546A557A6B4354666C69776A7046472B4A624D694D6930624765793658697A30534967594A394969426E2B4441422B67686C79657945564934597A4A4F6B4567584E33474A32435252623347704135722F66495977346653344344346851337871412F45494A78714F443851623869314A67786D6D6A6846594439505A7037412F424A6D4D764155536954447A394A676B31674E527148684568444A4F704F6F534870556B334245767573586E42447A454E61496947456E7A45345466654665635A43715235435372492F594234675049734E6A347A52386E347764734979522F694A386747563349473652714A73414767783732697079735844515938653064424A4E655A6D38774957365044716869644C4A63794B33644C645046717843384158466D78766C5552496A58413068454B426A475256624B43446E574254704A68414B352F664269705455754D3849445A314659756E6538493950462B3579744A634C68353641776F434B3478436172414F5742332B467842396B524C2B4F584A4F4966556C2F55436F6843314A6549696F4551767852793542492F49342B6B46686F4D4E526762657978527769472F525878687755634B51722F793958415165522B486970704266466D4364662B703474776E3175412B774C454B374E75526735774F69366434684475432F4F4C702F2F2B38682F4D6B38654C706E76654C39564969644F687246486D456B4A496964346144455039657851666172775432635333447747654B3777736C734A7433676C386F376C314B594A66692F35777367692B485668726D3876416473754A5A71594D55506F62656B67534A515643412B4B4241344D42662F494A63795873385A4441494955514E64385576326959794B4F376A4C495150636F666D4153385541535542356558584B72516F516F423479616D4542674A2B4B424B2B4A574D51456F354C684D635A59526833494151567859526B566D55716B6D5149584C6A4564792B52427A5A5471557443766F47672B4D6F61394E4A6D5959735167516354776F46676941386B797952654A636D4439686837424967734D716B497557436677754353575A4B33634248425976614A2B5546676F477962384150434B675168615271484251434252524D657A4930347966684175475A78384641515745563046342F345730415137456A38496551686F534278437643456E3649344D454E5265744568344766506B37544252627769546B54454F41534A334345535A456232357147435A4D484471596B4D7956585863596C736F4A5A4279424A595A412F776F3649737236786F486A496F434B3844796F584A6A2F6752426A5743714B425851654579696C6451532F7737574752474A507050454837775859344F63484F34415A725353656844436C2F75654F455A3978484749633479327041546D4D75455A4C353456345445477967314C427463384730555374676F49444A576C6F73366941595443694B38542F454E5246726F4945534C4741647A677A757968734163595731414E4B47466F4A75702B366B71774C3141384A7671792B3131306377584D45356469777778572B48634D6A4B6B49744A46646C772B685059694E686C4B5243554F4A43744E497477535759496546625A4D2B4631776A4661634B445675797264556643594B496F51673348546C4E566A35395475432B456E36644D374F373334476C302B4852486A53562B366657527153536A69484B4A646743363978787255597141662B55414E4C5A6737333857324A694A722B526A72466A53452F684E4449472B452F512B6C5539365159675841746A386A4E3842305A54704238464C6E7870534E793931746F384D426C4A4A3654682F7739354F37514734503354683566655471557773665862736C4C5754704A4A782F4B7177694A6B77777739426A79665041592F50486C5236674A69744F336B417844456A2B2B644D6751736A596C69644F70632F376C5139372F437033367263686A6351736E475559656737636A667759502B57416F44626D4D4A435270384C6B34496F4545345951414A37457638756A6B332F41565470476F7670336B67597476542F6F723979495645626C7A536F6F4534365538784E3254496642455873696267332B2F547164344D4F52652B4772776234515552666C2F4D41345A324F413571394941414141415355564F524B35435949493D222F3E0D0A2020202020203C546578744F626A656374204E616D653D22546578743222204C6566743D223637302E39352220546F703D2232382E3335222057696474683D223335392E3122204865696768743D2231382E392220546578743D225B546974656C325D2220486F727A416C69676E3D2252696768742220466F6E743D22417269616C2C20313070742C207374796C653D426F6C64222F3E0D0A2020202020203C546578744F626A656374204E616D653D22546578743122204C6566743D223637302E3935222057696474683D223335392E3122204865696768743D2231382E392220546578743D225B546974656C315D2220486F727A416C69676E3D2252696768742220466F6E743D22417269616C2C20313070742C207374796C653D426F6C64222F3E0D0A2020202020203C546578744F626A656374204E616D653D22546578743922204C6566743D22392E34352220546F703D2238352E3035222057696474683D2239342E3522204865696768743D2231382E392220546578743D225468656D612220466F6E743D22417269616C2C20313070742C207374796C653D426F6C64222F3E0D0A2020202020203C546578744F626A656374204E616D653D2254657874313622204C6566743D223135312E322220546F703D2238352E3035222057696474683D223134312E373522204865696768743D2231382E392220546578743D224B6F6D6D756E696B6174696F6E2220466F6E743D22417269616C2C20313070742C207374796C653D426F6C64222F3E0D0A2020202020203C546578744F626A656374204E616D653D2254657874313722204C6566743D223430362E33352220546F703D2238352E3035222057696474683D2239342E3522204865696768743D2231382E392220546578743D2245727374656C6C7420616D2220466F6E743D22417269616C2C20313070742C207374796C653D426F6C64222F3E0D0A2020202020203C546578744F626A656374204E616D653D2254657874313822204C6566743D223531302E332220546F703D2238352E3035222057696474683D2239342E3522204865696768743D2231382E392220546578743D224175737072C3A467756E672220466F6E743D22417269616C2C20313070742C207374796C653D426F6C64222F3E0D0A2020202020203C546578744F626A656374204E616D653D2254657874313922204C6566743D223732372E36352220546F703D2238352E3035222057696474683D2239342E3522204865696768743D2231382E392220546578743D225A69656C6772757070656E2220466F6E743D22417269616C2C20313070742C207374796C653D426F6C64222F3E0D0A2020202020203C4C696E654F626A656374204E616D653D224C696E653222204C6566743D22392E34352220546F703D223130332E3935222057696474683D22313032302E36222F3E0D0A202020203C2F5061676548656164657242616E643E0D0A202020203C47726F757048656164657242616E64204E616D653D2247726F7570486561646572312220546F703D223132312E34222057696474683D22313034372E303622204865696768743D2231382E392220436F6E646974696F6E3D225B446174656E2E5468656D615D223E0D0A2020202020203C546578744F626A656374204E616D653D22546578743322204C6566743D22392E3435222057696474683D223137302E3122204865696768743D2231382E392220546578743D225B5B446174656E2E5468656D615D5D2220466F6E743D22417269616C2C20313070742C207374796C653D426F6C64222F3E0D0A2020202020203C47726F757048656164657242616E64204E616D653D2247726F7570486561646572322220546F703D223134342E33222057696474683D22313034372E303622204865696768743D2231382E392220436F6E646974696F6E3D225B446174656E2E4B6F6D6D756E696B6174696F6E5D223E0D0A20202020202020203C546578744F626A656374204E616D653D22546578743422204C6566743D223135312E32222057696474683D223234352E3722204865696768743D2231382E392220546578743D225B5B446174656E2E4B6F6D6D756E696B6174696F6E5D5D222F3E0D0A20202020202020203C546578744F626A656374204E616D653D22546578743522204C6566743D223430362E3335222057696474683D2239342E3522204865696768743D2231382E392220546578743D225B446174656E2E4B6F6D6D75696B6174696F6E2065727374656C6C745F616D5D2220466F726D61743D22446174652220466F726D61742E466F726D61743D2264222F3E0D0A20202020202020203C47726F757048656164657242616E64204E616D653D2247726F7570486561646572332220546F703D223136372E32222057696474683D22313034372E303622204865696768743D2231382E392220436F6E646974696F6E3D225B446174656E2E4175737072616567756E675D223E0D0A202020202020202020203C546578744F626A656374204E616D653D22546578743622204C6566743D223531302E33222057696474683D223139382E343522204865696768743D2231382E392220546578743D225B5B446174656E2E4175737072616567756E675D5D222F3E0D0A202020202020202020203C4461746142616E64204E616D653D2244617461312220546F703D223139302E31222057696474683D22313034372E303622204865696768743D2231392E3435222043616E47726F773D2274727565222044617461536F757263653D22446174656E223E0D0A2020202020202020202020203C546578744F626A656374204E616D653D22546578743822204C6566743D223732372E3635222057696474683D223330322E3422204865696768743D2231382E392220546578743D225B446174656E2E5A69656C6772757070655D222F3E0D0A202020202020202020203C2F4461746142616E643E0D0A202020202020202020203C47726F7570466F6F74657242616E64204E616D653D2247726F7570466F6F746572332220546F703D223231332E3535222057696474683D22313034372E3036223E0D0A2020202020202020202020203C4C696E654F626A656374204E616D653D224C696E653522204C6566743D223531302E33222057696474683D223531392E3735222F3E0D0A202020202020202020203C2F47726F7570466F6F74657242616E643E0D0A20202020202020203C2F47726F757048656164657242616E643E0D0A20202020202020203C47726F7570466F6F74657242616E64204E616D653D2247726F7570466F6F746572322220546F703D223231372E3535222057696474683D22313034372E3036223E0D0A202020202020202020203C4C696E654F626A656374204E616D653D224C696E653422204C6566743D223135312E32222057696474683D223837382E3835222F3E0D0A20202020202020203C2F47726F7570466F6F74657242616E643E0D0A2020202020203C2F47726F757048656164657242616E643E0D0A2020202020203C47726F7570466F6F74657242616E64204E616D653D2247726F7570466F6F746572312220546F703D223232312E3535222057696474683D22313034372E303622204865696768743D22392E3435223E0D0A20202020202020203C4C696E654F626A656374204E616D653D224C696E653122204C6566743D2231382E39222057696474683D22313031312E3135222F3E0D0A2020202020203C2F47726F7570466F6F74657242616E643E0D0A202020203C2F47726F757048656164657242616E643E0D0A202020203C50616765466F6F74657242616E64204E616D653D2250616765466F6F746572312220546F703D22323335222057696474683D22313034372E303622204865696768743D2233372E38223E0D0A2020202020203C4C696E654F626A656374204E616D653D224C696E653322204C6566743D22392E34352220546F703D22392E3435222057696474683D22313032302E36222F3E0D0A2020202020203C546578744F626A656374204E616D653D22546578743722204C6566743D223933352E35352220546F703D2231382E39222057696474683D2239342E3522204865696768743D2231382E392220546578743D225B506167654E5D2220486F727A416C69676E3D225269676874222F3E0D0A2020202020203C546578744F626A656374204E616D653D2254657874313522204C6566743D22392E34352220546F703D2231382E39222057696474683D2239342E3522204865696768743D2231382E392220546578743D225B446174655D2220466F726D61743D22446174652220466F726D61742E466F726D61743D2264222F3E0D0A202020203C2F50616765466F6F74657242616E643E0D0A20203C2F5265706F7274506167653E0D0A3C2F5265706F72743E0D0A00, '20.04.2013 10:27:23.367', '20.04.2013 10:46:12.593', 1 +COMMIT; +RAISERROR (N'[dbo].[AuswertungRptDatei]: Insert Batch: 1.....Done!', 10, 1) WITH NOWAIT; +GO + +BEGIN TRANSACTION; +INSERT INTO [dbo].[Auswertungsparameter]([Auswertungparameternr], [Bezeichnung], [Operator], [Feldbezug], [Wert], [ParamName], [ParamType], [Aktiv], [Erstellt_am], [Mutiert_am], [Mutierer], [Fix], [FixOperator], [Visible], [Defaultvalue], [Editable], [Param_Name]) +SELECT 1, N'Erstellungsdatum', N'=;>=;>;<;<=;<>', NULL, NULL, NULL, N'Datum', 1, '20.04.2013 10:47:00.020', '20.04.2013 10:47:52.407', 1, NULL, NULL, NULL, NULL, NULL, NULL UNION ALL +SELECT 2, N'Datumperiode', N'=;>=;>;<;<=;<>', N'letzte Woche;letzter Monat;letztes Quartal;letztes Jahr;aktuelle Woche;aktueller Monat;aktuelles Quartal;aktuelles Jahr', NULL, NULL, N'Datepart', 1, '20.04.2013 10:47:58.990', '20.04.2013 11:01:11.417', 1, NULL, NULL, NULL, NULL, NULL, NULL UNION ALL +SELECT 3, N'Zielgruppe', N'=;>=;>;<;<=;<>', N'Select Zielgruppenr as Keyvalue, Bezeichnung from Zielgruppe order by Bezeichnung', NULL, NULL, N'varchar', 1, '20.04.2013 11:02:52.550', '20.04.2013 11:23:05.543', 1, NULL, NULL, NULL, NULL, NULL, NULL UNION ALL +SELECT 4, N'Ausprgung', N'=;>=;>;<;<=;<>', N'Select KommunkationAuspraegungNr as Keyvalue, Bezeichnung from KommunkationAuspraegung order by bezeichnung', NULL, NULL, N'varchar', 1, '20.04.2013 11:03:45.257', '20.04.2013 11:23:01.237', 1, NULL, NULL, NULL, NULL, NULL, NULL +COMMIT; +RAISERROR (N'[dbo].[Auswertungsparameter]: Insert Batch: 1.....Done!', 10, 1) WITH NOWAIT; +GO + +BEGIN TRANSACTION; +INSERT INTO [dbo].[Dokumenttyp]([Dokumenttypnr], [Bezeichnung], [Erstellt_am], [Mutiert_am], [Mutierer], [Aktiv]) +SELECT 1, N'Word-Dokument', '05.01.2013 09:16:55.057', '05.01.2013 09:16:55.053', 1, 1 UNION ALL +SELECT 2, N'Excel-Dokument', '05.01.2013 09:16:59.473', '05.01.2013 09:16:59.467', 1, 1 UNION ALL +SELECT 3, N'Power-Point', '05.01.2013 09:17:03.023', '05.01.2013 09:17:08.107', 1, 1 UNION ALL +SELECT 4, N'Text-Dokument', '05.01.2013 09:17:13.767', '05.01.2013 09:17:13.763', 1, 1 UNION ALL +SELECT 5, N'E-Mail', '05.01.2013 09:17:16.247', '05.01.2013 09:17:16.243', 1, 1 UNION ALL +SELECT 6, N'Hyperlink', '05.01.2013 09:17:18.647', '05.01.2013 09:17:18.643', 1, 1 +COMMIT; +RAISERROR (N'[dbo].[Dokumenttyp]: Insert Batch: 1.....Done!', 10, 1) WITH NOWAIT; +GO + +BEGIN TRANSACTION; +INSERT INTO [dbo].[Funktion]([FunktionNr], [Bezeichnung], [Beschreibung], [Aktiv], [Erstellt_am], [Mutiert_am], [Mutierer]) +SELECT 1, N'Funktion 1', NULL, 1, '29.01.2013 10:21:41.457', '29.01.2013 10:21:41.450', 1 UNION ALL +SELECT 2, N'Funktion 2', NULL, 1, '29.01.2013 10:21:43.560', '29.01.2013 10:21:43.557', 1 +COMMIT; +RAISERROR (N'[dbo].[Funktion]: Insert Batch: 1.....Done!', 10, 1) WITH NOWAIT; +GO + +BEGIN TRANSACTION; +INSERT INTO [dbo].[funktionsgruppe]([funktionsgruppenr], [bezeichnung], [beschreibung], [zugehoerigkeit], [mandantnr], [aktiv], [erstellt_am], [mutiert_am], [mutierer]) +SELECT 1, N'Systemadministrator', N'', N'', 1, 1, '01.01.2013 00:00:00.000', '01.01.2013 00:00:00.000', 1 +COMMIT; +RAISERROR (N'[dbo].[funktionsgruppe]: Insert Batch: 1.....Done!', 10, 1) WITH NOWAIT; +GO + +BEGIN TRANSACTION; +INSERT INTO [dbo].[Funktionsgruppe_auswertungGruppe]([Funktionsgruppe_AuswertungGruppenr], [funktionsgruppenr], [AuswertungGruppeNr], [Aktiv], [Erstellt_am], [Mutiert_am], [Mutierer]) +SELECT 1, 1, 1, 1, '20.04.2013 08:37:24.400', '20.04.2013 08:37:24.400', 1 UNION ALL +SELECT 2, 1, 2, 1, '20.04.2013 10:26:32.820', '20.04.2013 10:26:32.820', 1 UNION ALL +SELECT 3, 1, 3, 1, '20.04.2013 10:26:34.680', '20.04.2013 10:26:34.680', 1 +COMMIT; +RAISERROR (N'[dbo].[Funktionsgruppe_auswertungGruppe]: Insert Batch: 1.....Done!', 10, 1) WITH NOWAIT; +GO + +BEGIN TRANSACTION; +INSERT INTO [dbo].[funktionsgruppe_rolle]([Funktionsgrupperollenr], [funktionsgruppenr], [rollenr], [mandantnr], [aktiv], [erstellt_am], [mutiert_am], [mutierer]) +SELECT 1, 1, 1, 1, 1, '01.01.2013 00:00:00.000', '01.01.2013 00:00:00.000', 1 +COMMIT; +RAISERROR (N'[dbo].[funktionsgruppe_rolle]: Insert Batch: 1.....Done!', 10, 1) WITH NOWAIT; +GO + +BEGIN TRANSACTION; +INSERT INTO [dbo].[Kategorie]([KategorieNr], [Parentid], [Bezeichnung], [Beschreibung], [aktiv], [erstellt_am], [mutiert_am], [mutierer]) +SELECT 1, 0, N'Kategorie 1', NULL, 1, '06.01.2013 10:39:21.230', '06.01.2013 10:39:21.227', 1 UNION ALL +SELECT 2, 0, N'Kategorie 2', NULL, 1, '06.01.2013 10:39:24.563', '06.01.2013 10:39:24.560', 1 UNION ALL +SELECT 3, 0, N'Kategorie 3', NULL, 1, '06.01.2013 10:39:27.630', '06.01.2013 10:39:27.627', 1 UNION ALL +SELECT 4, 1, N'Kategorie 11', NULL, 1, '23.01.2013 13:51:07.310', '23.01.2013 13:51:09.790', 1 UNION ALL +SELECT 10, 2, N'Kategorie 21', NULL, 1, '23.01.2013 13:51:07.310', '23.01.2013 13:51:07.310', 1 UNION ALL +SELECT 11, 10, N'B 1234', NULL, 1, '01.03.2013 10:13:24.940', '01.03.2013 14:59:49.677', 1 +COMMIT; +RAISERROR (N'[dbo].[Kategorie]: Insert Batch: 1.....Done!', 10, 1) WITH NOWAIT; +GO + +SET IDENTITY_INSERT [dbo].[key_tabelle] ON; + +BEGIN TRANSACTION; +INSERT INTO [dbo].[key_tabelle]([keynr], [beschreibung], [key_wert], [mandantnr], [aktiv], [erstellt_am], [mutiert_am], [mutierer]) +SELECT 3, N'Spalten', 360, 1, 1, '07.10.2008 00:00:00.000', '17.09.2012 07:48:27.983', 1 UNION ALL +SELECT 4, N'Meldungstexte', 0, 1, 1, '07.10.2008 00:00:00.000', '07.10.2008 00:00:00.000', 1 UNION ALL +SELECT 5, N'sysadminfunktion', 35, 1, 1, '08.10.2008 00:00:00.000', '08.10.2008 00:00:00.000', 1 UNION ALL +SELECT 6, N'mitarbeiter_funktionsgruppe', 1, 1, 1, '09.10.2008 00:00:00.000', '09.10.2008 00:00:00.000', 1 UNION ALL +SELECT 7, N'rolle_sysadminfunktion', 31, 1, 1, '09.10.2008 00:00:00.000', '05.01.2013 09:14:43.770', 1 UNION ALL +SELECT 8, N'funktionsgruppe_rolle', 1, 1, 1, '10.10.2008 13:00:23.000', '10.10.2008 13:00:23.000', 1 UNION ALL +SELECT 9, N'SecurityObject', 17, 1, 1, '10.10.2008 13:00:24.000', '10.10.2008 13:00:29.000', 1 UNION ALL +SELECT 20, N'Mitarbeiter', 1, 1, 1, '17.10.2008 00:00:00.000', '17.10.2008 00:00:00.000', 1 UNION ALL +SELECT 21, N'Thema', 16, 1, 1, '05.01.2013 09:12:06.000', '05.01.2013 09:12:19.873', 1 UNION ALL +SELECT 22, N'Dokument', 83, 1, 1, '05.01.2013 09:12:06.000', '05.01.2013 09:12:34.647', 1 UNION ALL +SELECT 23, N'DokumentAblageOrt', 0, 1, 1, '05.01.2013 09:12:06.000', '05.01.2013 09:12:42.810', 1 UNION ALL +SELECT 24, N'DokumentAblageTyp', 0, 1, 1, '05.01.2013 09:12:06.000', '05.01.2013 09:12:51.557', 1 UNION ALL +SELECT 25, N'DokumentTyp', 6, 1, 1, '05.01.2013 09:12:06.000', '05.01.2013 09:12:59.807', 1 UNION ALL +SELECT 26, N'Speichertyp', 3, 1, 1, '05.01.2013 14:58:38.000', '05.01.2013 14:58:43.480', 1 UNION ALL +SELECT 27, N'Kategorie', 11, 1, 1, '06.01.2013 10:35:16.000', '06.01.2013 10:35:23.850', 1 UNION ALL +SELECT 28, N'Zielgruppe', 5, 1, 1, '06.01.2013 10:35:16.000', '06.01.2013 10:35:27.427', 1 UNION ALL +SELECT 29, N'ThemaEntwicklung', 20, 1, 1, '06.01.2013 10:35:16.000', '06.01.2013 10:35:16.000', 1 UNION ALL +SELECT 30, N'Kommunikation', 30, 1, 1, '06.01.2013 10:35:16.000', '06.01.2013 10:35:16.000', 1 UNION ALL +SELECT 31, N'KommunikationAuspraegung', 42, 1, 1, '06.01.2013 10:35:16.000', '06.01.2013 10:35:16.000', 1 UNION ALL +SELECT 32, N'KommunikationAuspraegung_Zielgruppe', 25, 1, 1, '06.01.2013 10:35:16.000', '06.01.2013 10:35:16.000', 1 UNION ALL +SELECT 33, N'Funktion', 2, 1, 1, '28.01.2013 00:00:00.000', '28.01.2013 00:00:00.000', 1 UNION ALL +SELECT 34, N'Person', 1000, 1, 1, '28.01.2013 00:00:00.000', '28.01.2013 00:00:00.000', 1 UNION ALL +SELECT 35, N'ThemaPerson', 7, 1, 1, '28.01.2013 00:00:00.000', '28.01.2013 00:00:00.000', 1 UNION ALL +SELECT 36, N'Auswertung', 4, 1, 1, '20.04.2013 08:13:06.000', '20.04.2013 08:13:37.233', 1 UNION ALL +SELECT 37, N'Auswertunggruppe', 3, 1, 1, '20.04.2013 08:13:06.000', '20.04.2013 08:13:47.450', 1 UNION ALL +SELECT 38, N'Auswertungsparameter', 4, 1, 1, '20.04.2013 08:13:06.000', '20.04.2013 08:13:53.973', 1 UNION ALL +SELECT 39, N'AuswertungGruppeAuswertung', 7, 1, 1, '20.04.2013 08:13:06.000', '20.04.2013 08:14:32.443', 1 UNION ALL +SELECT 40, N'AuswertungAuswertungParameter', 6, 1, 1, '20.04.2013 08:13:06.000', '20.04.2013 08:14:19.150', 1 UNION ALL +SELECT 41, N'Funktionsgruppe_AuswertungGruppe', 3, 1, 1, '20.04.2013 08:13:06.000', '20.04.2013 08:14:31.523', 1 UNION ALL +SELECT 43, N'Pendenz', 4, 1, 1, '20.04.2013 08:13:06.000', '20.04.2013 08:13:06.000', 1 UNION ALL +SELECT 44, N'Pendenzstatus', 0, 1, 1, '20.04.2013 08:13:06.000', '20.04.2013 08:13:06.000', 1 +COMMIT; +RAISERROR (N'[dbo].[key_tabelle]: Insert Batch: 1.....Done!', 10, 1) WITH NOWAIT; +GO + +SET IDENTITY_INSERT [dbo].[key_tabelle] OFF; + +BEGIN TRANSACTION; +INSERT INTO [dbo].[meldungstexte]([meldungstextnr], [sprache], [inhalt], [Beschreibung], [aktiv], [erstellt_am], [mutiert_am], [mutierer], [mandantnr]) +SELECT 1, 1, N'Wollen Sie die Anwendung beenden?', N'Anwendung beenden', 1, '05.10.2008 00:00:00.000', '07.10.2008 23:16:33.407', 1, 1 UNION ALL +SELECT 2, 1, N'Sie sind nicht berechtigt, die Applikation zu benutzen.', N'Fehlende Benutzer-ID', 1, '06.10.2008 00:00:00.000', '06.10.2008 00:00:00.000', 1, 1 UNION ALL +SELECT 3, 1, N'Daten wurden verndert. Wollen Sie diese speichern?', N'Fragen nach Datenspeichernung', 1, '07.10.2008 00:00:00.000', '07.10.2008 00:00:00.000', 1, 1 UNION ALL +SELECT 4, 1, N'Datensatz wirklich lschen?', N'Datensatz Lschen', 1, '06.01.2013 00:00:00.000', '06.01.2013 00:00:00.000', 1, 1 +COMMIT; +RAISERROR (N'[dbo].[meldungstexte]: Insert Batch: 1.....Done!', 10, 1) WITH NOWAIT; +GO + +BEGIN TRANSACTION; +INSERT INTO [dbo].[mitarbeiter]([mitarbeiternr], [vorname], [name], [tgnummer], [email], [mandantnr], [aktiv], [erstellt_am], [mutiert_am], [mutierer]) +SELECT 1, N'Stefan', N'Hutter', N'Stefan Hutter', N'hutter@shub.ch', 1, 1, '01.01.2013 00:00:00.000', '01.01.3013 00:00:00.000', 1 +COMMIT; +RAISERROR (N'[dbo].[mitarbeiter]: Insert Batch: 1.....Done!', 10, 1) WITH NOWAIT; +GO + +BEGIN TRANSACTION; +INSERT INTO [dbo].[mitarbeiter_funktionsgruppe]([mitarbeiter_funktionsgruppenr], [mitarbeiternr], [funktionsgruppenr], [aktiv], [mandantnr], [erstellt_am], [mutiert_am], [mutierer]) +SELECT 1, 1, 1, 1, 1, '01.01.2013 00:00:00.000', '01.01.2012 00:00:00.000', 1 +COMMIT; +RAISERROR (N'[dbo].[mitarbeiter_funktionsgruppe]: Insert Batch: 1.....Done!', 10, 1) WITH NOWAIT; +GO + +SET IDENTITY_INSERT [dbo].[Nebenkategorie] ON; + +BEGIN TRANSACTION; +INSERT INTO [dbo].[Nebenkategorie]([NebenkategorieNr], [KategorieNr], [Themanr], [Aktiv], [Erstellt_am], [Mutiert_am], [Mutierer]) +SELECT 1, 11, 6, 0, '01.03.2013 11:55:16.717', '01.03.2013 12:01:06.683', 1 UNION ALL +SELECT 2, 1, 6, 0, '01.03.2013 12:00:03.293', '01.03.2013 12:00:35.203', 1 UNION ALL +SELECT 3, 4, 6, 0, '01.03.2013 12:00:03.850', '01.03.2013 12:10:30.790', 1 UNION ALL +SELECT 4, 10, 6, 0, '01.03.2013 12:00:50.473', '01.03.2013 12:10:30.793', 1 UNION ALL +SELECT 5, 11, 6, 1, '01.03.2013 12:10:14.057', '01.03.2013 12:10:14.057', 1 UNION ALL +SELECT 6, 2, 6, 1, '01.03.2013 15:01:28.920', '01.03.2013 15:01:28.920', 1 UNION ALL +SELECT 7, 10, 6, 1, '01.03.2013 15:05:56.050', '01.03.2013 15:05:56.050', 1 UNION ALL +SELECT 8, 1, 6, 1, '01.03.2013 16:18:49.133', '01.03.2013 16:18:49.133', 1 UNION ALL +SELECT 9, 4, 6, 1, '01.03.2013 16:18:49.137', '01.03.2013 16:18:49.137', 1 +COMMIT; +RAISERROR (N'[dbo].[Nebenkategorie]: Insert Batch: 1.....Done!', 10, 1) WITH NOWAIT; +GO + +SET IDENTITY_INSERT [dbo].[Nebenkategorie] OFF; + +BEGIN TRANSACTION; +INSERT INTO [dbo].[Pendenzstatus]([PendenzStatusNr], [Bezeichnung], [Aktiv], [Erstellt_am], [Mutiert_am], [Mutierer], [Mandantnr], [Pendenz_Aktivieren], [Pendenz_Inaktivieren]) +SELECT 1, N'Offene', 1, '08.12.2008 11:16:50.327', '13.09.2009 16:15:40.280', 1, 1, 1, 0 UNION ALL +SELECT 2, N'In Bearbeitung', 1, '08.12.2008 11:16:56.490', '26.06.2009 09:26:42.350', 1, 1, 1, 0 UNION ALL +SELECT 3, N'Erledigt', 1, '08.12.2008 11:16:59.343', '26.06.2009 09:26:39.323', 1, 1, 0, 1 UNION ALL +SELECT 4, N'Hinfllig', 1, '08.12.2008 11:17:01.823', '26.06.2009 10:47:04.777', 1, 1, 0, 1 +COMMIT; +RAISERROR (N'[dbo].[Pendenzstatus]: Insert Batch: 1.....Done!', 10, 1) WITH NOWAIT; +GO + +BEGIN TRANSACTION; +INSERT INTO [dbo].[rolle]([rollenr], [bezeichnung], [beschreibung], [sysadminrolle], [mandantnr], [aktiv], [erstellt_am], [mutiert_am], [mutierer]) +SELECT 1, N'Systemadministrator', N'Systemadministrator', 1, 1, 1, '11.10.2008 22:34:11.703', '11.10.2008 22:34:11.703', 1 +COMMIT; +RAISERROR (N'[dbo].[rolle]: Insert Batch: 1.....Done!', 10, 1) WITH NOWAIT; +GO + +BEGIN TRANSACTION; +INSERT INTO [dbo].[rolle_sysadminfunktion]([rolle_sysadminfnktnr], [aktiv], [erstellt_am], [mutiert_am], [mutierer], [sysadminfnktnr], [rollenr], [mandant]) +SELECT 1, 1, '08.10.2008 00:00:00.000', '08.10.2008 00:00:00.000', 1, 1, 1, 1 UNION ALL +SELECT 2, 1, '08.10.2008 00:00:00.000', '08.10.2008 00:00:00.000', 1, 2, 1, 1 UNION ALL +SELECT 3, 1, '08.10.2008 00:00:00.000', '08.10.2008 00:00:00.000', 1, 3, 1, 1 UNION ALL +SELECT 4, 1, '08.10.2008 00:00:00.000', '08.10.2008 00:00:00.000', 1, 4, 1, 1 UNION ALL +SELECT 5, 1, '08.10.2008 00:00:00.000', '08.10.2008 00:00:00.000', 1, 5, 1, 1 UNION ALL +SELECT 6, 1, '08.10.2008 00:00:00.000', '08.10.2008 00:00:00.000', 1, 6, 1, 1 UNION ALL +SELECT 7, 1, '08.10.2008 00:00:00.000', '08.10.2008 00:00:00.000', 1, 7, 1, 1 UNION ALL +SELECT 8, 1, '08.10.2008 00:00:00.000', '08.10.2008 00:00:00.000', 1, 8, 1, 1 UNION ALL +SELECT 9, 1, '08.10.2008 00:00:00.000', '08.10.2008 00:00:00.000', 1, 9, 1, 1 UNION ALL +SELECT 10, 1, '08.10.2008 00:00:00.000', '08.10.2008 00:00:00.000', 1, 10, 1, 1 UNION ALL +SELECT 11, 1, '08.10.2008 00:00:00.000', '08.10.2008 00:00:00.000', 1, 11, 1, 1 UNION ALL +SELECT 12, 1, '08.10.2008 00:00:00.000', '08.10.2008 00:00:00.000', 1, 12, 1, 1 UNION ALL +SELECT 13, 1, '09.10.2008 18:55:29.250', '09.10.2008 18:55:29.250', 1, 13, 1, 1 UNION ALL +SELECT 14, 1, '10.10.2008 13:02:03.030', '10.10.2008 13:02:03.030', 1, 14, 1, 1 UNION ALL +SELECT 15, 1, '11.10.2008 12:30:43.907', '11.10.2008 12:30:43.907', 1, 17, 1, 1 UNION ALL +SELECT 16, 1, '11.10.2008 12:31:24.627', '11.10.2008 12:31:24.627', 1, 16, 1, 1 UNION ALL +SELECT 17, 1, '05.01.2013 09:14:54.763', '05.01.2013 09:14:54.763', 1, 19, 1, 1 UNION ALL +SELECT 18, 1, '05.01.2013 09:14:56.353', '05.01.2013 09:14:56.353', 1, 20, 1, 1 UNION ALL +SELECT 19, 1, '05.01.2013 09:14:57.733', '05.01.2013 09:14:57.733', 1, 21, 1, 1 UNION ALL +SELECT 20, 1, '05.01.2013 14:59:20.210', '05.01.2013 14:59:20.210', 1, 22, 1, 1 UNION ALL +SELECT 21, 1, '06.01.2013 10:38:08.013', '06.01.2013 10:38:08.013', 1, 24, 1, 1 UNION ALL +SELECT 22, 1, '06.01.2013 10:38:09.357', '06.01.2013 10:38:09.357', 1, 25, 1, 1 UNION ALL +SELECT 23, 1, '29.01.2013 10:20:02.780', '29.01.2013 10:20:02.780', 1, 26, 1, 1 UNION ALL +SELECT 24, 1, '29.01.2013 10:20:03.383', '29.01.2013 10:20:03.383', 1, 27, 1, 1 UNION ALL +SELECT 25, 1, '20.04.2013 08:11:28.770', '20.04.2013 08:11:28.770', 1, 29, 1, 1 UNION ALL +SELECT 26, 1, '20.04.2013 08:11:36.540', '20.04.2013 08:11:36.540', 1, 30, 1, 1 UNION ALL +SELECT 27, 1, '20.04.2013 08:11:37.397', '20.04.2013 08:11:37.397', 1, 31, 1, 1 UNION ALL +SELECT 28, 1, '20.04.2013 08:11:38.160', '20.04.2013 08:11:38.160', 1, 32, 1, 1 UNION ALL +SELECT 29, 1, '20.04.2013 08:11:44.277', '20.04.2013 08:11:44.277', 1, 33, 1, 1 UNION ALL +SELECT 30, 1, '20.04.2013 08:11:44.977', '20.04.2013 08:11:44.977', 1, 34, 1, 1 UNION ALL +SELECT 31, 1, '21.04.2013 15:36:54.510', '21.04.2013 15:36:54.510', 1, 35, 1, 1 +COMMIT; +RAISERROR (N'[dbo].[rolle_sysadminfunktion]: Insert Batch: 1.....Done!', 10, 1) WITH NOWAIT; +GO + +BEGIN TRANSACTION; +INSERT INTO [dbo].[SecurityObject]([SecurityObjectNr], [SecurityForm], [SecurityObjectType], [SecurityObject], [SecurityObjectItem], [SecurityObjectDescriotion], [Level], [Aktiv], [Erstellt_am], [Mutiert_am], [Mutierer], [Mandantnr]) +SELECT 1, N'frmMain', N'ToolStrip', N'ToolStrip1', N'', N'ToolStrip1', 0, 1, '02.01.2013 22:09:08.537', '02.01.2013 22:09:08.537', 1, 1 UNION ALL +SELECT 2, N'frmMain', N'ToolStrip', N'ToolStrip1', N'TSBtnQuit', N'ToolStripButton1', 1, 1, '02.01.2013 22:09:08.543', '02.01.2013 22:09:08.543', 1, 1 UNION ALL +SELECT 3, N'frmMain', N'ToolStrip', N'ToolStrip1', N'TSBtnVertragsuebersicht', N'Vertragsbersicht', 1, 1, '02.01.2013 22:09:08.547', '02.01.2013 22:09:08.547', 1, 1 UNION ALL +SELECT 4, N'frmMain', N'ToolStrip', N'ToolStrip1', N'TSBtnMonitoring', N'ToolStripButton3', 1, 1, '02.01.2013 22:09:08.547', '02.01.2013 22:09:08.547', 1, 1 UNION ALL +SELECT 5, N'frmMain', N'ToolStrip', N'ToolStrip1', N'TSBtnApplikationen', N'Applikationsverwaltung', 1, 1, '02.01.2013 22:09:08.550', '02.01.2013 22:09:08.550', 1, 1 UNION ALL +SELECT 6, N'frmMain', N'ToolStrip', N'ToolStrip1', N'ToolStripButton1', N'Lizenzmanagement', 1, 1, '02.01.2013 22:09:08.550', '02.01.2013 22:09:08.550', 1, 1 UNION ALL +SELECT 7, N'frmMain', N'MenuStrip', N'MenuStrip1', N'', N'MenuStrip1', 0, 1, '02.01.2013 22:09:08.553', '02.01.2013 22:09:08.553', 1, 1 UNION ALL +SELECT 8, N'frmMain', N'menustrip', N'MenuStrip1', N'DateiToolStripMenuItem', N'Datei', 0, 1, '02.01.2013 22:09:08.553', '02.01.2013 22:09:08.553', 1, 1 UNION ALL +SELECT 9, N'frmMain', N'menustrip', N'MenuStrip1', N'BeendenToolStripMenuItem', N'Beenden', 1, 1, '02.01.2013 22:09:08.557', '02.01.2013 22:09:08.557', 1, 1 UNION ALL +SELECT 10, N'frmMain', N'menustrip', N'MenuStrip1', N'NeuAnmeldenToolStripMenuItem', N'Neu anmelden', 1, 1, '02.01.2013 22:09:08.557', '02.01.2013 22:09:08.557', 1, 1 UNION ALL +SELECT 11, N'frmMain', N'menustrip', N'MenuStrip1', N'ThemenToolStripMenuItem', N'Themen', 0, 1, '02.01.2013 22:09:08.560', '02.01.2013 22:09:08.560', 1, 1 UNION ALL +SELECT 12, N'frmMain', N'menustrip', N'MenuStrip1', N'PendenzenToolStripMenuItem', N'Pendenzen', 0, 1, '02.01.2013 22:09:08.563', '02.01.2013 22:09:08.563', 1, 1 UNION ALL +SELECT 13, N'frmMain', N'menustrip', N'MenuStrip1', N'AuswertungenToolStripMenuItem', N'Auswertungen', 0, 1, '02.01.2013 22:09:08.563', '02.01.2013 22:09:08.563', 1, 1 UNION ALL +SELECT 14, N'frmMain', N'menustrip', N'MenuStrip1', N'ExtrasToolStripMenuItem', N'Extras', 0, 1, '02.01.2013 22:09:08.567', '02.01.2013 22:09:08.567', 1, 1 UNION ALL +SELECT 15, N'frmMain', N'menustrip', N'MenuStrip1', N'SystemAdministrationToolStripMenuItem', N'System-Administration', 1, 1, '02.01.2013 22:09:08.567', '02.01.2013 22:09:08.567', 1, 1 UNION ALL +SELECT 16, N'frmMain', N'menustrip', N'MenuStrip1', N'ObjektListerToolStripMenuItem', N'Objekt-Lister', 1, 1, '02.01.2013 22:09:08.570', '02.01.2013 22:09:08.570', 1, 1 UNION ALL +SELECT 17, N'frmMain', N'MdiClient', N'', N'', N'', 0, 1, '02.01.2013 22:09:08.570', '02.01.2013 22:09:08.570', 1, 1 +COMMIT; +RAISERROR (N'[dbo].[SecurityObject]: Insert Batch: 1.....Done!', 10, 1) WITH NOWAIT; +GO + +BEGIN TRANSACTION; +INSERT INTO [dbo].[spalten]([eintragnr], [tabelle], [tabellenspalte], [spalte], [Readonly], [alsHacken], [Breite], [Reihenfolge], [tiptext], [aktiv], [erstellt_am], [mutiert_am], [mutierer], [mandantnr], [NumberFormat]) +SELECT 1, N'Spalten', N'eintragnr', N'Eintrag', 1, 0, 50, 0, N'', 1, '09.12.2002 00:00:00.000', '07.10.2008 22:39:03.110', 1, 1, NULL UNION ALL +SELECT 2, N'Spalten', N'tabelle', N'Tabelle', 0, 0, 100, 1, N'', 1, '09.12.2002 00:00:00.000', '06.01.2003 22:33:00.000', 1, 1, NULL UNION ALL +SELECT 3, N'Spalten', N'tabellenspalte', N'Spalte in Tabelle', 0, 0, 100, 2, N'', 1, '09.12.2002 00:00:00.000', '06.01.2003 22:30:00.000', 1, 1, NULL UNION ALL +SELECT 4, N'Spalten', N'spalte', N'Spaltentitel', 0, 0, 100, 3, N'', 1, '09.12.2002 00:00:00.000', '06.01.2003 22:30:00.000', 1, 1, NULL UNION ALL +SELECT 5, N'Spalten', N'Readonly', N'ReadOnly', 0, 0, 70, 4, N'', 1, '09.12.2002 00:00:00.000', '07.10.2008 22:42:16.423', 1, 1, NULL UNION ALL +SELECT 6, N'Spalten', N'aktiv', N'Aktiv', 0, 1, 40, 9, N'', 1, '09.12.2002 00:00:00.000', '21.05.2009 13:11:14.537', 1, 1, NULL UNION ALL +SELECT 7, N'Spalten', N'erstellt_am', N'Erstellungsdatum', 1, 0, 100, 9, N'', 1, '09.12.2002 00:00:00.000', '12.12.2008 15:29:44.400', 1, 1, NULL UNION ALL +SELECT 8, N'Spalten', N'mutiert_am', N'Mutationsdatum', 1, 0, 100, 11, N'', 1, '09.12.2002 00:00:00.000', '21.05.2009 13:11:22.987', 1, 1, NULL UNION ALL +SELECT 9, N'Spalten', N'mutierer', N'Mutiert durch', 1, 0, 40, 12, N'', 1, '07.10.2008 22:46:07.767', '21.05.2009 13:11:23.827', 1, 1, NULL UNION ALL +SELECT 10, N'Spalten', N'Breite', N'Breite', 0, 0, 100, 5, N'', 1, '26.12.2002 11:20:00.000', '12.12.2008 15:29:38.287', 1, 1, NULL UNION ALL +SELECT 11, N'Spalten', N'Reihenfolge', N'Reihenfolge', 0, 0, 100, 6, N'', 1, '26.12.2002 11:21:00.000', '12.12.2008 15:29:39.923', 1, 1, NULL UNION ALL +SELECT 12, N'Spalten', N'alsHacken', N'CB', 0, 1, 40, 7, N'', 1, '07.10.2008 22:45:43.593', '12.12.2008 15:29:40.983', 1, 1, NULL UNION ALL +SELECT 13, N'Spalten', N'tiptext', N'TipText', 0, 0, 100, 10, N'', 1, '21.01.2003 08:09:00.000', '21.05.2009 13:11:20.553', 1, 1, NULL UNION ALL +SELECT 14, N'Meldungstexte', N'meldungstextnr', N'MeldungsNr', 0, 0, 100, 1, N'', 1, '10.12.2002 00:00:00.000', '17.03.2009 22:57:13.003', 1, 1, NULL UNION ALL +SELECT 15, N'Meldungstexte', N'Sprache', N'Sprachcode', 0, 0, 100, 2, N'', 1, '10.12.2002 00:00:00.000', '17.03.2009 22:57:13.517', 1, 1, NULL UNION ALL +SELECT 16, N'Meldungstexte', N'inhalt', N'Inhalt', 0, 0, 100, 3, N'', 1, '10.12.2002 00:02:00.000', '17.03.2009 22:57:14.110', 1, 1, NULL UNION ALL +SELECT 17, N'Meldungstexte', N'aktiv', N'Aktiv', 0, 1, 40, 4, N'', 1, '10.12.2002 00:00:00.000', '17.03.2009 22:57:14.597', 1, 1, NULL UNION ALL +SELECT 18, N'Meldungstexte', N'erstellt_am', N'Erstellungsdatum', 1, 0, 100, 5, N'', 1, '10.12.2002 00:00:00.000', '17.03.2009 22:57:15.157', 1, 1, NULL UNION ALL +SELECT 19, N'Meldungstexte', N'mutiert_am', N'Mutationsdatum', 1, 0, 100, 6, N'', 1, '10.12.2002 00:02:00.000', '17.03.2009 22:57:15.657', 1, 1, NULL UNION ALL +SELECT 20, N'Meldungstexte', N'mutierer', N'Mutiert durch', 1, 0, 40, 7, N'', 1, '10.12.2002 00:00:00.000', '17.03.2009 22:57:16.267', 1, 1, NULL UNION ALL +SELECT 21, N'sysadminfunktion', N'sysadminfnktnr', N'Nr.', 1, 0, 40, 1, N'', 1, '08.10.2008 14:49:42.530', '17.12.2008 17:23:25.317', 1, 1, NULL UNION ALL +SELECT 22, N'sysadminfunktion', N'bezeichnung', N'Bezeichnung', 0, 0, 100, 2, N'', 1, '08.10.2008 14:49:42.530', '17.12.2008 17:23:25.723', 1, 1, NULL UNION ALL +SELECT 23, N'sysadminfunktion', N'ParentID', N'ParentID', 0, 0, 40, 3, N'', 1, '08.10.2008 14:49:42.547', '17.12.2008 17:23:26.380', 1, 1, NULL UNION ALL +SELECT 24, N'sysadminfunktion', N'Sort', N'Sort', 0, 0, 40, 4, N'', 1, '08.10.2008 14:49:42.827', '17.12.2008 17:23:26.770', 1, 1, NULL UNION ALL +SELECT 25, N'sysadminfunktion', N'ImageIndex', N'ImageIndex', 0, 0, 40, 5, N'', 1, '08.10.2008 14:49:42.827', '17.12.2008 17:23:27.160', 1, 1, NULL UNION ALL +SELECT 26, N'sysadminfunktion', N'ImageIndexOpen', N'ImageIndexOpen', 0, 0, 40, 6, N'', 1, '08.10.2008 14:49:42.827', '17.12.2008 17:23:27.533', 1, 1, NULL UNION ALL +SELECT 27, N'sysadminfunktion', N'ftop', N'ftop', 0, 0, 40, 7, N'', 1, '08.10.2008 14:49:42.827', '17.12.2008 17:23:27.953', 1, 1, NULL UNION ALL +SELECT 28, N'sysadminfunktion', N'fleft', N'fleft', 0, 0, 40, 8, N'', 1, '08.10.2008 14:49:42.827', '17.12.2008 17:23:28.343', 1, 1, NULL UNION ALL +SELECT 29, N'sysadminfunktion', N'fwidth', N'fwidth', 0, 0, 40, 9, N'', 1, '08.10.2008 14:49:42.827', '17.12.2008 17:23:28.750', 1, 1, NULL UNION ALL +SELECT 30, N'sysadminfunktion', N'fheight', N'fheight', 0, 0, 40, 10, N'', 1, '08.10.2008 14:49:42.827', '17.12.2008 17:23:29.950', 1, 1, NULL UNION ALL +SELECT 31, N'sysadminfunktion', N'beschreibung', N'beschreibung', 0, 0, 100, 11, N'', 1, '08.10.2008 14:49:42.843', '17.12.2008 17:23:31.260', 1, 1, NULL UNION ALL +SELECT 32, N'sysadminfunktion', N'mandantnr', N'mandantnr', 0, 0, 40, 12, N'', 1, '08.10.2008 14:49:42.843', '17.12.2008 17:23:31.760', 1, 1, NULL UNION ALL +SELECT 33, N'sysadminfunktion', N'sprache', N'sprache', 0, 0, 40, 13, N'', 1, '08.10.2008 14:49:42.843', '17.12.2008 17:23:33.010', 1, 1, NULL UNION ALL +SELECT 34, N'sysadminfunktion', N'aktiv', N'Aktiv', 0, 0, 40, 14, N'', 1, '08.10.2008 14:49:42.843', '17.12.2008 17:23:33.523', 1, 1, NULL UNION ALL +SELECT 35, N'sysadminfunktion', N'erstellt_am', N'Erstellungsdatum', 1, 0, 100, 15, N'', 1, '08.10.2008 14:49:42.843', '17.12.2008 17:23:33.897', 1, 1, NULL UNION ALL +SELECT 36, N'sysadminfunktion', N'mutiert_am', N'Mutationsdatum', 1, 0, 100, 16, N'', 1, '08.10.2008 14:49:42.843', '17.12.2008 17:23:34.647', 1, 1, NULL UNION ALL +SELECT 37, N'sysadminfunktion', N'mutierer', N'Mutiert durch', 1, 0, 40, 17, N'', 1, '08.10.2008 14:49:42.843', '17.12.2008 17:23:35.130', 1, 1, NULL UNION ALL +SELECT 38, N'sysadminfunktion', N'Domaintable', N'Domaintable', 0, 0, 100, 18, N'', 1, '08.10.2008 14:49:42.843', '17.12.2008 17:23:36.067', 1, 1, NULL UNION ALL +SELECT 39, N'application', N'applikationsnr', N'Nr', 1, 0, 40, 1, N'', 1, '08.10.2008 14:58:40.950', '13.01.2009 21:10:37.010', 1, 1, NULL UNION ALL +SELECT 40, N'application', N'version', N'Version', 0, 0, 100, 2, N'', 1, '08.10.2008 14:58:40.950', '13.01.2009 21:10:37.273', 1, 1, NULL UNION ALL +SELECT 41, N'application', N'showlogin', N'ShowLogin', 0, 0, 100, 3, N'', 1, '08.10.2008 14:58:40.950', '13.01.2009 21:10:37.617', 1, 1, NULL UNION ALL +SELECT 42, N'application', N'mandantnr', N'MandantNr', 0, 0, 100, 4, N'', 1, '08.10.2008 14:58:40.950', '13.01.2009 21:10:37.913', 1, 1, NULL UNION ALL +SELECT 43, N'application', N'aktiv', N'Aktiv', 0, 0, 40, 5, N'', 1, '08.10.2008 14:58:41.250', '13.01.2009 21:10:38.240', 1, 1, NULL UNION ALL +SELECT 44, N'application', N'erstellt_am', N'Erstellungsdatum', 1, 0, 100, 6, N'', 1, '08.10.2008 14:58:41.250', '13.01.2009 21:10:38.553', 1, 1, NULL UNION ALL +SELECT 45, N'application', N'mutiert_am', N'Mutationsdatum', 1, 0, 100, 7, N'', 1, '08.10.2008 14:58:41.250', '13.01.2009 21:10:38.897', 1, 1, NULL UNION ALL +SELECT 46, N'application', N'mutierer', N'Mutiert durch', 1, 0, 40, 8, N'', 1, '08.10.2008 14:58:41.250', '13.01.2009 21:10:39.427', 1, 1, NULL UNION ALL +SELECT 47, N'mitarbeiter', N'mitarbeiternr', N'Nr.', 0, 0, 40, 1, N'', 1, '08.10.2008 18:09:04.763', '24.12.2008 10:22:08.783', 1, 1, NULL UNION ALL +SELECT 48, N'mitarbeiter', N'vorname', N'Vorname', 0, 0, 100, 2, N'', 1, '08.10.2008 18:09:04.763', '24.12.2008 10:22:09.447', 1, 1, NULL UNION ALL +SELECT 49, N'mitarbeiter', N'name', N'Name', 0, 0, 100, 3, N'', 1, '08.10.2008 18:09:04.763', '24.12.2008 10:22:09.943', 1, 1, NULL UNION ALL +SELECT 50, N'mitarbeiter', N'kurzzeichen', N'Kurzzeichen', 0, 0, 60, 4, N'', 1, '08.10.2008 18:09:04.780', '24.12.2008 10:22:10.670', 1, 1, NULL +COMMIT; +RAISERROR (N'[dbo].[spalten]: Insert Batch: 1.....Done!', 10, 1) WITH NOWAIT; +GO + +BEGIN TRANSACTION; +INSERT INTO [dbo].[spalten]([eintragnr], [tabelle], [tabellenspalte], [spalte], [Readonly], [alsHacken], [Breite], [Reihenfolge], [tiptext], [aktiv], [erstellt_am], [mutiert_am], [mutierer], [mandantnr], [NumberFormat]) +SELECT 51, N'mitarbeiter', N'anrede', N'Anrede', 0, 0, 0, 5, N'', 1, '08.10.2008 18:09:04.780', '24.12.2008 10:22:12.760', 1, 1, NULL UNION ALL +SELECT 52, N'mitarbeiter', N'tgnummer', N'TGNummer', 0, 0, 100, 6, N'', 1, '08.10.2008 18:09:04.780', '24.12.2008 10:22:13.223', 1, 1, NULL UNION ALL +SELECT 53, N'mitarbeiter', N'email', N'E-Mail', 0, 0, 100, 7, N'', 1, '08.10.2008 18:09:04.780', '24.12.2008 10:22:13.657', 1, 1, NULL UNION ALL +SELECT 54, N'mitarbeiter', N'fax', N'Fax', 0, 0, 100, 8, N'', 1, '08.10.2008 18:09:04.797', '24.12.2008 10:22:14.120', 1, 1, NULL UNION ALL +SELECT 55, N'mitarbeiter', N'telefon', N'Tel', 0, 0, 100, 9, N'', 1, '08.10.2008 18:09:04.797', '24.12.2008 10:22:14.590', 1, 1, NULL UNION ALL +SELECT 56, N'mitarbeiter', N'unterschrift_text', N'Unterschrift', 0, 0, 0, 10, N'', 1, '08.10.2008 18:09:04.797', '24.12.2008 10:22:16.383', 1, 1, NULL UNION ALL +SELECT 57, N'mitarbeiter', N'funktionnr', N'Funktionnr', 0, 0, 0, 11, N'', 1, '08.10.2008 18:09:04.797', '24.12.2008 10:22:17.230', 1, 1, NULL UNION ALL +SELECT 58, N'mitarbeiter', N'sprache', N'Sprache', 0, 0, 50, 12, N'', 1, '08.10.2008 18:09:04.797', '24.12.2008 10:22:17.920', 1, 1, NULL UNION ALL +SELECT 59, N'mitarbeiter', N'fuermandant', N'Fr Mandant', 0, 0, 50, 13, N'', 1, '08.10.2008 18:09:04.797', '24.12.2008 10:22:18.623', 1, 1, NULL UNION ALL +SELECT 60, N'mitarbeiter', N'showtip', N'ShowTip', 0, 1, 50, 14, N'', 1, '08.10.2008 18:09:04.797', '24.12.2008 10:22:19.327', 1, 1, NULL UNION ALL +SELECT 61, N'mitarbeiter', N'partnernr', N'PartnerNr', 0, 0, 100, 15, N'', 1, '08.10.2008 18:09:04.797', '24.12.2008 10:22:20.120', 1, 1, NULL UNION ALL +SELECT 62, N'mitarbeiter', N'mandantnr', N'MandantNr', 0, 0, 50, 16, N'', 1, '08.10.2008 18:09:04.797', '24.12.2008 10:22:21.657', 1, 1, NULL UNION ALL +SELECT 63, N'mitarbeiter', N'aktiv', N'Aktiv', 0, 0, 40, 17, N'', 1, '08.10.2008 18:09:04.797', '24.12.2008 10:22:22.200', 1, 1, NULL UNION ALL +SELECT 64, N'mitarbeiter', N'erstellt_am', N'Erstellungsdatum', 1, 0, 100, 18, N'', 1, '08.10.2008 18:09:04.797', '24.12.2008 10:22:23.143', 1, 1, NULL UNION ALL +SELECT 65, N'mitarbeiter', N'mutiert_am', N'Mutationsdatum', 1, 0, 100, 19, N'', 1, '08.10.2008 18:09:04.797', '24.12.2008 10:22:24.150', 1, 1, NULL UNION ALL +SELECT 66, N'mitarbeiter', N'mutierer', N'Mutiert durch', 1, 0, 40, 20, N'', 1, '08.10.2008 18:09:04.797', '24.12.2008 10:22:25.703', 1, 1, NULL UNION ALL +SELECT 67, N'funktionsgruppe', N'funktionsgruppenr', N'Nr.', 0, 0, 50, 1, N'', 1, '08.10.2008 18:09:09.420', '24.12.2008 13:08:38.260', 1, 1, NULL UNION ALL +SELECT 68, N'funktionsgruppe', N'bezeichnung', N'Bezeichnung', 0, 0, 100, 2, N'', 1, '08.10.2008 18:09:09.420', '24.12.2008 13:08:38.677', 1, 1, NULL UNION ALL +SELECT 69, N'funktionsgruppe', N'beschreibung', N'Beschreibung', 0, 0, 100, 3, N'', 1, '08.10.2008 18:09:09.450', '24.12.2008 13:08:39.070', 1, 1, NULL UNION ALL +SELECT 70, N'funktionsgruppe', N'zugehoerigkeit', N'Zugehrigkeit', 0, 0, 0, 4, N'', 1, '08.10.2008 18:09:09.450', '24.12.2008 13:08:39.413', 1, 1, NULL UNION ALL +SELECT 71, N'funktionsgruppe', N'mandantnr', N'MandantNr', 0, 0, 50, 5, N'', 1, '08.10.2008 18:09:09.450', '24.12.2008 13:08:39.740', 1, 1, NULL UNION ALL +SELECT 72, N'funktionsgruppe', N'aktiv', N'Aktiv', 0, 0, 40, 6, N'', 1, '08.10.2008 18:09:09.450', '24.12.2008 13:08:40.143', 1, 1, NULL UNION ALL +SELECT 73, N'funktionsgruppe', N'erstellt_am', N'Erstellungsdatum', 1, 0, 100, 7, N'', 1, '09.10.2008 18:47:27.187', '24.12.2008 13:08:40.567', 1, 1, NULL UNION ALL +SELECT 74, N'funktionsgruppe', N'mutiert_am', N'Mutationsdatum', 1, 0, 100, 8, N'', 1, '08.10.2008 18:09:09.450', '24.12.2008 13:08:40.957', 1, 1, NULL UNION ALL +SELECT 75, N'funktionsgruppe', N'mutierer', N'Mutiert durch', 1, 0, 40, 9, N'', 1, '08.10.2008 18:09:09.450', '24.12.2008 13:08:42.053', 1, 1, NULL UNION ALL +SELECT 76, N'funktionsgruppe', N'funktionszuweisung', N'funktionszuweisung', 0, 0, 100, 10, N'', 1, '08.10.2008 18:09:09.450', '24.12.2008 13:08:43.260', 1, 1, NULL UNION ALL +SELECT 77, N'funktionsgruppe', N'barcodeetiketten', N'barcodeetiketten', 0, 0, 100, 11, N'', 1, '08.10.2008 18:09:09.450', '24.12.2008 13:08:43.750', 1, 1, NULL UNION ALL +SELECT 78, N'funktionsgruppe', N'edokapartner', N'edokapartner', 0, 0, 100, 12, N'', 1, '08.10.2008 18:09:09.450', '24.12.2008 13:08:44.277', 1, 1, NULL UNION ALL +SELECT 79, N'funktionsgruppe', N'Dokumentreaktivierung', N'Dokumentreaktivierung', 0, 0, 100, 13, N'', 1, '08.10.2008 18:09:09.450', '24.12.2008 13:08:45.020', 1, 1, NULL UNION ALL +SELECT 80, N'funktionsgruppe', N'Partnerzusammenlegung', N'Partnerzusammenlegung', 0, 0, 100, 14, N'', 1, '08.10.2008 18:09:09.450', '24.12.2008 13:08:45.580', 1, 1, NULL UNION ALL +SELECT 81, N'funktionsgruppe', N'blv', N'blv', 0, 0, 100, 15, N'', 1, '08.10.2008 18:09:09.450', '24.12.2008 13:08:47.013', 1, 1, NULL UNION ALL +SELECT 82, N'rolle', N'rollenr', N'Nr', 0, 0, 100, 1, N'', 1, '08.10.2008 18:09:13.560', '24.12.2008 16:31:35.207', 1, 1, NULL UNION ALL +SELECT 83, N'rolle', N'bezeichnung', N'Bezeichnung', 0, 0, 100, 2, N'', 1, '08.10.2008 18:09:13.577', '24.12.2008 16:31:38.077', 1, 1, NULL UNION ALL +SELECT 84, N'rolle', N'beschreibung', N'Beschreibung', 0, 0, 100, 3, N'', 1, '08.10.2008 18:09:13.577', '24.12.2008 16:31:40.540', 1, 1, NULL UNION ALL +SELECT 85, N'rolle', N'sysadminrolle', N'Sysadminrolle', 0, 0, 100, 4, N'', 1, '08.10.2008 18:09:13.577', '24.12.2008 16:31:46.973', 1, 1, NULL UNION ALL +SELECT 86, N'rolle', N'mandantnr', N'MandanNr', 0, 0, 100, 5, N'', 1, '08.10.2008 18:09:13.577', '24.12.2008 16:31:50.013', 1, 1, NULL UNION ALL +SELECT 87, N'rolle', N'aktiv', N'Aktiv', 0, 0, 40, 6, N'', 1, '08.10.2008 18:09:13.577', '24.12.2008 13:33:58.030', 1, 1, NULL UNION ALL +SELECT 88, N'rolle', N'erstellt_am', N'Erstellungsdatum', 1, 0, 100, 7, N'', 1, '08.10.2008 18:09:13.577', '24.12.2008 13:33:58.413', 1, 1, NULL UNION ALL +SELECT 89, N'rolle', N'mutiert_am', N'Mutationsdatum', 1, 0, 100, 8, N'', 1, '08.10.2008 18:09:13.577', '24.12.2008 13:33:58.847', 1, 1, NULL UNION ALL +SELECT 90, N'rolle', N'mutierer', N'Mutiert durch', 1, 0, 40, 9, N'', 1, '08.10.2008 18:09:13.577', '24.12.2008 13:33:59.333', 1, 1, NULL UNION ALL +SELECT 91, N'sysadminfunktion', N'keyfields', N'KeyFields', 1, 0, 100, 19, N'', 1, '08.10.2008 18:09:14.000', '17.12.2008 17:23:36.720', 1, 1, NULL UNION ALL +SELECT 92, N'mitarbeiter_funktionsgruppe', N'mitarbeiter_funktionsgruppenr', N'Nr', 1, 0, 20, 1, N'', 1, '09.10.2008 08:31:12.343', '09.10.2008 08:31:12.343', 1, 1, NULL UNION ALL +SELECT 93, N'mitarbeiter_funktionsgruppe', N'mitarbeiternr', N'mitarbeiternr', 1, 0, 0, 2, N'', 1, '09.10.2008 08:31:12.623', '09.10.2008 08:31:12.623', 1, 1, NULL UNION ALL +SELECT 94, N'mitarbeiter_funktionsgruppe', N'funktionsgruppenr', N'funktionsgruppenr', 1, 0, 0, 4, N'', 1, '09.10.2008 08:31:12.623', '09.10.2008 08:31:12.623', 1, 1, NULL UNION ALL +SELECT 95, N'mitarbeiter_funktionsgruppe', N'aktiv', N'Aktiv', 0, 0, 40, 6, N'', 1, '09.10.2008 08:31:12.623', '09.10.2008 08:31:12.623', 1, 1, NULL UNION ALL +SELECT 96, N'mitarbeiter_funktionsgruppe', N'mandantnr', N'Mandant', 1, 0, 100, 7, N'', 1, '09.10.2008 08:31:12.623', '09.10.2008 08:31:12.623', 1, 1, NULL UNION ALL +SELECT 97, N'mitarbeiter_funktionsgruppe', N'erstellt_am', N'Erstellungsdatum', 1, 0, 100, 8, N'', 1, '09.10.2008 08:31:12.623', '09.10.2008 08:31:12.623', 1, 1, NULL UNION ALL +SELECT 98, N'mitarbeiter_funktionsgruppe', N'mutiert_am', N'Mutationsdatum', 1, 0, 100, 9, N'', 1, '09.10.2008 08:31:12.623', '09.10.2008 08:31:12.623', 1, 1, NULL UNION ALL +SELECT 99, N'mitarbeiter_funktionsgruppe', N'mutierer', N'Mutiert durch', 1, 0, 40, 10, N'', 1, '09.10.2008 08:31:12.640', '09.10.2008 08:31:12.640', 1, 1, NULL UNION ALL +SELECT 100, N'mitarbeiter_funktionsgruppe', N'mitarbeiter', N'Mitarbeiter', 1, 0, 100, 3, N'', 1, '09.10.2008 08:31:13.000', '09.10.2008 10:24:55.937', 1, 1, NULL +COMMIT; +RAISERROR (N'[dbo].[spalten]: Insert Batch: 2.....Done!', 10, 1) WITH NOWAIT; +GO + +BEGIN TRANSACTION; +INSERT INTO [dbo].[spalten]([eintragnr], [tabelle], [tabellenspalte], [spalte], [Readonly], [alsHacken], [Breite], [Reihenfolge], [tiptext], [aktiv], [erstellt_am], [mutiert_am], [mutierer], [mandantnr], [NumberFormat]) +SELECT 101, N'mitarbeiter_funktionsgruppe', N'bezeichnung', N'Funktion', 1, 0, 100, 5, N'', 1, '09.10.2008 08:31:13.000', '09.10.2008 10:24:52.297', 1, 1, NULL UNION ALL +SELECT 102, N'rolle_sysadminfunktion', N'rolle_sysadminfnktnr', N'rolle_sysadminfnktnr', 0, 0, 100, 1, N'', 1, '09.10.2008 18:33:00.700', '17.03.2009 22:57:26.813', 1, 1, NULL UNION ALL +SELECT 103, N'rolle_sysadminfunktion', N'aktiv', N'Aktiv', 0, 0, 40, 2, N'', 1, '09.10.2008 18:33:00.700', '17.03.2009 22:57:28.157', 1, 1, NULL UNION ALL +SELECT 104, N'rolle_sysadminfunktion', N'erstellt_am', N'Erstellungsdatum', 1, 0, 100, 3, N'', 1, '09.10.2008 18:33:00.700', '17.03.2009 22:57:29.047', 1, 1, NULL UNION ALL +SELECT 105, N'rolle_sysadminfunktion', N'mutiert_am', N'Mutationsdatum', 1, 0, 100, 4, N'', 1, '09.10.2008 18:33:00.700', '17.03.2009 22:57:29.767', 1, 1, NULL UNION ALL +SELECT 106, N'rolle_sysadminfunktion', N'mutierer', N'Mutiert durch', 1, 0, 40, 5, N'', 1, '09.10.2008 18:33:01.000', '17.03.2009 22:57:31.190', 1, 1, NULL UNION ALL +SELECT 107, N'rolle_sysadminfunktion', N'sysadminfnktnr', N'sysadminfnktnr', 0, 0, 100, 6, N'', 1, '09.10.2008 18:33:01.000', '17.03.2009 22:57:31.797', 1, 1, NULL UNION ALL +SELECT 108, N'rolle_sysadminfunktion', N'rollenr', N'rollenr', 0, 0, 100, 7, N'', 1, '09.10.2008 18:33:01.000', '17.03.2009 22:57:32.580', 1, 1, NULL UNION ALL +SELECT 109, N'rolle_sysadminfunktion', N'mandant', N'mandant', 0, 0, 100, 8, N'', 1, '09.10.2008 18:33:01.000', '17.03.2009 22:57:33.797', 1, 1, NULL UNION ALL +SELECT 110, N'funktionsgruppe_rolle', N'Funktionsgrupperollenr', N'Funktionsgrupperollenr', 0, 0, 100, 1, N'', 1, '09.10.2008 18:33:10.653', '17.03.2009 22:57:36.080', 1, 1, NULL UNION ALL +SELECT 111, N'funktionsgruppe_rolle', N'funktionsgruppenr', N'funktionsgruppenr', 0, 0, 100, 2, N'', 1, '09.10.2008 18:33:10.670', '17.03.2009 22:57:36.593', 1, 1, NULL UNION ALL +SELECT 112, N'funktionsgruppe_rolle', N'rollenr', N'rollenr', 0, 0, 100, 3, N'', 1, '09.10.2008 18:33:10.670', '17.03.2009 22:57:37.143', 1, 1, NULL UNION ALL +SELECT 113, N'funktionsgruppe_rolle', N'mandantnr', N'mandantnr', 0, 0, 100, 4, N'', 1, '09.10.2008 18:33:10.950', '17.03.2009 22:57:37.737', 1, 1, NULL UNION ALL +SELECT 114, N'funktionsgruppe_rolle', N'aktiv', N'Aktiv', 0, 0, 40, 5, N'', 1, '09.10.2008 18:33:10.950', '17.03.2009 22:57:38.237', 1, 1, NULL UNION ALL +SELECT 115, N'funktionsgruppe_rolle', N'erstellt_am', N'Erstellungsdatum', 1, 0, 100, 6, N'', 1, '09.10.2008 18:33:10.950', '17.03.2009 22:57:38.767', 1, 1, NULL UNION ALL +SELECT 116, N'funktionsgruppe_rolle', N'mutiert_am', N'Mutationsdatum', 1, 0, 100, 7, N'', 1, '09.10.2008 18:33:10.950', '17.03.2009 22:57:39.267', 1, 1, NULL UNION ALL +SELECT 117, N'funktionsgruppe_rolle', N'mutierer', N'Mutiert durch', 1, 0, 40, 8, N'', 1, '09.10.2008 18:33:10.950', '17.03.2009 22:57:39.970', 1, 1, NULL UNION ALL +SELECT 118, N'key_tabelle', N'keynr', N'keynr', 0, 0, 100, 1, N'', 1, '09.10.2008 18:35:12.153', '08.01.2009 08:04:35.107', 1, 1, NULL UNION ALL +SELECT 119, N'key_tabelle', N'beschreibung', N'beschreibung', 0, 0, 100, 2, N'', 1, '09.10.2008 18:35:12.153', '08.01.2009 08:04:35.433', 1, 1, NULL UNION ALL +SELECT 120, N'key_tabelle', N'key_wert', N'key_wert', 0, 0, 100, 3, N'', 1, '09.10.2008 18:35:12.170', '08.01.2009 08:04:35.713', 1, 1, NULL UNION ALL +SELECT 121, N'key_tabelle', N'mandantnr', N'mandantnr', 0, 0, 100, 4, N'', 1, '09.10.2008 18:35:12.170', '08.01.2009 08:04:36.010', 1, 1, NULL UNION ALL +SELECT 122, N'key_tabelle', N'aktiv', N'Aktiv', 0, 0, 40, 5, N'', 1, '09.10.2008 18:35:12.170', '08.01.2009 08:04:36.323', 1, 1, NULL UNION ALL +SELECT 123, N'key_tabelle', N'erstellt_am', N'Erstellungsdatum', 1, 0, 100, 6, N'', 1, '09.10.2008 18:35:12.170', '08.01.2009 08:04:36.620', 1, 1, NULL UNION ALL +SELECT 124, N'key_tabelle', N'mutiert_am', N'Mutationsdatum', 1, 0, 100, 7, N'', 1, '09.10.2008 18:35:12.170', '08.01.2009 08:04:36.947', 1, 1, NULL UNION ALL +SELECT 125, N'key_tabelle', N'mutierer', N'Mutiert durch', 1, 0, 40, 8, N'', 1, '09.10.2008 18:35:12.170', '08.01.2009 08:04:37.447', 1, 1, NULL UNION ALL +SELECT 126, N'funktionsgruppe_rolle', N'Funktion', N'Funktion', 1, 0, 100, 1, N'', 1, '09.10.2008 18:47:04.877', '17.03.2009 22:57:48.343', 1, 1, NULL UNION ALL +SELECT 127, N'funktionsgruppe_rolle', N'Rolle', N'Rolle', 1, 0, 100, 2, N'', 1, '09.10.2008 18:46:15.000', '17.03.2009 22:57:49.173', 1, 1, NULL UNION ALL +SELECT 128, N'rolle_sysadminfunktion', N'Rolle', N'Rolle', 1, 0, 100, 3, N'', 1, '09.10.2008 18:48:49.030', '17.03.2009 22:57:49.937', 1, 1, NULL UNION ALL +SELECT 129, N'rolle_sysadminfunktion', N'sysadminfunktion', N'Sysadmin-Funktion', 1, 0, 100, 4, N'', 1, '09.10.2008 18:48:48.077', '17.03.2009 22:57:50.547', 1, 1, NULL UNION ALL +SELECT 130, N'SecurityObject', N'SecurityObjectNr', N'SecurityObjectNr', 0, 0, 100, 0, N'', 1, '02.01.2013 22:05:57.843', '02.01.2013 22:05:57.843', -1, 1, NULL UNION ALL +SELECT 131, N'SecurityObject', N'SecurityForm', N'SecurityForm', 0, 0, 100, 0, N'', 1, '02.01.2013 22:05:57.847', '02.01.2013 22:05:57.847', -1, 1, NULL UNION ALL +SELECT 132, N'SecurityObject', N'SecurityObjectType', N'SecurityObjectType', 0, 0, 100, 0, N'', 1, '02.01.2013 22:05:57.847', '02.01.2013 22:05:57.847', -1, 1, NULL UNION ALL +SELECT 133, N'SecurityObject', N'SecurityObject', N'SecurityObject', 0, 0, 100, 0, N'', 1, '02.01.2013 22:05:57.847', '02.01.2013 22:05:57.847', -1, 1, NULL UNION ALL +SELECT 134, N'SecurityObject', N'SecurityObjectItem', N'SecurityObjectItem', 0, 0, 100, 0, N'', 1, '02.01.2013 22:05:57.847', '02.01.2013 22:05:57.847', -1, 1, NULL UNION ALL +SELECT 135, N'SecurityObject', N'SecurityObjectDescriotion', N'SecurityObjectDescriotion', 0, 0, 100, 0, N'', 1, '02.01.2013 22:05:57.850', '02.01.2013 22:05:57.850', -1, 1, NULL UNION ALL +SELECT 136, N'SecurityObject', N'Level', N'Level', 0, 0, 100, 0, N'', 1, '02.01.2013 22:05:57.850', '02.01.2013 22:05:57.850', -1, 1, NULL UNION ALL +SELECT 137, N'SecurityObject', N'Aktiv', N'Aktiv', 0, 0, 40, 0, N'', 1, '02.01.2013 22:05:57.850', '02.01.2013 22:05:57.850', -1, 1, NULL UNION ALL +SELECT 138, N'SecurityObject', N'Erstellt_am', N'Erstellungsdatum', 1, 0, 100, 0, N'', 1, '02.01.2013 22:05:57.850', '02.01.2013 22:05:57.850', -1, 1, NULL UNION ALL +SELECT 139, N'SecurityObject', N'Mutiert_am', N'Mutationsdatum', 1, 0, 100, 0, N'', 1, '02.01.2013 22:05:57.850', '02.01.2013 22:05:57.850', -1, 1, NULL UNION ALL +SELECT 140, N'SecurityObject', N'Mutierer', N'Mutiert durch', 1, 0, 40, 0, N'', 1, '02.01.2013 22:05:57.853', '02.01.2013 22:05:57.853', -1, 1, NULL UNION ALL +SELECT 141, N'SecurityObject', N'Mandantnr', N'Mandantnr', 0, 0, 100, 0, N'', 1, '02.01.2013 22:05:57.853', '02.01.2013 22:05:57.853', -1, 1, NULL UNION ALL +SELECT 142, N'Rolle_SecurityObject', N'rolle_securityobjectnr', N'rolle_securityobjectnr', 0, 0, 100, 0, N'', 1, '02.01.2013 22:06:16.200', '02.01.2013 22:06:16.200', -1, 1, NULL UNION ALL +SELECT 143, N'Rolle_SecurityObject', N'rollenr', N'rollenr', 0, 0, 100, 0, N'', 1, '02.01.2013 22:06:16.200', '02.01.2013 22:06:16.200', -1, 1, NULL UNION ALL +SELECT 144, N'Rolle_SecurityObject', N'securityobjectnr', N'securityobjectnr', 0, 0, 100, 0, N'', 1, '02.01.2013 22:06:16.200', '02.01.2013 22:06:16.200', -1, 1, NULL UNION ALL +SELECT 145, N'Rolle_SecurityObject', N'readonly', N'readonly', 0, 0, 100, 0, N'', 1, '02.01.2013 22:06:16.200', '02.01.2013 22:06:16.200', -1, 1, NULL UNION ALL +SELECT 146, N'Rolle_SecurityObject', N'invisible', N'invisible', 0, 0, 100, 0, N'', 1, '02.01.2013 22:06:16.203', '02.01.2013 22:06:16.203', -1, 1, NULL UNION ALL +SELECT 147, N'Rolle_SecurityObject', N'aktiv', N'Aktiv', 0, 0, 40, 0, N'', 1, '02.01.2013 22:06:16.203', '02.01.2013 22:06:16.203', -1, 1, NULL UNION ALL +SELECT 148, N'Rolle_SecurityObject', N'erstellt_am', N'Erstellungsdatum', 1, 0, 100, 0, N'', 1, '02.01.2013 22:06:16.203', '02.01.2013 22:06:16.203', -1, 1, NULL UNION ALL +SELECT 149, N'Rolle_SecurityObject', N'mutiert_am', N'Mutationsdatum', 1, 0, 100, 0, N'', 1, '02.01.2013 22:06:16.207', '02.01.2013 22:06:16.207', -1, 1, NULL UNION ALL +SELECT 150, N'Rolle_SecurityObject', N'mutierer', N'Mutiert durch', 1, 0, 40, 0, N'', 1, '02.01.2013 22:06:16.207', '02.01.2013 22:06:16.207', -1, 1, NULL +COMMIT; +RAISERROR (N'[dbo].[spalten]: Insert Batch: 3.....Done!', 10, 1) WITH NOWAIT; +GO + +BEGIN TRANSACTION; +INSERT INTO [dbo].[spalten]([eintragnr], [tabelle], [tabellenspalte], [spalte], [Readonly], [alsHacken], [Breite], [Reihenfolge], [tiptext], [aktiv], [erstellt_am], [mutiert_am], [mutierer], [mandantnr], [NumberFormat]) +SELECT 151, N'Rolle_SecurityObject', N'mandantnr', N'mandantnr', 0, 0, 100, 0, N'', 1, '02.01.2013 22:06:16.207', '02.01.2013 22:06:16.207', -1, 1, NULL UNION ALL +SELECT 152, N'Dokument', N'DokumentNr', N'DokumentNr', 1, 0, 0, 0, N'', 1, '05.01.2013 09:13:33.470', '05.01.2013 11:05:09.493', 1, 1, NULL UNION ALL +SELECT 153, N'Dokument', N'KeyValue', N'KeyValue', 1, 0, 0, 0, N'', 1, '05.01.2013 09:13:33.473', '05.01.2013 11:05:09.907', 1, 1, NULL UNION ALL +SELECT 154, N'Dokument', N'DokType', N'DokType', 1, 0, 0, 0, N'', 1, '05.01.2013 09:13:33.473', '05.01.2013 11:05:10.330', 1, 1, NULL UNION ALL +SELECT 155, N'Dokument', N'DokumenttypNr', N'DokumenttypNr', 1, 0, 0, 0, N'', 1, '05.01.2013 09:13:33.473', '05.01.2013 11:05:10.713', 1, 1, NULL UNION ALL +SELECT 156, N'Dokument', N'Bezeichnung', N'Bezeichnung', 1, 0, 200, 2, N'', 1, '05.01.2013 09:13:33.477', '05.01.2013 11:05:11.763', 1, 1, NULL UNION ALL +SELECT 157, N'Dokument', N'Beschreibung', N'Beschreibung', 1, 0, 200, 3, N'', 1, '05.01.2013 09:13:33.477', '05.01.2013 11:05:12.123', 1, 1, NULL UNION ALL +SELECT 158, N'Dokument', N'Filename', N'Filename', 1, 0, 0, 4, N'', 1, '05.01.2013 09:13:33.477', '05.01.2013 11:05:12.417', 1, 1, NULL UNION ALL +SELECT 159, N'Dokument', N'OriginalFilename_incl_Path', N'OriginalFilename_incl_Path', 1, 0, 0, 5, N'', 1, '05.01.2013 09:13:33.480', '05.01.2013 11:05:12.737', 1, 1, NULL UNION ALL +SELECT 160, N'Dokument', N'Version', N'Version', 1, 0, 50, 6, N'', 1, '05.01.2013 09:13:33.480', '05.01.2013 11:05:13.057', 1, 1, NULL UNION ALL +SELECT 161, N'Dokument', N'VersionsNr', N'VersionsNr', 1, 0, 50, 7, N'', 1, '05.01.2013 09:13:33.480', '05.01.2013 11:05:13.337', 1, 1, NULL UNION ALL +SELECT 162, N'Dokument', N'Versionsdatum', N'Versionsdatum', 1, 0, 50, 8, N'', 1, '05.01.2013 09:13:33.480', '05.01.2013 11:05:13.617', 1, 1, NULL UNION ALL +SELECT 163, N'Dokument', N'Erstellt_am', N'Erstellungsdatum', 1, 0, 50, 9, N'', 1, '05.01.2013 09:13:33.480', '05.01.2013 11:04:55.867', 1, 1, NULL UNION ALL +SELECT 164, N'Dokument', N'Mutiert_am', N'Mutationsdatum', 1, 0, 50, 10, N'', 1, '05.01.2013 09:13:33.483', '05.01.2013 11:04:57.490', 1, 1, NULL UNION ALL +SELECT 165, N'Dokument', N'Mutierer', N'Mutiert durch', 1, 0, 40, 11, N'', 1, '05.01.2013 09:13:33.483', '05.01.2013 11:04:59.700', 1, 1, NULL UNION ALL +SELECT 166, N'Dokument', N'Aktiv', N'Aktiv', 1, 0, 40, 12, N'', 1, '05.01.2013 09:13:33.483', '05.01.2013 11:05:15.210', 1, 1, NULL UNION ALL +SELECT 167, N'Dokument', N'SecurityLevelNr', N'SecurityLevelNr', 1, 0, 0, 0, N'', 1, '05.01.2013 09:13:33.487', '05.01.2013 11:05:15.587', 1, 1, NULL UNION ALL +SELECT 168, N'Dokument', N'DocImage', N'DocImage', 1, 0, 0, 0, N'', 1, '05.01.2013 09:13:33.487', '05.01.2013 11:41:50.690', 1, 1, NULL UNION ALL +SELECT 169, N'DokumentAblageort', N'DokumentablageortNr', N'DokumentablageortNr', 0, 0, 50, 1, N'', 1, '05.01.2013 09:13:35.963', '05.01.2013 09:18:41.997', 1, 1, NULL UNION ALL +SELECT 170, N'DokumentAblageort', N'DokumentablagetypNr', N'DokumentablagetypNr', 0, 0, 50, 2, N'', 1, '05.01.2013 09:13:35.963', '05.01.2013 09:18:43.173', 1, 1, NULL UNION ALL +SELECT 171, N'DokumentAblageort', N'DokumentNr', N'DokumentNr', 0, 0, 50, 3, N'', 1, '05.01.2013 09:13:35.963', '05.01.2013 09:18:49.077', 1, 1, NULL UNION ALL +SELECT 172, N'DokumentAblageort', N'Ablageort', N'Ablageort', 0, 0, 100, 4, N'', 1, '05.01.2013 09:13:35.967', '05.01.2013 09:18:33.197', 1, 1, NULL UNION ALL +SELECT 173, N'DokumentAblageort', N'Beschreibung', N'Beschreibung', 0, 0, 100, 5, N'', 1, '05.01.2013 09:13:35.967', '05.01.2013 09:18:33.483', 1, 1, NULL UNION ALL +SELECT 174, N'DokumentAblageort', N'Erstellt_am', N'Erstellungsdatum', 1, 0, 50, 6, N'', 1, '05.01.2013 09:13:35.967', '05.01.2013 09:18:52.627', 1, 1, NULL UNION ALL +SELECT 175, N'DokumentAblageort', N'Mutiert_am', N'Mutationsdatum', 1, 0, 50, 7, N'', 1, '05.01.2013 09:13:35.967', '05.01.2013 09:18:53.190', 1, 1, NULL UNION ALL +SELECT 176, N'DokumentAblageort', N'Mutierer', N'Mutiert durch', 1, 0, 40, 8, N'', 1, '05.01.2013 09:13:35.970', '05.01.2013 09:18:34.540', 1, 1, NULL UNION ALL +SELECT 177, N'DokumentAblageort', N'Aktiv', N'Aktiv', 0, 0, 40, 9, N'', 1, '05.01.2013 09:13:35.970', '05.01.2013 09:18:34.940', 1, 1, NULL UNION ALL +SELECT 178, N'DokumentAblageort', N'MandantNr', N'MandantNr', 1, 0, 50, 10, N'', 1, '05.01.2013 09:13:35.970', '05.01.2013 09:19:01.997', 1, 1, NULL UNION ALL +SELECT 179, N'DokumentAblageTyp', N'DokumentAblageTypNr', N'DokumentAblageTypNr', 1, 0, 40, 1, N'', 1, '05.01.2013 09:13:38.533', '05.01.2013 09:18:05.043', 1, 1, NULL UNION ALL +SELECT 180, N'DokumentAblageTyp', N'Bezeichnung', N'Bezeichnung', 0, 0, 200, 2, N'', 1, '05.01.2013 09:13:38.537', '05.01.2013 09:18:09.333', 1, 1, NULL UNION ALL +SELECT 181, N'DokumentAblageTyp', N'Erstellt_am', N'Erstellungsdatum', 1, 0, 50, 3, N'', 1, '05.01.2013 09:13:38.537', '05.01.2013 09:18:11.967', 1, 1, NULL UNION ALL +SELECT 182, N'DokumentAblageTyp', N'Mutiert_am', N'Mutationsdatum', 1, 0, 50, 4, N'', 1, '05.01.2013 09:13:38.537', '05.01.2013 09:18:12.467', 1, 1, NULL UNION ALL +SELECT 183, N'DokumentAblageTyp', N'Mutierer', N'Mutiert durch', 1, 0, 40, 5, N'', 1, '05.01.2013 09:13:38.540', '05.01.2013 09:17:59.653', 1, 1, NULL UNION ALL +SELECT 184, N'DokumentAblageTyp', N'Aktiv', N'Aktiv', 0, 0, 40, 6, N'', 1, '05.01.2013 09:13:38.540', '05.01.2013 09:18:00.100', 1, 1, NULL UNION ALL +SELECT 185, N'DokumentAblageTyp', N'MandantNr', N'MandantNr', 0, 0, 100, 7, N'', 1, '05.01.2013 09:13:38.540', '05.01.2013 09:18:00.477', 1, 1, NULL UNION ALL +SELECT 186, N'Dokumenttyp', N'Dokumenttypnr', N'Dokumenttypnr', 1, 0, 40, 1, N'', 1, '05.01.2013 09:13:42.693', '05.01.2013 09:16:40.700', 1, 1, NULL UNION ALL +SELECT 187, N'Dokumenttyp', N'Bezeichnung', N'Bezeichnung', 0, 0, 200, 2, N'', 1, '05.01.2013 09:13:42.693', '05.01.2013 09:16:42.123', 1, 1, NULL UNION ALL +SELECT 188, N'Dokumenttyp', N'Erstellt_am', N'Erstellungsdatum', 1, 0, 50, 3, N'', 1, '05.01.2013 09:13:42.693', '05.01.2013 09:16:43.987', 1, 1, NULL UNION ALL +SELECT 189, N'Dokumenttyp', N'Mutiert_am', N'Mutationsdatum', 1, 0, 50, 4, N'', 1, '05.01.2013 09:13:42.697', '05.01.2013 09:16:44.533', 1, 1, NULL UNION ALL +SELECT 190, N'Dokumenttyp', N'Mutierer', N'Mutiert durch', 1, 0, 40, 5, N'', 1, '05.01.2013 09:13:42.697', '05.01.2013 09:16:10.347', 1, 1, NULL UNION ALL +SELECT 191, N'Dokumenttyp', N'Aktiv', N'Aktiv', 0, 0, 40, 6, N'', 1, '05.01.2013 09:13:42.697', '05.01.2013 09:16:10.893', 1, 1, NULL UNION ALL +SELECT 192, N'Dokument', N'DokIcon', N'Icon', 1, 0, 40, 0, N'', 1, '05.01.2013 11:41:29.433', '05.01.2013 11:43:37.747', 1, 1, NULL UNION ALL +SELECT 193, N'SpeicherTyp', N'SpeicherTypNr', N'SpeicherTypNr', 1, 0, 50, 1, N'', 1, '05.01.2013 14:59:12.340', '05.01.2013 15:00:01.963', 1, 1, NULL UNION ALL +SELECT 194, N'SpeicherTyp', N'Bezeichnung', N'Bezeichnung', 0, 0, 100, 2, N'', 1, '05.01.2013 14:59:12.343', '05.01.2013 14:59:50.863', 1, 1, NULL UNION ALL +SELECT 195, N'SpeicherTyp', N'Beschreibung', N'Beschreibung', 0, 0, 100, 3, N'', 1, '05.01.2013 14:59:12.343', '05.01.2013 14:59:51.200', 1, 1, NULL UNION ALL +SELECT 196, N'SpeicherTyp', N'aktiv', N'Aktiv', 0, 0, 40, 4, N'', 1, '05.01.2013 14:59:12.343', '05.01.2013 14:59:51.440', 1, 1, NULL UNION ALL +SELECT 197, N'SpeicherTyp', N'erstellt_am', N'Erstellungsdatum', 1, 0, 50, 5, N'', 1, '05.01.2013 14:59:12.343', '05.01.2013 14:59:59.447', 1, 1, NULL UNION ALL +SELECT 198, N'SpeicherTyp', N'mutiert_am', N'Mutationsdatum', 1, 0, 50, 6, N'', 1, '05.01.2013 14:59:12.347', '05.01.2013 14:59:59.933', 1, 1, NULL UNION ALL +SELECT 199, N'SpeicherTyp', N'mutierer', N'Mutiert durch', 1, 0, 40, 7, N'', 1, '05.01.2013 14:59:12.347', '05.01.2013 14:59:52.553', 1, 1, NULL UNION ALL +SELECT 200, N'Kategorie', N'KategorieNr', N'KategorieNr', 1, 0, 50, 1, N'', 1, '06.01.2013 10:35:45.020', '06.01.2013 10:35:59.890', 1, 1, NULL +COMMIT; +RAISERROR (N'[dbo].[spalten]: Insert Batch: 4.....Done!', 10, 1) WITH NOWAIT; +GO + +BEGIN TRANSACTION; +INSERT INTO [dbo].[spalten]([eintragnr], [tabelle], [tabellenspalte], [spalte], [Readonly], [alsHacken], [Breite], [Reihenfolge], [tiptext], [aktiv], [erstellt_am], [mutiert_am], [mutierer], [mandantnr], [NumberFormat]) +SELECT 201, N'Kategorie', N'Bezeichnung', N'Bezeichnung', 0, 0, 100, 3, N'', 1, '06.01.2013 10:35:45.020', '23.01.2013 13:49:00.510', 1, 1, NULL UNION ALL +SELECT 202, N'Kategorie', N'Beschreibung', N'Beschreibung', 0, 0, 100, 4, N'', 1, '06.01.2013 10:35:45.020', '23.01.2013 13:49:00.840', 1, 1, NULL UNION ALL +SELECT 203, N'Kategorie', N'aktiv', N'Aktiv', 0, 0, 40, 5, N'', 1, '06.01.2013 10:35:45.023', '23.01.2013 13:49:01.190', 1, 1, NULL UNION ALL +SELECT 204, N'Kategorie', N'erstellt_am', N'Erstellungsdatum', 1, 0, 50, 6, N'', 1, '06.01.2013 10:35:45.023', '23.01.2013 13:49:01.567', 1, 1, NULL UNION ALL +SELECT 205, N'Kategorie', N'mutiert_am', N'Mutationsdatum', 1, 0, 50, 7, N'', 1, '06.01.2013 10:35:45.023', '23.01.2013 13:49:01.863', 1, 1, NULL UNION ALL +SELECT 206, N'Kategorie', N'mutierer', N'Mutiert durch', 1, 0, 40, 8, N'', 1, '06.01.2013 10:35:45.023', '23.01.2013 13:49:02.240', 1, 1, NULL UNION ALL +SELECT 213, N'Zielgruppe', N'ZielgruppeNr', N'ZielgruppeNr', 1, 0, 50, 1, N'', 1, '06.01.2013 10:37:00.460', '06.01.2013 10:37:56.600', 1, 1, NULL UNION ALL +SELECT 214, N'Zielgruppe', N'Bezeichnung', N'Bezeichnung', 0, 0, 100, 2, N'', 1, '06.01.2013 10:37:00.460', '06.01.2013 10:37:56.873', 1, 1, NULL UNION ALL +SELECT 215, N'Zielgruppe', N'Beschreibung', N'Beschreibung', 0, 0, 100, 3, N'', 1, '06.01.2013 10:37:00.460', '06.01.2013 10:37:57.217', 1, 1, NULL UNION ALL +SELECT 216, N'Zielgruppe', N'aktiv', N'Aktiv', 0, 0, 40, 4, N'', 1, '06.01.2013 10:37:00.463', '06.01.2013 10:37:57.550', 1, 1, NULL UNION ALL +SELECT 217, N'Zielgruppe', N'erstellt_am', N'Erstellungsdatum', 1, 0, 100, 5, N'', 1, '06.01.2013 10:37:00.463', '06.01.2013 10:37:57.873', 1, 1, NULL UNION ALL +SELECT 218, N'Zielgruppe', N'mutiert_am', N'Mutationsdatum', 1, 0, 100, 6, N'', 1, '06.01.2013 10:37:00.463', '06.01.2013 10:37:58.177', 1, 1, NULL UNION ALL +SELECT 219, N'Zielgruppe', N'mutierer', N'Mutiert durch', 1, 0, 40, 7, N'', 1, '06.01.2013 10:37:00.467', '06.01.2013 10:37:58.457', 1, 1, NULL UNION ALL +SELECT 220, N'Kategorie', N'parentid', N'Parent', 0, 0, 40, 2, N'', 1, '23.01.2013 13:48:48.840', '23.01.2013 13:50:52.377', 1, 1, NULL UNION ALL +SELECT 221, N'Themenuebersicht', N'ThemanNr', N'ThemanNr', 1, 0, 0, 0, N'', 1, '23.01.2013 14:40:26.357', '23.01.2013 14:41:09.297', 1, 1, NULL UNION ALL +SELECT 222, N'Themenuebersicht', N'Titel', N'Titel', 1, 0, 100, 1, N'', 1, '23.01.2013 14:40:26.357', '23.01.2013 14:40:51.377', 1, 1, NULL UNION ALL +SELECT 223, N'Themenuebersicht', N'KategorieNr', N'KategorieNr', 1, 0, 0, 2, N'', 1, '23.01.2013 14:40:26.357', '23.01.2013 14:41:10.560', 1, 1, NULL UNION ALL +SELECT 224, N'Themenuebersicht', N'Beschreibung', N'Beschreibung', 1, 0, 100, 3, N'', 1, '23.01.2013 14:40:26.357', '23.01.2013 14:40:56.583', 1, 1, NULL UNION ALL +SELECT 225, N'Themenuebersicht', N'Suchbegriffe', N'Suchbegriffe', 1, 0, 100, 4, N'', 1, '23.01.2013 14:40:26.360', '23.01.2013 14:40:57.093', 1, 1, NULL UNION ALL +SELECT 226, N'Themenuebersicht', N'Gueltig_ab', N'Gueltig_ab', 1, 0, 100, 5, N'', 1, '23.01.2013 14:40:26.360', '23.01.2013 14:40:57.633', 1, 1, NULL UNION ALL +SELECT 227, N'Themenuebersicht', N'Gueltig_bis', N'Gueltig_bis', 1, 0, 100, 6, N'', 1, '23.01.2013 14:40:26.360', '23.01.2013 14:40:58.097', 1, 1, NULL UNION ALL +SELECT 228, N'Themenuebersicht', N'aktiv', N'Aktiv', 1, 0, 40, 7, N'', 1, '23.01.2013 14:40:26.360', '23.01.2013 14:40:58.630', 1, 1, NULL UNION ALL +SELECT 229, N'Themenuebersicht', N'erstellt_am', N'Erstellungsdatum', 1, 0, 100, 8, N'', 1, '23.01.2013 14:40:26.360', '23.01.2013 14:40:59.063', 1, 1, NULL UNION ALL +SELECT 230, N'Themenuebersicht', N'mutiert_am', N'Mutationsdatum', 1, 0, 100, 9, N'', 1, '23.01.2013 14:40:26.360', '23.01.2013 14:40:59.590', 1, 1, NULL UNION ALL +SELECT 231, N'Themenuebersicht', N'mutierer', N'Mutiert durch', 1, 0, 40, 10, N'', 1, '23.01.2013 14:40:26.363', '23.01.2013 14:41:02.233', 1, 1, NULL UNION ALL +SELECT 232, N'Funktion', N'FunktionNr', N'FunktionNr', 1, 0, 40, 1, N'', 1, '29.01.2013 10:20:14.050', '29.01.2013 10:21:31.730', 1, 1, NULL UNION ALL +SELECT 233, N'Funktion', N'Bezeichnung', N'Bezeichnung', 0, 0, 100, 2, N'', 1, '29.01.2013 10:20:14.050', '29.01.2013 10:21:32.063', 1, 1, NULL UNION ALL +SELECT 234, N'Funktion', N'Beschreibung', N'Beschreibung', 0, 0, 100, 3, N'', 1, '29.01.2013 10:20:14.050', '29.01.2013 10:21:32.387', 1, 1, NULL UNION ALL +SELECT 235, N'Funktion', N'Aktiv', N'Aktiv', 0, 0, 40, 4, N'', 1, '29.01.2013 10:20:14.050', '29.01.2013 10:21:32.713', 1, 1, NULL UNION ALL +SELECT 236, N'Funktion', N'Erstellt_am', N'Erstellungsdatum', 1, 0, 100, 5, N'', 1, '29.01.2013 10:20:14.053', '29.01.2013 10:21:33.020', 1, 1, NULL UNION ALL +SELECT 237, N'Funktion', N'Mutiert_am', N'Mutationsdatum', 1, 0, 100, 6, N'', 1, '29.01.2013 10:20:14.053', '29.01.2013 10:21:33.327', 1, 1, NULL UNION ALL +SELECT 238, N'Funktion', N'Mutierer', N'Mutiert durch', 1, 0, 40, 7, N'', 1, '29.01.2013 10:20:14.053', '29.01.2013 10:21:33.660', 1, 1, NULL UNION ALL +SELECT 239, N'Person', N'PersonNr', N'PersonNr', 0, 0, 40, 1, N'', 1, '29.01.2013 10:20:17.107', '29.01.2013 10:20:43.503', 1, 1, NULL UNION ALL +SELECT 240, N'Person', N'Firma', N'Firma', 0, 0, 100, 2, N'', 1, '29.01.2013 10:20:17.107', '29.01.2013 10:20:43.777', 1, 1, NULL UNION ALL +SELECT 241, N'Person', N'Name', N'Name', 0, 0, 100, 3, N'', 1, '29.01.2013 10:20:17.107', '29.01.2013 10:20:44.050', 1, 1, NULL UNION ALL +SELECT 242, N'Person', N'Vorname', N'Vorname', 0, 0, 100, 4, N'', 1, '29.01.2013 10:20:17.110', '29.01.2013 10:20:44.320', 1, 1, NULL UNION ALL +SELECT 243, N'Person', N'Strasse', N'Strasse', 0, 0, 100, 5, N'', 1, '29.01.2013 10:20:17.110', '29.01.2013 10:20:44.590', 1, 1, NULL UNION ALL +SELECT 244, N'Person', N'Postfach', N'Postfach', 0, 0, 100, 6, N'', 1, '29.01.2013 10:20:17.110', '29.01.2013 10:20:44.970', 1, 1, NULL UNION ALL +SELECT 245, N'Person', N'Plz', N'Plz', 0, 0, 100, 7, N'', 1, '29.01.2013 10:20:17.110', '29.01.2013 10:20:45.293', 1, 1, NULL UNION ALL +SELECT 246, N'Person', N'Ort', N'Ort', 0, 0, 100, 8, N'', 1, '29.01.2013 10:20:17.113', '29.01.2013 10:20:45.610', 1, 1, NULL UNION ALL +SELECT 247, N'Person', N'Telefon', N'Telefon', 0, 0, 100, 9, N'', 1, '29.01.2013 10:20:17.113', '29.01.2013 10:20:45.940', 1, 1, NULL UNION ALL +SELECT 248, N'Person', N'Telefax', N'Telefax', 0, 0, 100, 10, N'', 1, '29.01.2013 10:20:17.113', '29.01.2013 10:20:47.983', 1, 1, NULL UNION ALL +SELECT 249, N'Person', N'EMail', N'EMail', 0, 0, 100, 11, N'', 1, '29.01.2013 10:20:17.117', '29.01.2013 10:20:49.097', 1, 1, NULL UNION ALL +SELECT 250, N'Person', N'Internet', N'Internet', 0, 0, 100, 12, N'', 1, '29.01.2013 10:20:17.117', '29.01.2013 10:20:49.490', 1, 1, NULL UNION ALL +SELECT 251, N'Person', N'Bemerkung', N'Bemerkung', 0, 0, 100, 13, N'', 1, '29.01.2013 10:20:17.117', '29.01.2013 10:20:50.070', 1, 1, NULL UNION ALL +SELECT 252, N'Person', N'Aktiv', N'Aktiv', 0, 0, 40, 14, N'', 1, '29.01.2013 10:20:17.120', '29.01.2013 10:20:50.920', 1, 1, NULL UNION ALL +SELECT 253, N'Person', N'Erstellt_am', N'Erstellungsdatum', 1, 0, 100, 15, N'', 1, '29.01.2013 10:20:17.120', '29.01.2013 10:20:51.793', 1, 1, NULL UNION ALL +SELECT 254, N'Person', N'Mutiert_am', N'Mutationsdatum', 1, 0, 100, 16, N'', 1, '29.01.2013 10:20:17.120', '29.01.2013 10:20:52.357', 1, 1, NULL UNION ALL +SELECT 255, N'Person', N'Mutierer', N'Mutiert durch', 1, 0, 40, 17, N'', 1, '29.01.2013 10:20:17.120', '29.01.2013 10:20:54.907', 1, 1, NULL UNION ALL +SELECT 256, N'ThemaPersonen', N'Firma', N'Firma', 1, 0, 0, 11, N'', 1, '29.01.2013 10:35:46.953', '29.01.2013 11:34:56.520', 1, 1, NULL +COMMIT; +RAISERROR (N'[dbo].[spalten]: Insert Batch: 5.....Done!', 10, 1) WITH NOWAIT; +GO + +BEGIN TRANSACTION; +INSERT INTO [dbo].[spalten]([eintragnr], [tabelle], [tabellenspalte], [spalte], [Readonly], [alsHacken], [Breite], [Reihenfolge], [tiptext], [aktiv], [erstellt_am], [mutiert_am], [mutierer], [mandantnr], [NumberFormat]) +SELECT 257, N'ThemaPersonen', N'Name', N'Name', 1, 0, 100, 2, N'', 1, '29.01.2013 10:35:46.957', '29.01.2013 10:54:08.520', 1, 1, NULL UNION ALL +SELECT 258, N'ThemaPersonen', N'Vorname', N'Vorname', 1, 0, 100, 3, N'', 1, '29.01.2013 10:35:46.957', '29.01.2013 10:54:08.747', 1, 1, NULL UNION ALL +SELECT 259, N'ThemaPersonen', N'Telefon', N'Telefon', 1, 0, 100, 4, N'', 1, '29.01.2013 10:35:46.957', '29.01.2013 10:54:08.977', 1, 1, NULL UNION ALL +SELECT 260, N'ThemaPersonen', N'EMail', N'EMail', 1, 0, 100, 5, N'', 1, '29.01.2013 10:35:46.960', '29.01.2013 10:54:09.220', 1, 1, NULL UNION ALL +SELECT 261, N'ThemaPersonen', N'Internet', N'Internet', 1, 0, 100, 6, N'', 1, '29.01.2013 10:35:46.960', '29.01.2013 10:54:09.447', 1, 1, NULL UNION ALL +SELECT 262, N'ThemaPersonen', N'Bemerkung', N'Bemerkung', 1, 0, 100, 7, N'', 1, '29.01.2013 10:35:46.960', '29.01.2013 10:54:09.660', 1, 1, NULL UNION ALL +SELECT 263, N'ThemaPersonen', N'Bezeichnung', N'Bezeichnung', 1, 0, 100, 8, N'', 1, '29.01.2013 10:35:46.960', '29.01.2013 10:54:09.880', 1, 1, NULL UNION ALL +SELECT 264, N'ThemaPersonen', N'ThemaPersonNr', N'ThemaPersonNr', 1, 0, 0, 9, N'', 1, '29.01.2013 10:35:46.963', '29.01.2013 10:54:10.100', 1, 1, NULL UNION ALL +SELECT 265, N'ThemaPersonen', N'PersonNr', N'PersonNr', 1, 0, 0, 10, N'', 1, '29.01.2013 10:35:46.963', '29.01.2013 10:54:10.780', 1, 1, NULL UNION ALL +SELECT 266, N'Journal', N'Journaleintragnr', N'Nr', 1, 0, 50, 0, N'', 1, '28.02.2013 13:15:57.757', '28.02.2013 13:16:20.613', 1, 1, NULL UNION ALL +SELECT 267, N'Journal', N'Themanr', N'Themanr', 1, 0, 1, 1, N'', 1, '28.02.2013 13:15:57.757', '28.02.2013 13:21:43.267', 1, 1, NULL UNION ALL +SELECT 268, N'Journal', N'Beschreibung', N'Beschreibung', 1, 0, 255, 2, N'', 1, '28.02.2013 13:15:57.757', '28.02.2013 13:17:36.363', 1, 1, NULL UNION ALL +SELECT 269, N'Journal', N'Mutierer', N'Mitarbeiter', 1, 0, 200, 3, N'', 1, '28.02.2013 13:15:57.760', '28.02.2013 13:19:11.127', 1, 1, NULL UNION ALL +SELECT 270, N'Journal', N'Erstellt_am', N'Datum', 1, 0, 100, 4, N'', 1, '28.02.2013 13:15:57.760', '28.02.2013 13:17:37.100', 1, 1, NULL UNION ALL +SELECT 271, N'Auswertung', N'AuswertungNr', N'AuswertungNr', 0, 0, 100, 1, N'', 1, '20.04.2013 08:15:02.970', '20.04.2013 08:18:54.710', 1, 1, NULL UNION ALL +SELECT 272, N'Auswertung', N'Bezeichnung', N'Bezeichnung', 0, 0, 100, 2, N'', 1, '20.04.2013 08:15:02.970', '20.04.2013 08:19:03.633', 1, 1, NULL UNION ALL +SELECT 273, N'Auswertung', N'Aktiv', N'Aktiv', 0, 0, 40, 9, N'', 1, '20.04.2013 08:15:02.970', '20.04.2013 08:19:16.130', 1, 1, NULL UNION ALL +SELECT 274, N'Auswertung', N'Erstellt_am', N'Erstellungsdatum', 1, 0, 100, 10, N'', 1, '20.04.2013 08:15:02.970', '20.04.2013 08:19:18.190', 1, 1, NULL UNION ALL +SELECT 275, N'Auswertung', N'Mutiert_am', N'Mutationsdatum', 1, 0, 100, 11, N'', 1, '20.04.2013 08:15:02.973', '20.04.2013 08:19:18.830', 1, 1, NULL UNION ALL +SELECT 276, N'Auswertung', N'Mutierer', N'Mutiert durch', 1, 0, 40, 12, N'', 1, '20.04.2013 08:15:02.973', '20.04.2013 08:19:20.903', 1, 1, NULL UNION ALL +SELECT 277, N'Auswertung', N'Report', N'Report', 0, 0, 100, 4, N'', 1, '20.04.2013 08:15:02.973', '20.04.2013 08:19:10.140', 1, 1, NULL UNION ALL +SELECT 278, N'Auswertung', N'Filename', N'Filename', 0, 0, 100, 5, N'', 1, '20.04.2013 08:15:02.977', '20.04.2013 08:19:11.217', 1, 1, NULL UNION ALL +SELECT 279, N'Auswertung', N'Excel_Report', N'Excel_Report', 0, 0, 100, 6, N'', 1, '20.04.2013 08:15:02.977', '20.04.2013 08:19:11.793', 1, 1, NULL UNION ALL +SELECT 280, N'Auswertung', N'SQL', N'SQL', 0, 0, 100, 7, N'', 1, '20.04.2013 08:15:02.977', '20.04.2013 08:19:12.353', 1, 1, NULL UNION ALL +SELECT 281, N'Auswertung', N'SQLType', N'SQLType', 0, 0, 100, 8, N'', 1, '20.04.2013 08:15:02.980', '20.04.2013 08:19:13.337', 1, 1, NULL UNION ALL +SELECT 282, N'Auswertung', N'Beschreibung', N'Beschreibung', 0, 0, 100, 3, N'', 1, '20.04.2013 08:15:02.980', '20.04.2013 08:19:05.833', 1, 1, NULL UNION ALL +SELECT 283, N'Auswertung', N'Connectionstring_Subreport', N'Connectionstring_Subreport', 0, 0, 100, 13, N'', 1, '20.04.2013 08:15:02.980', '20.04.2013 08:19:22.697', 1, 1, NULL UNION ALL +SELECT 284, N'AuswertungAuswertungParameter', N'AuswertungAuswertungparametern', N'AuswertungAuswertungparametern', 0, 0, 100, 1, N'', 1, '20.04.2013 08:15:06.177', '20.04.2013 08:19:23.603', 1, 1, NULL UNION ALL +SELECT 285, N'AuswertungAuswertungParameter', N'Auswertungnr', N'Auswertungnr', 0, 0, 100, 2, N'', 1, '20.04.2013 08:15:06.177', '20.04.2013 08:19:24.540', 1, 1, NULL UNION ALL +SELECT 286, N'AuswertungAuswertungParameter', N'Auswertungparameternr', N'Auswertungparameternr', 0, 0, 100, 3, N'', 1, '20.04.2013 08:15:06.177', '20.04.2013 08:19:25.053', 1, 1, NULL UNION ALL +SELECT 287, N'AuswertungAuswertungParameter', N'DBfeldname', N'DBfeldname', 0, 0, 100, 4, N'', 1, '20.04.2013 08:15:06.180', '20.04.2013 08:19:25.490', 1, 1, NULL UNION ALL +SELECT 288, N'AuswertungAuswertungParameter', N'Reihenfolge', N'Reihenfolge', 0, 0, 100, 5, N'', 1, '20.04.2013 08:15:06.180', '20.04.2013 08:19:25.910', 1, 1, NULL UNION ALL +SELECT 289, N'AuswertungAuswertungParameter', N'Aktiv', N'Aktiv', 0, 0, 40, 6, N'', 1, '20.04.2013 08:15:06.180', '20.04.2013 08:19:26.317', 1, 1, NULL UNION ALL +SELECT 290, N'AuswertungAuswertungParameter', N'Erstellt_am', N'Erstellungsdatum', 1, 0, 100, 7, N'', 1, '20.04.2013 08:15:06.180', '20.04.2013 08:19:26.753', 1, 1, NULL UNION ALL +SELECT 291, N'AuswertungAuswertungParameter', N'Mutiert_am', N'Mutationsdatum', 1, 0, 100, 8, N'', 1, '20.04.2013 08:15:06.180', '20.04.2013 08:19:27.300', 1, 1, NULL UNION ALL +SELECT 292, N'AuswertungAuswertungParameter', N'Mutierer', N'Mutiert durch', 1, 0, 40, 0, N'', 1, '20.04.2013 08:15:06.183', '20.04.2013 08:19:29.517', 1, 1, NULL UNION ALL +SELECT 293, N'AuswertungGruppe', N'AuswertungGruppeNr', N'AuswertungGruppeNr', 0, 0, 100, 1, N'', 1, '20.04.2013 08:15:08.327', '20.04.2013 08:19:34.133', 1, 1, NULL UNION ALL +SELECT 294, N'AuswertungGruppe', N'Bezeichnung', N'Bezeichnung', 0, 0, 100, 2, N'', 1, '20.04.2013 08:15:08.330', '20.04.2013 08:19:34.477', 1, 1, NULL UNION ALL +SELECT 295, N'AuswertungGruppe', N'Aktiv', N'Aktiv', 0, 0, 40, 3, N'', 1, '20.04.2013 08:15:08.330', '20.04.2013 08:19:34.850', 1, 1, NULL UNION ALL +SELECT 296, N'AuswertungGruppe', N'Erstellt_am', N'Erstellungsdatum', 1, 0, 100, 4, N'', 1, '20.04.2013 08:15:08.330', '20.04.2013 08:19:35.163', 1, 1, NULL UNION ALL +SELECT 297, N'AuswertungGruppe', N'Mutiert_am', N'Mutationsdatum', 1, 0, 100, 5, N'', 1, '20.04.2013 08:15:08.330', '20.04.2013 08:19:35.600', 1, 1, NULL UNION ALL +SELECT 298, N'AuswertungGruppe', N'Mutierer', N'Mutiert durch', 1, 0, 40, 6, N'', 1, '20.04.2013 08:15:08.330', '20.04.2013 08:19:36.003', 1, 1, NULL UNION ALL +SELECT 299, N'AuswertungGruppe', N'Parentid', N'Parentid', 0, 0, 100, 7, N'', 1, '20.04.2013 08:15:08.333', '20.04.2013 08:19:36.410', 1, 1, NULL UNION ALL +SELECT 300, N'AuswertungGruppeAuswertung', N'AuswertungGruppeAuswertungNr', N'AuswertungGruppeAuswertungNr', 0, 0, 100, 1, N'', 1, '20.04.2013 08:15:25.267', '20.04.2013 08:19:37.143', 1, 1, NULL UNION ALL +SELECT 301, N'AuswertungGruppeAuswertung', N'AuswertungGruppeNr', N'AuswertungGruppeNr', 0, 0, 100, 2, N'', 1, '20.04.2013 08:15:25.270', '20.04.2013 08:19:37.533', 1, 1, NULL UNION ALL +SELECT 302, N'AuswertungGruppeAuswertung', N'AuswertungNr', N'AuswertungNr', 0, 0, 100, 3, N'', 1, '20.04.2013 08:15:25.270', '20.04.2013 08:19:37.907', 1, 1, NULL UNION ALL +SELECT 303, N'AuswertungGruppeAuswertung', N'Aktiv', N'Aktiv', 0, 0, 40, 4, N'', 1, '20.04.2013 08:15:25.270', '20.04.2013 08:19:38.283', 1, 1, NULL UNION ALL +SELECT 304, N'AuswertungGruppeAuswertung', N'Erstllt_am', N'Erstllt_am', 0, 0, 100, 5, N'', 1, '20.04.2013 08:15:25.270', '20.04.2013 08:19:38.657', 1, 1, NULL UNION ALL +SELECT 305, N'AuswertungGruppeAuswertung', N'Mutiert_am', N'Mutationsdatum', 1, 0, 100, 6, N'', 1, '20.04.2013 08:15:25.273', '20.04.2013 08:19:39.047', 1, 1, NULL UNION ALL +SELECT 306, N'AuswertungGruppeAuswertung', N'Mutierer', N'Mutiert durch', 1, 0, 40, 7, N'', 1, '20.04.2013 08:15:25.273', '20.04.2013 08:19:39.530', 1, 1, NULL +COMMIT; +RAISERROR (N'[dbo].[spalten]: Insert Batch: 6.....Done!', 10, 1) WITH NOWAIT; +GO + +BEGIN TRANSACTION; +INSERT INTO [dbo].[spalten]([eintragnr], [tabelle], [tabellenspalte], [spalte], [Readonly], [alsHacken], [Breite], [Reihenfolge], [tiptext], [aktiv], [erstellt_am], [mutiert_am], [mutierer], [mandantnr], [NumberFormat]) +SELECT 307, N'AuswertungRptDatei', N'AuswertungDateiNr', N'AuswertungDateiNr', 0, 0, 100, 1, N'', 1, '20.04.2013 08:15:32.897', '20.04.2013 08:19:40.280', 1, 1, NULL UNION ALL +SELECT 308, N'AuswertungRptDatei', N'Filename', N'Filename', 0, 0, 100, 2, N'', 1, '20.04.2013 08:15:32.900', '20.04.2013 08:19:40.717', 1, 1, NULL UNION ALL +SELECT 309, N'AuswertungRptDatei', N'Reportname', N'Reportname', 0, 0, 100, 3, N'', 1, '20.04.2013 08:15:32.900', '20.04.2013 08:19:41.357', 1, 1, NULL UNION ALL +SELECT 310, N'AuswertungRptDatei', N'Reportfile', N'Reportfile', 0, 0, 100, 4, N'', 1, '20.04.2013 08:15:32.900', '20.04.2013 08:19:45.520', 1, 1, NULL UNION ALL +SELECT 311, N'AuswertungRptDatei', N'Erstellt_am', N'Erstellungsdatum', 1, 0, 100, 5, N'', 1, '20.04.2013 08:15:32.903', '20.04.2013 08:19:45.897', 1, 1, NULL UNION ALL +SELECT 312, N'AuswertungRptDatei', N'Mutiert_am', N'Mutationsdatum', 1, 0, 100, 6, N'', 1, '20.04.2013 08:15:32.903', '20.04.2013 08:19:46.223', 1, 1, NULL UNION ALL +SELECT 313, N'AuswertungRptDatei', N'Mutierer', N'Mutiert durch', 1, 0, 40, 7, N'', 1, '20.04.2013 08:15:32.903', '20.04.2013 08:19:46.643', 1, 1, NULL UNION ALL +SELECT 314, N'Auswertungsparameter', N'Auswertungparameternr', N'Auswertungparameternr', 0, 0, 100, 1, N'', 1, '20.04.2013 08:15:36.970', '20.04.2013 08:19:47.347', 1, 1, NULL UNION ALL +SELECT 315, N'Auswertungsparameter', N'Bezeichnung', N'Bezeichnung', 0, 0, 100, 2, N'', 1, '20.04.2013 08:15:36.970', '20.04.2013 08:19:47.720', 1, 1, NULL UNION ALL +SELECT 316, N'Auswertungsparameter', N'Operator', N'Operator', 0, 0, 100, 3, N'', 1, '20.04.2013 08:15:36.970', '20.04.2013 08:19:48.187', 1, 1, NULL UNION ALL +SELECT 317, N'Auswertungsparameter', N'Feldbezug', N'Feldbezug', 0, 0, 100, 4, N'', 1, '20.04.2013 08:15:36.970', '20.04.2013 08:19:48.547', 1, 1, NULL UNION ALL +SELECT 318, N'Auswertungsparameter', N'Wert', N'Wert', 0, 0, 100, 5, N'', 1, '20.04.2013 08:15:36.973', '20.04.2013 08:19:48.920', 1, 1, NULL UNION ALL +SELECT 319, N'Auswertungsparameter', N'ParamName', N'ParamName', 0, 0, 100, 6, N'', 1, '20.04.2013 08:15:36.973', '20.04.2013 08:19:49.327', 1, 1, NULL UNION ALL +SELECT 320, N'Auswertungsparameter', N'ParamType', N'ParamType', 0, 0, 100, 7, N'', 1, '20.04.2013 08:15:36.973', '20.04.2013 08:19:49.937', 1, 1, NULL UNION ALL +SELECT 321, N'Auswertungsparameter', N'Aktiv', N'Aktiv', 0, 0, 40, 8, N'', 1, '20.04.2013 08:15:36.977', '20.04.2013 08:19:50.870', 1, 1, NULL UNION ALL +SELECT 322, N'Auswertungsparameter', N'Erstellt_am', N'Erstellungsdatum', 1, 0, 100, 9, N'', 1, '20.04.2013 08:15:36.977', '20.04.2013 08:19:52.057', 1, 1, NULL UNION ALL +SELECT 323, N'Auswertungsparameter', N'Mutiert_am', N'Mutationsdatum', 1, 0, 100, 10, N'', 1, '20.04.2013 08:15:36.977', '20.04.2013 08:19:53.757', 1, 1, NULL UNION ALL +SELECT 324, N'Auswertungsparameter', N'Mutierer', N'Mutiert durch', 1, 0, 40, 11, N'', 1, '20.04.2013 08:15:36.980', '20.04.2013 08:19:54.380', 1, 1, NULL UNION ALL +SELECT 325, N'Auswertungsparameter', N'Fix', N'Fix', 0, 0, 100, 12, N'', 1, '20.04.2013 08:15:36.980', '20.04.2013 08:19:54.943', 1, 1, NULL UNION ALL +SELECT 326, N'Auswertungsparameter', N'FixOperator', N'FixOperator', 0, 0, 100, 13, N'', 1, '20.04.2013 08:15:36.980', '20.04.2013 08:19:55.583', 1, 1, NULL UNION ALL +SELECT 327, N'Auswertungsparameter', N'Visible', N'Visible', 0, 0, 100, 14, N'', 1, '20.04.2013 08:15:36.980', '20.04.2013 08:19:56.300', 1, 1, NULL UNION ALL +SELECT 328, N'Auswertungsparameter', N'Defaultvalue', N'Defaultvalue', 0, 0, 100, 15, N'', 1, '20.04.2013 08:15:36.983', '20.04.2013 08:19:57.190', 1, 1, NULL UNION ALL +SELECT 329, N'Auswertungsparameter', N'Editable', N'Editable', 0, 0, 100, 16, N'', 1, '20.04.2013 08:15:36.983', '20.04.2013 08:19:58.907', 1, 1, NULL UNION ALL +SELECT 330, N'Auswertungsparameter', N'Param_Name', N'Param_Name', 0, 0, 100, 17, N'', 1, '20.04.2013 08:15:36.983', '20.04.2013 08:19:59.547', 1, 1, NULL UNION ALL +SELECT 331, N'Funktionsgruppe_auswertungGruppe', N'Funktionsgruppe_AuswertungGrup', N'Funktionsgruppe_AuswertungGrup', 0, 0, 100, 0, N'', 1, '20.04.2013 08:15:39.713', '20.04.2013 08:15:39.713', -1, 1, NULL UNION ALL +SELECT 332, N'Funktionsgruppe_auswertungGruppe', N'funktionsgruppenr', N'funktionsgruppenr', 0, 0, 100, 0, N'', 1, '20.04.2013 08:15:39.717', '20.04.2013 08:15:39.717', -1, 1, NULL UNION ALL +SELECT 333, N'Funktionsgruppe_auswertungGruppe', N'AuswertungGruppeNr', N'AuswertungGruppeNr', 0, 0, 100, 0, N'', 1, '20.04.2013 08:15:39.717', '20.04.2013 08:15:39.717', -1, 1, NULL UNION ALL +SELECT 334, N'Funktionsgruppe_auswertungGruppe', N'Aktiv', N'Aktiv', 0, 0, 40, 0, N'', 1, '20.04.2013 08:15:39.717', '20.04.2013 08:15:39.717', -1, 1, NULL UNION ALL +SELECT 335, N'Funktionsgruppe_auswertungGruppe', N'Erstellt_am', N'Erstellungsdatum', 1, 0, 100, 0, N'', 1, '20.04.2013 08:15:39.720', '20.04.2013 08:15:39.720', -1, 1, NULL UNION ALL +SELECT 336, N'Funktionsgruppe_auswertungGruppe', N'Mutiert_am', N'Mutationsdatum', 1, 0, 100, 0, N'', 1, '20.04.2013 08:15:39.720', '20.04.2013 08:15:39.720', -1, 1, NULL UNION ALL +SELECT 337, N'Funktionsgruppe_auswertungGruppe', N'Mutierer', N'Mutiert durch', 1, 0, 40, 0, N'', 1, '20.04.2013 08:15:39.720', '20.04.2013 08:15:39.720', -1, 1, NULL UNION ALL +SELECT 338, N'Pendenzstatus', N'PendenzStatusNr', N'PendenzStatusNr', 0, 0, 100, 1, N'', 1, '21.04.2013 15:10:10.373', '21.04.2013 15:10:26.380', 1, 1, NULL UNION ALL +SELECT 339, N'Pendenzstatus', N'Bezeichnung', N'Bezeichnung', 0, 0, 100, 2, N'', 1, '21.04.2013 15:10:10.373', '21.04.2013 15:10:26.677', 1, 1, NULL UNION ALL +SELECT 340, N'Pendenzstatus', N'Aktiv', N'Aktiv', 0, 0, 40, 3, N'', 1, '21.04.2013 15:10:10.377', '21.04.2013 15:10:27.007', 1, 1, NULL UNION ALL +SELECT 341, N'Pendenzstatus', N'Erstellt_am', N'Erstellungsdatum', 1, 0, 100, 4, N'', 1, '21.04.2013 15:10:10.377', '21.04.2013 15:10:27.363', 1, 1, NULL UNION ALL +SELECT 342, N'Pendenzstatus', N'Mutiert_am', N'Mutationsdatum', 1, 0, 100, 5, N'', 1, '21.04.2013 15:10:10.377', '21.04.2013 15:10:27.677', 1, 1, NULL UNION ALL +SELECT 343, N'Pendenzstatus', N'Mutierer', N'Mutiert durch', 1, 0, 40, 6, N'', 1, '21.04.2013 15:10:10.380', '21.04.2013 15:10:28.067', 1, 1, NULL UNION ALL +SELECT 344, N'Pendenzstatus', N'Mandantnr', N'Mandantnr', 0, 0, 100, 7, N'', 1, '21.04.2013 15:10:10.380', '21.04.2013 15:10:28.440', 1, 1, NULL UNION ALL +SELECT 345, N'Pendenzstatus', N'Pendenz_Aktivieren', N'Pendenz_Aktivieren', 0, 0, 100, 8, N'', 1, '21.04.2013 15:10:10.380', '21.04.2013 15:10:29.173', 1, 1, NULL UNION ALL +SELECT 346, N'Pendenzstatus', N'Pendenz_Inaktivieren', N'Pendenz_Inaktivieren', 0, 0, 100, 9, N'', 1, '21.04.2013 15:10:10.380', '21.04.2013 15:10:31.653', 1, 1, NULL UNION ALL +SELECT 347, N'pendenzuebersicht', N'PendenzNr', N'PendenzNr', 0, 0, 0, 0, N'', 1, '21.04.2013 15:10:19.050', '21.04.2013 15:13:48.983', 1, 1, NULL UNION ALL +SELECT 348, N'pendenzuebersicht', N'themanr', N'themanr', 0, 0, 0, 1, N'', 1, '21.04.2013 15:10:19.050', '21.04.2013 15:13:50.233', 1, 1, NULL UNION ALL +SELECT 349, N'pendenzuebersicht', N'Verantwortlich', N'Verantwortlich', 0, 0, 100, 3, N'', 1, '21.04.2013 15:10:19.050', '21.04.2013 15:10:33.277', 1, 1, NULL UNION ALL +SELECT 350, N'pendenzuebersicht', N'PendenzStatusNr', N'PendenzStatusNr', 0, 0, 100, 4, N'', 1, '21.04.2013 15:10:19.053', '21.04.2013 15:10:33.683', 1, 1, NULL UNION ALL +SELECT 351, N'pendenzuebersicht', N'Bezeichnung', N'Bezeichnung', 0, 0, 100, 5, N'', 1, '21.04.2013 15:10:19.053', '21.04.2013 15:10:34.087', 1, 1, NULL UNION ALL +SELECT 352, N'pendenzuebersicht', N'Beschreibung', N'Beschreibung', 0, 0, 100, 6, N'', 1, '21.04.2013 15:10:19.053', '21.04.2013 15:10:34.477', 1, 1, NULL UNION ALL +SELECT 353, N'pendenzuebersicht', N'Termin', N'Termin', 0, 0, 100, 7, N'', 1, '21.04.2013 15:10:19.057', '21.04.2013 15:10:34.853', 1, 1, NULL UNION ALL +SELECT 354, N'pendenzuebersicht', N'Aktiv', N'Aktiv', 0, 0, 40, 8, N'', 1, '21.04.2013 15:10:19.057', '21.04.2013 15:10:35.540', 1, 1, NULL UNION ALL +SELECT 355, N'pendenzuebersicht', N'Erstellt_am', N'Erstellungsdatum', 1, 0, 100, 9, N'', 1, '21.04.2013 15:10:19.060', '21.04.2013 15:10:37.037', 1, 1, NULL UNION ALL +SELECT 356, N'pendenzuebersicht', N'Mutiert_am', N'Mutationsdatum', 1, 0, 100, 10, N'', 1, '21.04.2013 15:10:19.060', '21.04.2013 15:10:38.410', 1, 1, NULL +COMMIT; +RAISERROR (N'[dbo].[spalten]: Insert Batch: 7.....Done!', 10, 1) WITH NOWAIT; +GO + +BEGIN TRANSACTION; +INSERT INTO [dbo].[spalten]([eintragnr], [tabelle], [tabellenspalte], [spalte], [Readonly], [alsHacken], [Breite], [Reihenfolge], [tiptext], [aktiv], [erstellt_am], [mutiert_am], [mutierer], [mandantnr], [NumberFormat]) +SELECT 357, N'pendenzuebersicht', N'Mutierer', N'Mutiert durch', 1, 0, 40, 11, N'', 1, '21.04.2013 15:10:19.060', '21.04.2013 15:10:38.970', 1, 1, NULL UNION ALL +SELECT 358, N'pendenzuebersicht', N'MandantNr', N'MandantNr', 0, 0, 100, 12, N'', 1, '21.04.2013 15:10:19.060', '21.04.2013 15:10:39.453', 1, 1, NULL UNION ALL +SELECT 359, N'pendenzuebersicht', N'Pendenzstatus', N'Pendenzstatus', 0, 0, 100, 13, N'', 1, '21.04.2013 15:10:19.063', '21.04.2013 15:10:40.030', 1, 1, NULL UNION ALL +SELECT 360, N'pendenzuebersicht', N'Thema', N'Thema', 0, 0, 100, 2, N'', 1, '21.04.2013 15:10:19.063', '21.04.2013 15:13:52.823', 1, 1, NULL +COMMIT; +RAISERROR (N'[dbo].[spalten]: Insert Batch: 8.....Done!', 10, 1) WITH NOWAIT; +GO + +BEGIN TRANSACTION; +INSERT INTO [dbo].[SpeicherTyp]([SpeicherTypNr], [Bezeichnung], [Beschreibung], [aktiv], [erstellt_am], [mutiert_am], [mutierer]) +SELECT 1, N'Datenbank', NULL, 1, '05.01.2013 15:00:09.437', '05.01.2013 15:00:09.433', 1 UNION ALL +SELECT 2, N'Dateisystem', NULL, 1, '05.01.2013 15:00:14.387', '05.01.2013 15:00:14.383', 1 UNION ALL +SELECT 3, N'Hyperlink', NULL, 1, '05.01.2013 15:00:16.403', '05.01.2013 15:00:16.400', 1 +COMMIT; +RAISERROR (N'[dbo].[SpeicherTyp]: Insert Batch: 1.....Done!', 10, 1) WITH NOWAIT; +GO + +BEGIN TRANSACTION; +INSERT INTO [dbo].[sysadminfunktion]([sysadminfnktnr], [bezeichnung], [ParentID], [Sort], [ImageIndex], [ImageIndexOpen], [ftop], [fleft], [fwidth], [fheight], [beschreibung], [mandantnr], [sprache], [aktiv], [erstellt_am], [mutiert_am], [mutierer], [Domaintable], [KeyFields]) +SELECT 1, N'Systemadministration', 0, 0, 1, 2, 0, 0, 1000, 800, N'', 1, 1, 1, '08.10.2008 00:00:00.000', '08.10.2008 00:00:00.000', 1, N'', N'' UNION ALL +SELECT 2, N'Domnen', 1, 2, 1, 2, 0, 0, 1000, 800, N'', 1, 1, 1, '21.04.2013 15:06:29.677', '21.04.2013 15:06:29.677', 1, N'', N'' UNION ALL +SELECT 3, N'SysAdminFunktion', 2, 3, 3, 3, 0, 0, 1000, 800, N'', 1, 1, 1, '21.04.2013 15:06:29.677', '21.04.2013 15:06:29.677', 1, N'sysadminfunktion', N'' UNION ALL +SELECT 4, N'Spalten', 2, 4, 1, 2, 0, 0, 1000, 800, N'', 1, 1, 1, '21.04.2013 15:06:29.680', '21.04.2013 15:06:29.680', 1, N'Spalten', N'' UNION ALL +SELECT 5, N'Applikation', 1, 1, 1, 2, 0, 0, 1000, 800, N'', 1, 1, 1, '21.04.2013 15:06:29.663', '21.04.2013 15:06:29.663', 1, N'application', N'' UNION ALL +SELECT 6, N'Berechtigungen', 1, 7, 1, 2, 0, 0, 1000, 800, N'', 1, 1, 1, '21.04.2013 15:06:29.737', '21.04.2013 15:06:29.737', 1, N'', N'' UNION ALL +SELECT 7, N'Mitarbeiter', 6, 8, 3, 3, 0, 0, 1000, 800, N'', 1, 1, 1, '21.04.2013 15:06:29.740', '21.04.2013 15:06:29.740', 1, N'mitarbeiter', N'' UNION ALL +SELECT 8, N'Funktionen', 6, 10, 3, 3, 0, 0, 1000, 800, N'', 1, 1, 1, '21.04.2013 15:06:29.740', '21.04.2013 15:06:29.740', 1, N'funktionsgruppe', N'' UNION ALL +SELECT 9, N'Rollen', 6, 11, 3, 3, 0, 0, 1000, 800, N'', 1, 1, 1, '21.04.2013 15:06:29.743', '21.04.2013 15:06:29.743', 1, N'rolle', N'' UNION ALL +SELECT 10, N'Funktion-Rolle', 6, 12, 5, 5, 0, 0, 1000, 800, N'', 1, 1, 1, '21.04.2013 15:06:29.743', '21.04.2013 15:06:29.743', 1, N'Funktionsgruppe;Rolle;Funktionsgruppe_Rolle', N'' UNION ALL +SELECT 11, N'Rolle-Systemadmin-Funktion', 6, 13, 5, 5, 0, 0, 1000, 800, N'', 1, 1, 1, '21.04.2013 15:06:29.743', '21.04.2013 15:06:29.743', 1, N'Rolle;SysadminFunktion;rolle_sysadminfunktion', N'' UNION ALL +SELECT 12, N'Mitarbeiter-Funktion', 6, 9, 5, 5, 0, 0, 1000, 800, N'', 1, 1, 1, '21.04.2013 15:06:29.740', '21.04.2013 15:06:29.740', 1, N'Mitarbeiter;Funktionsgruppe;Mitarbeiter_Funktionsgruppe', N'Mitarbeiternr;FunktionsgruppeNr;' UNION ALL +SELECT 13, N'Key-Tabelle', 2, 5, 3, 3, 0, 0, 0, 0, N'', 1, 1, 1, '21.04.2013 15:06:29.680', '21.04.2013 15:06:29.680', 1, N'key_tabelle', N'' UNION ALL +SELECT 15, N'Security', 1, 14, 1, 2, 0, 0, 0, 0, N'', 1, 1, 1, '21.04.2013 15:06:29.747', '21.04.2013 15:06:29.747', 1, N'', N'' UNION ALL +SELECT 16, N'Security_Object', 15, 15, 3, 3, 0, 0, 1000, 800, N'', 1, 1, 1, '21.04.2013 15:06:29.747', '21.04.2013 15:06:29.747', 1, N'SecurityObject', N'' UNION ALL +SELECT 17, N'Rolle - SecurityObject', 15, 16, 5, 5, 0, 0, 1000, 800, N'', 1, 1, 1, '21.04.2013 15:06:29.747', '21.04.2013 15:06:29.747', 1, N'Rolle;SecurityObject;Rolle_SecurityObject', N'' UNION ALL +SELECT 18, N'Dokumente', 1, 17, 1, 2, 0, 0, 0, 0, N'', 1, 1, 1, '21.04.2013 15:06:29.750', '21.04.2013 15:06:29.750', 1, N'', N'' UNION ALL +SELECT 19, N'Ablageort', 18, 18, 3, 3, 0, 0, 0, 0, N'', 1, 1, 1, '21.04.2013 15:06:29.750', '21.04.2013 15:06:29.750', 1, N'DokumentAblageOrt', N'' UNION ALL +SELECT 20, N'Ablagetyp', 18, 19, 3, 3, 0, 0, 0, 0, N'', 1, 1, 1, '21.04.2013 15:06:29.753', '21.04.2013 15:06:29.753', 1, N'DokumentAblageTyp', N'' UNION ALL +SELECT 21, N'Dokumenttyp', 18, 20, 3, 3, 0, 0, 0, 0, N'', 1, 1, 1, '21.04.2013 15:06:29.753', '21.04.2013 15:06:29.753', 1, N'Dokumenttyp', N'' UNION ALL +SELECT 22, N'Speichertyp', 18, 21, 3, 3, 0, 0, 0, 0, N'', 1, 1, 1, '21.04.2013 15:06:29.753', '21.04.2013 15:06:29.753', 1, N'Speichertyp', N'' UNION ALL +SELECT 23, N'Themen', 1, 22, 1, 2, 0, 0, 0, 0, N'', 1, 1, 1, '21.04.2013 15:06:29.757', '21.04.2013 15:06:29.757', 1, N'', N'' UNION ALL +SELECT 24, N'Kateigorie', 23, 23, 3, 3, 0, 0, 0, 0, N'', 1, 1, 1, '21.04.2013 15:06:29.757', '21.04.2013 15:06:29.757', 1, N'Kategorie', N'' UNION ALL +SELECT 25, N'Zielgruppe', 23, 24, 3, 3, 0, 0, 0, 0, N'', 1, 1, 1, '21.04.2013 15:06:29.757', '21.04.2013 15:06:29.757', 1, N'Zielgruppe', N'' UNION ALL +SELECT 26, N'Funktion', 23, 25, 3, 3, 0, 0, 0, 0, N'', 1, 1, 1, '21.04.2013 15:06:29.760', '21.04.2013 15:06:29.760', 1, N'Funktion', N'' UNION ALL +SELECT 27, N'Person', 23, 26, 3, 3, 0, 0, 0, 0, N'', 1, 1, 1, '21.04.2013 15:06:29.760', '21.04.2013 15:06:29.760', 1, N'Person', N'' UNION ALL +SELECT 28, N'Auswertungen', 1, 27, 1, 2, 0, 0, 0, 0, N'', 1, 1, 1, '21.04.2013 15:06:29.763', '21.04.2013 15:06:29.763', 1, N'', N'' UNION ALL +SELECT 29, N'Auswertung', 28, 28, 3, 3, 0, 0, 1000, 800, N'', 1, 1, 1, '21.04.2013 15:06:29.763', '21.04.2013 15:06:57.107', 1, N'Auswertung', N'' UNION ALL +SELECT 30, N'Auswertungsgruppe', 28, 29, 3, 3, 0, 0, 1000, 800, N'', 1, 1, 1, '21.04.2013 15:06:29.763', '21.04.2013 15:06:58.483', 1, N'Auswertunggruppe', N'' UNION ALL +SELECT 31, N'Auswertungsparameter', 28, 30, 3, 3, 0, 0, 1000, 800, N'', 1, 1, 1, '21.04.2013 15:06:29.763', '21.04.2013 15:06:58.860', 1, N'Auswertungsparameter', N'' UNION ALL +SELECT 32, N'Auswertungsgruppe_Auswertung', 28, 31, 3, 3, 0, 0, 1000, 800, N'', 1, 1, 1, '21.04.2013 15:06:29.767', '21.04.2013 15:06:59.237', 1, N'AuswertungGruppe;Auswertung;AuswertungGruppeAuswertung', N'' UNION ALL +SELECT 33, N'Auswertung_Auswertungsparamete', 28, 32, 3, 3, 0, 0, 1000, 800, N'', 1, 1, 1, '21.04.2013 15:06:29.767', '21.04.2013 15:06:59.587', 1, N'Auswertung;Auswertungsparameter;AuswertungAuswertungParameter', N'' UNION ALL +SELECT 34, N'Funktionsgruppe - Auswertungsg', 28, 33, 3, 3, 0, 0, 1000, 800, N'', 1, 1, 1, '21.04.2013 15:06:29.770', '21.04.2013 15:06:59.867', 1, N'Funktionsgruppe;AuswertungGruppe;Funktionsgruppe_Auswertunggruppe', N'' UNION ALL +SELECT 35, N'Pendenzstatus', 2, 6, 3, 3, 0, 0, 1000, 800, N'', 1, 1, 1, '21.04.2013 15:06:29.680', '21.04.2013 15:07:06.073', 1, N'Pendenzstatus', N'' +COMMIT; +RAISERROR (N'[dbo].[sysadminfunktion]: Insert Batch: 1.....Done!', 10, 1) WITH NOWAIT; +GO + +BEGIN TRANSACTION; +INSERT INTO [dbo].[Zielgruppe]([ZielgruppeNr], [Bezeichnung], [Beschreibung], [aktiv], [erstellt_am], [mutiert_am], [mutierer]) +SELECT 1, N'Zielgruppe 1', NULL, 1, '06.01.2013 10:39:34.643', '06.01.2013 10:39:34.640', 1 UNION ALL +SELECT 2, N'Zielgruppe 2', NULL, 1, '06.01.2013 10:39:37.237', '06.01.2013 10:39:37.233', 1 UNION ALL +SELECT 3, N'Zielgruppe 3', NULL, 1, '06.01.2013 10:39:39.837', '06.01.2013 10:39:39.830', 1 UNION ALL +SELECT 4, N'Neue Gruppe', NULL, 1, '08.01.2013 10:34:06.040', '08.01.2013 10:34:06.033', 1 UNION ALL +SELECT 5, N'Noch eine Zielgruppe', NULL, 1, '22.01.2013 21:49:18.870', '22.01.2013 21:49:18.860', 1 +COMMIT; +RAISERROR (N'[dbo].[Zielgruppe]: Insert Batch: 1.....Done!', 10, 1) WITH NOWAIT; +GO + diff --git a/Implementierung_Mai_2013/Tabellen.sql b/Implementierung_Mai_2013/Tabellen.sql new file mode 100644 index 0000000..205d841 Binary files /dev/null and b/Implementierung_Mai_2013/Tabellen.sql differ diff --git a/Implementierung_Mai_2013/Views.sql b/Implementierung_Mai_2013/Views.sql new file mode 100644 index 0000000..4fa24ac Binary files /dev/null and b/Implementierung_Mai_2013/Views.sql differ diff --git a/Implementierung_Mai_2013/sp.sql b/Implementierung_Mai_2013/sp.sql new file mode 100644 index 0000000..c107efb Binary files /dev/null and b/Implementierung_Mai_2013/sp.sql differ diff --git a/KommAuspraegung/DB/clsConnectionProvider.vb b/KommAuspraegung/DB/clsConnectionProvider.vb new file mode 100644 index 0000000..20736fd --- /dev/null +++ b/KommAuspraegung/DB/clsConnectionProvider.vb @@ -0,0 +1,289 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Connection Provider class for Database connection sharing +' // Generated by LLBLGen v1.21.2003.712 Final on: Montag, 7. Januar 2013, 15:24:18 +' // This class implements IDisposable. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Configuration +Imports System.Data +Imports System.Data.SqlClient +Imports System.Collections + +Namespace db + ' /// + ' /// Purpose: provides a SqlConnection object which can be shared among data-access tier objects + ' /// to provide a way to do ADO.NET transaction coding without the hassling with SqlConnection objects + ' /// on a high level. + ' /// + Public Class clsConnectionProvider + Implements IDisposable + +#Region " Class Member Declarations " + + Private m_scoDBConnection As SqlConnection + Private m_bIsTransactionPending, m_bIsDisposed As Boolean + Private m_stCurrentTransaction As SqlTransaction + Private m_alSavePoints As ArrayList + +#End Region + + + Public Sub New() + ' // Init the class + InitClass() + End Sub + + + ' /// + ' /// Purpose: Implements the IDispose' method Dispose. + ' /// + Overloads Public Sub Dispose() Implements IDisposable.Dispose + Dispose(True) + GC.SuppressFinalize(Me) + End Sub + + + ' /// + ' /// Purpose: Implements the Dispose functionality. + ' /// + Overridable Overloads Protected Sub Dispose(ByVal bIsDisposing As Boolean) + ' // Check to see if Dispose has already been called. + If Not m_bIsDisposed Then + If bIsDisposing Then + ' // Dispose managed resources. + If Not (m_stCurrentTransaction Is Nothing) Then + m_stCurrentTransaction.Dispose() + m_stCurrentTransaction = Nothing + End If + If Not (m_scoDBConnection Is Nothing) Then + ' // closing the connection will abort (rollback) any pending transactions + m_scoDBConnection.Close() + m_scoDBConnection.Dispose() + m_scoDBConnection = Nothing + End If + End If + End If + m_bIsDisposed = True + End Sub + + + ' /// + ' /// Purpose: Initializes class members. + ' /// + Private Sub InitClass() + ' // Create all the objects and initialize other members. + m_scoDBConnection = new SqlConnection() + m_bIsDisposed = False + m_stCurrentTransaction = Nothing + m_bIsTransactionPending = False + m_alSavePoints = new ArrayList() + End Sub + + + ' /// + ' /// Purpose: Opens the connection object. + ' /// + ' /// True, if succeeded, otherwise an Exception exception is thrown. + Public Function OpenConnection() As Boolean + Try + If (m_scoDBConnection.State And ConnectionState.Open) > 0 Then + ' // It's already open. + Throw New Exception("OpenConnection::Connection is already open.") + End If + m_scoDBConnection.Open() + m_bIsTransactionPending = False + m_alSavePoints.Clear() + Return True + Catch ex As Exception + ' // bubble exception + Throw ex + End Try + End Function + + + ' /// + ' /// Purpose: Starts a new ADO.NET transaction using the open connection object of this class. + ' /// + ' /// Name of the transaction to start + ' /// True, if transaction is started correctly, otherwise an Exception exception is thrown + Public Function BeginTransaction(sTransactionName As String) As Boolean + Try + If m_bIsTransactionPending Then + ' // no nested transactions allowed. + Throw New Exception("BeginTransaction::Already transaction pending. Nesting not allowed") + End If + If (m_scoDBConnection.State And ConnectionState.Open) = 0 Then + ' // no open connection + Throw New Exception("BeginTransaction::Connection is not open.") + End If + ' // begin the transaction and store the transaction object. + m_stCurrentTransaction = m_scoDBConnection.BeginTransaction(IsolationLevel.ReadCommitted, sTransactionName) + m_bIsTransactionPending = True + Return True + Catch ex As Exception + ' // bubble exception + Throw ex + End Try + End Function + + + ' /// + ' /// Purpose: Commits a pending transaction on the open connection object of this class. + ' /// + ' /// True, if commit was succesful, or an Exception exception is thrown + Public Function CommitTransaction() As Boolean + Try + If Not m_bIsTransactionPending Then + ' // no transaction pending + Throw New Exception("CommitTransaction::No transaction pending.") + End If + If (m_scoDBConnection.State And ConnectionState.Open) = 0 Then + ' // no open connection + Throw New Exception("CommitTransaction::Connection is not open.") + End if + ' // commit the transaction + m_stCurrentTransaction.Commit() + m_bIsTransactionPending = False + m_stCurrentTransaction.Dispose() + m_stCurrentTransaction = Nothing + m_alSavePoints.Clear() + Return True + Catch ex As Exception + ' // bubble exception + Throw ex + End Try + End Function + + + ' /// + ' /// Purpose: Rolls back a pending transaction on the open connection object of this class, + ' /// or rolls back to the savepoint with the given name. Savepoints are created with SaveTransaction(). + ' /// + ' /// Name of transaction to roll back. Can be name of savepoint + ' /// True, if rollback was succesful, or an Exception exception is thrown + Public Function RollbackTransaction(sTransactionToRollback As String) As Boolean + Try + If Not m_bIsTransactionPending Then + ' // no transaction pending + Throw New Exception("RollbackTransaction::No transaction pending.") + End If + If (m_scoDBConnection.State And ConnectionState.Open) = 0 Then + ' // no open connection + Throw New Exception("RollbackTransaction::Connection is not open.") + End If + ' // rollback the transaction + m_stCurrentTransaction.Rollback(sTransactionToRollback) + ' // if this wasn't a savepoint, we've rolled back the complete transaction, so we + ' // can clean it up. + If Not m_alSavePoints.Contains(sTransactionToRollback) Then + ' // it's not a savepoint + m_bIsTransactionPending = False + m_stCurrentTransaction.Dispose() + m_stCurrentTransaction = Nothing + m_alSavePoints.Clear() + End If + Return True + Catch ex As Exception + ' // bubble exception + Throw ex + End Try + End Function + + + ' /// + ' /// Purpose: Saves a pending transaction on the open connection object of this class to a 'savepoint' + ' /// with the given name. + ' /// When a rollback is issued, the caller can rollback to this savepoint or roll back the complete transaction. + ' /// + ' /// Name of the savepoint to store the current transaction under. + ' /// True, if save was succesful, or an Exception exception is thrown + Public Function SaveTransaction(sSavePointName As String) As Boolean + Try + If Not m_bIsTransactionPending Then + ' // no transaction pending + Throw New Exception("SaveTransaction::No transaction pending.") + End If + If (m_scoDBConnection.State And ConnectionState.Open) = 0 Then + ' // no open connection + Throw New Exception("SaveTransaction::Connection is not open.") + End If + ' // save the transaction + m_stCurrentTransaction.Save(sSavePointName) + ' // Store the savepoint in the list. + m_alSavePoints.Add(sSavePointName) + Return True + Catch ex As Exception + ' // bubble exception + Throw ex + End Try + End Function + + + ' /// + ' /// Purpose: Closes the open connection. Depending on bCommitPendingTransactions, a pending + ' /// transaction is commited, or aborted. + ' /// + ' /// Flag for what to do when a transaction is still pending. True + ' /// will commit the current transaction, False will abort (rollback) the complete current transaction. + ' /// True, if close was succesful, False if connection was already closed, or an Exception exception is thrown when + ' /// an error occurs + Public Function CloseConnection(bCommitPendingTransaction As Boolean) As Boolean + Try + If (m_scoDBConnection.State And ConnectionState.Open) = 0 Then + ' // No open connection + Return False + End If + If m_bIsTransactionPending Then + If bCommitPendingTransaction Then + ' // Commit the pending transaction + m_stCurrentTransaction.Commit() + Else + ' // Rollback the pending transaction + m_stCurrentTransaction.Rollback() + End If + m_bIsTransactionPending = False + m_stCurrentTransaction.Dispose() + m_stCurrentTransaction = Nothing + m_alSavePoints.Clear() + End If + ' // close the connection + m_scoDBConnection.Close() + Return True + Catch ex As Exception + ' // bubble exception + Throw ex + End Try + End Function + + +#Region " Class Property Declarations " + + Public ReadOnly Property stCurrentTransaction() As SqlTransaction + Get + Return m_stCurrentTransaction + End Get + End Property + + + Public ReadOnly Property bIsTransactionPending() As Boolean + Get + Return m_bIsTransactionPending + End Get + End Property + + + Public ReadOnly Property scoDBConnection() As SqlConnection + Get + Return m_scoDBConnection + End Get + End Property + Public WriteOnly Property sConnectionString() As String + Set (ByVal Value As String) + m_scoDBConnection.ConnectionString = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/KommAuspraegung/DB/clsDBInteractionBase.vb b/KommAuspraegung/DB/clsDBInteractionBase.vb new file mode 100644 index 0000000..a883952 --- /dev/null +++ b/KommAuspraegung/DB/clsDBInteractionBase.vb @@ -0,0 +1,208 @@ +' ////////////////////////////////////////////////////////////////////////////////////////// +' // Description: Base class for Database Interaction. +' // Generated by LLBLGen v1.21.2003.712 Final on: Montag, 7. Januar 2013, 15:24:18 +' // Because this class implements IDisposable, derived classes shouldn't do so. +' ////////////////////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Configuration +Imports System.Data +Imports System.Data.SqlClient +Imports System.Data.SqlTypes + +Namespace db + ' /// + ' /// Purpose: Error Enums used by this LLBL library. + ' /// + Public Enum LLBLError + AllOk + ' // Add more here (check the comma's!) + End Enum + + + ' /// + ' /// Purpose: General interface of the API generated. Contains only common methods of all classes. + ' /// + Public Interface ICommonDBAccess + Function Insert() As Boolean + Function Update() As Boolean + Function Delete() As Boolean + Function SelectOne() As DataTable + Function SelectAll() As DataTable + End Interface + + + ' /// + ' /// Purpose: Abstract base class for Database Interaction classes. + ' /// + Public MustInherit Class clsDBInteractionBase + Implements IDisposable + Implements ICommonDBAccess + +#Region " Class Member Declarations " + + Protected m_scoMainConnection As SqlConnection + Protected m_iRowsAffected As Integer + Protected m_iErrorCode As SqlInt32 + Protected m_bMainConnectionIsCreatedLocal As Boolean + Protected m_cpMainConnectionProvider As clsConnectionProvider + Private m_sConnectionString As String + Private m_bIsDisposed As Boolean + +#End Region + + + ' /// + ' /// Purpose: Class constructor. + ' /// + Public Sub New() + ' // Initialize the class' members. + InitClass() + End Sub + + + ' /// + ' /// Purpose: Initializes class members. + ' /// + Private Sub InitClass() + ' // create all the objects and initialize other members. + m_scoMainConnection = new SqlConnection() + m_bMainConnectionIsCreatedLocal = True + m_cpMainConnectionProvider = Nothing + m_iErrorCode = New SqlInt32(LLBLError.AllOk) + m_bIsDisposed = False + End Sub + + + ' /// + ' /// Purpose: Implements the IDispose' method Dispose. + ' /// + Overloads Public Sub Dispose() Implements IDisposable.Dispose + Dispose(True) + GC.SuppressFinalize(Me) + End Sub + + + ' /// + ' /// Purpose: Implements the Dispose functionality. + ' /// + Overridable Overloads Protected Sub Dispose(ByVal bIsDisposing As Boolean) + ' // Check to see if Dispose has already been called. + If Not m_bIsDisposed Then + If bIsDisposing Then + ' // Dispose managed resources. + If m_bMainConnectionIsCreatedLocal Then + ' // Object is created in this class, so destroy it here. + m_scoMainConnection.Close() + m_scoMainConnection.Dispose() + m_bMainConnectionIsCreatedLocal = True + End If + m_cpMainConnectionProvider = Nothing + m_scoMainConnection = Nothing + End If + End If + m_bIsDisposed = True + End Sub + + + ' /// + ' /// Purpose: Implements the ICommonDBAccess.Insert() method. + ' /// + Public Overridable Function Insert() As Boolean Implements ICommonDBAccess.Insert + ' // No implementation, throw exception + Throw New NotImplementedException() + End Function + + + ' /// + ' /// Purpose: Implements the ICommonDBAccess.Delete() method. + ' /// + Public Overridable Function Delete() As Boolean Implements ICommonDBAccess.Delete + ' // No implementation, throw exception + Throw New NotImplementedException() + End Function + + + ' /// + ' /// Purpose: Implements the ICommonDBAccess.Update() method. + ' /// + Public Overridable Function Update() As Boolean Implements ICommonDBAccess.Update + ' // No implementation, throw exception + Throw New NotImplementedException() + End Function + + + ' /// + ' /// Purpose: Implements the ICommonDBAccess.SelectOne() method. + ' /// + Public Overridable Function SelectOne() As DataTable Implements ICommonDBAccess.SelectOne + ' // No implementation, throw exception + Throw New NotImplementedException() + End Function + + + ' /// + ' /// Purpose: Implements the ICommonDBAccess.SelectAll() method. + ' /// + Public Overridable Function SelectAll() As DataTable Implements ICommonDBAccess.SelectAll + ' // No implementation, throw exception + Throw New NotImplementedException() + End Function + + +#Region " Class Property Declarations " + + Public WriteOnly Property cpMainConnectionProvider() As clsConnectionProvider + Set(ByVal Value As clsConnectionProvider) + If Value Is Nothing Then + ' // Invalid value + Throw New ArgumentNullException("cpMainConnectionProvider", "Nothing passed as value to this property which is not allowed.") + End If + + ' // A connection provider object is passed to this class. + ' // Retrieve the SqlConnection object, if present and create a + ' // reference to it. If there is already a MainConnection object + ' // referenced by the membervar, destroy that one or simply + ' // remove the reference, based on the flag. + If Not (m_scoMainConnection Is Nothing) Then + ' // First get rid of current connection object. Caller is responsible + If m_bMainConnectionIsCreatedLocal Then + ' // Is local created object, close it and dispose it. + m_scoMainConnection.Close() + m_scoMainConnection.Dispose() + End If + ' // Remove reference. + m_scoMainConnection = Nothing + End If + m_cpMainConnectionProvider = CType(Value, clsConnectionProvider) + m_scoMainConnection = m_cpMainConnectionProvider.scoDBConnection + m_bMainConnectionIsCreatedLocal = False + End Set + End Property + + + Public ReadOnly Property iErrorCode() As SqlInt32 + Get + Return m_iErrorCode + End Get + End Property + + + Public Property sConnectionString() As String + Get + Return m_sConnectionString + End Get + Set (ByVal Value As String) + m_sConnectionString = Value + m_scoMainConnection.ConnectionString = m_sConnectionString + End Set + End Property + Public Readonly Property iRowsAffected() As Integer + Get + Return m_iRowsAffected + End Get + End Property + +#End Region + + End Class +End Namespace diff --git a/KommAuspraegung/DB/clsKommunikation.vb b/KommAuspraegung/DB/clsKommunikation.vb new file mode 100644 index 0000000..f5ea9c9 --- /dev/null +++ b/KommAuspraegung/DB/clsKommunikation.vb @@ -0,0 +1,470 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'Kommunikation' +' // Generated by LLBLGen v1.21.2003.712 Final on: Montag, 7. Januar 2013, 15:24:18 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace db + ''' + ''' Purpose: Data Access class for the table 'Kommunikation'. + ''' + Public Class clsKommunikation + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daMutiert_am, m_daErstellt_am As SqlDateTime + Private m_iMutierer, m_iThemaNr, m_iKommunikationNr As SqlInt32 + Private m_sBezeichnung As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iKommunikationNr
  • + '''
  • iThemaNr. May be SqlInt32.Null
  • + '''
  • sBezeichnung. May be SqlString.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Kommunikation_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iKommunikationNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKommunikationNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iThemaNr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iThemaNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBezeichnung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Kommunikation_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKommunikation::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iKommunikationNr
  • + '''
  • iThemaNr. May be SqlInt32.Null
  • + '''
  • sBezeichnung. May be SqlString.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Kommunikation_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iKommunikationNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKommunikationNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iThemaNr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iThemaNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBezeichnung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Kommunikation_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKommunikation::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iKommunikationNr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Kommunikation_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iKommunikationNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKommunikationNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Kommunikation_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKommunikation::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iKommunikationNr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iKommunikationNr
  • + '''
  • iThemaNr
  • + '''
  • sBezeichnung
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Kommunikation_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("Kommunikation") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iKommunikationNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKommunikationNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Kommunikation_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iKommunikationNr = New SqlInt32(CType(dtToReturn.Rows(0)("KommunikationNr"), Integer)) + If dtToReturn.Rows(0)("ThemaNr") Is System.DBNull.Value Then + m_iThemaNr = SqlInt32.Null + Else + m_iThemaNr = New SqlInt32(CType(dtToReturn.Rows(0)("ThemaNr"), Integer)) + End If + If dtToReturn.Rows(0)("Bezeichnung") Is System.DBNull.Value Then + m_sBezeichnung = SqlString.Null + Else + m_sBezeichnung = New SqlString(CType(dtToReturn.Rows(0)("Bezeichnung"), String)) + End If + If dtToReturn.Rows(0)("aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKommunikation::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Kommunikation_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("Kommunikation") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Kommunikation_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKommunikation::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iKommunikationNr]() As SqlInt32 + Get + Return m_iKommunikationNr + End Get + Set(ByVal Value As SqlInt32) + Dim iKommunikationNrTmp As SqlInt32 = Value + If iKommunikationNrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iKommunikationNr", "iKommunikationNr can't be NULL") + End If + m_iKommunikationNr = Value + End Set + End Property + + + Public Property [iThemaNr]() As SqlInt32 + Get + Return m_iThemaNr + End Get + Set(ByVal Value As SqlInt32) + m_iThemaNr = Value + End Set + End Property + + + Public Property [sBezeichnung]() As SqlString + Get + Return m_sBezeichnung + End Get + Set(ByVal Value As SqlString) + m_sBezeichnung = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/KommAuspraegung/DB/clsKommunikationAuspraegung_Zielgruppe.vb b/KommAuspraegung/DB/clsKommunikationAuspraegung_Zielgruppe.vb new file mode 100644 index 0000000..454ef87 --- /dev/null +++ b/KommAuspraegung/DB/clsKommunikationAuspraegung_Zielgruppe.vb @@ -0,0 +1,469 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'KommunikationAuspraegung_Zielgruppe' +' // Generated by LLBLGen v1.21.2003.712 Final on: Montag, 7. Januar 2013, 17:55:20 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + ''' + ''' Purpose: Data Access class for the table 'KommunikationAuspraegung_Zielgruppe'. + ''' + Public Class clsKommunikationAuspraegung_Zielgruppe + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daMutiert_am, m_daErstellt_am As SqlDateTime + Private m_iMutierer, m_iKommunikationauspraegungnr, m_iZielgruppenr, m_iKommAuspraegungZielgruppeNr As SqlInt32 + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iKommAuspraegungZielgruppeNr
  • + '''
  • iKommunikationauspraegungnr. May be SqlInt32.Null
  • + '''
  • iZielgruppenr. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_KommunikationAuspraegung_Zielgruppe_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iKommAuspraegungZielgruppeNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKommAuspraegungZielgruppeNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iKommunikationauspraegungnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iKommunikationauspraegungnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iZielgruppenr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iZielgruppenr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_KommunikationAuspraegung_Zielgruppe_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKommunikationAuspraegung_Zielgruppe::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iKommAuspraegungZielgruppeNr
  • + '''
  • iKommunikationauspraegungnr. May be SqlInt32.Null
  • + '''
  • iZielgruppenr. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_KommunikationAuspraegung_Zielgruppe_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iKommAuspraegungZielgruppeNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKommAuspraegungZielgruppeNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iKommunikationauspraegungnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iKommunikationauspraegungnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iZielgruppenr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iZielgruppenr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_KommunikationAuspraegung_Zielgruppe_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKommunikationAuspraegung_Zielgruppe::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iKommAuspraegungZielgruppeNr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_KommunikationAuspraegung_Zielgruppe_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iKommAuspraegungZielgruppeNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKommAuspraegungZielgruppeNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_KommunikationAuspraegung_Zielgruppe_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKommunikationAuspraegung_Zielgruppe::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iKommAuspraegungZielgruppeNr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iKommAuspraegungZielgruppeNr
  • + '''
  • iKommunikationauspraegungnr
  • + '''
  • iZielgruppenr
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_KommunikationAuspraegung_Zielgruppe_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("KommunikationAuspraegung_Zielgruppe") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iKommAuspraegungZielgruppeNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKommAuspraegungZielgruppeNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_KommunikationAuspraegung_Zielgruppe_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iKommAuspraegungZielgruppeNr = New SqlInt32(CType(dtToReturn.Rows(0)("KommAuspraegungZielgruppeNr"), Integer)) + If dtToReturn.Rows(0)("Kommunikationauspraegungnr") Is System.DBNull.Value Then + m_iKommunikationauspraegungnr = SqlInt32.Null + Else + m_iKommunikationauspraegungnr = New SqlInt32(CType(dtToReturn.Rows(0)("Kommunikationauspraegungnr"), Integer)) + End If + If dtToReturn.Rows(0)("Zielgruppenr") Is System.DBNull.Value Then + m_iZielgruppenr = SqlInt32.Null + Else + m_iZielgruppenr = New SqlInt32(CType(dtToReturn.Rows(0)("Zielgruppenr"), Integer)) + End If + If dtToReturn.Rows(0)("aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKommunikationAuspraegung_Zielgruppe::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_KommunikationAuspraegung_Zielgruppe_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("KommunikationAuspraegung_Zielgruppe") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_KommunikationAuspraegung_Zielgruppe_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKommunikationAuspraegung_Zielgruppe::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iKommAuspraegungZielgruppeNr]() As SqlInt32 + Get + Return m_iKommAuspraegungZielgruppeNr + End Get + Set(ByVal Value As SqlInt32) + Dim iKommAuspraegungZielgruppeNrTmp As SqlInt32 = Value + If iKommAuspraegungZielgruppeNrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iKommAuspraegungZielgruppeNr", "iKommAuspraegungZielgruppeNr can't be NULL") + End If + m_iKommAuspraegungZielgruppeNr = Value + End Set + End Property + + + Public Property [iKommunikationauspraegungnr]() As SqlInt32 + Get + Return m_iKommunikationauspraegungnr + End Get + Set(ByVal Value As SqlInt32) + m_iKommunikationauspraegungnr = Value + End Set + End Property + + + Public Property [iZielgruppenr]() As SqlInt32 + Get + Return m_iZielgruppenr + End Get + Set(ByVal Value As SqlInt32) + m_iZielgruppenr = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/KommAuspraegung/DB/clsKommunkationAuspraegung.vb b/KommAuspraegung/DB/clsKommunkationAuspraegung.vb new file mode 100644 index 0000000..babb0a9 --- /dev/null +++ b/KommAuspraegung/DB/clsKommunkationAuspraegung.vb @@ -0,0 +1,539 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'KommunkationAuspraegung' +' // Generated by LLBLGen v1.21.2003.712 Final on: Freitag, 4. Januar 2013, 17:02:51 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + ''' + ''' Purpose: Data Access class for the table 'KommunkationAuspraegung'. + ''' + Public Class clsKommunkationAuspraegung + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daErstellt_am, m_daMutiert_am As SqlDateTime + Private m_blobDokument As SqlBinary + Private m_iMutierer, m_iKommunikationAuspraegungNr, m_iKommunikationNr As SqlInt32 + Private m_sRTFText, m_sBezeichnung, m_sBeschreibung As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iKommunikationAuspraegungNr
  • + '''
  • iKommunikationNr. May be SqlInt32.Null
  • + '''
  • sBezeichnung. May be SqlString.Null
  • + '''
  • sBeschreibung. May be SqlString.Null
  • + '''
  • blobDokument. May be SqlBinary.Null
  • + '''
  • sRTFText. May be SqlString.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_KommunkationAuspraegung_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iKommunikationAuspraegungNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKommunikationAuspraegungNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iKommunikationNr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iKommunikationNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBezeichnung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + Dim iLength As Integer = 0 + If Not m_blobDokument.IsNull Then + iLength = m_blobDokument.Length + End If + scmCmdToExecute.Parameters.Add(New SqlParameter("@blobDokument", SqlDbType.Image, iLength, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_blobDokument)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sRTFText", SqlDbType.VarChar, -1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sRTFText)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_KommunkationAuspraegung_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKommunkationAuspraegung::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iKommunikationAuspraegungNr
  • + '''
  • iKommunikationNr. May be SqlInt32.Null
  • + '''
  • sBezeichnung. May be SqlString.Null
  • + '''
  • sBeschreibung. May be SqlString.Null
  • + '''
  • blobDokument. May be SqlBinary.Null
  • + '''
  • sRTFText. May be SqlString.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_KommunkationAuspraegung_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iKommunikationAuspraegungNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKommunikationAuspraegungNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iKommunikationNr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iKommunikationNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBezeichnung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + Dim iLength As Integer = 0 + If Not m_blobDokument.IsNull Then + iLength = m_blobDokument.Length + End If + scmCmdToExecute.Parameters.Add(New SqlParameter("@blobDokument", SqlDbType.Image, iLength, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_blobDokument)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sRTFText", SqlDbType.VarChar, -1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sRTFText)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_KommunkationAuspraegung_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKommunkationAuspraegung::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iKommunikationAuspraegungNr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_KommunkationAuspraegung_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iKommunikationAuspraegungNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKommunikationAuspraegungNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_KommunkationAuspraegung_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKommunkationAuspraegung::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iKommunikationAuspraegungNr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iKommunikationAuspraegungNr
  • + '''
  • iKommunikationNr
  • + '''
  • sBezeichnung
  • + '''
  • sBeschreibung
  • + '''
  • blobDokument
  • + '''
  • sRTFText
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_KommunkationAuspraegung_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("KommunkationAuspraegung") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iKommunikationAuspraegungNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKommunikationAuspraegungNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_KommunkationAuspraegung_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iKommunikationAuspraegungNr = New SqlInt32(CType(dtToReturn.Rows(0)("KommunikationAuspraegungNr"), Integer)) + If dtToReturn.Rows(0)("KommunikationNr") Is System.DBNull.Value Then + m_iKommunikationNr = SqlInt32.Null + Else + m_iKommunikationNr = New SqlInt32(CType(dtToReturn.Rows(0)("KommunikationNr"), Integer)) + End If + If dtToReturn.Rows(0)("Bezeichnung") Is System.DBNull.Value Then + m_sBezeichnung = SqlString.Null + Else + m_sBezeichnung = New SqlString(CType(dtToReturn.Rows(0)("Bezeichnung"), String)) + End If + If dtToReturn.Rows(0)("Beschreibung") Is System.DBNull.Value Then + m_sBeschreibung = SqlString.Null + Else + m_sBeschreibung = New SqlString(CType(dtToReturn.Rows(0)("Beschreibung"), String)) + End If + If dtToReturn.Rows(0)("Dokument") Is System.DBNull.Value Then + m_blobDokument = SqlBinary.Null + Else + m_blobDokument = New SqlBinary(CType(dtToReturn.Rows(0)("Dokument"), Byte())) + End If + If dtToReturn.Rows(0)("RTFText") Is System.DBNull.Value Then + m_sRTFText = SqlString.Null + Else + m_sRTFText = New SqlString(CType(dtToReturn.Rows(0)("RTFText"), String)) + End If + If dtToReturn.Rows(0)("aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKommunkationAuspraegung::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_KommunkationAuspraegung_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("KommunkationAuspraegung") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_KommunkationAuspraegung_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKommunkationAuspraegung::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iKommunikationAuspraegungNr]() As SqlInt32 + Get + Return m_iKommunikationAuspraegungNr + End Get + Set(ByVal Value As SqlInt32) + Dim iKommunikationAuspraegungNrTmp As SqlInt32 = Value + If iKommunikationAuspraegungNrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iKommunikationAuspraegungNr", "iKommunikationAuspraegungNr can't be NULL") + End If + m_iKommunikationAuspraegungNr = Value + End Set + End Property + + + Public Property [iKommunikationNr]() As SqlInt32 + Get + Return m_iKommunikationNr + End Get + Set(ByVal Value As SqlInt32) + m_iKommunikationNr = Value + End Set + End Property + + + Public Property [sBezeichnung]() As SqlString + Get + Return m_sBezeichnung + End Get + Set(ByVal Value As SqlString) + m_sBezeichnung = Value + End Set + End Property + + + Public Property [sBeschreibung]() As SqlString + Get + Return m_sBeschreibung + End Get + Set(ByVal Value As SqlString) + m_sBeschreibung = Value + End Set + End Property + + + Public Property [blobDokument]() As SqlBinary + Get + Return m_blobDokument + End Get + Set(ByVal Value As SqlBinary) + m_blobDokument = Value + End Set + End Property + + + Public Property [sRTFText]() As SqlString + Get + Return m_sRTFText + End Get + Set(ByVal Value As SqlString) + m_sRTFText = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/KommAuspraegung/DB/clsZielgruppe.vb b/KommAuspraegung/DB/clsZielgruppe.vb new file mode 100644 index 0000000..bca5c7f --- /dev/null +++ b/KommAuspraegung/DB/clsZielgruppe.vb @@ -0,0 +1,470 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'Zielgruppe' +' // Generated by LLBLGen v1.21.2003.712 Final on: Sonntag, 6. Januar 2013, 10:38:40 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + ''' + ''' Purpose: Data Access class for the table 'Zielgruppe'. + ''' + Public Class clsZielgruppe + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daMutiert_am, m_daErstellt_am As SqlDateTime + Private m_iMutierer, m_iZielgruppeNr As SqlInt32 + Private m_sBezeichnung, m_sBeschreibung As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iZielgruppeNr
  • + '''
  • sBezeichnung. May be SqlString.Null
  • + '''
  • sBeschreibung. May be SqlString.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Zielgruppe_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iZielgruppeNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iZielgruppeNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBezeichnung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Zielgruppe_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsZielgruppe::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iZielgruppeNr
  • + '''
  • sBezeichnung. May be SqlString.Null
  • + '''
  • sBeschreibung. May be SqlString.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Zielgruppe_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iZielgruppeNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iZielgruppeNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBezeichnung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Zielgruppe_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsZielgruppe::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iZielgruppeNr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Zielgruppe_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iZielgruppeNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iZielgruppeNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Zielgruppe_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsZielgruppe::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iZielgruppeNr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iZielgruppeNr
  • + '''
  • sBezeichnung
  • + '''
  • sBeschreibung
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Zielgruppe_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("Zielgruppe") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iZielgruppeNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iZielgruppeNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Zielgruppe_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iZielgruppeNr = New SqlInt32(CType(dtToReturn.Rows(0)("ZielgruppeNr"), Integer)) + If dtToReturn.Rows(0)("Bezeichnung") Is System.DBNull.Value Then + m_sBezeichnung = SqlString.Null + Else + m_sBezeichnung = New SqlString(CType(dtToReturn.Rows(0)("Bezeichnung"), String)) + End If + If dtToReturn.Rows(0)("Beschreibung") Is System.DBNull.Value Then + m_sBeschreibung = SqlString.Null + Else + m_sBeschreibung = New SqlString(CType(dtToReturn.Rows(0)("Beschreibung"), String)) + End If + If dtToReturn.Rows(0)("aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsZielgruppe::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Zielgruppe_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("Zielgruppe") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Zielgruppe_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsZielgruppe::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iZielgruppeNr]() As SqlInt32 + Get + Return m_iZielgruppeNr + End Get + Set(ByVal Value As SqlInt32) + Dim iZielgruppeNrTmp As SqlInt32 = Value + If iZielgruppeNrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iZielgruppeNr", "iZielgruppeNr can't be NULL") + End If + m_iZielgruppeNr = Value + End Set + End Property + + + Public Property [sBezeichnung]() As SqlString + Get + Return m_sBezeichnung + End Get + Set(ByVal Value As SqlString) + m_sBezeichnung = Value + End Set + End Property + + + Public Property [sBeschreibung]() As SqlString + Get + Return m_sBeschreibung + End Get + Set(ByVal Value As SqlString) + m_sBeschreibung = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/KommAuspraegung/Klassen/Globals.vb b/KommAuspraegung/Klassen/Globals.vb new file mode 100644 index 0000000..010bb2e --- /dev/null +++ b/KommAuspraegung/Klassen/Globals.vb @@ -0,0 +1,8 @@ +Module Globals + Public Spaltendaten As New DataTable + Public sConnectionString As String + Public conn As New DB.clsConnectionProvider + Public ConnectionFileName As String = "" + Public Mitarbeiternr As Integer + Public TmpFilepath As String +End Module diff --git a/KommAuspraegung/Klassen/KommunikationAuspraegung.vb b/KommAuspraegung/Klassen/KommunikationAuspraegung.vb new file mode 100644 index 0000000..c47f7c9 --- /dev/null +++ b/KommAuspraegung/Klassen/KommunikationAuspraegung.vb @@ -0,0 +1,386 @@ +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient +Imports System.IO + + +Namespace DB + + Public Class KommunikationAuspraegung + Inherits DB.clsKommunkationAuspraegung + + Public daten As New DataTable + Public Neuer_Datensatz As Boolean = False + + Public KommunikationAuspraegung_Zielgruppen As New DataTable + + Dim mMutierer As String + Property MutiererText() As String + Get + Return mMutierer + End Get + Set(ByVal value As String) + mMutierer = value + End Set + End Property + + Sub New() + + End Sub + + Public Overloads Sub dispose() + MyBase.Dispose() + Try + Catch + End Try + End Sub + + ''' + ''' Mutierer auslesen + ''' + ''' + ''' + Public Function Get_Mutierer(ByVal nr As Integer) As String + Dim ma As New DB.clsMitarbeiter + Dim dt As New DataTable + Dim Retvalue As String + ma.cpMainConnectionProvider = Globals.conn + ma.iMitarbeiternr = New SqlInt32(CType(nr, Int32)) + dt = ma.SelectOne() + If dt.Rows.Count = 0 Then + Retvalue = ("{" + nr.ToString + "}") + Else + Retvalue = ma.sName.ToString + " " + ma.sVorname.ToString + ", " + ma.sTgnummer.ToString + End If + ma.Dispose() + dt.Dispose() + Return Retvalue + End Function + + + Public Function Get_Auspraegung(ByVal Nr As Integer) + Me.cpMainConnectionProvider = Globals.conn + Me.iKommunikationAuspraegungNr = New SqlInt32(CType(Nr, Int32)) + Globals.conn.OpenConnection() + Me.daten = Me.SelectOne() + Globals.conn.CloseConnection(True) + Try + Catch ex As Exception + End Try + Me.MutiererText = Get_Mutierer(Me.iMutierer.Value) + get_zielgruppen() + End Function + + Public Function Get_Zielgruppen() + Dim connection As New SqlConnection() + Dim da As New SqlDataAdapter("", connection) + Me.KommunikationAuspraegung_Zielgruppen.Rows.Clear() + Dim sqlcmd As New SqlCommand + sqlcmd.CommandText = "sp_get_Zielgruppen" + sqlcmd.Parameters.Add("@KommunikationAuspraegungnr", SqlDbType.Int, 4) + sqlcmd.Parameters(0).Value = Me.iKommunikationAuspraegungNr.Value + sqlcmd.CommandType = CommandType.StoredProcedure + sqlcmd.Connection = connection + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.SelectCommand = sqlcmd + da.Fill(KommunikationAuspraegung_Zielgruppen) + Catch ex As Exception + Finally + connection.Close() + da.Dispose() + sqlcmd.Dispose() + End Try + Dim tn As TreeNode + End Function + + Public Function Save_Data() As Integer + Me.cpMainConnectionProvider = Globals.conn + Me.iMutierer = New SqlInt32(CType(Globals.Mitarbeiternr, Int32)) + Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) + Globals.conn.OpenConnection() + Me.Update() + Globals.conn.CloseConnection(True) + Me.Neuer_Datensatz = False + End Function + + Public Function Create_Copy(Optional ByVal Basenr As Integer = 0) As Integer + If Basenr <> 0 Then + Get_Auspraegung(Basenr) + End If + Dim db As New DB.clsMyKey_Tabelle + db.cpMainConnectionProvider = Globals.conn + Dim newkey = db.get_dbkey("KommunikationAuspraeggung") + db.Dispose() + + Me.cpMainConnectionProvider = Globals.conn + Me.iKommunikationNr = New SqlInt32(CType(newkey, Int32)) + Me.daErstellt_am = New SqlDateTime(CType(Now, DateTime)) + Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) + Me.iMutierer = New SqlInt32(CType(Globals.Mitarbeiternr, Int32)) + Globals.conn.OpenConnection() + Me.Insert() + Globals.conn.CloseConnection(True) + Me.Neuer_Datensatz = True + Return newkey + End Function + + ''' + ''' Löschen eines Datensatzes erstellen. + ''' + ''' Ursprungs-Person: Ist dieser Wert nicht 0, werden die Daten mit BaseNr zuerst gelesen + ''' + ''' + Public Function Delete_Kommunikationsauspraegung(Optional ByVal Basenr As Integer = 0) As Integer + If Basenr <> 0 Then + Get_Auspraegung(Basenr) + End If + Me.cpMainConnectionProvider = Globals.conn + Me.bAktiv = New SqlBoolean(CType(False, Boolean)) + Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) + Me.iMutierer = New SqlInt32(CType(Globals.Mitarbeiternr, Int32)) + Globals.conn.OpenConnection() + Me.Update() + Globals.conn.CloseConnection(True) + Me.Neuer_Datensatz = False + End Function + + Public Overloads Function Delete(Optional ByVal Basenr As Integer = 0) As Integer + If Basenr <> 0 Then + Get_Auspraegung(Basenr) + End If + Me.cpMainConnectionProvider = Globals.conn + Globals.conn.OpenConnection() + MyBase.Delete() + Globals.conn.CloseConnection(True) + Me.Neuer_Datensatz = False + End Function + + ''' + ''' Neue Person einfügen + ''' + ''' + ''' + Public Function Add_New(ByVal Kommunikationnr As Integer, ByVal Bezeichnung As String) As Integer + Dim db As New DB.clsMyKey_Tabelle + db.cpMainConnectionProvider = Globals.conn + Dim newkey = db.get_dbkey("KommunikationAuspraeggung") + db.Dispose() + Me.iKommunikationAuspraegungNr = New SqlInt32(CType(newkey, Int32)) + Me.iKommunikationAuspraegungNr = New SqlInt32(CType(Kommunikationnr, Int32)) + Me.sBezeichnung = New SqlString(CType(Bezeichnung, String)) + Me.bAktiv = New SqlBoolean(CType(True, Boolean)) + Me.daErstellt_am = New SqlDateTime(CType(Now, DateTime)) + Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) + Me.iMutierer = New SqlInt32(CType(Globals.Mitarbeiternr, Int32)) + Me.cpMainConnectionProvider = Globals.conn + Globals.conn.OpenConnection() + Me.Insert() + Globals.conn.CloseConnection(True) + Me.Neuer_Datensatz = True + Return newkey + End Function + + Public Function Get_Eintraege(ByVal Themanr As Integer, Optional Orderby As Integer = 1) As DataTable + Dim Eintragsdaten As New DataTable + Dim connection As New SqlConnection() + Dim da As New SqlDataAdapter("", connection) + Eintragsdaten.Rows.Clear() + Dim sqlcmd As New SqlCommand + sqlcmd.CommandText = "sp_get_entwicklungseintraege" + sqlcmd.Parameters.Add("@Themanr", SqlDbType.Int, 4) + sqlcmd.Parameters.Add("@Order", SqlDbType.Int, 4) + sqlcmd.Parameters(0).Value = Themanr + sqlcmd.Parameters(1).Value = Orderby + sqlcmd.CommandType = CommandType.StoredProcedure + sqlcmd.Connection = connection + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.SelectCommand = sqlcmd + da.Fill(Eintragsdaten) + Return Eintragsdaten + Catch ex As Exception + Finally + connection.Close() + da.Dispose() + sqlcmd.Dispose() + End Try + End Function + + Public Function Get_Eintraege(ByRef Tree As TreeView, ByVal Themanr As Integer) + Dim Eintragsdaten As New DataTable + Dim connection As New SqlConnection() + Dim da As New SqlDataAdapter("", connection) + Eintragsdaten.Rows.Clear() + Dim sqlcmd As New SqlCommand + sqlcmd.CommandText = "sp_get_entwicklungseintraege" + sqlcmd.Parameters.Add("@Themanr", SqlDbType.Int, 4) + sqlcmd.Parameters(0).Value = Themanr + sqlcmd.CommandType = CommandType.StoredProcedure + sqlcmd.Connection = connection + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.SelectCommand = sqlcmd + da.Fill(Eintragsdaten) + Catch ex As Exception + Finally + connection.Close() + da.Dispose() + sqlcmd.Dispose() + End Try + Dim tn As TreeNode + Tree.Nodes.Clear() + Dim tnr As Integer = -1 + Dim d As DateTime + For Each rec As DataRow In Eintragsdaten.Rows + If tnr <> rec.Item("ThemaEntwicklungnr") Then + tn = New TreeNode + tn.Tag = rec.Item("ThemaEntwicklungnr") + d = rec.Item("mutiert_am") + tn.Text = rec.Item("Bezeichnung") + "/" + d.ToShortDateString + "/" + rec.Item("mutierer") + Tree.Nodes.Add(tn) + tnr = rec.Item("ThemaEntwicklungnr") + Else + Dim tn1 As New TreeNode + tn1.Tag = rec.Item("ThemaEntwicklungnr") + tn1.Text = rec.Item("mutiert_am") + " - " + rec.Item("Mutierer") + tn.Nodes.Add(tn1) + End If + Next + + End Function + + Public Function Get_Dokument(ByVal Filename As String) + + Dim connection As New SqlConnection() + Dim da As New SqlDataAdapter("Select * From KommunkationAuspraegung where KommunikationAuspraegungNr=" + Me.iKommunikationAuspraegungNr.Value.ToString, connection) + Dim CB As SqlCommandBuilder = New SqlCommandBuilder(da) + Dim ds As New DataSet() + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.Fill(ds, "Dokument") + Dim myRow As DataRow + myRow = ds.Tables(0).Rows(0) + Dim MyData() As Byte + MyData = myRow.Item(4) + + Dim K As Long + K = UBound(MyData) + Dim fs As New FileStream(Filename, FileMode.OpenOrCreate, FileAccess.Write) + fs.Write(MyData, 0, K) + fs.Close() + fs = Nothing + Catch ex As Exception + 'MsgBox(ex.Message, MsgBoxStyle.Critical) + Return "" + Finally + connection.Close() + connection = Nothing + End Try + CB = Nothing + ds = Nothing + da = Nothing + Return Filename + End Function + + Public Function Save_Dokument(ByVal Filename As String) + Dim Connection As New SqlConnection() + Dim DA As New SqlDataAdapter("select * from KommunkationAuspraegung where KommunikationAuspraegungNr=" + Me.iKommunikationAuspraegungNr.Value.ToString, Connection) + Dim cb As SqlCommandBuilder = New SqlCommandBuilder(DA) + Dim ds As New DataSet() + Dim fs As New FileStream(Filename, FileMode.OpenOrCreate, FileAccess.Read) + Dim mydata(fs.Length) As Byte + fs.Read(mydata, 0, fs.Length) + fs.Close() + Try + Connection.ConnectionString = Globals.sConnectionString + Connection.Open() + DA.Fill(ds, "Dokument") + Dim myRow As DataRow + If ds.Tables(0).Rows.Count = 0 Then + Return False + Else + myRow = ds.Tables(0).Rows(0) + myRow.Item(4) = mydata + DA.Update(ds, "Dokument") + End If + Catch ex As Exception + FileOpen(1, Filename, OpenMode.Output) + FileClose(1) + Return False + End Try + fs = Nothing + cb = Nothing + ds = Nothing + DA = Nothing + Connection.Close() + Connection = Nothing + Return True + End Function + + Public Function save_zuteilung(ByRef cb As CheckedListBox) + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[sp_set_kommunikationauspraegung_zielgruppe]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + scmCmdToExecute.Connection = m_scoMainConnection + Try + scmCmdToExecute.Connection.Open() + Catch ex As Exception + Finally + End Try + + For i = 0 To cb.Items.Count - 1 + cb.GetItemCheckState(i) + scmCmdToExecute.Parameters.Add(New SqlParameter("@kommunikationauspraegungnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, Me.iKommunikationAuspraegungNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@Zielgruppe", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, cb.GetItemText(cb.Items(i)))) + scmCmdToExecute.Parameters.Add(New SqlParameter("@checked", SqlDbType.Int, 4, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, cb.GetItemChecked(i))) + scmCmdToExecute.Parameters.Add(New SqlParameter("@mutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, Globals.Mitarbeiternr)) + scmCmdToExecute.ExecuteNonQuery() + scmCmdToExecute.Parameters.Clear() + Next + scmCmdToExecute.Connection.Close() + scmCmdToExecute.Dispose() + End Function + + Public Function Save_freitext(ByVal themaentwicklungnr As Integer, text As String, ByVal TYPE As Integer, ByVal themanr As Integer) + Dim Eintragsdaten As New DataTable + If text.Length > 4096 Then text = text.Substring(0, 4095) + Dim connection As New SqlConnection() + Eintragsdaten.Rows.Clear() + Dim sqlcmd As New SqlCommand + sqlcmd.CommandText = "sp_update_freitext" + sqlcmd.Parameters.Add("@Keyvalue", SqlDbType.Int, 4) + sqlcmd.Parameters(0).Value = themaentwicklungnr + sqlcmd.Parameters.Add("@text", SqlDbType.VarChar, 4096) + sqlcmd.Parameters(1).Value = text + sqlcmd.Parameters.Add("@TYPE", SqlDbType.Int, 4) + sqlcmd.Parameters(2).Value = TYPE + + sqlcmd.Parameters.Add("@Themanr", SqlDbType.Int, 4) + sqlcmd.Parameters(3).Value = themanr + + + sqlcmd.CommandType = CommandType.StoredProcedure + sqlcmd.Connection = connection + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + sqlcmd.ExecuteNonQuery() + Catch ex As Exception + MsgBox(ex.Message) + Finally + connection.Close() + sqlcmd.Dispose() + End Try + End Function + + + End Class + +End Namespace + diff --git a/KommAuspraegung/Klassen/clsKey_tabelle.vb b/KommAuspraegung/Klassen/clsKey_tabelle.vb new file mode 100644 index 0000000..6ee282d --- /dev/null +++ b/KommAuspraegung/Klassen/clsKey_tabelle.vb @@ -0,0 +1,491 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'key_tabelle' +' // Generated by LLBLGen v1.21.2003.712 Final on: Dienstag, 1. Januar 2013, 19:36:38 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + ''' + ''' Purpose: Data Access class for the table 'key_tabelle'. + ''' + Public Class clsKey_tabelle + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daErstellt_am, m_daMutiert_am As SqlDateTime + Private m_iMutierer, m_iKeynr, m_iKey_wert, m_iMandantnr As SqlInt32 + Private m_sBeschreibung As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • sBeschreibung
  • + '''
  • iKey_wert
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iKeynr
  • + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_key_tabelle_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@sbeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@ikey_wert", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKey_wert)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@ikeynr", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iKeynr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iKeynr = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@ikeynr").Value, Integer)) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_key_tabelle_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKey_tabelle::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iKeynr
  • + '''
  • sBeschreibung
  • + '''
  • iKey_wert
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_key_tabelle_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@ikeynr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKeynr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sbeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@ikey_wert", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKey_wert)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_key_tabelle_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKey_tabelle::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iKeynr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_key_tabelle_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@ikeynr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKeynr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_key_tabelle_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKey_tabelle::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iKeynr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iKeynr
  • + '''
  • sBeschreibung
  • + '''
  • iKey_wert
  • + '''
  • iMandantnr
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_key_tabelle_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("key_tabelle") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@ikeynr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKeynr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_key_tabelle_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iKeynr = New SqlInt32(CType(dtToReturn.Rows(0)("keynr"), Integer)) + m_sBeschreibung = New SqlString(CType(dtToReturn.Rows(0)("beschreibung"), String)) + m_iKey_wert = New SqlInt32(CType(dtToReturn.Rows(0)("key_wert"), Integer)) + If dtToReturn.Rows(0)("mandantnr") Is System.DBNull.Value Then + m_iMandantnr = SqlInt32.Null + Else + m_iMandantnr = New SqlInt32(CType(dtToReturn.Rows(0)("mandantnr"), Integer)) + End If + If dtToReturn.Rows(0)("aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKey_tabelle::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_key_tabelle_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("key_tabelle") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_key_tabelle_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKey_tabelle::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iKeynr]() As SqlInt32 + Get + Return m_iKeynr + End Get + Set(ByVal Value As SqlInt32) + Dim iKeynrTmp As SqlInt32 = Value + If iKeynrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iKeynr", "iKeynr can't be NULL") + End If + m_iKeynr = Value + End Set + End Property + + + Public Property [sBeschreibung]() As SqlString + Get + Return m_sBeschreibung + End Get + Set(ByVal Value As SqlString) + Dim sBeschreibungTmp As SqlString = Value + If sBeschreibungTmp.IsNull Then + Throw New ArgumentOutOfRangeException("sBeschreibung", "sBeschreibung can't be NULL") + End If + m_sBeschreibung = Value + End Set + End Property + + + Public Property [iKey_wert]() As SqlInt32 + Get + Return m_iKey_wert + End Get + Set(ByVal Value As SqlInt32) + Dim iKey_wertTmp As SqlInt32 = Value + If iKey_wertTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iKey_wert", "iKey_wert can't be NULL") + End If + m_iKey_wert = Value + End Set + End Property + + + Public Property [iMandantnr]() As SqlInt32 + Get + Return m_iMandantnr + End Get + Set(ByVal Value As SqlInt32) + m_iMandantnr = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/KommAuspraegung/Klassen/clsMitarbeiter.vb b/KommAuspraegung/Klassen/clsMitarbeiter.vb new file mode 100644 index 0000000..48ff337 --- /dev/null +++ b/KommAuspraegung/Klassen/clsMitarbeiter.vb @@ -0,0 +1,530 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'mitarbeiter' +' // Generated by LLBLGen v1.21.2003.712 Final on: Dienstag, 1. Januar 2013, 19:36:38 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + ''' + ''' Purpose: Data Access class for the table 'mitarbeiter'. + ''' + Public Class clsMitarbeiter + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daErstellt_am, m_daMutiert_am As SqlDateTime + Private m_iMandantnr, m_iMutierer, m_iMitarbeiternr As SqlInt32 + Private m_sEmail, m_sVorname, m_sTgnummer, m_sName As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iMitarbeiternr
  • + '''
  • sVorname. May be SqlString.Null
  • + '''
  • sName. May be SqlString.Null
  • + '''
  • sTgnummer. May be SqlString.Null
  • + '''
  • sEmail. May be SqlString.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_mitarbeiter_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@imitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iMitarbeiternr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@svorname", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sVorname)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sname", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sName)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@stgnummer", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTgnummer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@semail", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sEmail)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_mitarbeiter_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMitarbeiter::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iMitarbeiternr
  • + '''
  • sVorname. May be SqlString.Null
  • + '''
  • sName. May be SqlString.Null
  • + '''
  • sTgnummer. May be SqlString.Null
  • + '''
  • sEmail. May be SqlString.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_mitarbeiter_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@imitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iMitarbeiternr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@svorname", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sVorname)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sname", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sName)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@stgnummer", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTgnummer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@semail", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sEmail)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_mitarbeiter_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMitarbeiter::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iMitarbeiternr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_mitarbeiter_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@imitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iMitarbeiternr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_mitarbeiter_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMitarbeiter::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iMitarbeiternr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iMitarbeiternr
  • + '''
  • sVorname
  • + '''
  • sName
  • + '''
  • sTgnummer
  • + '''
  • sEmail
  • + '''
  • iMandantnr
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_mitarbeiter_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("mitarbeiter") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@imitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iMitarbeiternr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_mitarbeiter_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iMitarbeiternr = New SqlInt32(CType(dtToReturn.Rows(0)("mitarbeiternr"), Integer)) + If dtToReturn.Rows(0)("vorname") Is System.DBNull.Value Then + m_sVorname = SqlString.Null + Else + m_sVorname = New SqlString(CType(dtToReturn.Rows(0)("vorname"), String)) + End If + If dtToReturn.Rows(0)("name") Is System.DBNull.Value Then + m_sName = SqlString.Null + Else + m_sName = New SqlString(CType(dtToReturn.Rows(0)("name"), String)) + End If + If dtToReturn.Rows(0)("tgnummer") Is System.DBNull.Value Then + m_sTgnummer = SqlString.Null + Else + m_sTgnummer = New SqlString(CType(dtToReturn.Rows(0)("tgnummer"), String)) + End If + If dtToReturn.Rows(0)("email") Is System.DBNull.Value Then + m_sEmail = SqlString.Null + Else + m_sEmail = New SqlString(CType(dtToReturn.Rows(0)("email"), String)) + End If + If dtToReturn.Rows(0)("mandantnr") Is System.DBNull.Value Then + m_iMandantnr = SqlInt32.Null + Else + m_iMandantnr = New SqlInt32(CType(dtToReturn.Rows(0)("mandantnr"), Integer)) + End If + If dtToReturn.Rows(0)("aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMitarbeiter::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_mitarbeiter_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("mitarbeiter") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_mitarbeiter_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMitarbeiter::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iMitarbeiternr]() As SqlInt32 + Get + Return m_iMitarbeiternr + End Get + Set(ByVal Value As SqlInt32) + Dim iMitarbeiternrTmp As SqlInt32 = Value + If iMitarbeiternrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iMitarbeiternr", "iMitarbeiternr can't be NULL") + End If + m_iMitarbeiternr = Value + End Set + End Property + + + Public Property [sVorname]() As SqlString + Get + Return m_sVorname + End Get + Set(ByVal Value As SqlString) + m_sVorname = Value + End Set + End Property + + + Public Property [sName]() As SqlString + Get + Return m_sName + End Get + Set(ByVal Value As SqlString) + m_sName = Value + End Set + End Property + + + Public Property [sTgnummer]() As SqlString + Get + Return m_sTgnummer + End Get + Set(ByVal Value As SqlString) + m_sTgnummer = Value + End Set + End Property + + + Public Property [sEmail]() As SqlString + Get + Return m_sEmail + End Get + Set(ByVal Value As SqlString) + m_sEmail = Value + End Set + End Property + + + Public Property [iMandantnr]() As SqlInt32 + Get + Return m_iMandantnr + End Get + Set(ByVal Value As SqlInt32) + m_iMandantnr = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/KommAuspraegung/Klassen/clsMyKey_Tabelle.vb b/KommAuspraegung/Klassen/clsMyKey_Tabelle.vb new file mode 100644 index 0000000..b6c51fb --- /dev/null +++ b/KommAuspraegung/Klassen/clsMyKey_Tabelle.vb @@ -0,0 +1,61 @@ +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient +Namespace DB + Public Class clsMyKey_Tabelle + Inherits db.clsKey_tabelle + + Public Function get_dbkey(ByVal Tablename As String) As Long + Dim m_dbkey As Long + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[sp_get_dbkey]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@Tablename", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, Tablename)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@dbkey", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_dbkey)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + Try + scmCmdToExecute.Connection.Open() + Catch ex As Exception + Finally + End Try + + scmCmdToExecute.ExecuteNonQuery() + m_dbkey = scmCmdToExecute.Parameters.Item("@dbkey").Value + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + scmCmdToExecute.Connection.Close() + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'sp_get_dbkey' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return m_dbkey + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKey_tabelle::get_dbkey::Error occured." + ex.Message, ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + End Class +End Namespace diff --git a/KommAuspraegung/KommAuspraegung.vbproj b/KommAuspraegung/KommAuspraegung.vbproj new file mode 100644 index 0000000..4c8448e --- /dev/null +++ b/KommAuspraegung/KommAuspraegung.vbproj @@ -0,0 +1,165 @@ + + + + + Debug + AnyCPU + {88460338-2FE8-43DA-A884-9E25FF5F5601} + Library + KommAuspraegung + KommAuspraegung + 512 + Windows + v4.5 + + + + true + full + true + true + bin\Debug\ + KommAuspraegung.xml + _MYFORMS=True + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + false + + + pdbonly + false + true + true + bin\Release\ + KommAuspraegung.xml + _MYFORMS=True + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + false + + + On + + + Binary + + + Off + + + On + + + + + False + ..\Themenmanagement\bin\Debug\ExtendedRichTextBox.dll + + + ..\..\..\Klassen\RTFEditor\RTFEditor\bin\Debug\RTFEditor.dll + + + ..\Themenmanagement\bin\Debug\SautinSoft.HtmlToRtf.dll + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + frmAuspraegungstexte.vb + + + Form + + + + + + + + True + Application.myapp + + + UserControl + + + Kommunikationsauspraegung.vb + + + + True + True + Resources.resx + + + True + Settings.settings + True + + + + + frmAuspraegungstexte.vb + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + Kommunikationsauspraegung.vb + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + + + + + + + + {91C33E2D-DE28-4D17-B94B-240E51D2BCB9} + ThemenDokumente + + + + + \ No newline at end of file diff --git a/KommAuspraegung/Kommunikationsauspraegung.Designer.vb b/KommAuspraegung/Kommunikationsauspraegung.Designer.vb new file mode 100644 index 0000000..a558574 --- /dev/null +++ b/KommAuspraegung/Kommunikationsauspraegung.Designer.vb @@ -0,0 +1,193 @@ + _ +Partial Class Kommunikationsauspraegung + Inherits System.Windows.Forms.UserControl + + 'UserControl1 überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(Kommunikationsauspraegung)) + Me.Panel3 = New System.Windows.Forms.Panel() + Me.Label10 = New System.Windows.Forms.Label() + Me.Label12 = New System.Windows.Forms.Label() + Me.chklistboxZielgruppe = New System.Windows.Forms.CheckedListBox() + Me.txtBeschreibung = New System.Windows.Forms.TextBox() + Me.ToolStrip1 = New System.Windows.Forms.ToolStrip() + Me.ToolStripButton1 = New System.Windows.Forms.ToolStripButton() + Me.tsbtnEintragAlles = New System.Windows.Forms.ToolStripButton() + Me.SplitContainer1 = New System.Windows.Forms.SplitContainer() + Me.ShurtfEditor1 = New RTFEditor.SHURTFEditor() + Me.Dokumente1 = New ThemenDokumente.Dokumente() + Me.Panel3.SuspendLayout() + Me.ToolStrip1.SuspendLayout() + CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SplitContainer1.Panel1.SuspendLayout() + Me.SplitContainer1.Panel2.SuspendLayout() + Me.SplitContainer1.SuspendLayout() + Me.SuspendLayout() + ' + 'Panel3 + ' + Me.Panel3.Controls.Add(Me.Label10) + Me.Panel3.Controls.Add(Me.Label12) + Me.Panel3.Controls.Add(Me.chklistboxZielgruppe) + Me.Panel3.Controls.Add(Me.txtBeschreibung) + Me.Panel3.Controls.Add(Me.ToolStrip1) + Me.Panel3.Dock = System.Windows.Forms.DockStyle.Top + Me.Panel3.Location = New System.Drawing.Point(0, 0) + Me.Panel3.Name = "Panel3" + Me.Panel3.Size = New System.Drawing.Size(806, 122) + Me.Panel3.TabIndex = 1 + ' + 'Label10 + ' + Me.Label10.AutoSize = True + Me.Label10.Location = New System.Drawing.Point(12, 28) + Me.Label10.Name = "Label10" + Me.Label10.Size = New System.Drawing.Size(72, 13) + Me.Label10.TabIndex = 0 + Me.Label10.Text = "Beschreibung" + ' + 'Label12 + ' + Me.Label12.AutoSize = True + Me.Label12.Location = New System.Drawing.Point(502, 31) + Me.Label12.Name = "Label12" + Me.Label12.Size = New System.Drawing.Size(63, 13) + Me.Label12.TabIndex = 2 + Me.Label12.Text = "Zielgruppen" + ' + 'chklistboxZielgruppe + ' + Me.chklistboxZielgruppe.FormattingEnabled = True + Me.chklistboxZielgruppe.Items.AddRange(New Object() {"Zielgruppe 1", "Zielgruppe 2", "Zielgruppe 3", "Zielgruppe 4"}) + Me.chklistboxZielgruppe.Location = New System.Drawing.Point(571, 31) + Me.chklistboxZielgruppe.Name = "chklistboxZielgruppe" + Me.chklistboxZielgruppe.Size = New System.Drawing.Size(181, 79) + Me.chklistboxZielgruppe.TabIndex = 3 + ' + 'txtBeschreibung + ' + Me.txtBeschreibung.Location = New System.Drawing.Point(90, 28) + Me.txtBeschreibung.Multiline = True + Me.txtBeschreibung.Name = "txtBeschreibung" + Me.txtBeschreibung.Size = New System.Drawing.Size(384, 82) + Me.txtBeschreibung.TabIndex = 1 + ' + 'ToolStrip1 + ' + Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripButton1, Me.tsbtnEintragAlles}) + Me.ToolStrip1.Location = New System.Drawing.Point(0, 0) + Me.ToolStrip1.Name = "ToolStrip1" + Me.ToolStrip1.Size = New System.Drawing.Size(806, 25) + Me.ToolStrip1.TabIndex = 4 + Me.ToolStrip1.Text = "ToolStrip1" + ' + 'ToolStripButton1 + ' + Me.ToolStripButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton1.Image = CType(resources.GetObject("ToolStripButton1.Image"), System.Drawing.Image) + Me.ToolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton1.Name = "ToolStripButton1" + Me.ToolStripButton1.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton1.Text = "ToolStripButton1" + ' + 'tsbtnEintragAlles + ' + Me.tsbtnEintragAlles.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tsbtnEintragAlles.Image = CType(resources.GetObject("tsbtnEintragAlles.Image"), System.Drawing.Image) + Me.tsbtnEintragAlles.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tsbtnEintragAlles.Name = "tsbtnEintragAlles" + Me.tsbtnEintragAlles.Size = New System.Drawing.Size(23, 22) + Me.tsbtnEintragAlles.Text = "Alle Dokumente dieser Kommunikation zusammen fassen" + ' + 'SplitContainer1 + ' + Me.SplitContainer1.Dock = System.Windows.Forms.DockStyle.Fill + Me.SplitContainer1.Location = New System.Drawing.Point(0, 122) + Me.SplitContainer1.Name = "SplitContainer1" + ' + 'SplitContainer1.Panel1 + ' + Me.SplitContainer1.Panel1.Controls.Add(Me.ShurtfEditor1) + ' + 'SplitContainer1.Panel2 + ' + Me.SplitContainer1.Panel2.Controls.Add(Me.Dokumente1) + Me.SplitContainer1.Size = New System.Drawing.Size(806, 408) + Me.SplitContainer1.SplitterDistance = 498 + Me.SplitContainer1.TabIndex = 2 + ' + 'ShurtfEditor1 + ' + Me.ShurtfEditor1.Dock = System.Windows.Forms.DockStyle.Fill + Me.ShurtfEditor1.Document = Nothing + Me.ShurtfEditor1.Font = New System.Drawing.Font("Futura Book", 9.749999!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.ShurtfEditor1.Location = New System.Drawing.Point(0, 0) + Me.ShurtfEditor1.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4) + Me.ShurtfEditor1.Name = "ShurtfEditor1" + Me.ShurtfEditor1.Show_Filefunctions = False + Me.ShurtfEditor1.Size = New System.Drawing.Size(498, 408) + Me.ShurtfEditor1.TabIndex = 0 + ' + 'Dokumente1 + ' + Me.Dokumente1.ConnectionString = Nothing + Me.Dokumente1.Dock = System.Windows.Forms.DockStyle.Fill + Me.Dokumente1.Doktype = 0 + Me.Dokumente1.Location = New System.Drawing.Point(0, 0) + Me.Dokumente1.Mitarbeiternr = 0 + Me.Dokumente1.Name = "Dokumente1" + Me.Dokumente1.Size = New System.Drawing.Size(304, 408) + Me.Dokumente1.TabIndex = 0 + Me.Dokumente1.TempFilePath = Nothing + Me.Dokumente1.ThemaNr = 0 + ' + 'Kommunikationsauspraegung + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.Controls.Add(Me.SplitContainer1) + Me.Controls.Add(Me.Panel3) + Me.Name = "Kommunikationsauspraegung" + Me.Size = New System.Drawing.Size(806, 530) + Me.Panel3.ResumeLayout(False) + Me.Panel3.PerformLayout() + Me.ToolStrip1.ResumeLayout(False) + Me.ToolStrip1.PerformLayout() + Me.SplitContainer1.Panel1.ResumeLayout(False) + Me.SplitContainer1.Panel2.ResumeLayout(False) + CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).EndInit() + Me.SplitContainer1.ResumeLayout(False) + Me.ResumeLayout(False) + + End Sub + Friend WithEvents Panel3 As System.Windows.Forms.Panel + Friend WithEvents Label10 As System.Windows.Forms.Label + Friend WithEvents Label12 As System.Windows.Forms.Label + Friend WithEvents chklistboxZielgruppe As System.Windows.Forms.CheckedListBox + Friend WithEvents txtBeschreibung As System.Windows.Forms.TextBox + Friend WithEvents SplitContainer1 As System.Windows.Forms.SplitContainer + Friend WithEvents ShurtfEditor1 As RTFEditor.SHURTFEditor + Friend WithEvents Dokumente1 As ThemenDokumente.Dokumente + Friend WithEvents ToolStrip1 As System.Windows.Forms.ToolStrip + Friend WithEvents ToolStripButton1 As System.Windows.Forms.ToolStripButton + Friend WithEvents tsbtnEintragAlles As System.Windows.Forms.ToolStripButton + +End Class diff --git a/KommAuspraegung/Kommunikationsauspraegung.resx b/KommAuspraegung/Kommunikationsauspraegung.resx new file mode 100644 index 0000000..cb7d003 --- /dev/null +++ b/KommAuspraegung/Kommunikationsauspraegung.resx @@ -0,0 +1,157 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 17, 17 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAKQSURBVDhPrY/JTxNRAIdf0kQPJoZ4MOFEUNwoWLbSllUg + KAFKy6JSFFDABUwQLxz4B0iaECImGA9owo14aCXFUFot2MJAC5zdN+hCaaEFSUQoP997DFSJRyf5kpnM + 7/veDPkvl06n22hpaoZlfAoL3hUs+lbhXlqFxx+CdzkMXyAMfyCE5WAI43YBba1teHC/Y0PUCWmob0Aj + xTE9hwX/2l8sLq/DHViHJ7gO38oPTLvmwQ67e/sORJ2Qm403wBCc89iO7Bwggq3tCH5tbePn5hY9ZJZv + bzW3RAP1166D8UZw4dtSaBdfCF8pX+jvfPau4pNnBR/dQdgcM3zLIqJOSF2tDgzLhAAv/dQ9PIE1+vns + N8L47g/z4Khtkm9ZRNQJuVJzGYwRqx1zH7yYp8y9Z3gwS3G9o7x1Y4bywjzBt3VXa6OB6soqMB49eQbD + 6ASGLQ6YXk1h5LUAE2XYOgmj2Y7nL214+Pgp37KIqBOiVVfgn1Roohx4V62tjAbUpWX4E025GlUaLR/V + 0NMY7JmJ6rLy/Y2oE1JSfBGM0kslsNlscLlcHKfTyWH3giAgS6GEQi7f34o6IYV5+WAUFxbBarUiPzcP + ykwFHA4H7HY7j46NjSE/JxfZqiwU0G3RhYJoIFupAiMvKxsWOkxPSUWyVAqz2QyTyQSDwYChoSGoaFSR + IUcOi9BDRJ2QjNS0TXlqGh8YjUacPpmAE/HxXBocHMTAwAD6+/shS0qGTJqEzLR0KGlI1AmJORpzL/lc + YiRdlsLHe1JfXx96enqg1+vR3d2NMzR8NuEUzidKWWiHqkd2C4Qck0gkpXFxcVVdXV1NVGjt7e1tp3TQ + QDt77uzsbIw9Hqs9JJFoGHRfQAg5/BslsRWFgJrRJAAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJESURBVDhPfZBLbxJRHMVZW0JMU8LCT9CNxkX5Dt2QuGbB + hi/g0qWfoJtGWRiTBpG3iaktVqNtLdCmzPAeFAIzw6NAebWjCNgCx/sIaRXSk5zcO3fO79z/jO6WVg0G + w4bJZHLMbDQaHfeXlx33lpYc5P1DHlssvdVqbXV6F+j0LtEmPm/3oFQbiIpZeLa/wGaztUnuEY/Pa80f + CBKg/o9L5RqyeRlhIYPGeXtWsnAScyD4DrVGC5svXuL9h114fAG8eevF6y0nElIBlbMmVFJqt9s7JP+Y + YzciBUEydhc7oT2E9j5jeyeE3Y+fcHgUYZMUlBpZz1BUa1hff0JLHnCUy0w/oXuhIZ2RICaSSKTSZE0h + m/uBrPQdGeITIYHjuISnz56DMhzlYgXazz4i0WN83T/A/sEhwpEo2387CrP1+OQUtWYbm45X8wU+fwD9 + 3wNkshJxDolkCkkyRZxMk85k2SorKrRffThd7vkCLykYjkYMSqXTEMQ486xAyuXQ6fYwGI7g8foXFPj8 + +HN1hZggIBYTcBqLIUFguhdEEYIgolgqYTAYgmYpw1Eus8frw/X1GLIsI58voFgsMcuKghI5U1SVPBdZ + hmYpw1Eus9vjxWQyQSQSYY6Sn1koFBhcLpehkoLxeMIyNEsZjnKZXW4PptMpKpUKVAIo5OZqtYp6vc7O + ZFmBpmksQ7OU4SjX2pbTBaoZSG+kewr8L5qlDEe59BaLpVVvttC71O40zdAsZTh6o1W9Xr+xsmJ03GWa + oVmO6HR/AZ4bPZM/jt1fAAAAAElFTkSuQmCC + + + \ No newline at end of file diff --git a/KommAuspraegung/Kommunikationsauspraegung.vb b/KommAuspraegung/Kommunikationsauspraegung.vb new file mode 100644 index 0000000..e21f601 --- /dev/null +++ b/KommAuspraegung/Kommunikationsauspraegung.vb @@ -0,0 +1,261 @@ +Imports System.ComponentModel +Imports System.Data.SqlClient +Imports System.Data.SqlTypes + +Public Class Kommunikationsauspraegung +#Region "Properties" + Dim m_ConnectionString As String + _ + Public Property ConnectionString() As String + Get + ConnectionString = m_ConnectionString + End Get + Set(ByVal Value As String) + If m_ConnectionString <> Value Then + m_ConnectionString = Value + Globals.conn.sConnectionString = Value + Globals.sConnectionString = Value + End If + End Set + End Property + + Dim m_Themanr As Integer + _ + Public Property ThemaNr As Integer + Get + ThemaNr = m_Themanr + End Get + Set(value As Integer) + If m_Themanr <> value Then + m_Themanr = value + Try + Refresh_Daten() + Catch + End Try + End If + End Set + End Property + + Dim m_Kommunkationnr As Integer + _ + Public Property Kommunkationnr As Integer + Get + Kommunkationnr = m_Kommunkationnr + End Get + Set(value As Integer) + If m_Kommunkationnr <> value Then + m_Kommunkationnr = value + Try + Refresh_Daten() + Catch + End Try + End If + End Set + End Property + + Dim m_KommunikationAuspraegungnr As Integer + _ + Public Property KommunikationAuspraegungnr As Integer + Get + KommunikationAuspraegungnr = m_KommunikationAuspraegungnr + End Get + Set(value As Integer) + If m_KommunikationAuspraegungnr <> value Then + m_KommunikationAuspraegungnr = value + Try + Refresh_Daten() + Catch + End Try + End If + End Set + End Property + + Dim m_Doktype As Integer + _ + Public Property Doktype As Integer + Get + Doktype = m_Doktype + End Get + Set(value As Integer) + If m_Doktype <> value Then + m_Doktype = value + End If + End Set + End Property + + Dim m_Mitarbeiternr As Integer + _ + Public Property Mitarbeiternr As Integer + Get + Mitarbeiternr = m_Mitarbeiternr + End Get + Set(value As Integer) + If m_Mitarbeiternr <> value Then + m_Mitarbeiternr = value + Globals.Mitarbeiternr = value + End If + End Set + End Property + + Dim m_TempFilePath As String + _ + Public Property TempFilePath As String + Get + TempFilePath = m_TempFilePath + End Get + Set(value As String) + If m_TempFilePath <> value Then + m_TempFilePath = value + Globals.TmpFilepath = value + End If + End Set + End Property +#End Region + +#Region "Deklarationen" + Dim Kommauspraegung As New DB.KommunikationAuspraegung + Dim Zielgrp As New DataTable + Dim Zielgruppen As New DB.clsZielgruppe + Dim KommunikationAuspraegungZielgruppe As New DB.clsKommunikationAuspraegung_Zielgruppe + Public Kommunikationstext_Changed As Boolean = False + +#End Region + + + Sub New() + InitializeComponent() + 'Me.ConnectionString = "data source=shu00;initial catalog=ThemenManagement;persist security info=False;workstation id=SHU;packet size=4096;user id=sa;password=*shu29" + 'Me.Mitarbeiternr = 1 + 'Me.Doktype = 2 + 'Me.ThemaNr = 1 + 'Me.Kommunkationnr = 1 + 'Me.m_KommunikationAuspraegungnr = 2 + 'Me.TempFilePath = "h:\tssettings\themenmgmt" + Try + Globals.conn.sConnectionString = Me.ConnectionString + Globals.sConnectionString = Me.ConnectionString + Catch + End Try + + Globals.Mitarbeiternr = Mitarbeiternr + Globals.TmpFilepath = TempFilePath + End Sub + + Sub Refresh_Daten() + Me.Dokumente1.ConnectionString = Me.ConnectionString + Me.Dokumente1.Doktype = Me.Doktype + Me.Dokumente1.ThemaNr = Me.KommunikationAuspraegungnr + Me.Dokumente1.Mitarbeiternr = Me.Mitarbeiternr + Me.Dokumente1.TempFilePath = Me.TempFilePath + + get_data() + + End Sub +#Region "Daten" + Dim rtffilename As String + Sub get_data() + Kommauspraegung.Get_Auspraegung(Me.KommunikationAuspraegungnr) + Me.txtBeschreibung.Text = Kommauspraegung.sBeschreibung.Value + Me.Zielgruppen.cpMainConnectionProvider = Globals.conn + Me.Zielgrp = Me.Zielgruppen.SelectAll + Me.chklistboxZielgruppe.Items.Clear() + + Dim ischecked As Boolean = False + For Each dr As DataRow In Zielgrp.Rows + ischecked = False + If dr.Item("aktiv") = True Then + For Each x As DataRow In Me.Kommauspraegung.KommunikationAuspraegung_Zielgruppen.Rows + If dr.Item("Zielgruppenr") = x.Item("Zielgruppenr") Then + ischecked = True + End If + Next + chklistboxZielgruppe.Items.Add(dr.Item("Bezeichnung"), ischecked) + + + + End If + Next + + rtffilename = Globals.TmpFilepath + "\RTF_" + System.IO.Path.GetRandomFileName + ".rtf" + Me.Kommauspraegung.Get_Dokument(rtffilename) + Me.ShurtfEditor1.Document = rtffilename + Me.ShurtfEditor1.set_Dokument() + Me.Kommunikationstext_Changed = False + End Sub +#End Region + + + Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ToolStripButton1.Click + save_data() + End Sub + + Sub Save_Data() + Me.Kommauspraegung.sBeschreibung = New SqlString(CType(Me.txtBeschreibung.Text, String)) + Me.Kommauspraegung.Save_Data() + Me.Kommauspraegung.save_zuteilung(Me.chklistboxZielgruppe) + Me.Kommunikationstext_Changed = False + End Sub + + + Private Sub ShurtfEditor1_RTFText_Changed() Handles ShurtfEditor1.RTFText_Changed + Me.Kommunikationstext_Changed = True + End Sub + + Private Sub ShurtfEditor1_SaveExtended_Clicked(filename As String, ByVal rtftext As String) Handles ShurtfEditor1.SaveExtended_Clicked + Me.Kommauspraegung.sRTFText = Me.ShurtfEditor1.Document + Me.Kommauspraegung.Save_Dokument(filename) + Dim komm As New DB.clsKommunikation + komm.cpMainConnectionProvider = Globals.conn + komm.iKommunikationNr = New SqlInt32(CType(Me.Kommauspraegung.iKommunikationNr.Value, Int32)) + komm.SelectOne() + + Me.Kommauspraegung.Save_freitext(Me.Kommauspraegung.iKommunikationAuspraegungNr.Value, rtftext, 2, komm.iThemaNr.Value) + komm.Dispose() + Me.Kommunikationstext_Changed = False + End Sub + + Public Sub Delete() + Me.Kommauspraegung.Delete_Kommunikationsauspraegung(Me.KommunikationAuspraegungnr) + End Sub + + Public Function Change_Description() As String + Dim s As String + s = InputBox("Neue Bezeichnung", "Neue Bezeichnung") + If s <> "" Then + Me.Kommauspraegung.sBezeichnung = New SqlString(CType(s, String)) + Me.Kommauspraegung.Save_Data() + Return s + Else + Return "" + End If + End Function + + Private Sub ToolStrip1_ItemClicked(sender As Object, e As ToolStripItemClickedEventArgs) Handles ToolStrip1.ItemClicked + + End Sub + + + Private Sub tsbtnEintragAlles_Click(sender As Object, e As EventArgs) Handles tsbtnEintragAlles.Click + Dim f As New frmAuspraegungstexte(Me.Kommunkationnr) + Try + f.Show() + Catch ex As Exception + MsgBox(ex.Message) + End Try + End Sub + + + + Public Sub Save_rtfdata() + Me.ShurtfEditor1.Save_Extended() + Me.Kommunikationstext_Changed = False + End Sub + + Public Sub Discard_Changes() + Me.ShurtfEditor1.set_modified_false() + Me.Kommunikationstext_Changed = False + End Sub + + +End Class + diff --git a/KommAuspraegung/My Project/Application.Designer.vb b/KommAuspraegung/My Project/Application.Designer.vb new file mode 100644 index 0000000..8ab460b --- /dev/null +++ b/KommAuspraegung/My Project/Application.Designer.vb @@ -0,0 +1,13 @@ +'------------------------------------------------------------------------------ +' +' Dieser Code wurde von einem Tool generiert. +' Laufzeitversion:4.0.30319.42000 +' +' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +' der Code erneut generiert wird. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + diff --git a/KommAuspraegung/My Project/Application.myapp b/KommAuspraegung/My Project/Application.myapp new file mode 100644 index 0000000..758895d --- /dev/null +++ b/KommAuspraegung/My Project/Application.myapp @@ -0,0 +1,10 @@ + + + false + false + 0 + true + 0 + 1 + true + diff --git a/KommAuspraegung/My Project/AssemblyInfo.vb b/KommAuspraegung/My Project/AssemblyInfo.vb new file mode 100644 index 0000000..248df70 --- /dev/null +++ b/KommAuspraegung/My Project/AssemblyInfo.vb @@ -0,0 +1,34 @@ +Imports System +Imports System.Reflection +Imports System.Runtime.InteropServices + +' Allgemeine Informationen über eine Assembly werden über die folgenden +' Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern, +' die mit einer Assembly verknüpft sind. + +' Die Werte der Assemblyattribute überprüfen + + + + + + + + + + +'Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird + + +' Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten: +' +' Hauptversion +' Nebenversion +' Buildnummer +' Revision +' +' Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern +' übernehmen, indem Sie "*" eingeben: + + + diff --git a/KommAuspraegung/My Project/Resources.Designer.vb b/KommAuspraegung/My Project/Resources.Designer.vb new file mode 100644 index 0000000..71dfd3b --- /dev/null +++ b/KommAuspraegung/My Project/Resources.Designer.vb @@ -0,0 +1,63 @@ +'------------------------------------------------------------------------------ +' +' Dieser Code wurde von einem Tool generiert. +' Laufzeitversion:4.0.30319.42000 +' +' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +' der Code erneut generiert wird. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + +Imports System + +Namespace My.Resources + + 'Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert + '-Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert. + 'Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen + 'mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu. + ''' + ''' Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + ''' + _ + Friend Module Resources + + Private resourceMan As Global.System.Resources.ResourceManager + + Private resourceCulture As Global.System.Globalization.CultureInfo + + ''' + ''' Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + ''' + _ + Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager + Get + If Object.ReferenceEquals(resourceMan, Nothing) Then + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("KommAuspraegung.Resources", GetType(Resources).Assembly) + resourceMan = temp + End If + Return resourceMan + End Get + End Property + + ''' + ''' Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + ''' Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. + ''' + _ + Friend Property Culture() As Global.System.Globalization.CultureInfo + Get + Return resourceCulture + End Get + Set + resourceCulture = value + End Set + End Property + End Module +End Namespace diff --git a/KommAuspraegung/My Project/Resources.resx b/KommAuspraegung/My Project/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/KommAuspraegung/My Project/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/KommAuspraegung/My Project/Settings.Designer.vb b/KommAuspraegung/My Project/Settings.Designer.vb new file mode 100644 index 0000000..045db5e --- /dev/null +++ b/KommAuspraegung/My Project/Settings.Designer.vb @@ -0,0 +1,73 @@ +'------------------------------------------------------------------------------ +' +' Dieser Code wurde von einem Tool generiert. +' Laufzeitversion:4.0.30319.42000 +' +' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +' der Code erneut generiert wird. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + _ + Partial Friend NotInheritable Class MySettings + Inherits Global.System.Configuration.ApplicationSettingsBase + + Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings) + +#Region "Funktion zum automatischen Speichern von My.Settings" +#If _MyType = "WindowsForms" Then + Private Shared addedHandler As Boolean + + Private Shared addedHandlerLockObject As New Object + + _ + Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs) + If My.Application.SaveMySettingsOnExit Then + My.Settings.Save() + End If + End Sub +#End If +#End Region + + Public Shared ReadOnly Property [Default]() As MySettings + Get + +#If _MyType = "WindowsForms" Then + If Not addedHandler Then + SyncLock addedHandlerLockObject + If Not addedHandler Then + AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings + addedHandler = True + End If + End SyncLock + End If +#End If + Return defaultInstance + End Get + End Property + End Class +End Namespace + +Namespace My + + _ + Friend Module MySettingsProperty + + _ + Friend ReadOnly Property Settings() As Global.KommAuspraegung.My.MySettings + Get + Return Global.KommAuspraegung.My.MySettings.Default + End Get + End Property + End Module +End Namespace diff --git a/KommAuspraegung/My Project/Settings.settings b/KommAuspraegung/My Project/Settings.settings new file mode 100644 index 0000000..85b890b --- /dev/null +++ b/KommAuspraegung/My Project/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/KommAuspraegung/bin/Debug/C1.Win.C1TrueDBGrid.2.dll b/KommAuspraegung/bin/Debug/C1.Win.C1TrueDBGrid.2.dll new file mode 100644 index 0000000..d4f4c46 Binary files /dev/null and b/KommAuspraegung/bin/Debug/C1.Win.C1TrueDBGrid.2.dll differ diff --git a/KommAuspraegung/bin/Debug/ExtendedRichTextBox.dll b/KommAuspraegung/bin/Debug/ExtendedRichTextBox.dll new file mode 100644 index 0000000..9597270 Binary files /dev/null and b/KommAuspraegung/bin/Debug/ExtendedRichTextBox.dll differ diff --git a/KommAuspraegung/bin/Debug/KommAuspraegung.dll b/KommAuspraegung/bin/Debug/KommAuspraegung.dll new file mode 100644 index 0000000..516abcb Binary files /dev/null and b/KommAuspraegung/bin/Debug/KommAuspraegung.dll differ diff --git a/KommAuspraegung/bin/Debug/KommAuspraegung.pdb b/KommAuspraegung/bin/Debug/KommAuspraegung.pdb new file mode 100644 index 0000000..c122cdc Binary files /dev/null and b/KommAuspraegung/bin/Debug/KommAuspraegung.pdb differ diff --git a/KommAuspraegung/bin/Debug/KommAuspraegung.xml b/KommAuspraegung/bin/Debug/KommAuspraegung.xml new file mode 100644 index 0000000..2482d51 --- /dev/null +++ b/KommAuspraegung/bin/Debug/KommAuspraegung.xml @@ -0,0 +1,705 @@ + + + + +KommAuspraegung + + + + + + Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + + + + + Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + + + + + Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. + + + + + Purpose: Data Access class for the table 'Kommunikation'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKommunikationNr
  • +
  • iThemaNr. May be SqlInt32.Null
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKommunikationNr
  • +
  • iThemaNr. May be SqlInt32.Null
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKommunikationNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKommunikationNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iKommunikationNr
  • +
  • iThemaNr
  • +
  • sBezeichnung
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'KommunikationAuspraegung_Zielgruppe'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKommAuspraegungZielgruppeNr
  • +
  • iKommunikationauspraegungnr. May be SqlInt32.Null
  • +
  • iZielgruppenr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKommAuspraegungZielgruppeNr
  • +
  • iKommunikationauspraegungnr. May be SqlInt32.Null
  • +
  • iZielgruppenr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKommAuspraegungZielgruppeNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKommAuspraegungZielgruppeNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iKommAuspraegungZielgruppeNr
  • +
  • iKommunikationauspraegungnr
  • +
  • iZielgruppenr
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'KommunkationAuspraegung'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKommunikationAuspraegungNr
  • +
  • iKommunikationNr. May be SqlInt32.Null
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • blobDokument. May be SqlBinary.Null
  • +
  • sRTFText. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKommunikationAuspraegungNr
  • +
  • iKommunikationNr. May be SqlInt32.Null
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • blobDokument. May be SqlBinary.Null
  • +
  • sRTFText. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKommunikationAuspraegungNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKommunikationAuspraegungNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iKommunikationAuspraegungNr
  • +
  • iKommunikationNr
  • +
  • sBezeichnung
  • +
  • sBeschreibung
  • +
  • blobDokument
  • +
  • sRTFText
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'Zielgruppe'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iZielgruppeNr
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iZielgruppeNr
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iZielgruppeNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iZielgruppeNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iZielgruppeNr
  • +
  • sBezeichnung
  • +
  • sBeschreibung
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'key_tabelle'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • sBeschreibung
  • +
  • iKey_wert
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iKeynr
  • +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKeynr
  • +
  • sBeschreibung
  • +
  • iKey_wert
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKeynr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKeynr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iKeynr
  • +
  • sBeschreibung
  • +
  • iKey_wert
  • +
  • iMandantnr
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'mitarbeiter'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iMitarbeiternr
  • +
  • sVorname. May be SqlString.Null
  • +
  • sName. May be SqlString.Null
  • +
  • sTgnummer. May be SqlString.Null
  • +
  • sEmail. May be SqlString.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iMitarbeiternr
  • +
  • sVorname. May be SqlString.Null
  • +
  • sName. May be SqlString.Null
  • +
  • sTgnummer. May be SqlString.Null
  • +
  • sEmail. May be SqlString.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iMitarbeiternr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iMitarbeiternr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iMitarbeiternr
  • +
  • sVorname
  • +
  • sName
  • +
  • sTgnummer
  • +
  • sEmail
  • +
  • iMandantnr
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Mutierer auslesen + + + + + + + Löschen eines Datensatzes erstellen. + + Ursprungs-Person: Ist dieser Wert nicht 0, werden die Daten mit BaseNr zuerst gelesen + + + + + + Neue Person einfügen + + + + +
+
diff --git a/KommAuspraegung/bin/Debug/RTFEditor.dll b/KommAuspraegung/bin/Debug/RTFEditor.dll new file mode 100644 index 0000000..734b150 Binary files /dev/null and b/KommAuspraegung/bin/Debug/RTFEditor.dll differ diff --git a/KommAuspraegung/bin/Debug/RTFEditor.pdb b/KommAuspraegung/bin/Debug/RTFEditor.pdb new file mode 100644 index 0000000..8885031 Binary files /dev/null and b/KommAuspraegung/bin/Debug/RTFEditor.pdb differ diff --git a/KommAuspraegung/bin/Debug/RTFEditor.xml b/KommAuspraegung/bin/Debug/RTFEditor.xml new file mode 100644 index 0000000..86a7ef1 --- /dev/null +++ b/KommAuspraegung/bin/Debug/RTFEditor.xml @@ -0,0 +1,40 @@ + + + + +RTFEditor + + + + + + This class provides two subroutines used to: + Find (find the first instance of a search term) + Find Next (find other instances of the search term after the first one is found) + + + + + This class provides four subroutines used to: + Find (find the first instance of a search term) + Find Next (find other instances of the search term after the first one is found) + Replace (replace the current selection with replacement text) + Replace All (replace all instances of search term with replacement text) + + + + + Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + + + + Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. + + + + Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + + + + \ No newline at end of file diff --git a/KommAuspraegung/bin/Debug/SautinSoft.HtmlToRtf.dll b/KommAuspraegung/bin/Debug/SautinSoft.HtmlToRtf.dll new file mode 100644 index 0000000..a9c4f42 Binary files /dev/null and b/KommAuspraegung/bin/Debug/SautinSoft.HtmlToRtf.dll differ diff --git a/KommAuspraegung/bin/Debug/ThemenDokumente.dll b/KommAuspraegung/bin/Debug/ThemenDokumente.dll new file mode 100644 index 0000000..241b2a3 Binary files /dev/null and b/KommAuspraegung/bin/Debug/ThemenDokumente.dll differ diff --git a/KommAuspraegung/bin/Debug/ThemenDokumente.pdb b/KommAuspraegung/bin/Debug/ThemenDokumente.pdb new file mode 100644 index 0000000..2157c4d Binary files /dev/null and b/KommAuspraegung/bin/Debug/ThemenDokumente.pdb differ diff --git a/KommAuspraegung/bin/Debug/ThemenDokumente.xml b/KommAuspraegung/bin/Debug/ThemenDokumente.xml new file mode 100644 index 0000000..ed80218 --- /dev/null +++ b/KommAuspraegung/bin/Debug/ThemenDokumente.xml @@ -0,0 +1,1226 @@ + + + + +ThemenDokumente + + + + + + Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + + + + + Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + + + + + Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. + + + + + Purpose: Data Access class for the table 'DokumentAblageort'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumentablageortNr
  • +
  • iDokumentablagetypNr. May be SqlInt32.Null
  • +
  • iDokumentNr. May be SqlInt32.Null
  • +
  • sAblageort. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • iMandantNr. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumentablageortNr
  • +
  • iDokumentablagetypNr. May be SqlInt32.Null
  • +
  • iDokumentNr. May be SqlInt32.Null
  • +
  • sAblageort. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • iMandantNr. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumentablageortNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumentablageortNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iDokumentablageortNr
  • +
  • iDokumentablagetypNr
  • +
  • iDokumentNr
  • +
  • sAblageort
  • +
  • sBeschreibung
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
  • bAktiv
  • +
  • iMandantNr
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'DokumentAblageTyp'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumentAblageTypNr
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • iMandantNr. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumentAblageTypNr
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • iMandantNr. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumentAblageTypNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumentAblageTypNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iDokumentAblageTypNr
  • +
  • sBezeichnung
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
  • bAktiv
  • +
  • iMandantNr
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'Dokumenttyp'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumenttypnr
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumenttypnr
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumenttypnr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumenttypnr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iDokumenttypnr
  • +
  • sBezeichnung
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
  • bAktiv
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'SpeicherTyp'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iSpeicherTypNr
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iSpeicherTypNr
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iSpeicherTypNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iSpeicherTypNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iSpeicherTypNr
  • +
  • sBezeichnung
  • +
  • sBeschreibung
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'Dokument'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumentNr
  • +
  • iKeyValue. May be SqlInt32.Null
  • +
  • iDokType. May be SqlInt32.Null
  • +
  • iDokumenttypNr. May be SqlInt32.Null
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • sFilename. May be SqlString.Null
  • +
  • sOriginalFilename_incl_Path. May be SqlString.Null
  • +
  • sVersion. May be SqlString.Null
  • +
  • sVersionsNr. May be SqlString.Null
  • +
  • daVersionsdatum. May be SqlDateTime.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • blobDocImage. May be SqlBinary.Null
  • +
  • iSpeichertypNr. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumentNr
  • +
  • iKeyValue. May be SqlInt32.Null
  • +
  • iDokType. May be SqlInt32.Null
  • +
  • iDokumenttypNr. May be SqlInt32.Null
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • sFilename. May be SqlString.Null
  • +
  • sOriginalFilename_incl_Path. May be SqlString.Null
  • +
  • sVersion. May be SqlString.Null
  • +
  • sVersionsNr. May be SqlString.Null
  • +
  • daVersionsdatum. May be SqlDateTime.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • blobDocImage. May be SqlBinary.Null
  • +
  • iSpeichertypNr. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumentNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumentNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iDokumentNr
  • +
  • iKeyValue
  • +
  • iDokType
  • +
  • iDokumenttypNr
  • +
  • sBezeichnung
  • +
  • sBeschreibung
  • +
  • sFilename
  • +
  • sOriginalFilename_incl_Path
  • +
  • sVersion
  • +
  • sVersionsNr
  • +
  • daVersionsdatum
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
  • bAktiv
  • +
  • blobDocImage
  • +
  • iSpeichertypNr
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'key_tabelle'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • sBeschreibung
  • +
  • iKey_wert
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iKeynr
  • +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKeynr
  • +
  • sBeschreibung
  • +
  • iKey_wert
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKeynr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKeynr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iKeynr
  • +
  • sBeschreibung
  • +
  • iKey_wert
  • +
  • iMandantnr
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'spalten'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iEintragnr
  • +
  • sTabelle. May be SqlString.Null
  • +
  • sTabellenspalte. May be SqlString.Null
  • +
  • sSpalte. May be SqlString.Null
  • +
  • bReadonly
  • +
  • bAlsHacken
  • +
  • iBreite. May be SqlInt32.Null
  • +
  • iReihenfolge. May be SqlInt32.Null
  • +
  • sTiptext. May be SqlString.Null
  • +
  • bAktiv
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • sNumberFormat. May be SqlString.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iEintragnr
  • +
  • sTabelle. May be SqlString.Null
  • +
  • sTabellenspalte. May be SqlString.Null
  • +
  • sSpalte. May be SqlString.Null
  • +
  • bReadonly
  • +
  • bAlsHacken
  • +
  • iBreite. May be SqlInt32.Null
  • +
  • iReihenfolge. May be SqlInt32.Null
  • +
  • sTiptext. May be SqlString.Null
  • +
  • bAktiv
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • sNumberFormat. May be SqlString.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iEintragnr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iEintragnr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iEintragnr
  • +
  • sTabelle
  • +
  • sTabellenspalte
  • +
  • sSpalte
  • +
  • bReadonly
  • +
  • bAlsHacken
  • +
  • iBreite
  • +
  • iReihenfolge
  • +
  • sTiptext
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
  • iMandantnr
  • +
  • sNumberFormat
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Dokument laden + + PersonNr + + + + + + Person sichern + + + + + + + Kopie eines Datensatzes erstellen. + + Ursprungs-Person: Ist dieser Wert nicht 0, werden die Daten mit BaseNr zuerst gelesen + + + + + + Datensatz inaktivieren + + Ursprungs-Person: Ist dieser Wert nicht 0, werden die Daten mit BaseNr zuerst gelesen + + + + + + Datensatz physisch löschen + + Ursprungs-Person: Ist dieser Wert nicht 0, werden die Daten mit BaseNr zuerst gelesen + + + + + + Neue Person einfügen + + + + + + + Dokumenttypen laden und in der Datatable Dokumenttypdaten bereit stellen + + + + + + + Datei im Dokument speichern + + + + + + + + + Klasse für das Speichern bzw. Auslesen von Image-Dateien in der Datenbank + + + Es werden folgende Datebanktabellen berücksichtigt: + + + Dokument Attribut DocImage + + Profile Attribut V_Uebersicht (Profillayout des C1TrueDBGrids der + Vertragsübersicht|Vertragselemente + + yes + + + + Grid-Layoutfile speichern + + C1Truedbgrind, von welchem das Layout gespeichert werden soll + Nummer des Grids: 1=Vertragsübersicht... + + + + + + Dokument in der Tabelle Dokument speichern + + Nummer des Dokument-Datensatzes + Zu speichender Dateiname + + + + + + Liest das Dokument aus der DB und speichert dieses unter einem temporären Filenamen ab + + + + + + + + Sortierung der in der DB-Tabelle Spalaten festgelegten Reihenfolge + + + + + + + + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Doktype + 1: Vertragselement + 2: Test-Drehbuch + 3: Applikationsdokument + 4: Applikationlogbuch + ö + + + + + Schliessen des Formulars + + + + + + + + Prüfung, ob Datenänderungen vorgenommen wurden. Beim Speichern werden ebenfalls allfällige Änderungen von C1DokumentAblagoeOrt durchgeführt. + Wurden lediglich Änderungen bei C1Dokumentablageort vorgenommen, wird separat gefrat, ob die Änderungen gespeichert werden sollen. + + + + + + + + Optionaler Parameter Dokumentnummer des aktuellen Dokuments + + + + + Formular-Load + + + + + + + + Formular schliessen + + + + + + + + Sicherungs-Button betätigt + + + + + + + + Datensatz kopieren + + + + + + + + Neuer Datensatz erstellen + + + + + + + + Aktueller Datensatz inaktivieren + + + + + + + + Menu Beenden + + + + + + + + Vertragspartner suchen + + + + + + + + Allg Eventhandler für Chanage-Ereignise festlegen + + + + + + + Envent-Handler für Change-Ereignisse + + + + + + + + Sucht in den Base-Controls sämtliche Controls mit dem Namen in "Key" (Wildcards * möglich) und listet + die gefundnen Controls in der Liste L zur weiteren Bearbeitung + + Base-Contrlo (z.B. aktuelles Formular + Schlüssel welcher gesucht werden soll + Liste der gefundenen Objekte + True wenn eines oder mehr Controls gefunden wurden, false wenn kein Control gefunden wurde. + + + + + + Handelt das Change-Ereignis eines Datetimepckers und stellt das ausgewählte Datum in das entsprechende Textfeld + + + + + + + + Daten ab DB laden uns ins Form befüllen + + + + + + + Daten ab Form speichern + + + + + + Auswahl des zu speichernden Dokumentes + + + + + + + + Dokument anzeigen + + + + + + + + Text-Change von Txt-Dateiname + + + + + + + + Tabellenname übernehmen und Daten ab DB laden + + + + + + + Daten ab Datenbank laden + + + + + + Basis-Datentabelle laden. Diese wird für die dynamische Generierung der Insert- und Update-Statements benötigt + + + + + + Update-Statement dynamisch für das UpdateCommand generieren + + + + + + Insert-Statement dynamisch für das InsertCommand generieren + + + + + + Prefixt für den SP-Übergabeparameter generieren + + Aktuelle Columnt + Prefis für SP-Übergabeparameter + + + + + SQL-DB-Type für den SP-Übergabeparameter festlegen + + Aktuelle Column + SQLDBType + + + + + Feldlänge für den SP-Übergabeparemter festlegen + + Aktulle Column + Feldlänge + + + + + Datesichern. Dabei wird das Update- sowie das Insert-Statement dynamisch generiert + + + + + + Dispose von Tabledata + + + + + + Load der Verbindungstabelle + + + + + + + + + Neuer Eintrag in der Tabelle eintragen. Sind neben den Defaultwerten weitere Attribute vorhanden, werde diese abhängig vom Datentype mit Defaultwerten befüllt. + + + + + + + + + + Dokumente lesen und dem Grid übergeben + + C1TrueDBGrid mit Dokumente + + + + + + Kontakte auslesen und dem Truedbgrid übergeben + + TruedbGrid + Vertragselement, für welches die Dokumente ausgelesen werden + + + +
+
diff --git a/KommAuspraegung/frmAuspraegungstexte.Designer.vb b/KommAuspraegung/frmAuspraegungstexte.Designer.vb new file mode 100644 index 0000000..e3fe919 --- /dev/null +++ b/KommAuspraegung/frmAuspraegungstexte.Designer.vb @@ -0,0 +1,181 @@ + _ +Partial Class frmAuspraegungstexte + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmAuspraegungstexte)) + Me.ToolStrip1 = New System.Windows.Forms.ToolStrip() + Me.TSBtnQuit = New System.Windows.Forms.ToolStripButton() + Me.PnlAll = New System.Windows.Forms.Panel() + Me.rtbdoc1 = New ExtendedRichTextBox.RichTextBoxPrintCtrl() + Me.tsBtnPreview = New System.Windows.Forms.ToolStrip() + Me.tsbtnSaveAs = New System.Windows.Forms.ToolStripButton() + Me.tsbtnPageSetup = New System.Windows.Forms.ToolStripButton() + Me.tsbtbPreview = New System.Windows.Forms.ToolStripButton() + Me.tsbtnprint = New System.Windows.Forms.ToolStripButton() + Me.SaveFileDialog1 = New System.Windows.Forms.SaveFileDialog() + Me.PageSetupDialog1 = New System.Windows.Forms.PageSetupDialog() + Me.PrintDialog1 = New System.Windows.Forms.PrintDialog() + Me.PrintDocument1 = New System.Drawing.Printing.PrintDocument() + Me.PrintPreviewDialog1 = New System.Windows.Forms.PrintPreviewDialog() + Me.ToolStrip1.SuspendLayout() + Me.PnlAll.SuspendLayout() + Me.tsBtnPreview.SuspendLayout() + Me.SuspendLayout() + ' + 'ToolStrip1 + ' + Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.TSBtnQuit}) + Me.ToolStrip1.Location = New System.Drawing.Point(0, 0) + Me.ToolStrip1.Name = "ToolStrip1" + Me.ToolStrip1.Size = New System.Drawing.Size(816, 25) + Me.ToolStrip1.TabIndex = 5 + Me.ToolStrip1.Text = "ToolStrip1" + ' + 'TSBtnQuit + ' + Me.TSBtnQuit.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnQuit.Image = CType(resources.GetObject("TSBtnQuit.Image"), System.Drawing.Image) + Me.TSBtnQuit.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnQuit.Name = "TSBtnQuit" + Me.TSBtnQuit.Size = New System.Drawing.Size(23, 22) + Me.TSBtnQuit.Text = "ToolStripButton1" + Me.TSBtnQuit.ToolTipText = "Anwendung beenden" + ' + 'PnlAll + ' + Me.PnlAll.Controls.Add(Me.rtbdoc1) + Me.PnlAll.Controls.Add(Me.tsBtnPreview) + Me.PnlAll.Dock = System.Windows.Forms.DockStyle.Fill + Me.PnlAll.Location = New System.Drawing.Point(0, 25) + Me.PnlAll.Name = "PnlAll" + Me.PnlAll.Size = New System.Drawing.Size(816, 517) + Me.PnlAll.TabIndex = 8 + Me.PnlAll.Visible = False + ' + 'rtbdoc1 + ' + Me.rtbdoc1.Dock = System.Windows.Forms.DockStyle.Fill + Me.rtbdoc1.Location = New System.Drawing.Point(0, 25) + Me.rtbdoc1.Name = "rtbdoc1" + Me.rtbdoc1.Size = New System.Drawing.Size(816, 492) + Me.rtbdoc1.TabIndex = 1 + Me.rtbdoc1.Text = "" + ' + 'tsBtnPreview + ' + Me.tsBtnPreview.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.tsbtnSaveAs, Me.tsbtnPageSetup, Me.tsbtbPreview, Me.tsbtnprint}) + Me.tsBtnPreview.Location = New System.Drawing.Point(0, 0) + Me.tsBtnPreview.Name = "tsBtnPreview" + Me.tsBtnPreview.Size = New System.Drawing.Size(816, 25) + Me.tsBtnPreview.TabIndex = 0 + Me.tsBtnPreview.Text = "ToolStrip2" + ' + 'tsbtnSaveAs + ' + Me.tsbtnSaveAs.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tsbtnSaveAs.Image = CType(resources.GetObject("tsbtnSaveAs.Image"), System.Drawing.Image) + Me.tsbtnSaveAs.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tsbtnSaveAs.Name = "tsbtnSaveAs" + Me.tsbtnSaveAs.Size = New System.Drawing.Size(23, 22) + Me.tsbtnSaveAs.Text = "Speichern unter" + ' + 'tsbtnPageSetup + ' + Me.tsbtnPageSetup.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tsbtnPageSetup.Image = CType(resources.GetObject("tsbtnPageSetup.Image"), System.Drawing.Image) + Me.tsbtnPageSetup.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tsbtnPageSetup.Name = "tsbtnPageSetup" + Me.tsbtnPageSetup.Size = New System.Drawing.Size(23, 22) + Me.tsbtnPageSetup.Text = "Seite einrichten" + ' + 'tsbtbPreview + ' + Me.tsbtbPreview.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tsbtbPreview.Image = CType(resources.GetObject("tsbtbPreview.Image"), System.Drawing.Image) + Me.tsbtbPreview.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tsbtbPreview.Name = "tsbtbPreview" + Me.tsbtbPreview.Size = New System.Drawing.Size(23, 22) + Me.tsbtbPreview.Text = "Vorschau" + ' + 'tsbtnprint + ' + Me.tsbtnprint.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tsbtnprint.Image = CType(resources.GetObject("tsbtnprint.Image"), System.Drawing.Image) + Me.tsbtnprint.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tsbtnprint.Name = "tsbtnprint" + Me.tsbtnprint.Size = New System.Drawing.Size(23, 22) + Me.tsbtnprint.Text = "Drucken" + ' + 'PrintDialog1 + ' + Me.PrintDialog1.UseEXDialog = True + ' + 'PrintDocument1 + ' + ' + 'PrintPreviewDialog1 + ' + Me.PrintPreviewDialog1.AutoScrollMargin = New System.Drawing.Size(0, 0) + Me.PrintPreviewDialog1.AutoScrollMinSize = New System.Drawing.Size(0, 0) + Me.PrintPreviewDialog1.ClientSize = New System.Drawing.Size(400, 300) + Me.PrintPreviewDialog1.Enabled = True + Me.PrintPreviewDialog1.Icon = CType(resources.GetObject("PrintPreviewDialog1.Icon"), System.Drawing.Icon) + Me.PrintPreviewDialog1.Name = "PrintPreviewDialog1" + Me.PrintPreviewDialog1.Visible = False + ' + 'frmAuspraegungstexte + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(816, 542) + Me.Controls.Add(Me.PnlAll) + Me.Controls.Add(Me.ToolStrip1) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.Name = "frmAuspraegungstexte" + Me.Text = "Zusammenfassung Kommunikationsdokumente" + Me.ToolStrip1.ResumeLayout(False) + Me.ToolStrip1.PerformLayout() + Me.PnlAll.ResumeLayout(False) + Me.PnlAll.PerformLayout() + Me.tsBtnPreview.ResumeLayout(False) + Me.tsBtnPreview.PerformLayout() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents ToolStrip1 As System.Windows.Forms.ToolStrip + Friend WithEvents TSBtnQuit As System.Windows.Forms.ToolStripButton + Friend WithEvents rtbDoc As ExtendedRichTextBox.RichTextBoxPrintCtrl + Friend WithEvents PnlAll As System.Windows.Forms.Panel + Friend WithEvents tsBtnPreview As System.Windows.Forms.ToolStrip + Friend WithEvents tsbtnSaveAs As System.Windows.Forms.ToolStripButton + Friend WithEvents tsbtnPageSetup As System.Windows.Forms.ToolStripButton + Friend WithEvents tsbtbPreview As System.Windows.Forms.ToolStripButton + Friend WithEvents tsbtnprint As System.Windows.Forms.ToolStripButton + Friend WithEvents rtbdoc1 As ExtendedRichTextBox.RichTextBoxPrintCtrl + Friend WithEvents SaveFileDialog1 As System.Windows.Forms.SaveFileDialog + Friend WithEvents PageSetupDialog1 As System.Windows.Forms.PageSetupDialog + Friend WithEvents PrintDialog1 As System.Windows.Forms.PrintDialog + Friend WithEvents PrintDocument1 As System.Drawing.Printing.PrintDocument + Friend WithEvents PrintPreviewDialog1 As System.Windows.Forms.PrintPreviewDialog +End Class diff --git a/KommAuspraegung/frmAuspraegungstexte.resx b/KommAuspraegung/frmAuspraegungstexte.resx new file mode 100644 index 0000000..6c739f8 --- /dev/null +++ b/KommAuspraegung/frmAuspraegungstexte.resx @@ -0,0 +1,2373 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 17, 17 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAK2SURBVDhPnZLdS1NhHMcfCPoDuummi+gyunJg0QviNrd5 + PDtzc7Z5ztl20pUzo6I3yFIrS9N8K7Qih6lUFJVaGWXZi6KRoZSFmCuyi+iiiCKILgo+HTUWu7QffOD5 + PfB8eL6/5xH/U1+mh4IzM+O/Ovdm8Hdrvi5X5PR2H86ht2oWKUnPEYkr5XYexXfyebKfTxO3+P5mkIv7 + ramCngqZtDV2Vq+zsWbDP9LXWVllWc+PRD+J3krGWv18TTzm8kFHqqC7TCbD6sRml7A7XEmsWU7S19t4 + 3Rlh7JzO6Okgn1/d5dqh7FSBo1kg1Swi2+5DcilI2W4kScblktlglZjsMBg9G+JJS5CPYz1zUf8eFcJ2 + XJD42IXTlORkaridARTJjyJ7kd0eMh1uXsbDjLTqDDYXMDN8idvVyrzAViOYeN9Gx6Ago1pgbxA4Twnk + sqV4lSCeXD9ZOT7Gz2kMntT5cWc5UwPt3K31Ilx1gqfvqomPCNqGzfXbIp69i/D8Q3hOku8Jk5cXRPIE + eHZa5WGTxs/+Fby63cpAg39e8CCxh/i4ID4maH8p6JgUvPgWwXFSEMwrYmMghDtPY6QlwEBjkLY9Tp73 + HOdxc2AugsVuRuib2kxXQpA5G+GEwNEkyC1fhq5GUXUDX9BgqNnPvfp8rh9WeHqpguEWNTlES1atoPet + D2ejwAjswtBKMcLFGEaUiFFIIBTlYYOXO3U++mq8DJ3fzeiZUMozWpzmlZW6xUSN7USLSiiKFs9RaKJt + inG/zkNfdS43jnrob40x3hZJEYjO0rVsKSmlJLaDkq3bksRMCou3c69W5uYxhe4qNzfrQ0y0FyJ0XUfX + QmhaGFWdxVyrmtmrSVSz31igsy8W4EKFYv5AmatHcpns2jw/xIVSpqfvrzyw8vf0hVhqhAXUEpM0IYTl + DzXbwlLPDlfpAAAAAElFTkSuQmCC + + + + 261, 17 + + + + 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 + + + + 124, 17 + + + 382, 17 + + + 534, 17 + + + 653, 17 + + + 793, 17 + + + + AAABAAYAICAQAAAAAADoAgAAZgAAABAQEAAAAAAAKAEAAE4DAAAgIAAAAQAIAKgIAAB2BAAAEBAAAAEA + CABoBQAAHg0AACAgAAABACAAqBAAAIYSAAAQEAAAAQAgAGgEAAAuIwAAKAAAACAAAABAAAAAAQAEAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAACAgACAAAAAgACAAICAAACAgIAAwMDAAAAA + /wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIoiI + iIiIiIiIiIiIiIiIiIiCIigiIiIozMzMzMzMyCIogiIoIiIiKM7m5ubm5sgiKIIiKCIiIijObm5ubm7I + IiiCIigiIiIozubm5ubmyCIogiIoIiIiKM5ubm5ubsgiKIIiKCIiIijO5ubm5ubIIiiIiIiIiIiIzm5u + bm5uyCIogRERERERGM7u7u7u7sgiKIHZWVlZWRjMzMzMzMzIIiiB1ZWVlZUYiIiIiIiIiIiIgdlZWVlZ + GDMzMzMzMzMzOIHVlZWVlRg/uLi4uLi4uDiB2VlZWVkYP7uLi4uLi4s4gdWVlZWVGD+4uLi4uLi4OIHZ + WVlZWRg/u4uLi4uLiziB1ZWVlZUYP7i4uLi4uLg4gdlZWVlZGD+7i4uLi4uLOIHVlZWVlRg/uLi4uLi4 + uDiB3d3d3d0YP7uLi4uLi4s4gRERERERGD+4uLi4uLi4OIiIiIiIiIg/u4uLi4uLiziCIiIiIiIoP7i4 + uLi4uLg4giIiIiIiKD+7i4uLi4uLOIIiIiIiIig/uLi4uLi4uDiCIiIiIiIoP7u7u7u7u7s4giIiIiIi + KD//////////OIIiIiIiIigzMzMzMzMzMziIiIiIiIiIiIiIiIiIiIiIIiIiIiIiIiIiIiIiIiIiIv// + ////////AAAAAHv4AA57+AAOe/gADnv4AA57+AAOe/gADgAAAA4AAAAOAAAADgAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH/4AAB/+AAAf/gAAH/4AAB/+AAAf/gAAAAA + AAD/////KAAAABAAAAAgAAAAAQAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAACA + gACAAAAAgACAAICAAACAgIAAwMDAAAAA/wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAiIiIiIiIiIoiI + iIiIiIiIgigijMzMyCiCKCKM5mbIKIiIiIzu7sgogRERjMzMyCiB2ZGIiIiIiIHZkYMzMzM4gdmRg/u7 + uziB3dGD+7u7OIEREYP7u7s4iIiIg/u7uziCIiKD+7u7OIIiIoP///84giIigzMzMziIiIiIiIiIiP// + KCIAACjObALm5mwCIigAAoiIAAKIzgAAbm4AACIoAAAREQAAGM4AAO7uAAAiKHwAWVl8ABjMfADMzAAA + IigoAAAAIAAAAEAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAgAAAAICAAIAA + AACAAIAAgIAAAICAgADA3MAA8MqmAKo/KgD/PyoAAF8qAFVfKgCqXyoA/18qAAB/KgBVfyoAqn8qAP9/ + KgAAnyoAVZ8qAKqfKgD/nyoAAL8qAFW/KgCqvyoA/78qAADfKgBV3yoAqt8qAP/fKgAA/yoAVf8qAKr/ + KgD//yoAAABVAFUAVQCqAFUA/wBVAAAfVQBVH1UAqh9VAP8fVQAAP1UAVT9VAKo/VQD/P1UAAF9VAFVf + VQCqX1UA/19VAAB/VQBVf1UAqn9VAP9/VQAAn1UAVZ9VAKqfVQD/n1UAAL9VAFW/VQCqv1UA/79VAADf + VQBV31UAqt9VAP/fVQAA/1UAVf9VAKr/VQD//1UAAAB/AFUAfwCqAH8A/wB/AAAffwBVH38Aqh9/AP8f + fwAAP38AVT9/AKo/fwD/P38AAF9/AFVffwCqX38A/19/AAB/fwBVf38Aqn9/AP9/fwAAn38AVZ9/AKqf + fwD/n38AAL9/AFW/fwCqv38A/79/AADffwBV338Aqt9/AP/ffwAA/38AVf9/AKr/fwD//38AAACqAFUA + qgCqAKoA/wCqAAAfqgBVH6oAqh+qAP8fqgAAP6oAVT+qAKo/qgD/P6oAAF+qAFVfqgCqX6oA/1+qAAB/ + qgBVf6oAqn+qAP9/qgAAn6oAVZ+qAKqfqgD/n6oAAL+qAFW/qgCqv6oA/7+qAADfqgBV36oAqt+qAP/f + qgAA/6oAVf+qAKr/qgD//6oAAADUAFUA1ACqANQA/wDUAAAf1ABVH9QAqh/UAP8f1AAAP9QAVT/UAKo/ + 1AD/P9QAAF/UAFVf1ACqX9QA/1/UAAB/1ABVf9QAqn/UAP9/1AAAn9QAVZ/UAKqf1AD/n9QAAL/UAFW/ + 1ACqv9QA/7/UAADf1ABV39QAqt/UAP/f1AAA/9QAVf/UAKr/1AD//9QAVQD/AKoA/wAAH/8AVR//AKof + /wD/H/8AAD//AFU//wCqP/8A/z//AABf/wBVX/8Aql//AP9f/wAAf/8AVX//AKp//wD/f/8AAJ//AFWf + /wCqn/8A/5//AAC//wBVv/8Aqr//AP+//wAA3/8AVd//AKrf/wD/3/8AVf//AKr//wD/zMwA/8z/AP// + MwD//2YA//+ZAP//zAAAfwAAVX8AAKp/AAD/fwAAAJ8AAFWfAACqnwAA/58AAAC/AABVvwAAqr8AAP+/ + AAAA3wAAVd8AAKrfAAD/3wAAVf8AAKr/AAAAACoAVQAqAKoAKgD/ACoAAB8qAFUfKgCqHyoA/x8qAAA/ + KgBVPyoA8Pv/AKSgoACAgIAAAAD/AAD/AAAA//8A/wAAAAAAAAD//wAA////AP39/f39/f39/f39/f39 + /f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39 + /f39/f39/f39/f39/f39/f39/f39/f39qoYIqoYIhqoIqgiqCaoIqgiqhqqGhoYIhoYIqv39/f0I/f39 + /ar9/f39/YY2Ng4yDg4ODgoOCgoKCgqG/f39/Yb9/f39CP39/f39qjY7Ozs3Nzc3NjMSMjIOCqr9/f39 + qv39/f2G/f39/f0IN19fOzs3Nzc3NjcODg4KCP39/f0I/f39/ar9/f39/ao6X19fXzs7Ozc3NzY3NgqG + /f39/Yb9/f39CP39/f39hl9jY19jX187Ozs7Nzc3Dqr9/f39qv39/f2G/f39/f0IOodjh19jX19fXztf + OzcOCP39/f0ICAmqCAiqCKoICapfCYdjh2ODY19fXzs7Ow6q/f39/QhITEwoSCUoKSQoqmMJCYcJCWNj + Y2NfY19fNgj9/f39qkyZmZmYmJRwlCmqX19fXl9fX186WzY3Njc2gv39/f0JcJ2dmZmZlJmUJAmqCaoJ + hggIqggICKoIqggI/f39/YZwnp2dnZmZmJVMqnx8fHx8fFR8VHhUVFRUVKr9/f39CHChoZ2dnZ2ZmUwJ + fKSkxqSkxqSkpKSkpKBUCP39/f2qcKLDoqGdnZ2ZTKp8ysakxqSkxqSkxqSkpFSq/f39/QiUpqbDoqHE + nZ1Mq3ykqMakyqSkxqSkpKSkVAj9/f39hpTIyKbHoqGhoXAIfMrLpMqkxqSkxqTGpKRUqv39/f0IlMym + yKbIpcShcAh8y6jKpMqkxsqkpKSkxlQI/f39/aqUzMzMyKbIpqJwqnzLy8qpxsqkpMakxqSkeAj9/f39 + CJSUlJSUlJSUlJQJgMupy8qpysqkyqSkxqRUqv39/f2GCKoIqgiqCKoIhgigrcvPqcuoy8qkxsqkxnyG + /f39/ar9/f39/f39/f39qnzPz6nLy8uoyqnKpKTKVAj9/f39CP39/f39/f39/f0IfNDPz8+py8upyqjG + yqR8hv39/f2G/f39/f39/f39/Qik0K7P0M+ty8vLy6jKpXyq/f39/ar9/f39/f39/f39CHzQ09Ctz8/P + qcupy6jKeAj9/f39CP39/f39/f39/f2qoNPQ0NPQ0M/Qz8vLy6l8CP39/f2G/f39/f39/f39/QmkfKR8 + oHx8fHx8fHx8fHyG/f39/aoIqgiqCKoIqgiqCKoIqgiqCKoIqgiqCKoIqgj9/f39/f39/f39/f39/f39 + /f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f3///////////// + ///AAAAD3vgAA974AAPe+AAD3vgAA974AAPe+AADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AA + AAPAAAADwAAAA8AAAAPAAAADwAAAA9/4AAPf+AAD3/gAA9/4AAPf+AAD3/gAA8AAAAP//////////ygA + AAAQAAAAIAAAAAEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAA + gACAgAAAgICAAMDcwADwyqYAqj8qAP8/KgAAXyoAVV8qAKpfKgD/XyoAAH8qAFV/KgCqfyoA/38qAACf + KgBVnyoAqp8qAP+fKgAAvyoAVb8qAKq/KgD/vyoAAN8qAFXfKgCq3yoA/98qAAD/KgBV/yoAqv8qAP// + KgAAAFUAVQBVAKoAVQD/AFUAAB9VAFUfVQCqH1UA/x9VAAA/VQBVP1UAqj9VAP8/VQAAX1UAVV9VAKpf + VQD/X1UAAH9VAFV/VQCqf1UA/39VAACfVQBVn1UAqp9VAP+fVQAAv1UAVb9VAKq/VQD/v1UAAN9VAFXf + VQCq31UA/99VAAD/VQBV/1UAqv9VAP//VQAAAH8AVQB/AKoAfwD/AH8AAB9/AFUffwCqH38A/x9/AAA/ + fwBVP38Aqj9/AP8/fwAAX38AVV9/AKpffwD/X38AAH9/AFV/fwCqf38A/39/AACffwBVn38Aqp9/AP+f + fwAAv38AVb9/AKq/fwD/v38AAN9/AFXffwCq338A/99/AAD/fwBV/38Aqv9/AP//fwAAAKoAVQCqAKoA + qgD/AKoAAB+qAFUfqgCqH6oA/x+qAAA/qgBVP6oAqj+qAP8/qgAAX6oAVV+qAKpfqgD/X6oAAH+qAFV/ + qgCqf6oA/3+qAACfqgBVn6oAqp+qAP+fqgAAv6oAVb+qAKq/qgD/v6oAAN+qAFXfqgCq36oA/9+qAAD/ + qgBV/6oAqv+qAP//qgAAANQAVQDUAKoA1AD/ANQAAB/UAFUf1ACqH9QA/x/UAAA/1ABVP9QAqj/UAP8/ + 1AAAX9QAVV/UAKpf1AD/X9QAAH/UAFV/1ACqf9QA/3/UAACf1ABVn9QAqp/UAP+f1AAAv9QAVb/UAKq/ + 1AD/v9QAAN/UAFXf1ACq39QA/9/UAAD/1ABV/9QAqv/UAP//1ABVAP8AqgD/AAAf/wBVH/8Aqh//AP8f + /wAAP/8AVT//AKo//wD/P/8AAF//AFVf/wCqX/8A/1//AAB//wBVf/8Aqn//AP9//wAAn/8AVZ//AKqf + /wD/n/8AAL//AFW//wCqv/8A/7//AADf/wBV3/8Aqt//AP/f/wBV//8Aqv//AP/MzAD/zP8A//8zAP// + ZgD//5kA///MAAB/AABVfwAAqn8AAP9/AAAAnwAAVZ8AAKqfAAD/nwAAAL8AAFW/AACqvwAA/78AAADf + AABV3wAAqt8AAP/fAABV/wAAqv8AAAAAKgBVACoAqgAqAP8AKgAAHyoAVR8qAKofKgD/HyoAAD8qAFU/ + KgDw+/8ApKCgAICAgAAAAP8AAP8AAAD//wD/AAAAAAAAAP//AAD///8A/f39/f39/f39/f39/f39/f0I + hgiqCKoICKoICKaGCP39qv39hv2GNg4ODjII/ar9/Yb9/ar9qjdjXzsOCP2G/f0IhquGCAleCWNfNob9 + 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 + bv+3d0n/wr/B/wAAAAAAAAAAAAAAAAAAAADCv8H/FRqE/0dN1v8/RNL/Nz3Q/y40zv8nLcz/ISfK/xwh + yf8WHMf/GxJh/8K/wf/gr3r/4K96/+Cvev/gr3r/3614/9yqdf/apnL/16Nw/9Sea//Rmmj/zZZk/8qR + X//GjFz/w4dW/7+CUv/Cv8H/AAAAAAAAAAAAAAAAAAAAAMK/wf8SHZD/WF3a/05U1/9FS9X/PUPS/zU7 + 0P8uM83/JyzL/yAmyf8aFGn/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/ + wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf8AAAAAAAAAAAAAAAAAAAAAwr/B/xAfnP9obt7/YGTc/1Zb + 2f9NU9f/RUrU/ztB0v80OdD/LDHO/xgWcv/Cv8H/Dn+n/w18pP8MeqH/DHie/wt1m/8Kc5j/CXGV/wlv + k/8JbJD/CGqN/wdpi/8HZ4j/BmWH/wZkhf8GYoP/wr/B/wAAAAAAAAAAAAAAAAAAAADCv8H/DiKp/3l+ + 4/9vdeH/Zmze/11i2/9UWtn/S1HW/0NI1P86P9H/Fhh9/8K/wf8Ogar/Barp/wGo6P8Apef/AKPm/wCi + 5P8An+L/AJ7h/wCd3/8AnN7/AJnc/wCY2/8AmNn/AJbX/wZjhP/Cv8H/AAAAAAAAAAAAAAAAAAAAAMK/ + wf8MJbX/iI7n/4CF5v93fOP/bnPg/2Vr3f9bYdv/UljY/0lP1v8UGoj/wr/B/w+Erf8Lrur/Bqvq/wOo + 6f8Apuf/AKTm/wCi5f8AoOT/AJ/i/wCd4f8AnN//AJrd/wCZ2/8AmNr/BmWH/8K/wf8AAAAAAAAAAAAA + AAAAAAAAwr/B/wkowP+WnOz/jpTq/4aL6P9+hOX/dXri/2xx4P9jaN3/WV/b/xEek//Cv8H/EIaw/xay + 7P8Or+z/Cavr/wWq6v8Bp+j/AKbn/wCj5f8AoeT/AJ/j/wCe4f8AnOD/AJve/wCa3f8HZ4n/wr/B/wAA + AAAAAAAAAAAAAAAAAADCv8H/CCrK/6Ko7/+coe7/lZrr/42T6f+Fiub/fIHl/3N54v9rcN//ECGg/8K/ + wf8QiLP/I7nu/xq07f8Ssez/C63r/war6v8Cqen/AKbo/wCk5v8AouX/AKHk/wCf4f8AneH/AJzf/who + i//Cv8H/AAAAAAAAAAAAAAAAAAAAAMK/wf8GLNP/q7Hy/6as8P+hpu//mp/u/5OY6/+LkOj/g4nm/3qA + 5P8NI6z/wr/B/xCKtv8xvvD/J7rv/x627f8Vsuz/Dq/s/wmr6/8Equn/Aafo/wCl5/8Ao+X/AKHk/wCf + 4v8AnuH/CGqO/8K/wf8AAAAAAAAAAAAAAAAAAAAAwr/B/wUu2/+vtPP/r7Tz/6qv8v+mq/D/oKXv/5me + 7f+Sl+v/io/p/wsmt//Cv8H/Eo24/0HF8f82wfD/LLzv/yK47v8atO3/EbHs/wut6/8Gq+r/A6np/wCm + 6P8Apeb/AKLl/wCh5P8IbJD/wr/B/wAAAAAAAAAAAAAAAAAAAADCv8H/BC/h/wQv3/8FL9z/BS3Z/wYt + 1v8GLNL/ByvP/wgqy/8IKcb/CSnC/8K/wf8Sjrv/Uszy/0fH8f87w/H/Mb7v/ye67/8et+7/FbPt/w6v + 6/8IrOv/BKnp/wGo6P8Apef/AKPl/wluk//Cv8H/AAAAAAAAAAAAAAAAAAAAAMK/wf/Cv8H/wr/B/8K/ + wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/xKRvf9j0/P/WM/z/0zK8f9BxfH/N8Hw/yy8 + 7/8iuO7/GbTt/xGx7P8Lruv/Bqrq/wOo6f8Apuf/CnGV/8K/wf8AAAAAAAAAAAAAAAAAAAAAwr/B/wAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADCv8H/E5LA/3Ta8/9q1fP/XtHz/1LM + 8v9Hx/H/O8Pw/zG+7/8nu+//Hrbt/xay7f8Or+v/CKzq/wSq6f8Kc5j/wr/B/wAAAAAAAAAAAAAAAAAA + AADCv8H/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMK/wf8UlMH/hOD1/3rc + 9f9v2PP/ZNTy/1jO8v9NyvH/Qsbx/zbB8P8svO//I7ju/xm07f8SsOz/C67r/wt2m//Cv8H/AAAAAAAA + AAAAAAAAAAAAAMK/wf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwr/B/xSW + w/+T5vb/iuL1/3/e9P912vT/adbz/13R8/9SzPL/R8jx/zzD8P8xvvD/J7rv/x627v8Vsuz/C3ie/8K/ + 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 + KHpQjaJUDkplbHpQiMHmk89q21ZQqacG1VQl0+l5f3oJih5UiyiVE72MTc+yrLatIKrxEWDZ+P8Bgy4T + 4I23DE4AAAAASUVORK5CYIIoAAAAgAAAAAABAAABACAAAAAAAAAIAQAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSk + AqSkpAOkpKQDpKSkBKSkpASkpKQEpKSkBKSkpASkpKQEpKSkBKSkpASkpKQEpKSkBKSkpASkpKQEpKSk + BKSkpASkpKQFpKSkB6SkpAikpKQKpKSkCqSkpAqkpKQKpKSkCqSkpAqkpKQKpKSkCqSkpAqkpKQKpKSk + CqSkpAqkpKQKpKSkCqSkpAqkpKQKpKSkCqSkpAqkpKQKpKSkCqSkpAqkpKQKpKSkCqSkpAqkpKQKpKSk + CqSkpAqkpKQKpKSkCKSkpAekpKQFpKSkBKSkpASkpKQEpKSkBKSkpASkpKQEpKSkBKSkpASkpKQEpKSk + BKSkpASkpKQEpKSkBKSkpASkpKQDpKSkA6SkpAKkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAKSkpAGkpKQBpKSkAqSkpAOkpKQDpKSkBKSkpASkpKQEpKSkBqSkpAikpKQJpKSk + CqSkpAqkpKQKpKSkCqSkpAqkpKQLpKSkDKSkpA6kpKQRpKSkFKSkpBWkpKQWpKSkFqSkpBakpKQWpKSk + FqSkpBakpKQWpKSkFqSkpBakpKQWpKSkFqSkpBakpKQWpKSkF6SkpBqkpKQepKSkI6SkpCakpKQnpKSk + J6SkpCekpKQnpKSkJ6SkpCekpKQnpKSkJ6SkpCekpKQnpKSkJ6SkpCekpKQnpKSkJ6SkpCekpKQnpKSk + J6SkpCekpKQnpKSkJ6SkpCekpKQnpKSkJ6SkpCekpKQnpKSkJ6SkpCakpKQjpKSkHqSkpBqkpKQXpKSk + FqSkpBakpKQWpKSkFqSkpBakpKQWpKSkFqSkpBakpKQWpKSkFqSkpBakpKQWpKSkFqSkpBWkpKQUpKSk + EaSkpA6kpKQMpKSkC6SkpAqkpKQKpKSkCqSkpAqkpKQKpKSkCaSkpAikpKQGpKSkBKSkpASkpKQEpKSk + A6SkpAOkpKQCpKSkAaSkpAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAACkpKQBpKSkAqSkpAOkpKQEpKSkBqSkpAikpKQJpKSkC6SkpA2kpKQQpKSk + E6SkpBSkpKQWpKSkF6SkpBikpKQcpKSkIaSkpCSkpKQnpKSkJ6SkpCekpKQnpKSkJ6SkpCmkpKQrpKSk + MKSkpDakpKQ8pKSkP6SkpD+kpKRApKSkQKSkpECkpKRApKSkQKSkpECkpKRApKSkQKSkpECkpKRApKSk + QKSkpECkpKRCpKSkR6SkpE6kpKRVpKSkWqSkpFykpKRdpKSkXqSkpF6kpKRepKSkXqSkpF6kpKRepKSk + XqSkpF6kpKRepKSkXqSkpF6kpKRepKSkXqSkpF6kpKRepKSkXqSkpF6kpKRepKSkXqSkpF6kpKRepKSk + XqSkpF2kpKRcpKSkWqSkpFWkpKROpKSkR6SkpEKkpKRApKSkQKSkpECkpKRApKSkQKSkpECkpKRApKSk + QKSkpECkpKRApKSkQKSkpECkpKQ/pKSkP6SkpDykpKQ2pKSkMKSkpCukpKQppKSkJ6SkpCekpKQnpKSk + J6SkpCekpKQkpKSkIaSkpBykpKQYpKSkF6SkpBakpKQUpKSkE6SkpBCkpKQNpKSkC6SkpAmkpKQIpKSk + BqSkpASkpKQDpKSkAqSkpAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkpKQCpKSkBqSkpAukpKQPpKSk + E6SkpBikpKQcpKSkIaSkpCWkpKQopKSkLaSkpDOkpKQ5pKSkPaSkpD+kpKRBpKSkRKSkpEqkpKRSpKSk + WKSkpFykpKRdpKSkXqSkpF6kpKRepKSkX6SkpGKkpKRppKSkcaSkpHmkpKR9pKSkf6SkpH+kpKR+pKSk + fqSkpH6kpKR+pKSkfqSkpH6kpKR+pKSkfqSkpH6kpKR+pKSkfqSkpIKkpKSHpKSkj6SkpJekpKSdpKSk + n6SkpKCkpKSgpKSkoKSkpKCkpKSgpKSkoKSkpKCkpKSgpKSkoKSkpKCkpKSgpKSkoKSkpKCkpKSgpKSk + oKSkpKCkpKSgpKSkoKSkpKCkpKSgpKSkoKSkpKCkpKSgpKSkoKSkpJ+kpKSdpKSkl6SkpI+kpKSHpKSk + gqSkpH6kpKR+pKSkfqSkpH6kpKR+pKSkfqSkpH6kpKR+pKSkfqSkpH6kpKR+pKSkf6SkpH+kpKR9pKSk + eaSkpHGkpKRppKSkYqSkpF+kpKRepKSkXqSkpF6kpKRdpKSkXKSkpFikpKRSpKSkSqSkpESkpKRBpKSk + P6SkpD2kpKQ5pKSkM6SkpC2kpKQopKSkJaSkpCGkpKQcpKSkGKSkpBOkpKQPpKSkC6SkpAakpKQCAAAA + AAAAAAAAAAAApKSkA6SkpAukpKQXpKSkJKSkpDCkpKQ5pKSkQaSkpEqkpKRSpKSkWaSkpF6kpKRlpKSk + baSkpHakpKR8pKSkfqSkpH+kpKSEpKSki6SkpJOkpKSapKSknqSkpJ+kpKSgpKSkoKSkpKCkpKShpKSk + pKSkpKukpKSypKSkuKSkpLykpKS9pKSkvaSkpL6kpKS+pKSkvqSkpL6kpKS+pKSkvqSkpL6kpKS+pKSk + vqSkpL6kpKS+pKSkv6SkpMOkpKTJpKSkz6SkpNOkpKTVpKSk1aSkpNakpKTWpKSk1qSkpNakpKTWpKSk + 1qSkpNakpKTWpKSk1qSkpNakpKTWpKSk1qSkpNakpKTWpKSk1qSkpNakpKTWpKSk1qSkpNakpKTWpKSk + 1qSkpNakpKTVpKSk1aSkpNOkpKTPpKSkyaSkpMOkpKS/pKSkvqSkpL6kpKS+pKSkvqSkpL6kpKS+pKSk + vqSkpL6kpKS+pKSkvqSkpL6kpKS9pKSkvaSkpLykpKS4pKSksqSkpKukpKSkpKSkoaSkpKCkpKSgpKSk + oKSkpJ+kpKSepKSkmqSkpJOkpKSLpKSkhKSkpH+kpKR+pKSkfKSkpHakpKRtpKSkZaSkpF6kpKRZpKSk + UqSkpEqkpKRBpKSkOaSkpDCkpKQkpKSkF6SkpAukpKQDAAAAAKSkpAGkpKQKpKSkG6SkpDSkpKRNpKSk + Y6SkpHKkpKR9pKSkh6SkpJCkpKSZpKSkn6SkpKWkpKStpKSktKSkpLqkpKS8pKSkvaSkpMCkpKTGpKSk + zKSkpNGkpKTUpKSk1aSkpNWkpKTVpKSk1aSkpNakpKTYpKSk26SkpOCkpKTkpKSk5qSkpOekpKTnpKSk + 6KSkpOikpKTopKSk6KSkpOikpKTopKSk6KSkpOikpKTopKSk6KSkpOikpKTopKSk6qSkpOykpKTvpKSk + 8aSkpPKkpKTzpKSk86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk + 86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk86SkpPOkpKTypKSk8aSkpO+kpKTspKSk + 6qSkpOikpKTopKSk6KSkpOikpKTopKSk6KSkpOikpKTopKSk6KSkpOikpKTopKSk6KSkpOekpKTnpKSk + 5qSkpOSkpKTgpKSk26SkpNikpKTWpKSk1aSkpNWkpKTVpKSk1aSkpNSkpKTRpKSkzKSkpMakpKTApKSk + vaSkpLykpKS6pKSktKSkpK2kpKSlpKSkn6SkpJmkpKSQpKSkh6SkpH2kpKRypKSkY6SkpE2kpKQ0pKSk + G6SkpAqkpKQBpKSkA6SkpBCkpKQqpKSkTaSkpHCkpKSNpKSkoKSkpK2kpKS3pKSkwKSkpMikpKTMpKSk + 0qSkpNikpKTcpKSk4KSkpOKkpKTkpKSk5aSkpOikpKTspKSk7qSkpPCkpKTwpKSk8KSkpPGkpKTxpKSk + 8qSkpPOkpKT0pKSk9qSkpPekpKT4pKSk+aSkpPmkpKT5pKSk+aSkpPmkpKT5pKSk+aSkpPmkpKT6pKSk + +qSkpPqkpKT6pKSk+qSkpPqkpKT6pKSk+qSkpPukpKT8pKSk/aSkpP2kpKT9pKSk/aSkpP2kpKT9pKSk + /aSkpP2kpKT9pKSk/aSkpP2kpKT9pKSk/aSkpP2kpKT9pKSk/aSkpP2kpKT9pKSk/aSkpP2kpKT9pKSk + /aSkpP2kpKT9pKSk/aSkpP2kpKT8pKSk+6SkpPqkpKT6pKSk+qSkpPqkpKT6pKSk+qSkpPqkpKT6pKSk + +aSkpPmkpKT5pKSk+aSkpPmkpKT5pKSk+aSkpPmkpKT4pKSk96SkpPakpKT0pKSk86SkpPKkpKTxpKSk + 8aSkpPCkpKTwpKSk8KSkpO6kpKTspKSk6KSkpOWkpKTkpKSk4qSkpOCkpKTcpKSk2KSkpNKkpKTMpKSk + yKSkpMCkpKS3pKSkraSkpKCkpKSNpKSkcKSkpE2kpKQqpKSkEKSkpAOkpKQDpKSkEKSkpCukpKRQpKSk + dKSkpJKkpKSkpKSksqSkpLykpKTFpKSkzKSkpNOkpKTXpKSk3qSkpN+kpKTipKSk5aSkpOikpKTrpKSk + 7aSkpO+kpKTwpKSk8KSkpPGkpKTypKSk86SkpPWkpKT2pKSk96SkpPekpKT4pKSk+KSkpPmkpKT5pKSk + +aSkpPmkpKT5pKSk+aSkpPqkpKT7pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk + /KSkpP2kpKT9pKSk/aSkpP2kpKT9pKSk/aSkpP2kpKT9pKSk/aSkpP2kpKT9pKSk/aSkpP2kpKT9pKSk + /aSkpP2kpKT9pKSk/aSkpP2kpKT9pKSk/aSkpP2kpKT9pKSk/aSkpP2kpKT9pKSk/aSkpP2kpKT8pKSk + /KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk+6SkpPqkpKT5pKSk+aSkpPmkpKT5pKSk + +aSkpPmkpKT4pKSk+KSkpPekpKT3pKSk9qSkpPWkpKTzpKSk8qSkpPGkpKTwpKSk8KSkpO+kpKTtpKSk + 66SkpOikpKTlpKSk4qSkpN+kpKTepKSk16SkpNOkpKTMpKSkxaSkpLykpKSypKSkpKSkpJKkpKR0pKSk + UKSkpCukpKQQpKSkA6SkpAKkpKQLpKSkIKSkpDqkpKRWpKSkbKSkpHykpKSJpKSkk6SkpJykpKSkpKSk + rKSkpLSkpKS5pKSkvKSkpMCkpKTFpKSky6SkpNCkpKTTpKSk1aSkpNWkpKTVpKSk1qSkpNmkpKTepKSk + 4qSkpOWkpKTmpKSk56SkpOikpKTopKSk6KSkpOikpKTopKSk6KSkpOikpKTqpKSk7KSkpO+kpKTxpKSk + 8qSkpPOkpKTzpKSk86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk + 86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk + 86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk + 8qSkpPGkpKTvpKSk7KSkpOqkpKTopKSk6KSkpOikpKTopKSk6KSkpOikpKTopKSk56SkpOakpKTlpKSk + 4qSkpN6kpKTZpKSk1qSkpNWkpKTVpKSk1aSkpNOkpKTQpKSky6SkpMWkpKTApKSkvKSkpLmkpKS0pKSk + rKSkpKSkpKScpKSkk6SkpImkpKR8pKSkbKSkpFakpKQ6pKSkIKSkpAukpKQCAAAAAKSkpAWkpKQOpKSk + HKSkpCykpKQ4pKSkQ6SkpE2kpKRVpKSkXaSkpGWkpKRtpKSkdqSkpHykpKR+pKSkhKSkpIukpKSTpKSk + mqSkpJ6kpKSfpKSkoKSkpKCkpKSipKSkp6SkpK6kpKS1pKSkuqSkpLykpKS9pKSkvqSkpL6kpKS+pKSk + vqSkpL6kpKS+pKSkv6SkpMOkpKTJpKSkz6SkpNOkpKTVpKSk1aSkpNakpKTWpKSk1qSkpNakpKTWpKSk + 1qSkpNakpKTWpKSk1qSkpNakpKTWpKSk1qSkpNakpKTWpKSk1qSkpNakpKTWpKSk1qSkpNakpKTWpKSk + 1qSkpNakpKTWpKSk1qSkpNakpKTWpKSk1qSkpNakpKTWpKSk1qSkpNakpKTWpKSk1qSkpNakpKTWpKSk + 1qSkpNakpKTWpKSk1qSkpNakpKTWpKSk1qSkpNWkpKTVpKSk06SkpM+kpKTJpKSkw6SkpL+kpKS+pKSk + vqSkpL6kpKS+pKSkvqSkpL6kpKS9pKSkvKSkpLqkpKS1pKSkrqSkpKekpKSipKSkoKSkpKCkpKSfpKSk + nqSkpJqkpKSTpKSki6SkpISkpKR+pKSkfKSkpHakpKRtpKSkZaSkpF2kpKRVpKSkTaSkpEOkpKQ4pKSk + LKSkpBykpKQOpKSkBQAAAAAAAAAAAAAAAKSkpAOkpKQIpKSkDqSkpBSkpKQZpKSkHqSkpCOkpKQopKSk + LaSkpDOkpKQ5pKSkPaSkpECkpKREpKSkSqSkpFKkpKRYpKSkXKSkpF2kpKRepKSkXqSkpGCkpKRlpKSk + baSkpHWkpKR8pKSkfqSkpH+kpKR+pKSkfqSkpH6kpKR+pKSkfqSkpH6kpKSCpKSkh6SkpI+kpKSXpKSk + naSkpJ+kpKSgpKSkoKSkpKCkpKSgpKSkoKSkpKCkpKSgpKSkoKSkpKCkpKSgpKSkoKSkpKCkpKSgpKSk + oKSkpKCkpKSgpKSkoKSkpKCkpKSgpKSkoKSkpKCkpKSgpKSkoKSkpKCkpKSgpKSkoKSkpKCkpKSgpKSk + oKSkpKCkpKSgpKSkoKSkpKCkpKSgpKSkoKSkpKCkpKSgpKSkoKSkpKCkpKSgpKSkoKSkpKCkpKSgpKSk + oKSkpJ+kpKSdpKSkl6SkpI+kpKSHpKSkgqSkpH6kpKR+pKSkfqSkpH6kpKR+pKSkfqSkpH+kpKR+pKSk + fKSkpHWkpKRtpKSkZaSkpGCkpKRepKSkXqSkpF2kpKRcpKSkWKSkpFKkpKRKpKSkRKSkpECkpKQ9pKSk + OaSkpDOkpKQtpKSkKKSkpCOkpKQepKSkGaSkpBSkpKQOpKSkCKSkpAMAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAACkpKQCpKSkA6SkpAWkpKQHpKSkCaSkpAukpKQNpKSkEKSkpBOkpKQUpKSkFqSkpBikpKQcpKSk + IaSkpCSkpKQnpKSkJ6SkpCekpKQopKSkKqSkpC2kpKQzpKSkOaSkpD2kpKQ/pKSkQKSkpECkpKRApKSk + QKSkpECkpKRApKSkQKSkpEKkpKRHpKSkTqSkpFWkpKRapKSkXKSkpF2kpKRepKSkXqSkpF6kpKRepKSk + XqSkpF6kpKRepKSkXqSkpF6kpKRepKSkXqSkpF6kpKRepKSkXqSkpF6kpKRepKSkXqSkpF6kpKRepKSk + XqSkpF6kpKRepKSkXqSkpF6kpKRepKSkXqSkpF6kpKRepKSkXqSkpF6kpKRepKSkXqSkpF6kpKRepKSk + XqSkpl2kpKZco6SnW6OlqFqjpahZo6WoWaOlqFmjpahYo6WoV6OlqVWjpalQo6WpSaOlqUKkpag+pKSm + PaSkpj6kpKRApKSkQKSkpECkpKRApKSkQKSkpD+kpKQ9pKSkOaSkpDOkpKQtpKSkKqSkpCikpKQnpKSk + J6SkpCekpKQkpKSkIaSkpBykpKQYpKSkFqSkpBSkpKQTpKSkEKSkpA2kpKQLpKSkCaSkpAekpKQFpKSk + A6SkpAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApKSk + AaSkpAGkpKQCpKSkA6SkpAOkpKQEpKSkBKSkpAakpKQIpKSkCaSkpAqkpKQKpKSkCqSkpAqkpKQLpKSk + DaSkpBCkpKQTpKSkFKSkpBakpKQWpKSkFqSkpBakpKQWpKSkFqSkpBakpKQWpKSkF6SkpBqkpKQepKSk + I6SkpCakpKQnpKSkJ6SkpCekpKQnpKSkJ6SkpCekpKQnpKSkJ6SkpCekpKQnpKSkJ6SkpCekpKQnpKSk + J6SkpCekpKQnpKSkJ6SkpCekpKQnpKSkJ6SkpCekpKQnpKSkJ6SkpCekpKQnpKSkJ6SkpCekpKQnpKSk + J6SkpCekpKQnpKSlJ6SkpSekpKYmpKSnJKSlqiKkoqAkpJZ1UaSUcIWmjVKrp4lBzaiIPOeohjr/qIc6 + /6iHOv+ohzr/qIc5/6eFN/+mhDfmpYM30KSEO7Ojkm2Bo5FtUqOdkBqkpqoRpKWoE6SlqBWkpKYWpKSm + FqSkphSkpKYTpKSlEKSkpQ2kpKULoqGhCqKjowqkpKQKpKSkCqSkpAmkpKQIpKSkBqSkpASkpKQEpKSk + A6SkpAOkpKQCpKSkAaSkpAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAKSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAqSkpAOkpKQDpKSkBKSkpASkpKQEpKSk + BKSkpASkpKQEpKSkBKSkpASkpKQEpKSkBaSkpAekpKQIpKSkCqSkpAqkpKQKpKSkCqSkpAqkpKQKpKSk + CqSkpAqkpKQKpKSkCqSkpAqkpKQKpKSkCqSkpAqkpKQKpKSkCqSkpAqkpKQKpKSkCqSkpAqkpKQKpKSk + CqSkpAqkpKQKoqOjCqKioAqjoZ4Ko6CbCqOflwqjnpQKo52QCqOcjQqhm4sJopuLBqKVfBOikGlqon0u + taJ8KfiifCv/onws/6F9Lf+hfS7/oX0u/6F9Lv+hfS7/oX0u/6F9Lv+hfS7/oH0t/6B9LP+ffCv/n3wr + /596Kf+feij/n3on/595JsSfgj9xn4ZNGQAAAACgkW0CoJJyA6KUdwOhln4CoZiFAaGcjQGjnpQBo6Ca + AaOinwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAApKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSk + AaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBoqOjAaKioAGjoJoBo56TAaGbiwGil4MBopZ6 + AaCScwEAAAAAAAAAAJ+ERzieeSeqnnkl/p55Jv+eein/nnop/556Kf+eein/nnop/556Kf+eein/nnop + /556Kf+eein/nnop/556Kf+eeij/nnoo/556KP+eeij/nnoo/556KP+eeij/nnoo/556J/+eeib/nnkk + uqCEQ1EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKCCQjqeeSTDnnon/596KP+feyj/n3so + /597KP+feyj/n3so/597KP+feyj/n3so/597KP+feyj/n3so/597KP+feyj/n3so/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/nnon/556JuGefTBcAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AJ6AOiSeeSW/nnon/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/596KP+feibdnn0zQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACeeyt+n3on/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feij/n3oo + qp96JwsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACfeigbn3oo + 1Z96KP+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp7597KT0AAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAn3spRp97Kfufeyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597KXoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ97KW2feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597KaIAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAACfeyl+n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Ka8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAn3spcZ97Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Ka8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAJ97KWCfeyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597KZ0AAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACfeyk5n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597KXEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAn3spE597Ke+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597KTQAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACfeynAn3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp6597KQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAn3spZJ97Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + oQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ97KQufeyn3n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3spNQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAn3spmJ97Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feynRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ97KRyfeyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feylLAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAn3spnJ97Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597KdQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ97KQufeyn+n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597KT4AAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAn3spcp97Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sprQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACfeynTn3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn+n3sp + BwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAn3spHZ97Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyldAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACeeih3nnoo/556KP+eeij/nnoo + /556KP+eeij/nnoo/556KP+eeij/nnoo/556KP+eeij/nnoo/556KP+eeij/nnoo/556KP+eeij/nnoo + /556KP+eeij/nnoo/556KP+eeij/nnoo/556KP+eeij/nnoo/556KP+eeij/nnoo/556KP+eeij/nnoo + /556KP+eeij/nnoo/556KP+eeij/nnoo/556KP+eeij/nnoo/556KP+eeij/nnoo/556KP+eeij/nnoo + /556KP+eeij/nnoo/556KP+eeij/nnoo/556KP+eeij/nnoo/556KP+eeij/nnoo/556KP+eeij/nnoo + /556KK0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAKB8KbmffCr/n3wq/598Kv+ffCr/n3wq/598Kv+ffCr/n3wq/598Kv+ffCr/n3wq + /598Kv+ffCr/n3wq/598Kv+ffCr/n3wq/598Kv+ffCr/n3wq/598Kv+ffCr/n3wq/598Kv+ffCr/n3wq + /598Kv+ffCr/n3wq/598Kv+ffCr/n3wq/598Kv+ffCr/n3wq/598Kv+ffCr/n3wq/598Kv+ffCr/n3wq + /598Kv+ffCr/n3wq/598Kv+ffCr/n3wq/598Kv+ffCr/n3wq/598Kv+ffCr/n3wq/598Kv+ffCr/n3wq + /598Kv+ffCr/n3wq/598Kv+ffCr/n3wq/598Kv+ffCr/n3sp9QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAon0q+aJ8Kv+ifCr/onwq + /6J8Kv+ifCr/onwq/6J8Kv+ifCr/onwq/6J8Kv+ifCr/onwq/6J8Kv+ifCr/onwq/6J8Kv+ifCr/onwq + /6J8Kv+ifCr/onwq/6J8Kv+ifCr/onwq/6J8Kv+ifCr/onwq/6J8Kv+ifCr/onwq/6J8Kv+ifCr/onwq + /6J8Kv+ifCr/onwq/6J8Kv+ifCr/onwq/6J8Kv+ifCr/onwq/6J8Kv+ifCr/onwq/6J8Kv+ifCr/onwq + /6J8Kv+ifCr/onwq/6J8Kv+ifCr/onwq/6J8Kv+ifCr/onwq/6J8Kv+ifCr/onwq/6J8Kv+ifCr/onwq + /6J8Kv+ifCr/onwqKgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAJJyNiajfyz/on8t/6J/Lf+ify3/on8t/6J/Lf+ify3/on8t/6J/Lf+ify3/on8t + /6J/Lf+ify3/on8t/6J/Lf+ify3/on8t/6J/Lf+ify3/on8t/6J/Lf+ify3/on8t/6J/Lf+ify3/on8t + /6J/Lf+ify3/on8t/6J/Lf+ify3/on8t/6J/Lf+ify3/on8t/6J/Lf+ify3/on8t/6J/Lf+ify3/on8t + /6J/Lf+ify3/on8t/6J/Lf+ify3/on8t/6J/Lf+ify3/on8t/6J/Lf+ify3/on8t/6J/Lf+ify3/on8t + /6J/Lf+ify3/on8t/6J/Lf+ify3/on8t/6J/Lf+ify3/on8t/6J/Lf+ify1dAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsLgTcLC4FuCwuBoAsLgcYLC4HjCwuB/QsLgf8LC4H/CwuB + /wsLgf8LC4HjCwuBygsLgakLC4F2CwuBRAoKgQQAAAAAAAAAAAAAAAAAAAAAjW49UKaALv+lfy//pX8v + /6V/L/+lfy//pX8v/6V/L/+lfy//pX8v/6V/L/+lfy//pX8v/6V/L/+lfy//pX8v/6V/L/+lfy//pX8v + /6V/L/+lfy//pX8v/6V/L/+lfy//pX8v/6V/L/+lfy//pX8v/6V/L/+lfy//pX8v/6V/L/+lfy//pX8v + /6V/L/+lfy//pX8v/6V/L/+lfy//pX8v/6V/L/+lfy//pX8v/6V/L/+lfy//pX8v/6V/L/+lfy//pX8v + /6V/L/+lfy//pX8v/6V/L/+lfy//pX8v/6V/L/+lfy//pX8v/6V/L/+lfy//pX8v/6V/L/+lfy//pX8v + /6V/L/+lfy//pX8v/6V/L4sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALC4EMCwuBYQsLgboLC4H+CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /woKgcYRD352JR93FAAAAACLbEV1qIIu/6eCL/+ngi//p4Iv/6eCL/+ngi//p4Iv/6eCL/+ngi//p4Iv + /6eCL/+ngi//p4Iv/6eCL/+ngi//p4Iv/6eCL/+ngi//p4Iv/6eCL/+ngi//p4Iv/6eCL/+ngi//p4Iv + /6eCL/+ngi//p4Iv/6eCL/+ngi//p4Iv/6eCL/+ngi//p4Iv/6eCL/+ngi//p4Iv/6eCL/+ngi//p4Iv + /6eCL/+ngi//p4Iv/6eCL/+ngi//p4Iv/6eCL/+ngi//p4Iv/6eCL/+ngi//p4Iv/6eCL/+ngi//p4Iv + /6eCL/+ngi//p4Iv/6eCL/+ngi//p4Iv/6eCL/+ngi//p4Iv/6eCL/+ngi//p4IvsQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAALC4E2CwuBrQsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/woKgf8JCYH/AAKEt5JyS8Kqgyz/qIIw + /6mCMv+pgjL/qYIy/6mCMv+pgjL/qYIy/6mCMv+pgjL/qYIy/6mCMv+pgjL/qYIy/6mCMv+pgjL/qYIy + /6mCMv+pgjL/qYIy/6mCMv+pgjL/qYIy/6mCMv+pgjL/qYIy/6mCMv+pgjL/qYIy/6mCMv+pgjL/qYIy + /6mCMv+pgjL/qYIy/6mCMv+pgjL/qYIy/6mCMv+pgjL/qYIy/6mCMv+pgjL/qYIy/6mCMv+pgjL/qYIy + /6mCMv+pgjL/qYIy/6mCMv+pgjL/qYIy/6mCMv+pgjL/qYIy/6mCMv+pgjL/qYIy/6mCMv+pgjL/qYIy + /6mCMv+pgjL/qYIy/6mCMv+pgjLOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALC4E6CwuBwwsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8FB4D/c1yV/7GLkv+rhVX/qYQt/6mFMf+phTL/qYUy/6mFMv+phTL/qYUy + /6mFMv+phTL/qYUy/6mFMv+phTL/qYUy/6mFMv+phTL/qYUy/6mFMv+phTL/qYUy/6mFMv+phTL/qYUy + /6mFMv+phTL/qYUy/6mFMv+phTL/qYUy/6mFMv+phTL/qYUy/6mFMv+phTL/qYUy/6mFMv+phTL/qYUy + /6mFMv+phTL/qYUy/6mFMv+phTL/qYUy/6mFMv+phTL/qYUy/6mFMv+phTL/qYUy/6mFMv+phTL/qYUy + /6mFMv+phTL/qYUy/6mFMv+phTL/qYUy/6mFMv+phTL/qYUy/6mFMv+phTL/qYQy/6mFMuQAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALC4EXCwuB + twsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wUGf/+KbpT/tZKd + /7CKn/+vion/rIZG/6uFMf+shTT/rIU1/6yFNf+shTX/rIU1/6yFNf+shTX/rIU1/6yFNf+shTX/rIU1 + /6yFNf+shTX/rIU1/6yFNf+shTX/rIU1/6yFNf+shTX/rIU1/6yFNf+shTX/rIU1/6yFNf+shTX/rIU1 + /6yFNf+shTX/rIU1/6yFNf+shTX/rIU1/6yFNf+shTX/rIU1/6yFNf+shTX/rIU1/6yFNf+shTX/rIU1 + /6yFNf+shTX/rIU1/6yFNf+shTX/rIU1/6yFNf+shTX/rIU1/6yFNf+shTX/rIU1/6yFNf+shTX/rIU1 + /6yFNf+shTX/rIU1/6uFNP+wizv/q4U05wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAACwuBbQsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/BQZ//4ptlf/IqKP/r4ub/7GNnf+wjJ//r4pt/62HMv+uiDX/rog1 + /66INf+uiDX/rog1/66INf+uiDX/rog1/66INf+uiDX/rog1/66INf+uiDX/rog1/66INf+uiDX/rog1 + /66INf+uiDX/rog1/66INf+uiDX/rog1/66INf+uiDX/rog1/66INf+uiDX/rog1/66INf+uiDX/rog1 + /66INf+uiDX/rog1/66INf+uiDX/rog1/66INf+uiDX/rog1/66INf+uiDX/rog1/66INf+uiDX/rog1 + /66INf+uiDX/rog1/66INf+uiDX/rog1/66INf+uiDX/rog1/66INf+uiDX/rYc1/7iVR/+thzT/AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwuBCgsLgbsLC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8FBn//i2+W + /8Wkov+xjJz/sY2d/7KOnf+yjqD/so2O/6+JQP+uiDX/rog4/66IOP+uiDj/rog4/66IOP+uiDj/rog4 + /66IOP+uiDj/rog4/66IOP+uiDj/rog4/66IOP+uiDj/rog4/66IOP+uiDj/rog4/66IOP+uiDj/rog4 + /66IOP+uiDj/rog4/66IOP+uiDj/rog4/66IOP+uiDj/rog4/66IOP+uiDj/rog4/66IOP+uiDj/rog4 + /66IOP+uiDj/rog4/66IOP+uiDj/rog4/66IOP+uiDj/rog4/66IOP+uiDj/rog4/66IOP+uiDj/rog4 + /66IOP+uiDj/rog4/66IOP+uhzb/v5xQ/62HNv0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAsLgR8LC4HnCwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wUGf/+DaZX/y6uk/7KOnf+0kJ7/tJCe/7SQnv+0kJ//tI+d + /7GLT/+wijf/sYs6/7GLOv+xizr/sYs6/7GLOv+xizr/sYs6/7GLOv+xizr/sYs6/7GLOv+xizr/sYs6 + /7GLOv+xizr/sYs6/7GLOv+xizr/sYs6/7GLOv+xizr/sYs6/7GLOv+xizr/sYs6/7GLOv+xizr/sYs6 + /7GLOv+xizr/sYs6/7GLOv+xizr/sYs6/7GLOv+xizr/sYs6/7GLOv+xizr/sYs6/7GLOv+xizr/sYs6 + /7GLOv+xizr/sYs6/7GLOv+xizr/sYs6/7GLOv+xizr/sYs6/7GLOv+xizr/sYs6/6+JOP/JqWD/r4k3 + 4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALC4E0CwuB9wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/BQeA + /3Vek//Ssab/tI6d/7aQnf+2kJ3/tpCd/7aQnf+2kZ7/tpGj/7OMV/+yizf/s4s6/7OLOv+zizr/s4s6 + /7OLOv+zizr/s4s6/7OLOv+zizr/s4s6/7OLOv+zizr/s4s6/7OLOv+zizr/s4s6/7OLOv+zizr/s4s6 + /7OLOv+zizr/s4s6/7OLOv+zizr/s4s6/7OLOv+zizr/s4s6/7OLOv+zizr/s4s6/7OLOv+zizr/s4s6 + /7OLOv+zizr/s4s6/7OLOv+zizr/s4s6/7OLOv+zizr/s4s6/7OLOv+zizr/s4s6/7OLOv+zizr/s4s6 + /7OLOv+zizr/s4s6/7OLOv+zizr/sYo5/8mpYf+xijjgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAACwuBNAsLgfsLC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8GB4D/ZVKQ/8qppP/DoKP/tpKe/7aTn/+2k5//tpOf + /7aTn/+2k5//t5Kj/7SOWf+zjTn/s449/7OOPf+zjj3/s449/7OOPf+zjj3/s449/7OOPf+zjj3/s449 + /7OOPf+zjj3/s449/7OOPf+zjj3/s449/7OOPf+zjj3/s449/7OOPf+zjj3/s449/7OOPf+zjj3/s449 + /7OOPf+zjj3/s449/7OOPf+zjj3/s449/7OOPf+zjj3/s449/7OOPf+zjj3/s449/7OOPf+zjj3/s449 + /7OOPf+zjj3/s449/7OOPf+zjj3/s449/7OOPf+zjj3/s449/7OOPf+zjj3/s449/7OOPf+yizr/0bFr + /7KLOsIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsLgScLC4H7CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wcIgP9SQo3/wZyh/9Kzp/+3kp//uZOg/7mToP+5k6D/uZOg/7mToP+5lKD/uZSk/7aPWv+1jjv/to49 + /7aOPf+2jj3/to49/7aOPf+2jj3/to49/7aOPf+2jj3/to49/7aOPf+2jj3/to49/7aOPf+2jj3/to49 + /7aOPf+2jj3/to49/7aOPf+2jj3/to49/7aOPf+2jj3/to49/7aOPf+2jj3/to49/7aOPf+2jj3/to49 + /7aOPf+2jj3/to49/7aOPf+2jj3/to49/7aOPf+2jj3/to49/7aOPf+2jj3/to49/7aOPf+2jj3/to49 + /7aOPf+2jj3/to49/7aOPf+2jj3/tY49/76ZTP/Nq2P/tIw7oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAALC4EOCwuB7wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CAmA/zUriP+/maH/3L+q/7mToP+7lqH/u5ah + /7uWof+7lqH/u5ah/7uWof+7lqH/u5Wi/7iRTv+4kT7/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA + /7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA + /7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA + /7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+2jz3/0rNr + /7yWRv+6lER2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsLgc0LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8KCoD/Dw6B/8Ocov/gxKv/uZSg/7uXoP+7l6D/u5eg/7uXoP+7l6D/u5eg/7uXoP+7l6H/vJed + /7iRQv+4kkD/uJJA/7iSQP+4kkD/uJJA/7iSQP+4kkD/uJJA/7iSQP+4kkD/uJJA/7iSQP+4kkD/uJJA + /7iSQP+4kkD/uJJA/7iSQP+4kkD/uJJA/7iSQP+4kkD/uJJA/7iSQP+4kkD/uJJA/7iSQP+4kkD/uJJA + /7iSQP+4kkD/uJJA/7iSQP+4kkD/uJJA/7iSQP+4kkD/uJJA/7iSQP+4kkD/uJJA/7iSQP+4kkD/uJJA + /7iSQP+4kkD/uJJA/7iSQP+4kkD/uJJA/7ePPv/dwH3/to89/7yWRkgAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAALC4GMCwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8CBH//q4ed/97CrP/DnqP/vZeh + /76Xov++l6L/vpei/76Xov++l6L/vpei/76Xov++mKP/vZeJ/7qSPf+7kkP/u5JD/7uSQ/+7kkP/u5JD + /7uSQ/+7kkP/u5JD/7uSQ/+7kkP/u5JD/7uSQ/+7kkP/u5JD/7uSQ/+7kkP/u5JD/7uSQ/+7kkP/u5JD + /7uSQ/+7kkP/u5JD/7uSQ/+7kkP/u5JD/7uSQ/+7kkP/u5JD/7uSQ/+7kkP/u5JD/7uSQ/+7kkP/u5JD + /7uSQ/+7kkP/u5JD/7uSQ/+7kkP/u5JD/7uSQ/+7kkP/u5JD/7uSQ/+7kkP/u5JD/7uSQ/+7kkP/uI8+ + /+PHh/+4kD//vphJDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwuBMAsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wUGf/99ZZb/y6al/93Bq/++mKL/wJqj/8Cao//AmqP/wJqj/8Cao//AmqP/wJqj + /8Cao//Amqf/vZVk/7yUQf+9lUP/vZVD/72VQ/+9lUP/vZVD/72VQ/+9lUP/vZVD/72VQ/+9lUP/vZVD + /72VQ/+9lUP/vZVD/72VQ/+9lUP/vZVD/72VQ/+9lUP/vZVD/72VQ/+9lUP/vZVD/72VQ/+9lUP/vZVD + /72VQ/+9lUP/vZVD/72VQ/+9lUP/vZVD/72VQ/+9lUP/vZVD/72VQ/+9lUP/vZVD/72VQ/+9lUP/vZVD + /72VQ/+9lUP/vZVD/72VQ/+9lUP/vZVD/7yTQv/NqV//1rdw/7uSQNcAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAALC4HZCwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/BwiA/0Y5i//FnKT/7dWw + /7+Xo//Cm6T/wpuk/8KbpP/Cm6T/wpuk/8KbpP/Cm6T/wpuk/8KbpP/BmqH/vpZG/7+XRf+/l0b/v5dG + /7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG + /7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG + /7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/vJRC + /+fMjP/Bmkv/wJlJiwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwuBZQsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8KCoD/CAh//8adpP/kyK3/zqmn/8KbpP/Cm6X/wpul/8Kbpf/Cm6X/wpul + /8Kbpf/Cm6X/wpul/8Ocp//Cmnz/v5dE/7+XSP+/l0j/v5dI/7+XSP+/l0j/v5dI/7+XSP+/l0j/v5dI + /7+XSP+/l0j/v5dI/7+XSP+/l0j/v5dI/7+XSP+/l0j/v5dI/7+XSP+/l0j/v5dI/7+XSP+/l0j/v5dI + /7+XSP+/l0j/v5dI/7+XSP+/l0j/v5dI/7+XSP+/l0j/v5dI/7+XSP+/l0j/v5dI/7+XSP+/l0j/v5dI + /7+XSP+/l0j/v5dI/7+XSP+/l0j/v5dI/7+XR/+/l0X/7NSY/72UQ//EnU82AAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAALC4HuCwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8EBX//i2+Z + /8ylp//r0q//w5uk/8aepP/GnqT/xp6k/8aepP/GnqT/xp6k/8aepP/GnqT/xp6l/8adqf/BmVH/wppI + /8KaSP/Cmkj/wppI/8KaSP/Cmkj/wppI/8KaSP/Cmkj/wppI/8KaSP/Cmkj/wppI/8KaSP/Cmkj/wppI + /8KaSP/Cmkj/wppI/8KaSP/Cmkj/wppI/8KaSP/Cmkj/wppI/8KaSP/Cmkj/wppI/8KaSP/Cmkj/wppI + /8KaSP/Cmkj/wppI/8KaSP/Cmkj/wppI/8KaSP/Cmkj/wppI/8KaSP/Cmkj/wppI/8KaSP/Cmkj/wJhG + /92/ev/WtW7/wJdG6QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwuBbQsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wgIgP85L4n/zqKm//DZsv/Mp6f/x56l/8ifpv/In6b/yJ+m + /8ifpv/In6b/yJ+m/8ifpv/In6b/yJ+n/8adf//Dmkj/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL + /8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL + /8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL + /8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8OaS//Bl0b/9uCm/8GXRv/FnU5/AAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAALC4HhCwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wACfv+2kaL/1bGp/+3Vsv/FnKb/x5+n/8efp//Hn6f/x5+n/8efp//Hn6f/x5+n/8efp//Hn6f/yKCp + /8WbTP/Gm0v/xptL/8abS//Gm0v/xptL/8abS//Gm0v/xptL/8abS//Gm0v/xZtL/8WaSv/Fmkr/xZpK + /8WZSf/FmUn/xZlJ/8WZSf/Fmkn/xZpK/8WaSv/Fm0v/xZtL/8abS//Gm0v/xptL/8abS//Gm0v/xptL + /8abS//Gm0v/xptL/8abS//Gm0v/xptL/8abS//Gm0v/xptL/8abS//Gm0v/xptL/8abS//Gm0v/xJlJ + /9+/e//gwX3/xJlI/symWg8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwuBPwsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/BwiA/01Ajv/OpKj/9N2z/9Ouqf/Joaf/yqKo + /8qiqP/Koqj/yqKo/8qiqP/Koqj/yqKo/8qiqP/Koqr/yZ5z/8eeS//Ink7/yJ5O/8ieTv/Ink7/yJ5O + /8edTf/HnEz/x5tL/8ebS//Jplf/yrFh/826a//Ov3D/z8l6/8/Ief/PyHn/z8l6/87Bcv/MvW7/y7Rl + /8moWf/InU3/x5tL/8ebS//HnEz/x51N/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O + /8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8edTf/Hnk//++ix/8abSv/HnEyhAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAALC4GlCwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8KCoH/AQR+/7mVpf/Uran/+OO0/8qfp//Moqf/zKKn/8yip//Moqf/zKKn/8yip//Moqf/zKKn + /8yjqP/Mopn/yZ5K/8qeTv/Knk7/yZ5O/8mcTP/JnEz/zK5d/9DDc//T1oX/1eOU/9Xkl//V5Jb/1eOV + /9Xjlf/V45X/1eOV/9Xjlf/V45X/1eOV/9Xjlf/V5Jb/1eSW/9Xll//T2If/0Md4/8yxYf/Knk7/yZxM + /8mdTf/Knk7/yp5O/8qeTv/Knk7/yp5O/8qeTv/Knk7/yp5O/8qeTv/Knk7/yp5O/8qeTv/Knk7/x5tK + /+zRkf/evHb/yJxM/86mWBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsLgfULC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8HCID/Sz2O/9Opqv/r0LH/5siv + /8uiqP/Mpan/zKWp/8ylqf/Mpan/zKWp/8ylqf/Mpan/zKWp/82lrf/KoFb/yp9P/8qdTf/NrFz/0sh5 + /9Xgkv/W5Zf/1uSW/9bjlf/V45X/1eOV/9Xjlf/V45X/1eOV/9Xjlf/V45X/1eOV/9Xjlf/V45X/1eOV + /9Xjlf/V45X/1eOV/9bjlf/W5Jb/1uWX/9bjlf/Tzn//zbJj/8qeTv/Kn0//yqBQ/8qhUf/KoVH/yqFR + /8qhUf/KoVH/yqFR/8qhUf/KoVH/yqFR/8mfT//Xs2r/+OOq/8ecSv/Mo1SLAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAALC4I7CwuA/wsLgP8LC4D/CwuA/wsLgP8LC4D/CwuA/wsLgP8LC4D/CwuA/wsLgP8LC4D/CwuA + /wsLgP8LC4D/CwuA/wsLgP8LC4D/CwuA/wsLgP8LC4D/CwuA/wsLgP8LC4D/CwuA/wsLgP8LC4D/CwuA + /wsLgP8LC4D/CwuA/wsLgP8LC4D/CwuA/wsLgP8LC4D/CwuA/wsLgP8LC4D/CwuA/wsLgP8LC4D/CwuA + /wsLgP8LC4D/CwuA/wsLgP8AAn7/qIeh/9Cmqv/967b/17Ss/86kqf/Ppan/z6Wp/8+lqf/Ppan/z6Wp + /8+lqf/Ppan/zqWr/82gcv/Ps2P/1diL/9jmmP/Y5Jb/2OOV/9jilP/Y4pT/2OKU/9jilP/Y4pT/2OKU + /9jilP/Y4pT/2OKU/9jilP/Y4pT/2OKU/9jilP/Y4pT/2OKU/9jilP/Y4pT/2OKU/9jilP/Y4pT/2OOV + /9jjlf/Y5Zf/1t6Q/9C+b//Mn0//zKBQ/82hUf/NoVH/zaFR/82hUf/NoVH/zaFR/82hUf/MoVH/z6RU + //7stv/Sqlz/zKBQ7tOrYAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoKg38KCoP/CgqD/woKg/8KCoP/CgqD + /woKg/8KCoP/CgqD/woKg/8KCoP/CgqD/woKg/8KCoP/CgqD/woKg/8KCoP/CgqD/woKg/8KCoP/CgqD + /woKg/8KCoP/CgqD/woKg/8KCoP/CgqD/woKg/8KCoP/CgqD/woKg/8KCoP/CgqD/woKg/8KCoP/CgqD + /woKg/8KCoP/CgqD/woKg/8KCoP/CgqD/woKg/8KCoP/CgqD/woKg/8KCoP/CgqD/wkJgv8dGob/16yt + /9q1rf/+7bb/0qms/9Cnq//RqKz/0ais/9GorP/RqKz/0aer/9Clqv/Tt7b/2Ny2/9nml//Z5Jf/2eSX + /9nkl//Z5Jf/2eSX/9nkl//Z5Jf/2eSX/9nkl//Z5Jf/2eSX/9nkl//Z5Jf/2eSX/9nkl//Z5Jf/2eSX + /9nkl//Z5Jf/2eSX/9nkl//Z5Jf/2eSX/9nkl//Z5Jf/2eSX/9nkl//Z5Jf/2eaZ/9jhk//Su23/zqFR + /86jU//PpFT/z6RU/8+kVP/PpFT/z6RT/82gT//34KX/5MR//82hUP/QpldPAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAADAyDtQwMg/8MDIP/DAyD/wwMg/8MDIP/DAyD/wwMg/8MDIP/DAyD/wwMg/8MDIP/DAyD + /wwMg/8MDIP/DAyD/wwMg/8MDIP/DAyD/wwMg/8MDIP/DAyD/wwMg/8MDIP/DAyD/wwMg/8MDIP/DAyD + /wwMg/8MDIP/DAyD/wwMg/8MDIP/DAyD/wwMg/8MDIP/DAyD/wwMg/8MDIP/DAyD/wwMg/8MDIP/DAyD + /wwMg/8MDIP/DAyD/wwMg/8MDIP/DAyD/wYHgv9fTZb/2K2v/+bIsP/55bX/0aet/9Gorv/RqK7/0aiu + /9Gnrf/SrbD/2dbE/9zpz//b5cr/2eOV/9njmP/Z45j/2eOY/9njmP/Z45j/2eOY/9njmP/Z45j/2eOY + /9njmP/Z45j/2eOY/9njmP/Z45j/2eOY/9njmP/Z45j/2eOY/9njmP/Z45j/2eOY/9njmP/Z45j/2eOY + /9njmP/Z45j/2eOY/9njmP/Z45j/2uSY/9rmmv/Z3I//0rBg/8+iU//PpFb/z6RW/8+kVv/NoFD/79SW + //HZnf/NoFD/z6NUqgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANDYbsDQ2G/w0Nhv8NDYb/DQ2G + /w0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G + /w0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G + /w0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G + /wIEg/+bfqT/1quw//DYtP/34rX/06mv/9Oqr//TqK7/18C7/93m0P/d5s//3ObP/93m0f/b5Zj/3OWX + /9zll//c5Zf/3OWX/9zll//c5Zf/3OWX/9zll//c5Zf/3OWX/9zll//c5Zf/3OWX/9zll//c5Zf/3OWX + /9zll//c5Zf/3OWX/9zll//c5Zf/3OWX/9zll//c5Zf/3OWX/9zll//c5Zf/3OWX/9zll//c5Zf/3OWX + /9zlmP/b55r/18h7/9GkU//Rplb/z6NR/+zQkP/65Kv/0aVV/9GlVd7WsGQCAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAADQ2IBAwMiP8MDIj/DAyI/wwMiP8MDIj/DAyI/wwMiP8MDIj/DAyI/wwMiP8MDIj/DAyI + /wwMiP8MDIj/DAyI/wwMiP8MDIj/DAyI/wwMiP8MDIj/DAyI/wwMiP8MDIj/DAyI/wwMiP8MDIj/DAyI + /wwMiP8MDIj/DAyI/wwMiP8MDIj/DAyI/wwMiP8MDIj/DAyI/wwMiP8MDIj/DAyI/wwMiP8MDIj/DAyI + /wwMiP8MDIj/DAyI/wwMiP8MDIj/DAyI/wwMiP8MDIj/DAyH/wgJh/++maz/16qy//Xftf/44bX/1aqx + /9zTxv/f6NH/3+bQ/9/l0P/f5dD/3+bS/97ko//c5Jn/3OSa/9zkmv/c5Jr/3OSa/9zkmv/c5Jr/3OSa + /9zkmv/c5Jr/3OSa/9zkmv/c5Jr/3OSa/9zkmv/c5Jr/3OSa/9zkmv/c5Jr/3OSa/9zkmv/c5Jr/3OSa + /9zkmv/c5Jr/3OSa/9zkmv/c5Jr/3OSa/9zkmv/c5Jr/3OSa/93lmv/d5pz/29uP/9KnWP/tz4///Oix + /9WpWv/Uplf80LNpHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODoomDg6K/w4Oiv8ODor/Dg6K + /w4Oiv8ODor/Dg6K/w4Oiv8ODor/Dg6K/w4Oiv8ODor/Dg6K/w4Oiv8ODor/Dg6K/w4Oiv8ODor/Dg6K + /w4Oiv8ODor/Dg6K/w4Oiv8ODor/Dg6K/w4Oiv8ODor/Dg6K/w4Oiv8ODor/Dg6K/w4Oiv8ODor/Dg6K + /w4Oiv8ODor/Dg6K/w4Oiv8ODor/Dg6K/w4Oiv8ODor/Dg6K/w4Oiv8ODor/Dg6K/w4Oiv8ODor/Dg6K + /w4Oiv8ODor/DAyJ/xYUjP/RqbH/2K2y//fftP/57Lr/4efR/9/n0f/g59D/4OfQ/+Dn0P/g59L/3uas + /9/mmP/f5pn/3+aZ/9/mmf/f5pn/3+aZ/9/mmf/f5pn/3+aZ/9/mmf/f5pn/3+aZ/9/mmf/f5pn/3+aZ + /9/mmf/f5pn/3+aZ/9/mmf/f5pn/3+aZ/9/mmf/f5pn/3+aZ/9/mmf/f5pn/3+aZ/9/mmf/f5pn/3+aZ + /9/mmf/f5pn/3+aZ/97mmf/c5pj/9Out//vmrv/Wqlv/1qhY/9CtXjQAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAA0NizsNDYz/DQ2M/w0NjP8NDYz/DQ2M/w0NjP8NDYz/DQ2M/w0NjP8NDYz/DQ2M + /w0NjP8NDYz/DQ2M/w0NjP8NDYz/DQ2M/w0NjP8NDYz/DQ2M/w0NjP8NDYz/DQ2M/w0NjP8NDYz/DQ2M + /w0NjP8NDYz/DQ2M/w0NjP8NDYz/DQ2M/w0NjP8NDYz/DQ2M/w0NjP8NDYz/DQ2M/w0NjP8NDYz/DQ2M + /w0NjP8NDYz/DQ2M/w0NjP8NDYz/DQ2M/w0NjP8NDYz/DQ2M/w0NjP8NDYz/CwuL/yAbkP/SrLb/4OTS + //brvv/97Lb/5efO/9/m0//g5tP/4ObT/+Hn1P/f5bH/3uWa/97lnP/e5Zz/3uWc/97lnP/e5Zz/3uWc + /97lnP/e5Zz/3uWc/97lnP/e5Zz/3uWc/97lnP/e5Zz/3uWc/97lnP/e5Zz/3uWc/97lnP/e5Zz/3uWc + /97lnP/e5Zz/3uWc/97lnP/e5Zz/3uWc/97lnP/e5Zz/3uWc/97lnP/e5Zv/3+Wc//rrs//767T/4OSb + /9+8bv7SrmBMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBCNUA8Pjv8ODo3/Dw+O + /w8Pjv8PD47/Dw+O/w8Pjv8PD47/Dw+O/w8Pjv8PD47/Dw+O/w8Pjv8PD47/Dw+O/w8Pjv8PD47/Dw+O + /w8Pjv8PD47/Dw+O/w8Pjv8PD47/Dw+O/w8Pjv8PD47/Dw+O/w8Pjv8PD47/Dw+O/w8Pjv8PD47/Dw+O + /w8Pjv8PD47/Dw+O/w8Pjv8PD47/Dw+O/w8Pjv8PD47/Dw+O/w8Pjv8PD47/Dw+O/w8Pjv8PD47/Dw+O + /w8Pjv8PD47/Dw+O/w8Pjv8ODI3/EB2S/0yxuf/f59P/4+jU//Lqw///7LP/7urG/+Hn1f/i6NT/4+jV + /+LnuP/g55r/4eeb/+Hnm//h55v/4eeb/+Hnm//h55v/4eeb/+Hnm//h55v/4eeb/+Hnm//h55v/4eeb + /+Hnm//h55v/4eeb/+Hnm//h55v/4eeb/+Hnm//h55v/4eeb/+Hnm//h55v/4eeb/+Hnm//h55v/4eeb + /+Hnm//g55v/3+aa/+fno///7Lb/9+qw/+Hnm//j55z/Y8B1/kWzZkwAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAQEI9dDg6O/x0dmf8ODo7/Dg6O/w4Ojv8ODo7/Dg6O/w4Ojv8ODo7/Dg6O + /w4Ojv8ODo7/Dg6O/w4Ojv8ODo7/Dg6O/w4Ojv8ODo7/Dg6O/w4Ojv8ODo7/Dg6O/w4Ojv8ODo7/Dg6O + /w4Ojv8ODo7/Dg6O/w4Ojv8ODo7/Dg6O/w4Ojv8ODo7/Dg6O/w4Ojv8ODo7/Dg6O/w4Ojv8ODo7/Dg6O + /w4Ojv8ODo7/Dg6O/w4Ojv8ODo7/Dg6O/w4Ojv8ODo7/Dg6O/w4Ojv8ODo7/Dg2O/xAWkf8/sbj/P7a7 + /0S2u//R4dH/5+jW/+roy///7LT/+eu6/+bo0f/k6dv/4ua5/+Pnm//j553/4+ed/+Pnnf/j553/4+ed + /+Pnnf/j553/4+ed/+Pnnf/j553/4+ed/+Pnnf/j553/4+ed/+Pnnf/j553/4+ed/+Pnnf/j553/4+ed + /+Pnnf/j553/4+ed/+Pnnf/j553/4+ed/+Pnnf/j55z/4uac/+Pmnf/06qz//+y4/+7oqP/j55z/3OWa + /1S6bf8wr2H/MrBi/0KyZDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABERk10ODo//Kiqk + /w4OkP8QEJH/EBCR/xAQkf8QEJH/EBCR/xAQkf8QEJH/EBCR/xAQkf8QEJH/EBCR/xAQkf8QEJH/EBCR + /xAQkf8QEJH/EBCR/xAQkf8QEJH/EBCR/xAQkf8QEJH/EBCR/xAQkf8QEJH/EBCR/xAQkf8QEJH/EBCR + /xAQkf8QEJH/EBCR/xAQkf8QEJH/EBCR/xAQkf8QEJH/EBCR/xAQkf8QEJH/EBCR/xAQkf8QEJH/EBCR + /xAQkf8QEJH/EBCR/w8PkP8ODJD/O6K2/0K4vP9Ctrz/QLW7/z60u/+x2M3/6+vX/+bo0//4673//+yz + //TrxP/k57f/4eab/+Lnnf/i557/4uee/+Lnnv/i557/4uee/+Lnnv/i557/4uee/+Lnnv/i557/4uee + /+Lnnv/i557/4uee/+Lnnv/i557/4uee/+Lnnv/i557/4uee/+Lnnv/i557/4uee/+Lnnv/i553/4uad + /+Lmnf/u6Kj//+y3//zrs//n56L/5+ie/8jdlf8/s2b/MbBh/zWxY/81sWP/MrBi90yzZR8AAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAExOUTA0Nkf82Nq7/Dg6R/w8Pk/8PD5P/Dw+T/w8Pk/8PD5P/Dw+T + /w8Pk/8PD5P/Dw+T/w8Pk/8PD5P/Dw+T/w8Pk/8PD5P/Dw+T/w8Pk/8PD5P/Dw+T/w8Pk/8PD5P/Dw+T + /w8Pk/8PD5P/Dw+T/w8Pk/8PD5P/Dw+T/w8Pk/8PD5P/Dw+T/w8Pk/8PD5P/Dw+T/w8Pk/8PD5P/Dw+T + /w8Pk/8PD5P/Dw+T/w8Pk/8PD5P/Dw+T/w8Pk/8PD5P/Dw+T/w8Pk/8PD5P/DQeQ/zOGsf9Dub3/Qra9 + /0K2vf9Ctr3/QbW8/zmzu/+ByMf/6OnX/+fp2P/u6c7//ey6///stv/z6qz/5eaf/+Lmnv/j5p7/5Oef + /+Tnn//k55//5Oef/+Tnn//k55//5Oef/+Tnn//k55//5Oef/+Tnn//k55//5Oef/+Tnn//k55//5Oef + /+Tnn//k55//5Oef/+Tnn//j5p7/4+ae/+Pmnv/v6Kj//uy1///st//v6Kr/5Oee/+rpof+VzoP/K61e + /zOwYv81sWP/NbFj/zWxY/81sWP/M7Bi3jmvYQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVFZc7Dg6T + /zs7s/8ODpP/ERGV/xERlf8REZX/ERGV/xERlf8REZX/ERGV/xERlf8REZX/ERGV/xERlf8REZX/ERGV + /xERlf8REZX/ERGV/xERlf8REZX/ERGV/xERlf8REZX/ERGV/xERlf8REZX/ERGV/xERlf8REZX/ERGV + /xERlf8REZX/ERGV/xERlf8REZX/ERGV/xERlf8REZX/ERGV/xERlf8REZX/ERGV/xERlf8REZX/ERGV + /xERlf8REZX/ERGV/w8Mk/8kU6X/RL2//0K2vv9Ctr7/Qra+/0K2vv9Ctr7/Qra+/z20vf9Mub//vNvR + /+7t4f/m6t3/7+i2//zstP//7Lj/9uuv/+zopv/j5p7/4uae/+Pmnv/j5p7/4+ee/+Tnn//k55//5Oef + /+Tnn//k55//5Oef/+Tnn//k55//5Oef/+Tnn//k55//4+ae/+Pmnv/j5p7/4uad/+rnpP/06q3//+y4 + ///st//x6Kv/5Oae/+rooP/O35f/Ublt/y6uYP80sWP/NbFj/zWxY/81sWP/NbFj/zWxY/81sWP/NLFj + pgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYWmiIODpX/RUW7/w4Olf8QEJf/EBCX/xAQl/8QEJf/EBCX + /xAQl/8QEJf/EBCX/xAQl/8QEJf/EBCX/xAQl/8QEJf/EBCX/xAQl/8QEJf/EBCX/xAQl/8QEJf/EBCX + /xAQl/8QEJf/EBCX/xAQl/8QEJf/EBCX/xAQl/8QEJf/EBCX/xAQl/8QEJf/EBCX/xAQl/8QEJf/EBCX + /xAQl/8QEJf/EBCX/xAQl/8QEJf/EBCX/xAQl/8QEJf/EBCX/xAQl/8QD5b/FSCa/0S6v/9Ctr//Qba/ + /0G2v/9Btr//Qba//0G2v/9Btr//Qba//0C1vv84s7z/h83W/8/i1v/q6LD/5Oed/+zopv/367D//+25 + ///st//367D/7+iq/+nno//j5p7/4uad/+Lmnv/j5p7/4+ae/+Pmnv/j5p7/4+ae/+Pmnv/i5p7/4uad + /+Lmnf/m56L/7ein//Xqrv//7Lb//+25//rrs//u6Kj/5Oee/+nooP/c5Zz/e8Z7/yytX/8ysGL/NbFj + /zWxY/81sWP/NbFj/zWxY/81sWP/NbFj/zWxY/81sWP/NbFjTwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AA4Olf9KSr//Dw+V/xISl/8SEpf/EhKX/xISl/8SEpf/EhKX/xISl/8SEpf/EhKX/xISl/8SEpf/EhKX + /xISl/8SEpf/EhKX/xISl/8SEpf/EhKX/xISl/8SEpf/EhKX/xISl/8SEpf/EhKX/xISl/8SEpf/EhKX + /xISl/8SEpf/EhKX/xISl/8SEpf/EhKX/xISl/8SEpf/EhKX/xISl/8SEpf/EhKX/xISl/8SEpf/EhKX + /xISl/8SEpf/EhKX/w8Jlf85lrj/Q7jA/0O2wP9DtsD/Q7bA/0O2wP9DtsD/Q7bA/0O2wP9DtsD/Q7bA + /0C1vv9wyNn/OrLB/2vBgf/H3ZP/7Omh/+bnn//l5p//7uio//frsP//7Lb//+24///tuf/87LX/+Oux + //Xqrv/06q7/8uqr//Dqq//06q7/9Oqu//nrsf/767T//+y3///tuP//7Lf/+eux/+/oqv/o56L/5eee + /+rpoP/V4pr/f8d8/y+uYP8xr2H/NLFj/zWxY/81sWP/NbFj/zWxY/81sWP/NbFj/zWxY/81sWP/NbFj + /zWxY/81sWPuM7FjBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQ2X5FhYyv8NDZf/ERGa/xERmv8REZr/ERGa + /xERmv8REZr/ERGa/xERmv8REZr/ERGa/xERmv8REZr/ERGa/xERmv8REZr/ERGa/xERmv8REZr/ERGa + /xERmv8REZr/ERGa/xERmv8REZr/ERGa/xERmv8REZr/ERGa/xERmv8REZr/ERGa/xERmv8REZr/ERGa + /xERmv8REZr/ERGa/xERmv8REZr/ERGa/xERmv8REZr/ERGa/xERmv8RDpn/IUin/0W9wv9DtcH/Q7XB + /0O1wf9DtcH/Q7XB/0O1wf9DtcH/Q7XB/0O1wf9DtcH/QLS//3nK3f9BtcT/Ma9h/yyuX/9TuW3/odGH + /9/knf/q6aD/5+ef/+Tnnv/n56L/7Oim//Lqq//16q7/+eux//rrsv/87LX//Oy1//vrtP/567H/9uuv + //PqrP/u6Kj/6eej/+Xnn//m55//6eig/+fooP+v1Y3/Y75y/y2tX/8xr2H/NLBi/zWxY/81sWP/NbFj + /zWxY/81sWP/NbFj/zWxY/81sWP/NbFj/zWxY/81sWP/NbFj/zWxY/8zsWOLAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAPD5mxQUG7/yYmqf8REZv/ExOc/xMTnP8TE5z/ExOc/xMTnP8TE5z/ExOc/xMTnP8TE5z/ExOc + /xMTnP8TE5z/ExOc/xMTnP8TE5z/ExOc/xMTnP8TE5z/ExOc/xMTnP8TE5z/ExOc/xMTnP8TE5z/ExOc + /xMTnP8TE5z/ExOc/xMTnP8TE5z/ExOc/xMTnP8TE5z/ExOc/xMTnP8TE5z/ExOc/xMTnP8TE5z/ExOc + /xMTnP8TE5z/ExKb/xALmv8+qL7/Q7fC/0O3wf9Dt8H/Q7fB/0O3wf9Dt8H/Q7fB/0O3wf9Dt8H/Q7fB + /0K2wf9DtsL/fMzf/z61s/80sF7/NbBi/zOwYv8vr2D/La1f/1u8b/+RzYL/wtyS/+fnoP/r6aH/6eig + /+fon//n55//5uef/+bnn//m55//5uef/+fnn//n6J//6Oig/+rooP/t6qL/y96V/53Qhv9rwHT/M69h + /y6uYP8ysGL/NLFj/zWxY/81sWP/NbFj/zWxY/81sWP/NbFj/zWxY/81sWP/NbFj/zWxY/81sWP/NbFj + /zWxY/81sWP/NbFj/zWxY/80sGIcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwco3IbG6P/WFjL/w8Pm/8TE57/ExOe + /xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe + /xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe + /xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8SD53/JE2r/0S/xf9DucP/Q7fD + /0O3w/9Dt8P/Q7fD/0O3w/9Dt8P/Q7fD/0O3w/9Dt8P/QbfD/2PE0/9gw9T/O7Wg/zKxYP8ysWP/MrFj + /zKxY/8ysWP/MbFj/y+wYv8tr2H/LLBh/0u4a/9qw3X/f8l9/4vMgf+k1In/o9SJ/6PUif+j1In/kc2C + /4bLgP9tw3b/Ubpu/zOxY/8sr2H/Lq9i/zGvYv8zsGP/NLBi/zSwYv80sGL/NLBi/zSwYv80sGL/NLBi + /zSwYv80sGL/NLBi/zSwYv80sGL/NLBi/zSwYv80sGL/NLBi/zSwYv80sGL/NLBi/zSwYqEAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAHR2lLg0NnP9sbNj/DQ2c/xISoP8SEqD/EhKg/xISoP8SEqD/EhKg/xISoP8SEqD/EhKg + /xISoP8SEqD/EhKg/xISoP8SEqD/EhKg/xISoP8SEqD/EhKg/xISoP8SEqD/EhKg/xISoP8SEqD/EhKg + /xISoP8SEqD/EhKg/xISoP8SEqD/EhKg/xISoP8SEqD/EhKg/xISoP8SEqD/EhKg/xISoP8SEqD/EhKg + /xISoP8SEqD/EhKg/xAJnf89qsL/QrrH/0G5x/9Busf/QbrH/0G6x/9Busf/QbrH/0G6x/9Busf/QbrH + /0G6x/8+uMX/iNPn/0G5yv83tYf/MbNk/zK0Zv8ytGb/MrRm/zK0Zv8xtGb/MbRm/zG0Zv8xtGX/MLNl + /y+zZP8vsWT/LrFk/y2xY/8tsWP/LbFj/y2xY/8usWT/LrFk/zCxZP8xsmX/MrJl/zOyZv8zs2T/M7Nk + /zOzZP8zs2X/M7Nl/zOzZf8zs2X/M7Nl/zOzZf8zs2X/M7Nl/zOzZf8zs2X/M7Nl/zOzZf8zs2X/M7Nl + /zOzZf8zs2X/M7Nl/zOzZf8zs2X/M7Nk/jGzZg8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg6d6WNj0v8lJaz/EhKg + /xQUoP8UFKD/FBSg/xQUoP8UFKD/FBSg/xQUoP8UFKD/FBSg/xQUoP8UFKD/FBSg/xQUoP8UFKD/FBSg + /xQUoP8UFKD/FBSg/xQUoP8UFKD/FBSg/xQUoP8UFKD/FBSg/xQUoP8UFKD/FBSg/xQUoP8UFKD/FBSg + /xQUoP8UFKD/FBSg/xQUoP8UFKD/FBSg/xQUoP8UFKD/FBSg/xQUoP8TEaD/Hj6q/0TDyv9CvMn/QrzJ + /0K8yf9CvMn/QrzJ/0K6x/9Cusf/QrrH/0K6x/9Cusf/QbrH/0C5x/+Q1+r/P7nJ/zC1av8wtGf/MbRo + /zG0aP8xtGj/MbRo/zG0aP8xtGj/MbRo/zG0aP8xtGj/MbRo/zC1aP8wtWj/MLVo/zC1aP8wtWj/MLVo + /zK1aP8ytWj/MrVo/zK1Zv8ytWb/MrVm/zK1Z/8ytWf/MrVn/zKzZ/8ys2f/MrNn/zKzZ/8ys2f/MrNn + /zKzZ/8ys2f/MrNn/zKzZ/8ys2f/MrNn/zKzZ/8ys2f/MrNn/zKzZ/8ys2f/MrNn/zKzZ/8ys2f/MrNm + fwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAYGKWPJSWu/2Zm1v8PD6D/ExOj/xMTo/8TE6P/ExOj/xMTo/8TE6P/ExOj + /xMTo/8TE6P/ExOj/xMTo/8TE6P/ExOj/xMTo/8TE6P/ExOj/xMTo/8TE6P/ExOj/xMTo/8TE6P/ExOj + /xMTo/8TE6P/ExOj/xMTo/8TE6P/ExOj/xMTo/8TE6P/ExOj/xMTo/8TE6P/ExOj/xMTo/8TE6P/ExOj + /xMTo/8TE6P/ExOj/xIOof8yib3/Qb/L/0C8y/9AvMv/QLzJ/0C8yf9AvMn/QL3K/0C9yv9Avcr/QL3K + /0C9yv8+vMj/b8ze/2XJ2v86urH/L7Zm/zC3av8wt2r/MLdq/zC3av8wt2r/MLdq/zC3av8wt2r/MLdq + /zC3av8wt2r/MLdq/zC3av8wt2r/MLVq/zC1av8wtWr/L7Vo/y+1aP8vtWj/L7Vp/y+1af8vtWn/MbVp + /zG1af8xtWn/MbZp/zG2af8xtmn/MbZp/zG2af8xtmn/MbZp/zG2af8xtmn/MbZp/zG2af8xtmn/MbZp + /zG2af8xtmn/MbZp/zG2af8xtmn/MbZp/zG2af8xtmnpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgqy4ODqD/g4Po + /xYWpf8UFKT/FRWl/xUVpf8VFaX/FRWl/xUVpf8VFaX/FRWl/xUVpf8VFaX/FRWl/xUVpf8VFaX/FRWl + /xUVpf8VFaX/FRWl/xUVpf8VFaX/FRWl/xUVpf8VFaX/FRWl/xUVpf8VFaX/FRWl/xUVpf8VFaX/FRWl + /xUVpf8VFaX/FRWl/xUVpf8VFaX/FRWl/xUVpf8VFaX/FRWl/xUVpf8UFKT/FBOk/0HDzf9Bv8z/Qb/L + /0G/y/9Bv8z/Qb/M/0G/zP9Bv8z/Qb/M/0G/zP9Bv8z/Qb/M/zu8yf+e3vP/Pr3O/zS6jP8uuGr/L7ls + /y+5bP8vt2z/L7ds/y+3bP8vt2z/L7ds/y+3bP8vt2z/L7ds/y+3bP8vt2z/L7ds/y+3bP8vuGr/L7hq + /y+4av8vuGv/L7hr/y64a/8wuGv/MLhr/zC4a/8wuGv/MLhr/zC4a/8wuGv/MLhr/zC4a/8wuGv/MLhr + /zC4a/8wuGv/MLhr/zC4a/8wuGv/MLhr/zC4a/8wtmv/MLZr/zC2a/8wtmv/MLZr/zC2a/8wtmv/MLZr + /zC2a/8utmk2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQpNBERMP/Xl7T/xAQpP8UFKf/FBSn/xQUp/8UFKf/FBSn + /xQUp/8UFKf/FBSn/xQUp/8UFKf/FBSn/xQUp/8UFKf/FBSn/xQUp/8UFKf/FBSn/xQUp/8UFKf/FBSn + /xQUp/8UFKf/FBSn/xQUp/8UFKf/FBSn/xQUp/8UFKf/FBSn/xQUp/8UFKf/FBSn/xQUp/8UFKf/FBSn + /xQUp/8UFKf/FBSn/xQSpv8iTbP/QcXP/z+/zv8/v87/P7/O/z+/zv8/v87/P7/O/z+/zv8/v87/P7/O + /z+/zv89v83/Ysvb/3zU5/89v8r/Lblr/y25bf8uuW7/Lrlu/y66bv8uum7/Lrpu/y66bv8uum7/Lrpu + /y66bv8uum7/Lrpu/y66bP8uumz/Lrps/y66bf8uum3/Lrpt/y64bf8uuG3/Lrht/y24bf8tuG3/Lbht + /y24bf8tuG3/Lbht/y+4bf8vuG3/L7ht/y+4bf8vuG3/L7ht/y+4bf8vuG3/L7ht/y+4bf8vuG3/L7ht + /y+5bf8vuW3/L7lt/y+5bf8vuW3/L7lt/y+5a/8vuWv/L7lr/y+5bIsAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIyOw + VBAQpf+RkfD/Ghqr/xUVqP8WFqn/Fhap/xYWqf8WFqn/Fhap/xYWqf8WFqn/Fhap/xYWqf8WFqn/Fhap + /xYWqf8WFqn/Fhap/xYWqf8WFqn/Fhap/xYWqf8WFqn/Fhap/xYWqf8WFqn/Fhap/xYWqf8WFqn/Fhap + /xYWqf8WFqn/Fhap/xYWqf8WFqn/Fhap/xYWqf8WFqn/Fhap/xYWqf8WFqn/FBCn/zCDwf9AxdD/QMLQ + /0DC0P9AwtD/QMLQ/0DC0P9AwtD/QMLQ/0DC0P9AwtD/P8LQ/zu/zf+n4/j/Q8LT/zW+oP8su23/Lbxw + /y28cP8tvHD/Lbxw/y28cP8tvHD/Lbpu/y26bv8tum7/Lbpu/y26bv8tum7/Lbpv/y26b/8tum//Lbpv + /y26b/8tum//Lbtv/y27b/8tu2//LLtv/yy7b/8su2//Lrtv/y67b/8uu2//Lrtv/y67b/8uu2//Lrtv + /y67b/8uu2//Lrtv/y67b/8uu2//Lrtv/y67b/8uu2//Lrtv/y67b/8uu2//Lrlt/y65bf8uuW3/Lrlu + /y65bv8uuW7/Lrlu1wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAERGn4kdHx/9zc9//EBCm/xUVqf8VFan/FRWp + /xUVqf8VFan/FRWp/xUVqf8VFan/FRWp/xUVqf8VFan/FRWp/xUVqf8VFan/FRWp/xUVqf8VFan/FRWp + /xUVqf8VFan/FRWp/xUVqf8VFan/FRWp/xUVqf8VFan/FRWp/xUVqf8VFan/FRWp/xUVqf8VFan/FRWp + /xUVqf8VFan/FRWp/xUVqf8TDaf/OrHN/z/F0f8+wtD/PsLQ/z7C0P8+wtD/PsLQ/z7C0P8+wtH/PsLR + /z7C0f87wc//dtTm/3rW5/87ws//K71x/yu8cf8svXL/LL1y/yy9cv8svXD/LL1w/yy9cP8svXH/LL1x + /yy9cf8svXH/LL1x/yy9cf8svXH/LL1x/yy9cf8svXH/LL1x/yy9cf8rvXH/K71x/yu9cf8tu3H/Lbtx + /y27cf8tu3H/Lbtx/y27cf8tu3H/Lbtx/y27cf8tu3H/Lbtx/y27cf8tu2//Lbtv/y27b/8tu2//Lbtv + /y27b/8tu2//Lbtv/y27b/8tvHD/Lbxw/y28cP8tvHD/Lbxw/y28cP8tvHD/K7xwCAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAkJLNKDg6n/4+P7/8zM7z/FBSq/xcXrP8XF6z/Fxes/xcXrP8XF6z/Fxes/xcXrP8XF6z/Fxes + /xcXrP8XF6z/Fxes/xcXrP8XF6z/Fxes/xcXrP8XF6z/Fxes/xcXrP8XF6z/Fxes/xcXrP8XF6z/Fxes + /xcXrP8XF6z/Fxes/xcXrP8XF6z/Fxes/xcXrP8XF6z/Fxes/xcXrP8XF6z/Fhar/xcbrP9Bz9X/P8bT + /z/G0/8/xtP/P8bT/z/G0/8/xtP/P8bT/z/G0f8/xtH/PsXR/0bI1P+r5fn/PsPU/zTAoP8qvnD/K79y + /yu9cv8rvXL/K71y/yu9c/8rvXP/K71z/yu9c/8rvXP/K71z/yu9c/8rvXP/K71z/yu9c/8rvXP/K71z + /yq9c/8qvXP/Kr1z/yy9c/8svXP/LL1z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+cf8svnH/LL5x + /yy+cf8svnH/LL5x/yy+cv8svnL/LL5y/yy+cv8svnL/LL5y/yy+cv8svnL/LL5y/yy+cv8svnL/LL5y + /yy8cv8svHL/LLxy/yy8cv8qvHJIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATE6y/KSm4/52d+P8ZGa//Fhat + /xYWrv8WFq7/Fhau/xYWrv8WFq7/Fhau/xYWrv8WFq7/Fhau/xYWrv8WFq7/Fhau/xYWrv8WFq7/Fhau + /xYWrv8WFq7/Fhau/xYWrv8WFq7/Fhau/xYWrv8WFq7/Fhau/xYWrv8WFq7/Fhau/xYWrv8WFq7/Fhau + /xYWrv8WFq7/Fhau/xYWrv8WFK3/H0C3/z/N1f89xtP/P8bT/z/G0/8/xtP/P8bT/z/G0/8/xtP/P8bU + /z/G0/84xdL/oeP2/2HR4P85xcv/Kb9y/ynAdP8qwHX/KsB1/yrAdf8qwHX/KsB1/yrAdf8qwHX/KsB1 + /yrAdf8qwHX/KsB1/yrAdf8qwHX/KcB1/ynAdf8pwHX/K8Bz/yvAc/8rwHP/K8Bz/yvAc/8rwHP/K8Bz + /yvAc/8rwHP/K75z/yu+c/8rvnP/K750/yu+dP8rvnT/K750/yu+dP8rvnT/K750/yu+dP8rvnT/K750 + /yu+dP8rvnT/K790/yu/dP8rv3T/K790/yu/dP8rv3T/K790/yu/dP8rv3T/K790/yu/cnYAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAACQktxsSEq36W1vT/4KC6f8SEqz/Fxew/xgYsP8YGLD/GBiw/xgYsP8YGLD/GBiw + /xgYsP8YGLD/GBiw/xgYsP8YGLD/GBiw/xgYsP8YGLD/GBiw/xgYsP8YGLD/GBiw/xgYsP8YGLD/GBiw + /xgYsP8YGLD/GBiw/xgYsP8YGLD/GBiw/xgYsP8YGLD/GBiw/xgYsP8YGLD/GBiw/xcUr/8nYL//Ps7W + /z7J1v89ydb/PcnW/z3J1v89ydb/PcnW/z3J1v89ydb/OMfU/4Dc7P+O3vH/OcbZ/y3Cif8owHX/KcB3 + /ynAd/8owHf/KMB3/yjAd/8owHX/KMB1/yjAdf8owHX/KMB1/yjAdf8owXX/KMF1/yjBdf8qwXX/KsF1 + /yrBdf8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2 + /yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qv3T/Kr90/yq/dP8qv3T/Kr90 + /yq/dP8qv3T/Kr90/yq/dP8qv3T/Kr91oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0dtGkREa3/hYXq + /2Rk2f8REa3/Fxew/xcXsP8XF7D/Fxew/xcXsP8XF7D/Fxew/xcXsP8XF7D/Fxew/xcXsP8XF7D/Fxew + /xcXsP8XF7D/Fxew/xcXsP8XF7D/Fxew/xcXsP8XF7D/Fxew/xcXsP8XF7D/Fxew/xcXsP8XF7D/Fxew + /xcXsP8XF7D/Fxew/xcXsP8XF7D/FhOv/yx3xf8+zdf/PsnX/z7J1/8+ydf/PsnX/z7K1/8+ytf/PsrX + /znI1f9n1eT/quf5/z7K2f8zx7D/J8Jz/yfDd/8nw3f/J8N3/ynDd/8pw3f/KcN3/ynDeP8pw3j/KcN4 + /ynDeP8pw3j/KcN4/ynBeP8pwXj/KcF4/ynBeP8pwXj/KcF4/ynBeP8pwXj/KcF4/ynBeP8pwXj/KcF4 + /ynBeP8pwXj/KcF4/ynBeP8pwXj/KcF4/ynBdv8pwXb/KcF2/ynBdv8pwXb/KcF2/ynCdv8pwnb/KcJ2 + /ynCdv8pwnb/KcJ2/ynCd/8pwnf/KcJ3/ynCd/8pwnf/KcJ3/ynCd/8pwnf/KcJ3/ynCd/8pwnfCAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUVsa8cHLX/nZ33/1JS0v8TE6//GRmz/xkZs/8ZGbP/GRmz + /xkZs/8ZGbP/GRmz/xkZs/8ZGbP/GRmz/xkZs/8ZGbP/GRmz/xkZs/8ZGbP/GRmz/xkZs/8ZGbP/GRmz + /xkZs/8ZGbP/GRmz/xkZs/8ZGbP/GRmz/xkZs/8ZGbP/GRmz/xkZs/8ZGbP/GRmz/xkZs/8XE7H/L4rK + /z3P2P88zNf/PMzX/zzM1/88zNf/PMrX/zzK1/85ydb/XtTh/7Tq/f9Kzt3/OMrJ/ybDd/8mw3n/KMN6 + /yjDev8ow3r/KMN6/yjDev8ow3r/KMN6/yjDev8ow3r/KMN6/yjDev8ow3r/KMR6/yjEev8oxHr/KMR6 + /yjEev8oxHr/KMR4/yjEeP8oxHj/KMR4/yjEeP8oxHj/KMR4/yjEeP8oxHj/KMR4/yjEeP8oxHj/KMR5 + /yjEef8oxHn/KMR5/yjEef8oxHn/KMJ5/yjCef8ownn/KMJ5/yjCef8ownn/KMJ5/yjCef8ownn/KMJ5 + /yjCef8ownn/KMJ5/yjCef8ownn/KMN5/yfDeeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMTG/ + AhQUstYlJbv/o6P6/1JS0v8SErH/GBi1/xgYtf8YGLX/GBi1/xgYtf8YGLX/GBi1/xgYtf8YGLX/GBi1 + /xgYtf8YGLX/GBi1/xgYtf8YGLX/GBi1/xgYtf8YGLX/GBi1/xgYtf8YGLX/GBi1/xgYtf8YGLX/GBi1 + /xgYtf8YGLX/GBi1/xgYtf8YGLX/GBi1/xcSs/8yms//Pc/a/z3N2v89zdr/Pc3a/z3N2v89zdr/OMvY + /17U4v+47P7/WNLi/znL1v8nxoD/Jsd7/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nxXr/J8Z6 + /yfGev8nxnr/J8Z6/yfGev8nxnr/J8Z6/yfGev8nxnr/J8Z6/yfGev8nxnv/J8Z7/yfGe/8nxnv/J8Z7 + /yfGe/8nxnv/J8Z7/yfGe/8nxnv/J8Z7/yfGe/8nxnv/J8Z7/yfGe/8nxnv/J8Z7/yfGe/8nxHv/J8V7 + /yfFe/8nxXv/J8V7/yfFe/8nxXn/J8V5/yfFef8nxXn/J8V5/yfFef8mxXn/JsV5/ybFef8mw3n/JsN5 + 4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjLBDhQUtOYyMsL/p6f9/2Fh2v8SErP/GRm2 + /xoat/8aGrf/Ghq3/xoat/8aGrf/Ghq3/xoat/8aGrf/Ghq3/xoat/8aGrf/Ghq3/xoat/8aGrf/Ghq3 + /xoat/8aGrf/Ghq3/xoat/8aGrf/Ghq3/xoat/8aGrf/Ghq3/xoat/8aGrf/Ghq3/xoat/8aGrf/GBO1 + /zSl0v9H1Nr/PM3b/z3O2v89ztr/PM7a/zfM2f9m2Of/uO39/13V5f84zdz/KMiK/yXHe/8myHz/Jsh8 + /ybIfP8myHz/Jsh8/ybIfP8myHz/Jsh8/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybGff8mxn3/JsZ9 + /ybGff8mxn3/JsZ9/ybGff8mxn3/JsZ9/ybGe/8mxnv/JsZ7/ybGe/8mxnv/JsZ7/ybHe/8mx3v/Jsd7 + /ybHe/8mx3v/Jsd7/ybHe/8mx3v/Jsd7/yXHe/8lx3v/Jcd7/yXHe/8lx3v/Jcd7/yXHfP8lx3z/Jcd8 + /yXHfP8lx3z/Jcd8/yfHfP8nx3z/JsZ7/y/Kgf8mx3v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAMzPDHxQUtu8rK8H/n5/5/3t75/8WFrf/GBi4/xkZuf8ZGbn/GRm5/xkZuf8ZGbn/GRm5 + /xkZuf8ZGbn/GRm5/xkZuf8ZGbn/GRm5/xkZuf8ZGbn/GRm5/xkZuf8ZGbn/GRm5/xkZuf8ZGbn/GRm5 + /xkZuf8ZGbn/GRm5/xkZuf8ZGbn/GRm5/xkZuf8YE7f/M6XU/1zc2P86zt3/O8/d/zvO3P82zdr/e97t + /7Ps/f9c1+X/OM7d/yjJj/8kyHz/Jcl//yXJf/8lyX//Jcl//yXJf/8lyX//Jcl//yXJf/8lyX//Jcl/ + /yXJf/8lyX//Jcl9/yXJff8lyX3/Jcl9/yXJff8lyX3/JMl9/yTJff8kyX3/JMl9/yTJff8kyX3/JMl+ + /yTJfv8kyX7/JMl+/yTJfv8kyX7/JMd+/yTHfv8kx37/JMd+/yTHfv8kx37/JMd+/yTHfv8kx37/Jsd+ + /ybHfv8mx37/Jsd+/ybHfv8mx37/Jsh+/ybIfv8myH7/Jsh8/ybIfP8myHz/Jsh8/ybIfP8lx3z/OM6H + /yTHfP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANDTEFxYWt94iIr3/kpLy + /5eX9f8wMMX/FRW3/xoauf8bG7n/Gxu5/xsbuf8bG7n/Gxu5/xsbuf8bG7n/Gxu5/xsbuf8bG7n/Gxu5 + /xsbuf8bG7n/Gxu5/xsbuf8bG7n/Gxu5/xsbuf8bG7n/Gxu5/xsbuf8bG7n/Gxu5/xsbuf8bG7n/Gxu5 + /xkUuP8zqNb/Vdza/zrQ3f84z9v/QtHe/5vm9v+t6/z/T9Tj/zjP2P8ny5H/I8l9/yTJf/8kyX//JMl/ + /yTJf/8kyX//JMl//yTJf/8jyoD/I8qA/yPKgP8jyoD/I8qA/yPKgP8jyoD/I8qA/yPKgP8jyoD/I8qA + /yPKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyn7/Jcp+/yXKfv8lyn7/Jcp+ + /yXKfv8lyn7/Jcp+/yXKfv8lyn7/Jcp+/yXKfv8lyn7/Jcp+/yXKfv8lyn//Jcp//yXKf/8lyH//Jch/ + /yXIf/8lyH//Jch//yXIf/8lyX//Jcl//yPIfv9A0o7/I8h+5wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAANjbGChcXusQYGLr/cHDj/6qq/v9kZN3/GBi7/xgYuv8aGrz/Ghq8 + /xoavP8aGrz/Ghq8/xoavP8aGrz/Ghq8/xoavP8aGrz/Ghq8/xoavP8aGrz/Ghq8/xoavP8aGrz/Ghq8 + /xoavP8aGrz/Ghq8/xoavP8aGrz/Ghq8/xoavP8aGrz/GRW6/y6R0/9a3tv/NM/d/23c7P+y7Pz/lOb1 + /z/S4f830dT/JcuK/yLLgP8izIL/IsyC/yLMgv8izIL/IsyC/yLMgv8izIL/IsyC/yTKgP8kyoD/JMqA + /yTKgP8kyoD/JMqA/yTLgP8ky4D/JMuA/yTLgP8ky4D/JMuA/yTLgP8ky4D/JMuA/yTLgf8ky4H/JMuB + /yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB + /yTLgf8ky4H/JMuB/yTLf/8ky3//JMt//yTLf/8ky3//JMt//yTLf/8ky3//JMt//yTJf/8kyX//Icl+ + /07YmP8hyX7kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ACIiwJAUFLr/QUHP/6Cg+f+dnff/S0vU/xUVuv8ZGbz/Gxu9/xwcvv8cHL7/HBy+/xwcvv8cHL7/HBy+ + /xwcvv8cHL7/HBy+/xwcvv8cHL7/HBy+/xwcvv8cHL7/HBy+/xwcvv8cHL7/HBy+/xwcvv8cHL7/HBy+ + /xsbvv8YE7v/J4bQ/3Hm3v+g6fj/sO38/23d7P830eL/M9HB/yLMgP8izYL/I82D/yPNg/8jzYP/I82D + /yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I8uD/yPLg/8jy4P/I8uD + /yPLg/8jy4P/I8yD/yPMg/8jzIP/I8yB/yPMgf8jzIH/I8yB/yPMgf8jzIH/I8yB/yPMgf8jzIH/I8yB + /yPMgf8jzIH/I8yB/yPMgf8jzIH/I8yC/yPMgv8jzIL/I8yC/yPMgv8jzIL/I8yC/yPMgv8jzIL/IsyC + /yLMgv8izIL/IsyC/yLMgv8izIL/IsyC/yLMgv8gy4D/T9qZ/yDLgM4AAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0txDkXF7vmGxu8/2lp4P+oqP3/mZn2 + /1NT1v8cHL3/Fxe7/xkZvP8bG73/HBy+/xwcvv8cHL7/HBy+/xwcvv8cHL7/HBy+/xwcvv8cHL7/HBy+ + /xwcvv8cHL7/HBy+/xwcvv8cHL7/Gxu9/xoavf8XF7z/GBi7/0tJ0v+SsvP/tvT1/4rn6/9D1eT/N9Le + /yrPpP8gzX//Ic6D/yLOg/8izoP/Is6D/yLOg/8izoP/Is6D/yLOg/8izoP/Is6D/yLOg/8izoT/Is6E + /yLOhP8izoT/Is6E/yLOhP8izoT/Is6E/yLOhP8hzoT/Ic6E/yHOhP8hzIT/IcyE/yHMhP8hzIT/IcyE + /yHMhP8hzYT/Ic2E/yHNhP8hzYT/Ic2E/yHNhP8hzYT/Ic2E/yHNhP8hzYT/Ic2E/yHNhP8hzYL/Ic2C + /yHNgv8hzYL/Ic2C/yHNgv8hzYL/Ic2C/yHNgv8jzYL/I82C/yPNgv8jzYL/I82C/yPNgv8jzYP/I82D + /x/Lgf9X3aD/H8yBsQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAADk5yQMiIsGHFRW7/icnwv9tbeH/paX8/6Wl/P90dOX/Q0PP/xoavP8WFrv/GBi8 + /xkZvP8aGr3/Gxu9/xwcvv8cHL7/HBy+/xwcvv8cHL7/Gxu9/xoavf8ZGbz/GBi8/xYWu/8YGLv/OjrL + /21t4f+goPn/q6n+/3+c7P9O3OX/Y+Dc/y3Rv/8hz4j/IM6D/yDPhv8gz4b/IM+G/yDPhv8gz4b/IM+G + /yDPhv8gz4b/IM+G/yDPhv8gz4b/IM+G/yDPhP8gz4T/IM+E/yDPhP8gz4T/IM+E/yDPhP8gz4T/IM+E + /yLPhP8iz4T/Is+E/yLPhP8iz4T/Is+E/yLPhf8iz4X/Is+F/yLNhf8izYX/Is2F/yLNhf8izYX/Is2F + /yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F + /yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLOg/8gzYP/NNON/0bYmP8izYSLAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6OssXFxe7 + oRUVu/4gIL//WFjY/5KS8v+qqv3/pqb8/4eH7v9lZd//S0vT/zMzyf8kJMH/FBS6/xUVu/8VFbv/FRW7 + /xQUuv8iIsD/Ly/G/0NDz/9hYd3/goLs/6Sk+/+pqf3/mZn1/2Fh3f8kIsH/Gi3C/y7Zx/9h46f/HM6C + /x/Phv8f0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH + /yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCF + /yHQhf8h0IX/IdCF/yHQhf8h0IX/IdCG/yHQhv8h0Ib/Ic6G/yHOhv8hzob/Ic6G/yHOhv8hzob/Ic+G + /yHPhv8hz4b/Ic+G/yHPhv8hz4b/Ic+G/yHPhv8hz4b/Ic+G/yHPhv8hz4b/Ic+G/yHPhv8hz4b/Ic+G + /x7OhP9X36H/KdGJ/yjQiF0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPDzMDyQkwH8WFrvpFBS6/ykpxP9WVtf/enro + /52d9/+pqf3/qKj9/6io/f+oqP3/qan9/6Cg+f+pqf3/qKj9/6io/f+pqf3/qan9/6Gh+v+Dg+z/XV3b + /zMzyf8TE7r/FhS78SQxvpQzVMEWGtWA+Wvmrf8bz4X/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI + /yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI + /yDRiP8f0Yj/H9GI/x/RiP8f0Yj/H9GI/x/RiP8f0Yj/H9GI/x/RiP8f0Yj/H9GI/x/RiP8f0Yb/H9GG + /x/Rhv8f0Yb/H9GG/x/Rhv8f0Yb/H9GG/x/Rhv8fz4b/H9CG/x/Qhv8f0Ib/H9CG/x/Qhv8f0If/H9CH + /x/Qh/8f0If/H9CH/x/Qh/8f0If/H9CH/x/Qh/8f0If/HM6F/27mrf8czoT/KNGKKgAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAyMsc2JCTBixYWu9MVFbv/FBS6/yEhv/84OMv/S0vT/1ZW1/9dXdv/XV3b + /11d2/9bW9r/S0vT/zs7y/8lJcL/ExO6/xUVu/8WFrvkFha7mDM2yD8AAAAAAAAAAAAAAAAZ1IS5X+On + /y7WkP8d0Yj/HtKI/x7Sif8e0on/HtKJ/x7Sif8e0on/HtKJ/x7Sif8e0on/HtKJ/x7Sif8e0on/HtKJ + /x7Sif8e0on/HtKJ/x7Sif8e0on/HtKJ/x7Sif8e0on/HtKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ + /yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDQif8g0In/INCJ + /yDRif8g0Yn/INGJ/yDRif8g0Yn/INGJ/yDRh/8g0Yf/INGH/yDRh/8g0Yf/INGH/yDRiP8g0Yj/INGI + /yDRiP8az4X/cOew/xvPhfUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AEJCzggzM8hEMzPIchYWu5gWFru1Fha7wRYWu+AWFrvjFha75BYWu8UWFru+Fha7nDMzx3YyMsdMMjLI + EQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACTMkHcv15L/Y+Sq/xvSif8f04v/H9OJ/x/Tif8f04n/H9OJ + /x/Tif8f04n/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK + /x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK + /x/Tiv8f04r/H9GK/x/Riv8f0Yr/H9KK/x/Siv8f0or/HtKK/x7Siv8e0or/HtKK/x7Siv8e0or/HtKK + /x7Siv8e0or/HtKK/x7Siv8e0or/HtKI/x7SiP8e0oj/HdGI/0Dbmf9W4aT/GtCGrQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKMWV + HRfTif+D7rj/GNKJ/x3UjP8d1Iz/HdSM/x3UjP8d1Iz/HdSM/x3UjP8d1Ir/HdSK/x3Uiv8d1Ir/HdSK + /x3Uiv8d1Iv/HdSL/x3Ui/8d1Iv/HdSL/x3Ui/8d1Iv/HdSL/x3Ui/8d1Iv/HdSL/x3Ui/8d1Iv/HdSL + /x3Ui/8d1Iv/HdSL/x3Ui/8d1Iv/HdSL/x3Ui/8d0ov/HdKL/x3Si/8d04v/HdOL/x3Ti/8d04v/HdOL + /x3Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL + /x/Ti/8a0Yj/eOq0/x/Ti/8o1I5dAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGdSK02fmrv8425j/HNSM/x7Vjf8e1Y3/HtWN + /x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vi/8e1Yz/HtWM/x7VjP8e1Yz/HtWM + /x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7TjP8e04z/HtOM + /x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM + /x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x3UjP8d1Iz/HdOL/yHUjf+F7bv/GNKJ/jDYkwwAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAh1o9yJNeR/4TuvP8X1Iv/HNaO/xzWjv8c1o7/HNaO/xzWjv8c1o7/HNaO/xzWjv8c1o7/HNaM + /xzWjP8c1oz/HNaN/xzWjf8c1o3/HNaN/xzWjf8c1o3/HNSN/xzUjf8c1I3/HNSN/xzUjf8c1I3/HNSN + /xzUjf8c1I3/HNSN/xzUjf8c1I3/HNWN/xzVjf8c1Y3/HNWN/xzVjf8c1Y3/HNWN/xzVjf8c1Y3/HNWN + /xzVjf8c1Y3/HNWN/xzVjf8c1Y3/HNWN/xzVjf8c1Y3/HNWN/xzVjf8c1Y3/HNWN/xzVjf8c1Y3/HtWN + /x7Vjf8a1Iv/YeSq/0jfoP8Z1IutAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADHalwsW1Iz+hu+9/yvZlP8b1Y7/HdWP + /x3Vj/8d1Y//HdWP/x3Vj/8d1Y3/HdWN/x3Vjf8d1Y7/HdWO/x3Vjv8d1Y7/HdWO/x3Vjv8d1Y7/HdWO + /x3Vjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO + /x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO + /x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HNWN/xjUjP+a88X/FtOL/ynXkj4AAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAABjWjZwy25n/hu+8/xXVjP8b147/G9eO/xvXjv8b147/G9eO/xvXj/8b14//G9eP + /xvXj/8b14//G9eP/xvXj/8b14//G9eP/xvXj/8b14//G9eP/xvXj/8b14//G9eP/xvXj/8b14//G9eP + /xvXj/8b14//G9eP/xvXj/8b14//G9eP/xvXj/8b14//G9eP/xvXj/8b14//G9eP/xvXj/8b14//G9eP + /xvXj/8b14//G9eP/xvXj/8b14//G9eP/xvXj/8b14//G9eP/xvXj/8b14//G9eP/xvXj/8b14//G9eP + /xvXj/8Y1o3/Yeas/13lqv8X1IzUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKtmUHBTWjP+M8MD/Od2b + /xrXj/8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ + /xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ + /xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNaQ/xzWkP8c1pD/HNaQ/xzWkP8c1pD/HNaQ/xzWkP8c1pD/HNaQ + /xzWkP8c1pD/HNaQ/xzWkP8c1pD/HNaQ/xzWkP8c1pD/G9aO/x7YkP+g9Mf/F9WN/ynalEsAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAH9mRmCncl/+l9sv/E9aN/xrZkP8a2ZH/GtmR/xrZkf8a15H/GteR + /xrXkf8a15H/GteR/xrXkf8a15H/GteR/xrXkf8a15H/GteR/xrXkf8a15H/GteR/xrXkf8a15H/GteR + /xrXkf8a15H/GteR/xrXkf8a15H/GteR/xrXkf8a15H/GteR/xrXkf8c15H/HNeR/xzXkf8c2JH/HNiR + /xzYkf8c2JH/HNiR/xzYkf8c2I//HNiP/xzYj/8c2I//HNiP/xzYj/8c2I//HNiP/xzYj/8c2I//HNiP + /xzYj/8V1o3/gu68/0zipP8X1o3VAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAx3ZoLFNeP + 927rtP9u67T/FdeP/xvYkv8b2JL/G9iS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS + /xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkP8b2ZD/G9mQ/xvZkP8b2ZD/G9mQ/xvZkP8b2ZD/G9mQ + /xvZkP8b2ZD/G9mQ/xrZkP8a2ZD/GtmQ/xrZkP8a2ZD/GtmQ/xrZkP8a2ZD/GtmQ/xrZkf8a2ZH/GtmR + /xrZkf8a2ZH/GtmR/xrZkf8a2ZH/GtmR/xrZkf8a2ZH/F9iP/0Xiov+X9MT/EteN/ynalTUAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf2pRkFdeQ/6T2yv87357/GNmQ/xvakf8b2pH/G9qR + /xvakf8b2pH/G9qR/xvakf8b2pH/G9qR/xvakf8b2pH/G9qR/xvakf8b2pH/G9iR/xvYkf8b2JH/G9iS + /xvYkv8b2JL/G9iS/xvYkv8b2JL/G9iS/xvYkv8b2JL/G9iS/xvYkv8b2JL/G9iS/xvYkv8b2JL/G9iS + /xvYkv8b2JL/G9iS/xvYkv8b2JL/G9iS/xvYkv8b2JL/G9iS/xvYkv8b2JL/G9iS/xvYkv8b2JL/G9iS + /xnYkf8i2ZT/rfjN/yTalf8X2JChAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAV2ZHALd2Z/7P60f8j2pb/GNmS/xnak/8Z2pP/GdqT/xnak/8Z2pP/GdqT/xnak/8Z2pP/GdqT + /xnak/8Z2pP/GdqT/xnak/8Z2pP/GdqT/xnak/8Z2pP/GdqT/xnak/8Z2pP/GdqT/xnak/8Z2pP/GdqT + /xnak/8Z2pP/GdqT/xnak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pH/G9qR + /xvakf8b2pH/G9qR/xvakf8b2pH/G9qR/xvakf8a2pH/F9iR/531yP9P5Kj/FdiP6zPdmwYAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADPenBMU2JDzUeWp/6b3y/8Y2ZL/GdmS + /xrZkv8a2ZL/GtmS/xrZkv8a2ZL/GtmS/xrZkv8a2ZL/GtmS/xrZkv8a2ZL/GtmS/xrZkv8a2ZL/GtmS + /xrZkv8a2ZL/GtmS/xrZkv8a2ZL/GtmS/xrZkv8a2ZL/GtmS/xrZkv8a2ZL/GtmS/xnZkv8Z2ZL/GdmS + /xnZk/8Z2ZP/GdmT/xnZk/8Z2ZP/GdmT/xnZk/8Z2ZP/GdmT/xnZk/8Z2ZP/GdmT/xnZk/8Z2ZP/GdmT + /xPXj/+G773/fe65/xHYj/8p3Zc0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAB/blj0S2ZD/dOy2/5bzxP8W2ZH/GdqT/xrblP8a25T/GtuU/xrblP8a25T/GtuU + /xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU + /xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuS/xrbkv8a25L/GtuS/xrbkv8a25L/GtuS + /xrbkv8a25L/GtuS/xrbkv8a25L/GtuS/xnbkv8R2Y//duy4/5bzxP8R2I//INuVcQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/blmQS2JD/he++ + /5XzxP8Y2ZL/GNqT/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU + /xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU + /xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8Z2pP/E9iQ + /3ntuf+k98r/GNmS/x/blp0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/blnoR2I//hO++/6P2yv8i25f/F9qS/xrblP8a25T/GtuU + /xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU + /xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU + /xrblP8a25T/GtuU/xrblP8a25T/GNqT/xbZkf+G8L//o/bK/x3alf8W2pKvAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ACDbloMS2I//e+26/6/5z/864KD/FNmR/xnblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU + /xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU + /xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xbakv8k3Zj/nvXH + /5TzxP8b2pT/FtqSrwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACDblm0R2ZD/Yemw/7r70/9n6rH/EtiQ + /xjak/8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU + /xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU + /xrblP8a25T/GtuU/xnak/8S2ZD/SuSm/7f60v997bv/FNiQ/xXakqIAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAACDblkYS2ZH7OuCg/675zv+c9cf/Mt+d/xPZkf8Y2pP/GtuU/xrblP8a25T/GtuU + /xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU + /xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xnak/8V2pH/I9uX/4fwv/+5+9P/Uuap + /xHZkP8g25Z6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADjgnxsU2ZHVG9qT + /3/uvP++/NX/ee25/yXdmP8U2ZH/GNqT/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU + /xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU + /xnak/8V2pL/GtmT/2bqsv+4+9P/lvPE/yjdmP8U2ZHvINuWPQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAh3JeHEdmQ/zvgoP+e9cf/ufrT/3ntuf8r3Zr/EtmR + /xfakv8Z2pP/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU + /xrblP8a25T/GtuU/xrblP8a25T/GdqT/xfakv8U2ZH/HtuV/2bqsv+x+dD/rPjO/1DlqP8Q2JD/FdqS + rjjgnwoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAu35skFNmRxBLYkP9O5af/nfTH/7z81P+U88T/UOWp/xzblP8T2ZH/FtqS/xfak/8Z2pP/GtuU + /xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xnak/8X2pP/FtqS/xTZkf8X2pL/RuOl + /4Pvvf+4+tP/rPjN/1jmrP8U2JH/FNmR3S/fnEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL96bQhPZkcwQ2ZD/PuKi + /4HuvP+1+tL/u/vU/5Pzw/9o6rP/QeKj/x/blv8S2ZH/FNmR/xTZkf8V2pL/FdqS/xXakv8V2pL/FNmR + /xTZkf8S2ZH/G9qT/z3hof9e567/ifDA/7X60f+7+9T/kvLC/0zkp/8U2JD/FNmR4SLcl1wAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADLenTYU2ZGpEtmR/hbZkf9M5Kb/fe67/6n4zf+6+9P/uvvT + /675z/+Z9MX/i/LB/3jtuP957bn/ee25/3jtuP+J8MD/lfPE/6z3zf+6+9P/ufvT/7P50P+J8MD/V+ar + /yHclv8S2ZH/E9mRwzHfnVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAABB4qIHM+CeYRPZkbUT2ZH5EdmQ/ybdmP9F46T/X+mv/3Pstv+D773/j/LC/4/ywv+P8sL/j/LC + /4nwwP957bn/ZOqx/0nkpf8s3pr/ENiQ/xLZkf8T2ZHCI9yWbjLfnRQAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA24J8xNuCe + axbakpQW2pLBFdqS3hTZkfsU2ZH/FNmR/xTZkf8U2ZH/FNmR/xXakuIW2pLFFtqSpTbgnm814J4+Q+Ok + AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAP///gAAAAAAAAAAAAB/////4AAAAAAAAAAAAAAAAAf/8AAAAAAAAAAAAAAAAAAA + D8AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAHAAAAAAAAA + AAAAAAAAAAAD8AAAAAAAAAAAAAAAAAAAD/+AAAAAAAAAAAAAAAAAAf////AAAAAAAAAAAAAgD/////// + //+AAAADAAAAD////////////////AAAAAP///////////////AAAAAA///////////////gAAAAAD// + ////////////gAAAAAAf/////////////wAAAAAAD/////////////4AAAAAAAf////////////8AAAA + AAAD////////////+AAAAAAAAf////////////AAAAAAAAD////////////gAAAAAAAAf/////////// + wAAAAAAAAD///////////8AAAAAAAAAf//////////+AAAAAAAAAH///////////AAAAAAAAAA////// + /////wAAAAAAAAAP//////////4AAAAAAAAAB//////////+AAAAAAAAAAf//////////AAAAAAAAAAD + //////////wAAAAAAAAAA//////////8AAAAAAAAAAH/////////+AAAAAAAAAAB//////////gAAAAA + AAAAAf/////////4AAAAAAAAAAH/////////+AAAAAAAAAAA//////////AAAAAAAAAAAP//////AADw + AAAAAAAAAAD/////8AAAEAAAAAAAAAAA/////8AAAAAAAAAAAAAAAP////8AAAAAAAAAAAAAAAD////8 + AAAAAAAAAAAAAAAA////+AAAAAAAAAAAAAAAAP///+AAAAAAAAAAAAAAAAD////AAAAAAAAAAAAAAAAA + ////gAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAD///4AAAAAAAAAAAAAAAAA///8AAAAAAAAAAAA + AAAAAP///AAAAAAAAAAAAAAAAAD///gAAAAAAAAAAAAAAAAA///wAAAAAAAAAAAAAAAAAf//8AAAAAAA + AAAAAAAAAAH//+AAAAAAAAAAAAAAAAAB///gAAAAAAAAAAAAAAAAA///wAAAAAAAAAAAAAAAAAP//8AA + AAAAAAAAAAAAAAAD//+AAAAAAAAAAAAAAAAAB///gAAAAAAAAAAAAAAAAAf//4AAAAAAAAAAAAAAAAAP + //8AAAAAAAAAAAAAAAAAD///AAAAAAAAAAAAAAAAAB///wAAAAAAAAAAAAAAAAA///8AAAAAAAAAAAAA + AAAAP//+AAAAAAAAAAAAAAAAAH///gAAAAAAAAAAAAAAAAD///4AAAAAAAAAAAAAAAAB///+AAAAAAAA + AAAAAAAAAf///gAAAAAAAAAAAAAAAAD///4AAAAAAAAAAAAAAAAAf//+AAAAAAAAAAAAAAAAAD///gAA + AAAAAAAAAAAAAAA///4AAAAAAAAAAAAAAAAAH///AAAAAAAAAAAAAAAAAA///wAAAAAAAAAAAAAAAAAP + //8AAAAAAAAAAAAAAAAAB///AAAAAAAAAAAAAAAAAAf//wAAAAAAAAAAAAAAAAAD//+AAAAAAAAAAAAA + AAAAA///gAAAAAAAAAAAAAAAAAP//4AAAAAAAAAAAAAAAAAB///AAAAAAAAAAAAAAAAAAf//wAAAAAAA + AAAAAAAAAAH//+AAAAAAAAAAAAAAAAAA///gAAAAAAAAAAAAAAAAAP//8AAAAAAAAAAAAAAAAAD///AA + AAAAAAAAAAAAAAAA///4AAAAAAAAAAAAAAAAAP///AAAAAAAAAAAAAAAAAD///wAAAAAAAAAAAAAAAAA + ///+AAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAD///+AAAAAAAAAAAAAAAAA////wAAAAAAAAAAA + AAAAAP////AAAAAAAAAAAAAAAAD////4AAAAAAAAAAAAAAAA/////AAAAAAAAAAAAAAAAP////8AAAAA + AAAAAAAAAAD/////wAAAAAAAAAAAAAAA//////gAADgAAAAAAAAAAf//////AAH4AAAAAAAAAAH///// + ////+AAAAAAAAAAB//////////wAAAAAAAAAAf/////////8AAAAAAAAAAP//////////AAAAAAAAAAD + //////////4AAAAAAAAAB//////////+AAAAAAAAAAf//////////wAAAAAAAAAP//////////8AAAAA + AAAAD///////////gAAAAAAAAB///////////8AAAAAAAAAf///////////AAAAAAAAAP/////////// + 4AAAAAAAAH////////////AAAAAAAAD////////////4AAAAAAAB/////////////AAAAAAAA/////// + //////4AAAAAAAf/////////////AAAAAAAP/////////////4AAAAAAH//////////////gAAAAAD// + ////////////8AAAAAD///////////////wAAAAD////////////////AAAAD////////////////8AA + AD/////////////////8AAH/////KAAAAEAAAACAAAAAAQAgAAAAAAAAQgAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKSkpAGkpKQCpKSkA6SkpAOkpKQDpKSk + BaSkpAikpKQKpKSkCqSkpAqkpKQKpKSkCqSkpAqkpKQKpKSkDKSkpBGkpKQVpKSkFqSkpBakpKQWpKSk + FqSkpBakpKQWpKSkFqSkpBakpKQWpKSkFqSkpBakpKQWpKSkFaSkpBGkpKQMpKSkCqSkpAqkpKQKpKSk + CqSkpAqkpKQKpKSkCqSkpAikpKQFpKSkA6SkpAOkpKQDpKSkAqSkpAEAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAApKSkAaSkpAakpKQLpKSkEaSkpBakpKQdpKSkJaSkpCmkpKQvpKSk + OqSkpD+kpKRApKSkQaSkpEekpKRWpKSkXaSkpF6kpKRepKSkXqSkpF6kpKRepKSkXqSkpGOkpKRypKSk + faSkpH+kpKR+pKSkfqSkpH6kpKR+pKSkfqSkpH6kpKR+pKSkfqSkpH6kpKR+pKSkf6SkpH2kpKRypKSk + Y6SkpF6kpKRepKSkXqSkpF6kpKRepKSkXqSkpF2kpKRWpKSkR6SkpEGkpKRApKSkP6SkpDqkpKQvpKSk + KaSkpCWkpKQdpKSkFqSkpBGkpKQLpKSkBqSkpAEAAAAApKSkA6SkpBykpKRBpKSkW6SkpG2kpKR8pKSk + iqSkpJmkpKSfpKSkpqSkpLSkpKS7pKSkvKSkpL2kpKTCpKSkzaSkpNOkpKTUpKSk1aSkpNWkpKTVpKSk + 1aSkpNWkpKTXpKSk36SkpOWkpKTmpKSk56SkpOekpKTnpKSk56SkpOekpKTnpKSk56SkpOekpKTnpKSk + 56SkpOakpKTlpKSk36SkpNekpKTVpKSk1aSkpNWkpKTVpKSk1aSkpNSkpKTTpKSkzaSkpMKkpKS9pKSk + vKSkpLukpKS0pKSkpqSkpJ+kpKSZpKSkiqSkpHykpKRtpKSkW6SkpEGkpKQcpKSkA6SkpAikpKQ9pKSk + haSkpKykpKTCpKSk0aSkpNykpKTkpKSk6aSkpO2kpKTypKSk9KSkpPWkpKT3pKSk+KSkpPmkpKT6pKSk + +6SkpPukpKT7pKSk/KSkpP2kpKT9pKSk/aSkpPykpKT9pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk + /qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/aSkpPykpKT9pKSk/aSkpP2kpKT8pKSk+6SkpPukpKT7pKSk + +qSkpPmkpKT4pKSk96SkpPWkpKT0pKSk8qSkpO2kpKTppKSk5KSkpNykpKTRpKSkwqSkpKykpKSFpKSk + PaSkpAikpKQDpKSkIaSkpEqkpKRmpKSkeqSkpIqkpKSapKSkoaSkpK2kpKS5pKSkvKSkpL2kpKTFpKSk + z6SkpNWkpKTVpKSk1aSkpNWkpKTXpKSk36SkpOakpKTmpKSk56SkpOekpKTnpKSk56SkpOekpKTnpKSk + 56SkpOekpKTnpKSk56SkpOekpKTnpKSk56SkpOekpKTnpKSk56SkpOekpKTnpKSk56SkpOekpKTmpKSk + 5qSkpN+kpKTXpKSk1aSkpNWkpKTVpKSk1aSkpM+kpKTFpKSkvaSkpLykpKS5pKSkraSkpKGkpKSapKSk + iqSkpHqkpKRmpKSkSqSkpCGkpKQDAAAAAKSkpAOkpKQIpKSkD6SkpBakpKQdpKSkJaSkpCqkpKQ0pKSk + PqSkpECkpKRCpKSkS6SkpFikpKRdpKSkXqSkpF6kpKRepKSkY6SkpHKkpKR9pKSkf6SkpH6kpKR+pKSk + fqSkpH6kpKR+pKSkfqSkpH6kpKR+pKSkfqSkpH6kpKR+pKSkfqSkpH6kpKR+pKSkfqSkpX2kpah7pKWp + eKSmq3ejpqx2o6asdqOmrHSkpqxppKasW6SlqlekpahapKSnXaSkpV2kpKVYpKSkS6SkpEKkpKRApKSk + PqSkpDSkpKQqpKSkJaSkpB2kpKQWpKSkD6SkpAikpKQDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAACkpKQBpKSkAqSkpASkpKQDpKSkBKSkpAakpKQJpKSkC6SkpAukpKQLpKSkC6SkpA2kpKQSpKSk + FqSkpBekpKQXpKSkF6SkpBekpKQXpKSkF6SkpBekpKQXpKSkF6SkpBekpKQXoqOjF6OiohejoZ4Xo6Gd + FKOhnA+jnJApo5FoeqOITbWkgzbfpYAv+6WAL/+lgS7/o38t/aJ+K+KihUe1oo1heaKVeCSim40CopyQ + BqOelQajoJsEo6KiA6KjpASkpKQCpKSkAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAJ+HTTeeeSm9nngg/555JP+eeSX/nnon/556J/+eeif/nnon/556KP+eeij/nnom + /555JP+eeCL/nnooyJ6CP0kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAnoE9FJ55J7+eeSX/n3oo/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/596KP+feib/nnkm0J57LiMAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnnomUp96J/+feij/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597KP+feij/n3oo + awAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAn3spep97Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feymVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAn3sp + c597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597KZQAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAn3spSZ97Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + ZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAn3spDZ97Kfqfeyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feykgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ97Kaqfeyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3spyQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ97KSafeyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feylAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAACfeymin3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3spwQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAn3sp/p97Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+eeigRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAn3spR556KP+eeij/nnoo/556KP+eeij/nnoo + /556KP+eeij/nnoo/556KP+eeij/nnoo/556KP+eeij/nnoo/556KP+eeij/nnoo/556KP+eeij/nnoo + /556KP+eeij/nnoo/556KP+eeij/nnoo/556KP+eeij/nnoo/556KP+eeij/n3wqZAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJx5L4ijfiv/o34s + /6N+LP+jfiz/o34s/6N+LP+jfiz/o34s/6N+LP+jfiz/o34s/6N+LP+jfiz/o34s/6N+LP+jfiz/o34s + /6N+LP+jfiz/o34s/6N+LP+jfiz/o34s/6N+LP+jfiz/o34s/6N+LP+jfiz/o34s/6N+LP+jfiz/o34s + /6N9K6YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAALC4ETCwuBbAsLga0LC4HfCwuB/gsLgf8LC4H/CwuB8QsLgcwKCoGVDw5+ + SgAAAACdejO0poEt/6aBLv+mgS7/poEu/6aBLv+mgS7/poEu/6aBLv+mgS7/poEu/6aBLv+mgS7/poEu + /6aBLv+mgS7/poEu/6aBLv+mgS7/poEu/6aBLv+mgS7/poEu/6aBLv+mgS7/poEu/6aBLv+mgS7/poEu + /6aBLv+mgS7/poEu/6aBLv+mgS7UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsLgTcLC4G/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/woKgf8AAIT0nHpn8auEM/+ogy7/qIQz/6iEM/+ohDP/qIQz/6iEM/+ohDP/qIQz + /6iEM/+ohDP/qIQz/6iEM/+ohDP/qIQz/6iEM/+ohDP/qIQz/6iEM/+ohDP/qIQz/6iEM/+ohDP/qIQz + /6iEM/+ohDP/qIQz/6iEM/+ohDP/qIQz/6iEM/+ohDP/qIMy8gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwuBDwsLgbgLC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/AAJ+/6uMn/+xjJ//rYhg/6yGLf+thzX/rYc2 + /62HNv+thzb/rYc2/62HNv+thzb/rYc2/62HNv+thzb/rYc2/62HNv+thzb/rYc2/62HNv+thzb/rYc2 + /62HNv+thzb/rYc2/62HNv+thzb/rYc2/62HNv+thzb/rYc2/62HNv+thzb/rIY1/7CLO/8AAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwuBPQsLgfkLC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wACfv+vkJ3/s4+d + /7OPo/+yjYb/r4k1/6+KN/+vijn/r4o5/6+KOf+vijn/r4o5/6+KOf+vijn/r4o5/6+KOf+vijn/r4o5 + /6+KOf+vijn/r4o5/6+KOf+vijn/r4o5/6+KOf+vijn/r4o5/6+KOf+vijn/r4o5/6+KOf+vijn/r4o5 + /6+JN/+5lkj+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwuB + VAsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8AAn7/pIic/7qVn/+2kZ//t5Ki/7aRlf+zjDr/tI06/7SNPP+0jTz/tI08/7SNPP+0jTz/tI08 + /7SNPP+0jTz/tI08/7SNPP+0jTz/tI08/7SNPP+0jTz/tI08/7SNPP+0jTz/tI08/7SNPP+0jTz/tI08 + /7SNPP+0jTz/tI08/7SNPP+yijn/wJ5R7gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAACwuBQwsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/AgR//4Vrlv/Nq6X/uJOf/7qVn/+6laL/uZSW/7aPOv+3kD7/t5A/ + /7eQP/+3kD//t5A//7eQP/+3kD//t5A//7eQP/+3kD//t5A//7eQP/+3kD//t5A//7eQP/+3kD//t5A/ + /7eQP/+3kD//t5A//7eQP/+3kD//t5A//7eQP/+2jz3/v5pN/72YSsoAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAACwuBFwsLgf4LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wQGf/9gTY//17Wo/7uWof+8mKL/vJii + /72Ypf+8lob/uZI6/7mTQv+5k0L/uZNC/7mTQv+5k0L/uZNC/7mTQv+5k0L/uZNC/7mTQv+5k0L/uZNC + /7mTQv+5k0L/uZNC/7mTQv+5k0L/uZNC/7mTQv+5k0L/uZNC/7mTQv+5k0L/uJE//82sY/+5kUCZAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsLgckLC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8HCID/LSWH + /+PArP++lqL/wZmi/8GZov/BmaL/wZqp/76WYf++lUL/vpZF/76WRf++lkX/vpZF/76WRf++lkX/vpZF + /76WRf++lkX/vpZF/76WRf++lkX/vpZF/76WRf++lkX/vpZF/76WRf++lkX/vpZF/76WRf++lkX/vpZF + /7uTQf/VtG3/wZtLVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsLgVALC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CgqB/wAAff/LqKf/0q2o/8KbpP/DnaX/w52l/8Odpf/EnKL/wJhD/8CZR//AmUj/wJlI + /8CZSP/AmUj/wJlI/8CZSP/AmUj/wJlI/8CZSP/AmUj/wJlI/8CZSP/AmUj/wJlI/8CZSP/AmUj/wJlI + /8CZSP/AmUj/wJlI/8CYRv/HoFP/0a9l/8ijVgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAALC4HbCwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8DBX//bliT/+nMr//Fm6X/yKCl/8igpf/IoKX/yKCq + /8Wcbv/EnEf/xZxK/8WcSv/Em0n/xJlI/8SYR//El0b/xJdG/8SXRv/El0b/xJhH/8SZSP/Emkn/xZxK + /8WcSv/FnEr/xZxK/8WcSv/FnEr/xZxK/8WcSv/CmEb/4MKA/8OaSaYAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAALC4EyCwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CQmA/wwLgP/iu67/2bar + /8mfp//Loaj/y6Go/8uhqf/Lopr/yJ1I/8ibTP/ImUn/yqdY/867bP/QyXr/0dKD/9LYif/S2In/0dKE + /9DKe//OvG7/yqla/8iZSf/Imkz/yZ1O/8mdT//JnU//yZ1P/8mdT//InE3/0ald/9y6c//NpFYnAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwuAjQsLgP8LC4D/CwuA/wsLgP8LC4D/CwuA + /wsLgP8LC4D/CwuA/wsLgP8LC4D/CwuA/wsLgP8LC4D/CwuA/wsLgP8LC4D/CwuA/wsLgP8LC4D/CwuA + /wsLgP8CA37/cVqV//TXs//Npan/zaWp/82mqf/Npqn/zaOv/8uhV//QwnL/1t+Q/9fnmf/X5Zf/1+SW + /9fklv/X45X/1+OV/9fklf/X5Jb/1+WX/9fnmf/W4pT/0sV2/8yjU//Lnk7/y6FR/8uiUv/LolH/yZ1M + /+zSk//Kn06kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoKhNIKCoT/CgqE + /woKhP8KCoT/CgqE/woKhP8KCoT/CgqE/woKhP8KCoT/CgqE/woKhP8KCoT/CgqE/woKhP8KCoT/CgqE + /woKhP8KCoT/CgqE/woKhP8KCoT/CgqD/wECgP/Enqn/89mz/86jrP/RqKz/0aSq/9bHv//a5q7/2uaX + /9rkl//a5Jf/2uSX/9rkl//a5Jf/2uSX/9rkl//a5Jf/2uSX/9rkl//a5Jf/2uSX/9rmmf/Z55r/1ch6 + /8+iUf/Po1P/zJ9N/+3Sk//Sp1n11a5jCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAANDYb/DQ2G/w0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G + /w0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G/w0Nhv8JCob/HxqL/+W8s//y17T/0q20 + /93gzP/e6NP/3eW4/9vllv/b5Zn/2+WZ/9vlmf/b5Zn/2+WZ/9vlmf/b5Zn/2+WZ/9vlmf/b5Zn/2+WZ + /9vlmf/b5Zn/3OWZ/9znm//b4pb/0a1d/+zNjf/dtWv/0q9hOQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAANDYoSDQ2K/w4Oi/8ODov/Dg6L/w4Oi/8ODov/Dg6L/w4Oi/8ODov/Dg6L + /w4Oi/8ODov/Dg6L/w4Oi/8ODov/Dg6L/w4Oi/8ODov/Dg6L/w4Oi/8ODov/Dg6L/w4Oi/8ODov/Dg6L + /wcIif87LZL/7s6+//fwv//f59L/3+fT/+Dlwv/e5pf/3+ab/9/mm//f5pv/3+ab/9/mm//f5pv/3+ab + /9/mm//f5pv/3+ab/9/mm//f5pv/3+ab/9/mm//e5pr/3eaZ//bvs//rzYb/za1eWQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEhKPJhERkP8ODo3/Dw+N/w8Pjf8PD43/Dw+N + /w8Pjf8PD43/Dw+N/w8Pjf8PD43/Dw+N/w8Pjf8PD43/Dw+N/w8Pjf8PD43/Dw+N/w8Pjf8PD43/Dw+N + /w8Pjf8PD43/Dw+N/w8Pjf8NCYz/ETCW/2bGwv/v6tP/++y7/+jpzv/h58v/4eeZ/+Lnnf/i553/4ued + /+Lnnf/i553/4ued/+Lnnf/i553/4ued/+Lnnf/i553/4ued/+HnnP/g5pv/5eaf//vrsv/y6qT/a8R2 + /0u0Z1gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUVlSUgIJ7/Dg6R + /xAQkv8QEJL/EBCS/xAQkv8QEJL/EBCS/xAQkv8QEJL/EBCS/xAQkv8QEJL/EBCS/xAQkv8QEJL/EBCS + /xAQkv8QEJL/EBCS/xAQkv8QEJL/EBCS/xAQkv8PDZH/FCCW/0O+vv88tbv/ULm//9jk1f/77MX/+eu6 + /+fmn//h5pz/4uad/+Lnnf/j557/4+ee/+Pnnv/j557/4+ee/+Pnnv/i553/4uad/+HmnP/l5p//9uqu + //3ssP/d5Jz/T7hr/yyuYP8xsGL/P7BiOQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAaGpsRKSmm/w8PlP8REZb/ERGW/xERlv8REZb/ERGW/xERlv8REZb/ERGW/xERlv8REZb/ERGW + /xERlv8REZb/ERGW/xERlv8REZb/ERGW/xERlv8REZb/ERGW/xERlv8QEJb/DgiS/z6pu/9CuL7/Qba9 + /z+1vf83srv/mtLU/+7qyf/77K3/+uyy/+/pqf/n5qL/4uad/+Lmnf/i5p3/4uad/+Lmnf/i5p3/5uah + /+7pqP/66rL//Oyx//HqpP+Yz4P/La1g/zCvYf81sWP/NbFj/zSxY/Q0sWMIAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzsP8NDZb/EhKY/xISmP8SEpj/EhKY/xISmP8SEpj/EhKY + /xISmP8SEpj/EhKY/xISmP8SEpj/EhKY/xISmP8SEpj/EhKY/xISmP8SEpj/EhKY/xISmP8SEpj/DwmW + /yxqrv9FvcL/Q7XB/0O1wf9DtcH/QLXA/1e+0P86spj/ist8/9vjmv/366n/++yv//3ss//77LL//Oyz + //zss//77LL//eyz//zssP/366r/4uad/5TOgv86smP/LK5f/zSwYv81sWP/NbFj/zWxY/81sWP/M7Fj + pAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiIqfOKSms/xERm/8TE53/ExOd + /xMTnf8TE53/ExOd/xMTnf8TE53/ExOd/xMTnf8TE53/ExOd/xMTnf8TE53/ExOd/xMTnf8TE53/ExOd + /xMTnf8TE53/EhGc/xIVnf9FwMX/Q7jC/0O3wv9DuML/Q7bC/0C1wf9jw9f/NbGC/yyuXf8lrF3/TLhq + /3/IfP+j04n/utqP/8nflf/J35X/vNuQ/6XTiP+FyX3/U7pt/yesXv8srmD/MrBi/zSwYv80sGL/NLBi + /zSwYv80sGL/NLBi/zSwYv8zsGMnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFxej + hUREwP8PD57/EhKh/xISof8SEqH/EhKh/xISof8SEqH/EhKh/xISof8SEqH/EhKh/xISof8SEqH/EhKh + /xISof8SEqH/EhKh/xISof8SEqH/EhKh/xALn/8sbrX/Q8HJ/0K7yP9Cu8j/QrvI/0G7yP8+ucX/bMrg + /y6zav8xs2b/MrNn/y+zZv8ssmT/KbFj/yiwY/8nsGL/J7Bj/yiwY/8psWT/K7Fj/y6zZP8xtGX/MrRl + /zK0Zf8ytGX/MrRl/zK0Zf8ytGX/MbRl/zOyZf8zsmX/MrJlpgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAACIiqyhNTcf/Dw+g/xMTo/8UFKP/FBSj/xQUo/8UFKP/FBSj/xQUo/8UFKP/FBSj + /xQUo/8UFKP/FBSj/xQUo/8UFKP/FBSj/xQUo/8UFKP/FBSj/xMTo/8RCKD/P7zL/0G+y/9Bvsr/Qb7K + /0G+yv8+vcn/ZMrb/0S/vf8ut2T/MLhr/zC4a/8wuGv/MLZr/zC2a/8wt2v/MLdr/zC3af8wt2n/MLdp + /zC3av8wt2r/MLdq/zC3av8wt2r/MLdq/zC3av8wt2r/MLdq/zC3av8vt2r/L7Vq/zC1av8utWkDAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHx+t0E1NyP8QEKX/FRWo/xUVqP8VFaj/FRWo + /xUVqP8VFaj/FRWo/xUVqP8VFaj/FRWo/xUVqP8VFaj/FRWo/xUVqP8VFaj/FRWo/xUVqP8UEaf/HTiv + /0LL0f9Awc//QMHP/0DBz/9Awc//Ob7M/3vU6/8vu43/Lbps/y67b/8uu2//Lrtv/y67bf8uu23/Lrlt + /y66bf8uum7/Lrpu/y66bv8uum7/Lrpu/y66bv8uum7/Lrpu/y66bv8uum7/Lrpu/y66bv8uum7/Lrps + /y66bP8uumz/LrhsVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8fsEVdXdP/Fhar + /xUVqv8WFqr/Fhaq/xYWqv8WFqr/Fhaq/xYWqv8WFqr/Fhaq/xYWqv8WFqr/Fhaq/xYWqv8WFqr/Fhaq + /xYWqv8WFqr/FA+p/ypqvv9AytP/P8PS/z/D0v8/w9L/OsLQ/27T4/9Lx8//KL1r/yy+cf8svnH/LL5x + /yy+cf8svnL/LL5y/yy+cv8svHL/LL1y/yy9cv8svXL/LL1y/yy9cv8svXL/LL1y/yy9cP8svXD/LL1w + /yy9cP8svXD/LL1w/yy9cf8svXH/LL1x/yy7cZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAFRWuunJy3/8ODqn/Fhav/xcXr/8XF6//Fxev/xcXr/8XF6//Fxev/xcXr/8XF6//Fxev + /xcXr/8XF6//Fxev/xcXr/8XF6//Fxev/xQOrf8xk8j/PszV/z7I1f8+yNX/O8fU/0rK2P982fH/KL+K + /ynAc/8qwXb/KsF2/yrBdv8qwXb/Kr90/yq/dP8qv3T/KsB0/yrAdP8qwHT/KsB1/yrAdf8qwHX/KsB1 + /yrAdf8qwHX/KsB1/yrAdf8qwHX/KsB1/yrAdf8pwHX/KcBz/ynAc/8pvnPKAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwvQ4wML72ZGTZ/w4Orf8YGLH/GBix/xgYsf8YGLH/GBix + /xgYsf8YGLH/GBix/xgYsf8YGLH/GBix/xgYsf8YGLH/GBix/xgYsf8VDa//Nq3R/z3N1/88y9b/O8rW + /z/K1/+S4Pb/LcWx/ybDcv8oxHn/KMR5/yjCef8ownn/KMJ5/yjDef8ow3n/KMN5/yjDef8ow3n/KMN5 + /yjDd/8ow3f/KMN3/yjDd/8nw3f/J8N3/yfDeP8nw3j/J8N4/yfBeP8nwXj/KcF4/ynBeP8pwXj/KMF4 + 7gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKCi7MkVFzP9lZdz/Dg6w + /xgYtf8ZGbb/GRm2/xkZtv8ZGbb/GRm2/xkZtv8ZGbb/GRm2/xkZtv8ZGbb/GRm2/xkZtv8ZGbb/Fg2z + /zu/1v89ztv/Osza/0DN2v+Z5Pn/OMzK/yTGdv8lx3v/Jsd8/ybHfP8mx3z/Jcd8/yXHfP8lxXz/JcZ8 + /yXGfP8lxnz/JcZ8/yXGfP8lxnz/JcZ8/yXGfP8lxnz/J8Z8/yfGfP8nxnr/J8Z6/yfGe/8nxnv/J8Z7 + /yfGe/8nxnv/JsZ6/yjFe/0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAApKb9DQUHM/3x85/8WFrj/FRW4/xkZuv8aGrr/Ghq6/xoauv8aGrr/Ghq6/xoauv8aGrr/Ghq6 + /xoauv8aGrr/Ghq6/xYNt/9JyNj/NNDb/1PV4/+Z5fr/OM7O/yLJe/8jyn7/I8p//yPKf/8jyn//I8p/ + /yXKf/8lyn//Jch//yXJf/8lyX//Jcl//yXJf/8lyX//Jcl//yXJf/8lyX//Jcl//yXJf/8lyX//Jcl/ + /yXJf/8lyX3/Jcl+/yXJfv8kyX7/JMl+/yTIff8wzIT/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0twyopKcPviorv/0hI0f8REbj/Fha7/xoavP8bG73/Gxu9 + /xsbvf8bG73/Gxu9/xsbvf8bG73/Ghq9/xgYvP8RCbj/RbvW/4Xk8/+F4/f/LM2+/yDLff8izIH/I8yC + /yPMgv8jzIL/I8yC/yPMgv8jzIL/I8yC/yLMgv8izIL/IsyC/yLMgv8izIL/IsyC/yLMgv8izIL/IsyC + /yLMgv8izIL/IsqA/yLKgP8iyoD/IsqB/yLKgf8iyoH/JMuB/yTLgf8iyn//OdGN8gAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPj7LAhkZu59WVtj/jIzw + /1hY2P8hIb//ExO6/xUVuv8WFrv/Fxe7/xcXu/8WFrv/FBS6/xQUuf81Ncj/dG/k/5HP8/9Y3t//Ic2g + /x7Nff8gzYT/IM2F/yDNhf8gzoX/IM6F/yDOhf8gzoX/IM6F/yDOhf8izoX/Is6F/yLOhf8izoP/Is6D + /yLOg/8izoP/Is6D/yLOg/8izoP/Is6D/yLOhP8izoT/Is6E/yLOhP8izoT/Is6E/yHMhP8hzIP/JM6E + /znUkNQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAANDTIJh0dvqZERND/e3vp/4yM7/97e+j/aGjg/2Fh3P9jY93/bm7i/4WF7P+MjO//Zmbg + /ywmxuUeh7HEQd+S/xzQhP8g0Yj/INGG/yDRhv8g0Yb/IM+G/yDQhv8g0Ib/INCG/yDQhv8g0Ib/H9CG + /x/Qhv8f0If/H9CH/x/Qh/8f0If/H9CH/x/Qh/8f0If/H9CH/x/Qh/8f0If/H9CH/x/Qh/8f0If/H9CH + /yHQh/8h0If/Hs+E/0PZl/8jz4amAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARETPAzIyx1MhIb+XJCTAxzIyx+M4OMr3ODjK + 8Cgow9wiIsC1JSXCfTU1yS8AAAAAMbyeRErgnf8b0oj/H9OK/x/Riv8f0Yr/H9GK/x/Siv8f0or/H9KK + /x/Siv8f0or/H9KK/x/Siv8f0or/H9KI/x/SiP8f0oj/H9KI/x/SiP8f0oj/H9KJ/x/Sif8f0on/H9KJ + /x/Sif8f0on/H9KJ/x/Sif8e0on/HtKJ/xvRh/9M3Z7/JtOLZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABK4Z/+INSM/x3Ti/8e1Iz/HtSM + /x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM + /x7Uiv8e1Iv/HtSL/x7Ui/8e1Iv/HtSL/x7Ui/8e1Iv/HtSL/x3Uiv8Z0oj/UuCj/zDWkhIAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAINaO + olnkqf8Y1Iv/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdSO + /x3Ujv8d1I7/HdSO/x3Ujv8d1Iz/HdSN/x3Ujf8d1I3/HdSN/x3Ujf8d1I3/HdSN/x3Ujf8Z1Iv/UeGk + /ybWkMEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAACnYlCZc5qv/HNeP/xvWj/8c1pD/HNeQ/xzXkP8c15D/HNeO/xzXjv8c147/HNeO + /xzXjv8c147/HNeO/xzXjv8c147/HNeO/xzXjv8c147/HNeP/xzXj/8c14//HNeP/xzXj/8c14//HNeP + /xzXj/8b14//FtSL/2bnr/8p2JNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHtiRqnDrtP8S143/G9mR/xvXkf8b15H/G9eR + /xvXkf8b15H/G9eR/xvYkf8b2JH/G9iR/xvYkf8b2JH/G9iR/xvYkf8b2JH/GtiR/xrYkf8a2JH/GtiR + /xrYkf8a2JH/GtiR/xrYkf8a2I//E9aM/2bpsP8i2JPKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADPdmw0/4KL6UOOn + /xPYj/8Z2pL/GdqS/xnakv8Z2pL/GdqS/xnakv8Z2JL/GdmS/xnZkv8Z2ZL/GdmS/xnZkv8Z2ZL/GdmS + /xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/FtiQ/z3goP9R5Kf/LNyYIAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAIduVS2fqsv844J//FNiQ/xrZk/8a2ZP/GtmT/xrZk/8a2ZP/GtqT/xrak/8a2pP/GtqT + /xrak/8a2pP/GtqT/xrak/8Z2pP/GdqT/xnak/8Z2pP/GdqT/xnak/8Z2pP/FdmR/yrcmf927bf/HdmT + ZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa2pR2d+23/0Dio/8S2ZD/GtuU/xrblP8a25T/GtuU + /xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/E9mR + 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 + /gAAAf//////AAAD//////+AAAf//////+AAH///////+AB//ygAAAAwAAAAYAAAAAEAIAAAAAAAgCUA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkpKQCpKSkBKSkpAekpKQHpKSk + CaSkpA6kpKQRpKSkEqSkpBKkpKQSpKSkEqSkpBOkpKQdpKSkIqSkpCGkpKQhpKSkIaSkpCGkpKQhpKSk + IaSkpCGkpKQhpKSkIqSkpB2kpKQTpKSkEqSkpBKkpKQSpKSkEqSkpBGkpKQOpKSkCaSkpAekpKQHpKSk + BKSkpAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkpKQBoqKiE6KioiekpKQ5oqKiR6KiolikpKRhoqKi + b6Kion2kpKR/oqKigaSkpJOioqKeoqKin6Kiop+kpKSfoqKinqKioqGkpKSyoqKiuqKiorukpKS7oqKi + u6KiorukpKS7oqKiu6KiorukpKS7oqKiuqKiorKkpKShoqKinqSkpJ+ioqKfoqKin6SkpJ6ioqKToqKi + gaSkpH+ioqJ9oqKib6SkpGGioqJYoqKiR6SkpDmioqInoqKiE6KiogGkpKQNoqKiX6KioqKkpKS/oqKi + 0qKiouCkpKTmoqKi7aKiovOkpKT0oqKi9aSkpPmioqL8oqKi+6KiovykpKT9oqKi/aKiovykpKT+oqKi + /6Kiov+kpKT/oqKi/6Kiov+kpKT/oqKi/6Kiov+kpKT/oqKi/6Kiov6kpKT8oqKi/aSkpP2ioqL8oqKi + +6SkpPyioqL5oqKi9aSkpPSioqLzoqKi7aSkpOaioqLgoqKi0qSkpL+ioqKioqKiX6Kiog2kpKQEpKSk + K6SkpFGkpKRopKSkfqSkpIqkpKSbpKSkp6SkpKikpKS0pKSkwqSkpMSkpKTEpKSkxaSkpM6kpKTZpKSk + 2qSkpNqkpKTapKSk2qSkpNqkpKTapKSk2qSkpNqkpKTapKSk2qSkpNqkpKTapKSk2aSkp9ejpajVpKWo + 1aOlqNSkpanJpKWowaSkpcKkpKTEpKSkwqSkpLSkpKSopKSkp6SkpJukpKSKpKSkfqSkpGikpKRRpKSk + K6SkpAQAAAAAAAAAAKOjowGkpKQDoqKiCKKiogukpKQSoqKiF6KiohikpKQfoqKiKaSkpCmioqIpoqKi + K6KiojakpKRBoqKiQqKiokKkpKRCoqKiQqKiokKkpKRCoqKiQqKio0KkpKVCo6OmQqOkqUCkp646o6So + PaOci2yllnWYpZVxrqWWcK+klG6fo5Z4d6OelT+jpKYfo6SlJKOjpR+jpKQYoqOkF6SkpBKioqILoqKi + CKSkpAOioqIBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AJ+MYRWegDmZnngj9J53IP+eeCL/nngi/554Iv+eeCP/nngg/553Hv+eeCTUn4FAZAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAnnstkJ94If+feSb/n3oo/597Kf+feyj/n3sp/597KP+feyn/n3sp/597Kf+feij/n3km + /554JO6eeyg/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAJ14Iw2feibbnXkm/515J/6feyn/nXkn/Z15J/2feyn/nXkn/Z97Kf+deSf9nXkn + /Z97Kf+deSf9nXkn/Z97Kf+deSb/nXkmgwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAnXknDJ15J+ufeyn/nXkn/Z15J/2feyn/nXkn/Z15J/2feyn/nXkn + /Z97Kf+deSf9nXkn/Z97Kf+deSf9nXkn/Z97Kf+deSf+nXkn/597KY8AAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAn3sp1p97Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyljAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACfeymCnXkn/515J/2feyn/nXkn + /Z15J/2feyn/nXkn/Z15J/2feyn/nXkn/Z97Kf+deSf9nXkn/Z97Kf+deSf9nXkn/Z97Kf+deSf9nXkn + /Z97Kf+deSf/nXknFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ97KQyfeyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3spqQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AJ15J4Sfeyn/nXkn/Z15J/2feyn/nXkn/Z15J/2feyn/nXkn/Z15J/2feyn/nXkn/Z97Kf+deSf9nXkn + /Z97Kf+deSf9nXkn/Z97Kf+deSf9nXkn/Z97Kf+deSf+nXkn/597KRIAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAJ56KOWeeij/nnoo/Z56KP2eeij/nnoo/Z56KP2eeij/nnoo/Z56KP2eeij/nnoo + /Z56KP+eeij9nnoo/Z56KP+eeij9nnoo/Z56KP+eeij9nnoo/Z56KP+eeij9nnoo/556KHAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAk3E0FKN/Kv+hfiv/oX4r/aF+K/2hfiv/oX4r/aF+K/2hfiv/oX4r + /aF+K/2hfiv/oX4r/aF+K/+hfiv9oX4r/aF+K/+hfiv9oX4r/aF+K/+hfiv9oX4r/aF+K/+hfiv9oX4r + /6F+K7gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwuB + KQsLgYgLC4HNCwuB+QsLgf8LC4H/CwuB7gkJgbsPDn9qcFhPVKyEJv+ngC7/p4Aw/6eAMP+ngDD/p4Aw + /6eAMP+ngDD/p4Aw/6eAMP+ngDD/p4Aw/6eAMP+ngDD/p4Aw/6eAMP+ngDD/p4Aw/6eAMP+ngDD/p4Aw + /6eAMP+ngDD/p4Aw/6eAL+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAkJfyoLC4HHCQl//wsLgf8JCX//CQl//gkJf/0LC4H/CQl//wkJf/8DBYH/QjSO/7mRdf2phTH/qoQw + /auFNP2rhTT/q4U0/auFNP2rhTT/q4U0/auFNP2rhTT/q4U0/auFNP+rhTT9q4U0/auFNP+rhTT9q4U0 + /auFNP+rhTT9q4U0/auFNP+rhTT9qoQz/quGNf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAACQl/fQkJf/8LC4H/CQl//QsLgf8JCX/9CQl//QkJf/0LC4H/CQl//QkJf/0EBX//SjyL + /cSfpv2xjp//r4lK/a6IMv2uiTj/rok4/a6JOP2uiTj/rok4/a6JOP2uiTj/rok4/a6JOP+uiTj9rok4 + /a6JOP+uiTj9rok4/a6JOP+uiTj9rok4/a6JOP+uiTj9rYc2/rWSQ/8AAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAALC4GjCwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8FBn//PTGI/82ppP+1kJ//t5Kq/7SOV/+zjDb/tI08/7SNPP+0jTv/tI08/7SNPP+0jTv/tI08 + /7SNO/+0jTz/tI08/7SNO/+0jTz/tI08/7SNO/+0jTz/tI08/7SNO/+0jTz/sos5/76aTfIAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkJf4QLC4H/CQl//QkJf/0LC4H/CQl//QsLgf8JCX/9CQl/ + /QkJf/0LC4H/CQl//QkJf/0HCID/IBqE/di0p/26lKD/upah/buWqv24kU7/t5A9/beRP/25kUH/t5E/ + /beRP/25kUH/t5E//bmRQf+3kT/9t5E//bmRQf+3kT/9t5E//bmRQf+3kT/9t5E//bmRQf+3kD/9uJBA + /8WiV8oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQl/NQkJf/8LC4H/CQl//QkJf/0LC4H/CQl/ + /QsLgf8JCX/9CQl//QkJf/0LC4H/CQl//QkJf/0KCoH/AAB9/dm1qf2+l6L/wJqj/cCapP3AmaD/vJQ9 + /b2VRP28lUX/vZVF/b2VRf28lUX/vZVF/byVRf+9lUX9vZVF/byVRf+9lUX9vZVF/byVRf+9lUX9vZVF + /byVRf+7k0L9y6hc/8GbTIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwuB2AsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/AAB+/450mv/Zs6n/w5uk + /8Wcpf/Fnar/wpt3/8GYQ//CmUn/wplJ/8GYSP/Bl0f/wZZG/8GWRv/Blkb/wZdH/8KYSP/CmUn/wplJ + /8KZSf/CmUn/wplJ/8KZSf+/lUT/1bRs/8egUzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALC4E9CQl/ + /wkJf/0LC4H/CQl//QkJf/0LC4H/CQl//QsLgf8JCX/9CQl//QkJf/0LC4H/CQl//QkJf/0LC4H/BQV+ + /SUfhf3zz7H/xZyl/cihp/3Ioaf/yaCo/cabRf3Gmkn/xZdH/cacS/3HqFn/y7Fi/cqzZP/Jrl79yKNU + /cWYSP/GmEj9xptL/cedTf/HnU39x51N/cWbS//PqV3/0q1j1wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAALC4CiCQmA/wkJgP0LC4D/CQmA/QkJgP0LC4D/CQmA/QsLgP8JCYD9CQmA/QkJgP0LC4D/CQmA + /QkJgP0LC4D/CQmA/QAAfP2oiqH/5sSu/cuhp/3OpKj/zaKt/cudZf3PvGr/1NiK/dfnmv3W6Jj/1ueY + /dbnmP/W55j91uia/dXjlf/SzX79zKxc/cqaSv/Ln0/9zKBQ/cecSv/lxoP/zaRWRAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAMDIPqDAyD/wwMg/8MDIP/DAyD/wwMg/8MDIP/DAyD/wwMg/8MDIP/DAyD + /wwMg/8MDIP/DAyD/wwMg/8MDIP/DAyD/wkJgv8PDYT/7sy0/9u3r//Poqv/1b+7/9vmuv/a6Jf/2uWY + /9rkl//a5Jf/2uSX/9rkl//a5Jf/2uSX/9rkl//a5pn/2uqd/9fXi//QqFj/y51L/+nLiv/TplesAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDIj/DQ2J/Q0Nif0NDYn/DQ2J/Q0Nif0NDYn/DQ2J + /Q0Nif8NDYn9DQ2J/Q0Nif0NDYn/DQ2J/Q0Nif0NDYn/DQ2J/Q0Nif0EBYb/Oi2S/f3Utf3k2sP/3erX + /d/mxf3e5JX/3uWa/d7lmv3e5Zr/3uWa/d7lmv/e5Zr93uWa/d7lmv/e5Zr93uWa/d7mm//c55v98NOS + /+GvY9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABERlxYODo3/DQ2N/Q0Njv0NDY7/DQ2O + /Q0Njv0NDY7/DQ2O/Q0Njv8NDY79DQ2O/Q0Njv0NDY7/DQ2O/Q0Njv0NDY7/DQ2O/Q0Njv0NDI3/AACI + /WSrvf3/88z/8urG/eDmz/3f5Zb/4eab/eHmnP3h5pz/4eac/eHmnP/h5pz94eac/eHmnP/g5pv93+Wa + /eLmnf//7bL90OOb/1+zZW4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcXnhUdHZ3/Dg6R + /xAQk/8QEJP/EBCT/xAQk/8QEJP/EBCT/xAQk/8QEJP/EBCT/xAQk/8QEJP/EBCT/xAQk/8QEJP/EBCT + /xAPk/8LAY7/NY2z/zu7vf9Vu8D/5OfQ///vwf/v6KX/4uad/+HmnP/h5pz/4eac/+Hnnf/h5pz/4eac + /+HmnP/k5p//9uqt///vsv+k04j/J6td/y2vYf84sWJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAmJqX/Dg6V/hERlv0REZb/ERGW/RERlv0REZb/ERGW/RERlv8REZb9ERGW/RERlv0REZb/ERGW + /RERlv0REZb/ERGW/Q4JlP0jUKb/RsPC/UG0vv09tL3/NLC//ZfRwv3p5p7//+2y/fzrsP336qz/8eqo + /e/op//y6qr9+equ/f7tsf//7rD9wtyU/VG5bP8kqlz9Mq9h/TWxY/8yr2H2M69hBgAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAxMbHmDg6Y/xERnP0SEpz/EhKc/RISnP0SEpz/EhKc/RISnP8SEpz9EhKc + /RISnP0SEpz/EhKc/RISnP0SEpz/ERCb/Q8Jmf1FvsT/Q7fD/UO2wv1BtcH/U7zO/Tu0mv0lrFf/Xbxv + /ZbPgv2+25L/2OKc/d7jn//P4Jn9sNaM/YLHfP8/s2X9Jatd/S+vYP80sGL9NLBi/TSwYv80sGL/NLBi + lAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnJ62cKSmv/xAQn/8SEqH/ExOh/xMTof8SEqH/ExOh + /xISof8TE6H/ExOh/xMTof8SEqH/ExOh/xMTof8SEqH/EAuf/yddsv9Fxcr/QrvI/0K7yP8/ucb/Y8fe + /zG1ff8vtGX/K7Nm/yayZP8jsGP/IbBi/yCuYv8jr2H/Jq9i/ymxZP8vsmX/MrNm/zKzZv8ys2b/MrNm + /zKzZv8ys2b/MrNn/zG0ZgcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiIq02R0fF/wwMof0VFab/ExOm + /RMTpv0VFab/ExOm/RUVpv8TE6b9ExOm/RMTpv0VFab/ExOm/RMTpv0VFab/EAai/Tutyf1Aw83/P77N + /T++zP0+v83/Zszc/Sm3ZP0vuWz/Lblt/S25bf0vuW3/Lblr/S+5a/8vuWz9L7ds/S+5bP8vt2z9L7ds + /S+4bP8vuGz9L7hs/S+4bP8vuGz9L7hq/y+3amEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANja9 + 0S0tt/8TE6j/Fhap/xYWqf8WFqn/Fhap/xYWqf8WFqn/Fhap/xYWqf8WFqn/Fhap/xYWqf8VFKn/Fheq + /0HS1f8/xNH/P8TR/znCzv9w0un/M7+d/yq8bf8svXL/LL1w/yy9cP8svXD/LL1x/yu9cf8rvXH/K71x + /yu9cf8rvXH/K71x/yu7cf8rvHH/K7xv/yu8b/8rvG//K7xw/yu8b64AAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAJCS1K11d1f8TE6z/FRWu/RYWr/0WFq//Fhav/RYWr/8WFq/9Fhav/RYWr/0WFq//Fhav + /RYWr/0VEa3/ID+4/UDV1/0+yNX/OcbT/VXO3/1e0Nz/JL9t/SjBdf0owXX/KMF2/SjBdv0owXb/KMF2 + /SrBdv8qwXb9KsF2/Sq/dv8qv3b9Kr90/SrAdP8qwHT9KsB1/SrAdf8qwHX9KsB1/yrAdeEAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8ftnVtbd//EhKw/RcXsv0ZGbT/GRm0/RkZtP8ZGbT9GRm0 + /RkZtP0ZGbT/GRm0/RkZtP0XErL/JFjB/T7W2/04ytf/TM/e/Xnb8/0hxID/JsR4/SfFe/0nxXv/J8V5 + /SfFev0nxXr/J8V6/SbFev8mxXr9JsN6/SbFev8mw3r9JsR6/SjEev8mxHr9JsR6/SjEev8mxHj9JsR4 + /ibDeP0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkJL2SdHTk/yAgvP8SErb/GBi4 + /xoauf8aGrn/Ghq5/xoauf8aGrn/Ghq5/xoauf8YErf/JWHF/0Db2v9d1ub/fd/2/yHIj/8jyHr/Jcl/ + /yXJf/8lyX//Jcl//yXJff8lyX7/Jcl+/yXJfv8lyX7/Jcl+/yXJfv8lx37/Jch+/yTIfv8lyH7/Jch+ + /yTIfv8lyH7/I8d9/y3Lgv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIiK/ + a2Zm3/9cXNr/GBi7/hMTuf8WFrv9GBi7/RkZvP0ZGbz/GBi7/RUVuv0QDLj/L1rM/o/x9P1i2+j/HcuL + /SDLfv0hzIP/IcyD/SPMgf0jzIH/I8yB/SPMgv0jzIL/I8yC/SPMgv8jzIL9I8yC/SPMgv8jzIL9I8yC + /SPMgv8jzIL9I8qA/SPKgP8jy4D9Icp//jTQi/cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAADY2yBwxMci3a2vh/25u4/9NTdP/MjLI/ycnw/4qKsP/OTnL/1pa2f9xbeT/YGvh + /kPiu/4ZzX7/IM6D/SHPhv0hz4b/Ic+G/SHPhv0hz4b/Ic+G/SHPhv0hz4b/Ic+G/SHPhv8hz4T9Ic+E + /SHPhP8hz4T9Ic+E/SHPhP8hzYT9Ic2F/SHPhf8gzYX9HsyC/z3Wk9IAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPT3NGTAwxnVAQM27T0/U5lpa2ftYWNn2TU3T + 3DY1yaguLsVaOoq4BT3hkf8a0Ib/H9KJ/x/Sif8f0on/H9KJ/x/Sif8f0on/H9KJ/x/Sif8e0on/HtKJ + /x7Sif8e0on/HtKJ/x7Sif8e0In/HtCJ/x7Qif8e0Yn/HtGH/x7QiP8d0Ib/L9aQ/zPWkZgAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD3dmrcn1pD/G9OL/RzUjP0c1Iz/HNSM/RzUjP0c1Iz/HNSM + /RzUjP0e1Iz/HtSM/R7UjP8e1Iz9HtSM/R7UjP8e1Iz9HtSK/R7Uiv8e1Ir9HtSL/R7Ui/8Z0oj9Sd6f + /yrVkEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACbZkkdS46b/FdSM/RzWj/0c1o//HNaN + /RzWjf0c1o//HNaN/RzWjf0b1o7/G9aO/RvWjv8b1o79G9aO/RvWjv8b1o79G9aO/RvWjv8b1o79G9aO + /RrVjf8d1o7/TOCj6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABD4KHYL92Z + /xjXj/8b2JH/G9iR/xvYkf8b2JH/G9iR/xvYkf8b2I//G9iQ/xvYkP8b2JD/G9iQ/xvYkP8b2JD/G9iQ + /xvYkP8b2JD/G9iQ/xLWi/9b5qz/JtmTXgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAr3JgqZemw/xbYkP4Y2ZH/GtqS/Rrakv0Z2pL/GtiS/RrZkv0Z2JL/GtmS/RnZkv8a2ZL9GtmS + /RnZkv8a2ZL9GtmS/RnZkv8a2ZL9EteP/Ubio/86357KAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAItuWanPst/8U2ZH/FtmR/RjZk/0a25P/GNmT/RjZk/0a25P/GNmT + /Rrak/8Y2pP9GNqT/Rrak/8Y2pP9GNqT/Rrak/8Q2I/9POGh/1PlqvQz3psMAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACTcmH177rn/JNyY/xHZkf8Y2pP/GtuU + /xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/F9qS/wzYjv9X56z/U+aq9CzdmhwAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAk3JhUZ+qx + /2bpsf8W2ZH/ENiP/RPYkP0Y2pP/F9mS/RnblP8X2ZH9FtiR/RTZkf8P2I/9L9+c/33uuv844J/NN+Ce + DQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAOuCgETHfnKZv67X/c+u3/0zlp/8n3Jn/GNqT/hbZkv8e25X+M9+e/1/orv947bn/Veer + 7SbcmGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA94aEPL96cbUXipLNa56zjZ+qx/Gfqs/9k6bD2Vear + 0Tjfn5kv3pxEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8AAAAAD8A + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAwAA////wAP/AAD///+AAP8AAP///gAAfwAA///8 + AAA/AAD///wAAB8AAP//+AAADwAA///wAAAPAAD///AAAAcAAP//8AAABwAA///gAAAHAAD/wAAAAAcA + AP8AAAAABwAA/gAAAAAHAAD8AAAAAAcAAPgAAAAABwAA8AAAAAAHAADwAAAAAAcAAOAAAAAADwAA4AAA + AAAPAADgAAAAAB8AAOAAAAAAPwAAwAAAAAA/AADAAAAAAB8AAOAAAAAADwAA4AAAAAAPAADgAAAAAAcA + AOAAAAAABwAA8AAAAAAHAADwAAAAAAcAAPgAAAAABwAA/AAAAAAHAAD+AAAAAAcAAP8AAAAABwAA/8AA + AAAHAAD///AAAAcAAP//8AAADwAA///4AAAPAAD///gAAB8AAP///AAAHwAA///+AAA/AAD///8AAH8A + AP///4AB/wAA////4Af/AAAoAAAAIAAAAEAAAAABACAAAAAAAIAQAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAACkpKQDpKSkC6SkpBCkpKQapKSkG6SkpCSkpKQtpKSkLqSkpC6kpKQupKSkPqSkpEOkpKRDpKSk + Q6SkpEOkpKRDpKSkQ6SkpD6kpKQupKSkLqSkpC6kpKQtpKSkJKSkpBukpKQapKSkEKSkpAukpKQDAAAA + AAAAAACkpKQXpKSke6SkpKikpKTCpKSk0KSkpN+kpKTjpKSk6qSkpPGkpKTypKSk8qSkpPGkpKT5pKSk + +6SkpPykpKT8pKSk/KSkpPykpKT7pKSk+aSkpPGkpKTypKSk8qSkpPGkpKTqpKSk46SkpN+kpKTQpKSk + wqSkpKikpKR7pKSkF6enpwikpKQzpKSkTqSkpGOkpKR4pKSkgKSkpJGkpKSdpKSknKSkpKWkpKS3pKSk + t6SkpLekpKS3pKSkt6SkpLekpKW3pKWntqSlqrGkp62tpKevrKSnr6ukp6+ZpKetkqSmq5ekpaiQpKSm + gKSkpHikpKRjpKSkTqSkpDOnp6cIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArq6u + Aa6urgWurq4Frq6uBa6urgWpqq0Fo6arBQAAAACil4AHoIxdeaCBOsyieib4onsk/6B5IfqffzfNn4dR + eKCScQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnnwuU553IPyeeSP/nnkm/556J/+eeif/nnoo + /555Jv+eeST/nngh/555JWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ95JXqfeif/n3so/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3oo/596J4oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACifSlOn3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597KV0AAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ97Kfefeyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/6iCKwIAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAClfypjnnoo + /556KP+eeij/nnoo/556KP+eeij/nnoo/556KP+eeij/nnoo/556KP+eeij/nnoo/556KP+eeij/on0p + cwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AKV/JrqgfCr/oHwq/6B8Kv+gfCr/oHwq/6B8Kv+gfCr/oHwq/6B8Kv+gfCr/oHwq/6B8Kv+gfCr/oHwq + /6B8Kv+gfSrJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALC4c1CwuDpwsLgusLC4L/CwuC + /wkJg+AODYCJqYM47KiCKf+ogTD/qIEx/6iBMf+ogTH/qIEx/6iBMf+ogTH/qIEx/6iBMf+ogTH/qIEx + /6iBMf+ogTH/qIEx/6eBMPkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALC4oBCwuBtgsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wAAf/+6lqn/sItv/62GLf+tiDb/rYg2/62INv+tiDb/rYg2/62INv+tiDb/rYg2 + /62INv+tiDb/rYg2/62INv+thzb/sYw8/wAAAAAAAAAAAAAAAAAAAAAAAAAACwuJAgsLgeMLC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/AAB+/7aWoP+5lKb/t5KG/7SNNP+1jj7/tY4+/7WOPv+1jj7/tY4+ + /7WOPv+1jj7/tY4+/7WOPv+1jj7/tY4+/7OMPP+8mEr2AAAAAAAAAAAAAAAAAAAAAAAAAAALC4G+CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8AAH7/mYGc/8Kaov+/man/vJVz/7uTPv+8lET/vJRE + /7yURP+8lET/vJRE/7yURP+8lET/vJRE/7yURP+8lET/upFA/8qmW8IAAAAAAAAAAAAAAAAAAAAACwuF + QQsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wQFf/9LPoz/37er/8ScpP/Gnq7/wppK + /8KXRv/BlUX/wZRE/8GUQ//BlET/wZVF/8KXR//CmUn/wppK/8GYSP/Kpln/z6pdaAAAAAAAAAAAAAAA + AAAAAAALC4K2CgqA/woKgP8KCoD/CgqA/woKgP8KCoD/CgqA/woKgP8KCoD/CgqA/wAAfP/buqz/zaOo + /8yirP/Km3f/zbNg/9LOf//V3I7/1OKU/9Xdjv/Sz4D/zbZn/8maSv/KnU3/yJtL/9u4cfYAAAAAAAAA + AAAAAAAAAAAAAAAAAAsLhP0LC4T/CwuE/wsLhP8LC4T/CwuE/wsLhP8LC4T/CwuE/wsLhP8LC4T/BgeD + /zAmi//81LT/07G2/9zkxf/b6Jj/2+Wa/9vkmP/b5Jj/2+SY/9vlmf/b6Jz/2+SX/9GxYP/pwHr/3K5h + RwAAAAAAAAAAAAAAAAAAAAAQEJoGDg6M/w0Njf8ODo3/Dg6N/w4Ojf8ODo3/Dg6N/w4Ojf8ODo3/Dg6N + /w4Ojf8ODo3/AACH/2F2qf//+sz/5OjQ/97llv/f5pv/4Oac/+DmnP/g5pz/3+ab/97lmv/h5p3///W1 + /5q8b6sAAAAAAAAAAAAAAAAAAAAAAAAAABYWpgYaGpr/Dg6T/xAQlP8QEJT/EBCU/xAQlP8QEJT/EBCU + /xAQlP8QEJT/EBCU/w4Lkv8YLpv/O8PA/16+xP/u6cr//e2q/+3opP/k553/4+ed/+Tnnf/t6KP//O2t + //DoqP9Zu27/JK5f/zGxYkYAAAAAAAAAAAAAAAAAAAAAAAAAACQkp/wQEJn/EhKb/xISm/8SEpv/EhKb + /xISm/8SEpv/EhKb/xISm/8REZr/DQOX/0O1wf9DuML/PLTC/0C2s/9owGz/tteR/+HjpP/u6Kj/4uSk + /7nYlP9vwXX/JKpb/y6uYP80sGL/M7Bi9gAAAAAAAAAAAAAAAAAAAAAAAAAAODi6sw4On/8UFKH/FBSi + /xQUov8UFKL/FBSi/xQUov8UFKL/FBSi/xINoP8iTK7/RMjM/z+7yP9Kv9L/RL2c/ymzYf8lsWT/IbFj + /yCwYv8gr2H/JLBi/yqyZf8wtGf/MbRn/zG0Z/8xtGf/MrhpaAAAAAAAAAAAAAAAAAAAAAApKbo8OTm9 + /xERpv8WFqj/Fhao/xYWqP8WFqj/Fhao/xYWqP8WFqj/Ewqm/zOUxf9AyNH/OcHO/2PN5v8ou27/LLtu + /y28cP8tvHD/Lbxw/y28cP8tvHD/Lbxw/y26cP8tu27/Lbtv/y27b/8tu2/BAAAAAAAAAAAAAAAAAAAA + AAAAAAA9PcW1JSW4/xQUr/8YGLH/GBix/xgYsf8YGLH/GBix/xgYsf8UCa3/PL/U/znK1P9c0Ob/P8mo + /ybAcf8pwnf/KcJ3/ynCd/8pwnf/KMJ3/yjAd/8owHf/KMF1/yjBdv8owXb/KMF2/yjAdfYAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAABLS9DbLy/C/xIStf8YGLf/Ghq4/xoauP8aGrj/Ghq4/xMGs/871Nr/Ydjt + /07Tx/8fxnL/JMh+/yTIfv8kyHz/JMh9/yTIff8myH3/Jsh9/ybIff8mx33/Jsd9/ybHff8lx33/KMh9 + /wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRtGpVlbY/ykpw/8TE7r/Fha7/xUVu/8UFLn/NCnJ + /3rd8f881bb/G8t4/yLNhP8izYL/Is2D/yLNg/8hzYP/Ic2D/yHNg/8hzYP/Ic2D/yPLg/8jzIH/I8yB + /yHLgP8u0Ij5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ONAqVFTZm1pa2t9SUtX+UlLV + +l1c3NRHSdJ+NMSbxBfTgP8e0If/HtGH/x7RiP8e0Yj/HtGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI + /yDRiP8g0Yj/HNCG/znXlMkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAA13ZdjLNiU/xvUjP8d1Y3/HdWN/x3Vjf8d1Y3/HNWN/xzVjf8c1Y3/HNOL + /xzUjP8c1Iz/HNSM/xvTi/8n1pD/PN6bdQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABH4aP3E9aN/xrYkP8a2JD/GtiQ/xrYkP8a2JD/GtiQ + /xrYkP8a2JD/GtaQ/xrXkP8a15D/E9WN/0bgov8456ACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADbhnk5G4qT/EdiQ/xnak/8Z2pP/GdqT + /xnak/8Z2pP/GdqT/xnakf8Z2pL/GdqS/xLYj/9C4aP/ON+eXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/hontQ5Kn/D9mP + /xbakv8a25T/GtuU/xrblP8a25T/GtuU/xbakv8Q2ZD/TOSn/z3ioYoAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ADvioVRe6K79QeKi/xDYj/8U2ZH/FNmR/xTZkf8Q2ZD/PeGg/13orf864aFgAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAADrhoQFB4qNuYOivwlLlqfJQ5an/UuWp9F/or8VF46NzOeGgBQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAMAAAAMAAAAAAAAAAP+AgD///wAf//4AD//8AAf//AAD//gAA//4AAP8AAAD8AAA + A+AAAAPgAAADwAAAA8AAAAfAAAAHgAAAD4AAAAfAAAAHwAAAA8AAAAPgAAAD8AAAA/gAAAP8AAAD//gA + A//8AAP//AAH//4AD///AB///4A/KAAAABgAAAAwAAAAAQAgAAAAAABgCQAAAAAAAAAAAAAAAAAAAAAA + AKSkpAOkpKQUoqKiJKSkpDKkpKQ/oqKiRqSkpFSkpKRUoqKiVKSkpGakpKRqpKSkaqKiomqkpKRqoqKi + ZqSkpFSkpKRUoqKiVKSkpEakpKQ/oqKiMqSkpCSkpKQUoqKiA6ampiakpKSOoqKit6SkpM6kpKTaoqKi + 56SkpOqkpKTzoqKi9qSkpPakpKT3pKSk96KjpPekpaj1o6Sp8KSmrO2kpqzqo6Sq46SlqeOkpKfaoqOj + zqSkpLekpKSOpKSkJgAAAAAAAAAAAAAAALCwsASwsLAIsLCwEK6urg+urq4Zrq6uHK6urhurrK0bo6as + G6OhnRKil39AoItcp6KFR9KihkXToYhRrqCRbFcAAAAAo6SpAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ55KJyeeCD/nXci/555Jf+eeSX/nXgj + /554If+edyHVpX4mEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + 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 + + + \ No newline at end of file diff --git a/KommAuspraegung/frmAuspraegungstexte.vb b/KommAuspraegung/frmAuspraegungstexte.vb new file mode 100644 index 0000000..a2b7687 --- /dev/null +++ b/KommAuspraegung/frmAuspraegungstexte.vb @@ -0,0 +1,217 @@ +Imports SautinSoft.HtmlToRtf +Imports System.IO +Imports System.Data.SqlClient +Imports System.Data.SqlTypes +Imports C1.Win.C1TrueDBGrid +Public Class frmAuspraegungstexte + + Dim themanr As Integer = 0 + Dim rtffilename As String = "" + Sub New() + + ' Dieser Aufruf ist für den Designer erforderlich. + InitializeComponent() + + ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. + + End Sub + + Sub New(ByVal themanr As Integer) + InitializeComponent() + Me.themanr = themanr + End Sub + Private Sub frmAuspraegungstexte_Load(sender As Object, e As EventArgs) Handles MyBase.Load + Me.PnlAll.Visible = True + Me.PnlAll.Dock = DockStyle.Fill + + + Dim daten As New DataTable + daten = Me.Get_Auspraegungen(Me.themanr) + Dim h As New SautinSoft.HtmlToRtf + + Dim firstRtf As String = "" + Dim Delimitter As String = "" + Dim secondRtf As String = "" + Dim singleRtf As String = "" + + singleRtf = ReadFromFile(Application.StartupPath + "\vorlagen\empty.rtf") + Delimitter = ReadFromFile(Application.StartupPath + "\vorlagen\delimitter.rtf") + For Each dr As DataRow In daten.Rows + rtffilename = Globals.TmpFilepath + "\RTF_" + System.IO.Path.GetRandomFileName + ".rtf" + Get_Dokument(rtffilename, dr.Item("Kommunikationauspraegungnr").ToString) + + secondRtf = ReadFromFile(rtffilename) + singleRtf = h.MergeRtfString(singleRtf, secondRtf) + singleRtf = h.MergeRtfString(singleRtf, Delimitter) + System.IO.File.Delete(rtffilename) + Next + + rtbDoc1.Rtf = singleRtf + End Sub + + + Public Function ReadFromFile(ByVal fileName As String) As String + + Dim fileString As String = "" + Try + Dim fs As System.IO.FileStream = New FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.Read) + Dim b(CInt(Fix(fs.Length)) - 1) As Byte + If fs.Read(b, 0, CInt(Fix(fs.Length))) > 0 Then + Dim arCharRes(fs.Length - 1) As Char + For i As Integer = 0 To fs.Length - 1 + arCharRes(i) = ChrW(b(i)) + Next i + fileString = New String(arCharRes) + End If + fs.Close() + Return fileString + Catch + Return "" + End Try + End Function + + Public Function Get_Auspraegungen(ByVal Kommunikationnr As Integer) As DataTable + Dim Eintragsdaten As New DataTable + Dim connection As New SqlConnection() + Dim da As New SqlDataAdapter("", connection) + Eintragsdaten.Rows.Clear() + Dim sqlcmd As New SqlCommand + sqlcmd.CommandText = "sp_get_Kommunikationauspraegung_mit_dokumenten" + sqlcmd.Parameters.Add("@Kommunikationnr", SqlDbType.Int, 4) + sqlcmd.Parameters(0).Value = Kommunikationnr + sqlcmd.CommandType = CommandType.StoredProcedure + sqlcmd.Connection = connection + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.SelectCommand = sqlcmd + da.Fill(Eintragsdaten) + Catch ex As Exception + Finally + connection.Close() + da.Dispose() + sqlcmd.Dispose() + End Try + Return Eintragsdaten + End Function + + Public Function Get_Dokument(ByVal Filename As String, ByVal nr As Integer) + Try + Dim connection As New SqlConnection() + Dim da As New SqlDataAdapter("Select * From KommunkationAuspraegung where KommunikationAuspraegungNr=" + nr.ToString, connection) + Dim CB As SqlCommandBuilder = New SqlCommandBuilder(da) + Dim ds As New DataSet() + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.Fill(ds, "Dokument") + Dim myRow As DataRow + myRow = ds.Tables(0).Rows(0) + Dim MyData() As Byte + MyData = myRow.Item(4) + + Dim K As Long + K = UBound(MyData) + Dim fs As New FileStream(Filename, FileMode.OpenOrCreate, FileAccess.Write) + fs.Write(MyData, 0, K) + fs.Close() + fs = Nothing + Catch ex As Exception + 'MsgBox(ex.Message, MsgBoxStyle.Critical) + Return "" + Finally + connection.Close() + connection = Nothing + End Try + CB = Nothing + ds = Nothing + da = Nothing + Return Filename + Catch ex As Exception + MsgBox(ex.Message) + End Try + End Function + + Private Sub tsbtnSaveAs_Click(sender As Object, e As EventArgs) Handles tsbtnSaveAs.Click + SaveFileDialog1.Title = "RTE - Save File" + SaveFileDialog1.DefaultExt = "rtf" + SaveFileDialog1.Filter = "Rich Text Dateien|*.rtf|Text Dateien|*.txt|HTML Dateien|*.htm|Alle Dateien|*.*" + SaveFileDialog1.FilterIndex = 1 + SaveFileDialog1.ShowDialog() + + If SaveFileDialog1.FileName = "" Then Exit Sub + + Dim strExt As String + strExt = System.IO.Path.GetExtension(SaveFileDialog1.FileName) + strExt = strExt.ToUpper() + + Select Case strExt + Case ".RTF" + rtbdoc1.SaveFile(SaveFileDialog1.FileName, RichTextBoxStreamType.RichText) + Case Else + Dim txtWriter As System.IO.StreamWriter + txtWriter = New System.IO.StreamWriter(SaveFileDialog1.FileName) + txtWriter.Write(rtbdoc1.Text) + txtWriter.Close() + txtWriter = Nothing + rtbdoc1.SelectionStart = 0 + rtbdoc1.SelectionLength = 0 + End Select + rtbdoc1.Modified = False + End Sub + + Private Sub tsbtnPageSetup_Click(sender As Object, e As EventArgs) Handles tsbtnPageSetup.Click + PageSetupDialog1.Document = PrintDocument1 + PageSetupDialog1.ShowDialog() + End Sub + + Private Sub tsbtbPreview_Click(sender As Object, e As EventArgs) Handles tsbtbPreview.Click + PrintPreviewDialog1.Document = Me.PrintDocument1 + PrintPreviewDialog1.ShowDialog() + End Sub + + Private Sub tsbtnprint_Click(sender As Object, e As EventArgs) Handles tsbtnprint.Click + PrintDialog1.Document = PrintDocument1 + + If PrintDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then + PrintDocument1.Print() + End If + + End Sub + + +#Region "Printing" + Private checkPrint As Integer + + Private Sub PrintDocument1_BeginPrint(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintEventArgs) Handles PrintDocument1.BeginPrint + + ' Adapted from Microsoft's example for extended richtextbox control + ' + checkPrint = 0 + + End Sub + + + Private Sub PrintDocument1_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage + + ' Adapted from Microsoft's example for extended richtextbox control + ' + ' Print the content of the RichTextBox. Store the last character printed. + checkPrint = rtbdoc1.Print(checkPrint, rtbdoc1.TextLength, e) + + ' Look for more pages + If checkPrint < rtbdoc1.TextLength Then + e.HasMorePages = True + Else + e.HasMorePages = False + End If + + End Sub + + +#End Region + + Private Sub TSBtnQuit_Click(sender As Object, e As EventArgs) Handles TSBtnQuit.Click + Me.Close() + End Sub +End Class \ No newline at end of file diff --git a/KommAuspraegung/obj/Debug/CoreCompileInputs.cache b/KommAuspraegung/obj/Debug/CoreCompileInputs.cache new file mode 100644 index 0000000..a63da69 --- /dev/null +++ b/KommAuspraegung/obj/Debug/CoreCompileInputs.cache @@ -0,0 +1 @@ +63bf8fac620a65c0b8c139a6de1b1a1c525b47f9 diff --git a/KommAuspraegung/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/KommAuspraegung/obj/Debug/DesignTimeResolveAssemblyReferences.cache new file mode 100644 index 0000000..d47b12e Binary files /dev/null and b/KommAuspraegung/obj/Debug/DesignTimeResolveAssemblyReferences.cache differ diff --git a/KommAuspraegung/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/KommAuspraegung/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache new file mode 100644 index 0000000..3d3533c Binary files /dev/null and b/KommAuspraegung/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ diff --git a/KommAuspraegung/obj/Debug/KommAuspraegung.Kommunikationsauspraegung.resources b/KommAuspraegung/obj/Debug/KommAuspraegung.Kommunikationsauspraegung.resources new file mode 100644 index 0000000..ef664b0 Binary files /dev/null and b/KommAuspraegung/obj/Debug/KommAuspraegung.Kommunikationsauspraegung.resources differ diff --git a/KommAuspraegung/obj/Debug/KommAuspraegung.Resources.resources b/KommAuspraegung/obj/Debug/KommAuspraegung.Resources.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/KommAuspraegung/obj/Debug/KommAuspraegung.Resources.resources differ diff --git a/KommAuspraegung/obj/Debug/KommAuspraegung.dll b/KommAuspraegung/obj/Debug/KommAuspraegung.dll new file mode 100644 index 0000000..516abcb Binary files /dev/null and b/KommAuspraegung/obj/Debug/KommAuspraegung.dll differ diff --git a/KommAuspraegung/obj/Debug/KommAuspraegung.frmAuspraegungstexte.resources b/KommAuspraegung/obj/Debug/KommAuspraegung.frmAuspraegungstexte.resources new file mode 100644 index 0000000..49a5b2d Binary files /dev/null and b/KommAuspraegung/obj/Debug/KommAuspraegung.frmAuspraegungstexte.resources differ diff --git a/KommAuspraegung/obj/Debug/KommAuspraegung.pdb b/KommAuspraegung/obj/Debug/KommAuspraegung.pdb new file mode 100644 index 0000000..c122cdc Binary files /dev/null and b/KommAuspraegung/obj/Debug/KommAuspraegung.pdb differ diff --git a/KommAuspraegung/obj/Debug/KommAuspraegung.vbproj.CopyComplete b/KommAuspraegung/obj/Debug/KommAuspraegung.vbproj.CopyComplete new file mode 100644 index 0000000..e69de29 diff --git a/KommAuspraegung/obj/Debug/KommAuspraegung.vbproj.FileListAbsolute.txt b/KommAuspraegung/obj/Debug/KommAuspraegung.vbproj.FileListAbsolute.txt new file mode 100644 index 0000000..80a9c0b --- /dev/null +++ b/KommAuspraegung/obj/Debug/KommAuspraegung.vbproj.FileListAbsolute.txt @@ -0,0 +1,20 @@ +E:\Software-Projekte\TKBDiverse\Themenmanagement\KommAuspraegung\bin\Debug\KommAuspraegung.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\KommAuspraegung\bin\Debug\KommAuspraegung.pdb +E:\Software-Projekte\TKBDiverse\Themenmanagement\KommAuspraegung\bin\Debug\KommAuspraegung.xml +E:\Software-Projekte\TKBDiverse\Themenmanagement\KommAuspraegung\bin\Debug\RTFEditor.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\KommAuspraegung\bin\Debug\ThemenDokumente.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\KommAuspraegung\bin\Debug\ExtendedRichTextBox.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\KommAuspraegung\bin\Debug\ThemenDokumente.pdb +E:\Software-Projekte\TKBDiverse\Themenmanagement\KommAuspraegung\bin\Debug\ThemenDokumente.xml +E:\Software-Projekte\TKBDiverse\Themenmanagement\KommAuspraegung\bin\Debug\RTFEditor.pdb +E:\Software-Projekte\TKBDiverse\Themenmanagement\KommAuspraegung\bin\Debug\RTFEditor.xml +E:\Software-Projekte\TKBDiverse\Themenmanagement\KommAuspraegung\obj\Debug\KommAuspraegung.Resources.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\KommAuspraegung\obj\Debug\KommAuspraegung.Kommunikationsauspraegung.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\KommAuspraegung\obj\Debug\KommAuspraegung.vbproj.GenerateResource.Cache +E:\Software-Projekte\TKBDiverse\Themenmanagement\KommAuspraegung\obj\Debug\KommAuspraegung.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\KommAuspraegung\obj\Debug\KommAuspraegung.xml +E:\Software-Projekte\TKBDiverse\Themenmanagement\KommAuspraegung\obj\Debug\KommAuspraegung.pdb +E:\Software-Projekte\TKBDiverse\Themenmanagement\KommAuspraegung\obj\Debug\KommAuspraegung.frmAuspraegungstexte.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\KommAuspraegung\bin\Debug\SautinSoft.HtmlToRtf.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\KommAuspraegung\obj\Debug\KommAuspraegung.vbproj.CopyComplete +E:\Software-Projekte\TKBDiverse\Themenmanagement\KommAuspraegung\obj\Debug\KommAuspraegung.vbprojAssemblyReference.cache diff --git a/KommAuspraegung/obj/Debug/KommAuspraegung.vbproj.GenerateResource.cache b/KommAuspraegung/obj/Debug/KommAuspraegung.vbproj.GenerateResource.cache new file mode 100644 index 0000000..a82a415 Binary files /dev/null and b/KommAuspraegung/obj/Debug/KommAuspraegung.vbproj.GenerateResource.cache differ diff --git a/KommAuspraegung/obj/Debug/KommAuspraegung.vbprojAssemblyReference.cache b/KommAuspraegung/obj/Debug/KommAuspraegung.vbprojAssemblyReference.cache new file mode 100644 index 0000000..506cbf1 Binary files /dev/null and b/KommAuspraegung/obj/Debug/KommAuspraegung.vbprojAssemblyReference.cache differ diff --git a/KommAuspraegung/obj/Debug/KommAuspraegung.xml b/KommAuspraegung/obj/Debug/KommAuspraegung.xml new file mode 100644 index 0000000..2482d51 --- /dev/null +++ b/KommAuspraegung/obj/Debug/KommAuspraegung.xml @@ -0,0 +1,705 @@ + + + + +KommAuspraegung + + + + + + Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + + + + + Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + + + + + Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. + + + + + Purpose: Data Access class for the table 'Kommunikation'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKommunikationNr
  • +
  • iThemaNr. May be SqlInt32.Null
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKommunikationNr
  • +
  • iThemaNr. May be SqlInt32.Null
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKommunikationNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKommunikationNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iKommunikationNr
  • +
  • iThemaNr
  • +
  • sBezeichnung
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'KommunikationAuspraegung_Zielgruppe'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKommAuspraegungZielgruppeNr
  • +
  • iKommunikationauspraegungnr. May be SqlInt32.Null
  • +
  • iZielgruppenr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKommAuspraegungZielgruppeNr
  • +
  • iKommunikationauspraegungnr. May be SqlInt32.Null
  • +
  • iZielgruppenr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKommAuspraegungZielgruppeNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKommAuspraegungZielgruppeNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iKommAuspraegungZielgruppeNr
  • +
  • iKommunikationauspraegungnr
  • +
  • iZielgruppenr
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'KommunkationAuspraegung'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKommunikationAuspraegungNr
  • +
  • iKommunikationNr. May be SqlInt32.Null
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • blobDokument. May be SqlBinary.Null
  • +
  • sRTFText. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKommunikationAuspraegungNr
  • +
  • iKommunikationNr. May be SqlInt32.Null
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • blobDokument. May be SqlBinary.Null
  • +
  • sRTFText. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKommunikationAuspraegungNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKommunikationAuspraegungNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iKommunikationAuspraegungNr
  • +
  • iKommunikationNr
  • +
  • sBezeichnung
  • +
  • sBeschreibung
  • +
  • blobDokument
  • +
  • sRTFText
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'Zielgruppe'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iZielgruppeNr
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iZielgruppeNr
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iZielgruppeNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iZielgruppeNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iZielgruppeNr
  • +
  • sBezeichnung
  • +
  • sBeschreibung
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'key_tabelle'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • sBeschreibung
  • +
  • iKey_wert
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iKeynr
  • +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKeynr
  • +
  • sBeschreibung
  • +
  • iKey_wert
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKeynr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKeynr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iKeynr
  • +
  • sBeschreibung
  • +
  • iKey_wert
  • +
  • iMandantnr
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'mitarbeiter'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iMitarbeiternr
  • +
  • sVorname. May be SqlString.Null
  • +
  • sName. May be SqlString.Null
  • +
  • sTgnummer. May be SqlString.Null
  • +
  • sEmail. May be SqlString.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iMitarbeiternr
  • +
  • sVorname. May be SqlString.Null
  • +
  • sName. May be SqlString.Null
  • +
  • sTgnummer. May be SqlString.Null
  • +
  • sEmail. May be SqlString.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iMitarbeiternr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iMitarbeiternr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iMitarbeiternr
  • +
  • sVorname
  • +
  • sName
  • +
  • sTgnummer
  • +
  • sEmail
  • +
  • iMandantnr
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Mutierer auslesen + + + + + + + Löschen eines Datensatzes erstellen. + + Ursprungs-Person: Ist dieser Wert nicht 0, werden die Daten mit BaseNr zuerst gelesen + + + + + + Neue Person einfügen + + + + +
+
diff --git a/KommAuspraegung/obj/Debug/TempPE/My Project.Resources.Designer.vb.dll b/KommAuspraegung/obj/Debug/TempPE/My Project.Resources.Designer.vb.dll new file mode 100644 index 0000000..388fbfd Binary files /dev/null and b/KommAuspraegung/obj/Debug/TempPE/My Project.Resources.Designer.vb.dll differ diff --git a/KommAuspraegung/obj/Release/CoreCompileInputs.cache b/KommAuspraegung/obj/Release/CoreCompileInputs.cache new file mode 100644 index 0000000..ace0bd7 --- /dev/null +++ b/KommAuspraegung/obj/Release/CoreCompileInputs.cache @@ -0,0 +1 @@ +66c31e89337c94d1ee9ceb9c443b1b63c87b56d9 diff --git a/KommAuspraegung/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache b/KommAuspraegung/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache new file mode 100644 index 0000000..6ab0198 Binary files /dev/null and b/KommAuspraegung/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache differ diff --git a/KommAuspraegung/obj/Release/KommAuspraegung.Kommunikationsauspraegung.resources b/KommAuspraegung/obj/Release/KommAuspraegung.Kommunikationsauspraegung.resources new file mode 100644 index 0000000..ef664b0 Binary files /dev/null and b/KommAuspraegung/obj/Release/KommAuspraegung.Kommunikationsauspraegung.resources differ diff --git a/KommAuspraegung/obj/Release/KommAuspraegung.Resources.resources b/KommAuspraegung/obj/Release/KommAuspraegung.Resources.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/KommAuspraegung/obj/Release/KommAuspraegung.Resources.resources differ diff --git a/KommAuspraegung/obj/Release/KommAuspraegung.frmAuspraegungstexte.resources b/KommAuspraegung/obj/Release/KommAuspraegung.frmAuspraegungstexte.resources new file mode 100644 index 0000000..49a5b2d Binary files /dev/null and b/KommAuspraegung/obj/Release/KommAuspraegung.frmAuspraegungstexte.resources differ diff --git a/KommAuspraegung/obj/Release/KommAuspraegung.vbproj.FileListAbsolute.txt b/KommAuspraegung/obj/Release/KommAuspraegung.vbproj.FileListAbsolute.txt new file mode 100644 index 0000000..c92f7af --- /dev/null +++ b/KommAuspraegung/obj/Release/KommAuspraegung.vbproj.FileListAbsolute.txt @@ -0,0 +1,4 @@ +E:\Software-Projekte\TKBDiverse\Themenmanagement\KommAuspraegung\obj\Release\KommAuspraegung.frmAuspraegungstexte.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\KommAuspraegung\obj\Release\KommAuspraegung.Resources.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\KommAuspraegung\obj\Release\KommAuspraegung.Kommunikationsauspraegung.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\KommAuspraegung\obj\Release\KommAuspraegung.vbproj.GenerateResource.Cache diff --git a/KommAuspraegung/obj/Release/KommAuspraegung.vbproj.GenerateResource.Cache b/KommAuspraegung/obj/Release/KommAuspraegung.vbproj.GenerateResource.Cache new file mode 100644 index 0000000..e99e904 Binary files /dev/null and b/KommAuspraegung/obj/Release/KommAuspraegung.vbproj.GenerateResource.Cache differ diff --git a/KommAuspraegung/obj/Release/TempPE/My Project.Resources.Designer.vb.dll b/KommAuspraegung/obj/Release/TempPE/My Project.Resources.Designer.vb.dll new file mode 100644 index 0000000..9943cfb Binary files /dev/null and b/KommAuspraegung/obj/Release/TempPE/My Project.Resources.Designer.vb.dll differ diff --git a/KommAuspraegung/obj/Release/build.force b/KommAuspraegung/obj/Release/build.force new file mode 100644 index 0000000..e69de29 diff --git a/KommAuspraegung/obj/x86/Debug/Themenmanagement.vbproj.FileListAbsolute.txt b/KommAuspraegung/obj/x86/Debug/Themenmanagement.vbproj.FileListAbsolute.txt new file mode 100644 index 0000000..5c39460 --- /dev/null +++ b/KommAuspraegung/obj/x86/Debug/Themenmanagement.vbproj.FileListAbsolute.txt @@ -0,0 +1,70 @@ +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\Themenmanagement.exe.config +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.exe +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.xml +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.pdb +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.vbprojResolveAssemblyReference.cache +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmDatenbankauswahl.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmAbout.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmLogin.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmMsgBox.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmSplash.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmSuche.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmKernbotschaft.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmKernbotschaften.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmPendenz.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmPendenzübersicht.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmDomainEditor.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmDomainEditorExtTables.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmFormSelector.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmSysadminMenu.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmSysadminTableSelector.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.FrmToolTipEditor.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmVerbindungEditor.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmMain.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmDetail.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.Resources.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmTreeselect.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmThemenübersicht.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.vbproj.GenerateResource.Cache +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.exe.licenses +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\Themenmanagement.exe +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\Themenmanagement.pdb +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\Themenmanagement.xml +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\FlexCel.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\KommAuspraegung.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\RTFEditor.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\ThemaPerson.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\ThemenDokumente.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\XLSLib.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\_FRReporting.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\FastReport.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\FastReport.Bars.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\KommAuspraegung.pdb +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\KommAuspraegung.xml +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\ThemaPerson.pdb +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\ThemaPerson.xml +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\ThemenDokumente.pdb +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\ThemenDokumente.xml +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\RTFEditor.pdb +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\RTFEditor.xml +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\_FRReporting.pdb +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\_FRReporting.xml +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\C1.Win.C1FlexGrid.4.xml +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\CG.Controls.Grid.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\NPOI.HSSF.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\NPOI.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\NPOI.DDF.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\NPOI.Util.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\NPOI.POIFS.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\NPOI.HPSF.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\ICSharpCode.SharpZipLib.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmKB_Presentation.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\FastReport.Editor.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frm_KBParam.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\ThemeColorPicker.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\ThemeColorPicker.pdb +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.AdobeColorPicker.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\ThemenDokumente\obj\x86\Debug\Themenmanagement.exe +E:\Software-Projekte\TKBDiverse\Themenmanagement\ThemenDokumente\obj\x86\Debug\Themenmanagement.xml +E:\Software-Projekte\TKBDiverse\Themenmanagement\ThemenDokumente\obj\x86\Debug\Themenmanagement.pdb +E:\Software-Projekte\TKBDiverse\Themenmanagement\KommAuspraegung\bin\Debug\Themenmanagement.exe.config diff --git a/TIM_KB/CG.Controls.Grid.dll b/TIM_KB/CG.Controls.Grid.dll new file mode 100644 index 0000000..6e3a64a Binary files /dev/null and b/TIM_KB/CG.Controls.Grid.dll differ diff --git a/TIM_KB/NPOI.DDF.dll b/TIM_KB/NPOI.DDF.dll new file mode 100644 index 0000000..2d5c6a3 Binary files /dev/null and b/TIM_KB/NPOI.DDF.dll differ diff --git a/TIM_KB/NPOI.HPSF.dll b/TIM_KB/NPOI.HPSF.dll new file mode 100644 index 0000000..fabd94d Binary files /dev/null and b/TIM_KB/NPOI.HPSF.dll differ diff --git a/TIM_KB/NPOI.HSSF.dll b/TIM_KB/NPOI.HSSF.dll new file mode 100644 index 0000000..5b348e4 Binary files /dev/null and b/TIM_KB/NPOI.HSSF.dll differ diff --git a/TIM_KB/NPOI.POIFS.dll b/TIM_KB/NPOI.POIFS.dll new file mode 100644 index 0000000..c08f5a8 Binary files /dev/null and b/TIM_KB/NPOI.POIFS.dll differ diff --git a/TIM_KB/NPOI.Util.dll b/TIM_KB/NPOI.Util.dll new file mode 100644 index 0000000..f627a7c Binary files /dev/null and b/TIM_KB/NPOI.Util.dll differ diff --git a/TIM_KB/NPOI.dll b/TIM_KB/NPOI.dll new file mode 100644 index 0000000..8a68045 Binary files /dev/null and b/TIM_KB/NPOI.dll differ diff --git a/TIM_KB/SP.sql b/TIM_KB/SP.sql new file mode 100644 index 0000000..99c3124 --- /dev/null +++ b/TIM_KB/SP.sql @@ -0,0 +1,1727 @@ +USE [TIM] +GO + +/****** Object: StoredProcedure [dbo].[sp_insert_userlog] Script Date: 17.05.2014 21:11:50 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [dbo].[sp_insert_userlog] + @username VARCHAR(255), + @action varchar(255), + @details VARCHAR(1024) +AS +BEGIN + INSERT dbo.UserLog + ( Timestamp , + LoginName , + Action , + Details + ) + VALUES ( GETDATE() , -- Timestamp - datetime + @username , -- LoginName - varchar(255) + @action , -- Action - varchar(255) + @details -- Details - varchar(1024) + ) + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Insert statements for procedure here + +END + +GO + +/****** Object: StoredProcedure [dbo].[pr_KB_Parameter_SelectAll] Script Date: 17.05.2014 21:11:50 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +--------------------------------------------------------------------------------- +-- Stored procedure that will select all rows from the table 'KB_Parameter' +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_KB_Parameter_SelectAll] + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT all rows from the table. +SELECT + [KBParameternr], + [Bezeichnung], + [Beschreibung], + [Aktiv], + [Erstellt_am], + [Mutiert_am], + [Mutierer] +FROM [dbo].[KB_Parameter] +ORDER BY + [KBParameternr] ASC +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR + +GO + +/****** Object: StoredProcedure [dbo].[pr_KB_Parameter_SelectOne] Script Date: 17.05.2014 21:11:50 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +--------------------------------------------------------------------------------- +-- Stored procedure that will select an existing row from the table 'KB_Parameter' +-- based on the Primary Key. +-- Gets: @iKBParameternr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_KB_Parameter_SelectOne] + @iKBParameternr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT an existing row from the table. +SELECT + [KBParameternr], + [Bezeichnung], + [Beschreibung], + [Aktiv], + [Erstellt_am], + [Mutiert_am], + [Mutierer] +FROM [dbo].[KB_Parameter] +WHERE + [KBParameternr] = @iKBParameternr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR + +GO + +/****** Object: StoredProcedure [dbo].[pr_KB_Parameter_Delete] Script Date: 17.05.2014 21:11:50 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +--------------------------------------------------------------------------------- +-- Stored procedure that will delete an existing row from the table 'KB_Parameter' +-- using the Primary Key. +-- Gets: @iKBParameternr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_KB_Parameter_Delete] + @iKBParameternr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- DELETE an existing row from the table. +DELETE FROM [dbo].[KB_Parameter] +WHERE + [KBParameternr] = @iKBParameternr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR + +GO + +/****** Object: StoredProcedure [dbo].[pr_KB_Parameter_Update] Script Date: 17.05.2014 21:11:50 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +--------------------------------------------------------------------------------- +-- Stored procedure that will update an existing row in the table 'KB_Parameter' +-- Gets: @iKBParameternr int +-- Gets: @sBezeichnung varchar(50) +-- Gets: @sBeschreibung varchar(50) +-- Gets: @bAktiv bit +-- Gets: @daErstellt_am datetime +-- Gets: @daMutiert_am datetime +-- Gets: @iMutierer int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_KB_Parameter_Update] + @iKBParameternr int, + @sBezeichnung varchar(50), + @sBeschreibung varchar(50), + @bAktiv bit, + @daErstellt_am datetime, + @daMutiert_am datetime, + @iMutierer int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- UPDATE an existing row in the table. +UPDATE [dbo].[KB_Parameter] +SET + [Bezeichnung] = @sBezeichnung, + [Beschreibung] = @sBeschreibung, + [Aktiv] = @bAktiv, + [Erstellt_am] = @daErstellt_am, + [Mutiert_am] = @daMutiert_am, + [Mutierer] = @iMutierer +WHERE + [KBParameternr] = @iKBParameternr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR + +GO + +/****** Object: StoredProcedure [dbo].[pr_KB_Parameter_Insert] Script Date: 17.05.2014 21:11:50 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +--------------------------------------------------------------------------------- +-- Stored procedure that will insert 1 row in the table 'KB_Parameter' +-- Gets: @sBezeichnung varchar(50) +-- Gets: @sBeschreibung varchar(50) +-- Gets: @bAktiv bit +-- Gets: @daErstellt_am datetime +-- Gets: @daMutiert_am datetime +-- Gets: @iMutierer int +-- Returns: @iKBParameternr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_KB_Parameter_Insert] + @sBezeichnung varchar(50), + @sBeschreibung varchar(50), + @bAktiv bit, + @daErstellt_am datetime, + @daMutiert_am datetime, + @iMutierer int, + @iKBParameternr int OUTPUT, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- INSERT a new row in the table. +INSERT [dbo].[KB_Parameter] +( + [Bezeichnung], + [Beschreibung], + [Aktiv], + [Erstellt_am], + [Mutiert_am], + [Mutierer] +) +VALUES +( + @sBezeichnung, + @sBeschreibung, + @bAktiv, + @daErstellt_am, + @daMutiert_am, + @iMutierer +) +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR +-- Get the IDENTITY value for the row just inserted. +SELECT @iKBParameternr=SCOPE_IDENTITY() + +GO + +/****** Object: StoredProcedure [dbo].[pr_Pendenz_SelectAll] Script Date: 17.05.2014 21:11:50 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +--------------------------------------------------------------------------------- +-- Stored procedure that will select all rows from the table 'Pendenz' +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_Pendenz_SelectAll] + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT all rows from the table. +SELECT + [PendenzNr], + [Themanr], + [Verantwortlich], + [PendenzStatusNr], + [Bezeichnung], + [Beschreibung], + [Termin], + [Aktiv], + [Erstellt_am], + [Mutiert_am], + [Mutierer], + [MandantNr] +FROM [dbo].[Pendenz] +ORDER BY + [PendenzNr] ASC +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR + +GO + +/****** Object: StoredProcedure [dbo].[pr_Pendenz_SelectOne] Script Date: 17.05.2014 21:11:50 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +--------------------------------------------------------------------------------- +-- Stored procedure that will select an existing row from the table 'Pendenz' +-- based on the Primary Key. +-- Gets: @iPendenzNr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_Pendenz_SelectOne] + @iPendenzNr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT an existing row from the table. +SELECT + [PendenzNr], + [Themanr], + [Verantwortlich], + [PendenzStatusNr], + [Bezeichnung], + [Beschreibung], + [Termin], + [Aktiv], + [Erstellt_am], + [Mutiert_am], + [Mutierer], + [MandantNr] +FROM [dbo].[Pendenz] +WHERE + [PendenzNr] = @iPendenzNr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR + +GO + +/****** Object: StoredProcedure [dbo].[pr_Pendenz_Delete] Script Date: 17.05.2014 21:11:50 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +--------------------------------------------------------------------------------- +-- Stored procedure that will delete an existing row from the table 'Pendenz' +-- using the Primary Key. +-- Gets: @iPendenzNr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_Pendenz_Delete] + @iPendenzNr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- DELETE an existing row from the table. +DELETE FROM [dbo].[Pendenz] +WHERE + [PendenzNr] = @iPendenzNr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR + +GO + +/****** Object: StoredProcedure [dbo].[pr_Pendenz_Update] Script Date: 17.05.2014 21:11:50 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +--------------------------------------------------------------------------------- +-- Stored procedure that will update an existing row in the table 'Pendenz' +-- Gets: @iPendenzNr int +-- Gets: @iThemanr int +-- Gets: @sVerantwortlich varchar(50) +-- Gets: @iPendenzStatusNr int +-- Gets: @sBezeichnung varchar(50) +-- Gets: @sBeschreibung varchar(255) +-- Gets: @daTermin datetime +-- Gets: @bAktiv bit +-- Gets: @daErstellt_am datetime +-- Gets: @daMutiert_am datetime +-- Gets: @iMutierer int +-- Gets: @iMandantNr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_Pendenz_Update] + @iPendenzNr int, + @iThemanr int, + @sVerantwortlich varchar(50), + @iPendenzStatusNr int, + @sBezeichnung varchar(50), + @sBeschreibung varchar(255), + @daTermin datetime, + @bAktiv bit, + @daErstellt_am datetime, + @daMutiert_am datetime, + @iMutierer int, + @iMandantNr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- UPDATE an existing row in the table. +UPDATE [dbo].[Pendenz] +SET + [Themanr] = @iThemanr, + [Verantwortlich] = @sVerantwortlich, + [PendenzStatusNr] = @iPendenzStatusNr, + [Bezeichnung] = @sBezeichnung, + [Beschreibung] = @sBeschreibung, + [Termin] = @daTermin, + [Aktiv] = @bAktiv, + [Erstellt_am] = @daErstellt_am, + [Mutiert_am] = @daMutiert_am, + [Mutierer] = @iMutierer, + [MandantNr] = @iMandantNr +WHERE + [PendenzNr] = @iPendenzNr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR + +GO + +/****** Object: StoredProcedure [dbo].[pr_Pendenz_Insert] Script Date: 17.05.2014 21:11:50 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +--------------------------------------------------------------------------------- +-- Stored procedure that will insert 1 row in the table 'Pendenz' +-- Gets: @iPendenzNr int +-- Gets: @iThemanr int +-- Gets: @sVerantwortlich varchar(50) +-- Gets: @iPendenzStatusNr int +-- Gets: @sBezeichnung varchar(50) +-- Gets: @sBeschreibung varchar(255) +-- Gets: @daTermin datetime +-- Gets: @bAktiv bit +-- Gets: @daErstellt_am datetime +-- Gets: @daMutiert_am datetime +-- Gets: @iMutierer int +-- Gets: @iMandantNr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_Pendenz_Insert] + @iPendenzNr int, + @iThemanr int, + @sVerantwortlich varchar(50), + @iPendenzStatusNr int, + @sBezeichnung varchar(50), + @sBeschreibung varchar(255), + @daTermin datetime, + @bAktiv bit, + @daErstellt_am datetime, + @daMutiert_am datetime, + @iMutierer int, + @iMandantNr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- INSERT a new row in the table. +INSERT [dbo].[Pendenz] +( + [PendenzNr], + [Themanr], + [Verantwortlich], + [PendenzStatusNr], + [Bezeichnung], + [Beschreibung], + [Termin], + [Aktiv], + [Erstellt_am], + [Mutiert_am], + [Mutierer], + [MandantNr] +) +VALUES +( + @iPendenzNr, + @iThemanr, + @sVerantwortlich, + @iPendenzStatusNr, + @sBezeichnung, + @sBeschreibung, + @daTermin, + @bAktiv, + @daErstellt_am, + @daMutiert_am, + @iMutierer, + @iMandantNr +) +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR + +GO + +/****** Object: StoredProcedure [dbo].[pr_KB_Artikel_SelectAll] Script Date: 17.05.2014 21:11:50 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +--------------------------------------------------------------------------------- +-- Stored procedure that will select all rows from the table 'KB_Artikel' +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_KB_Artikel_SelectAll] + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT all rows from the table. +SELECT + [Artikelnr], + [Bezeichnung], + [Beschreibung], + [Suchbegriffe], + [Gueltig_ab], + [Gueltig_bis], + [Artikel], + [Aktiv], + [Erstellt_am], + [Mutiert_am], + [Mutierer], + [Aktiv_Reaktiv] +FROM [dbo].[KB_Artikel] +ORDER BY + [Artikelnr] ASC +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR + +GO + +/****** Object: StoredProcedure [dbo].[pr_KB_Artikel_SelectOne] Script Date: 17.05.2014 21:11:50 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +--------------------------------------------------------------------------------- +-- Stored procedure that will select an existing row from the table 'KB_Artikel' +-- based on the Primary Key. +-- Gets: @iArtikelnr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_KB_Artikel_SelectOne] + @iArtikelnr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT an existing row from the table. +SELECT + [Artikelnr], + [Bezeichnung], + [Beschreibung], + [Suchbegriffe], + [Gueltig_ab], + [Gueltig_bis], + [Artikel], + [Aktiv], + [Erstellt_am], + [Mutiert_am], + [Mutierer], + [Aktiv_Reaktiv] +FROM [dbo].[KB_Artikel] +WHERE + [Artikelnr] = @iArtikelnr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR + +GO + +/****** Object: StoredProcedure [dbo].[pr_KB_Artikel_Delete] Script Date: 17.05.2014 21:11:50 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +--------------------------------------------------------------------------------- +-- Stored procedure that will delete an existing row from the table 'KB_Artikel' +-- using the Primary Key. +-- Gets: @iArtikelnr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_KB_Artikel_Delete] + @iArtikelnr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- DELETE an existing row from the table. +DELETE FROM [dbo].[KB_Artikel] +WHERE + [Artikelnr] = @iArtikelnr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR + +GO + +/****** Object: StoredProcedure [dbo].[pr_KB_Artikel_Update] Script Date: 17.05.2014 21:11:50 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +--------------------------------------------------------------------------------- +-- Stored procedure that will update an existing row in the table 'KB_Artikel' +-- Gets: @iArtikelnr int +-- Gets: @sBezeichnung varchar(255) +-- Gets: @sBeschreibung varchar(255) +-- Gets: @sSuchbegriffe varchar(255) +-- Gets: @daGueltig_ab datetime +-- Gets: @daGueltig_bis datetime +-- Gets: @sArtikel varchar(4096) +-- Gets: @bAktiv bit +-- Gets: @daErstellt_am datetime +-- Gets: @daMutiert_am datetime +-- Gets: @iMutierer int +-- Gets: @bAktiv_Reaktiv bit +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_KB_Artikel_Update] + @iArtikelnr int, + @sBezeichnung varchar(255), + @sBeschreibung varchar(255), + @sSuchbegriffe varchar(255), + @daGueltig_ab datetime, + @daGueltig_bis datetime, + @sArtikel varchar(4096), + @bAktiv bit, + @daErstellt_am datetime, + @daMutiert_am datetime, + @iMutierer int, + @bAktiv_Reaktiv bit, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- UPDATE an existing row in the table. +UPDATE [dbo].[KB_Artikel] +SET + [Bezeichnung] = @sBezeichnung, + [Beschreibung] = @sBeschreibung, + [Suchbegriffe] = @sSuchbegriffe, + [Gueltig_ab] = @daGueltig_ab, + [Gueltig_bis] = @daGueltig_bis, + [Artikel] = @sArtikel, + [Aktiv] = @bAktiv, + [Erstellt_am] = @daErstellt_am, + [Mutiert_am] = @daMutiert_am, + [Mutierer] = @iMutierer, + [Aktiv_Reaktiv] = @bAktiv_Reaktiv +WHERE + [Artikelnr] = @iArtikelnr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR + +GO + +/****** Object: StoredProcedure [dbo].[pr_KB_Artikel_Insert] Script Date: 17.05.2014 21:11:50 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +--------------------------------------------------------------------------------- +-- Stored procedure that will insert 1 row in the table 'KB_Artikel' +-- Gets: @iArtikelnr int +-- Gets: @sBezeichnung varchar(255) +-- Gets: @sBeschreibung varchar(255) +-- Gets: @sSuchbegriffe varchar(255) +-- Gets: @daGueltig_ab datetime +-- Gets: @daGueltig_bis datetime +-- Gets: @sArtikel varchar(4096) +-- Gets: @bAktiv bit +-- Gets: @daErstellt_am datetime +-- Gets: @daMutiert_am datetime +-- Gets: @iMutierer int +-- Gets: @bAktiv_Reaktiv bit +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_KB_Artikel_Insert] + @iArtikelnr int, + @sBezeichnung varchar(255), + @sBeschreibung varchar(255), + @sSuchbegriffe varchar(255), + @daGueltig_ab datetime, + @daGueltig_bis datetime, + @sArtikel varchar(4096), + @bAktiv bit, + @daErstellt_am datetime, + @daMutiert_am datetime, + @iMutierer int, + @bAktiv_Reaktiv bit, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- INSERT a new row in the table. +INSERT [dbo].[KB_Artikel] +( + [Artikelnr], + [Bezeichnung], + [Beschreibung], + [Suchbegriffe], + [Gueltig_ab], + [Gueltig_bis], + [Artikel], + [Aktiv], + [Erstellt_am], + [Mutiert_am], + [Mutierer], + [Aktiv_Reaktiv] +) +VALUES +( + @iArtikelnr, + @sBezeichnung, + @sBeschreibung, + @sSuchbegriffe, + @daGueltig_ab, + @daGueltig_bis, + @sArtikel, + @bAktiv, + @daErstellt_am, + @daMutiert_am, + @iMutierer, + @bAktiv_Reaktiv +) +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR + +GO + +/****** Object: StoredProcedure [dbo].[pr_KB_Themengruppe_SelectAll] Script Date: 17.05.2014 21:11:50 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +--------------------------------------------------------------------------------- +-- Stored procedure that will select all rows from the table 'KB_Themengruppe' +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_KB_Themengruppe_SelectAll] + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT all rows from the table. +SELECT + [Themengruppenr], + [Bezeichnung], + [Beschreibung], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer] +FROM [dbo].[KB_Themengruppe] +ORDER BY + [Themengruppenr] ASC +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR + +GO + +/****** Object: StoredProcedure [dbo].[pr_KB_Themengruppe_SelectOne] Script Date: 17.05.2014 21:11:50 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +--------------------------------------------------------------------------------- +-- Stored procedure that will select an existing row from the table 'KB_Themengruppe' +-- based on the Primary Key. +-- Gets: @iThemengruppenr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_KB_Themengruppe_SelectOne] + @iThemengruppenr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT an existing row from the table. +SELECT + [Themengruppenr], + [Bezeichnung], + [Beschreibung], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer] +FROM [dbo].[KB_Themengruppe] +WHERE + [Themengruppenr] = @iThemengruppenr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR + +GO + +/****** Object: StoredProcedure [dbo].[pr_KB_Themengruppe_Delete] Script Date: 17.05.2014 21:11:50 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +--------------------------------------------------------------------------------- +-- Stored procedure that will delete an existing row from the table 'KB_Themengruppe' +-- using the Primary Key. +-- Gets: @iThemengruppenr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_KB_Themengruppe_Delete] + @iThemengruppenr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- DELETE an existing row from the table. +DELETE FROM [dbo].[KB_Themengruppe] +WHERE + [Themengruppenr] = @iThemengruppenr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR + +GO + +/****** Object: StoredProcedure [dbo].[pr_KB_Themengruppe_Update] Script Date: 17.05.2014 21:11:50 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +--------------------------------------------------------------------------------- +-- Stored procedure that will update an existing row in the table 'KB_Themengruppe' +-- Gets: @iThemengruppenr int +-- Gets: @sBezeichnung varchar(255) +-- Gets: @sBeschreibung varchar(255) +-- Gets: @baktiv bit +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Gets: @imutierer int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_KB_Themengruppe_Update] + @iThemengruppenr int, + @sBezeichnung varchar(255), + @sBeschreibung varchar(255), + @baktiv bit, + @daerstellt_am datetime, + @damutiert_am datetime, + @imutierer int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- UPDATE an existing row in the table. +UPDATE [dbo].[KB_Themengruppe] +SET + [Bezeichnung] = @sBezeichnung, + [Beschreibung] = @sBeschreibung, + [aktiv] = @baktiv, + [erstellt_am] = @daerstellt_am, + [mutiert_am] = @damutiert_am, + [mutierer] = @imutierer +WHERE + [Themengruppenr] = @iThemengruppenr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR + +GO + +/****** Object: StoredProcedure [dbo].[pr_KB_Themengruppe_Insert] Script Date: 17.05.2014 21:11:50 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +--------------------------------------------------------------------------------- +-- Stored procedure that will insert 1 row in the table 'KB_Themengruppe' +-- Gets: @iThemengruppenr int +-- Gets: @sBezeichnung varchar(255) +-- Gets: @sBeschreibung varchar(255) +-- Gets: @baktiv bit +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Gets: @imutierer int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_KB_Themengruppe_Insert] + @iThemengruppenr int, + @sBezeichnung varchar(255), + @sBeschreibung varchar(255), + @baktiv bit, + @daerstellt_am datetime, + @damutiert_am datetime, + @imutierer int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- INSERT a new row in the table. +INSERT [dbo].[KB_Themengruppe] +( + [Themengruppenr], + [Bezeichnung], + [Beschreibung], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer] +) +VALUES +( + @iThemengruppenr, + @sBezeichnung, + @sBeschreibung, + @baktiv, + @daerstellt_am, + @damutiert_am, + @imutierer +) +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR + +GO + +/****** Object: StoredProcedure [dbo].[pr_KB_Anspruchsgruppe_SelectAll] Script Date: 17.05.2014 21:11:50 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +--------------------------------------------------------------------------------- +-- Stored procedure that will select all rows from the table 'KB_Anspruchsgruppe' +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_KB_Anspruchsgruppe_SelectAll] + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT all rows from the table. +SELECT + [Anspruchgruppenr], + [Bezeichnung], + [Beschreibung], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer] +FROM [dbo].[KB_Anspruchsgruppe] +ORDER BY + [Anspruchgruppenr] ASC +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR + +GO + +/****** Object: StoredProcedure [dbo].[pr_KB_Anspruchsgruppe_SelectOne] Script Date: 17.05.2014 21:11:50 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +--------------------------------------------------------------------------------- +-- Stored procedure that will select an existing row from the table 'KB_Anspruchsgruppe' +-- based on the Primary Key. +-- Gets: @iAnspruchgruppenr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_KB_Anspruchsgruppe_SelectOne] + @iAnspruchgruppenr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT an existing row from the table. +SELECT + [Anspruchgruppenr], + [Bezeichnung], + [Beschreibung], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer] +FROM [dbo].[KB_Anspruchsgruppe] +WHERE + [Anspruchgruppenr] = @iAnspruchgruppenr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR + +GO + +/****** Object: StoredProcedure [dbo].[pr_KB_Anspruchsgruppe_Delete] Script Date: 17.05.2014 21:11:50 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +--------------------------------------------------------------------------------- +-- Stored procedure that will delete an existing row from the table 'KB_Anspruchsgruppe' +-- using the Primary Key. +-- Gets: @iAnspruchgruppenr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_KB_Anspruchsgruppe_Delete] + @iAnspruchgruppenr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- DELETE an existing row from the table. +DELETE FROM [dbo].[KB_Anspruchsgruppe] +WHERE + [Anspruchgruppenr] = @iAnspruchgruppenr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR + +GO + +/****** Object: StoredProcedure [dbo].[pr_KB_Anspruchsgruppe_Update] Script Date: 17.05.2014 21:11:50 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +--------------------------------------------------------------------------------- +-- Stored procedure that will update an existing row in the table 'KB_Anspruchsgruppe' +-- Gets: @iAnspruchgruppenr int +-- Gets: @sBezeichnung varchar(255) +-- Gets: @sBeschreibung varchar(255) +-- Gets: @baktiv bit +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Gets: @imutierer int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_KB_Anspruchsgruppe_Update] + @iAnspruchgruppenr int, + @sBezeichnung varchar(255), + @sBeschreibung varchar(255), + @baktiv bit, + @daerstellt_am datetime, + @damutiert_am datetime, + @imutierer int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- UPDATE an existing row in the table. +UPDATE [dbo].[KB_Anspruchsgruppe] +SET + [Bezeichnung] = @sBezeichnung, + [Beschreibung] = @sBeschreibung, + [aktiv] = @baktiv, + [erstellt_am] = @daerstellt_am, + [mutiert_am] = @damutiert_am, + [mutierer] = @imutierer +WHERE + [Anspruchgruppenr] = @iAnspruchgruppenr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR + +GO + +/****** Object: StoredProcedure [dbo].[pr_KB_Anspruchsgruppe_Insert] Script Date: 17.05.2014 21:11:50 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +--------------------------------------------------------------------------------- +-- Stored procedure that will insert 1 row in the table 'KB_Anspruchsgruppe' +-- Gets: @iAnspruchgruppenr int +-- Gets: @sBezeichnung varchar(255) +-- Gets: @sBeschreibung varchar(255) +-- Gets: @baktiv bit +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Gets: @imutierer int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_KB_Anspruchsgruppe_Insert] + @iAnspruchgruppenr int, + @sBezeichnung varchar(255), + @sBeschreibung varchar(255), + @baktiv bit, + @daerstellt_am datetime, + @damutiert_am datetime, + @imutierer int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- INSERT a new row in the table. +INSERT [dbo].[KB_Anspruchsgruppe] +( + [Anspruchgruppenr], + [Bezeichnung], + [Beschreibung], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer] +) +VALUES +( + @iAnspruchgruppenr, + @sBezeichnung, + @sBeschreibung, + @baktiv, + @daerstellt_am, + @damutiert_am, + @imutierer +) +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR + +GO + +/****** Object: StoredProcedure [dbo].[pr_KB_Absender_SelectAll] Script Date: 17.05.2014 21:11:50 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +--------------------------------------------------------------------------------- +-- Stored procedure that will select all rows from the table 'KB_Absender' +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_KB_Absender_SelectAll] + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT all rows from the table. +SELECT + [AbsenderNr], + [Bezeichnung], + [Beschreibung], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer] +FROM [dbo].[KB_Absender] +ORDER BY + [AbsenderNr] ASC +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR + +GO + +/****** Object: StoredProcedure [dbo].[pr_KB_Absender_SelectOne] Script Date: 17.05.2014 21:11:50 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +--------------------------------------------------------------------------------- +-- Stored procedure that will select an existing row from the table 'KB_Absender' +-- based on the Primary Key. +-- Gets: @iAbsenderNr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_KB_Absender_SelectOne] + @iAbsenderNr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT an existing row from the table. +SELECT + [AbsenderNr], + [Bezeichnung], + [Beschreibung], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer] +FROM [dbo].[KB_Absender] +WHERE + [AbsenderNr] = @iAbsenderNr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR + +GO + +/****** Object: StoredProcedure [dbo].[pr_KB_Absender_Delete] Script Date: 17.05.2014 21:11:50 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +--------------------------------------------------------------------------------- +-- Stored procedure that will delete an existing row from the table 'KB_Absender' +-- using the Primary Key. +-- Gets: @iAbsenderNr int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_KB_Absender_Delete] + @iAbsenderNr int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- DELETE an existing row from the table. +DELETE FROM [dbo].[KB_Absender] +WHERE + [AbsenderNr] = @iAbsenderNr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR + +GO + +/****** Object: StoredProcedure [dbo].[pr_KB_Absender_Update] Script Date: 17.05.2014 21:11:50 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +--------------------------------------------------------------------------------- +-- Stored procedure that will update an existing row in the table 'KB_Absender' +-- Gets: @iAbsenderNr int +-- Gets: @sBezeichnung varchar(255) +-- Gets: @sBeschreibung varchar(255) +-- Gets: @baktiv bit +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Gets: @imutierer int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_KB_Absender_Update] + @iAbsenderNr int, + @sBezeichnung varchar(255), + @sBeschreibung varchar(255), + @baktiv bit, + @daerstellt_am datetime, + @damutiert_am datetime, + @imutierer int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- UPDATE an existing row in the table. +UPDATE [dbo].[KB_Absender] +SET + [Bezeichnung] = @sBezeichnung, + [Beschreibung] = @sBeschreibung, + [aktiv] = @baktiv, + [erstellt_am] = @daerstellt_am, + [mutiert_am] = @damutiert_am, + [mutierer] = @imutierer +WHERE + [AbsenderNr] = @iAbsenderNr +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR + +GO + +/****** Object: StoredProcedure [dbo].[pr_KB_Absender_Insert] Script Date: 17.05.2014 21:11:50 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +--------------------------------------------------------------------------------- +-- Stored procedure that will insert 1 row in the table 'KB_Absender' +-- Gets: @iAbsenderNr int +-- Gets: @sBezeichnung varchar(255) +-- Gets: @sBeschreibung varchar(255) +-- Gets: @baktiv bit +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Gets: @imutierer int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_KB_Absender_Insert] + @iAbsenderNr int, + @sBezeichnung varchar(255), + @sBeschreibung varchar(255), + @baktiv bit, + @daerstellt_am datetime, + @damutiert_am datetime, + @imutierer int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- INSERT a new row in the table. +INSERT [dbo].[KB_Absender] +( + [AbsenderNr], + [Bezeichnung], + [Beschreibung], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer] +) +VALUES +( + @iAbsenderNr, + @sBezeichnung, + @sBeschreibung, + @baktiv, + @daerstellt_am, + @damutiert_am, + @imutierer +) +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR + +GO + +/****** Object: StoredProcedure [dbo].[sp_update_kb_beziehung] Script Date: 17.05.2014 21:11:50 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [dbo].[sp_update_kb_beziehung] + @Artikelnr INT , + @Beziehungnr INT , + @aktiv INT , + @mutierer INT, + @typ int +AS +BEGIN + DECLARE @rc INT + DECLARE @kat VARCHAR(255) + + IF @typ=1 BEGIN -- Absender + SELECT @rc=COUNT(*) FROM dbo.KB_Absender_Artikel WHERE Artikelnr=@artikelnr AND AbsenderNr=@beziehungnr AND aktiv=1 + IF @rc = 0 BEGIN + INSERT kb_absender_artikel ( absendernr, artikelnr, erstellt_am, mutiert_am, mutierer, aktiv ) + VALUES ( @beziehungnr, @artikelnr, GETDATE(), GETDATE(), @mutierer, @aktiv ) + END ELSE BEGIN + UPDATE dbo.KB_Absender_Artikel SET aktiv=@aktiv, mutiert_am=GETDATE(),mutierer=@mutierer WHERE Absendernr=@Beziehungnr AND Artikelnr=@Artikelnr + END + end + + IF @typ=2 BEGIN -- Anspruchgsgruppe + SELECT @rc=COUNT(*) FROM dbo.KB_Anspruchgruppe_Artikel WHERE Artikelnr=@artikelnr AND Anspruchgruppenr=@beziehungnr AND aktiv=1 + IF @rc = 0 BEGIN + INSERT KB_Anspruchgruppe_Artikel ( Anspruchgruppenr, artikelnr, erstellt_am, mutiert_am, mutierer, aktiv ) + VALUES ( @beziehungnr, @artikelnr, GETDATE(), GETDATE(), @mutierer, @aktiv ) + END ELSE BEGIN + UPDATE KB_Anspruchgruppe_Artikel SET aktiv=@aktiv, mutiert_am=GETDATE(),mutierer=@mutierer WHERE Anspruchgruppenr=@Beziehungnr AND Artikelnr=@Artikelnr + END + end + + IF @typ=3 BEGIN -- Themengruppe + SELECT @rc=COUNT(*) FROM dbo.KB_Themengruppe_Artikel WHERE Artikelnr=@artikelnr AND Themengruppenr=@beziehungnr AND aktiv=1 + IF @rc = 0 BEGIN + INSERT dbo.KB_Themengruppe_Artikel ( Themengruppenr, artikelnr, erstellt_am, mutiert_am, mutierer, aktiv ) + VALUES ( @beziehungnr, @artikelnr, GETDATE(), GETDATE(), @mutierer, @aktiv ) + END ELSE BEGIN + UPDATE dbo.KB_Themengruppe_Artikel SET aktiv=@aktiv, mutiert_am=GETDATE(),mutierer=@mutierer WHERE Themengruppenr=@Beziehungnr AND Artikelnr=@Artikelnr + END + end + + +END + +GO + +/****** Object: StoredProcedure [dbo].[sp_get_kb_artikel_beziehungen] Script Date: 17.05.2014 21:11:50 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [dbo].[sp_get_kb_artikel_beziehungen] +@artikelnr INT, +@typ int +AS +BEGIN + IF @typ=1 begin + SELECT dbo.KB_Absender_Artikel.AbsenderNr, dbo.KB_Absender.Bezeichnung +FROM dbo.KB_Absender_Artikel INNER JOIN + dbo.KB_Absender ON dbo.KB_Absender_Artikel.AbsenderNr = dbo.KB_Absender.AbsenderNr +WHERE (dbo.KB_Absender_Artikel.aktiv = 1) AND (dbo.KB_Absender_Artikel.Artikelnr=@artikelnr) + END + + + IF @typ=2 BEGIN + SELECT dbo.KB_Anspruchgruppe_Artikel.Anspruchgruppenr, dbo.KB_Anspruchsgruppe.Bezeichnung +FROM dbo.KB_Anspruchgruppe_Artikel INNER JOIN + dbo.KB_Anspruchsgruppe ON dbo.KB_Anspruchgruppe_Artikel.Anspruchgruppenr = dbo.KB_Anspruchsgruppe.Anspruchgruppenr +WHERE (dbo.KB_Anspruchgruppe_Artikel.Aktiv = 1) AND Artikelnr=@artikelnr + END + + IF @typ=3 BEGIN + SELECT dbo.KB_Themengruppe_Artikel.Themengruppenr, dbo.KB_Themengruppe.Bezeichnung +FROM dbo.KB_Themengruppe_Artikel INNER JOIN + dbo.KB_Themengruppe ON dbo.KB_Themengruppe_Artikel.Themengruppenr = dbo.KB_Themengruppe.Themengruppenr +WHERE (dbo.KB_Themengruppe_Artikel.Aktiv = 1) AND Artikelnr=@artikelnr + END + +END + +GO + +/****** Object: StoredProcedure [dbo].[_kb_mig] Script Date: 17.05.2014 21:11:50 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [dbo].[_kb_mig] +AS +BEGIN + DECLARE @a1 VARCHAR(255),@a2 VARCHAR(255),@a3 VARCHAR(255),@a4 VARCHAR(255) + DECLARE @b1 VARCHAR(255),@b2 VARCHAR(255),@b3 VARCHAR(255),@b4 VARCHAR(255), @b5 VARCHAR(255),@b6 VARCHAR(255),@b7 VARCHAR(255) + DECLARE @c1 VARCHAR(255),@c2 VARCHAR(255),@c3 VARCHAR(255),@c4 VARCHAR(255), @c5 VARCHAR(255),@c6 VARCHAR(255),@c7 VARCHAR(255) + DECLARE @c8 VARCHAR(255),@c9 VARCHAR(255),@c10 VARCHAR(255),@c11 VARCHAR(255) + DECLARE @akey INT + + DECLARE xc CURSOR FOR + SELECT artikelnr, a1,a2,a3,a4,b1,b2,b3,b4,b5,b6,b7,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11 FROM kb_artikel + OPEN xc + FETCH NEXT FROM xc INTO @akey,@a1,@a2,@a3,@a4,@b1,@b2,@b3,@b4,@b5,@b6,@b7,@c1,@c2,@c3,@c4,@c5,@c6,@c7,@c8,@c9,@c10,@c11 + WHILE @@FETCH_STATUS=0 BEGIN + IF @a1='x' INSERT kb_absender_artikel (absendernr,artikelnr, aktiv,erstellt_am,mutiert_am, mutierer) VALUES(1,@akey,1,GETDATE(),GETDATE(),1) + IF @a2='x' INSERT kb_absender_artikel (absendernr,artikelnr, aktiv,erstellt_am,mutiert_am, mutierer) VALUES(2,@akey,1,GETDATE(),GETDATE(),1) + IF @a3='x' INSERT kb_absender_artikel (absendernr,artikelnr, aktiv,erstellt_am,mutiert_am, mutierer) VALUES(3,@akey,1,GETDATE(),GETDATE(),1) + IF @a4='x' INSERT kb_absender_artikel (absendernr,artikelnr, aktiv,erstellt_am,mutiert_am, mutierer) VALUES(4,@akey,1,GETDATE(),GETDATE(),1) + IF @b1='x' INSERT KB_Anspruchgruppe_Artikel (Anspruchgruppenr,artikelnr, aktiv,erstellt_am,mutiert_am, mutierer) VALUES(1,@akey,1,GETDATE(),GETDATE(),1) + IF @b2='x' INSERT KB_Anspruchgruppe_Artikel (Anspruchgruppenr,artikelnr, aktiv,erstellt_am,mutiert_am, mutierer) VALUES(2,@akey,1,GETDATE(),GETDATE(),1) + IF @b3='x' INSERT KB_Anspruchgruppe_Artikel (Anspruchgruppenr,artikelnr, aktiv,erstellt_am,mutiert_am, mutierer) VALUES(3,@akey,1,GETDATE(),GETDATE(),1) + IF @b4='x' INSERT KB_Anspruchgruppe_Artikel (Anspruchgruppenr,artikelnr, aktiv,erstellt_am,mutiert_am, mutierer) VALUES(4,@akey,1,GETDATE(),GETDATE(),1) + IF @b5='x' INSERT KB_Anspruchgruppe_Artikel (Anspruchgruppenr,artikelnr, aktiv,erstellt_am,mutiert_am, mutierer) VALUES(5,@akey,1,GETDATE(),GETDATE(),1) + IF @b6='x' INSERT KB_Anspruchgruppe_Artikel (Anspruchgruppenr,artikelnr, aktiv,erstellt_am,mutiert_am, mutierer) VALUES(6,@akey,1,GETDATE(),GETDATE(),1) + IF @b7='x' INSERT KB_Anspruchgruppe_Artikel (Anspruchgruppenr,artikelnr, aktiv,erstellt_am,mutiert_am, mutierer) VALUES(7,@akey,1,GETDATE(),GETDATE(),1) + IF @c1='x' INSERT KB_Themengruppe_Artikel (Themengruppenr,artikelnr, aktiv,erstellt_am,mutiert_am, mutierer) VALUES(1,@akey,1,GETDATE(),GETDATE(),1) + IF @c2='x' INSERT KB_Themengruppe_Artikel (Themengruppenr,artikelnr, aktiv,erstellt_am,mutiert_am, mutierer) VALUES(2,@akey,1,GETDATE(),GETDATE(),1) + IF @c3='x' INSERT KB_Themengruppe_Artikel (Themengruppenr,artikelnr, aktiv,erstellt_am,mutiert_am, mutierer) VALUES(3,@akey,1,GETDATE(),GETDATE(),1) + IF @c4='x' INSERT KB_Themengruppe_Artikel (Themengruppenr,artikelnr, aktiv,erstellt_am,mutiert_am, mutierer) VALUES(4,@akey,1,GETDATE(),GETDATE(),1) + IF @c5='x' INSERT KB_Themengruppe_Artikel (Themengruppenr,artikelnr, aktiv,erstellt_am,mutiert_am, mutierer) VALUES(5,@akey,1,GETDATE(),GETDATE(),1) + IF @c6='x' INSERT KB_Themengruppe_Artikel (Themengruppenr,artikelnr, aktiv,erstellt_am,mutiert_am, mutierer) VALUES(6,@akey,1,GETDATE(),GETDATE(),1) + IF @c7='x' INSERT KB_Themengruppe_Artikel (Themengruppenr,artikelnr, aktiv,erstellt_am,mutiert_am, mutierer) VALUES(7,@akey,1,GETDATE(),GETDATE(),1) + IF @c8='x' INSERT KB_Themengruppe_Artikel (Themengruppenr,artikelnr, aktiv,erstellt_am,mutiert_am, mutierer) VALUES(8,@akey,1,GETDATE(),GETDATE(),1) + IF @c9='x' INSERT KB_Themengruppe_Artikel (Themengruppenr,artikelnr, aktiv,erstellt_am,mutiert_am, mutierer) VALUES(9,@akey,1,GETDATE(),GETDATE(),1) + IF @c10='x' INSERT KB_Themengruppe_Artikel (Themengruppenr,artikelnr, aktiv,erstellt_am,mutiert_am, mutierer) VALUES(10,@akey,1,GETDATE(),GETDATE(),1) + IF @c11='x' INSERT KB_Themengruppe_Artikel (Themengruppenr,artikelnr, aktiv,erstellt_am,mutiert_am, mutierer) VALUES(11,@akey,1,GETDATE(),GETDATE(),1) + + FETCH NEXT FROM xc INTO @akey,@a1,@a2,@a3,@a4,@b1,@b2,@b3,@b4,@b5,@b6,@b7,@c1,@c2,@c3,@c4,@c5,@c6,@c7,@c8,@c9,@c10,@c11 + END + CLOSE xc + DEALLOCATE xc + + + END + + + +GO + +/****** Object: StoredProcedure [dbo].[pr_KB_SelectAll] Script Date: 17.05.2014 21:11:50 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +--------------------------------------------------------------------------------- +-- Stored procedure that will select all rows from the table 'KB' +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_KB_SelectAll] + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT all rows from the table. +--SELECT +-- titel, +-- botschaft_text, +-- [KBNummer] +-- --[Titel], +-- --[Beschreibung], +-- --[Suchbegriffe], +-- --[Gueltig_ab], +-- --[Gueltig_bis], +-- --[Botschaft_Text], +-- --[aktiv], +-- --[erstellt_am], +-- --[mutiert_am], +-- --[mutierer] +--FROM [dbo].[KB] +--ORDER BY +-- [KBNummer] ASC +---- Get the Error Code for the statement just executed. + + +SELECT * FROM v_kb_artikel1 +SELECT @iErrorCode=@@ERROR +GO + +/****** Object: StoredProcedure [dbo].[pr_KB_SelectOne] Script Date: 17.05.2014 21:11:50 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +--------------------------------------------------------------------------------- +-- Stored procedure that will select an existing row from the table 'KB' +-- based on the Primary Key. +-- Gets: @iKBNummer int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_KB_SelectOne] + @iKBNummer int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- SELECT an existing row from the table. +SELECT + [KBNummer], + [Titel], + [Beschreibung], + [Suchbegriffe], + [Gueltig_ab], + [Gueltig_bis], + [Botschaft_Text], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer] +FROM [dbo].[KB] +WHERE + [KBNummer] = @iKBNummer +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR + +GO + +/****** Object: StoredProcedure [dbo].[pr_KB_Delete] Script Date: 17.05.2014 21:11:50 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +--------------------------------------------------------------------------------- +-- Stored procedure that will delete an existing row from the table 'KB' +-- using the Primary Key. +-- Gets: @iKBNummer int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_KB_Delete] + @iKBNummer int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- DELETE an existing row from the table. +DELETE FROM [dbo].[KB] +WHERE + [KBNummer] = @iKBNummer +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR + +GO + +/****** Object: StoredProcedure [dbo].[pr_KB_Update] Script Date: 17.05.2014 21:11:50 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +--------------------------------------------------------------------------------- +-- Stored procedure that will update an existing row in the table 'KB' +-- Gets: @iKBNummer int +-- Gets: @sTitel varchar(255) +-- Gets: @sBeschreibung varchar(1024) +-- Gets: @sSuchbegriffe varchar(1024) +-- Gets: @daGueltig_ab datetime +-- Gets: @daGueltig_bis datetime +-- Gets: @sBotschaft_Text varchar(4096) +-- Gets: @baktiv bit +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Gets: @imutierer int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_KB_Update] + @iKBNummer int, + @sTitel varchar(255), + @sBeschreibung varchar(1024), + @sSuchbegriffe varchar(1024), + @daGueltig_ab datetime, + @daGueltig_bis datetime, + @sBotschaft_Text varchar(4096), + @baktiv bit, + @daerstellt_am datetime, + @damutiert_am datetime, + @imutierer int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- UPDATE an existing row in the table. +UPDATE [dbo].[KB] +SET + [Titel] = @sTitel, + [Beschreibung] = @sBeschreibung, + [Suchbegriffe] = @sSuchbegriffe, + [Gueltig_ab] = @daGueltig_ab, + [Gueltig_bis] = @daGueltig_bis, + [Botschaft_Text] = @sBotschaft_Text, + [aktiv] = @baktiv, + [erstellt_am] = @daerstellt_am, + [mutiert_am] = @damutiert_am, + [mutierer] = @imutierer +WHERE + [KBNummer] = @iKBNummer +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR + +GO + +/****** Object: StoredProcedure [dbo].[pr_KB_Insert] Script Date: 17.05.2014 21:11:50 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +--------------------------------------------------------------------------------- +-- Stored procedure that will insert 1 row in the table 'KB' +-- Gets: @iKBNummer int +-- Gets: @sTitel varchar(255) +-- Gets: @sBeschreibung varchar(1024) +-- Gets: @sSuchbegriffe varchar(1024) +-- Gets: @daGueltig_ab datetime +-- Gets: @daGueltig_bis datetime +-- Gets: @sBotschaft_Text varchar(4096) +-- Gets: @baktiv bit +-- Gets: @daerstellt_am datetime +-- Gets: @damutiert_am datetime +-- Gets: @imutierer int +-- Returns: @iErrorCode int +--------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[pr_KB_Insert] + @iKBNummer int, + @sTitel varchar(255), + @sBeschreibung varchar(1024), + @sSuchbegriffe varchar(1024), + @daGueltig_ab datetime, + @daGueltig_bis datetime, + @sBotschaft_Text varchar(4096), + @baktiv bit, + @daerstellt_am datetime, + @damutiert_am datetime, + @imutierer int, + @iErrorCode int OUTPUT +AS +SET NOCOUNT ON +-- INSERT a new row in the table. +INSERT [dbo].[KB] +( + [KBNummer], + [Titel], + [Beschreibung], + [Suchbegriffe], + [Gueltig_ab], + [Gueltig_bis], + [Botschaft_Text], + [aktiv], + [erstellt_am], + [mutiert_am], + [mutierer] +) +VALUES +( + @iKBNummer, + @sTitel, + @sBeschreibung, + @sSuchbegriffe, + @daGueltig_ab, + @daGueltig_bis, + @sBotschaft_Text, + @baktiv, + @daerstellt_am, + @damutiert_am, + @imutierer +) +-- Get the Error Code for the statement just executed. +SELECT @iErrorCode=@@ERROR + +GO + diff --git a/TIM_KB/SQL_Script.sql b/TIM_KB/SQL_Script.sql new file mode 100644 index 0000000..76ab721 Binary files /dev/null and b/TIM_KB/SQL_Script.sql differ diff --git a/TIM_KB/TIM_KB.zip b/TIM_KB/TIM_KB.zip new file mode 100644 index 0000000..df55176 Binary files /dev/null and b/TIM_KB/TIM_KB.zip differ diff --git a/TIM_KB/Tables.sql b/TIM_KB/Tables.sql new file mode 100644 index 0000000..035d4bc --- /dev/null +++ b/TIM_KB/Tables.sql @@ -0,0 +1,370 @@ +USE [TIM] +GO + +ALTER TABLE [dbo].[KB_Artikel] DROP CONSTRAINT [DF_KB_Artikel_Aktiv_Reaktiv] +GO + +/****** Object: Table [dbo].[KB_Anspruchsgruppe] Script Date: 17.05.2014 14:32:58 ******/ +DROP TABLE [dbo].[KB_Anspruchsgruppe] +GO + +/****** Object: Table [dbo].[KB_Absender] Script Date: 17.05.2014 14:32:58 ******/ +DROP TABLE [dbo].[KB_Absender] +GO + +/****** Object: Table [dbo].[KB_Themengruppe] Script Date: 17.05.2014 14:32:58 ******/ +DROP TABLE [dbo].[KB_Themengruppe] +GO + +/****** Object: Table [dbo].[KB] Script Date: 17.05.2014 14:32:58 ******/ +DROP TABLE [dbo].[KB] +GO + +/****** Object: Table [dbo].[KB_Absender_Artikel] Script Date: 17.05.2014 14:32:58 ******/ +DROP TABLE [dbo].[KB_Absender_Artikel] +GO + +/****** Object: Table [dbo].[KB_Anspruchgruppe_Artikel] Script Date: 17.05.2014 14:32:58 ******/ +DROP TABLE [dbo].[KB_Anspruchgruppe_Artikel] +GO + +/****** Object: Table [dbo].[KB_Themengruppe_Artikel] Script Date: 17.05.2014 14:32:58 ******/ +DROP TABLE [dbo].[KB_Themengruppe_Artikel] +GO + +/****** Object: Table [dbo].[KB_Artikel_Save] Script Date: 17.05.2014 14:32:58 ******/ +DROP TABLE [dbo].[KB_Artikel_Save] +GO + +/****** Object: Table [dbo].[KB_Artikel] Script Date: 17.05.2014 14:32:58 ******/ +DROP TABLE [dbo].[KB_Artikel] +GO + +/****** Object: Table [dbo].[KB_Parameter] Script Date: 17.05.2014 14:32:58 ******/ +DROP TABLE [dbo].[KB_Parameter] +GO + +/****** Object: Table [dbo].[UserLog] Script Date: 17.05.2014 14:32:58 ******/ +DROP TABLE [dbo].[UserLog] +GO + +/****** Object: Table [dbo].[UserLog] Script Date: 17.05.2014 14:32:58 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +SET ANSI_PADDING ON +GO + +CREATE TABLE [dbo].[UserLog]( + [nreintrag] [int] IDENTITY(1,1) NOT NULL, + [Timestamp] [datetime] NULL, + [LoginName] [varchar](255) NULL, + [Action] [varchar](255) NULL, + [Details] [varchar](1024) NULL, + CONSTRAINT [PK_UserLog] PRIMARY KEY CLUSTERED +( + [nreintrag] ASC +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] +) ON [PRIMARY] + +GO + +SET ANSI_PADDING OFF +GO + +/****** Object: Table [dbo].[KB_Parameter] Script Date: 17.05.2014 14:32:58 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +SET ANSI_PADDING ON +GO + +CREATE TABLE [dbo].[KB_Parameter]( + [KBParameternr] [int] IDENTITY(1,1) NOT NULL, + [Bezeichnung] [varchar](50) NULL, + [Beschreibung] [varchar](50) NULL, + [Aktiv] [bit] NULL, + [Erstellt_am] [datetime] NULL, + [Mutiert_am] [datetime] NULL, + [Mutierer] [int] NULL, + CONSTRAINT [PK_KB_Parameter] PRIMARY KEY CLUSTERED +( + [KBParameternr] ASC +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] +) ON [PRIMARY] + +GO + +SET ANSI_PADDING OFF +GO + +/****** Object: Table [dbo].[KB_Artikel] Script Date: 17.05.2014 14:32:58 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +SET ANSI_PADDING ON +GO + +CREATE TABLE [dbo].[KB_Artikel]( + [Artikelnr] [int] NOT NULL, + [Bezeichnung] [varchar](255) NULL, + [Beschreibung] [varchar](255) NULL, + [Suchbegriffe] [varchar](255) NULL, + [Gueltig_ab] [datetime] NULL, + [Gueltig_bis] [datetime] NULL, + [Artikel] [varchar](4096) NULL, + [Aktiv] [bit] NULL, + [Erstellt_am] [datetime] NULL, + [Mutiert_am] [datetime] NULL, + [Mutierer] [int] NULL, + [Aktiv_Reaktiv] [bit] NULL, + CONSTRAINT [PK_KB_Artikel] PRIMARY KEY CLUSTERED +( + [Artikelnr] ASC +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] +) ON [PRIMARY] + +GO + +SET ANSI_PADDING OFF +GO + +/****** Object: Table [dbo].[KB_Artikel_Save] Script Date: 17.05.2014 14:32:58 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +CREATE TABLE [dbo].[KB_Artikel_Save]( + [Artikelnr] [int] IDENTITY(1,1) NOT NULL, + [A1] [nvarchar](255) NULL, + [A2] [nvarchar](255) NULL, + [A3] [nvarchar](255) NULL, + [A4] [nvarchar](255) NULL, + [B1] [nvarchar](255) NULL, + [B2] [nvarchar](255) NULL, + [B3] [nvarchar](255) NULL, + [B4] [nvarchar](255) NULL, + [B5] [nvarchar](255) NULL, + [B6] [nvarchar](255) NULL, + [B7] [nvarchar](255) NULL, + [C1] [nvarchar](255) NULL, + [C2] [nvarchar](255) NULL, + [C3] [nvarchar](255) NULL, + [F15] [nvarchar](255) NULL, + [C4] [nvarchar](255) NULL, + [C5] [nvarchar](255) NULL, + [C6] [nvarchar](255) NULL, + [C7] [nvarchar](255) NULL, + [C8] [nvarchar](255) NULL, + [C9] [nvarchar](255) NULL, + [C10] [nvarchar](255) NULL, + [C11] [nvarchar](255) NULL, + [Artikel] [nvarchar](max) NULL, + [F25] [nvarchar](255) NULL +) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] + +GO + +/****** Object: Table [dbo].[KB_Themengruppe_Artikel] Script Date: 17.05.2014 14:32:58 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +CREATE TABLE [dbo].[KB_Themengruppe_Artikel]( + [Themengruppe_Artikelnr] [int] IDENTITY(1,1) NOT NULL, + [Themengruppenr] [int] NULL, + [Artikelnr] [int] NULL, + [Aktiv] [bit] NULL, + [Erstellt_am] [datetime] NULL, + [Mutiert_am] [datetime] NULL, + [Mutierer] [int] NULL, + CONSTRAINT [PK_KB_Themengruppe_Artikel] PRIMARY KEY CLUSTERED +( + [Themengruppe_Artikelnr] ASC +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] +) ON [PRIMARY] + +GO + +/****** Object: Table [dbo].[KB_Anspruchgruppe_Artikel] Script Date: 17.05.2014 14:32:58 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +CREATE TABLE [dbo].[KB_Anspruchgruppe_Artikel]( + [Ansprchgruppe_Artikelnr] [int] IDENTITY(1,1) NOT NULL, + [Anspruchgruppenr] [int] NULL, + [Artikelnr] [int] NULL, + [Aktiv] [bit] NULL, + [Erstellt_am] [datetime] NULL, + [Mutiert_am] [datetime] NULL, + [Mutierer] [int] NULL, + CONSTRAINT [PK_KB_Anspruchgruppe_Artikel] PRIMARY KEY CLUSTERED +( + [Ansprchgruppe_Artikelnr] ASC +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] +) ON [PRIMARY] + +GO + +/****** Object: Table [dbo].[KB_Absender_Artikel] Script Date: 17.05.2014 14:32:58 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +CREATE TABLE [dbo].[KB_Absender_Artikel]( + [Absender_Artikeln] [int] IDENTITY(1,1) NOT NULL, + [AbsenderNr] [int] NULL, + [Artikelnr] [int] NULL, + [aktiv] [bit] NULL, + [erstellt_am] [datetime] NULL, + [mutiert_am] [datetime] NULL, + [mutierer] [int] NULL, + CONSTRAINT [PK_KB_Absender_Artikel] PRIMARY KEY CLUSTERED +( + [Absender_Artikeln] ASC +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] +) ON [PRIMARY] + +GO + +/****** Object: Table [dbo].[KB] Script Date: 17.05.2014 14:32:58 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +SET ANSI_PADDING ON +GO + +CREATE TABLE [dbo].[KB]( + [KBNummer] [int] NOT NULL, + [Titel] [varchar](255) NULL, + [Beschreibung] [varchar](1024) NULL, + [Suchbegriffe] [varchar](1024) NULL, + [Gueltig_ab] [datetime] NULL, + [Gueltig_bis] [datetime] NULL, + [Botschaft_Text] [varchar](4096) NULL, + [aktiv] [bit] NULL, + [erstellt_am] [datetime] NULL, + [mutiert_am] [datetime] NULL, + [mutierer] [int] NULL, + CONSTRAINT [PK_KB] PRIMARY KEY CLUSTERED +( + [KBNummer] ASC +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] +) ON [PRIMARY] + +GO + +SET ANSI_PADDING OFF +GO + +/****** Object: Table [dbo].[KB_Themengruppe] Script Date: 17.05.2014 14:32:58 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +SET ANSI_PADDING ON +GO + +CREATE TABLE [dbo].[KB_Themengruppe]( + [Themengruppenr] [int] NOT NULL, + [Bezeichnung] [varchar](255) NULL, + [Beschreibung] [varchar](255) NULL, + [aktiv] [bit] NULL, + [erstellt_am] [datetime] NULL, + [mutiert_am] [datetime] NULL, + [mutierer] [int] NULL, + CONSTRAINT [PK_KB_Themengruppe] PRIMARY KEY CLUSTERED +( + [Themengruppenr] ASC +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] +) ON [PRIMARY] + +GO + +SET ANSI_PADDING OFF +GO + +/****** Object: Table [dbo].[KB_Absender] Script Date: 17.05.2014 14:32:58 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +SET ANSI_PADDING ON +GO + +CREATE TABLE [dbo].[KB_Absender]( + [AbsenderNr] [int] NOT NULL, + [Bezeichnung] [varchar](255) NULL, + [Beschreibung] [varchar](255) NULL, + [aktiv] [bit] NULL, + [erstellt_am] [datetime] NULL, + [mutiert_am] [datetime] NULL, + [mutierer] [int] NULL, + CONSTRAINT [PK_kb_absender] PRIMARY KEY CLUSTERED +( + [AbsenderNr] ASC +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] +) ON [PRIMARY] + +GO + +SET ANSI_PADDING OFF +GO + +/****** Object: Table [dbo].[KB_Anspruchsgruppe] Script Date: 17.05.2014 14:32:58 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +SET ANSI_PADDING ON +GO + +CREATE TABLE [dbo].[KB_Anspruchsgruppe]( + [Anspruchgruppenr] [int] NOT NULL, + [Bezeichnung] [varchar](255) NULL, + [Beschreibung] [varchar](255) NULL, + [aktiv] [bit] NULL, + [erstellt_am] [datetime] NULL, + [mutiert_am] [datetime] NULL, + [mutierer] [int] NULL, + CONSTRAINT [PK_KB_Anspruchsgruppe] PRIMARY KEY CLUSTERED +( + [Anspruchgruppenr] ASC +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] +) ON [PRIMARY] + +GO + +SET ANSI_PADDING OFF +GO + +ALTER TABLE [dbo].[KB_Artikel] ADD CONSTRAINT [DF_KB_Artikel_Aktiv_Reaktiv] DEFAULT ((0)) FOR [Aktiv_Reaktiv] +GO + diff --git a/TIM_KB/Themenmanagement.exe b/TIM_KB/Themenmanagement.exe new file mode 100644 index 0000000..57f4200 Binary files /dev/null and b/TIM_KB/Themenmanagement.exe differ diff --git a/TIM_KB/Views.sql b/TIM_KB/Views.sql new file mode 100644 index 0000000..3c7b2aa Binary files /dev/null and b/TIM_KB/Views.sql differ diff --git a/ThemaPerson/DB/clsConnectionProvider.vb b/ThemaPerson/DB/clsConnectionProvider.vb new file mode 100644 index 0000000..5af5b4d --- /dev/null +++ b/ThemaPerson/DB/clsConnectionProvider.vb @@ -0,0 +1,289 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Connection Provider class for Database connection sharing +' // Generated by LLBLGen v1.21.2003.712 Final on: Dienstag, 1. Januar 2013, 19:36:38 +' // This class implements IDisposable. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Configuration +Imports System.Data +Imports System.Data.SqlClient +Imports System.Collections + +Namespace DB + ' /// + ' /// Purpose: provides a SqlConnection object which can be shared among data-access tier objects + ' /// to provide a way to do ADO.NET transaction coding without the hassling with SqlConnection objects + ' /// on a high level. + ' /// + Public Class clsConnectionProvider + Implements IDisposable + +#Region " Class Member Declarations " + + Private m_scoDBConnection As SqlConnection + Private m_bIsTransactionPending, m_bIsDisposed As Boolean + Private m_stCurrentTransaction As SqlTransaction + Private m_alSavePoints As ArrayList + +#End Region + + + Public Sub New() + ' // Init the class + InitClass() + End Sub + + + ' /// + ' /// Purpose: Implements the IDispose' method Dispose. + ' /// + Overloads Public Sub Dispose() Implements IDisposable.Dispose + Dispose(True) + GC.SuppressFinalize(Me) + End Sub + + + ' /// + ' /// Purpose: Implements the Dispose functionality. + ' /// + Overridable Overloads Protected Sub Dispose(ByVal bIsDisposing As Boolean) + ' // Check to see if Dispose has already been called. + If Not m_bIsDisposed Then + If bIsDisposing Then + ' // Dispose managed resources. + If Not (m_stCurrentTransaction Is Nothing) Then + m_stCurrentTransaction.Dispose() + m_stCurrentTransaction = Nothing + End If + If Not (m_scoDBConnection Is Nothing) Then + ' // closing the connection will abort (rollback) any pending transactions + m_scoDBConnection.Close() + m_scoDBConnection.Dispose() + m_scoDBConnection = Nothing + End If + End If + End If + m_bIsDisposed = True + End Sub + + + ' /// + ' /// Purpose: Initializes class members. + ' /// + Private Sub InitClass() + ' // Create all the objects and initialize other members. + m_scoDBConnection = new SqlConnection() + m_bIsDisposed = False + m_stCurrentTransaction = Nothing + m_bIsTransactionPending = False + m_alSavePoints = new ArrayList() + End Sub + + + ' /// + ' /// Purpose: Opens the connection object. + ' /// + ' /// True, if succeeded, otherwise an Exception exception is thrown. + Public Function OpenConnection() As Boolean + Try + If (m_scoDBConnection.State And ConnectionState.Open) > 0 Then + ' // It's already open. + Throw New Exception("OpenConnection::Connection is already open.") + End If + m_scoDBConnection.Open() + m_bIsTransactionPending = False + m_alSavePoints.Clear() + Return True + Catch ex As Exception + ' // bubble exception + Throw ex + End Try + End Function + + + ' /// + ' /// Purpose: Starts a new ADO.NET transaction using the open connection object of this class. + ' /// + ' /// Name of the transaction to start + ' /// True, if transaction is started correctly, otherwise an Exception exception is thrown + Public Function BeginTransaction(sTransactionName As String) As Boolean + Try + If m_bIsTransactionPending Then + ' // no nested transactions allowed. + Throw New Exception("BeginTransaction::Already transaction pending. Nesting not allowed") + End If + If (m_scoDBConnection.State And ConnectionState.Open) = 0 Then + ' // no open connection + Throw New Exception("BeginTransaction::Connection is not open.") + End If + ' // begin the transaction and store the transaction object. + m_stCurrentTransaction = m_scoDBConnection.BeginTransaction(IsolationLevel.ReadCommitted, sTransactionName) + m_bIsTransactionPending = True + Return True + Catch ex As Exception + ' // bubble exception + Throw ex + End Try + End Function + + + ' /// + ' /// Purpose: Commits a pending transaction on the open connection object of this class. + ' /// + ' /// True, if commit was succesful, or an Exception exception is thrown + Public Function CommitTransaction() As Boolean + Try + If Not m_bIsTransactionPending Then + ' // no transaction pending + Throw New Exception("CommitTransaction::No transaction pending.") + End If + If (m_scoDBConnection.State And ConnectionState.Open) = 0 Then + ' // no open connection + Throw New Exception("CommitTransaction::Connection is not open.") + End if + ' // commit the transaction + m_stCurrentTransaction.Commit() + m_bIsTransactionPending = False + m_stCurrentTransaction.Dispose() + m_stCurrentTransaction = Nothing + m_alSavePoints.Clear() + Return True + Catch ex As Exception + ' // bubble exception + Throw ex + End Try + End Function + + + ' /// + ' /// Purpose: Rolls back a pending transaction on the open connection object of this class, + ' /// or rolls back to the savepoint with the given name. Savepoints are created with SaveTransaction(). + ' /// + ' /// Name of transaction to roll back. Can be name of savepoint + ' /// True, if rollback was succesful, or an Exception exception is thrown + Public Function RollbackTransaction(sTransactionToRollback As String) As Boolean + Try + If Not m_bIsTransactionPending Then + ' // no transaction pending + Throw New Exception("RollbackTransaction::No transaction pending.") + End If + If (m_scoDBConnection.State And ConnectionState.Open) = 0 Then + ' // no open connection + Throw New Exception("RollbackTransaction::Connection is not open.") + End If + ' // rollback the transaction + m_stCurrentTransaction.Rollback(sTransactionToRollback) + ' // if this wasn't a savepoint, we've rolled back the complete transaction, so we + ' // can clean it up. + If Not m_alSavePoints.Contains(sTransactionToRollback) Then + ' // it's not a savepoint + m_bIsTransactionPending = False + m_stCurrentTransaction.Dispose() + m_stCurrentTransaction = Nothing + m_alSavePoints.Clear() + End If + Return True + Catch ex As Exception + ' // bubble exception + Throw ex + End Try + End Function + + + ' /// + ' /// Purpose: Saves a pending transaction on the open connection object of this class to a 'savepoint' + ' /// with the given name. + ' /// When a rollback is issued, the caller can rollback to this savepoint or roll back the complete transaction. + ' /// + ' /// Name of the savepoint to store the current transaction under. + ' /// True, if save was succesful, or an Exception exception is thrown + Public Function SaveTransaction(sSavePointName As String) As Boolean + Try + If Not m_bIsTransactionPending Then + ' // no transaction pending + Throw New Exception("SaveTransaction::No transaction pending.") + End If + If (m_scoDBConnection.State And ConnectionState.Open) = 0 Then + ' // no open connection + Throw New Exception("SaveTransaction::Connection is not open.") + End If + ' // save the transaction + m_stCurrentTransaction.Save(sSavePointName) + ' // Store the savepoint in the list. + m_alSavePoints.Add(sSavePointName) + Return True + Catch ex As Exception + ' // bubble exception + Throw ex + End Try + End Function + + + ' /// + ' /// Purpose: Closes the open connection. Depending on bCommitPendingTransactions, a pending + ' /// transaction is commited, or aborted. + ' /// + ' /// Flag for what to do when a transaction is still pending. True + ' /// will commit the current transaction, False will abort (rollback) the complete current transaction. + ' /// True, if close was succesful, False if connection was already closed, or an Exception exception is thrown when + ' /// an error occurs + Public Function CloseConnection(bCommitPendingTransaction As Boolean) As Boolean + Try + If (m_scoDBConnection.State And ConnectionState.Open) = 0 Then + ' // No open connection + Return False + End If + If m_bIsTransactionPending Then + If bCommitPendingTransaction Then + ' // Commit the pending transaction + m_stCurrentTransaction.Commit() + Else + ' // Rollback the pending transaction + m_stCurrentTransaction.Rollback() + End If + m_bIsTransactionPending = False + m_stCurrentTransaction.Dispose() + m_stCurrentTransaction = Nothing + m_alSavePoints.Clear() + End If + ' // close the connection + m_scoDBConnection.Close() + Return True + Catch ex As Exception + ' // bubble exception + Throw ex + End Try + End Function + + +#Region " Class Property Declarations " + + Public ReadOnly Property stCurrentTransaction() As SqlTransaction + Get + Return m_stCurrentTransaction + End Get + End Property + + + Public ReadOnly Property bIsTransactionPending() As Boolean + Get + Return m_bIsTransactionPending + End Get + End Property + + + Public ReadOnly Property scoDBConnection() As SqlConnection + Get + Return m_scoDBConnection + End Get + End Property + Public WriteOnly Property sConnectionString() As String + Set (ByVal Value As String) + m_scoDBConnection.ConnectionString = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/ThemaPerson/DB/clsDBInteractionBase.vb b/ThemaPerson/DB/clsDBInteractionBase.vb new file mode 100644 index 0000000..60f5b0a --- /dev/null +++ b/ThemaPerson/DB/clsDBInteractionBase.vb @@ -0,0 +1,208 @@ +' ////////////////////////////////////////////////////////////////////////////////////////// +' // Description: Base class for Database Interaction. +' // Generated by LLBLGen v1.21.2003.712 Final on: Dienstag, 1. Januar 2013, 19:36:38 +' // Because this class implements IDisposable, derived classes shouldn't do so. +' ////////////////////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Configuration +Imports System.Data +Imports System.Data.SqlClient +Imports System.Data.SqlTypes + +Namespace DB + ' /// + ' /// Purpose: Error Enums used by this LLBL library. + ' /// + Public Enum LLBLError + AllOk + ' // Add more here (check the comma's!) + End Enum + + + ' /// + ' /// Purpose: General interface of the API generated. Contains only common methods of all classes. + ' /// + Public Interface ICommonDBAccess + Function Insert() As Boolean + Function Update() As Boolean + Function Delete() As Boolean + Function SelectOne() As DataTable + Function SelectAll() As DataTable + End Interface + + + ' /// + ' /// Purpose: Abstract base class for Database Interaction classes. + ' /// + Public MustInherit Class clsDBInteractionBase + Implements IDisposable + Implements ICommonDBAccess + +#Region " Class Member Declarations " + + Protected m_scoMainConnection As SqlConnection + Protected m_iRowsAffected As Integer + Protected m_iErrorCode As SqlInt32 + Protected m_bMainConnectionIsCreatedLocal As Boolean + Protected m_cpMainConnectionProvider As clsConnectionProvider + Private m_sConnectionString As String + Private m_bIsDisposed As Boolean + +#End Region + + + ' /// + ' /// Purpose: Class constructor. + ' /// + Public Sub New() + ' // Initialize the class' members. + InitClass() + End Sub + + + ' /// + ' /// Purpose: Initializes class members. + ' /// + Private Sub InitClass() + ' // create all the objects and initialize other members. + m_scoMainConnection = new SqlConnection() + m_bMainConnectionIsCreatedLocal = True + m_cpMainConnectionProvider = Nothing + m_iErrorCode = New SqlInt32(LLBLError.AllOk) + m_bIsDisposed = False + End Sub + + + ' /// + ' /// Purpose: Implements the IDispose' method Dispose. + ' /// + Overloads Public Sub Dispose() Implements IDisposable.Dispose + Dispose(True) + GC.SuppressFinalize(Me) + End Sub + + + ' /// + ' /// Purpose: Implements the Dispose functionality. + ' /// + Overridable Overloads Protected Sub Dispose(ByVal bIsDisposing As Boolean) + ' // Check to see if Dispose has already been called. + If Not m_bIsDisposed Then + If bIsDisposing Then + ' // Dispose managed resources. + If m_bMainConnectionIsCreatedLocal Then + ' // Object is created in this class, so destroy it here. + m_scoMainConnection.Close() + m_scoMainConnection.Dispose() + m_bMainConnectionIsCreatedLocal = True + End If + m_cpMainConnectionProvider = Nothing + m_scoMainConnection = Nothing + End If + End If + m_bIsDisposed = True + End Sub + + + ' /// + ' /// Purpose: Implements the ICommonDBAccess.Insert() method. + ' /// + Public Overridable Function Insert() As Boolean Implements ICommonDBAccess.Insert + ' // No implementation, throw exception + Throw New NotImplementedException() + End Function + + + ' /// + ' /// Purpose: Implements the ICommonDBAccess.Delete() method. + ' /// + Public Overridable Function Delete() As Boolean Implements ICommonDBAccess.Delete + ' // No implementation, throw exception + Throw New NotImplementedException() + End Function + + + ' /// + ' /// Purpose: Implements the ICommonDBAccess.Update() method. + ' /// + Public Overridable Function Update() As Boolean Implements ICommonDBAccess.Update + ' // No implementation, throw exception + Throw New NotImplementedException() + End Function + + + ' /// + ' /// Purpose: Implements the ICommonDBAccess.SelectOne() method. + ' /// + Public Overridable Function SelectOne() As DataTable Implements ICommonDBAccess.SelectOne + ' // No implementation, throw exception + Throw New NotImplementedException() + End Function + + + ' /// + ' /// Purpose: Implements the ICommonDBAccess.SelectAll() method. + ' /// + Public Overridable Function SelectAll() As DataTable Implements ICommonDBAccess.SelectAll + ' // No implementation, throw exception + Throw New NotImplementedException() + End Function + + +#Region " Class Property Declarations " + + Public WriteOnly Property cpMainConnectionProvider() As clsConnectionProvider + Set(ByVal Value As clsConnectionProvider) + If Value Is Nothing Then + ' // Invalid value + Throw New ArgumentNullException("cpMainConnectionProvider", "Nothing passed as value to this property which is not allowed.") + End If + + ' // A connection provider object is passed to this class. + ' // Retrieve the SqlConnection object, if present and create a + ' // reference to it. If there is already a MainConnection object + ' // referenced by the membervar, destroy that one or simply + ' // remove the reference, based on the flag. + If Not (m_scoMainConnection Is Nothing) Then + ' // First get rid of current connection object. Caller is responsible + If m_bMainConnectionIsCreatedLocal Then + ' // Is local created object, close it and dispose it. + m_scoMainConnection.Close() + m_scoMainConnection.Dispose() + End If + ' // Remove reference. + m_scoMainConnection = Nothing + End If + m_cpMainConnectionProvider = CType(Value, clsConnectionProvider) + m_scoMainConnection = m_cpMainConnectionProvider.scoDBConnection + m_bMainConnectionIsCreatedLocal = False + End Set + End Property + + + Public ReadOnly Property iErrorCode() As SqlInt32 + Get + Return m_iErrorCode + End Get + End Property + + + Public Property sConnectionString() As String + Get + Return m_sConnectionString + End Get + Set (ByVal Value As String) + m_sConnectionString = Value + m_scoMainConnection.ConnectionString = m_sConnectionString + End Set + End Property + Public Readonly Property iRowsAffected() As Integer + Get + Return m_iRowsAffected + End Get + End Property + +#End Region + + End Class +End Namespace diff --git a/ThemaPerson/DB/clsFunktion.vb b/ThemaPerson/DB/clsFunktion.vb new file mode 100644 index 0000000..6fc73fa --- /dev/null +++ b/ThemaPerson/DB/clsFunktion.vb @@ -0,0 +1,470 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'Funktion' +' // Generated by LLBLGen v1.21.2003.712 Final on: Montag, 28. Januar 2013, 19:03:29 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + ''' + ''' Purpose: Data Access class for the table 'Funktion'. + ''' + Public Class clsFunktion + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daMutiert_am, m_daErstellt_am As SqlDateTime + Private m_iMutierer, m_iFunktionNr As SqlInt32 + Private m_sBezeichnung, m_sBeschreibung As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iFunktionNr
  • + '''
  • sBezeichnung. May be SqlString.Null
  • + '''
  • sBeschreibung. May be SqlString.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Funktion_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iFunktionNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iFunktionNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBezeichnung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bAktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daErstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daMutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iMutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Funktion_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsFunktion::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iFunktionNr
  • + '''
  • sBezeichnung. May be SqlString.Null
  • + '''
  • sBeschreibung. May be SqlString.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Funktion_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iFunktionNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iFunktionNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBezeichnung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bAktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daErstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daMutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iMutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Funktion_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsFunktion::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iFunktionNr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Funktion_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iFunktionNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iFunktionNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Funktion_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsFunktion::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iFunktionNr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iFunktionNr
  • + '''
  • sBezeichnung
  • + '''
  • sBeschreibung
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Funktion_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("Funktion") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iFunktionNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iFunktionNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Funktion_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iFunktionNr = New SqlInt32(CType(dtToReturn.Rows(0)("FunktionNr"), Integer)) + If dtToReturn.Rows(0)("Bezeichnung") Is System.DBNull.Value Then + m_sBezeichnung = SqlString.Null + Else + m_sBezeichnung = New SqlString(CType(dtToReturn.Rows(0)("Bezeichnung"), String)) + End If + If dtToReturn.Rows(0)("Beschreibung") Is System.DBNull.Value Then + m_sBeschreibung = SqlString.Null + Else + m_sBeschreibung = New SqlString(CType(dtToReturn.Rows(0)("Beschreibung"), String)) + End If + If dtToReturn.Rows(0)("Aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("Aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("Erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("Erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("Mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("Mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("Mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("Mutierer"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsFunktion::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Funktion_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("Funktion") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Funktion_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsFunktion::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iFunktionNr]() As SqlInt32 + Get + Return m_iFunktionNr + End Get + Set(ByVal Value As SqlInt32) + Dim iFunktionNrTmp As SqlInt32 = Value + If iFunktionNrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iFunktionNr", "iFunktionNr can't be NULL") + End If + m_iFunktionNr = Value + End Set + End Property + + + Public Property [sBezeichnung]() As SqlString + Get + Return m_sBezeichnung + End Get + Set(ByVal Value As SqlString) + m_sBezeichnung = Value + End Set + End Property + + + Public Property [sBeschreibung]() As SqlString + Get + Return m_sBeschreibung + End Get + Set(ByVal Value As SqlString) + m_sBeschreibung = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/ThemaPerson/DB/clsKey_tabelle.vb b/ThemaPerson/DB/clsKey_tabelle.vb new file mode 100644 index 0000000..4105a0a --- /dev/null +++ b/ThemaPerson/DB/clsKey_tabelle.vb @@ -0,0 +1,491 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'key_tabelle' +' // Generated by LLBLGen v1.21.2003.712 Final on: Freitag, 4. Januar 2013, 17:02:51 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + ''' + ''' Purpose: Data Access class for the table 'key_tabelle'. + ''' + Public Class clsKey_tabelle + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daErstellt_am, m_daMutiert_am As SqlDateTime + Private m_iMutierer, m_iKeynr, m_iKey_wert, m_iMandantnr As SqlInt32 + Private m_sBeschreibung As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • sBeschreibung
  • + '''
  • iKey_wert
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iKeynr
  • + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_key_tabelle_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@sbeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@ikey_wert", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKey_wert)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@ikeynr", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iKeynr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iKeynr = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@ikeynr").Value, Integer)) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_key_tabelle_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKey_tabelle::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iKeynr
  • + '''
  • sBeschreibung
  • + '''
  • iKey_wert
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_key_tabelle_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@ikeynr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKeynr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sbeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@ikey_wert", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKey_wert)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_key_tabelle_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKey_tabelle::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iKeynr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_key_tabelle_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@ikeynr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKeynr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_key_tabelle_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKey_tabelle::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iKeynr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iKeynr
  • + '''
  • sBeschreibung
  • + '''
  • iKey_wert
  • + '''
  • iMandantnr
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_key_tabelle_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("key_tabelle") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@ikeynr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKeynr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_key_tabelle_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iKeynr = New SqlInt32(CType(dtToReturn.Rows(0)("keynr"), Integer)) + m_sBeschreibung = New SqlString(CType(dtToReturn.Rows(0)("beschreibung"), String)) + m_iKey_wert = New SqlInt32(CType(dtToReturn.Rows(0)("key_wert"), Integer)) + If dtToReturn.Rows(0)("mandantnr") Is System.DBNull.Value Then + m_iMandantnr = SqlInt32.Null + Else + m_iMandantnr = New SqlInt32(CType(dtToReturn.Rows(0)("mandantnr"), Integer)) + End If + If dtToReturn.Rows(0)("aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKey_tabelle::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_key_tabelle_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("key_tabelle") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_key_tabelle_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKey_tabelle::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iKeynr]() As SqlInt32 + Get + Return m_iKeynr + End Get + Set(ByVal Value As SqlInt32) + Dim iKeynrTmp As SqlInt32 = Value + If iKeynrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iKeynr", "iKeynr can't be NULL") + End If + m_iKeynr = Value + End Set + End Property + + + Public Property [sBeschreibung]() As SqlString + Get + Return m_sBeschreibung + End Get + Set(ByVal Value As SqlString) + Dim sBeschreibungTmp As SqlString = Value + If sBeschreibungTmp.IsNull Then + Throw New ArgumentOutOfRangeException("sBeschreibung", "sBeschreibung can't be NULL") + End If + m_sBeschreibung = Value + End Set + End Property + + + Public Property [iKey_wert]() As SqlInt32 + Get + Return m_iKey_wert + End Get + Set(ByVal Value As SqlInt32) + Dim iKey_wertTmp As SqlInt32 = Value + If iKey_wertTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iKey_wert", "iKey_wert can't be NULL") + End If + m_iKey_wert = Value + End Set + End Property + + + Public Property [iMandantnr]() As SqlInt32 + Get + Return m_iMandantnr + End Get + Set(ByVal Value As SqlInt32) + m_iMandantnr = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/ThemaPerson/DB/clsMyKey_Tabelle.vb b/ThemaPerson/DB/clsMyKey_Tabelle.vb new file mode 100644 index 0000000..b6c51fb --- /dev/null +++ b/ThemaPerson/DB/clsMyKey_Tabelle.vb @@ -0,0 +1,61 @@ +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient +Namespace DB + Public Class clsMyKey_Tabelle + Inherits db.clsKey_tabelle + + Public Function get_dbkey(ByVal Tablename As String) As Long + Dim m_dbkey As Long + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[sp_get_dbkey]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@Tablename", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, Tablename)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@dbkey", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_dbkey)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + Try + scmCmdToExecute.Connection.Open() + Catch ex As Exception + Finally + End Try + + scmCmdToExecute.ExecuteNonQuery() + m_dbkey = scmCmdToExecute.Parameters.Item("@dbkey").Value + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + scmCmdToExecute.Connection.Close() + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'sp_get_dbkey' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return m_dbkey + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKey_tabelle::get_dbkey::Error occured." + ex.Message, ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + End Class +End Namespace diff --git a/ThemaPerson/DB/clsPerson.vb b/ThemaPerson/DB/clsPerson.vb new file mode 100644 index 0000000..7cbaa4e --- /dev/null +++ b/ThemaPerson/DB/clsPerson.vb @@ -0,0 +1,670 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'Person' +' // Generated by LLBLGen v1.21.2003.712 Final on: Montag, 28. Januar 2013, 19:03:29 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + ''' + ''' Purpose: Data Access class for the table 'Person'. + ''' + Public Class clsPerson + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daErstellt_am, m_daMutiert_am As SqlDateTime + Private m_iMutierer, m_iPersonNr As SqlInt32 + Private m_sBemerkung, m_sInternet, m_sName, m_sTelefon, m_sFirma, m_sEMail, m_sPlz, m_sPostfach, m_sStrasse, m_sTelefax, m_sVorname, m_sOrt As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iPersonNr
  • + '''
  • sFirma. May be SqlString.Null
  • + '''
  • sName. May be SqlString.Null
  • + '''
  • sVorname. May be SqlString.Null
  • + '''
  • sStrasse. May be SqlString.Null
  • + '''
  • sPostfach. May be SqlString.Null
  • + '''
  • sPlz. May be SqlString.Null
  • + '''
  • sOrt. May be SqlString.Null
  • + '''
  • sTelefon. May be SqlString.Null
  • + '''
  • sTelefax. May be SqlString.Null
  • + '''
  • sEMail. May be SqlString.Null
  • + '''
  • sInternet. May be SqlString.Null
  • + '''
  • sBemerkung. May be SqlString.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Person_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iPersonNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iPersonNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sFirma", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sFirma)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sName", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sName)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sVorname", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sVorname)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sStrasse", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sStrasse)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sPostfach", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sPostfach)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sPlz", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sPlz)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sOrt", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sOrt)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sTelefon", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTelefon)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sTelefax", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTelefax)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sEMail", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sEMail)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sInternet", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sInternet)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBemerkung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBemerkung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bAktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daErstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daMutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iMutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Person_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsPerson::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iPersonNr
  • + '''
  • sFirma. May be SqlString.Null
  • + '''
  • sName. May be SqlString.Null
  • + '''
  • sVorname. May be SqlString.Null
  • + '''
  • sStrasse. May be SqlString.Null
  • + '''
  • sPostfach. May be SqlString.Null
  • + '''
  • sPlz. May be SqlString.Null
  • + '''
  • sOrt. May be SqlString.Null
  • + '''
  • sTelefon. May be SqlString.Null
  • + '''
  • sTelefax. May be SqlString.Null
  • + '''
  • sEMail. May be SqlString.Null
  • + '''
  • sInternet. May be SqlString.Null
  • + '''
  • sBemerkung. May be SqlString.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Person_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iPersonNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iPersonNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sFirma", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sFirma)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sName", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sName)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sVorname", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sVorname)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sStrasse", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sStrasse)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sPostfach", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sPostfach)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sPlz", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sPlz)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sOrt", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sOrt)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sTelefon", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTelefon)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sTelefax", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTelefax)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sEMail", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sEMail)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sInternet", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sInternet)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBemerkung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBemerkung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bAktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daErstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daMutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iMutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Person_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsPerson::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iPersonNr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Person_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iPersonNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iPersonNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Person_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsPerson::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iPersonNr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iPersonNr
  • + '''
  • sFirma
  • + '''
  • sName
  • + '''
  • sVorname
  • + '''
  • sStrasse
  • + '''
  • sPostfach
  • + '''
  • sPlz
  • + '''
  • sOrt
  • + '''
  • sTelefon
  • + '''
  • sTelefax
  • + '''
  • sEMail
  • + '''
  • sInternet
  • + '''
  • sBemerkung
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Person_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("Person") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iPersonNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iPersonNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Person_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iPersonNr = New SqlInt32(CType(dtToReturn.Rows(0)("PersonNr"), Integer)) + If dtToReturn.Rows(0)("Firma") Is System.DBNull.Value Then + m_sFirma = SqlString.Null + Else + m_sFirma = New SqlString(CType(dtToReturn.Rows(0)("Firma"), String)) + End If + If dtToReturn.Rows(0)("Name") Is System.DBNull.Value Then + m_sName = SqlString.Null + Else + m_sName = New SqlString(CType(dtToReturn.Rows(0)("Name"), String)) + End If + If dtToReturn.Rows(0)("Vorname") Is System.DBNull.Value Then + m_sVorname = SqlString.Null + Else + m_sVorname = New SqlString(CType(dtToReturn.Rows(0)("Vorname"), String)) + End If + If dtToReturn.Rows(0)("Strasse") Is System.DBNull.Value Then + m_sStrasse = SqlString.Null + Else + m_sStrasse = New SqlString(CType(dtToReturn.Rows(0)("Strasse"), String)) + End If + If dtToReturn.Rows(0)("Postfach") Is System.DBNull.Value Then + m_sPostfach = SqlString.Null + Else + m_sPostfach = New SqlString(CType(dtToReturn.Rows(0)("Postfach"), String)) + End If + If dtToReturn.Rows(0)("Plz") Is System.DBNull.Value Then + m_sPlz = SqlString.Null + Else + m_sPlz = New SqlString(CType(dtToReturn.Rows(0)("Plz"), String)) + End If + If dtToReturn.Rows(0)("Ort") Is System.DBNull.Value Then + m_sOrt = SqlString.Null + Else + m_sOrt = New SqlString(CType(dtToReturn.Rows(0)("Ort"), String)) + End If + If dtToReturn.Rows(0)("Telefon") Is System.DBNull.Value Then + m_sTelefon = SqlString.Null + Else + m_sTelefon = New SqlString(CType(dtToReturn.Rows(0)("Telefon"), String)) + End If + If dtToReturn.Rows(0)("Telefax") Is System.DBNull.Value Then + m_sTelefax = SqlString.Null + Else + m_sTelefax = New SqlString(CType(dtToReturn.Rows(0)("Telefax"), String)) + End If + If dtToReturn.Rows(0)("EMail") Is System.DBNull.Value Then + m_sEMail = SqlString.Null + Else + m_sEMail = New SqlString(CType(dtToReturn.Rows(0)("EMail"), String)) + End If + If dtToReturn.Rows(0)("Internet") Is System.DBNull.Value Then + m_sInternet = SqlString.Null + Else + m_sInternet = New SqlString(CType(dtToReturn.Rows(0)("Internet"), String)) + End If + If dtToReturn.Rows(0)("Bemerkung") Is System.DBNull.Value Then + m_sBemerkung = SqlString.Null + Else + m_sBemerkung = New SqlString(CType(dtToReturn.Rows(0)("Bemerkung"), String)) + End If + If dtToReturn.Rows(0)("Aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("Aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("Erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("Erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("Mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("Mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("Mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("Mutierer"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsPerson::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Person_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("Person") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Person_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsPerson::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iPersonNr]() As SqlInt32 + Get + Return m_iPersonNr + End Get + Set(ByVal Value As SqlInt32) + Dim iPersonNrTmp As SqlInt32 = Value + If iPersonNrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iPersonNr", "iPersonNr can't be NULL") + End If + m_iPersonNr = Value + End Set + End Property + + + Public Property [sFirma]() As SqlString + Get + Return m_sFirma + End Get + Set(ByVal Value As SqlString) + m_sFirma = Value + End Set + End Property + + + Public Property [sName]() As SqlString + Get + Return m_sName + End Get + Set(ByVal Value As SqlString) + m_sName = Value + End Set + End Property + + + Public Property [sVorname]() As SqlString + Get + Return m_sVorname + End Get + Set(ByVal Value As SqlString) + m_sVorname = Value + End Set + End Property + + + Public Property [sStrasse]() As SqlString + Get + Return m_sStrasse + End Get + Set(ByVal Value As SqlString) + m_sStrasse = Value + End Set + End Property + + + Public Property [sPostfach]() As SqlString + Get + Return m_sPostfach + End Get + Set(ByVal Value As SqlString) + m_sPostfach = Value + End Set + End Property + + + Public Property [sPlz]() As SqlString + Get + Return m_sPlz + End Get + Set(ByVal Value As SqlString) + m_sPlz = Value + End Set + End Property + + + Public Property [sOrt]() As SqlString + Get + Return m_sOrt + End Get + Set(ByVal Value As SqlString) + m_sOrt = Value + End Set + End Property + + + Public Property [sTelefon]() As SqlString + Get + Return m_sTelefon + End Get + Set(ByVal Value As SqlString) + m_sTelefon = Value + End Set + End Property + + + Public Property [sTelefax]() As SqlString + Get + Return m_sTelefax + End Get + Set(ByVal Value As SqlString) + m_sTelefax = Value + End Set + End Property + + + Public Property [sEMail]() As SqlString + Get + Return m_sEMail + End Get + Set(ByVal Value As SqlString) + m_sEMail = Value + End Set + End Property + + + Public Property [sInternet]() As SqlString + Get + Return m_sInternet + End Get + Set(ByVal Value As SqlString) + m_sInternet = Value + End Set + End Property + + + Public Property [sBemerkung]() As SqlString + Get + Return m_sBemerkung + End Get + Set(ByVal Value As SqlString) + m_sBemerkung = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/ThemaPerson/DB/clsThemaPerson.vb b/ThemaPerson/DB/clsThemaPerson.vb new file mode 100644 index 0000000..56d7b30 --- /dev/null +++ b/ThemaPerson/DB/clsThemaPerson.vb @@ -0,0 +1,510 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'ThemaPerson' +' // Generated by LLBLGen v1.21.2003.712 Final on: Dienstag, 29. Januar 2013, 10:25:42 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + ''' + ''' Purpose: Data Access class for the table 'ThemaPerson'. + ''' + Public Class clsThemaPerson + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daErstellt_am, m_daMutiert_am As SqlDateTime + Private m_iMutierer, m_iThemaNr, m_iThemaPersonNr, m_iFunktionNr, m_iPersonNr As SqlInt32 + Private m_sBemerkung As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iThemaPersonNr
  • + '''
  • iThemaNr. May be SqlInt32.Null
  • + '''
  • iPersonNr. May be SqlInt32.Null
  • + '''
  • iFunktionNr. May be SqlInt32.Null
  • + '''
  • sBemerkung. May be SqlString.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_ThemaPerson_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iThemaPersonNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iThemaPersonNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iThemaNr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iThemaNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iPersonNr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iPersonNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iFunktionNr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iFunktionNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBemerkung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBemerkung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bAktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daErstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daMutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iMutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_ThemaPerson_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsThemaPerson::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iThemaPersonNr
  • + '''
  • iThemaNr. May be SqlInt32.Null
  • + '''
  • iPersonNr. May be SqlInt32.Null
  • + '''
  • iFunktionNr. May be SqlInt32.Null
  • + '''
  • sBemerkung. May be SqlString.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_ThemaPerson_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iThemaPersonNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iThemaPersonNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iThemaNr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iThemaNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iPersonNr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iPersonNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iFunktionNr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iFunktionNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBemerkung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBemerkung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bAktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daErstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daMutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iMutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_ThemaPerson_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsThemaPerson::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iThemaPersonNr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_ThemaPerson_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iThemaPersonNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iThemaPersonNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_ThemaPerson_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsThemaPerson::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iThemaPersonNr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iThemaPersonNr
  • + '''
  • iThemaNr
  • + '''
  • iPersonNr
  • + '''
  • iFunktionNr
  • + '''
  • sBemerkung
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_ThemaPerson_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("ThemaPerson") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iThemaPersonNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iThemaPersonNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_ThemaPerson_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iThemaPersonNr = New SqlInt32(CType(dtToReturn.Rows(0)("ThemaPersonNr"), Integer)) + If dtToReturn.Rows(0)("ThemaNr") Is System.DBNull.Value Then + m_iThemaNr = SqlInt32.Null + Else + m_iThemaNr = New SqlInt32(CType(dtToReturn.Rows(0)("ThemaNr"), Integer)) + End If + If dtToReturn.Rows(0)("PersonNr") Is System.DBNull.Value Then + m_iPersonNr = SqlInt32.Null + Else + m_iPersonNr = New SqlInt32(CType(dtToReturn.Rows(0)("PersonNr"), Integer)) + End If + If dtToReturn.Rows(0)("FunktionNr") Is System.DBNull.Value Then + m_iFunktionNr = SqlInt32.Null + Else + m_iFunktionNr = New SqlInt32(CType(dtToReturn.Rows(0)("FunktionNr"), Integer)) + End If + If dtToReturn.Rows(0)("Bemerkung") Is System.DBNull.Value Then + m_sBemerkung = SqlString.Null + Else + m_sBemerkung = New SqlString(CType(dtToReturn.Rows(0)("Bemerkung"), String)) + End If + If dtToReturn.Rows(0)("Aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("Aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("Erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("Erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("Mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("Mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("Mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("Mutierer"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsThemaPerson::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_ThemaPerson_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("ThemaPerson") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_ThemaPerson_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsThemaPerson::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iThemaPersonNr]() As SqlInt32 + Get + Return m_iThemaPersonNr + End Get + Set(ByVal Value As SqlInt32) + Dim iThemaPersonNrTmp As SqlInt32 = Value + If iThemaPersonNrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iThemaPersonNr", "iThemaPersonNr can't be NULL") + End If + m_iThemaPersonNr = Value + End Set + End Property + + + Public Property [iThemaNr]() As SqlInt32 + Get + Return m_iThemaNr + End Get + Set(ByVal Value As SqlInt32) + m_iThemaNr = Value + End Set + End Property + + + Public Property [iPersonNr]() As SqlInt32 + Get + Return m_iPersonNr + End Get + Set(ByVal Value As SqlInt32) + m_iPersonNr = Value + End Set + End Property + + + Public Property [iFunktionNr]() As SqlInt32 + Get + Return m_iFunktionNr + End Get + Set(ByVal Value As SqlInt32) + m_iFunktionNr = Value + End Set + End Property + + + Public Property [sBemerkung]() As SqlString + Get + Return m_sBemerkung + End Get + Set(ByVal Value As SqlString) + m_sBemerkung = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/ThemaPerson/Klassen/Globals.vb b/ThemaPerson/Klassen/Globals.vb new file mode 100644 index 0000000..010bb2e --- /dev/null +++ b/ThemaPerson/Klassen/Globals.vb @@ -0,0 +1,8 @@ +Module Globals + Public Spaltendaten As New DataTable + Public sConnectionString As String + Public conn As New DB.clsConnectionProvider + Public ConnectionFileName As String = "" + Public Mitarbeiternr As Integer + Public TmpFilepath As String +End Module diff --git a/ThemaPerson/Klassen/MySpalten.vb b/ThemaPerson/Klassen/MySpalten.vb new file mode 100644 index 0000000..4ca16cd --- /dev/null +++ b/ThemaPerson/Klassen/MySpalten.vb @@ -0,0 +1,432 @@ +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient +'* +' Object MyspaltenTitel +' +' Dieses Objekt liest die Daten aus der Tabelle Spalten und speichert diese in spaltendaten +' Die Daten werden fr die Spaltenbezeichnung der C1Datagrids verwendet +' +' Autor: Stefan Hutter +' Datum: 2.12.2002 +'* +Imports C1.Win.C1TrueDBGrid +Namespace Utils + + Public Class Tabellenspalte + Private m_table As String + Private m_field As String + Private m_spaltenname As String + Private m_locked As Boolean + Private m_Width As Integer + Private m_Order As Integer + Private m_alsHacken As Boolean + Private m_tiptext As String + Private m_numberformat As String + + Property ColWith() As Integer + Get + Return m_Width + End Get + Set(ByVal Value As Integer) + m_Width = Value + End Set + End Property + Property Order() As Integer + Get + Return m_Order + End Get + Set(ByVal Value As Integer) + m_Order = Value + End Set + End Property + Property Tabelle() As String + Get + Return m_table + End Get + Set(ByVal Value As String) + m_table = Value + End Set + End Property + Property Feld() As String + Get + Return m_field + End Get + Set(ByVal Value As String) + m_field = Value + End Set + End Property + Property spaltenname() As String + Get + Return m_spaltenname + End Get + Set(ByVal Value As String) + m_spaltenname = Value + End Set + End Property + Property locked() As Boolean + Get + Return m_locked + End Get + Set(ByVal Value As Boolean) + m_locked = Value + End Set + End Property + Property AlsHacken() As Boolean + Get + Return m_alsHacken + End Get + Set(ByVal Value As Boolean) + m_alsHacken = Value + End Set + End Property + Property TipText() As String + Get + Return m_tiptext + End Get + Set(ByVal Value As String) + m_tiptext = Value + End Set + End Property + Property Numberformat() As String + Get + Return m_numberformat + End Get + Set(ByVal value As String) + m_numberformat = value + End Set + End Property + Public Sub New() + + End Sub + Public Sub New(ByRef daten As Object, ByRef tablename As String, ByRef ds As DataSet) + Spaltentitel_aktualisieren(daten, tablename, ds) + End Sub + Public Function getspalte() + Try + Dim myspalten As New MySpaltenTitel() + myspalten.getspalte(Me.Tabelle, Me.Feld, Me.spaltenname, Me.locked, Me.ColWith, Me.Order, Me.AlsHacken, Me.TipText, Me.Numberformat) + Catch ex As Exception + MsgBox(ex.Message) + + End Try + End Function + + Public Function Spaltentitel_aktualisieren(ByRef daten As Object, ByRef tablename As String, ByRef ds As DataSet) + Dim anzcols As Integer + Dim i As Integer + Dim s As String + anzcols = daten.Splits(0).DisplayColumns.Count + Me.Tabelle = tablename + For i = 0 To daten.Columns.Count - 1 + s = daten.Columns(i).DataField + Me.Feld = s + Me.getspalte() + daten.Columns(i).Caption = Me.spaltenname + + If Me.ColWith = 0 Then + daten.Splits(0).DisplayColumns(i).Width = 0 + daten.Splits(0).DisplayColumns(i).Visible = False + Else + daten.Splits(0).DisplayColumns(i).Width = Me.ColWith + End If + + If Me.locked Then + daten.Splits(0).DisplayColumns(i).Locked = True + End If + + If Me.AlsHacken Then + daten.Columns(i).ValueItems.Presentation = C1.Win.C1TrueDBGrid.PresentationEnum.CheckBox + End If + + 'Prsentation von aktiv + If LCase(daten.Columns(i).DataField) = "aktiv" Then + daten.Columns(i).ValueItems.Presentation = C1.Win.C1TrueDBGrid.PresentationEnum.CheckBox + daten.Columns(i).ValueItems.DefaultItem = True + daten.Columns(i).DefaultValue = True + daten.Columns(i).FilterText = True + 'Dim items As C1.Win.C1TrueDBGrid.ValueItems = daten.Columns("aktiv").ValueItems + 'items.Values.Clear() + 'items.Values.Add(New C1.Win.C1TrueDBGrid.ValueItem("False", False)) ' unchecked + 'items.Values.Add(New C1.Win.C1TrueDBGrid.ValueItem("True", True)) ' checked + 'items.Values.Add(New C1.Win.C1TrueDBGrid.ValueItem("", "INDETERMINATE")) ' indeterminate state + + + End If + Select Case LCase(daten.Columns(i).DataField) + Case "erstellt_am", "erstelltam" + daten.Columns(i).DefaultValue = Now + End Select + If daten.Columns(i).DataType.Name = "DateTime" Then + daten.Columns(i).NumberFormat = "dd.MM.yyyy HH:mm:ss" + End If + If Me.Numberformat <> "" Then + daten.columns(i).numberformat = Me.Numberformat + End If + Next + ColumnOrder(tablename, daten) + daten.HeadingStyle.WrapText = False + End Function + + Public Function Spaltentitel_aktualisieren(ByRef daten As Object, ByRef tablename As String, ByRef dt As DataTable, Optional ByVal Aktiv_Spalte_True_Setzen As Boolean = True) + Dim anzcols As Integer + Dim i As Integer + Dim t As New DataTable() + Dim s As String + anzcols = daten.Splits(0).DisplayColumns.Count + t = dt + Me.Tabelle = tablename + For i = 0 To daten.Columns.Count - 1 + s = daten.Columns(i).DataField + 'If s = "ApplikationNr" Then + ' MsgBox("Hallo") + + 'End If + Me.Feld = s + Me.getspalte() + daten.Columns(i).Caption = Me.spaltenname + + If Me.ColWith = 0 Then + daten.Splits(0).DisplayColumns(i).Width = 0 + daten.Splits(0).DisplayColumns(i).Visible = False + Else + daten.Splits(0).DisplayColumns(i).Width = Me.ColWith + End If + + If Me.locked Then + daten.Splits(0).DisplayColumns(i).Locked = True + End If + + If Me.AlsHacken Then + daten.Columns(i).ValueItems.Presentation = C1.Win.C1TrueDBGrid.PresentationEnum.CheckBox + End If + + 'Prsentation von aktiv + If LCase(daten.Columns(i).DataField) = "aktiv" And Aktiv_Spalte_True_Setzen = True Then + daten.Columns(i).ValueItems.Presentation = C1.Win.C1TrueDBGrid.PresentationEnum.CheckBox + daten.Columns(i).ValueItems.DefaultItem = True + daten.Columns(i).DefaultValue = True + daten.Columns(i).FilterText = True + End If + Select Case LCase(daten.Columns(i).DataField) + Case "erstellt_am", "erstelltam" + daten.Columns(i).DefaultValue = Now + End Select + If daten.Columns(i).DataType.Name = "DateTime" Then + daten.Columns(i).NumberFormat = "dd.MM.yyyy HH:mm:ss" + End If + If Me.Numberformat <> "" Then + daten.columns(i).numberformat = Me.Numberformat + End If + Next + ColumnOrder(tablename, daten) + daten.HeadingStyle.WrapText = False + End Function + + Public Function Spaltentitel_aktualisieren_Optionaler_Aktiv_Filer(ByRef daten As Object, ByRef tablename As String, ByRef dt As DataTable, Optional ByVal Aktiv_Filter As String = "") + Dim anzcols As Integer + Dim i As Integer + Dim t As New DataTable() + Dim s As String + anzcols = daten.Splits(0).DisplayColumns.Count + t = dt + Me.Tabelle = tablename + For i = 0 To daten.Columns.Count - 1 + s = daten.Columns(i).DataField + + Me.Feld = s + Me.getspalte() + If Me.spaltenname = "" Then + daten.Splits(0).DisplayColumns(i).Width = 0 + Else + daten.Columns(i).Caption = Me.spaltenname + + If Me.ColWith = 0 Then + daten.Splits(0).DisplayColumns(i).Width = 0 + daten.Splits(0).DisplayColumns(i).Visible = False + Else + daten.Splits(0).DisplayColumns(i).Width = Me.ColWith + End If + + If Me.locked Then + daten.Splits(0).DisplayColumns(i).Locked = True + End If + + If Me.AlsHacken Then + daten.Columns(i).ValueItems.Presentation = C1.Win.C1TrueDBGrid.PresentationEnum.CheckBox + End If + + 'Prsentation von aktiv + If LCase(daten.Columns(i).DataField) = "aktiv" And Aktiv_Filter <> "" Then + daten.Columns(i).ValueItems.Presentation = C1.Win.C1TrueDBGrid.PresentationEnum.CheckBox + daten.Columns(i).ValueItems.DefaultItem = True + daten.Columns(i).DefaultValue = True + daten.Columns(i).FilterText = Aktiv_Filter + End If + Select Case LCase(daten.Columns(i).DataField) + Case "erstellt_am", "erstelltam" + daten.Columns(i).DefaultValue = Now + End Select + If daten.Columns(i).DataType.Name = "DateTime" Then + daten.Columns(i).NumberFormat = "dd.MM.yyyy HH:mm:ss" + End If + If Me.Numberformat <> "" Then + daten.columns(i).numberformat = Me.Numberformat + End If + End If + Next + ColumnOrder(tablename, daten) + daten.HeadingStyle.WrapText = False + End Function + ''' + ''' Sortierung der in der DB-Tabelle Spalaten festgelegten Reihenfolge + ''' + ''' + ''' + ''' + ''' + Public Function ColumnOrder(ByVal Tablename As String, ByRef Data As C1TrueDBGrid) + Dim spaltendata As DataTable = Globals.Spaltendaten + Dim dv() As DataRow + Dim dr As DataRow + Dim dc As New Collection + dv = spaltendata.Select("Tabelle='" & Tablename & "'", "Reihenfolge desc, Eintragnr") + For Each c As C1DisplayColumn In Data.Splits(0).DisplayColumns + dc.Add(c) + Next + While Data.Splits(0).DisplayColumns.Count > 0 + Data.Splits(0).DisplayColumns.RemoveAt(0) + End While + + For Each dr In dv + For Each e As C1DisplayColumn In dc + If e.Name = dr.Item(3) Then + Data.Splits(0).DisplayColumns.Insert(0, e) + End If + Next + Next + + End Function + End Class + + Public Class MySpaltenTitel + Private spaltendata As DataTable = Globals.Spaltendaten + Sub New() + load_data() + End Sub + + Sub dispose() + spaltendata.Dispose() + Me.dispose() + End Sub + + Public Function getspalte(ByVal tabelle As String, ByVal feld As String, ByRef spaltenname As String, ByRef locked As Boolean, _ + ByRef colwidth As Integer, ByRef order As Integer, ByRef alshacken As Boolean, ByRef tiptext As String, ByRef numberformat As String) + If spaltendata.Rows.Count = 0 Then load_data() + Dim dv() As DataRow + Dim dr As DataRow + dv = spaltendata.Select("Tabelle='" & tabelle & "' and tabellenspalte='" & feld & "'", "Reihenfolge, Eintragnr") + If dv.Length = 0 Then + spaltenname = "" + locked = True + colwidth = 0 + order = 0 + alshacken = False + tiptext = "" + numberformat = "" + End If + For Each dr In dv + spaltenname = dr.Item(3) + locked = dr.Item(4) + colwidth = dr.Item(6) + order = dr.Item(7) + alshacken = dr.Item(5) + tiptext = dr.Item(8) + numberformat = dr.Item(14).ToString + Next + 'Dim i As Integer + 'For i = 0 To spaltendata.Rows.Count - 1 + + ' If UCase(spaltendata.Rows(i).Item(1)) = UCase(tabelle) And UCase(spaltendata.Rows(i).Item(2)) = UCase(feld) Then + ' spaltenname = spaltendata.Rows(i).Item(3) + ' locked = spaltendata.Rows(i).Item(4) + ' colwidth = spaltendata.Rows(i).Item(6) + ' order = spaltendata.Rows(i).Item(7) + ' alshacken = spaltendata.Rows(i).Item(5) + ' tiptext = spaltendata.Rows(i).Item(8) + ' Exit Function + ' End If + 'Next + + End Function + + Public Sub load_data() + If Me.spaltendata.Rows.Count > 0 Then Exit Sub + Dim spalten As New Utils.clsSpalten() + spaltendata.Rows.Clear() + spalten.cpMainConnectionProvider = conn + spaltendata = spalten.Select_All_Aktiv + Globals.Spaltendaten = spaltendata + End Sub + End Class + + Public Class clsSpalten + Inherits DB.clsSpalten + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Public Function Select_All_Aktiv() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_spalten_SelectAll_Aktiv]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = New DataTable("spalten") + Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(0)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_spalten_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSpalten::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + End Class +End Namespace \ No newline at end of file diff --git a/ThemaPerson/Klassen/MySysadmin.vb b/ThemaPerson/Klassen/MySysadmin.vb new file mode 100644 index 0000000..d64addb --- /dev/null +++ b/ThemaPerson/Klassen/MySysadmin.vb @@ -0,0 +1,491 @@ +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace TKB.VV.Sysadmin + + Public Class DomainTable + +#Region "Deklarationen" + + Dim UpdateCommand As New SqlCommand + Dim InsertCommand As New SqlCommand + Dim selectcommand As New SqlCommand + Dim BaseData As New DataSet + Dim connection As New SqlConnection() + Dim da As New SqlDataAdapter("", connection) + + Dim m_tablename As String + Property Tablename() As String + Get + Return m_tablename + End Get + Set(ByVal value As String) + m_tablename = value + End Set + End Property + + Dim m_selectproc As String + Property Select_Proc() As String + Get + Return "pr_" & Tablename & "_selectall" + End Get + Set(ByVal value As String) + m_selectproc = "pr_" & Tablename & "_selectall" + End Set + End Property + Property Update_Proc() As String + Get + Return "pr_" & Tablename & "_Update" + End Get + Set(ByVal value As String) + m_selectproc = "pr_" & Tablename & "_Update" + End Set + End Property + + Property Insert_Proc() As String + Get + Return "pr_" & Tablename & "_Insert" + End Get + Set(ByVal value As String) + m_selectproc = "pr_" & Tablename & "_Update" + End Set + End Property + + Property Select_Proc_Bottomtable() As String + Get + Return "pr_" & Tablename & "_selectall_bottomtable" + End Get + Set(ByVal value As String) + m_selectproc = "pr_" & Tablename & "_selectall_bottomtable" + End Set + End Property + Property Select_Proc_Bottomtable2() As String + Get + Return "pr_" & Tablename & "_selectall_bottomtable2" + End Get + Set(ByVal value As String) + m_selectproc = "pr_" & Tablename & "_selectall_bottomtable2" + End Set + End Property + Property Update_Proc_Bottomtable() As String + Get + Return "pr_" & Tablename & "_Update_bottomtable" + End Get + Set(ByVal value As String) + m_selectproc = "pr_" & Tablename & "_Update_bottomtable" + End Set + End Property + + Property Insert_Proc_Bottomtable() As String + Get + Return "pr_" & Tablename & "_Insert_bottomtable" + End Get + Set(ByVal value As String) + m_selectproc = "pr_" & Tablename & "_Update_bottomtable" + End Set + End Property + + Dim m_Tabledata As New DataSet + Property Tabledata() As DataSet + Get + Return m_Tabledata + End Get + Set(ByVal value As DataSet) + m_Tabledata = value + End Set + End Property + +#End Region + + ''' + ''' Tabellenname bernehmen und Daten ab DB laden + ''' + ''' + ''' + Sub New(ByVal tablename As String, Optional ByVal Fokus As Integer = 0, Optional ByVal Keyvalue As String = "") + Me.Tablename = tablename + If Keyvalue = "" Then + Load_Data() + Else + Load_Bootom_Table(tablename, Fokus, Keyvalue) + End If + End Sub + + Sub New(ByVal tablename As String, ByVal Fokus As Integer, ByVal Keyvalue As String, ByVal mitarbeiternr As Integer) + Me.Tablename = tablename + If Keyvalue = "" Then + Load_Data() + Else + Load_Data_MA_Fokus(tablename, Fokus, Keyvalue, mitarbeiternr) + End If + End Sub + + + Sub New(ByVal tablename As String, ByVal keyvalue As String, ByVal mitarbeiternr As Integer) + Me.Tablename = tablename + Load_Data_MA(tablename, keyvalue, mitarbeiternr) + End Sub + + Sub New(ByVal tablename As String, ByVal Focus As Integer, ByVal keyvalue As String, ByVal mitarbeiternr As Integer, ByVal Key2 As String) + Me.Tablename = tablename + Load_Data_2Key(tablename, keyvalue, mitarbeiternr, Key2) + End Sub + + + Public Sub Load_Data_MA(ByVal tablename As String, ByVal KeyValue As String, ByVal mitarbeiternr As Integer) + Tabledata.Tables.Clear() + Dim sqlcmd As New SqlCommand + sqlcmd.CommandText = Me.Select_Proc_Bottomtable + sqlcmd.Parameters.Add("@iErrorCode", SqlDbType.Int, 4) + sqlcmd.Parameters.Add("@Fokus", SqlDbType.Int, 4) + sqlcmd.Parameters.Add("@KeyValue", SqlDbType.VarChar, 255) + sqlcmd.Parameters.Add("@mitarbeiternr", SqlDbType.VarChar, 255) + sqlcmd.Parameters(0).Value = 0 + sqlcmd.Parameters(1).Value = 0 + sqlcmd.Parameters(2).Value = KeyValue + sqlcmd.Parameters(3).Value = Globals.Mitarbeiternr + + sqlcmd.CommandType = CommandType.StoredProcedure + sqlcmd.Connection = connection + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.SelectCommand = sqlcmd + da.Fill(Tabledata, "Domaintable") + Catch ex As Exception + Finally + connection.Close() + da.Dispose() + sqlcmd.Dispose() + End Try + End Sub + + Public Sub Load_Data_2Key(ByVal tablename As String, ByVal KeyValue As String, ByVal mitarbeiternr As Integer, ByVal KeyValue2 As String) + Tabledata.Tables.Clear() + Dim sqlcmd As New SqlCommand + sqlcmd.CommandText = Me.Select_Proc_Bottomtable2 + sqlcmd.Parameters.Add("@iErrorCode", SqlDbType.Int, 4) + sqlcmd.Parameters.Add("@Fokus", SqlDbType.Int, 4) + sqlcmd.Parameters.Add("@KeyValue", SqlDbType.VarChar, 255) + sqlcmd.Parameters.Add("@KeyValue2", SqlDbType.VarChar, 255) + sqlcmd.Parameters.Add("@mitarbeiternr", SqlDbType.VarChar, 255) + sqlcmd.Parameters(0).Value = 0 + sqlcmd.Parameters(1).Value = 0 + sqlcmd.Parameters(2).Value = KeyValue + sqlcmd.Parameters(3).Value = KeyValue2 + sqlcmd.Parameters(4).Value = Globals.Mitarbeiternr + + sqlcmd.CommandType = CommandType.StoredProcedure + sqlcmd.Connection = connection + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.SelectCommand = sqlcmd + da.Fill(Tabledata, "Domaintable") + Catch ex As Exception + Finally + connection.Close() + da.Dispose() + sqlcmd.Dispose() + End Try + End Sub + + Public Sub Load_Data_MA_Fokus(ByVal tablename As String, ByVal Fokus As Integer, ByVal KeyValue As String, ByVal mitarbeiternr As Integer) + Tabledata.Tables.Clear() + Dim sqlcmd As New SqlCommand + sqlcmd.CommandText = Me.Select_Proc_Bottomtable + sqlcmd.Parameters.Add("@iErrorCode", SqlDbType.Int, 4) + sqlcmd.Parameters.Add("@Fokus", SqlDbType.Int, 4) + sqlcmd.Parameters.Add("@KeyValue", SqlDbType.VarChar, 255) + sqlcmd.Parameters.Add("@mitarbeiternr", SqlDbType.VarChar, 255) + sqlcmd.Parameters(0).Value = 0 + sqlcmd.Parameters(1).Value = Fokus + sqlcmd.Parameters(2).Value = KeyValue + sqlcmd.Parameters(3).Value = Globals.Mitarbeiternr + + sqlcmd.CommandType = CommandType.StoredProcedure + sqlcmd.Connection = connection + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.SelectCommand = sqlcmd + da.Fill(Tabledata, "Domaintable") + Catch ex As Exception + Finally + connection.Close() + da.Dispose() + sqlcmd.Dispose() + End Try + End Sub + + 'Sub New() + 'End Sub + ''' + ''' Daten ab Datenbank laden + ''' + ''' + Public Overridable Sub Load_Data() + Tabledata.Tables.Clear() + + selectcommand.CommandText = Me.Select_Proc + selectcommand.Parameters.Add("@iErrorCode", SqlDbType.Int, 4) + selectcommand.Parameters(0).Value = 0 + + selectcommand.CommandType = CommandType.StoredProcedure + selectcommand.Connection = connection + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.SelectCommand = selectcommand + da.Fill(Tabledata, "Domaintable") + Catch ex As Exception + Finally + connection.Close() + da.Dispose() + selectcommand.Dispose() + End Try + End Sub + ''' + ''' Basis-Datentabelle laden. Diese wird fr die dynamische Generierung der Insert- und Update-Statements bentigt + ''' + ''' + Private Sub Load_BaseData() + BaseData.Tables.Clear() + Dim sqlcmd As New SqlCommand + + sqlcmd.CommandText = Me.Select_Proc + sqlcmd.Parameters.Add("@iErrorCode", SqlDbType.Int, 4) + sqlcmd.Parameters(0).Value = 0 + + sqlcmd.CommandType = CommandType.StoredProcedure + sqlcmd.Connection = connection + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.SelectCommand = sqlcmd + da.Fill(BaseData, "Basedata") + Catch ex As Exception + Finally + connection.Close() + da.Dispose() + sqlcmd.Dispose() + End Try + End Sub + + ''' + ''' Update-Statement dynamisch fr das UpdateCommand generieren + ''' + ''' + Private Sub Generate_Update_Statement() + Dim col As DataColumn + Dim col1 As DataColumn + Dim UseCol As Boolean = False + + UpdateCommand.CommandText = Me.Update_Proc + UpdateCommand.CommandType = System.Data.CommandType.StoredProcedure + UpdateCommand.Connection = connection + + UpdateCommand.Parameters.Clear() + For Each col In Me.Tabledata.Tables(0).Columns + UseCol = False + For Each col1 In Me.BaseData.Tables(0).Columns + If col.ColumnName = col1.ColumnName Then + UseCol = True + Exit For + End If + Next + If UseCol Then UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter(Get_Prefix(col) & col.ColumnName, Get_SqlDBType(col), Get_Data_Fieldlen(col), col.ColumnName)) + Next + UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@iErrorcode", SqlDbType.Int, 4)) + UpdateCommand.Parameters("@iErrorcode").Value = 0 + da.UpdateCommand = UpdateCommand + End Sub + ''' + ''' Insert-Statement dynamisch fr das InsertCommand generieren + ''' + ''' + Private Sub Generate_Insert_Statement() + Dim col As DataColumn + Dim col1 As DataColumn + Dim UseCol As Boolean = False + + InsertCommand.CommandText = Me.Insert_Proc + InsertCommand.CommandType = System.Data.CommandType.StoredProcedure + InsertCommand.Connection = connection + + InsertCommand.Parameters.Clear() + For Each col In Me.Tabledata.Tables(0).Columns + UseCol = False + For Each col1 In Me.BaseData.Tables(0).Columns + If col.ColumnName = col1.ColumnName Then + UseCol = True + Exit For + End If + Next + If UseCol Then InsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter(Get_Prefix(col) & col.ColumnName, Get_SqlDBType(col), Get_Data_Fieldlen(col), col.ColumnName)) + Next + InsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@iErrorcode", SqlDbType.Int, 4)) + InsertCommand.Parameters("@iErrorcode").Value = 0 + da.InsertCommand = InsertCommand + End Sub + ''' + ''' Prefixt fr den SP-bergabeparameter generieren + ''' + ''' Aktuelle Columnt + ''' Prefis fr SP-bergabeparameter + ''' + Private Function Get_Prefix(ByVal col As DataColumn) As String + If col.DataType.Name = "DateTime" Then Return "@da" + If col.DataType.Name = "Double" Then Return "@f" + Return "@" & col.DataType.Name.Substring(0, 1) + End Function + ''' + ''' SQL-DB-Type fr den SP-bergabeparameter festlegen + ''' + ''' Aktuelle Column + ''' SQLDBType + ''' + Private Function Get_SqlDBType(ByVal col As DataColumn) As SqlDbType + If col.DataType.Name = "Integer" Then Return SqlDbType.Int + If col.DataType.Name = "Int32" Then Return SqlDbType.Int + If col.DataType.Name = "String" Then Return SqlDbType.VarChar + If col.DataType.Name = "Boolean" Then Return SqlDbType.Bit + If col.DataType.Name = "DateTime" Then Return SqlDbType.DateTime + If col.DataType.Name = "Double" Then Return SqlDbType.Float + MsgBox(col.DataType.Name) + End Function + + ''' + ''' Feldlnge fr den SP-bergabeparemter festlegen + ''' + ''' Aktulle Column + ''' Feldlnge + ''' + Private Function Get_Data_Fieldlen(ByVal col As DataColumn) As Integer + Return col.MaxLength + End Function + + ''' + ''' Datesichern. Dabei wird das Update- sowie das Insert-Statement dynamisch generiert + ''' + ''' + Public Sub Save_Data() + Load_BaseData() + Generate_Update_Statement() + Generate_Insert_Statement() + Try + da.Update(Me.Tabledata, Me.Tabledata.Tables(0).TableName) + + Catch ex As Exception + MsgBox(ex.Message) + End Try + End Sub + ''' + ''' Dispose von Tabledata + ''' + ''' + Public Sub dispose() + Me.Tabledata.Dispose() + End Sub + +#Region "Verknpfungseditor" + ''' + ''' Load der Verbindungstabelle + ''' + ''' + ''' + ''' + ''' + Public Sub Load_Bootom_Table(ByVal tablename As String, ByVal Fokus As Integer, ByVal KeyValue As String) + Tabledata.Tables.Clear() + Dim sqlcmd As New SqlCommand + sqlcmd.CommandText = Me.Select_Proc_bottomtable + sqlcmd.Parameters.Add("@iErrorCode", SqlDbType.Int, 4) + sqlcmd.Parameters.Add("@Fokus", SqlDbType.Int, 4) + sqlcmd.Parameters.Add("@KeyValue", SqlDbType.VarChar, 255) + sqlcmd.Parameters(0).Value = 0 + sqlcmd.Parameters(1).Value = Fokus + sqlcmd.Parameters(2).Value = KeyValue + + sqlcmd.CommandType = CommandType.StoredProcedure + sqlcmd.Connection = connection + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.SelectCommand = sqlcmd + da.Fill(Tabledata, "Domaintable") + Catch ex As Exception + Finally + connection.Close() + da.Dispose() + sqlcmd.Dispose() + End Try + End Sub + ''' + ''' Neuer Eintrag in der Tabelle eintragen. Sind neben den Defaultwerten weitere Attribute vorhanden, werde diese abhngig vom Datentype mit Defaultwerten befllt. + ''' + ''' + ''' + ''' + ''' + ''' + Public Sub Insert_Bottom_Table(ByVal key1 As String, ByVal keyvalue1 As Integer, ByVal key2 As String, ByVal keyvalue2 As String) + Dim dbkey As New db.clsMyKey_Tabelle + dbkey.cpMainConnectionProvider = Globals.conn + conn.OpenConnection() + Dim newkey As Integer = dbkey.get_dbkey(Me.Tablename) + conn.CloseConnection(True) + dbkey.Dispose() + Dim dr As DataRow + dr = Me.Tabledata.Tables(0).NewRow + dr.Item(0) = newkey + Dim i As Integer + For i = 1 To Me.Tabledata.Tables(0).Columns.Count - 1 + Select Case UCase(Me.Tabledata.Tables(0).Columns(i).ColumnName) + Case "AKTIV" + dr.Item(i) = 1 + Case "ERSTELLT_AM" + dr.Item(i) = Now + Case "MUTIERT_AM" + dr.Item(i) = Now + Case "MUTIERER" + dr.Item(i) = Globals.Mitarbeiternr + Case "MANDANTNR" + dr.Item(i) = Globals.Mitarbeiternr + Case "MANDANT" + dr.Item(i) = Globals.Mitarbeiternr + Case UCase(key1) + dr.Item(i) = keyvalue1 + Case UCase(key2) + dr.Item(i) = keyvalue2 + Case Else + Select Case Type.GetTypeCode(Me.Tabledata.Tables(0).Columns(i).DataType) + Case TypeCode.DateTime + dr.Item(i) = Now + Case TypeCode.Double + dr.Item(i) = 0 + Case TypeCode.String + dr.Item(i) = "" + Case TypeCode.Int32 + dr.Item(i) = 0 + Case TypeCode.Boolean + dr.Item(i) = True + Case TypeCode.Int16 + dr.Item(i) = 0 + Case TypeCode.Int32 + dr.Item(i) = 0 + Case TypeCode.Int64 + dr.Item(i) = 0 + End Select + End Select + Next + Me.Tabledata.Tables(0).Rows.Add(dr) + End Sub +#End Region + + + End Class + +End Namespace diff --git a/ThemaPerson/Klassen/Person.vb b/ThemaPerson/Klassen/Person.vb new file mode 100644 index 0000000..6aeab68 --- /dev/null +++ b/ThemaPerson/Klassen/Person.vb @@ -0,0 +1,329 @@ +Imports System.Data.SqlClient +Imports System.Data.SqlTypes +Namespace db + Public Class Person + Inherits db.clsPerson + + +#Region "Deklarationen" + Public daten As New DataTable + Public Neuer_Datensatz As Boolean = False + + Dim mMutierer As String + Property MutiererText() As String + Get + Return mMutierer + End Get + Set(ByVal value As String) + mMutierer = value + End Set + End Property +#End Region + + Sub New() + + End Sub + + Public Overloads Sub dispose() + MyBase.Dispose() + Try + Catch + End Try + End Sub + + ''' + ''' Mutierer auslesen + ''' + ''' + ''' + + Public Function Get_Person(ByVal Nr As Integer) + Me.cpMainConnectionProvider = Globals.conn + Me.iPersonNr = New SqlInt32(CType(Nr, Int32)) + Globals.conn.OpenConnection() + Me.daten = Me.SelectOne() + Globals.conn.CloseConnection(True) + Try + Catch ex As Exception + End Try + End Function + + Public Function Save_Data() As Integer + Me.cpMainConnectionProvider = Globals.conn + Me.iMutierer = New SqlInt32(CType(Globals.Mitarbeiternr, Int32)) + Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) + Globals.conn.OpenConnection() + Me.Update() + Globals.conn.CloseConnection(True) + Me.Neuer_Datensatz = False + End Function + + Public Function Create_Copy(Optional ByVal Basenr As Integer = 0) As Integer + If Basenr <> 0 Then + Get_Person(Basenr) + End If + Dim db As New db.clsMyKey_Tabelle + db.cpMainConnectionProvider = Globals.conn + Dim newkey = db.get_dbkey("Person") + db.Dispose() + + Me.cpMainConnectionProvider = Globals.conn + Me.iPersonNr = New SqlInt32(CType(newkey, Int32)) + Me.daErstellt_am = New SqlDateTime(CType(Now, DateTime)) + Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) + Me.iMutierer = New SqlInt32(CType(Globals.Mitarbeiternr, Int32)) + Globals.conn.OpenConnection() + Me.Insert() + Globals.conn.CloseConnection(True) + Me.Neuer_Datensatz = True + Return newkey + End Function + + ''' + ''' Löschen eines Datensatzes erstellen. + ''' + ''' Ursprungs-Person: Ist dieser Wert nicht 0, werden die Daten mit BaseNr zuerst gelesen + ''' + ''' + Public Function Delete_Thema(Optional ByVal Basenr As Integer = 0) As Integer + If Basenr <> 0 Then + Get_Person(Basenr) + End If + Me.cpMainConnectionProvider = Globals.conn + Me.bAktiv = New SqlBoolean(CType(False, Boolean)) + Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) + Me.iMutierer = New SqlInt32(CType(Globals.Mitarbeiternr, Int32)) + Globals.conn.OpenConnection() + Me.Update() + Globals.conn.CloseConnection(True) + Me.Neuer_Datensatz = False + End Function + + Public Overloads Function Delete(Optional ByVal Basenr As Integer = 0) As Integer + If Basenr <> 0 Then + Get_Person(Basenr) + End If + Me.cpMainConnectionProvider = Globals.conn + Globals.conn.OpenConnection() + MyBase.Delete() + Globals.conn.CloseConnection(True) + Me.Neuer_Datensatz = False + End Function + + ''' + ''' Neue Person einfügen + ''' + ''' + ''' + Public Function Add_New() As Integer + Dim db As New db.clsMyKey_Tabelle + db.cpMainConnectionProvider = Globals.conn + Dim newkey = db.get_dbkey("Person") + db.Dispose() + Me.iPersonNr = New SqlInt32(CType(newkey, Int32)) + Me.sName = New SqlString(CType("", String)) + Me.sVorname = New SqlString(CType("", String)) + Me.sFirma = New SqlString(CType("", String)) + Me.sPlz = New SqlString(CType("", String)) + Me.sOrt = New SqlString(CType("", String)) + Me.sPostfach = New SqlString(CType("", String)) + Me.sTelefax = New SqlString(CType("", String)) + Me.sInternet = New SqlString(CType("", String)) + Me.sEMail = New SqlString(CType("", String)) + Me.sTelefon = New SqlString(CType("", String)) + Me.bAktiv = New SqlBoolean(CType(True, Boolean)) + Me.daErstellt_am = New SqlDateTime(CType(Now, DateTime)) + Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) + Me.iMutierer = New SqlInt32(CType(Globals.Mitarbeiternr, Int32)) + Me.cpMainConnectionProvider = Globals.conn + Globals.conn.OpenConnection() + Me.Insert() + Globals.conn.CloseConnection(True) + Me.Neuer_Datensatz = True + Return newkey + End Function + + Public Function Get_Aktive_Personen() As DataTable + Dim Eintragsdaten As New DataTable + Dim connection As New SqlConnection() + Dim da As New SqlDataAdapter("", connection) + Eintragsdaten.Rows.Clear() + Dim sqlcmd As New SqlCommand + sqlcmd.CommandText = "sp_get_Aktive_Personen" + sqlcmd.CommandType = CommandType.StoredProcedure + sqlcmd.Connection = connection + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.SelectCommand = sqlcmd + da.Fill(Eintragsdaten) + Catch ex As Exception + Finally + connection.Close() + da.Dispose() + sqlcmd.Dispose() + End Try + Return Eintragsdaten + End Function + + Public Function Get_Aktive_Funktionen() As DataTable + Dim Eintragsdaten As New DataTable + Dim connection As New SqlConnection() + Dim da As New SqlDataAdapter("", connection) + Eintragsdaten.Rows.Clear() + Dim sqlcmd As New SqlCommand + sqlcmd.CommandText = "sp_get_Aktive_Funktionen" + sqlcmd.CommandType = CommandType.StoredProcedure + sqlcmd.Connection = connection + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.SelectCommand = sqlcmd + da.Fill(Eintragsdaten) + Catch ex As Exception + Finally + connection.Close() + da.Dispose() + sqlcmd.Dispose() + End Try + Return Eintragsdaten + End Function + + End Class + + Public Class ThemaPerson + Inherits DB.clsThemaPerson + + Public daten As New DataTable + Public Neuer_Datensatz As Boolean = False + + + Public Function Get_ThemaPerson(ByVal Nr As Integer) + Me.cpMainConnectionProvider = Globals.conn + Me.iThemaPersonNr = New SqlInt32(CType(Nr, Int32)) + Globals.conn.OpenConnection() + Me.daten = Me.SelectOne() + Globals.conn.CloseConnection(True) + Try + Catch ex As Exception + End Try + End Function + + Public Function Save_Data() As Integer + Me.cpMainConnectionProvider = Globals.conn + Me.iMutierer = New SqlInt32(CType(Globals.Mitarbeiternr, Int32)) + Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) + Globals.conn.OpenConnection() + Me.Update() + Globals.conn.CloseConnection(True) + Me.Neuer_Datensatz = False + End Function + + Public Function Create_Copy(Optional ByVal Basenr As Integer = 0) As Integer + If Basenr <> 0 Then + Get_ThemaPerson(Basenr) + End If + Dim db As New DB.clsMyKey_Tabelle + db.cpMainConnectionProvider = Globals.conn + Dim newkey = db.get_dbkey("ThemaPerson") + db.Dispose() + + Me.cpMainConnectionProvider = Globals.conn + Me.iPersonNr = New SqlInt32(CType(newkey, Int32)) + Me.daErstellt_am = New SqlDateTime(CType(Now, DateTime)) + Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) + Me.iMutierer = New SqlInt32(CType(Globals.Mitarbeiternr, Int32)) + Globals.conn.OpenConnection() + Me.Insert() + Globals.conn.CloseConnection(True) + Me.Neuer_Datensatz = True + Return newkey + End Function + + ''' + ''' Löschen eines Datensatzes erstellen. + ''' + ''' Ursprungs-Person: Ist dieser Wert nicht 0, werden die Daten mit BaseNr zuerst gelesen + ''' + ''' + Public Function Delete_Thema(Optional ByVal Basenr As Integer = 0) As Integer + If Basenr <> 0 Then + Get_ThemaPerson(Basenr) + End If + Me.cpMainConnectionProvider = Globals.conn + Me.bAktiv = New SqlBoolean(CType(False, Boolean)) + Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) + Me.iMutierer = New SqlInt32(CType(Globals.Mitarbeiternr, Int32)) + Globals.conn.OpenConnection() + Me.Update() + Globals.conn.CloseConnection(True) + Me.Neuer_Datensatz = False + End Function + + Public Overloads Function Delete(Optional ByVal Basenr As Integer = 0) As Integer + If Basenr <> 0 Then + Get_ThemaPerson(Basenr) + End If + Me.cpMainConnectionProvider = Globals.conn + Globals.conn.OpenConnection() + MyBase.Delete() + Globals.conn.CloseConnection(True) + Me.Neuer_Datensatz = False + End Function + + ''' + ''' Neue Person einfügen + ''' + ''' + ''' + Public Function Add_New(ThemaNr As Integer, Personnr As Integer, Funktionnr As Integer, bemerkung As String) As Integer + Dim db As New DB.clsMyKey_Tabelle + db.cpMainConnectionProvider = Globals.conn + Dim newkey = db.get_dbkey("ThemaPerson") + db.Dispose() + + Me.iThemaPersonNr = New SqlInt32(CType(newkey, Int32)) + Me.iThemaNr = New SqlInt32(CType(ThemaNr, Int32)) + Me.iPersonNr = New SqlInt32(CType(Personnr, Int32)) + Me.iFunktionNr = New SqlInt32(CType(Funktionnr, Int32)) + Me.sBemerkung = New SqlString(CType(bemerkung, String)) + Me.bAktiv = New SqlBoolean(CType(True, Boolean)) + Me.daErstellt_am = New SqlDateTime(CType(Now, DateTime)) + Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) + Me.iMutierer = New SqlInt32(CType(Globals.Mitarbeiternr, Int32)) + Me.cpMainConnectionProvider = Globals.conn + Globals.conn.OpenConnection() + Me.Insert() + Globals.conn.CloseConnection(True) + Me.Neuer_Datensatz = True + Return newkey + End Function + + Public Function Get_Personen(ByVal ThemaNr As Integer) + Dim Eintragsdaten As New DataTable + Dim connection As New SqlConnection() + Dim da As New SqlDataAdapter("", connection) + Eintragsdaten.Rows.Clear() + Dim sqlcmd As New SqlCommand + sqlcmd.CommandText = "sp_get_Thema_Personen" + sqlcmd.CommandType = CommandType.StoredProcedure + sqlcmd.Connection = connection + sqlcmd.Parameters.Add("@Themanr", SqlDbType.Int, 4) + sqlcmd.Parameters(0).Value = ThemaNr + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.SelectCommand = sqlcmd + da.Fill(Eintragsdaten) + Catch ex As Exception + Finally + connection.Close() + da.Dispose() + sqlcmd.Dispose() + End Try + Return Eintragsdaten + End Function + + End Class + +End Namespace diff --git a/ThemaPerson/Klassen/clsSpalten.vb b/ThemaPerson/Klassen/clsSpalten.vb new file mode 100644 index 0000000..b2c1c8d --- /dev/null +++ b/ThemaPerson/Klassen/clsSpalten.vb @@ -0,0 +1,630 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'spalten' +' // Generated by LLBLGen v1.21.2003.712 Final on: Dienstag, 1. Januar 2013, 13:15:45 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace db + ''' + ''' Purpose: Data Access class for the table 'spalten'. + ''' + Public Class clsSpalten + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bReadonly, m_bAlsHacken, m_bAktiv As SqlBoolean + Private m_daErstellt_am, m_daMutiert_am As SqlDateTime + Private m_iMandantnr, m_iMutierer, m_iReihenfolge, m_iEintragnr, m_iBreite As SqlInt32 + Private m_sTabelle, m_sNumberFormat, m_sTiptext, m_sSpalte, m_sTabellenspalte As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iEintragnr
  • + '''
  • sTabelle. May be SqlString.Null
  • + '''
  • sTabellenspalte. May be SqlString.Null
  • + '''
  • sSpalte. May be SqlString.Null
  • + '''
  • bReadonly
  • + '''
  • bAlsHacken
  • + '''
  • iBreite. May be SqlInt32.Null
  • + '''
  • iReihenfolge. May be SqlInt32.Null
  • + '''
  • sTiptext. May be SqlString.Null
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • sNumberFormat. May be SqlString.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_spalten_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@ieintragnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iEintragnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@stabelle", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTabelle)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@stabellenspalte", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTabellenspalte)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sspalte", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sSpalte)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bReadonly", SqlDbType.Bit, 1, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_bReadonly)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@balsHacken", SqlDbType.Bit, 1, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_bAlsHacken)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iBreite", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iBreite)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iReihenfolge", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iReihenfolge)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@stiptext", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTiptext)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sNumberFormat", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sNumberFormat)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_spalten_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSpalten::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iEintragnr
  • + '''
  • sTabelle. May be SqlString.Null
  • + '''
  • sTabellenspalte. May be SqlString.Null
  • + '''
  • sSpalte. May be SqlString.Null
  • + '''
  • bReadonly
  • + '''
  • bAlsHacken
  • + '''
  • iBreite. May be SqlInt32.Null
  • + '''
  • iReihenfolge. May be SqlInt32.Null
  • + '''
  • sTiptext. May be SqlString.Null
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • sNumberFormat. May be SqlString.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_spalten_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@ieintragnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iEintragnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@stabelle", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTabelle)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@stabellenspalte", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTabellenspalte)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sspalte", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sSpalte)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bReadonly", SqlDbType.Bit, 1, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_bReadonly)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@balsHacken", SqlDbType.Bit, 1, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_bAlsHacken)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iBreite", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iBreite)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iReihenfolge", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iReihenfolge)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@stiptext", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTiptext)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sNumberFormat", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sNumberFormat)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_spalten_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSpalten::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iEintragnr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_spalten_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@ieintragnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iEintragnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_spalten_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSpalten::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iEintragnr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iEintragnr
  • + '''
  • sTabelle
  • + '''
  • sTabellenspalte
  • + '''
  • sSpalte
  • + '''
  • bReadonly
  • + '''
  • bAlsHacken
  • + '''
  • iBreite
  • + '''
  • iReihenfolge
  • + '''
  • sTiptext
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
  • iMandantnr
  • + '''
  • sNumberFormat
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_spalten_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("spalten") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@ieintragnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iEintragnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_spalten_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iEintragnr = New SqlInt32(CType(dtToReturn.Rows(0)("eintragnr"), Integer)) + If dtToReturn.Rows(0)("tabelle") Is System.DBNull.Value Then + m_sTabelle = SqlString.Null + Else + m_sTabelle = New SqlString(CType(dtToReturn.Rows(0)("tabelle"), String)) + End If + If dtToReturn.Rows(0)("tabellenspalte") Is System.DBNull.Value Then + m_sTabellenspalte = SqlString.Null + Else + m_sTabellenspalte = New SqlString(CType(dtToReturn.Rows(0)("tabellenspalte"), String)) + End If + If dtToReturn.Rows(0)("spalte") Is System.DBNull.Value Then + m_sSpalte = SqlString.Null + Else + m_sSpalte = New SqlString(CType(dtToReturn.Rows(0)("spalte"), String)) + End If + m_bReadonly = New SqlBoolean(CType(dtToReturn.Rows(0)("Readonly"), Boolean)) + m_bAlsHacken = New SqlBoolean(CType(dtToReturn.Rows(0)("alsHacken"), Boolean)) + If dtToReturn.Rows(0)("Breite") Is System.DBNull.Value Then + m_iBreite = SqlInt32.Null + Else + m_iBreite = New SqlInt32(CType(dtToReturn.Rows(0)("Breite"), Integer)) + End If + If dtToReturn.Rows(0)("Reihenfolge") Is System.DBNull.Value Then + m_iReihenfolge = SqlInt32.Null + Else + m_iReihenfolge = New SqlInt32(CType(dtToReturn.Rows(0)("Reihenfolge"), Integer)) + End If + If dtToReturn.Rows(0)("tiptext") Is System.DBNull.Value Then + m_sTiptext = SqlString.Null + Else + m_sTiptext = New SqlString(CType(dtToReturn.Rows(0)("tiptext"), String)) + End If + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + If dtToReturn.Rows(0)("mandantnr") Is System.DBNull.Value Then + m_iMandantnr = SqlInt32.Null + Else + m_iMandantnr = New SqlInt32(CType(dtToReturn.Rows(0)("mandantnr"), Integer)) + End If + If dtToReturn.Rows(0)("NumberFormat") Is System.DBNull.Value Then + m_sNumberFormat = SqlString.Null + Else + m_sNumberFormat = New SqlString(CType(dtToReturn.Rows(0)("NumberFormat"), String)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSpalten::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_spalten_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("spalten") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_spalten_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSpalten::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iEintragnr]() As SqlInt32 + Get + Return m_iEintragnr + End Get + Set(ByVal Value As SqlInt32) + Dim iEintragnrTmp As SqlInt32 = Value + If iEintragnrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iEintragnr", "iEintragnr can't be NULL") + End If + m_iEintragnr = Value + End Set + End Property + + + Public Property [sTabelle]() As SqlString + Get + Return m_sTabelle + End Get + Set(ByVal Value As SqlString) + m_sTabelle = Value + End Set + End Property + + + Public Property [sTabellenspalte]() As SqlString + Get + Return m_sTabellenspalte + End Get + Set(ByVal Value As SqlString) + m_sTabellenspalte = Value + End Set + End Property + + + Public Property [sSpalte]() As SqlString + Get + Return m_sSpalte + End Get + Set(ByVal Value As SqlString) + m_sSpalte = Value + End Set + End Property + + + Public Property [bReadonly]() As SqlBoolean + Get + Return m_bReadonly + End Get + Set(ByVal Value As SqlBoolean) + Dim bReadonlyTmp As SqlBoolean = Value + If bReadonlyTmp.IsNull Then + Throw New ArgumentOutOfRangeException("bReadonly", "bReadonly can't be NULL") + End If + m_bReadonly = Value + End Set + End Property + + + Public Property [bAlsHacken]() As SqlBoolean + Get + Return m_bAlsHacken + End Get + Set(ByVal Value As SqlBoolean) + Dim bAlsHackenTmp As SqlBoolean = Value + If bAlsHackenTmp.IsNull Then + Throw New ArgumentOutOfRangeException("bAlsHacken", "bAlsHacken can't be NULL") + End If + m_bAlsHacken = Value + End Set + End Property + + + Public Property [iBreite]() As SqlInt32 + Get + Return m_iBreite + End Get + Set(ByVal Value As SqlInt32) + m_iBreite = Value + End Set + End Property + + + Public Property [iReihenfolge]() As SqlInt32 + Get + Return m_iReihenfolge + End Get + Set(ByVal Value As SqlInt32) + m_iReihenfolge = Value + End Set + End Property + + + Public Property [sTiptext]() As SqlString + Get + Return m_sTiptext + End Get + Set(ByVal Value As SqlString) + m_sTiptext = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + Dim bAktivTmp As SqlBoolean = Value + If bAktivTmp.IsNull Then + Throw New ArgumentOutOfRangeException("bAktiv", "bAktiv can't be NULL") + End If + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + + + Public Property [iMandantnr]() As SqlInt32 + Get + Return m_iMandantnr + End Get + Set(ByVal Value As SqlInt32) + m_iMandantnr = Value + End Set + End Property + + + Public Property [sNumberFormat]() As SqlString + Get + Return m_sNumberFormat + End Get + Set(ByVal Value As SqlString) + m_sNumberFormat = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/ThemaPerson/My Project/Application.Designer.vb b/ThemaPerson/My Project/Application.Designer.vb new file mode 100644 index 0000000..8ab460b --- /dev/null +++ b/ThemaPerson/My Project/Application.Designer.vb @@ -0,0 +1,13 @@ +'------------------------------------------------------------------------------ +' +' Dieser Code wurde von einem Tool generiert. +' Laufzeitversion:4.0.30319.42000 +' +' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +' der Code erneut generiert wird. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + diff --git a/ThemaPerson/My Project/Application.myapp b/ThemaPerson/My Project/Application.myapp new file mode 100644 index 0000000..758895d --- /dev/null +++ b/ThemaPerson/My Project/Application.myapp @@ -0,0 +1,10 @@ + + + false + false + 0 + true + 0 + 1 + true + diff --git a/ThemaPerson/My Project/AssemblyInfo.vb b/ThemaPerson/My Project/AssemblyInfo.vb new file mode 100644 index 0000000..104b990 --- /dev/null +++ b/ThemaPerson/My Project/AssemblyInfo.vb @@ -0,0 +1,34 @@ +Imports System +Imports System.Reflection +Imports System.Runtime.InteropServices + +' Allgemeine Informationen über eine Assembly werden über die folgenden +' Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern, +' die mit einer Assembly verknüpft sind. + +' Die Werte der Assemblyattribute überprüfen + + + + + + + + + + +'Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird + + +' Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten: +' +' Hauptversion +' Nebenversion +' Buildnummer +' Revision +' +' Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern +' übernehmen, indem Sie "*" eingeben: + + + diff --git a/ThemaPerson/My Project/Resources.Designer.vb b/ThemaPerson/My Project/Resources.Designer.vb new file mode 100644 index 0000000..dc84834 --- /dev/null +++ b/ThemaPerson/My Project/Resources.Designer.vb @@ -0,0 +1,63 @@ +'------------------------------------------------------------------------------ +' +' Dieser Code wurde von einem Tool generiert. +' Laufzeitversion:4.0.30319.42000 +' +' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +' der Code erneut generiert wird. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + +Imports System + +Namespace My.Resources + + 'Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert + '-Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert. + 'Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen + 'mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu. + ''' + ''' Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + ''' + _ + Friend Module Resources + + Private resourceMan As Global.System.Resources.ResourceManager + + Private resourceCulture As Global.System.Globalization.CultureInfo + + ''' + ''' Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + ''' + _ + Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager + Get + If Object.ReferenceEquals(resourceMan, Nothing) Then + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("ThemaPerson.Resources", GetType(Resources).Assembly) + resourceMan = temp + End If + Return resourceMan + End Get + End Property + + ''' + ''' Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + ''' Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. + ''' + _ + Friend Property Culture() As Global.System.Globalization.CultureInfo + Get + Return resourceCulture + End Get + Set + resourceCulture = value + End Set + End Property + End Module +End Namespace diff --git a/ThemaPerson/My Project/Resources.resx b/ThemaPerson/My Project/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/ThemaPerson/My Project/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ThemaPerson/My Project/Settings.Designer.vb b/ThemaPerson/My Project/Settings.Designer.vb new file mode 100644 index 0000000..1e327b7 --- /dev/null +++ b/ThemaPerson/My Project/Settings.Designer.vb @@ -0,0 +1,73 @@ +'------------------------------------------------------------------------------ +' +' Dieser Code wurde von einem Tool generiert. +' Laufzeitversion:4.0.30319.42000 +' +' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +' der Code erneut generiert wird. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + _ + Partial Friend NotInheritable Class MySettings + Inherits Global.System.Configuration.ApplicationSettingsBase + + Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings) + +#Region "Funktion zum automatischen Speichern von My.Settings" +#If _MyType = "WindowsForms" Then + Private Shared addedHandler As Boolean + + Private Shared addedHandlerLockObject As New Object + + _ + Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs) + If My.Application.SaveMySettingsOnExit Then + My.Settings.Save() + End If + End Sub +#End If +#End Region + + Public Shared ReadOnly Property [Default]() As MySettings + Get + +#If _MyType = "WindowsForms" Then + If Not addedHandler Then + SyncLock addedHandlerLockObject + If Not addedHandler Then + AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings + addedHandler = True + End If + End SyncLock + End If +#End If + Return defaultInstance + End Get + End Property + End Class +End Namespace + +Namespace My + + _ + Friend Module MySettingsProperty + + _ + Friend ReadOnly Property Settings() As Global.ThemaPerson.My.MySettings + Get + Return Global.ThemaPerson.My.MySettings.Default + End Get + End Property + End Module +End Namespace diff --git a/ThemaPerson/My Project/Settings.settings b/ThemaPerson/My Project/Settings.settings new file mode 100644 index 0000000..85b890b --- /dev/null +++ b/ThemaPerson/My Project/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/ThemaPerson/My Project/licenses.licx b/ThemaPerson/My Project/licenses.licx new file mode 100644 index 0000000..6176bf7 --- /dev/null +++ b/ThemaPerson/My Project/licenses.licx @@ -0,0 +1 @@ +C1.Win.C1TrueDBGrid.C1TrueDBGrid, C1.Win.C1TrueDBGrid.2, Version=2.0.20123.61277, Culture=neutral, PublicKeyToken=75ae3fb0e2b1e0da diff --git a/ThemaPerson/ThemaPerson.Designer.vb b/ThemaPerson/ThemaPerson.Designer.vb new file mode 100644 index 0000000..40456ed --- /dev/null +++ b/ThemaPerson/ThemaPerson.Designer.vb @@ -0,0 +1,149 @@ + _ +Partial Class ThemaPerson + Inherits System.Windows.Forms.UserControl + + 'UserControl1 überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(ThemaPerson)) + Me.ToolStrip1 = New System.Windows.Forms.ToolStrip() + Me.ToolStripButton1 = New System.Windows.Forms.ToolStripButton() + Me.ToolStripButton4 = New System.Windows.Forms.ToolStripButton() + Me.ToolStripButton2 = New System.Windows.Forms.ToolStripButton() + Me.C1Personen = New C1.Win.C1TrueDBGrid.C1TrueDBGrid() + Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.NeuePersonToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.PersonBearbeitenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.EintragLöschenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStrip1.SuspendLayout() + CType(Me.C1Personen, System.ComponentModel.ISupportInitialize).BeginInit() + Me.ContextMenuStrip1.SuspendLayout() + Me.SuspendLayout() + ' + 'ToolStrip1 + ' + Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripButton1, Me.ToolStripButton4, Me.ToolStripButton2}) + Me.ToolStrip1.Location = New System.Drawing.Point(0, 0) + Me.ToolStrip1.Name = "ToolStrip1" + Me.ToolStrip1.Size = New System.Drawing.Size(744, 25) + Me.ToolStrip1.TabIndex = 1 + Me.ToolStrip1.Text = "ToolStrip1" + ' + 'ToolStripButton1 + ' + Me.ToolStripButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton1.Image = CType(resources.GetObject("ToolStripButton1.Image"), System.Drawing.Image) + Me.ToolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton1.Name = "ToolStripButton1" + Me.ToolStripButton1.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton1.Text = "Neue Person" + ' + 'ToolStripButton4 + ' + Me.ToolStripButton4.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton4.Image = CType(resources.GetObject("ToolStripButton4.Image"), System.Drawing.Image) + Me.ToolStripButton4.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton4.Name = "ToolStripButton4" + Me.ToolStripButton4.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton4.Text = "Person bearbeiten" + ' + 'ToolStripButton2 + ' + Me.ToolStripButton2.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton2.Image = CType(resources.GetObject("ToolStripButton2.Image"), System.Drawing.Image) + Me.ToolStripButton2.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton2.Name = "ToolStripButton2" + Me.ToolStripButton2.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton2.Text = "Person löschen" + ' + 'C1Personen + ' + Me.C1Personen.AllowDrop = True + Me.C1Personen.AlternatingRows = True + Me.C1Personen.ContextMenuStrip = Me.ContextMenuStrip1 + Me.C1Personen.Dock = System.Windows.Forms.DockStyle.Fill + Me.C1Personen.FetchRowStyles = True + Me.C1Personen.FilterBar = True + Me.C1Personen.GroupByCaption = "Drag a column header here to group by that column" + Me.C1Personen.Images.Add(CType(resources.GetObject("C1Personen.Images"), System.Drawing.Image)) + Me.C1Personen.Location = New System.Drawing.Point(0, 25) + Me.C1Personen.Name = "C1Personen" + Me.C1Personen.PreviewInfo.Location = New System.Drawing.Point(0, 0) + Me.C1Personen.PreviewInfo.Size = New System.Drawing.Size(0, 0) + Me.C1Personen.PreviewInfo.ZoomFactor = 75.0R + Me.C1Personen.PrintInfo.PageSettings = CType(resources.GetObject("C1Personen.PrintInfo.PageSettings"), System.Drawing.Printing.PageSettings) + Me.C1Personen.Size = New System.Drawing.Size(744, 157) + Me.C1Personen.TabAction = C1.Win.C1TrueDBGrid.TabActionEnum.ColumnNavigation + Me.C1Personen.TabIndex = 10 + Me.C1Personen.Text = "C1TrueDBGrid1" + Me.C1Personen.PropBag = resources.GetString("C1Personen.PropBag") + ' + 'ContextMenuStrip1 + ' + Me.ContextMenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.NeuePersonToolStripMenuItem, Me.PersonBearbeitenToolStripMenuItem, Me.EintragLöschenToolStripMenuItem}) + Me.ContextMenuStrip1.Name = "ContextMenuStrip1" + Me.ContextMenuStrip1.Size = New System.Drawing.Size(170, 70) + ' + 'NeuePersonToolStripMenuItem + ' + Me.NeuePersonToolStripMenuItem.Name = "NeuePersonToolStripMenuItem" + Me.NeuePersonToolStripMenuItem.Size = New System.Drawing.Size(169, 22) + Me.NeuePersonToolStripMenuItem.Text = "&Neue Person" + ' + 'PersonBearbeitenToolStripMenuItem + ' + Me.PersonBearbeitenToolStripMenuItem.Name = "PersonBearbeitenToolStripMenuItem" + Me.PersonBearbeitenToolStripMenuItem.Size = New System.Drawing.Size(169, 22) + Me.PersonBearbeitenToolStripMenuItem.Text = "&Person bearbeiten" + ' + 'EintragLöschenToolStripMenuItem + ' + Me.EintragLöschenToolStripMenuItem.Name = "EintragLöschenToolStripMenuItem" + Me.EintragLöschenToolStripMenuItem.Size = New System.Drawing.Size(169, 22) + Me.EintragLöschenToolStripMenuItem.Text = "&Eintrag löschen" + ' + 'ThemaPerson + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.Controls.Add(Me.C1Personen) + Me.Controls.Add(Me.ToolStrip1) + Me.Name = "ThemaPerson" + Me.Size = New System.Drawing.Size(744, 182) + Me.ToolStrip1.ResumeLayout(False) + Me.ToolStrip1.PerformLayout() + CType(Me.C1Personen, System.ComponentModel.ISupportInitialize).EndInit() + Me.ContextMenuStrip1.ResumeLayout(False) + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents ToolStrip1 As System.Windows.Forms.ToolStrip + Friend WithEvents ToolStripButton1 As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripButton4 As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripButton2 As System.Windows.Forms.ToolStripButton + Friend WithEvents C1Personen As C1.Win.C1TrueDBGrid.C1TrueDBGrid + Friend WithEvents ContextMenuStrip1 As System.Windows.Forms.ContextMenuStrip + Friend WithEvents NeuePersonToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents PersonBearbeitenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents EintragLöschenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + +End Class diff --git a/ThemaPerson/ThemaPerson.resx b/ThemaPerson/ThemaPerson.resx new file mode 100644 index 0000000..03b333c --- /dev/null +++ b/ThemaPerson/ThemaPerson.resx @@ -0,0 +1,212 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 17, 17 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIFSURBVDhPY2CgEWAMnOuyv/lw9f0mIPad6riENHtCGZiD + lnu+mXtj7v/Z12f/d5tkf45kAzyXu76ZfGXi/wlX+v47TTI/T4YBNm96r7T8777SCDTACI8B9QxM5gu1 + bHzW2dgHQLFln5qTzybLD11Xy/93XCn57zxP77b9fG0Hn3UW9h5A7LLOxN5gkbIV2FXCBZwmuSeS//dd + bfo/8XrD/0k36/5PuVXzv/tG3v+O65n/W6+l/++8nvu/+3rR/7YrBf8bLub9rzyX/T9gr+t/vjh2ZQax + XE6LKqBA//VaoOaq/1NuV/yfeqf0f/vNuP9tN6P/t9yM+N91K/l/z82s/+3X0/83XE79X3k++X/YQef/ + vCFs6gxCGSwWETsE/6cdEv6fe1Lof+EZof8FZwT/11wz+99+x+d/6x3P/+WXdf7nn+b/nwfEWcf5/ycd + 4Pvvu5ULaACDOgOnE4O0ZDzDZtlkhm2KaQzblNOBNBCn7Rf92fnA9n/7A6v/YZvEP4DEYBikVjyeYQOf + BYMQLHYYgQwEtmdgCT/E9KbuMcf/usdc/92XM4FiAVUNhI8DABNS4jmGNx2vGP6DsM8aBtLTQe4FgTcL + Psn/n/9R/n/YRl7SDUjaq/tmzkOP/yAcsEidRAMYGJikchl2GLYx3ABhsXiGeaQlZYhqFgYVBnYwZmBg + xmUAAK5h8098FV9uAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAINSURBVDhPY2AgAuxWUtp4WEOjkgilmEp2+fpOmcDA8H+e + oOD/PcrKlw+pqIgSbdC/a9MsLt279X9zTev/HqAhM7m5/6+Vkvp/TknJiyhDflyseP1hu/H/F7dm/b9z + 8+X/mQpK/yezsPzfJCRUTdCAv3daFr3b7fH/xUb1/0+WMvx/utv1/63nr/9vzc1/QFDzv3st7h8OhP5/ + sVkbaIDy/ydrhP6/3mb4/9kqtv/3Lq5Ux2vArW257K/2p/x8CbT5zU7H/49X8/5/u9MBaJDK/z+7uXMJ + 2v73UsGel1u0/7/d5QZ0gQ7QZuP/r3dY/f+0TewoQc3/bhUlvdlm8f/VFoP/7/eH/n8J9ML7fQH/7y1T + +3dllSgPQQN+XZv6+OUWw/9fjuf8f73d/P/HA1H/3wBt/3dANYigZpCCnzcW/P9wc8P/D+ea/3/c6w+0 + 3e//rwNGa4jS3N0dw/3/5Yb/n26v+//50f7/Xx7v+f/lqNdnojSDFMnKimuHBzj8/3h38/+fL4/+///r + zqpPT8+IEG2AtJycNycXz38ZCYlNbx4dkyZaI0jhwYMHFevr6xsaGxtbFi1dGjpv3sL4ZcuWZa9fv74E + hDds2JANxElAnLhp06bgjRs3Ou3YsUMFbsnq1av1li9f7g/UFL948eL8JUuWlADpBiBdD8JQNkisAIiT + Fi1aFLxixQp9kAEAsLwkew30wWEAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJDSURBVDhPdZPLSxtRFMZn5Suah0oChhiJmlGj8RGfiKIi + gouAEPUfcJOliv/HbN3lTxhqkSGPxqadO2mkdVILVu1GaHHT0kUpdPn1nDETkhgHDhly5/d937n3XEmq + POWDA+UykVBVl8tt/9f4qwaD7uLOjqpvbyt1a1+SydTj6Sk+7u4iE4mY/OELsHl7cgJ9cRHZ0dGU9Q07 + W3AiAWN9HWJ1FZos14lUnM3b42OIuTnoMzNWpWVZkTg2O9uwWF6GvrQELRy2RKrw0RFELAYxNVUtbWhI + lbhnjs3ONqzPz0OfnYUWCpnFeNy8OzyEQY7G5CSMaBRFKl6rtsovHJudbVgQwG5fk0kUp6ct6ANVaWKi + HrY3yxKh2Oxsw+woRkagDwxABIMwqDK1zs12mqPp5FQIBJB3OvGW6p3bDdHTA83na3pCVR1OIba2TDMe + x5vOTgt+7/HA6O1FyetFxu9/WYDhAsHl/X3kCLyogS99Pnzq68Pn/n7kAoHnIha8sWGW9/aQJec8VcHl + smKXCL7y+3FN/d+EQrgbHkah8QQYNglOOxzIdnTgoqvLis49Zyk2O98MDuKbLOMhEsF32iNRmRNJ39xU + r2iQtPZ2pNvakCMR7l3zequDxLHvw2E8jI/jkY70J03jL5qVoiyrUn5hQTlvbYXW0oIMifDmnXd3Pxtl + jv2DjpXBPzStf1dWUI5Gny7VmcORsgVeNcC1c2LQsP2mi/RvbQ33sdjTZbKfM6dTee3xqM1uYq1IaWxM + vbadaeE/HtVvxHw+chEAAAAASUVORK5CYII= + + + + 124, 17 + + + + iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAA3SURBVChTY2DABP+xiIGFkCVwsVEUwhThNREkiaEAJoiP + RnEmskKs7kd3C1YrYTrx+g6bIrAYAKCqHOQvFu6BAAAAAElFTkSuQmCC + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0 + dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACRTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5QYWdlU2V0dGluZ3MHAAAAD3ByaW50ZXJTZXR0aW5ncwVjb2xvcglwYXBlclNp + emULcGFwZXJTb3VyY2URcHJpbnRlclJlc29sdXRpb24JbGFuZHNjYXBlB21hcmdpbnMEBAQEBAQEJ1N5 + c3RlbS5EcmF3aW5nLlByaW50aW5nLlByaW50ZXJTZXR0aW5ncwIAAAAgU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuVHJpU3RhdGUCAAAAIVN5c3RlbS5EcmF3aW5nLlByaW50aW5nLlBhcGVyU2l6ZQIAAAAjU3lz + dGVtLkRyYXdpbmcuUHJpbnRpbmcuUGFwZXJTb3VyY2UCAAAAKVN5c3RlbS5EcmF3aW5nLlByaW50aW5n + LlByaW50ZXJSZXNvbHV0aW9uAgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAf + U3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuTWFyZ2lucwIAAAACAAAACQMAAAAF/P///yBTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5UcmlTdGF0ZQEAAAAFdmFsdWUAAgIAAAAACgoKAfv////8////AAkGAAAABQMA + AAAnU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRlclNldHRpbmdzEgAAAAtwcmludGVyTmFtZQpk + cml2ZXJOYW1lCm91dHB1dFBvcnQLcHJpbnRUb0ZpbGUUcHJpbnREaWFsb2dEaXNwbGF5ZWQKZXh0cmFi + eXRlcwlleHRyYWluZm8GY29waWVzBmR1cGxleAdjb2xsYXRlE2RlZmF1bHRQYWdlU2V0dGluZ3MIZnJv + bVBhZ2UGdG9QYWdlB21heFBhZ2UHbWluUGFnZQpwcmludFJhbmdlDGRldm1vZGVieXRlcw1jYWNoZWRE + ZXZtb2RlAQEBAAAABwAEBAQAAAAABAAHAQEHAgceU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuRHVwbGV4 + AgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAkU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuUGFnZVNldHRpbmdzAgAAAAgICAgiU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRSYW5n + ZQIAAAAHAgIAAAAKBgcAAAAACQcAAAAAAAAACv//Bfj///8eU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcu + RHVwbGV4AQAAAAd2YWx1ZV9fAAgCAAAA/////wH3/////P///wAJCgAAAAAAAAAAAAAADycAAAAAAAAF + 9f///yJTeXN0ZW0uRHJhd2luZy5QcmludGluZy5QcmludFJhbmdlAQAAAAd2YWx1ZV9fAAgCAAAAAAAA + AAAACgUGAAAAH1N5c3RlbS5EcmF3aW5nLlByaW50aW5nLk1hcmdpbnMIAAAABGxlZnQFcmlnaHQDdG9w + BmJvdHRvbQpkb3VibGVMZWZ0C2RvdWJsZVJpZ2h0CWRvdWJsZVRvcAxkb3VibGVCb3R0b20AAAAAAAAA + AAgICAgGBgYGAgAAAGQAAABkAAAAZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZ + QAEKAAAAAQAAAAkDAAAAAfP////8////AAoKCgHy/////P///wAJDwAAAAEPAAAABgAAAGQAAABkAAAA + ZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAs= + + + + <?xml version="1.0"?><Blob><Styles type="C1.Win.C1TrueDBGrid.Design.ContextWrapper"><Data>HighlightRow{ForeColor:HighlightText;BackColor:Highlight;}Style8{}Style7{}EvenRow{BackColor:White;}Normal{}RecordSelector{AlignImage:Center;}Inactive{ForeColor:InactiveCaptionText;BackColor:InactiveCaption;}Style4{}OddRow{BackColor:224, 224, 224;}Style3{}Footer{}Style14{}Heading{Wrap:True;Border:Flat,ControlDark,0, 1, 0, 1;AlignVert:Center;BackColor:Control;ForeColor:ControlText;}Style5{}Editor{}Style10{AlignHorz:Near;}Style16{}Selected{ForeColor:HighlightText;BackColor:Highlight;}Style15{}Style13{}Style12{}Style11{}Group{Border:None,,0, 0, 0, 0;AlignVert:Center;BackColor:ControlDark;}Style9{}FilterWatermark{ForeColor:InfoText;BackColor:Info;}Style6{}Style1{}Caption{AlignHorz:Center;}Style2{}FilterBar{BackColor:255, 255, 192;}</Data></Styles><Splits><C1.Win.C1TrueDBGrid.MergeView Name="" AlternatingRowStyle="True" CaptionHeight="17" ColumnCaptionHeight="17" ColumnFooterHeight="17" FetchRowStyles="True" FilterBar="True" MarqueeStyle="DottedCellBorder" RecordSelectorWidth="17" DefRecSelWidth="17" VerticalScrollGroup="1" HorizontalScrollGroup="1"><CaptionStyle parent="Style2" me="Style10" /><EditorStyle parent="Editor" me="Style5" /><EvenRowStyle parent="EvenRow" me="Style8" /><FilterBarStyle parent="FilterBar" me="Style13" /><FilterWatermarkStyle parent="FilterWatermark" me="Style14" /><FooterStyle parent="Footer" me="Style3" /><GroupStyle parent="Group" me="Style12" /><HeadingStyle parent="Heading" me="Style2" /><HighLightRowStyle parent="HighlightRow" me="Style7" /><InactiveStyle parent="Inactive" me="Style4" /><OddRowStyle parent="OddRow" me="Style9" /><RecordSelectorStyle parent="RecordSelector" me="Style11" /><SelectedStyle parent="Selected" me="Style6" /><Style parent="Normal" me="Style1" /><ClientRect>0, 0, 742, 155</ClientRect><BorderSide>0</BorderSide></C1.Win.C1TrueDBGrid.MergeView></Splits><NamedStyles><Style parent="" me="Normal" /><Style parent="Normal" me="Heading" /><Style parent="Heading" me="Footer" /><Style parent="Heading" me="Caption" /><Style parent="Heading" me="Inactive" /><Style parent="Normal" me="Selected" /><Style parent="Normal" me="Editor" /><Style parent="Normal" me="HighlightRow" /><Style parent="Normal" me="EvenRow" /><Style parent="Normal" me="OddRow" /><Style parent="Heading" me="RecordSelector" /><Style parent="Normal" me="FilterBar" /><Style parent="FilterBar" me="FilterWatermark" /><Style parent="Caption" me="Group" /></NamedStyles><vertSplits>1</vertSplits><horzSplits>1</horzSplits><Layout>None</Layout><DefaultRecSelWidth>17</DefaultRecSelWidth><ClientArea>0, 0, 742, 155</ClientArea><PrintPageHeaderStyle parent="" me="Style15" /><PrintPageFooterStyle parent="" me="Style16" /></Blob> + + \ No newline at end of file diff --git a/ThemaPerson/ThemaPerson.vb b/ThemaPerson/ThemaPerson.vb new file mode 100644 index 0000000..7585b58 --- /dev/null +++ b/ThemaPerson/ThemaPerson.vb @@ -0,0 +1,257 @@ +Imports System.ComponentModel +Imports System.Data.SqlClient +Imports System.Data.SqlTypes +Imports C1.Win.C1TrueDBGrid +Public Class ThemaPerson + + +#Region "Deklarationen" + + Dim SpaltenTitel As New Utils.Tabellenspalte + Dim dokumente As New DataTable +#End Region + +#Region "Properties" + Dim m_ConnectionString As String + _ + Public Property ConnectionString() As String + Get + ConnectionString = m_ConnectionString + End Get + Set(ByVal Value As String) + If m_ConnectionString <> Value Then + m_ConnectionString = Value + Globals.conn.sConnectionString = Value + Globals.sConnectionString = Value + End If + End Set + End Property + + Dim m_Themanr As Integer + _ + Public Property ThemaNr As Integer + Get + ThemaNr = m_Themanr + End Get + Set(value As Integer) + If m_Themanr <> value Then + m_Themanr = value + Try + Refresh() + Catch + End Try + End If + End Set + End Property + + Dim m_Doktype As Integer + _ + Public Property Doktype As Integer + Get + Doktype = m_Doktype + End Get + Set(value As Integer) + If m_Doktype <> value Then + m_Doktype = value + End If + End Set + End Property + + Dim m_Mitarbeiternr As Integer + _ + Public Property Mitarbeiternr As Integer + Get + Mitarbeiternr = m_Mitarbeiternr + End Get + Set(value As Integer) + If m_Mitarbeiternr <> value Then + m_Mitarbeiternr = value + Globals.Mitarbeiternr = value + End If + End Set + End Property + + Dim m_TempFilePath As String + _ + Public Property TempFilePath As String + Get + TempFilePath = m_TempFilePath + End Get + Set(value As String) + If m_TempFilePath <> value Then + m_TempFilePath = value + Globals.TmpFilepath = value + End If + End Set + End Property + + Dim m_Show_Toolbar As Boolean = True + _ + Public Property Show_Toolbar() As Boolean + Get + Show_Toolbar = m_Show_Toolbar + End Get + Set(ByVal Value As Boolean) + If m_Show_Toolbar <> Value Then + m_Show_Toolbar = Value + Set_ShowToolbar() + End If + + End Set + End Property + Dim m_Show_Editfunctions As Boolean = True + _ + Public Property Show_Editfunctions() As Boolean + Get + Show_Editfunctions = m_Show_Editfunctions + End Get + Set(ByVal Value As Boolean) + If m_Show_Editfunctions <> Value Then + m_Show_Editfunctions = Value + Set_Editfunctions() + End If + + End Set + End Property +#End Region + + Sub Set_ShowToolbar() + If Me.Show_Toolbar = True Then + Me.ToolStrip1.Visible = True + Me.ContextMenuStrip1.Enabled = True + Else + Me.ToolStrip1.Visible = False + Me.ContextMenuStrip1.Enabled = False + End If + End Sub + + Sub Set_Editfunctions() + If Me.Show_Editfunctions = True Then + Me.ToolStripButton1.Visible = True + Me.ToolStripButton2.Visible = True + Me.ToolStripButton4.Visible = True + Me.NeuePersonToolStripMenuItem.Visible = True + Me.PersonBearbeitenToolStripMenuItem.Visible = True + Me.EintragLöschenToolStripMenuItem.Visible = True + + + Else + Me.ToolStripButton1.Visible = False + Me.ToolStripButton2.Visible = False + Me.ToolStripButton4.Visible = False + Me.ContextMenuStrip1.Enabled = False + Me.NeuePersonToolStripMenuItem.Visible = False + Me.PersonBearbeitenToolStripMenuItem.Visible = False + Me.EintragLöschenToolStripMenuItem.Visible = False + + + End If + End Sub + Sub New() + InitializeComponent() + 'Me.ConnectionString = "data source=shu00;initial catalog=ThemenManagement;persist security info=False;workstation id=SHU;packet size=4096;user id=sa;password=*shu29" + 'Me.Mitarbeiternr = 1 + 'Me.Doktype = 1 + 'Me.ThemaNr = 1 + 'Me.TempFilePath = "h:\tssettings\themenmgmt" + Try + Globals.conn.sConnectionString = Me.ConnectionString + Globals.sConnectionString = Me.ConnectionString + Catch + End Try + Globals.Mitarbeiternr = Mitarbeiternr + Globals.TmpFilepath = TempFilePath + Set_ShowToolbar() + Set_Editfunctions() + End Sub + + Private Sub ThemaPerson_Load(sender As Object, e As EventArgs) Handles MyBase.Load + + End Sub + + Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ToolStripButton1.Click + Dim f As New frmThemaPerson + f.ShowDialog() + If f.DialogResult = DialogResult.OK Then + Dim tp As New DB.ThemaPerson + tp.Add_New(Me.ThemaNr, f.cbboxperson.SelectedValue, f.cbboxfunktion.SelectedValue, f.txtBemerkung.Text) + Me.Refresh() + End If + f.Dispose() + + End Sub + + Private Sub Refresh() + Dim tp As New db.ThemaPerson + Dim dt As New DataTable + dt = tp.Get_Personen(Me.ThemaNr) + Me.C1Personen.DataSource = dt + Me.C1Personen.DataMember = dt.TableName + Me.SpaltenTitel.Spaltentitel_aktualisieren(Me.C1Personen, "ThemaPersonen", dt) + tp.Dispose() + End Sub + + Private Sub C1Personen_DoubleClick(sender As Object, e As EventArgs) Handles C1Personen.DoubleClick + Me.ToolStripButton4_Click(sender, e) + End Sub + + Private Sub C1Dokumente_MouseDown(sender As Object, e As MouseEventArgs) Handles C1Personen.MouseDown + Me.C1Personen.Bookmark = Me.C1Personen.RowContaining(e.Y) + End Sub + + Private Sub ToolStripButton4_Click(sender As Object, e As EventArgs) Handles ToolStripButton4.Click + Try + + Dim tp As New DB.ThemaPerson + tp.Get_ThemaPerson(Me.C1Personen.Columns("ThemaPersonNr").Value) + Dim f As New frmThemaPerson + f.cbboxfunktion.SelectedValue = tp.iFunktionNr.Value + f.cbboxperson.SelectedValue = tp.iPersonNr.Value + f.txtBemerkung.Text = tp.sBemerkung.Value + If Me.Show_Toolbar = False Then + f.cbboxperson.Enabled = False + f.cbboxfunktion.Enabled = False + f.txtBemerkung.ReadOnly = True + f.btnAbbruch.Visible = False + End If + f.ShowDialog() + If f.DialogResult = DialogResult.OK And Me.Show_Toolbar = True Then + tp.iFunktionNr = New SqlInt32(CType(f.cbboxfunktion.SelectedValue, Int32)) + tp.iPersonNr = New SqlInt32(CType(f.cbboxperson.SelectedValue, Int32)) + tp.sBemerkung = New SqlString(CType(f.txtBemerkung.Text, String)) + tp.Save_Data() + Dim bm As Integer + bm = Me.C1Personen.Bookmark + Refresh() + Me.C1Personen.Bookmark = bm + End If + Catch ex As Exception + MsgBox(ex.Message) + End Try + End Sub + + Private Sub ToolStripButton2_Click(sender As Object, e As EventArgs) Handles ToolStripButton2.Click + If MsgBox("Beziehung zur Person löschen", vbYesNo + vbQuestion) = MsgBoxResult.Yes Then + Dim tp As New DB.ThemaPerson + tp.Delete_Thema(Me.C1Personen.Columns("ThemaPersonNr").Value) + Me.Refresh() + + End If + End Sub + + Private Sub ToolStrip1_ItemClicked(sender As Object, e As ToolStripItemClickedEventArgs) Handles ToolStrip1.ItemClicked + + End Sub + + Private Sub NeuePersonToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles NeuePersonToolStripMenuItem.Click + Me.ToolStripButton1_Click(sender, e) + End Sub + + Private Sub PersonBearbeitenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles PersonBearbeitenToolStripMenuItem.Click + Me.ToolStripButton4_Click(sender, e) + End Sub + + Private Sub EintragLöschenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles EintragLöschenToolStripMenuItem.Click + Me.ToolStripButton2_Click(sender, e) + End Sub +End Class diff --git a/ThemaPerson/ThemaPerson.vbproj b/ThemaPerson/ThemaPerson.vbproj new file mode 100644 index 0000000..6aca434 --- /dev/null +++ b/ThemaPerson/ThemaPerson.vbproj @@ -0,0 +1,152 @@ + + + + + Debug + AnyCPU + {89F7577A-E7B5-41B8-82F1-BA59B9E4EF74} + Library + ThemaPerson + ThemaPerson + 512 + Windows + v4.5 + + + + true + full + true + true + bin\Debug\ + ThemaPerson.xml + _MYFORMS=True + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + false + + + pdbonly + false + true + true + bin\Release\ + ThemaPerson.xml + _MYFORMS=True + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + false + + + On + + + Binary + + + Off + + + On + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + frmThemaPerson.vb + + + Form + + + + + + + + True + Application.myapp + + + UserControl + + + ThemaPerson.vb + + + + True + True + Resources.resx + + + True + Settings.settings + True + + + + + frmThemaPerson.vb + + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + ThemaPerson.vb + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + + + + + + + + \ No newline at end of file diff --git a/ThemaPerson/bin/Debug/C1.Win.C1TrueDBGrid.2.dll b/ThemaPerson/bin/Debug/C1.Win.C1TrueDBGrid.2.dll new file mode 100644 index 0000000..d4f4c46 Binary files /dev/null and b/ThemaPerson/bin/Debug/C1.Win.C1TrueDBGrid.2.dll differ diff --git a/ThemaPerson/bin/Debug/ThemaPerson.dll b/ThemaPerson/bin/Debug/ThemaPerson.dll new file mode 100644 index 0000000..ad47f0b Binary files /dev/null and b/ThemaPerson/bin/Debug/ThemaPerson.dll differ diff --git a/ThemaPerson/bin/Debug/ThemaPerson.pdb b/ThemaPerson/bin/Debug/ThemaPerson.pdb new file mode 100644 index 0000000..67eaa68 Binary files /dev/null and b/ThemaPerson/bin/Debug/ThemaPerson.pdb differ diff --git a/ThemaPerson/bin/Debug/ThemaPerson.xml b/ThemaPerson/bin/Debug/ThemaPerson.xml new file mode 100644 index 0000000..704220c --- /dev/null +++ b/ThemaPerson/bin/Debug/ThemaPerson.xml @@ -0,0 +1,763 @@ + + + + +ThemaPerson + + + + + + Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + + + + + Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + + + + + Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. + + + + + Purpose: Data Access class for the table 'Funktion'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iFunktionNr
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iFunktionNr
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iFunktionNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iFunktionNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iFunktionNr
  • +
  • sBezeichnung
  • +
  • sBeschreibung
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'key_tabelle'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • sBeschreibung
  • +
  • iKey_wert
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iKeynr
  • +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKeynr
  • +
  • sBeschreibung
  • +
  • iKey_wert
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKeynr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKeynr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iKeynr
  • +
  • sBeschreibung
  • +
  • iKey_wert
  • +
  • iMandantnr
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'Person'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iPersonNr
  • +
  • sFirma. May be SqlString.Null
  • +
  • sName. May be SqlString.Null
  • +
  • sVorname. May be SqlString.Null
  • +
  • sStrasse. May be SqlString.Null
  • +
  • sPostfach. May be SqlString.Null
  • +
  • sPlz. May be SqlString.Null
  • +
  • sOrt. May be SqlString.Null
  • +
  • sTelefon. May be SqlString.Null
  • +
  • sTelefax. May be SqlString.Null
  • +
  • sEMail. May be SqlString.Null
  • +
  • sInternet. May be SqlString.Null
  • +
  • sBemerkung. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iPersonNr
  • +
  • sFirma. May be SqlString.Null
  • +
  • sName. May be SqlString.Null
  • +
  • sVorname. May be SqlString.Null
  • +
  • sStrasse. May be SqlString.Null
  • +
  • sPostfach. May be SqlString.Null
  • +
  • sPlz. May be SqlString.Null
  • +
  • sOrt. May be SqlString.Null
  • +
  • sTelefon. May be SqlString.Null
  • +
  • sTelefax. May be SqlString.Null
  • +
  • sEMail. May be SqlString.Null
  • +
  • sInternet. May be SqlString.Null
  • +
  • sBemerkung. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iPersonNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iPersonNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iPersonNr
  • +
  • sFirma
  • +
  • sName
  • +
  • sVorname
  • +
  • sStrasse
  • +
  • sPostfach
  • +
  • sPlz
  • +
  • sOrt
  • +
  • sTelefon
  • +
  • sTelefax
  • +
  • sEMail
  • +
  • sInternet
  • +
  • sBemerkung
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'ThemaPerson'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iThemaPersonNr
  • +
  • iThemaNr. May be SqlInt32.Null
  • +
  • iPersonNr. May be SqlInt32.Null
  • +
  • iFunktionNr. May be SqlInt32.Null
  • +
  • sBemerkung. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iThemaPersonNr
  • +
  • iThemaNr. May be SqlInt32.Null
  • +
  • iPersonNr. May be SqlInt32.Null
  • +
  • iFunktionNr. May be SqlInt32.Null
  • +
  • sBemerkung. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iThemaPersonNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iThemaPersonNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iThemaPersonNr
  • +
  • iThemaNr
  • +
  • iPersonNr
  • +
  • iFunktionNr
  • +
  • sBemerkung
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'spalten'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iEintragnr
  • +
  • sTabelle. May be SqlString.Null
  • +
  • sTabellenspalte. May be SqlString.Null
  • +
  • sSpalte. May be SqlString.Null
  • +
  • bReadonly
  • +
  • bAlsHacken
  • +
  • iBreite. May be SqlInt32.Null
  • +
  • iReihenfolge. May be SqlInt32.Null
  • +
  • sTiptext. May be SqlString.Null
  • +
  • bAktiv
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • sNumberFormat. May be SqlString.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iEintragnr
  • +
  • sTabelle. May be SqlString.Null
  • +
  • sTabellenspalte. May be SqlString.Null
  • +
  • sSpalte. May be SqlString.Null
  • +
  • bReadonly
  • +
  • bAlsHacken
  • +
  • iBreite. May be SqlInt32.Null
  • +
  • iReihenfolge. May be SqlInt32.Null
  • +
  • sTiptext. May be SqlString.Null
  • +
  • bAktiv
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • sNumberFormat. May be SqlString.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iEintragnr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iEintragnr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iEintragnr
  • +
  • sTabelle
  • +
  • sTabellenspalte
  • +
  • sSpalte
  • +
  • bReadonly
  • +
  • bAlsHacken
  • +
  • iBreite
  • +
  • iReihenfolge
  • +
  • sTiptext
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
  • iMandantnr
  • +
  • sNumberFormat
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Mutierer auslesen + + + + + + + Löschen eines Datensatzes erstellen. + + Ursprungs-Person: Ist dieser Wert nicht 0, werden die Daten mit BaseNr zuerst gelesen + + + + + + Neue Person einfügen + + + + + + + Löschen eines Datensatzes erstellen. + + Ursprungs-Person: Ist dieser Wert nicht 0, werden die Daten mit BaseNr zuerst gelesen + + + + + + Neue Person einfügen + + + + + + + Sortierung der in der DB-Tabelle Spalaten festgelegten Reihenfolge + + + + + + + + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Tabellenname übernehmen und Daten ab DB laden + + + + + + + Daten ab Datenbank laden + + + + + + Basis-Datentabelle laden. Diese wird für die dynamische Generierung der Insert- und Update-Statements benötigt + + + + + + Update-Statement dynamisch für das UpdateCommand generieren + + + + + + Insert-Statement dynamisch für das InsertCommand generieren + + + + + + Prefixt für den SP-Übergabeparameter generieren + + Aktuelle Columnt + Prefis für SP-Übergabeparameter + + + + + SQL-DB-Type für den SP-Übergabeparameter festlegen + + Aktuelle Column + SQLDBType + + + + + Feldlänge für den SP-Übergabeparemter festlegen + + Aktulle Column + Feldlänge + + + + + Datesichern. Dabei wird das Update- sowie das Insert-Statement dynamisch generiert + + + + + + Dispose von Tabledata + + + + + + Load der Verbindungstabelle + + + + + + + + + Neuer Eintrag in der Tabelle eintragen. Sind neben den Defaultwerten weitere Attribute vorhanden, werde diese abhängig vom Datentype mit Defaultwerten befüllt. + + + + + + + +
+
diff --git a/ThemaPerson/frmThemaPerson.Designer.vb b/ThemaPerson/frmThemaPerson.Designer.vb new file mode 100644 index 0000000..7a0012b --- /dev/null +++ b/ThemaPerson/frmThemaPerson.Designer.vb @@ -0,0 +1,133 @@ + _ +Partial Class frmThemaPerson + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmThemaPerson)) + Me.cbboxperson = New System.Windows.Forms.ComboBox() + Me.cbboxfunktion = New System.Windows.Forms.ComboBox() + Me.txtBemerkung = New System.Windows.Forms.TextBox() + Me.lblPerson = New System.Windows.Forms.Label() + Me.lblFunktion = New System.Windows.Forms.Label() + Me.lblBemerkung = New System.Windows.Forms.Label() + Me.btnOK = New System.Windows.Forms.Button() + Me.btnAbbruch = New System.Windows.Forms.Button() + Me.SuspendLayout() + ' + 'cbboxperson + ' + Me.cbboxperson.FormattingEnabled = True + Me.cbboxperson.Location = New System.Drawing.Point(79, 21) + Me.cbboxperson.Name = "cbboxperson" + Me.cbboxperson.Size = New System.Drawing.Size(169, 21) + Me.cbboxperson.TabIndex = 0 + ' + 'cbboxfunktion + ' + Me.cbboxfunktion.FormattingEnabled = True + Me.cbboxfunktion.Location = New System.Drawing.Point(79, 49) + Me.cbboxfunktion.Name = "cbboxfunktion" + Me.cbboxfunktion.Size = New System.Drawing.Size(169, 21) + Me.cbboxfunktion.TabIndex = 1 + ' + 'txtBemerkung + ' + Me.txtBemerkung.Location = New System.Drawing.Point(79, 76) + Me.txtBemerkung.Multiline = True + Me.txtBemerkung.Name = "txtBemerkung" + Me.txtBemerkung.Size = New System.Drawing.Size(232, 104) + Me.txtBemerkung.TabIndex = 2 + ' + 'lblPerson + ' + Me.lblPerson.AutoSize = True + Me.lblPerson.Location = New System.Drawing.Point(12, 24) + Me.lblPerson.Name = "lblPerson" + Me.lblPerson.Size = New System.Drawing.Size(40, 13) + Me.lblPerson.TabIndex = 3 + Me.lblPerson.Text = "Person" + ' + 'lblFunktion + ' + Me.lblFunktion.AutoSize = True + Me.lblFunktion.Location = New System.Drawing.Point(12, 52) + Me.lblFunktion.Name = "lblFunktion" + Me.lblFunktion.Size = New System.Drawing.Size(48, 13) + Me.lblFunktion.TabIndex = 4 + Me.lblFunktion.Text = "Funktion" + ' + 'lblBemerkung + ' + Me.lblBemerkung.AutoSize = True + Me.lblBemerkung.Location = New System.Drawing.Point(12, 79) + Me.lblBemerkung.Name = "lblBemerkung" + Me.lblBemerkung.Size = New System.Drawing.Size(61, 13) + Me.lblBemerkung.TabIndex = 5 + Me.lblBemerkung.Text = "Bemerkung" + ' + 'btnOK + ' + Me.btnOK.Location = New System.Drawing.Point(84, 206) + Me.btnOK.Name = "btnOK" + Me.btnOK.Size = New System.Drawing.Size(75, 23) + Me.btnOK.TabIndex = 6 + Me.btnOK.Text = "&OK" + Me.btnOK.UseVisualStyleBackColor = True + ' + 'btnAbbruch + ' + Me.btnAbbruch.Location = New System.Drawing.Point(173, 206) + Me.btnAbbruch.Name = "btnAbbruch" + Me.btnAbbruch.Size = New System.Drawing.Size(75, 23) + Me.btnAbbruch.TabIndex = 7 + Me.btnAbbruch.Text = "&Abbruch" + Me.btnAbbruch.UseVisualStyleBackColor = True + ' + 'frmThemaPerson + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(328, 239) + Me.Controls.Add(Me.btnAbbruch) + Me.Controls.Add(Me.btnOK) + Me.Controls.Add(Me.lblBemerkung) + Me.Controls.Add(Me.lblFunktion) + Me.Controls.Add(Me.lblPerson) + Me.Controls.Add(Me.txtBemerkung) + Me.Controls.Add(Me.cbboxfunktion) + Me.Controls.Add(Me.cbboxperson) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.Name = "frmThemaPerson" + Me.Text = "Person" + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents cbboxperson As System.Windows.Forms.ComboBox + Friend WithEvents cbboxfunktion As System.Windows.Forms.ComboBox + Friend WithEvents txtBemerkung As System.Windows.Forms.TextBox + Friend WithEvents lblPerson As System.Windows.Forms.Label + Friend WithEvents lblFunktion As System.Windows.Forms.Label + Friend WithEvents lblBemerkung As System.Windows.Forms.Label + Friend WithEvents btnOK As System.Windows.Forms.Button + Friend WithEvents btnAbbruch As System.Windows.Forms.Button +End Class diff --git a/ThemaPerson/frmThemaPerson.resx b/ThemaPerson/frmThemaPerson.resx new file mode 100644 index 0000000..110511e --- /dev/null +++ b/ThemaPerson/frmThemaPerson.resx @@ -0,0 +1,7330 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + AAABAAkAAAAAAAEAIAAoIAQAlgAAAICAAAABACAAKAgBAL4gBABgYAAAAQAgAKiUAADmKAUASEgAAAEA + IACIVAAAjr0FAEBAAAABACAAKEIAABYSBgAwMAAAAQAgAKglAAA+VAYAICAAAAEAIACoEAAA5nkGABgY + AAABACAAiAkAAI6KBgAQEAAAAQAgAGgEAAAWlAYAKAAAAAABAAAAAgAAAQAgAAAAAAAAIAQAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAJAAAACQAA + AAsAAAAOAAAAEAAAABIAAAAUAAAAEwAAABQAAAAVAAAAGQAAABwAAAAiAAAAJQAAACgAAAAqAAAAKgAA + ACoAAAAqAAAAKgAAACoAAAAqAAAAKgAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACgAAAAoAAAAJwAA + ACcAAAAnAAAAJwAAACcAAAAnAAAAJgAAACYAAAAlAAAAJQAAACUAAAAkAAAAIwAAACMAAAAhAAAAHQAA + ABoAAAAYAAAAFQAAABMAAAARAAAADwAAAA4AAAAMAAAACwAAAAkAAAAIAAAABwAAAAUAAAAEAAAAAwAA + AAIAAAACAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAEAAAABAAAAAQAAAAIAAAADAAAABAAAAAYAAAAIAAAACgAAAAsAAAANAAAADwAAABEAAAAUAAAAFwAA + ABkAAAAeAAAAIwAAACcAAAAqAAAAKwAAACwAAAAtAAAAMAAAADYAAAA9AAAARQAAAEwAAABQAAAAUgAA + AFMAAABUAAAAUwAAAFMAAABTAAAAUgAAAFIAAABSAAAAUQAAAFEAAABQAAAAUAAAAFAAAABQAAAATwAA + AE8AAABOAAAATQAAAE0AAABNAAAATAAAAEsAAABLAAAASwAAAEsAAABKAAAASAAAAEcAAABFAAAAQQAA + ADwAAAA3AAAAMwAAAC0AAAAqAAAAJgAAACMAAAAhAAAAHgAAABsAAAAXAAAAFQAAABIAAAAOAAAADQAA + AAoAAAAJAAAACAAAAAUAAAAFAAAABAAAAAIAAAACAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAgAA + AAMAAAAEAAAABgAAAAgAAAAKAAAADAAAAA0AAAAQAAAAFAAAABgAAAAdAAAAIQAAACYAAAApAAAALgAA + ADIAAAA4AAAAPwAAAEcAAABPAAAAUwAAAH4AAACAAAAAiwAAAKsAAACuAAAAswAAANAAAADaAAAA2wAA + ANwAAADcAAAA9gAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AO0AAADbAAAA2gAAANoAAADaAAAAygAAALsAAAC6AAAAsgAAAJoAAACZAAAAiQAAAHcAAAB1AAAAcQAA + AG0AAABoAAAAYQAAAFsAAABVAAAATwAAAEkAAABGAAAAQQAAADwAAAA3AAAAMgAAACwAAAAnAAAAIgAA + AB4AAAAaAAAAFgAAABUAAAARAAAADgAAAAsAAAAJAAAACAAAAAUAAAAFAAAAAgAAAAIAAAABAAAAAQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAgAAAAIAAAAEAAAABgAA + AAkAAAAMAAAADgAAABEAAAAUAAAAGAAAAB4AAAAiAAAAJwAAAC0AAAA0AAAAPAAAAEUAAABYAAAAfQAA + AIsAAACsAAAAwgAAANcAAADiAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+AAA + AOIAAADbAAAAxgAAALwAAACkAAAAkQAAAHwAAAB2AAAAcQAAAGsAAABmAAAAXwAAAFgAAABQAAAASgAA + AEIAAAA7AAAANQAAADAAAAAqAAAAJQAAACAAAAAbAAAAFwAAABQAAAAQAAAADAAAAAkAAAAHAAAABQAA + AAQAAAACAAAAAgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAQAAAAIAAAAEAAAABgAAAAkAAAALAAAADgAA + ABIAAAAWAAAAHQAAACMAAAAoAAAALgAAADQAAAA+AAAAUgAAAHoAAACfAAAAtwAAANYAAAD1AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA4wAAANYAAADIAAAAqgAAAJEAAACCAAAAewAA + AHQAAABsAAAAZAAAAF0AAABVAAAATQAAAEYAAAA+AAAANwAAADEAAAAqAAAAIwAAAB0AAAAYAAAAEwAA + ABAAAAALAAAACQAAAAcAAAAFAAAABAAAAAIAAAACAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAIAAAACAAAABQAAAAcAAAAKAAAADgAAABIAAAAWAAAAHAAA + ACMAAAArAAAANAAAAD0AAABTAAAAewAAAKoAAADLAAAA6gAAAP8AAAD/AQAB/wEBAf8BAQH/AQEB/wEB + Af8BAQH/AQEB/wEBAf8BAAH/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+AAA + AN4AAADKAAAArQAAAJMAAACFAAAAfQAAAHUAAABuAAAAZgAAAF0AAABVAAAATAAAAEEAAAA5AAAAMAAA + ACgAAAAiAAAAHAAAABYAAAASAAAADgAAAAsAAAAJAAAABwAAAAUAAAADAAAAAgAAAAIAAAABAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAQAAAAEAAAACAAAAAwAAAAUAAAAIAAAADAAAAA8AAAAVAAAAGgAAACEAAAApAAAAMgAA + ADwAAABqAAAAnQAAAMEAAADqAAAA/wEBAf8BAQH/AgIC/wICAv8DAwP/AwMD/wMDA/8DAgP/AwID/wIC + Av8CAgL/AgIC/wICAv8CAQL/AQEB/wEBAf8BAQH/AQEB/wEAAf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA7AAAANMAAAC4AAAAmQAAAIwAAACEAAAAewAAAHIAAABoAAAAXQAA + AFQAAABJAAAAQAAAADcAAAAuAAAAJgAAACEAAAAaAAAAFQAAABEAAAAMAAAACgAAAAcAAAAFAAAAAwAA + AAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAEAAAABAAAAAgAAAAIAAAAFAAAACAAAAAwAAAARAAAAFgAAAB0AAAAlAAAALwAAADkAAABcAAAAmwAA + AMkAAAD0AAAA/wEBAf8CAgL/AwMD/wQEBP8EBAT/BAQE/wQEBP8EBAT/BAQE/wQEBP8EAwT/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAgP/AgIC/wICAv8CAgL/AgIC/wIBAv8BAQH/AQEB/wEBAf8BAQH/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AQEB/wEB + Af8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADtAAAA1QAAALoAAACUAAAAjAAA + AIIAAAB5AAAAbgAAAGQAAABZAAAAUAAAAEYAAAA8AAAANAAAACwAAAAjAAAAHQAAABYAAAASAAAADAAA + AAkAAAAGAAAABQAAAAIAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA + AAEAAAACAAAABQAAAAcAAAAMAAAAEAAAABYAAAAdAAAAJgAAADIAAABLAAAAggAAAL4AAADqAAAA/wEB + Af8DAwP/BAQE/wYFBv8FBQX/BQUF/wUFBf8FBQX/BQUF/wUFBf8FBQX/BQUF/wUEBf8FBAX/BAQE/wQE + BP8EBAT/BAQE/wQEBP8EAwT/AwMD/wMDA/8DAwP/AwMD/wMDA/8CAgL/AgIC/wICAv8CAgL/AgEC/wEB + Af8BAQH/AQEB/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEB + Af8BAQH/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AOEAAADCAAAAngAAAJAAAACHAAAAfQAAAHQAAABqAAAAYAAAAFYAAABMAAAAQQAAADcAAAAuAAAAJAAA + AB0AAAAWAAAAEQAAAAwAAAAJAAAABgAAAAUAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAgAA + AAMAAAAGAAAACgAAAA8AAAAVAAAAHQAAACUAAAAyAAAAVwAAAJsAAADMAAAA/wEBAf8DAwP/BQUF/wcG + B/8HBgf/BgYG/wYGBv8GBgb/BgYG/wYGBv8GBgb/BgYG/wYGBv8GBgb/BgUG/wYFBv8GBQb/BQUF/wUF + Bf8FBQX/BQUF/wUEBf8FBAX/BAQE/wQEBP8EBAT/BAQE/wQEBP8DAwP/AwMD/wMDA/8DAwP/AwID/wIC + Av8CAgL/AgIC/wIBAv8BAQH/AQEB/wEAAf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8BAQH/AQEB/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAADtAAAAyQAAAKYAAACTAAAAigAAAIEAAAB4AAAAbgAAAGMAAABYAAAATAAA + AEAAAAA2AAAALAAAACMAAAAcAAAAFQAAABAAAAAMAAAACAAAAAYAAAAEAAAAAgAAAAEAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAACAAAABQAA + AAgAAAANAAAAEgAAABoAAAAkAAAALwAAAFUAAACaAAAA3wAAAP8AAAD/AwMD/wYFBv8GBgb/BwcH/wcH + B/8HBwf/BwcH/wcHB/8HBwf/BwcH/wcHB/8HBwf/BwcH/wcHB/8HBgf/BwYH/wcGB/8HBgf/BgYG/wYG + Bv8GBgb/BgYG/wYFBv8GBQb/BQUF/wUFBf8FBQX/BQUF/wUEBf8FBAX/BAQE/wQEBP8EBAT/BAME/wMD + A/8DAwP/AwMD/wMCA/8CAgL/AgIC/wICAv8BAQH/AQEB/wEBAf8BAAH/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AQEB/wEBAf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA4gAAAMQAAACiAAAAlQAAAI0AAACDAAAAeQAA + AG0AAABhAAAAVQAAAEkAAAA+AAAANAAAACoAAAAhAAAAGgAAABUAAAAPAAAACwAAAAgAAAAFAAAAAwAA + AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAGAAAACgAA + ABAAAAAVAAAAIAAAACwAAABEAAAAiwAAAN0AAAD/AAAA/wAAAP8AAAD/AAAA/wICAv8GBgb/BwcH/wcH + B/8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8ICAj/CAgI/wgICP8IBwj/CAcI/wgHCP8HBwf/BwcH/wcH + B/8HBwf/BwcH/wcGB/8HBgf/BgYG/wYGBv8GBgb/BgYG/wYFBv8GBQb/BQUF/wUFBf8FBQX/BQQF/wQE + BP8EBAT/BAQE/wQDBP8DAwP/AwMD/wMDA/8DAgP/AgIC/wICAv8CAQL/AQEB/wEBAf8BAAH/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wEBAf8BAQH/AQEB/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+QAAAN0AAACzAAAAmwAA + AJMAAACKAAAAgAAAAHUAAABpAAAAXgAAAFIAAABHAAAAPAAAADEAAAAnAAAAHwAAABcAAAASAAAADQAA + AAkAAAAGAAAABAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAABAAAAAcAAAANAAAAEgAA + ABoAAAAkAAAAMQAAAHsAAADGAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AQEB/wEBAf8AAAD/BAQE/wcH + B/8HBwf/CQgJ/wkJCf8JCQn/CQkJ/wkJCf8JCQn/CQgJ/wkICf8JCAn/CQgJ/wgICP8ICAj/CAgI/wgI + CP8ICAj/CAgI/wgHCP8IBwj/BwcH/wcHB/8HBwf/BwcH/wcGB/8HBgf/BgYG/wYGBv8GBgb/BgUG/wUF + Bf8FBQX/BQUF/wUEBf8EBAT/BAQE/wQEBP8EAwT/AwMD/wMDA/8DAwP/AgIC/wICAv8CAgL/AQEB/wEB + Af8BAQH/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8BAQH/AQEB/wEBAf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AO4AAADFAAAApAAAAJYAAACOAAAAhQAAAHsAAABwAAAAZQAAAFoAAABOAAAAQgAAADYAAAAtAAAAJAAA + ABsAAAAVAAAADwAAAAsAAAAGAAAABQAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAIAAAAEAAAACAAAAA0AAAAVAAAAHwAA + ACoAAABRAAAArQAAAPQAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEBAf8BAQH/AAAA/wEB + Af8HBgf/CAcI/wkJCf8KCQr/CgkK/woJCv8KCQr/CgkK/woJCv8KCQr/CgkK/wkJCf8JCQn/CQkJ/wkJ + Cf8JCQn/CQkJ/wkICf8JCAn/CAgI/wgICP8ICAj/CAgI/wgHCP8IBwj/BwcH/wcHB/8HBwf/BwYH/wYG + Bv8GBgb/BgYG/wYFBv8FBQX/BQUF/wUFBf8FBAX/BAQE/wQEBP8EBAT/AwMD/wMDA/8DAwP/AwID/wIC + Av8CAgL/AQEB/wEBAf8BAQH/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AQEB/wEBAf8BAQH/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAPkAAADRAAAApQAAAJkAAACRAAAAiQAAAIAAAAB2AAAAawAAAF8AAABTAAAASAAA + ADwAAAAxAAAAKAAAAB4AAAAWAAAAEAAAAAsAAAAIAAAABQAAAAMAAAACAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAgAAAAUAAAAIAAAADQAAABUAAAAgAAAALgAA + AHkAAADGAAAA/wMDA/8GBgb/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AQEB/wEB + Af8AAAD/BAQE/wgHCP8JCAn/CgoK/wsKC/8LCgv/CwoL/wsKC/8KCgr/CgoK/woKCv8KCgr/CgoK/woK + Cv8KCQr/CgkK/woJCv8KCQr/CQkJ/wkJCf8JCQn/CQkJ/wkICf8JCAn/CAgI/wgICP8ICAj/CAcI/wgH + CP8HBwf/BwcH/wcGB/8HBgf/BgYG/wYGBv8GBQb/BQUF/wUFBf8FBQX/BQQF/wQEBP8EBAT/BAME/wMD + A/8DAwP/AwID/wICAv8CAgL/AgEC/wEBAf8BAQH/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEBAf8BAQH/AQEB/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADcAAAAqwAAAJkAAACTAAAAiwAAAIMAAAB5AAAAbwAA + AGQAAABYAAAATQAAAEAAAAA0AAAAKQAAAB8AAAAXAAAAEgAAAAwAAAAIAAAABgAAAAMAAAACAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAADAAAABgAAAAkAAAAPAAAAFgAAACEAAAA7AAAAkgAA + AOgBAQH/BgUG/woJCv8LCgv/CwoL/wQEBP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEB + Af8BAQH/AAAA/wAAAP8GBgb/CAgI/woJCv8LCwv/CwsL/wsLC/8LCwv/CwsL/wsLC/8LCwv/CwsL/wsK + C/8LCgv/CwoL/wsKC/8LCgv/CgoK/woKCv8KCgr/CgkK/woJCv8KCQr/CQkJ/wkJCf8JCQn/CQgJ/wkI + Cf8ICAj/CAgI/wgICP8IBwj/BwcH/wcHB/8HBgf/BwYH/wYGBv8GBgb/BgUG/wUFBf8FBQX/BQQF/wQE + BP8EBAT/BAQE/wMDA/8DAwP/AwID/wICAv8CAgL/AgEC/wEBAf8BAQH/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AQEB/wEBAf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADbAAAAqgAAAJkAAACTAAAAjAAA + AIQAAAB7AAAAcQAAAGYAAABaAAAATgAAAEEAAAA2AAAAKwAAACEAAAAZAAAAEwAAAA0AAAAJAAAABgAA + AAMAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAGAAAACgAAABEAAAAYAAAAJAAAAD4AAACfAAAA8wIC + Av8HBwf/CwsL/wsLC/8LCwv/CwsL/wsLC/8IBwj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AQEB/wEBAf8AAAD/AwMD/wcHB/8JCQn/CwsL/wwMDP8MDAz/DAwM/wwMDP8MDAz/DAwM/wwL + DP8MCwz/DAsM/wwLDP8LCwv/CwsL/wsLC/8LCwv/CwoL/wsKC/8LCgv/CgoK/woKCv8KCgr/CgkK/woJ + Cv8JCQn/CQkJ/wkJCf8JCAn/CAgI/wgICP8ICAj/CAcI/wcHB/8HBwf/BwYH/wYGBv8GBgb/BgUG/wUF + Bf8FBQX/BQQF/wQEBP8EBAT/BAQE/wMDA/8DAwP/AwMD/wICAv8CAgL/AgEC/wEBAf8BAQH/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEBAf8BAQH/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADVAAAAogAA + AJcAAACRAAAAiwAAAIQAAAB8AAAAcgAAAGYAAABaAAAATgAAAEMAAAA3AAAALQAAACMAAAAaAAAAEwAA + AA0AAAAJAAAABgAAAAMAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAEAAAABAAAAAgAAAAYAAAAKAAAAEQAAABoAAAAnAAAATwAAALgAAAD/BAQE/wkI + Cf8MCwz/DAsM/wwLDP8MDAz/DAwM/wwMDP8LCgv/CgkK/wICAv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wEBAf8BAQH/AAAA/wAAAP8GBgb/CQkJ/woKCv8NDA3/DQ0N/w0NDf8NDQ3/DQwN/w0M + Df8NDA3/DQwN/w0MDf8MDAz/DAwM/wwMDP8MDAz/DAsM/wwLDP8MCwz/CwsL/wsLC/8LCwv/CwoL/wsK + C/8KCgr/CgoK/woJCv8KCQr/CQkJ/wkJCf8JCQn/CQgJ/wgICP8ICAj/CAcI/wgHCP8HBwf/BwcH/wcG + B/8GBgb/BgYG/wYFBv8FBQX/BQUF/wUEBf8EBAT/BAQE/wMDA/8DAwP/AwID/wICAv8CAgL/AQEB/wEB + Af8BAAH/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQH/AQEB/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + APgAAADNAAAAmAAAAJUAAACPAAAAigAAAIMAAAB6AAAAcQAAAGYAAABcAAAAUAAAAEQAAAA5AAAALgAA + ACMAAAAaAAAAEwAAAAwAAAAJAAAABQAAAAMAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAEAAAACAAAABQAAAAkAAAAQAAAAGQAAACcAAABRAAAAugAAAP8EBAT/CgoK/wwM + DP8MDAz/DAwM/w0MDf8NDA3/DQwN/w0NDf8NDA3/CgoK/wgICP8EAwT/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8BAAH/AQEB/wEBAf8BAAH/AQEB/wgICP8KCQr/DAwM/w4NDv8ODQ7/Dg0O/w4N + Dv8ODQ7/Dg0O/w0NDf8NDQ3/DQ0N/w0NDf8NDQ3/DQwN/w0MDf8NDA3/DAwM/wwMDP8MDAz/DAsM/wwL + DP8LCwv/CwsL/wsKC/8LCgv/CwoL/woKCv8KCgr/CgkK/wkJCf8JCQn/CQkJ/wkICf8ICAj/CAgI/wgH + CP8HBwf/BwcH/wcGB/8GBgb/BgYG/wYFBv8FBQX/BQUF/wUEBf8EBAT/BAQE/wMDA/8DAwP/AwID/wIC + Av8CAgL/AQEB/wEBAf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AQEB/wEBAf8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/w4ODv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAPIAAACxAAAAlQAAAJEAAACMAAAAhgAAAIAAAAB4AAAAcAAAAGYAAABcAAAAUAAA + AEMAAAA3AAAALAAAACEAAAAYAAAAEQAAAAsAAAAIAAAABAAAAAMAAAACAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAQAAAAIAAAADAAAABwAAAA4AAAAXAAAAJAAAAEIAAACuAAAA/wQEBP8LCgv/DAwM/w0M + Df8NDA3/DQ0N/w0NDf8NDQ3/Dg0O/w4NDv8ODQ7/CwoL/wkJCf8HBwf/AAAA/wAAAP8AAAD/AAAA/wAA + AP8BAAH/AQEB/wEBAf8BAQH/AQEB/wICAv8CAgL/AgIC/wAAAP8FBQX/CQkJ/wsKC/8ODQ7/Dw4P/w8O + D/8PDg//Dw4P/w4ODv8ODg7/Dg4O/w4NDv8ODQ7/Dg0O/w4NDv8ODQ7/DQ0N/w0NDf8NDQ3/DQwN/w0M + Df8MDAz/DAwM/wwMDP8MCwz/DAsM/wsLC/8LCwv/CwoL/wsKC/8KCgr/CgkK/woJCv8JCQn/CQkJ/wkI + Cf8ICAj/CAgI/wgHCP8HBwf/BwcH/wcGB/8GBgb/BgYG/wYFBv8FBQX/BQUF/wUEBf8EBAT/BAQE/wMD + A/8DAwP/AgIC/wICAv8CAQL/AQEB/wEBAf8AAAD/AAAA/wAAAP8AAAD/AAAA/wEBAf8BAQH/AQEB/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8kJCT/Ghoa/wgICP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAANcAAACaAAAAkAAAAI0AAACIAAAAhAAAAH4AAAB3AAAAbgAA + AGQAAABZAAAATQAAAEAAAAA1AAAAKgAAACAAAAAXAAAAEQAAAAsAAAAIAAAABAAAAAMAAAACAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAABAAAAAgAAAAMAAAAGAAAADAAAABMAAAAgAAAAPAAAAKEAAAD0BAQE/wsKC/8NDA3/DQ0N/w0N + Df8NDQ3/Dg0O/w4NDv8ODQ7/Dg4O/w4ODv8PDg//DAwM/woKCv8ICAj/AwMD/wAAAP8AAAD/AAAA/wEB + Af8BAQH/AgEC/wICAv8CAgL/AgIC/wICAv8DAwP/AwMD/wQDBP8DAgP/AAAA/wgHCP8LCgv/DQwN/w8P + D/8QDxD/Dw8P/w8PD/8PDw//Dw4P/w8OD/8PDg//Dw4P/w8OD/8PDg//Dg4O/w4ODv8ODQ7/Dg0O/w4N + Dv8NDQ3/DQ0N/w0NDf8NDA3/DQwN/wwMDP8MDAz/DAsM/wwLDP8LCwv/CwsL/wsKC/8KCgr/CgoK/woJ + Cv8KCQr/CQkJ/wkJCf8JCAn/CAgI/wgICP8IBwj/BwcH/wcGB/8GBgb/BgYG/wYFBv8FBQX/BQUF/wQE + BP8EBAT/BAME/wMDA/8DAwP/AgIC/wEBAf8BAQH/AQEB/wEAAf8AAAD/AAAA/wAAAP8BAQH/AQEB/wEB + Af8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/JCQk/yAgIP8dHR3/EBAQ/wEBAf8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+AAAALMAAACPAAAAiwAAAIkAAACFAAAAgAAA + AHoAAABzAAAAagAAAGEAAABVAAAASgAAAD4AAAAyAAAAKAAAAB4AAAAVAAAAEAAAAAsAAAAHAAAABAAA + AAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAEAAAABAAAAAgAAAAYAAAAKAAAAEwAAABwAAAArAAAAhQAAAPMDAwP/CgkK/w0NDf8NDQ3/Dg0O/w4N + Dv8ODQ7/Dg4O/w4ODv8PDg//Dw4P/w8OD/8PDw//Dw4P/wsLC/8JCQn/BgUG/wAAAP8AAAD/AAAA/wAA + AP8CAgL/AwID/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wQEBP8FBAX/BQUF/wEBAf8DAwP/CgkK/wsL + C/8PDg//EBAQ/xAQEP8QEBD/EA8Q/xAPEP8QDxD/EA8Q/xAPEP8PDw//Dw8P/w8PD/8PDg//Dw4P/w8O + D/8ODg7/Dg4O/w4NDv8ODQ7/Dg0O/w0NDf8NDQ3/DQwN/w0MDf8MDAz/DAwM/wwLDP8MCwz/CwsL/wsK + C/8LCgv/CgoK/woKCv8KCQr/CQkJ/wkJCf8JCAn/CAgI/wgICP8IBwj/BwcH/wcGB/8GBgb/BgYG/wYF + Bv8FBQX/BQQF/wQEBP8EBAT/AwMD/wMCA/8CAQL/AQEB/wEBAf8BAQH/AQEB/wAAAP8AAAD/AQEB/wEB + Af8BAQH/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/yEhIf8gICD/HR0d/xoaGv8WFhb/CAgI/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA1AAAAJQAAACKAAAAhwAA + AIQAAACAAAAAewAAAHUAAABuAAAAZgAAAFwAAABSAAAARgAAADsAAAAwAAAAJQAAABwAAAAVAAAADgAA + AAoAAAAGAAAABAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAEAAAACAAAABAAAAAgAAAAQAAAAGQAAACcAAABqAAAA3QEBAf8KCQr/DQ0N/w4NDv8ODQ7/Dg4O/w4O + Dv8PDg//Dw4P/w8OD/8PDw//Dw8P/xAPEP8QDxD/EA8Q/w0MDf8KCgr/CAgI/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AQEB/wQDBP8EBAT/BAQE/wQEBP8EBAT/BAQE/wUEBf8FBQX/BgUG/wYGBv8FBQX/AAAA/wcH + B/8LCwv/DQ0N/xEQEf8REBH/ERAR/xEQEf8REBH/ERAR/xEQEf8QEBD/EBAQ/xAPEP8QDxD/EA8Q/xAP + EP8PDw//Dw8P/w8OD/8PDg//Dw4P/w4ODv8ODg7/Dg0O/w4NDv8NDQ3/DQ0N/w0MDf8NDA3/DAwM/wwM + DP8MCwz/CwsL/wsLC/8LCgv/CgoK/woKCv8KCQr/CQkJ/wkJCf8JCAn/CAgI/wgICP8IBwj/BwcH/wcG + B/8GBgb/BgYG/wUFBf8FBQX/BQQF/wQEBP8DAwP/AgIC/wICAv8BAQH/AQEB/wEBAf8BAQH/AQAB/wEB + Af8BAQH/AQEB/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8aGhr/ICAg/x0dHf8aGhr/FxcX/xQU + FP8ODg7/AgIC/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADFAAAAiQAA + AIcAAACEAAAAggAAAH8AAAB7AAAAdgAAAHAAAABpAAAAYQAAAFgAAABNAAAAQwAAADcAAAAtAAAAIwAA + ABoAAAATAAAADAAAAAgAAAAFAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA + AAEAAAADAAAABgAAAAwAAAAVAAAAIwAAAEEAAAC6AAAA/wcGB/8ODQ7/Dg0O/w4ODv8PDg//Dw4P/w8O + D/8PDw//Dw8P/xAPEP8QDxD/EA8Q/xAQEP8QEBD/ERAR/w8PD/8LCwv/CQgJ/wMDA/8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8EBAT/BQUF/wUFBf8FBQX/BQUF/wYFBv8GBQb/BgUG/wYGBv8HBwf/BwcH/wQD + BP8BAQH/CgkK/wwMDP8PDw//EhES/xIREv8SERL/EhES/xIREv8RERH/ERER/xEQEf8REBH/ERAR/xEQ + Ef8QEBD/EBAQ/xAPEP8QDxD/EA8Q/w8PD/8PDw//Dw4P/w8OD/8PDg//Dg4O/w4NDv8ODQ7/DQ0N/w0N + Df8NDA3/DQwN/wwMDP8MCwz/DAsM/wsLC/8LCgv/CwoL/woKCv8KCQr/CQkJ/wkJCf8JCAn/CAgI/wgI + CP8HBwf/BwcH/wcGB/8GBgb/BgUG/wUFBf8FBQX/BAQE/wMDA/8DAgP/AgIC/wIBAv8BAQH/AQEB/wEB + Af8BAQH/AQEB/wEBAf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/Ghoa/yAgIP8dHR3/Ghoa/xcX + F/8UFBT/ExMT/xAQEP8GBgb/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA6AAA + AIcAAACGAAAAgwAAAIIAAACAAAAAfAAAAHoAAAB1AAAAcAAAAGoAAABkAAAAWwAAAFMAAABJAAAAPgAA + ADMAAAApAAAAHwAAABcAAAAQAAAACgAAAAcAAAAEAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA + AAIAAAAEAAAACQAAABEAAAAcAAAALQAAAIgAAAD0BAQE/wwMDP8ODg7/Dg4O/w8OD/8PDg//Dw8P/xAP + EP8QDxD/EA8Q/xAQEP8QEBD/ERAR/xEQEf8REBH/ERER/xEQEf8NDA3/CgoK/wcHB/8AAAD/AAAA/wEA + Af8BAQH/AQEB/wEBAf8AAAD/AwID/wYGBv8GBgb/BgYG/wYGBv8HBgf/BwYH/wcHB/8HBwf/CAgI/wgI + CP8ICAj/AQEB/wUEBf8LCwv/Dg0O/xIREv8TEhP/ExIT/xISEv8SEhL/EhIS/xIREv8SERL/EhES/xIR + Ev8RERH/ERER/xEQEf8REBH/ERAR/xAQEP8QEBD/EA8Q/xAPEP8QDxD/Dw8P/w8OD/8PDg//Dg4O/w4O + Dv8ODQ7/Dg0O/w0NDf8NDA3/DQwN/wwMDP8MCwz/DAsM/wsLC/8LCgv/CwoL/woKCv8KCQr/CQkJ/wkJ + Cf8JCAn/CAgI/wgHCP8HBwf/BwcH/wcGB/8GBgb/BgUG/wUFBf8DAwP/AwMD/wMDA/8CAgL/AgIC/wEB + Af8BAQH/AgIC/wICAv8BAQH/AQAB/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/xoaGv8gICD/HR0d/xoa + Gv8XFxf/FBQU/xMTE/8QEBD/DQ0N/wkJCf8CAgL/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAACFAAAAgwAAAIIAAACAAAAAfgAAAHwAAAB6AAAAdwAAAHQAAABvAAAAawAAAGUAAABfAAAAVwAA + AE4AAABEAAAAOQAAAC8AAAAlAAAAGwAAABQAAAAOAAAACQAAAAYAAAADAAAAAQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAA + AAMAAAAGAAAADAAAABYAAAAlAAAAUQAAANEBAQH/CgoK/w4ODv8PDg//Dw4P/w8PD/8QDxD/EA8Q/xAP + EP8QEBD/ERAR/xEQEf8REBH/ERER/xIREv8SERL/EhES/xIREv8QDxD/CwsL/wkJCf8CAgL/AAAA/wEB + Af8CAQL/AgIC/wICAv8CAgL/AgIC/wAAAP8HBwf/BwcH/wcHB/8IBwj/CAcI/wgICP8ICAj/CAgI/wgI + CP8JCQn/CQkJ/wcHB/8AAAD/CAgI/w0MDf8QDxD/ExIT/xMTE/8TEhP/ExIT/xMSE/8TEhP/ExIT/xMS + E/8SEhL/EhIS/xIREv8SERL/EhES/xIREv8RERH/ERAR/xEQEf8REBH/EBAQ/xAPEP8QDxD/EA8Q/w8P + D/8PDg//Dw4P/w4ODv8ODQ7/Dg0O/w0NDf8NDQ3/DQwN/wwMDP8MDAz/DAsM/wsLC/8LCgv/CwoL/woK + Cv8KCQr/CQkJ/wkJCf8JCAn/CAgI/wgHCP8HBwf/BwYH/wYGBv8GBgb/BAME/wMDA/8DAwP/AwMD/wMC + A/8CAgL/AgEC/wICAv8DAgP/AgIC/wIBAv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8aGhr/ICAg/x0d + Hf8aGhr/FxcX/xQUFP8TExP/EBAQ/w0NDf8KCgr/BwcH/wMDA/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAAkgAAAIAAAAB/AAAAfgAAAHwAAAB6AAAAeAAAAHYAAAB0AAAAcQAAAG4AAABrAAAAZQAA + AGAAAABYAAAAUQAAAEgAAAA9AAAAMwAAACkAAAAgAAAAGAAAABEAAAALAAAABwAAAAQAAAACAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAA + AAQAAAAIAAAAEQAAABwAAAAtAAAAlQAAAPQGBgb/Dg0O/w8OD/8PDg//Dw8P/xAPEP8QDxD/EBAQ/xEQ + Ef8REBH/ERAR/xEREf8SERL/EhES/xIREv8SEhL/ExIT/xMSE/8SEhL/DQ0N/woKCv8GBgb/AAAA/wIC + Av8CAgL/AwID/wMDA/8DAwP/AwMD/wMDA/8BAQH/BQUF/wgICP8JCAn/CQgJ/wkICf8JCQn/CQkJ/wkJ + Cf8JCQn/CgoK/woKCv8KCgr/BAQE/wICAv8LCwv/DQ0N/xEREf8TExP/ExMT/xMTE/8TExP/ExMT/xMT + E/8TExP/ExIT/xMSE/8TEhP/ExIT/xMSE/8SEhL/EhES/xIREv8SERL/ERER/xEQEf8REBH/ERAR/xAQ + EP8QDxD/EA8Q/w8PD/8PDg//Dw4P/w8OD/8ODg7/Dg0O/w4NDv8NDQ3/DQwN/wwMDP8MDAz/DAsM/wsL + C/8LCgv/CgoK/woKCv8KCQr/CQkJ/wkICf8ICAj/CAgI/wcHB/8HBwf/BwYH/wUEBf8EAwT/AwMD/wMD + A/8DAwP/AwMD/wICAv8CAgL/AwMD/wMDA/8CAgL/AQEB/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/Ghoa/yAg + IP8dHR3/Ghoa/xcXF/8UFBT/ExMT/xAQEP8NDQ3/CgoK/wcHB/8EBAT/AQEB/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAJ8AAAB+AAAAfQAAAHsAAAB5AAAAeAAAAHYAAAB0AAAAcgAAAHAAAABuAAAAawAA + AGgAAABkAAAAXwAAAFkAAABSAAAASgAAAEEAAAA3AAAALgAAACUAAAAcAAAAFAAAAA4AAAAJAAAABgAA + AAMAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAA + AAUAAAALAAAAFQAAACQAAABEAAAA0QEBAf8LCgv/Dw4P/w8PD/8QDxD/EA8Q/xAQEP8REBH/ERAR/xEQ + Ef8RERH/EhES/xIREv8SEhL/EhIS/xMSE/8TEhP/ExIT/xMTE/8TExP/ERAR/wwMDP8JCQn/AAAA/wIB + Av8DAwP/AwMD/wQDBP8EBAT/BAQE/wQEBP8FBAX/AwMD/wEBAf8JCQn/CgkK/woJCv8KCQr/CgoK/woK + Cv8KCgr/CgoK/woKCv8LCwv/DAsM/wsKC/8AAAD/BgYG/wwMDP8PDg//ExMT/xMTE/8TExP/ExMT/xMT + E/8TExP/ExMT/xMTE/8TExP/ExMT/xMTE/8TExP/ExIT/xMSE/8TEhP/EhIS/xISEv8SERL/EhES/xER + Ef8REBH/ERAR/xEQEf8QEBD/EA8Q/xAPEP8PDw//Dw4P/w8OD/8ODg7/Dg0O/w4NDv8NDQ3/DQwN/wwM + DP8MDAz/DAsM/wsLC/8LCgv/CgoK/woJCv8KCQr/CQkJ/wkICf8ICAj/CAcI/wcHB/8GBQb/BAQE/wQE + BP8DAwP/AwMD/wMDA/8DAwP/AwMD/wQEBP8DAwP/AwMD/wICAv8BAQH/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/xoa + Gv8gICD/HR0d/xoaGv8XFxf/FBQU/xMTE/8QEBD/DQ0N/woKCv8HBwf/BAQE/wEBAf8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAACuAAAAfAAAAHoAAAB4AAAAdgAAAHUAAABzAAAAcgAAAHAAAABuAAAAbAAA + AGoAAABoAAAAZQAAAGEAAABdAAAAWQAAAFIAAABLAAAARAAAADoAAAAyAAAAKAAAAB8AAAAXAAAAEAAA + AAsAAAAHAAAABAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAwAA + AAcAAAAPAAAAGwAAACwAAAB9AAAA9AYGBv8ODg7/Dw8P/xAPEP8QDxD/EBAQ/xEQEf8REBH/ERER/xIR + Ev8SERL/EhIS/xISEv8TEhP/ExIT/xMSE/8TExP/ExMT/xMTE/8TExP/ExMT/w8OD/8LCgv/BQQF/wAA + AP8EBAT/BAQE/wQEBP8FBAX/BQUF/wUFBf8FBQX/BgUG/wYFBv8AAAD/CAcI/wsKC/8LCgv/CwoL/wsL + C/8LCwv/CwsL/wsLC/8MCwz/DAwM/w0MDf8NDA3/CQgJ/wAAAP8KCgr/Dg0O/xEQEf8TExP/FBMU/xQT + FP8TExP/ExMT/xMTE/8TExP/ExMT/xMTE/8TExP/ExMT/xMTE/8TExP/ExMT/xMSE/8TEhP/ExIT/xIS + Ev8SEhL/EhES/xIREv8RERH/ERAR/xEQEf8QEBD/EA8Q/xAPEP8PDw//Dw4P/w8OD/8ODg7/Dg0O/w4N + Dv8NDQ3/DQwN/wwMDP8MCwz/DAsM/wsLC/8LCgv/CgoK/woJCv8JCQn/CQkJ/wgICP8ICAj/BwYH/wQE + BP8EBAT/BAQE/wQDBP8DAwP/AwMD/wMDA/8EBAT/BAQE/wQDBP8CAgL/AQEB/wEBAf8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8aGhr/ICAg/x0dHf8aGhr/FxcX/xQUFP8TExP/EBAQ/w0NDf8KCgr/BwcH/wQEBP8BAQH/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAAvAAAAHkAAAB3AAAAdQAAAHQAAAByAAAAcAAAAG8AAABtAAAAawAA + AGoAAABoAAAAZgAAAGQAAABhAAAAXgAAAFsAAABXAAAAUgAAAEwAAABEAAAAPQAAADQAAAArAAAAIgAA + ABkAAAATAAAADAAAAAgAAAAEAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAwAA + AAgAAAASAAAAIAAAADUAAACwAQAB/woKCv8PDw//EA8Q/xAPEP8QEBD/ERAR/xEQEf8RERH/EhES/xIR + Ev8SEhL/ExIT/xMSE/8TEhP/ExMT/xMTE/8TExP/ExMT/xMTE/8TExP/ExMT/xEREf8MDAz/CAgI/wAA + AP8DAwP/BQUF/wUFBf8FBQX/BgUG/wYGBv8GBgb/BgYG/wcGB/8HBgf/BAQE/wMCA/8MCwz/DAsM/wwM + DP8MDAz/DAwM/wwMDP8NDA3/DQwN/w0MDf8ODQ7/Dg0O/w4NDv8EBAT/AgIC/wwMDP8PDw//ExMT/xUU + Ff8UFBT/FBMU/xQTFP8UExT/FBMU/xQTFP8TExP/ExMT/xMTE/8TExP/ExMT/xMTE/8TExP/ExMT/xMT + E/8TEhP/ExIT/xMSE/8SEhL/EhES/xIREv8RERH/ERAR/xEQEf8QEBD/EA8Q/xAPEP8PDw//Dw4P/w8O + D/8ODg7/Dg0O/w0NDf8NDQ3/DQwN/wwMDP8MCwz/CwsL/wsKC/8LCgv/CgoK/woJCv8JCQn/CQgJ/wgH + CP8FBAX/BAQE/wQEBP8EBAT/BAME/wMDA/8DAgP/BQUF/wUFBf8EBAT/AwMD/wICAv8CAQL/AQEB/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/ExMT/yAgIP8dHR3/Ghoa/xcXF/8UFBT/ExMT/xAQEP8NDQ3/CgoK/wcHB/8EBAT/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAALsAAAB2AAAAdQAAAHMAAABxAAAAbwAAAG4AAABsAAAAagAA + AGkAAABnAAAAZQAAAGQAAABiAAAAYAAAAF0AAABbAAAAVwAAAFUAAABQAAAASgAAAEUAAAA+AAAANgAA + AC0AAAAkAAAAHAAAABUAAAAOAAAACQAAAAYAAAADAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAABAAA + AAoAAAAVAAAAJQAAAFQAAADfAwID/w4NDv8QDxD/EBAQ/xEQEf8REBH/ERER/xIREv8SERL/EhIS/xMS + E/8TEhP/ExIT/xMTE/8TExP/ExMT/xMTE/8TExP/ExMT/xMTE/8TExP/FBMU/xMTE/8PDg//CwoL/wQE + BP8BAQH/BgUG/wYGBv8GBgb/BwYH/wcGB/8HBwf/BwcH/wcHB/8IBwj/CAgI/wgHCP8AAAD/CgoK/w0N + Df8NDQ3/DQ0N/w0NDf8ODQ7/Dg0O/w4NDv8ODQ7/Dg0O/w8OD/8PDg//Dg0O/wEBAf8GBgb/Dg0O/xEQ + Ef8UExT/FRQV/xUUFf8VFBX/FRQV/xUUFf8UFBT/FBMU/xQTFP8UExT/FBMU/xMTE/8TExP/ExMT/xMT + E/8TExP/ExMT/xMTE/8TExP/ExIT/xMSE/8TEhP/EhIS/xIREv8SERL/ERER/xEQEf8REBH/EBAQ/xAP + EP8PDw//Dw4P/w8OD/8ODg7/Dg0O/w0NDf8NDA3/DQwN/wwMDP8MCwz/CwsL/wsKC/8KCgr/CgkK/wkJ + Cf8JCQn/BQUF/wUFBf8EBAT/BAQE/wQEBP8EBAT/AwMD/wUFBf8FBQX/BQUF/wQEBP8DAwP/AgIC/wIB + Av8BAQH/AQAB/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/xISEv8gICD/HR0d/xoaGv8XFxf/FBQU/xMTE/8QEBD/DQ0N/woKCv8HBwf/BAQE/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAC6AAAAcwAAAHIAAABwAAAAbgAAAG0AAABrAAAAaQAA + AGgAAABmAAAAZAAAAGMAAABhAAAAXwAAAF0AAABbAAAAWQAAAFcAAABUAAAAUQAAAE4AAABJAAAARAAA + AD0AAAA2AAAALgAAACUAAAAdAAAAFQAAABAAAAAKAAAABgAAAAMAAAACAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAABAAA + AAsAAAAXAAAAKAAAAHwAAAD0BwYH/xAPEP8QDxD/ERAR/xEQEf8RERH/EhES/xIREv8SEhL/ExIT/xMS + E/8TExP/ExMT/xMTE/8TExP/ExMT/xMTE/8TExP/ExMT/xQTFP8UExT/FBMU/xQTFP8REBH/DQwN/wgI + CP8AAAD/BQUF/wcGB/8HBwf/BwcH/wgHCP8IBwj/CAgI/wgICP8ICAj/CQgJ/wkJCf8JCQn/BQUF/wUF + Bf8ODQ7/Dg4O/w4ODv8PDg//Dw4P/w8OD/8PDg//Dw4P/w8OD/8QDxD/EA8Q/xAPEP8LCwv/AQEB/wsK + C/8PDg//EhIS/xYVFv8WFRb/FhUW/xYVFv8VFBX/FRQV/xUUFf8VFBX/FRQV/xQUFP8UExT/FBMU/xQT + FP8TExP/ExMT/xMTE/8TExP/ExMT/xMTE/8TExP/ExMT/xMSE/8TEhP/EhIS/xIREv8SERL/ERER/xEQ + Ef8REBH/EA8Q/xAPEP8PDw//Dw4P/w8OD/8ODQ7/Dg0O/w0NDf8NDA3/DAwM/wwLDP8LCwv/CwsL/wsK + C/8KCgr/CgkK/wYGBv8FBQX/BQUF/wUEBf8EBAT/BAQE/wQEBP8FBQX/BgYG/wUFBf8FBQX/BAME/wMD + A/8CAgL/AgIC/wEBAf8BAAH/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8SEhL/ICAg/x0dHf8aGhr/FxcX/xQUFP8TExP/EBAQ/w0NDf8KCgr/BwcH/wQE + BP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA0wAAAHEAAABvAAAAbQAAAGwAAABqAAAAaAAA + AGcAAABlAAAAYwAAAGIAAABgAAAAXgAAAFwAAABaAAAAWQAAAFcAAABVAAAAUgAAAFAAAABNAAAASgAA + AEYAAABBAAAAPAAAADUAAAAuAAAAJgAAAB4AAAAXAAAAEQAAAAwAAAAHAAAABAAAAAIAAAABAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAABQAA + AAwAAAAYAAAALAAAAKEBAAH/CwoL/xAPEP8QEBD/ERAR/xEREf8SERL/EhES/xISEv8TEhP/ExIT/xMT + E/8TExP/ExMT/xMTE/8TExP/ExMT/xMTE/8UExT/FBMU/xQTFP8UFBT/FRQV/xUUFf8TExP/Dg4O/wsL + C/8DAgP/AgIC/wcHB/8IBwj/CAgI/wgICP8JCAn/CQgJ/wkJCf8JCQn/CgkK/woJCv8KCQr/CwoL/woJ + Cv8AAAD/DQ0N/w8PD/8QDxD/EA8Q/xAPEP8QDxD/EA8Q/xAPEP8QDxD/EA8Q/xEQEf8REBH/ERAR/wUF + Bf8DAwP/DQwN/xAQEP8TExP/FxYX/xcWF/8WFRb/FhUW/xYVFv8WFRb/FhUW/xUUFf8VFBX/FRQV/xUU + Ff8UFBT/FBMU/xQTFP8UExT/ExMT/xMTE/8TExP/ExMT/xMTE/8TExP/ExMT/xMSE/8TEhP/EhIS/xIR + Ev8SERL/ERER/xEQEf8REBH/EA8Q/xAPEP8PDw//Dw4P/w4ODv8ODQ7/Dg0O/w0NDf8NDA3/DAwM/wwL + DP8LCwv/CwoL/woKCv8IBwj/BQUF/wUFBf8FBQX/BQQF/wQEBP8EAwT/BQQF/wcGB/8GBgb/BgUG/wQE + BP8DAwP/AwMD/wICAv8CAgL/AQEB/wEAAf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/EhIS/yAgIP8dHR3/Ghoa/xcXF/8UFBT/ExMT/xAQEP8NDQ3/CgoK/wcH + B/8EBAT/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAANsAAABuAAAAbAAAAGsAAABpAAAAZwAA + AGYAAABkAAAAYgAAAGEAAABfAAAAXQAAAFsAAABZAAAAWAAAAFYAAABUAAAAUgAAAFAAAABOAAAASwAA + AEoAAABGAAAAQwAAAD8AAAA5AAAANAAAAC0AAAAmAAAAHwAAABgAAAASAAAADQAAAAgAAAAFAAAAAwAA + AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAABgAA + AA4AAAAbAAAAPAAAALoCAgL/DQ0N/xAQEP8REBH/ERER/xIREv8SERL/EhIS/xMSE/8TEhP/ExMT/xMT + E/8TExP/ExMT/xMTE/8TExP/FBMU/xQTFP8UExT/FBQU/xUUFf8VFBX/FRQV/xYVFv8VFBX/ERAR/w0M + Df8IBwj/AAAA/wcHB/8ICAj/CQgJ/wkJCf8JCQn/CgkK/woJCv8KCgr/CgoK/wsKC/8LCgv/CwsL/wwM + DP8MDAz/AQEB/wcHB/8QEBD/ERAR/xEQEf8REBH/ERAR/xEQEf8REBH/ERAR/xEREf8RERH/EhIS/xIR + Ev8REBH/AQEB/wcHB/8ODg7/EhIS/xYVFv8XFhf/FxYX/xcWF/8XFhf/FxYX/xYVFv8WFRb/FhUW/xYV + Fv8WFRb/FRQV/xUUFf8VFBX/FBQU/xQTFP8UExT/FBMU/xMTE/8TExP/ExMT/xMTE/8TExP/ExMT/xMS + E/8TEhP/EhIS/xIREv8SERL/ERER/xEQEf8QEBD/EA8Q/xAPEP8PDg//Dw4P/w4ODv8ODQ7/DQ0N/w0M + Df8MDAz/DAsM/wsLC/8LCgv/CQkJ/wYFBv8FBQX/BQUF/wUEBf8EBAT/BAQE/wQEBP8HBwf/BwYH/wYG + Bv8FBQX/BAQE/wQDBP8DAwP/AgIC/wICAv8BAQH/AQEB/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/xISEv8gICD/HR0d/xoaGv8XFxf/FBQU/xMTE/8QEBD/DQ0N/woK + Cv8HBwf/BAQE/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADaAAAAawAAAGoAAABoAAAAZgAA + AGQAAABjAAAAYQAAAF8AAABdAAAAXAAAAFoAAABYAAAAVgAAAFQAAABTAAAAUQAAAE8AAABNAAAASwAA + AEkAAABHAAAARAAAAEMAAAA/AAAAPAAAADcAAAAyAAAALAAAACYAAAAfAAAAGAAAABMAAAANAAAACQAA + AAYAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAABwAA + ABAAAAAfAAAAQAAAAN0DAwP/Dw8P/xEQEf8REBH/EhES/xIREv8SEhL/ExIT/xMSE/8TExP/ExMT/xMT + E/8TExP/ExMT/xMTE/8UExT/FBMU/xQTFP8VFBX/FRQV/xUUFf8WFRb/FhUW/xYVFv8WFRb/FBMU/w8P + D/8LCwv/AwID/wMDA/8JCQn/CQkJ/woJCv8KCgr/CgoK/wsKC/8LCgv/CwsL/wsLC/8MCwz/DAsM/w0M + Df8NDQ3/CQkJ/wEBCP8BAQH/EBAQ/xIREv8SERL/EhES/xIREv8SERL/EhIS/xISEv8SEhL/EhIS/xMS + E/8TExP/ExMT/w0NDf8AAAD/CwsL/xAPEP8TExP/GBcY/xgXGP8YFxj/GBcY/xcWF/8XFhf/FxYX/xcW + F/8XFhf/FhUW/xYVFv8WFRb/FhUW/xUUFf8VFBX/FRQV/xQTFP8UExT/FBMU/xMTE/8TExP/ExMT/xMT + E/8TExP/ExMT/xMSE/8TEhP/EhIS/xIREv8SERL/ERAR/xEQEf8QEBD/EA8Q/w8PD/8PDg//Dg4O/w4N + Dv8ODQ7/DQ0N/w0MDf8MDAz/DAsM/woKCv8GBQb/BQUF/wUFBf8FBQX/BQQF/wQEBP8EBAT/CAcI/wcH + B/8HBwf/BgYG/wUEBf8EBAT/BAME/wMDA/8CAgL/AgIC/wEBAf8BAQH/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8SEhL/ICAg/x0dHf8aGhr/FxcX/xQUFP8TExP/EBAQ/w0N + Df8KCgr/BwcH/wMDA/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA2QAAAGkAAABnAAAAZQAA + AGMAAABiAAAAYAAAAF4AAABcAAAAWwAAAFkAAABXAAAAVQAAAFMAAABRAAAATwAAAE4AAABMAAAASgAA + AEgAAABGAAAARAAAAEMAAABAAAAAPgAAADoAAAA3AAAAMwAAAC8AAAAqAAAAJQAAAB4AAAAYAAAAEwAA + AA4AAAAJAAAABgAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAABwAA + ABEAAAAhAAAAXQAAAOkGBgb/ERAR/xEQEf8RERH/EhES/xISEv8TEhP/ExIT/xMTE/8TExP/ExMT/xMT + E/8TExP/ExMT/xQTFP8UExT/FBQU/xUUFf8VFBX/FRQV/xYVFv8WFRb/FhUW/xcWF/8XFhf/FxYX/xIR + Ev8NDQ3/BwcH/wAAAP8JCAn/CgoK/woKCv8LCgv/CwsL/wsLC/8MCwz/DAsM/wwMDP8MDAz/DQwN/w0M + Df8ODQ7/Dg4O/wUFBf8EBSP/AgMU/wkJCf8TEhP/ExIT/xMSE/8TEhP/ExIT/xMSE/8TExP/ExMT/xMT + E/8TExP/ExMT/xMTE/8TExP/BgYG/wMDA/8NDQ3/ERER/xUUFf8ZGBn/GRgZ/xgXGP8YFxj/GBcY/xgX + GP8YFxj/FxYX/xcWF/8XFhf/FxYX/xYVFv8WFRb/FhUW/xUUFf8VFBX/FRQV/xQUFP8UExT/FBMU/xMT + E/8TExP/ExMT/xMTE/8TExP/ExMT/xMSE/8TEhP/EhIS/xIREv8RERH/ERAR/xEQEf8QDxD/EA8Q/w8P + D/8PDg//Dg4O/w4NDv8NDQ3/DQwN/wwMDP8MCwz/BgYG/wYFBv8FBQX/BQUF/wUFBf8FBAX/BAQE/wcH + B/8ICAj/BwcH/wcHB/8FBQX/BQQF/wQEBP8EAwT/AwMD/wICAv8CAgL/AQEB/wEBAf8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/EhIS/yAgIP8dHR3/Ghoa/xcXF/8UFBT/ExMT/xAQ + EP8NDQ3/CgoK/wcHB/8DAwP/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAANkAAABmAAAAZAAA + AGMAAABhAAAAXwAAAF0AAABbAAAAWgAAAFgAAABWAAAAVAAAAFIAAABQAAAATwAAAE0AAABLAAAASQAA + AEcAAABFAAAAQwAAAEEAAAA/AAAAPQAAADsAAAA4AAAANwAAADIAAAAwAAAALAAAACcAAAAjAAAAHQAA + ABcAAAASAAAADQAAAAkAAAAGAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAABgAA + ABAAAAAhAAAAXgAAAPQICAj/ERAR/xEREf8SERL/EhES/xMSE/8TEhP/ExMT/xMTE/8TExP/ExMT/xMT + E/8TExP/FBMU/xQTFP8VFBX/FRQV/xUUFf8WFRb/FhUW/xYVFv8XFhf/FxYX/xcWF/8XFhf/GBcY/xUU + Ff8QDxD/CwsL/wMDA/8FBQX/CwoL/wsLC/8LCwv/DAsM/wwMDP8MDAz/DQwN/w0MDf8NDQ3/DQ0N/w4N + Dv8ODg7/Dw4P/w4ODv8AAAD/CAlE/wkJR/8BAQH/ExMT/xMTE/8TExP/ExMT/xMTE/8TExP/ExMT/xMT + E/8TExP/ExMT/xMTE/8TExP/ExMT/xMTE/8BAQH/BgYG/w8OD/8TExP/GBcY/xkYGf8ZGBn/GRgZ/xkY + Gf8ZGBn/GBcY/xgXGP8YFxj/GBcY/xcWF/8XFhf/FxYX/xcWF/8WFRb/FhUW/xYVFv8VFBX/FRQV/xUU + Ff8UExT/FBMU/xMTE/8TExP/ExMT/xMTE/8TExP/ExMT/xMSE/8TEhP/EhES/xIREv8RERH/ERAR/xAQ + EP8QDxD/Dw8P/w8OD/8ODg7/Dg0O/w0NDf8NDA3/DAwM/wgHCP8GBgb/BgUG/wUFBf8FBQX/BQUF/wUE + Bf8HBgf/CQgJ/wgICP8IBwj/BgYG/wUFBf8FBAX/BAQE/wQDBP8DAwP/AgIC/wICAv8BAQH/AQEB/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/xISEv8gICD/HR0d/xoaGv8XFxf/FBQU/xMT + E/8QEBD/DQ0N/woKCv8HBwf/AwMD/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADYAAAAYwAA + AGEAAABgAAAAXgAAAFwAAABaAAAAWQAAAFcAAABVAAAAUwAAAFEAAABPAAAATQAAAEsAAABKAAAASAAA + AEYAAABEAAAAQgAAAEAAAAA+AAAAPAAAADoAAAA4AAAANgAAADQAAAAxAAAALwAAACsAAAAoAAAAJQAA + ACAAAAAbAAAAFgAAABEAAAANAAAACQAAAAUAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAABQAA + AA4AAAAeAAAAaQAAAPQKCgr/ERAR/xIREv8SERL/EhIS/xMSE/8TEhP/ExMT/xMTE/8TExP/ExMT/xMT + E/8UExT/FBMU/xUUFf8VFBX/FRQV/xYVFv8WFRb/FhUW/xcWF/8XFhf/FxYX/xgXGP8YFxj/GBcY/xgX + GP8TEhP/Dg0O/wgICP8AAAD/CwoL/wwLDP8MDAz/DAwM/w0MDf8NDQ3/DQ0N/w4NDv8ODQ7/Dg4O/w8O + D/8PDg//EA8Q/xAQEP8KCgr/AgIR/woMU/8MDmn/AwQa/w0MDf8TExP/ExMT/xMTE/8TExP/ExMT/xQT + FP8UExT/FBMU/xQTFP8UExT/FBMU/xQUFP8UFBT/ERAR/wAAAP8KCgr/EBAQ/xMTE/8aGBr/Ghka/xoZ + Gv8aGRr/GRgZ/xkYGf8ZGBn/GRgZ/xgXGP8YFxj/GBcY/xgXGP8XFhf/FxYX/xcWF/8WFRb/FhUW/xYV + Fv8VFBX/FRQV/xUUFf8UExT/FBMU/xMTE/8TExP/ExMT/xMTE/8TExP/ExIT/xMSE/8SEhL/EhES/xIR + Ev8REBH/ERAR/xAPEP8QDxD/Dw4P/w8OD/8ODQ7/Dg0O/w0NDf8KCQr/BgYG/wYGBv8GBQb/BQUF/wUF + Bf8FBQX/BgYG/wkJCf8JCAn/CAgI/wcHB/8GBgb/BQUF/wUFBf8EBAT/BAME/wMDA/8CAgL/AgIC/wEB + Af8BAAH/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8aGhr/ICAg/x0dHf8aGhr/FxcX/xQU + FP8TExP/EBAQ/w0NDf8KCgr/BwcH/wICAv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA1wAA + AGAAAABeAAAAXAAAAFsAAABZAAAAVwAAAFUAAABUAAAAUgAAAFAAAABOAAAATAAAAEoAAABIAAAARgAA + AEUAAABDAAAAQQAAAD8AAAA9AAAAOwAAADkAAAA3AAAANQAAADMAAAAxAAAALwAAAC0AAAAqAAAAKAAA + ACQAAAAhAAAAHQAAABgAAAAUAAAAEAAAAAsAAAAHAAAABAAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAABAAA + AAsAAAAaAAAAfgAAAP8KCgr/ERER/xIREv8SEhL/ExIT/xMSE/8TExP/ExMT/xMTE/8TExP/ExMT/xQT + FP8UExT/FRQV/xUUFf8VFBX/FhUW/xYVFv8WFRb/FxYX/xcWF/8XFhf/GBcY/xgXGP8YFxj/GRgZ/xkY + Gf8WFRb/ERAR/wwMDP8DAwP/BgYG/wwMDP8NDA3/DQ0N/w0NDf8ODQ7/Dg0O/w4ODv8PDg//Dw4P/w8P + D/8QDxD/EA8Q/xEQEf8RERH/BAQE/wUGLP8LDVj/DQ9v/wgKRf8CAgL/FBMU/xQUFP8UFBT/FRQV/xUU + Ff8VFBX/FRQV/xUUFf8VFBX/FRQV/xUUFf8VFBX/FRUV/xUVFf8LCwv/AgIC/w0NDf8RERH/FRQV/xsZ + G/8bGhv/Ghka/xoZGv8aGRr/Ghka/xoYGv8ZGBn/GRgZ/xkYGf8YFxj/GBcY/xgXGP8XFhf/FxYX/xcW + F/8WFRb/FhUW/xYVFv8VFBX/FRQV/xUUFf8UExT/FBMU/xMTE/8TExP/ExMT/xMTE/8TExP/ExIT/xMS + E/8SEhL/EhES/xEREf8REBH/EBAQ/xAPEP8PDw//Dw4P/w4ODv8ODQ7/DAsM/wYGBv8GBgb/BgUG/wUF + Bf8FBQX/BQUF/wUFBf8KCQr/CQkJ/wkICf8ICAj/BwYH/wYGBv8FBQX/BQUF/wQEBP8EAwT/AwMD/wIC + Av8CAgL/AQEB/wEAAf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/Ghoa/yAgIP8dHR3/Ghoa/xcX + F/8UFBT/ExMT/xAQEP8NDQ3/CgoK/wcHB/8CAgL/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + ANcAAABdAAAAWwAAAFoAAABYAAAAVgAAAFQAAABSAAAAUQAAAE8AAABNAAAASwAAAEkAAABHAAAARQAA + AEQAAABCAAAAPwAAAD4AAAA8AAAAOgAAADgAAAA2AAAANAAAADIAAAAwAAAALgAAACwAAAAqAAAAJwAA + ACUAAAAjAAAAIAAAABwAAAAZAAAAFQAAABEAAAANAAAACQAAAAYAAAADAAAAAQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAwAA + AAkAAAAWAAAAeQAAAP8LCgv/ERER/xIREv8SEhL/ExIT/xMTE/8TExP/ExMT/xMTE/8TExP/FBMU/xQT + FP8UFBT/FRQV/xUUFf8WFRb/FhUW/xYVFv8XFhf/FxYX/xgXGP8YFxj/GBcY/xkYGf8ZGBn/GRgZ/xkY + Gf8ZGBn/ExMT/w4ODv8JCAn/AAAA/wwMDP8NDQ3/Dg0O/w4NDv8ODg7/Dw4P/w8OD/8PDw//EA8Q/xAP + EP8QEBD/ERAR/xEREf8SERL/EA8Q/wAAAP8ICkj/DA1h/w4Qcf8OEHH/AQIO/w4ODv8VFBX/FhUW/xYV + Fv8WFRb/FhUW/xYVFv8WFRb/FhUW/xYVFv8WFRb/FhUW/xcWF/8XFhf/GRgZ/wcHB/8FBQX/Dg4O/xMS + E/8YFxj/HBoc/xsaG/8bGhv/Gxob/xsZG/8aGRr/Ghka/xoZGv8ZGBn/GRgZ/xkYGf8ZGBn/GBcY/xgX + GP8YFxj/FxYX/xcWF/8WFRb/FhUW/xYVFv8VFBX/FRQV/xQUFP8UExT/FBMU/xMTE/8TExP/ExMT/xMT + E/8TExP/ExIT/xISEv8SERL/ERER/xEQEf8QEBD/EA8Q/w8PD/8PDg//Dg4O/w4NDv8GBgb/BgYG/wYG + Bv8GBQb/BQUF/wUFBf8FBQX/CgkK/woKCv8JCQn/CQgJ/wcHB/8HBgf/BgYG/wUFBf8FBQX/BAQE/wQD + BP8DAwP/AgIC/wICAv8BAQH/AQAB/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/xoaGv8gICD/HR0d/xoa + Gv8XFxf/FBQU/xMTE/8QEBD/DQ0N/woKCv8HBwf/AQEB/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAADWAAAAWwAAAFkAAABXAAAAVQAAAFMAAABRAAAATwAAAE4AAABMAAAASgAAAEgAAABGAAAARAAA + AEIAAABAAAAAPgAAADwAAAA6AAAAOAAAADcAAAA1AAAAMgAAADAAAAAvAAAALQAAACsAAAAoAAAAJgAA + ACQAAAAjAAAAIAAAAB0AAAAbAAAAFwAAABUAAAARAAAADQAAAAkAAAAGAAAAAwAAAAEAAAABAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAA + AAYAAAARAAAAdQEBAf8ODQ7/EhES/xIREv8TEhP/ExIT/xMTE/8TExP/ExMT/xMTE/8TExP/FBMU/xQT + FP8VFBX/FRQV/xYVFv8WFRb/FhUW/xcWF/8XFhf/GBcY/xgXGP8YFxj/GRgZ/xkYGf8ZGBn/Ghga/xoZ + Gv8aGRr/GBcY/xISEv8NDQ3/AwMD/wYFBv8ODQ7/Dg4O/w8OD/8PDg//EA8Q/xAPEP8QEBD/EBAQ/xEQ + Ef8REBH/ERER/xIREv8TEhP/ExIT/wsKC/8DAxj/CgxS/w0Pav8OEHH/DhBx/wgKRf8GBQb/FxYX/xcW + F/8XFhf/FxYX/xcWF/8XFhf/FxYX/xcWF/8XFhf/FxYX/xcWF/8XFhf/GBcY/x0cHf8eHR7/AgIC/wkJ + Cf8QDxD/ExMT/xsaG/8cGxz/HBsc/xwaHP8bGhv/Gxob/xsaG/8bGRv/Ghka/xoZGv8aGBr/GRgZ/xkY + Gf8ZGBn/GBcY/xgXGP8YFxj/FxYX/xcWF/8WFRb/FhUW/xYVFv8VFBX/FRQV/xQTFP8UExT/ExMT/xMT + E/8TExP/ExMT/xMTE/8TEhP/ExIT/xIREv8SERL/ERAR/xEQEf8QDxD/EA8Q/w8OD/8PDg//CAgI/wYG + Bv8GBgb/BgYG/wYFBv8FBQX/BQUF/wkICf8LCgv/CgoK/wkJCf8ICAj/BwcH/wcGB/8GBgb/BQUF/wUE + Bf8EBAT/BAME/wMDA/8CAgL/AgIC/wEBAf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8aGhr/ICAg/x0d + Hf8aGhr/FxcX/xQUFP8TExP/EBAQ/w0NDf8KCgr/BwcH/wEBAf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA1QAAAFgAAABWAAAAVAAAAFIAAABQAAAATgAAAEwAAABKAAAASQAAAEcAAABFAAAAQwAA + AEEAAAA/AAAAPQAAADsAAAA5AAAANwAAADUAAAAzAAAAMQAAAC8AAAAuAAAAKwAAACkAAAAnAAAAJQAA + ACMAAAAhAAAAHwAAAB0AAAAaAAAAGAAAABUAAAATAAAAEAAAAA0AAAAJAAAABgAAAAQAAAABAAAAAQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA + AAQAAAAMAAAAcQAAAP8ODQ7/EhES/xISEv8TEhP/ExIT/xMTE/8TExP/ExMT/xMTE/8UExT/FBMU/xUU + Ff8VFBX/FRQV/xYVFv8WFRb/FxYX/xcWF/8YFxj/GBcY/xgXGP8ZGBn/GRgZ/xkYGf8aGRr/Ghka/xoZ + Gv8bGhv/Gxob/xUUFf8REBH/CgkK/wAAAP8NDA3/Dw4P/w8PD/8QDxD/EA8Q/xEQEf8REBH/ERER/xIR + Ev8SERL/EhES/xISEv8TEhP/ExMT/xMTE/8EAwT/BgYx/wsNWP8ND3D/DhBx/w4Qcf8OEHH/AAEH/xMS + E/8YFxj/GBcY/xgXGP8YFxj/GBcY/xgXGP8YFxj/GBcY/xgXGP8YFxj/GBcY/xoZGv8gHyD/JSQl/xsa + G/8BAQH/DAwM/xEREf8VExX/HBsc/x0cHf8cGxz/HBsc/xwbHP8cGhz/Gxob/xsaG/8bGhv/Ghka/xoZ + Gv8aGRr/GRgZ/xkYGf8ZGBn/GBcY/xgXGP8YFxj/FxYX/xcWF/8WFRb/FhUW/xUUFf8VFBX/FRQV/xQT + FP8UExT/ExMT/xMTE/8TExP/ExMT/xMSE/8TEhP/EhIS/xIREv8RERH/ERAR/xAQEP8QDxD/Dw8P/wsK + C/8GBgb/BgYG/wYGBv8FBQb/BQUF/wUFBf8HBwf/CwsL/wsKC/8KCgr/CQkJ/wgHCP8HBwf/BwYH/wYG + Bv8FBQX/BQQF/wQEBP8EAwT/AwMD/wICAv8CAQL/AQEB/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/Ghoa/yAg + IP8dHR3/Ghoa/xcXF/8UFBT/ExMT/xAQEP8NDQ3/CgoK/wcHB/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAANQAAABUAAAAUwAAAFEAAABPAAAATQAAAEsAAABJAAAASAAAAEYAAABEAAAAQgAA + AEAAAAA+AAAAPAAAADoAAAA4AAAANgAAADQAAAAyAAAAMAAAAC4AAAAsAAAAKgAAACgAAAAmAAAAJAAA + ACIAAAAgAAAAHgAAABsAAAAZAAAAFwAAABUAAAATAAAAEAAAAA4AAAALAAAACAAAAAUAAAADAAAAAQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA + AAMAAAAIAAAAQAAAAP8LCgv/EhES/xISEv8TEhP/ExMT/xMTE/8TExP/ExMT/xMTE/8UExT/FBQU/xUU + Ff8VFBX/FhUW/xYVFv8XFhf/FxYX/xcWF/8YFxj/GBcY/xkYGf8ZGBn/GRgZ/xoZGv8aGRr/Ghka/xsa + G/8bGhv/Gxob/xoZGv8TExP/Dg4O/wMDA/8FBQX/EA8Q/xAPEP8QEBD/ERAR/xEQEf8SERL/EhES/xIS + Ev8TEhP/ExIT/xMSE/8TExP/ExMT/xMTE/8REBH/AAAE/woLTv8MDWL/DhBx/w4Qcf8OEHH/DhBx/wcI + N/8GBgb/GRgZ/xkYGf8ZGBn/GRgZ/xkYGf8ZGBn/GRgZ/xkYGf8ZGBn/GRgZ/xkYGf8ZGBn/IiEi/ygn + KP8tLC3/ExMT/wMDA/8ODg7/ExIT/xcWF/8dHB3/HRwd/x0cHf8dHB3/HBsc/xwbHP8cGxz/Gxob/xsa + G/8bGhv/Ghka/xoZGv8aGRr/GRgZ/xkYGf8ZGBn/GBcY/xgXGP8XFhf/FxYX/xcWF/8WFRb/FhUW/xUU + Ff8VFBX/FBQU/xQTFP8TExP/ExMT/xMTE/8TExP/ExMT/xMSE/8SEhL/EhES/xEREf8REBH/EBAQ/xAP + EP8ODQ7/BgYH/wYGBv8GBgb/BgYG/wYFBv8FBQX/BgYG/wwLDP8LCwv/CwoL/woJCv8ICAj/CAcI/wcH + B/8HBgf/BgYG/wUFBf8FBAX/BAQE/wMDA/8DAwP/AgIC/wIBAv8BAQH/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/xoa + Gv8gICD/HR0d/xoaGv8XFxf/FBQU/xMTE/8QEBD/DQ0N/woKCv8HBwf/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAADUAAAAUgAAAFAAAABOAAAATAAAAEoAAABIAAAARgAAAEUAAABDAAAAQAAA + AD4AAAA9AAAAOwAAADkAAAA3AAAANQAAADMAAAAxAAAALwAAAC0AAAArAAAAKQAAACYAAAAlAAAAIwAA + ACEAAAAeAAAAHAAAABoAAAAYAAAAFgAAABQAAAASAAAAEAAAAA4AAAALAAAACAAAAAYAAAAEAAAAAQAA + AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAEAAAAEAAAADQAAAMYKCQr/EhES/xMSE/8TEhP/ExMT/xMTE/8TExP/ExMT/xQTFP8UExT/FRQV/xUU + Ff8WFRb/FhUW/xYVFv8XFhf/FxYX/xgXGP8YFxj/GRgZ/xkYGf8ZGBn/Ghka/xoZGv8bGRv/Gxob/xsa + G/8cGhz/HBsc/xwbHP8WFhb/EhES/wsKC/8AAAD/Dg4O/xEQEf8REBH/ERER/xIREv8SERL/ExIT/xMS + E/8TEhP/ExMT/xMTE/8TExP/ExMT/xQTFP8UExT/CgkK/wMDGP8KDFP/DQ9q/w4Qcf8OEHH/DhBx/w4Q + cf8ND2n/AAEH/xUUFf8aGRr/Ghka/xoZGv8aGRr/Ghka/xoZGv8aGRr/Ghka/xoZGv8aGRr/Ghka/x4d + Hv8qKSr/Ly4v/zMzM/8LCwv/BgYG/xAPEP8TExP/Ghka/x4dHv8eHR7/HRwd/x0cHf8dHB3/HRsd/xwb + HP8cGxz/HBoc/xsaG/8bGhv/Gxkb/xoZGv8aGRr/GRgZ/xkYGf8ZGBn/GBcY/xgXGP8XFhf/FxYX/xYV + Fv8WFRb/FhUW/xUUFf8VFBX/FBMU/xQTFP8TExP/ExMT/xMTE/8TExP/ExIT/xMSE/8SERL/EhES/xEQ + Ef8QEBD/EA8Q/wcGB/8GBgb/BgYG/wYFBv8GBQb/BgUG/wUFBf8NDA3/DQwN/w0MDf8MDAz/CQkJ/wgI + CP8IBwj/BwcH/wcGB/8GBgb/BQUF/wUEBf8EBAT/AwMD/wMDA/8CAgL/AQEB/wEBAf8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8aGhr/ICAg/x0dHf8aGhr/FxcX/xQUFP8TExP/EBAQ/w0NDf8KCgr/BgYG/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAAsgAAAE8AAABNAAAASwAAAEkAAABHAAAARQAAAEMAAABBAAAAPwAA + AD0AAAA8AAAAOQAAADcAAAA2AAAANAAAADIAAAAwAAAALgAAACwAAAApAAAAJwAAACUAAAAkAAAAIgAA + AB8AAAAdAAAAGwAAABkAAAAXAAAAFQAAABMAAAARAAAADgAAAAwAAAAKAAAACAAAAAUAAAADAAAAAgAA + AAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAACAAAABgAAABEAAADJDg0O/xMSE/8TEhP/ExMT/xMTE/8TExP/ExMT/xQTFP8UFBT/FRQV/xUU + Ff8WFRb/FhUW/xcWF/8XFhf/GBcY/xgXGP8YFxj/GRgZ/xkYGf8aGRr/Ghka/xsZG/8bGhv/Gxob/xwa + HP8cGxz/HBsc/x0cHf8cGxz/ExMT/xAPEP8EBAT/BgYG/xEQEf8SERL/EhES/xISEv8TEhP/ExIT/xMT + E/8TExP/ExMT/xMTE/8TExP/ExMT/xQTFP8VFBX/FRQV/wMCA/8GBjD/Cw1Y/w0PcP8OEHH/DhBx/w4Q + cf8OEHH/DhBx/wcIN/8LCgv/Gxob/xsaG/8bGhv/Gxob/xsaG/8bGhv/Gxob/xsaG/8bGhv/Gxob/xsa + G/8bGhv/JiUm/zEwMf83Njf/NTU1/wICAv8KCQr/ERER/xUUFf8dHB3/Hx0f/x4dHv8eHR7/Hh0e/x0c + Hf8dHB3/HRwd/xwbHP8cGxz/HBsc/xsaG/8bGhv/Gxkb/xoZGv8aGRr/GRgZ/xkYGf8YFxj/GBcY/xgX + GP8XFhf/FxYX/xYVFv8WFRb/FRQV/xUUFf8UFBT/FBMU/xMTE/8TExP/ExMT/xMTE/8TEhP/ExIT/xIS + Ev8SERL/ERAR/xEQEf8KCQr/BgYG/wYGBv8GBgb/BgUG/wUFBv8FBQb/DQwN/xEQEf8QEBD/EA8Q/wsL + C/8JCQn/CAgI/wgHCP8HBwf/BgYG/wYFBv8FBQX/BQQF/wQEBP8DAwP/AwID/wICAv8BAQH/AQEB/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/JCQk/yAgIP8dHR3/Ghoa/xcXF/8UFBT/ExMT/xAQEP8NDQ3/CgoK/wUFBf8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAKYAAABLAAAASgAAAEgAAABGAAAARAAAAEIAAABAAAAAPgAA + ADwAAAA6AAAAOAAAADYAAAA0AAAAMgAAADAAAAAvAAAALQAAACoAAAAoAAAAJgAAACQAAAAiAAAAIAAA + AB4AAAAcAAAAGQAAABcAAAAWAAAAFAAAABEAAAAPAAAADQAAAAsAAAAJAAAABgAAAAQAAAADAAAAAgAA + AAIAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAABAAAAAwAAAAkAAAAXAAAAsgoKCv8TExP/ExMT/xMTE/8TExP/ExMT/xQTFP8VFBX/FRQV/xYV + Fv8WFRb/FhUW/xcWF/8XFhf/GBcY/xgXGP8ZGBn/GRgZ/xoYGv8aGRr/Ghka/xsaG/8bGhv/HBsc/xwb + HP8cGxz/HRwd/x0cHf8dHB3/GBgY/xMSE/8NDA3/AAAA/w8PD/8SERL/ExIT/xMSE/8TExP/ExMT/xMT + E/8TExP/ExMT/xMTE/8UExT/FBMU/xQTFP8VFBX/FhUW/xMTE/8BAQj/CQtN/wwNYv8OEHH/DhBx/w4Q + cf8OEHH/DhBx/w4Qcf8ND2n/AAAA/xgXGP8cGxz/HBsc/xwbHP8cGxz/HBsc/xwbHP8cGxz/HBsc/xwb + HP8cGxz/HBsc/x0cHf8vLi//OTc5/z49Pv8vLi//AAAA/w0MDf8TEhP/FxUX/x8dH/8fHh//Hx0f/x4d + Hv8eHR7/Hh0e/x0cHf8dHB3/HRwd/xwbHP8cGxz/HBsc/xsaG/8bGhv/Ghka/xoZGv8aGBr/GRgZ/xkY + Gf8YFxj/GBcY/xcWF/8XFhf/FhUW/xYVFv8WFRb/FRQV/xUUFf8UExT/FBMU/xMTE/8TExP/ExMT/xMT + E/8TEhP/EhIS/xIREv8RERH/DQwN/wYGBv8GBgb/BgYG/wYGBv8GBQb/BQUF/wsKC/8TExP/ExMT/xMT + E/8QDxD/CgkK/wkJCf8ICAj/CAcI/wcHB/8GBgb/BgUG/wUFBf8EBAT/BAQE/wMDA/8DAgP/AgIC/wEB + Af8BAAH/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/yQkJP8gICD/HR0d/xoaGv8XFxf/FBQU/xMTE/8QEBD/DQ0N/woKCv8EBAT/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACkAAAASAAAAEcAAABFAAAAQwAAAEEAAAA/AAAAPQAA + ADsAAAA5AAAANwAAADUAAAAzAAAAMQAAAC8AAAAtAAAAKwAAACkAAAAnAAAAJQAAACMAAAAhAAAAHwAA + ABwAAAAaAAAAGAAAABYAAAAUAAAAEgAAABAAAAAOAAAADAAAAAkAAAAHAAAABQAAAAMAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAQAAAAMAAAAKAAAAHAAAAJ0KCQr/ExMT/xMTE/8TExP/FBMU/xQTFP8VFBX/FRQV/xYV + Fv8WFRb/FxYX/xcWF/8YFxj/GBcY/xkYGf8ZGBn/GRgZ/xkYGf8aGRr/Gxob/xsaG/8cGhz/HBsc/xwb + HP8dHB3/HRwd/x4cHv8eHR7/HRwd/xUTFf8QEBD/BQUF/wQEBP8TEhP/ExIT/xMTE/8TExP/ExMT/xMT + E/8TExP/FBMU/xQTFP8UExT/FRQV/xUUFf8VFBX/FhUW/xcWF/8LCgv/AwQc/woMUv8ND2r/DhBx/w4Q + cf8OEHH/DhBx/w4Qcf8OEHH/DhBx/wUGKf8LCwv/HRwd/x0cHf8eHB7/Hhwe/x4cHv8dHB3/HRwd/x0c + Hf8dHB3/HRwd/x0cHf8dHB3/IiAi/zk3Of9AP0D/RURF/yQkJP8CAgL/Dw4P/xMTE/8YFhj/Hx4f/yAe + IP8fHh//Hx4f/x8dH/8eHR7/Hh0e/x4cHv8dHB3/HRwd/xwbHP8cGxz/HBoc/xsaG/8bGhv/Ghka/xoZ + Gv8ZGBn/GRgZ/xkYGf8YFxj/GBcY/xcWF/8XFhf/FhUW/xYVFv8VFBX/FRQV/xQTFP8UExT/ExMT/xMT + E/8TExP/ExMT/xMSE/8SEhL/EhES/xAPEP8GBgf/BgYG/wYGBv8GBQb/BgUG/wUFBv8HBwf/FxYX/xYW + Fv8WFRb/FBMU/woKCv8JCQn/CQgJ/wgICP8IBwj/BwcH/wYGBv8GBQb/BQUF/wQEBP8EBAT/AwMD/wIC + Av8CAgL/AQEB/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8kJCT/ICAg/x0dHf8aGhr/FxcX/xQUFP8TExP/EBAQ/w0NDf8KCgr/AwMD/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAowAAAEUAAABEAAAAQgAAAD8AAAA+AAAAPAAA + ADoAAAA4AAAANgAAADQAAAAyAAAAMAAAAC4AAAAsAAAAKgAAACgAAAAmAAAAJAAAACIAAAAgAAAAHQAA + ABsAAAAZAAAAFwAAABUAAAATAAAAEQAAAA8AAAANAAAACgAAAAgAAAAGAAAABAAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAEAAAAEAAAACwAAAB4AAACgCgoK/xMTE/8TExP/FBMU/xQTFP8VFBX/FRQV/xYV + Fv8WFRb/FxYX/xcWF/8YFxj/GBcY/xkYGf8ZGBn/GRgZ/xkYGf8ZGBn/Gxob/xwaHP8cGxz/HBsc/x0c + Hf8dHB3/Hhwe/x4dHv8eHR7/Hx0f/xsZG/8TExP/Dg0O/wEBAf8ODg7/ExMT/xMTE/8TExP/ExMT/xMT + E/8UExT/FBMU/xUUFf8VFBX/FRQV/xYVFv8WFRb/FhUW/xgXGP8YFxj/AwMD/wcIOv8LDFj/DQ9w/w4Q + cf8OEHH/DhBx/w4Qcf8OEHH/DhBx/w4Qcf8MDmL/AAAA/xoZGv8fHR//Hx0f/x8dH/8fHR//Hx0f/x8d + H/8eHR7/Hh0e/x4dHv8eHR7/Hh0e/x4dHv8pKCn/QUBB/0dGR/9LSkv/FBQU/wUEBf8QEBD/FBMU/xsa + G/8gHyD/IB8g/yAeIP8fHh//Hx4f/x8dH/8eHR7/Hh0e/x4cHv8dHB3/HRwd/xwbHP8cGxz/HBoc/xsa + G/8bGRv/Ghka/xoZGv8ZGBn/GRgZ/xgXGP8YFxj/FxYX/xcWF/8WFRb/FhUW/xUUFf8VFBX/FBMU/xQT + FP8TExP/ExMT/xMTE/8TExP/ExIT/xISEv8SERL/CAgJ/wYGBv8GBgb/BgYG/wYFBv8FBQb/BQUF/xcW + F/8aGhr/GRkZ/xkZGf8NDA3/CgoK/wkJCf8JCAn/CAgI/wcHB/8HBgf/BgYG/wYFBv8FBQX/BAQE/wQD + BP8DAwP/AgIC/wIBAv8BAQH/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/JCQk/yAgIP8dHR3/Ghoa/xcXF/8UFBT/ExMT/xAQEP8NDQ3/CgoK/wIC + Av8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAKEAAABCAAAAQAAAAD4AAAA9AAAAOwAA + ADgAAAA3AAAANQAAADMAAAAxAAAALwAAAC0AAAArAAAAKAAAACYAAAAlAAAAIwAAACAAAAAeAAAAHAAA + ABoAAAAYAAAAFgAAABQAAAASAAAAEAAAAA0AAAALAAAACQAAAAcAAAAEAAAAAwAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAABAAAABAAAAA0AAAAgAAAAogoKCv8TExP/FBMU/xQUFP8VFBX/FRQV/xYV + Fv8XFhf/FxYX/xgXGP8YFxj/GRgZ/xkYGf8ZGBn/GRgZ/xkYGf8ZGBn/GRgZ/xwbHP8cGxz/HRsd/x0c + Hf8dHB3/Hh0e/x4dHv8fHR//Hx4f/x8eH/8VFBX/ERER/wcHB/8DAwP/ExMT/xMTE/8TExP/ExMT/xQT + FP8UExT/FRQV/xUUFf8WFRb/FhUW/xYVFv8XFhf/FxYX/xgXGP8ZGBn/FBMU/wEBCP8KC07/DA1i/w4Q + cf8OEHH/DhBx/w4Qcf8OEHH/DhBx/w4Qcf8OEHH/DhBx/wUGKf8ODg7/IB4g/yAeIP8gHiD/IB4g/yAe + IP8gHiD/IB4g/x8eH/8fHh//Hx4f/x8eH/8fHh//Hx0f/zU0Nf9IR0j/TkxO/0xLTP8NDQ3/CAcI/xIR + Ev8VFBX/Hh0e/yEfIf8gHyD/IB8g/yAeIP8fHh//Hx4f/x8dH/8eHR7/Hh0e/x0cHf8dHB3/HRwd/xwb + HP8cGxz/Gxob/xsaG/8aGRr/Ghka/xoYGv8ZGBn/GRgZ/xgXGP8YFxj/FxYX/xcWF/8WFRb/FRQV/xUU + Ff8UFBT/FBMU/xMTE/8TExP/ExMT/xMTE/8TEhP/EhIS/wsLDP8GBgb/BgYG/wYGBv8GBQb/BgUG/wUF + Bf8TExP/Hh4e/x4dHv8dHR3/ExMT/wsKC/8KCQr/CQkJ/wkICf8ICAj/BwcH/wcGB/8GBgb/BQUF/wUE + Bf8EBAT/AwMD/wMDA/8CAgL/AQEB/wEBAf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/CgoK/yQkJP8gICD/HR0d/xoaGv8XFxf/FBQU/xMTE/8QEBD/DQ0N/woK + Cv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAABwAAAAPwAAAD0AAAA7AAAAOQAA + ADcAAAA1AAAAMwAAADEAAAAwAAAALgAAACsAAAApAAAAJwAAACUAAAAjAAAAIQAAAB8AAAAdAAAAGwAA + ABgAAAAWAAAAFQAAABMAAAAQAAAADgAAAAwAAAAKAAAABwAAAAUAAAADAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAUAAAAOAAAAIgAAAKMLCgv/FBMU/xQUFP8VFBX/FhUW/xYV + Fv8XFhf/FxYX/xgXGP8YFxj/GRgZ/xkYGf8ZGBn/GRgZ/xkYGf8ZGBn/GRgZ/xkYGf8dGx3/HRwd/x0c + Hf8eHR7/Hh0e/x8dH/8fHh//Hx4f/yAeIP8cGxz/ExMT/w8PD/8BAQH/DQwN/xMTE/8TExP/FBMU/xQT + FP8VFBX/FRQV/xYVFv8WFRb/FxYX/xcWF/8XFhf/GBcY/xgXGP8ZGBn/Ghka/wwLDP8DAxf/CgxT/w0P + av8OEHH/DhBx/w4Qcf8OEHH/DhBx/w4Qcf8OEHH/DhBx/w4Qcf8MDmL/AgIC/x8dH/8hHyH/ISAh/yEf + If8hHyH/IR8h/yEfIf8hHyH/IB8g/yAfIP8gHyD/IB8g/yAeIP8gHiD/QkFC/05NTv9UU1T/TExM/wQE + BP8LCgv/ExIT/xcWF/8fHh//ISAh/yEgIf8hHyH/IB8g/yAeIP8fHh//Hx4f/x8dH/8eHR7/Hh0e/x0c + Hf8dHB3/HRsd/xwbHP8cGhz/Gxob/xsaG/8aGRr/Ghka/xkYGf8ZGBn/GBcY/xgXGP8XFhf/FxYX/xYV + Fv8WFRb/FRQV/xQUFP8UExT/ExMT/xMTE/8TExP/ExMT/xMSE/8QDxD/BgYG/wYGBv8GBgb/BgUG/wUF + Bv8FBQb/DQ0N/yIhIv8iISL/ISEh/xkZGf8LCwv/CgoK/woJCv8JCQn/CQgJ/wgICP8HBwf/BwYH/wYG + Bv8FBQX/BQQF/wQEBP8DAwP/AwID/wICAv8BAQH/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/woKCv8kJCT/ICAg/x0dHf8aGhr/FxcX/xQUFP8TExP/EBAQ/w0N + Df8KCgr/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAbgAAADwAAAA6AAAAOAAA + ADYAAAA0AAAAMgAAADAAAAAuAAAALAAAACoAAAAoAAAAJgAAACQAAAAiAAAAIAAAAB4AAAAcAAAAGQAA + ABcAAAAVAAAAEwAAABEAAAAPAAAADQAAAAsAAAAIAAAABgAAAAQAAAADAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAADgAAACIAAACYCAgI/xUUFf8VFBX/FhUW/xYV + Fv8XFhf/FxYX/xgXGP8YFxj/GRgZ/xkYGf8aGRr/Ghka/xkYGf8ZGBn/GRgZ/xkYGf8ZFxn/HRwd/x4c + Hv8eHR7/Hx0f/x8eH/8fHh//IB4g/yAfIP8gHyD/FxYX/xISEv8JCQn/AgIC/xMTE/8UExT/FBMU/xUU + Ff8VFBX/FhUW/xYVFv8XFhf/FxYX/xgXGP8YFxj/GBcY/xkYGf8ZGBn/Ghka/xsZG/8DAwP/BgYw/wsN + WP8ND3D/DhBx/w4Qcf8OEHH/DhBx/w4Qcf8OEHH/DhBx/w4Qcf8OEHH/DhBx/wQFIf8SERL/IiEi/yIh + Iv8iISL/IiEi/yIhIv8iICL/IiAi/yIgIv8hICH/ISAh/yEgIf8hICH/IR8h/yYlJv9MS0z/VVRV/1pZ + Wv9JSEn/AAAA/wwLDP8TExP/FxYX/yAfIP8iICL/ISAh/yEgIf8hHyH/IB8g/yAeIP8fHh//Hx4f/x8d + H/8eHR7/Hh0e/x0cHf8dHB3/HBsc/xwbHP8bGhv/Gxob/xoZGv8aGRr/GRgZ/xkYGf8YFxj/GBcY/xcW + F/8XFhf/FhUW/xYVFv8VFBX/FRQV/xQTFP8TExP/ExMT/xMTE/8TExP/ExIT/wcHCP8GBgb/BgYG/wYF + Bv8GBQb/BQUF/wcGB/8kIyT/JSUl/yUkJf8kJCT/DAsM/wsLC/8KCgr/CgkK/wkJCf8ICAj/CAcI/wcH + B/8GBgb/BgUG/wUFBf8EBAT/BAQE/wMDA/8CAgL/AgEC/wEBAf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8MDAz/JCQk/yAgIP8dHR3/Ghoa/xcXF/8UFBT/ExMT/xAQ + EP8NDQ3/CAgI/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAGwAAAA5AAAANwAA + ADUAAAAzAAAAMQAAAC8AAAAtAAAAKwAAACkAAAAnAAAAJQAAACMAAAAhAAAAHgAAABwAAAAaAAAAGAAA + ABYAAAAUAAAAEgAAABAAAAAOAAAACwAAAAkAAAAHAAAABQAAAAMAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAABQAAAA4AAAAiAAAAdQUFBf8VFBX/FhUW/xYV + Fv8XFhf/FxYX/xgXGP8YFxj/GRgZ/xoYGv8aGRr/Gxkb/xoZGv8ZGBn/GRgZ/xkYGf8ZGBn/GBgY/x4d + Hv8eHR7/Hx0f/x8eH/8gHiD/IB8g/yEfIf8hICH/Hx4f/xUTFf8QEBD/AwMD/wsKC/8UExT/FRQV/xUU + Ff8WFRb/FhUW/xcWF/8XFhf/GBcY/xgXGP8YFxj/GRgZ/xkYGf8aGBr/Ghka/xsaG/8WFRb/AAAE/wkL + Tf8NDWH/DxBx/w8Qcf8OEHH/DhBx/w4Qcf8OEHH/DhBx/w4Qcf8OEHH/DhBx/w4Qcf8KDFT/AgIC/yEf + If8jIiP/IyIj/yMhI/8jISP/IyEj/yMhI/8jISP/IiEi/yIhIv8iISL/IiEi/yIgIv8hICH/Kikq/1VV + Vf9bWlv/YF9g/zo5Ov8CAQL/Dg4O/xMTE/8YFhj/IR8h/yIhIv8iICL/ISAh/yEgIf8hHyH/IB8g/yAe + IP8fHh//Hx0f/x4dHv8eHR7/HRwd/x0cHf8dGx3/HBsc/xwaHP8bGhv/Gxkb/xoZGv8aGBr/GRgZ/xgX + GP8YFxj/FxYX/xcWF/8WFRb/FhUW/xUUFf8VFBX/FBMU/xMTE/8TExP/ExMT/xMTE/8LCgv/BgYG/wYG + Bv8GBgb/BgUG/wUFBv8FBQX/IB8g/ykpKf8pKCn/KCgo/xQTFP8MCwz/CwoL/woKCv8KCQr/CQkJ/wgI + CP8IBwj/BwcH/wYGBv8GBQb/BQUF/wQEBP8EAwT/AwMD/wICAv8BAQH/AQEB/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/ExMT/yQkJP8gICD/HR0d/xoaGv8XFxf/FBQU/xMT + E/8QEBD/DQ0N/wcHB/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAABEAAAANgAA + ADQAAAAyAAAAMAAAAC4AAAAsAAAAKgAAACcAAAAlAAAAJAAAACIAAAAfAAAAHQAAABsAAAAZAAAAFwAA + ABUAAAATAAAAEQAAAA8AAAAMAAAACgAAAAgAAAAGAAAABAAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAABAAAAAQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAUAAAAOAAAAHwAAAHIGBQb/FhUW/xYV + Fv8XFhf/FxYX/xgXGP8ZGBn/GRgZ/xoYGv8aGRr/Gxob/xsaG/8bGhv/GRgZ/xkYGf8ZGBn/GBcY/xgX + GP8eHR7/Hx4f/yAeIP8gHyD/IB8g/yEfIf8hICH/IiAi/xwaHP8TExP/DQwN/wAAAP8TExP/FRQV/xYV + Fv8WFRb/FxYX/xcWF/8YFxj/GBcY/xkYGf8ZGBn/GRgZ/xoZGv8aGRr/Gxkb/xwbHP8cGxz/ERAR/wMD + F/8LDFL/DQ5p/w8Qcf8PEHH/DxBx/w8Qcf8PEHH/DxBx/w8Qcf8OEHH/DhBx/w4Qcf8OEHH/DhBx/wME + Gv8TEhP/JCMk/yQjJP8kIyT/JCMk/yQiJP8kIiT/JCIk/yQiJP8jIiP/IyIj/yMiI/8jISP/IyEj/yIh + Iv82NTb/W1pb/2FgYf9mZWb/MTEx/wICAv8ODg7/ExMT/xgXGP8iICL/IiEi/yIhIv8iICL/ISAh/yEf + If8gHyD/IB8g/yAeIP8fHh//Hx0f/x4dHv8eHR7/HRwd/x0cHf8cGxz/HBsc/xsaG/8bGhv/Ghka/xoY + Gv8ZGBn/GRgZ/xgXGP8XFhf/FxYX/xYVFv8WFRb/FRQV/xUUFf8UExT/ExMT/xMTE/8TExP/Dw8P/wYG + Bv8GBgb/BgUG/wYFBv8FBQb/BQUF/xUVFv8tLC3/LCws/ywsLP8fHx//DAwM/wsLC/8LCgv/CgoK/wkJ + Cf8JCAn/CAgI/wcHB/8HBgf/BgYG/wUFBf8FBAX/BAQE/wMDA/8DAgP/AgIC/wEBAf8BAAH/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/xMTE/8kJCT/ICAg/x0dHf8aGhr/FxcX/xQU + FP8TExP/EBAQ/w0NDf8FBQX/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAANQAA + ADIAAAAwAAAALwAAAC0AAAAqAAAAKAAAACYAAAAkAAAAIgAAACAAAAAeAAAAHAAAABoAAAAXAAAAFgAA + ABQAAAASAAAADwAAAA0AAAALAAAACQAAAAYAAAAEAAAAAwAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAQAAAAEAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAADAAAAB0AAABvBgUG/xYV + Fv8XFhf/GBcY/xgXGP8ZGBn/GRgZ/xoZGv8aGRr/Gxob/xsaG/8cGxz/HBoc/xkYGf8ZGBn/GBcZ/xgX + GP8YFxj/Hhwe/yAeIP8gHyD/IR8h/yEgIf8iICL/IiEi/yIgIv8YFhj/EhIS/wUFBf8ICAj/FhUW/xYV + Fv8XFhf/FxYX/xgXGP8YFxj/GRgZ/xkYGf8aGBr/Ghka/xoZGv8bGhv/Gxob/xwbHP8dHB3/HRwd/wYF + Bv8GBzD/DAxX/w8Qbv8QEHH/DxBx/w8Qcf8PEHH/DxBx/w8Qcf8PEHH/DxBx/w8Qcf8PEHH/DhBx/w4Q + cf8KDFT/AgIC/yMhI/8lJCX/JSQl/yUkJf8lJCX/JSMl/yUjJf8lIyX/JSMl/yQjJP8kIyT/JCIk/yQi + JP8jIiP/IyIj/0NCQ/9hYGH/ZmVm/2tqa/8lJSX/AgIC/w8PD/8TExP/GBgY/yIhIv8jISP/IiEi/yIh + Iv8iICL/ISAh/yEfIf8gHyD/IB4g/x8eH/8fHh//Hh0e/x4dHv8dHB3/HRwd/xwbHP8cGxz/Gxob/xsa + G/8aGRr/Ghka/xkYGf8ZGBn/GBcY/xgXGP8XFhf/FhUW/xYVFv8VFBX/FRQV/xQTFP8TExP/ExMT/xMT + E/8GBgb/BgUG/wYFBv8GBQb/BQUG/wUFBf8NDQ3/MTEx/zEwMf8wMDD/Kyor/w0MDf8MCwz/CwsL/wsK + C/8KCQr/CQkJ/wkICf8ICAj/BwcH/wcGB/8GBgb/BQUF/wQEBP8EBAT/AwMD/wICAv8CAgL/AQEB/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8ZGRn/JCQk/yAgIP8dHR3/Ghoa/xcX + F/8UFBT/ExMT/xAQEP8NDQ3/AwMD/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + ADEAAAAvAAAALQAAACsAAAApAAAAJwAAACUAAAAjAAAAIQAAAB8AAAAdAAAAGgAAABgAAAAWAAAAFAAA + ABIAAAAQAAAADgAAAAwAAAAJAAAABwAAAAUAAAADAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAEAAAABAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAoAAAAaAAAAUQEB + Af8XFhf/GBcY/xgXGP8ZGBn/GRgZ/xoZGv8aGRr/Gxob/xsaG/8cGxz/HRsd/xwbHP8ZGBn/GRgZ/xgX + GP8YFxj/GBcY/x4dHv8gHyD/ISAh/yEgIf8iISL/IiEi/yMhI/8fHh//FhUW/xEQEf8AAAD/ExMT/xcW + F/8XFhf/GBcY/xgXGP8ZGBn/GRgZ/xoYGv8aGRr/Gxkb/xsaG/8bGhv/HBsc/xwbHP8dHB3/Hh0e/xwb + HP8AAAD/CgpJ/w0OYf8QEXX/EBF1/xARdf8QEXT/EBFz/xARcv8QEXH/EBBx/w8Qcf8PEHH/DxBx/w8Q + cf8PEHH/DhBx/wMEGv8TExP/JiUm/yYlJv8mJSb/JiUm/yYlJv8mJCb/JiQm/yYkJv8lJCX/JSQl/yUj + Jf8lIyX/JCMk/yQjJP8kIiT/SklK/2ZlZv9ramv/b25v/yYmJv8EBAT/EA8Q/xMTE/8ZGBn/IyEj/yMi + I/8jISP/IiEi/yIhIv8hICH/ISAh/yAfIP8gHyD/IB4g/x8eH/8fHR//Hh0e/x4cHv8dHB3/HRsd/xwb + HP8bGhv/Gxob/xoZGv8aGRr/GRgZ/xkYGf8YFxj/GBcY/xcWF/8WFRb/FhUW/xUUFf8VFBX/FBMU/xMT + E/8TExP/DAwM/wYFBv8GBQb/BgUG/wUFBv8FBQX/BQUG/y4tLv81NDX/NDM0/zMzM/8TExP/DAwM/wwL + DP8LCwv/CgoK/woJCv8JCQn/CAgI/wgHCP8HBwf/BgYG/wYFBv8FBQX/BAQE/wQDBP8DAwP/AgIC/wEB + Af8BAQH/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/HBwc/yQkJP8gICD/HR0d/xoa + Gv8XFxf/FBQU/xMTE/8QEBD/DQ0N/wICAv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AMsAAAAuAAAALAAAACoAAAAoAAAAJgAAACQAAAAiAAAAIAAAAB4AAAAbAAAAGQAAABcAAAAVAAAAEwAA + ABEAAAAPAAAADQAAAAoAAAAIAAAABgAAAAQAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAABAAAAAQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAMAAAAIAAAAFgAA + ADAAAAD/GBcY/xgXGP8ZGBn/GRgZ/xoZGv8aGRr/Gxob/xwaHP8cGxz/HRsd/x0cHf8eHR7/GRgZ/xkX + Gf8YFxj/GBcY/xgWGP8eHR7/ISAh/yIgIv8iISL/IyEj/yMhI/8jIiP/Gxsb/xMTE/8JCQn/BAQE/xcW + F/8XFhf/GBcY/xkXGf8ZGBn/Ghga/xoZGv8bGRv/Gxob/xwaHP8cGxz/HBsc/x0cHf8dHB3/IR8h/yAf + IP8TExP/AwMU/w0NVv8REHD/EhJ7/xISe/8SEnv/EhJ7/xISev8REnn/ERF3/xARdf8QEXP/EBFx/w8Q + cf8PEHH/DxBx/w8Qcf8LDFT/BQUF/ycmJ/8nJif/JyYn/ycmJ/8nJif/JyYn/yclJ/8nJSf/JiUm/yYl + Jv8mJSb/JiQm/yUkJf8lJCX/JSMl/ygnKP9aWVr/a2pr/3BvcP90c3T/KCgo/wQEBP8QDxD/ExMT/xkY + Gf8jISP/IyIj/yMhI/8jISP/IiEi/yIgIv8hICH/IR8h/yAfIP8gHiD/Hx4f/x8dH/8eHR7/Hh0e/x0c + Hf8dHB3/HBsc/xwaHP8bGhv/Ghka/xoZGv8ZGBn/GRgZ/xgXGP8YFxj/FxYX/xYVFv8WFRb/FRQV/xUU + Ff8UExT/ExMT/xIREv8GBQb/BgUG/wYFBv8FBQb/BQUG/wUFBf8kIyT/ODg4/zg3OP83Njf/JCMk/w0M + Df8MDAz/DAsM/wsKC/8KCgr/CgkK/wkJCf8ICAj/BwcH/wcGB/8GBgb/BQUF/wUEBf8EBAT/AwMD/wMC + A/8CAgL/AQEB/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/yEhIf8kJCT/ICAg/x0d + Hf8aGhr/FxcX/xQUFP8TExP/EBAQ/w0NDf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAADKAAAAKwAAACkAAAAmAAAAJQAAACMAAAAhAAAAHgAAABwAAAAaAAAAGAAAABYAAAAUAAAAEgAA + ABAAAAANAAAACwAAAAkAAAAHAAAABQAAAAMAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAQAA + AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAABwAA + ABEAAAAlAAAA/xgXGP8ZGBn/GRgZ/xoZGv8bGRv/Gxob/xwaHP8cGxz/HRwd/x0cHf8eHR7/Hh0e/xkY + Gf8ZFxn/GBcY/xgXGP8XFhf/Hx4f/yIhIv8iISL/IyEj/yMiI/8kIiT/IyEj/xkYGf8TEhP/AwMD/xAP + EP8YFxj/GBcY/xkYGf8ZGBn/Ghka/xsZG/8bGhv/HBoc/xwbHP8cGxz/HRwd/x0cHf8eHR7/Hh0e/yYl + Jv8kIyT/DQ0N/wYGKv8ODl7/ExJ7/xMTgf8TE4L/ExOB/xMTgf8TE4D/ExN//xMSff8SEnv/ERJ5/xER + d/8QEXT/EBFx/w8Qcf8PEHH/DxBx/wMEGv8YFxj/KScp/ygnKP8oJyj/KCco/ygmKP8oJij/KCYo/ygm + KP8nJif/JyYn/yclJ/8nJSf/JiUm/yYkJv8mJCb/KSgp/15cXv9vbm//dHN0/3h3eP8pKSn/BAQE/xAP + EP8TExP/GRgZ/yMiI/8kIiT/IyIj/yMhI/8iISL/IiEi/yEgIf8hICH/IB8g/yAfIP8fHh//Hx4f/x4d + Hv8eHR7/HRwd/x0cHf8cGxz/HBoc/xsaG/8bGRv/Ghka/xkYGf8ZGBn/GBcY/xgXGP8XFhf/FhUW/xYV + Fv8VFBX/FRQV/xQTFP8TExP/BwcH/wUFBv8FBQb/BQUG/wUFBf8FBQX/FBQU/zw8PP87Ozv/Ojo6/zEx + Mf8NDQ3/DQwN/wwMDP8LCwv/CwoL/woKCv8JCQn/CQgJ/wgICP8HBwf/BwYH/wYGBv8FBQX/BAQE/wQE + BP8DAwP/AgIC/wIBAv8BAQH/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8nJyf/JCQk/yAg + IP8dHR3/Ghoa/xcXF/8UFBT/ExMT/xAQEP8LCwv/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAAoQAAACcAAAAlAAAAIwAAACEAAAAfAAAAHQAAABsAAAAYAAAAFgAAABUAAAATAAAAEQAA + AA4AAAAMAAAACgAAAAgAAAAFAAAAAwAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAQAA + AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA + AAQAAAALAAAAHAAAAPIVFBX/GRgZ/xoZGv8bGRv/Gxob/xwbHP8cGxz/HRwd/x0cHf8eHR7/Hh0e/x8e + H/8ZGBn/GBcY/xgXGP8YFhj/FxYX/x8eH/8jISP/IyIj/yQiJP8kIiT/JCMk/yAfIP8WFRb/Dg4O/wAA + AP8WFRb/GRgZ/xkYGf8aGRr/Ghka/xsaG/8bGhv/HBsc/xwbHP8dHB3/HRwd/x4dHv8eHR7/Hx0f/yIh + Iv8tKy3/KSgp/wMCA/8MC0n/ERBp/xMThv8UE4j/FBOI/xQTiP8TE4f/ExOG/xMThf8TE4P/ExOB/xMT + f/8SEnz/EhJ6/xERdv8QEXP/EBBx/w8Qcf8LDFT/BQUF/yooKv8qKCr/KSgp/ykoKf8pKCn/KScp/ykn + Kf8pJyn/KCco/ygnKP8oJij/KCYo/ycmJ/8nJSf/JyUn/yYlJv8qKSr/YWBh/3Nyc/94d3j/fHt8/ysr + K/8EBAT/EA8Q/xMTE/8aGBr/JCIk/yQiJP8kIiT/IyIj/yMhI/8iISL/IiAi/yEgIf8hHyH/IB8g/yAe + IP8fHh//Hh0e/x4dHv8dHB3/HRwd/xwbHP8cGxz/Gxob/xsZG/8aGRr/GRgZ/xkYGf8YFxj/GBcY/xcW + F/8WFRb/FhUW/xUUFf8UFBT/FBMU/w4NDv8GBQb/BQUG/wUFBv8FBQX/BQUF/wcHB/89PD3/Pz8//z4+ + Pv89PT3/ExMT/w0NDf8NDA3/DAsM/wsLC/8LCgv/CgkK/wkJCf8ICAj/CAcI/wcHB/8GBgb/BgUG/wUF + Bf8EBAT/AwMD/wMDA/8CAgL/AQEB/wEAAf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8FBQX/Jycn/yQk + JP8gICD/HR0d/xoaGv8XFxf/FBQU/xMTE/8QEBD/CQkJ/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAJIAAAAkAAAAIgAAACAAAAAeAAAAHAAAABkAAAAXAAAAFQAAABQAAAARAAAADwAA + AA0AAAALAAAACAAAAAYAAAAEAAAAAwAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAEAAAADAAAACAAAABQAAADJExMT/xoZGv8bGRv/Gxob/xwbHP8cGxz/HRwd/x0cHf8eHR7/Hx0f/x8e + H/8gHiD/Ghga/xgXGP8YFxj/FxYX/xcWF/8gHiD/IyIj/yQiJP8kIyT/JSMl/yUkJf8dHB3/FBQU/wgI + CP8KCQr/GRgZ/xoYGv8aGRr/Gxob/xsaG/8cGxz/HBsc/x0cHf8dHB3/Hh0e/x4dHv8fHh//Hx4f/yAe + IP8pJyn/MTAx/yYlJv8BAQn/Dw5d/xMSef8VE47/FROO/xYTjv8VE47/FRON/xUTjP8UE4v/FBOJ/xMT + h/8TE4X/ExOC/xMTf/8SEnz/ERJ4/xARdf8QEXH/DxBx/wMEGv8aGRr/Kykr/yspK/8qKSr/Kikq/yoo + Kv8qKCr/Kigq/ykoKf8pKCn/KScp/yknKf8oJyj/KCYo/ygmKP8nJif/JyUn/ysqK/9kY2T/d3Z3/3x7 + fP9/f3//LCws/wQEBP8QEBD/FBMU/xoYGv8jIiP/JCMk/yQiJP8jIiP/IyEj/yIhIv8iICL/ISAh/yEf + If8gHyD/IB4g/x8eH/8fHR//Hh0e/x0cHf8dHB3/HBsc/xwbHP8bGhv/Gxkb/xoZGv8ZGBn/GRgZ/xgX + GP8YFxj/FxYX/xYVFv8WFRb/FRQV/xQUFP8TExP/BQUG/wUFBv8FBQX/BQUF/wUFBf8FBQX/MjEy/0NC + Q/9CQkL/QUFB/yMiI/8ODQ7/DQ0N/wwMDP8MCwz/CwoL/woKCv8KCQr/CQkJ/wgICP8HBwf/BwYH/wYG + Bv8FBQX/BQQF/wQEBP8DAwP/AgIC/wICAv8BAQH/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/CgoK/ycn + J/8kJCT/ICAg/x0dHf8aGhr/FxcX/xQUFP8TExP/EBAQ/wcHB/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAABnAAAAIQAAAB8AAAAcAAAAGgAAABgAAAAWAAAAFAAAABIAAAAQAAAADgAA + AAsAAAAJAAAABwAAAAUAAAADAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAgAAAAQAAAANAAAAxhMTE/8bGRv/Gxob/xwbHP8cGxz/HRwd/x4cHv8eHR7/Hx0f/x8e + H/8gHiD/IB8g/xoZGv8YFxj/GBcY/xcWF/8XFhf/IyEj/yQiJP8kIyT/JSMl/yUkJf8kIyT/GRkZ/xMT + E/8CAgL/ExIT/xoZGv8aGRr/Gxob/xwaHP8cGxz/HRwd/x0cHf8eHR7/Hh0e/x8eH/8fHh//IB4g/yAf + IP8hHyH/MTAx/zU0Nf8aGhr/BQQe/xEQZv8VE4f/FxSU/xcUlP8XFJX/FxSU/xcUlP8XFJP/FhSR/xYT + j/8VE43/FBOL/xQTiP8TE4X/ExOB/xMSfv8SEnr/ERF2/xARcv8JCkb/BQUF/ywqLP8sKiz/LCos/ysq + K/8rKiv/Kykr/yspK/8rKSv/Kikq/yooKv8qKCr/KSgp/yknKf8pJyn/KCco/ygmKP8nJif/LCos/2dm + Z/96enr/f35//4OCg/8tLS3/AwMD/w8PD/8UExT/GRgZ/yMiI/8kIyT/JCIk/yMiI/8jISP/IiEi/yIh + Iv8hICH/ISAh/yAfIP8gHiD/Hx4f/x8dH/8eHR7/Hhwe/x0cHf8cGxz/HBsc/xsaG/8bGRv/Ghka/xkY + Gf8ZGBn/GBcY/xcWF/8XFhf/FhUW/xYVFv8VFBX/FBMU/woKC/8FBQX/BQUF/wUFBf8FBQX/BQUF/x8f + H/9GRkb/RkVG/0VERf86OTr/Dg4O/w4NDv8NDA3/DAwM/wsLC/8LCgv/CgoK/wkJCf8JCAn/CAgI/wcH + B/8GBgb/BgUG/wUFBf8EBAT/BAME/wMDA/8CAgL/AQEB/wEBAf8AAAD/AAAA/wAAAP8AAAD/AAAA/xMT + E/8nJyf/JCQk/yAgIP8dHR3/Ghoa/xcXF/8UFBT/ExMT/xAQEP8EBAT/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAAVwAAAB0AAAAbAAAAGQAAABcAAAAVAAAAEwAAABEAAAAPAAAADAAA + AAoAAAAIAAAABgAAAAQAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAEAAAADAAAACAAAAKYQDxD/Gxob/xwbHP8cGxz/HRwd/x4cHv8eHR7/Hx0f/x8e + H/8gHiD/IB8g/yEgIf8bGRv/GBcY/xcWGP8XFhf/FhUW/yQjJP8lIyX/JSQl/yYkJv8mJSb/IiEi/xgW + GP8QDxD/AQEB/xoZGv8bGhv/Gxob/xwbHP8cGxz/HRwd/x4cHv8eHR7/Hx0f/x8eH/8gHiD/IB8g/yEf + If8hICH/IiAi/z07Pf86ODr/Dw8P/wkIOP8TEW//GBST/xkVmv8ZFZv/GRWb/xkVm/8ZFZr/GBWZ/xgV + l/8XFJX/FxST/xYTkP8VE43/FBOK/xMThv8TE4P/ExN//xISe/8REXf/EBF0/wICDv8bGhv/LSst/y0r + Lf8sKyz/LCos/ywqLP8sKiz/LCos/ysqK/8rKSv/Kykr/yopKv8qKCr/Kigq/ykoKf8pJyn/KCco/ygm + KP8tKy3/amlq/318ff+CgYL/hYSF/y4uLv8CAgL/Dw8P/xQTFP8aGBr/IyIj/yUjJf8kIyT/JCIk/yMi + I/8jISP/IiEi/yEgIf8hICH/IB8g/yAfIP8fHh//Hx0f/x4dHv8eHB7/HRwd/xwbHP8cGxz/Gxob/xsZ + G/8aGRr/GRgZ/xkYGf8YFxj/FxYX/xcWF/8WFRb/FRQV/xUUFf8REBH/BQUF/wUFBf8FBQX/BQUF/wUF + Bf8MDAz/SkpK/0pJSv9JSEn/SEdI/xQTFP8ODQ7/DQ0N/w0MDf8MCwz/CwsL/woKCv8KCQr/CQkJ/wgI + CP8IBwj/BwcH/wYGBv8FBQX/BQQF/wQEBP8DAwP/AwID/wICAv8BAQH/AAAA/wAAAP8AAAD/AAAA/wAA + AP8WFhb/Jycn/yQkJP8gICD/HR0d/xoaGv8XFxf/FBQU/xMTE/8QEBD/AQEB/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAABwAAAAaAAAAFwAAABYAAAAUAAAAEgAAAA8AAAANAAAACwAA + AAkAAAAHAAAABAAAAAMAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAQAAACFDg4O/xwbHP8cGxz/HRwd/x4cHv8eHR7/Hx0f/x8e + H/8gHyD/IB8g/yEgIf8iICL/Gxkb/xgXGP8XFhf/FxYX/xYVFv8lIyX/JSQl/yYkJv8mJSb/JyUn/x8d + H/8WFRb/CQkJ/woKCv8bGhv/HBoc/xwbHP8dHB3/HRwd/x4dHv8fHR//Hx4f/yAeIP8gHyD/IR8h/yEg + If8iICL/IiEi/yspK/9BQEH/Pj0+/wEBAf8QDl3/ExJ6/xoWnv8bFqD/Gxah/xsWof8bFqH/Ghag/xoW + n/8aFp3/GRWb/xgVmf8YFJb/FxST/xYTj/8VE4v/FBOI/xMThP8TE3//EhJ7/xEReP8KCkn/BgUG/y4s + Lv8uLC7/Liwu/y0sLf8tKy3/LSst/y0rLf8sKyz/LCos/ywqLP8sKiz/Kykr/yspK/8qKSr/Kigq/yoo + Kv8pJyn/KScp/y0sLf9sa2z/gH+A/4SDhP+Hhof/Ojo6/wICAv8PDw//FBMU/xoYGv8jISP/JSMl/yQj + JP8kIiT/IyIj/yMhI/8iISL/IiAi/yEgIf8gHyD/IB8g/x8eH/8fHR//Hh0e/x4cHv8dHB3/HBsc/xwb + HP8bGhv/Ghka/xoZGv8ZGBn/GRgZ/xgXGP8XFhf/FxYX/xYVFv8VFBX/FRQV/wcHB/8FBQX/BQUF/wUF + Bf8FBQX/BQUF/zk5Of9NTE3/TEtM/0tKS/8oJyj/Dg4O/w4NDv8NDQ3/DAwM/wwLDP8LCgv/CgoK/wkJ + Cf8JCAn/CAgI/wcHB/8HBgf/BgYG/wUFBf8EBAT/BAQE/wMDA/8CAgL/AQEB/wEBAf8AAAD/AAAA/wAA + AP8AAAD/Hh4e/ycnJ/8kJCT/ICAg/x0dHf8aGhr/FxcX/xQUFP8TExP/EBAQ/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAOIAAAAYAAAAFgAAABUAAAATAAAAEAAAAA4AAAAMAAAACgAA + AAcAAAAFAAAAAwAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAAgwsKC/8cGxz/HRwd/x4cHv8eHR7/Hx0f/x8e + H/8gHyD/IB8g/yEgIf8iICL/IiEi/xsaG/8YFxj/FxYX/xcWF/8WFRb/JSQl/yYkJv8mJSb/JyUn/ycl + J/8bGhv/ExMT/wMDA/8SERL/HBsc/xwbHP8dHB3/Hhwe/x4dHv8fHh//Hx4f/yAfIP8hHyH/ISAh/yIg + Iv8iISL/IyEj/yMiI/82NTb/RkRG/zMyM/8DAhH/ExFu/xcTjf8cF6X/HBen/x0Xp/8dF6f/HRen/xwX + pv8cF6X/Gxaj/xsWof8aFp7/GRWb/xgVmP8XFJT/FhOR/xUTjP8UE4j/ExOE/xMTf/8SEnz/EBF5/wIC + D/8cGxz/Ly0v/y8tL/8uLS7/Liwu/y4sLv8uLC7/Liwu/y0rLf8tKy3/LSst/ywqLP8sKiz/Kyor/ysp + K/8rKSv/Kigq/yooKv8pJyn/Liwu/25tbv+CgYL/hoWG/4qJiv9SUlL/AgIC/w0NDf8TExP/GRgZ/yIg + Iv8lIyX/JCMk/yQiJP8jIiP/IyEj/yIhIv8iICL/ISAh/yAfIP8gHyD/Hx4f/x8dH/8eHR7/Hhwe/x0c + Hf8cGxz/HBoc/xsaG/8aGRr/Ghka/xkYGf8YFxj/GBcY/xcWF/8XFhf/FhUW/xUUFf8ODQ7/BQUF/wUF + Bf8FBQX/BQUF/wUFBf8jIyP/UFBQ/09PT/9PTk//QUBB/w8OD/8ODg7/Dg0O/w0MDf8MDAz/CwsL/wsK + C/8KCQr/CQkJ/wgICP8IBwj/BwcH/wYGBv8GBQb/BQQF/wQEBP8DAwP/AwID/wICAv8BAQH/AAAA/wAA + AP8AAAD/AAAA/ycnJ/8nJyf/JCQk/yAgIP8dHR3/Ghoa/xcXF/8UFBT/ExMT/wwMDP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADEAAAAFQAAABMAAAARAAAADwAAAA0AAAAKAAAACAAA + AAYAAAAEAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAEIHBwf/HRwd/x0cHf8eHR7/Hx0f/x8e + H/8gHyD/IB8g/yEgIf8iICL/IiEi/yMhI/8eHB7/GBcY/xcWF/8WFRb/FhUW/yYlJv8nJSf/JyYn/ygm + KP8lIyX/GRgZ/xIREv8AAAD/Ghka/x0bHf8dHB3/Hh0e/x8dH/8fHh//IB4g/yAfIP8hICH/ISAh/yIh + Iv8jISP/IyIj/yQiJP8kIyT/Q0FD/0pISv8lJCX/BwYn/xQSdv8bFZv/Hhir/x4Yrf8eGK7/Hhiu/x4Y + rf8eGK3/Hhir/x0Xqf8cF6f/HBek/xsWof8aFp3/GRWZ/xcUlf8WFJH/FROM/xQTiP8TE4P/ExOA/xES + ff8KC0z/BgYG/zAuMP8wLjD/MC4w/y8uL/8vLS//Ly0v/y8tL/8uLC7/Liwu/y4sLv8tKy3/LSst/ywr + LP8sKiz/LCos/yspK/8rKSv/Kigq/ykoKf8uLS7/b25v/4OCg/+Hhof/i4qL/1RTVP8AAAD/DQ0N/xQT + FP8ZGBn/IB8g/yUjJf8lIyX/JCIk/yMiI/8jISP/IiEi/yIgIv8hICH/IR8h/yAfIP8fHh//Hx0f/x4d + Hv8dHB3/HRwd/xwbHP8cGhz/Gxob/xoZGv8aGBr/GRgZ/xgXGP8YFxj/FxYX/xYVFv8WFRb/FBMU/wUF + Bf8FBQX/BQUF/wUFBf8FBQX/CwsL/1BPUP9TU1P/UlFS/1BQUP8WFRb/Dw4P/w4NDv8NDQ3/DQwN/wwL + DP8LCwv/CgoK/woJCv8JCQn/CAgI/wcHB/8HBgf/BgYG/wUFBf8EBAT/BAQE/wMDA/8CAgL/AgEC/wEB + Af8AAAD/AAAA/wICAv8qKir/Jycn/yQkJP8gICD/HR0d/xoaGv8XFxf/FBQU/xMTE/8JCQn/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAiQAAABIAAAAQAAAADQAAAAsAAAAJAAAABwAA + AAUAAAADAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAABBBQUF/x0cHf8eHR7/Hx0f/x8e + H/8gHyD/IB8g/yEgIf8iICL/IiEi/yMhI/8jIiP/Hh0e/xcWGP8XFhf/FhUW/xUVFv8nJSf/JyYn/ygm + KP8oJyj/IiEi/xcXF/8MCwz/BwcH/x0cHf8dHB3/Hh0e/x8dH/8fHh//IB8g/yEfIf8hICH/IiAi/yIh + Iv8jISP/JCIk/yQjJP8lIyX/JSQl/09NT/9OTU7/FhYW/wkINf8VE3v/HReo/x8Zsv8gGbP/IBm0/yAa + tP8gGbT/IBmz/x8Zsf8fGK//Hhis/x0Yqf8cF6b/Gxai/xoWnv8ZFZr/FxSV/xYTkf8VE4z/ExOH/xMT + hP8TE4H/EhJ9/wICD/8dHB3/MS8x/zEvMf8wLjD/MC4w/zAuMP8wLjD/Ly0v/y8tL/8vLS//Liwu/y4s + Lv8tLC3/LSst/ywrLP8sKiz/Kyor/yspK/8qKSr/Kigq/y8tL/9gX2D/hIOE/4iHiP+Mioz/Z2dn/wgI + CP8LCgv/ExMT/xcWF/8dHB3/JSMl/yUjJf8kIyT/IyIj/yMhI/8iISL/IiAi/yEgIf8gHyD/IB8g/x8e + H/8fHR//Hh0e/x0cHf8dHB3/HBsc/xsaG/8bGhv/Ghka/xoYGv8ZGBn/GBcY/xgXGP8XFhf/FhUW/xUU + Ff8LCwv/BQUF/wUFBf8FBQX/BQUF/wUFBf87Ojv/V1ZX/1VVVf9UU1T/NTQ1/w8OD/8ODg7/Dg0O/w0M + Df8MDAz/CwsL/wsKC/8KCgr/CQkJ/wkICf8IBwj/BwcH/wYGBv8GBQb/BQUF/wQEBP8DAwP/AwID/wIC + Av8BAQH/AAAA/wAAAP8LCwv/Kioq/ycnJ/8kJCT/ICAg/x0dHf8aGhr/FxcX/xQUFP8TExP/BgYG/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAGkAAAAOAAAADAAAAAoAAAAIAAAABQAA + AAMAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAP8eHR7/Hx0f/x8e + H/8gHiD/IB8g/yEgIf8iICL/IiEi/yMhI/8jIiP/JCMk/x4dHv8YFhj/FxYX/xYVFv8WFhf/JyYn/ygm + KP8oJyj/KScp/x8eH/8WFRb/BgYG/w8PD/8eHB7/Hh0e/x8eH/8gHiD/IB8g/yEgIf8hICH/IiEi/yMh + I/8jIiP/JCIk/yQjJP8lIyX/JSQl/y8uL/9VVFX/UlBS/wgICP8ODFH/ExJ3/yAZsf8jHLj/JB25/yUe + uv8lHrr/JR66/yQduf8iG7f/IRq1/yAZsv8fGK//Hhir/x0Xp/8bFqP/Ghae/xkVmv8XFJT/FhOP/xQT + i/8TE4j/ExOF/xMTgf8LDVL/BgYG/zEvMf8xLzH/MS8x/zEvMf8xLzH/MS8x/zAuMP8wLjD/MC4w/y8t + L/8vLS//Li0u/y4sLv8tLC3/LSst/ywrLP8sKiz/Kyor/yspK/8qKCr/Kigq/2BfYP+Eg4T/iIeI/4uK + i/9vbm//CQkJ/wkJCf8TExP/FhUW/xsbG/8kIyT/JSMl/yQjJP8jIiP/IyEj/yIhIv8iICL/ISAh/yAf + IP8gHiD/Hx4f/x8dH/8eHR7/HRwd/x0bHf8cGxz/Gxob/xsaG/8aGRr/GRgZ/xkYGf8YFxj/FxYX/xcW + F/8WFRb/ExMT/wUFBf8FBQX/BQUF/wUFBf8FBQX/HBwc/1paWv9ZWVn/V1dX/01MTf8QDxD/Dw4P/w4N + Dv8NDQ3/DQwN/wwLDP8LCwv/CgoK/woJCv8JCQn/CAgI/wcHB/8HBgf/BgYG/wUFBf8FBAX/BAQE/wMD + A/8CAgL/AQEB/wEBAf8AAAD/FRUV/yoqKv8nJyf/JCQk/yAgIP8dHR3/Ghoa/xcXF/8UFBT/ExMT/wMD + A/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAA6AAAACwAAAAkAAAAGAAAABAAA + AAMAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/HBsc/x8e + H/8gHiD/IB8g/yEgIf8iICL/IiEi/yMhI/8jIiP/JCMk/yUjJf8fHR//FxYX/xcWF/8WFRb/Ghka/ygm + KP8pJyn/KScp/yknKf8cGxz/FBMU/wEBAf8YFxj/Hh0e/x8eH/8gHiD/IB8g/yEgIf8iICL/IiEi/yMh + I/8kIiT/JCMk/yUjJf8lJCX/JiQm/yYlJv87OTv/WVhZ/05NTv8AAAP/EhBk/xQTgP8fGqv/KSK+/yoj + wP8rJMH/LCXB/yskwP8qI7//KCG9/yYfu/8iHLj/IBm0/x8ZsP8eGKz/HRen/xsWov8aFp3/GBWY/xcU + k/8VFI//FBOM/xMTiP8TE4T/DhFq/zs7O/8eHR7/MjAy/zIwMv8xLzH/MS8x/zEvMf8xLzH/MS8x/zEv + Mf8wLjD/MC4w/y8uL/8vLS//Li0u/y4sLv8tLC3/LSst/ywqLP8sKiz/Kykr/yopKv8qKCr/W1pb/4SD + hP+Hh4f/i4mL/4KBgv8WFhb/BQUF/xMSE/8VFRX/Gxob/yQiJP8lIyX/JCMk/yMiI/8jISP/IiEi/yIg + Iv8hICH/IB8g/yAeIP8fHh//Hh0e/x4dHv8dHB3/HRsd/xwbHP8bGhv/Gxkb/xoZGv8ZGBn/GRgZ/xgX + GP8XFhf/FhUW/xYVFv8KCgr/BQUF/wUFBf8FBQX/BQUF/wYGBv9UU1T/XFxc/1taW/9ZWFn/JSQl/w8P + D/8PDg//Dg0O/w0NDf8MDAz/DAsM/wsKC/8KCgr/CQkJ/wkICf8ICAj/BwcH/wYGBv8GBQb/BQUF/wQE + BP8DAwP/AwID/wICAv8BAQH/AAAA/x4eHv8qKir/Jycn/yQkJP8gICD/HR0d/xoaGv8XFxf/FBQU/xMT + E/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAACQAAAAcAAAAFAAAAAwAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvxcW + F/8gHiD/IB8g/yEgIf8iICL/IiEi/yMhI/8jIiP/JCMk/yUjJf8lJCX/Hx4f/xcWGP8XFhf/FhUW/xoZ + Gv8pJyn/KSgp/yooKv8mJSb/Ghka/xEQEf8CAQL/Hh0e/x8eH/8gHyD/IR8h/yEgIf8iICL/IyEj/yMi + I/8kIiT/JCMk/yUkJf8mJCb/JiUm/yclJ/8nJif/R0ZH/11cXf9BQEH/AQIP/w4OWf8XFIz/HBej/yok + vP8wKsj/MSvJ/zIryf8xK8n/MCnH/y4nw/8rJMD/KCG9/yQduf8gGrX/Hxmw/x4Yq/8cF6b/Gxah/xkW + m/8YFZb/FhST/xUUj/8UE4z/ExOC/ygre/+1tbX/BgYG/zIwMv8yMDL/MjAy/zIwMv8yMDL/MjAx/zEv + Mf8xLzH/MS8x/zEvMf8wLjD/MC4w/y8tL/8vLS//Li0u/y4sLv8tKy3/LSst/ywqLP8rKSv/Kykr/yoo + Kv9LSUv/hIOE/4aGhv+JiIn/goGC/ygnKP8EBAT/ERAR/xUUFf8bGRv/IyEj/yUjJf8kIyT/IyIj/yMh + I/8iISL/IiAi/yEgIf8gHyD/IB4g/x8eH/8eHR7/Hh0e/x0cHf8cGxz/HBsc/xsaG/8aGRr/Ghka/xkY + Gf8YFxj/GBcY/xcWF/8WFRb/ExIT/wUFBf8FBQX/BQUF/wUFBf8FBQX/Ly8v/2BfYP9eXl7/XFxc/0dH + R/8QDxD/Dw4P/w4ODv8NDQ3/DQwN/wwLDP8LCwv/CgoK/woJCv8JCQn/CAgI/wgHCP8HBgf/BgYG/wUF + Bf8EBAT/BAQE/wMDA/8CAgL/AQEB/wEBAf8nJyf/Kioq/ycnJ/8kJCT/ICAg/x0dHf8aGhr/FxcX/xQU + FP8PDw//AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAwQAAAAYAAAAEAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AL8TExP/IB8g/yEgIf8hICH/IiEi/yMhI/8jIiP/JCIk/yUjJf8lJCX/JiQm/x8eH/8XFhf/FxYX/xYV + Fv8aGRr/KSgp/yooKv8qKSr/JCMk/xgYGP8LCwv/CgoK/x8eH/8gHyD/IR8h/yEgIf8iISL/IyEj/yMi + I/8kIyT/JSMl/yUkJf8mJCb/JyUn/ycmJ/8oJij/KCco/1VTVf9gX2D/Li0u/ykpMv8TE07/FhOK/x0Y + p/8fGqz/NS7M/zgx0P84MdD/ODHP/zYvzv80Lcv/MCrI/y0mwv8pIr7/JB25/yAatP8fGK//HRiq/xwX + pP8aFp//GRaa/xgVlv8WFJP/FROP/xMTf/9FR4z/9fX0/zs7O/8YFxj/MjAy/zIwMv8yMDL/MjAy/zIw + Mv8yMDL/MjAy/zEvMf8xLzH/MS8x/zEvMf8wLjD/MC4w/y8tL/8vLS//Liwu/y0sLf8tKy3/LCos/ywq + LP8rKSv/Kigq/0VERf99fH3/hYSF/4eHh/+IiIj/ODg4/wICAv8PDg//FBQU/xkYGf8gHyD/JCMk/yQj + JP8jIiP/IyEj/yIhIv8hICH/ISAh/yAfIP8gHiD/Hx4f/x4dHv8eHB7/HRwd/xwbHP8cGhz/Gxob/xoZ + Gv8ZGBn/GRgZ/xgXGP8XFhf/FxYX/xYVFv8JCQn/BQUF/wUFBf8FBQX/BQUF/w0NDf9eXl7/YmFi/19f + X/9dXV3/GBcY/w8PD/8PDg//Dg0O/w0NDf8MDAz/DAsM/wsKC/8KCgr/CQkJ/wkICf8ICAj/BwcH/wYG + Bv8GBQb/BQUF/wQEBP8DAwP/AwID/wICAv8HBwf/LS0t/yoqKv8nJyf/JCQk/yAgIP8dHR3/Ghoa/xcX + F/8UFBT/CwsL/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAJEAAAADAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAB/ERAR/yEfIf8hICH/IiEi/yMhI/8jIiP/JCIk/yUjJf8lJCX/JiQm/yYlJv8fHh//FxYY/xcW + F/8WFRb/IB4g/yooKv8qKSr/Kykr/yEfIf8XFhf/BgYG/xMSE/8gHyD/IR8h/yEgIf8iISL/IyEj/yQi + JP8kIyT/JSMl/yYkJv8mJSb/JyUn/ycmJ/8oJij/KScp/yknKf9kYmT/ZGNk/yEgIf9TUlL/X2B7/w8R + av8dGaj/Hxqu/ykju/8+N9b/PjjW/z431v88NdT/OTLR/zUvzf8xK8n/LSbC/yghvf8jHLj/IBmy/x4Y + rf8cGKf/Gxeh/xoWnf8ZFpr/FxWW/xYUkv8SE3z/f4Cu//X19P+2tbX/AwMD/y8tL/8zMTP/MzEy/zIw + Mv8yMDL/MjAy/zIwMv8yMDL/MjAy/zEvMf8xLzH/MS8x/zEvMf8wLjD/MC4w/y8tL/8uLS7/Liwu/y0r + Lf8sKyz/LCos/yspK/8qKSr/Ojg6/3x7fP+DgoP/hYSF/4eGh/9QUFD/AAAA/wwMDP8TExP/FxYX/x0b + Hf8kIyT/JCIk/yMiI/8jISP/IiEi/yEgIf8hHyH/IB8g/x8eH/8fHR//Hh0e/x0cHf8dHB3/HBsc/xsa + G/8bGRv/Ghka/xkYGf8ZGBn/GBcY/xcWF/8WFRb/ExIT/wUFBf8FBQX/BQUF/wUFBf8FBQX/RURF/2Vk + Zf9jYmP/YGBg/0BAQP8QDxD/Dw4P/w4ODv8ODQ7/DQwN/wwMDP8LCwv/CwoL/woJCv8JCQn/CAgI/wcH + B/8HBgf/BgYG/wUFBf8EBAT/BAQE/wMDA/8CAgL/ExMT/y4tLv8qKir/Jycn/yQkJP8gICD/HR0d/xoa + Gv8XFxf/FBQU/wYGBv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAABRAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAXwoKCv8hICH/IiEi/yMhI/8jIiP/JCIk/yQjJP8lJCX/JiQm/yYlJv8nJSf/IB4g/xgW + GP8XFhf/FhUW/yAeIP8rKSv/Kykr/yspK/8eHB7/FRQV/wEBAf8aGBr/IR8h/yEgIf8iISL/IyEj/yQi + JP8kIyT/JSQl/yYkJv8mJSb/JyUn/ygmKP8oJyj/KScp/ykoKf8qKCr/a2pr/2dmZ/8VFRX/Z2dm/6am + pf89P4D/FBSI/yAbsv8hG7P/OTPQ/0U+3f9EPdz/QTva/z441v86NNL/Ni/N/zAqyP8rJMH/Jh+7/yEa + tf8fGa//HRip/xwYpf8bF6H/Ghad/xgVmf8XFZX/EBJ0/5ycv//19fT/9fX1/zs7O/8YFxj/MzEz/zMx + M/8zMTP/MzEz/zIxMv8yMDL/MjAy/zIwMv8yMDL/MjAy/zEvMf8xLzH/MS8x/zAuMP8wLjD/Ly0v/y8t + L/8uLC7/LSst/y0rLf8sKiz/Kykr/yopKv8vLS//b25v/4GAgf+DgoP/hIOE/2dnZ/8HBwf/CgkK/xMT + E/8WFBb/Gxkb/yQiJP8kIiT/IyIj/yMhI/8iISL/ISAh/yEfIf8gHyD/Hx4f/x8dH/8eHR7/HRwd/x0b + Hf8cGxz/Gxob/xoZGv8aGRr/GRgZ/xgXGP8YFxj/FxYX/xYVFv8JCQn/BQUF/wUFBf8FBQX/BQUF/xMT + E/9oZ2j/ZWVl/2NjY/9bW1v/ExMT/w8PD/8PDg//Dg0O/w0NDf8MDAz/DAsM/wsKC/8KCgr/CQkJ/wkI + Cf8ICAj/BwcH/wYGBv8GBQb/BQQF/wQEBP8DAwP/AgIC/xsbG/8uLi7/Kioq/ycnJ/8kJCT/ICAg/x0d + Hf8aGhr/FxcX/xQUFP8BAQH/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAEQAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAD8GBgb/IiAi/yIhIv8jIiP/JCIk/yQjJP8lJCX/JiQm/yYlJv8nJSf/KCYo/yAf + IP8XFxj/FxYX/xYVFv8jISP/Kykr/ywqLP8pKCn/HBoc/xMTE/8AAAD/IR8h/yEgIf8iISL/IyEj/yQi + JP8kIyT/JSQl/yYkJv8nJSf/JyYn/ygmKP8pJyn/KScp/yooKv8qKSr/PDs8/25tbv9qaWr/BAQE/4+O + jf+sq6r/yMfS/xkccf8cGKH/Ihy1/yUfuP9GP97/SkPi/0dB3/9DPdv/PjjW/zkz0f80Lcv/LifE/ygi + vv8iHLj/Hxqy/x4ZrP8dGKj/HBik/xsXoP8ZFpz/GBWX/w8Rb//Jydr/9fT0//X19f+2trX/AwMD/zAu + L/8zMTP/MzEz/zMxM/8zMTP/MzEz/zMxMv8yMDL/MjAy/zIwMv8yMDL/MjAy/zEvMf8xLzH/MS8x/zAu + MP8vLS//Ly0v/y4sLv8tLC3/LSst/ywqLP8rKSv/Kikq/y8tL/9dXF3/fn1+/39/f/+BgIH/d3Z3/xMT + E/8FBQX/EhIS/xUTFf8ZGRn/IyEj/yQiJP8jIiP/IiEi/yIgIv8hICH/IB8g/yAeIP8fHh//Hh0e/x4d + Hv8dHB3/HBsc/xwaHP8bGhv/Ghka/xkYGf8ZGBn/GBcY/xcWF/8XFhf/ExIT/wUFBf8FBQX/BQUF/wUF + Bf8FBQX/UlJT/2hoaP9mZWb/Y2Jj/zg3OP8QDxD/Dw4P/w4ODv8ODQ7/DQwN/wwLDP8LCwv/CgoK/woJ + Cv8JCQn/CAgI/wcHB/8HBgf/BgYG/wUFBf8EBAT/BAME/wMDA/8rKyv/Li4u/yoqKv8nJyf/JCQk/yAg + IP8dHR3/Ghoa/xcXF/8TExP/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAzwAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAPAAAA/yIhIv8jISP/JCIk/yQjJP8lIyX/JiQm/yYlJv8nJSf/JyYn/ygm + KP8gHyH/GBcY/xcWF/8WFRb/JiQm/ywqLP8sKyz/JyYn/xoZGv8NDQ3/CAgI/yEgIf8iISL/IyEj/yQi + JP8kIyT/JSQl/yYkJv8nJSf/JyYn/ygmKP8pJyn/KSgp/yooKv8rKSv/Kykr/0JBQv9xcHH/bGps/wAA + AP+VlJP/tLOy/+fm5f+jo7//DxFu/yIcsv8kHrn/MCrH/09J6P9MRuT/R0Hf/0I72v88NtT/NjDO/zAq + yP8qJMD/JB25/yAbs/8fGq//Hhmr/x0Yp/8bF6P/Ghee/xkWmv8OEWr/9PTz//X09P/19fT/9vX1/zs7 + O/8ZGBn/NDIz/zQyM/8zMTP/MzEz/zMxM/8zMTP/MzEz/zMxMv8yMDL/MjAy/zIwMv8yMDL/MS8x/zEv + Mf8xLzH/MC4w/zAuMP8vLS//Liwu/y0sLf8tKy3/LCos/yspK/8qKSr/KSgp/1JQUv97eXv/fHt8/318 + ff91dXX/KSkp/wICAv8QDxD/FBMU/xgXGP8gHiD/IyIj/yMhI/8iISL/IiAi/yEgIf8gHyD/IB4g/x8e + H/8eHR7/HRwd/x0cHf8cGxz/Gxob/xsZG/8aGRr/GRgZ/xgXGP8YFxj/FxYX/xYVFv8JCQr/BQUF/wUF + Bf8FBQb/BQUG/yEgIf9ra2v/aGho/2VlZf9dXF3/ExMT/w8PD/8PDg//Dg0O/w0NDf8MDAz/DAsM/wsK + C/8KCgr/CQkJ/wkICf8IBwj/BwcH/wYGBv8FBQX/BQQF/wQEBP8KCQr/MjIy/y4uLv8rKyv/Jycn/yQk + JP8gICD/HR0d/xoaGv8XFxf/Dg4O/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AJAAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN8cGxz/IyIj/yQjJP8lIyX/JSQl/yYlJv8nJSf/JyYn/ygm + KP8pJyn/ISAh/xgXGP8XFhf/FhUX/ycmKP8sKyz/LSst/yUjJf8ZGBn/CQkJ/xIREv8iISL/IyEj/yQi + JP8kIyT/JSQl/yYkJv8nJSf/JyYn/ygmKP8pJyn/Kigq/yopKv8rKSv/LCos/ywqLP9SUFL/dHN0/1RT + VP8dHR3/m5qZ/7++vf/q6ej/6uno/1FSkf8TFIP/JiC8/ychvf9AOtn/UEno/0pE4v9EPtz/PjjW/zgx + 0P8yK8n/LCXB/yUeu/8hG7X/IBqy/x8arv8eGar/HBil/xsXof8WFJD/NzmD//T08//19PT/9fX0//b1 + 9f/X19b/AwMD/zAuMP80MjT/NDI0/zQyM/8zMjP/MzEz/zMxM/8zMTP/MzEz/zIxMv8yMDL/MjAy/zIw + Mv8yMDH/MS8x/zEvMf8wLjD/MC4w/y8tL/8uLC7/LSwt/y0rLf8sKiz/Kykr/yooKv8pKCn/QUBB/3Jx + cv94d3j/eHd4/3l4ef8+Pj7/AAAA/wwMDP8TExP/FxUX/xwbHP8jISP/IyEj/yIhIv8hICH/IR8h/yAf + IP8fHh//Hx0f/x4dHv8dHB3/HBsc/xwbHP8bGhv/Ghka/xoYGv8ZGBn/GBcY/xcWF/8XFhf/FBMU/wUF + Bv8FBQb/BQUG/wUFBv8GBQb/VVVV/2tqa/9nZ2f/ZGRk/zg3OP8QDxD/Dw4P/w4ODv8NDQ3/DQwN/wwL + DP8LCwv/CgoK/woJCv8JCQn/CAgI/wcHB/8HBgf/BgUG/wUFBf8EBAT/FRUV/zIyMv8uLi7/Kysr/ycn + J/8kJCT/ICAg/x0dHf8aGhr/FxcX/wgICP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAABBAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC/FRQV/yQiJP8lIyX/JSQl/yYkJv8nJSf/JyYn/ygm + KP8pJyn/KSgp/yEgIf8YFxn/GBcY/xYVF/8sKyz/LSst/y4sLv8iISL/GBcY/wQEBP8XFhf/IyEj/yQi + JP8kIyT/JSQl/yYkJv8nJSf/JyYn/ygnKP8pJyn/Kigq/yopKv8rKSv/LCos/ywrLP8tKy3/VFJU/3d2 + d/9WVVb/Hh4e/56dnP/DwsH/6uno/+rp6P/d3OH/GRxx/x0bn/8pI8H/KiTC/0pE4/9LReT/RT/d/z84 + 1/85MtD/MizK/ywlwv8mH7v/Ihy1/yEbs/8gGrD/Hhms/x0Yp/8cF6P/FRSL/1NVlP/09PP/9fT0//X1 + 9P/29fX/9vb1/1paWv8TExP/NDI0/zQyNP80MjT/NDI0/zQyM/8zMjP/MzEz/zMxM/8zMTP/MzEy/zIw + Mv8yMDL/MjAy/zIwMv8xLzH/MS8x/zAuMP8wLjD/Ly0v/y4sLv8tLC3/LSst/ywqLP8rKSv/Kigq/ykn + Kf82NTb/amlq/3Nzc/90c3T/dHN0/1NTU/8FBQX/CAgI/xMSE/8WFBb/Ghka/yIgIv8jISP/IiEi/yEg + If8gHyD/IB4g/x8eH/8eHR7/Hhwe/x0cHf8cGxz/Gxob/xsaG/8aGRr/GRgZ/xkYGf8YFxj/FxYX/xYV + Fv8MCwz/BQUG/wYFBv8GBQb/BgUG/yIhIv9tbG3/aWlp/2ZmZv9dXV3/ExMT/w8PD/8PDg//Dg0O/w0N + Df8MDAz/DAsM/wsKC/8KCQr/CQkJ/wgICP8IBwj/BwcH/wYGBv8FBQX/BQQF/yUlJf8yMjL/Ly4v/ysr + K/8oJyj/JCQk/yAgIP8dHR3/Ghoa/xcXF/8DAwP/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAADvAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfxAQEP8kIyT/JSQl/yYkJv8mJSb/JyYn/ygm + KP8oJyj/KScp/yooKv8iICL/GRgZ/xgXGP8YFxj/LSst/y4sLv8tLC3/IB4g/xYVFv8BAQH/Hh0e/yQi + JP8kIyT/JSQl/yYkJv8nJSf/JyYn/ygnKP8pJyn/Kigq/yopKv8rKSv/LCos/y0rLf8tKy3/Liwu/2Be + YP96eXr/TUxN/y8vL/+hoJ//yMfE/+rp6P/q6ej/6urp/7Gxyf8PEm//KCK5/y0myP80Lc//S0Xj/0U+ + 3f8/ONf/ODLQ/zIryv8sJcH/Jh+7/yMdtv8hG7T/IBuy/x8arv8eGan/HBil/xMTgv9/gK3/9PTz//X0 + 9P/19fT/9fX1//b19f/X19f/AAAA/y4sLf80MzT/NDI0/zQyNP80MjT/NDI0/zQyM/8zMTP/MzEz/zMx + M/8zMTP/MjAy/zIwMv8yMDL/MjAy/zEvMf8xLzH/MC4w/zAuMP8vLS//Liwu/y0rLf8sKyz/LCos/ysp + K/8qKCr/KScp/y0rLf9dXF3/b25v/29ub/9vbm//ZGNk/xMTE/8EBAT/ERAR/xQTFP8ZGBn/IB8g/yIh + Iv8iICL/ISAh/yAfIP8gHiD/Hx0f/x4dHv8dHB3/HRsd/xwbHP8bGhv/Ghka/xoZGv8ZGBn/GBcY/xcW + F/8XFhf/FRQV/wcGB/8GBQb/BgUG/wYFBv8GBgb/VlVW/2tqa/9nZ2f/ZGNk/zg3OP8QDxD/Dw4P/w4N + Dv8NDQ3/DQwN/wwLDP8LCwv/CgoK/woJCv8JCAn/CAgI/wcHB/8GBgb/BgUG/wUEBf8zMzP/MjIy/y8v + L/8rKyv/KCgo/yQkJP8gICD/HR0d/xoaGv8TExP/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAAoAAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE8JCQn/JSMl/yYkJv8mJSb/JyUn/ygm + KP8oJyj/KScp/yooKv8qKSr/IiEi/xkYGf8YFxn/HRsd/y0sLf8uLC7/LCos/x4dHv8TExP/AgIC/yMi + I/8kIyT/JSQl/yYkJv8nJSf/JyYn/ygnKP8pJyn/Kigq/yopKv8rKSv/LCos/y0rLf8tLC3/Liwu/y8t + L/9samz/fHt8/zw7PP9AQED/oqGg/9DPzv/p6ej/6uno/+rp6f/r6un/bG6h/xQVgf8vKc3/MCnN/zw1 + 1/9DPdv/PTfV/zcxz/8xKsn/KyTA/yYfu/8jHbf/Ihy1/yEbs/8gGrD/Hhmr/x0Ypv8SE3j/qqrI//Tz + 8//09PP/9fT0//X19P/29fX/9vb1/2ppaf8TExP/NTM0/zUzNP80MzT/NDI0/zQyNP80MjT/NDIz/zMy + M/8zMTP/MzEz/zMxM/8yMDL/MjAy/zIwMv8yMDL/MS8x/zEvMf8wLjD/MC4w/y8tL/8uLC7/LSst/ywq + LP8rKiv/Kikq/yooKv8pJyn/KCYo/01MTf9qaWr/aWhp/2loaf9nZmf/Jycn/wICAv8NDQ3/ExMT/xgX + GP8dHB3/IiAi/yEgIf8hHyH/IB8g/x8eH/8fHR//Hh0e/x0cHf8cGxz/HBoc/xsaG/8aGRr/GRgZ/xkY + Gf8YFxj/FxYX/xYVFv8PDg//BgUG/wYGBv8GBgb/BgYG/yIhIv9sbGz/aWhp/2VkZf9cW1z/ExMT/w8P + D/8ODg7/Dg0O/w0MDf8MDAz/CwsL/wsKC/8KCQr/CQkJ/wgICP8HBwf/BwYH/wYGBv8UFBT/NzY3/zMz + M/8vLy//Kysr/ygoKP8kJCT/ICAg/x0dHf8aGhr/Dg4O/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAFEAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAA/yUkJf8mJSb/JyUn/ycm + J/8oJij/KScp/ykoKf8qKCr/Kykr/yMhI/8aGBr/GBcZ/yAeIP8uLC7/Ly0v/yspK/8dHB3/Dw4P/wkJ + Cf8kIyT/JSMl/yYkJv8nJSf/JyYn/ygmKP8pJyn/Kigq/yspK/8rKSv/LCos/y0rLf8tLC3/Liwu/y8t + L/8wLjD/bmxu/39+f/88PDz/QUFA/6OioP/Qz87/6ejn/+rp6P/q6ej/6+rp/93d4f8nKnn/IR+j/zMs + 0v8zLNL/PDbW/zs00v81Ls3/LyjH/ykjv/8mILv/JB64/yIctv8hG7P/IBqx/x4ZrP8dGKf/DxFt/9fW + 4f/08/P/9PTz//X09P/19fT/9fX1//b29f/n5ub/Dw8P/ycmJ/81MzX/NTM0/zUzNP80MzT/NDI0/zQy + NP80MjT/MzIz/zMxM/8zMTP/MzEz/zIxMv8yMDL/MjAy/zIwMv8xLzH/MS8x/zAuMP8wLjD/Ly0v/y4s + Lv8tKy3/LCos/yspK/8qKSr/KSgp/ygnKP8nJif/Ojk6/2FgYf9kY2T/Y2Jj/2JhYv89PT3/BQUF/woJ + Cv8TExP/FhUW/xoZGv8hHyH/ISAh/yAfIP8gHiD/Hx4f/x4dHv8dHB3/HRwd/xwbHP8bGhv/Gxkb/xoZ + Gv8ZGBn/GBcY/xgXGP8XFhf/FhUW/wgICP8GBgb/BgYG/wYGBv8GBgb/VFRU/2lpaf9lZWX/YmFi/zc2 + N/8QDxD/Dw4P/w4NDv8NDQ3/DAwM/wwLDP8LCgv/CgoK/wkJCf8JCAn/CAcI/wcHB/8GBgb/JSUl/zc2 + N/8zMzP/Ly8v/ywrLP8oKCj/JSQl/yAgIP8dHR3/Ghoa/wgICP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAO8AAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN8eHR7/JyUn/ycm + J/8oJij/KScp/ykoKf8qKCr/Kykr/ysqK/8jIiP/Ghka/xkYGf8jIiP/Ly0v/y8tL/8oJyj/HBsc/woK + Cv8QEBD/JSMl/yYkJv8mJSb/JyYn/ygmKP8pJyn/Kigq/yopKv8rKSv/LCos/y0rLf8uLC7/Liwu/y8t + L/8wLjD/MC4w/29ub/+Bf4H/Pj0+/0FBQf+ioaD/0M/O/+no5//q6ej/6uno/+vq6f/r6un/wMDS/w4R + av8uKcH/Ni/W/zUu0/83MND/MivL/y0mxP8pI8D/JyC8/yUeuf8jHbb/IRu0/yAasv8fGa3/HBik/w4R + av/z8/L/9PPz//T08//09PT/9fT0//X19P/29fX/9vb1/3l5ef8NDQ3/NTQ1/zUzNf81MzX/NTM0/zQz + NP80MjT/NDI0/zQyNP80MjP/MzEz/zMxM/8zMTP/MjEy/zIwMv8yMDL/MjAy/zEvMf8xLzH/MC4w/y8t + L/8uLS7/Liwu/y0rLf8sKiz/Kykr/yooKv8pJyn/KCYo/yclJ/8xMDH/VFNU/15dXv9dXF3/XFtc/0xL + TP8NDQ3/BQUF/xEQEf8UExT/GBcY/x8eH/8hHyH/IB8g/x8eH/8fHR//Hh0e/x0cHf8cGxz/HBoc/xsa + G/8aGRr/GRgZ/xkYGf8YFxj/FxYX/xYVFv8TEhP/BgYG/wYGBv8GBgb/BgYG/xQUFP9qaWr/ZmZm/2Jh + Yv9ZWVn/GBcY/w8OD/8ODg7/Dg0O/w0MDf8MCwz/CwsL/woKCv8KCQr/CQkJ/wgICP8HBwf/BgYG/zc3 + N/83Nzf/MzMz/zAvMP8sLCz/KCgo/yUlJf8hISH/HR0d/xkZGf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAACQAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAQAA + AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACfFRQV/ycl + J/8oJij/KCco/yknKf8qKCr/Kikq/yspK/8sKiz/JCIk/xsZG/8ZGBr/KCYo/y8tL/8wLjD/KCYo/xsa + G/8GBgb/FhUW/yUkJf8mJSb/JyUn/ygmKP8pJyn/Kigq/yopKv8rKSv/LCos/y0rLf8uLC7/Liwu/y8t + L/8wLjD/MC4w/zEvMf9xb3H/g4GD/z4+Pv9BQUH/oqGg/9DPzv/p6Of/6uno/+rp6P/r6un/6+rp/+vr + 6v97fKn/FBV//zgx2v81LtX/MizQ/y8py/8sJsf/KSPB/ychvf8kHrj/IRu1/yAas/8dGK//HBer/xYU + mf9ERoz/8/Ly//Pz8v/08/P/9PTz//X09P/19fT/9fX1//b19f/n5ub/HBwc/yQjJP81NDX/NTM1/zUz + Nf81MzX/NTM0/zQzNP80MjT/NDI0/zQyM/8zMTP/MzEz/zMxM/8yMDL/MjAy/zIwMv8yMDH/MS8x/zEv + Mf8wLjD/Ly0v/y4sLv8tKy3/LCos/ysqK/8qKSr/KSgp/yknKf8oJij/JyUn/yknKf9GRUb/WFdY/1dW + V/9WVVb/T05P/xoaGv8CAgL/Dg0O/xMTE/8XFxf/HBsc/yAfIP8gHiD/Hx4f/x4dHv8eHB7/HRwd/xwb + HP8bGhv/Gxkb/xoZGv8ZGBn/GBcY/xcWF/8XFhf/FhUW/w0MDf8GBgf/BgYH/wYGB/8GBgf/QEBA/2Zl + Zv9iYmL/Xl5e/z4+Pv8PDw//Dw4P/w4NDv8NDQ3/DAwM/wsLC/8LCgv/CgkK/wkJCf8ICAj/CAcI/xYW + Fv87Ojv/Nzc3/zQzNP8wMDD/LCws/ygoKP8lJSX/ISEh/x0dHf8SEhL/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAAIQAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAABAAAAAQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXwwM + DP8nJif/KCYo/yknKf8qKCr/Kikq/yspK/8sKiz/LCos/yQjJP8bGhv/Ghkb/yooKv8wLjD/MC4w/yYk + Jv8bGRv/AwMD/xsaG/8mJCb/JyUn/ygmKP8pJyn/KSgp/yopKv8rKSv/LCos/y0rLf8tLC3/Liwu/y8t + L/8wLjD/MC4w/zEvMf8xLzH/cnFy/4SDhP83Nzf/UVFR/6KhoP/Pzs3/6ejn/+rp6P/q6ej/6urp/+vq + 6f/r6ur/7Ovq/zU3gf8gHqD/MCrQ/yokyP8nIcH/JB69/yAbuP8dGbT/GRWv/xcTrP8VE6r/FROp/xUT + pv8SEZL/Jyp9/+Tk6f/z8/L/9PPz//T08//09PP/9fT0//X19P/29fX/9vb1/5iXl/8HBgf/NjQ1/zY0 + Nf81NDX/NTM1/zUzNf81MzT/NDM0/zQyNP80MjT/NDIz/zMxM/8zMTP/MzEz/zIwMv8yMDL/MjAy/zEv + Mf8xLzH/MC4w/zAuMP8vLS//Liwu/y0rLf8sKiz/Kykr/yooKv8pJyn/KCYo/yclJ/8mJSb/JSQl/zY1 + Nv9PTk//UE9Q/09OT/9NTE3/Li0u/wMDA/8KCgr/ExMT/xYVFv8ZGRn/Hx4f/x8eH/8fHR//Hh0e/x0c + Hf8cGxz/HBoc/xsaG/8aGRr/GRgZ/xkYGf8YFxj/FxYX/xYVFv8UExT/CAcI/wcGB/8HBgf/BwYH/w8O + D/9gYGD/YmJi/15eXv9aWlr/IB8g/w8OD/8ODQ7/DQ0N/w0MDf8MCwz/CwoL/woKCv8JCQn/CQgJ/wgH + CP8pKCn/Ozo7/zc3N/80NDT/MDAw/ywsLP8pKCn/JSUl/yEhIf8dHR3/CQkJ/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAAvwAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAEAAAABAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AB8AAAD/KCYo/yknKf8pKCn/Kigq/yspK/8rKiv/LCos/y0rLf8iICL/HBsc/xsaG/8wLjD/MC4w/y8u + L/8jISP/GRgZ/wAAAP8mJCb/JyUn/ycmJ/8oJyj/KSgp/yooKv8rKSv/LCos/y0rLf8tLC3/Liwu/y8t + L/8wLjD/MC4w/zEvMf8xLzH/MjAy/3Nyc/+FhIX/ODg4/2JiYv+ioaD/z87N/+no5//p6Of/6uno/+rp + 6P/r6un/6+rp/+zr6v/Q0Nr/GBt3/x4brv8gHLv/HRm3/xsXtP8aFrL/GRWw/xgUrv8WE6v/FROq/xUT + qf8VE6b/FROj/w8Rdv9TVZP/8/Ly//Pz8v/08/P/9PTz//X09P/19fT/9fX1//b19f/29vX/LCws/x0c + Hf82NDb/NjQ1/zU0Nf81MzX/NTM1/zUzNP80MzT/NDI0/zQyNP80MjP/MzEz/zMxM/8zMTP/MjAy/zIw + Mv8yMDL/MS8x/zEvMf8wLjD/Ly0v/y4tLv8tLC3/LCss/ywqLP8rKSv/Kigq/yknKf8oJij/JyUn/yYk + Jv8lIyX/LCos/0dFR/9KSUr/SEdI/0ZFRv84Nzj/CQkJ/wUFBf8TEhP/FRQV/xkXGf8dHB3/Hx0f/x4d + Hv8dHB3/HRwd/xwbHP8bGhv/Ghka/xoZGv8ZGBn/GBcY/xcWF/8XFhf/FhUW/xIREv8HBgf/BwYH/wcG + B/8HBgf/MTAx/2FhYf9eXV7/Wlla/0lISf8PDw//Dg4O/w4NDv8NDA3/DAwM/wsLC/8KCgr/CgkK/wkJ + Cf8MCwz/Ozs7/zs7O/84Nzj/NDQ0/zAwMP8tLS3/KSkp/yUlJf8hISH/HBwc/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAGAAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAQAAAAEAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAzxsaG/8pJyn/Kigq/yopKv8rKSv/LCos/y0rLf8tKy3/ISAh/xwbHf8dHB3/MC4w/zEv + Mf8uLS7/ISAh/xQTFP8FBAX/JiUm/ycmJ/8oJij/KScp/yooKv8rKSv/LCos/ywrLP8tKy3/Liwu/y8t + L/8wLjD/MC4w/zEvMf8xLzH/MjAy/zIwMv90c3T/h4aG/zk4Of9iYmH/oaCg/8/Ozf/p6Of/6ejn/+rp + 6P/q6ej/6+rp/+vq6f/s6+r/6+rq/1ham/8UE5X/IBu6/x0Ztv8bF7T/HBez/xwYs/8cF7H/HBaw/xsW + r/8bFqz/Gxeq/xoWpv8aFp7/EBJz/2FjnP/y8vL/9PPz//Tz8//08/P/9fT0//X19P/19fX/9vX1/7a2 + tv8DAwP/MjEy/zY0Nv82NDX/NTQ1/zUzNf81MzX/NTM0/zQzNP80MjT/NDI0/zMyM/8zMTP/MzEz/zMx + Mv8yMDL/MjAy/zIwMv8xLzH/MS8x/zAuMP8vLS//Liwu/y0rLf8sKiz/Kykr/yooKv8pJyn/KCYo/ycl + J/8mJSb/JSQl/yQjJP8lJCX/ODc4/0NCQ/9BQEH/Pz4//zs6O/8UFBT/AgIC/w8PD/8WFRb/GRgZ/xwa + HP8fHR//Hh0e/x0cHf8cGxz/HBoc/xsaG/8aGRr/GRgZ/xgXGP8YFxj/FxYX/xYVFv8VFBX/DAsM/wcH + B/8HBwf/BwYH/wcHB/9RUFH/XVxd/1lZWf9WVVb/LCss/w8OD/8ODQ7/DQ0N/wwMDP8MCwz/CwoL/woJ + Cv8JCQn/HRwd/z8/P/87Ozv/ODg4/zQ0NP8wMDD/LS0t/ykpKf8lJSX/IiIi/xMTE/8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAN8AAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAG8QDxD/KSgp/yooKv8rKSv/LCos/ywqLP8tKy3/Liwu/yIhIv8dHB7/ISAh/zAu + MP8xLzH/LSst/yIhIv8TEhP/CgkK/yclJ/8oJij/KScp/yooKv8qKSr/Kyor/ywqLP8tKy3/Liwu/y8t + L/8wLjD/MC4w/zEvMf8xLzH/MjAy/zIwMv8yMDL/dXR1/4iHiP85OTn/YmJh/6GgoP/Ozc3/6Ofm/+no + 5//q6ej/6uno/+rq6f/r6un/6unq/+fo6P8lKHr/JCC0/ygiwf8oIsH/JyG+/yYgvP8lH7r/Ix23/yIc + tf8hG7P/IBqv/x4Zq/8cGKb/Gxeh/xkWmf8QEnL/b3Gk//Pz8f/z8/P/9PTz//T08//19PT/9fX0//X1 + 9f/29fX/Ozs7/xYWFv82NTb/NjQ2/zY0Nf81NDX/NTM1/zUzNf81MzT/NDM0/zQyNP80MjT/MzIz/zMx + M/8zMTP/MjEy/zIwMv8yMDL/MS8x/zEvMf8wLjD/Ly4v/y8tL/8uLC7/LSst/ywqLP8rKSv/Kigq/ykn + Kf8oJij/JyUn/yYkJv8kIyT/IyIj/yIhIv8sKyz/Ojk6/zo4Ov84Njj/NTQ1/yAfIP8DAwP/CwoL/xcW + F/8aGBr/HRwd/x8dH/8eHR7/HRwd/xwbHP8bGhv/Ghka/xoYGv8ZGBn/GBcY/xcWF/8WFRb/FhUW/xQT + FP8JCAn/BwcH/wcHB/8HBwf/HR0e/1xcXP9YWFj/VVRV/01MTf8VFBX/Dg4O/w0NDf8NDA3/DAsM/wsK + C/8KCgr/CQkJ/zc3N/8/Pz//Ozs7/zg4OP81NDX/MTAx/y0tLf8pKSn/JiUm/yIiIv8JCQn/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACAAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAfAgIC/yooKv8rKSv/Kyor/ywqLP8tKy3/LSwt/y4sLv8jISP/Hh0e/yUj + Jf8xLzH/MS8x/y0rLf8jISP/Dg4O/xEREf8nJif/KCco/ykoKf8qKCr/Kykr/ywqLP8tKy3/Liwu/y8t + L/8vLS//MC4w/zEvMf8xLzH/MjAy/zIwMv8yMDL/MjAy/3Z1dv+Jh4n/OTk5/1lZWP+hoKD/zs3N/+jn + 5v/p6Of/6ejn/+rp6P/q6ej/6urp/+bn5/+0uM7/EhN1/ywlx/8qJML/KSPA/ychvv8mH7v/JB64/yIc + tv8hG7T/IBqy/x8arv8dGan/HBik/xoXoP8ZFpv/FRSO/w4RbP+Zm73/8/Py//Tz8v/09PL/9PT0//X0 + 9P/19fT/9fX1/729vP8AAAD/Ly4v/zY1Nv82NDb/NjQ1/zU0Nf81MzX/NTM1/zUzNP80MjT/NDI0/zQy + M/8zMTP/MzEz/zMxM/8yMDL/MjAy/zIwMv8xLzH/MS8x/zAuMP8vLS//Liwu/y0rLf8sKiz/Kykr/yoo + Kv8pJyn/KCYo/yclJ/8mJCb/JSMl/yQiJP8jISP/IiAi/yUkJf8xMDH/MjEy/zAvMP8uLS7/JCMk/wkJ + Cf8EBAT/FhUW/xwbHP8fHh//Hx4f/x4dHv8dHB3/HBsc/xsaG/8aGRr/GRgZ/xgXGP8YFxj/FxYX/xYV + Fv8VFBX/ExIT/wcHCP8HBwf/BwcH/wcHB/83Nzf/V1dX/1NTU/9QT1D/OTg5/w4ODv8ODQ7/DQwN/wwM + DP8LCwv/CgoK/xcXF/9DQ0P/Pz8//zw7PP84ODj/NTQ1/zEwMf8tLS3/Kikq/yYmJv8cHBz/AQEB/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADvAAAAEQAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM8cGxz/Kykr/ywqLP8sKyz/LSst/y4sLv8vLS//JCIk/x8e + H/8nJij/MS8x/zEvMf8tKy3/JCMk/w4NDv8TExP/KCYo/yknKf8qKCr/Kykr/ywqLP8sKyz/LSwt/y4s + Lv8vLS//MC4w/zEvMf8xLzH/MjAx/zIwMv8yMDL/MjAy/zMxM/92dXb/iYiJ/0JBQf9APz//oKCf/87N + y//o5+b/6ejn/+no5//q6ej/6uno/+np6P/e4eT/XWSb/xkYkP8pI8H/KCK//ychvf8mH7v/JB65/yMd + tv8iHLT/IRuz/yAasP8eGav/HRin/xsXov8aFp7/GBaZ/xcVlP8UE4n/DhFs/5qbvf/y8vL/9PPz//T0 + 8v/09PT/9fT0//Hx8f+qqqr/Ozs7/w4NDv83NTb/NjU2/zY0Nv82NDX/NTQ1/zUzNf81MzX/NDM0/zQy + NP80MjT/NDIz/zMxM/8zMTP/MzEy/zIwMv8yMDL/MjAx/zEvMf8wLjD/Ly4v/y4tLv8tLC3/LCss/ysq + K/8qKSr/KSgp/ygnKP8nJif/JiUm/yUkJf8kIyT/IyIj/yIhIv8hICH/ISAh/ygmKP8rKiv/KCco/yYl + Jv8jIiP/CQkJ/wMDA/8eHR7/IB8g/x8eH/8eHR7/Hhwe/x0cHf8cGxz/Gxkb/xkYGf8ZGBn/GBcY/xcW + F/8WFRb/FRQV/xUUFf8PDg//BwcI/wcHCP8HBwf/Dg0O/01MTf9SUlL/T05P/0tKS/8fHx//Dg0O/w0N + Df8MDAz/CwsL/wsKC/8vLi//Q0ND/z8/P/88PDz/ODg4/zU1Nf8xMTH/LS0t/yoqKv8mJib/Dw8P/wEB + Af8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAoAAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABvDg0O/ysqK/8sKiz/LSst/y4sLv8uLC7/Ly0v/yQj + JP8gHyD/LCos/zEvMf8yMDL/LSst/yclJ/8ICAj/HRwd/ygnKP8pKCn/Kikq/yspK/8sKiz/LSst/y4s + Lv8vLS//MC4w/zEvMf8xLzH/MS8x/zIwMv8yMDL/MjAy/zMxM/8zMTP/d3Z3/4qJiv9CQUL/Pz8+/56e + nf/Lysn/5+bl/+jn5v/p6Of/6uno/+rp6P/k5uf/09rh/yAld/8iHq3/JyG9/yYgvP8lH7r/JB64/yMd + tv8iHLX/IRuz/yAasf8fGa3/HRmp/xwYpf8bF6D/GRac/xgVl/8WFJP/FROO/xMTgv8OEWr/xMfY//Ly + 8v/08/P/9PTy//T08//b2tr/kpKS/15eXv8MDAz/JSMl/zc1Nv82NTb/NjQ2/zY0Nf81NDX/NTM1/zUz + NP80MzT/NDI0/zQyNP8zMjP/MzEz/zMxM/8yMDL/MjAy/zIwMv8xLzH/MS8x/zAuMP8vLS//Liwu/y0r + Lf8sKiz/Kykr/yooKv8pJyn/KCYo/yclJ/8mJCb/JSMl/yQiJP8jISP/ISAh/yAfIP8fHh//ISAh/yMi + I/8gHyD/FBQU/wAAAP8VFRX/IR8h/yAfIP8fHh//Hx0f/x4dHv8dHB3/HBsc/xsaG/8aGRr/GRgZ/xgX + GP8XFhf/FxYX/xYVFv8VFBX/FBMU/wsLC/8IBwj/CAcI/wgHCP8cGxz/UVFR/01NTf9KSUr/Q0ND/xIR + Ev8NDQ3/DQwN/wwLDP8TEhP/RkZG/0NDQ/9AP0D/PDw8/zg4OP81NTX/MTEx/y0tLf8qKir/IiIi/wIC + Av8BAQH/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAACEAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAP8mJCb/LCss/y0rLf8uLC7/Ly0v/y8u + L/8lJCX/IR8h/y0sLf8yMDH/MjAy/zAuMP8rKSv/BQQF/x4cHv8pJyn/Kigq/yspK/8sKiz/LSst/y4s + Lv8vLS//Ly0v/zAuMP8xLzH/MS8x/zIwMv8yMDL/MjAy/zMxMv8zMTP/MzEz/3d2d/+KiYr/QkJC/z09 + Pf+amZj/wcC//+fm5f/o5+b/6ejn/+no5//p6ej/4uTm/6iuyP8RE3P/JR+6/yUfuf8kHrj/Ix23/yMd + tv8iHLT/IRuz/yAasf8fGq7/Hhmq/x0Ypv8bF6L/Ghae/xkWmf8XFZX/FhSQ/xQTjP8TE4f/ERJ6/xod + cv/Hx9j/8vLy//Tz8//y8vD/sK+v/3BwcP+Dg4L/fXx7/wcGB/8zMTP/NzU2/zY1Nv82NDb/NjQ1/zUz + Nf81MzX/NTM0/zQyNP80MjT/NDIz/zMxM/8zMTP/MzEy/zIwMv8yMDL/MS8x/zEvMf8wLjD/Ly0v/y4s + Lv8tKy3/LCos/yspK/8qKSr/KScp/ygmKP8nJif/JiUm/yUjJf8kIiT/IyEj/yIgIv8hHyH/IB4g/x8d + H/8eHB7/FxYX/wEBAf8UExT/JSMl/yIhIv8hHyH/IB4g/x8eH/8eHR7/HRwd/x0bHf8cGxz/Gxob/xoZ + Gv8ZGBn/GBcY/xcWF/8WFRb/FRQV/xQUFP8TExP/CQkJ/wgHCP8IBwj/CAcI/zExMf9MTEz/SUhJ/0VF + Rf8xMTH/Dg0O/w0MDf8MCwz/MTEx/0dGR/9DQ0P/QEBA/zw8PP85ODn/NTU1/zExMf8uLS7/Kioq/xER + Ef8CAgL/AQEB/wEAAf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAKAAAAACAAAAAgAAAAIAAAACAAAAAQAA + AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvFRQV/y0rLf8uLC7/Li0u/y8t + L/8wLjD/JiQm/yEgIv8xLzH/MjAy/zIwMv8yMDL/MjAy/wAAAP8oJyj/KSgp/yopKv8rKiv/LCos/y0r + Lf8uLC7/Ly0v/zAuMP8xLzH/MS8x/zIwMv8yMDL/MjAy/zMxMv8zMTP/MzEz/zMyM/93dnf/iomK/0JC + Qv86Ojr/kpGQ/7q4t//m5eT/5+bl/+jn5v/p6Of/6eno/+Lk5P9eY5v/FhWL/yMdt/8jHbb/Ihy2/yIc + tf8hG7T/IRuz/yAasf8fGq7/Hhmr/x0Yp/8cGKP/Ghef/xkWm/8YFZf/FhST/xUTjv8UE4r/ExOF/xMT + gf8QEXX/Gh1y/8fH2P/y8vL/397e/5GRkP9kZGT/vry7/8/NzP8yMTH/Ghka/zc1Nv82NTb/NjQ2/zY0 + Nf81NDX/NTM1/zUzNf80MzT/NDI0/zQyNP8zMjP/MzEz/zMxM/8yMDL/MjAy/zIwMv8xLzH/MS8x/zAu + MP8vLS//Liwu/y0rLf8sKiz/Kykr/ykoKf8oJyj/JyYn/yYlJv8lJCX/JCMk/yMiI/8iISL/ISAh/yAf + IP8fHh//GBcY/wIBAv8WFhb/Kikq/ygnKP8mJSb/IyIj/yEgIf8fHh//Hh0e/x4cHv8dHB3/HBsc/xsa + G/8aGRr/Ghka/xgXGP8XFhf/FhUW/xUUFf8VFBX/FBMU/xMSE/8ICAn/CAgI/wgHCP8NDQ3/Q0ND/0dH + R/9EQ0T/QEBA/yEhIf8NDA3/ExMT/0pKSv9HRkf/Q0ND/0BAQP89PD3/OTk5/zU1Nf8yMTL/Li4u/yAg + IP8DAwP/AgIC/wIBAv8BAQH/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAAhAAAAAQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPwICAv8tKy3/Liwu/y8t + L/8wLjD/MC4w/yclJ/8lJCX/MjAx/zIwMv8yMDL/MjAy/zMxMv8AAAD/DQ0N/xkYGf8lJCX/LCos/y0r + Lf8uLC7/Ly0v/zAuMP8wLjD/MS8x/zEvMf8yMDL/MjAy/zIwMv8zMTP/MzEz/zMxM/80MjP/d3Z3/4qJ + iv9JSEn/NjU1/4ODg/+opqb/397d/+fm5f/o5+b/6ejn/+jo5//i4+T/Iyd3/x4Zpv8iHLT/IRu0/yEb + tP8hG7P/IBuy/yAasP8fGq3/Hhmr/x0Yp/8cGKT/Gxeg/xkWnP8YFZj/FxWU/xUUkP8UE4z/ExOH/xMT + g/8SEn//ERF6/w4Rbv82OYP/4+Po/8C/v/9vbm7/kZCQ/8/OzP/R0M7/qqmn/wAAAP8vLi//NzU2/zY1 + Nv82NDb/NjQ1/zU0Nf81MzX/NTM0/zQyNP80MjT/NDIz/zMxM/8zMTP/MzEy/zIwMv8yMDL/MS8x/zEv + Mf8wLjD/Ly0v/y4sLv8tKy3/LCos/yspK/8qKCr/KScp/ygmKP8nJSf/JiQm/yQjJP8jIiP/IiEi/yEg + If8gHyD/GRgZ/wICAv8XFhf/MC8w/y4tLv8sKiz/KSgp/ycmJ/8lIyX/IiEi/yAfIP8eHR7/HRwd/xwb + HP8cGhz/Gxob/xoZGv8ZGBn/GBcY/xcWF/8WFRb/FRQV/xQTFP8TExP/EA8Q/wgICP8ICAj/CAcI/xgY + GP9GRUb/QkJC/z8+P/84ODj/ExIT/zQzNP9LSkv/R0ZH/0RDRP9AQED/PTw9/zk5Of81NTX/MjIy/y4u + Lv8MCwz/AwMD/wMCA/8CAgL/AQEB/wAAAP8AAAD/AAAA/wAAAP8AAACfAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC/HBoc/y4t + Lv8vLS//MC4w/zEvMf8nJif/KCYo/zIwMv8yMDL/MjAy/zIxMv8zMTP/LCos/x8eH/8QEBD/AAAA/wgI + CP8YFxj/KCco/y8tL/8wLjD/MS8x/zEvMf8yMDL/MjAy/zIwMv8zMTP/MzEz/zMxM/80MjP/NDI0/2Bf + YP+KiYn/YF9g/xMTE/9qaWn/kI+P/8LBwP/g397/5+bl/+jn5v/o6Of/t7nN/xASc/8hG7P/IRuy/yAb + sv8gGrH/IBqw/x8arv8fGa3/Hhmt/x4Yrf8eGKz/HRip/xwXpf8aFqD/GRWa/xcUlP8VE47/ExOJ/xMT + hf8TE4D/ERJ8/xAReP8OEHP/DhBs/zI1fP+JiYz/ampq/8nHxP/S0M//1NPR/9bV1P9cXFv/Dg4O/zc1 + Nv83NTb/NjQ2/zY0Nv82NDX/NTM1/zUzNf80MzT/NDI0/zQyNP8zMjP/MzEz/zMxM/8yMDL/MjAy/zIw + Mv8xLzH/MC4w/y8uL/8uLS7/LSst/ywqLP8rKSv/Kigq/yknKf8oJij/JyUn/yYkJv8lIyX/JCIk/yMh + I/8iICL/Ghka/wICAv8WFhb/NTQ1/zQyNP8yMDL/Ly4v/y0sLf8rKSv/KCco/yYkJv8jIiP/ISAh/x8e + H/8dHB3/HBsc/xsaG/8aGRr/GRgZ/xkYGf8XFhf/FhUW/xUUFf8UExT/FBMU/xMTE/8PDg//CAgI/wgI + CP8ICAj/Kioq/0BAQP89PT3/Ojk6/zU1Nf9OTU7/S0pL/0dHR/9EQ0T/QEBA/z09Pf85OTn/NTU1/zIy + Mv8ZGRn/BAQE/wQDBP8DAwP/AgIC/wEBAf8AAAD/AAAA/wAAAP8AAAD/AAAAHwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPwMC + A/8sKiz/Ly4v/zAuMP8xLzH/KCYo/yspK/8yMDL/MjAy/zIwMv8zMTL/MzEz/zMxM/8zMjP/NDIz/zAu + MP8jIiP/ExMT/wMDA/8GBgb/FBMU/yclJ/8yMDH/MjAy/zIwMv8zMTL/MzEz/zMxM/8zMjP/NDI0/zQy + NP9hX2D/iYiJ/2RjZP8QEBD/Pz8//3Jxcf+qqaj/vby7/+Pi4f/o5+b/6Ofn/2hqnv8UE4f/Hxqu/x8a + rv8fGq7/Hxmt/x8Zrf8fGbH/IRq1/yIbt/8iHLf/Ihu2/yAZs/8eGK7/HRep/xsWov8ZFZv/FxST/xQT + i/8TE4P/EhJ+/xARev8PEHX/DhBx/w4Qcf8LDlj/TE1a/5mYl//S0M//1NPR/9fV1P/Z2Nb/zczL/xkZ + Gf8lJCX/NzU2/zY1Nv82NDb/NjQ1/zU0Nf81MzX/NTM0/zQyNP80MjT/NDIz/zMxM/8zMTP/MjAy/zIw + Mv8yMDL/MS8x/zEvMf8wLjD/Ly0v/y4sLv8tKy3/Kyor/yopKv8pKCn/KCco/ycmJ/8mJSb/JSQl/yQi + JP8jISP/IB4g/wYGBv8SERL/Ozk7/zk4Of83Njf/NTQ1/zMxM/8wLzD/Li0u/ywrLP8pKCn/JyYn/yQj + JP8iISL/IB8g/x0cHf8cGhz/Ghka/xoZGv8ZGBn/GBcY/xYVFv8VFBX/FRQV/xQTFP8TExP/ExMT/w0M + Df8ICAj/CAgI/wwMDP81NTX/Ozs7/zg3OP9cXFz/Xl1e/0tKS/9HR0f/RENE/0BAQP89PT3/OTk5/zU1 + Nf8nJif/BQUF/wUEBf8EBAT/AwMD/wICAv8BAQH/AAAA/wAAAP8AAAD/AAAAfwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAC/FhUW/zAuMP8xLzH/MS8x/ykoKf8uLC7/MjAy/zIwMv8yMTL/MzEz/zMxM/8zMTP/NDIz/zQy + NP80MjT/MzIz/y0sLf8bGhv/CwsL/wMDA/8AAAD/AwMD/xMSE/8oJyj/MzEz/zMxM/8zMTP/NDIz/zQy + NP80MjT/YF9g/4mIif9jYmP/FxcW/2JhYf9KSkr/i4uK/6WkpP+8vLv/5OPi/+fm5v8mKXj/Ghed/x4Z + qf8eGan/HRmp/x4Zrv8hGrX/JR66/ykjv/8sJcH/LCbC/yskwP8nILz/Ixy3/x8Zsf8dGKr/Gxai/xgV + mf8WE5D/ExOH/xMSfv8QEXf/DxBz/w4Qcf8ND27/KitW/3FxcP/R0M7/1NLR/9fV1P/Z2Nb/3NrZ/97d + 2/+mpaT/AwMD/zMxM/83NTb/NjQ2/zY0Nf81NDX/NTM1/zUzNP80MzT/NDI0/zQyM/8zMTP/MzEz/zMx + Mv8yMDL/MjAy/zEvMf8xLzH/MC4w/y8tL/8uLC7/LSst/ywqLP8rKSv/Kigq/yknKf8nJif/JiUm/yUk + Jf8kIyT/IR8h/wYGBv8SEhL/QD5A/z8+P/89PD3/Ozk7/zg3OP82NTb/NDM0/zEwMf8vLi//LSwt/ysp + K/8oJyj/JiQm/yMiI/8hICH/Hx0f/xwbHP8aGRr/GRgZ/xgXGP8XFhf/FhUW/xUUFf8UExT/ExMT/xMT + E/8TExP/DAsM/wgICf8ICAj/ExMT/zo5Ov9FRUX/bW1t/2hoaP9TUlP/R0dH/0RERP9AQED/PT09/zk5 + Of8wLzD/CQkJ/wYFBv8FBAX/BAQE/wMDA/8CAgL/AQEB/wEAAf8AAAD/AAAA7wAAAA8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAALwAAAP8nJSf/MS8x/zEvMf8qKCr/MC4w/zIwMv8yMDL/MzEz/zMxM/8zMTP/MzIz/zQy + M/8zMTP/Ly0v/yQjJP8cGxv/ExMT/w0NDf8EAwP/AAAA/wYGBv8eHR7/MzEy/zMxM/8zMTP/NDIz/zQy + NP80MjT/NTM0/09OT/+Ih4j/gH9//wYGBv97enn/eXl4/2BfX/+Hh4b/oqGg/8LBwP+7u87/EBJx/xwY + pP8cGKT/HBil/x4Yrf8hGrX/KCG9/y4nw/8zLMv/NjDO/zcwzv81Lsz/MCrI/yokwP8jHbj/Hxmw/x0X + qP8aFp7/FxSV/xUTjP8TE4L/ERF4/w8Qcf8OEHH/ERNh/1hYYP+urav/1NLQ/9bV0//Z19b/29rZ/97d + 2//g397/4+Lg/0VFRP8RERH/NzU2/zY1Nv82NDb/NjQ1/zUzNf81MzX/NTM0/zQyNP80MjT/MzIz/zMx + M/8zMTP/MjAy/zIwMv8yMDH/MS8x/zAuMP8vLS//Liwu/y0rLf8sKiz/Kykr/yooKv8pJyn/KCYo/ycl + J/8lJCX/IiEi/wcGB/8ODg7/RENE/0VERf9DQUP/QD9A/z49Pv88Ozz/OTg5/zc2N/81NDX/MzEz/zAv + MP8uLS7/LCss/ykoKf8nJif/JSMl/yIhIv8fHh//HRwd/xsaG/8ZGBn/GBcY/xYVFv8VFBX/FBMU/xMT + E/8TExP/ExMT/xMSE/8MDAz/CAgI/wgICP8fHx//aWlp/2xsbP9nZ2f/YWFh/0lISf9ERET/QEBA/z09 + Pf82Njb/ERAR/wcGB/8GBQb/BQUF/wQEBP8DAwP/AgIC/wIBAv8BAAH/AAAA/wAAAE8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAB/CQkJ/zEvMf8xLzH/Kykr/zIwMv8yMDL/MjEy/zMxM/8zMTP/MzEz/zMx + M/8wLjD/JyUn/yEhIf8cGxv/FRQV/woJCv8BAQH/BgYG/x4dHv8yMDL/MjAy/zMxM/8zMTP/MzEz/zQy + NP80MjT/NDM0/zUzNP9KSEr/h4aH/4OCgv8AAAD/fn18/5uamf+hoKD/ZWVl/4B/fv+joqL/W1yM/xMT + gf8aF5//Ghef/x0YqP8fGbL/Jh+7/y4oxP82L87/PDbU/0A62P9BO9n/PjjW/zky0f8yK8n/KiO//yIb + tv8eGKz/Gxaj/xgVmf8WE4//ExOF/xISe/8QEHL/Dg9v/zY3W/9+fn7/09HQ/9bU0//Y19b/29rY/97c + 2//g397/4+Lh/+Xk4//Z2Nf/Dg4O/yUjJf82NTb/NjQ2/zY0Nf81NDX/NTM1/zUzNP80MjT/NDI0/zQy + M/8zMTP/MzEz/zIwMv8yMDL/MjAy/zEvMf8xLzH/Ly4v/y4tLv8tKy3/LCos/yspK/8qKCr/KScp/ygm + KP8nJSf/IyIj/wcHB/8JCQn/QD9A/0pJSv9IR0j/RkVG/0RCRP9CQEL/Pz4//z08Pf87OTv/ODc4/zY1 + Nv80MzT/MTAx/y8uL/8tKy3/Kikq/ygnKP8lJCX/IyIj/yEfIf8eHR7/HBsc/xkYGf8XFhf/FhUW/xQT + FP8UExT/ExMT/xMTE/8TEhP/EhIS/wwLDP8JCAn/GRka/1tbW/9ramv/ZmVm/2FhYf9XVlf/RERE/0FA + Qf89PT3/EhIS/wgHCP8HBgf/BgYG/wUFBf8EBAT/AwMD/wMCA/8CAgL/AAAA/wAAAK8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM8UExT/MS8x/ysqK/8yMDL/MjAy/zMxMv8zMTP/MjEy/zEw + MP8qKSr/JiQm/yAfIP8bGhv/Dg0O/wICAv8GBgb/HRwd/zEvMf8yMDL/MjAy/zMxMv8zMTP/MzEz/zQy + M/80MjT/NDI0/zUzNP81MzX/RENE/4aFhv+CgYL/CwsL/3h3d/+enp3/0dDP/7Szsv9kZGT/fX19/xwe + Wv8VE4j/GRaa/xoWnv8eGKz/Ihu2/yskwP80Lcz/PTbV/0U+3f9KROL/S0Xk/0dB4P9AOtj/ODHQ/y8o + xP8lHrr/Hxmw/xwXpv8ZFZz/FhSS/xQTiP8TEn3/EBFz/xMTZv9eXmL/tbSz/9XT0v/Y1tX/2tnY/93c + 2//g393/4+Hg/+Xk4//o5+b/6ejn/5+enf8DAwP/MzEy/zY1Nv82NDb/NTQ1/zUzNf81MzT/NDM0/zQy + NP80MjP/MzEz/zMxM/8yMTL/MjAy/zIwMv8xLzH/MS8x/zAuMP8vLS//LSwt/ywrLP8rKiv/Kikq/ykn + Kf8oJij/JyUn/wwMDP8BAQH/FRQV/ywsLP89PD3/QD9A/0A/QP9CQUL/QUBB/0A+QP9AP0D/Pj0+/zw7 + PP85ODn/NzY3/zU0Nf8yMTL/MC8w/y4tLv8rKiv/KSgp/yclJ/8kIyT/IiEi/x8eH/8dHB3/Ghka/xgX + GP8VFBX/FBMU/xMTE/8TExP/ExIT/xISEv8SERL/ExMT/y4uL/8wLzD/Wlla/2RkZP9fX1//Wlpa/0tL + S/9BQEH/HBsc/wkICf8IBwj/BwcH/wYGBv8FBQX/BAQE/wQDBP8DAwP/AQEB/wAAAO8AAAAPAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAA7x4dHv8tKy3/MjAy/zIwMv8zMTP/MjAy/y8t + L/8sKiv/JyUn/yEgIf8SEhL/AwMD/wYGBv8dHB3/MS8x/zEvMf8yMDL/MjAy/zIwMv8zMTP/MzEz/zMx + M/80MjT/NDI0/zQzNP81MzT/NTM1/zU0Nf+Fg4X/gH+A/x4dHv9hYGD/oJ+f/9DPzv/q6ej/vr69/2xs + bP8qK1L/ExJy/xYUj/8aFp//Hhiu/yQduP8tJ8P/ODHP/0E72v9LReP/U03s/1VP7v9PSOf/RT/e/zw1 + 1P8yK8n/KCG9/yAZsv8dF6j/Ghae/xcUk/8UE4n/ExN//xARc/9CQl//jIuL/9PS0P/W1dP/2djX/9zb + 2v/f3t3/4uHg/+Xk4v/n5uX/6ejn/+rp6P/r6un/VlZW/xEREf82NTb/NjQ2/zY0Nf81MzX/NTM1/zQz + NP80MjT/NDI0/zMxM/8zMTP/MzEy/zIwMv8yMDL/MS8x/zEvMf8wLjD/Ly0v/y4sLv8tKy3/Kyor/yop + Kv8pKCn/KCco/w8PD/8AAAD/AwMD/wcHB/8QDxD/FhYW/xoaGv8kIyT/KCco/ykoKf8rKiv/LS0t/zAv + MP8xMDH/MjEy/zIxMv8wLzD/MC8w/y8vL/8tLS3/LSwt/ysqK/8pKCn/KCYo/yUkJf8jIiP/IB8g/x4d + Hv8cGxz/GRgZ/xUUFf8TExP/ExMT/xMTE/8TEhP/FBQU/1NSU/8/Pz//Li4u/y8vMP9WVVb/Xl5e/1lZ + Wf9PTk//FxYX/wkJCf8JCAn/CAcI/wcHB/8GBgb/BQUF/wUEBf8EBAT/AgIC/wAAAP8AAAA/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8AAAD/JiUm/zIwMv8zMTL/MzEz/zIw + Mv8uLC7/Kigp/xsZG/8GBgb/BgUG/xwbHP8vLS//MC4w/zEvMf8xLzH/MjAy/zIwMv8yMTL/MzEz/zMx + M/8zMjP/NDI0/zQyNP81MzT/NTM1/zUzNf82NDX/g4KD/39+f/8jIyP/YGBf/5+env/MzMv/7ezr/+zr + 6v/S0dD/bGxs/y4tYP8TEnT/Gxag/x8Yr/8kHbn/LijE/zky0P86NMz/NzPC/zUyu/8kIqH/IiCe/x8d + mf8cGpX/FhaM/xESe/8QEXj/DxB1/xARd/8QEXn/EBF3/w8QdP8dHmz/ampq/8LBwP/V09L/2NfV/9va + 2P/e3dv/4eDf/+Tj4v/n5uX/6ejn/+rp6P/r6un/7Ovq/97d3P8bGxv/HRwd/zY0Nv82NDX/NTQ1/zUz + Nf81MzT/NDI0/zQyNP8zMTP/MzEz/zMxMv8yMDL/MjAy/zEvMf8xLzH/MC4w/y8tL/8uLC7/LSst/ywq + LP8rKSv/KSgp/zk3Of9FREX/ODc4/zAwMP8xMTH/IiIi/xkYGf8ZGRn/CwsL/wAAAP8AAAD/BQUF/wgI + CP8JCQn/EBAQ/xMSE/8TEhP/GBcY/xoaGv8aGRr/IiEi/yUkJf8lJCX/JiYm/ycmJ/8oJyj/JiUm/yQj + JP8iISL/Hx4f/x0cHf8aGRr/FhUW/xMTE/8TExP/ExIT/0JBQv9cXFz/WVlZ/0JCQv8uLi7/MC8x/1NT + U/9UVFT/JiUm/xEQEf8KCQr/CQgJ/wgICP8HBwf/BgYG/wUFBf8FBAX/AwMD/wAAAP8AAABfAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXwMDA/8oJyj/MzEz/zMx + M/8zMTP/Kykq/wsKC/8FBQX/Gxob/y0rLf8uLC7/Ly0v/zAuMP8xLzH/MS8x/zIwMv8yMDL/MzEy/zMx + M/8zMTP/NDIz/zQyNP80MzT/NTM0/zUzNf81NDX/NjQ1/25tbv9+fX3/Ojk6/z8+Pv+enp3/xMPD/+/v + 7v/u7e3/7ezr/9LR0P9sbGz/Li1j/xYThv8eGK3/IRuy/x8bov8YFpH/ExOI/xMTh/8TE4L/ERJ3/w8R + cP8OEWv/DhFq/w4Rav8OEWv/DhFt/w4Qbv8OEG7/DhBw/w4Qcf8OD3D/TU5k/5mYmP/T0tD/1tXU/9rY + 1//d29r/4N7d/+Pi4P/m5eP/6Ofm/+rp6P/r6un/7Ovq/+3s6//u7ez/wL+//wAAAP8rKiv/NjQ1/zU0 + Nf81MzX/NTM0/zQyNP80MjT/MzIz/zMxM/8zMTP/MjAy/zIwMv8xLzH/MS8x/zAuMP8vLS//Liwu/y0r + Lf8sKiz/Kykr/zUzNf9YV1j/Wlla/15dXv9gX2D/Y2Jj/2ZkZv9oZ2j/a2pr/21sbf9wb3D/cnFy/2Ni + Y/9YV1j/WVlZ/0lISf88PDz/PTw9/ysrK/8eHR7/Hh4e/w4ODv8AAAD/AAAA/yYlJv8pKCn/LCss/yop + Kv8oJyj/JSQl/yMiI/8gHyD/Hh0e/xsbG/8XFhf/ExMT/zAvMP9gYGD/XVxd/1lZWf9WVVb/RUVF/zAv + MP8oKCj/ISAh/xkZGf8VFRX/CgoK/wkJCf8ICAj/BwcH/wYGBv8GBQb/BAQE/wAAAP8AAACfAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABfAwMD/ykn + Kf8zMTP/MzEz/zMxM/8NDA3/Dg0O/ywrLP8tLC3/Li0u/zAuMP8xLzH/MS8x/zIwMv8yMDL/MjAy/zMx + M/8zMTP/MzIz/zQyNP80MjT/NDM0/zUzNf81MzX/NjQ1/zY0Nv9oZ2j/fHt7/0ZFRv82Njb/m5qa/729 + vP/v7u7/8fDv/+/u7f/t7Ov/0tHQ/2xsbP8wL2r/FROH/xMThv8TE4X/ExOE/xITff8PEXD/ExZv/ys9 + jv9HZq//WH/H/2SS2P9lk9v/VnzI/0tsuv86VKb/IzKI/w4Rav8OEGv/ISNq/2pqav/Lycj/1dPS/9jW + 1f/b2tj/3t3c/+Hg3//k4+L/5+bl/+no5//q6ej/6+vq/+zs6//t7ez/7+7t/+/v7v92dnX/CgoK/zIw + Mv81NDX/NTM1/zUzNP80MjT/NDI0/zMyM/8zMTP/MzEz/zIwMv8yMDL/MjAx/zEvMf8wLjD/Ly0v/y4s + Lv8tKy3/LCos/y0rLf9GREb/TUtN/1dWV/9aWVr/XVxd/19fX/9iYWL/ZGNk/2dmZ/9paGn/a2tr/25t + bv9wb3D/cnFy/3Nyc/91dHX/d3Z3/3h4eP95eXn/enl6/3t7e/98e3z/fHt8/wAAAP8lJSX/Kyor/zAv + MP8tLS3/Kyor/ygnKP8mJSb/JCMk/yEhIf8fHh//HBwc/ywrLP9jY2P/YGBg/11cXf9ZWVn/VlVW/1JS + Uv80MzT/CwsL/wgHCP8TExP/FBMU/w4ODv8JCQn/CAgI/wcHB/8HBgf/BAQE/wAAAP8AAACfAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AF8DAwP/IiEi/zMxM/80MjP/MC4w/wkJCf8TExP/Liwu/y8tL/8wLjD/MS8x/zEvMf8yMDL/MjAy/zIw + Mv8zMTP/MzEz/zQyM/80MjT/NDI0/zUzNP81MzX/NTQ1/zY0Nf82NDb/WlhZ/3p5ev9WVVb/HR0d/5iX + l/+3t7b/7u3t//Py8v/x8O//7u7t/+zr6v/R0M//bGxr/0NDZv8SEnz/EhJ8/w8Rb/8SFm//M0mW/1d/ + wP9dicv/X4vP/2GN0v9ijtX/ZJHY/2WT2/9mld7/Z5fh/2mY5P9pmuf/TnDA/1pgdf9xcXD/p6em/9bU + 0//Z2Nb/3Nva/9/e3f/j4eD/5uXk/+jo5//q6ej/6+rp/+zr6v/t7Oz/7u7t/+/v7v/w8O//8fHw/zo6 + Ov8TExP/NTQ1/zUzNf81MzT/NDI0/zQyNP80MjP/MzEz/zMxM/8yMDL/MjAy/zIwMv8xLzH/MC4w/y8t + L/8uLC7/LSst/ywqLP8rKSv/Kigq/yknKf8oJij/JiUm/yknKf8yMTL/MjEy/zY1Nv9CQUL/Q0JD/0hH + SP9XVlf/WFdY/15dXv9ubm7/cHBw/3Jxcv9zcnP/dHN0/3V0df92dXb/dnZ2/3Z1dv8AAAD/JiUm/y4t + Lv8zMjP/MTAx/y8uL/8sKyz/Kikq/ycmJ/8lJCX/IiEi/y8uL/9paGn/aWhp/2BgYP9dXF3/WVlZ/1ZV + Vv8rKyv/Dg0O/w0MDf8JCQn/CAcI/w8PD/8PDw//CQkJ/wgICP8HBwf/BQUF/wAAAP8AAACPAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAXwAAAO8fHh//NDI0/zQyNP8qKSn/AwMD/xwbHP8vLS//MC4w/zEvMf8xLzH/MjAy/zIw + Mv8zMTL/MzEz/zMxM/80MjP/NDI0/zQzNP81MzT/NTM1/zU0Nf82NDX/NjQ2/1VTVP94d3j/YGBg/w8P + D/+VlZX/tbS0/+fn5v/19PT/8vLx//Dv7v/t7Ov/6uno/87NzP9ra2v/Q0Nm/w4Raf8wRpL/UXm3/1iD + wf9ahcT/W4fJ/12IzP9eis//YIzS/2GO1f9ikNj/ZJLb/2WU3v9mluL/Z5jl/2ma6P9rnOr/aYi4/2Vr + df9ycnH/rKur/93c2//h397/5OPi/+fm5f/p6Of/6unp/+zr6v/t7Ov/7u3s/+/u7v/w7+//8fDw//Ly + 8f/k4+P/Dw8P/yAfIP81MzX/NTM0/zQyNP80MjT/NDIz/zMxM/8zMTP/MjAy/zIwMv8yMDL/MS8x/zAu + MP8vLS//Liwu/y0rLf8sKiz/Kykr/yooKv8pJyn/KCYo/yYlJv8lJCX/JCMk/yMiI/8iISL/ISAh/yAe + IP8fHR//Hhwe/x0bHf8bGhv/Ghka/xkYGf8dHB3/LSwt/ywsLP8yMTL/Q0JD/2VlZf9bWlv/CAcI/yYm + Jv8yMTL/NzY3/zQzNP8yMTL/Ly8v/y0sLf8rKiv/KCgo/ysqK/9vb2//cHBw/2xsbP9mZmb/Xl5e/1BQ + UP8bGxv/Dw4P/w4ODv8NDQ3/DQwN/woKCv8HBwf/CgoK/woJCv8ICAj/BAQE/wAAAP8AAABfAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAvAAAA7xMTE/8wLzD/NDM0/yooKf8AAAD/JiQm/zAuMP8xLzH/MS8x/zIw + Mv8yMDL/MzEy/zMxM/8zMTP/NDI0/zQyNP80MzT/NTM0/zUzNf82NDX/NjQ2/zY1Nv9HRUb/dnV2/3Jx + cv8AAAD/lJOT/7Kysv/j4+P/9vb1//Pz8v/w8O//7e3s/+vq6f/m5eT/v769/2RkZP9Qb6D/Uny4/1V+ + u/9WgL7/V4LB/1mExP9bhsn/XIjM/12Kz/9fjNL/YI7V/2GQ2f9jkdz/ZJTf/2WV4v9nmOX/aJno/2mc + 6/9snu3/a4m4/2Vrdf9zc3L/sbCw/+Xk4//o5+b/6uno/+vq6f/s6+r/7ezs/+7u7f/w7+7/8fDv//Lx + 8f/z8vL/9PPz/7a1tf8DAwP/Liwu/zUzNP80MjT/NDI0/zQyM/8zMTP/MzEz/zIwMv8yMDL/MjAy/zEv + Mf8wLjD/Ly0v/y4sLv8tKy3/LCos/yspK/8qKCr/KScp/ygmKP8mJSb/JSQl/yQjJP8jIiP/IiEi/yEg + If8gHyD/Hx0f/x4cHv8dGx3/Gxob/xoZGv8ZGBn/GBcY/xcWF/8WFRb/FRQV/xQTFP9VVVX/UFBQ/wgH + CP8nJyf/NDM0/zo5Ov84Nzj/NTQ1/zMyM/8xMDH/Li0u/zEwMf9sa2z/d3Z3/3Nyc/9vbm//ampq/0ZF + Rv8XFhf/EA8Q/w8PD/8ODg7/Dg0O/w0MDf8MCwz/CwoL/wgICf8HBwf/AgIC/wAAAN8AAAAvAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAADPCgkK/y4sLf81MzT/IB4g/wMDA/8nJSf/MS8x/zIw + Mf8yMDL/MjAy/zMxM/8zMTP/MzIz/zQyNP80MjT/NTM0/zUzNf81MzX/NjQ1/zY0Nv82NTb/Ozk6/3Rz + dP9wb3D/FBQU/3Z2dv+wsLD/3t7e//b29v/z8/L/8fDv/+7t7P/r6un/5uXk/3t6ev9ZbYr/Tney/1B5 + tf9SfLj/VH67/1WAvv9XgsH/WIPE/1qGyf9biM3/XYrQ/16L0/9fjdb/YY/Z/2KR3P9jk9//ZJXi/2WW + 5f9nmej/aZrr/2uc7P9un+3/bIq5/2Zsdf90c3P/tbW0/+rp6P/r6un/7Ozr/+7t7P/v7u3/8O/v//Hx + 8P/y8vH/9PPz//X09P/29fX/amlp/woJCv81MzT/NDI0/zQyNP80MjP/MzEz/zMxM/8yMDL/MjAy/zIw + Mv8xLzH/MC4w/y8tL/8uLC7/LSst/ywqLP8rKSv/Kigq/yknKf8oJij/JiUm/yUkJf8kIyT/IyIj/yIh + Iv8hICH/IB4g/x8dH/8eHB7/HRsd/xsaG/8aGRr/GRgZ/xgXGP8XFhf/FhUW/xUUFf8UExT/YWBh/0tL + S/8IBwj/KCgo/zg3OP89PT3/Ozo7/zk4Of83Njf/NDM0/0FAQf9xcXH/fXx9/3l5ef91dHX/Y2Jj/zU1 + Nf8gICD/Hh0e/xQUFP8PDw//Dg4O/w4NDv8NDA3/DAsM/wsLC/8IBwj/AQEB/wAAAK8AAAAPAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI8DAwP/IyIj/zUzNf8VFRX/CQkJ/y4s + Lf8yMDL/MjAy/zIwMv8zMTP/MzEz/zMyM/80MjT/NDI0/zUzNP81MzX/NTQ1/zY0Nf82NDb/NjU2/zc1 + Nv9ubW7/bm1t/yEhIf9hYWD/rKys/9DQ0P/29fX/8/Ly//Dw7//t7ez/6urp/62sq/9gZ3L/THOt/0x1 + r/9Od7L/UHm1/1F7uP9Tfbv/VX6//1aBwv9XhMf/WYXK/1uHzf9cidD/XYvT/1+N1v9gj9n/YJHc/2KS + 4P9jlOP/ZJbm/2aY6f9omur/apzs/22f7f9woe7/bYy6/2Zsdf+FhYT/ysrJ/+3s6//u7e3/7+/u//Dw + 7//y8fH/8/Ly//T08//19fT/9vb2//f39/8sLCz/FhUV/zQyNP80MjT/NDIz/zMxM/8zMTP/MjAy/zIw + Mv8yMDL/MS8x/zAuMP8vLS//Liwu/y0rLf8sKiz/Kykr/yooKv8pJyn/JyYn/yYlJv8lJCX/JCMk/yMi + I/8iISL/ISAh/yAeIP8fHR//Hhwe/xwbHP8bGhv/Ghka/xkYGf8YFxj/FxYX/xYVFv8VFBX/FBMU/2Bg + YP80NDT/EBAQ/yopKv89PD3/QUBB/z4+Pv88Ozz/Ojk6/0dGR/+CgYL/g4OD/39/f/92dnb/TUxN/yko + Kf8nJif/JCMk/yIhIv8fHx//FxYX/w8PD/8ODQ7/DQwN/wsLC/8EBAT/AAAA7wAAAG8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPwAAAO8REBH/MjAx/xMT + E/8MDAz/MjAy/zIwMv8yMDL/MzEz/zMxM/80MjP/NDI0/zQyNP81MzT/NTM1/zU0Nf82NDX/NjQ2/zY1 + Nv83NTb/YGBg/2xqa/8zMzP/Q0ND/6Wlpf/Dw8P/8vLx//Lx8f/v7u7/7ezr/+Lh4P9sbGz/VXGa/0lx + qv9Kcqz/S3Sv/052sv9PeLb/UXq5/1J9vP9Uf7//VYHC/1eCx/9YhMr/WofN/1uJ0P9ci9P/XozX/1+O + 2v9gkN3/YZLg/2KU4/9jleb/ZZfo/2eZ6v9qnOv/bJ7t/3Cg7v9you//bISp/2VobP+Wlpb/3d3c//Dv + 7v/x8PD/8vLx//Pz8v/19PT/9vX1//f39v/4+Pj/2tra/w8PD/8jIiP/NDI0/zMyM/8zMTP/MzEz/zIw + Mv8yMDL/MjAx/zEvMf8wLjD/Ly0v/y4sLv8tKy3/LCos/yspK/8qKCr/KScp/ycmJ/8mJSb/JSQl/yQj + JP8jIiP/IiEi/yEfIf8gHiD/Hx0f/x4cHv8cGxz/Gxob/xoZGv8ZGBn/GBcY/xcWF/8WFRb/FRQV/xQT + FP9bW1v/LCws/xAQEP8rKyv/QD9A/0RDRP9CQUL/QD9A/1dWV/+Ih4j/iYiJ/4WFhf9gX2D/NjU2/y8u + L/8tLC3/Kikq/ygnKP8lJCX/IyIj/yAfIP8bGhv/Dw4P/wgICP8AAAD/AAAArwAAAB8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAArwMD + A/8kIyT/CgoK/xMSE/8yMDL/MjAy/zMxM/8zMTP/NDIz/zQyNP80MjT/NTM0/zUzNf81NDX/NjQ1/zY0 + Nv83NTb/NzU3/1VUVP9paGn/RkZG/ygoKP+enZ3/u7q6/+vr6v/w8O//7u3s/+vq6f+lpaT/XWp//050 + qf9Hb6f/R3Cq/0pyrf9LdLD/TXaz/054tv9Qern/Uny8/1N+v/9VgML/VoLH/1eEy/9Zhs7/WojR/1uK + 1P9djNf/Xo7a/1+Q3f9gkeD/YZPi/2KU5f9kluj/Zpjq/2mb6/9sne3/b5/u/3Gi7/9zoOf/a32Y/2xs + bP+pqKj/8fDw//Ly8f/08/P/9fT0//b29f/39/f/+fj4//r6+f+qqqr/AwMD/y0rLf8zMjP/MzEz/zMx + M/8yMDL/MjAy/zEvMf8xLzH/MC4w/y8tL/8uLC7/LSst/ywqLP8rKSv/Kigq/ygnKP8nJif/JiUm/yUk + Jf8kIyT/IyEj/yIhIv8hHyH/IB4g/x8dH/8dHB3/HBsc/xsaG/8aGRr/GRgZ/xgXGP8XFhf/FhUW/xUU + Ff8gHyD/VVVV/ygnKP8TExP/Li0u/0RDRP9IR0j/RURF/2xsbP+SkpL/j46P/21tbf9DQ0P/NzY3/zU0 + Nf8zMjP/MC8w/y0tLf8rKyv/KSgp/yYmJv8eHR7/Dg4O/wMDA/8AAADfAAAATwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAABPAAAA7xAQEP8AAAD/Hh0e/zIxMv8zMTP/MzEz/zQyM/80MjT/NDM0/zUzNP81MzX/NTQ1/zY0 + Nf82NTb/NzU2/zc1N/9NTEz/Z2Vm/1FQUf8QEBD/mpqZ/7S0tP/i4uH/7u3t/+zr6v/i4eD/bGxs/zxa + kv9Lcaf/RWyl/0Vtp/9Hb6r/SXGt/0p0sP9NdrP/Tni2/096uf9RfLz/Un7A/1SAw/9Vgsj/V4TL/1iF + zv9Zh9H/W4rU/1yL1/9djdr/Xo7e/1+Q4P9gkuP/YZTm/2OV6P9lmOr/aJrr/2ud7P9unu7/caDu/3Oj + 8P9xlc7/Z3B+/35+fv/Y2Nf/9PPz//X09P/29vX/9/f3//n5+P/6+vr/+/v7/2xsbP8KCQr/MzEz/zMx + M/8zMTL/MjAy/zIwMv8xLzH/MS8x/zAuMP8vLS//Liwu/y0rLf8sKiz/Kikq/ykoKf8oJyj/JyYn/yYl + Jv8lJCX/JCIk/yMhI/8iICL/IR8h/yAeIP8eHR7/HRwd/xwbHP8bGhv/Ghka/xkYGf8YFxj/FxYX/xYV + Fv8VFBX/IyIj/1BQUP8TExP/Ghoa/zEwMf9KSUr/VVRV/4aGhv+Yl5j/dnZ2/0xLTP9AP0D/PTw9/zs6 + O/84ODj/NjU2/zMzM/8xMTH/Ly4v/yUkJf8UExT/BwYH/wAAAP8AAAB/AAAADwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAA8AAACvAAAA/wAAAP8iISL/MzEz/zMxM/80MjP/NDI0/zQzNP81MzT/NTM1/zU0 + Nf82NDb/NjU2/zc1Nv83NTf/Q0FC/2RiY/9gYGD/AwMD/5eXlv+xsLD/2dnY/+zr6v/q6ej/rays/19n + df8zVpb/SW6l/0Jpov9DaqT/RWyn/0dvqv9Ica3/SnOw/0x1tP9Nd7f/T3q6/1B8vf9RfsD/VH/D/1WB + yP9Wg8v/V4XO/1mH0f9aidX/W4rY/1yM2/9djt3/XpDg/1+S4/9gk+X/YpXo/2SX6f9nmev/aZvs/2ye + 7f9voO//caLv/3Sl8f9than/ZGRk/6uqqv/19PT/9vb1//f39//5+Pj/+vr6//v7+//8/Pz/LS0t/xUU + Ff8zMTP/MzEy/zIwMv8yMDL/MS8x/zEvMf8wLjD/Ly0v/y4sLv8tKy3/Kyor/yopKv8pKCn/KCco/ycm + J/8mJCb/JSMl/yQiJP8jISP/IiAi/yEfIf8fHh//Hh0e/x0cHf8cGxz/Gxob/xoZGv8ZGBn/GBcY/xcW + F/8WFRb/FBQU/yEgIf9LSkv/ExIT/x0cHf81NTX/cXBx/5aWlv91dHX/T05P/0hHSP9FREX/Q0JD/0FA + Qf8+PT7/PDs8/zk5Of83Njf/Li0u/xgYGP8LCgv/AQEB/wAAAL8AAAAfAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE8AAADvAwMD/yknKf8zMTP/NDIz/zQyNP80MzT/NTM0/zUz + Nf82NDX/NjQ2/zY1Nv83NTb/NzU3/zc2N/9hYGH/Xl1e/xMTE/9wcG//rq2s/9DPzv/p6ej/5uXk/3l8 + gP9pfqH/Nlud/0Vtqf9AaKT/QGmh/0NrpP9Ebaj/Rm+r/0hwrv9KcrH/S3W0/014t/9Oebr/T3u9/1F9 + wP9Tf8P/VIHJ/1WDzP9Xhc//V4bS/1iI1f9ai9j/W4za/1yO3f9dj9//XpHi/1+S5v9hlOf/Y5bp/2aY + 6v9om+z/a53t/26f7v9woe//c6Pv/3Ka1v9ocX7/h4eH/+3t7P/39/b/+Pj4//n5+f/7+vr/+/v7/9zc + 3P8PDw//IiEi/zIxMv8yMDL/MjAy/zEvMf8xLzH/MC4w/y8tL/8tLC3/LCss/ysqK/8qKSr/KScp/ygm + KP8nJSf/JiQm/yUjJf8kIiT/IyEj/yEgIf8gHyD/Hx4f/x4dHv8dHB3/HBsc/xsaG/8aGRr/GRgZ/xgX + GP8XFhf/FRQV/xQUFP8sKyz/RURF/wsLC/8rKyv/WFhY/3BwcP9SUVL/UE9Q/01NTf9LSkv/SUhJ/0ZF + Rv9EQ0T/QkFC/z8+P/84Nzj/ICAg/w4NDv8DAwP/AAAA3wAAAD8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAJ8GBgb/Ly4v/zQyM/80MjT/NDM0/zUz + NP81MzX/NTQ1/zY0Nv82NTb/NzU2/zc1N/83Njf/V1VW/1taW/8lJCX/U1JS/6mpqP+xtr//iaHO/1Z8 + v/9Cbrv/SHjJ/0h4yf9IeMn/RXPB/0Juu/9Bbbf/Qmy0/0NtsP9Fbq7/R3Gu/0hzsf9LdbT/THa3/014 + u/9Per7/UH3B/1F/xP9Tgcn/VILM/1WEz/9Xh9L/WIjV/1mK1/9ai9v/W4zd/1yP4P9dkOP/XpLl/2CT + 5/9jlen/ZZjq/2eZ7P9qnOz/bZ7u/3Cg7/9you//dKHp/2x+mf9tbW3/29vb//j39//5+Pj/+vn5//r6 + +v/7+/r/qqqq/wMDA/8rKiv/MjAy/zIwMv8xLzH/MC4w/y8uL/8uLC7/LSst/ywqLP8rKSv/Kigq/ykn + Kf8oJij/JyUn/yYkJv8lIyX/IyIj/yIhIv8hICH/IB8g/x8eH/8eHR7/HRwd/xwbHP8bGhv/Ghga/xkY + Gf8XFhf/FhUW/xUUFf8UExT/KSkp/z8+P/8AAAD/MTEx/0RDRP9XVlf/VVRV/1NSU/9RUFH/Tk5O/0xL + TP9KSUr/R0dH/z8+P/8lJCX/EhES/wYGBv8AAADvAAAAbwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAogoJCf8wLjD/NDI0/zQz + NP81MzT/NTM1/zU0Nf82NDX/NjU2/zc1Nv83NTf/NzY3/05MTf9YV1j/NDMz/zY2Nv90ia//SXK6/0x9 + z/9Yj+X/XZfv/12X7/9dl+//XZfv/12X7/9dl+//WI/l/1OI3P9Mfc//RXPB/0Juuf9Eb7X/R3Gz/0p0 + tf9Ldrj/TXi7/056vv9PfMH/UX7E/1J/yf9Tg8z/VYTP/1aF0v9Xh9X/WYjY/1mK2v9ajN3/XI7f/1yP + 4v9ekeX/X5Ln/2GU6f9klun/Z5nr/2qb7f9sne3/b6Du/3Gi7/91pfL/cY+9/2RkZP+/vr7/+Pj3//n4 + +P/5+fn/+vn5//r5+f9ra2v/CQkJ/zIwMv8yMDH/MS8x/zAuMP8vLS//Liwu/y0rLf8sKiz/Kykr/yoo + Kv8pJyn/KCYo/yclJ/8lJCX/JCMk/yMiI/8iISL/ISAh/yAfIP8fHh//Hh0e/x0cHf8cGxz/Gxkb/xkY + Gf8YFxj/FxYX/xYVFv8VFBX/FBMU/ykoKf86OTr/AAAA/zU1Nf9JSEn/W1pb/1lYWf9WVVb/VFNU/1JR + Uv9QT1D/SklK/zAvMP8WFRb/CwoL/wAAAP8AAACPAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAADPExMT/zQy + NP80MjT/NTM0/zUzNf81NDX/NjQ1/zY0Nv83NTb/NzU2/zc2N/9FREX/VVRV/0NFS/8sS3//R3XE/1mQ + 5f9emO//Xpjv/16Y7/9emO//ZJzv/2ed7/9fmO//X5jv/1+Y7/9fmO//X5jv/16Y7/9ZkOX/ToDS/0Vz + wf9Cbrn/RXG4/0l1uP9MeLv/TXq+/097wf9Qfsf/UYDK/1OBzf9Ug8//VYXS/1aH1f9XiNf/WIra/1mM + 3P9ajN//W47j/1yQ5f9ekef/YJTo/2OW6v9mmOv/aJvs/2uc7f9tnu3/caHw/3am8/92ndr/ZWht/76+ + vv/39/f/+Pj3//j4+P/4+Pj/+Pj3/ywsLP8TEhP/MS8x/zEvMf8wLjD/Ly0v/y4sLv8tKy3/LCos/ysp + K/8qKCr/KCco/ycmJ/8mJSb/JSQl/yQjJP8jIiP/IiEi/yEgIf8gHiD/Hx0f/x4cHv8dGx3/Gxob/xoZ + Gv8ZGBn/GBcY/xcWF/8WFRb/FRQV/xQTFP8sKyz/Ly4v/wUFBf84ODj/UE9Q/15dXv9bW1v/Wlla/1dX + V/9RUFH/NDQ0/xoZGv8NDA3/AQEB/wAAAL8AAAAfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAA + AOIZGBn/NDI0/zUzNP81MzX/NTQ1/zY0Nf82NDb/NjU2/zc1Nv83Njf/Pz0+/1FTWP9EaKf/S3vM/12W + 6/9fme//ZZzv/2+j8P93p/H/fKvy/36s8v+ArfL/ga7y/4Ov8/99q/L/eqny/3Gj8f9lnPD/X5nv/1+Z + 7/9fme//WI7i/01+z/9Cbrv/RXC5/0h1u/9Ner//TnvC/099x/9Rf8r/UoHM/1ODz/9UhdH/VYbU/1aH + 2P9Xidr/WIrd/1mM3/9ajuL/XI/l/12R5v9gk+j/YpXq/2WX6v9omez/aZvs/2ye7v9yo/D/d6n0/3ee + 2/9laG3/vr6+//f29v/39/b/9/f2//f29v/X19f/Dw8P/x4cHv8xLzH/MC4w/y8tL/8uLC7/LCss/ysq + K/8qKSr/KSgp/ygnKP8nJif/JiUm/yUjJf8kIiT/IyEj/yIgIv8hHyH/IB4g/x8dH/8dHB3/HBsc/xsa + G/8aGRr/GRgZ/xgXGP8XFhf/FhUW/xUUFf8UExT/KCco/yIiIv8LCwv/PT09/1VUVf9hYGH/X15f/11c + Xf9CQUL/HBsc/xMSE/8DAwP/AAAAzwAAAD8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAvAAAA7x8fH/81MzT/NTM1/zU0Nf82NDX/NjQ2/zY1Nv83NTb/NzU3/zc2N/9HYpL/R3bE/16W + 7P9hmvD/bqLx/3an8v94qPL/eany/3uq8v99q/P/fqzz/4Ct8/+BrvP/g6/z/4Ww8/+GsfP/iLL0/4Sw + 8/94qPL/aZ7w/2GZ8P9gmfD/Xpbs/1GD1v9DcL7/RHC7/0l2vv9Oe8L/Tn3H/1B/yf9Rgcz/UoLP/1OD + 0v9UhdX/VobX/1aJ2v9Xitz/WIzf/1mN4v9ajuT/XJDm/1+T5/9hlen/Y5fr/2aZ6v9pnOz/bp/u/3Sl + 8f94qfX/d57b/2Vobf/JyMj/9vX1//b19f/29fX/9fX0/7W1tf8DAwP/JyUn/y8tL/8uLC7/LSst/ywq + LP8rKSv/Kigq/yknKf8oJij/JyUn/yYkJv8lIyX/JCIk/yMhI/8hICH/IB8g/x8eH/8eHR7/HRwd/xwb + HP8bGhv/Ghka/xkYGf8YFxj/FxYX/xYVFv8VFBX/ExMT/yUkJf8eHR7/DAwM/0BAQP9YV1j/ZGRk/0dG + R/8iISL/ExMT/wYGBv8AAADfAAAAXwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAD8DAwP/HBsc/zEvMf81MzX/NjQ1/zY0Nv82NTb/NzU2/zc1N/88TnD/RnPB/1+X + 7P9jm/D/b6Px/3Ol8v91pvL/d6fy/3Sm8f90pvH/eqry/32s8v9/rfP/gK7z/4Kv8/+EsPP/hbHz/4ay + 8/+Is/T/irP0/4u09P+FsPP/dabx/2Sc8P9hmvD/X5fs/1WJ3P9Gc8H/RHC8/0p3wP9NfMf/T37K/1B/ + zP9Rgc//UoPS/1OF1P9Uhtf/VYja/1aJ3P9XiuD/WIzi/1qO5P9bkOb/XZLo/2CU6f9ilur/ZJjq/2mb + 7P9wofD/dqjz/3qr9f9zlcn/bGxs/9rZ2f/09PP/9PTz//Tz8//z8/L/d3d3/wkJCf8sKiz/Liwu/y0r + Lf8sKiz/Kykr/yooKv8pJyn/KCYo/yclJ/8lJCX/JCMk/yMiI/8iISL/ISAh/yAfIP8fHh//Hh0e/x0c + Hf8cGxz/Gxob/xoZGv8ZGBn/GBcY/xcWF/8VFBX/FBQU/xMTE/8jIyP/ExMT/xUVFf9FRUX/TEtM/yQj + JP8XFRf/CgoK/wAAAO8AAAB/AAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAPwAAAK8AAAD/ExMT/yQjI/82NDb/NjU2/zc1Nv85P0//Qm67/1yS + 5v9im/D/Zp3w/2ie8P9mnPD/Y5vw/2Ob8P9jm/D/Y5vw/2Ob8P9jm/D/Y5vw/2qg8P9tofD/c6Xx/3yr + 8v+FsfP/h7Lz/4iz9P+KtPT/i7X0/4229P+OtvT/f6zy/26i8f9im/D/Yprw/1aK3P9Gc8H/RHG8/0p4 + wv9Ofcn/T3/M/1CBz/9SgtL/UoPV/1OF2P9Uhtv/VYnd/1aK4P9Xi+L/WY3k/1qP5v9ckOf/X5Po/2KV + 6f9lmev/bJ/v/3Wm8v95qvX/eqv2/26Hq/91dXX/6urp//Py8v/z8vL/8vLx//Lx8f9JSUn/Dw4P/y4s + Lv8tKy3/LCos/yopKv8pKCn/KCco/ycmJ/8mJSb/JSQl/yQjJP8jIiP/IiEi/yEgIf8gHyD/Hx0f/x4d + Hv8dHB3/HBoc/xsZG/8ZGBn/GBcY/xcWF/8WFRb/FRQV/xQTFP8TExP/Hh0e/xAPEP8UExT/ISEh/xgX + GP8ODg7/AAAA/wAAAJ8AAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAH8AAADfBwYH/xoZGv8vLi//P1+Z/1KE + 1v9jm/D/ZJvw/2Sb8P9knPD/ZJzw/2Sc8P9knPD/ZJzw/2Sc8P9knPH/ZJzx/2Sc8f9knPH/ZJzx/2Sc + 8f9knPH/Zp3x/2+i8f96qvL/h7Lz/4q09P+MtfT/jbb0/4+39P+QuPT/hrHz/2+i8f9jm/D/YZjs/1KE + 1v9EcL7/RXK9/0x7x/9Pfs3/UIDQ/1CB0v9Sg9X/U4XY/1OG2v9UiN3/VYng/1aK4v9YjOT/WY7m/1yQ + 5/9ekuj/YZXp/2ib7P9xo/H/d6j1/3iq9v93qfX/aXmQ/4+Pj//y8fH/8fHw//Hx8P/x8O//4eDg/xwb + G/8YFxj/LCos/yspK/8qKCr/KScp/ygmKP8nJSf/JiQm/yUjJf8kIiT/IyEj/yIgIv8hHyH/IB4g/x8d + H/8dHB3/HBsc/xsaG/8aGRr/GRgZ/xgXGP8XFhf/FhUW/xUUFf8UExT/ExMT/xgXGP8LCwv/CQkJ/wsL + C/8BAQH/AAAArwAAAB8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8AAACfFyhE/0Zz + wf9ime3/ZJzx/2Wc8f9lnPH/ZZzx/2Wc8f9lnPH/ZZ3x/2Wd8f9lnfH/ZZ3x/2Wd8f9lnfH/ZZ3x/2Wd + 8f9lnfH/ZZ3x/2Wd8f9lnfH/ZZ3x/2ie8f9zpfL/hrHz/4y19P+OtvX/j7f1/5C49f+SufX/h7Lz/3Cj + 8f9knPD/YZnt/1CC0/9Cbrv/R3XB/018zP9Pf8//UIHS/1GD1f9ShNf/U4Xa/1OG3f9UiOD/VYrj/1eL + 5P9Yjeb/W5Dm/16T6P9kmOv/a57v/3Om8/93qfT/d6n1/3Sk7P9ncH7/qamo//Dw7//w7+//7+/u/+/u + 7v+/v77/Dg4O/yAfIP8rKSv/Kigq/yknKf8oJij/JyUn/yYkJv8lIyX/IyIj/yIhIv8hICH/IB8g/x8e + H/8eHR7/HRwd/xwbHP8bGhv/Ghka/xkYGf8YFxj/FxYX/xYVFv8VFBX/FBMU/xMTE/8TExP/BQUF/wEB + Af8AAADLAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQm67D0Ju + u+9ajuD/ZZ3x/2ad8f9mnfH/Zp3x/2ad8f9mnfH/Zp3x/2ad8f9mnfH/Zp3x/2ad8f9mnfH/Z57x/2ee + 8f9nnvH/Z57x/2ee8f9mnfH/Zp3x/2ad8f9mnfH/Zp3x/2ad8f90pvL/g6/0/4629f+Pt/X/kLj1/5K5 + 9f+TuvX/g6/z/2ug8f9lnPH/XpPn/0p5yv9Db7z/SXjH/05+z/9PgNL/T4HV/1GD2P9Rhdr/Uobd/1OI + 4P9UieL/VYvl/1eM5v9ajub/XpPp/2ea7f9xo/H/dqj0/3ep9f91qPX/cZrZ/2RobP/V1dT/7+7t/+7u + 7f/u7ez/7ezs/5KRkf8CAgL/JSMl/ykoKf8oJyj/JyYn/yYlJv8lJCX/JCMk/yMiI/8iISL/ISAh/yAf + IP8fHh//Hh0e/x0cHf8cGxz/Gxob/xoZGv8ZGBn/GBcY/xcWF/8VFBX/FBQU/xMTE/8TExP/ExMT/wMD + A/8AAACKAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEJu + u39Lesr/Zp3x/2ed8f9nnvH/Z57x/2ee8f9nnvH/Z57x/2ee8f9nnvH/aJ7x/2ie8f9onvH/aJ7x/2ie + 8f9onvH/aJ7x/2ie8f9onvH/aJ7x/2ie8f9onvH/aJ7x/2ee8f9nnvH/Z57x/2ee8f9xpPL/h7L0/4+3 + 9f+QuPX/krn1/5O69f+SufT/e6ry/2Wd8f9lnfH/WIvd/0Rwvv9FcsD/S3zN/05/0v9PgdX/UIPX/1CE + 2v9Shtz/Uobf/1OI4v9ViuT/Vovl/1uP6P9iluv/bJ/v/3Om8/91p/X/daf1/3Om9P9sibP/dXV0/+Xk + 5P/t7Ov/7ezr/+zr6v/r6+r/ZGRk/wgHCP8mJSb/KCYo/yclJ/8mJCb/JSMl/yQiJP8jISP/IiAi/yEf + If8gHiD/Hx0f/x4cHv8dGx3/Gxob/xoZGv8ZGBn/GBcY/xcWF/8WFRb/FRQV/xQTFP8TExP/EhES/wUF + Bf8AAADfAAAAHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEJu + uw9CbrvvXpLk/2ie8f9onvH/aJ7x/2ie8f9on/H/aJ/x/2if8v9on/L/aZ/y/2mf8v9pn/L/aZ/y/2mf + 8v9pn/L/aZ/y/2mf8v9pn/L/aZ/y/2mf8v9pn/L/aZ/y/2mf8v9on/L/aJ/y/2if8f9on/H/aJ/x/2ie + 8f92qPL/i7T0/5G49f+SufX/k7r1/5W79f+NtvT/b6Px/2ad8f9kmu3/UYLT/0Juu/9Id8f/TX/S/06A + 1P9Pgdf/T4Pa/1CE3f9RhuD/Uofi/1SJ4/9VjOX/XZLo/2aa7f9wovL/dKb0/3Sn9P9zpvT/caX0/2d4 + kP+WlpX/7Ovq/+vr6v/r6un/6uno/+rp6P8pKSn/EA8Q/ycmJ/8mJSb/JSQl/yQjJP8jIiP/IiEi/yEg + If8gHyD/Hx4f/x4dHv8dHB3/HBsc/xsaG/8aGRr/GRgZ/xgXGP8XFhf/FhUW/xUUFf8UExT/Dg4O/wEB + Af8AAACPAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AABCbrt/UIDQ/2if8v9pn/L/aZ/y/2mf8v9pn/L/aZ/y/2mg8v9qoPL/aqDy/2qg8v9qoPL/aqDy/2qg + 8v9qoPL/aqDy/2qg8v9qoPL/aqDy/2qg8v9qoPL/aqDy/2qg8v9qoPL/aqDy/2qg8v9poPL/aaDy/2mf + 8v9pn/L/aZ/y/2mf8v98q/P/jrf1/5K59f+UuvX/lbv1/5a89f9/rfP/Z57x/2ee8f9dkeT/RnTB/0Rx + v/9KfM//TX/V/06B1/9Og9r/T4Td/1CF3/9Rh+L/Uoji/1iN5/9hluv/baDw/3Sm9P90p/T/cqb0/3Gl + 9P9un+r/ZGds/7+/vv/q6ej/6uno/+no5//o5+b/2NfW/w4ODv8XFhf/JiQm/yUjJf8kIiT/IyEj/yIh + Iv8hICH/IB8g/x8eH/8eHR7/HRwd/xwbHP8bGhv/Ghka/xkYGf8YFxj/FxYX/xYVFv8TExP/BgYG/wAA + AO8AAABPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AABCbrsfQm67/2SZ6/9qoPL/aqDy/2qg8v9qoPL/aqDy/2qg8v9roPL/a6Dy/2uh8v9rofL/a6Hy/2uh + 8v9rofL/a6Hy/2uh8v9rofL/a6Hy/2uh8v9rofL/a6Hy/2uh8v9rofL/a6Hy/2uh8v9roPL/a6Dy/2qg + 8v9qoPL/aqDy/2qg8v9qoPL/aqDy/2yh8v+FsfT/krn2/5S69v+Vu/b/lrz1/4639f9uovH/Z57x/2Wb + 7f9Sg9P/Qm68/0h4y/9Mf9T/TYHX/06C2f9Og9z/T4Tf/1CG4P9UiuT/XZLp/2qe7/9ypfP/dKb0/3Kl + 9P9wpPP/b6Pz/2qPxP9sbGz/4eDf/+jn5v/n5uX/5uXj/+Tj4v+2tLT/AAAA/xwaHP8lIyX/JCIk/yMh + I/8iICL/IB8g/x8eH/8eHR7/HRwd/xwbHP8bGhv/Ghka/xkYGf8YFxj/FxYX/xYVFv8RERH/AQEB/wAA + AK8AAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAQm67n1GB0P9qoPL/a6Dy/2uh8v9rofL/a6Hy/2uh8v9sofL/bKHy/2yh8v9sofL/bKHy/2yh + 8v9sofL/bKLy/2yi8v9sovL/bKLy/2yi8v9sovL/bKLy/2yi8v9sofL/bKHy/2yh8v9sofL/bKHy/2yh + 8v9sofL/a6Hy/2uh8v9rofL/a6Hy/2uh8v9roPL/aqDy/3Sm8/+OtvX/lLr2/5W79v+XvPb/lbv1/3qq + 8/9on/H/aJ7x/1yP4P9Ecb7/RXPC/0p90v9Mf9f/TYDa/02C3f9OhN7/UYfi/1mP5/9lmu3/b6Lz/3Kl + 9P9ypfT/cKTz/26j8/9tovP/ZnOH/5ycm//l5OP/5OPi/+Ph4P/h4N7/397d/4iHhv8CAgL/Hx4f/yMi + I/8iISL/ISAh/yAfIP8fHh//Hh0e/x0cHf8cGxz/Gxob/xoZGv8ZGBn/GBcY/xUUFf8KCgr/AAAA7wAA + AF8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAQm67D0Juu+9mmuv/bKHy/2yh8v9sofL/bKLy/2yi8v9tovP/baLz/22i8/9tovP/baLz/22i + 8/9tovP/baLz/22i8/9tovP/baLz/22i8/9tovP/baLz/22i8/9tovP/baLz/22i8/9tovP/baLz/22i + 8/9tovP/baLz/22i8/9sovP/bKLy/2yh8v9sofL/bKHy/2uh8v9rofL/bqLy/4Kv9P+Uuvb/lbv2/5e8 + 9v+Yvfb/h7L0/2mf8v9pn/L/Zpzu/0t6yv9DcL7/SHrP/0t/1/9LgNn/TILb/06D3/9UieP/X5Pq/2ue + 8P9xpPP/caX0/3Ck8/9uo/P/baLy/2qZ4P9kZ2z/y8rJ/+Hg3v/g3t3/3t3b/9zb2v/a2dj/XVxb/wcG + B/8gHyD/IiAi/yEfIf8gHiD/Hx0f/x4cHv8dGx3/HBoc/xsZG/8aGBr/GRcZ/xMTE/8DAwP/AAAAvwAA + AB8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAEJuu39SgdH/bKLz/22i8/9tovP/baLz/22i8/9uovP/bqPz/26j8/9uo/P/bqPz/26j + 8/9uo/P/bqPz/26j8/9uo/P/bqPz/2+j8/9vo/P/b6Pz/2+j8/9uo/P/bqPz/26j8/9uo/P/bqPz/26j + 8/9uo/P/bqPz/26j8/9uo/P/bqLz/22i8/9tovP/baLz/22i8/9tovP/bKLy/2yh8v9sofL/dqfz/5K5 + 9f+Wu/b/l7z2/5i99v+QuPX/baHy/2mg8v9pn/L/VYbX/0JuvP9HeMz/Sn7W/0t/2f9MgNv/T4Xf/1qO + 5/9nm+3/b6Py/3Gk9P9vpPP/bqLz/2yh8v9qoPL/ZoGq/4KCgf/e3dv/3Nva/9va2P/Z2Nb/2NbV/9bU + 0/8zMjL/CwoL/yEgIf8gHyD/Hx4f/x4dHv8dHB3/HBsc/xsaG/8aGRr/GRgZ/w0MDf8AAAD/AAAAbwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAEJuuw9CbrvvaJzs/26i8/9uo/P/bqPz/26j8/9uo/P/b6Pz/2+j8/9vo/P/b6Pz/2+k + 8/9vpPP/b6Tz/3Ck8/9wpPP/cKTz/3Ck8/9wpPP/cKTz/3Ck8/9wpPP/cKTz/3Ck8/9wpPP/cKTz/2+k + 8/9vpPP/b6Tz/2+k8/9vo/P/b6Pz/2+j8/9uo/P/bqPz/26j8/9uo/P/bqPz/22i8/9tovP/baLz/22i + 8/9vo/P/irT1/5a79v+XvPb/mL32/5a89f9zpvL/aqDy/2qg8v9dkOH/RHG+/0V1yP9Jfdf/SX/Y/02C + 3f9UiuP/Ypfr/2ug8P9wo/P/b6Pz/22i8/9sofL/aqDy/2ib6f9ka3X/tLOy/9nY1//Y1tX/1tXT/9XT + 0v/T0dD/wsC//yQkJP8PDg//IB4g/x8dH/8eHB7/HRsd/xwaHP8bGRv/FBMU/wUEBf8AAADPAAAALwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAABCbrt/UoLR/26j8/9vo/P/b6Pz/2+k8/9vpPP/cKTz/3Ck8/9wpPP/cKTz/3Ck + 8/9wpPP/cKT0/3Gk9P9xpfT/caX0/3Gl9P9xpfT/caX0/3Gl9P9xpfT/caX0/3Gl9P9xpfT/caX0/3Gl + 9P9xpfT/cKT0/3Ck9P9wpPP/cKTz/3Ck8/9wpPP/cKTz/2+k8/9vpPP/b6Pz/2+j8/9vo/P/bqPz/26j + 8/9uo/P/bqLz/22i8/+BrvT/lrv2/5e89v+Yvfb/lrz1/32s8/9roPL/aqDy/2KW6P9Jd8T/Q3LD/0h9 + 1f9Kftr/UITf/1qP5v9onO7/bqLx/2+j8/9tovP/a6Hy/2qg8v9on/H/Zoi6/3Jycf/W1dP/1dPS/9PS + 0P/R0M7/0M7N/87My/+koqH/DAwM/xMTE/8eHR7/HRwd/xwbHP8bGhv/EA8Q/wEBAf8AAAB/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAABCbrsPQm6772qd7P9wpPP/cKTz/3Ck8/9wpPP/cKT0/3Gl9P9xpfT/caX0/3Gl + 9P9xpfT/cqX0/3Kl9P9ypfT/cqX0/3Km9P9ypvT/cqb0/3Km9P9ypvT/cqb0/3Km9P9ypvT/cqb0/3Km + 9P9ypfT/cqX0/3Kl9P9ypfT/caX0/3Gl9P9xpfT/caX0/3Gl9P9xpfT/cKTz/3Ck8/9wpPP/cKTz/2+k + 8/9vpPP/b6Pz/2+j8/9uo/P/bqPz/3qq8/+TuvX/l7z2/5i99v+Zvvb/fazz/2uh8v9rofL/aJ3u/0l3 + xP9CcL//SHvT/0uA3P9ViuL/Y5js/2yh8f9uovP/baLz/2uh8v9pn/L/aJ7x/2ad8f9ka3X/qKem/9LQ + zv/Qz83/z83L/83Lyf/Lycj/ycjE/5OSkf8AAAD/GBcY/x0bHf8YFxj/BwcH/wAAAN8AAAA/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAQm67f1OC0f9wpPT/caX0/3Gl9P9xpfT/caX0/3Kl9P9ypfT/cqb0/3Km + 9P9ypvT/cqb0/3Om9P9zpvT/c6b0/3Om9P9zpvT/c6b0/3Om9P9zpvT/c6b0/3Om9P9zpvT/c6b0/3Om + 9P9zpvT/c6b0/3Om9P9zpvT/c6b0/3Km9P9ypvT/cqb0/3Km9P9ypvT/cqX0/3Kl9P9xpfT/caX0/3Gl + 9P9xpPT/cKTz/3Ck8/9wpPP/b6Tz/2+j8/9vo/P/dqfz/4639f+XvPb/mL32/5m+9/99rPT/bKHy/2yh + 8v9pne7/UYHQ/0Jwv/9Ifdb/UYXe/1+T6P9onu//baLz/2yh8v9roPL/aZ/y/2ee8f9mnfH/ZIe6/3Fx + cP/Ozcv/zcvK/8vKyP/KyMT/yMTD/8TDwf/Cwb//d3Z1/wEBAf8REBH/AQEB/wAAAI8AAAAPAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAQm67H0Juu/9rnu3/cqX0/3Kl9P9ypvT/cqb0/3Om9P9zpvT/c6b0/3Om + 9P9zp/T/dKf0/3Sn9P90p/T/dKf0/3Sn9P90p/T/dKf0/3Sn9P90p/T/dKf0/3Sn9P90p/T/dKf0/3Sn + 9P90p/T/dKf0/3Sn9P90p/T/dKf0/3Sn9P90p/T/dKf0/3On9P9zpvT/c6b0/3Om9P9zpvT/cqb0/3Km + 9P9ypvT/cqX0/3Gl9P9xpfT/caX0/3Ck9P9wpPP/cKTz/2+k8/9ypfP/j7f1/5e89v+Yvfb/mb73/36t + 9P9tovP/bKLy/2yh8v9RgdD/QnC//0t/2P9XjOP/ZZns/2uf8f9sofL/aqDy/2mf8v9nnvH/ZZ3x/2Sc + 8P9janX/sK+t/8rIxP/Ix8P/x8PB/8PBv//BwL7/wL68/768uv9SUVD/BgYG/ysrK48AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAEJuu59Ug9H/cqb0/3Om9P9zpvT/c6b0/3On9P90p/T/dKf0/3Sn + 9P90p/T/dKf1/3Wn9f91qPX/daj1/3Wo9f91qPX/daj1/3Wo9f91qPX/daj1/3Wo9f91qPX/daj1/3Wo + 9f91qPX/daj1/3Wo9f91qPX/daj1/3Wo9f91qPX/daj1/3Wn9f90p/X/dKf0/3Sn9P90p/T/dKf0/3Sn + 9P9zpvT/c6b0/3Om9P9ypvT/cqb0/3Km9P9ypfT/caX0/3Gl9P9xpPT/cKTz/3Kl8/+KtPX/l7z2/5i9 + 9v+Zvvb/fq30/22i8/9tovP/bKLy/0x7yv9Ec8T/Uoff/2KW6v9qn/H/a6Hy/2qg8v9on/H/Z57x/2Wc + 8f9jm/D/Y3+p/4KCgf/Hw8H/w8HA/8LAvv/Avrz/v727/768uv++vLr/hYWE/1tbW78AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAEJuux9Cbrv/bZ/t/3Sn9P90p/T/dKf0/3Sn9P91p/X/daj1/3Wo + 9f91qPX/daj1/3ao9f92qPX/dqj1/3ao9f92qPX/dqn1/3ap9f92qfX/dqn1/3ap9f93qfX/d6n1/3ep + 9f93qfX/dqn1/3ap9f92qfX/dqn1/3ap9f92qPX/dqj1/3ao9f92qPX/dqj1/3Wo9f91qPX/daj1/3Wo + 9f91p/X/dKf0/3Sn9P90p/T/dKf0/3Om9P9zpvT/c6b0/3Km9P9ypvT/cqX0/3Gl9P9xpfT/caT0/4iz + 9f+XvPb/mL32/5m+9v9+rfT/bqPz/22i8/9qn+//R3TB/0l6z/9flOj/aZ3w/2ug8v9qoPL/aJ7x/2ad + 8f9lnPH/Y5vw/2KX5/9kZGT/trSy/8C+vP+/vbv/vry6/768uv++vLr/lpWU/2RkZN9kZGQPAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABCbruvWIfV/3Sn9P91p/X/daj1/3Wo9f91qPX/dqj1/3ao + 9f92qPX/dqn1/3ep9f93qfX/d6n1/3ep9f93qfX/d6n1/3ep9f94qfX/eKn1/3ip9f94qvX/eKr1/3iq + 9f94qvX/eKr1/3iq9f94qfX/eKn1/3ip9f93qfX/d6n1/3ep9f93qfX/d6n1/3ep9f93qfX/dqn1/3ao + 9f92qPX/dqj1/3ao9f91qPX/daj1/3Wn9f90p/T/dKf0/3Sn9P9zp/T/c6b0/3Om9P9ypvT/cqb0/3Kl + 9P9xpfT/iLP1/5a89v+Yvfb/mb72/3+t9P9uo/P/bqPz/2WZ6P9Cbrv/VYjc/2Wa7f9pn/H/aZ/y/2ie + 8f9mnfH/ZJzw/2Ob8P9hmvD/YnSP/5eVlP++vLr/vry6/768uv++vLr/p6ak/2RkZO9kZGQvAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABCbrs/RXG+/3Kk8f91qPX/dqj1/3ao9f92qfX/d6n1/3ep + 9f93qfX/d6n1/3ep9f94qfX/eKr1/3iq9f94qvX/eKr1/3iq9v94qvb/ear2/3mq9v95qvb/ear2/3mq + 9v95qvb/ear2/3mq9v95qvb/ear2/3mq9v95qvb/ear2/3iq9v94qvX/eKr1/3iq9f94qvX/eKr1/3ip + 9f93qfX/d6n1/3ep9f93qfX/dqn1/3ao9f92qPX/dqj1/3Wo9f91qPX/daf1/3Sn9P90p/T/c6f0/3Om + 9P9zpvT/cqb0/3Kl9P+Is/X/l7z3/5i99/+WvPb/d6jz/2+j8/9vo/P/W4vb/0Rxv/9flOb/Z53w/2mf + 8v9nnvH/Zp3x/2Sc8P9im/D/YZnw/2GFuf90dHT/vry6/768uv++vLr/srGv/2lpaf9kZGRfAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQm67v1yL2f92qPX/dqn1/3ep9f93qfX/d6n1/3ip + 9f94qvX/eKr1/3iq9f95qvb/ear2/3mq9v95q/b/eav2/3mr9v96q/b/eqv2/3qr9v96q/b/eqv2/3qr + 9v96q/b/eqv2/3qr9v96q/b/eqv2/3qr9v96q/b/eqv2/3qr9v96q/b/eav2/3mr9v95q/b/ear2/3mq + 9v95qvb/eKr2/3iq9f94qvX/eKr1/3ep9f93qfX/d6n1/3ep9f92qfX/dqj1/3ao9f91qPX/daj1/3Wn + 9f90p/T/dKf0/3Om9P9zpvT/cqb0/4229v+XvPf/mL33/5a89v9zpvP/cKTz/2+j8/9Ne8r/TX3P/2ac + 7/9nnvH/Z57x/2Wd8f9km/D/Yprw/2CZ7/9fleb/ZGRk/7i2tP++vLr/uLa0/3R0dP9kZGSPAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQm67X0h1wv93qfX/d6n1/3ip9f94qvX/eKr1/3iq + 9v95qvb/ear2/3mr9v96q/b/eqv2/3qr9v96q/b/eqv2/3qr9v97q/b/e6z2/3us9v97rPb/e6z2/3us + 9v97rPb/e6z2/3us9v97rPb/e6z2/3us9v97rPb/e6z2/3us9v97rPb/e6z2/3us9v96q/b/eqv2/3qr + 9v96q/b/eqv2/3qr9v95q/b/ear2/3mq9v95qvb/eKr1/3iq9f94qvX/d6n1/3ep9f93qfX/dqn1/3ao + 9f92qPX/daj1/3Wn9f90p/T/dKf0/3On9P91qPT/j7j2/5e99/+Yvff/kbn2/3Gk9P9wpPP/ap3s/0Rx + vv9ajuD/Zp3w/2ad8f9lnPH/Y5vw/2Ka8P9gme//V43i/1tmef+hoJ//vry6/4WFhP9kZGS/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEJuu99jk+D/eKr1/3iq9f95qvb/ear2/3mr + 9v96q/b/eqv2/3qr9v96q/b/e6z2/3us9v97rPb/e6z2/3us9v98rPb/fKz2/3ys9v98rfb/fK32/3yt + 9v98rfb/fK32/3yt9v98rfb/fK32/3yt9v98rfb/fK32/3yt9v98rfb/fK32/3yt9v98rPb/fKz2/3us + 9v97rPb/e6z2/3us9v97rPb/eqv2/3qr9v96q/b/eqv2/3mr9v95qvb/ear2/3iq9v94qvX/eKr1/3ep + 9f93qfX/d6n1/3ap9f92qPX/daj1/3Wo9f91p/X/dKf0/3ao9P+Tu/b/lr33/5e99/+FsfX/caX0/3Gk + 9P9cjNv/R3XD/2Wb7v9mnfH/ZJzx/2Ob8P9hmvD/YJnv/1CD1v9VaIr/kZCP/5aVlP9kZGTfZGRkDwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEJuu09IdcL/ear2/3mq9v95q/b/eqv2/3qr + 9v96q/b/e6z2/3us9v97rPb/fKz2/3ys9v98rfb/fK32/3yt9v98rfb/fa33/32t9/99rff/fa33/32t + 9/99rff/fa73/32u9/99rvf/fa73/32u9/99rvf/fa73/32u9/99rff/fa33/32t9/99rff/fa33/32t + 9/99rff/fK32/3yt9v98rfb/fKz2/3ys9v97rPb/e6z2/3us9v96q/b/eqv2/3qr9v96q/b/eav2/3mq + 9v94qvb/eKr1/3iq9f93qfX/d6n1/3ap9f92qPX/dqj1/3Wo9f91p/X/eqv1/5W89/+Wvff/l733/3ur + 9P9ypfT/caX0/0d0wf9Xidv/Zp3x/2Sc8P9im/D/YZnw/1+Y7/9JeMn/VGiLr29vbv9kZGTvZGRkLwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABCbru/ZZTg/3qr9v96q/b/e6v2/3us + 9v97rPb/fKz2/3ys9v98rfb/fK32/32t9/99rff/fa33/32t9/9+rvf/fq73/36u9/9+rvf/fq73/36u + 9/9+rvf/f673/3+u9/9/rvf/f673/3+u9/9/rvf/f673/3+u9/9/rvf/f673/36u9/9+rvf/fq73/36u + 9/9+rvf/fq73/36u9/99rvf/fa33/32t9/99rff/fK32/3yt9v98rfb/fKz2/3us9v97rPb/e6z2/3qr + 9v96q/b/eqv2/3mr9v95qvb/eKr1/3iq9f94qfX/d6n1/3ep9f92qPX/dqj1/3Wo9f+Br/X/lbz3/5a8 + 9/+Suvb/daf0/3Km9P9ml+b/RHC+/2KZ7f9km/D/Yprw/2GZ8P9fmO//Qm67/11mdU9kZGT/ZGRkXwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABCbrsvRXG+/3eo8v97rPb/e6z2/3ys + 9v98rfb/fK32/32t9/99rff/fa33/36u9/9+rvf/fq73/36u9/9/rvf/f673/3+v9/9/r/f/f6/3/3+v + 9/9/r/f/f6/3/4Cv9/+Ar/f/gK/3/4Cv9/+Ar/f/gK/3/4Cv9/+Ar/f/gK/3/4Cv9/+Ar/f/f6/3/3+v + 9/9/r/f/f6/3/3+v9/9/rvf/f673/36u9/9+rvf/fq73/36u9/99rff/fa33/32t9/98rfb/fK32/3ys + 9v97rPb/e6z2/3us9v96q/b/eqv2/3mr9v95qvb/ear2/3iq9f94qfX/d6n1/3ep9f92qPX/dqj1/4m0 + 9v+VvPf/lrz3/4Wy9f9zpvT/cqb0/058yv9ShNb/Y5vw/2Ka8P9gme//V43i/0Juu99kZGQ/ZGRkjwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQm67n1uJ1f98rPb/fK32/3yt + 9v99rff/fa33/32u9/9+rvf/fq73/36u9/9/rvf/f6/3/3+v9/9/r/f/gK/3/4Cv9/+Ar/f/gK/3/4Cw + 9/+AsPf/gbD3/4Gw+P+BsPj/gbD4/4Gw+P+BsPj/gbD4/4Gw+P+BsPj/gbD4/4Gw+P+BsPj/gbD4/4Gw + 9/+BsPf/gLD3/4Cv9/+Ar/f/gK/3/4Cv9/9/r/f/f6/3/3+v9/9/rvf/fq73/36u9/9+rvf/fq73/32t + 9/99rff/fK32/3yt9v98rPb/e6z2/3us9v96q/b/eqv2/3qr9v95qvb/ear2/3iq9f94qfX/d6n1/3ep + 9f94qvX/kLn2/5W89/+WvPf/eKn0/3Om9P9nmOb/RHC+/2GY7P9hmvD/YJnv/1KF2f9CbrufZGRkDwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEJuu+9xoev/fa33/32t + 9/9+rvf/fq73/36u9/9/rvf/f6/3/3+v9/9/r/f/gK/3/4Cv9/+Ar/f/gbD3/4Gw+P+BsPj/gbD4/4Gw + +P+BsPj/grD4/4Kw+P+Csfj/grH4/4Kx+P+Csfj/grH4/4Kx+P+Csfj/grH4/4Kx+P+Csfj/grH4/4Kx + +P+CsPj/grD4/4Gw+P+BsPj/gbD4/4Gw+P+BsPj/gbD3/4Cw9/+Ar/f/gK/3/4Cv9/9/r/f/f6/3/3+u + 9/9+rvf/fq73/36u9/99rff/fa33/3yt9v98rfb/fKz2/3us9v97rPb/eqv2/3qr9v95q/b/ear2/3iq + 9f94qfX/d6n1/36t9f+Uu/f/lbv3/4m09v90p/T/dKf0/058yv9Vidz/YZrw/1+Y7/9Mfc//Qm67bwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEJuu09Nesf/fa33/36u + 9/9+rvf/f673/3+v9/9/r/f/gK/3/4Cv9/+Ar/f/gbD3/4Gw+P+BsPj/gbD4/4Kw+P+Csfj/grH4/4Kx + +P+Csfj/g7H4/4Ox+P+Dsfj/g7H4/4Ox+P+Dsfj/g7H4/4Oy+P+Dsvj/g7L4/4Oy+P+Dsfj/g7H4/4Ox + +P+Dsfj/g7H4/4Ox+P+Dsfj/grH4/4Kx+P+Csfj/grH4/4Kw+P+BsPj/gbD4/4Gw+P+BsPj/gLD3/4Cv + 9/+Ar/f/f6/3/3+v9/9/rvf/fq73/36u9/9+rvf/fa33/32t9v98rfb/fKz2/3us9v97rPb/eqv2/3qr + 9v95q/b/ear2/3iq9f94qfX/h7P2/5S79/+Vu/f/ear1/3Wn9f9kleP/RXPB/2GZ8P9fmO//R3XE/0Ju + uz8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABCbruvZJLd/36u + 9/9/r/f/f6/3/4Cv9/+Ar/f/gLD3/4Gw+P+BsPj/gbD4/4Kw+P+Csfj/grH4/4Ox+P+Dsfj/g7H4/4Ox + +P+Dsvj/hLL4/4Sy+P+Esvj/hLL4/4Sy+P+Esvj/hLL4/4Sy+P+Esvj/hLL4/4Sy+P+Esvj/hLL4/4Sy + +P+Esvj/hLL4/4Sy+P+Esvj/hLL4/4Sy+P+Dsvj/g7L4/4Ox+P+Dsfj/g7H4/4Kx+P+Csfj/grH4/4Gw + +P+BsPj/gbD4/4Gw9/+Ar/f/gK/3/3+v9/9/r/f/f673/36u9/9+rvf/fa33/32t9/98rfb/fKz2/3us + 9v97rPb/eqv2/3qr9v95qvb/ear2/3qr9f+PuPb/k7v3/4ez9v92qPX/daj1/0h1wv9Xi9//X5jv/0Ju + u/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQm67/3em + 7/+Ar/f/gK/3/4Cw9/+BsPj/gbD4/4Gw+P+Csfj/grH4/4Kx+P+Dsfj/g7H4/4Oy+P+Esvj/hLL4/4Sy + +P+Esvj/hbP4/4Wz+f+Fs/n/hbP5/4Wz+f+Fs/n/hbP5/4Wz+f+Fs/n/hbP5/4Wz+f+Fs/n/hbP5/4Wz + +f+Fs/n/hbP5/4Wz+f+Fs/n/hbP5/4Wz+f+Fs/n/hbP4/4Sy+P+Esvj/hLL4/4Sy+P+Dsvj/g7H4/4Ox + +P+Dsfj/grH4/4Kx+P+CsPj/gbD4/4Gw+P+AsPf/gK/3/4Cv9/9/r/f/f673/36u9/9+rvf/fa33/32t + 9/98rfb/fKz2/3us9v97rPb/eqv2/3qr9v95qvb/grD2/5O69/+Sufb/d6n1/3ao9f9fjtz/S3vM/1eN + 4v9CbrvPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQm67T016 + x/+Ar/f/gbD3/4Gw+P+BsPj/grH4/4Kx+P+Dsfj/g7H4/4Oy+P+Esvj/hLL4/4Sy+P+Esvj/hbP5/4Wz + +f+Fs/n/hbP5/4az+f+Gs/n/hrT5/4a0+f+GtPn/hrT5/4a0+f+HtPn/h7T5/4e0+f+HtPn/h7T5/4e0 + +f+HtPn/h7T5/4e0+f+GtPn/hrT5/4a0+f+GtPn/hrP5/4az+f+Fs/n/hbP5/4Wz+f+Fs/n/hbP4/4Sy + +P+Esvj/hLL4/4Oy+P+Dsfj/g7H4/4Kx+P+Csfj/grD4/4Gw+P+BsPf/gK/3/4Cv9/9/r/f/f673/36u + 9/9+rvf/fa33/32t9/98rfb/fKz2/3us9v97q/b/eqv2/3mr9v+Ltvf/krr3/4Cv9f93qfX/c6Xx/0Ju + u/9Qg9b/Qm67rwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEJu + u59hj9r/gbD4/4Kw+P+Csfj/grH4/4Ox+P+Dsvj/hLL4/4Sy+P+Esvj/hbP5/4Wz+f+Fs/n/hrP5/4az + +f+GtPn/hrT5/4e0+f+HtPn/h7T5/4e0+f+HtPn/h7X5/4e1+f+Itfn/iLX5/4i1+f+Itfn/iLX5/4i1 + +f+Itfn/iLX5/4i1+f+Itfn/h7X5/4e1+f+HtPn/h7T5/4e0+f+HtPn/h7T5/4a0+f+GtPn/hrP5/4az + +f+Fs/n/hbP5/4Wz+f+Esvj/hLL4/4Sy+P+Dsvj/g7H4/4Ox+P+Csfj/grD4/4Gw+P+BsPj/gLD3/4Cv + 9/9/r/f/f673/36u9/9+rvf/fa33/32t9/98rfb/fKz2/3us9v96q/b/gK72/5G5+P+Hs/f/eKr1/3ep + 9f9VhNL/Qm67/0Juu38AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AABCbrvfdqTs/4Kx+P+Dsfj/g7H4/4Sy+P+Esvj/hLL4/4Wz+f+Fs/n/hbP5/4az+f+GtPn/hrT5/4e0 + +f+HtPn/h7T5/4e1+f+Itfn/iLX5/4i1+f+Itfn/iLX5/4m1+f+Jtfn/ibX6/4m1+v+Jtvr/ibb6/4m2 + +v+Jtvr/ibb6/4m2+v+Jtvr/ibX6/4m1+v+Jtfn/iLX5/4i1+f+Itfn/iLX5/4i1+f+Itfn/h7T5/4e0 + +f+HtPn/hrT5/4a0+f+Gs/n/hrP5/4Wz+f+Fs/n/hLL4/4Sy+P+Esvj/g7H4/4Ox+P+Csfj/grH4/4Gw + +P+BsPj/gLD3/4Cv9/9/r/f/f673/36u9/9+rvf/fa33/3yt9v98rPb/e6z2/3ur9v+Ltff/jbb3/3mq + 9v94qvX/aprn/0Juu/9CbrtPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AABCbrsfRnK+/4Ox+P+Dsvj/hLL4/4Sy+P+Fs/j/hbP5/4Wz+f+Gs/n/hrT5/4e0+f+HtPn/h7T5/4e1 + +f+Itfn/iLX5/4i1+f+Jtfn/ibX6/4m2+v+Jtvr/ibb6/4m2+v+Ktvr/irb6/4q2+v+Ktvr/irb6/4q2 + +v+Ktvr/irb6/4q2+v+Ktvr/irb6/4q2+v+Ktvr/irb6/4q2+v+Jtvr/ibb6/4m2+v+Jtvr/ibX5/4i1 + +f+Itfn/iLX5/4i1+f+HtPn/h7T5/4e0+f+GtPn/hrP5/4az+f+Fs/n/hbP5/4Sy+P+Esvj/g7L4/4Ox + +P+Csfj/grH4/4Gw+P+BsPj/gLD3/4Cv9/9/r/f/f673/36u9/9+rvf/fa33/3yt9v98rPb/gK/2/5C5 + 9/96q/b/ear2/3iq9f9IdcL/Qm67TwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAQm67X1aDz/+Esvj/hLL4/4Wz+f+Fs/n/hrP5/4a0+f+GtPn/h7T5/4e0+f+Itfn/iLX5/4i1 + +f+Jtfn/ibb6/4m2+v+Jtvr/irb6/4q2+v+Ktvr/irf6/4u3+v+Lt/r/i7f6/4u3+v+Lt/r/i7f6/4u3 + +v+Lt/r/i7f6/4u3+v+Lt/r/i7f6/4u3+v+Lt/r/i7f6/4u3+v+Lt/r/i7f6/4q3+v+Ktvr/irb6/4q2 + +v+Jtvr/ibb6/4m2+v+Jtfr/iLX5/4i1+f+Itfn/h7T5/4e0+f+HtPn/hrT5/4az+f+Fs/n/hbP5/4Sy + +P+Esvj/g7L4/4Ox+P+Csfj/grH4/4Gw+P+BsPj/gK/3/4Cv9/9/r/f/f673/36u9/99rff/fa32/3ys + 9v+Ltvb/fq72/3qr9v95qvb/YZDd/zFSi78AAAAfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAEJuu59nlN7/hbP5/4Wz+f+Gs/n/hrT5/4e0+f+HtPn/iLX5/4i1+f+Itfn/ibX6/4m2 + +v+Jtvr/irb6/4q2+v+Ktvr/i7f6/4u3+v+Lt/r/i7f6/4u3+v+Mt/r/jLj6/4y4+v+MuPr/jLj6/4y4 + +v+MuPr/jLj6/4y4+v+MuPr/jLj6/4y4+v+MuPr/jLj6/4y4+v+MuPr/jLj6/4y3+v+Lt/r/i7f6/4u3 + +v+Lt/r/i7f6/4q3+v+Ktvr/irb6/4m2+v+Jtvr/ibX6/4i1+f+Itfn/iLX5/4e0+f+HtPn/hrT5/4az + +f+Fs/n/hbP5/4Wy+P+Esvj/g7L4/4Ox+P+Csfj/grD4/4Gw+P+BsPf/gK/3/3+v9/9/rvf/fq73/36u + 9/99rff/g7H2/4Cv9v97rPb/eqv2/3an8v8RGi3/AAAA/wAAAJ8AAAAPAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAABCbrvfeabt/4az+f+GtPn/h7T5/4e0+f+Itfn/iLX5/4m1+f+Jtvr/ibb6/4q2 + +v+Ktvr/irf6/4u3+v+Lt/r/i7f6/4y3+v+MuPr/jLj6/4y4+v+NuPr/jbj6/424+/+NuPv/jbj7/425 + +/+Nufv/jbn7/425+/+Nufv/jbn7/425+/+Nufv/jbn7/425+/+Nufv/jbj7/424+/+NuPr/jbj6/4y4 + +v+MuPr/jLj6/4y3+v+Lt/r/i7f6/4u3+v+Lt/r/irb6/4q2+v+Ktvr/ibb6/4m1+v+Itfn/iLX5/4e0 + +f+HtPn/h7T5/4a0+f+Gs/n/hbP5/4Sy+P+Esvj/g7L4/4Ox+P+Csfj/grD4/4Gw+P+AsPf/gK/3/3+v + 9/9+rvf/fq73/32t9/99rfb/fKz2/3us9v96q/b/OleF/wAAAP8AAAD/AAAA7wAAAE8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAABCbrsPQm67/4a0+f+HtPn/h7T5/4i1+f+Itfn/ibX6/4m2+v+Ktvr/irb6/4q3 + +v+Lt/r/i7f6/4y3+v+MuPr/jLj6/424+v+NuPr/jbj7/425+/+Nufv/jrn7/465+/+Oufv/jrn7/465 + +/+Oufv/j7r7/4+6+/+Puvv/j7r7/4+6+/+Puvv/j7r7/4+6+/+Oufv/jrn7/465+/+Oufv/jrn7/465 + +/+Oufv/jbn7/424+/+NuPr/jbj6/4y4+v+MuPr/jLf6/4u3+v+Lt/r/i7f6/4q2+v+Ktvr/ibb6/4m2 + +v+Itfn/iLX5/4i1+f+HtPn/h7T5/4az+f+Fs/n/hbP5/4Sy+P+Esvj/g7H4/4Ox+P+Csfj/gbD4/4Gw + 9/+Ar/f/f6/3/3+u9/9+rvf/fa33/32t9v98rPb/e6z2/2yc5/8RGi3/AQEB/wICAv8AAAD/AAAArwAA + AA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAQm67P1N/zP+HtPn/iLX5/4i1+f+Jtfr/ibb6/4q2+v+Ktvr/i7f6/4u3 + +v+Mt/r/jLj6/4y4+v+NuPr/jbj7/425+/+Oufv/jrn7/465+/+Oufv/j7r7/4+6+/+Puvv/j7r7/4+6 + +/+Puvv/kLr7/5C6+/+Quvv/kLr7/5C6+/+Quvv/kLr7/5C6+/+Quvv/kLr7/4+6+/+Puvv/j7r7/4+6 + +/+Puvv/j7r7/465+/+Oufv/jrn7/465+/+Nufv/jbj7/424+v+MuPr/jLj6/4y3+v+Lt/r/i7f6/4q3 + +v+Ktvr/irb6/4m2+v+Jtfn/iLX5/4i1+f+HtPn/hrT5/4az+f+Fs/n/hbP4/4Sy+P+Esvj/g7H4/4Kx + +P+CsPj/gbD4/4Cv9/+Ar/f/f6/3/36u9/9+rvf/fa33/3yt9v97rPb/R2+x/wUHDP8DAwP/AwMD/wAA + AP8AAADPAAAALwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAEJuu39gjdf/iLX5/4m1+v+Jtvr/irb6/4q3+v+Lt/r/i7f6/4y3 + +v+MuPr/jbj6/424+/+Nufv/jrn7/465+/+Oufv/j7r7/4+6+/+Puvv/j7r7/5C6+/+Qu/v/kLv7/5C7 + +/+Qu/v/kbv7/5G7+/+Ru/v/kbv8/5G7/P+Ru/z/kbv8/5G7/P+Ru/z/kbv7/5G7+/+Ru/v/kbv7/5C7 + +/+Qu/v/kLv7/5C6+/+Quvv/j7r7/4+6+/+Puvv/jrn7/465+/+Oufv/jbn7/424+/+NuPr/jLj6/4y4 + +v+Lt/r/i7f6/4u3+v+Ktvr/irb6/4m2+v+Jtfn/iLX5/4e0+f+HtPn/hrT5/4az+f+Fs/n/hLL4/4Sy + +P+Dsfj/g7H4/4Kx+P+BsPj/gbD3/4Cv9/9/r/f/fq73/36u9/99rff/fK32/3Sk7v8nQGv/AQEB/wUF + Bf8DAwP/AQEB/wAAAO8AAAA/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABCbruvapbf/4m2+v+Ktvr/irf6/4u3+v+Lt/r/jLj6/4y4 + +v+NuPr/jbn7/465+/+Oufv/jrn7/4+6+/+Puvv/j7r7/5C6+/+Qu/v/kLv7/5G7+/+Ru/z/kbv8/5G7 + /P+RvPz/krz8/5K8/P+SvPz/krz8/5K8/P+SvPz/krz8/5K8/P+SvPz/krz8/5K8/P+SvPz/krz8/5K8 + /P+RvPz/kbv8/5G7/P+Ru/z/kbv7/5C7+/+Qu/v/kLr7/5C6+/+Puvv/j7r7/4+6+/+Oufv/jrn7/425 + +/+NuPv/jbj6/4y4+v+Mt/r/i7f6/4u3+v+Ktvr/irb6/4m2+v+Itfn/iLX5/4e0+f+HtPn/hrT5/4Wz + +f+Fs/n/hLL4/4Oy+P+Dsfj/grH4/4Gw+P+BsPf/gK/3/3+v9/9/rvf/fq73/4Cv9/99rfb/aZnk/xMh + Of8DAwP/BQUF/wQEBP8CAgL/AAAA/wAAAF8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQm67z3ik6v+Ktvr/i7f6/4u3+v+MuPr/jLj6/424 + +/+Nufv/jrn7/465+/+Puvv/j7r7/5C6+/+Quvv/kLv7/5G7+/+Ru/z/kbv8/5G8/P+SvPz/krz8/5K8 + /P+SvPz/k7z8/5O8/P+Tvfz/k738/5O9/P+Tvfz/k738/5O9/P+Tvfz/k738/5O9/P+Tvfz/k738/5O9 + /P+TvPz/k7z8/5K8/P+SvPz/krz8/5K8/P+SvPz/kbv8/5G7/P+Ru/v/kLv7/5C7+/+Quvv/j7r7/4+6 + +/+Oufv/jrn7/465+/+NuPv/jbj6/4y4+v+Mt/r/i7f6/4u3+v+Ktvr/ibb6/4m1+v+Itfn/iLX5/4e0 + +f+GtPn/hrP5/4Wz+f+Esvj/hLL4/4Ox+P+Csfj/grD4/4Gw+P+Ar/f/f6/3/3+u9/+Br/f/iLT3/32t + 9v9eitH/BAcM/wQEBP8GBgb/BQUF/wICAv8AAAD/AAAAXwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEJuu/+Lt/r/i7f6/4y4+v+MuPr/jbj7/425 + +/+Oufv/jrn7/4+6+/+Puvv/kLr7/5C7+/+Ru/v/kbv8/5G7/P+SvPz/krz8/5K8/P+TvPz/k7z8/5O9 + /P+Tvfz/k738/5S9/P+Uvfz/lL38/5S9/P+Uvfz/lL38/5S+/P+Uvvz/lL78/5S+/P+Uvvz/lL38/5S9 + /P+Uvfz/lL38/5S9/P+Uvfz/k738/5O9/P+Tvfz/k7z8/5K8/P+SvPz/krz8/5G8/P+Ru/z/kbv7/5C7 + +/+Quvv/j7r7/4+6+/+Puvv/jrn7/465+/+NuPv/jbj6/4y4+v+Mt/r/i7f6/4q3+v+Ktvr/ibb6/4m1 + +f+Itfn/h7T5/4e0+f+Gs/n/hbP5/4Wz+P+Esvj/g7H4/4Kx+P+CsPj/gbD4/4Cv9/+Ar/f/f673/4ez + 9/+Ktff/fK32/0Zpof8AAAD/BQUF/wYGBv8FBQX/AwMD/wAAAP8AAABfAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEJuux9Gcr7/jLf6/4y4+v+NuPr/jbn7/465 + +/+Pufv/j7r7/4+6+/+Quvv/kLv7/5G7+/+Ru/z/krz8/5K8/P+SvPz/k7z8/5O9/P+Tvfz/lL38/5S9 + /P+Uvfz/lL78/5W+/P+Vvvz/lb79/5W+/f+Vvv3/lb79/5W+/f+Vvv3/lb79/5W+/f+Vvv3/lb79/5W+ + /f+Vvv3/lb79/5W+/f+Vvv3/lb78/5W+/P+Uvfz/lL38/5S9/P+Tvfz/k738/5O9/P+TvPz/krz8/5K8 + /P+Ru/z/kbv8/5G7+/+Qu/v/kLr7/4+6+/+Puvv/jrn7/465+/+NuPv/jbj6/4y4+v+Lt/r/i7f6/4q2 + +v+Ktvr/ibX6/4i1+f+Itfn/h7T5/4a0+f+Fs/n/hbP5/4Sy+P+Dsvj/g7H4/4Kw+P+BsPj/gK/3/4Cv + 9/+Ar/f/jbf3/4m19/98rfb/MUZm/wICAv8GBgb/BgYG/wYGBv8DAwP/AAAA/wAAAF8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABCbrs/VIDM/424+v+Nufv/jrn7/465 + +/+Puvv/kLr7/5C7+/+Ru/v/kbv8/5G8/P+SvPz/krz8/5O8/P+Tvfz/k738/5S9/P+Uvfz/lb78/5W+ + /P+Vvv3/lb79/5a+/f+Wv/3/lr/9/5a//f+Wv/3/lr/9/5e//f+Xv/3/l7/9/5e//f+Xv/3/l7/9/5e/ + /f+Xv/3/lr/9/5a//f+Wv/3/lr/9/5a//f+Wvv3/lb79/5W+/f+Vvv3/lb78/5S9/P+Uvfz/lL38/5O9 + /P+TvPz/krz8/5K8/P+SvPz/kbv8/5G7+/+Qu/v/kLr7/4+6+/+Puvv/jrn7/425+/+NuPr/jLj6/4y3 + +v+Lt/r/irf6/4q2+v+Jtvr/iLX5/4i1+f+HtPn/hrT5/4az+f+Fs/n/hLL4/4Oy+P+Dsfj/grH4/4Gw + +P+Ar/f/gK/3/4Sy9/+Ruvj/iLT3/3Si5/8PExz/AwMD/wcHB/8GBgb/BgYG/wMDA/8AAADvAAAALwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQm67b16K1P+Oufv/jrn7/4+6 + +/+Puvv/kLr7/5G7+/+Ru/z/krz8/5K8/P+TvPz/k738/5O9/P+Uvfz/lL38/5W+/P+Vvv3/lb79/5a+ + /f+Wv/3/lr/9/5e//f+Xv/3/l7/9/5fA/f+XwP3/mMD9/5jA/f+YwP3/mMD9/5jA/f+YwP3/mMD9/5jA + /f+YwP3/mMD9/5jA/f+YwP3/l8D9/5fA/f+Xv/3/l7/9/5e//f+Wv/3/lr/9/5a+/f+Vvv3/lb79/5W+ + /P+Uvfz/lL38/5S9/P+Tvfz/k7z8/5K8/P+SvPz/kbv8/5G7+/+Qu/v/kLr7/4+6+/+Oufv/jrn7/424 + +/+NuPr/jLj6/4u3+v+Lt/r/irb6/4m2+v+Jtfn/iLX5/4e0+f+HtPn/hrP5/4Wz+f+Esvj/hLL4/4Ox + +P+Csfj/gbD4/4Cv9/+Ar/f/jLf3/5W8+P+Fsvf/ZYzI/wAAAP8GBgb/BwcH/wYGBv8GBgb/AwMD/wAA + AO8AAAAfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEJuu39ok9z/j7r7/4+6 + +/+Quvv/kLv7/5G7/P+SvPz/krz8/5O8/P+Tvfz/lL38/5S9/P+Uvvz/lb78/5W+/f+Wvv3/lr/9/5a/ + /f+Xv/3/l7/9/5fA/f+YwP3/mMD9/5jA/f+YwP3/mMD9/5nB/f+Zwf3/mcH9/5nB/v+Zwf7/mcH+/5nB + /v+Zwf7/mcH+/5nB/f+Zwf3/mcH9/5jA/f+YwP3/mMD9/5jA/f+YwP3/l8D9/5fA/f+Xv/3/l7/9/5a/ + /f+Wvv3/lb79/5W+/f+Vvvz/lL38/5S9/P+Tvfz/k7z8/5K8/P+SvPz/kbv8/5G7+/+Qu/v/j7r7/4+6 + +/+Oufv/jrn7/424+/+MuPr/jLf6/4u3+v+Ktvr/irb6/4m1+v+Itfn/h7T5/4e0+f+Gs/n/hbP5/4Sy + +P+Esvj/g7H4/4Kx+P+BsPj/gK/3/4Kw9/+UvPf/lr34/4Cv9/89VXn/AQEB/wcHB/8HBwf/BwcH/wYG + Bv8BAQH/AAAAzwAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABCbrufbZjf/5C6 + +/+Qu/v/kbv7/5G7/P+SvPz/k7z8/5O9/P+Uvfz/lL38/5W+/P+Vvv3/lb79/5a//f+Wv/3/l7/9/5fA + /f+YwP3/mMD9/5jA/f+YwP3/mcH9/5nB/v+Zwf7/mcH+/5rB/v+awf7/msH+/5rB/v+awv7/msL+/5rC + /v+awv7/msL+/5rC/v+awf7/msH+/5rB/v+awf7/mcH+/5nB/v+Zwf7/mcH9/5nA/f+YwP3/mMD9/5jA + /f+XwP3/l7/9/5e//f+Wv/3/lr79/5W+/f+Vvvz/lL38/5S9/P+Tvfz/k7z8/5K8/P+SvPz/kbv8/5C7 + +/+Quvv/j7r7/4+5+/+Oufv/jbj7/424+v+MuPr/i7f6/4q3+v+Ktvr/ibb6/4i1+f+HtPn/h7T5/4az + +f+Fs/n/hLL4/4Sy+P+Dsfj/grH4/4Gw+P+Ar/f/i7b3/5m++P+WvPj/daLn/w8THP8DAwP/CAgI/wcH + B/8HBwf/BgYG/wEBAf8AAACPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQm67v3yn + 6/+Ru/v/kbv8/5K8/P+SvPz/k738/5S9/P+Uvfz/lb78/5W+/f+Wvv3/lr/9/5e//f+Xv/3/l8D9/5jA + /f+YwP3/mcH9/5nB/v+Zwf7/msH+/5rB/v+awv7/msL+/5vC/v+bwv7/m8L+/5vC/v+bwv7/m8L+/5vC + /v+bwv7/m8L+/5vC/v+bwv7/m8L+/5vC/v+bwv7/m8L+/5vC/v+awv7/msL+/5rB/v+awf7/mcH+/5nB + /v+Zwf3/mMD9/5jA/f+YwP3/l8D9/5e//f+Wv/3/lr79/5W+/f+Vvvz/lL38/5S9/P+Tvfz/k7z8/5K8 + /P+Ru/z/kbv7/5C7+/+Puvv/j7r7/465+/+Nufv/jbj6/4y4+v+Lt/r/i7f6/4q2+v+Jtvr/iLX5/4i1 + +f+HtPn/hrP5/4Wz+f+Esvj/hLL4/4Ox+P+Csfj/gbD4/4Kw9/+Xvvj/nMD5/424+P9dgbf/AAAA/wUF + Bf8ICAj/BwcH/wcHB/8GBgb/AAAA/wAAAE8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEJu + u799qOz/kbz8/5K8/P+TvPz/k738/5S9/P+Vvvz/lb79/5a+/f+Wv/3/l7/9/5fA/f+YwP3/mMD9/5nA + /f+Zwf3/mcH+/5rB/v+awv7/msL+/5vC/v+bwv7/m8L+/5vC/v+cw/7/nMP+/5zD/v+cw/7/nMP+/5zD + /v+cw/7/nMP+/5zD/v+cw/7/nMP+/5zD/v+cw/7/nMP+/5zD/v+cw/7/nMP+/5vC/v+bwv7/m8L+/5rC + /v+awv7/msH+/5nB/v+Zwf7/mcH9/5jA/f+YwP3/l8D9/5e//f+Wv/3/lr79/5W+/f+Vvvz/lL38/5S9 + /P+TvPz/krz8/5K8/P+Ru/z/kLv7/5C6+/+Puvv/jrn7/465+/+NuPr/jLj6/4u3+v+Lt/r/irb6/4m2 + +v+Itfn/iLX5/4e0+f+Gs/n/hbP5/4Sy+P+Dsvj/g7H4/4Kw+P+BsPj/jbf4/5zB+f+fwvn/grD3/yU0 + S/8BAQH/CAgI/wgICP8ICAj/BwcH/wQEBP8AAADvAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AABCbrv/jbf4/5K8/P+Tvfz/lL38/5S9/P+Vvvz/lb79/5a//f+Xv/3/l8D9/5jA/f+YwP3/mcH9/5nB + /v+awf7/msH+/5rC/v+bwv7/m8L+/5vC/v+cw/7/nMP+/5zD/v+dw/7/ncP+/53E//+dxP//ncT//53E + //+exP//nsT//57E//+exP//nsT//57E//+dxP//ncT//53E//+dxP//ncP+/53D/v+cw/7/nMP+/5zD + /v+cw/7/m8L+/5vC/v+bwv7/msL+/5rB/v+Zwf7/mcH9/5jA/f+YwP3/l8D9/5e//f+Wv/3/lr79/5W+ + /f+Vvvz/lL38/5O9/P+TvPz/krz8/5G7/P+Ru/v/kLr7/4+6+/+Pufv/jrn7/424+/+MuPr/jLf6/4u3 + +v+Ktvr/ibb6/4i1+f+Itfn/h7T5/4az+f+Fs/n/hLL4/4Oy+P+Dsfj/grD4/4Kx+P+dwfn/n8P5/5m+ + +P9tl9j/AAAA/wQEBP8ICAj/CAgI/wgICP8HBwf/AgIC/wAAAJ8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAQm67/5O8/P+Tvfz/lL38/5W+/P+Vvv3/lr/9/5e//f+Xv/3/mMD9/5jA/f+Zwf3/mcH+/5rB + /v+awv7/m8L+/5vC/v+bwv7/nMP+/5zD/v+dw/7/ncP+/53E//+dxP//nsT//57E//+exP//nsT//57H + //+ex///n8f//5/H//+fx///n8f//5/H//+fx///n8f//57H//+exP//nsT//57E//+exP//nsT//53E + //+dxP//ncP+/5zD/v+cw/7/nMP+/5vC/v+bwv7/msL+/5rB/v+Zwf7/mcH9/5jA/f+YwP3/l8D9/5e/ + /f+Wv/3/lb79/5W+/P+Uvfz/lL38/5O8/P+SvPz/krz8/5G7+/+Qu/v/j7r7/4+6+/+Oufv/jbj7/4y4 + +v+Mt/r/i7f6/4q2+v+Jtvr/iLX5/4i1+f+HtPn/hrP5/4Wz+f+Esvj/g7H4/4Kx+P+CsPj/k7v5/6DD + +f+ixPn/iLT3/y5AWv8BAQH/BgYG/wkJCf8ICAj/CAgI/wcHB/8AAAD/AAAAPwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAEJuu/+Uvfz/lL38/5W+/P+Wvv3/lr/9/5e//f+YwP3/mMD9/5nB/f+Zwf7/msH+/5rC + /v+bwv7/m8L+/5zD/v+cw/7/ncP+/53D/v+dxP//nsT//57E//+exP//nsf//5/H//+fx///n8f//5/H + //+fx///oMf//6DH//+gx///oMf//6DH//+gx///oMf//6DH//+fx///n8f//5/H//+fx///n8f//5/H + //+exP//nsT//57E//+dxP//ncT//53D/v+cw/7/nMP+/5vC/v+bwv7/msL+/5rB/v+Zwf7/mcH9/5jA + /f+YwP3/l7/9/5a//f+Wvv3/lb79/5S+/P+Uvfz/k738/5K8/P+SvPz/kbv8/5C7+/+Puvv/j7r7/465 + +/+NuPv/jLj6/4y3+v+Lt/r/irb6/4m2+v+Itfn/h7T5/4e0+f+Gs/n/hbP5/4Sy+P+Dsfj/grH4/4u2 + +P+gxPn/o8f5/5m/+P9umNj/AAAA/wMDA/8ICAj/CQkJ/wgICP8ICAj/BAQE/wAAAL8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAEJuuw9Cbrv/lb78/5W+/f+Wv/3/l7/9/5fA/f+YwP3/mMD9/5nB/v+awf7/msL+/5vC + /v+bwv7/nMP+/5zD/v+dw/7/ncT//57E//+exP//nsT//5/H//+fx///n8f//5/H//+gx///oMj//6DI + //+gyP//oMj//6HI//+hyP//ocj//6HI//+hyP//ocj//6HI//+hyP//ocj//6DI//+gyP//oMj//6DH + //+gx///n8f//5/H//+fx///nsf//57E//+exP//ncT//53D/v+cw/7/nMP+/5vC/v+bwv7/msL+/5rB + /v+Zwf7/mcH9/5jA/f+XwP3/l7/9/5a//f+Vvv3/lb78/5S9/P+Tvfz/k7z8/5K8/P+Ru/z/kLv7/5C6 + +/+Puvv/jrn7/424+/+MuPr/jLf6/4u3+v+Ktvr/ibb6/4i1+f+HtPn/hrT5/4az+f+Fs/j/hLL4/4Ox + +P+Csfj/n8P5/6TH+f+myfn/g7H3/yY1S/8BAQH/BQUF/wkJCf8JCQn/CAgI/wgICP8BAQH/AAAAPwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAABCbrs/VoLN/5W+/f+Wv/3/l7/9/5jA/f+YwP3/mcH9/5nB/v+awf7/m8L+/5vC + /v+cw/7/nMP+/53D/v+dxP//nsT//57E//+fx///n8f//5/H//+gx///oMj//6DI//+hyP//ocj//6HI + //+hyP//osj//6LI//+iyP//osn//6LJ//+iyf//osn//6LJ//+iyf//osj//6LI//+iyP//ocj//6HI + //+hyP//ocj//6DI//+gyP//oMf//5/H//+fx///n8f//57E//+exP//ncT//53D/v+cw/7/nMP+/5vC + /v+bwv7/msL+/5rB/v+Zwf3/mMD9/5jA/f+Xv/3/lr/9/5a+/f+Vvvz/lL38/5O9/P+TvPz/krz8/5G7 + /P+Qu/v/kLr7/4+6+/+Oufv/jbj7/4y4+v+Lt/r/i7f6/4q2+v+Jtfr/iLX5/4e0+f+GtPn/hbP5/4Sy + +P+Esvj/g7H4/5i++f+kyPr/psn5/4649/9ObJj/AAAA/wMDA/8ICAj/CQkJ/wkJCf8ICAj/BQUF/wAA + AL8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAQm67P1eCzf+Wv/3/l7/9/5jA/f+YwP3/mcH+/5rB/v+awv7/m8L+/5zD + /v+cw/7/ncP+/53E//+exP//nsT//5/H//+fx///oMf//6DI//+gyP//ocj//6HI//+hyP//osj//6LJ + //+iyf//osn//6PJ//+jyf//o8n//6PJ//+jyf//o8n//6PJ//+jyf//o8n//6PJ//+jyf//o8n//6LJ + //+iyf//osn//6LI//+iyP//ocj//6HI//+gyP//oMj//6DH//+fx///n8f//57H//+exP//ncT//53D + /v+cw/7/nMP+/5vC/v+bwv7/msH+/5nB/v+ZwP3/mMD9/5fA/f+Xv/3/lr79/5W+/f+Uvfz/lL38/5O8 + /P+SvPz/kbv8/5C7+/+Quvv/j7r7/465+/+NuPv/jLj6/4u3+v+Kt/r/irb6/4m1+f+Itfn/h7T5/4a0 + +f+Fs/n/hLL4/4Oy+P+Tu/n/pMj6/6fJ+f+av/j/d6Pn/wAAAP8DAwP/BAQE/woKCv8JCQn/CQkJ/wkJ + Cf8BAQH/AAAAPwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAEJuuz9Xgs3/l7/9/5jA/f+ZwP3/mcH+/5rB/v+bwv7/m8L+/5zD + /v+dw/7/ncT//57E//+exP//n8f//5/H//+gx///oMj//6HI//+hyP//ocj//6LI//+iyf//osn//6PJ + //+jyf//o8n//6PJ//+kyv//pMr//6TK//+kyv//pMr//6TK//+kyv//pMr//6TK//+kyv//pMr//6TK + //+jyf//o8n//6PJ//+jyf//o8n//6LJ//+iyf//osj//6HI//+hyP//oMj//6DH//+fx///n8f//57H + //+exP//ncT//53D/v+cw/7/nML+/5vC/v+awv7/msH+/5nB/f+YwP3/l8D9/5e//f+Wvv3/lb79/5S9 + /P+Uvfz/k7z8/5K8/P+Ru/z/kLv7/4+6+/+Puvv/jrn7/424+v+MuPr/i7f6/4q2+v+Jtvr/ibX5/4i1 + +f+HtPn/hrP5/4Wz+f+Esvj/i7b4/6XI+v+nyvr/n8L5/3+v9/8QFBz/AgIC/wMDA/8JCQn/CgoK/wkJ + Cf8JCQn/BAQE/wAAAJ8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABCbrs/V4LN/5jA/f+Zwf3/msH+/5rC/v+bwv7/nMP+/5zD + /v+dw/7/nsT//57E//+fx///n8f//6DH//+gyP//ocj//6HI//+iyP//osn//6LJ//+jyf//o8n//6PJ + //+kyv//pMr//6TK//+kyv//pcr//6XK//+lyv//pcr//6XK//+lyv//pcr//6XK//+lyv//pcr//6XK + //+lyv//pMr//6TK//+kyv//pMr//6TK//+jyf//o8n//6PJ//+iyf//osj//6HI//+hyP//oMj//6DH + //+fx///n8f//57E//+exP//ncT//5zD/v+cw/7/m8L+/5rC/v+awf7/mcH9/5jA/f+YwP3/l7/9/5a/ + /f+Vvv3/lL38/5S9/P+TvPz/krz8/5G7/P+Qu/v/j7r7/4+5+/+Oufv/jbj6/4y4+v+Lt/r/irb6/4m2 + +v+Itfn/h7T5/4a0+f+Gs/n/hbP4/4i0+P+lyfr/qMr6/6rL+v+Ar/f/Hio7/wICAv8DAwP/BgYG/woK + Cv8KCgr/CQkJ/wgICP8AAAD/AAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQm67P1eCzf+Zwf3/msH+/5rC/v+bwv7/nMP+/53D + /v+dxP//nsT//57H//+fx///oMf//6DI//+hyP//ocj//6LI//+iyf//o8n//6PJ//+jyf//pMr//6TK + //+kyv//pcr//6XK//+lyv//pcv//6bL//+my///psv//6bL//+my///psv//6bL//+my///psv//6bL + //+my///psv//6bL//+lyv//pcr//6XK//+lyv//pMr//6TK//+kyf//o8n//6PJ//+iyf//osj//6HI + //+hyP//oMj//6DH//+fx///n8f//57E//+dxP//ncP+/5zD/v+bwv7/m8L+/5rB/v+Zwf7/mMD9/5jA + /f+Xv/3/lr/9/5W+/f+Uvfz/lL38/5O8/P+SvPz/kbv8/5C7+/+Puvv/jrn7/425+/+NuPr/jLf6/4u3 + +v+Ktvr/ibX6/4i1+f+HtPn/hrT5/4Wz+f+Esvj/psn6/6jK+v+rzPr/gLD3/yY1S/8BAQH/AwMD/wQE + BP8LCwv/CgoK/woKCv8JCQn/AwMD/wAAAF8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEJuuz9Xgs3/msH+/5vC/v+bwv7/nMP+/53D + /v+dxP//nsT//5/H//+fx///oMf//6DI//+hyP//osj//6LJ//+jyf//o8n//6TK//+kyv//pMr//6XK + //+lyv//pcv//6bL//+my///psv//6bL//+ny///p8v//6fL//+ny///p8v//6fM//+nzP//p8z//6fL + //+ny///p8v//6fL//+ny///psv//6bL//+my///psv//6XK//+lyv//pMr//6TK//+kyv//o8n//6PJ + //+iyf//osj//6HI//+hyP//oMj//5/H//+fx///nsT//57E//+dw/7/nMP+/5vC/v+bwv7/msH+/5nB + /v+YwP3/mMD9/5e//f+Wv/3/lb79/5S9/P+Tvfz/k7z8/5K8/P+Ru/v/kLr7/4+6+/+Oufv/jbj7/4y4 + +v+Lt/r/i7f6/4q2+v+Jtfn/iLX5/4e0+f+Gs/n/hbP5/6bJ+v+oyvr/q8z6/4Gw+P8/V3n/AQEB/wMD + A/8DAwP/CQkJ/wsLC/8KCgr/CgoK/wYGBv8AAACvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABCbrs/WIPN/5vC/v+bwv7/nMP+/53D + /v+exP//nsT//5/H//+gx///oMj//6HI//+hyP//osn//6PJ//+jyf//pMr//6TK//+lyv//pcr//6XK + //+my///psv//6bL//+ny///p8v//6fM//+nzP//qMz//6jM//+ozP//qMz//6jM//+ozP//qMz//6jM + //+ozP//qMz//6jM//+ozP//qMz//6fM//+ny///p8v//6fL//+my///psv//6XL//+lyv//pcr//6TK + //+kyv//o8n//6PJ//+iyf//osj//6HI//+gyP//oMf//5/H//+ex///nsT//53E//+cw/7/nML+/5vC + /v+awf7/mcH+/5jA/f+YwP3/l7/9/5a+/f+Vvv3/lL38/3eZzP+JsOz/krz8/5G7+/+Quvv/j7r7/465 + +/+NuPv/jLj6/4u3+v+Ktvr/ibb6/4i1+f+HtPn/hrT5/424+f+nyfr/qcv6/6zM+v+CsPj/N0tq/wEB + Af8DAwP/AwMD/wcHB/8LCwv/CwsL/woKCv8JCQn/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQm67P1iDzf+bwv7/nMP+/53D + /v+exP//nsT//5/H//+gx///oMj//6HI//+iyP//osn//6PJ//+jyf//pMr//6TK//+lyv//pcv//6bL + //+my///p8v//6fL//+nzP//qMz//6jM//+ozP//qcz//6nM//+pzf//qc3//6nN//+pzf//qc3//6nN + //+pzf//qc3//6nN//+pzf//qcz//6nM//+ozP//qMz//6jM//+ozP//p8v//6fL//+my///psv//6bL + //+lyv//pcr//6TK//+kyv//o8n//6PJ//+iyf//ocj//6HI//+gx///n8f//5/H//+exP//ncT//5zD + /v+cw/7/m8L+/5rB/v+Zwf7/mMD9/5jA/f+Xv/3/lr79/2+Ou/8AAAD/AAAA/1p0m/+Ru/z/kLv7/4+6 + +/+Pufv/jrn7/424+v+Mt/r/i7f6/4q2+v+Jtfr/iLX5/4e0+f+UvPn/p8r7/6rL+v+myfn/grH4/x8q + PP8CAgL/AwMD/wMDA/8FBQX/DAwM/wsLC/8LCwv/CgoK/wICAv8AAAA/AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEJuuz9Yg83/nMP+/53D + /v+exP//nsf//5/H//+gx///ocj//6HI//+iyf//o8n//6PJ//+kyv//pMr//6XK//+ly///psv//6bL + //+ny///p8z//6jM//+ozP//qMz//6nM//+pzf//qc3//6rN//+qzf//qs3//6rN//+qzf//qs3//6rN + //+qzf//qs3//6rN//+qzf//qs3//6rN//+qzf//qc3//6nN//+pzP//qMz//6jM//+ozP//p8z//6fL + //+ny///psv//6bL//+lyv//pcr//6TK//+jyf//o8n//6LJ//+iyP//ocj//6DI//+fx///n8f//57E + //+dxP//nMP+/5zD/v+bwv7/msH+/5nB/v+YwP3/l8D9/5e//f+Wvv3/AAAA/wICAv8JCw//ibDs/5G7 + /P+Qu/v/j7r7/465+/+Nufv/jLj6/4u3+v+Kt/r/ibb6/4m1+f+Itfn/n8P6/6fK+/+qzPr/osT5/4Ox + +P8WHyz/AgIC/wMDA/8DAwP/AwMD/wwMDP8MDAz/CwsL/wsLC/8FBQX/AAAAfwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABCbrs/WIPN/53D + /v+exP//n8f//5/H//+gyP//ocj//6HI//+iyf//o8n//6PJ//+kyv//pcr//6XK//+my///psv//6fL + //+nzP//qMz//6jM//+pzP//qc3//6nN//+qzf//qs3//6rN//+rzf//q87//6vO//+rzv//q87//6vO + //+rzv//q87//6vO//+rzv//q87//6vO//+rzv//q83//6rN//+qzf//qs3//6nN//+pzf//qcz//6jM + //+ozP//p8z//6fL//+my///psv//6XK//+lyv//pMr//6TK//+jyf//osn//6LI//+hyP//oMj//5/H + //+fx///nsT//53E//+cw/7/nML+/5vC/v+awf7/mcH9/5jA/f+XwP3/lr/9/xoiLf8CAgL/AAAA/0hd + fP+SvPz/kbv7/5C6+/+Puvv/jrn7/424+/+MuPr/i7f6/4q2+v+Jtvr/lLz5/6XJ+v+oyvv/qsz7/5i+ + +f+Dsfj/AAAA/wICAv8DAwP/AwMD/wMDA/8KCgr/DAwM/wwMDP8LCwv/BwcH/wAAAL8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQm67P1iD + zf+ozP//s9P//7TT//+z0///sNH//7DR//+x0v//rM///63P//+qzf//qc3//6XL//+my///p8v//6fL + //+ozP//qMz//6nM//+pzf//qs3//6rN//+qzf//q87//6vO//+rzv//rM7//6zO//+szv//rM7//6zO + //+szv//rM7//6zO//+szv//rM7//6zO//+szv//rM7//6zO//+rzv//q87//6vO//+qzf//qs3//6rN + //+pzf//qcz//6jM//+ozP//p8z//6fL//+my///psv//6XK//+kyv//pMr//6PJ//+iyf//osj//6HI + //+gyP//n8f//5/H//+exP//ncT//5zD/v+bwv7/m8L+/5rB/v+Zwf3/mMD9/5e//f8kLj3/AgIC/wIC + Av8JCw//ibDs/5G7/P+Qu/v/j7r7/465+/+Oufv/jbj6/4y3+v+Lt/r/k7v6/6TI+v+myfr/qMr7/6rM + +/+Mt/n/Wnmo/wAAAP8DAwP/AwMD/wMDA/8DAwP/CQkJ/w0NDf8MDAz/DAwM/woKCv8AAADvAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEJu + uz9Zg83/qcz//7TT//+01P//tdT//7XU//+11P//ttT//7fV//+31f//t9X//7jW//+41v//uNb//7XU + //+x0f//rs///6vO//+qzf//qs3//6vN//+rzv//q87//6zO//+szv//rM7//63P//+tz///rc///63P + //+tz///rc///63P//+tz///rc///63P//+tz///rc///63P//+tz///rM7//6zO//+szv//q87//6vO + //+rzf//qs3//6rN//+pzf//qcz//6jM//+ozP//p8v//6fL//+my///pcr//6XK//+kyv//o8n//6PJ + //+iyP//ocj//6DI//+fx///n8f//57E//+dw/7/nMP+/5vC/v+awv7/mcH+/5nA/f+YwP3/Sl58/wEB + Af8DAwP/AAAA/zVFXP+SvPz/k7z8/5O8+/+Ru/v/j7r7/424+/+Oufr/l776/6LH+/+kyPv/psn6/6nL + +/+myfr/hbP5/zBBW/8BAQH/AwMD/wMDA/8DAwP/AwMD/wcHB/8NDQ3/DQ0N/wwMDP8MDAz/AAAA/wAA + AA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AABCbrs/WYPN/6nN//+00///tdT//7XU//+11P//ttT//7fV//+31f//t9X//7jW//+51v//udb//7rX + //+61///utf//7vX//+71///udb//7XU//+x0f//rc7//6zO//+tz///rc///63P//+uz///rs///67P + //+u0P//rtD//67Q//+v0P//r9D//67Q//+u0P//rtD//67P//+uz///rs///63P//+tz///rc///6zO + //+szv//rM7//6vO//+rzf//qs3//6rN//+pzf//qcz//6jM//+nzP//p8v//6bL//+lyv//pcr//6TK + //+jyf//o8n//6LI//+hyP//oMj//5/H//+fx///nsT//53D/v+cw/7/m8L+/5rC/v+Zwf7/mMD9/0tf + fP8BAQH/AwMD/wICAv8AAAD/SF18/5O8/P+Wvvv/mL/7/5rB+/+cwfv/nsL7/6DE+/+ix/v/pMj7/6fJ + +/+py/v/krv5/3Wd2f8AAAD/AgIC/wMDA/8DAwP/AwMD/wMDA/8FBQX/Dg4O/w0NDf8NDQ3/DAwM/wMD + A/8AAAA/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAQm67P1N+yf+qzf//tNT//7XU//+11P//ttT//7fV//+31f//t9X//7jW//+51v//udf//7rX + //+61///utf//7vX//+71///u9j//7vY//+82P//vNj//73Y//+51f//tdP//7DR//+u0P//r9D//6/Q + //+v0P//r9D//6/Q//+w0P//sND//7DQ//+w0P//r9D//6/Q//+v0P//r9D//6/Q//+u0P//rs///67P + //+tz///rc///63P//+szv//rM7//6vO//+rzf//qs3//6nN//+pzP//qMz//6jM//+ny///psv//6XL + //+lyv//pMr//6PJ//+iyf//osj//6HI//+gyP//n8f//57E//+exP//ncP+/5zD/v+bwv7/msH+/5nB + /f9xj7v/AQEB/wMDA/8DAwP/AgIC/wAAAP8+UWz/krz8/5a/+/+awfv/nML7/57D/P+gxPv/osf7/6XI + +/+nyvv/ncH6/4e0+f8oNkv/AQEB/wMDA/8DAwP/AwMD/wMDA/8DAwP/BAQE/w4ODv8ODg7/DQ0N/w0N + Df8DAwP/AAAAbwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAABCbrv/qs7//7TU//+11P//ttT//7fV//+31f//t9X//7jW//+51v//udf//7rX + //+61///utf//7vX//+71///u9j//7zY//+82P//vdj//73Y//++2P//vtn//77Z//++2f//utb//7XU + //+w0P//sNH//7DR//+w0f//sdH//7HR//+x0f//sdH//7DR//+w0f//sNH//7DQ//+w0P//r9D//6/Q + //+v0P//rtD//67P//+uz///rc///63O//+szv//q87//6vO//+qzf//qs3//6nN//+ozP//qMz//6fL + //+my///pcv//6XK//+kyv//o8n//6LJ//+iyP//ocj//6DH//+fx///nsT//53E//+cw/7/m8L+/5rC + /v+awf7/cpC8/wEBAf8FBQX/BAQE/wQEBP8DAwP/AAAA/yw5TP+Hr+z/lL37/5rA+/+fw/z/ocT7/6PI + +/+jx/r/mL/6/4m1+f9UcJn/AAAA/wICAv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8PDw//Dg4O/w4O + Dv8NDQ3/BgYG/wAAAH8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAQm67/6vO//+11P//ttT//7fV//+31f//t9X//7jW//+51v//udf//7rX + //+61///utf//7vX//+72P//vNj//7zY//+92P//vdj//77Y//++2f//vtn//77Z//+/2f//v9n//7/a + ///A2v//v9n//7jV//+z0v//sdH//7LR//+y0f//stH//7LR//+y0f//sdH//7HR//+x0f//sdH//7DR + //+w0f//sND//6/Q//+v0P//rtD//67P//+tz///rc///6zO//+szv//q87//6rN//+qzf//qc3//6jM + //+ozP//p8v//6bL//+lyv//pcr//6TK//+jyf//osn//6HI//+gyP//oMf//5/H//+exP//ncP+/5zD + /v+bwv7/msL+/3yczv8AAAD/BgYG/wUFBf8FBQX/BAQE/wQEBP8BAQH/CQsP/1l0mv+Puvv/kLv7/5K8 + +/+Su/r/i7f6/4Gr6v87Tmv/AAAA/wICAv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/DQ0N/w8P + D/8ODg7/Dg4O/wcHB/8AAACvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAEJuu/+rzv//ttT//7bU//+21f//t9X//7jW//+51v//udf//7rX + //+61///u9f//7vX//+72P//vNj//7zY//+92P//vdj//77Y//++2f//vtn//7/Z//+/2v//wNr//8Da + ///A2v//wNr//8Db///A2v//wNr//7vX//+00///s9L//7PS//+z0v//s9L//7LS//+y0v//stL//7LR + //+x0f//sdH//7HR//+w0f//sND//6/Q//+v0P//rtD//67P//+tz///rc7//6zO//+rzv//q83//6rN + //+pzf//qMz//6jM//+ny///psv//6XK//+lyv//pMr//6PJ//+iyf//ocj//6DI//+fx///nsf//57E + //+dw/7/nMP+/5vC/v+awf7/AAAA/wcHB/8GBgb/BgYG/wUFBf8FBQX/BQUF/wMDA/8AAAD/EhUd/z1Q + a/9gfqr/aYm5/zxPa/8RFR3/AAAA/wICAv8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wwM + DP8PDw//Dw8P/w4ODv8JCQn/AAAAvwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABCbrv/p8v//7bU//+21f//t9X//7jW//+51v//udf//7rX + //+61///u9f//7vX//+72P//vNj//7zY//+92P//vtj//77Z//++2f//v9n//7/a///A2v//wNr//8Ha + ///A2///wNv//8Hb///B2///wdr//8Ha///C2///wtv//73Y//+21P//tNP//7TT//+z0v//s9L//7PS + //+z0v//stL//7LS//+y0f//sdH//7HR//+w0f//sND//6/Q//+v0P//rs///63P//+tz///rM7//6vO + //+rzf//qs3//6nN//+ozP//qMz//6fL//+my///pcr//6TK//+jyf//o8n//6LI//+hyP//oMf//5/H + //+exP//ncT//5zD/v+bwv7/msL+/wAAAP8ICAj/CAgI/wcHB/8HBwf/BgYG/wYGBv8FBQX/BQUF/wMD + A/8CAgL/AQEB/wAAAP8BAQH/AgIC/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8MDAz/Dw8P/w8PD/8ODg7/CgoK/wAAAL8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQm67/6HE+v+21f//t9X//7jW//+41v//udb//7nX + //+61///utf//7vX//+72P//vNj//73Y//+92P//vtj//77Z//++2f//v9n//7/a///A2v//wNr//8Hb + ///B2///wdv//8Hb///C2///wtv//8Lb///C2///w9v//8Pb///D2///wtr//7zX//+20///tdP//7TT + //+00///tNP//7PS//+z0v//s9L//7LS//+y0f//sdH//7HR//+w0P//r9D//6/Q//+uz///rc///63P + //+szv//q87//6vN//+qzf//qc3//6jM//+nzP//p8v//6bL//+lyv//pMr//6PJ//+iyf//ocj//6DI + //+gx///n8f//57E//+dw/7/nMP+/5vC/v8AAAD/CAgI/wkJCf8ICAj/CAgI/wcHB/8HBwf/BgYG/wYG + Bv8FBQX/BQUF/wQEBP8EBAT/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/CgoK/xAQEP8PDw//Dw8P/wsLC/8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEJuu7+QtO7/ttX//7fV//+41v//udb//7nX + //+61///utf//7rX//+72P//vNj//73Y//+92P//vdj//77Z//++2f//v9n//8Da///A2v//wdr//8Hb + ///B2///wdv//8Lb///C2///w9v//8Pb///D2///w9z//8Pc///D3P//w9z//8Pc///D3P//wdv//7rW + //+10///tdP//7XT//+00///tNP//7TT//+z0v//s9L//7LS//+x0f//sdH//7DR//+w0P//r9D//67P + //+uz///rc///6zO//+rzv//qs3//6rN//+pzP//qMz//6fL//+my///pcv//6XK//+kyv//o8n//6LJ + //+hyP//oMj//5/H//+exP//ncT//5zD/v+bwv7/GyIt/wcHB/8KCgr/CQkJ/wkJCf8ICAj/CAgI/wcH + B/8HBwf/BgYG/wYGBv8FBQX/BQUF/wQEBP8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/woKCv8QEBD/EBAQ/w8PD/8MDAz/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABCbru/kLTu/7fV//+41v//udb//7nW + //+51v//utf//7rX//+72P//vNj//7zY//+92P//vdj//77Z//++2f//v9r//8Da///A2v//wNv//8Hb + ///B2///wtv//8Lb///D2///w9v//8Tc///E3P//xNz//8Tc///E3P//xNz//8Tc///E3P//xNz//8Pc + ///D3P//v9n//7fU//+21P//ttP//7XT//+10///tNP//7PS//+z0v//stL//7LR//+x0f//sNH//7DQ + //+v0P//rs///63P//+tz///rM7//6vO//+qzf//qc3//6nM//+ozP//p8v//6bL//+lyv//pMr//6PJ + //+iyf//osj//6HI//+gx///n8f//57E//+dw/7/nMP+/yUvPf8ICAj/CwsL/woKCv8KCgr/CQkJ/wkJ + Cf8ICAj/CAgI/wcHB/8HBwf/BgYG/wYGBv8FBQX/BAQE/wQEBP8DAwP/AwMD/wMDA/8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8KCgr/ERER/xAQEP8QEBD/DQ0N/wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQm67v4yx7v+31v//uNb//7nW + //+51v//utf//7rX//+71///u9j//7zY//+92P//vdj//77Z//++2f//v9r//8Da///A2v//wNv//8Hb + ///C2///wtv//8Pb///D2///xNz//8Tc///E3P//xNz//8Td///E3f//xN3//8Td///E3f//xN3//8Td + ///E3f//xN3//8Pd///C3P//u9f//7bU//+21P//ttT//7XT//+00///tNP//7PS//+z0v//stH//7HR + //+w0f//sND//6/Q//+uz///rc///63O//+szv//q87//6rN//+pzf//qMz//6fM//+ny///psv//6XK + //+kyv//o8n//6LJ//+hyP//oMj//5/H//+exP//ncT//5zD/v8lLz3/CQkJ/wwMDP8MDAz/CwsL/wsL + C/8KCgr/CgoK/wkJCf8ICAj/CAgI/wcHB/8HBwf/BgYG/wUFBf8FBQX/BAQE/wQEBP8DAwP/AwMD/wMD + A/8DAwP/AwMD/wMDA/8DAwP/CgoK/xEREf8RERH/EBAQ/xAQEP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEJuu596oeL/uNb//7jW + //+51v//udb//7rX//+61///u9f//7zX//+92P//vdj//77Z//++2f//v9r//8Da///A2v//wNr//8Hb + ///C2///w9v//8Pb///E3P//xNz//8Tc///E3P//x93//8fd///H3f//x93//8fd///H3v//x97//8fd + ///H3f//x93//8fd///E3f//xN3//8Tc//++2f//t9T//7fU//+21P//tdP//7XT//+00///s9L//7PS + //+y0f//sdH//7DR//+w0P//r9D//67P//+tz///rM7//6vO//+rzf//qs3//6nM//+ozP//p8v//6bL + //+lyv//pMr//6PJ//+jyf//osj//6HI//+gx///n8f//57E//+dw/7/JS89/woKCv8NDQ3/DQ0N/wwM + DP8MDAz/CwsL/wsLC/8KCgr/CgoK/wkJCf8ICAj/CAgI/wcHB/8HBwf/BgYG/wUFBf8FBQX/BAQE/wMD + A/8DAwP/AwMD/wMDA/8DAwP/AwMD/woKCv8SEhL/ERER/xEREf8QEBD/AAAA/wAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABCbrt/dJve/7jW + //+41v//udb//7nX//+61///u9f//7zX//+92P//vdj//73Z//++2f//v9n//8Da///A2v//wNr//8Ha + ///C2///w9v//8Pb///E3P//xNz//8Tc///H3f//x93//8fd///H3v//x97//8je///I3v//yN7//8jd + ///I3f//yN3//8jd///I3f//x93//8fd///H3P//xNz//8La//+41f//t9T//7bU//+21P//tdP//7TT + //+z0v//s9L//7LR//+x0f//sNH//6/Q//+v0P//rs///63P//+szv//q87//6rN//+pzf//qMz//6jM + //+ny///psv//6XK//+kyv//o8n//6LJ//+hyP//oMj//5/H//+exP//ncT//yUvPf8LCwv/Dg4O/w4O + Dv8NDQ3/DQ0N/wwMDP8MDAz/CwsL/wsLC/8KCgr/CQkJ/wkJCf8ICAj/CAgI/wcHB/8GBgb/BgYG/wUF + Bf8EBAT/AwMD/wMDA/8DAwP/AwMD/wMDA/8LCwv/EhIS/xISEv8RERH/ERER/wAAAP8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQm67f3Sb + 3v+00///udb//7nW//+61///u9f//7vX//+81///vNj//73Y//++2f//v9n//8Da///A2v//wNr//8Ha + ///C2///w9v//8Pb///E3P//xNz//8Td///H3f//x93//8fe///I3v//yN7//8je///J3v//yd7//8ne + ///J3v//yd7//8ne///J3v//yN3//8jd///I3f//x93//8fd///H3P//w9v//7rW//+31P//ttT//7bU + //+10///tNP//7PS//+z0v//stH//7HR//+w0P//r9D//67Q//+tz///rc///6zO//+rzv//qs3//6nN + //+ozP//p8v//6bL//+lyv//pMr//6PJ//+iyf//ocj//6DI//+fx///nsf//53E//9DVG3/CAgI/w8P + D/8PDw//Dg4O/w4ODv8NDQ3/DQ0N/wwMDP8MDAz/CwsL/woKCv8KCgr/CQkJ/wkJCf8ICAj/BwcH/wcH + B/8GBgb/BQUF/wQEBP8EBAT/AwMD/wMDA/8DAwP/CwsL/xISEv8SEhL/ERER/xEREf8AAAD/AAAALwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEJu + u19hitH/tNP//7jW//+51///utf//7vX//+81///vNj//73Y//++2f//vtn//7/a//+/2v//wNr//8Ha + ///C2///w9v//8Pb///E3P//xNz//8fd///H3f//x93//8je///I3v//yd7//8ne///J3v//yt7//8re + ///K3v//yd7//8ne///J3v//yd7//8ne///I3v//yN7//8jd///H3f//x93//8Td///D3P//u9f//7fU + //+21P//ttT//7XT//+00///s9L//7LS//+x0f//sdH//7DQ//+v0P//rs///63P//+szv//q87//6rN + //+pzf//qMz//6jM//+ny///psv//6XK//+kyv//o8n//6LI//+hyP//oMf//5/H//+exP//TWF9/wgI + CP8QEBD/EBAQ/w8PD/8PDw//Dg4O/w4ODv8NDQ3/DQ0N/wwMDP8LCwv/CwsL/woKCv8KCgr/CQkJ/wgI + CP8ICAj/BwcH/wYGBv8FBQX/BQUF/wQEBP8DAwP/AwMD/wsLC/8TExP/EhIS/xISEv8RERH/AAAA/wAA + AD8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AABCbrs/W4XN/7LS//+51v//utb//7rW//+71///vNf//7zY//+92P//vtn//7/Z//+/2v//wNr//8Ha + ///C2v//wtv//8Pb///D3P//xNz//8Td///H3f//x97//8je///I3v//yd7//8ne///K3v//yt7//8rf + ///K3///yt///8re///K3v//yt7//8re///K3v//yd7//8ne///J3f//yN3//8jd///H3f//xN3//8Tc + //+81///t9T//7bU//+21P//tdP//7TT//+z0v//stL//7HR//+w0f//r9D//67Q//+uz///rc///6zO + //+rzv//qs3//6nN//+ozP//p8v//6bL//+lyv//pMr//6PJ//+iyf//ocj//6DI//+fx///nsT//05h + ff8JCQn/ERER/xEREf8RERH/EBAQ/w8PD/8PDw//Dg4O/w4ODv8NDQ3/DAwM/wwMDP8LCwv/CwsL/woK + Cv8JCQn/CAgI/wgICP8HBwf/BgYG/wYGBv8FBQX/BAQE/wMDA/8LCwv/ExMT/xMTE/8SEhL/EhIS/wAA + AP8AAAAfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAQm67P1V/yf+w0f//udb//7rW//+71///u9f//7zY//+92P//vtn//7/Z//+/2v//v9r//8Da + ///B2v//wtv//8Pb///D3P//xNz//8Td///E3f//x97//8je///J3v//yd7//8re///K3v//yt///8rf + ///L3///y9///8vf///L3///y9///8ve///L3v//y97//8re///K3v//yt3//8nd///I3f//yN3//8fc + ///E3P//xNz//7zX//+31P//ttT//7XT//+00///s9L//7PS//+y0f//sdH//7DQ//+v0P//rs///63P + //+szv//q87//6rN//+pzf//qMz//6fM//+my///pcv//6TK//+jyf//osn//6HI//+gyP//n8f//57H + //9OYX3/CQkJ/xMTE/8SEhL/EhIS/xEREf8RERH/EBAQ/w8PD/8PDw//Dg4O/w4ODv8NDQ3/DAwM/wwM + DP8LCwv/CgoK/woKCv8JCQn/CAgI/wcHB/8HBwf/BgYG/wUFBf8EBAT/DAwM/xMTE/8TExP/EhIS/xIS + Ev8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAABCbrv/rs///7nW//+61v//u9f//7vX//+82P//vdj//77Z//++2f//v9r//8Da + ///B2v//wtv//8Pb///D3P//w9z//8Tc///E3f//x93//8je///J3v//yd7//8re///K3v//yt///8vf + ///L3///zN///8zf///M3///zN///8zf///M3///zN///8zf///L3///y97//8re///K3v//yd3//8nd + ///I3P//x9z//8Tc///D3P//vNf//7fU//+21P//tdP//7TT//+z0v//stL//7HR//+w0f//r9D//67Q + //+tz///rM7//6zO//+rzf//qs3//6nM//+ozP//p8v//6bL//+lyv//pMr//6PJ//+iyP//ocj//6DH + //+fx///TmF9/woKCv8TExP/ExMT/xMTE/8SEhL/EhIS/xEREf8QEBD/EBAQ/w8PD/8PDw//Dg4O/w0N + Df8MDAz/DAwM/wsLC/8KCgr/CgoK/wkJCf8ICAj/CAgI/wcHB/8GBgb/BQUF/w0NDf8TExP/ExMT/xMT + E/8SEhL/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAQm67/63P//+61v//u9b//7vX//+82P//vdj//73Z//++2f//vtr//7/a + ///A2v//wdr//8Lb///C2///w9z//8Tc///E3f//x93//8jd///J3f//yd7//8re///K3///y9///8vf + ///M3///zN///83f///N3///zeD//83g///N4P//zOD//8zf///M3///zN///8zf///L3v//y97//8re + ///J3f//yd3//8jc///H3P//xNz//8Pb//+71///ttT//7bT//+10///tNL//7PS//+y0f//sdH//7DQ + //+v0P//rs///63P//+szv//q87//6rN//+pzf//qMz//6fL//+my///pcr//6TK//+jyf//osn//6HI + //+gyP//n8f//zpIXf8KCgr/ExMT/xMTE/8TExP/ExMT/xMTE/8SEhL/ERER/xEREf8QEBD/EBAQ/w8P + D/8ODg7/Dg4O/w0NDf8MDAz/CwsL/wsLC/8KCgr/CQkJ/wgICP8ICAj/BwcH/wYGBv8ODg7/FBQU/xMT + E/8TExP/ERER/wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAEJuu8+RtO7/utb//7rX//+71///vNj//73Y//++2f//vtn//7/Z + ///A2f//wdr//8Lb///C2///w9z//8Pc///E3f//xN3//8fd///I3f//yd7//8ne///K3///y9///8vf + ///M3///zd///83f///N4P//zeD//83g///N4P//zuD//83g///N4P//zeD//8zg///M3///y9///8vf + ///K3v//yt7//8nd///I3f//yNz//8fc///E2///w9v//7vW//+21P//tdP//7TT//+z0v//stL//7HR + //+w0f//r9D//67P//+tz///rM7//6vO//+qzf//qc3//6jM//+nzP//psv//6XK//+kyv//o8n//6LJ + //+hyP//oMj//5/H//8mLz3/ERER/xQUFP8TExP/ExMT/xMTE/8TExP/ExMT/xISEv8SEhL/ERER/xER + Ef8QEBD/Dw8P/w8PD/8ODg7/DQ0N/wwMDP8MDAz/CwsL/woKCv8JCQn/CQkJ/wgICP8HBwf/Dw8P/xUV + Ff8UFBT/ExMT/w8PD/8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABCbru/j7Pu/7rW//+61///u9f//7zY//+92P//vdn//77Z + //+/2f//wNr//8Ha///C2///wtv//8Pc///D3P//xN3//8fd///I3f//yd3//8ne///K3v//yt7//8vf + ///M3///zd///83g///N4P//zuD//87g///O4f//zuH//87h///O4f//zuH//83g///N4P//zeD//8zf + ///L3///yt///8re///J3v//yd3//8jd///H3P//xNz//8Pb///C2v//uNX//7XT//+00///s9L//7LS + //+x0f//sNH//6/Q//+u0P//rc///6zO//+rzv//qs3//6nN//+ozP//p8z//6bL//+ly///pMr//6PJ + //+iyf//ocj//6DI//+fx///HCMt/xEREf8VFRX/FBQU/xQUFP8TExP/ExMT/xMTE/8TExP/ExMT/xIS + Ev8SEhL/ERER/xAQEP8PDw//Dw8P/w4ODv8NDQ3/DAwM/wwMDP8LCwv/CgoK/wkJCf8JCQn/CAgI/xIS + Ev8WFhb/FRUV/xQUFP8QEBD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQm67j3ac3v+31f//utf//7vX//+82P//vdn//73Z + //++2f//v9n//8Da///B2v//wdv//8Lb///D3P//w93//8Td///H3f//yN3//8ne///J3v//yt7//8ve + ///M3///zd///83g///N4P//zuD//87h///P4f//z+H//8/h///P4f//zuH//87h///O4f//zeD//8zg + ///M4P//zN///8vf///K3v//yd7//8jd///I3f//x9z//8fc///E2///w9v//8Ha//+31P//tdP//7TT + //+z0v//stH//7HR//+w0P//r9D//67P//+tz///rM7//6vO//+qzf//qcz//6jM//+ny///psv//6XK + //+kyv//o8n//6LI//+gyP//n8f//wAAAP8XFxf/FhYW/xYWFv8VFRX/FBQU/xQUFP8TExP/ExMT/xMT + E/8TExP/ExMT/xISEv8RERH/EBAQ/xAQEP8PDw//Dg4O/w0NDf8NDQ3/DAwM/wsLC/8KCgr/CgoK/wkJ + Cf8TExP/FxcX/xYWFv8VFRX/ERER/wAAAO8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEJuu392nN7/tdT//7vX//+82P//vdj//73Z + //++2f//v9n//8DZ///B2v//wdv//8Lb///C3P//w9z//8Td///H3f//yN3//8jd///J3v//yt7//8ve + ///L3///zN///83g///N4P//zuD//8/h///P4f//z+L//8/i///Q4v//0OL//8/i///P4v//z+H//87h + ///N4f//zOD//8zg///L3///y9///8re///J3v//yN3//8fd///H3P//xNv//8Pb///C2v//v9j//7bT + //+00///s9L//7LS//+x0f//sND//6/Q//+uz///rc///6zO//+rzv//qs3//6nN//+ozP//p8v//6bL + //+lyv//pMr//6PJ//+iyP//ocj//3eUvf8EBAT/GBgY/xcXF/8WFhb/FhYW/xUVFf8VFRX/FBQU/xQU + FP8TExP/ExMT/xMTE/8TExP/EhIS/xEREf8RERH/EBAQ/w8PD/8ODg7/Dg4O/w0NDf8MDAz/CwsL/woK + Cv8KCgr/FRUV/xgYGP8XFxf/FhYW/xEREf8AAAC/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABCbrtPXIXN/7LS//+71///vNj//7zY + //+92f//vtn//7/Z///A2f//wNr//8Hb///C2///wtz//8Pc///E3f//x93//8jd///I3v//yd7//8re + ///L3v//zN///8zf///N4P//zuD//87h///O4f//z+L//9Di///Q4v//0eL//9Hi///Q4v//0OL//8/h + ///P4f//zuH//83g///M4P//y9///8vf///K3v//yd7//8jd///H3f//xNz//8Tc///D2///wtr//8Ha + //+81///tNP//7PS//+y0v//sdH//7DR//+v0P//rs///63P//+szv//q87//6rN//+pzf//qMz//6fL + //+my///pcr//6TK//+jyf//osn//6HI//9PYn3/DAwM/xkZGf8YGBj/GBgY/xcXF/8WFhb/FhYW/xUV + Ff8VFRX/FBQU/xMTE/8TExP/ExMT/xMTE/8SEhL/EhIS/xEREf8QEBD/Dw8P/w8PD/8ODg7/DQ0N/wwM + DP8LCwv/CgoK/xcXF/8ZGRn/GBgY/xcXF/8QEBD/AAAAvwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQm67P095w/+v0P//u9f//7zY + //+82P//vdj//77Y//+/2f//wNr//8Da///B2///wdv//8Lc///D3P//xNz//8fd///I3f//yN7//8ne + ///K3v//y97//8zf///M4P//zeD//87h///O4f//z+L//9Di///R4v//0eL//9Li///S4v//0eL//9Hi + ///Q4f//z+H//87h///N4f//zOD//8vg///K3///yt///8ne///J3f//yN3//8fc///E3P//w9v//8Lb + ///C2v//wNn//7nV//+z0v//stL//7HR//+w0f//r9D//67Q//+tz///rM7//6vO//+qzf//qc3//6jM + //+ny///psv//6XK//+kyv//o8n//6LJ//+hyP//HCMt/xMTE/8aGhr/GRkZ/xkZGf8YGBj/FxcX/xcX + F/8WFhb/FhYW/xUVFf8UFBT/FBQU/xMTE/8TExP/ExMT/xMTE/8SEhL/ERER/xAQEP8PDw//Dw8P/w4O + Dv8NDQ3/DAwM/wsLC/8cHBz/Ghoa/xkZGf8YGBj/DQ0N/wAAAK8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABCbrv/rs///7vX + //+72P//vNj//73Y//++2f//v9n//8Da///A2v//wdv//8Hb///C3P//w9z//8Tc///H3f//x93//8je + ///J3v//yt7//8vf///M3///zOD//83g///O4f//zuH//8/i///Q4v//0eL//9Li///T4///0uP//9Li + ///R4v//0eL//9Dh///P4f//zuD//83g///M4P//y9///8rf///J3v//yN7//8jd///H3P//xNz//8Pb + ///C2///wdr//8Ha//+/2f//tdP//7LS//+x0f//sNH//6/Q//+u0P//rc///6zO//+rzv//qs3//6nN + //+ozP//p8z//6bL//+lyv//pMr//6PJ//+iyf//ja3f/wAAAP8ZGRn/Gxsb/xoaGv8aGhr/GRkZ/xgY + GP8YGBj/FxcX/xYWFv8WFhb/FRUV/xQUFP8UFBT/ExMT/xMTE/8TExP/ExMT/xISEv8RERH/EBAQ/w8P + D/8PDw//Dg4O/w0NDf8MDAz/HR0d/xsbG/8aGhr/GRkZ/w0NDf8AAAB/AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQm6735e6 + 8v+71///u9j//7zX//+92P//vtn//7/Z//+/2v//wNr//8Db///B2///wtz//8Pc///E3P//x93//8jd + ///J3f//yt3//8ve///M3///zN///83g///N4P//zuH//8/i///Q4v//0eL//9Li///S4///0+P//9Pj + ///S4///0eL//9Hi///Q4f//z+H//87g///N4P//zOD//8vf///K3///yd7//8je///H3f//x9z//8Tc + ///D2///wtv//8Ha///B2v//wNn//73Y//+z0v//sdH//7DR//+v0P//rtD//63P//+szv//q87//6rN + //+pzf//qMz//6fM//+my///pcr//6TK//+jyf//osn//1pujf8LCwv/HBwc/xwcHP8bGxv/Gxsb/xoa + Gv8ZGRn/GRkZ/xgYGP8YGBj/FxcX/xYWFv8VFRX/FRUV/xQUFP8TExP/ExMT/xMTE/8TExP/EhIS/xER + Ef8QEBD/Dw8P/w8PD/8ODg7/ERER/x4eHv8cHBz/Gxsb/xkZGf8LCwv/AAAAfwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEJu + u7+Krur/t9X//7vX//+81///vdj//77Z//+/2f//v9r//8Da///A2///wdv//8Lb///D3P//xNz//8fd + ///I3f//yd3//8rd///L3v//zN///8zf///N4P//zeD//87h///P4v//0OL//9Hi///S4v//0uP//9Pj + ///T4///0uP//9Hi///Q4v//0OH//8/h///O4P//zeD//8zf///L3///yt///8ne///I3v//x93//8fc + ///E3P//w9v//8Lb///B2v//wNr//8DZ//++2f//uNX//7HR//+w0f//r9D//67Q//+tz///rM7//6vO + //+qzf//qc3//6jM//+nzP//psv//6XK//+kyv//o8n//6LJ//8TFx3/FBQU/x0dHf8dHR3/HBwc/xwc + HP8bGxv/Gxsb/xoaGv8ZGRn/GBgY/xgYGP8XFxf/FhYW/xYWFv8VFRX/FBQU/xMTE/8TExP/ExMT/xMT + E/8SEhL/ERER/xAQEP8PDw//Dw8P/xMTE/8fHx//Hh4e/xwcHP8bGxv/BwcH/wAAAE8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AABCbrt/dp3e/7TT//+71///vNf//73Y//++2f//vtn//7/a///A2v//wNv//8Hb///C2///w9z//8Tc + ///E3f//x93//8jd///J3f//yt7//8vf///L3///zOD//83g///N4f//zuH//8/h///Q4f//0eL//9Hi + ///S4///0uP//9Hj///R4v//0OL//8/h///P4f//zuD//83f///M3///y9///8rf///J3v//yN7//8fd + ///E3P//xNz//8Pb///C2///wdr//8Da//+/2f//vtj//73Y//+00///sNH//6/Q//+u0P//rc///6zO + //+rzv//qs3//6nN//+ozP//p8z//6bL//+lyv//pMr//6PJ//9viK3/BAQE/x8fH/8fHx//Hh4e/x0d + Hf8dHR3/HBwc/xsbG/8bGxv/Ghoa/xkZGf8ZGRn/GBgY/xcXF/8WFhb/FhYW/xUVFf8UFBT/ExMT/xMT + E/8TExP/ExMT/xISEv8RERH/EBAQ/w8PD/8WFhb/ISEh/x8fH/8dHR3/HBwc/wYGBv8AAAA/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAQm67T1yFzf+w0P//u9f//7zX//+92P//vtj//77Z//+/2v//v9r//8Db///B2///wtv//8Pb + ///E3P//xN3//8fd///I3f//yd3//8re///L3v//y9///8zg///M4P//zeH//87h///P4f//0OH//9Hi + ///R4v//0eL//9Hi///R4v//0OL//8/h///P4f//zuD//83g///M3///zN///8vf///K3///yd7//8jd + ///H3f//xNz//8Pc///D2///wtv//8Ha///A2v//vtn//73Y//+92P//u9b//7HR//+v0P//rtD//63P + //+szv//q87//6rN//+pzf//qMz//6fL//+my///pcr//6TK//+jyf//JzA9/xMTE/8gICD/ICAg/x8f + H/8eHh7/Hh4e/x0dHf8dHR3/HBwc/xsbG/8aGhr/Ghoa/xkZGf8YGBj/FxcX/xcXF/8WFhb/FRUV/xQU + FP8TExP/ExMT/xMTE/8TExP/EhIS/xEREf8QEBD/GBgY/yEhIf8gICD/Hh4e/x0dHf8BAQH/AAAADwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAEJuuy9Ic7//rs///7vX//+81///vdj//73Y//++2f//v9r//7/a///A2///wdv//8Lb + ///D2///w9z//8Tc///H3P//yN3//8nd///K3v//yt7//8vf///M3///zOD//83g///O4f//z+H//8/h + ///Q4f//0OH//9Di///Q4v//0OL//8/h///P4f//z+H//87g///N3///zN///8vf///K3v//yd7//8je + ///H3f//xN3//8Pc///D3P//wtv//8Hb///A2v//v9n//77Z//+92P//vNj//7zX//+21P//r9D//67P + //+tz///rM7//6vO//+qzf//qc3//6jM//+ny///psv//6XK//+kyv//epW9/wICAv8gICD/ISEh/yEh + If8gICD/Hx8f/x8fH/8eHh7/HR0d/x0dHf8cHBz/Gxsb/xsbG/8aGhr/GRkZ/xgYGP8YGBj/FxcX/xYW + Fv8VFRX/FBQU/xMTE/8TExP/ExMT/xMTE/8SEhL/ERER/x4eHv8iIiL/ISEh/x8fH/8cHBz/AAAA/wAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAQm67/57A9v+51v//vNf//73Y//+92P//vtn//77Z//+/2v//wNr//8Ha + ///C2///w9v//8Pc///E3P//x9z//8jc///J3f//yt3//8re///L3///y9///8vg///M4P//zeD//87g + ///P4P//z+H//8/h///P4f//z+H//8/h///P4f//z+D//87g///N4P//zd///8zf///L3v//yt7//8ne + ///I3f//x93//8Td///D3P//wtz//8Lb///B2v//wNr//7/Z//++2f//vdj//7zY//+71///u9b//7HR + //+uz///rc///6zO//+rzv//qs3//6nN//+ozP//p8v//6bL//+lyv//mbvv/woMD/8YGBj/IyMj/yIi + Iv8iIiL/ISEh/yAgIP8gICD/Hx8f/x4eHv8eHh7/HR0d/xwcHP8cHBz/Gxsb/xoaGv8ZGRn/GBgY/xgY + GP8XFxf/FhYW/xUVFf8UFBT/ExMT/xMTE/8TExP/ExMT/xISEv8gICD/IyMj/yIiIv8hISH/FxcX/wAA + AL8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAEJuu7+Krur/tdP//7vX//+82P//vNj//73Z//++2f//vtr//7/a + ///A2v//wtv//8Lb///C3P//w9z//8Tc///H3P//yN3//8nd///J3v//yt7//8vf///L3///zOD//8zg + ///N4P//zuD//87g///P4P//z+H//8/h///P4P//zuD//87g///N4P//zd///8zf///L3v//yt7//8nd + ///I3f//yN3//8fd///E3P//w9z//8Lb///B2///wNr//7/a//+/2f//vtn//73Y//+81///u9f//7rW + //+y0f//rs///63P//+szv//q87//6rN//+pzP//qMz//6fL//+my///mrvv/x0jLf8ODg7/JCQk/yQk + JP8jIyP/IyMj/yIiIv8iIiL/ISEh/yAgIP8fHx//Hx8f/x4eHv8dHR3/HR0d/xwcHP8bGxv/Ghoa/xkZ + Gf8YGBj/GBgY/xcXF/8WFhb/FRUV/xQUFP8TExP/ExMT/xMTE/8TExP/JSUl/yQkJP8jIyP/IiIi/xMT + E/8AAACfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABCbrt/cJfZ/7HR//+71///vNj//7zY//+92f//vdn//77a + //+/2v//wNr//8Ha///B2///wtv//8Pc///E3P//x9z//8jc///I3f//yd3//8re///K3v//yt///8vf + ///M4P//zOD//83g///N4P//zuD//87g///O4P//zuD//83g///N3///zN///8zf///L3v//yt7//8re + ///J3f//yN3//8fd///E3f//w9z//8Lc///B2///wNv//7/a//+/2f//vtn//73Y//+82P//u9f//7rX + //+51v//rtD//67P//+tz///rM7//6vN//+qzf//qcz//6jM//+ny///m7zv/x0kLf8KCgr/JiYm/zQ0 + NP8+Pj7/PT09/zY2Nv8zMzP/Ly8v/yoqKv8hISH/ICAg/yAgIP8fHx//Hh4e/x0dHf8dHR3/HBwc/xsb + G/8aGhr/GRkZ/xgYGP8YGBj/FxcX/xYWFv8VFRX/FBQU/xMTE/8TExP/FxcX/yYmJv8kJCT/JCQk/yIi + Iv8QEBD/AAAAfwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQm67T1yFzf+tzv//u9f//7vX//+82P//vdj//73Z + //++2f//v9r//8Da///B2v//wdv//8Lb///D2///xNv//8Tc///H3P//yN3//8jd///J3v//yt7//8rf + ///K3///y9///8vg///M3///zN///83f///N3///zd///83f///M3///zN///8zf///L3v//yt7//8re + ///J3f//yN3//8fd///H3P//xNz//8Pc///C2///wdv//8Da//+/2v//vtn//77Z//+92P//vNj//7vX + //+61///tdP//67Q//+tz///rM7//6vO//+qzf//qc3//6jM//+nzP//ka/f/x0kLf8NDQ3/Jycn/0ND + Q/9JSUn/R0dH/0ZGRv9FRUX/RERE/0NDQ/9CQkL/QkJC/zo6Ov8yMjL/JiYm/x8fH/8eHh7/Hh4e/x0d + Hf8cHBz/Gxsb/xoaGv8ZGRn/GBgY/xgYGP8XFxf/FhYW/xUVFf8UFBT/ExMT/xoaGv8nJyf/JiYm/yQk + JP8jIyP/CQkJ/wAAAD8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEJuuw9Cbrv/rM7//7jV//+71///vNj//7zY + //+82f//vdn//77Z//+/2f//wNr//8Da///B2///wtv//8Pb///E2///x9z//8fc///H3f//yN3//8ne + ///J3v//yd7//8rf///K3///y9///8vf///M3///zN///8zf///M3///y9///8ve///L3v//yt7//8re + ///J3f//yN3//8fd///H3P//xNz//8Pc///C2///wdv//8Db///A2v//v9r//77Z//+92f//vdj//7zX + //+71///utb//7LR//+uz///rc///6zO//+rzv//qs3//6nN//+ozP//coqt/woMD/8TExP/MDAw/0pK + Sv9KSkr/SUlJ/0hISP9HR0f/RkZG/0VFRf9DQ0P/Q0ND/0JCQv9BQUH/QEBA/z8/P/86Ojr/Kioq/x4e + Hv8eHh7/HR0d/xwcHP8bGxv/Ghoa/xkZGf8YGBj/FxcX/xcXF/8WFhb/FRUV/xQUFP8gICD/KCgo/ycn + J/8lJSX/JCQk/wEBAf8AAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQm67z4qu6v+z0v//utf//7vY + //+82P//vNn//73Z//++2f//v9n//8Da///A2v//wdr//8La///D2///w9v//8Tc///H3P//x9z//8jd + ///I3f//yN7//8ne///J3v//yt///8rf///K3///yt7//8ve///L3v//y97//8re///K3v//yt7//8nd + ///J3f//yN3//8fc///H3P//xNz//8Pb///C2///wtv//8Hb///A2v//v9r//77Z//+92f//vdj//7zY + //+71///utf//7nW//+u0P//rs///63P//+szv//q83//6rN//+evu//Mz1N/wICAv8dHR3/LS0t/0xM + TP9MTEz/S0tL/0pKSv9JSUn/SEhI/0hISP9GRkb/RUVF/0RERP9DQ0P/QkJC/0FBQf9AQED/Pj4+/z09 + Pf83Nzf/JCQk/x4eHv8dHR3/HBwc/xsbG/8aGhr/GRkZ/xgYGP8XFxf/FhYW/xUVFf8UFBT/JiYm/ykp + Kf8oKCj/JiYm/x8fH/8AAADfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADphpo8+VHj/VmZ9/1xp + ff9caX3/XGp9/11qff9dan3/Xmp9/15qff9fa33/Xmt9/19rff9fa33/YGt9/2Brff9ha33/kqO9/5Oj + vf+To73/lKO9/5Skvf+50O//yN7//8ne///J3v//yd7//8ne///K3v//yt7//8re///J3f//yd3//8nd + ///I3f//yN3//8fc///H3P//xNz//8Pb///D2///wtv//8Hb///A2v//v9r//7/Z//++2f//vdn//7zY + //+71///u9f//7rW//+10///rs///63P//+szv//q87//6C+7/9UZH3/CgwP/xISEv8qKir/Ly8v/0lJ + Sf9OTk7/TU1N/0xMTP9MTEz/SkpK/0lJSf9JSUn/SEhI/0ZGRv9FRUX/RERE/0NDQ/9CQkL/QUFB/z8/ + P/8+Pj7/PT09/zw8PP8pKSn/Hh4e/x0dHf8cHBz/Gxsb/xoaGv8ZGRn/GBgY/xcXF/8WFhb/FxcX/ysr + K/8qKir/KCgo/ycnJ/8XFxf/AAAArwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPwAAAJ8AAAD/BgYG/wsL + C/8MDAz/DAwM/wwMDP8NDQ3/DQ0N/w4ODv8ODg7/Dw8P/w8PD/8QEBD/EBAQ/xEREf8RERH/Dw8P/wkJ + Cf8JCQn/CQkJ/wkJCf8KCgr/AAAA/wAAAP8AAAD/AAAA/zA1Pf8wNT3/MDU9/1Vebf9ibH3/b3qN/5Sj + vf+Uo73/x9z//8fc///E3P//xNv//8Pb///D2///wtv//8Hb///A2v//wNr//7/a//++2f//vdn//7zY + //+72P//utf//7rX//+51v//sNH//67P//+tz///gJi9/z9LXf8KDA//DAwM/yMjI/8vLy//MDAw/0xM + TP9RUVH/T09P/05OTv9NTU3/TU1N/0xMTP9KSkr/SUlJ/0lJSf9ISEj/RkZG/0VFRf9ERET/Q0ND/0JC + Qv9BQUH/Pz8//z09Pf89PT3/Ozs7/zAwMP8dHR3/HR0d/xwcHP8bGxv/Ghoa/xkZGf8YGBj/FxcX/x0d + Hf8sLCz/Kysr/ykpKf8oKCj/EBAQ/wAAAG8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/AAAAvwEBAf8KCgr/EhIS/xQU + FP8VFRX/FhYW/xcXF/8YGBj/GRkZ/xoaGv8bGxv/HBwc/x0dHf8eHh7/Hx8f/yAgIP8gICD/ISEh/yIi + Iv8jIyP/JCQk/yUlJf8mJib/JiYm/ycnJ/8oKCj/KSkp/ycnJ/8fHx//Hx8f/yAgIP8VFRX/FRUV/xIS + Ev8MDAz/CQkJ/wAAAP8AAAD/LzU9/y80Pf9ga33/YGt9/5Civf+Qor3/p7zf/7/a//++2f//vdn//7zY + //+72P//u9f//7rX//+Kn73/fpCt/1Zmff8qMT3/AAAA/wkJCf8UFBT/Kysr/zAwMP8wMDD/Nzc3/1BQ + UP9TU1P/UlJS/1FRUf9QUFD/Tk5O/05OTv9NTU3/TExM/0tLS/9JSUn/SEhI/0hISP9GRkb/RUVF/0ND + Q/9CQkL/QkJC/0BAQP8/Pz//PT09/zw8PP87Ozv/Ly8v/x0dHf8cHBz/Gxsb/xsbG/8aGhr/GBgY/xgY + GP8kJCT/LS0t/ywsLP8qKir/KSkp/wYGBv8AAAAvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8AAAC/AQEB/wkJCf8SEhL/ExMT/xQU + FP8VFRX/FhYW/xcXF/8YGBj/GRkZ/xoaGv8bGxv/HBwc/x0dHf8eHh7/Hh4e/x8fH/8gICD/ISEh/yIi + Iv8jIyP/JCQk/yUlJf8mJib/JiYm/ycnJ/8oKCj/KSkp/yoqKv8qKir/Kysr/ywsLP8sLCz/LS0t/y4u + Lv8uLi7/Ly8v/zAwMP8wMDD/LS0t/yQkJP8eHh7/GBgY/xMTE/8NDQ3/DQ0N/wMDA/8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/BgYG/w0NDf8VFRX/Hx8f/ywsLP8zMzP/MjIy/zIyMv8yMjL/PT09/1RU + VP9VVVX/U1NT/1NTU/9SUlL/UVFR/1BQUP9PT0//Tk5O/01NTf9MTEz/S0tL/0lJSf9JSUn/R0dH/0ZG + Rv9ERET/Q0ND/0JCQv9CQkL/QEBA/z4+Pv89PT3/PDw8/zs7O/8vLy//HR0d/xwcHP8bGxv/Ghoa/xkZ + Gf8YGBj/LCws/y4uLv8sLCz/Kysr/yUlJf8AAADvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8AAADvBwcH/xEREf8TExP/ExMT/xMT + E/8UFBT/FRUV/xYWFv8XFxf/GBgY/xkZGf8aGhr/Gxsb/xwcHP8dHR3/Hh4e/x8fH/8gICD/ISEh/yIi + Iv8jIyP/JCQk/yUlJf8mJib/JiYm/ycnJ/8oKCj/KSkp/yoqKv8rKyv/Kysr/ywsLP8tLS3/LS0t/y4u + Lv8vLy//Ly8v/zAwMP8xMTH/MTEx/zIyMv8yMjL/MjIy/zMzM/8zMzP/NDQ0/zQ0NP80NDT/NDQ0/zU1 + Nf81NTX/NTU1/zU1Nf81NTX/NTU1/zU1Nf81NTX/NDQ0/zQ0NP80NDT/NDQ0/zMzM/82Njb/SkpK/1pa + Wv9XV1f/VlZW/1VVVf9UVFT/U1NT/1JSUv9RUVH/UFBQ/09PT/9OTk7/TU1N/0xMTP9KSkr/SUlJ/0hI + SP9HR0f/RkZG/0RERP9DQ0P/QkJC/0FBQf8/Pz//Pj4+/z09Pf88PDz/Ojo6/y8vL/8dHR3/HBwc/xsb + G/8aGhr/HR0d/zAwMP8uLi7/LS0t/ywsLP8aGhr/AAAArwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8AAAD/CgoK/xISEv8TExP/ExMT/xMT + E/8UFBT/FRUV/xYWFv8XFxf/GBgY/xkZGf8aGhr/Gxsb/xwcHP8dHR3/Hh4e/x8fH/8gICD/ISEh/yIi + Iv8jIyP/JCQk/yUlJf8mJib/JiYm/ycnJ/8oKCj/KSkp/yoqKv8rKyv/Kysr/ywsLP8tLS3/Li4u/y4u + Lv8vLy//MDAw/zAwMP8xMTH/MjIy/zIyMv8zMzP/MzMz/zQ0NP80NDT/NDQ0/zU1Nf81NTX/NTU1/zY2 + Nv82Njb/NjY2/zY2Nv82Njb/NjY2/zY2Nv82Njb/NjY2/zY2Nv81NTX/NTU1/zU1Nf9HR0f/XV1d/2Bg + YP9aWlr/V1dX/1dXV/9WVlb/VVVV/1RUVP9TU1P/UlJS/1FRUf9QUFD/Tk5O/05OTv9NTU3/TExM/0pK + Sv9JSUn/SEhI/0dHR/9FRUX/RERE/0NDQ/9CQkL/QEBA/z8/P/89PT3/PDw8/zs7O/86Ojr/Li4u/x0d + Hf8cHBz/Gxsb/ygoKP8wMDD/Ly8v/y0tLf8sLCz/EBAQ/wAAAF8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADfCgoK/xEREf8SEhL/ExMT/xMT + E/8TExP/FBQU/xUVFf8WFhb/GBgY/xkZGf8aGhr/Gxsb/xwcHP8dHR3/Hh4e/x8fH/8gICD/ISEh/yIi + Iv8jIyP/JCQk/yQkJP8lJSX/JiYm/ycnJ/8oKCj/KSkp/yoqKv8rKyv/LCws/ywsLP8tLS3/Li4u/y8v + L/8vLy//MDAw/zExMf8xMTH/MjIy/zMzM/8zMzP/NDQ0/zQ0NP81NTX/NTU1/zY2Nv82Njb/NjY2/zc3 + N/83Nzf/Nzc3/zc3N/83Nzf/Nzc3/zc3N/83Nzf/Nzc3/zc3N/83Nzf/Ojo6/05OTv9kZGT/aGho/2Bg + YP9bW1v/Wlpa/1lZWf9YWFj/V1dX/1ZWVv9VVVX/VFRU/1NTU/9TU1P/UVFR/1BQUP9PT0//Tk5O/01N + Tf9LS0v/SkpK/0lJSf9ISEj/R0dH/0VFRf9ERET/Q0ND/0FBQf9AQED/Pj4+/z09Pf88PDz/Ojo6/zk5 + Of8qKir/HBwc/x0dHf8yMjL/MTEx/zAwMP8uLi7/LCws/wEBAf8AAAAfAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvAgIC/yMjI/8vLy//Ojo6/0pK + Sv9QUFD/UFBQ/2BgYP9lZWX/Z2dn/2dnZ/9nZ2f/aWlp/2lpaf9qamr/a2tr/2xsbP9sbGz/bW1t/25u + bv9ubm7/ZmZm/11dXf9eXl7/X19f/1tbW/9OTk7/T09P/09PT/9CQkL/Pj4+/z8/P/8yMjL/Li4u/y8v + L/8wMDD/MDAw/zExMf8yMjL/MjIy/zMzM/80NDT/NDQ0/zU1Nf81NTX/NjY2/zY2Nv83Nzf/Nzc3/zc3 + N/84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP85OTn/ODg4/0BAQP9PT0//YWFh/3Fxcf9vb2//ZmZm/15e + Xv9cXFz/W1tb/1tbW/9aWlr/WVlZ/1hYWP9XV1f/V1dX/1VVVf9UVFT/U1NT/1JSUv9RUVH/UFBQ/05O + Tv9OTk7/TExM/0tLS/9KSkr/SEhI/0hISP9GRkb/RUVF/0RERP9CQkL/QUFB/z8/P/89PT3/PT09/zs7 + O/86Ojr/ODg4/yYmJv8pKSn/NDQ0/zIyMv8xMTH/Ly8v/yAgIP8AAADPAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAP9eXl7/Z2dn/2ho + aP9oaGj/aWlp/2pqav9ra2v/bGxs/2xsbP9tbW3/bm5u/29vb/9vb2//b29v/3Fxcf9xcXH/cnJy/3Jy + cv9zc3P/dHR0/3R0dP92dnb/dnZ2/3d3d/93d3f/eHh4/3l5ef95eXn/enp6/3p6ev97e3v/e3t7/3x8 + fP98fHz/b29v/2pqav9qamr/WVlZ/1lZWf9ZWVn/R0dH/0hISP9ISEj/QEBA/zc3N/83Nzf/ODg4/zg4 + OP85OTn/OTk5/zk5Of9CQkL/S0tL/09PT/9bW1v/Y2Nj/3Jycv96enr/eHh4/29vb/9mZmb/YGBg/19f + X/9eXl7/Xl5e/11dXf9cXFz/W1tb/1paWv9ZWVn/WFhY/1dXV/9WVlb/VVVV/1RUVP9TU1P/UlJS/1FR + Uf9QUFD/Tk5O/01NTf9MTEz/S0tL/0lJSf9ISEj/R0dH/0VFRf9ERET/Q0ND/0FBQf9AQED/Pj4+/z09 + Pf88PDz/Ojo6/zk5Of83Nzf/NDQ0/zQ0NP8zMzP/MTEx/zAwMP8SEhL/AAAAbwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/ExMT/2Zm + Zv9jY2P/YWFh/1RUVP9VVVX/SkpK/0tLS/9MTEz/RERE/0NDQ/9ERET/RUVF/0dHR/9JSUn/SkpK/0tL + S/9NTU3/Tk5O/09PT/9QUFD/UlJS/1NTU/9UVFT/X19f/2BgYP9gYGD/YmJi/2NjY/9tbW3/bW1t/25u + bv9vb2//eXl5/3l5ef95eXn/fHx8/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4SEhP+EhIT/hISE/4SE + hP+Dg4P/g4OD/4ODg/+Dg4P/goKC/4KCgv+CgoL/enp6/3Z2dv9wcHD/aWlp/2NjY/9jY2P/YmJi/2Fh + Yf9gYGD/X19f/19fX/9eXl7/XV1d/1xcXP9bW1v/Wlpa/1lZWf9YWFj/V1dX/1ZWVv9VVVX/VFRU/1NT + U/9SUlL/UFBQ/09PT/9OTk7/TU1N/0xMTP9KSkr/SUlJ/0hISP9GRkb/RUVF/0RERP9DQ0P/QUFB/z8/ + P/89PT3/PDw8/zs7O/86Ojr/ODg4/zY2Nv81NTX/NDQ0/zIyMv8vLy//AQEB/wAAAB8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AJ8KCgr/NTU1/zk5Of87Ozv/PDw8/z4+Pv9AQED/QUFB/0JCQv9ERET/RUVF/0ZGRv9ISEj/SUlJ/0pK + Sv9MTEz/TU1N/05OTv9QUFD/UVFR/1JSUv9TU1P/VVVV/1ZWVv9XV1f/WFhY/1paWv9bW1v/W1tb/11d + Xf9eXl7/X19f/2BgYP9gYGD/YWFh/2JiYv9iYmL/Y2Nj/2RkZP9nZ2f/bm5u/25ubv9ubm7/b29v/29v + b/9vb2//b29v/3BwcP9vb2//b29v/29vb/9nZ2f/Z2dn/2ZmZv9mZmb/ZmZm/2VlZf9lZWX/ZWVl/2Nj + Y/9jY2P/YmJi/2FhYf9gYGD/X19f/15eXv9dXV3/XFxc/1tbW/9bW1v/Wlpa/1hYWP9XV1f/V1dX/1VV + Vf9UVFT/U1NT/1FRUf9QUFD/Tk5O/05OTv9NTU3/S0tL/0lJSf9JSUn/R0dH/0ZGRv9ERET/Q0ND/0JC + Qv9AQED/Pj4+/z09Pf88PDz/Ojo6/zk5Of83Nzf/NjY2/zQ0NP8zMzP/Hh4e/wAAAK8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAnxISEv85OTn/PDw8/z09Pf8/Pz//QEBA/0FBQf9DQ0P/RERE/0ZGRv9HR0f/SUlJ/0pK + Sv9LS0v/TU1N/05OTv9PT0//UVFR/1JSUv9TU1P/VFRU/1ZWVv9XV1f/WFhY/1paWv9bW1v/W1tb/11d + Xf9eXl7/X19f/2BgYP9hYWH/YmJi/2NjY/9jY2P/ZGRk/2VlZf9mZmb/ZmZm/2ZmZv9nZ2f/aGho/2ho + aP9oaGj/aGho/2lpaf9paWn/aWlp/2lpaf9paWn/aWlp/2lpaf9paWn/aGho/2hoaP9nZ2f/ZmZm/2Zm + Zv9lZWX/ZGRk/2NjY/9iYmL/YmJi/2FhYf9fX1//X19f/15eXv9cXFz/W1tb/1tbW/9ZWVn/WFhY/1dX + V/9WVlb/VVVV/1NTU/9SUlL/UVFR/1BQUP9OTk7/TU1N/0xMTP9KSkr/SUlJ/0hISP9HR0f/RUVF/0ND + Q/9DQ0P/QUFB/z8/P/89PT3/PDw8/zs7O/85OTn/Nzc3/zY2Nv81NTX/MzMz/woKCv8AAABfAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAACfCwsL/zY2Nv8+Pj7/Pz8//0BAQP9CQkL/RERE/0VFRf9GRkb/SEhI/0lJ + Sf9KSkr/TExM/01NTf9OTk7/UFBQ/1JSUv9TU1P/VFRU/1VVVf9XV1f/V1dX/1lZWf9aWlr/W1tb/11d + Xf9eXl7/X19f/19fX/9hYWH/YmJi/2NjY/9kZGT/ZWVl/2VlZf9mZmb/ZmZm/2dnZ/9oaGj/aWlp/2lp + af9paWn/ampq/2pqav9qamr/a2tr/2pqav9ra2v/a2tr/2pqav9qamr/ampq/2pqav9paWn/aWlp/2ho + aP9nZ2f/Z2dn/2ZmZv9lZWX/ZGRk/2NjY/9iYmL/YWFh/2BgYP9fX1//Xl5e/1xcXP9bW1v/Wlpa/1lZ + Wf9YWFj/V1dX/1ZWVv9UVFT/U1NT/1JSUv9RUVH/T09P/05OTv9NTU3/S0tL/0lJSf9ISEj/R0dH/0ZG + Rv9ERET/Q0ND/0FBQf9AQED/Pj4+/z09Pf88PDz/Ojo6/zg4OP83Nzf/NjY2/yoqKv8AAADfAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI8JCQn/ODg4/0BAQP9BQUH/Q0ND/0RERP9FRUX/R0dH/0lJ + Sf9KSkr/S0tL/01NTf9OTk7/T09P/1FRUf9SUlL/U1NT/1VVVf9WVlb/V1dX/1hYWP9aWlr/W1tb/1xc + XP9eXl7/Xl5e/19fX/9hYWH/YmJi/2NjY/9kZGT/ZWVl/2ZmZv9mZmb/Z2dn/2hoaP9paWn/aWlp/2pq + av9ra2v/a2tr/2tra/9sbGz/bGxs/2xsbP9sbGz/bGxs/2xsbP9sbGz/bGxs/2xsbP9ra2v/a2tr/2pq + av9paWn/aWlp/2hoaP9nZ2f/Z2dn/2ZmZv9lZWX/Y2Nj/2JiYv9hYWH/YGBg/19fX/9eXl7/XFxc/1tb + W/9aWlr/WVlZ/1hYWP9XV1f/VVVV/1RUVP9TU1P/UlJS/1BQUP9PT0//Tk5O/0xMTP9KSkr/SUlJ/0hI + SP9GRkb/RUVF/0RERP9CQkL/QUFB/z8/P/89PT3/PDw8/zs7O/85OTn/Nzc3/zY2Nv8RERH/AAAAbwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXwkJCf85OTn/QkJC/0NDQ/9FRUX/RkZG/0hI + SP9JSUn/SkpK/0xMTP9NTU3/Tk5O/1BQUP9SUlL/U1NT/1RUVP9WVlb/V1dX/1hYWP9aWlr/W1tb/1xc + XP9dXV3/Xl5e/19fX/9hYWH/YmJi/2NjY/9kZGT/ZWVl/2ZmZv9mZmb/aGho/2hoaP9paWn/ampq/2tr + a/9ra2v/bGxs/2xsbP9tbW3/bW1t/21tbf9ubm7/bm5u/25ubv9tbW3/bW1t/21tbf9tbW3/bW1t/21t + bf9sbGz/a2tr/2pqav9qamr/aWlp/2hoaP9nZ2f/ZmZm/2VlZf9kZGT/Y2Nj/2FhYf9gYGD/X19f/11d + Xf9cXFz/W1tb/1paWv9YWFj/V1dX/1ZWVv9VVVX/U1NT/1JSUv9RUVH/T09P/05OTv9NTU3/S0tL/0lJ + Sf9ISEj/R0dH/0VFRf9ERET/Q0ND/0FBQf8/Pz//Pj4+/z09Pf87Ozv/OTk5/zg4OP8qKir/AAAA7wAA + AA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABfCQkJ/zExMf9ERET/RUVF/0ZG + Rv9ISEj/SUlJ/0tLS/9NTU3/Tk5O/09PT/9RUVH/UlJS/1NTU/9VVVX/VlZW/1dXV/9ZWVn/Wlpa/1tb + W/9dXV3/Xl5e/19fX/9gYGD/YmJi/2NjY/9kZGT/ZWVl/2ZmZv9nZ2f/aGho/2lpaf9paWn/a2tr/2xs + bP9sbGz/bW1t/25ubv9ubm7/bm5u/29vb/9vb2//b29v/3BwcP9vb2//b29v/29vb/9vb2//bm5u/25u + bv9tbW3/bW1t/21tbf9sbGz/a2tr/2pqav9paWn/aGho/2dnZ/9mZmb/ZWVl/2RkZP9jY2P/YWFh/2Bg + YP9fX1//XV1d/1xcXP9bW1v/WVlZ/1hYWP9XV1f/VVVV/1RUVP9TU1P/UlJS/1BQUP9PT0//Tk5O/0xM + TP9KSkr/SUlJ/0hISP9GRkb/RUVF/0NDQ/9CQkL/QEBA/z4+Pv89PT3/PDw8/zo6Ov84ODj/CgoK/wAA + AF8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE8DAwPvMDAw/0VF + Rf9HR0f/SUlJ/0pKSv9LS0v/TU1N/05OTv9QUFD/UlJS/1NTU/9UVFT/VlZW/1dXV/9YWFj/Wlpa/1tb + W/9cXFz/XV1d/19fX/9gYGD/YWFh/2JiYv9jY2P/ZWVl/2ZmZv9nZ2f/aGho/2lpaf9qamr/a2tr/2xs + bP9tbW3/bm5u/29vb/9vb2//b29v/3BwcP9wcHD/cHBw/3Fxcf9xcXH/cXFx/3Fxcf9wcHD/cHBw/3Bw + cP9wcHD/b29v/29vb/9ubm7/bW1t/21tbf9ra2v/a2tr/2pqav9paWn/Z2dn/2ZmZv9lZWX/ZGRk/2Nj + Y/9hYWH/YGBg/15eXv9dXV3/W1tb/1paWv9ZWVn/WFhY/1ZWVv9VVVX/U1NT/1JSUv9RUVH/T09P/05O + Tv9NTU3/S0tL/0pKSv9JSUn/R0dH/0VFRf9ERET/QkJC/0FBQf8/Pz//Pj4+/z09Pf87Ozv/ISEh/wAA + AM8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALwAA + AO8jIyP/SEhI/0lJSf9KSkr/TExM/05OTv9PT0//UFBQ/1JSUv9TU1P/VFRU/1ZWVv9XV1f/WVlZ/1pa + Wv9bW1v/XV1d/15eXv9fX1//YWFh/2JiYv9jY2P/ZWVl/2ZmZv9nZ2f/aGho/2lpaf9qamr/a2tr/2xs + bP9tbW3/bm5u/29vb/9vb2//cHBw/3Fxcf9xcXH/cnJy/3Jycv9ycnL/cnJy/3Jycv9ycnL/cnJy/3Jy + cv9ycnL/cXFx/3Fxcf9wcHD/cHBw/29vb/9ubm7/bW1t/2xsbP9ra2v/ampq/2lpaf9nZ2f/ZmZm/2Vl + Zf9kZGT/Y2Nj/2BgYP9fX1//Xl5e/1xcXP9bW1v/WVlZ/1hYWP9XV1f/VVVV/1NTU/9SUlL/UVFR/1BQ + UP9OTk7/TU1N/0tLS/9KSkr/SUlJ/0dHR/9GRkb/RERE/0NDQ/9BQUH/Pz8//z4+Pv89PT3/MTEx/wEB + Af8AAAAvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAvAAAAzxgYGP9FRUX/S0tL/0xMTP9OTk7/T09P/1FRUf9SUlL/VFRU/1VVVf9XV1f/WFhY/1lZ + Wf9bW1v/XFxc/11dXf9fX1//YGBg/2FhYf9jY2P/ZGRk/2VlZf9mZmb/aGho/2lpaf9qamr/a2tr/2xs + bP9ubm7/b29v/29vb/9wcHD/cXFx/3Jycv9ycnL/cnJy/3Nzc/9zc3P/dHR0/3Nzc/90dHT/c3Nz/3Nz + c/9zc3P/c3Nz/3Jycv9ycnL/cXFx/3Fxcf9wcHD/b29v/25ubv9tbW3/bGxs/2tra/9qamr/aGho/2dn + Z/9mZmb/ZGRk/2NjY/9iYmL/YGBg/19fX/9dXV3/W1tb/1paWv9YWFj/WFhY/1ZWVv9UVFT/U1NT/1JS + Uv9QUFD/T09P/05OTv9MTEz/SkpK/0lJSf9ISEj/RkZG/0RERP9DQ0P/QkJC/0BAQP8+Pj7/Ozs7/wkJ + Cf8AAABvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAA8AAAC/Dg4O/z09Pf9NTU3/Tk5O/1BQUP9SUlL/U1NT/1RUVP9WVlb/V1dX/1hY + WP9aWlr/W1tb/11dXf9eXl7/X19f/2FhYf9iYmL/Y2Nj/2VlZf9mZmb/Z2dn/2hoaP9paWn/a2tr/2xs + bP9ubm7/b29v/3BwcP9xcXH/cnJy/3Nzc/9zc3P/dHR0/3R0dP90dHT/dXV1/3V1df91dXX/dXV1/3V1 + df91dXX/dXV1/3R0dP90dHT/dHR0/3Nzc/9ycnL/cXFx/3BwcP9wcHD/bm5u/21tbf9sbGz/a2tr/2pq + av9oaGj/Z2dn/2ZmZv9kZGT/Y2Nj/2FhYf9gYGD/Xl5e/1xcXP9bW1v/WVlZ/1hYWP9XV1f/VVVV/1RU + VP9SUlL/UVFR/09PT/9OTk7/TU1N/0tLS/9KSkr/SEhI/0dHR/9FRUX/Q0ND/0JCQv9AQED/Pz8//xMT + E/8AAACfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH8EBAT/LS0t/09PT/9QUFD/UlJS/1NTU/9UVFT/VlZW/1dX + V/9ZWVn/W1tb/1tbW/9dXV3/Xl5e/19fX/9hYWH/Y2Nj/2RkZP9mZmb/ZmZm/2hoaP9paWn/ampq/2xs + bP9tbW3/b29v/3BwcP9xcXH/cnJy/3Nzc/90dHT/dHR0/3V1df91dXX/dXV1/3Z2dv92dnb/dnZ2/3Z2 + dv92dnb/dnZ2/3Z2dv92dnb/dnZ2/3R0dP90dHT/dHR0/3Nzc/9ycnL/cXFx/29vb/9ubm7/bm5u/2xs + bP9ra2v/aWlp/2hoaP9nZ2f/ZWVl/2NjY/9iYmL/YGBg/19fX/9dXV3/W1tb/1paWv9YWFj/V1dX/1ZW + Vv9UVFT/U1NT/1JSUv9QUFD/T09P/01NTf9LS0v/SkpK/0lJSf9HR0f/RUVF/0RERP9DQ0P/QUFB/xoa + Gv8AAADPAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPwAAAO8XFxf/S0tL/1JSUv9TU1P/VVVV/1dX + V/9XV1f/WVlZ/1tbW/9cXFz/Xl5e/19fX/9gYGD/YmJi/2NjY/9lZWX/ZmZm/2dnZ/9oaGj/ampq/2tr + a/9tbW3/bm5u/3BwcP9xcXH/cnJy/3Nzc/90dHT/dXV1/3Z2dv92dnb/d3d3/3d3d/93d3f/d3d3/3h4 + eP94eHj/eHh4/3h4eP93d3f/d3d3/3d3d/92dnb/dnZ2/3R0dP90dHT/c3Nz/3Jycv9xcXH/cHBw/25u + bv9tbW3/bGxs/2pqav9paWn/aGho/2ZmZv9kZGT/Y2Nj/2FhYf9fX1//Xl5e/1xcXP9bW1v/WVlZ/1hY + WP9WVlb/VVVV/1RUVP9SUlL/UFBQ/09PT/9OTk7/TExM/0pKSv9JSUn/SEhI/0ZGRv9ERET/Q0ND/x8f + H/8AAADPAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAArwUFBf84ODj/VFRU/1VV + Vf9XV1f/WFhY/1paWv9bW1v/XV1d/15eXv9fX1//YWFh/2JiYv9jY2P/ZWVl/2ZmZv9oaGj/aWlp/2pq + av9sbGz/bm5u/29vb/9xcXH/cnJy/3R0dP91dXX/dXV1/3Z2dv93d3f/d3d3/3h4eP94eHj/eHh4/3h4 + eP95eXn/eXl5/3l5ef95eXn/eXl5/3l5ef94eHj/d3d3/3d3d/92dnb/dXV1/3R0dP9zc3P/cnJy/3Fx + cf9vb2//bm5u/21tbf9ra2v/ampq/2hoaP9nZ2f/ZWVl/2RkZP9iYmL/YGBg/19fX/9cXFz/W1tb/1lZ + Wf9YWFj/V1dX/1VVVf9UVFT/U1NT/1FRUf9PT0//Tk5O/0xMTP9KSkr/SUlJ/0hISP9GRkb/RERE/xoa + Gv8AAADPAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABPAAAA7xkZ + Gf9OTk7/V1dX/1hYWP9aWlr/W1tb/11dXf9eXl7/X19f/2FhYf9jY2P/ZGRk/2VlZf9mZmb/aGho/2lp + af9ra2v/bW1t/25ubv9wcHD/cnJy/3Nzc/90dHT/dXV1/3d3d/94eHj/eHh4/3h4eP95eXn/eXl5/3l5 + ef96enr/enp6/3p6ev96enr/enp6/3p6ev96enr/eXl5/3l5ef94eHj/d3d3/3d3d/91dXX/dHR0/3Nz + c/9ycnL/cHBw/29vb/9ubm7/bGxs/2pqav9paWn/aGho/2ZmZv9kZGT/YmJi/2FhYf9fX1//XV1d/1tb + W/9aWlr/WFhY/1dXV/9VVVX/VFRU/1NTU/9RUVH/T09P/05OTv9NTU3/S0tL/0lJSf9ISEj/QkJC/xMT + E/8AAADPAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AA8AAACPBQUF/y4uLv9WVlb/Wlpa/1tbW/9dXV3/X19f/2BgYP9hYWH/Y2Nj/2RkZP9lZWX/Z2dn/2lp + af9qamr/a2tr/21tbf9vb2//cHBw/3Jycv90dHT/dXV1/3Z2dv93d3f/eHh4/3h4eP95eXn/enp6/3p6 + ev96enr/e3t7/3t7e/97e3v/e3t7/3t7e/97e3v/e3t7/3p6ev96enr/enp6/3h4eP93d3f/d3d3/3V1 + df90dHT/c3Nz/3Fxcf9wcHD/bm5u/2xsbP9ra2v/ampq/2hoaP9nZ2f/ZGRk/2NjY/9hYWH/YGBg/15e + Xv9cXFz/Wlpa/1lZWf9XV1f/VlZW/1RUVP9TU1P/UVFR/1BQUP9OTk7/TU1N/0tLS/9KSkr/PT09/wsL + C/8AAACfAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAC8AAAC/Dg4O/z4+Pv9cXFz/XV1d/19fX/9gYGD/YmJi/2NjY/9lZWX/ZmZm/2dn + Z/9paWn/ampq/2xsbP9ubm7/b29v/3Fxcf9ycnL/dHR0/3V1df93d3f/eHh4/3h4eP95eXn/enp6/3p6 + ev97e3v/e3t7/3t7e/98fHz/fHx8/3x8fP98fHz/fHx8/3x8fP98fHz/e3t7/3t7e/96enr/eXl5/3d3 + d/92dnb/dXV1/3R0dP9ycnL/cXFx/29vb/9tbW3/bGxs/2tra/9oaGj/Z2dn/2VlZf9kZGT/YmJi/2Bg + YP9eXl7/XV1d/1tbW/9ZWVn/V1dX/1ZWVv9UVFT/U1NT/1JSUv9QUFD/Tk5O/01NTf9LS0v/Kioq/wIC + Av8AAABvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8AAADfEhIS/0hISP9fX1//YGBg/2JiYv9jY2P/ZWVl/2Zm + Zv9nZ2f/aWlp/2pqav9sbGz/bm5u/29vb/9xcXH/cnJy/3R0dP91dXX/d3d3/3h4eP94eHj/enp6/3p6 + ev97e3v/e3t7/3t7e/98fHz/fX19/319ff99fX3/fX19/319ff99fX3/fX19/3x8fP98fHz/e3t7/3p6 + ev94eHj/d3d3/3Z2dv91dXX/cnJy/3Fxcf9wcHD/bm5u/2xsbP9ra2v/aWlp/2dnZ/9mZmb/ZGRk/2Ji + Yv9hYWH/X19f/11dXf9cXFz/WVlZ/1hYWP9XV1f/VFRU/1NTU/9SUlL/UFBQ/09PT/9BQUH/ExMT/wAA + AM8AAAAvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF8AAADfGBgY/0dHR/9fX1//Y2Nj/2Vl + Zf9mZmb/aGho/2lpaf9ra2v/bGxs/25ubv9vb2//cXFx/3Nzc/90dHT/dXV1/3d3d/94eHj/eHh4/3p6 + ev97e3v/e3t7/3t7e/98fHz/fX19/35+fv9+fn7/fn5+/39/f/9/f3//fn5+/35+fv99fX3/fX19/3t7 + e/96enr/eXl5/3h4eP92dnb/dXV1/3Nzc/9ycnL/cHBw/29vb/9tbW3/bGxs/2lpaf9oaGj/ZmZm/2Rk + ZP9jY2P/YWFh/19fX/9dXV3/XFxc/1paWv9YWFj/V1dX/1VVVf9TU1P/UlJS/05OTv8kJCT/AgIC/wAA + AH8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8AAAC/ExMT/zw8 + PP9fX1//ZmZm/2hoaP9paWn/a2tr/2xsbP9ubm7/b29v/3Fxcf9ycnL/dHR0/3V1df93d3f/eHh4/3l5 + ef96enr/e3t7/3t7e/98fHz/fX19/35+fv9+fn7/f39//39/f/+AgID/gICA/39/f/9/f3//fn5+/35+ + fv99fX3/fHx8/3p6ev95eXn/d3d3/3V1df90dHT/cnJy/3Fxcf9vb2//bW1t/2tra/9qamr/aGho/2Zm + Zv9lZWX/Y2Nj/2FhYf9fX1//XV1d/1xcXP9aWlr/WFhY/1dXV/9VVVX/UVFR/y0tLf8HBwf/AAAArwAA + AB8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AC8AAACfCwsL7y4uLv9WVlb/ZmZm/2tra/9sbGz/bm5u/29vb/9xcXH/cnJy/3R0dP91dXX/dnZ2/3d3 + d/94eHj/enp6/3p6ev97e3v/fHx8/319ff9+fn7/fn5+/39/f/+AgID/gICA/4CAgP+BgYH/gICA/4CA + gP9/f3//fn5+/3x8fP97e3v/eXl5/3h4eP92dnb/dXV1/3Nzc/9xcXH/cHBw/21tbf9sbGz/ampq/2lp + af9nZ2f/ZWVl/2NjY/9hYWH/YGBg/11dXf9cXFz/Wlpa/1hYWP9RUVH/LCws/wcHB/8AAAC/AAAAPwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAA8AAABfBQUFvxQUFP8+Pj7/Wlpa/2tra/9vb2//cXFx/3Jycv9zc3P/dXV1/3Z2 + dv93d3f/eHh4/3l5ef96enr/e3t7/3x8fP99fX3/fn5+/39/f/+AgID/gICA/4GBgf+BgYH/gYGB/4KC + gv+BgYH/f39//35+fv99fX3/e3t7/3p6ev94eHj/dnZ2/3V1df9zc3P/cXFx/29vb/9ubm7/bGxs/2tr + a/9paWn/Z2dn/2VlZf9jY2P/YWFh/2BgYP9dXV3/XFxc/0JCQv8gICD/AgIC/wAAAJ8AAAA/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAbwkJCc8ZGRn/QEBA/1lZWf9oaGj/c3Nz/3V1 + df91dXX/d3d3/3h4eP95eXn/enp6/3t7e/98fHz/fX19/35+fv9/f3//gICA/4CAgP+BgYH/goKC/4OD + g/+CgoL/goKC/4CAgP9/f3//fX19/3x8fP96enr/eXl5/3Z2dv91dXX/c3Nz/3Fxcf9wcHD/bm5u/2xs + bP9ra2v/aWlp/2dnZ/9lZWX/Y2Nj/2FhYf9OTk7/KCgo/wsLC/8AAADfAAAAfwAAAB8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAF8FBQWvExMT7ysr + K/9CQkL/XFxc/2hoaP94eHj/eXl5/3p6ev97e3v/fHx8/319ff9+fn7/f39//4CAgP+AgID/gYGB/4KC + gv+Dg4P/hISE/4KCgv+BgYH/f39//319ff98fHz/enp6/3h4eP92dnb/dXV1/3Nzc/9xcXH/cHBw/25u + bv9sbGz/ampq/2hoaP9WVlb/Pj4+/yQkJP8JCQn/AAAA3wAAAI8AAAAvAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAvAAAAbwYGBp8RERHfHR0d/zMzM/9HR0f/W1tb/2tra/9sbGz/fn5+/39/f/+AgID/gICA/4GB + gf+CgoL/g4OD/4ODg/+CgoL/gICA/39/f/99fX3/e3t7/3p6ev94eHj/dnZ2/3V1df9zc3P/bW1t/1NT + U/9HR0f/NTU1/xwcHP8JCQn/AAAA7wAAAK8AAABvAAAALwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAA/AAAAbwAAAI8FBQW/ERER3w8PD/8bGxv/LS0t/y0t + Lf8tLS3/QkJC/05OTv9OTk7/TU1N/0lJSf8+Pj7/PT09/zw8PP8zMzP/IyMj/xwcHP8XFxf/AAAA/wAA + AP8AAAC/AAAArwAAAH8AAABPAAAAHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAA + AD8AAAA/AAAAPwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAbwAAAD8AAAA/AAAAPwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD//////////////+AAAAAAAAAAAAH////////////////////////////8AAAA + AAAAAAAAAB///////////////////////////8AAAAAAAAAAAAAAAf/////////////////////////8 + AAAAAAAAAAAAAAAAH////////////////////////8AAAAAAAAAAAAAAAAAB//////////////////// + ///+AAAAAAAAAAAAAAAAAAA///////////////////////AAAAAAAAAAAAAAAAAAAB////////////// + ////////gAAAAAAAAAAAAAAAAAAAA/////////////////////4AAAAAAAAAAAAAAAAAAAAAf/////// + ////////////8AAAAAAAAAAAAAAAAAAAAAAP///////////////////AAAAAAAAAAAAAAAAAAAAAAAP/ + /////////////////wAAAAAAAAAAAAAAAAAAAAAAAP/////////////////8AAAAAAAAAAAAAAAAAAAA + AAAAH////////////////+AAAAAAAAAAAAAAAAAAAAAAAAAH////////////////gAAAAAAAAAAAAAAA + AAAAAAAAAAH///////////////4AAAAAAAAAAAAAAAAAAAAAAAAAAH//////////////+AAAAAAAAAAA + AAAAAAAAAAAAAAAAH//////////////gAAAAAAAAAAAAAAAAAAAAAAAAAAAH/////////////8AAAAAA + AAAAAAAAAAAAAAAAAAAAAAH/////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAH////////////wA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAH///////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////// + ///gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf// + ////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf/////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAA/////////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////wAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAB////////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB////////wAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAD///////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH///////gAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAH//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////gAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAf/////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////gAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///// + gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + f////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAD////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf////AAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAB////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH////wAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAf///+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////4AAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAD////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH///+AAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAf///4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB////gAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH///+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf///4 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + H///+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf///4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAB////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////AAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAA////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////4AAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAf////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/////AAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/////4AAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAH/////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////AAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH/////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////// + 4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH//////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/ + /////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH//////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAA///////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH//////+AAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAB///////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////wAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAB////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf///////8AAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAH////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////gAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAP////////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////4AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////// + /AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH//////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB///// + //////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf + ///////////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAf////////////4AAAAAAAAAAAAAAAAAAAAAAAAA + AAAP/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAf//////////////AAAAAAAAAAAAAAAAAAAA + AAAAAAAH//////////////+AAAAAAAAAAAAAAAAAAAAAAAAAAAf//////////////4AAAAAAAAAAAAAA + AAAAAAAAAAAAD///////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////////AAAAAAAAA + AAAAAAAAAAAAAAAAAB///////////////+AAAAAAAAAAAAAAAAAAAAAAAAAAP///////////////8AAA + AAAAAAAAAAAAAAAAAAAAAAA////////////////wAAAAAAAAAAAAAAAAAAAAAAAAAH////////////// + //gAAAAAAAAAAAAAAAAAAAAAAAAA/////////////////AAAAAAAAAAAAAAAAAAAAAAAAAH///////// + ///////+AAAAAAAAAAAAAAAAAAAAAAAAA/////////////////8AAAAAAAAAAAAAAAAAAAAAAAAH//// + /////////////4AAAAAAAAAAAAAAAAAAAAAAAA//////////////////wAAAAAAAAAAAAAAAAAAAAAAA + H//////////////////gAAAAAAAAAAAAAAAAAAAAAAA///////////////////gAAAAAAAAAAAAAAAAA + AAAAAP///////////////////AAAAAAAAAAAAAAAAAAAAAAB///////////////////+AAAAAAAAAAAA + AAAAAAAAAAf///////////////////+AAAAAAAAAAAAAAAAAAAAAD////////////////////8AAAAAA + AAAAAAAAAAAAAAA/////////////////////8AAAAAAAAAAAAAAAAAAAAP/////////////////////4 + AAAAAAAAAAAAAAAAAAAD//////////////////////4AAAAAAAAAAAAAAAAAAAf///////////////// + /////gAAAAAAAAAAAAAAAAAAH///////////////////////AAAAAAAAAAAAAAAAAAB///////////// + //////////+AAAAAAAAAAAAAAAAAAf///////////////////////8AAAAAAAAAAAAAAAAAD//////// + ////////////////4AAAAAAAAAAAAAAAAA/////////////////////////4AAAAAAAAAAAAAAAAP/// + //////////////////////8AAAAAAAAAAAAAAAD//////////////////////////4AAAAAAAAAAAAAA + Af//////////////////////////gAAAAAAAAAAAAAAD//////////////////////////8AAAAAAAAA + AAAAAAf//////////////////////////wAAAAAAAAAAAAAAH//////////////////////////+AAAA + AAAAAAAAAAA///////////////////////////4AAAAAAAAAAAAAAP////////////////////////// + /AAAAAAAAAAAAAAB///////////////////////////8AAAAAAAAAAAAAAf///////////////////// + //////gAAAAAAAAAAAAAD///////////////////////////+AAAAAAAAAAAAAA///////////////// + ///////////wAAAAAAAAAAAAAH////////////////////////////AAAAAAAAAAAAAA//////////// + ////////////////4AAAAAAAAAAAAAP////////////////////////////gAAAAAAAAAAAAB/////// + /////////////////////8AAAAAAAAAAAAAH////////////////////////////wAAAAAAAAAAAAA// + //////////////////////////+AAAAAAAAAAAAAH////////////////////////////4AAAAAAAAAA + AAA/////////////////////////////AAAAAAAAAAAAAH////////////////////////////8AAAAA + AAAAAAAAf////////////////////////////gAAAAAAAAAAAAD////////////////////////////+ + AAAAAAAAAAAAAf////////////////////////////wAAAAAAAAAAAAD//////////////////////// + /////AAAAAAAAAAAAAf////////////////////////////8AAAAAAAAAAAAD/////////////////// + //////////gAAAAAAAAAAAAP////////////////////////////+AAAAAAAAAAAAB////////////// + ///////////////4AAAAAAAAAAAAH/////////////////////////////AAAAAAAAAAAAAf//////// + ////////////////////8AAAAAAAAAAAAB/////////////////////////////wAAAAAAAAAAAAH/// + /////////////////////////+AAAAAAAAAAAAAf////////////////////////////4AAAAAAAAAAA + AA/////////////////////////////gAAAAAAAAAAAAA////////////////////////////+AAAAAA + AAAAAAAB////////////////////////////wAAAAAAAAAAAAAB////////////////////////////A + AAAAAAAAAAAAAD///////////////////////////8AAAAAAAAAAAAAAH/////////////////////// + ////wAAAAAAAAAAAAAAP///////////////////////////AAAAAAAAAAAAAAAf///////////////// + /////////8AAAAAAAAAAAAAAA///////////////////////////gAAAAAAAAAAAAAAB//////////// + //////////////+AAAAAAAAAAAAAAAD//////////////////////////4AAAAAAAAAAAAAAAH////// + ////////////////////gAAAAAAAAAAAAAAAP/////////////////////////+AAAAAAAAAAAAAAAA/ + /////////////////////////4AAAAAAAAAAAAAAAB//////////////////////////gAAAAAAAAAAA + AAAAD/////////////////////////+AAAAAAAAAAAAAAAAP/////////////////////////4AAAAAA + AAAAAAAAAAf/////////////////////////gAAAAAAAAAAAAAAAB/////////////////////////8A + AAAAAAAAAAAAAAAD/////////////////////////wAAAAAAAAAAAAAAAAP///////////////////// + ////AAAAAAAAAAAAAAAAAf////////////////////////8AAAAAAAAAAAAAAAAB//////////////// + /////////wAAAAAAAAAAAAAAAAD/////////////////////////AAAAAAAAAAAAAAAAAP////////// + //////////////8AAAAAAAAAAAAAAAAA/////////////////////////wAAAAAAAAAAAAAAAAD///// + ////////////////////AAAAAAAAAAAAAAAAAH////////////////////////8AAAAAAAAAAAAAAAAA + f////////////////////////wAAAAAAAAAAAAAAAAB/////////////////////////AAAAAAAAAAAA + AAAAAH////////////////////////8AAAAAAAAAAAAAAAAAP////////////////////////wAAAAAA + AAAAAAAAAAA/////////////////////////AAAAAAAAAAAAAAAAAD////////////////////////+A + AAAAAAAAAAAAAAAAP////////////////////////4AAAAAAAAAAAAAAAAA///////////////////// + ////gAAAAAAAAAAAAAAAAD////////////////////////+AAAAAAAAAAAAAAAAAP/////////////// + /////////4AAAAAAAAAAAAAAAAA/////////////////////////gAAAAAAAAAAAAAAAAD////////// + //////////////+AAAAAAAAAAAAAAAAAP////////////////////////4AAAAAAAAAAAAAAAAA///// + ////////////////////gAAAAAAAAAAAAAAAAD////////////////////////+AAAAAAAAAAAAAAAAA + P////////////////////////4AAAAAAAAAAAAAAAAAf////////////////////////gAAAAAAAAAAA + AAAAAB////////////////////////+AAAAAAAAAAAAAAAAAH////////////////////////4AAAAAA + AAAAAAAAAAA/////////////////////////wAAAAAAAAAAAAAAAAD/////////////////////////A + AAAAAAAAAAAAAAAAP////////////////////////8AAAAAAAAAAAAAAAAA///////////////////// + ////wAAAAAAAAAAAAAAAAD/////////////////////////AAAAAAAAAAAAAAAAAP/////////////// + /////////8AAAAAAAAAAAAAAAAA/////////////////////////wAAAAAAAAAAAAAAAAD////////// + ///////////////AAAAAAAAAAAAAAAAAP////////////////////////+AAAAAAAAAAAAAAAAA///// + ////////////////////4AAAAAAAAAAAAAAAAD/////////////////////////gAAAAAAAAAAAAAAAA + P////////////////////////+AAAAAAAAAAAAAAAAA/////////////////////////4AAAAAAAAAAA + AAAAAD/////////////////////////gAAAAAAAAAAAAAAAAf/////////////////////////AAAAAA + AAAAAAAAAAB/////////////////////////8AAAAAAAAAAAAAAAAH/////////////////////////w + AAAAAAAAAAAAAAAAf/////////////////////////AAAAAAAAAAAAAAAAB///////////////////// + ////8AAAAAAAAAAAAAAAAH/////////////////////////4AAAAAAAAAAAAAAAA//////////////// + //////////gAAAAAAAAAAAAAAAD/////////////////////////4AAAAAAAAAAAAAAAAP////////// + //////////////+AAAAAAAAAAAAAAAAA/////////////////////////gAAAAAAAAAAAAAAAAH///// + ///////////////////8AAAAAAAAAAAAAAAAAf////////////////////////gAAAAAAAAAAAAAAAAB + ////////////////////////+AAAAAAAAAAAAAAAAAH////////////////////////wAAAAAAAAAAAA + AAAAA/////////////////////////AAAAAAAAAAAAAAAAAD////////////////////////+AAAAAAA + AAAAAAAAAAP////////////////////////8AAAAAAAAAAAAAAAAB/////////////////////////4A + AAAAAAAAAAAAAAAH/////////////////////////wAAAAAAAAAAAAAAAA////////////////////// + ////gAAAAAAAAAAAAAAAD//////////////////////////AAAAAAAAAAAAAAAAP//////////////// + /////////+AAAAAAAAAAAAAAAB//////////////////////////8AAAAAAAAAAAAAAAP/////////// + ///////////////4AAAAAAAAAAAAAAA///////////////////////////wAAAAAAAAAAAAAAH////// + /////////////////////gAAAAAAAAAAAAAA////////////////////////////gAAAAAAAAAAAAAD/ + ///////////////////////////AAAAAAAAAAAAAAf///////////////////////////+AAAAAAAAAA + AAAD////////////////////////////+AAAAAAAAAAAAAf////////////////////////////8AAAA + AAAAAAAAD/////////////////////////////8AAAAAAAAAAAA///////////////////////////// + /8AAAAAAAAAAAH//////////////////////////////8AAAAAAAAAAB//////////////////////// + ///////8AAAAAAAAAAP///////////////////////////////8AAAAAAAAAD/////////////////// + /////////////8AAAAAAAAA/////////////////////////////////+AAAAAAAAP////////////// + ////////////////////AAAAAAAH///////////////////////////////////wAAAAAD////////// + //////////////////////////8AAAAD//////////////////////////////////////4AAf////// + /////////////////////////////////////////////////////////////ygAAACAAAAAAAEAAAEA + IAAAAAAAAAgBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAUAAAAIAAAACwAAAA8AAAAVAAAAGwAA + AB4AAAAgAAAAKQAAADUAAAA8AAAAPQAAAD0AAAA9AAAAPAAAADwAAAA7AAAAOwAAADoAAAA5AAAAOQAA + ADgAAAA3AAAANgAAADQAAAAxAAAAKQAAACIAAAAcAAAAFwAAABMAAAAOAAAACgAAAAYAAAAEAAAAAgAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAgAAAAUAAAAJAAAADgAA + ABUAAAAdAAAAKAAAADgAAABWAAAAdQAAAI8AAACoAAAAvwAAAM0AAADXAAAA6gAAAO0AAAD0AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA8QAAAOwAAADoAAAA3AAAANIAAADIAAAAuAAAAKYAAACSAAAAeAAA + AGEAAABXAAAATQAAAEAAAAA0AAAAKQAAACAAAAAYAAAAEAAAAAsAAAAGAAAAAgAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEB + AQEBAQEEAQEBCQAAABAAAAAaAAAAKAAAAEUAAAB0AAAAngAAAMUAAADiAAAA/QAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+AAAAOcAAADOAAAAtAAAAJQAAAB1AAAAZAAA + AFUAAABFAAAANQAAACYAAAAaAAAAEAAAAAoAAAAFAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAUAAAAMAAAAFgAAACQAAABPAAAAigAAAMEAAADqAgIC/wEB + Af8DAwP/AwMD/wMBA/8BAgH/AgIC/wAAAP8AAQD/AQAB/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPoAAADiAAAAxAAAAKMAAAB9AAAAagAAAFUAAABCAAAAMQAA + ACIAAAAWAAAADQAAAAYAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAsAAAAWAAAALQAA + AG4AAACyAQEB6gICAv8EBAT/BQUF/wUFBf8FBQX/BQUF/wUDBf8DAwP/AwQD/wQEBP8CAgL/AwMD/wMD + A/8BAQH/AgIC/wAAAP8BAQH/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAPcAAADXAAAAswAAAIkAAAB0AAAAYQAAAEsAAAA2AAAAJAAAABYAAAAMAAAABQAA + AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAACAgIBAQEBBwAAABEAAAAlAAAAbQAAALsAAAD4AAAA/wYGBv8HBwf/BwcH/wcHB/8HBwf/BwcH/wcF + B/8HBQf/BQYF/wYGBv8GBAb/BAQE/wUFBf8FAwX/AwMD/wQEBP8CAgL/AwMD/wEBAf8CAgL/AAAA/wEA + Af8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA9wAA + ANcAAACrAAAAiQAAAHUAAABfAAAARwAAADIAAAAgAAAAEwAAAAoAAAADAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMCAgICCgAAABkAAABOAAAApwAAAPEAAAD/AAAA/wAA + AP8AAAD/BAQE/wgHCP8JCQn/CQkJ/wkHCf8JBwn/BwgH/wcIB/8ICAj/CAYI/wYHBv8HBwf/BwUH/wUG + Bf8GBgb/BAQE/wUFBf8DAwP/BAQE/wICAv8DAwP/AQIB/wIAAv8BAQH/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AQEB/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADsAAAAwQAAAJMAAACAAAAAbQAA + AFYAAAA+AAAAKgAAABkAAAAMAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAwQDAAAACwAA + AB0AAABxAAAAzwYFBv8FBQX/AAAA/wAAAP8AAAD/AAAA/wEBAf8AAAD/BwcH/woKCv8LCQv/CQoJ/wkK + Cf8KCgr/CggK/woICv8ICQj/CQkJ/wkHCf8HCAf/CAgI/wgGCP8GBwb/BwUH/wUGBf8GBAb/BQUF/wMD + A/8EAgT/AgMC/wEBAf8CAAL/AQEB/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQH/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA9gAAAMcAAACXAAAAhQAAAHQAAABfAAAARgAAAC4AAAAcAAAADwAA + AAYAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAEBAQEAAAADQAAACUAAACGAgIC5QgHCP8LCwv/CwsL/woJCv8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8DBAP/CQkJ/wwMDP8MDAz/DAwM/wwKDP8MCwz/CgsK/wsLC/8LCQv/CQoJ/woK + Cv8KCAr/CAkI/wkHCf8HCAf/CAYI/wYHBv8HBQf/BgYG/wQFBP8FAwX/BAQE/wIDAv8BAQH/AgAC/wEB + Af8AAAD/AAAA/wAAAP8AAAD/AAAA/wEBAf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + APQAAAC+AAAAkQAAAIYAAAB1AAAAXwAAAEkAAAAyAAAAHgAAAA8AAAAGAAAAAQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBQUCAAAACwAAACEAAACJAgIC7gkJ + Cf8MDAz/DAwM/w0LDf8MDAz/CAgI/wAAAP8AAAD/AAAA/wAAAP8AAAD/AQEB/wAAAP8IBwj/DAwM/w4N + Dv8ODA7/DA0M/wwNDP8NDQ3/DQsN/wsMC/8MDAz/DAoM/woLCv8LCQv/CQoJ/woICv8ICQj/CQcJ/wcI + B/8GBgb/BwUH/wUGBf8EBAT/BQMF/wQEBP8CAwL/AQIB/wAAAP8BAAH/AAAA/wAAAP8AAAD/AQEB/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8TExP/AQEB/wAAAP8AAAD/AAAA/wAAAP8AAADoAAAApAAAAIoAAACBAAAAcgAA + AF8AAABIAAAALwAAABsAAAANAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAFBQUBAwMDCAAAABcAAAB0AgIC5QoKCv8NDA3/DQ0N/w4MDv8ODA7/Dg4O/woKCv8DAwP/AAAA/wAA + AP8CAAL/AgIC/wEBAf8DAwP/BAME/wIBAv8LCgv/Dw8P/w4PDv8PDQ//Dw0P/w8ND/8NDg3/DgwO/w4M + Dv8MDQz/DQsN/wsMC/8MCgz/CgsK/wsJC/8JCgn/CggK/wkJCf8HCAf/CAYI/wcHB/8FBgX/BAQE/wUD + Bf8EAgT/AwMD/wIAAv8BAQH/AAAA/wAAAP8BAQH/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/yIiIv8ZGRn/BwcH/wAA + AP8AAAD/AAAA/wAAAP8AAAD9AAAAxQAAAIsAAACEAAAAegAAAGsAAABYAAAAQgAAACsAAAAYAAAADAAA + AAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBQAAABMAAABNAAAA0gkJCf8ODQ7/Dg0O/w0O + Df8PDQ//Dg8O/xAPEP8NDQ3/BwcH/wAAAP8AAAD/AAAA/wQEBP8EBAT/AwQD/wUDBf8GBgb/AwID/wYG + Bv8ODg7/ERAR/xEQEf8REBH/DxAP/xAOEP8QDxD/Dg8O/w8ND/8NDg3/DgwO/w4NDv8NCw3/CwwL/wwK + DP8KCwr/CwkL/woICv8ICQj/BwgH/wgGCP8HBwf/BQYF/wQFBP8DBAP/AwMD/wIAAv8AAQD/AQAB/wEB + Af8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/Hh4e/xwcHP8WFhb/DAwM/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAArgAA + AIQAAACAAAAAeQAAAG8AAABhAAAATwAAADoAAAAlAAAAFAAAAAgAAAACAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgUGAgAA + AAoAAAAmAAAAoQYHBv0ODQ7/Dw4P/w4NDv8QDxD/Dw4P/xEQEf8RDxH/ERAR/woKCv8BAQH/AAAA/wAB + AP8AAAD/BAIE/wYGBv8HBQf/BwcH/wYGBv8ICAj/AgIC/wsLC/8SERL/EhIS/xISEv8SEBL/EhES/xAR + EP8RDxH/ERAR/w8OD/8QDxD/Dg0O/w8OD/8ODA7/DA0M/w0LDf8LDAv/CgsK/wsJC/8KCAr/CAkI/wcI + B/8IBwj/BwUH/wYEBv8DBAP/AwMD/wICAv8AAAD/AgIC/wEBAf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8eHh7/HBwc/xUV + Ff8RERH/CwsL/wICAv8AAAD/AAAA/wAAAP8AAADFAAAAgAAAAH4AAAB6AAAAdQAAAG4AAABlAAAAVwAA + AEUAAAAxAAAAHQAAAA8AAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUEBQQAAAATAAAAVgIBAuIMDAz/Dw4P/xAPEP8PDg//ERAR/xAR + EP8SERL/ERAR/xMSE/8PDg//BQUF/wAAAP8DAgP/AwMD/wMDA/8BAQH/CQgJ/wkHCf8JCQn/CAgI/woK + Cv8JCAn/AwMD/w4ODv8TExP/EhMS/xMTE/8TERP/ExIT/xMSE/8REBH/EhES/xAREP8REBH/Dw4P/xAP + EP8PDQ//DQ4N/w4NDv8NCw3/CwwL/woLCv8LCQv/CggK/wkHCf8HCAf/BgcG/wYEBv8CAgL/AwMD/wEB + Af8DAwP/AQEB/wEBAf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/x4eHv8cHBz/FRUV/xEREf8LCwv/BQUF/wAAAP8AAAD/AAAA/wAA + ANIAAAB7AAAAdwAAAHUAAAByAAAAbgAAAGkAAABiAAAAWAAAAEoAAAA4AAAAJQAAABUAAAAJAAAAAwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMIAAAAHQAA + AJYGBgb9Dw4P/xAPEP8PEA//EA8Q/xIREv8REhH/ExIT/xMRE/8TExP/EhIS/wsLC/8BAAH/BAQE/wUD + Bf8EBQT/BgUG/wMCA/8IBwj/CwoL/wsLC/8KCwr/DAoM/w0MDf8FBQX/CAgI/xEREf8VFBX/ExIT/xMS + E/8UExT/EhMS/xMTE/8TERP/ExIT/xESEf8SERL/EA8Q/w8QD/8QDhD/Dg0O/w0ODf8ODQ7/DQsN/wsM + C/8KCwr/CQoJ/woJCv8JBwn/CAcI/wMDA/8EAgT/AgMC/wICAv8EBAT/AQIB/wEAAf8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/HBwc/xwc + HP8VFRX/ERER/wsLC/8EBAT/AAAA/wAAAP8AAAD/AAAA3QAAAHUAAABzAAAAbgAAAGsAAABpAAAAZQAA + AGEAAABcAAAAVQAAAEoAAAA9AAAALAAAABoAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAGBgYBAAAACwAAADUAAADKDAsM/xAPEP8REBH/EBEQ/xIQEv8TEhP/ExET/xMT + E/8SExL/FBIU/xQUFP8QDxD/BAQE/wMDA/8GBgb/BwUH/wYHBv8IBgj/CAgI/wQEBP8NDQ3/DA0M/w4N + Dv8NDA3/Dw4P/w8OD/8DAwP/Dg0O/xUUFf8WFRb/FhUW/xQTFP8VFBX/ExQT/xQSFP8SExL/ExMT/xMR + E/8TEhP/EhAS/xAREP8REBH/EA4Q/w4NDv8NDg3/Dg0O/w0MDf8MCgz/CwkL/woKCv8JCQn/BAQE/wMD + A/8EBAT/BAQE/wUFBf8EAgT/AQIB/wEBAf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8ZGRn/HBwc/xUVFf8RERH/CwsL/wQEBP8AAAD/AAAA/wAA + AP8AAADiAAAAcAAAAGwAAABqAAAAZwAAAGIAAABgAAAAXAAAAFkAAABUAAAATwAAAEcAAAA8AAAALQAA + ABwAAAAPAAAABgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwcHAgEAAQ0AAABNAwID6A8O + D/8REBH/EBEQ/xIQEv8TEhP/ExMT/xITEv8UEhT/ExQT/xUTFf8WFRb/FBMU/wsLC/8CAQL/CAcI/wcI + B/8JBwn/CAkI/woICv8LCgv/BAQE/wwMDP8QDxD/EA8Q/xAPEP8PDg//ERAR/w4NDv8FBAX/ERER/xcW + F/8WFRb/FxYX/xUUFf8WFBb/FhUW/xUTFf8TFBP/FBIU/xITEv8TExP/ExIT/xIQEv8QERD/ERAR/xAO + EP8PDQ//DQwN/wwNDP8LDAv/CgsK/woKCv8HBQf/BQUF/wMEA/8DAgP/BgYG/wUFBf8CAgL/AgIC/wEB + Af8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/xkZ + Gf8cHBz/FRUV/xEREf8LCwv/BAQE/wAAAP8AAAD/AAAA/wAAAOwAAABqAAAAaAAAAGUAAABgAAAAXgAA + AFoAAABVAAAAUwAAAE8AAABLAAAARgAAAEEAAAA4AAAALAAAAB8AAAARAAAABwAAAAIAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAgHCAIBAQERAAAAaAUFBfcQEBD/ERER/xIQEv8TEhP/ExMT/xITEv8TEhP/FRQV/xQT + FP8WFBb/FxYX/xcWF/8QEBD/BAQE/wYHBv8KCQr/CQoJ/wsJC/8KCwr/DAoM/w0NDf8DBA3/BgYK/xIR + Ev8SERL/EhAS/xISEv8REhH/ExMT/wgICP8JCQn/FBQU/xkYGf8XFhf/GBcY/xgXGP8WFRb/FxYX/xYU + Fv8UExT/FRQV/xMSE/8SExL/ExMT/xMSE/8SEBL/EBEQ/w8QD/8QDxD/Dw4P/w4NDv8NDA3/DAsM/wcI + B/8EBAT/BQMF/wMDA/8HBwf/BgYG/wMDA/8DAwP/AgIC/wEBAf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/GRkZ/xwcHP8VFRX/ERER/wsLC/8FBQX/AAAA/wAA + AP8AAAD/AAAA7AAAAGUAAABjAAAAXwAAAFoAAABYAAAAVAAAAE8AAABNAAAASQAAAEUAAABBAAAAPQAA + ADgAAAAxAAAAKAAAAB0AAAASAAAACAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICAgBAQEBDwAAAHYHBwf9ERAR/xIR + Ev8TEhP/ExMT/xITEv8TEhP/FRQV/xYVFv8VFBX/FxYX/xgXGP8YFxj/FhUW/wwKDP8DAwP/CwsL/wwK + DP8LDAv/DQsN/wwNDP8ODg7/DQ0M/wQEKv8FBjP/EREQ/xMTE/8SExL/FBIU/xQSFP8TEhP/FBQU/wUE + Bf8PDg//GBcY/xoZGv8aGRr/GBcY/xkYGf8XFhf/GBcY/xcWF/8VFBX/FhUW/xUUFf8TEhP/EhMS/xMT + E/8TEhP/EhES/xEPEf8QDhD/Dw0P/w4MDv8NDA3/CgoK/wUEBf8EBQT/BAME/wcHB/8IBwj/BgYG/wMD + A/8DAwP/AgIC/wEBAf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8bGxv/HBwc/xUVFf8RERH/CwsL/wMDA/8AAAD/AAAA/wAAAP8AAADrAAAAXwAAAF0AAABYAAAAVgAA + AFIAAABOAAAASQAAAEcAAABDAAAAPwAAADsAAAA3AAAAMwAAAC8AAAApAAAAIgAAABkAAAAQAAAACAAA + AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAEBAQkAAACDCQkJ/xEREf8SEhL/ExET/xITEv8UEhT/FRQV/xYVFv8VFBX/FhUW/xgX + GP8ZGBn/GBcY/xoZGv8SERL/BQQF/woKCv8NDA3/Dg0O/w0ODf8PDQ//EA8Q/xEQEf8ICAj/CAlM/wwO + Z/8ICAr/FRUV/xYVFv8WFRb/FhUW/xYUFv8WFhb/FBQU/wUFBf8SERL/Gxob/xoZGv8bGhv/GRgZ/xoZ + Gv8YFxj/GRgZ/xgXGP8WFRb/FRQV/xYVFv8VFBX/FBIU/xITEv8TERP/EhIS/xAREP8PEA//Dg8O/w0O + Df8NDA3/BQUF/wQEBP8EBAT/BwcH/wkJCf8GBgb/BgQG/wMEA/8DAwP/AgIC/wEBAf8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/x4eHv8cHBz/FRUV/xEREf8LCwv/AwMD/wAA + AP8AAAD/AAAA/wAAAOoAAABaAAAAVwAAAFIAAABQAAAATAAAAEgAAABDAAAAQQAAADsAAAA5AAAANQAA + ADEAAAAtAAAAKQAAACQAAAAgAAAAGQAAABMAAAALAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGBgYFAAAAfAsLC/8SERL/ExIT/xIT + Ev8UEhT/FRQV/xQTFP8VFBX/FhUW/xgXGP8ZGBn/GBcY/xkZGf8bGhv/GRgZ/w4ODv8EBAT/Dg4O/w8N + D/8QDxD/DxAP/xEPEf8SERL/ExIT/wUEFf8LDWL/DhBy/wYHMP8XFhb/GBcY/xgXGP8YFxj/GBcY/xcW + F/8cGxz/GBgY/wgICP8VFBX/HRwd/xsaG/8cGxz/Ghka/xsaG/8ZGRn/GBcY/xkYGf8YFxj/FhUW/xUU + Ff8UExT/FRQV/xQSFP8SExL/ExIT/xIREv8REBH/EA8Q/w8OD/8GBgb/BgYG/wQEBP8FBQX/CgoK/wkJ + Cf8GBQb/BgUG/wMEA/8DAwP/AgIC/wEAAf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/Hh4e/xwcHP8VFRX/ERER/wsLC/8CAgL/AAAA/wAAAP8AAAD/AAAA6QAAAFQAAABRAAAATQAA + AEgAAABGAAAAQgAAAD4AAAA5AAAANgAAADEAAAAtAAAAKQAAACUAAAAiAAAAHgAAABgAAAAVAAAAEAAA + AAoAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAACAgIAQAAAEUJCQn/EhES/xMSE/8SExL/ExIT/xUUFf8WFRb/FxYX/xgXGP8ZGBn/GBcY/xkY + Gf8bGhv/HBkc/xwbHP8VFRX/BgUG/w0MDf8QEBD/EQ8R/xIREv8REhH/ExIT/xMTE/8REBD/BAUv/w0P + bP8OEHL/DAxh/wwMDf8aGRr/Ghka/xoZGv8aGRr/GRgZ/xwbHP8sKyz/FBQU/wwMDP8ZGBn/Hh0e/xwb + HP8dHB3/Gxob/xwZHP8bGhv/GRgZ/xgXGP8ZGBn/GBcY/xcWF/8WFRb/FRQV/xMSE/8SExL/ExIT/xIR + Ev8RDxH/EA8Q/wkJC/8FBQX/BgQG/wQEBP8MCwz/CgkK/wcHB/8HBQf/BgUG/wMEA/8DAwP/AgIC/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8eHh7/HBwc/xUVFf8RERH/CwsL/wIC + Av8AAAD/AAAA/wAAAP8AAADhAAAATgAAAEsAAABHAAAAQwAAAD4AAAA8AAAAOAAAADQAAAAwAAAALAAA + ACgAAAAkAAAAIAAAABoAAAAXAAAAEwAAAA8AAAAKAAAABAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGBgYEAAAAZw8PD/8TEhP/EhMS/xUU + Ff8WFRb/FRQV/xYVFv8XFhf/GRgZ/xkZGf8bGhv/HBsc/xsaG/8dHB3/HBsc/xEQEf8FBQX/EhES/xIS + Ev8TEhP/EhMS/xQSFP8TEhP/FhUW/woJDP8ICU7/DQ9x/w4Qcv8OEHL/Bgcq/xsaGv8cGxz/Gxsb/xsb + G/8cGxz/Gxob/ykoKf85ODn/Dg0O/xAQEP8dGx3/Hx4f/x0cHf8eHR7/HBwc/xsaG/8cGxz/Gxob/xkZ + Gf8YGBj/FxYX/xYVFv8VFBX/FhUW/xUUFf8UExT/ExET/xISEv8RERH/Dg0O/wUFBf8GBAb/BAQE/w8O + D/8RERH/CgoK/wcIB/8HBQf/BAUE/wQEBP8DAwP/AgAC/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/yMjI/8bGxv/FRUV/xEREf8LCwv/AQEB/wAAAP8AAAD/AAAA/wAAANIAAABIAAAARQAA + AEEAAAA9AAAAOQAAADQAAAAwAAAALAAAACgAAAAkAAAAIQAAAB0AAAAXAAAAEwAAABAAAAAMAAAACAAA + AAIAAAABAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAQEBAYAAABcDg4O/xQTFP8VFBX/FhUW/xcWF/8YFxj/GRgZ/xoZGv8ZGRn/HBkc/xsa + G/8cHBz/Hh0e/x8dH/8YFxj/CAcI/w4NDv8TEhP/EhMS/xMSE/8VExX/FhUW/xUUFf8YFxj/BQUY/wsN + Yv8OEHL/DhBy/w4Qcv8KDFz/EA8Q/x8dH/8fHR//Hx0f/x0dHf8dHB3/Hh0e/zk4Of8/Pz//CQkJ/xQT + FP8fHh//IB8g/x4dHv8fHB//Hh0e/xwcHP8bGhv/HBkc/xsYG/8aGRr/GRgZ/xgXGP8XFhf/FhUW/xUU + Ff8UEhT/ExMT/xISEv8REBH/BQUG/wYEBf8EBAX/Dw4P/xgYGP8QEBD/CAgI/wgGCP8FBgX/BQUF/wQE + BP8DAQP/AAEA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/IyMj/xsbG/8VFRX/ERER/wsL + C/8AAAD/AAAA/wAAAP8AAAD/AAAA0AAAAEEAAAA/AAAAOwAAADcAAAAzAAAALwAAACsAAAAnAAAAIwAA + AB8AAAAZAAAAFgAAABIAAAAOAAAACAAAAAQAAAABAAAAAQAAAAIAAAACAAAAAQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQECAAAAGAPDg//FRQV/xYV + Fv8XFhf/FxcX/xgYGP8aGRr/Ghka/xkYGf8dHB3/Hh0e/x8cH/8eHh7/Hx4f/xISEv8FBAX/ExMT/xMS + E/8VExX/FhUW/xcWF/8YFxj/GRgZ/xUUFP8FBS//DQ9s/w4Qcv8OEHL/DhBy/w4Qcv8HCCb/IR8h/yEe + If8hHiH/IR8h/x8fH/8fHh//JSMl/0pJSv8/Pj//CQgJ/xgXGP8hICH/ISAh/x8fH/8eHR7/Hxwf/x4d + Hv8dHB3/HBsc/xoaGv8ZGRn/GBgY/xcXF/8XFhf/FhUW/xUUFf8UEhT/ExMT/xISEv8ICAn/BQUF/wQE + Bf8JCQn/ISAh/xsbG/8JCQn/CQcJ/wgHCP8FBgX/BQUF/wQCBP8BAgH/AQEB/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wQEBP8jIyP/Gxsb/xUVFf8RERH/CwsL/wAAAP8AAAD/AAAA/wAAAP8AAAC3AAAAOwAA + ADcAAAAzAAAALwAAAC0AAAAnAAAAJAAAACAAAAAcAAAAFgAAABIAAAAPAAAACwAAAAUAAAACAAAAAQAA + AAIAAAACAAAAAgAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAFBQUIAAAAUw4NDv8WFRb/FhUW/xcWF/8aFxr/Gxkb/xkYGf8aGRr/GBcY/x4d + Hv8eHh7/Hx8f/yEgIf8bGhv/CgoK/wwMDP8VFBX/FhUW/xcWF/8YFxj/GRgZ/xoXGv8bGhv/DAsN/wgJ + Tv8OD3H/DRBy/w0Qcv8OEHL/DhBy/wkLVv8WFBX/IyIj/yMiI/8jICP/IyEj/yEhIf8hICH/Ly4v/1lZ + Wf85ODn/CgoK/xkYGf8iISL/Ih8i/yEgIf8fHx//Hh4e/x0dHf8cGxz/HRod/xwZHP8bGBv/Ghca/xcW + F/8WFRb/FRQV/xUUFf8UEhT/ExMT/w4NDv8FBQX/BgQG/wQEBP8lJSX/Jycn/w0MDf8JCAn/CQgJ/wYH + Bv8GBgb/BQMF/wIDAv8CAgL/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BgYG/yMjI/8bGxv/FRUV/xER + Ef8KCgr/AAAA/wAAAP8AAAD/AAAA/wAAAKsAAAA1AAAAMgAAAC4AAAAqAAAAJgAAACIAAAAcAAAAGAAA + ABUAAAARAAAADQAAAAcAAAADAAAAAQAAAAEAAAACAAAAAgAAAAIAAAACAAAAAgAAAAEAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUFBQcAAABGDg0O/xgX + GP8ZGBn/Ghka/xsaG/8cGxz/Gxob/xgXGv8YFxj/Hx4f/yEeIf8iHyL/IiEi/xYVFv8FBQX/FhUW/xcW + F/8YFxj/GRgZ/xoZGv8bGhv/HBkc/x0cHf8HBhf/DA1h/w8Qcv8OD3H/Dw9x/w0Qcf8NEHL/DhBy/wcI + H/8lIyX/JSQl/yUiJf8lIyX/IyMj/yQjJP8jISP/PTw9/2VkZf8wMDD/CwsL/xoZGv8jIiP/ISEh/yIf + Iv8hHiH/IB0g/x8eH/8eHR7/HRwd/xwbHP8bGhv/Ghka/xkYGf8YFxj/FRQV/xUUFf8UEhT/EhIS/wUE + Bf8GBQb/BAQE/yAgIf8vLy//GBcY/woJCv8KCQr/BwgH/wcHB/8GBAb/AwQD/wMDA/8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8KCgr/IyMj/xsbG/8VFRX/ERER/wcHB/8AAAD/AAAA/wAAAP8AAAD/AAAAmQAA + AC4AAAAsAAAAJgAAACIAAAAfAAAAGwAAABUAAAATAAAADQAAAAoAAAAEAAAAAQAAAAEAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAABAQEBQAAACsLDAv/GRgZ/xoZGv8bGhv/HBsc/x0cHf8cGxz/GBcY/xgW + GP8gHyD/IiEi/yMiI/8hICH/EA8Q/woKCv8YFxj/GRgZ/xoZGv8bGhv/HBsc/x0cHf8dHB3/HBsb/wUF + LP8QEHH/ERF5/xEQd/8PEXT/Dg9y/w4Pcf8PEHL/CQtV/xkZGP8nJif/JyYn/yckJ/8nJSf/JSUl/yYj + Jv8kIyT/TUxN/29ub/8xMTH/DQwN/xsZG/8kIiT/IyIj/yEhIf8gICD/Hx8f/x4eHv8dHR3/HRwd/xwb + HP8bGhv/Ghka/xkYGf8YFxj/FRQV/xUUFf8UExT/CQgJ/wUEBf8EBAT/FhYW/zc2N/8pKCn/CwoL/wsK + C/8ICQj/CAgI/wUFBf8FBQX/BAIE/wECAf8BAQH/AAAA/wAAAP8AAAD/AAAA/w4ODv8jIyP/Gxsb/xUV + Ff8RERH/BgYG/wAAAP8AAAD/AAAA/wAAAP8AAAB6AAAAKAAAACUAAAAhAAAAHQAAABcAAAAUAAAAEAAA + AAwAAAAGAAAAAgAAAAEAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAABAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANDA0CAAAAFQoK + CvwaGRr/Gxob/xsbG/8cHBz/Hh0e/xsbG/8YFxj/FxYX/yEgIf8kIiT/JCMk/x0cHf8IBwj/FhUW/xoZ + Gv8bGhv/HBsc/x0cHf8eHR7/Hhwe/yUkJf8WFxb/CwpP/xMSg/8UE4X/EhOE/xMRgv8SEn7/ERB4/w8P + cv8PEHL/Cgoh/yooKv8oKCj/KSYp/yknKf8nJyf/KCUo/yYmJv8nJSf/V1VX/3d2d/80NDT/DQwN/xsa + G/8kIyT/JCIk/yMhI/8iICL/IR4h/yAdIP8dHR3/HBwc/xsbG/8bGhv/Ghka/xkYGf8YFxj/FRQV/xUU + Ff8PDg//BAQF/wQEBP8ICAj/PT09/zo6Ov8NDQ3/DAoM/wkKCf8JBwn/BgcG/wYGBv8FAwX/AgMC/wIC + Av8AAAD/AAAA/wAAAP8AAAD/FRUV/yMjI/8bGxv/FRUV/xEREf8EBAT/AAAA/wAAAP8AAAD/AAAA/wAA + AF4AAAAhAAAAHgAAABoAAAAUAAAAEgAAAAwAAAAIAAAABAAAAAEAAAABAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMJCQgJ4xsaG/8bGxv/Hhwe/x8cH/8gHiD/Hhwe/xgX + GP8XFhf/IyEj/yUjJf8lJCX/GBcY/wgICP8aGRr/HBkc/x0cHf8eHR7/Hx4f/yAdIP8gHiD/MS8x/xEQ + GP8RD3H/FxSS/xYTkv8XE5H/FhSO/xMSiv8SE4T/EhJ8/xARdv8JClH/Hh0d/ywqLP8qKir/Kygr/ykp + Kf8qJyr/KCgo/ygmKP8oJij/XFtc/39+f/83Nzf/DAwM/xsaG/8kIyT/JCIk/yMgI/8iISL/ISAh/yAd + IP8fHB//Hhwe/xsbG/8bGhv/Ghka/xkYGf8WFRb/FhUW/xQUFP8FBQb/BAQE/wQEBP83Nzf/RERE/x0d + Hf8MCwz/CgsK/woICv8HCAf/BwcH/wQEBP8EBAT/AwED/wABAP8AAAD/AAAA/wAAAP8bGxv/IyMj/xsb + G/8VFRX/ERER/wEBAf8AAAD/AAAA/wAAAP8AAAD/AAAAPgAAABoAAAAWAAAAEwAAAA8AAAAJAAAABQAA + AAIAAAABAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4N + DgMGBgbKHBsc/x4cHv8fHB//IB8g/yEgIf8fHR//FxYX/xYVFv8lJCX/JiUm/yQjJP8REBH/Dw8P/xwb + HP8cHBz/Hxwf/yAdIP8hHiH/IR8h/yQiJP8+PT7/CQgn/xYTh/8bFp7/Gxaf/xkWnf8ZFpr/GBWV/xYT + j/8TE4j/ERKA/xEReP8KChz/Liwu/ywsLP8tKi3/LSst/ywpLP8qKir/Kykr/yknKf8pJyn/YWBh/4SD + hP88Ozz/CwsL/xsaG/8lIyX/JCMk/yIiIv8iISL/ISAh/yAfIP8fHB//Hhwe/xsbG/8bGhv/Ghka/xkY + Gf8WFRb/FhUW/wsLC/8EBAT/BAQE/yQkJP9MS0z/NDM0/wwMDP8MDAz/CwkL/wgJCP8IBgj/BQYF/wUF + Bf8CAgL/AgIC/wAAAP8AAAD/AAAA/yEhIf8jIyP/Gxsb/xUVFf8RERH/AAAA/wAAAP8AAAD/AAAA/wAA + APgAAAAXAAAAFQAAABEAAAALAAAABwAAAAMAAAABAAAAAQAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDA7AdHB3/Hxwf/yAfIP8hICH/IiEi/yAf + IP8XFhf/FhUW/yclJ/8oJij/IR8h/wkJCf8aGBr/Hh0e/x8eH/8fHx//ICAg/yMhI/8jISP/MS8x/zs5 + O/8LCUb/HBaf/x4Yq/8dF6v/Hhip/xsWpv8bF6D/GRaZ/xcTkf8TE4n/EhKA/woLVf8hHyD/MC4w/y4s + Lv8vLS//LSst/y4sLv8tKy3/LCos/yooKv8qKCr/ZGNk/4iHiP9NTU3/CQkJ/xsZG/8kIyT/JSMl/yIi + Iv8iISL/ISAh/yAfIP8fHB//HBwc/xwbHP8bGhv/Ghca/xcXF/8XFhf/FBMU/wQEBP8EBAT/DQ0N/1FR + Uf9NTE3/Dw8P/wwLDP8MCwz/CQoJ/wkHCf8GBwb/BgQG/wMEA/8DAwP/AAAA/wAAAP8AAAD/KCgo/yMj + I/8bGxv/FhYW/w4ODv8AAAD/AAAA/wAAAP8AAAD/AAAA0gAAABEAAAAOAAAACAAAAAQAAAABAAAAAQAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAABAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAABgYGkB8dH/8gHSD/ISAh/yIhIv8jIiP/ISAh/xcWF/8VFRb/KCYo/yknKf8cGxz/CQgJ/x4d + Hv8gHSD/ISAh/yIhIv8jIiP/IyMj/yQjJP8/PT//MC8v/w8NXv8gGrH/Ihu3/yIbuP8hGrb/Hxix/x4X + q/8cFqP/GBaa/xcTkf8TE4f/EhKD/woLH/8yMDL/MS8x/zEvMf8vLS//MC4w/y8tL/8uLC7/LSst/ysp + K/8rKSv/XFtc/4qIiv9bWlv/CgkK/xcWF/8jIiP/JSMl/yIiIv8iISL/ISAh/yAdIP8fHR//HBwc/xwb + HP8bGhv/GBcY/xgXGP8XFhf/CQkJ/wQEBP8EBAT/Q0JD/1dXV/8nJif/DQwN/wsMC/8LCQv/CAkI/wgI + CP8FBQX/BQUF/wQCBP8CAgL/AAAA/wcHB/8pKSn/IyMj/xsbG/8WFhb/CwsL/wAAAP8AAAD/AAAA/wAA + AP8AAACoAAAACgAAAAYAAAACAAAAAQAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALCwtuHRwd/yEgIf8iISL/IiIi/yUj + Jf8jISP/FxYX/xgXGP8pKCn/KScp/xYVFv8NDQ3/IB8g/yAgIP8jICP/JCEk/yUkJf8mJSb/JiUm/09N + T/8jIyb/EhBz/yQes/8uKMX/LyjF/y0mwv8mIL3/IBq1/x8ZrP8cFqL/GRaX/xYTkP8SEof/Skt2/yEg + IP8yMDL/MjAy/zIwMv8wLjD/MS8x/zAuMP8vLS//Liwu/y0rLf8qKCr/VVNV/4mIif9qamr/Dw4P/xUU + Ff8iICL/JSMl/yIiIv8iISL/ISAh/yAdIP8dHR3/HRwd/xwbHP8ZGBn/GRgZ/xgXGP8SEhL/BAQE/wQE + BP8jIiP/Xl1e/0lISf8ODQ7/DA0M/wwKDP8JCgn/CQcJ/wYHBv8GBAb/AwQD/wMDA/8AAAD/ERER/ykp + Kf8jIyP/Gxsb/xYWFv8HBwf/AAAA/wAAAP8AAAD/AAAA/wAAAHIAAAADAAAAAQAAAAEAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAABAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAwLDE4aGBr/IiEi/yIiIv8lIyX/JiQm/yMiI/8XFhf/GRgZ/yopKv8nJif/Dw8P/xYV + Fv8hICH/IyAj/yMjI/8mJCb/JyQn/yglKP8oJij/YF5g/zIyNP8lJW//Hhmr/zYvy/88NdL/ODHP/zEr + yP8pIb7/IBm0/xwXqf8bF53/GBaX/xIRh/+ursv/QUFB/zIvMv8zMTP/MzEz/zEvMf8yMDL/MC4w/zEv + Mf8wLjD/LS0t/y0qLf8rKSv/SUhJ/4SEhP91dHX/FhYW/xISEv8fHR//JCMk/yMiI/8iISL/IR4h/x4e + Hv8eHR7/HRwd/xoZGv8aGRr/GRgZ/xcWF/8ICAj/BAQE/wYGBv9bWlv/YGBg/x0cHf8NDA3/DQwN/woL + Cv8KCAr/CAgI/wUFBf8FBQX/AgIC/wEBAf8dHR3/KSkp/yMjI/8bGxv/FhYW/wMDA/8AAAD/AAAA/wAA + AP8AAAD/AAAAOAAAAAEAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAsMJhQTFP8jIiP/IyMj/yYk + Jv8nJSf/JCMk/xcWF/8bGhv/LCos/yQiJP8JCQn/IB4g/yMhI/8jIyP/JiMm/yYmJv8pJyn/KScp/y4t + Lv9ramv/Q0NB/5iYqv8ZF5P/KCK8/0dA3v9DPdr/OjTR/zApxv8kHbr/Hhmt/x0Xpf8aF53/EhGC/9XU + 4f+4uLj/Hh0e/zQyNP8yMjL/MzAz/zMxM/8xLzH/MjAy/zEvMf8wLjD/Ly0v/ywsLP8rKSv/PTw9/3l4 + ef98fHz/JSQl/w8OD/8cGhz/JCIk/yMiI/8iHyL/Hx8f/x8eH/8eHR7/Gxob/xsaG/8YFxj/GBcY/xIS + Ev8EBAT/BAQE/zU1Nf9mZmb/Q0JD/w4NDv8MDQz/DAoM/wkKCf8JBwn/BgcG/wYEBv8DBAP/AgEC/ykp + Kf8pKSn/IyMj/xsbG/8WFhb/AAAA/wAAAP8AAAD/AAAA/wAAAPQAAAADAAAAAQAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAATFBMBDw4P+CQjJP8kJCT/JyUn/ygmKP8lJCX/FxYX/x4dHv8tKy3/IB8g/wsK + C/8jISP/IyMj/yYjJv8mJib/KSYp/ykpKf8rKSv/Ojk6/2ppav9SUVH/09LQ/3p8qf8eGqr/OjTR/0xG + 4/9BOtj/NS7L/ychvv8gGrP/Hxqr/xsXov8bG4T/9vb0//b29f9KSUn/MzEy/zQxNP80MjT/NDIy/zIw + M/8zMTP/MjAy/zEvMf8wLjD/Ly0v/ywsLP8rKSv/MzIz/2tqa/96eXr/ODg4/woJCv8ZGBn/IiAi/yMh + I/8gICD/IB8g/x8cH/8cHBz/HBsc/xkYGf8ZGBn/FxYX/wkICf8EBAT/CwsM/2ZmZv9kZGT/Ghka/w0M + Df8LDAv/CwkL/wgJCP8ICAj/BQYF/wQDBP8JCAn/MTEx/yoqKv8jIyP/HBwc/xEREf8AAAD/AAAA/wAA + AP8AAAD/AAAAswAAAAEAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICAjPJSQl/yUl + Jf8oJij/KScp/yYlJv8YFxj/ISAi/y4sLv8dGh3/Dg0O/yQjJP8mIyb/JiYm/ykmKf8pKSn/LCks/ywq + LP9DQUP/ZmVm/2NiYv/Y19X/6Ojn/zs8kP8qI8H/Rj/e/0M82v82L83/KSK+/yEbtP8gG7D/HBin/z09 + k//19fP/9fX0/8jIyP8aGRr/NTM1/zUzM/8zMTT/NDI0/zIwMv8zMTP/MjAy/zEvMf8wLjD/Ly0v/ywq + LP8rKSv/LCos/1pZWv9zcnP/S0tL/woKCv8VExX/IB8g/yIhIv8hICH/IB0g/x0dHf8dGh3/Ghoa/xoZ + Gv8YFxj/FBMU/wUEBf8FBAX/Ozo7/2lpaf9EQ0T/Dg0O/wwNDP8MCgz/CQoJ/wkHCf8HBwf/BAQE/xgX + GP8xMTH/Kioq/yMjI/8cHBz/CgoK/wAAAP8AAAD/AAAA/wAAAP8AAABjAAAAAQAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAZcmJSb/JiYm/yknKf8qKCr/JyYn/xgXGf8nJSf/Liwu/xYW + Fv8UExT/JiQm/yYmJv8pJin/Kykr/ywpLP8sLCz/Liwu/09NT/9cXFz/cXFw/9zb2v/q6ej/ycnV/yAf + mf81LdL/PjjW/zQty/8oIb3/Ihy2/yEbsv8dGKr/Z2ij//X08//18/T/9vb2/1taWv8xLzH/NTM1/zUz + Nf8zMzP/NDI0/zIwMv8zMTP/MjAy/zEvMf8wLjD/Ly0v/y0rLf8qKCr/KCco/0ZFRv9nZmf/VVZV/xIS + Ev8RERH/HBsc/yIgIv8fHx//Hx4f/xwbHP8cGxz/Gxgb/xgYGP8YFxj/DAsM/wUFBf8MDAz/ZmZm/2Ni + Y/8ZGRn/DQwN/wsMC/8LCQv/CAkI/wgGCP8FBQX/Kioq/zIyMv8pKSn/IiIi/xwcHP8EBAT/AAAA/wAA + AP8AAAD/AAAA/AAAABMAAAABAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg0OXiEf + If8oJyj/Kigq/yspK/8oJyj/GRga/yspK/8sKyz/ERAR/xsbG/8nJSf/KScp/ykpKf8sKSz/Liwu/y8t + L/8vLS//UU9R/2FfYf9xcXD/3Nva/+rp6P/s6+n/jY6z/ysmu/81L9L/LynI/ykiv/8kHrj/IBqz/xsX + pf+Oj7f/8/Py//P08v/19fT/1NPT/x4dHv82NDb/NDQ0/zUyNf81MzP/NDE0/zIyMv8zMTP/MjAy/zEv + Mf8wLjD/Liwu/ywpLP8pKSn/KCYo/zUzNf9XVlf/V1ZX/x4eHv8MCwz/GRgZ/yAfIP8gHiD/HR0d/x0c + Hf8aGRr/Ghka/xcWF/8WFRb/BgYH/wUFBf8wMDH/ZWRl/0RERP8NDQ3/DQsN/woLCv8KCAr/BwcH/woJ + Cv85ODn/MTIx/ysrK/8kJCT/Ghoa/wAAAP8AAAD/AAAA/wAAAP8AAACrAAAAAQAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODQ4dFhUW/ykoKf8rKSv/LCos/ygnKP8bGhv/Ly0v/ysp + K/8NDA3/JCIk/ygnKP8qJyr/LCos/ywsLP8vLS//MC4w/zAuMP9TUVP/Xl1e/319fP/c29r/6ejn/+no + 5//t7Or/Tk6b/yYhwP8gG7r/HBez/xcTrf8VEqn/FBGg/1pcm//19PP/9PLz//X09P/29vb/b29v/y8u + L/82NDb/NjQ0/zQyNf81MzP/NDE0/zIwMv8zMTP/MjAy/zEvMf8vLC//LCws/ywqLP8qKCr/JyUn/yko + Kf9FREX/TEtM/ywrLP8JCQn/FhUW/x4cHv8fHh//HBsc/xwbHP8ZGBn/GRgZ/xcWF/8REBH/BgUG/wgH + CP9WVVb/XVxd/yEgIf8MDAz/DAoM/wkKCf8IBwj/HRwd/zo5Ov8zMzP/Kioq/yQkJP8QEBD/AAAA/wAA + AP8AAAD/AAAA/wAAAEcAAAABAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAABAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAKCQrPKigq/ywqLP8tKy3/KCco/x0cHv8xLzH/KCco/wwLDP8oJij/Kigq/yoqKv8tKi3/Ly0v/zAu + MP8xLzH/MS8x/1RSVP9gX2D/gYGA/9va2f/p6Of/6uno/+vq6f+Vlrr/Hxux/yEcu/8hHLj/IBq0/x4Z + sP8cGKn/FhSS/3R1qP/09PP/9PLz//X09P/o5+f/Hx8f/zc1Nv81Mzb/NjQ0/zQyNf8zMzP/NDI0/zIw + Mv8zMTP/MjAy/y8tL/8vLS//LSst/yspK/8pJyn/JiQm/yQjJP8yMTL/Pjw+/zAvMP8MDAz/FBMU/x0b + Hf8fHR//HRwd/xoZGv8aFxr/GBcY/xYVFv8LCgv/BgUG/x4eHv9bW1v/SklK/w8OD/8LDAv/CwkL/wgI + CP81NTX/Ojo6/zIzMv8sLCz/JCQk/wYGBv8AAAD/AAAA/wAAAP8AAADYAAAAAAAAAAIAAAACAAAAAgAA + AAIAAAACAAAAAgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgHCHooJij/LCss/y4sLv8qKCr/IiEi/zIw + Mv8pJyn/Dw4P/yknKf8rKSv/Kysr/y4rLv8wLjD/MS8x/zIwMv8yMDL/VVNV/2NiY/92dnX/29rZ/+no + 5//q6ej/5ufn/01Rmv8pI8P/KCK+/yUfuf8iHLX/IBqv/x0Zpv8aF53/EhKF/42Ptf/09PL/9PTz//X0 + 9P9oaGj/Kikq/zc1Nv81Mzb/NjQ0/zUyNf8zMTP/NDI0/zMxM/8xLzH/MS8x/y4uLv8sLCz/Kioq/ygo + KP8mJib/JCQk/yIhIv8mJSb/Li0u/ykoKf8NDQ3/FBMU/yAfIP8dHB3/HRwd/xkYGf8ZGBn/FxYX/xUU + Ff8IBwj/BgYG/zs6O/9SUVL/LCss/wwLDP8KCgr/FhUW/0JCQv87OTv/NDI0/ywsLP8eHh7/AAAA/wAA + AP8AAAD/AAAA/wAAAGcAAAABAAAAAgAAAAIAAAACAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAADw4PIRcWF/8tKy3/Ly0v/ykoKf8mJSb/MjAy/ywqLP8REBH/Kigq/ywqLP8uLC7/Liwu/zEv + Mf8yMDL/MzEz/zIwMv9WVFb/Z2Zn/21sbP/W1dT/6Ofm/+no5//R1d3/HByT/yYgu/8jHbf/Ix21/yEb + sf8dGKr/HBii/xkWmf8WFJD/Dg96/6eoxf/09PL/3Nzb/3h4eP8rKiv/NjU2/zc1Nf82Mzb/NDQ0/zUz + Nf80MTT/MjAy/zMxM/8yMDL/MC0w/y4rLv8sKSz/Kicq/yglKP8mIyb/JCEk/yEfIf8fHh//Hx0f/wkJ + Cf8gHyD/IR4h/x8eH/8cGxz/HBsc/xoZGv8YFxj/FhUW/xIREv8HBgf/DAsM/0dHR/9HR0f/FhYW/wsK + C/81NDX/QkJC/zo7Ov80NDT/LCws/w0NDf8AAAD/AAAA/wAAAP8AAADoAAAABwAAAAEAAAAAAAAAAQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQQFuy4sLv8wLjD/Kykr/yoo + Kv8zMTP/MzEz/wwMDP8lJCX/LSst/y8tL/8wLjD/MjAy/zMxM/8yMDL/MzEz/1ZVVv9oaGj/YWBg/8rI + yP/n5uX/6Ojn/5GUtv8eGKf/Ihu2/yIctP8gGrD/Hhqq/xwXo/8ZF5v/FhST/xUSiv8REYP/DxFy/7a3 + zv+npqb/oJ+e/6Cfnv8eHR7/NzU3/zU1Nf82NDb/NTI1/zMzM/80MjT/MzEz/zEvMf8xLzH/Ly0v/y0r + Lf8rKSv/KScp/yclJ/8jIyP/IiEi/x8eH/8MCwz/KCco/ykoKf8kIiT/Hx4f/x0cHf8bGhv/Gxob/xkY + Gf8XFhf/FRQV/w8PEP8HBgf/Gxsb/0VFRf83Njf/GRgZ/0lJSf9BQkH/PDo8/zQ0NP8iIiL/AQEB/wEB + Af8AAAD/AAAA/wAAAG4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAPDg8+Hx0f/zAuMP8sKiz/LSst/zMxM/8zMjP/LSst/xwbHP8VFBX/FxYX/ygm + KP8yMDL/MzEz/zQyNP8zMTP/SkhK/3Z1dv8xMTH/nJub/9rZ2P/p6Ob/UFGZ/yAasf8fG6//Hxmv/yAZ + sf8gGbH/HRir/xoWof8YFJT/EhKH/xESff8ND3X/ExZs/3Z2eP/Rz83/19bU/1JSUf8yMDH/NzU3/zYz + Nv80NDT/NTM1/zQyNP8yMDL/MzEz/zAuMP8wLjD/Liwu/yoqKv8oKCj/JiYm/yUiJf8jISP/DAsM/zAv + MP81NDX/Ly4v/ywrLP8nJif/ISAh/x0cHf8aGRr/Ghka/xYVFv8UExT/FBMU/wwMDP8HBwf/Kysr/zo6 + Ov9QT1D/SUhJ/0NBQ/88PDz/MTEx/wkICf8CAgL/AAAA/wAAAP8AAADgAQEBBQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAS8Ly0v/y0r + Lf8xLzH/MzEz/zQyNP80MjT/MzEz/ykoKP8REBH/AAAA/w0NDf8xLzH/NDI0/zQyM/9GREX/fn59/z49 + Pf9qa2n/oqKh/9TT1v8ZGYn/Hhin/x4Zrv8nILv/MCrG/zErx/8qIr//Hxmx/xsXof8WFI//EBB7/w0P + cv8mJ2D/srGu/9bU0//b2tj/1NPR/yAgIP83NTf/NTU2/zY0NP81MzX/MzE0/zQyMv8zMTP/MjAy/y8t + L/8uKy7/LCks/yooKv8oJij/JSQl/w4NDv83Njf/QD9A/zw7PP82Njb/MzAz/y4tLv8oKCj/JSIl/x8d + H/8aGRr/GBcY/xUUFf8TEhP/ExMT/wsLDP8JCQn/QkJC/2tra/9RUFH/QkJC/zs7O/8TEhP/BAME/wMD + A/8AAAD/AAAA/wAAAFIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAABkYGR0TEhP0Ly0v/zMxM/8zMjP/MzEz/y0sLf8hICH/Dw8P/woK + Cv8iISL/MzEz/zQyNP8zMTP/NDI0/z48Pf+GhYb/Pj4+/6yrq/9+fX3/ZWaB/xYUkf8bF6T/JB25/zYv + zf9DPdr/RT/c/zkz0P8pIr3/Hheq/xgVlv8TEoL/Dg5u/3Fye//W1NL/2dnY/+Dd3P/l5OP/nJua/yMh + Iv83NTb/NjQ2/zQyNf81MzP/NDI0/zMxM/8yMDL/MS8x/y0tLf8rKyv/Kicq/ygmKP8NDA3/IyIj/0RD + RP9EQkT/QUBB/z49Pv85ODn/NTQ1/zAvMP8rKiv/JyUn/yIhIv8cGxz/FxYX/xQTFP8SExL/EhIS/w0N + Df80NDX/ZGRk/11dXf9FREX/HBwc/wYFBv8FBQX/AgIC/wICAv8AAACrAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcH + B1IdHB3/MzEz/zMxM/8tKy3/Ghga/w0MDf8hICH/MjAy/zMxM/8yMDL/NDI0/zUzNf80NDT/NTM1/4OC + g/8/Pz//t7a2/+Hg3/90dH3/GRd1/xwXqP8pI7//PDXR/0M+0/87N8X/Lyq4/yAco/8WE5H/ExKJ/xAQ + ff81NWn/v727/9jX1f/e3dz/5OPi/+jn5v/s6+r/VlZW/y8uL/82NDb/NDQ0/zUzNf80MjT/MzEz/zIw + Mv8xLzH/Ly0v/y0rLf8pKCn/LSwt/xoaGv8aGRr/FxgX/xQTFP8UFBT/Gxob/yEgIf8jIiP/JCQk/ygn + KP8oKCj/KCYo/yQjJP8fHh//GRgZ/xMSE/8SERL/QkFC/0NDQ/84ODn/WVlZ/ycmJ/8IBwj/BwcH/wQF + BP8EAwT/AAAA2AMDAw0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICG4iISL/NDI0/x0bHP8WFRb/Li0u/zEv + Mf8yMDL/MzEz/zQyMv8zMTT/NTM1/zY0NP81NDX/dXR0/zw7PP+vr67/7+7u/+fm5f91dYH/HRmJ/xkW + mP8TE4b/EBF5/yQxiP81TJz/NUud/yc3jv8SF3P/ERJs/4iIi//W1dL/3NrZ/+Lg3//n5uX/6uno/+zs + 6//l5OP/KCgo/zU0Nf82NDX/NTM1/zQyNP8zMTP/MS8x/zEvMf8vLS//LCos/zQyNP9WVVb/X15f/2Rj + ZP9paGn/bm1u/25tbv9mZWb/XVxd/1dXV/9NTE3/QkFC/xISEv8tLC3/Kyor/yYkJv8hISH/Gxob/zQz + NP9fX1//WFhY/z8/P/8WFhb/FhUW/wkJCf8HBwf/BQUF/wAAAOgFBQUlAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAgHCG4cGxz8NDIz/xEREf8rKSv/MS8x/zIwMv8zMTP/NDI0/zUzM/80MjX/NjQ2/zY0 + Nf9pZ2j/Nzc3/6empv/v7u7/8O/u/+bl5P96eoD/Gxxx/yg5if9Qdrf/XonL/2GN0v9kkdj/ZpXe/2ia + 5f9ggsL/eYKP/7OysP/f3tz/5ePi/+no5//s6+r/7u3r//Dv7//BwcD/Gxob/zY0Nf81MzX/NDI0/zIw + Mv8zMTP/MS8x/y8tL/8tKy3/Kigq/ygmKP8mJSb/Kikq/y4tLv8yMTL/Ojk6/0FAQf9HRkf/UVBR/1lY + Wf9tbG3/FBQU/zMyM/8yMTL/LSst/ycnJ/86Ojr/bGxs/2FhYf9HR0f/FBQU/wsKC/8JCAn/CwoL/wYG + Bv8AAADYBwYHIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYGBkoSEhL0MjAx/xEQ + Ef8vLS//MjAy/zMxM/80MjT/NTM1/zQ0NP82Mzb/NjQ2/1xaW/88Ozz/nJub/+vr6//x8fD/7Ovq/8PC + wf9WbZD/U3y5/1aBv/9Yg8T/W4nM/16L0f9ij9n/Y5Tf/2eY5f9pnOv/aovB/3yFkv++vbv/6+rp/+zs + 6//v7ez/8PHw//X09P+FhYX/JyUm/zUzNf80MjT/MjAy/zMxM/8xLzH/Ly0v/y0rLf8rKSv/KScp/yUk + Jf8jIiP/ISAh/x8dH/8dGx3/Ghka/xgXGP8WFRb/ExIT/1VVVf8XFhf/OTk5/zk4Of8zMjP/RENE/3h3 + eP9vbm//QUFB/xYVFv8NDQ3/DQwN/wsKC/8FBAX/AAAApwkJCQkAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAABUUFSEICAjMJCIj/xQUFP8zMTP/MjAy/zQyNP81MzX/NjQ0/zU1 + Nv82NDb/UE5P/0tKS/99fX3/397e//Hw8P/q6un/c3uH/0pyrf9Nd7L/Unq4/1V+wP9YhMX/W4bN/1yM + 0v9gjtj/YZPg/2OV5v9omur/bJ/t/22Owv+GjZb/1NPS//Dv7v/y8vH/9fP0//n5+P9ISEj/Ly4v/zQy + NP8yMDP/MzEx/zEvMf8vLS//LSst/yspK/8pJyn/JSUl/yQjJP8iISL/IB0g/x4cHv8aGhr/GRgZ/xcW + F/8UExT/R0dH/xwcHP9BQEH/Pz4//1hXWP+Ghob/Y2Nj/zQzNP8nJif/IyIj/xkYGf8MCwz/AgIC7AMC + A14AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUV + FQEHBwd+Dg4O/BgXGP8zMTP/NDI0/zUzNf82NDT/NTU2/zY0Nv9EQkP/Wlla/1paWv/Pz87/7u3s/7i3 + tf9Lapj/Rm+o/0pxrv9Md7T/T3u5/1J/v/9Vg8f/WYXO/1yJ1P9ejtn/YJDg/2GV5f9lmen/bJ3s/3Ch + 7f9th6//n6Gj/+3t7P/19fT/+Pf3/+jo6P8nJif/NDI0/zMxM/8xLzL/MS8x/y8tL/8tKy3/Kykr/ycn + J/8mJSb/JCEk/yIfIv8gHiD/HBwc/xsaG/8ZGBn/FhUW/xsaG/84ODj/IiIi/0pJSv90dHT/enp6/0tK + S/83Nzf/NDM0/y8uL/8jIiP/DAsM/wAAAJsPDw8RAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPDg8tAAAA0CEfIf80MjT/NTM1/zY0 + NP81NTb/NjU2/zo4Of9hYGH/RUVF/8PBwf/r6ej/e4KP/z1joP9BaaL/RGyn/0hwrf9MdLT/T3q7/1J+ + wP9Vgsj/WIbN/1qI1f9cjdr/XpDe/1+S5f9jlun/aJzr/2+g7v9xnN7/eYWW/9nX1//39/f/+vr6/8HB + wf8cGxz/MzEz/zIwMv8xLzH/Ly0v/ysrK/8pKSn/KCco/yYjJv8kIiT/IiAi/x4eHv8dHB3/Gxob/xkY + Gf8WFRb/HRwd/ywrLP81NTX/dHN0/1hXWP9IR0j/Q0JD/z8+P/8zMjP/FRQV/wIBAsgPDw81AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAZGBkBCQkJkCgmJ/81MzX/NjQ0/zU1Nv83Njf/NzU3/1dVVv83Njb/hpe1/1+K + z/9Rhdj/Uojc/1CD1/9LfMv/RnK7/0Vws/9KdLT/Tni7/1B9wv9Sgcf/VoXP/1iH0/9aitr/W4/e/16S + 5P9ilOj/aJrr/22e7f9you7/boas/768vP/6+fn/+/r6/4SDg/8kIyT/MjAy/y8tL/8tKy3/LCks/yon + Kv8oJSj/JiQm/yIiIv8gICD/Hx4f/x0cHf8bGBv/FxYX/xUUFf8fHh//HR0d/z09Pf9ZWFn/U1JT/1BP + UP9DQ0P/ISAh/wUEBeQJCQlaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgMCry4s + Lv82NDX/NTU2/zc0N/83NTb/S0pM/z9cj/9XjuH/ZJzv/2yh8P9zpfD/caTw/26i8P9knO//WZHl/0+C + 0/9HdL7/SXW7/098wv9SgMr/VITP/1aH0/9Yitr/WYzf/1yP5P9gk+j/Zpfq/2qb6/9yo/D/cZPE/7a2 + tv/39/b/+fn4/0ZGRv8sKiz/MC4w/y4sLv8sKiz/KCgo/yYmJv8kJCT/IyIj/yEeIf8fHB//Gxob/xkZ + Gf8YFxj/FRQV/yAfIP8XFxf/R0dH/19eX/9VVFX/LS0t/wkJCfQMDAx/IyMjBQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbGhsJBwcGzC4tLv82NDb/NzU3/zc1Nv9AVn7/WpDk/22i + 8f93qPL/eKjx/32s8v+BrvP/hLDz/4ey8/+EsPP/d6fx/2Wd7/9Vidz/SnjF/0p3wf9Qf8j/UoLP/1OE + 0/9Widj/V4zf/1qO5P9ek+f/Ypfq/2mb6/91pvL/cZDA/8G/v//19PT/5ubl/ygnKP8uLC7/LSst/yso + K/8pJin/JyQn/yUiJf8hICH/Hx8f/x0dHf8cGxz/Ghka/xgXGP8VFBX/HBwc/xQUFP9MS0z/Ojk6/w8O + D/wAAACbJycnFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAfIioNCw0Rcg0LC9gjISP/N0BS/1WI2/9lnPD/ZZzv/2Ob7/9jm+//Y5vv/2Wc7/9qn+//cqXw/3+t + 8v+KtPP/jrb0/4Sw8v9vo/H/WIze/0l3xP9LesX/UYHP/1GE1f9Thtr/VYrf/1iM5P9ckOf/YZXo/2+h + 7/95qvb/b4ao/9jX1//x8fD/xMPD/xoYGf8tKy3/KSkp/ycnJ/8lJSX/JCMk/yIhIv8gHSD/Hh0e/xwZ + HP8YFxj/FhUW/xQTFP8YFxj/DQwN/xAQEP8CAgKzExMTKQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACExTzk+Zaj7ZZzw/2ad + 8f9lnPH/Zpzx/2We8f9lnvH/Z57x/2ad8f9lnfH/ZZ3w/2mf8P98q/H/jLX0/5G59f+Is/P/bKLw/1WH + 2P9IdsT/TX3M/1GD1P9ThNr/U4ng/1aL5P9aj+X/ZZjs/3Wn8/92qPP/eIWY/+rp6P/v7+7/k5OS/xsa + G/8qKCr/KCYo/yYkJv8iIiL/ICAg/x4eHv8dHB3/Gxob/xkYGf8XFhf/FRQV/xMTE/8BAQHiDQ0NQgAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAQ22yXl6S5P9onvH/aJ/w/2ef8P9nn/D/aZ7w/2me8P9pnvD/aZ7w/2me + 8P9pnvD/aJ7w/2ee8P9qoPD/fqvz/5C49P+TuvT/ga/z/2Sb7P9Pf8//SHjH/0+B1P9RhNj/UYbf/1SJ + 4/9bkOf/bqHw/3Wn9P9wn+T/lZid/+3s6v/s6+r/Xl1d/yEfIf8nJSf/JSMl/yMgI/8hHiH/Hxwf/xsa + G/8ZGBn/FxYX/xYVFv8TEhP/BQQF5AQEBEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEtysQVOfcvgaqDy/2qg + 8v9pn/L/a6Hy/2uh8v9rofL/a6Hy/2uh8v9rofL/a6Hy/2uh8v9rofL/a6Hy/2mf8v9pn/H/bqLx/4Wx + 9P+Uu/X/kbn0/3Km8v9bj+H/SHfG/0t90v9Pg9n/T4Tf/1OJ4v9mmuz/dKfz/3Km8/9pjsL/vr27/+jn + 5v/k4+L/NDMz/yMhI/8kIiT/IiEi/yAfIP8eHR7/HBsc/xoZGv8YFxj/Dw4P/wAAAKsNDQ0RAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAR3O9ZmSY5/9sofL/a6Lx/22i8f9tofH/baHx/2yh8f9so/H/bKPx/2yj + 8f9so/H/bKHx/22h8f9tofH/baLx/2ui8f9rofH/a6Dx/3an8v+QuPX/l7z1/4Gv8/9lm+3/Tn7N/0h5 + zP9Ngdn/ToTd/1yR6P9wo/L/caXz/22j8/9zgpn/3t3b/+Df3f/JyMf/Hh4e/yIhIv8hICH/Hx4f/x0c + Hf8bGhv/GBcY/wcHB/ADAwNaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFmJ1gFPfszcbqPz/22j + 8/9vovP/b6Tz/2+k8/9upPP/cKTz/3Cj8/9wo/P/cKPz/3Cj8/9wpPP/bqTz/2+k8/9vpPP/b6Lz/22i + 8/9uo/P/bKHx/2+j8f+Js/T/mL32/4u19P9rovL/V4nY/0Z3yf9Kf9j/Uofg/2me7v9wpPP/baLy/2iX + 3v+dn5//2tjX/9fV1P+pp6b/FRQV/yAfIP8eHR7/HBsc/xMSE/8CAgLADw4PGQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAASnfFXmea6P9wpPP/b6Xy/3Gl8v9xpPL/cKTy/3Kk9P9ypvT/cqb0/3Km + 9P9ypvT/cqb0/3Km9P9ypPT/cKTy/3Gk8v9xpfL/b6Xy/3Cj8v9wpPP/bqTz/26i8v9/rfP/l7z1/5K5 + 9f9vpPL/YJPj/0V1xv9Lf9r/X5To/26j8v9tovL/aKDx/2d/o//KyMb/0M/N/83Lyv+DgoH/EBAQ/xwb + HP8LCwv4CAgIbgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFyM2QVQf8zgcqX0/3Gm + 9P9zpfT/c6X0/3Kn9P90p/T/dKfz/3Sm8/90pvP/c6bz/3Om8/90pvP/dKbz/3Sn8/90p/T/cqf0/3On + 9P9zpfT/cab0/3Km9P9wpPL/caXy/2+j8v95qfL/lrz1/5K69v9wpPL/ZZno/0d3yP9UiOD/ap/v/2yh + 8v9pn/H/ZJjj/5SVlv/Kycb/x8PB/8PCwP9iYWD/Dw4P5CEhISUAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAS3jFbmqc6f90p/T/c6bz/3Wo8/90qPP/dqf1/3ap9f92qfX/dan1/3Wp + 9f93qfX/d6n1/3Wp9f91qfX/dqn1/3ap9f92p/X/dKfz/3Wo8/91pvP/dKbz/3Kn9P9zpfT/cab0/3Gk + 8v93qPP/lLv1/5O69f9xpfP/ZJjn/0l6zP9mmuz/a6Hy/2if8f9knPD/an6c/8C+vP+/vbv/v727/5CP + jvhgYF8xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF+O2g1Ugs/sdqj0/3Wp + 9f93qfX/dqj1/3iq9f94qvT/eKn0/3ep9P95qfT/ean0/3mr9P95q/T/ean0/3mp9P93qfT/eKn0/3iq + 9P94qvX/dqj1/3ep9f91qfX/dqfz/3Wo8/9zpvP/dKf0/3Kl9P93qPP/lLv2/5K69f9wpPP/XI3b/1eJ + 2v9pn/H/Z57x/2Oc8P9hi8r/oqCf/7+9u/+hoJ7/aGhpXgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAATXvHh3Gi7v94qvX/d6n0/3mp9P94q/T/eqr2/3qq9v95rPb/e6z2/3us + 9v97rPb/e6v2/3ur9v97rPb/e6z2/3us9v95rPb/eqr2/3qq9v94q/T/eav0/3ep9P94qvX/dqj1/3ep + 9f92p/X/dajz/3Om8/95qvP/lrz2/4239f9xpPP/UoHQ/2Sa7P9mnvH/Y5vw/12W6v+HiIv/sK6t/2xw + dZMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGKQ2xFZiNT4eav1/3qq + 9v97rPb/eqz2/3yr9v98rfX/e631/32s9f99rPX/fK71/3yu9f98rvX/fK71/3yu9f98rvX/fa71/32s + 9f97rfX/fK31/3yr9v96q/b/e6z2/3qq9v94q/T/ean0/3iq9P93qPX/dan1/3Wn8/9+rfT/l733/4Ow + 9f9tn+3/UoPS/2ad8P9im/D/Vozf/2pzhOtwcG/AdISaAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAATXrGenWl7/98rPb/e631/32s9f98rvX/fq73/32t9/9/r/f/f6/3/36v + 9/+Arvf/gK73/4Cu9/+Arvf/gK73/4Cu9/9+rvf/f6/3/3+v9/99rff/fq73/3yu9f99rPX/e631/3yr + 9v97rPb/eqr2/3ir9P95qfT/eKj1/3ao9f+FsfT/lbz2/3eq9P9aitf/X5Xo/2Ka7/9OgdL3YmRmh2yE + qBUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUgc3kfa32/36u + 9f99rff/f6/3/4Cu9/9/sPb/gbD2/4Gv9v+Ar/b/grH2/4Kx+P+Csfj/grH4/4Kx+P+Csfj/grH4/4Kx + 9v+Ar/b/ga/2/4Gw9v9/sPb/gK73/36v9/9/rff/fq71/32s9f97rfX/eqv2/3us9v96q/T/ean0/3ep + 9P+OuPb/jLb2/3Gk8P9Sg9P/YZrv/0h3x8NnhLIBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAWYbRPmya5P9/r/f/gK73/4Gw9v+Ar/b/grH2/4Gw+P+DsPj/grL4/4Sy + +P+Esfj/hLH3/4Ox9/+Ds/f/g7P3/4Ox9/+Esff/hLH4/4Sy+P+Csvj/g7D4/4Gw+P+Csfj/gK/2/4Gw + 9v+Arvf/fq/3/3+t9/9+rvX/fa31/3yr9v97rPb/ear0/3ys9P+Tu/b/e6z1/1mJ1v9eluv/S3fCjwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABRfcmTf671/4Gw + 9/+Csfj/g7D4/4Ky+P+Esfj/hbP3/4Sz9/+Gsvf/hrT5/4a0+f+FtPn/h7T5/4ez+f+Hs/n/h7T5/4W0 + +f+GtPn/hrT5/4ay9/+Es/f/hbP3/4Ox9/+Esvj/g7D4/4Kx+P+Ar/b/gbD2/4Cu9/9/rff/fq71/32t + 9f98q/b/eqr2/4ez9v+Hs/X/cKLt/01+z/9Re8JeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAFaDzuCDsfj/grL4/4Sx9/+Fs/f/hrL3/4W0+f+Hs/n/hrX5/4i1 + +f+ItPj/h7T4/4m2+P+Jtvj/ibb4/4m2+P+Jtvj/ibb4/4e0+P+ItPj/iLX5/4a1+f+Hs/n/hbT5/4ay + 9/+Fs/f/g7H3/4Sy+P+DsPj/grH2/4Gw9v+Arvf/f633/36u9f97rfX/fKz1/4229/95qvX/UH7L/095 + vjEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABbh9EdaJbe/4Wz + +P+Gsvf/hbT5/4ez+f+Itfn/h7T4/4m2+P+Ktfj/irX6/4m3+v+Lt/r/i7b6/4u2+v+Ltvr/i7b6/4u2 + +v+Ltvr/i7f6/4m3+v+Kt/r/irX4/4i2+P+JtPj/iLX5/4az+f+HtPn/hrL3/4Wz9/+Esfj/g7D4/4Kx + 9v+BsPb/gK/3/3+t9/98rPX/hrP1/3us9v9nl+L/Mk9+SQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAFyJ0l57qe//h7T5/4i1+f+JtPj/iLb4/4q1+v+Lt/r/irb6/4y4 + +v+LuPn/jbf5/425+f+Nufn/jLn5/4y5+f+Mufn/jLn5/425+f+Nufn/jbf5/4u3+f+MuPr/irb6/4u3 + +v+Ktfr/iLb4/4m0+P+Itfn/h7P5/4a09/+Fs/f/hLL4/4Ow+P+Cr/b/f7D3/36v9/9+rvX/fq72/3qs + 9v8RGSn/AAAApzJIaxEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARXG+k4i1 + +f+JtPj/irX4/4u3+v+Ktvr/jLj5/423+f+Oufn/jrj5/426+/+Puvv/j7n7/465+/+Qu/v/kLv7/5C7 + +/+Qu/v/jrn7/465+/+Puvv/j7r7/424+f+Oufn/jbf5/4u4+f+Mtvr/i7f6/4q1+P+Jtvj/iLX5/4ez + +f+Gsvf/hbP3/4Sy+P+Bsfb/gbD2/4Cu9/99rfX/fa32/1B1sP8BAQH/AAAA7AsQGUEAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABTf8rLirb5/4u3+v+MuPr/jbf5/465+f+NuPv/j7r7/5C5 + +/+Pu/v/kbr6/5G8+v+QvPr/krz6/5K7+v+Su/z/krv8/5K7+v+SvPr/krz6/5C8+v+Ruvr/j7v7/5C5 + +/+Puvv/jbr7/465+f+Nt/n/jLj6/4u3+v+Ktfj/ibb4/4i1+f+HtPn/hLP3/4Sy+P+DsPj/gLD2/4Cv + 9/9/rvf/fK31/yg+Yf8DAwL/AAAA/AgMEWYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGGN + 1vSMuPr/jbf5/464+f+Puvv/kLn7/5G7+v+Quvr/krz6/5G7/P+Tvfz/krz8/5S8/P+Uvvz/k778/5O+ + +/+Tvvv/k778/5S+/P+UvPz/krz8/5O9/P+Tu/z/krz6/5C8+v+Ru/r/kLn7/4+6+/+OuPn/jbf5/4y4 + +v+Lt/r/irb4/4m0+P+Gs/n/hrL3/4Wz9/+CsPj/gq/2/3+u9/+Esvf/eqjv/xEbKf8EBAT/AQEB/wcK + Dm4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABfitMVbJje/465+v+Puvv/kLv7/5G6+v+SvPr/k7v8/5K9 + /P+UvPz/lb77/5S9+/+Wv/v/lr/7/5W+/f+Xvv3/l779/5e+/f+Xvv3/lb79/5a//f+Wv/v/lL37/5W+ + +/+Tvvz/lL38/5O7/P+SvPr/kbr6/5C7+/+Puvv/jrj5/423+f+Mtvr/ibf6/4m2+P+Itfn/hbT5/4Wz + 9/+Csvj/grH2/4Cv9/+Lt/f/a5TQ/wQFB/8GBgb/AgIC/wYIC14AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGCL + 0zp5pen/kLr7/5G6+v+SvPr/k738/5S8/P+Vvvv/lr37/5W//f+Xvv3/mMD9/5i//f+Xwf3/mcH8/5nB + /P+Zwfz/mcH8/5nB/P+Zwfz/l8H8/5i//f+YwP3/l8D9/5W+/f+Wvfv/lb77/5S8/P+Tvfz/krz6/5G6 + +v+Qu/v/j7r7/465+f+LuPr/i7f6/4q2+P+Htfn/h7T5/4Sz9/+Esvj/gbD2/4Ox9/+Tu/j/SGSO/wQD + A/8GBgb/AQEB/AQGCD0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYYzUVoOu8P+SvPv/k738/5S8/P+Vvfv/lr/7/5e+ + /f+YwP3/mcH8/5jB/P+awPz/mcL+/5vB/v+bwf7/m8H+/5rD/v+aw/7/m8H+/5vB/v+bwf7/mcL+/5rA + /P+YwPz/mcH8/5i//f+XwP3/lr/7/5W9+/+UvPz/k738/5K8+v+Ru/r/jrr7/465+f+NuPr/irf6/4q2 + +P+Htfn/h7T5/4Sz9/+Esvj/gbD2/5C59/+Pt/b/GiQ0/wYGBv8GBgb/AAAA5A4RFxEAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AABhjdRujLb3/5S9/P+Vvvv/lr/7/5fA/f+Yv/3/mcH8/5rA/P+bwv7/msP+/5zD/v+bwv3/ncT9/53E + /f+cw/3/nsP9/57D/f+cw/3/ncT9/53E/f+dwv3/nMP+/5rD/v+bwf7/msL8/5nB/P+Yv/3/l8D9/5a/ + +/+Vvvv/lL38/5O7/P+Quvr/kLn7/4+4+f+Mt/n/jLf6/4q2+P+Htfn/h7T5/4Sz9/+Csfj/hLL4/57C + +f9skMX/AQEA/wgICP8GBgb/AAAApwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGKN1H6Uvfz/lr37/5e+/f+YwP3/mcH8/5rC + /P+bwf7/nMP+/53C/f+exP3/ncP9/5/G//+fxv//nsX//6DH//+gx///oMf//6DH//+exf//n8b//5/G + //+dxf//nsP9/53E/f+cw/7/m8H+/5rC/P+Zwfz/mL/9/5e+/f+Wvfv/k778/5O9/P+SvPr/j7v7/4+6 + +/+Mt/n/jLf6/4q2+P+Htfn/h7T5/4Wz9/+CsPj/mL/3/5vB+f8mNUv/BQUF/wgICP8DAwP/BQYIPgAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAARnK+k5a//P+YwP3/mcH8/5rA/P+bwf7/nMP+/53E/f+ew/3/n8b//6DF//+fx///ocb//6DI + //+iyP//osj//6LI//+iyP//osj//6LI//+gyP//ocb//5/H//+gx///n8b//57D/f+dxP3/nML+/5vB + /v+awvz/mcH8/5jA/f+Vv/v/lb77/5K9/P+SvPr/j7v7/4+6+/+Mt/n/irf6/4q2+P+Itfn/hbT3/4Ox + +P+PuPf/psj5/2KDtf8BAAD/CAgI/wgICP8AAAC/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLeMOfmMD9/5jB/P+bwv7/nMP+/53E + /f+ew/3/n8b//6DH//+hxv//osj//6HI//+jx///osn//6TJ//+kyf//pMn//6TJ//+kyf//pMn//6LJ + //+jx///o8j//6LI//+hxv//oMf//5/G//+exf3/ncT9/5zD/v+bwv7/msH8/5fA/f+Xv/3/lL77/5S9 + /P+SvPr/j7v7/4+6+/+Nt/n/irf6/4i2+P+Itfn/hbL3/4m19/+myPn/jbb1/wMEBf8FBQX/CQkJ/wQE + BP8BAQE2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAEt3w5+awf3/msL+/53D/v+ew/3/n8b//6DH//+hxv//osj//6PH//+kyf//o8j//6XK + //+kyv//psr//6bK//+myv//psn//6bK//+myv//pMr//6XK//+lyP//pMn//6PH//+iyP//ocb//6DH + //+fxv//nsP9/53C/v+awf7/msH8/5fA/f+Xv/3/lL77/5S9/P+SvPv/j7v7/424+f+NuPr/i7f6/4m0 + +P+Gs/n/hbP3/6fJ+v+Xv/n/ERcg/wMDA/8KCgr/CQkJ/wAAAJsAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS3fDn5vC/v+dwv7/ncP9/6DG + //+hx///osj//6PH//+kyf//pcr//6bK//+lyf//p8v//6bL//+oy///qMr//6jK//+ozP//qMr//6jL + //+oy///psv//6fJ//+myv//pcr//6TJ//+jx///osj//6HH//+gxv//ncX9/53E/f+cwf7/msD8/5fA + /f+Xv/3/lb78/4qy7f+SvPv/kLn7/465+f+MuPr/irX4/4e0+f+HtPn/qMn6/5e/+v8dKDj/AgIC/wkJ + Cf8KCgr/AgIC7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAABMd8OfncP+/53E/f+fxf//oMb//6LH//+kyf//pcj//6bK//+ny///qMv//6fK + //+pzP//qsz//6rL//+qzf//qs3//6rN//+qzf//qsv//6rM//+pzP//p8r//6jL//+ny///psn//6XK + //+kyf//o8j//6LG//+fx///n8T//5zE/f+cw/7/msD8/5jA/f+NtO3/AAAA/2B7pP+Ru/v/j7r7/425 + +f+Ktvr/iLX4/5C6+P+pyvr/lb35/wwRGf8CAgL/CAgI/wsLC/8HBwf/AgICLgAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEx3w5+myv7/qs3//6jL + //+oy///p8r//6XK//+myf//p8r//6jL//+py///qc3//6vN//+szP//rM7//6zO//+szv//rM7//6zO + //+szv//rMz//6vN//+pzf//qsv//6nM//+oy///p8n//6bK//+jyf//osf//6LI//+fx///n8T//5zE + /f+awf7/msH8/5nB//8PExr/Exgg/5G7+f+Pu/v/jbj7/4y3+f+Mt/r/ocX4/6rL+/+Cqeb/AAAA/wIC + Av8FBQX/DAwM/woKCv8CAgJqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAATHfDn6/P//+11P//ttT//7fU//+41f//udb//7nW//+20///s9L//67O + //+rzf//rM3//63N//+uz///rs///63P//+tz///rs///67P//+uzf//rc7//6vO//+szP//q83//6rM + //+pyv//psv//6bK//+lyf//osf//6LI//+fx///n8X9/53C/v+bwv7/mcL+/yUvPf8BAAD/Q1d0/5W+ + /f+Vvvv/lb35/5/E+f+myPr/o8f7/0pli/8BAQD/AwMD/wMDA/8NDQ3/DAwM/wAAAJMAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABbhMuPsND//7bU + //+30///uNX//7nW//+61///u9f//7zX//+82P//vdj//73X//+51f//s9H//6/P//+vz///sdD//7HQ + //+v0P//sND//7DQ//+vzv//rc///67N//+tzv//qs3//6nL//+pzP//qMv//6XK//+lyf//osf//6LI + //+gxv//nsP9/5vD/v+aw/7/OEdd/wICAv8AAAD/PlFs/5S++f+dw/v/osb7/6LG+v+CqOP/CQwQ/wIC + Av8DAwP/AgIC/w4ODv8NDQ3/AQEBuwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAG6V1n6x0f//t9T//7jV//+51v//utf//7vX//+81v//vdj//77X + //+/1///vtn//8DZ///A2v//vtj//7fV//+y0P//stD//7PR//+x0f//stH//7HP//+w0P//rs7//63P + //+tzv//rMz//6vN//+ozP//qMv//6XK//+lyf//o8f//6HH//+exv//nsP9/5zD//9FVnL/BQUF/wUF + Bf8CAgH/Fx4o/1x3of99odj/V3Kc/w0SGP8BAQH/AwMD/wMDA/8CAgL/DQ0N/w4ODv8DAwPbAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAb5bWf67O + /f+41f//udb//7rX//+71///vNb//73Y//++1///v9n//8DY///B2v//wNn//8Lb///C2v//w9r//8La + //+61f//tNH//7PR//+00v//s9D//7LR//+xz///sND//6/P//+szv//rMz//6vN//+pzP//psv//6bK + //+kyf//osj//5/H//+fxf//ncP//0xgfv8HBwf/BwcH/wYGBv8EBAT/AgIB/wAAAP8BAQD/AgIC/wMD + A/8DAwP/AwMD/wICAv8NDQ3/Dg4O/wQEBPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwltZepMX2/7nV//+61v//u9f//7zW//+92P//vtf//7/Z + ///A2P//wNr//8Hb///D2///xNr//8Ta///D3P//xNz//8Tc///B2v//uNP//7XS//+10///tNL//7PQ + //+y0f//r9D//6/P//+szv//rMz//6nL//+pyv//p8v//6XK//+iyf//osj//6DG//+exP7/Xnaa/wgI + B/8JCQn/BwcH/wYGBv8GBgb/BQUF/wQEBP8CAgL/AgIC/wMDA/8DAwP/AgIC/w0NDf8PDw//BQUF/wAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHCW + 1laewPP/udb//7nV//+61///vdb//77X//+/2f//wNr//8Da///D2///xNr//8Pa///E3P//xtv//8bd + ///G3f//xt3//8bd///E3P//vNj//7bT//+20///tdL//7LQ//+y0f//r9D//6/P//+tzv//qs3//6rM + //+oyv//psn//6PI//+jx///ocf//5/F//9hep7/CgoJ/wwMDP8LCwv/CgoK/wcHB/8HBwf/BgYG/wUF + Bf8DAwP/AgIC/wMDA/8CAgL/DQ0N/xAQEP8HBwf/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcJbVPpa47v+51v//u9f//7zW//+82P//v9n//8DY + ///A2v//w9n//8Ta///E3P//xtv//8fd///G3v//yN7//8jc///I3P//yNz//8fd///G3P//wdn//7fT + //+10///tdL//7LQ//+y0f//sND//63P//+tzv//q83//6nM//+ny///pcr//6LJ//+gyP//n8b//2mD + qv8LCwr/Dg4O/w0NDf8MDAz/CwsL/wgICP8ICAj/BwcH/wYGBv8DAwP/AgIC/wICAv8ODg7/ERER/wcH + B/8HBwcJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AABwltUmiKzm/7rW//+61f//vdb//77X//++2P//wdr//8HZ///E2///xdz//8fd///G3P//x97//8nd + ///K3f//yN7//8je///J3v//x97//8jd///G3f//wtv//7jT//+10///tdL//7PQ//+xz///rs7//67N + //+szP//qsv//6jK//+myf//pMn//6LI//+gx///dpO//wsKCv8QEBD/Dw8P/w4ODv8NDQ3/CgoK/woK + Cv8JCQn/BgYG/wYGBv8FBQX/AgIC/w8PD/8SEhL/BwcH/wUFBRYAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIeq4g19ot//utb//7zX//+82P//v9n//7/a + ///C2f//w9v//8Pc///E3f//yN7//8ne///K3f//yd///8vf///L3///y93//8vd///K3v//yNz//8jd + ///G3P//wtr//7jT//+10///tNL//7LR//+w0P//rc///6vO//+rzf//qcz//6fL//+lyP//o8f//6HH + //93lL//DQwM/xISEv8RERH/EBAQ/w8PD/8ODg7/CwsL/wsLC/8ICAj/CAgI/wcHB/8EBAT/EBAQ/xIS + Ev8ICAj/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAHCX2PS71v//u9f//77Y//++2f//wdj//8LZ///C2v//xdv//8fd///J3P//yt7//8vf + ///M3v//zd7//83g///N4P//y97//8zf///L3v//yNz//8jb///G3P//wtr//7fT//+00f//s9D//7HP + //+vzv//rc7//6rN//+ozP//psv//6TK//+iyf//ocj//2iBpv8QEA//ExMT/xMTE/8SEhL/ERER/xAQ + EP8NDQ3/DQ0N/woKCv8KCgr/BwcH/wYGBv8SEhL/FBQU/wcHB/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYYnQ07rW//+71v//vtf//77Z + ///B2v//wdv//8Tc///G3f//yNz//8je///L3f//zN7//83g///O3///zeH//87h///M3///y+D//8rf + ///K3v//x93//8fb///F2///wNn//7XS//+00v//stH//7DQ//+uzf//rMz//6rL//+oy///psr//6TJ + //+hyP//V2yL/xQUFP8VFRX/ExMT/xISEv8RERH/EhIS/w8PD/8PDw//DAwM/wwMDP8JCQn/CAgI/xUV + Ff8WFhb/BwcH/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAABUfsezuNX//73Y//+92f//wNj//8Da///D2///w9z//8fd///H3P//yt7//8rf + ///N4P//zt///8/h///Q4v//0OL//8/h///O4f//y+D//8vf///J3v//xt3//8Ta///D2v//vdf//7PR + //+y0f//sND//67P//+szv//qs3//6jK//+myv//pMn//6LJ//81QVL/GBgY/xYWFv8WFhb/FRUV/xQU + FP8TExP/EhIS/xEREf8ODg7/Dg4O/wwMDP8JCQn/GBgY/xgYGP8HBwffAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFyEyo+10///vNj//77X + ///A2f//wdr//8Hb///D3P//x93//8fe///J3f//zN///83g///N4f//0OL//9Lh///R4v//0OD//8/h + ///N4P//y9///8je///I3f//xtz//8Lb///C2f//uNP//7HQ//+w0P//rs///6zO//+qzf//qMr//6bK + //+kyf//nsP5/xASE/8bGxv/Ghoa/xcXF/8XFxf/FhYW/xMTE/8SEhL/EhIS/xEREf8ODg7/Dg4O/wsL + C/8cHBz/Ghoa/wUFBcsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAcZbVZqXF9v+81///vtj//8DZ///B2v//wdv//8Pc///H3f//ydz//8ve + ///M3///zd///8/i///R4v//0uP//9Lj///P4v//z+H//83g///L3///yd7//8bd///G3P//wtv//8Da + //+/2P//s9H//6/P//+uz///rM7//6rN//+ozP//psn//6TJ//9thqr/FRQU/x0dHf8cHBz/GRkZ/xkZ + Gf8YGBj/FRUV/xUVFf8SEhL/EhIS/xEREf8ODg7/Dw8P/x4eHv8bGxv/AwMDswAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwldUyjbDq/7zX + //++2P//vtn//7/a///C2///xNr//8Xd///H3f//yt7//8rf///L4P//zeH//9Dg///R4v//0eL//9Dh + ///N3///zd7//8vf///J3v//x93//8Pc///D2///wdr//7/Y//+71v//r8///67P//+szv//qs3//6jK + //+myv//pcr//ykyPv8fHx//Hx8f/x4eHv8bGxv/Gxsb/xoaGv8XFxf/FxcX/xUVFf8SEhL/EhIS/xAQ + EP8SEhL/ISEh/x4eHv8AAACTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAICh1wl1m9v/vNb//77Y//+/2f//wNr//8LZ///E2///xtz//8jb + ///K3P//y9///8zg///O3///z9///87h///O4f//z9///87g///M3///yt7//8jc///G3f//wtz//8LZ + ///A2P//vdj//7zX//+10f//rc7//6zO//+qzf//qMr//6bK//9xiq//FhYW/yIiIv8gICD/Hx8f/x0d + Hf8dHR3/HBwc/xoaGv8XFxf/FxcX/xUVFf8SEhL/ERER/xcXF/8jIyP/HR0d/woKCm4AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF+I + zc+41P//vdj//77Z//++2v//wdr//8Hb///D3P//x9z//8fd///K3v//y9///8zg///N4P//zuD//87g + ///N3v//y9///8ve///J3P//x93//8Xc///D2v//wdr//77Z//++2P//vNf//7XT//+tzv//rMz//6rL + //+oy///gJvD/xQVF/8vLy//Li4u/ykpKf8jIyP/Hx8f/x4eHv8cHBz/HBwc/xoaGv8XFxf/FxcX/xUV + Ff8SEhL/Hh4e/yQkJP8aGhr/CwsLRgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR3PAl7XT//+81///vdj//7/Z///B2f//wtr//8Tb + ///G2///x9z//8nd///J3v//yd///8vf///M3///zN///8rd///L3v//yNz//8jd///G3P//xNr//8Lb + ///A2v//vdn//73W//+71v//sM///6zN//+rzf//qs3//22Epv8YGhv/QEBA/0lJSf9HR0f/RERE/0ND + Q/88PDz/MDAw/yEhIf8dHR3/HBwc/xoaGv8XFxf/FxcX/xQUFP8jIyP/JiYm/xMTE/8MDAwRAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AABKZZVVdY+5/4ygvv+Nob7/jqK+/5Civv+Qo77/kqO+/5Ojvv+uwd//rsHf/7nN6//K3///yt///8vf + ///L3///yt7//8ne///I3P//xtz//8Tb///C2///wdr//7/Z//+82P//vNf//7nV//+uz///rs///5Sw + 3P85RFX/HBwb/0VFRf9NTU3/SkpK/0lJSf9HR0f/RUVF/0NDQ/9AQED/PDw8/ykpKf8dHR3/HBwc/xoa + Gv8YGBj/FRUV/yoqKv8oKCj/DQ0N5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAuNUANERMYfwYFBecODQ3/Dw8P/xEREf8SEhL/FBQU/xUV + Ff8WFhb/FxcX/xQUFP8VFRX/FBQU/xISEf8cHR//Jikt/zc8RP9HTlj/WGFw/256jv+Gla7/nrHP/7DG + 5//B2v//v9n//73Y//+wyu//kKfL/2Fzjv81Pkz/Ghsb/y4uLv9ISEj/UVFR/05OTv9OTk7/SkpK/0lJ + Sf9HR0f/Q0ND/0JCQv8+Pj7/PT09/y4uLv8cHBz/Ghoa/xgYGP8cHBz/LS0t/yoqKv8EBASnAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQoMUgUF + BfAQDw//FBQU/xYWFv8YGBj/Ghoa/xwcHP8eHh7/ICAg/yIiIv8kJCT/JiYm/ycnJ/8pKSn/Kysr/yws + LP8tLCz/Li4u/y8vL/8wMDD/LS0t/yYlJf8gICD/HBwc/xgYF/8ZGRj/GRkY/xoaGv8hISH/LCws/zMz + M/85OTn/UVFR/1VVVf9UVFT/UlJS/1BQUP9OTk7/SkpK/0lJSf9FRUX/RERE/0JCQv8+Pj7/PT09/y4u + Lv8cHBz/Ghoa/yQkJP8uLi7/JiYm/w4ODmYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEEYICAj/ERER/xISEv8UFBT/FhYW/xkZGf8bGxv/HR0d/x8f + H/8hISH/IyMj/yQkJP8mJib/KCgo/yoqKv8rKyv/LS0t/y4uLv8wMDD/MTEx/zIyMv8zMzP/NTU1/zY2 + Nv82Njb/Nzc3/zc3N/83Nzf/NjY2/zY2Nv88PDz/U1NT/19fX/9aWlr/WFhY/1ZWVv9UVFT/UlJS/05O + Tv9OTk7/SkpK/0lJSf9FRUX/RERE/0FBQf8+Pj7/Ozs7/ywsLP8cHBz/Ly8v/y8vL/8ZGRn/Dw8PHQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkEdH + R/9WVlb/XV1d/2lpaf9ra2v/bW1t/21tbf9vb2//cHBw/3Fxcf9sbGz/a2tr/2dnZ/9lZWX/Xl5e/1pa + Wv9WVlb/T09P/0lJSf9FRUX/PT09/zw8PP82Njb/Nzc3/zg4OP86Ojr/QkJC/0tLS/9aWlr/ZmZm/2pq + av9hYWH/XFxc/1xcXP9aWlr/WFhY/1ZWVv9UVFT/UlJS/05OTv9NTU3/SUlJ/0hISP9ERET/QUFB/z4+ + Pv89PT3/Ojo6/y4uLv80NDT/MTEx/wsLC88AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGRkdICAg6E1NTf9ISEj/RERE/0RERP9ERET/RkZG/0lJ + Sf9MTEz/Tk5O/1FRUf9TU1P/W1tb/11dXf9iYmL/ZmZm/2pqav9tbW3/cXFx/3R0dP93d3f/eXl5/3p6 + ev96enr/enp6/3l5ef91dXX/cHBw/2pqav9kZGT/YmJi/2BgYP9gYGD/Xl5e/1xcXP9aWlr/WFhY/1ZW + Vv9UVFT/UVFR/01NTf9MTEz/SEhI/0dHR/9ERET/QUFB/z4+Pv86Ojr/ODg4/zU1Nf8tLS3/CAgIcgAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAdHR0lFBQU6Dw8PP8/Pz//QkJC/0ZGRv9JSUn/SkpK/05OTv9RUVH/VFRU/1ZWVv9XV1f/Wlpa/1xc + XP9eXl7/YWFh/2NjY/9kZGT/ZWVl/2ZmZv9oaGj/aGho/2lpaf9paWn/ampq/2lpaf9paWn/aGho/2Zm + Zv9mZmb/Y2Nj/2NjY/9fX1//XV1d/1xcXP9aWlr/WFhY/1RUVP9TU1P/T09P/05OTv9JSUn/SEhI/0RE + RP9DQ0P/Pj4+/z09Pf84ODj/Nzc3/xkZGfgdHR0VAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlJSUhEBAQ2EBAQP9ERET/R0dH/0pK + Sv9NTU3/Tk5O/1NTU/9UVFT/WFhY/1lZWf9dXV3/X19f/2BgYP9kZGT/ZmZm/2ZmZv9paWn/aWlp/2xs + bP9ra2v/bW1t/25ubv9sbGz/bW1t/21tbf9sbGz/aWlp/2lpaf9oaGj/ZGRk/2NjY/9hYWH/XV1d/1xc + XP9YWFj/V1dX/1NTU/9SUlL/T09P/0xMTP9ISEj/RUVF/0RERP9BQUH/Pj4+/zs7O/80NDT/AgICmwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAqKioVDQ0N0EBAQP9ISEj/S0tL/05OTv9RUVH/VFRU/1dXV/9YWFj/XFxc/11d + Xf9hYWH/YmJi/2ZmZv9oaGj/ampq/2pqav9tbW3/b29v/25ubv9wcHD/cXFx/3Fxcf9vb2//cHBw/29v + b/9ubm7/bGxs/2lpaf9oaGj/ZmZm/2JiYv9hYWH/Xl5e/1tbW/9ZWVn/VlZW/1NTU/9PT0//Tk5O/0tL + S/9ISEj/RUVF/0JCQv8/Pz//PDw8/xgYGPQhISEVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmJiYJBwcHvDw8 + PP9MTEz/T09P/1JSUv9VVVX/WFhY/1lZWf9dXV3/YGBg/2FhYf9lZWX/ZmZm/2pqav9sbGz/bm5u/3Bw + cP9wcHD/cnJy/3Nzc/9ycnL/cnJy/3Nzc/9zc3P/cnJy/3Fxcf9vb2//bW1t/2tra/9oaGj/ZGRk/2Nj + Y/9gYGD/W1tb/1hYWP9XV1f/VFRU/1BQUP9PT0//SkpK/0lJSf9GRkb/Q0ND/z8/P/8tLS3/CgoKZgAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnJycBDw8Pjy8vL/9QUFD/U1NT/1ZWVv9XV1f/W1tb/15e + Xv9hYWH/ZGRk/2VlZf9paWn/ampq/25ubv9xcXH/c3Nz/3R0dP91dXX/dnZ2/3Z2dv92dnb/dnZ2/3Z2 + dv9zc3P/c3Nz/3BwcP9ubm7/bW1t/2lpaf9oaGj/Y2Nj/2BgYP9eXl7/W1tb/1hYWP9UVFT/U1NT/1BQ + UP9NTU3/SkpK/0dHR/9ERET/Nzc3/wICAp8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAADAwMThkZGexNTU3/V1dX/1lZWf9cXFz/X19f/2JiYv9lZWX/ZmZm/2pqav9tbW3/cHBw/3Nz + c/91dXX/d3d3/3h4eP93d3f/eXl5/3l5ef95eXn/d3d3/3d3d/90dHT/dHR0/3Jycv9vb2//bGxs/2ho + aP9mZmb/Y2Nj/2BgYP9bW1v/WVlZ/1VVVf9UVFT/T09P/05OTv9JSUn/SEhI/zo6Ov8GBgarJCQkAQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALS0tEQQEBKM2Njb/WVlZ/11d + Xf9gYGD/Y2Nj/2RkZP9oaGj/a2tr/21tbf9ycnL/dXV1/3d3d/95eXn/enp6/3l5ef97e3v/e3t7/3t7 + e/97e3v/enp6/3h4eP92dnb/dHR0/3Fxcf9ubm7/a2tr/2hoaP9jY2P/YWFh/1xcXP9aWlr/V1dX/1RU + VP9RUVH/Tk5O/0tLS/81NTX/AgICnyYmJgEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgIDkRERHIRUVF/2BgYP9jY2P/ZmZm/2lpaf9sbGz/b29v/3Jy + cv91dXX/eHh4/3h4eP97e3v/fHx8/319ff99fX3/fHx8/319ff98fHz/e3t7/3d3d/92dnb/cXFx/29v + b/9sbGz/Z2dn/2VlZf9iYmL/XV1d/1tbW/9YWFj/U1NT/1JSUv9LS0v/ISEh9AwMDGYAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAjIyNOFhYWv0VFRf9lZWX/aWlp/2xsbP9vb2//cnJy/3V1df94eHj/enp6/3x8fP99fX3/fn5+/39/ + f/+AgID/fn5+/35+fv97e3v/enp6/3V1df9ycnL/cHBw/21tbf9oaGj/ZmZm/2NjY/9fX1//XFxc/1hY + WP9UVFT/NTU1/wcHB7MsLCwdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJiYmMQwMDJc1NTXwXFxc/25u + bv9ycnL/dXV1/3d3d/94eHj/enp6/319ff9/f3//gICA/4GBgf+CgoL/gICA/35+fv97e3v/eHh4/3V1 + df9xcXH/bGxs/2pqav9nZ2f/Y2Nj/19fX/9WVlb/MjIy/wsLC7cgICA+AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAD4+PgUtLS1OFBQUmzU1NehWVlb/bW1t/3l5ef97e3v/fX19/39/ + f/+BgYH/goKC/4SEhP+CgoL/f39//3x8fP94eHj/dXV1/3Fxcf9ubm7/ampq/1lZWf88PDz/HBwc3BMT + E4MiIiIlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAC0tLSY2NjZeEhISkycnJ786OjroSUlJ/1dXV/9cXFz/aWlp/2dnZ/9eXl7/Wlpa/0tL + S/8/Pz//Ly8v8B0dHcsHBwebKSkpZicnJyUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AABNTU0BMjIyHTMzMy0yMjI+MTExPjExMT4wMDA6Ly8vHUdHRw0AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///////4AAAAAB////////// + ////gAAAAAAB////////////+AAAAAAAAB///////////8AAAAAAAAAD//////////8AAAAAAAAAAH// + ///////4AAAAAAAAAAAf////////4AAAAAAAAAAAA////////4AAAAAAAAAAAAD///////4AAAAAAAAA + AAAAP//////4AAAAAAAAAAAAAA//////4AAAAAAAAAAAAAAH/////8AAAAAAAAAAAAAAAf////8AAAAA + AAAAAAAAAAD////+AAAAAAAAAAAAAAAAP////AAAAAAAAAAAAAAAAB////AAAAAAAAAAAAAAAAAH///g + AAAAAAAAAAAAAAAAA///wAAAAAAAAAAAAAAAAAH//4AAAAAAAAAAAAAAAAAA//+AAAAAAAAAAAAAAAAA + AP//AAAAAAAAAAAAAAAAAAD//gAAAAAAAAAAAAAAAAAA//4AAAAAAAAAAAAAAAAAAP/+AAAAAAAAAAAA + AAAAAAB//gAAAAAAAAAAAAAAAAAAf/4AAAAAAAAAAAAAAAAAAH/+AAAAAAAAAAAAAAAAAAB//gAAAAAA + AAAAAAAAAAAAf/4AAAAAAAAAAAAAAAAAAH//AAAAAAAAAAAAAAAAAAH//wAAAAAAAAAAAAAAAAAA//+A + AAAAAAAAAAAAAAAAAf//gAAAAAAAAAAAAAAAAAf//4AAAAAAAAAAAAAAAAAD//+AAAAAAAAAAAAAAAAA + B///gAAAAAAAAAAAAAAAAB///4AAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAf///wAAAAAAAAAAA + AAAAAf///8AAAAAAAAAAAAAAAAf////AAAAAAAAAAAAAAAAf////4AAAAAAAAAAAAACBf////+AAAAAA + AAAAAAAAA//////gAAAAAAAAAAAAAF//////8AAAAAAAAAAAAAH///////AAAAAAAAAAAAAB///////4 + AAAAAAAAAAAAA///////+AAAAAAAAAAAAAf///////wAAAAAAAAAAAAH///////+AAAAAAAAAAAAD/// + /////wAAAAAAAAAAAB////////+AAAAAAAAAAAA/////////wAAAAAAAAAAA/////////+AAAAAAAAAA + Af/////////4AAAAAAAAAAf//////////AAAAAAAAAAf//////////8AAAAAAAAAP///////////AAAA + AAAAAP///////////4AAAAAAAAP////////////wAAAAAAAP////////////8AAAAAAAH/////////// + /+AAAAAAAD/////////////gAAAAAAD/////////////wAAAAAAB/////////////8AAAAAAB/////// + //////+AAAAAAA//////////////gAAAAAAf/////////////wAAAAAAP/////////////8AAAAAAH// + ///////////+AAAAAAB//////////////gAAAAAA//////////////4AAAAAAf/////////////8AAAA + AAP//////////////AAAAAAD//////////////wAAAAAA//////////////4AAAAAAP///////////// + +AAAAAAA//////////////gAAAAAAH/////////////4AAAAAAA/////////////+AAAAAAAH/////// + //////AAAAAAAA/////////////wAAAAAAAH////////////8AAAAAAAA/////////////AAAAAAAAP/ + ///////////wAAAAAAAB////////////8AAAAAAAAf////////////AAAAAAAAD////////////wAAAA + AAAA////////////8AAAAAAAAP////////////AAAAAAAAB////////////wAAAAAAAAf/////////// + 8AAAAAAAAH////////////AAAAAAAAB////////////wAAAAAAAAf///////////8AAAAAAAAH////// + //////AAAAAAAAB////////////wAAAAAAAAf///////////8AAAAAAAAD////////////AAAAAAAAA/ + ///////////wAAAAAAAAf///////////+AAAAAAAAH////////////gAAAAAAAB////////////4AAAA + AAAAf///////////+AAAAAAAAH////////////gAAAAAAAB////////////4AAAAAAAAf/////////// + +AAAAAAAAH////////////wAAAAAAAB////////////8AAAAAAAAf////////////AAAAAAAAP////// + //////AAAAAAAAD////////////gAAAAAAAA////////////wAAAAAAAAP///////////8AAAAAAAAH/ + ///////////AAAAAAAAB////////////4AAAAAAAAf////////////AAAAAAAAP////////////4AAAA + AAAD/////////////AAAAAAAB/////////////4AAAAAAA//////////////gAAAAAAP//////////// + /8AAAAAAH//////////////wAAAAAH///////////////AAAAAD///////////////8AAAAD//////// + ////////wAAAD/////////////////wAAH//////////////////4A////////////8oAAAAYAAAAMAA + AAABACAAAAAAAICUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAUAAAAKAAAAEAAA + ABcAAAAfAAAALQAAADoAAABJAAAAXwAAAGYAAABuAAAAbgAAAG0AAABtAAAAawAAAGMAAABgAAAAWAAA + AFAAAABHAAAAQAAAADQAAAAqAAAAIQAAABoAAAASAAAACwAAAAcAAAAEAAAAAgAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEDAAAACAAA + ABAAAAAeAAAANgAAAFYAAAB9AAAApAAAAMAAAADXAAAA6gAAAPAAAAD1AAAA+QAAAPsAAAD+AAAA/gAA + AP8AAAD/AAAA/gAAAPoAAAD5AAAA9gAAAPIAAADtAAAA3gAAAMwAAAC0AAAAmgAAAHwAAABjAAAASwAA + ADoAAAArAAAAHAAAABEAAAAJAAAABAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAEAAAAEAAAACwAAABgAAAA4AAAAdgAAAKwBAQHUAgIC8AICAv4CAgL+AgIC/gEBAf4BAQH+AAAA/gAA + AP4AAAD+AAAA/gAAAP4AAAD+AAAA/gAAAP4AAAD+AAAA/gAAAP4AAAD+AAAA/gAAAP4AAAD+AAAA/gAA + AP4AAAD+AAAA/gAAAP0AAADwAAAA2gAAALoAAACWAAAAbAAAAFMAAAA8AAAAJwAAABgAAAAMAAAABQAA + AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAADAAAACgAAAB8AAABVAAAAnQICAtoEBAT9BQUF/wUFBf8FBQX/BQUF/gUE + Bf8EBAT/BAQE/gMDA/8DAwP/AgIC/gICAv8BAQH/AAAA/gAAAP8AAAD/AAAA/gAAAP8AAAD/AAAA/gAA + AP8AAAD/AAAA/gAAAP8AAAD/AAAA/gAAAP8AAAD+AAAA/wAAAP8AAAD+AAAA/wAAAP8AAAD+AAAA9QAA + ANQAAACqAAAAgAAAAGMAAABHAAAALAAAABkAAAAMAAAABAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMBAgICBgAAABQAAABCAAAAlwAAAN4AAAD6AQEB/wYG + Bv8ICAj+CAgI/wgICP8IBwj/BwcH/gcHB/8HBgf/BgYG/gYFBv8FBQX/BQQF/gQEBP8DAwP/AwID/gIC + Av8BAQH/AAAA/gAAAP8AAAD/AAAA/gAAAP8AAAD/AAAA/gAAAP8AAAD/AAAA/gAAAP8AAAD+AAAA/wAA + AP8AAAD+AAAA/wAAAP8AAAD+AAAA/wAAAP8AAAD9AAAA8AAAAMsAAACcAAAAdwAAAFsAAAA/AAAAJQAA + ABMAAAAHAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAQICAgYAAAAVAAAAaAIC + AsIEBAT4AAAA/gAAAP4AAAD+AAAA/gUEBf4JCQn+CgoK/goKCv4KCQr+CgkK/gkJCf4JCAn+CQgJ/ggI + CP4HBwf+BwYH/gYGBv4FBQX+BQQF/gQDBP4DAwP+AgIC/gEBAf4AAAD+AAAA/gAAAP4AAAD+AAAA/gAA + AP4AAAD+AAAA/gAAAP4AAAD+AAAA/gAAAP4AAAD+AAAA/gAAAP4AAAD+AAAA/gAAAP4AAAD+AAAA/gAA + AP4AAAD6AAAA2QAAAKMAAACBAAAAZgAAAEkAAAAsAAAAFgAAAAkAAAACAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQE + BAEDAwMHAAAAJAAAAHwEBATdCQkJ/wsLC/8KCQr+AAAA/wAAAP8AAAD+AAAA/wEBAf8ICAj+DAwM/wwM + DP8MCwz/DAsM/gsLC/8LCgv/CwoL/goKCv8JCQn/CQkJ/ggICP8HBwf/BwYH/gYFBv8FBQX/BAQE/gMD + A/8CAgL/AQEB/gAAAP8AAAD/AAAA/gAAAP8AAAD/AAAA/gAAAP8AAAD+AAAA/wAAAP8AAAD+AAAA/wAA + AP8AAAD+AAAA/wAAAP8AAAD+AAAA/wEBAf8AAAD+AAAA/wAAAP0AAADXAAAAnAAAAIIAAABqAAAATQAA + ADEAAAAZAAAACQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAABAQEBQEBARsAAABwBQUF3wsKC/0NDA3+DQ0N/w0MDf8HBwf+AAAA/wAA + AP8BAQH+AQEB/wICAv8EBAT+DAwM/w8OD/8ODg7/Dg0O/g4NDv8NDQ3/DQwN/gwMDP8MCwz/CwsL/goK + Cv8JCQn/CQgJ/ggICP8HBwf/BgYG/gUFBf8EBAT/AwMD/gIBAv8AAAD/AAAA/gAAAP8AAAD/AAAA/gAA + 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 + C/4HBgf+DAwM/hAPEP4QDxD+EBAQ/hEQEf4HBwf+ERER/hYVFv4WFRb+FhUW/hUUFf4UExT+FBMU/hMT + E/4TEhP+EhIS/hIREv4REBH+EA8Q/g8OD/4ODQ7+DAwM/gsLC/4IBwj+BAQE/gQDBP4GBQb+BQQF/gMC + A/4BAQH+AAAA/gAAAP4AAAD+AAAA/gAAAP4AAAD+AAAA/gAAAP4AAAD+AAAA/goKCv4cHBz+FBQU/g4O + Dv4GBgb+AAAA/gAAAP4AAADxAAAAagAAAGUAAABhAAAAXAAAAFcAAABSAAAATQAAAEgAAABBAAAANgAA + ACcAAAAWAAAACQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAcGBwQBAQEtBQQFzw8PD/4SERL/EhIS/hMSE/8TExP+FBMU/xUUFf8WFRb+FhUW/xIS + Ev8GBgb+CgkK/wsLC/8MCwz+DAwM/w0NDf8GBxj+CAkZ/xISEv8SEhL+ExIT/xMSE/8QEBD/CQkJ/hUU + Ff8YFxj/GBcY/hcWF/8WFRb/FhUW/hUUFf8UExT/ExMT/hMSE/8SEhL/EhES/hEQEf8PDw//Dg4O/g0M + Df8KCQr/BQUF/gQEBP8GBgb/BwYH/gQEBP8DAgP+AQEB/wAAAP8AAAD+AAAA/wAAAP8AAAD+AAAA/wAA + AP8AAAD+AAAA/wsLC/8cHBz+FBQU/w4ODv8GBgb+AAAA/wAAAP8AAADwAAAAYgAAAF4AAABZAAAAVAAA + AE8AAABKAAAARQAAAEAAAAA7AAAANAAAACwAAAAiAAAAFAAAAAkAAAABAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwcHAgEBAS4FBQXVERAR/hISEv4SEhL+ExMT/hQT + FP4VFBX+FhUW/hcWF/4YFxj+FxYX/g0MDf4HBwf+DQwN/g0NDf4ODg7+Dw8P/g8OD/4HCDT+CQpH/hEQ + Ef4UFBT+FRQV/hUUFf4VFBX+Dg0O/g0NDf4ZFxn+Ghka/hkYGf4YFxj+GBcY/hcWF/4WFRb+FRQV/hQT + FP4TExP+EhIS/hISEv4RERH+EA8Q/g8OD/4NDA3+BQUF/gUFBf4GBgb+CAgI/gYGBv4EBAT+AwID/gEB + Af4AAAD+AAAA/gAAAP4AAAD+AAAA/gAAAP4AAAD+AAAA/g0NDf4cHBz+FBQU/g4ODv4FBQX+AAAA/gAA + AP4AAADvAAAAWwAAAFYAAABRAAAATAAAAEcAAABCAAAAPQAAADgAAAAzAAAALQAAACcAAAAhAAAAGAAA + AA4AAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDJgYG + BtkRERH+ExIT/xMTE/8UExT/FRQV/hYVFv8XFhf+GBcY/xkYGf8aGRr+FhUW/wcHB/8NDQ3+EA8Q/xAQ + EP8REBH+EhIS/wwLEf8KC1b+DQ9s/wwMHP8XFhf+FxYX/xcWF/8XFhf/HRwd/hEQEf8RERH/Gxob/hsa + G/8bGRv/Ghka/hkYGf8YFxj/FxYX/hYVFv8VFBX/FBMU/hMTE/8TEhP/EhES/hAQEP8PDg//BwcH/gUF + Bf8GBQb/CgoK/ggHCP8GBgb+BAQE/wMCA/8BAQH+AAAA/wAAAP8AAAD+AAAA/wAAAP8AAAD+AAAA/w0N + Df8cHBz+FBQU/w4ODv8FBQX+AAAA/wAAAP8AAADuAAAAUwAAAE4AAABJAAAARAAAAD8AAAA6AAAANAAA + AC8AAAAqAAAAJAAAAB8AAAAZAAAAEwAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAHBwcCAgICiBEQEf8SEhL+ExMT/xQTFP8VFRX/FxYX/hgXGP8ZGBn+Ghka/xsa + G/8bGhv+EA8Q/woJCv8REBH+EhES/xISEv8TEhP+FBMU/wgIHv8MDmj+DhBx/woLRP8XFhf+Ghka/xoZ + Gv8aGRr/Hh0e/i0sLf8QEBD/FhYW/h0cHf8dHB3/HBsc/hsaG/8aGRr/GRgZ/hgXGP8XFhf/FRUV/hQT + FP8TExP/ExIT/hIREv8REBH/CgoK/gYFBv8FBQX/Dg0O/gwLDP8HBwf+BgUG/wQEBP8CAgL+AQEB/wAA + AP8AAAD+AAAA/wAAAP8AAAD+AAAA/w8PD/8cHBz+FBQU/w4ODv8EBAT+AAAA/wAAAP8AAADhAAAASwAA + AEYAAABBAAAAOwAAADYAAAAxAAAALAAAACYAAAAhAAAAGwAAABYAAAAQAAAACgAAAAUAAAACAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQFAgIChxEREf4TExP+FRQV/hYV + Fv4XFhf+GBcY/hkYGf4bGhv+HBsc/h0cHf4ZGBn+CQkJ/hEQEf4SEhL+ExMT/hQTFP4VFBX+ExIT/ggJ + Ov4ND2/+DQ9w/gwOaP4PDxv+HRwd/h0cHf4dHB3+HRwd/iwqLP43Njf+DQ0N/hoZGv4fHR/+Hh0e/h0c + Hf4cGxz+Gxob/hoYGv4ZGBn+FxYX/hYVFv4VFBX+ExMT/hMSE/4SEhL+Dg0O/gYGBv4FBQX+EBAQ/hQT + FP4JCQn+BwcH/gYFBv4EBAT+AgIC/gAAAP4AAAD+AAAA/gAAAP4AAAD+AAAA/hEREf4cHBz+FBQU/g4O + Dv4DAwP+AAAA/gAAAP4AAADcAAAAQwAAAD4AAAA5AAAAMwAAAC4AAAApAAAAIwAAAB4AAAAYAAAAEgAA + AA0AAAAHAAAAAwAAAAIAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAFBQUHAgICiBISEv8VFBX+FxYX/xgXGP8ZGBn/GBcY/hoZGv8dHB3+Hh0e/x4dHv8TExP+CgkK/xMT + E/8UExT+FhUW/xcWF/8YFxj+Dw4U/woMV/8ND3D+DhBx/w4Qcf8JCz/+Hx0f/yAfIP8gHiD/Hx4f/iAf + IP8+PD7/OTg5/hAPEP8dHB3/IB8g/h8eH/8eHR7/HRwd/hwbHP8aGRr/GRgZ/hgXGP8XFhf/FRQV/hQT + FP8TExP/ERER/gcHB/8FBQb/Dw8P/h8fH/8ODg7+CQgJ/wcHB/8FBQX+AwMD/wIBAv8AAAD+AAAA/wAA + AP8AAAD+AAAA/xUVFf8cHBz+FBQU/w4ODv8CAgL+AAAA/wAAAP8AAADIAAAAOgAAADUAAAAwAAAAKgAA + ACUAAAAfAAAAGgAAABQAAAAPAAAACQAAAAQAAAACAAAAAgAAAAIAAAABAAAAAQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBQUHAQEBeBMSE/8XFhf+GBcY/xoYGv8aGBr/GBcY/hsa + G/8fHR/+IB4g/x4cHv8LCwv+EhES/xYVFv8XFhf+GBcY/xkYGf8bGRv+Cgog/w0OZ/8OD3D+DhBx/w4Q + cf8MDmn+ExMa/yMiI/8jISP/IyEj/iIhIv8lJCX/UVBR/jU0Nf8REBH/Hx0f/iEgIf8gHiD/Hx0f/h4c + Hv8cGxz/Gxob/hoYGv8YFxj/FxYX/hUUFf8UExT/ExIT/goKCv8GBQb/CgoK/igoKP8YGBj+CgoK/wgI + CP8HBgf+BQQF/wMDA/8BAQH+AAAA/wAAAP8AAAD+AAAA/xgYGP8cHBz+FBQU/w0NDf8BAQH+AAAA/wAA + AP8AAAC3AAAAMgAAAC0AAAAnAAAAIgAAABwAAAAXAAAAEQAAAAsAAAAGAAAAAgAAAAIAAAABAAAAAgAA + AAIAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGBQYFAAAAZRQT + FP4YFxj+Ghka/hsaG/4bGhv+GBcY/hsaG/4hHyH+IiAi/hkYGf4LCwv+FxYX/hgXGP4ZGBn+Gxkb/hwb + HP4cGxz+CAg3/hAQc/4QEXX+EBBz/g8Qcf4OD3D+Cww7/iMiI/4mJSb+JiQm/iUkJf4kIyT+Li0u/mBf + YP40NDT+EhES/iAeIP4iICL+IR8h/h8eH/4eHR7+HRwd/hsaG/4aGRr+GBcY/hcWF/4VFBX+FBMU/g8O + D/4FBAX+BQUG/isqK/4oKCj+CwsL/goJCv4ICAj+BgYG/gQEBP4CAgL+AAAA/gAAAP4AAAD+AAAA/hwc + HP4cHBz+FBQU/g0NDf4AAAD+AAAA/gAAAP4AAAChAAAAKQAAACQAAAAeAAAAGQAAABMAAAANAAAACAAA + AAMAAAACAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAALCwsCAAAAShQUFPwaGRr+HBoc/x0cHf8cGxz/GBYY/hsaG/8jISP+IyEj/xIR + Ev8RERH+GRgZ/xsZG/8cGxz+HRwd/yEgIf8bGhz+Dg5h/xMShv8TEob+ExKC/xISfP8QEXX+DQ5m/xgY + Iv8pJyn/KCco/igmKP8nJif/JiUm/jU0Nf9sa2z/OTk5/hISEv8gHyD/IyEj/iEgIf8gHyD/Hh0e/h0c + Hf8cGhz/Ghka/hgXGP8XFhf/FRQV/hMSE/8HBgf/BAQF/iIiIv88PDz+Dw8P/wsKC/8JCQn+BwcH/wUF + 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 + Bv8aGRr+Ly8v/yUlJf8cHBz+BgYG/wAAAP8AAAD+AAAA3AAAABAAAAABAAAAAgAAAAIAAAABAAAAAgAA + AAIAAAABAAAAAgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYVFhsZGBnyJyYn/iknKf4oJij+HBoc/iwq + LP4YFxj+HRwd/iYlJv4pJyn+Kykr/i0rLf4vLS/+XFpc/lNTU/7NzMv+6uno/ru7z/4xLbX+NS7Q/isk + w/4kHbj+Hxmw/jc2nP7x8fH+9PTz/ubm5f48PDz+NDM0/jQyNP4zMTP+MzEy/jIwMv4xLzH+MC4w/i4s + Lv4rKSv+KCco/jQyNP5UU1T+Pz4//hEREf4YFxj+Hx4f/h4dHv4cGxz+Ghka/hgXGP4UExT+BgYH/hkZ + Gv5hYGH+MC8w/g4NDv4LCwv+CQkJ/ggICP4rKiv+MC8w/iYmJv4bGxv+AAAA/gAAAP4AAAD+AAAAjwAA + AAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkY + GQUREBHGKScp/yopKv8oJij/Hx4g/i0sLf8SERL+JSMl/ygnKP8qKSr+LSst/y8tL/8wLjD+Xl1e/1xb + W//NzMv+6ejn/+vq6f+Fhrb+Ih66/x0Ztv8ZFa7+FhOp/yMjlv/Gx9j/9PPz/vX09P+kpKT/LSss/jUz + NP80MjT/MzEz/jMxMv8yMDL/MS8x/i8tL/8tKy3/Kigq/igmKP8oJij/Pz0//j8+P/8WFhb/FBMU/h0b + Hf8dHB3/Gxob/hkYGf8XFhf+Dw4P/wcGB/86Ojr+VFNU/xcWF/8MDAz+CgkK/xAQEP84Nzj+MDAw/yYm + Jv8TExP+AAAA/wAAAP8AAAD7AAAAKQAAAAIAAAABAAAAAgAAAAIAAAABAAAAAQAAAAEAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANDA17KScp/ywqLP8pJyn/JCIk/i0rLf8TExP+JyYn/yoo + Kv8sKiz+Ly0v/zAuMP8xLzH+YF9g/1xcXP/My8v+6ejn/+np6P+Pkbn+JiG9/yQeu/8hG7X+Hhmu/xoX + of8uLo//19fh/vT08//y8fH/Pj4+/jQzNP81MzT/NDI0/jMxM/8yMDL/MS8x/jAuMP8uLC7/Kyor/ikn + Kf8mJCb/JCMk/iwrLP8xMDH/GBcY/hMSE/8eHR7/HBsc/hoZGv8YFxj+FRQV/wsLC/8NDQ3+T05P/zc2 + N/8NDQ3+CwoL/yUlJf87Ojv+MTAx/ycmJ/8JCQn+AAAA/wAAAP8AAAC3AAAAAgAAAAIAAAABAAAAAQAA + AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATEhMnHx0f/y0r + Lf8qKSr/KCco/i8tL/8XFhf+KScp/yspK/8uLC7+MC4w/zEvMf8yMDL+YmBi/1VUVP/IyMf+6Ofm/+Pk + 5f9NTqX+JR+7/yMdt/8gGrL+HRip/xkWnf8VFJH/PT6P/uDg5//m5eX/Z2Zm/iwrLP82NDX/NTM0/jQy + NP8zMTP/MjAy/jEvMf8vLS//LCss/iooKv8nJif/JCMk/iIgIv8hICH/HBsc/hIREv8gHiD/Hhwe/hsa + G/8ZGBn+FhUW/xMSE/8JCAn+ISAh/0hISP8eHh7+EA8Q/zw8PP87Ozv+MTEx/yAgIP8BAQH+AAAA/wAA + APoAAABLAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAEA8Qui0sLf4sKiz+LCos/jIwMv4bGhv+Hh0e/iknKf4vLS/+MS8x/jIw + Mv4zMTL+YF9g/k9PT/6xsK/+5+bl/svM1/4kIaD+IRuz/iAasP4eGKv+Gxei/hcVl/4UE4v+EhJ+/kVH + jv6ko6j+tbOy/l5dXf4zMTL+NTM1/jQyNP4zMjP+MjAy/jEvMf4wLjD+Liwu/ispK/4oJij+JSQl/iIh + Iv4bGhv+GBcY/isqK/4mJSb+IB8g/hwbHP4aGRr+FxYX/hUUFf4REBH+CQgJ/i4uLv46OTr+LSwt/kVE + Rf48Ozz+MDAw/g0MDf4BAQH+AAAA/gAAAL4AAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAExITRSMiI/gtKy3/Ly0v/jIw + Mv8xMDH+Kykr/xgYGP8QEBD+IyEi/zIwMv8zMTP+WVdY/0lISf92dXX+x8fG/5GRuf8cGKT+Hxmu/yQe + uP8nIbz+IRuz/xoWof8UE4z/EBF5/hESbf90dIP/1NPR/sTDwv83Njb/NjQ1/jUzNP80MjT/MzEz/jIw + Mv8xLzH/Li0u/iwqLP8pJyn/JiQm/iAeIP8bGhv/OTg5/jU0Nf8vLi//KCco/iIhIv8dGx3+GRgZ/xYV + Fv8TExP+Dw8P/w4ODv82Njb+XFtc/0ZFRv88PDz+HBwc/wQEBP8BAQH+AAAA+AAAAD0AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAHRwdAhEQEaQrKiv/MS8x/jIwMv8vLS/+ISAh/w4ODv8WFhb+LCos/zMxM/80MjP+UE9Q/1NS + Uv+TkpH+ioqJ/0BAiv8bF6L+Jh+6/zky0f9AOtj+MizJ/yAasf8XFJf/ERF8/i8wa/++vbz/2tnY/uHg + 3/+ZmJf/LCor/jUzNf80MjT/MzEz/jIwMv8xLzH/Ly0v/iwqLP8pKCn/JCIk/hIREv89PT3/QkBC/j08 + Pf84Nzj/MjEy/isqK/8lJCX+Hx0f/xkYGf8UExT+ExIT/w8OD/8tLS3+Y2Nj/05OTv8rKiv+BwcH/wQE + BP8CAgL+AAAAlAEBAQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkYGRISERLMMS8x/i4sLv4aGRr+GBcY/isq + K/4xLzH+MjAy/jMxM/40MjT+R0VH/llYWP6dnZz+19bV/lVVe/4bF5n+KSK6/jQvv/4xLrT+JCKi/hcW + jv4TEoP+FRZ2/oiHlP7Y1tX+4N/d/ufm5f7q6ej+YWFg/jEwMf40MzT+MzEz/jIwMv4xLzH+MC4w/i0r + Lf4rKSv+NTQ1/iwsLP4sLCz+Kysr/ioqKv4qKSr+JiUm/iEhIf4hICH+JyYn/iIhIv4bGhv+FBQU/iwr + LP5LS0v+PT0+/jo5Ov4MCwz+BwYH/gQEBP4BAQHHAwMDCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAaGRodFRUV1C0rLf4XFhf+LSst/zAuMP8yMDH+MzEy/zQyM/80MzT+QD5A/1xbXP+JiYn+7+7u/9jX + 1/9ZWIT+FheB/yEsh/9BXqr+Vn3G/1J3w/9CX7H/Q0+H/rKys//a2dj/5OPi/unp6P/s7Ov/2trZ/j49 + Pf80MjP/MzEz/jIxMv8xLzH/MC4w/i0rLf8vLS//Pj0+/kRDRP9MS0z/VVRV/lxbXP9iYWL/ZGNk/mdm + Z/8nJyf+Ly4v/ysqK/8lJCX+Ly4v/1xcXP9VVVX+JSUl/w4NDv8MDAz+BgYG/wICAscFBQUeAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFhUWHBAPEL4oJif+HBsc/zAuMP8yMDL+MzEz/zQy + NP81MzT+Ojg5/19eXv94eHj+7e3t/+7u7f/Ew8P+SmCP/1N8uv9Yg8T+XInO/2CO1v9jk97/Z5fj/myO + xP+OmKj/0M/O/uvq6f/u7e3/8fHw/ry7u/8sKyz/MzEz/jMxMv8yMDL/MC4w/i0rLf8qKCr/JyYn/iQj + JP8hICH/Hx0f/hwaHP8ZGBn/HBsc/jw7PP8lJSX+NzY3/zQzNP86OTr+bW1t/11dXf8lJSX+Dg4O/wwL + DP8HBwf+AgICoggHCBMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkY + GQYMDAyAGBgY9yEgIf4yMDL+MzEz/jQyNP41MzT+NjQ2/lpZWf5lZWT+4eDg/uvq6f6Gj53+SnKs/k53 + tP5SfLz+VoLG/lqHz/5djNf+YZHf/mSW5v5qnOv+b5DF/p2ms/7f3t7+8/Ly/vb19f6Pj4/+LCos/jIw + Mv4xLzH+MC4w/i0rLf4qKCr+JyYn/iQjJP4hICH+Hx0f/hsaG/4YFxj+FhUW/jMyM/4iISL+QUBB/lNT + U/53dnf+UE9Q/iwrLP4kIyT+FBMU/gYGBt8GBgZdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAERERPwgICM8lJCX+MzEz/zQyNP81MzX+NjQ2/1JR + Uf9SUlL+0dDQ/8zMzP9NaJT+RGul/0hxrf9NdrX+UXy9/1WBx/9YhtD/W4vY/l6Q4P9ilOb/aJrr/m6c + 5v95k7v/wcPG/vT08//29vX/W1pb/jAuL/8xLzH/MC4w/i0rLf8qKCr/JyUn/iQiJP8hHyH/Hh0e/hsa + G/8YFxj/FRUV/i8uL/8kIyT+Z2Zn/2ZlZv9HRkf+Ojk6/y0tLf8VFBX0CQkJkg8PDxoAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABoZ + Gg8NDA2RLCss/zQyNP81MzX+NjU2/0dFRv9CQkL+kaG9/2yQzP9PgM3+S3zI/0h1vf9GcLP+S3W2/097 + v/9SgMj/VoXR/lmJ2P9cjt//X5Lm/mWY6v9sne3/cZfS/qSrtv/z8vL/4eDg/jk4Of8xLzH/Ly0v/iwq + LP8pKCn/JyUn/iMiI/8gHyD/Hh0e/hsaG/8YFxj/FRQV/ikpKf8vLi/+WFdY/09PT/9FREX+IyMj/wkJ + CbgZGBk1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQwNpS8tL/41MzT+NjQ1/j08P/5HY5L+XZTn/myg + 8P5zpfD+dKXx/nCj8P5kmer+U4bX/kt5xP5LeL/+UH/J/lOD0P5Wh9f+WYzf/lyQ5f5ilen+aZvs/nKf + 5v6XorT+8vLy/r69vf4rKSv+Liwu/isqK/4pJyn+JiQm/iMhI/4gHyD+HRwd/hoZGv4XFhf+FRQV/iEg + If44Nzj+WFdY/jQzNP0RERHPGBgYSikoKQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHh4gDxIS + FKQiICHwMjAy/z5Rc/9dkuT+ap/w/2yh8P9uovH+c6Xx/3uq8v+Dr/P+g6/z/3Ok7/9dkOD/TXzJ/k17 + yP9RgdD/U4bY/laK3/9ajuX/YJTo/mqd7f92oub/pqy2/vDv7/+QkJD/JyUn/ispK/8oJij/JSMl/iIh + Iv8fHh//HBsc/hoZGv8XFhf/FBMU/hcXF/8oKCj+FRQV3w8PD2koKCgMAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtPFQiITBLj1KBy/5knPD+ZZzw/2Wc8P9lnPD+ZZ3x/2Wd + 8f9onvH+c6Xy/4ax8/+LtfT/eajw/lqN3f9Lesn/Tn/Q/lGE2P9TiN//V4zl/mCU6f9ypPL/dJvW/r/C + xf/t7ez/XVxc/iYlJv8nJSf/JCMk/iEgIf8fHR//HBsc/hkYGf8WFRb/ExMT/gwMDPkJCQmKGhoaEwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASXbAmWWb + 7v5nnvH+aJ7x/mie8f5onvH+aJ7x/mie8f5onvH+aJ7x/mif8f50pvL+irT0/o219P5yo+/+U4TU/kt7 + zP5Ogdf+UYXf/lWL5P5om+3+c6b0/naTwP7W1tX+3dzc/j8+P/4lIyX+IyEj/iAfIP4eHB7+Gxob/hgX + GP4VFBX+DAwM8gYGBnUTExMCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAABLdLkmXI/g+Wqg8v9qoPL+a6Dy/2uh8v9rofL+a6Hy/2uh8v9rofL+a6Dy/2ug + 8v9qoPL/bKHy/n2s8/+RuPX/gq7z/mGU5P9MfM3/TH/W/k6E3v9dkuj/caTz/m+h7v+Lma7/5OPi/r69 + vP8qKSn/IiAi/h8eH/8dGx3/Ghka/hUUFf4JCAnNCgkKNA8ODwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABNfMmUbKHy/22i8v9uovL+bqPz/26j + 8/9uo/L+bqPz/26j8/9uo/L+bqPz/26i8/9tovL/baLy/myh8v9zpfP/jrb1/o219f9sn+7/T4DR/kl8 + 1P9Sh+D/a5/w/m6i8/9pldj/t7i4/tnY1v+dm5v/Gxob/h4dHv8cGhz/EhES+ggHCI0ODg4OAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFeH + 1SdgkeDxb6Pz/nCk8/5wpPP+caTz/nGl8/5xpfP+caXz/nGl8/5xpfP+caTz/nCk8/5wpPP+cKTz/m+j + 8/5uo/P+cKPy/oax9P6TuvX+cqTx/laI2P5JfNP+YJXp/myh8v5pn/H+eI6u/szKyf7Mysn+d3Z1/hgX + GP4LCwvZFRQUPgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAFF/zaBwo/L+cqb0/3Om9P9zpvT+dKf0/3Sn9P90p/T+dKf0/3Sn + 9P90p/T+dKf0/3Sn9P9zpvT/c6b0/nKm9P9xpfP/caTz/nGk8/+Cr/T/krn1/nSm8v9Zi9v/U4bc/mqf + 8P9onvH/ZJLX/qmqrP/Dwb//u7q4/lRTU9Q/Pj4cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWYfUM2SV4vR1p/T+daj0/3ao + 9f93qfT+d6n1/3ep9f93qfX+eKn1/3ip9f93qfX+d6n1/3ep9f92qfX/dqj0/nWo9P90p/T/c6f0/nOm + 9P9ypfT/gq/0/pK59f90pvP/VYbW/mSY6/9nnfH/Yprv/n+Nov++vLr/mZiX7m5ubjQAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAVoTRuHan8/53qfX+eKr1/nmq9f55qvX+eqv1/nqr9f56q/X+eqv1/nqr9f56q/X+eqv1/nqr + 9f55qvX+ear1/niq9f53qfX+dqj0/nWo9P51p/T+c6b0/oSx9f6QuPb+bqDu/leJ2f5lnPD+YZrv/mSC + sv6ioaD7cXeAVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABbidU0a5vn/Xqr9v97q/b+e6z2/3ys9v98rfb+fa32/32t + 9v99rfb+fq72/36u9v99rfb+fa32/32t9v98rfb/fKz2/nus9v96q/b/eav1/niq9f93qfX/dqj1/nao + 9P+Jtfb/h7L1/mOU4/9ek+b/YJnv/lVyo85rcn2IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABXhdCce6z2/32t + 9v99rvb+fq73/3+u9/+Ar/f+gK/3/4Cv9/+BsPf+gbD3/4Gw9/+BsPf+gK/3/4Cv9/9/r/f/f672/n6u + 9/99rfb/fK32/nus9v96q/b/ear1/nip9f94qvX/kLj2/nmp8v9Yitr/XJPp/lV1q2dnib0IAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAGmX4RNjkdzmf673/n+v9/6Ar/f+gbD3/oKw9/6Csff+g7H4/oOx+P6Dsfj+g7L4/oOy + +P6Dsfj+g7H4/oOx+P6Csff+grD3/oGw9/6Ar/f+f673/n6u9v59rfb+fKz2/nqr9v55qvX+gK71/om0 + 9v5jlOH+VIjc+1mDyCcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF+M1kt2pO3+gbD3/4Kx+P+Dsvj+hLL4/4Wz + +P+Gs/j+hrP5/4a0+f+HtPn+h7T5/4e0+f+HtPn+hrT5/4az+f+Fs/j/hbL4/oSy+P+Dsfj/grH3/oGw + 9/+Ar/f/fq73/n2t9v98rPb/eqv1/oiz9v94qfP/SXjG5FeAwRIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFiE + z46CsPf+hLL4/oWz+P6Gs/j+h7T5/oi1+f6Itfn+ibb5/oq2+f6Ktvn+irb5/oq2+f6Ktvn+ibb5/om1 + +f6Itfn+h7T5/oe0+f6Gs/j+hbL4/oSy+P6Csff+gbD3/oCv9/5+rvb+fa32/oCu9v5+rvb+WIbQ3UVm + mRMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAGKP2c2Gs/j+h7T5/4i1+f+Jtfn+irb6/4u3+v+Lt/r+jLj6/4y4 + +v+NuPr+jbj6/424+v+MuPr+jLj6/4y3+v+Lt/r/irb5/oq2+v+Jtfn/iLT5/oa0+f+Gs/j/hLL4/oKx + +P+BsPf/f6/3/n6u9/99rfb/aZTX/ggME+UcKDxbKz9eAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaZXdF22a4uuItfn+irb6/4u3 + +v+MuPr+jbj6/465+v+Oufv+j7r7/4+6+/+Quvv+kLr7/5C6+/+Quvv+j7r7/4+6+/+Oufv/jbn6/o24 + +v+Mt/r/irf6/om2+f+Itfn/hrT5/oWz+P+Dsvj/grD3/oCv9/9+rvf/fKz2/jtXg/8CAwT7CAsPjxwn + NgsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAa5ffNnun7fqLt/r+jLj6/o65+v6Pufr+kLr7/pG7+/6Ru/v+krz7/pO8+/6TvPv+k737/pO9 + +/6TvPv+krz7/pK8+/6Ru/v+kLv7/o+6+/6Oufr+jbj6/oy3+v6Lt/n+ibX5/oi0+f6Gs/j+hLL4/oKx + 9/6Ar/f+f672/nuo7f4hMEf+BAQE/gYIC6YXHikIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAW4fQV4Wx9P+Oufr+kLr7/5G7+/+Su/v+k7z8/5S9 + /P+Uvfz+lb78/5a+/f+Wvvz+lr79/5a+/f+Wvvz+lb78/5W+/P+Uvfz/k738/pK8/P+Ru/v/kLr7/o+6 + +/+Nufr/jLf6/oq2+v+Itfn/hrT4/oWy+P+Dsfj/ga/3/oSx9/95ouD/DhIZ/gUFBf8FBgejERUcAgAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY47Wdou1 + 9/+Qu/v+krz8/5S9/P+Uvvz+lr78/5e//f+XwP3+mMD9/5nA/f+Zwf3+mcH9/5nB/f+ZwP3+mMD9/5jA + /f+Xv/3/lr/8/pW+/P+Uvfz/k7z8/pK7+/+Quvv/jrn6/o24+v+Lt/r/ibX5/oe0+f+Fs/j/g7H4/oGw + 9/+Nt/f/V3Sg/gcICf8FBQX+BgcJcgsOEgEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAaZTbkJC6+v6TvPv+lb78/pa//P6Xv/3+mcD9/pnB/f6awf3+m8L9/pzD + /v6cw/7+nMP+/pzD/v6cw/7+nML+/pvC/f6awf3+mcH9/pjA/f6Xv/z+lb78/pS9/P6SvPv+kbv7/o+6 + +/6NuPr+i7f6/om2+f6HtPn+hbL4/oOx+P6Fsvf+lLr0/iYzR/4HBwf+BAQE8gcJDDIAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaJPZoJS9/P+Wvvz+mMD9/5nB + /f+awf3+nML+/5zD/v+dxP7+nsX//57G//+fx/7+n8f//5/H//+fxv7+nsb//57F//+dxP7/nMP+/pvC + /v+awf3/mMD9/pe//f+Vvvz/k738/pK7+/+Puvv/jbj6/ou3+v+Jtvn/h7T5/oWy+P+Csfj/mb/4/nCQ + wP8GBwn/CAgI/gMDA70FBgcDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAXYjRtJa//f+YwP3+msH+/5zC/v+dw/7+nsX//5/H//+gx/7+ocj//6HI//+iyP7+osn//6LJ + //+iyP7+ocj//6HI//+gx///n8b+/p7F/v+cw/7/m8L+/pnB/f+YwP3/lr78/pS9/P+Su/z/kLr7/o25 + +v+Lt/r/ibX5/oe0+f+Esvj/krv4/pa68P8ZIjD/CAgI/gYGBvkDAwNEAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAX4rStpnA/f6bwv3+nMP+/p7F/v6fx/7+ocj+/qLI + /v6jyf7+pMn+/qTK/v6lyv7+pcr+/qXK/v6lyv7+pMn+/qPJ/v6jyf7+ocj+/qDH/v6fxv7+ncT+/pzC + /v6awf3+mMD9/pa+/P6Uvfz+krv7/o+6+/6NuPr+i7b5/oi1+f6Gs/j+jbj4/qLG+f4rO1P+BQUF/gkJ + Cf4CAgKlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYIrSt5vC + /v+dw/7+n8b//6DI//+iyP7+pMn//6XK//+lyv7+psv//6fL//+ny/7+p8z//6fM//+ny/7+p8v//6bL + //+lyv//pMr+/qPJ//+iyP//oMf+/p7F//+cw/7/msH9/pjA/f+Wv/3/hKnh/neazv+Puvv/jLj6/oq2 + +v+ItPn/kLr5/qTH+f80R2P/BAQE/goKCv8FBQXzBQUFBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAYYvSt6DG/v+hyP7+o8n//6PJ//+kyv7+psv//6fL//+ozP7+qcz//6rN + //+qzf7+qs3//6rN//+qzf7+qc3//6nM//+ozP//p8v+/qXK//+kyf//osn+/qDI//+exv//nMP+/prB + /v+YwP3/cpHA/hQZIv+Eq+b/jrn6/oy3+v+Ktvn/nML5/p7D+P8kMUX/AwMD/goKCv8JCQn/BAQEOgAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZI3StrLS/v6z0/7+tNP+/rTT + /v6z0/7+sdH+/q7P/v6rzf7+rM7+/qzO/v6tzv7+rc/+/q3P/v6tzv7+rM7+/qvO/v6qzf7+qcz+/qjL + /v6my/7+pMn+/qLJ/v6gx/7+nsb+/pzD/v6awf3+gqTY/gkMD/5BVHD+krv7/pK7+v6Yv/r+pcj6/oaq + 3/4LDxT+AgIC/gkJCf4MDAz+AwMDaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAcpraqLPT//+21P7+t9X//7nW//+61/7+u9f//7zY//+81/7+udb//7TT//+w0P7+sND//7DQ + //+v0P7+r9D//67P//+tz///q87+/qrN//+ozP//psv+/qTK//+iyf//oMf+/p7F//+cwv7/kLXu/hAU + Gv8DAwP/P1Fs/oyx6f+cwvv/k7jv/jRFXv8CAgL/AgIC/ggICP8NDQ3/AwMDkQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfaPgn7TT/v+31f7+udb//7rX//+71/7+vdj//77Y + //+/2f7+wNr//8Da//++2P7+uNX//7TS//+y0f7+sdH//7HR//+v0P//rs/+/qzO//+qzf//qMz+/qbL + //+kyv//osj+/qDH//+dxP7/msH8/hYbIv8GBgb/BQUF/hQaIv81RFz/GiIu/gMDBP8DAwP/AgIC/gcH + B/8ODg7/BQUFqQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeZ/cjbLR + /f641v7+udf+/rvX/v682P7+vtn+/r/Z/v7A2v7+wdr+/sLb/v7D2/7+w9v+/sDZ/v641f7+tNL+/rPS + /v6x0f7+sND+/q7P/v6szv7+qs3+/qjM/v6myv7+o8n+/qHI/v6fxv7+nMP+/iAnMv4JCQn+BwcH/gYG + Bv4FBQX+AwMD/gMDA/4CAgL+AgIC/gcHB/4PDw/+BgYGvwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAdJrafLDP+/+51v7+u9f//7zY//++2f7+v9r//8Ha///D2/7+xNz//8Xc + ///G3f7+xt3//8bd///E3P7+vdj//7bU//+00///stH+/rDQ//+uz///rM7+/qrN//+ny///pcr+/qLJ + //+gx///ncT+/iYvO/8MDAz/CwsL/gkJCf8ICAj/BgYG/gQEBP8DAwP/AgIC/gcHB/8RERH/CAgIvwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbpXWZ63M+v+61v7+vNf//73Y + //+/2f7+wdr//8Pb///F3P7+x93//8jd///J3v7+yd7//8nd///I3f7+x9z//8DZ//+31P//tNP+/rLR + //+w0P//rc/+/qvO//+ozP//psv+/qTJ//+hyP//nsb+/jI9Tv8PDw//DQ0N/gwMDP8KCgr/CQkJ/gcH + B/8FBQX/AwMD/gcHB/8RERH/BgYGygoKCgUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAdZrYTqjI9/661v7+vNj+/r7Z/v7A2v7+wtv+/sPc/v7G3f7+yd3+/sre/v7K3v7+y97+/sve + /v7K3v7+yd3+/sfc/v7B2v7+ttT+/rPS/v6x0f7+rs/+/qzO/v6qzf7+p8v+/qTK/v6iyP7+n8f+/jZC + VP4SEhL+EBAQ/g8PD/4NDQ3+CwsL/gkJCf4HBwf+BgYG/gkJCf4SEhL+CAgIwQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAh6riN5/A8vq71/7+vdj//7/Z///B2v7+w9z//8bd + ///I3f7+yt7//8zf///N3/7+zeD//8zg///M3/7+yt7//8nd///H3P//wNn+/rbT//+y0v//sND+/q3P + //+qzf//qMz+/qXK//+iyf//oMf+/is0Qf8TExP/EhIS/hEREf8QEBD/Dg4O/gwMDP8KCgr/CAgI/gsL + C/8TExP/CQkJvwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhqniIZCy + 6vC71/7+vdn//7/Z///B2/7+w9z//8fd///J3f7+y97//83g///O4P7+z+H//87h///N4P7+y9///8ne + ///H3P//xNv+/r3X//+00v//sND+/q7P//+rzv//qMz+/qbL//+jyf//mr/0/h4jKf8VFRX/FBQU/hMT + E/8SEhL/EBAQ/g8PD/8NDQ3/CgoK/g8PD/8WFhb/CQkJsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAjrDmCoKn4uS71/7+vdj+/r/Z/v7B2/7+xNz+/sfd/v7K3v7+zN/+/s3g + /v7P4f7+0eL+/tDh/v7P4P7+zOD+/sre/v7I3f7+xNv+/sHa/v641f7+sdH+/q7P/v6rzv7+qcz+/qbL + /v6jyf7+fZvG/hgYGv4YGBj+FhYW/hUVFf4TExP+EhIS/hEREf4PDw/+DQ0N/hMTE/4YGBj+CQkJmwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHed28W61v7+vdj//7/a + ///B2/7+xNz//8jd///K3v7+zN///87h///Q4f7+0uL//9Hi///P4f7+zd///8re///H3f//xNv+/sHa + //+/2f//s9L+/q7Q//+rzv//qcz+/qbL//+jyf//TF10/hsbG/8bGxv/GRkZ/hgYGP8WFhb/FBQU/hIS + Ev8RERH/Dw8P/hgYGP8bGxv/BwcHggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAGWMz5e31P7+vdj//7/Z///B2v7+w9v//8fc///J3f7+y9///83g///P4f7+0OH//9Dh + ///O4P7+zN///8re///H3f//w9v+/sHa//++2P//udX+/q/Q//+rzv//qcz+/qbL//+WuOn/HR8j/h8f + H/8eHh7/HBwc/hoaGv8YGBj/FhYW/hQUFP8SEhL/ERER/hwcHP8eHh7/CQkJYQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGuNxWSryvj+vNj+/r3Z/v7A2v7+wtv+/sXc + /v7I3f7+yt7+/svf/v7N3/7+zuD+/s7g/v7M3/7+y97+/sjd/v7F3P7+wdv+/r/Z/v692P7+utb+/rDQ + /v6rzv7+qcz+/p7A8v43QVH+Kioq/ikpKf4jIyP+Hh4e/hwcHP4aGhr+GBgY/hYWFv4UFBT+ExMT/iEh + If4cHBz+Dg4OOgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFRw + nyuVt+37u9f//73Y//+/2f7+wdr//8Pb///H3P7+yN3//8ne///K3/7+zN7//8ve///K3v7+yd3//8bc + ///D2///wNr+/r7Z//+82P//uNX+/q3P//+qzf//jKrV/jU+Sv88PDz/SEhI/kVFRf9CQkL/Ozs7/i0t + Lf8fHx//Ghoa/hgYGP8WFhb/FhYW/iYmJv8XFxf7EhISCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAPUdZCCs0QlQwPVPyQUlW/0JKVv9ES1f+RU1Y/0ZNWf9TW2n+WGFu/2Vv + f/9ve4z+foqe/4+dtf+jtND+scTj/7fN7v+81fj/v9n+/rzY//+41Pv/qcXu/o2oz/9VZXz/KSsu/kFB + Qf9NTU3/S0tL/khISP9FRUX/QkJC/j8/P/82Njb/ISEh/hoaGv8YGBj/HR0d/ikpKf8RERHUAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXGh4uCwwNyA8PD/wUFBT+FxcX/hoa + Gv4cHBz+Hx8f/iEhIf4kJCT+JiYm/igoKP4pKSn+KCgo/icnJ/4lJSX+KCkq/jM1Ov49QUn+Q0pT/kJJ + U/4+RU7+MTU7/icnJ/4zMzP+S0tL/lNTU/5QUFD+Tk5O/ktLS/5ISEj+RERE/kFBQf4+Pj7+Nzc3/iEh + If4aGhr+JSUl/ioqKv4RERGWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgY + GBkNDQ3pHx8f/yQkJP8qKir+LS0t/y8vL/8yMjL+NDQ0/zIyMv8yMjL+MTEx/y8vL/8tLS3+Ly8v/zAw + MP8yMjL+NDQ0/zU1Nf82Njb/NjY2/jY2Nv83Nzf/QEBA/k9PT/9cXFz/WFhY/lZWVv9TU1P/UVFR/k5O + Tv9LS0v/R0dH/kRERP9BQUH/PDw8/jY2Nv8hISH/Ly8v/icnJ/0QEBBOAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAABUVFRoyMjLmWlpa/1hYWP9YWFj+WFhY/1tbW/9dXV3+YGBg/2Fh + Yf9lZWX+ZmZm/2lpaf9ra2v+aGho/2VlZf9hYWH+Xl5e/1paWv9bW1v/XV1d/mJiYv9oaGj/Z2dn/mFh + Yf9eXl7/W1tb/llZWf9WVlb/U1NT/lBQUP9NTU3/SUlJ/kZGRv9DQ0P/Pj4+/js7O/81NTX/MzMz/hsb + G+UaGhoTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbGxs9JCQk8T09 + Pf5BQUH+RUVF/klJSf5MTEz+UFBQ/lNTU/5XV1f+Wlpa/l1dXf5gYGD+YmJi/mRkZP5nZ2f+aWlp/mpq + av5ra2v+ampq/mhoaP5nZ2f+ZWVl/mNjY/5hYWH+Xl5e/lxcXP5ZWVn+VlZW/lJSUv5PT0/+TExM/khI + SP5ERET+QUFB/jw8PP45OTn+NDQ0/hQUFJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAIyMjNCQkJOBCQkL+R0dH/0tLS/9OTk7+UlJS/1ZWVv9ZWVn+XFxc/19f + X/9iYmL+ZWVl/2dnZ/9qamr+a2tr/2xsbP9tbW3/bW1t/mxsbP9sbGz/ampq/mhoaP9lZWX/YmJi/l9f + X/9bW1v/WFhY/lVVVf9SUlL/Tk5O/kpKSv9GRkb/QkJC/j4+Pv86Ojr/JCQk8xgYGCsAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMjIywfHx/TRkZG/0xM + TP9QUFD+VFRU/1dXV/9bW1v+Xl5e/2JiYv9lZWX+aGho/2tra/9tbW3+b29v/3BwcP9xcXH/cXFx/nBw + cP9vb2//bm5u/mtra/9paWn/ZWVl/mJiYv9eXl7/Wlpa/ldXV/9TU1P/T09P/kxMTP9ISEj/RERE/kBA + QP84ODj/ExMTiygoKAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAiIiIZHR0dwEVFRf5RUVH+VVVV/llZWf5cXFz+YGBg/mRkZP5nZ2f+ampq/m5u + bv5xcXH+c3Nz/nR0dP50dHT+dHR0/nR0dP5zc3P+cXFx/m5ubv5sbGz+aGho/mRkZP5hYWH+XFxc/lhY + WP5VVVX+UVFR/k1NTf5JSUn+RUVF/j8/P/4VFRXIKCgoCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMTExBRYWFn00NDTyVVVV/1pa + Wv9eXl7+YWFh/2VlZf9oaGj+bW1t/3Fxcf90dHT+dnZ2/3d3d/94eHj/eHh4/nh4eP93d3f/dHR0/nJy + cv9vb2//a2tr/mdnZ/9jY2P/Xl5e/lpaWv9WVlb/UlJS/k5OTv9KSkr/QkJC/hkZGccgICAWAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAADc3NwElJSUvISEhuklJSfpeXl7+YmJi/2ZmZv9qamr+bm5u/3Jycv92dnb+eHh4/3p6 + ev97e3v/e3t7/nt7e/96enr/eHh4/nV1df9xcXH/bW1t/mlpaf9kZGT/YGBg/ltbW/9XV1f/UlJS/k5O + Tv9AQED8GhoarCQkJBcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPDw8AysrK04qKiq/UVFR/mZm + Zv5qamr+b29v/nNzc/52dnb+eXl5/nt7e/59fX3+fn5+/n5+fv59fX3+enp6/nd3d/5zc3P+bm5u/mpq + av5lZWX+YWFh/lxcXP5YWFj+T09P/ioqKukeHh5nMTExBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAKioqNCsrK5Q/Pz/eYGBg/3Fxcf92dnb+eXl5/3t7e/9+fn7/gICA/oGB + gf+AgID/fHx8/nh4eP90dHT/b29v/mtra/9mZmb/YGBg/ktLS/4rKyvcHh4eeDIyMhEAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKSkoPNDQ0PzY2 + NoU/Pz+/Tk5O5mJiYvRvb2/+dXV1/np6ev97e3v/dXV1/m9vb/9nZ2f/WVlZ+UREROw0NDTSIyMjkiws + LEQ9PT0OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASEhIDkxMTClDQ0M/MTExVzc3N2w4ODhvNDQ0by8v + L2E0NDROQ0NDNEBAQBlMTEwBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////wAA + AAD/////////8AAAAAAP////////gAAAAAAB///////+AAAAAAAAP//////wAAAAAAAAD//////AAAAA + AAAAA/////8AAAAAAAAAAP////4AAAAAAAAAAD////gAAAAAAAAAAB////AAAAAAAAAAAAf//8AAAAAA + AAAAAAP//4AAAAAAAAAAAAD//wAAAAAAAAAAAAB//gAAAAAAAAAAAAA//AAAAAAAAAAAAAA//AAAAAAA + AAAAAAA/+AAAAAAAAAAAAAA/+AAAAAAAAAAAAAAf+AAAAAAAAAAAAAAf+AAAAAAAAAAAAAAf+AAAAAAA + AAAAAAAf+AAAAAAAAAAAAAA//AAAAAAAAAAAAAA//AAAAAAAAAAAAAB//AAAAAAAAAAAAAB//gAAAAAA + AAAAAAD//gAAAAAAAAAAAAH//gAAAAAAAAAAAAf//gAAAAAAAAAAAA///gAAAAAAAAAAAD///gAAAAAA + AAAAAP///wAAAAAAAAAAB////wAAAAAAAAAAP////4AAAAAAAAAA/////4AAAAAAAAAB/////4AAAAAA + AAAB/////8AAAAAAAAAD/////+AAAAAAAAAH//////AAAAAAAAAP//////gAAAAAAAA///////4AAAAA + AAB///////8AAAAAAAH////////AAAAAAAP////////AAAAAAA/////////wAAAAAD/////////4AAAA + AH/////////wAAAAAP/////////wAAAAA//////////gAAAAD//////////gAAAAH//////////AAAAA + P//////////AAAAAf/////////+AAAAA//////////+AAAAA//////////8AAAAB//////////8AAAAB + //////////8AAAAB//////////8AAAAAf/////////4AAAAAP/////////4AAAAAH/////////4AAAAA + D/////////4AAAAAB/////////4AAAAAB/////////4AAAAAA/////////4AAAAAA/////////4AAAAA + A/////////4AAAAAAf////////4AAAAAAf////////4AAAAAAf////////4AAAAAAf////////4AAAAA + Af////////4AAAAAAf////////4AAAAAAf////////4AAAAAAP////////4AAAAAAf////////4AAAAA + Af////////4AAAAAAf////////4AAAAAAf////////8AAAAAAf////////8AAAAAAf////////8AAAAA + Af////////8AAAAAAf////////4AAAAAA/////////wAAAAAA/////////gAAAAAA/////////gAAAAA + A/////////wAAAAAB/////////4AAAAAB/////////8AAAAAB/////////+AAAAAD//////////AAAAA + H//////////gAAAAP//////////4AAAAf///////////AAAB////////////wAAH/////////////AA/ + ////////KAAAAEgAAACQAAAAAQAgAAAAAABgVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAJAAAAEQAAACAAAAA2AAAATwAAAGMAAAB5AAAAiAAA + AJIAAACSAAAAkQAAAI4AAACFAAAAfQAAAHEAAABiAAAATgAAADgAAAArAAAAHgAAABIAAAALAAAABQAA + AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAA + AAkAAAAaAAAARQAAAHoAAACoAQABzwAAAOoAAAD2AAAA/gAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD8AAAA9QAAAOkAAADSAAAAtAAAAIwAAABjAAAARQAAACoAAAAWAAAACgAA + AAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAoAAAArAAAAcQICArUDAwPqBAQE/gUF + Bf4FBAX/BAQE/wQDBP4DAwP/AgIC/gEBAf8AAAD+AAAA/wAAAP4AAAD/AAAA/wAAAP4AAAD/AAAA/gAA + AP8AAAD+AAAA/wAAAP4AAAD/AAAA/gAAAP8AAAD6AAAA3wAAALUAAACBAAAAWAAAADYAAAAbAAAACgAA + AAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + 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 + CP4IBwj/CQkJ/woKCv4KCgv/CQkL/hEQEf8REBH+ERER/wkJCf4UExT/FxYX/xYVFv4VFBX/FBMU/hMT + E/8TEhP+EhIS/xEQEf4QDxD/Dg0O/wwMDP4KCgr/BQQF/gQEBP8GBgb+AwMD/wEBAf4AAAD/AAAA/gAA + AP8AAAD/AAAA/gAAAP8AAAD+CAgI/xsbG/4RERH/BwcH/gAAAP8AAAD9AAAAhQAAAGMAAABdAAAAVgAA + AFAAAABJAAAAQQAAADQAAAAhAAAADQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAABQUFDAMDA5gPDw/9EhIS/xMSE/8UExT/FRQV/xYVFv8XFhf/EhES/wcHB/8MCwz/DQwN/w4N + Dv8KChH/CAk2/xISEv8TExP/ExMT/xEREf8MDAz/GBcY/xkYGf8YFxj/FxYX/xYVFv8VFBX/ExMT/xMS + E/8SERL/ERAR/w8OD/8NDA3/BgYG/wUEBf8IBwj/BQUF/wMDA/8BAQH/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/CQkJ/xsbG/8RERH/BwcH/wAAAP8AAAD9AAAAfQAAAFkAAABTAAAATAAAAEYAAAA/AAAAOAAA + ADAAAAAnAAAAGQAAAAoAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGBgYFBAMEnBAQ + EP4SEhL/ExMT/xUUFf4WFRb/GBcY/hkYGf8ZGBn+CwoL/w0MDf4QDxD/ERAR/xIREv4JCSn/DA5o/g8P + Gf8XFhf+FxYX/xcWF/4XFhf/ERAR/xsaG/4bGhv/Ghga/hgXGP8XFhf+FhUW/xQTFP4TExP/EhIS/xER + Ef4PDw//CQgJ/gUFBf8ICAj+CAgI/wUFBf4DAwP/AQEB/gAAAP8AAAD/AAAA/gAAAP8AAAD+CgoK/xsb + G/4RERH/BgYG/gAAAP8AAAD9AAAAdAAAAE4AAABIAAAAQQAAADoAAAAzAAAALAAAACUAAAAdAAAAFQAA + AAsAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMuDw4P+hMSE/8UExT/FhUW/xcW + F/8ZGBn/Ghka/xsaG/8WFRb/CgoK/xIREv8SEhL/ExIT/xEREv8JCkr/DhBx/wsMPf8aGRr/Ghka/xoZ + Gv8mJSb/HBsc/xcWF/8dHB3/HBsc/xsaG/8aGRr/GBcY/xcWF/8VFBX/FBMU/xMSE/8SERL/DAwM/wUF + Bv8JCQn/Dg0O/wcHB/8FBQX/AwMD/wEBAf8AAAD/AAAA/wAAAP8AAAD/DAwM/xsbG/8RERH/BgYG/wAA + AP8AAAD8AAAAYgAAAEQAAAA9AAAANgAAAC8AAAAoAAAAIAAAABkAAAASAAAACgAAAAMAAAABAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEwDw8P+RQUFP4WFRb/GBcY/xgXGP4bGhv/HRwd/h0c + Hf8ODQ7+EBAQ/xMTE/4VFBX/FhUW/w4OGf4MDmT/DQ9w/gwOZv8WFRz+Hx0f/x4dHv4fHh//PDo8/xoZ + Gv4bGhv/Hx4f/h4dHv8cGxz+Gxob/xkYGf4YFxj/FhUW/xQTFP4TEhP/EBAQ/gYGBv8ICAj+GRkZ/woK + Cv4HBwf/BQUF/gICAv8AAAD/AAAA/gAAAP8AAAD+Dg4O/xsbG/4RERH/BQUF/gAAAP8AAAD7AAAAUQAA + ADgAAAAyAAAAKgAAACMAAAAbAAAAFAAAAA0AAAAFAAAAAgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAACAgIqEA8Q9xcWF/8ZFxn/Ghga/xgXGP8dHB3/Hx4f/xsaG/8MCwz/FRQV/xcW + F/8YFxj/Ghka/wsLK/8OD27/DhBx/w4PcP8ODjn/IiEi/yMhI/8iISL/JyYn/01MTf8YGBj/HRwd/yEf + If8fHh//HRwd/xwbHP8aGRr/GBcY/xYVFv8UExT/ExIT/wgICP8FBQX/IyIj/xMTE/8JCQn/BwYH/wQE + BP8CAgL/AAAA/wAAAP8AAAD/ERER/xsbG/8RERH/AwMD/wAAAP8AAAD5AAAAOQAAAC0AAAAmAAAAHgAA + ABcAAAAPAAAACAAAAAMAAAACAAAAAgAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAADAwMYEA8Q8xkYGf4bGhv/Gxob/xgXGP4fHR//IiAi/hQUFP8SERL+GBcY/xoZGv4bGhv/HBsc/wsL + S/4REXj/EBF2/g8Qcv8NDmP+HBwh/yYlJv4mJCb/JSMl/zQyNP5YV1j/GRgZ/h8dH/8iICL+IB8g/x4d + Hv4cGxz/Ghka/xgXGP4WFRb/FBMU/g0MDf8FBAX+ISAh/yQjJP4LCgv/CAgI/gYGBv8DAwP/AQEB/gAA + AP8AAAD+FhYW/xsbG/4RERH/AgIC/gAAAP8AAADpAAAAKQAAACEAAAAaAAAAEgAAAAsAAAAEAAAAAgAA + AAIAAAACAAAAAQAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICAgHDw4P4xsa + G/8dHB3/HRwd/xcWF/8hHyH/IiEi/w8OD/8ZGBn/Gxob/x0cHf8gHyD/Hx4j/xMRev8VE4//FBOL/xMS + g/8REXj/ERE6/yooKv8qKCr/KScp/ygmKP87Ojv/ZGNk/xsbG/8fHh//IiEi/yEfIf8fHR//HRwd/xsZ + G/8ZFxn/FhUW/xMSE/8FBQb/FRUV/zw7PP8ODQ7/CgoK/wcHB/8FBQX/AgIC/wAAAP8AAAD/Gxsb/xsb + G/8QEBD/AAAA/wAAAP8AAADNAAAAHQAAABUAAAAOAAAABgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQDxABDg4OyR0cHf8fHh//Hx4f/xcW + F/8jIiP/IB4g/xEQEf8dGx3/Hx0f/yEfIf8rKiv/Hx46/xoVm/8bFqX/Ghag/xcUlv8UE4j/Dw9q/yIh + Jv8tLC3/LSst/yspK/8qKCr/QT9B/2xrbP8fHx//Hx4f/yMhI/8hICH/Hx4f/x0bHf8aGRr/GBcY/xYV + Fv8KCgr/CAgI/0dGR/8cGxz/DAsM/wkJCf8GBgb/BAQE/wEBAf8AAAD/ISEh/xsbG/8PDw//AAAA/wAA + AP8AAAClAAAAEQAAAAkAAAADAAAAAgAAAAEAAAACAAAAAgAAAAIAAAACAAAAAQAAAAEAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAERARqR8eH/4hICH/IiAi/xYVF/4mJCb/GRgZ/hgX + GP8gHiD+IiAi/yQiJP47Ojv/GBdJ/yMdtv4nILz/Ihu1/h0XqP8YFJf+ExOI/yAgRv4wLjD/MC4w/y8t + L/4tLC3/Kyor/j48Pv9zcnP+KCgo/xwbHP4jISP/ISAh/x8dH/4cGxz/Ghka/hgXGP8SERL+BQUF/zU1 + Nf47Ojv/DQ0N/gsKC/8ICAj/BQUF/gMCA/8FBQX+JSUl/xsbG/4MDAz/AAAA/gAAAP8AAAB1AAAABQAA + AAIAAAABAAAAAQAAAAEAAAABAAAAAQAAAAIAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAEA8QhyEgIf8jIiP/IyIj/xcWF/8oJij/ExMT/x8dH/8jISP/JSMl/ycm + J/9HRkf/Oztf/yUgs/87NNP/MivJ/yMct/8bF6P/FhST/4mJq/8uLS7/MjAy/zEvMf8wLjD/Ly0v/ywr + LP85ODn/b25v/zQzNP8ZGBn/IiEi/yEfIf8eHR7/HBsc/xkYGf8XFhf/CQkJ/xUVFf9aWlr/FRUV/wwL + DP8JCQn/BwYH/wQEBP8PDw//JiYm/xsbG/8ICAj/AAAA/wAAAP4AAAA7AAAAAQAAAAIAAAABAAAAAgAA + AAIAAAACAAAAAgAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAADw8PXyIhIv4lJCX/JSQl/xkYGf4pJyn/ExIT/iMhI/8lJCX+KCYo/yooKv5SUVL/n56e/1BO + qP48NtP/PznX/iokwP8eGa3+Gxia/8vL2/57enr/MjAy/zIxMv4yMDL/MS8x/i8tL/8tKy3+MS8x/2Rj + ZP5AQED/FhUW/yAfIP4gHyD/Hhwe/hsaG/8YFxj+EhES/wUFBf5LS0z/ODg4/g0NDf8LCgv/CAcI/gUF + Bf8dHB3+JyYn/xsbG/4DAwP/AAAA/gAAAOcAAAAPAAAAAQAAAAIAAAABAAAAAgAAAAEAAAACAAAAAQAA + AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEhESLiAe + IP4nJif/JyUn/xwbHf8oJij/FhUW/yUkJf8oJij/Kykr/y0rLf9bWlv/sbCv/83M2P82MrX/PTbW/ysl + wf8hG7P/JySd/+Xl6v/e3t3/NzU2/zQyM/8zMTP/MjAy/zEvMf8vLS//LSst/ywqLP9OTU7/SUlJ/xYW + Fv8dHB3/Hx4f/x0bHf8aGRr/FxYX/wsKC/8dHB3/Xl1e/xMTE/8MCwz/CQkJ/wcHB/8rKyv/Jycn/xgY + GP8AAAD/AAAA/wAAAKYAAAACAAAAAgAAAAIAAAABAAAAAgAAAAIAAAABAAAAAQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGBcYCxkYGeYpJyn/KScp/yEg + If4lJCX/Ghka/igmKP8rKSv+LSwt/zAuMP5gX2D/tbSz/+rp6P6fnsX/KybD/iMeu/8bF6/+LCud/+zr + 7v709PT/iomJ/zMyM/40MjT/MzEz/jIwMv8xLzH+Ly0v/ysqK/4pJyn/ODY4/0RDRP4ZGRn/GRgZ/h4c + Hv8bGhv+GRgZ/xQTFP4HBwj/Q0JD/jg4OP8NDA3/CgoK/hIREv81NDX+KCgo/xEREf4AAAD/AAAA/gAA + AEUAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQTFKYrKSv/Kigq/yYlJv8hICH/IB8g/yoo + Kv8tKy3/MC4w/zEvMf9kY2T/t7a1/+no5//b2+H/JSKr/yIcuP8eGbH/Ghei/2dnqf/w7/D/7Ozr/zc2 + Nv81MzX/NDI0/zMxM/8yMDL/MC4w/y0sLf8qKCr/JiUm/ygnKP8zMjP/Ghka/xcWF/8dHB3/Ghka/xcW + F/8QDxD/ERAR/09OT/8aGRr/CwoL/ygoKP82NTb/KCgo/wgICP8AAAD/AAAA1QAAAAMAAAACAAAAAQAA + AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAABMSE1ApJyn+Kyor/yspK/4iICL/JiUm/iwqLP8vLS/+MS8x/zIw + Mv5kY2P/rayr/+jn5v6Ym8D/JB62/iIctf8eGaz+Ghae/xQTjP56e67/4eHh/2ZlZf4xMDH/NTM1/jQy + NP8zMTL+MS8x/y8tL/4rKiv/KCYo/yQjJP4hICH/Gxob/hkZGf8fHh/+HBsc/xgXGP4VFBX/DAsM/iUk + Jf86OTr/ExIT/j4+Pv82Njb+ISEh/wEBAf4AAAD/AAAAZAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAABwbHAUaGRrYLSst/y8tL/8tKyz/ISAh/x8eH/8oJyj/MS8x/zMxM/9iYWL/fHt7/9/e + 3f9ZWav/IBqw/yAasv8fGa3/GRWd/xMTiP8RE3b/a2uH/8rIx/9TUlL/NjQ1/zQzNP8zMTP/MjAy/zAu + MP8tKy3/KScp/yUkJf8dGx3/JCMk/y8uL/8nJif/IB4g/xoZGv8XFhf/ExIT/wsLC/8vLi//Q0JD/0RD + RP81NTX/DAwM/wEBAf8AAADTAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAVFBVTKCYo/DEvMf8xMDH/KCYn/xEREf8bGhv/MTAx/zQyM/9hYGH/c3Jy/5KSl/8lI5b/Ihy0/zcw + zv83Mc7/Ihyy/xYUkf8UFHH/mZih/9vZ2P/Ew8L/MjEx/zUzNf80MjP/MjAy/zEvMf8uLC7/Kigq/yEf + If8jIiP/QUBB/zs6O/8zMjP/Kyor/yIhIv8bGhv/FRQV/xIREv8WFRb/X15f/0hISP8aGRr/BAQE/wEB + Af0BAQFHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeHR4BEhISiS8t + L/4iICL/HBsc/i4sLv8yMDL+MzEz/zQyNP5cWlv/goKB/83Nzv48O4P/Ih2u/iwprv8tMab+ISaW/xMV + f/5OTn7/09LR/+Lh3/7p6Of/lZWU/jEwMf80MjT+MjEy/zEvMf4uLC7/LSst/zw7PP46OTr/PDs8/jo6 + Ov82NTb+Ly4v/yMiI/4mJSb/Hh0e/hkZGf9KSUr/Pj0+/igoKP8ICAj+BAQE/QICAoEAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHx4fAxISEo4lJCX9IyEi/zEv + Mf8yMDL/NDIz/zUzNP9WVFb/cXFx/+/u7v/NzM7/PkSB/0Jhqf9bhcr/YI3W/1uF0/9zirL/tbe7/+Xk + 4//s6+r/7ezs/2NiY/8zMTP/MzEy/zEvMf8uLC7/LCos/y0rLf8vLi//NDI0/zk4Of9AP0D/UlJS/yoq + Kv8yMjL/Kysr/1ZVVv9VVFX/HBsc/wsLC/8HBwf6BAQEfgUFBQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASERJdGBcX7igmKP8yMDL+NDI0/zUz + Nf5LSUr/Y2Nj/+fm5v7Mzc7/UXKi/lB5tv9VgcL+W4jP/1+O2f5jleT/aZff/4abvf7Lzc//8vHx/uTk + 5P9AP0D+MzEy/zEvMf4uLC7/Kykr/yYlJv4jIiP/Hx0f/hsaG/8XFhf+LCss/ykpKf5EQ0T/aGdo/lRT + VP8pKCn/FRUV/gcHB9kHBwdGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFRQVIwwMDLgsKyz9NDI0/zU0Nf9APj//U1NT/9LS + 0/99jKX/RGyn/0hxrf9OeLj/U3/E/1iG0P9cjNv/YJLk/2iZ6v9wmdn/oq2//+/v7//FxMT/MC4w/zEv + Mf8uLC7/Kikq/yYlJv8jISP/Hh0e/xsaG/8XFhf/KCco/zU1Nf9lZGX/S0pL/zc2N/8cGxzzDg0OgBAQ + EA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAABwbHAMVFBWPMS8x/jUzNf45Nzj/RUxa/2eQ0/5flOX/YJPk/leJ + 2P9NfMf+Sne8/1B9xf5VhNH/WIra/1yP4/5klur/bZzp/oqgwv/q6ur+k5KS/ywqLP4tKy3/Kigq/yYk + Jv4iICL/Hh0e/hoZGv8WFRb+ISAh/zw8PP5UU1T/MDAw+xMTE6QdHR0iAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAeHR8GFhYYoCkoKfY2OUL/VIHJ/2ug8P9wo/H/dqfx/36s8v9+rPL/bp/q/1WG + 1P9Ne8f/UYHQ/1WH2v9ZjeP/YJTo/2+g7v+NosL/6enp/2RjZP8rKSv/KCco/yUjJf8hICH/HRwd/xkY + Gf8VFRX/FxcX/y4tLv0WFha/Hh4eOisrKwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAC9AXCM+YZvUZJvv/2Wc8P5lnfD/Zp3w/mad8f9roPH+fKvy/4iz9P5youv/U4TT/019 + zv5Shdr/Vorj/mGV6v90pO/+oKy//9/f3v4+PT7/JyUn/yQiJP4gHiD/HBsc/hgXGP8VFBX+DAwM9A8O + D1cfHh8CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEhu + rSthleb5aZ/x/2mf8f9qoPL/aqDx/2qg8v9qoPH/aZ/x/22i8v+Dr/P/ibP0/2WW5P9NftD/ToLZ/1SJ + 4/9toPD/cJ3i/7/Cx//BwcD/Kikq/yIhIv8eHR7/Gxob/xYVFv4LCwvSCgoKNgAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFOC0KBsofL/baLy/22i + 8v9tovL/bqLy/26i8v9tovL/baLy/22i8v9sofL/d6jz/4+39f91pe//UYPV/0t/2P9hler/b6Pz/3iV + wv/X1tX/mZiX/x0cHf8dHB3/FhQW/AoKCpMODQ4OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWIjVK2aZ6PdwpPP/caXz/3Gl8/5ypfT/cqXz/nKl + 9P9ypfP+caXz/3Gl8/5wpPP/b6Pz/3Kl8/6MtfT/fqzz/liK2v9Rhdv+a6Dx/2id7f6fprD/zMrI/3Bv + bv4WFRbiFxYXRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAWIfUqnOm9P90p/T/daf0/3Wo9P92qPT/dqj0/3ao9P91qPT/daj0/3Wn + 9P90p/T/c6b0/3Kl8/9ypvP/irT1/4Cu9P9Yitv/ZJjr/2ed8f9xkL7/vry6/6OioPBbWlo0AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AABci9c8bp/r+nep9f54qvX/ear1/3mr9f56q/b/eqv1/nqr9v96q/X+eav1/3mq9f54qvX/d6n1/3ao + 9P51p/T/dKf0/ou19f97qvL+Wozd/2Wc8P5fj9n/np6f/Xd7glkAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGeW4AFejNixeqv1/3us + 9v98rfb/fa32/32t9v9+rvf/fq72/36u9/9+rvb/fa32/32t9v98rPb/e6z2/3qr9f94qvX/d6n1/3ip + 9f+Ntvb/bJ3p/12T5/9XhtLpaHOEdgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGWT3R9vnun5fq72/3+u9/6Ar/f/gbD3/4Kw + 9/6CsPf/grH3/oKx+P+CsPf+gbD3/4Gw9/6Ar/f/f673/32t9v58rPb/e6v2/nmq9f9+rfX+hrL1/12P + 4P5Tg9CvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAGCO2G+Arvb/grD4/4Ox+P+Esvj/hbP4/4az+P+GtPn/hrT5/4a0 + +f+Gs/j/hrP4/4Wy+P+Esvj/g7H4/4Gw9/+Ar/f/fq73/3yt9v97q/b/hrL2/2ub5/9QfcZ+AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAGOQ2rKEsvj+hrP4/4e0+f6Itfn/ibX5/4q2+f6Ktvn/irb5/oq2+v+Ktvn+ibb5/4m1 + +f6Itfn/h7T5/4Wz+P6Dsvj/grD3/oCv9/9+rvb+f672/3ys9f4+XpOUQV+PBwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbJnhB2+c + 5OeItfn/ibb5/4u3+v+MuPr/jbj6/465+v+Oufv/jrn7/465+/+Oufr/jrn6/424+v+Mt/r/irb6/4m1 + +f+HtPn/hbP4/4Oy+P+BsPf/f673/32t9v9NbqL+CAsQzhwnOigAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbZngJX2p7/mLt/r+jbj6/4+5 + +v6Quvv/kbv7/5G7+/6SvPv/krz7/pK8+/+SvPv+kbv7/5C7+/6Puvv/jrn6/424+v6Lt/r/ibX5/oe0 + +f+Esvj+grH3/4Cv9/59q/P/Kz1Z/wMEBOgTGSI4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZI/XRYiz9v+Puvv/kbv7/5K8+/+Uvfz/lb78/5a+ + /P+Wv/3/l7/9/5e//f+Wv/3/lr78/5W+/P+Tvfz/krz8/5C7+/+Pufv/jLj6/4q2+v+Itfn/hbP4/4Ox + +P+BsPf/gKrq/xQbJf8EBATsDRAVKgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAbJfdYY64+f+TvPz/lb38/5a//P+YwP3/mcH9/5rB/f+awf3/msL+/5rC + /v+awf3/mcH9/5jA/f+Xv/3/lr78/5S9/P+SvPz/kLr7/465+v+Lt/r/iLX5/4az+P+Dsfj/iLT3/2WD + sP8HCAn/BAUFzgkLDgsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAb5nfeJS9/P+Wv/z+mMD9/5rB/f6bwv7/ncP+/57F/v6exv//n8b+/p/G//+exf7+ncT+/5zD + /v6bwv7/mcH9/5fA/f6Vvvz/k7z8/pG7+/+Oufr+i7f6/4i1+f6Fs/j/g7H4/5i+9/4oNUn/BwcH/gUF + B30AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZ5HYiJe/ + /f+Zwf3/nMP+/57E/v+fxv//oMj//6HI//+iyf//osn//6LJ//+iyP//ocj//6DH//+fxv//ncT+/5vC + /v+Zwf3/lr/8/5S9/P+Ru/v/jrn7/4u3+v+Itfn/hbP4/5a++P9eeKD/BgYG/wUGBukEBAQRAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaZPYiZrB/f+dw/7+n8b+/6HI + /v6jyf//pMr//6XK/v6my///psv+/qbL//+myv7+pcr//6TJ/v6iyP//oMf//57F/v6cw/7/mcH9/pe/ + /f+Uvfz+j7j3/465+v6Ktvr/h7T5/5S9+f52lsT/BAQE/gkJCf8DAwNdAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa5TZiZ/F/v+hyP//o8n//6TK//+my///p8z//6nM + //+qzf//qs3//6rN//+pzP//qMz//6fL//+myv//pMn//6LI//+fx///nMP+/5rB/f+UvPj/JS8//4mx + 7/+NuPr/irb5/53D+f9qh7P/AgIC/woKCv8FBQWjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAb5fZibPS//+00/7+tdT//7TT/v6y0v//sND//63P/v6tz///rc/+/q3P + //+tzv7+rM7//6vN/v6pzP//p8v//6TK/v6iyP//n8b+/pzD/v+ZwP3+ICg1/0RXdf6Tu/n/mcD6/6PH + +v46TGf/AgIC/goKCv8GBgbRBwcHAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAg6jkeLTT//+31f//udb//7vX//+82P//vtj//77Y//+51v//s9L//7HR//+w0f//r9D//67P + //+szv//qs3//6fL//+kyv//ocj//57G//+bwv7/MT1Q/wQFBf8yQFX/cI67/0xig/8GBwn/AwMD/wkJ + Cf8JCQnrCAgICgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgqfibbTT + /f+51v7+u9f//73Y/v6+2f//wNr//8Ha/v7C2///wtv+/rzX//+10/7+s9L//7HR/v6v0P//rM7//6nN + /v6ny///o8n+/qDH//+dxP7+PUxi/wgICP4GBgb/BAQE/wMDA/4DAwP/AgIC/gkJCf8KCgr8CQkJDwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfaLfW7LR/P+61v//vNj//77Z + ///A2v//w9v//8Xc///G3f//xt3//8bd///D2///udX//7TT//+y0f//r9D//6zO//+pzP//psr//6LJ + //+fxv//RVZu/wwMDP8KCgr/CAgI/wYGBv8EBAT/AwMD/woKCv8NDQ3/CQkJEQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAd53aRa7N+v+71///vtj//8Da///C2///xd3//8jd + ///J3v//yt7//8ne///I3f//xdz//7rW//+00v//sdH//67P//+qzf//p8v//6TJ//+gx///T2J+/xAQ + EP8ODg7/DAwM/woKCv8HBwf/BQUF/woKCv8ODg7/CQkJGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAi63lK6fG9vy81/7+vtn//8Ha/v7E3P//yN3//8re/v7M3///zN/+/szf + ///L3v7+yd3//8Xb/v651f//s9L//6/Q/v6szv//qMz+/qXK//+hyP7+Slx0/xMTE/4SEhL/EBAQ/w0N + Df4LCwv/CAgI/g0NDf8ODg7+DAwMDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAiazkFpi57vK82P//v9n//8Hb///F3f//yd3//8zf///O4P//z+H//87h///M4P//yt7//8fc + ///B2v//ttP//7DQ//+tzv//qcz//6bK//+iyP//NkBP/xYWFv8UFBT/EhIS/xEREf8ODg7/CwsL/xER + Ef8PDw/1Dg4ODQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlLbqAo2w + 5+G81/7+v9n//8Hb/v7G3P//yt7//8zf/v7P4f//0uL+/tHi///O4P7+yt///8fd/v7C2///vdj//7HR + /v6tz///qc3+/qbK//+Wuev+Gx0g/xkZGf4XFxf/FRUV/xMTE/4RERH/Dg4O/hcXF/8QEBDiERERBwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHqg3ba81///vtn//8Hb + ///F3P//yd3//8vf///O4f//0OH//9Dh///N3///yt7//8bd///C2///vtn//7bU//+tz///qc3//6bK + /v9eco//Hh4e/x0dHf8aGhr/GBgY/xUVFf8TExP/ERER/xwcHP8QEBDLFBQUAQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG+RyoO51v7+vdn//8Da/v7D2///yNz//8re + /v7M3///zeD+/s3f///L3v7+yN3//8Tc/v7A2v//vdj//7jV/v6tzv//qcz+/nyXvv8sLjH+MDAw/ykp + Kf4gICD/Gxsb/xgYGP4VFRX/ExMT/iIiIv8RERGkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAEZehVSCmbr/i6C8/42gvP+Qorz/mqvG/6O0z/+wwt7/uMrn/7/S + 8f/H2/3/xdz//8Hb//++2f//vNf//7TS//+evev/XW6I/zU2OP9KSkr/R0dH/0NDQ/8+Pj7/LS0t/xwc + HP8YGBj/GBgY/yYmJv8RERFzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAgIiYHFRcciA4ODuwUFBT+FxcX/xoaGv4dHR3/Hx8f/yEhIf4jIyP/KSos/jEzNv87PkT+S1Fb/1xm + dP5hbX7/XWl5/0VNWf4vMTX/QEBA/lFRUf9PT0/+S0tL/0dHR/5CQkL/Pj4+/y8vL/4bGxv/ISEh/iYm + Jv0UFBQ6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASEhKKKysr/zU1 + Nf87Ozv/Pj4+/0FBQf9CQkL/QEBA/z4+Pv87Ozv/OTk5/zc3N/82Njb/NTU1/zY2Nv86Ojr/QEBA/0xM + TP9ZWVn/Wlpa/1ZWVv9SUlL/T09P/0pKSv9GRkb/QUFB/zw8PP8uLi7/LS0t/x4eHuccHBwHAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbGxtEPj4+9UhISP9JSUn/TExM/1FR + Uf9VVVX/W1tb/2BgYP9mZmb/ampq/2tra/9sbGz/a2tr/2xsbP9sbGz/ampq/2VlZf9gYGD/XV1d/1pa + Wv9WVlb/UlJS/01NTf9JSUn/RERE/z8/P/86Ojr/NDQ0/xYWFpgAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIiIiRjAwMO1FRUX+SkpK/05OTv5UVFT/WFhY/1xc + XP5gYGD/ZGRk/mdnZ/9qamr+a2tr/2xsbP5sbGz/a2tr/2lpaf5mZmb/YmJi/l5eXv9ZWVn+VVVV/1BQ + UP5LS0v/RkZG/0FBQf48PDz/LCws+BwcHC4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAACIiIjctLS3kS0tL/1FRUf9WVlb/Wlpa/19fX/9kZGT/aGho/2xs + bP9vb2//cXFx/3Jycv9xcXH/cHBw/25ubv9ra2v/ZmZm/2JiYv9cXFz/V1dX/1JSUv9OTk7/SUlJ/0ND + Q/88PDz+GhoakgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAApKSkgJCQkwE1NTf5XV1f/XFxc/2FhYf5mZmb/a2tr/nBwcP9zc3P+dXV1/3Z2 + dv52dnb/dXV1/3Jycv5vb2//ampq/mVlZf9fX1/+Wlpa/1VVVf5QUFD/SkpK/0NDQ/4dHR28JycnCQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAMzMzBiEhIW4+Pj7qXFxc/2NjY/9oaGj/bW1t/3Nzc/93d3f/eXl5/3p6ev97e3v/enp6/3d3 + d/9ycnL/bW1t/2hoaP9iYmL/W1tb/1ZWVv9RUVH/RUVF/SAgIKkoKCgOAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAA3NzcYMTExgkNDQ+hlZWX/bm5u/nNzc/94eHj+e3t7/319ff5+fn7/fn5+/3p6ev51dXX/b29v/mlp + af9jY2P+XV1d/1RUVP4yMjLiJSUlYDIyMgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBA + QAo2NjZSPz8/pVNTU+JoaGj7dnZ2/35+fv+BgYH/gYGB/3x8fP92dnb/bm5u/2BgYP5ISEjwMzMzvCkp + KWE3NzcLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFR + UQhHR0coRkZGUkRERHNAQECIRkZGk0BAQJI2NjaCQkJCZjY2Nj9CQkIWAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///gAAAH///wAAAP//8AAAAA///wAAAP//gAAAAAH//wAAAP/+ + AAAAAAB//wAAAP/4AAAAAAAf/wAAAP/gAAAAAAAH/wAAAP+AAAAAAAAB/wAAAP8AAAAAAAAA/wAAAP4A + AAAAAAAAPwAAAPwAAAAAAAAAHwAAAPgAAAAAAAAADwAAAPAAAAAAAAAADwAAAPAAAAAAAAAADwAAAPAA + AAAAAAAADwAAAPAAAAAAAAAADwAAAPAAAAAAAAAADwAAAPAAAAAAAAAADwAAAPAAAAAAAAAAHwAAAPgA + AAAAAAAAPwAAAPgAAAAAAAAAfwAAAPgAAAAAAAAA/wAAAPgAAAAAAAAB/wAAAPgAAAAAAAAH/wAAAPwA + AAAAAAA//wAAAPwAAAAAAAH//wAAAPwAAAAAAAP//wAAAP4AAAAAAAf//wAAAP4AAAAAAA///wAAAP8A + AAAAAA///wAAAP/AAAAAAD///wAAAP/gAAAAAH///wAAAP/wAAAAAf///wAAAP/4AAAAA////wAAAP/+ + AAAAD////wAAAP/+AAAAP////wAAAP/+AAAAf////wAAAP/8AAAB/////wAAAP/8AAAD/////wAAAP/4 + AAAH/////wAAAP/wAAAP/////wAAAP/wAAAf/////wAAAP/wAAAf/////wAAAP/wAAAP/////wAAAP/g + AAAH/////wAAAP/gAAAD/////wAAAP/gAAAB/////wAAAP/gAAAA/////wAAAP/gAAAA/////wAAAP/g + AAAAf////wAAAP/gAAAAf////wAAAP/gAAAAf////wAAAP/gAAAAP////wAAAP/gAAAAP////wAAAP/g + AAAAP////wAAAP/gAAAAP////wAAAP/gAAAAP////wAAAP/gAAAAP////wAAAP/gAAAAP////wAAAP/g + AAAAP////wAAAP/wAAAAP////wAAAP/wAAAAf////wAAAP/wAAAAf////wAAAP/AAAAAf////wAAAP/A + AAAAf////wAAAP/AAAAA/////wAAAP/gAAAA/////wAAAP/wAAAB/////wAAAP/4AAAB/////wAAAP/8 + AAAD/////wAAAP//AAAH/////wAAAP//wAAf/////wAAAP//+AD//////wAAACgAAABAAAAAgAAAAAEA + IAAAAAAAAEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAACAAA + ABIAAAAnAAAASQAAAGcAAAB7AAAAkQAAAJsAAACdAAAAnAAAAJkAAACRAAAAhwAAAHoAAABkAAAARQAA + ADIAAAAiAAAAFQAAAAoAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAABwAA + AB8AAABdAAAAlgAAAMQAAADqAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP4AAADtAAAA0gAAAK0AAACAAAAAUAAAADAAAAAYAAAACQAAAAEAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAUAAAAnAAAAfgAAAMkFBQX6BgYG/wYGBv8GBAb/BQUF/wMDA/8EBAT/AwMD/wEBAf8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPQAAADNAAAAlgAA + AGAAAAA3AAAAGQAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAQEBCgAAAFgBAQG+AAAA/AAAAP8AAAD/CQgJ/woJCv8ICQj/CQkJ/wcIB/8IBgj/BwcH/wYG + Bv8FBQX/BAQE/wMBA/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAADqAAAAtAAAAHcAAABOAAAAJgAAAAwAAAABAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAABAQELAAAAagUFBdsLCwv/CgoK/wAAAP8AAAD/AAAA/wQEBP8NDA3/DQwN/wsM + C/8MCgz/CwsL/woKCv8JCQn/CAgI/wcHB/8GBAb/AwQD/wMDA/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BAQE/wAAAP8AAADsAAAAqAAAAHcAAABTAAAAKQAA + AAwAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwUAAABOBQUF1g0MDf8ODg7/Dg4O/wQEBP8AAAD/AwMD/wQC + BP8DAwP/DAsM/xAPEP8QDxD/Dw0P/w0ODf8MDQz/CwwL/wsLC/8KCgr/CQcJ/wYHBv8GBAb/BAQE/wIA + Av8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/x0dHf8JCQn/AAAA/wAA + AP4AAADAAAAAgAAAAGsAAABHAAAAIAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwCAgKqDQwN/xAPEP8REBH/EhES/wwL + DP8BAAH/AQEB/wUFBf8IBgj/CQkJ/wYFBv8RERH/EhIS/xISEv8SERL/ERAR/xAPEP8NDg3/DQ0N/wwK + DP8JCgn/CQcJ/wcHB/8DBAP/AQEB/wICAv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + 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 + Yv8kH7H/PznX/zErx/8fGrH/GBWd/2trr/9SUVH/MjAy/zIwMv8xLzH/MC4w/yspK/9OTE7/YmFi/xcW + F/8iICL/IiEi/x4eHv8dGh3/Ghka/xMSE/8DAwP/WFdY/x4eHv8LCwv/CAkI/wYGBv8CAgL/JiYm/x8f + H/8LCwv/AAAA/wAAAP0AAAAOAAAAAQAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAEAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcWF/InJSf/JyUn/xsaHP8mJCb/FxYX/yYk + Jv8pJyn/Kykr/1NRU/+amZb/b26y/zw21f87NdL/JB64/xwXqP+RkcD/wsLA/ysqK/80MjT/MzEz/zIw + Mv8wLjD/LCos/z07Pf9iYWL/HRwd/x4cHv8hICH/HR0d/xoZGv8YFxj/CQgJ/yssLf9MS0z/DAsM/wsK + C/8GBgb/CgoK/y0tLf8fHx//BgYG/wAAAP8AAADGAAAAAAAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAA + AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVFBW9KScp/ykn + Kf8gHyD/IR8h/x4dHv8pJyn/LCos/y4sLv9WVVb/p6al/+Xl5P9APrX/Ni/O/yYgu/8cFqz/ubnQ//j3 + 9/9eXV3/NDI0/zQxNP8zMDP/MjAy/zAuMP8rKiv/MC4w/1RTVP8mJSb/GBcY/yAeIP8dHB3/Ghka/xQU + FP8GBgb/WVlZ/x4dHv8LCgv/CAcI/x0dHf8uLi7/Hx8f/wAAAP8AAAD/AAAAbgAAAAEAAAACAAAAAgAA + AAIAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAExITeyopKv8qKSr/JiUn/xoZGv8nJif/Kioq/y8tL/8wLjD/WFdY/66trP/r6un/sLHK/yAb + uf8cGLL/FxOo/3d3sv/39vX/0tHR/y0rLP81NDX/NDM0/zMwM/8yMDL/Ly0v/yooKv8nJSf/Ojk6/yko + Kf8UExT/Hh0e/xwZHP8YFxj/DQwN/yAfIP9LSkv/CwsL/wkICf8yMTL/Ly8v/xgYGP8AAAD/AAAA9wAA + ABEAAAABAAAAAgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAABQTFCUmJSb/LCos/ysqK/8dGx3/Kigq/y4sLv8xLzH/MjAy/1xb + XP+lpaT/6+ro/4mLvP8lH73/Ihy1/x4ZqP8UEpH/jo65//Py8f9MS0v/NTQ1/zUyNf80MjT/MzEz/y8v + L/8tKy3/KScp/yQiJP8mJCb/FxYX/xwbHP8eHR7/Ghka/xYVFv8ICAj/OTk5/yYkJv8XFhf/Pj4+/zAw + MP8KCgr/AAAA/wAAAJYAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGBYYvy4sLv8wLjD/Jycn/yAf + IP8oJij/MjAy/zMxMv9gX2D/fXx7/+jn5P9GRan/IBqx/x8Zr/8bFqP/FROO/w0OeP94eZX/vLu6/zQy + M/82NDb/NTM1/zIwMv8yMDL/Liwu/yooKv8mJCb/Gxob/yYlJv8qKSr/ISAh/xsaG/8XFhf/ExIT/wwM + DP84ODj/Pz4//z8/P/8kJCT/AQEB/wAAAPkAAAAbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYV + FjQoJij+MjEy/zIwMv8jIiP/Dg0O/ygnKP8zMTP/YmFi/2RjY/+Xlp3/GBWZ/ygivP86NNL/KyO//xkV + nP8ODnf/h4eW/93b2f+dnJz/Ly0v/zUzNf80MjT/MjAy/y8tL/8rKSv/Hx4f/yopKv9AP0D/ODc4/y8u + L/8lJCX/HBsc/xUUFf8QEBD/IiIi/2FhYf84ODj/CAgI/wEBAf8BAAF/AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAExITby8tL/8eHR7/IiEi/zIwMv80MjP/NDI0/1lXWP94eHf/zs3O/y8s + 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 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAdJ7ixJfA/P+YwP3/nMP+/5zD/v+fxf3/oMb//6HH//+hx///ocf//6DF + //+fxv3/nsP+/5zD/v+awP3/l8D7/5O+/P+SvPv/j7r5/4q2+v+Itfn/g7H3/5zC+/8iLkD/BgYG/wMD + BD0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHKc39Cbwv3/nMT+/6DG/f+iyP//o8f//6TJ + //+lyv//pcr//6XK//+kyf//o8f//6LI//+gxv3/nMT+/5vB/P+YwP3/lb78/5K8+/+Oufr/i7f4/4az + +f+YwPr/TmSF/wYFBf8DAwO1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0neDQnsX+/6DG + //+iyP//pMn//6fL//+oyv//qcz//6nM//+pzP//qMr//6fL//+myv//osn//6HH//+dxf3/m8H+/5jA + /f9phrL/hazm/425+v+Jtfj/nML6/1Zukv8DAwP/CAgI+wQEBAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAe6Lg0K/Q//+w0P//sND//63O//+rzP//q83//6zN//+szf//rc7//6zO//+rzf//qMz//6fL + //+jyP//osj//53F/f+bw/7/WW+T/zhIYP+Uv///lLz6/6fK/f8zQ1v/AwMC/wsLC/8DAwM+AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAIqu58O31P//udb//7vX//+91///vtj//7vW//+10v//sdD//7DP + //+w0P//r8///63O//+qy///p8v//6PI//+hx///nsT+/22KtP8BAAD/O0ti/4ir3/9jfqb/AgID/wIC + Av8NDQ3/BAQEZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMr+e3udX//7vX//+92P//v9n//8Ha + ///C2///w9v//8Ha//+41P//s9H//7HR//+w0P//rc7//6rL//+ny///osn//6DG//95mcb/BgYF/wYG + Bf8CAQH/AQEA/wICAv8CAgL/Dg4O/wYGBnsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhKjipbrW + //+71v//v9n//8Da///E2v//xtv//8fd///H3f//xt3//7/Y//+10v//s9D//7DQ//+tzv//qMz//6bK + //+iyP//g6PT/woKCf8LCwv/CQkJ/wUFBf8DAwP/AgIC/w8PD/8HBweCAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAH6j34271v//vtj//7/Y///D2///xt3//8fe///K3v//yt3//8re///I3f//wdn//7XS + //+x0f//r8///6vN//+ny///o8n//4yv4P8NDAz/Dw8P/w0NDf8KCgr/BgYG/wQEBP8RERH/CAgIhQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACDp+Fwu9b//73Y///C2v//w9z//8jc///L3f//zd7//83g + ///M3v//yt7//8fc///A2P//s9H//7DQ//+szv//qMr//6TJ//+BoM3/EREQ/xMTE/8RERH/Dg4O/wsL + C/8HBwf/FBQU/woKCn4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeZ/bT7rW//+/1///wtv//8Xb + ///J3v//zN7//8/h///Q4v//z+H//8rf///I3f//xNv//7vW//+wz///rc7//6nM//+ly///YniX/xgX + F/8VFRX/ExMT/xISEv8PDw//CwsL/xkZGf8LCwtpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAISo + 4SSryff/v9j//8DZ///F3P//ytz//8vg///Q4f//0eL//8/h///M3///yN3//8Tb///A2f//s9H//6zN + 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 + Yv9cXFz/VlZW/09PT/9LS0v/RUVF/ykpKekjIyMXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAArKysQJCQkqFBQUP9eXl7/Y2Nj/2lpaf9vb2//dXV1/3h4eP95eXn/enp6/3l5 + ef92dnb/cXFx/2tra/9lZWX/XV1d/1hYWP9SUlL/TExM/y4uLukgICAqAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtLS0+NjY2xF1dXf9qamr/cXFx/3d3 + d/96enr/fX19/35+fv9+fn7/enp6/3R0dP9ubm7/Z2dn/2BgYP9ZWVn/TExM/ycnJ7IqKioWAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAyMjIwPz8/kUpKSuFsbGz/enp6/35+fv+BgYH/goKC/319ff92dnb/b29v/2VlZf9GRkb3Li4uqisr + KzsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR0dHHz4+PlJNTU15RkZGkkxMTJ5GRkadQEBAikBA + QG01NTU+QkJCBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///4AAAf/////4AAAAH////+AAAAAH////gAAAAA + D///4AAAAAAD//+AAAAAAAH//wAAAAAAAH/8AAAAAAAAP/gAAAAAAAAf8AAAAAAAAA/wAAAAAAAAD+AA + AAAAAAAP4AAAAAAAAAfgAAAAAAAAB/AAAAAAAAAf8AAAAAAAAA/wAAAAAAAAH/AAAAAAAAA/+AAAAAAA + QH/4AAAAAAAB//gAAAAAABf/+AAAAAAAv//8AAAAAAD///wAAAAAAf///gAAAAAB////AAAAAAP///+A + AAAAD////8AAAAAf////8AAAAH/////wAAAB//////wAAAP/////+AAAD//////4AAAf//////AAAD// + ////4AAAf//////gAAD//////+AAAf//////wAAB///////AAAB//////8AAAD//////wAAAH//////A + AAAf/////8AAAA//////wAAAD//////AAAAH/////8AAAAf/////wAAAB//////AAAAH/////8AAAAf/ + ////wAAAB//////AAAAH/////8AAAAf/////wAAAB//////gAAAH/////+AAAAf/////gAAAD/////+A + AAAP/////4AAAA//////wAAAH//////gAAAf//////AAAD///////AAAf///////AAH////////gB/// + //8oAAAAMAAAAGAAAAABACAAAAAAAIAlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAABQAAAA3AAAAYQAA + AIIAAACZAAAArQAAALUAAAC1AAAAsQAAAKkAAACcAAAAhwAAAGQAAABBAAAAJAAAABEAAAAEAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAD4AAACKAgECyQIC + AvECAgL/AwED/wEAAf8AAAD+AAAA/wAAAP4AAAD+AAAA/wAAAP4AAAD+AAAA/wAAAP8AAAD7AAAA5QAA + AL4AAACDAAAARwAAAB8AAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4BAAGEAAAA3QAA + AP4HBwf+CQkJ/wkICf4ICAj9BwcH/wYGBv0FAwX9AgMC/wAAAP0AAAD9AAAA/wAAAP0AAAD9AAAA/wAA + AP0AAAD+AAAA/wAAAP4AAAD/AAAA7wAAALkAAABuAAAAOQAAABIAAAACAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEiAwMDnwoJ + CvgKCgr/AAAA/wAAAP8DAwP/DQwN/w0LDf8LDAv/CgsK/wkKCf8JBwn/BwcH/wQFBP8EAgT/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BAQE/wMDA/8AAAD1AAAAswAAAG8AAAA9AAAAEgAA + AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICCgIC + AoALCwv0Dw8P/xAPEP4EAwT/AAAA/QUFBf0FBQX9CgkK/xEREf0REBH9EA8Q/w8OD/0NCw39CwsL/wkJ + Cf0GBwb9BQUF/wEAAf0AAQD9AAAA/wAAAP0AAAD9AAAA/wAAAP0AAAD/BgYG/RgYGP0FBQX/AAAA/wAA + AKQAAAB2AAAAWQAAACsAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAABAQEpBwYHzRAPEP8SERL+ExIT/w0NDf0DAwP/BAQE/QkICP0MCwz9CQgJ/xEREf0UExT9EhMS/xES + Ef0RDxH9Dw8P/w0NDf0LCwv9CQgJ/wMDA/0DAwP9AAAA/wAAAP0AAAD9AAAA/wAAAP0AAAD/BQUF/RkZ + Gf0JCQn/AAAA/gAAAKwAAABtAAAAZAAAAFYAAAA5AAAAEwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAICAkcMDAzuEhIS/xQTFP8VFBX/FRQV/wcHB/8KCAr/CwsK/wcHEP8RERD/EhES/wsL + C/8XFhf/FxYX/xYUFv8TFBP/ExET/xEREf8PDQ//DQwN/wYFBv8FBQT/BQQF/wAAAP8AAAD/AAAA/wAA + AP8AAAD/BAQE/xkZGf8JCQn/AAAA/wAAAKoAAABeAAAAVgAAAEwAAABBAAAALwAAABUAAAACAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAwMDSg4ODvYTExP+FBMU/xYVFv0ZGBn9EA8Q/wsLC/0PDw//Dw4O/QkK + Uv0TEhX9FxYW/xcWF/0RERH9Gxob/xoZGv0YFhj9FRQV/xMSE/0SEhL9EA8Q/wkKCf0EBAX9CAgI/wMD + A/0AAAD9AAAA/wAAAP0AAAD/BgYG/RkZGf0ICAj/AAAA/gAAAKMAAABPAAAARgAAADoAAAAxAAAAJgAA + ABkAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACggKxRQTFP4XFhf9GRgZ/xsaG/0cGxz9DAsM/xIS + Ev0UExP/DQ0e/QwPcf0ODzf9HRsc/xwbHP0pKCn9FhUW/x4dHv0cGxz9Ghka/xgXGP0UFRT9ExIT/w8O + D/0EBAT9EA8Q/wYGBv0EBAT9AAAA/wAAAP0AAAD/BwcH/RkZGf0ICAj/AAAA/gAAAJIAAAA+AAAANQAA + ACoAAAAfAAAAEwAAAAgAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMBCgkKwBgXGP8aGRr/GRgZ/x8e + H/8WFRb/ERAR/xcWF/8ZGBj/Cww8/w4Qc/8LDWT/Hh0e/yEgIf8qKSr/NDU0/xoZGv8gHyD/Hh0e/xwb + HP8ZGBn/FhQW/xMTE/8GBQb/GRgZ/w0NDf8GBQb/AgMC/wAAAP8AAAD/CgoK/xkZGf8HBwf/AAAA/wAA + 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 + AADAPwAAwH8AAOB/AAA= + + + \ No newline at end of file diff --git a/ThemaPerson/frmThemaPerson.vb b/ThemaPerson/frmThemaPerson.vb new file mode 100644 index 0000000..a733ebc --- /dev/null +++ b/ThemaPerson/frmThemaPerson.vb @@ -0,0 +1,34 @@ +Public Class frmThemaPerson + + Dim p As New db.Person + Sub New() + + ' Dieser Aufruf ist für den Designer erforderlich. + InitializeComponent() + Dim d As New DataTable + d = p.Get_Aktive_Personen() + Me.cbboxperson.DataSource = d + Me.cbboxperson.ValueMember = "ID" + Me.cbboxperson.DisplayMember = "Name" + + d = p.Get_Aktive_Funktionen + Me.cbboxfunktion.DataSource = d + Me.cbboxfunktion.ValueMember = "ID" + Me.cbboxfunktion.DisplayMember = "Bezeichnung" + + ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. + + End Sub + Private Sub frmThemaPerson_Load(sender As Object, e As EventArgs) Handles MyBase.Load + End Sub + + Private Sub btnAbbruch_Click(sender As Object, e As EventArgs) Handles btnAbbruch.Click + Me.DialogResult = Windows.Forms.DialogResult.Cancel + Me.Close() + End Sub + + Private Sub btnOK_Click(sender As Object, e As EventArgs) Handles btnOK.Click + Me.DialogResult = Windows.Forms.DialogResult.OK + Me.Close() + End Sub +End Class \ No newline at end of file diff --git a/ThemaPerson/obj/Debug/CoreCompileInputs.cache b/ThemaPerson/obj/Debug/CoreCompileInputs.cache new file mode 100644 index 0000000..306692a --- /dev/null +++ b/ThemaPerson/obj/Debug/CoreCompileInputs.cache @@ -0,0 +1 @@ +ffa125f6154a5ce8b87117f0bbe0a790b8db2ec1 diff --git a/ThemaPerson/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/ThemaPerson/obj/Debug/DesignTimeResolveAssemblyReferences.cache new file mode 100644 index 0000000..c85c0da Binary files /dev/null and b/ThemaPerson/obj/Debug/DesignTimeResolveAssemblyReferences.cache differ diff --git a/ThemaPerson/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/ThemaPerson/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache new file mode 100644 index 0000000..611fce6 Binary files /dev/null and b/ThemaPerson/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ diff --git a/ThemaPerson/obj/Debug/TempPE/My Project.Resources.Designer.vb.dll b/ThemaPerson/obj/Debug/TempPE/My Project.Resources.Designer.vb.dll new file mode 100644 index 0000000..afb7b04 Binary files /dev/null and b/ThemaPerson/obj/Debug/TempPE/My Project.Resources.Designer.vb.dll differ diff --git a/ThemaPerson/obj/Debug/ThemaPerson.Resources.resources b/ThemaPerson/obj/Debug/ThemaPerson.Resources.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/ThemaPerson/obj/Debug/ThemaPerson.Resources.resources differ diff --git a/ThemaPerson/obj/Debug/ThemaPerson.ThemaPerson.resources b/ThemaPerson/obj/Debug/ThemaPerson.ThemaPerson.resources new file mode 100644 index 0000000..61fe4c6 Binary files /dev/null and b/ThemaPerson/obj/Debug/ThemaPerson.ThemaPerson.resources differ diff --git a/ThemaPerson/obj/Debug/ThemaPerson.dll b/ThemaPerson/obj/Debug/ThemaPerson.dll new file mode 100644 index 0000000..ad47f0b Binary files /dev/null and b/ThemaPerson/obj/Debug/ThemaPerson.dll differ diff --git a/ThemaPerson/obj/Debug/ThemaPerson.frmThemaPerson.resources b/ThemaPerson/obj/Debug/ThemaPerson.frmThemaPerson.resources new file mode 100644 index 0000000..fafc2c4 Binary files /dev/null and b/ThemaPerson/obj/Debug/ThemaPerson.frmThemaPerson.resources differ diff --git a/ThemaPerson/obj/Debug/ThemaPerson.pdb b/ThemaPerson/obj/Debug/ThemaPerson.pdb new file mode 100644 index 0000000..67eaa68 Binary files /dev/null and b/ThemaPerson/obj/Debug/ThemaPerson.pdb differ diff --git a/ThemaPerson/obj/Debug/ThemaPerson.vbproj.CopyComplete b/ThemaPerson/obj/Debug/ThemaPerson.vbproj.CopyComplete new file mode 100644 index 0000000..e69de29 diff --git a/ThemaPerson/obj/Debug/ThemaPerson.vbproj.FileListAbsolute.txt b/ThemaPerson/obj/Debug/ThemaPerson.vbproj.FileListAbsolute.txt new file mode 100644 index 0000000..03052f0 --- /dev/null +++ b/ThemaPerson/obj/Debug/ThemaPerson.vbproj.FileListAbsolute.txt @@ -0,0 +1,13 @@ +E:\Software-Projekte\TKBDiverse\Themenmanagement\ThemaPerson\bin\Debug\ThemaPerson.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\ThemaPerson\bin\Debug\ThemaPerson.pdb +E:\Software-Projekte\TKBDiverse\Themenmanagement\ThemaPerson\bin\Debug\ThemaPerson.xml +E:\Software-Projekte\TKBDiverse\Themenmanagement\ThemaPerson\obj\Debug\ThemaPerson.frmThemaPerson.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\ThemaPerson\obj\Debug\ThemaPerson.Resources.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\ThemaPerson\obj\Debug\ThemaPerson.ThemaPerson.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\ThemaPerson\obj\Debug\ThemaPerson.vbproj.GenerateResource.Cache +E:\Software-Projekte\TKBDiverse\Themenmanagement\ThemaPerson\obj\Debug\ThemaPerson.dll.licenses +E:\Software-Projekte\TKBDiverse\Themenmanagement\ThemaPerson\obj\Debug\ThemaPerson.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\ThemaPerson\obj\Debug\ThemaPerson.xml +E:\Software-Projekte\TKBDiverse\Themenmanagement\ThemaPerson\obj\Debug\ThemaPerson.pdb +E:\Software-Projekte\TKBDiverse\Themenmanagement\ThemaPerson\obj\Debug\ThemaPerson.vbproj.CopyComplete +E:\Software-Projekte\TKBDiverse\Themenmanagement\ThemaPerson\obj\Debug\ThemaPerson.vbprojAssemblyReference.cache diff --git a/ThemaPerson/obj/Debug/ThemaPerson.vbproj.GenerateResource.cache b/ThemaPerson/obj/Debug/ThemaPerson.vbproj.GenerateResource.cache new file mode 100644 index 0000000..c17bd1b Binary files /dev/null and b/ThemaPerson/obj/Debug/ThemaPerson.vbproj.GenerateResource.cache differ diff --git a/ThemaPerson/obj/Debug/ThemaPerson.vbprojAssemblyReference.cache b/ThemaPerson/obj/Debug/ThemaPerson.vbprojAssemblyReference.cache new file mode 100644 index 0000000..7724d1e Binary files /dev/null and b/ThemaPerson/obj/Debug/ThemaPerson.vbprojAssemblyReference.cache differ diff --git a/ThemaPerson/obj/Debug/ThemaPerson.xml b/ThemaPerson/obj/Debug/ThemaPerson.xml new file mode 100644 index 0000000..704220c --- /dev/null +++ b/ThemaPerson/obj/Debug/ThemaPerson.xml @@ -0,0 +1,763 @@ + + + + +ThemaPerson + + + + + + Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + + + + + Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + + + + + Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. + + + + + Purpose: Data Access class for the table 'Funktion'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iFunktionNr
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iFunktionNr
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iFunktionNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iFunktionNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iFunktionNr
  • +
  • sBezeichnung
  • +
  • sBeschreibung
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'key_tabelle'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • sBeschreibung
  • +
  • iKey_wert
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iKeynr
  • +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKeynr
  • +
  • sBeschreibung
  • +
  • iKey_wert
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKeynr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKeynr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iKeynr
  • +
  • sBeschreibung
  • +
  • iKey_wert
  • +
  • iMandantnr
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'Person'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iPersonNr
  • +
  • sFirma. May be SqlString.Null
  • +
  • sName. May be SqlString.Null
  • +
  • sVorname. May be SqlString.Null
  • +
  • sStrasse. May be SqlString.Null
  • +
  • sPostfach. May be SqlString.Null
  • +
  • sPlz. May be SqlString.Null
  • +
  • sOrt. May be SqlString.Null
  • +
  • sTelefon. May be SqlString.Null
  • +
  • sTelefax. May be SqlString.Null
  • +
  • sEMail. May be SqlString.Null
  • +
  • sInternet. May be SqlString.Null
  • +
  • sBemerkung. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iPersonNr
  • +
  • sFirma. May be SqlString.Null
  • +
  • sName. May be SqlString.Null
  • +
  • sVorname. May be SqlString.Null
  • +
  • sStrasse. May be SqlString.Null
  • +
  • sPostfach. May be SqlString.Null
  • +
  • sPlz. May be SqlString.Null
  • +
  • sOrt. May be SqlString.Null
  • +
  • sTelefon. May be SqlString.Null
  • +
  • sTelefax. May be SqlString.Null
  • +
  • sEMail. May be SqlString.Null
  • +
  • sInternet. May be SqlString.Null
  • +
  • sBemerkung. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iPersonNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iPersonNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iPersonNr
  • +
  • sFirma
  • +
  • sName
  • +
  • sVorname
  • +
  • sStrasse
  • +
  • sPostfach
  • +
  • sPlz
  • +
  • sOrt
  • +
  • sTelefon
  • +
  • sTelefax
  • +
  • sEMail
  • +
  • sInternet
  • +
  • sBemerkung
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'ThemaPerson'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iThemaPersonNr
  • +
  • iThemaNr. May be SqlInt32.Null
  • +
  • iPersonNr. May be SqlInt32.Null
  • +
  • iFunktionNr. May be SqlInt32.Null
  • +
  • sBemerkung. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iThemaPersonNr
  • +
  • iThemaNr. May be SqlInt32.Null
  • +
  • iPersonNr. May be SqlInt32.Null
  • +
  • iFunktionNr. May be SqlInt32.Null
  • +
  • sBemerkung. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iThemaPersonNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iThemaPersonNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iThemaPersonNr
  • +
  • iThemaNr
  • +
  • iPersonNr
  • +
  • iFunktionNr
  • +
  • sBemerkung
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'spalten'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iEintragnr
  • +
  • sTabelle. May be SqlString.Null
  • +
  • sTabellenspalte. May be SqlString.Null
  • +
  • sSpalte. May be SqlString.Null
  • +
  • bReadonly
  • +
  • bAlsHacken
  • +
  • iBreite. May be SqlInt32.Null
  • +
  • iReihenfolge. May be SqlInt32.Null
  • +
  • sTiptext. May be SqlString.Null
  • +
  • bAktiv
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • sNumberFormat. May be SqlString.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iEintragnr
  • +
  • sTabelle. May be SqlString.Null
  • +
  • sTabellenspalte. May be SqlString.Null
  • +
  • sSpalte. May be SqlString.Null
  • +
  • bReadonly
  • +
  • bAlsHacken
  • +
  • iBreite. May be SqlInt32.Null
  • +
  • iReihenfolge. May be SqlInt32.Null
  • +
  • sTiptext. May be SqlString.Null
  • +
  • bAktiv
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • sNumberFormat. May be SqlString.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iEintragnr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iEintragnr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iEintragnr
  • +
  • sTabelle
  • +
  • sTabellenspalte
  • +
  • sSpalte
  • +
  • bReadonly
  • +
  • bAlsHacken
  • +
  • iBreite
  • +
  • iReihenfolge
  • +
  • sTiptext
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
  • iMandantnr
  • +
  • sNumberFormat
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Mutierer auslesen + + + + + + + Löschen eines Datensatzes erstellen. + + Ursprungs-Person: Ist dieser Wert nicht 0, werden die Daten mit BaseNr zuerst gelesen + + + + + + Neue Person einfügen + + + + + + + Löschen eines Datensatzes erstellen. + + Ursprungs-Person: Ist dieser Wert nicht 0, werden die Daten mit BaseNr zuerst gelesen + + + + + + Neue Person einfügen + + + + + + + Sortierung der in der DB-Tabelle Spalaten festgelegten Reihenfolge + + + + + + + + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Tabellenname übernehmen und Daten ab DB laden + + + + + + + Daten ab Datenbank laden + + + + + + Basis-Datentabelle laden. Diese wird für die dynamische Generierung der Insert- und Update-Statements benötigt + + + + + + Update-Statement dynamisch für das UpdateCommand generieren + + + + + + Insert-Statement dynamisch für das InsertCommand generieren + + + + + + Prefixt für den SP-Übergabeparameter generieren + + Aktuelle Columnt + Prefis für SP-Übergabeparameter + + + + + SQL-DB-Type für den SP-Übergabeparameter festlegen + + Aktuelle Column + SQLDBType + + + + + Feldlänge für den SP-Übergabeparemter festlegen + + Aktulle Column + Feldlänge + + + + + Datesichern. Dabei wird das Update- sowie das Insert-Statement dynamisch generiert + + + + + + Dispose von Tabledata + + + + + + Load der Verbindungstabelle + + + + + + + + + Neuer Eintrag in der Tabelle eintragen. Sind neben den Defaultwerten weitere Attribute vorhanden, werde diese abhängig vom Datentype mit Defaultwerten befüllt. + + + + + + + +
+
diff --git a/ThemaPerson/obj/Debug/themaperson.dll.licenses b/ThemaPerson/obj/Debug/themaperson.dll.licenses new file mode 100644 index 0000000..87b8d2a Binary files /dev/null and b/ThemaPerson/obj/Debug/themaperson.dll.licenses differ diff --git a/ThemaPerson/obj/Release/CoreCompileInputs.cache b/ThemaPerson/obj/Release/CoreCompileInputs.cache new file mode 100644 index 0000000..b37c5ce --- /dev/null +++ b/ThemaPerson/obj/Release/CoreCompileInputs.cache @@ -0,0 +1 @@ +7a412f651f5d455a60827ea05ea32c49dca6c30b diff --git a/ThemaPerson/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache b/ThemaPerson/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache new file mode 100644 index 0000000..c56403e Binary files /dev/null and b/ThemaPerson/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache differ diff --git a/ThemaPerson/obj/Release/TempPE/My Project.Resources.Designer.vb.dll b/ThemaPerson/obj/Release/TempPE/My Project.Resources.Designer.vb.dll new file mode 100644 index 0000000..1819feb Binary files /dev/null and b/ThemaPerson/obj/Release/TempPE/My Project.Resources.Designer.vb.dll differ diff --git a/ThemaPerson/obj/Release/ThemaPerson.Resources.resources b/ThemaPerson/obj/Release/ThemaPerson.Resources.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/ThemaPerson/obj/Release/ThemaPerson.Resources.resources differ diff --git a/ThemaPerson/obj/Release/ThemaPerson.ThemaPerson.resources b/ThemaPerson/obj/Release/ThemaPerson.ThemaPerson.resources new file mode 100644 index 0000000..61fe4c6 Binary files /dev/null and b/ThemaPerson/obj/Release/ThemaPerson.ThemaPerson.resources differ diff --git a/ThemaPerson/obj/Release/ThemaPerson.frmThemaPerson.resources b/ThemaPerson/obj/Release/ThemaPerson.frmThemaPerson.resources new file mode 100644 index 0000000..fafc2c4 Binary files /dev/null and b/ThemaPerson/obj/Release/ThemaPerson.frmThemaPerson.resources differ diff --git a/ThemaPerson/obj/Release/ThemaPerson.vbproj.FileListAbsolute.txt b/ThemaPerson/obj/Release/ThemaPerson.vbproj.FileListAbsolute.txt new file mode 100644 index 0000000..fc4e6fd --- /dev/null +++ b/ThemaPerson/obj/Release/ThemaPerson.vbproj.FileListAbsolute.txt @@ -0,0 +1,6 @@ +E:\Software-Projekte\TKBDiverse\Themenmanagement\ThemaPerson\obj\Release\ThemaPerson.vbprojResolveAssemblyReference.cache +E:\Software-Projekte\TKBDiverse\Themenmanagement\ThemaPerson\obj\Release\ThemaPerson.frmThemaPerson.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\ThemaPerson\obj\Release\ThemaPerson.Resources.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\ThemaPerson\obj\Release\ThemaPerson.ThemaPerson.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\ThemaPerson\obj\Release\ThemaPerson.vbproj.GenerateResource.Cache +E:\Software-Projekte\TKBDiverse\Themenmanagement\ThemaPerson\obj\Release\ThemaPerson.dll.licenses diff --git a/ThemaPerson/obj/Release/ThemaPerson.vbproj.GenerateResource.Cache b/ThemaPerson/obj/Release/ThemaPerson.vbproj.GenerateResource.Cache new file mode 100644 index 0000000..62c20bf Binary files /dev/null and b/ThemaPerson/obj/Release/ThemaPerson.vbproj.GenerateResource.Cache differ diff --git a/ThemaPerson/obj/Release/build.force b/ThemaPerson/obj/Release/build.force new file mode 100644 index 0000000..e69de29 diff --git a/ThemenDokumente/DB/clsConnectionProvider.vb b/ThemenDokumente/DB/clsConnectionProvider.vb new file mode 100644 index 0000000..5af5b4d --- /dev/null +++ b/ThemenDokumente/DB/clsConnectionProvider.vb @@ -0,0 +1,289 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Connection Provider class for Database connection sharing +' // Generated by LLBLGen v1.21.2003.712 Final on: Dienstag, 1. Januar 2013, 19:36:38 +' // This class implements IDisposable. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Configuration +Imports System.Data +Imports System.Data.SqlClient +Imports System.Collections + +Namespace DB + ' /// + ' /// Purpose: provides a SqlConnection object which can be shared among data-access tier objects + ' /// to provide a way to do ADO.NET transaction coding without the hassling with SqlConnection objects + ' /// on a high level. + ' /// + Public Class clsConnectionProvider + Implements IDisposable + +#Region " Class Member Declarations " + + Private m_scoDBConnection As SqlConnection + Private m_bIsTransactionPending, m_bIsDisposed As Boolean + Private m_stCurrentTransaction As SqlTransaction + Private m_alSavePoints As ArrayList + +#End Region + + + Public Sub New() + ' // Init the class + InitClass() + End Sub + + + ' /// + ' /// Purpose: Implements the IDispose' method Dispose. + ' /// + Overloads Public Sub Dispose() Implements IDisposable.Dispose + Dispose(True) + GC.SuppressFinalize(Me) + End Sub + + + ' /// + ' /// Purpose: Implements the Dispose functionality. + ' /// + Overridable Overloads Protected Sub Dispose(ByVal bIsDisposing As Boolean) + ' // Check to see if Dispose has already been called. + If Not m_bIsDisposed Then + If bIsDisposing Then + ' // Dispose managed resources. + If Not (m_stCurrentTransaction Is Nothing) Then + m_stCurrentTransaction.Dispose() + m_stCurrentTransaction = Nothing + End If + If Not (m_scoDBConnection Is Nothing) Then + ' // closing the connection will abort (rollback) any pending transactions + m_scoDBConnection.Close() + m_scoDBConnection.Dispose() + m_scoDBConnection = Nothing + End If + End If + End If + m_bIsDisposed = True + End Sub + + + ' /// + ' /// Purpose: Initializes class members. + ' /// + Private Sub InitClass() + ' // Create all the objects and initialize other members. + m_scoDBConnection = new SqlConnection() + m_bIsDisposed = False + m_stCurrentTransaction = Nothing + m_bIsTransactionPending = False + m_alSavePoints = new ArrayList() + End Sub + + + ' /// + ' /// Purpose: Opens the connection object. + ' /// + ' /// True, if succeeded, otherwise an Exception exception is thrown. + Public Function OpenConnection() As Boolean + Try + If (m_scoDBConnection.State And ConnectionState.Open) > 0 Then + ' // It's already open. + Throw New Exception("OpenConnection::Connection is already open.") + End If + m_scoDBConnection.Open() + m_bIsTransactionPending = False + m_alSavePoints.Clear() + Return True + Catch ex As Exception + ' // bubble exception + Throw ex + End Try + End Function + + + ' /// + ' /// Purpose: Starts a new ADO.NET transaction using the open connection object of this class. + ' /// + ' /// Name of the transaction to start + ' /// True, if transaction is started correctly, otherwise an Exception exception is thrown + Public Function BeginTransaction(sTransactionName As String) As Boolean + Try + If m_bIsTransactionPending Then + ' // no nested transactions allowed. + Throw New Exception("BeginTransaction::Already transaction pending. Nesting not allowed") + End If + If (m_scoDBConnection.State And ConnectionState.Open) = 0 Then + ' // no open connection + Throw New Exception("BeginTransaction::Connection is not open.") + End If + ' // begin the transaction and store the transaction object. + m_stCurrentTransaction = m_scoDBConnection.BeginTransaction(IsolationLevel.ReadCommitted, sTransactionName) + m_bIsTransactionPending = True + Return True + Catch ex As Exception + ' // bubble exception + Throw ex + End Try + End Function + + + ' /// + ' /// Purpose: Commits a pending transaction on the open connection object of this class. + ' /// + ' /// True, if commit was succesful, or an Exception exception is thrown + Public Function CommitTransaction() As Boolean + Try + If Not m_bIsTransactionPending Then + ' // no transaction pending + Throw New Exception("CommitTransaction::No transaction pending.") + End If + If (m_scoDBConnection.State And ConnectionState.Open) = 0 Then + ' // no open connection + Throw New Exception("CommitTransaction::Connection is not open.") + End if + ' // commit the transaction + m_stCurrentTransaction.Commit() + m_bIsTransactionPending = False + m_stCurrentTransaction.Dispose() + m_stCurrentTransaction = Nothing + m_alSavePoints.Clear() + Return True + Catch ex As Exception + ' // bubble exception + Throw ex + End Try + End Function + + + ' /// + ' /// Purpose: Rolls back a pending transaction on the open connection object of this class, + ' /// or rolls back to the savepoint with the given name. Savepoints are created with SaveTransaction(). + ' /// + ' /// Name of transaction to roll back. Can be name of savepoint + ' /// True, if rollback was succesful, or an Exception exception is thrown + Public Function RollbackTransaction(sTransactionToRollback As String) As Boolean + Try + If Not m_bIsTransactionPending Then + ' // no transaction pending + Throw New Exception("RollbackTransaction::No transaction pending.") + End If + If (m_scoDBConnection.State And ConnectionState.Open) = 0 Then + ' // no open connection + Throw New Exception("RollbackTransaction::Connection is not open.") + End If + ' // rollback the transaction + m_stCurrentTransaction.Rollback(sTransactionToRollback) + ' // if this wasn't a savepoint, we've rolled back the complete transaction, so we + ' // can clean it up. + If Not m_alSavePoints.Contains(sTransactionToRollback) Then + ' // it's not a savepoint + m_bIsTransactionPending = False + m_stCurrentTransaction.Dispose() + m_stCurrentTransaction = Nothing + m_alSavePoints.Clear() + End If + Return True + Catch ex As Exception + ' // bubble exception + Throw ex + End Try + End Function + + + ' /// + ' /// Purpose: Saves a pending transaction on the open connection object of this class to a 'savepoint' + ' /// with the given name. + ' /// When a rollback is issued, the caller can rollback to this savepoint or roll back the complete transaction. + ' /// + ' /// Name of the savepoint to store the current transaction under. + ' /// True, if save was succesful, or an Exception exception is thrown + Public Function SaveTransaction(sSavePointName As String) As Boolean + Try + If Not m_bIsTransactionPending Then + ' // no transaction pending + Throw New Exception("SaveTransaction::No transaction pending.") + End If + If (m_scoDBConnection.State And ConnectionState.Open) = 0 Then + ' // no open connection + Throw New Exception("SaveTransaction::Connection is not open.") + End If + ' // save the transaction + m_stCurrentTransaction.Save(sSavePointName) + ' // Store the savepoint in the list. + m_alSavePoints.Add(sSavePointName) + Return True + Catch ex As Exception + ' // bubble exception + Throw ex + End Try + End Function + + + ' /// + ' /// Purpose: Closes the open connection. Depending on bCommitPendingTransactions, a pending + ' /// transaction is commited, or aborted. + ' /// + ' /// Flag for what to do when a transaction is still pending. True + ' /// will commit the current transaction, False will abort (rollback) the complete current transaction. + ' /// True, if close was succesful, False if connection was already closed, or an Exception exception is thrown when + ' /// an error occurs + Public Function CloseConnection(bCommitPendingTransaction As Boolean) As Boolean + Try + If (m_scoDBConnection.State And ConnectionState.Open) = 0 Then + ' // No open connection + Return False + End If + If m_bIsTransactionPending Then + If bCommitPendingTransaction Then + ' // Commit the pending transaction + m_stCurrentTransaction.Commit() + Else + ' // Rollback the pending transaction + m_stCurrentTransaction.Rollback() + End If + m_bIsTransactionPending = False + m_stCurrentTransaction.Dispose() + m_stCurrentTransaction = Nothing + m_alSavePoints.Clear() + End If + ' // close the connection + m_scoDBConnection.Close() + Return True + Catch ex As Exception + ' // bubble exception + Throw ex + End Try + End Function + + +#Region " Class Property Declarations " + + Public ReadOnly Property stCurrentTransaction() As SqlTransaction + Get + Return m_stCurrentTransaction + End Get + End Property + + + Public ReadOnly Property bIsTransactionPending() As Boolean + Get + Return m_bIsTransactionPending + End Get + End Property + + + Public ReadOnly Property scoDBConnection() As SqlConnection + Get + Return m_scoDBConnection + End Get + End Property + Public WriteOnly Property sConnectionString() As String + Set (ByVal Value As String) + m_scoDBConnection.ConnectionString = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/ThemenDokumente/DB/clsDBInteractionBase.vb b/ThemenDokumente/DB/clsDBInteractionBase.vb new file mode 100644 index 0000000..60f5b0a --- /dev/null +++ b/ThemenDokumente/DB/clsDBInteractionBase.vb @@ -0,0 +1,208 @@ +' ////////////////////////////////////////////////////////////////////////////////////////// +' // Description: Base class for Database Interaction. +' // Generated by LLBLGen v1.21.2003.712 Final on: Dienstag, 1. Januar 2013, 19:36:38 +' // Because this class implements IDisposable, derived classes shouldn't do so. +' ////////////////////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Configuration +Imports System.Data +Imports System.Data.SqlClient +Imports System.Data.SqlTypes + +Namespace DB + ' /// + ' /// Purpose: Error Enums used by this LLBL library. + ' /// + Public Enum LLBLError + AllOk + ' // Add more here (check the comma's!) + End Enum + + + ' /// + ' /// Purpose: General interface of the API generated. Contains only common methods of all classes. + ' /// + Public Interface ICommonDBAccess + Function Insert() As Boolean + Function Update() As Boolean + Function Delete() As Boolean + Function SelectOne() As DataTable + Function SelectAll() As DataTable + End Interface + + + ' /// + ' /// Purpose: Abstract base class for Database Interaction classes. + ' /// + Public MustInherit Class clsDBInteractionBase + Implements IDisposable + Implements ICommonDBAccess + +#Region " Class Member Declarations " + + Protected m_scoMainConnection As SqlConnection + Protected m_iRowsAffected As Integer + Protected m_iErrorCode As SqlInt32 + Protected m_bMainConnectionIsCreatedLocal As Boolean + Protected m_cpMainConnectionProvider As clsConnectionProvider + Private m_sConnectionString As String + Private m_bIsDisposed As Boolean + +#End Region + + + ' /// + ' /// Purpose: Class constructor. + ' /// + Public Sub New() + ' // Initialize the class' members. + InitClass() + End Sub + + + ' /// + ' /// Purpose: Initializes class members. + ' /// + Private Sub InitClass() + ' // create all the objects and initialize other members. + m_scoMainConnection = new SqlConnection() + m_bMainConnectionIsCreatedLocal = True + m_cpMainConnectionProvider = Nothing + m_iErrorCode = New SqlInt32(LLBLError.AllOk) + m_bIsDisposed = False + End Sub + + + ' /// + ' /// Purpose: Implements the IDispose' method Dispose. + ' /// + Overloads Public Sub Dispose() Implements IDisposable.Dispose + Dispose(True) + GC.SuppressFinalize(Me) + End Sub + + + ' /// + ' /// Purpose: Implements the Dispose functionality. + ' /// + Overridable Overloads Protected Sub Dispose(ByVal bIsDisposing As Boolean) + ' // Check to see if Dispose has already been called. + If Not m_bIsDisposed Then + If bIsDisposing Then + ' // Dispose managed resources. + If m_bMainConnectionIsCreatedLocal Then + ' // Object is created in this class, so destroy it here. + m_scoMainConnection.Close() + m_scoMainConnection.Dispose() + m_bMainConnectionIsCreatedLocal = True + End If + m_cpMainConnectionProvider = Nothing + m_scoMainConnection = Nothing + End If + End If + m_bIsDisposed = True + End Sub + + + ' /// + ' /// Purpose: Implements the ICommonDBAccess.Insert() method. + ' /// + Public Overridable Function Insert() As Boolean Implements ICommonDBAccess.Insert + ' // No implementation, throw exception + Throw New NotImplementedException() + End Function + + + ' /// + ' /// Purpose: Implements the ICommonDBAccess.Delete() method. + ' /// + Public Overridable Function Delete() As Boolean Implements ICommonDBAccess.Delete + ' // No implementation, throw exception + Throw New NotImplementedException() + End Function + + + ' /// + ' /// Purpose: Implements the ICommonDBAccess.Update() method. + ' /// + Public Overridable Function Update() As Boolean Implements ICommonDBAccess.Update + ' // No implementation, throw exception + Throw New NotImplementedException() + End Function + + + ' /// + ' /// Purpose: Implements the ICommonDBAccess.SelectOne() method. + ' /// + Public Overridable Function SelectOne() As DataTable Implements ICommonDBAccess.SelectOne + ' // No implementation, throw exception + Throw New NotImplementedException() + End Function + + + ' /// + ' /// Purpose: Implements the ICommonDBAccess.SelectAll() method. + ' /// + Public Overridable Function SelectAll() As DataTable Implements ICommonDBAccess.SelectAll + ' // No implementation, throw exception + Throw New NotImplementedException() + End Function + + +#Region " Class Property Declarations " + + Public WriteOnly Property cpMainConnectionProvider() As clsConnectionProvider + Set(ByVal Value As clsConnectionProvider) + If Value Is Nothing Then + ' // Invalid value + Throw New ArgumentNullException("cpMainConnectionProvider", "Nothing passed as value to this property which is not allowed.") + End If + + ' // A connection provider object is passed to this class. + ' // Retrieve the SqlConnection object, if present and create a + ' // reference to it. If there is already a MainConnection object + ' // referenced by the membervar, destroy that one or simply + ' // remove the reference, based on the flag. + If Not (m_scoMainConnection Is Nothing) Then + ' // First get rid of current connection object. Caller is responsible + If m_bMainConnectionIsCreatedLocal Then + ' // Is local created object, close it and dispose it. + m_scoMainConnection.Close() + m_scoMainConnection.Dispose() + End If + ' // Remove reference. + m_scoMainConnection = Nothing + End If + m_cpMainConnectionProvider = CType(Value, clsConnectionProvider) + m_scoMainConnection = m_cpMainConnectionProvider.scoDBConnection + m_bMainConnectionIsCreatedLocal = False + End Set + End Property + + + Public ReadOnly Property iErrorCode() As SqlInt32 + Get + Return m_iErrorCode + End Get + End Property + + + Public Property sConnectionString() As String + Get + Return m_sConnectionString + End Get + Set (ByVal Value As String) + m_sConnectionString = Value + m_scoMainConnection.ConnectionString = m_sConnectionString + End Set + End Property + Public Readonly Property iRowsAffected() As Integer + Get + Return m_iRowsAffected + End Get + End Property + +#End Region + + End Class +End Namespace diff --git a/ThemenDokumente/DB/clsDokument.vb b/ThemenDokumente/DB/clsDokument.vb new file mode 100644 index 0000000..46a74ef --- /dev/null +++ b/ThemenDokumente/DB/clsDokument.vb @@ -0,0 +1,679 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'Dokument' +' // Generated by LLBLGen v1.21.2003.712 Final on: Samstag, 5. Januar 2013, 14:57:33 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + ''' + ''' Purpose: Data Access class for the table 'Dokument'. + ''' + Public Class clsDokument + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daErstellt_am, m_daVersionsdatum, m_daMutiert_am As SqlDateTime + Private m_blobDocImage As SqlBinary + Private m_iSpeichertypNr, m_iMutierer, m_iDokumenttypNr, m_iDokType, m_iKeyValue, m_iDokumentNr As SqlInt32 + Private m_sVersion, m_sFilename, m_sOriginalFilename_incl_Path, m_sVersionsNr, m_sBezeichnung, m_sBeschreibung As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iDokumentNr
  • + '''
  • iKeyValue. May be SqlInt32.Null
  • + '''
  • iDokType. May be SqlInt32.Null
  • + '''
  • iDokumenttypNr. May be SqlInt32.Null
  • + '''
  • sBezeichnung. May be SqlString.Null
  • + '''
  • sBeschreibung. May be SqlString.Null
  • + '''
  • sFilename. May be SqlString.Null
  • + '''
  • sOriginalFilename_incl_Path. May be SqlString.Null
  • + '''
  • sVersion. May be SqlString.Null
  • + '''
  • sVersionsNr. May be SqlString.Null
  • + '''
  • daVersionsdatum. May be SqlDateTime.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • blobDocImage. May be SqlBinary.Null
  • + '''
  • iSpeichertypNr. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Dokument_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iDokumentNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iDokumentNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iKeyValue", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iKeyValue)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iDokType", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iDokType)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iDokumenttypNr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iDokumenttypNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBezeichnung", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBeschreibung", SqlDbType.VarChar, 2048, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sFilename", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sFilename)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sOriginalFilename_incl_Path", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sOriginalFilename_incl_Path)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sVersion", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sVersion)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sVersionsNr", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sVersionsNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daVersionsdatum", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daVersionsdatum)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daErstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daMutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iMutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bAktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + Dim iLength As Integer = 0 + If Not m_blobDocImage.IsNull Then + iLength = m_blobDocImage.Length + End If + scmCmdToExecute.Parameters.Add(New SqlParameter("@blobDocImage", SqlDbType.Image, iLength, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_blobDocImage)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iSpeichertypNr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iSpeichertypNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Dokument_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsDokument::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iDokumentNr
  • + '''
  • iKeyValue. May be SqlInt32.Null
  • + '''
  • iDokType. May be SqlInt32.Null
  • + '''
  • iDokumenttypNr. May be SqlInt32.Null
  • + '''
  • sBezeichnung. May be SqlString.Null
  • + '''
  • sBeschreibung. May be SqlString.Null
  • + '''
  • sFilename. May be SqlString.Null
  • + '''
  • sOriginalFilename_incl_Path. May be SqlString.Null
  • + '''
  • sVersion. May be SqlString.Null
  • + '''
  • sVersionsNr. May be SqlString.Null
  • + '''
  • daVersionsdatum. May be SqlDateTime.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • blobDocImage. May be SqlBinary.Null
  • + '''
  • iSpeichertypNr. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Dokument_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iDokumentNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iDokumentNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iKeyValue", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iKeyValue)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iDokType", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iDokType)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iDokumenttypNr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iDokumenttypNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBezeichnung", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBeschreibung", SqlDbType.VarChar, 2048, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sFilename", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sFilename)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sOriginalFilename_incl_Path", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sOriginalFilename_incl_Path)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sVersion", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sVersion)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sVersionsNr", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sVersionsNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daVersionsdatum", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daVersionsdatum)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daErstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daMutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iMutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bAktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + Dim iLength As Integer = 0 + If Not m_blobDocImage.IsNull Then + iLength = m_blobDocImage.Length + End If + scmCmdToExecute.Parameters.Add(New SqlParameter("@blobDocImage", SqlDbType.Image, iLength, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_blobDocImage)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iSpeichertypNr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iSpeichertypNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Dokument_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsDokument::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iDokumentNr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Dokument_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iDokumentNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iDokumentNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Dokument_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsDokument::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iDokumentNr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iDokumentNr
  • + '''
  • iKeyValue
  • + '''
  • iDokType
  • + '''
  • iDokumenttypNr
  • + '''
  • sBezeichnung
  • + '''
  • sBeschreibung
  • + '''
  • sFilename
  • + '''
  • sOriginalFilename_incl_Path
  • + '''
  • sVersion
  • + '''
  • sVersionsNr
  • + '''
  • daVersionsdatum
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
  • bAktiv
  • + '''
  • blobDocImage
  • + '''
  • iSpeichertypNr
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Dokument_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("Dokument") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iDokumentNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iDokumentNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Dokument_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iDokumentNr = New SqlInt32(CType(dtToReturn.Rows(0)("DokumentNr"), Integer)) + If dtToReturn.Rows(0)("KeyValue") Is System.DBNull.Value Then + m_iKeyValue = SqlInt32.Null + Else + m_iKeyValue = New SqlInt32(CType(dtToReturn.Rows(0)("KeyValue"), Integer)) + End If + If dtToReturn.Rows(0)("DokType") Is System.DBNull.Value Then + m_iDokType = SqlInt32.Null + Else + m_iDokType = New SqlInt32(CType(dtToReturn.Rows(0)("DokType"), Integer)) + End If + If dtToReturn.Rows(0)("DokumenttypNr") Is System.DBNull.Value Then + m_iDokumenttypNr = SqlInt32.Null + Else + m_iDokumenttypNr = New SqlInt32(CType(dtToReturn.Rows(0)("DokumenttypNr"), Integer)) + End If + If dtToReturn.Rows(0)("Bezeichnung") Is System.DBNull.Value Then + m_sBezeichnung = SqlString.Null + Else + m_sBezeichnung = New SqlString(CType(dtToReturn.Rows(0)("Bezeichnung"), String)) + End If + If dtToReturn.Rows(0)("Beschreibung") Is System.DBNull.Value Then + m_sBeschreibung = SqlString.Null + Else + m_sBeschreibung = New SqlString(CType(dtToReturn.Rows(0)("Beschreibung"), String)) + End If + If dtToReturn.Rows(0)("Filename") Is System.DBNull.Value Then + m_sFilename = SqlString.Null + Else + m_sFilename = New SqlString(CType(dtToReturn.Rows(0)("Filename"), String)) + End If + If dtToReturn.Rows(0)("OriginalFilename_incl_Path") Is System.DBNull.Value Then + m_sOriginalFilename_incl_Path = SqlString.Null + Else + m_sOriginalFilename_incl_Path = New SqlString(CType(dtToReturn.Rows(0)("OriginalFilename_incl_Path"), String)) + End If + If dtToReturn.Rows(0)("Version") Is System.DBNull.Value Then + m_sVersion = SqlString.Null + Else + m_sVersion = New SqlString(CType(dtToReturn.Rows(0)("Version"), String)) + End If + If dtToReturn.Rows(0)("VersionsNr") Is System.DBNull.Value Then + m_sVersionsNr = SqlString.Null + Else + m_sVersionsNr = New SqlString(CType(dtToReturn.Rows(0)("VersionsNr"), String)) + End If + If dtToReturn.Rows(0)("Versionsdatum") Is System.DBNull.Value Then + m_daVersionsdatum = SqlDateTime.Null + Else + m_daVersionsdatum = New SqlDateTime(CType(dtToReturn.Rows(0)("Versionsdatum"), Date)) + End If + If dtToReturn.Rows(0)("Erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("Erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("Mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("Mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("Mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("Mutierer"), Integer)) + End If + If dtToReturn.Rows(0)("Aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("Aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("DocImage") Is System.DBNull.Value Then + m_blobDocImage = SqlBinary.Null + Else + m_blobDocImage = New SqlBinary(CType(dtToReturn.Rows(0)("DocImage"), Byte())) + End If + If dtToReturn.Rows(0)("SpeichertypNr") Is System.DBNull.Value Then + m_iSpeichertypNr = SqlInt32.Null + Else + m_iSpeichertypNr = New SqlInt32(CType(dtToReturn.Rows(0)("SpeichertypNr"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsDokument::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Dokument_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("Dokument") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Dokument_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsDokument::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iDokumentNr]() As SqlInt32 + Get + Return m_iDokumentNr + End Get + Set(ByVal Value As SqlInt32) + Dim iDokumentNrTmp As SqlInt32 = Value + If iDokumentNrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iDokumentNr", "iDokumentNr can't be NULL") + End If + m_iDokumentNr = Value + End Set + End Property + + + Public Property [iKeyValue]() As SqlInt32 + Get + Return m_iKeyValue + End Get + Set(ByVal Value As SqlInt32) + m_iKeyValue = Value + End Set + End Property + + + Public Property [iDokType]() As SqlInt32 + Get + Return m_iDokType + End Get + Set(ByVal Value As SqlInt32) + m_iDokType = Value + End Set + End Property + + + Public Property [iDokumenttypNr]() As SqlInt32 + Get + Return m_iDokumenttypNr + End Get + Set(ByVal Value As SqlInt32) + m_iDokumenttypNr = Value + End Set + End Property + + + Public Property [sBezeichnung]() As SqlString + Get + Return m_sBezeichnung + End Get + Set(ByVal Value As SqlString) + m_sBezeichnung = Value + End Set + End Property + + + Public Property [sBeschreibung]() As SqlString + Get + Return m_sBeschreibung + End Get + Set(ByVal Value As SqlString) + m_sBeschreibung = Value + End Set + End Property + + + Public Property [sFilename]() As SqlString + Get + Return m_sFilename + End Get + Set(ByVal Value As SqlString) + m_sFilename = Value + End Set + End Property + + + Public Property [sOriginalFilename_incl_Path]() As SqlString + Get + Return m_sOriginalFilename_incl_Path + End Get + Set(ByVal Value As SqlString) + m_sOriginalFilename_incl_Path = Value + End Set + End Property + + + Public Property [sVersion]() As SqlString + Get + Return m_sVersion + End Get + Set(ByVal Value As SqlString) + m_sVersion = Value + End Set + End Property + + + Public Property [sVersionsNr]() As SqlString + Get + Return m_sVersionsNr + End Get + Set(ByVal Value As SqlString) + m_sVersionsNr = Value + End Set + End Property + + + Public Property [daVersionsdatum]() As SqlDateTime + Get + Return m_daVersionsdatum + End Get + Set(ByVal Value As SqlDateTime) + m_daVersionsdatum = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [blobDocImage]() As SqlBinary + Get + Return m_blobDocImage + End Get + Set(ByVal Value As SqlBinary) + m_blobDocImage = Value + End Set + End Property + + + Public Property [iSpeichertypNr]() As SqlInt32 + Get + Return m_iSpeichertypNr + End Get + Set(ByVal Value As SqlInt32) + m_iSpeichertypNr = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/ThemenDokumente/DB/clsDokumentAblageTyp.vb b/ThemenDokumente/DB/clsDokumentAblageTyp.vb new file mode 100644 index 0000000..17c9764 --- /dev/null +++ b/ThemenDokumente/DB/clsDokumentAblageTyp.vb @@ -0,0 +1,470 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'DokumentAblageTyp' +' // Generated by LLBLGen v1.21.2003.712 Final on: Samstag, 5. Januar 2013, 10:18:05 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + ''' + ''' Purpose: Data Access class for the table 'DokumentAblageTyp'. + ''' + Public Class clsDokumentAblageTyp + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daErstellt_am, m_daMutiert_am As SqlDateTime + Private m_iMandantNr, m_iMutierer, m_iDokumentAblageTypNr As SqlInt32 + Private m_sBezeichnung As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iDokumentAblageTypNr
  • + '''
  • sBezeichnung. May be SqlString.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • iMandantNr. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_DokumentAblageTyp_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iDokumentAblageTypNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iDokumentAblageTypNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBezeichnung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daErstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daMutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iMutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bAktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iMandantNr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_DokumentAblageTyp_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsDokumentAblageTyp::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iDokumentAblageTypNr
  • + '''
  • sBezeichnung. May be SqlString.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • iMandantNr. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_DokumentAblageTyp_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iDokumentAblageTypNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iDokumentAblageTypNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBezeichnung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daErstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daMutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iMutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bAktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iMandantNr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_DokumentAblageTyp_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsDokumentAblageTyp::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iDokumentAblageTypNr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_DokumentAblageTyp_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iDokumentAblageTypNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iDokumentAblageTypNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_DokumentAblageTyp_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsDokumentAblageTyp::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iDokumentAblageTypNr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iDokumentAblageTypNr
  • + '''
  • sBezeichnung
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
  • bAktiv
  • + '''
  • iMandantNr
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_DokumentAblageTyp_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("DokumentAblageTyp") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iDokumentAblageTypNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iDokumentAblageTypNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_DokumentAblageTyp_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iDokumentAblageTypNr = New SqlInt32(CType(dtToReturn.Rows(0)("DokumentAblageTypNr"), Integer)) + If dtToReturn.Rows(0)("Bezeichnung") Is System.DBNull.Value Then + m_sBezeichnung = SqlString.Null + Else + m_sBezeichnung = New SqlString(CType(dtToReturn.Rows(0)("Bezeichnung"), String)) + End If + If dtToReturn.Rows(0)("Erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("Erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("Mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("Mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("Mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("Mutierer"), Integer)) + End If + If dtToReturn.Rows(0)("Aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("Aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("MandantNr") Is System.DBNull.Value Then + m_iMandantNr = SqlInt32.Null + Else + m_iMandantNr = New SqlInt32(CType(dtToReturn.Rows(0)("MandantNr"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsDokumentAblageTyp::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_DokumentAblageTyp_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("DokumentAblageTyp") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_DokumentAblageTyp_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsDokumentAblageTyp::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iDokumentAblageTypNr]() As SqlInt32 + Get + Return m_iDokumentAblageTypNr + End Get + Set(ByVal Value As SqlInt32) + Dim iDokumentAblageTypNrTmp As SqlInt32 = Value + If iDokumentAblageTypNrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iDokumentAblageTypNr", "iDokumentAblageTypNr can't be NULL") + End If + m_iDokumentAblageTypNr = Value + End Set + End Property + + + Public Property [sBezeichnung]() As SqlString + Get + Return m_sBezeichnung + End Get + Set(ByVal Value As SqlString) + m_sBezeichnung = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [iMandantNr]() As SqlInt32 + Get + Return m_iMandantNr + End Get + Set(ByVal Value As SqlInt32) + m_iMandantNr = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/ThemenDokumente/DB/clsDokumentAblageort.vb b/ThemenDokumente/DB/clsDokumentAblageort.vb new file mode 100644 index 0000000..0b8f431 --- /dev/null +++ b/ThemenDokumente/DB/clsDokumentAblageort.vb @@ -0,0 +1,530 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'DokumentAblageort' +' // Generated by LLBLGen v1.21.2003.712 Final on: Samstag, 5. Januar 2013, 10:18:05 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + ''' + ''' Purpose: Data Access class for the table 'DokumentAblageort'. + ''' + Public Class clsDokumentAblageort + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daMutiert_am, m_daErstellt_am As SqlDateTime + Private m_iMutierer, m_iMandantNr, m_iDokumentablageortNr, m_iDokumentNr, m_iDokumentablagetypNr As SqlInt32 + Private m_sBeschreibung, m_sAblageort As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iDokumentablageortNr
  • + '''
  • iDokumentablagetypNr. May be SqlInt32.Null
  • + '''
  • iDokumentNr. May be SqlInt32.Null
  • + '''
  • sAblageort. May be SqlString.Null
  • + '''
  • sBeschreibung. May be SqlString.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • iMandantNr. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_DokumentAblageort_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iDokumentablageortNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iDokumentablageortNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iDokumentablagetypNr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iDokumentablagetypNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iDokumentNr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iDokumentNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sAblageort", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sAblageort)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daErstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daMutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iMutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bAktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iMandantNr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_DokumentAblageort_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsDokumentAblageort::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iDokumentablageortNr
  • + '''
  • iDokumentablagetypNr. May be SqlInt32.Null
  • + '''
  • iDokumentNr. May be SqlInt32.Null
  • + '''
  • sAblageort. May be SqlString.Null
  • + '''
  • sBeschreibung. May be SqlString.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • iMandantNr. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_DokumentAblageort_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iDokumentablageortNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iDokumentablageortNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iDokumentablagetypNr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iDokumentablagetypNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iDokumentNr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iDokumentNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sAblageort", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sAblageort)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daErstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daMutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iMutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bAktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iMandantNr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_DokumentAblageort_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsDokumentAblageort::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iDokumentablageortNr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_DokumentAblageort_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iDokumentablageortNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iDokumentablageortNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_DokumentAblageort_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsDokumentAblageort::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iDokumentablageortNr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iDokumentablageortNr
  • + '''
  • iDokumentablagetypNr
  • + '''
  • iDokumentNr
  • + '''
  • sAblageort
  • + '''
  • sBeschreibung
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
  • bAktiv
  • + '''
  • iMandantNr
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_DokumentAblageort_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("DokumentAblageort") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iDokumentablageortNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iDokumentablageortNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_DokumentAblageort_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iDokumentablageortNr = New SqlInt32(CType(dtToReturn.Rows(0)("DokumentablageortNr"), Integer)) + If dtToReturn.Rows(0)("DokumentablagetypNr") Is System.DBNull.Value Then + m_iDokumentablagetypNr = SqlInt32.Null + Else + m_iDokumentablagetypNr = New SqlInt32(CType(dtToReturn.Rows(0)("DokumentablagetypNr"), Integer)) + End If + If dtToReturn.Rows(0)("DokumentNr") Is System.DBNull.Value Then + m_iDokumentNr = SqlInt32.Null + Else + m_iDokumentNr = New SqlInt32(CType(dtToReturn.Rows(0)("DokumentNr"), Integer)) + End If + If dtToReturn.Rows(0)("Ablageort") Is System.DBNull.Value Then + m_sAblageort = SqlString.Null + Else + m_sAblageort = New SqlString(CType(dtToReturn.Rows(0)("Ablageort"), String)) + End If + If dtToReturn.Rows(0)("Beschreibung") Is System.DBNull.Value Then + m_sBeschreibung = SqlString.Null + Else + m_sBeschreibung = New SqlString(CType(dtToReturn.Rows(0)("Beschreibung"), String)) + End If + If dtToReturn.Rows(0)("Erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("Erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("Mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("Mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("Mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("Mutierer"), Integer)) + End If + If dtToReturn.Rows(0)("Aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("Aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("MandantNr") Is System.DBNull.Value Then + m_iMandantNr = SqlInt32.Null + Else + m_iMandantNr = New SqlInt32(CType(dtToReturn.Rows(0)("MandantNr"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsDokumentAblageort::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_DokumentAblageort_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("DokumentAblageort") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_DokumentAblageort_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsDokumentAblageort::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iDokumentablageortNr]() As SqlInt32 + Get + Return m_iDokumentablageortNr + End Get + Set(ByVal Value As SqlInt32) + Dim iDokumentablageortNrTmp As SqlInt32 = Value + If iDokumentablageortNrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iDokumentablageortNr", "iDokumentablageortNr can't be NULL") + End If + m_iDokumentablageortNr = Value + End Set + End Property + + + Public Property [iDokumentablagetypNr]() As SqlInt32 + Get + Return m_iDokumentablagetypNr + End Get + Set(ByVal Value As SqlInt32) + m_iDokumentablagetypNr = Value + End Set + End Property + + + Public Property [iDokumentNr]() As SqlInt32 + Get + Return m_iDokumentNr + End Get + Set(ByVal Value As SqlInt32) + m_iDokumentNr = Value + End Set + End Property + + + Public Property [sAblageort]() As SqlString + Get + Return m_sAblageort + End Get + Set(ByVal Value As SqlString) + m_sAblageort = Value + End Set + End Property + + + Public Property [sBeschreibung]() As SqlString + Get + Return m_sBeschreibung + End Get + Set(ByVal Value As SqlString) + m_sBeschreibung = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [iMandantNr]() As SqlInt32 + Get + Return m_iMandantNr + End Get + Set(ByVal Value As SqlInt32) + m_iMandantNr = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/ThemenDokumente/DB/clsDokumenttyp.vb b/ThemenDokumente/DB/clsDokumenttyp.vb new file mode 100644 index 0000000..1fa0edd --- /dev/null +++ b/ThemenDokumente/DB/clsDokumenttyp.vb @@ -0,0 +1,450 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'Dokumenttyp' +' // Generated by LLBLGen v1.21.2003.712 Final on: Samstag, 5. Januar 2013, 10:18:05 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + ''' + ''' Purpose: Data Access class for the table 'Dokumenttyp'. + ''' + Public Class clsDokumenttyp + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daMutiert_am, m_daErstellt_am As SqlDateTime + Private m_iDokumenttypnr, m_iMutierer As SqlInt32 + Private m_sBezeichnung As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iDokumenttypnr
  • + '''
  • sBezeichnung. May be SqlString.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Dokumenttyp_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iDokumenttypnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iDokumenttypnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBezeichnung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daErstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daMutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iMutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bAktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Dokumenttyp_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsDokumenttyp::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iDokumenttypnr
  • + '''
  • sBezeichnung. May be SqlString.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Dokumenttyp_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iDokumenttypnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iDokumenttypnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBezeichnung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daErstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daMutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iMutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bAktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Dokumenttyp_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsDokumenttyp::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iDokumenttypnr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Dokumenttyp_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iDokumenttypnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iDokumenttypnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Dokumenttyp_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsDokumenttyp::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iDokumenttypnr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iDokumenttypnr
  • + '''
  • sBezeichnung
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
  • bAktiv
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Dokumenttyp_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("Dokumenttyp") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iDokumenttypnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iDokumenttypnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Dokumenttyp_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iDokumenttypnr = New SqlInt32(CType(dtToReturn.Rows(0)("Dokumenttypnr"), Integer)) + If dtToReturn.Rows(0)("Bezeichnung") Is System.DBNull.Value Then + m_sBezeichnung = SqlString.Null + Else + m_sBezeichnung = New SqlString(CType(dtToReturn.Rows(0)("Bezeichnung"), String)) + End If + If dtToReturn.Rows(0)("Erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("Erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("Mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("Mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("Mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("Mutierer"), Integer)) + End If + If dtToReturn.Rows(0)("Aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("Aktiv"), Boolean)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsDokumenttyp::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Dokumenttyp_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("Dokumenttyp") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Dokumenttyp_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsDokumenttyp::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iDokumenttypnr]() As SqlInt32 + Get + Return m_iDokumenttypnr + End Get + Set(ByVal Value As SqlInt32) + Dim iDokumenttypnrTmp As SqlInt32 = Value + If iDokumenttypnrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iDokumenttypnr", "iDokumenttypnr can't be NULL") + End If + m_iDokumenttypnr = Value + End Set + End Property + + + Public Property [sBezeichnung]() As SqlString + Get + Return m_sBezeichnung + End Get + Set(ByVal Value As SqlString) + m_sBezeichnung = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/ThemenDokumente/DB/clsKey_tabelle.vb b/ThemenDokumente/DB/clsKey_tabelle.vb new file mode 100644 index 0000000..4105a0a --- /dev/null +++ b/ThemenDokumente/DB/clsKey_tabelle.vb @@ -0,0 +1,491 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'key_tabelle' +' // Generated by LLBLGen v1.21.2003.712 Final on: Freitag, 4. Januar 2013, 17:02:51 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + ''' + ''' Purpose: Data Access class for the table 'key_tabelle'. + ''' + Public Class clsKey_tabelle + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daErstellt_am, m_daMutiert_am As SqlDateTime + Private m_iMutierer, m_iKeynr, m_iKey_wert, m_iMandantnr As SqlInt32 + Private m_sBeschreibung As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • sBeschreibung
  • + '''
  • iKey_wert
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iKeynr
  • + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_key_tabelle_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@sbeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@ikey_wert", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKey_wert)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@ikeynr", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iKeynr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iKeynr = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@ikeynr").Value, Integer)) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_key_tabelle_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKey_tabelle::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iKeynr
  • + '''
  • sBeschreibung
  • + '''
  • iKey_wert
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_key_tabelle_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@ikeynr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKeynr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sbeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@ikey_wert", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKey_wert)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_key_tabelle_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKey_tabelle::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iKeynr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_key_tabelle_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@ikeynr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKeynr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_key_tabelle_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKey_tabelle::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iKeynr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iKeynr
  • + '''
  • sBeschreibung
  • + '''
  • iKey_wert
  • + '''
  • iMandantnr
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_key_tabelle_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("key_tabelle") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@ikeynr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKeynr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_key_tabelle_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iKeynr = New SqlInt32(CType(dtToReturn.Rows(0)("keynr"), Integer)) + m_sBeschreibung = New SqlString(CType(dtToReturn.Rows(0)("beschreibung"), String)) + m_iKey_wert = New SqlInt32(CType(dtToReturn.Rows(0)("key_wert"), Integer)) + If dtToReturn.Rows(0)("mandantnr") Is System.DBNull.Value Then + m_iMandantnr = SqlInt32.Null + Else + m_iMandantnr = New SqlInt32(CType(dtToReturn.Rows(0)("mandantnr"), Integer)) + End If + If dtToReturn.Rows(0)("aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKey_tabelle::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_key_tabelle_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("key_tabelle") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_key_tabelle_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKey_tabelle::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iKeynr]() As SqlInt32 + Get + Return m_iKeynr + End Get + Set(ByVal Value As SqlInt32) + Dim iKeynrTmp As SqlInt32 = Value + If iKeynrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iKeynr", "iKeynr can't be NULL") + End If + m_iKeynr = Value + End Set + End Property + + + Public Property [sBeschreibung]() As SqlString + Get + Return m_sBeschreibung + End Get + Set(ByVal Value As SqlString) + Dim sBeschreibungTmp As SqlString = Value + If sBeschreibungTmp.IsNull Then + Throw New ArgumentOutOfRangeException("sBeschreibung", "sBeschreibung can't be NULL") + End If + m_sBeschreibung = Value + End Set + End Property + + + Public Property [iKey_wert]() As SqlInt32 + Get + Return m_iKey_wert + End Get + Set(ByVal Value As SqlInt32) + Dim iKey_wertTmp As SqlInt32 = Value + If iKey_wertTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iKey_wert", "iKey_wert can't be NULL") + End If + m_iKey_wert = Value + End Set + End Property + + + Public Property [iMandantnr]() As SqlInt32 + Get + Return m_iMandantnr + End Get + Set(ByVal Value As SqlInt32) + m_iMandantnr = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/ThemenDokumente/DB/clsMyKey_Tabelle.vb b/ThemenDokumente/DB/clsMyKey_Tabelle.vb new file mode 100644 index 0000000..b6c51fb --- /dev/null +++ b/ThemenDokumente/DB/clsMyKey_Tabelle.vb @@ -0,0 +1,61 @@ +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient +Namespace DB + Public Class clsMyKey_Tabelle + Inherits db.clsKey_tabelle + + Public Function get_dbkey(ByVal Tablename As String) As Long + Dim m_dbkey As Long + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[sp_get_dbkey]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@Tablename", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, Tablename)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@dbkey", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_dbkey)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + Try + scmCmdToExecute.Connection.Open() + Catch ex As Exception + Finally + End Try + + scmCmdToExecute.ExecuteNonQuery() + m_dbkey = scmCmdToExecute.Parameters.Item("@dbkey").Value + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + scmCmdToExecute.Connection.Close() + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'sp_get_dbkey' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return m_dbkey + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKey_tabelle::get_dbkey::Error occured." + ex.Message, ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + End Class +End Namespace diff --git a/ThemenDokumente/DB/clsSpeicherTyp.vb b/ThemenDokumente/DB/clsSpeicherTyp.vb new file mode 100644 index 0000000..fcbbafe --- /dev/null +++ b/ThemenDokumente/DB/clsSpeicherTyp.vb @@ -0,0 +1,470 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'SpeicherTyp' +' // Generated by LLBLGen v1.21.2003.712 Final on: Samstag, 5. Januar 2013, 14:57:33 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + ''' + ''' Purpose: Data Access class for the table 'SpeicherTyp'. + ''' + Public Class clsSpeicherTyp + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daMutiert_am, m_daErstellt_am As SqlDateTime + Private m_iMutierer, m_iSpeicherTypNr As SqlInt32 + Private m_sBezeichnung, m_sBeschreibung As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iSpeicherTypNr
  • + '''
  • sBezeichnung. May be SqlString.Null
  • + '''
  • sBeschreibung. May be SqlString.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_SpeicherTyp_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iSpeicherTypNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iSpeicherTypNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBezeichnung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBeschreibung", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_SpeicherTyp_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSpeicherTyp::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iSpeicherTypNr
  • + '''
  • sBezeichnung. May be SqlString.Null
  • + '''
  • sBeschreibung. May be SqlString.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_SpeicherTyp_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iSpeicherTypNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iSpeicherTypNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBezeichnung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBeschreibung", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_SpeicherTyp_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSpeicherTyp::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iSpeicherTypNr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_SpeicherTyp_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iSpeicherTypNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iSpeicherTypNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_SpeicherTyp_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSpeicherTyp::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iSpeicherTypNr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iSpeicherTypNr
  • + '''
  • sBezeichnung
  • + '''
  • sBeschreibung
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_SpeicherTyp_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("SpeicherTyp") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iSpeicherTypNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iSpeicherTypNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_SpeicherTyp_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iSpeicherTypNr = New SqlInt32(CType(dtToReturn.Rows(0)("SpeicherTypNr"), Integer)) + If dtToReturn.Rows(0)("Bezeichnung") Is System.DBNull.Value Then + m_sBezeichnung = SqlString.Null + Else + m_sBezeichnung = New SqlString(CType(dtToReturn.Rows(0)("Bezeichnung"), String)) + End If + If dtToReturn.Rows(0)("Beschreibung") Is System.DBNull.Value Then + m_sBeschreibung = SqlString.Null + Else + m_sBeschreibung = New SqlString(CType(dtToReturn.Rows(0)("Beschreibung"), String)) + End If + If dtToReturn.Rows(0)("aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSpeicherTyp::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_SpeicherTyp_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("SpeicherTyp") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_SpeicherTyp_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSpeicherTyp::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iSpeicherTypNr]() As SqlInt32 + Get + Return m_iSpeicherTypNr + End Get + Set(ByVal Value As SqlInt32) + Dim iSpeicherTypNrTmp As SqlInt32 = Value + If iSpeicherTypNrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iSpeicherTypNr", "iSpeicherTypNr can't be NULL") + End If + m_iSpeicherTypNr = Value + End Set + End Property + + + Public Property [sBezeichnung]() As SqlString + Get + Return m_sBezeichnung + End Get + Set(ByVal Value As SqlString) + m_sBezeichnung = Value + End Set + End Property + + + Public Property [sBeschreibung]() As SqlString + Get + Return m_sBeschreibung + End Get + Set(ByVal Value As SqlString) + m_sBeschreibung = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/ThemenDokumente/DMS/MyDocMgmt.vb b/ThemenDokumente/DMS/MyDocMgmt.vb new file mode 100644 index 0000000..1f30119 --- /dev/null +++ b/ThemenDokumente/DMS/MyDocMgmt.vb @@ -0,0 +1,425 @@ +Imports C1.Win.C1TrueDBGrid +Imports System +Imports System.IO +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient +Imports System.Diagnostics + +' +Namespace Utils + ''' + ''' Klasse fr das Speichern bzw. Auslesen von Image-Dateien in der Datenbank + ''' + ''' + ''' Es werden folgende Datebanktabellen bercksichtigt: + ''' + ''' + ''' Dokument Attribut DocImage + ''' + ''' Profile Attribut V_Uebersicht (Profillayout des C1TrueDBGrids der + ''' Vertragsbersicht|Vertragselemente + ''' + ''' yes + Public Class MyDocMgmt + ''' + ''' Grid-Layoutfile speichern + ''' + ''' C1Truedbgrind, von welchem das Layout gespeichert werden soll + ''' Nummer des Grids: 1=Vertragsbersicht... + ''' + ''' + Public Function Save_LayoutFile(ByRef c1data As C1TrueDBGrid, ByVal GridNo As Integer, ByVal Profilnr As Integer) As Boolean + Dim filename As String = Globals.TmpFilepath(+Trim(Str(Profilnr)) + Trim(Str(GridNo)) + ".lyt") + c1data.SaveLayout(filename) + + Dim Connection As New SqlConnection() + Dim DA As New SqlDataAdapter("select * from profil where profilnr = " & Str(Profilnr), Connection) + 'mitarbeiternr=" + Str(Globals.clsmitarbeiter.iMitarbeiternr.Value) + Dim cb As SqlCommandBuilder = New SqlCommandBuilder(DA) + Dim ds As New DataSet() + Dim fs As New FileStream(filename, FileMode.OpenOrCreate, FileAccess.Read) + Dim mydata(fs.Length) As Byte + fs.Read(mydata, 0, fs.Length) + fs.Close() + Try + Connection.ConnectionString = Globals.sConnectionString + Connection.Open() + DA.Fill(ds, "profil") + Dim myRow As DataRow + If ds.Tables(0).Rows.Count = 0 Then + ' Neues Profil sepeichern + myRow = ds.Tables(0).NewRow + myRow.Item(1) = Globals.Mitarbeiternr + myRow.Item(2) = "" + Select Case GridNo + Case 1 + myRow.Item(3) = mydata + End Select + ds.Tables(0).Rows.Add(myRow) + DA.Update(ds, "profil") + Else + myRow = ds.Tables(0).Rows(0) + Select Case GridNo + Case 1 + myRow.Item(3) = mydata + End Select + DA.Update(ds, "profil") + End If + Catch ex As Exception + MsgBox(ex.Message) + Return False + End Try + fs = Nothing + cb = Nothing + ds = Nothing + DA = Nothing + Connection.Close() + Connection = Nothing + Return True + + End Function + + Private Function Get_Layoutfile_from_db(ByVal filename As String, ByVal GridNo As Integer, ByVal Profilnr As Integer) As Boolean + 'Exit Function + Dim connection As New SqlConnection() + Dim da As New SqlDataAdapter("Select * From profil where profilnr=" & Str(Profilnr), connection) + 'mitarbeiternr=" + Str(Globals.clsmitarbeiter.iMitarbeiternr.Value) + Dim CB As SqlCommandBuilder = New SqlCommandBuilder(da) + Dim ds As New DataSet() + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.Fill(ds, "docs") + Dim myRow As DataRow + myRow = ds.Tables(0).Rows(0) + Dim MyData() As Byte + Select Case GridNo + Case 1 + MyData = myRow.Item(3) + + End Select + + Dim K As Long + K = UBound(MyData) + Dim fs As New FileStream(filename, FileMode.OpenOrCreate, FileAccess.Write) + fs.Write(MyData, 0, K) + fs.Close() + fs = Nothing + Return True + Catch ex As Exception + Return False + End Try + CB = Nothing + ds = Nothing + da = Nothing + connection.Close() + connection = Nothing + Return True + End Function + + Public Function Get_Layout(ByRef c1data As C1TrueDBGrid, ByVal GridNo As Integer, ByVal Profilnr As Integer) As Boolean + Dim filename As String = Globals.TmpFilepath + Trim(Str(Profilnr)) + Trim(Str(GridNo)) + ".lyt" + If File.Exists(filename) Then + c1data.LoadLayout(filename) + Return True + End If + If Get_Layoutfile_from_db(filename, GridNo, Profilnr) Then + c1data.LoadLayout(filename) + Return True + End If + Return False + End Function + + ''' + ''' Dokument in der Tabelle Dokument speichern + ''' + ''' Nummer des Dokument-Datensatzes + ''' Zu speichender Dateiname + ''' + ''' + + Public Function Save_Document(ByVal Dokumentnr As Integer, ByVal Filename As String) As Boolean + Dim Connection As New SqlConnection() + Dim DA As New SqlDataAdapter("select * from dokument where dokumentnr =" + Str(Dokumentnr), Connection) + Dim cb As SqlCommandBuilder = New SqlCommandBuilder(DA) + Dim ds As New DataSet() + Dim fs As New FileStream(Filename, FileMode.OpenOrCreate, FileAccess.Read) + Dim mydata(fs.Length) As Byte + fs.Read(mydata, 0, fs.Length) + fs.Close() + Try + Connection.ConnectionString = Globals.sConnectionString + Connection.Open() + DA.Fill(ds, "Dokument") + Dim myRow As DataRow + If ds.Tables(0).Rows.Count = 0 Then + Return False + Else + myRow = ds.Tables(0).Rows(0) + myRow.Item(16) = mydata + DA.Update(ds, "Dokument") + End If + Catch ex As Exception + MsgBox(ex.Message) + Return False + End Try + fs = Nothing + cb = Nothing + ds = Nothing + DA = Nothing + Connection.Close() + Connection = Nothing + Return True + End Function + + ''' + ''' Liest das Dokument aus der DB und speichert dieses unter einem temporren Filenamen ab + ''' + ''' + ''' + ''' + Public Function Get_Dokument(ByVal DokumentNr As Integer) As String + Dim Filename As String = Globals.TmpFilepath + If Right(Filename, 1) <> "\" Then Filename = Filename + "\" + + Dim connection As New SqlConnection() + Dim da As New SqlDataAdapter("Select * From Dokument where DokumentNr=" + Str(DokumentNr), connection) + Dim CB As SqlCommandBuilder = New SqlCommandBuilder(da) + Dim ds As New DataSet() + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.Fill(ds, "Dokument") + Dim myRow As DataRow + myRow = ds.Tables(0).Rows(0) + Select Case myRow.Item("Speichertypnr") + Case 1 + Dim MyData() As Byte + MyData = myRow.Item(16) + + Dim K As Long + K = UBound(MyData) + Filename = Filename + myRow.Item(6) + Dim fs As New FileStream(Filename, FileMode.OpenOrCreate, FileAccess.Write) + fs.Write(MyData, 0, K) + fs.Close() + fs = Nothing + Case 2 + Filename = myRow.Item("OriginalFilename_incl_Path") + Case 3 + Filename = myRow.Item("OriginalFilename_incl_Path") + Case Else + Filename = myRow.Item("OriginalFilename_incl_Path") + End Select + + Catch ex As Exception + MsgBox(ex.Message, MsgBoxStyle.Critical) + Return "" + Finally + connection.Close() + connection = Nothing + End Try + CB = Nothing + ds = Nothing + da = Nothing + Return Filename + End Function + + Public Function Show_Document(ByVal Dokumentnr As Integer) As Boolean + Dim tmpfilename As String = Me.Get_Dokument(Dokumentnr) + If tmpfilename <> "" Then + OpenSystemFile(tmpfilename) + Return True + End If + Return False + End Function + + Public Function OpenSystemFile(ByVal sFileName As String) As Boolean + If Len(sFileName) > 0 Then + System.Diagnostics.Process.Start(sFileName) + ' + ' ShellExecute(GetDesktopWindow(), vbNullString, sFileName, vbNullString, vbNullString, vbNormalFocus) + Return True + End If + End Function + + Public Function Save_RptDatei(ByVal Auswertungnr As Integer, ByVal AuswertungName As String) As String + Dim filename As String = AuswertungName + Dim Connection As New SqlConnection() + Dim DA As New SqlDataAdapter("select * from AuswertungRptDatei where AuswertungDateiNr = " & Str(Auswertungnr), Connection) + Dim cb As SqlCommandBuilder = New SqlCommandBuilder(DA) + Dim ds As New DataSet() + Dim fs As New FileStream(filename, FileMode.OpenOrCreate, FileAccess.Read) + Dim mydata(fs.Length) As Byte + fs.Read(mydata, 0, fs.Length) + fs.Close() + Try + Connection.ConnectionString = Globals.sConnectionString + Connection.Open() + DA.Fill(ds, "RptFile") + Dim myRow As DataRow + If ds.Tables(0).Rows.Count = 0 Then + ' Neues Datei speichern + myRow = ds.Tables(0).NewRow + myRow.Item(0) = Auswertungnr + myRow.Item(1) = AuswertungName + myRow.Item(2) = RptName(AuswertungName) + myRow.Item(3) = mydata + myRow.Item(4) = Now + myRow.Item(5) = Now + myRow.Item(6) = Globals.Mitarbeiternr + ds.Tables(0).Rows.Add(myRow) + DA.Update(ds, "RptFile") + Else + myRow = ds.Tables(0).Rows(0) + myRow.Item(1) = AuswertungName + myRow.Item(2) = RptName(AuswertungName) + myRow.Item(3) = mydata + myRow.Item(5) = Now + myRow.Item(6) = Globals.Mitarbeiternr + DA.Update(ds, "RptFile") + End If + Catch ex As Exception + MsgBox(ex.Message) + Return False + End Try + fs = Nothing + cb = Nothing + ds = Nothing + DA = Nothing + Connection.Close() + Connection = Nothing + Return RptName(AuswertungName) + End Function + + Public Function RptName(ByVal path As String) As String + Dim i As Integer + Dim file As String = path + i = InStrRev(file.Trim, "\") + If i = 0 Then + Return file.Trim + Else + Return Right(file.Trim, Len(file.Trim) - i) + End If + End Function + + Public Function Get_RptDatei(ByVal Auswertungnr As String, Optional ByVal fname As String = "") As String + Dim connection As New SqlConnection() + Dim DA As New SqlDataAdapter("select * from AuswertungRptDatei where AuswertungDateiNr = " & Str(Auswertungnr), connection) + Dim CB As SqlCommandBuilder = New SqlCommandBuilder(DA) + Dim ds As New DataSet() + Dim Filename As String = "" + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + DA.Fill(ds, "RptFile") + Dim myRow As DataRow + myRow = ds.Tables(0).Rows(0) + Dim MyData() As Byte + Filename = Globals.TmpFilepath + "\" + myRow.Item(2).ToString + If fname <> "" Then + Filename = fname + End If + MyData = myRow.Item(3) + Dim K As Long + K = UBound(MyData) + Dim fs As New FileStream(Filename, FileMode.OpenOrCreate, FileAccess.Write) + fs.Write(MyData, 0, K) + fs.Close() + fs = Nothing + Catch ex As Exception + Return "" + End Try + CB = Nothing + ds = Nothing + DA = Nothing + connection.Close() + connection = Nothing + Return Filename + End Function + + Public Function Save_Architekturfile(ByVal Applikationnr As Integer, ByVal iFilename As String) + Dim filename As String = iFilename + Dim Connection As New SqlConnection() + Dim DA As New SqlDataAdapter("select * from ApplikationArchitektur where applikationnr = " & Str(Applikationnr), Connection) + Dim cb As SqlCommandBuilder = New SqlCommandBuilder(DA) + Dim ds As New DataSet() + Dim fs As New FileStream(filename, FileMode.OpenOrCreate, FileAccess.Read) + Dim mydata(fs.Length) As Byte + fs.Read(mydata, 0, fs.Length) + fs.Close() + Try + Connection.ConnectionString = Globals.sConnectionString + Connection.Open() + DA.Fill(ds, "RptFile") + Dim myRow As DataRow + If ds.Tables(0).Rows.Count = 0 Then + ' Neues Datei speichern + myRow = ds.Tables(0).NewRow + myRow.Item(0) = Applikationnr + myRow.Item(1) = mydata + ' myRow.Item(4) = Now + ' myRow.Item(5) = Now + ' myRow.Item(6) = Globals.clsmitarbeiter.iMitarbeiternr.Value + ds.Tables(0).Rows.Add(myRow) + DA.Update(ds, "RptFile") + Else + myRow = ds.Tables(0).Rows(0) + myRow.Item(1) = mydata + ' myRow.Item(2) = RptName(AuswertungName) + ' myRow.Item(3) = mydata + ' myRow.Item(5) = Now + ' myRow.Item(6) = Globals.clsmitarbeiter.iMitarbeiternr.Value + DA.Update(ds, "RptFile") + End If + Catch ex As Exception + MsgBox(ex.Message) + Return False + End Try + fs = Nothing + cb = Nothing + ds = Nothing + DA = Nothing + Connection.Close() + Connection = Nothing + End Function + + Public Function Get_Architekturfile(ByVal Applikationnr As String, Optional ByVal fname As String = "") As String + Dim connection As New SqlConnection() + Dim DA As New SqlDataAdapter("select * from ApplikationArchitektur where applikationnr = " & Str(Applikationnr), connection) + Dim CB As SqlCommandBuilder = New SqlCommandBuilder(DA) + Dim ds As New DataSet() + Dim Filename As String = "" + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + DA.Fill(ds, "RptFile") + Dim myRow As DataRow + myRow = ds.Tables(0).Rows(0) + Dim MyData() As Byte + Filename = Globals.TmpFilepath + "\architekturfile.xml" + If fname <> "" Then + Filename = fname + End If + MyData = myRow.Item(1) + Dim K As Long + K = UBound(MyData) + Dim fs As New FileStream(Filename, FileMode.OpenOrCreate, FileAccess.Write) + fs.Write(MyData, 0, K) + fs.Close() + fs = Nothing + Catch ex As Exception + Return "" + End Try + CB = Nothing + ds = Nothing + DA = Nothing + connection.Close() + connection = Nothing + Return Filename + End Function + + End Class + +End Namespace diff --git a/ThemenDokumente/DMS/clsDok.vb b/ThemenDokumente/DMS/clsDok.vb new file mode 100644 index 0000000..59a7680 --- /dev/null +++ b/ThemenDokumente/DMS/clsDok.vb @@ -0,0 +1,230 @@ +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient +Imports C1.Win.C1TrueDBGrid +Namespace DMS + + Public Class clsDok + Inherits DB.clsDokument + +#Region "Deklarationen" + Private Dokumenttyp As New DB.clsDokumenttyp + Private Speichertyp As New DB.clsSpeicherTyp + Public Dokumenttypdaten As DataTable + Public Speichertypdaten As New DataTable + Private DocMgmt As New Utils.MyDocMgmt + Public Dokumente As New DataTable + Public Neuer_Datensatz As Boolean = False + Public Stammdaten As New DB.clsStammdaten +#End Region + + + ''' + ''' Dokument laden + ''' + ''' PersonNr + ''' + ''' + + Public Function Get_Dokument(ByVal Nr As Integer) + Me.cpMainConnectionProvider = Globals.conn + Me.iDokumentNr = New SqlInt32(CType(Nr, Int32)) + Globals.conn.OpenConnection() + Me.SelectOne() + Globals.conn.CloseConnection(True) + End Function + ''' + ''' Person sichern + ''' + ''' + ''' + Public Function Save_Data() As Integer + Me.cpMainConnectionProvider = Globals.conn + Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) + Me.iMutierer = New SqlInt32(CType(Globals.Mitarbeiternr, Int32)) + Globals.conn.OpenConnection() + Me.Update() + Globals.conn.CloseConnection(True) + Me.Neuer_Datensatz = False + Return Me.iDokumentNr.Value + End Function + ''' + ''' Kopie eines Datensatzes erstellen. + ''' + ''' Ursprungs-Person: Ist dieser Wert nicht 0, werden die Daten mit BaseNr zuerst gelesen + ''' + ''' + Public Function Create_Copy(Optional ByVal Basenr As Integer = 0) As Integer + If Basenr <> 0 Then + Get_Dokument(Basenr) + End If + Dim db As New DB.clsMyKey_Tabelle + db.cpMainConnectionProvider = Globals.conn + Dim newkey = db.get_dbkey("Dokument") + db.Dispose() + + Me.cpMainConnectionProvider = Globals.conn + Me.iDokumentNr = New SqlInt32(CType(newkey, Int32)) + Me.daErstellt_am = New SqlDateTime(CType(Now, DateTime)) + Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) + Me.iMutierer = New SqlInt32(CType(Globals.Mitarbeiternr, Int32)) + Globals.conn.OpenConnection() + Me.Insert() + Globals.conn.CloseConnection(True) + Me.Neuer_Datensatz = True + Return newkey + End Function + ''' + ''' Datensatz inaktivieren + ''' + ''' Ursprungs-Person: Ist dieser Wert nicht 0, werden die Daten mit BaseNr zuerst gelesen + ''' + ''' + Public Function Delete_Dokument(Optional ByVal Basenr As Integer = 0) As Integer + If Basenr <> 0 Then + Get_Dokument(Basenr) + End If + Me.cpMainConnectionProvider = Globals.conn + Me.bAktiv = New SqlBoolean(CType(False, Boolean)) + Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) + Me.iMutierer = New SqlInt32(CType(Globals.Mitarbeiternr, Int32)) + Globals.conn.OpenConnection() + Me.Update() + Globals.conn.CloseConnection(True) + Me.Neuer_Datensatz = False + End Function + ''' + ''' Datensatz physisch lschen + ''' + ''' Ursprungs-Person: Ist dieser Wert nicht 0, werden die Daten mit BaseNr zuerst gelesen + ''' + ''' + Public Overloads Function Delete(Optional ByVal Basenr As Integer = 0) As Integer + If Basenr <> 0 Then + Get_Dokument(Basenr) + End If + Me.cpMainConnectionProvider = Globals.conn + Globals.conn.OpenConnection() + MyBase.Delete() + Globals.conn.CloseConnection(True) + Me.Neuer_Datensatz = False + End Function + ''' + ''' Neue Person einfgen + ''' + ''' + ''' + Public Function Add_New(ByVal Elementnr As Integer, ByVal doktype As Integer) As Integer + Dim db As New DB.clsMyKey_Tabelle + db.cpMainConnectionProvider = Globals.conn + Dim newkey = db.get_dbkey("Dokument") + db.Dispose() + Me.iDokumentNr = New SqlInt32(CType(newkey, Int32)) + Me.iKeyValue = New SqlInt32(CType(Elementnr, Int32)) + Me.iDokType = New SqlInt32(CType(doktype, Int32)) + Me.iDokumenttypNr = New SqlInt32(CType(1, Int32)) + Me.sBezeichnung = New SqlString(CType("", String)) + Me.sBeschreibung = New SqlString(CType("", String)) + Me.sFilename = New SqlString(CType("", String)) + Me.sOriginalFilename_incl_Path = New SqlString(CType("", String)) + Me.sVersion = New SqlString(CType("", String)) + Me.daVersionsdatum = New SqlDateTime(CType(SqlDateTime.Null, DateTime)) + Me.bAktiv = New SqlBoolean(CType(True, Boolean)) + Me.daErstellt_am = New SqlDateTime(CType(Now, DateTime)) + Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) + Me.iMutierer = New SqlInt32(CType(Globals.Mitarbeiternr, Int32)) + Me.iSpeichertypNr = New SqlInt32(CType(1, Int32)) + Me.cpMainConnectionProvider = Globals.conn + Globals.conn.OpenConnection() + Me.Insert() + Globals.conn.CloseConnection(True) + Me.Neuer_Datensatz = True + Return newkey + End Function + + ''' + ''' Dokumenttypen laden und in der Datatable Dokumenttypdaten bereit stellen + ''' + ''' + ''' + Public Function Get_Dokumenttypen() As DataTable + Me.Dokumenttyp.cpMainConnectionProvider = Globals.conn + Me.Dokumenttypdaten = Stammdaten.Get_Stammdaten("Dokumenttyp", "Bezeichnung") + End Function + + Public Function Get_Speichertypen() As DataTable + Me.speichertyp.cpMainConnectionProvider = Globals.conn + Me.Speichertypdaten = Stammdaten.Get_Stammdaten("Speichertyp", "Bezeichnung") + + End Function + ''' + ''' Datei im Dokument speichern + ''' + ''' + ''' + ''' + ''' + Public Function Save_File(ByVal DokumentNr As Integer, ByVal Filename As String) As Boolean + If Filename = "" Then Return True + If Me.DocMgmt.Save_Document(DokumentNr, Filename) = False Then + Return False + Else + Return True + End If + End Function + + Public Function Show_Doc(ByVal dokumentnr As Integer) + Me.DocMgmt.Show_Document(dokumentnr) + End Function + + Public Function Get_Dokumente(ByVal Keyvalue As Integer, ByVal Doktype As Integer) As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + Dim dtToReturn As DataTable = New DataTable() + Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute) + scmCmdToExecute.CommandText = "dbo.sp_get_dokumente" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + scmCmdToExecute.Connection = conn.scoDBConnection + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@keyvalue", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Keyvalue)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@doktype", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Doktype)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@mitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Globals.Mitarbeiternr)) + sdaAdapter.Fill(dtToReturn) + Return dtToReturn + Catch ex As Exception + Throw New Exception("clsDok::" & scmCmdToExecute.CommandText & "::Error occured." & ex.Message, ex) + Finally + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + Public Function Exists_Testdrehbuch(ByVal Applikationnr As Integer) As Integer + Dim tmpdata As New DataTable + tmpdata = Get_Dokumente(Applikationnr, 2) + If tmpdata.Rows.Count = 0 Then + tmpdata.Dispose() + Return -1 + Else + Return tmpdata.Rows(0).Item("Dokumentnr") + tmpdata.Dispose() + End If + End Function + + +#Region "Dokumentablageorte" + Public Dokumentablageort As TKB.VV.Sysadmin.DomainTable + + Public Function Get_Ablageorte(ByVal c1data As C1TrueDBGrid, ByVal Dokumentnr As Integer) + Dokumentablageort = New TKB.VV.Sysadmin.DomainTable("Dokumentablageort", Str(Dokumentnr), Globals.Mitarbeiternr) + c1data.DataSource = Dokumentablageort.Tabledata + c1data.DataMember = Dokumentablageort.Tabledata.Tables(0).TableName + End Function + +#End Region + + + End Class +End Namespace + + diff --git a/ThemenDokumente/DMS/clsStammdaten.vb b/ThemenDokumente/DMS/clsStammdaten.vb new file mode 100644 index 0000000..990be4a --- /dev/null +++ b/ThemenDokumente/DMS/clsStammdaten.vb @@ -0,0 +1,70 @@ +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace db + + Public Class clsStammdaten + Public Function Get_Stammdaten(ByVal Tabelle As String, ByVal orderby As String) As DataTable + Dim selectcommand As New SqlCommand + Dim connection As New SqlConnection() + Dim da As New SqlDataAdapter("", connection) + Dim ds As New DataSet + selectcommand.CommandText = "sp_get_stammdaten" + selectcommand.Parameters.Add("@Mitarbeiternr", SqlDbType.Int, 4) + selectcommand.Parameters.Add("@Tabelle", SqlDbType.VarChar, 255) + selectcommand.Parameters.Add("@Orderby", SqlDbType.VarChar, 255) + selectcommand.Parameters(0).Value = Globals.Mitarbeiternr + selectcommand.Parameters(1).Value = Tabelle + selectcommand.Parameters(2).Value = orderby + + selectcommand.CommandType = CommandType.StoredProcedure + selectcommand.Connection = connection + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.SelectCommand = selectcommand + da.Fill(ds) + Return ds.Tables(0) + Catch ex As Exception + Finally + connection.Close() + da.Dispose() + ds.Dispose() + selectcommand.Dispose() + End Try + End Function + + Public Function Get_Gremium(ByVal type As Integer, ByVal subtype As Integer) As DataTable + Dim selectcommand As New SqlCommand + Dim connection As New SqlConnection() + Dim da As New SqlDataAdapter("", connection) + Dim ds As New DataSet + selectcommand.CommandText = "dbo.sp_get_gremium" + selectcommand.Parameters.Add("@type", SqlDbType.Int, 4) + selectcommand.Parameters.Add("@subtype", SqlDbType.Int, 4) + selectcommand.Parameters(0).Value = type + selectcommand.Parameters(1).Value = subtype + + selectcommand.CommandType = CommandType.StoredProcedure + selectcommand.Connection = connection + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.SelectCommand = selectcommand + da.Fill(ds) + Return ds.Tables(0) + Catch ex As Exception + Finally + connection.Close() + da.Dispose() + ds.Dispose() + selectcommand.Dispose() + End Try + + End Function + + End Class +End Namespace + diff --git a/ThemenDokumente/Dokumente.Designer.vb b/ThemenDokumente/Dokumente.Designer.vb new file mode 100644 index 0000000..bf226ae --- /dev/null +++ b/ThemenDokumente/Dokumente.Designer.vb @@ -0,0 +1,188 @@ + _ +Partial Class Dokumente + Inherits System.Windows.Forms.UserControl + + 'UserControl1 überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(Dokumente)) + Me.ToolStrip1 = New System.Windows.Forms.ToolStrip() + Me.ToolStripButton1 = New System.Windows.Forms.ToolStripButton() + Me.ToolStripButton4 = New System.Windows.Forms.ToolStripButton() + Me.ToolStripButton2 = New System.Windows.Forms.ToolStripButton() + Me.ToolStripButton3 = New System.Windows.Forms.ToolStripButton() + Me.ImageListeDocIcon = New System.Windows.Forms.ImageList(Me.components) + Me.C1Dokumente = New C1.Win.C1TrueDBGrid.C1TrueDBGrid() + Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.NeuesDokumentToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.DokumentInformationenBearbeitenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.DokumentLöschenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.DokumentanzeigenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStrip1.SuspendLayout() + CType(Me.C1Dokumente, System.ComponentModel.ISupportInitialize).BeginInit() + Me.ContextMenuStrip1.SuspendLayout() + Me.SuspendLayout() + ' + 'ToolStrip1 + ' + Me.ToolStrip1.AllowDrop = True + Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripButton1, Me.ToolStripButton4, Me.ToolStripButton2, Me.ToolStripButton3}) + Me.ToolStrip1.Location = New System.Drawing.Point(0, 0) + Me.ToolStrip1.Name = "ToolStrip1" + Me.ToolStrip1.Size = New System.Drawing.Size(625, 25) + Me.ToolStrip1.TabIndex = 0 + Me.ToolStrip1.Text = "ToolStrip1" + ' + 'ToolStripButton1 + ' + Me.ToolStripButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton1.Image = CType(resources.GetObject("ToolStripButton1.Image"), System.Drawing.Image) + Me.ToolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton1.Name = "ToolStripButton1" + Me.ToolStripButton1.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton1.Text = "Neues Dokument" + ' + 'ToolStripButton4 + ' + Me.ToolStripButton4.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton4.Image = CType(resources.GetObject("ToolStripButton4.Image"), System.Drawing.Image) + Me.ToolStripButton4.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton4.Name = "ToolStripButton4" + Me.ToolStripButton4.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton4.Text = "Dokumentinformationen bearbeiten" + ' + 'ToolStripButton2 + ' + Me.ToolStripButton2.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton2.Image = CType(resources.GetObject("ToolStripButton2.Image"), System.Drawing.Image) + Me.ToolStripButton2.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton2.Name = "ToolStripButton2" + Me.ToolStripButton2.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton2.Text = "Dokument löschen" + ' + 'ToolStripButton3 + ' + Me.ToolStripButton3.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton3.Image = CType(resources.GetObject("ToolStripButton3.Image"), System.Drawing.Image) + Me.ToolStripButton3.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton3.Name = "ToolStripButton3" + Me.ToolStripButton3.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton3.Text = "Dokument anzeigen" + ' + 'ImageListeDocIcon + ' + Me.ImageListeDocIcon.ImageStream = CType(resources.GetObject("ImageListeDocIcon.ImageStream"), System.Windows.Forms.ImageListStreamer) + Me.ImageListeDocIcon.TransparentColor = System.Drawing.Color.Transparent + Me.ImageListeDocIcon.Images.SetKeyName(0, "PDF.ico") + Me.ImageListeDocIcon.Images.SetKeyName(1, "Microsoft-Office-Word-icon.png") + Me.ImageListeDocIcon.Images.SetKeyName(2, "Microsoft-Office-Excel-icon.png") + Me.ImageListeDocIcon.Images.SetKeyName(3, "MS-Office-2003-PowerPoint-icon.png") + Me.ImageListeDocIcon.Images.SetKeyName(4, "Network-icon.png") + Me.ImageListeDocIcon.Images.SetKeyName(5, "Mail.ico") + Me.ImageListeDocIcon.Images.SetKeyName(6, "Document-Blank-icon.png") + Me.ImageListeDocIcon.Images.SetKeyName(7, "photos-icon.png") + ' + 'C1Dokumente + ' + Me.C1Dokumente.AllowDrop = True + Me.C1Dokumente.AlternatingRows = True + Me.C1Dokumente.ContextMenuStrip = Me.ContextMenuStrip1 + Me.C1Dokumente.Dock = System.Windows.Forms.DockStyle.Fill + Me.C1Dokumente.FetchRowStyles = True + Me.C1Dokumente.FilterBar = True + Me.C1Dokumente.GroupByCaption = "Drag a column header here to group by that column" + Me.C1Dokumente.Images.Add(CType(resources.GetObject("C1Dokumente.Images"), System.Drawing.Image)) + Me.C1Dokumente.Location = New System.Drawing.Point(0, 25) + Me.C1Dokumente.Name = "C1Dokumente" + Me.C1Dokumente.PreviewInfo.Location = New System.Drawing.Point(0, 0) + Me.C1Dokumente.PreviewInfo.Size = New System.Drawing.Size(0, 0) + Me.C1Dokumente.PreviewInfo.ZoomFactor = 75.0R + Me.C1Dokumente.PrintInfo.PageSettings = CType(resources.GetObject("C1Dokumente.PrintInfo.PageSettings"), System.Drawing.Printing.PageSettings) + Me.C1Dokumente.Size = New System.Drawing.Size(625, 294) + Me.C1Dokumente.TabAction = C1.Win.C1TrueDBGrid.TabActionEnum.ColumnNavigation + Me.C1Dokumente.TabIndex = 9 + Me.C1Dokumente.Text = "C1TrueDBGrid1" + Me.C1Dokumente.PropBag = resources.GetString("C1Dokumente.PropBag") + ' + 'ContextMenuStrip1 + ' + Me.ContextMenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.NeuesDokumentToolStripMenuItem, Me.DokumentInformationenBearbeitenToolStripMenuItem, Me.DokumentLöschenToolStripMenuItem, Me.DokumentanzeigenToolStripMenuItem}) + Me.ContextMenuStrip1.Name = "ContextMenuStrip1" + Me.ContextMenuStrip1.Size = New System.Drawing.Size(271, 92) + ' + 'NeuesDokumentToolStripMenuItem + ' + Me.NeuesDokumentToolStripMenuItem.Image = CType(resources.GetObject("NeuesDokumentToolStripMenuItem.Image"), System.Drawing.Image) + Me.NeuesDokumentToolStripMenuItem.Name = "NeuesDokumentToolStripMenuItem" + Me.NeuesDokumentToolStripMenuItem.Size = New System.Drawing.Size(270, 22) + Me.NeuesDokumentToolStripMenuItem.Text = "&Neues Dokument" + ' + 'DokumentInformationenBearbeitenToolStripMenuItem + ' + Me.DokumentInformationenBearbeitenToolStripMenuItem.Image = CType(resources.GetObject("DokumentInformationenBearbeitenToolStripMenuItem.Image"), System.Drawing.Image) + Me.DokumentInformationenBearbeitenToolStripMenuItem.Name = "DokumentInformationenBearbeitenToolStripMenuItem" + Me.DokumentInformationenBearbeitenToolStripMenuItem.Size = New System.Drawing.Size(270, 22) + Me.DokumentInformationenBearbeitenToolStripMenuItem.Text = "Dokument-Informationen bearbeiten" + ' + 'DokumentLöschenToolStripMenuItem + ' + Me.DokumentLöschenToolStripMenuItem.Image = CType(resources.GetObject("DokumentLöschenToolStripMenuItem.Image"), System.Drawing.Image) + Me.DokumentLöschenToolStripMenuItem.Name = "DokumentLöschenToolStripMenuItem" + Me.DokumentLöschenToolStripMenuItem.Size = New System.Drawing.Size(270, 22) + Me.DokumentLöschenToolStripMenuItem.Text = "Dokument löschen" + ' + 'DokumentanzeigenToolStripMenuItem + ' + Me.DokumentanzeigenToolStripMenuItem.Image = CType(resources.GetObject("DokumentanzeigenToolStripMenuItem.Image"), System.Drawing.Image) + Me.DokumentanzeigenToolStripMenuItem.Name = "DokumentanzeigenToolStripMenuItem" + Me.DokumentanzeigenToolStripMenuItem.Size = New System.Drawing.Size(270, 22) + Me.DokumentanzeigenToolStripMenuItem.Text = "Dokument &anzeigen" + ' + 'Dokumente + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.Controls.Add(Me.C1Dokumente) + Me.Controls.Add(Me.ToolStrip1) + Me.Name = "Dokumente" + Me.Size = New System.Drawing.Size(625, 319) + Me.ToolStrip1.ResumeLayout(False) + Me.ToolStrip1.PerformLayout() + CType(Me.C1Dokumente, System.ComponentModel.ISupportInitialize).EndInit() + Me.ContextMenuStrip1.ResumeLayout(False) + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents ToolStrip1 As System.Windows.Forms.ToolStrip + Friend WithEvents ToolStripButton1 As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripButton2 As System.Windows.Forms.ToolStripButton + Friend WithEvents ImageListeDocIcon As System.Windows.Forms.ImageList + Friend WithEvents C1Dokumente As C1.Win.C1TrueDBGrid.C1TrueDBGrid + Friend WithEvents ToolStripButton4 As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripButton3 As System.Windows.Forms.ToolStripButton + Friend WithEvents ContextMenuStrip1 As System.Windows.Forms.ContextMenuStrip + Friend WithEvents NeuesDokumentToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents DokumentInformationenBearbeitenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents DokumentLöschenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents DokumentanzeigenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + +End Class diff --git a/ThemenDokumente/Dokumente.resx b/ThemenDokumente/Dokumente.resx new file mode 100644 index 0000000..48d1c35 --- /dev/null +++ b/ThemenDokumente/Dokumente.resx @@ -0,0 +1,373 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + + + 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 + ovwBHtVvxMSvxBEAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJDSURBVDhPjZLfa1JhHMa96bYuo7uiywi66CYIgq6iYPUX + dNlVREEXUbQXN21zmDjRlpYw21yuFWNo/miTVgpLM5Y76rH5+9d0LsOjDk0vns57PLJMox544PC+3+fz + vs/LkfR0Q68/9ICMX5TKJq7KhpiuE5nsrDjeL0LIYaPRGCyVSqjX6391IpGESjVtEmMHIlLZzWaziU6n + 809Ho98wNjZxWox2pdZoSavVwoF/ot1uC6bfv+/lCztQKB5fEKNdUUBjfx/U9UYDLH+KzeuHcyMgnNjb + o85kc4MAlVpLOK4m9AxHWFxfcOOMzolrpnUoXH6wbBS1Wh10JplKDwGoNKRS+YFqlYPR5cGJJy6MzHlg + Deeh80bxZn1DANCZWCwO+Z8ApUpNSrtlfK9UoLN/wPEZF84Z3JCuhnBr5QvMa15UOQ50htaTyxX9gCml + mtDH2S3vYZMJ4/xTG45O23FS48DIczvCfAUapjNMKDIImJxSkVQ6B+psNo9AkIHa4YXG4QG7HRd6B7cY + FHaK2PzKDAMoSTyRQs+5fIGHZZDOZIWQZXEJyytWOF2rYPgb6vT6fsCjSSVhozG+36DTmRysNjtMLxZ4 + wJoACUUiMjHalXRcPsqEWL7fcMfjSR5gxpzZAtc7N97anSgWi1fEuERy5+69S+73H/me4aHeYiLCv6Cb + MWDevIil18vI5vOjYryr+w+lt7X6Z9sGw2xxmGdN88VPPn/tpeUVfL7PNf4Gp8To/ysQCBzhOO5yuVw+ + 1l2RSH4BvQRqc//87N0AAAAASUVORK5CYII= + + + + 758, 56 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w + LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 + ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACs + EAAAAk1TRnQBSQFMAgEBCAEAASQBAQEkAQEBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo + AwABQAMAATADAAEBAQABCAYAAQwYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA + AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 + AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA + AWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYCAAFm + AZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHMATMCAAHM + AWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEzAQABZgEA + ATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIzAf8BAAEz + AWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEzAQABMwGZ + AWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZAQABMwLM + AQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFmAQABMwEA + AWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFmATMBmQEA + AWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEzAQABZgGZ + AWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEAAWYBzAH/ + AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZATMBmQEA + AZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFmAgABmQFm + ATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZAcwBAAKZ + Af8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIAAZkB/wEz + AQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHMAQABmQEA + AcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHMAWYCAAHM + AWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZAWYBAAHM + ApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHMAf8CAAHM + Af8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/AQABmQEA + AcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFmATMBAAHM + AmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZAQAB/wGZ + AcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC/wEz + AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm + AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw + AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD//8A/wD/AP8ACwAB/wLz + Af8YAAH0Ae8I9wHvAfQKAAH0Af8KAAG8AbMD0wHaAbQBvBUAAf8BbQHzCPQB8wFtAf8HAAH/AbwB6wHw + Av8HAAG0AtMDsgGsARsBCQG0AwABBwbsBgMBAQEDAgAB8wH3Cv8B9wHzBQAB/wHzAe8BBwGSAe8B8gH0 + Av8EAAG0AdME1AHTAfIB9gHzAfEBswIABwcI+wIAAfMB9wr/AfcB8wQAAfQB8QHsAesB7AHtAUMBvAL0 + Av8CAAEZBtQBswEZAv8B9gEHARkBAA4HAfsCAAHzAfcK/wH3AfMCAAH/AfIBvAEHAfcC7wH3AW0B7AH0 + Av8DAALUAdUD2wG7ARkB2wEJAdwB1AGyAdMBAA0HAvsCAAHzAe8K/wHvAfMBAAH0AbwB7AH3AbwFBwEU + AfEEAAHzAdQB1QPbAfYBCQHbAbsBugHUAdMBsgHNAfMHBwHsAQMDBwP7AgAB8wHvCv8B7wHzAQAB/wHx + Au0BvAEHA+8BBwL3Af8DAAEZAdUB2wLcAfMB/wLyAtsC1AHTAc0BCQEHA/8FBwEDBAcB+wIAAfMB7wr/ + Ae8B8wIAAfQBkgESAfcB7wFtAfcB7wEHAe8B6wHzAwABCQHbAtwBCQT/AfMC2wHUAdMBrAHzAQcD/wYH + AQMDBwH7AgAB8wHvCvQB9wHzAgAB/wG8AQcB8AJKAXIB7QEcAZIB6gHrAf8CAAHyAdsB3AEJARkD/wHz + Af8B3AHbAtQBswHzAQcC/wIHA/8DBwEDAgcB+wIAAfMB7wn0AfMBkgHzAwAB9AG8AfQBmQJzAe8BvAHw + Ae0BQwHxAgAB9AHbAdwCGQP/ARkB/wH0AdsB1QHUAdUB9AEHAf8CBwb/AgcBAwEHAfsCAAHzAe8H9AHz + AfIBvAHsAfMDAAH/AbwBBwHxAbwBBwG8AvAB7wEVAeoB/wIAAdsB3AIZA/8BCQH0AdwB2wHVAdMB8wEA + AwcI/wIHAQMB+wIAAfMB7wfzAfEC8gFtAf8EAAHzAe8BkgEHAfEB8AGSAewBkgFtAUMB8QIAAfQB3AEZ + Av8B9AHyAfMBCQH/AQkB1AEJAfMBAAIHCv8CBwEDAgAB8wHvBvMB8AHzAfIB7AHzBQAB/wEHAewB7wG8 + AfcC6wHsAfcB7QHxAf8CAAEZAdwB8wIZAQkBGQL/AdsBtAH0AgABBw3/AQcCAAHzAe8F8gHwAbwB8wHs + AfQHAAHxAe8B7QH3Ae0C6wFtAewB9AUAAfQB/wTcAdsB1QEJAfQUAAH/AesB8wL0AfMB8gG8Ae8B7AH0 + CAAB9AHvAQcB7wEHAbwB8QHzAfQB/wYAAf8B8wIJAdwBCQHyAf8WAAH0Ae8F9wGSAfQJAAH/AvQB/xgA + ARAODgEQAwAK/wYACv8IAAP/AgcD7AH/AQcBAAERAbQICQG7AQkCtQG0AREBAAH0ARIEKAFJBUgBEgH0 + AgAB9AHqCiQB6gH0BgAB/wH5AgcC7AEHAewBAgHsAQABEQG1Bv8D8wH/AbwCtAERAQAB6wJWB1UBTwJO + AW0CAAHrDCwB6wYAAv8BBwH/AQcB7AH/AewC/wEAAUMBtQHzCP8B8wH/AbQBtQFDAQABSQFWAfEI/wHx + AU4BSQIAAUQBMgEaCP8BGgEsAUQGAAP/AvkC/wHsAQcB/wEAAUMBtQEJAf8CCQHzAf8CCQP/AbsBtQFD + AQABSQFWBf8B9gGfAX4BGwH/AU8BSQIAAUQBMgH2CMMB9gEsAUQGAAX/AgcD/wEAAUMBtQEJAf8BrQGs + AQkBGQKsAfMC/wHdAbUBQwEAAUkBNQH/ARsCVwEbAX4BNgFXAv8BVQFJAgABSgEyAfYBegFZAZoBegM4 + AXoB9gEsAUQGAAT/AewBBwT/AQABQwG7AQkBGQKsAbQBCQKsAQkC/wHwAbsBQwEAAUkBNgL/AZ8BNgFX + ATUBVwEbAv8BVQFJAgABSgEyAfYBegHDAfYBwwJZAnoB9gEsAUQGAAT/AQcF/wEAAUMBuwEJAbsBsgKz + AbQBswGsAbQDCQG7AUMBAAFKATYB9gL/AX0CVgGfAv8B9gFVAUkCAAFKATIB9gJ6AcMBMgE4AVkCegH2 + ASwBRAYABP8B+QX/AQABQwG7Ad0BtAGyAQkBsgGzAbQBrQG0AwkBuwFDAQABSgE6AfYC/wNWAXgC/wH2 + AVUBSQIAAUoBMgH2AXoEMgFZAnoB9gEsAUQGAAQHAfkBBwT/AQABQwEJARkBswGyARkBsgGsAbsBswGt + AwkBuwFDAQABSgE6AfYB/wGXAVUBlwFWAVUBmAH/AfYBVQFJAgABSgEyAfYBegb2AZoB9gEsAUQBAAsB + Af8DBwEAAUMBCQHzArMB8wGyAawBCQGtAawC8wEZAQkBQwEAAUoBOgH2AfQCmALzApgB9AH2AVYBSQIA + AUoBMgH2AcMGGgHDAfYBLAFEAQABAQL5Af8B+QP/A/kBBwLsAf8BAAFDAQkB9AGzAboB9AG0AbMBGQKt + ARkC9AEJAUMBAAFKATsB9gj/AfYBVgFJAgABSgE4AfYI/wH2ASwBRAEAA/kF/wP5AQcC/wIAARIBugz/ + AQkBQwEAAUoBOwFdB34BfQF4AVYBSQIAAUoBOAFZCHoBUwEsAUQBAAv5AQcB/wMAAe8BiwG7CxkBCQFD + AQABbQE2AzsDOgM2ATUBVgFtAgAB6wEyAjgIMgEsAesGAAX/AgcEAAH/AREBiwGtCbMCrQEUAQAB9AES + AUgIKAFJARIB9AIAAfQB6gMkBCoDJAHqAfQSAAH0AesKDwIOAZIDAAr/BgAK/wMAAUIBTQE+BwABPgMA + ASgDAAFAAwABMAMAAQEBAAEBBQABgAEBFgAD/4EAAfwBPwL/AcABAwH/AT8B8AEPAgABgAEBAfwBDwHg + AQcCAAGAAQEB8AEDAcABAwIAAYABAQHgAQEBgAEBAgABgAEBAYABAwGAAQECAAGAAQEBAAEPBAABgAEB + AQABBwQAAYABAQGAAQcEAAGAAQEBgAEDBAABgAEBAcABAwQAAYABAQHAAQEBgAEBAgABgAEBAeABAQGA + AQECAAGAAQMB4AEAAcABAwIAAYABBwHwAQMB4AEHAv8BgAEPAfABAwHwAQ8C/wHAAR8B8AH/AfgDAAHg + AQcB4AEHAfgDAAGAAQEBgAEBAfgDAAGAAQEBgAEBAfgDAAGAAQEBgAEBAfgDAAGAAQEBgAEBAfgDAAGA + AQEBgAEBAfgDAAGAAQEBgAEBAfgDAAGAAQEBgAEBAfgDAAGAAQEBgAEBBAABgAEBAYABAQQAAYABAQGA + AQEBAAEBAgABgAEBAYABAQEAAQMCAAGAAQEBgAEBAQABBwIAAYABAQGAAQEB+AEPAgABgAEBAYABAQL/ + AYABAAHgAQcB4AEHCw== + + + + 913, 56 + + + + iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAA0SURBVChTdYkBCgAgDAL9/6eLIsd0eSCKhw/r9aCLtC88 + vAdHMEIXKUIUhMK76EfagglgA6CqHOQpL6GyAAAAAElFTkSuQmCC + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj0yLjAuMC4wLCBDdWx0 + dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACRTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5QYWdlU2V0dGluZ3MHAAAAD3ByaW50ZXJTZXR0aW5ncwVjb2xvcglwYXBlclNp + emULcGFwZXJTb3VyY2URcHJpbnRlclJlc29sdXRpb24JbGFuZHNjYXBlB21hcmdpbnMEBAQEBAQEJ1N5 + c3RlbS5EcmF3aW5nLlByaW50aW5nLlByaW50ZXJTZXR0aW5ncwIAAAAgU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuVHJpU3RhdGUCAAAAIVN5c3RlbS5EcmF3aW5nLlByaW50aW5nLlBhcGVyU2l6ZQIAAAAjU3lz + dGVtLkRyYXdpbmcuUHJpbnRpbmcuUGFwZXJTb3VyY2UCAAAAKVN5c3RlbS5EcmF3aW5nLlByaW50aW5n + LlByaW50ZXJSZXNvbHV0aW9uAgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAf + U3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuTWFyZ2lucwIAAAACAAAACQMAAAAF/P///yBTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5UcmlTdGF0ZQEAAAAFdmFsdWUAAgIAAAAACgoKAfv////8////AAkGAAAABQMA + AAAnU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRlclNldHRpbmdzEgAAAAtwcmludGVyTmFtZQpk + cml2ZXJOYW1lCm91dHB1dFBvcnQLcHJpbnRUb0ZpbGUUcHJpbnREaWFsb2dEaXNwbGF5ZWQKZXh0cmFi + eXRlcwlleHRyYWluZm8GY29waWVzBmR1cGxleAdjb2xsYXRlE2RlZmF1bHRQYWdlU2V0dGluZ3MIZnJv + bVBhZ2UGdG9QYWdlB21heFBhZ2UHbWluUGFnZQpwcmludFJhbmdlDGRldm1vZGVieXRlcw1jYWNoZWRE + ZXZtb2RlAQEBAAAABwAEBAQAAAAABAAHAQEHAgceU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuRHVwbGV4 + AgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAkU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuUGFnZVNldHRpbmdzAgAAAAgICAgiU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRSYW5n + ZQIAAAAHAgIAAAAKBgcAAAAACQcAAAAAAAAACv//Bfj///8eU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcu + RHVwbGV4AQAAAAd2YWx1ZV9fAAgCAAAA/////wH3/////P///wAJCgAAAAAAAAAAAAAADycAAAAAAAAF + 9f///yJTeXN0ZW0uRHJhd2luZy5QcmludGluZy5QcmludFJhbmdlAQAAAAd2YWx1ZV9fAAgCAAAAAAAA + AAAACgUGAAAAH1N5c3RlbS5EcmF3aW5nLlByaW50aW5nLk1hcmdpbnMIAAAABGxlZnQFcmlnaHQDdG9w + BmJvdHRvbQpkb3VibGVMZWZ0C2RvdWJsZVJpZ2h0CWRvdWJsZVRvcAxkb3VibGVCb3R0b20AAAAAAAAA + AAgICAgGBgYGAgAAAGQAAABkAAAAZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZ + QAEKAAAAAQAAAAkDAAAAAfP////8////AAoKCgHy/////P///wAJDwAAAAEPAAAABgAAAGQAAABkAAAA + ZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAs= + + + + <?xml version="1.0"?><Blob><Styles type="C1.Win.C1TrueDBGrid.Design.ContextWrapper"><Data>HighlightRow{ForeColor:HighlightText;BackColor:Highlight;}Style8{}Style7{}EvenRow{BackColor:White;}Normal{}RecordSelector{AlignImage:Center;}Inactive{ForeColor:InactiveCaptionText;BackColor:InactiveCaption;}Style4{}OddRow{BackColor:224, 224, 224;}Style3{}Footer{}Style14{}Heading{ForeColor:ControlText;Border:Flat,ControlDark,0, 1, 0, 1;AlignVert:Center;BackColor:Control;Wrap:True;}Style5{}Editor{}Style10{AlignHorz:Near;}Style16{}Selected{ForeColor:HighlightText;BackColor:Highlight;}Style15{}Style13{}Style12{}Style11{}Group{Border:None,,0, 0, 0, 0;AlignVert:Center;BackColor:ControlDark;}Style9{}FilterWatermark{ForeColor:InfoText;BackColor:Info;}Style6{}Style1{}Caption{AlignHorz:Center;}Style2{}FilterBar{BackColor:255, 255, 192;}</Data></Styles><Splits><C1.Win.C1TrueDBGrid.MergeView Name="" AlternatingRowStyle="True" CaptionHeight="17" ColumnCaptionHeight="17" ColumnFooterHeight="17" FetchRowStyles="True" FilterBar="True" MarqueeStyle="DottedCellBorder" RecordSelectorWidth="17" DefRecSelWidth="17" VerticalScrollGroup="1" HorizontalScrollGroup="1"><CaptionStyle parent="Style2" me="Style10" /><EditorStyle parent="Editor" me="Style5" /><EvenRowStyle parent="EvenRow" me="Style8" /><FilterBarStyle parent="FilterBar" me="Style13" /><FilterWatermarkStyle parent="FilterWatermark" me="Style14" /><FooterStyle parent="Footer" me="Style3" /><GroupStyle parent="Group" me="Style12" /><HeadingStyle parent="Heading" me="Style2" /><HighLightRowStyle parent="HighlightRow" me="Style7" /><InactiveStyle parent="Inactive" me="Style4" /><OddRowStyle parent="OddRow" me="Style9" /><RecordSelectorStyle parent="RecordSelector" me="Style11" /><SelectedStyle parent="Selected" me="Style6" /><Style parent="Normal" me="Style1" /><ClientRect>0, 0, 623, 292</ClientRect><BorderSide>0</BorderSide></C1.Win.C1TrueDBGrid.MergeView></Splits><NamedStyles><Style parent="" me="Normal" /><Style parent="Normal" me="Heading" /><Style parent="Heading" me="Footer" /><Style parent="Heading" me="Caption" /><Style parent="Heading" me="Inactive" /><Style parent="Normal" me="Selected" /><Style parent="Normal" me="Editor" /><Style parent="Normal" me="HighlightRow" /><Style parent="Normal" me="EvenRow" /><Style parent="Normal" me="OddRow" /><Style parent="Heading" me="RecordSelector" /><Style parent="Normal" me="FilterBar" /><Style parent="FilterBar" me="FilterWatermark" /><Style parent="Caption" me="Group" /></NamedStyles><vertSplits>1</vertSplits><horzSplits>1</horzSplits><Layout>None</Layout><DefaultRecSelWidth>17</DefaultRecSelWidth><ClientArea>0, 0, 623, 292</ClientArea><PrintPageHeaderStyle parent="" me="Style15" /><PrintPageFooterStyle parent="" me="Style16" /></Blob> + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAJESURBVDhPY6AJkAzkZQyc77K/+XDN/abD1ff9pjkugUoRBwRdOZiDVnu/mXtj7v/Z12f/d59k + fw4qRRwQcGNj9l/t+mbylYn/J1zp++88yeo8VIo4IOTHxhywzv5N75WW/91XGv87TzHFbYBChxCTxUJN + G+911vb+623tAzfY2Fv1qTkFb7H80HW1/H/HlZL/rvP0bzvO03Hw3WBh77Xewt5lnam9wUJlK7ABovmc + Jrknkv/3XW36P/F6w/9JN+v+T7lV87/7Rt7/juuZ/1uvpf/vvJ77v/t60f+2KwX/Gy7m/a88l/0/YK/r + f4EEDmUG8TwuiyqgQP/1WqDmqv9Tblf8n3qn9H/7zbj/bTej/7fcjPjfdSv5f8/NrP/t19P/N1xO/V95 + Pvl/2EHn/wLhbOoMwhksFhE7BP+nHRL+n3tS6H/hGaH/BWcE/9dcM/vffsfnf+sdz//ll3X+55/m/58H + xFnH+f8nHeD777uV6z9/EJM6A5cDg7RkAsNm+RSGbYppDNuU0xm2KQFx2im5n50PbP+3P7D6H7ZT/ANI + TCkDqAZIy6UybBNPYNjAZcMgBA4HRgEGRiZBBBa0YWCJPM70pu4xx/+6x1z/3VeynBf1ZkRRwyjEwAjW + jA1IRTMwJ55jeNPxiuE/CPusYyAtHUhHszDnXhJ4s+CT/P/5H+X/h23iI80AkUBW5qS9um/mPPT4D8IB + izVIM4DTkoFJOo9hh2EHww0QFk9kmAeVIh4wiTKwMAkzsIOxOAMzVBgNMDAAAKxQ9nEjnr92AAAAAElF + TkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAILSURBVDhPlY9fSFNRHMfPgxS19WCWxNL+XcvBojIfkp4s6A9FU5IR9CKO3kz650NRMIfZUw9B + GdiD/VvcuNfi3rs125xeS0f1kmgRujbJtmq3bbmpRCvmtzM4j93NPvCBc87ve36/c8hSGOQ4edRsvsS2 + /4f/mPXWDULQW1qKIY57N2I2r2Wl4uQmu+smpkNwX+nCddqkx2DAE5MJYxx3hEUKszh+MZHur0U8dAfh + KQ09m7bgZkkJlLKyyyyiD8LXHvwYOIy4XI3YI4IvAwcQ+pbAs7YLn1hEH0S6DqWHbYi7LbQBh1jfaiS8 + NfgqLEPkvVjNYv9mxte6/NfrU1mNTk769iEqrkLKV08bVSEXMLaxmD6YOBfQPBak/AfpC7bTybVIPN+L + OW95kEX0Qei8Pemtw3fPLsyqNmj0C7NDjUh6ti1O8+VGFtMn96E7qnlqsPDqNBL9e5AZPokknY6XW4+z + SGGyk/eQnpKQftuJzGADnW7Fnxe7+1i5MLc7WwzQJMx9fIr5zyoWogH8DFrnWbk4GzeYLCca65GJuJHV + gsDvsJCMvVnDysWpqKw8umKlERWmdUpqZmQ9O14aqqpudjgcHU6n8+pDl8vWe/d+M88/bpUkqZ2ZX9tl + WW6hNimKst/v91ex64SIoriD5/kGarPL5TpDbad2UB3M/Dp/dpZqpzYJgrCTEEL+AvafJSmzjqndAAAA + AElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAJ0SURBVDhPdZPNTxphEMb35DeCioAgYPhGFPzCjxiNJurBxGiC+g940Zsa/w+u3ji3VdfWGlyw + WO3uIqb1pTWx1V5M2nhp00PTpMen865gsdhJ5rLwm2eemXmFYuSXluJnsZi4azYbCp/KQmxpMZzOzYnK + 9HS88OkuLlZWErebm3g7P49UKMR2LZayIgWYfdrYgDw4iHQwmNB+4MoaHItBHR+HMjoKKRBgHND+QLFj + tRqyHF5fhxKNQu7p0TLl98cF3jZXLsLK8DDkoSFIPh/boSL38NoalN5eKF1d93ng8YjCc/LM2y6F5f5+ + yH19OPB6WXZ2ll2trkIlRTUSgRoOI0speTxsm4prLXLPvO1SWCGAq3xcXka2u1uDTilznZ2Q3G62bbM9 + nBP3zNsuhbmiEghAbmuD4nRCpUwRvPUvXAzumbctk9Kx3Y5MfT1eU54YDFCamnBgsbCt1tbHYR58YMrU + FGMzM3hVV6fBbxoaoBqNyJlMSNls7Nn/CnB1meD84iIOCTwqgc/MZryzWvHe4UDG4WBP7fZy//LkJMsv + LCBNyhnKY71eaztH8LnNhg/k/9LlwpXXi2OX62+RIswIlmprka6pwZFOp6lzz2lqmytfut347PfjJhTC + F5qRQgN/4nAYBHliQjynQ0pWV0OqqsIhFeHekyaTNjDuOeN0smufDzcdHbillX6ja/xO684Gg6JwNDAQ + 36+sRLKiAikqwoe339z8YFW83RNa31daKwd/0sH9GhlBPhy+e1QvdLpEscBLo7H8SCh4EdXvZz/oIf0e + G8N1NHr3mIqxp9fH9xobxfvzfCS451x7u3gRiRSesyD8Adwnbx6z9nmyAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAJXSURBVDhPjZJLTxNRHMW7catL407j0pi4cGNiYuLKaAJ+Aj+BMca4MDEwtLRDSwu0jaVYC2mF + YhENIdQ+hEaUJtiKgXZop0Kh70551PRFWunieGc6BCdg9CQnmcz9n9+dc+fKjkTJlWe6KMVthZLu7FWp + T1jeS3f2KFTXxXGpyMLZ0TFbuFgsolar/dVbW9sYHDLaxdixeuSqh41GA61W65+Ox39A0UtfFaNtGYwm + qtls4ti/cHh4KJh//nMtly9Aox28JUbb0hNA/eAAvGv1OliyiysQgnd5RdjxaI13OpM9CRgyvKAqlarQ + Mxpj8WDSj2smL+7bF6HxhcCycVSrNfAz28kU1P0DUgA5GKpU+olyuYJR3xIuDfvQMb6EuWgOpkAc7xeX + BQA/s7mZQJ9GJwXoBg1UcWcX+6USTO7PuGj24YbFD/n8Oh7NfodjIYBypQJ+hq9H92mlAO2AnuIPZ2d3 + D6tMFDdHXDhvcOOy0YMOqxtRUoEP8zPMegxKul8KIIdCJVNZ8M5kclgJM9B7AjB6lsBuJITe4QiDfIHD + 6hoDpUojBZBDoRJbSRw5m8sTWBqpdEYIOaemMTM7B69vHgz5wuERixRAq3UUG98k/U46lc5izuWG/fUk + ASwIEPKnlGK0LXLPu5l1lvQ73YnENgE4MO5wwvfRjw9uLziOuyfGZbInT5/d8X/6QnpGT3WEiQl3wWS2 + YMIxhel3M6RmrluMt/W8S/7Y/NK68cpq406zzT7BfQ2Gqm+cbxEMfqsWOO6KGP1/rYUj58htvLu3t3+h + /UYm+w0Lwmq9J5tBRwAAAABJRU5ErkJggg== + + + \ No newline at end of file diff --git a/ThemenDokumente/Dokumente.vb b/ThemenDokumente/Dokumente.vb new file mode 100644 index 0000000..657bbbc --- /dev/null +++ b/ThemenDokumente/Dokumente.vb @@ -0,0 +1,447 @@ +Imports System.ComponentModel +Imports System.Data.SqlClient +Imports System.Data.SqlTypes +Imports C1.Win.C1TrueDBGrid + +Public Class Dokumente + +#Region "Deklarationen" + + Dim SpaltenTitel As New Utils.Tabellenspalte + Dim dokumente As New DataTable + Dim Dokument As New DMS.clsDok +#End Region + +#Region "Properties" + Dim m_ConnectionString As String + _ + Public Property ConnectionString() As String + Get + ConnectionString = m_ConnectionString + End Get + Set(ByVal Value As String) + If m_ConnectionString <> Value Then + m_ConnectionString = Value + Globals.conn.sConnectionString = Value + Globals.sConnectionString = Value + End If + End Set + End Property + + Dim m_Themanr As Integer + _ + Public Property ThemaNr As Integer + Get + ThemaNr = m_Themanr + End Get + Set(value As Integer) + If m_Themanr <> value Then + m_Themanr = value + Try + Refresh_Dokumente() + Catch + End Try + End If + End Set + End Property + + Dim m_Doktype As Integer + _ + Public Property Doktype As Integer + Get + Doktype = m_Doktype + End Get + Set(value As Integer) + If m_Doktype <> value Then + m_Doktype = value + + End If + End Set + End Property + + Dim m_Mitarbeiternr As Integer + _ + Public Property Mitarbeiternr As Integer + Get + Mitarbeiternr = m_Mitarbeiternr + End Get + Set(value As Integer) + If m_Mitarbeiternr <> value Then + m_Mitarbeiternr = value + Globals.Mitarbeiternr = value + End If + End Set + End Property + + Dim m_TempFilePath As String + _ + Public Property TempFilePath As String + Get + TempFilePath = m_TempFilePath + End Get + Set(value As String) + If m_TempFilePath <> value Then + m_TempFilePath = value + Globals.TmpFilepath = value + End If + End Set + End Property + + Dim m_Show_Toolbar As Boolean = True + _ + Public Property Show_Toolbar() As Boolean + Get + Show_Toolbar = m_Show_Toolbar + End Get + Set(ByVal Value As Boolean) + If m_Show_Toolbar <> Value Then + m_Show_Toolbar = Value + Set_ShowToolbar() + End If + + End Set + End Property + Dim m_Show_Editfunctions As Boolean = True + _ + Public Property Show_Editfunctions() As Boolean + Get + Show_Editfunctions = m_Show_Editfunctions + End Get + Set(ByVal Value As Boolean) + If m_Show_Editfunctions <> Value Then + m_Show_Editfunctions = Value + Set_EditFunctions() + End If + + End Set + End Property +#End Region + + Sub Set_ShowToolbar() + If Me.Show_Toolbar = True Then Me.ToolStrip1.Visible = True Else Me.ToolStrip1.Visible = False + End Sub + + Sub Set_Editfunctions() + If Me.Show_Editfunctions = True Then + Me.ToolStripButton1.Visible = True + Me.ToolStripButton2.Visible = True + Me.ToolStripButton4.Visible = True + Me.NeuesDokumentToolStripMenuItem.Visible = True + Me.DokumentInformationenBearbeitenToolStripMenuItem.Visible = True + Me.DokumentLöschenToolStripMenuItem.Visible = True + Else + Me.ToolStripButton1.Visible = False + Me.ToolStripButton2.Visible = False + Me.ToolStripButton4.Visible = False + Me.NeuesDokumentToolStripMenuItem.Visible = False + Me.DokumentInformationenBearbeitenToolStripMenuItem.Visible = False + Me.DokumentLöschenToolStripMenuItem.Visible = False + + End If + End Sub + Sub New() + InitializeComponent() + 'Me.ConnectionString = "data source=shu00;initial catalog=ThemenManagement;persist security info=False;workstation id=SHU;packet size=4096;user id=sa;password=*shu29" + 'Me.Mitarbeiternr = 1 + 'Me.Doktype = 1 + 'Me.ThemaNr = 1 + 'Me.TempFilePath = "h:\tssettings\themenmgmt" + Try + Globals.conn.sConnectionString = Me.ConnectionString + Globals.sConnectionString = Me.ConnectionString + Catch + End Try + + Globals.Mitarbeiternr = Mitarbeiternr + Globals.TmpFilepath = TempFilePath + Set_ShowToolbar() + Set_Editfunctions() + End Sub + + + Public Sub Refresh_Dokumente() + Try + Dim filtertext As String = "none" + Try + filtertext = Me.C1Dokumente.Columns("Aktiv").FilterText + Catch ex As Exception + End Try + + Dim bm As Integer = 0 + bm = Me.C1Dokumente.Bookmark + + Me.C1Dokumente.Enabled = False + Get_Dokumente(Me.C1Dokumente, Me.ImageListeDocIcon, Me.Doktype) + + Me.SpaltenTitel.Spaltentitel_aktualisieren(Me.C1Dokumente, "Dokument", Me.dokumente) + If filtertext <> "none" Then Me.C1Dokumente.Columns("Aktiv").FilterText = filtertext + + Try + Me.C1Dokumente.Bookmark = bm + Catch ex As Exception + End Try + Me.C1Dokumente.Enabled = True + Catch + End Try + End Sub + + + +#Region "Dokumente" + + ''' + ''' Dokumente lesen und dem Grid übergeben + ''' + ''' C1TrueDBGrid mit Dokumente + ''' + ''' + Public Function Get_Dokumente(ByRef c1data As C1TrueDBGrid, Optional ByVal ImgList As ImageList = Nothing, Optional Doktype As Integer = 0) + Try + dokumente.Dispose() + dokumente = Nothing + Catch ex As Exception + + End Try + 'dokumente = Dokument.get + dokumente = Dokument.Get_Dokumente(Me.ThemaNr, Doktype) + c1data.DataSource = dokumente + c1data.DataMember = dokumente.TableName + If Not ImgList Is Nothing Then + Set_Imagevalues(c1data, ImgList) + End If + + End Function + + Private Sub Set_Imagevalues(ByRef c1data As C1TrueDBGrid, ByRef imglist As ImageList) + + Dim i As Integer + Dim s As String + For i = 0 To dokumente.Rows.Count - 1 + s = dokumente.Rows(i).Item("Filename") + If s = "" Then s = dokumente.Rows(i).Item("Bezeichnung") + If Len(s) < 4 Then s = ".div" + Select Case UCase(s.Substring(Len(s) - 4, 4)) + Case ".PDF" + dokumente.Rows(i).Item("DokIcon") = 0 + Case ".DOC", "DOCX", ".DOT", "DOTX" + dokumente.Rows(i).Item("DokIcon") = 1 + Case ".XLS", ".XLT", "XLSX", "XLTX" + dokumente.Rows(i).Item("DokIcon") = 2 + Case ".PPT", "PPTX" + dokumente.Rows(i).Item("DokIcon") = 3 + Case ".HTM", "TML", "XML" + dokumente.Rows(i).Item("DokIcon") = 4 + Case ".MSG" + dokumente.Rows(i).Item("DokIcon") = 5 + Case ".JPG", ".TIF" + dokumente.Rows(i).Item("DokIcon") = 7 + Case Else + If InStr(UCase(s), "WWW") > 0 Or InStr(UCase(s), "HTTP") Then + dokumente.Rows(i).Item("DokIcon") = 4 + Else + dokumente.Rows(i).Item("DokIcon") = 6 + End If + End Select + Next + + Dim bmp0 As New Bitmap(imglist.Images(0)) + Dim bmp1 As New Bitmap(imglist.Images(1)) + Dim bmp2 As New Bitmap(imglist.Images(2)) + Dim bmp3 As New Bitmap(imglist.Images(3)) + Dim bmp4 As New Bitmap(imglist.Images(4)) + Dim bmp5 As New Bitmap(imglist.Images(5)) + Dim bmp6 As New Bitmap(imglist.Images(6)) + Dim bmp7 As New Bitmap(imglist.Images(7)) + Dim v0 As New C1.Win.C1TrueDBGrid.ValueItem() + Dim v1 As New C1.Win.C1TrueDBGrid.ValueItem() + Dim v2 As New C1.Win.C1TrueDBGrid.ValueItem() + Dim v3 As New C1.Win.C1TrueDBGrid.ValueItem() + Dim v4 As New C1.Win.C1TrueDBGrid.ValueItem() + Dim v5 As New C1.Win.C1TrueDBGrid.ValueItem() + Dim v6 As New C1.Win.C1TrueDBGrid.ValueItem() + Dim v7 As New C1.Win.C1TrueDBGrid.ValueItem() + + v0.DisplayValue = bmp0 + v0.Value = 0 + + v1.DisplayValue = bmp1 + v1.Value = 1 + + v2.DisplayValue = bmp2 + v2.Value = 2 + + v3.DisplayValue = bmp3 + v3.Value = 3 + + v4.DisplayValue = bmp4 + v4.Value = 4 + + v5.DisplayValue = bmp5 + v5.Value = 5 + + v6.DisplayValue = bmp6 + v6.Value = 6 + + v7.DisplayValue = bmp7 + v7.Value = 7 + Try + c1data.Columns("DokIcon").ValueItems.Values.Add(v0) + c1data.Columns("DokIcon").ValueItems.Values.Add(v1) + c1data.Columns("DokIcon").ValueItems.Values.Add(v2) + c1data.Columns("DokIcon").ValueItems.Values.Add(v3) + c1data.Columns("DokIcon").ValueItems.Values.Add(v4) + c1data.Columns("DokIcon").ValueItems.Values.Add(v5) + c1data.Columns("DokIcon").ValueItems.Values.Add(v6) + c1data.Columns("DokIcon").ValueItems.Values.Add(v7) + c1data.Columns("DokIcon").ValueItems.Translate = True + Catch ex As Exception + MsgBox(ex.Message) + End Try + + + End Sub + ''' + ''' Kontakte auslesen und dem Truedbgrid übergeben + ''' + ''' TruedbGrid + ''' Vertragselement, für welches die Dokumente ausgelesen werden + ''' + ''' + Public Function Get_Dokumente(ByRef c1data As C1TrueDBGrid, ByVal Vertragselementnr As Integer, Optional ByVal ImgList As ImageList = Nothing) + 'Me.Get_Vertragselement(Vertragselementnr) + dokumente = Dokument.Get_Dokumente(Me.ThemaNr, 1) + + c1data.DataSource = dokumente + c1data.DataMember = dokumente.TableName + If Not ImgList Is Nothing Then + Me.Set_Imagevalues(c1data, ImgList) + End If + End Function + + Public Function Get_Dokumente(ByVal Themanr As Integer) As DataTable + + Return Dokument.Get_Dokumente(Themanr, Me.Doktype) + End Function + +#End Region + + Private Sub Dokumente_DragDrop(sender As Object, e As DragEventArgs) Handles C1Dokumente.DragDrop + Dim s() As String = e.Data.GetData("FileDrop", False) + Dim i As Integer + For i = 0 To s.Length - 1 + Dim f As New frmDokument(0, Me.Doktype, Me.ThemaNr, False, True, s(i)) + f.ShowDialog() + Next i + Me.Refresh_Dokumente() + End Sub + + Private Sub Dokumente_DragEnter(sender As Object, e As DragEventArgs) Handles Me.DragEnter + If (e.Data.GetDataPresent(DataFormats.FileDrop)) Then + e.Effect = DragDropEffects.All + Else + e.Effect = DragDropEffects.None + End If + End Sub + + Private Sub Dokumente_Load(sender As Object, e As EventArgs) Handles Me.Load + Me.Refresh_Dokumente() + End Sub + + Private Sub C1Dokumente_DoubleClick(sender As Object, e As EventArgs) Handles C1Dokumente.DoubleClick + Try + Me.DokumentanzeigenToolStripMenuItem_Click(sender, e) + Catch ex As Exception + + End Try + End Sub + + Private Sub C1Dokumente_MouseDown(sender As Object, e As MouseEventArgs) Handles C1Dokumente.MouseDown + Me.C1Dokumente.Bookmark = Me.C1Dokumente.RowContaining(e.Y) + End Sub + + Private Sub NeuesDokumentToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles NeuesDokumentToolStripMenuItem.Click + Try + Dim f As New frmDokument(0, Me.Doktype, Me.ThemaNr, False, True) + f.ShowDialog() + Me.Refresh_Dokumente() + Catch ex As Exception + End Try + + End Sub + + Private Sub DokumentLöschenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles DokumentLöschenToolStripMenuItem.Click + Try + If MsgBox("Dokument wirklich löschen?", vbYesNoCancel + vbQuestion) = MsgBoxResult.Yes Then + Dokument.Delete_Dokument(Me.C1Dokumente.Columns("Dokumentnr").Value) + Me.Refresh_Dokumente() + End If + Catch + End Try + + End Sub + + Private Sub DokumentanzeigenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles DokumentanzeigenToolStripMenuItem.Click + Try + Dokument.Show_Doc(Me.C1Dokumente.Columns("Dokumentnr").Value) + Catch + End Try + + End Sub + + Private Sub DokumentInformationenBearbeitenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles DokumentInformationenBearbeitenToolStripMenuItem.Click + Try + Dim f As New frmDokument(Me.C1Dokumente.Columns("Dokumentnr").Value, Me.Doktype, Me.ThemaNr, False, False) + 'f.MdiParent = Me + f.ShowDialog() + Me.Refresh_Dokumente() + Catch ex As Exception + End Try + + End Sub + + Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ToolStripButton1.Click + NeuesDokumentToolStripMenuItem_Click(sender, e) + End Sub + + Private Sub ToolStripButton4_Click(sender As Object, e As EventArgs) Handles ToolStripButton4.Click + DokumentInformationenBearbeitenToolStripMenuItem_Click(sender, e) + End Sub + + Private Sub ToolStripButton2_Click(sender As Object, e As EventArgs) Handles ToolStripButton2.Click + DokumentLöschenToolStripMenuItem_Click(sender, e) + End Sub + + Private Sub ToolStripButton3_Click(sender As Object, e As EventArgs) Handles ToolStripButton3.Click + DokumentanzeigenToolStripMenuItem_Click(sender, e) + End Sub + + Private Sub C1Dokumente_Click(sender As Object, e As EventArgs) Handles C1Dokumente.Click + + End Sub + + Private Sub C1Dokumente_DragEnter(sender As Object, e As DragEventArgs) Handles C1Dokumente.DragEnter + If e.Data.GetDataPresent(DataFormats.FileDrop) Then + e.Effect = DragDropEffects.All + End If + + End Sub + + Private Sub C1Dokumente_DragDrop(sender As Object, e As DragEventArgs) 'Handles C1Dokumente.DragDrop + If e.Data.GetDataPresent(DataFormats.FileDrop) Then + Dim MyFiles() As String + ' Assign the files to an array. + MyFiles = e.Data.GetData(DataFormats.FileDrop) + ' Display the file Name + 'TextBoxDrop.Text = MyFiles(0) + ' Display the file contents + Dim f As New frmDokument(0, Me.Doktype, Me.ThemaNr, False, True, MyFiles(0)) + f.ShowDialog() + Me.Refresh_Dokumente() + End If + + End Sub + + Private Sub ToolStrip1_ItemClicked(sender As Object, e As ToolStripItemClickedEventArgs) Handles ToolStrip1.ItemClicked + + End Sub +End Class diff --git a/ThemenDokumente/Klassen/Globals.vb b/ThemenDokumente/Klassen/Globals.vb new file mode 100644 index 0000000..010bb2e --- /dev/null +++ b/ThemenDokumente/Klassen/Globals.vb @@ -0,0 +1,8 @@ +Module Globals + Public Spaltendaten As New DataTable + Public sConnectionString As String + Public conn As New DB.clsConnectionProvider + Public ConnectionFileName As String = "" + Public Mitarbeiternr As Integer + Public TmpFilepath As String +End Module diff --git a/ThemenDokumente/Klassen/MySpalten.vb b/ThemenDokumente/Klassen/MySpalten.vb new file mode 100644 index 0000000..4ca16cd --- /dev/null +++ b/ThemenDokumente/Klassen/MySpalten.vb @@ -0,0 +1,432 @@ +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient +'* +' Object MyspaltenTitel +' +' Dieses Objekt liest die Daten aus der Tabelle Spalten und speichert diese in spaltendaten +' Die Daten werden fr die Spaltenbezeichnung der C1Datagrids verwendet +' +' Autor: Stefan Hutter +' Datum: 2.12.2002 +'* +Imports C1.Win.C1TrueDBGrid +Namespace Utils + + Public Class Tabellenspalte + Private m_table As String + Private m_field As String + Private m_spaltenname As String + Private m_locked As Boolean + Private m_Width As Integer + Private m_Order As Integer + Private m_alsHacken As Boolean + Private m_tiptext As String + Private m_numberformat As String + + Property ColWith() As Integer + Get + Return m_Width + End Get + Set(ByVal Value As Integer) + m_Width = Value + End Set + End Property + Property Order() As Integer + Get + Return m_Order + End Get + Set(ByVal Value As Integer) + m_Order = Value + End Set + End Property + Property Tabelle() As String + Get + Return m_table + End Get + Set(ByVal Value As String) + m_table = Value + End Set + End Property + Property Feld() As String + Get + Return m_field + End Get + Set(ByVal Value As String) + m_field = Value + End Set + End Property + Property spaltenname() As String + Get + Return m_spaltenname + End Get + Set(ByVal Value As String) + m_spaltenname = Value + End Set + End Property + Property locked() As Boolean + Get + Return m_locked + End Get + Set(ByVal Value As Boolean) + m_locked = Value + End Set + End Property + Property AlsHacken() As Boolean + Get + Return m_alsHacken + End Get + Set(ByVal Value As Boolean) + m_alsHacken = Value + End Set + End Property + Property TipText() As String + Get + Return m_tiptext + End Get + Set(ByVal Value As String) + m_tiptext = Value + End Set + End Property + Property Numberformat() As String + Get + Return m_numberformat + End Get + Set(ByVal value As String) + m_numberformat = value + End Set + End Property + Public Sub New() + + End Sub + Public Sub New(ByRef daten As Object, ByRef tablename As String, ByRef ds As DataSet) + Spaltentitel_aktualisieren(daten, tablename, ds) + End Sub + Public Function getspalte() + Try + Dim myspalten As New MySpaltenTitel() + myspalten.getspalte(Me.Tabelle, Me.Feld, Me.spaltenname, Me.locked, Me.ColWith, Me.Order, Me.AlsHacken, Me.TipText, Me.Numberformat) + Catch ex As Exception + MsgBox(ex.Message) + + End Try + End Function + + Public Function Spaltentitel_aktualisieren(ByRef daten As Object, ByRef tablename As String, ByRef ds As DataSet) + Dim anzcols As Integer + Dim i As Integer + Dim s As String + anzcols = daten.Splits(0).DisplayColumns.Count + Me.Tabelle = tablename + For i = 0 To daten.Columns.Count - 1 + s = daten.Columns(i).DataField + Me.Feld = s + Me.getspalte() + daten.Columns(i).Caption = Me.spaltenname + + If Me.ColWith = 0 Then + daten.Splits(0).DisplayColumns(i).Width = 0 + daten.Splits(0).DisplayColumns(i).Visible = False + Else + daten.Splits(0).DisplayColumns(i).Width = Me.ColWith + End If + + If Me.locked Then + daten.Splits(0).DisplayColumns(i).Locked = True + End If + + If Me.AlsHacken Then + daten.Columns(i).ValueItems.Presentation = C1.Win.C1TrueDBGrid.PresentationEnum.CheckBox + End If + + 'Prsentation von aktiv + If LCase(daten.Columns(i).DataField) = "aktiv" Then + daten.Columns(i).ValueItems.Presentation = C1.Win.C1TrueDBGrid.PresentationEnum.CheckBox + daten.Columns(i).ValueItems.DefaultItem = True + daten.Columns(i).DefaultValue = True + daten.Columns(i).FilterText = True + 'Dim items As C1.Win.C1TrueDBGrid.ValueItems = daten.Columns("aktiv").ValueItems + 'items.Values.Clear() + 'items.Values.Add(New C1.Win.C1TrueDBGrid.ValueItem("False", False)) ' unchecked + 'items.Values.Add(New C1.Win.C1TrueDBGrid.ValueItem("True", True)) ' checked + 'items.Values.Add(New C1.Win.C1TrueDBGrid.ValueItem("", "INDETERMINATE")) ' indeterminate state + + + End If + Select Case LCase(daten.Columns(i).DataField) + Case "erstellt_am", "erstelltam" + daten.Columns(i).DefaultValue = Now + End Select + If daten.Columns(i).DataType.Name = "DateTime" Then + daten.Columns(i).NumberFormat = "dd.MM.yyyy HH:mm:ss" + End If + If Me.Numberformat <> "" Then + daten.columns(i).numberformat = Me.Numberformat + End If + Next + ColumnOrder(tablename, daten) + daten.HeadingStyle.WrapText = False + End Function + + Public Function Spaltentitel_aktualisieren(ByRef daten As Object, ByRef tablename As String, ByRef dt As DataTable, Optional ByVal Aktiv_Spalte_True_Setzen As Boolean = True) + Dim anzcols As Integer + Dim i As Integer + Dim t As New DataTable() + Dim s As String + anzcols = daten.Splits(0).DisplayColumns.Count + t = dt + Me.Tabelle = tablename + For i = 0 To daten.Columns.Count - 1 + s = daten.Columns(i).DataField + 'If s = "ApplikationNr" Then + ' MsgBox("Hallo") + + 'End If + Me.Feld = s + Me.getspalte() + daten.Columns(i).Caption = Me.spaltenname + + If Me.ColWith = 0 Then + daten.Splits(0).DisplayColumns(i).Width = 0 + daten.Splits(0).DisplayColumns(i).Visible = False + Else + daten.Splits(0).DisplayColumns(i).Width = Me.ColWith + End If + + If Me.locked Then + daten.Splits(0).DisplayColumns(i).Locked = True + End If + + If Me.AlsHacken Then + daten.Columns(i).ValueItems.Presentation = C1.Win.C1TrueDBGrid.PresentationEnum.CheckBox + End If + + 'Prsentation von aktiv + If LCase(daten.Columns(i).DataField) = "aktiv" And Aktiv_Spalte_True_Setzen = True Then + daten.Columns(i).ValueItems.Presentation = C1.Win.C1TrueDBGrid.PresentationEnum.CheckBox + daten.Columns(i).ValueItems.DefaultItem = True + daten.Columns(i).DefaultValue = True + daten.Columns(i).FilterText = True + End If + Select Case LCase(daten.Columns(i).DataField) + Case "erstellt_am", "erstelltam" + daten.Columns(i).DefaultValue = Now + End Select + If daten.Columns(i).DataType.Name = "DateTime" Then + daten.Columns(i).NumberFormat = "dd.MM.yyyy HH:mm:ss" + End If + If Me.Numberformat <> "" Then + daten.columns(i).numberformat = Me.Numberformat + End If + Next + ColumnOrder(tablename, daten) + daten.HeadingStyle.WrapText = False + End Function + + Public Function Spaltentitel_aktualisieren_Optionaler_Aktiv_Filer(ByRef daten As Object, ByRef tablename As String, ByRef dt As DataTable, Optional ByVal Aktiv_Filter As String = "") + Dim anzcols As Integer + Dim i As Integer + Dim t As New DataTable() + Dim s As String + anzcols = daten.Splits(0).DisplayColumns.Count + t = dt + Me.Tabelle = tablename + For i = 0 To daten.Columns.Count - 1 + s = daten.Columns(i).DataField + + Me.Feld = s + Me.getspalte() + If Me.spaltenname = "" Then + daten.Splits(0).DisplayColumns(i).Width = 0 + Else + daten.Columns(i).Caption = Me.spaltenname + + If Me.ColWith = 0 Then + daten.Splits(0).DisplayColumns(i).Width = 0 + daten.Splits(0).DisplayColumns(i).Visible = False + Else + daten.Splits(0).DisplayColumns(i).Width = Me.ColWith + End If + + If Me.locked Then + daten.Splits(0).DisplayColumns(i).Locked = True + End If + + If Me.AlsHacken Then + daten.Columns(i).ValueItems.Presentation = C1.Win.C1TrueDBGrid.PresentationEnum.CheckBox + End If + + 'Prsentation von aktiv + If LCase(daten.Columns(i).DataField) = "aktiv" And Aktiv_Filter <> "" Then + daten.Columns(i).ValueItems.Presentation = C1.Win.C1TrueDBGrid.PresentationEnum.CheckBox + daten.Columns(i).ValueItems.DefaultItem = True + daten.Columns(i).DefaultValue = True + daten.Columns(i).FilterText = Aktiv_Filter + End If + Select Case LCase(daten.Columns(i).DataField) + Case "erstellt_am", "erstelltam" + daten.Columns(i).DefaultValue = Now + End Select + If daten.Columns(i).DataType.Name = "DateTime" Then + daten.Columns(i).NumberFormat = "dd.MM.yyyy HH:mm:ss" + End If + If Me.Numberformat <> "" Then + daten.columns(i).numberformat = Me.Numberformat + End If + End If + Next + ColumnOrder(tablename, daten) + daten.HeadingStyle.WrapText = False + End Function + ''' + ''' Sortierung der in der DB-Tabelle Spalaten festgelegten Reihenfolge + ''' + ''' + ''' + ''' + ''' + Public Function ColumnOrder(ByVal Tablename As String, ByRef Data As C1TrueDBGrid) + Dim spaltendata As DataTable = Globals.Spaltendaten + Dim dv() As DataRow + Dim dr As DataRow + Dim dc As New Collection + dv = spaltendata.Select("Tabelle='" & Tablename & "'", "Reihenfolge desc, Eintragnr") + For Each c As C1DisplayColumn In Data.Splits(0).DisplayColumns + dc.Add(c) + Next + While Data.Splits(0).DisplayColumns.Count > 0 + Data.Splits(0).DisplayColumns.RemoveAt(0) + End While + + For Each dr In dv + For Each e As C1DisplayColumn In dc + If e.Name = dr.Item(3) Then + Data.Splits(0).DisplayColumns.Insert(0, e) + End If + Next + Next + + End Function + End Class + + Public Class MySpaltenTitel + Private spaltendata As DataTable = Globals.Spaltendaten + Sub New() + load_data() + End Sub + + Sub dispose() + spaltendata.Dispose() + Me.dispose() + End Sub + + Public Function getspalte(ByVal tabelle As String, ByVal feld As String, ByRef spaltenname As String, ByRef locked As Boolean, _ + ByRef colwidth As Integer, ByRef order As Integer, ByRef alshacken As Boolean, ByRef tiptext As String, ByRef numberformat As String) + If spaltendata.Rows.Count = 0 Then load_data() + Dim dv() As DataRow + Dim dr As DataRow + dv = spaltendata.Select("Tabelle='" & tabelle & "' and tabellenspalte='" & feld & "'", "Reihenfolge, Eintragnr") + If dv.Length = 0 Then + spaltenname = "" + locked = True + colwidth = 0 + order = 0 + alshacken = False + tiptext = "" + numberformat = "" + End If + For Each dr In dv + spaltenname = dr.Item(3) + locked = dr.Item(4) + colwidth = dr.Item(6) + order = dr.Item(7) + alshacken = dr.Item(5) + tiptext = dr.Item(8) + numberformat = dr.Item(14).ToString + Next + 'Dim i As Integer + 'For i = 0 To spaltendata.Rows.Count - 1 + + ' If UCase(spaltendata.Rows(i).Item(1)) = UCase(tabelle) And UCase(spaltendata.Rows(i).Item(2)) = UCase(feld) Then + ' spaltenname = spaltendata.Rows(i).Item(3) + ' locked = spaltendata.Rows(i).Item(4) + ' colwidth = spaltendata.Rows(i).Item(6) + ' order = spaltendata.Rows(i).Item(7) + ' alshacken = spaltendata.Rows(i).Item(5) + ' tiptext = spaltendata.Rows(i).Item(8) + ' Exit Function + ' End If + 'Next + + End Function + + Public Sub load_data() + If Me.spaltendata.Rows.Count > 0 Then Exit Sub + Dim spalten As New Utils.clsSpalten() + spaltendata.Rows.Clear() + spalten.cpMainConnectionProvider = conn + spaltendata = spalten.Select_All_Aktiv + Globals.Spaltendaten = spaltendata + End Sub + End Class + + Public Class clsSpalten + Inherits DB.clsSpalten + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Public Function Select_All_Aktiv() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_spalten_SelectAll_Aktiv]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = New DataTable("spalten") + Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(0)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_spalten_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSpalten::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + End Class +End Namespace \ No newline at end of file diff --git a/ThemenDokumente/Klassen/MySysadmin.vb b/ThemenDokumente/Klassen/MySysadmin.vb new file mode 100644 index 0000000..d64addb --- /dev/null +++ b/ThemenDokumente/Klassen/MySysadmin.vb @@ -0,0 +1,491 @@ +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace TKB.VV.Sysadmin + + Public Class DomainTable + +#Region "Deklarationen" + + Dim UpdateCommand As New SqlCommand + Dim InsertCommand As New SqlCommand + Dim selectcommand As New SqlCommand + Dim BaseData As New DataSet + Dim connection As New SqlConnection() + Dim da As New SqlDataAdapter("", connection) + + Dim m_tablename As String + Property Tablename() As String + Get + Return m_tablename + End Get + Set(ByVal value As String) + m_tablename = value + End Set + End Property + + Dim m_selectproc As String + Property Select_Proc() As String + Get + Return "pr_" & Tablename & "_selectall" + End Get + Set(ByVal value As String) + m_selectproc = "pr_" & Tablename & "_selectall" + End Set + End Property + Property Update_Proc() As String + Get + Return "pr_" & Tablename & "_Update" + End Get + Set(ByVal value As String) + m_selectproc = "pr_" & Tablename & "_Update" + End Set + End Property + + Property Insert_Proc() As String + Get + Return "pr_" & Tablename & "_Insert" + End Get + Set(ByVal value As String) + m_selectproc = "pr_" & Tablename & "_Update" + End Set + End Property + + Property Select_Proc_Bottomtable() As String + Get + Return "pr_" & Tablename & "_selectall_bottomtable" + End Get + Set(ByVal value As String) + m_selectproc = "pr_" & Tablename & "_selectall_bottomtable" + End Set + End Property + Property Select_Proc_Bottomtable2() As String + Get + Return "pr_" & Tablename & "_selectall_bottomtable2" + End Get + Set(ByVal value As String) + m_selectproc = "pr_" & Tablename & "_selectall_bottomtable2" + End Set + End Property + Property Update_Proc_Bottomtable() As String + Get + Return "pr_" & Tablename & "_Update_bottomtable" + End Get + Set(ByVal value As String) + m_selectproc = "pr_" & Tablename & "_Update_bottomtable" + End Set + End Property + + Property Insert_Proc_Bottomtable() As String + Get + Return "pr_" & Tablename & "_Insert_bottomtable" + End Get + Set(ByVal value As String) + m_selectproc = "pr_" & Tablename & "_Update_bottomtable" + End Set + End Property + + Dim m_Tabledata As New DataSet + Property Tabledata() As DataSet + Get + Return m_Tabledata + End Get + Set(ByVal value As DataSet) + m_Tabledata = value + End Set + End Property + +#End Region + + ''' + ''' Tabellenname bernehmen und Daten ab DB laden + ''' + ''' + ''' + Sub New(ByVal tablename As String, Optional ByVal Fokus As Integer = 0, Optional ByVal Keyvalue As String = "") + Me.Tablename = tablename + If Keyvalue = "" Then + Load_Data() + Else + Load_Bootom_Table(tablename, Fokus, Keyvalue) + End If + End Sub + + Sub New(ByVal tablename As String, ByVal Fokus As Integer, ByVal Keyvalue As String, ByVal mitarbeiternr As Integer) + Me.Tablename = tablename + If Keyvalue = "" Then + Load_Data() + Else + Load_Data_MA_Fokus(tablename, Fokus, Keyvalue, mitarbeiternr) + End If + End Sub + + + Sub New(ByVal tablename As String, ByVal keyvalue As String, ByVal mitarbeiternr As Integer) + Me.Tablename = tablename + Load_Data_MA(tablename, keyvalue, mitarbeiternr) + End Sub + + Sub New(ByVal tablename As String, ByVal Focus As Integer, ByVal keyvalue As String, ByVal mitarbeiternr As Integer, ByVal Key2 As String) + Me.Tablename = tablename + Load_Data_2Key(tablename, keyvalue, mitarbeiternr, Key2) + End Sub + + + Public Sub Load_Data_MA(ByVal tablename As String, ByVal KeyValue As String, ByVal mitarbeiternr As Integer) + Tabledata.Tables.Clear() + Dim sqlcmd As New SqlCommand + sqlcmd.CommandText = Me.Select_Proc_Bottomtable + sqlcmd.Parameters.Add("@iErrorCode", SqlDbType.Int, 4) + sqlcmd.Parameters.Add("@Fokus", SqlDbType.Int, 4) + sqlcmd.Parameters.Add("@KeyValue", SqlDbType.VarChar, 255) + sqlcmd.Parameters.Add("@mitarbeiternr", SqlDbType.VarChar, 255) + sqlcmd.Parameters(0).Value = 0 + sqlcmd.Parameters(1).Value = 0 + sqlcmd.Parameters(2).Value = KeyValue + sqlcmd.Parameters(3).Value = Globals.Mitarbeiternr + + sqlcmd.CommandType = CommandType.StoredProcedure + sqlcmd.Connection = connection + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.SelectCommand = sqlcmd + da.Fill(Tabledata, "Domaintable") + Catch ex As Exception + Finally + connection.Close() + da.Dispose() + sqlcmd.Dispose() + End Try + End Sub + + Public Sub Load_Data_2Key(ByVal tablename As String, ByVal KeyValue As String, ByVal mitarbeiternr As Integer, ByVal KeyValue2 As String) + Tabledata.Tables.Clear() + Dim sqlcmd As New SqlCommand + sqlcmd.CommandText = Me.Select_Proc_Bottomtable2 + sqlcmd.Parameters.Add("@iErrorCode", SqlDbType.Int, 4) + sqlcmd.Parameters.Add("@Fokus", SqlDbType.Int, 4) + sqlcmd.Parameters.Add("@KeyValue", SqlDbType.VarChar, 255) + sqlcmd.Parameters.Add("@KeyValue2", SqlDbType.VarChar, 255) + sqlcmd.Parameters.Add("@mitarbeiternr", SqlDbType.VarChar, 255) + sqlcmd.Parameters(0).Value = 0 + sqlcmd.Parameters(1).Value = 0 + sqlcmd.Parameters(2).Value = KeyValue + sqlcmd.Parameters(3).Value = KeyValue2 + sqlcmd.Parameters(4).Value = Globals.Mitarbeiternr + + sqlcmd.CommandType = CommandType.StoredProcedure + sqlcmd.Connection = connection + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.SelectCommand = sqlcmd + da.Fill(Tabledata, "Domaintable") + Catch ex As Exception + Finally + connection.Close() + da.Dispose() + sqlcmd.Dispose() + End Try + End Sub + + Public Sub Load_Data_MA_Fokus(ByVal tablename As String, ByVal Fokus As Integer, ByVal KeyValue As String, ByVal mitarbeiternr As Integer) + Tabledata.Tables.Clear() + Dim sqlcmd As New SqlCommand + sqlcmd.CommandText = Me.Select_Proc_Bottomtable + sqlcmd.Parameters.Add("@iErrorCode", SqlDbType.Int, 4) + sqlcmd.Parameters.Add("@Fokus", SqlDbType.Int, 4) + sqlcmd.Parameters.Add("@KeyValue", SqlDbType.VarChar, 255) + sqlcmd.Parameters.Add("@mitarbeiternr", SqlDbType.VarChar, 255) + sqlcmd.Parameters(0).Value = 0 + sqlcmd.Parameters(1).Value = Fokus + sqlcmd.Parameters(2).Value = KeyValue + sqlcmd.Parameters(3).Value = Globals.Mitarbeiternr + + sqlcmd.CommandType = CommandType.StoredProcedure + sqlcmd.Connection = connection + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.SelectCommand = sqlcmd + da.Fill(Tabledata, "Domaintable") + Catch ex As Exception + Finally + connection.Close() + da.Dispose() + sqlcmd.Dispose() + End Try + End Sub + + 'Sub New() + 'End Sub + ''' + ''' Daten ab Datenbank laden + ''' + ''' + Public Overridable Sub Load_Data() + Tabledata.Tables.Clear() + + selectcommand.CommandText = Me.Select_Proc + selectcommand.Parameters.Add("@iErrorCode", SqlDbType.Int, 4) + selectcommand.Parameters(0).Value = 0 + + selectcommand.CommandType = CommandType.StoredProcedure + selectcommand.Connection = connection + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.SelectCommand = selectcommand + da.Fill(Tabledata, "Domaintable") + Catch ex As Exception + Finally + connection.Close() + da.Dispose() + selectcommand.Dispose() + End Try + End Sub + ''' + ''' Basis-Datentabelle laden. Diese wird fr die dynamische Generierung der Insert- und Update-Statements bentigt + ''' + ''' + Private Sub Load_BaseData() + BaseData.Tables.Clear() + Dim sqlcmd As New SqlCommand + + sqlcmd.CommandText = Me.Select_Proc + sqlcmd.Parameters.Add("@iErrorCode", SqlDbType.Int, 4) + sqlcmd.Parameters(0).Value = 0 + + sqlcmd.CommandType = CommandType.StoredProcedure + sqlcmd.Connection = connection + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.SelectCommand = sqlcmd + da.Fill(BaseData, "Basedata") + Catch ex As Exception + Finally + connection.Close() + da.Dispose() + sqlcmd.Dispose() + End Try + End Sub + + ''' + ''' Update-Statement dynamisch fr das UpdateCommand generieren + ''' + ''' + Private Sub Generate_Update_Statement() + Dim col As DataColumn + Dim col1 As DataColumn + Dim UseCol As Boolean = False + + UpdateCommand.CommandText = Me.Update_Proc + UpdateCommand.CommandType = System.Data.CommandType.StoredProcedure + UpdateCommand.Connection = connection + + UpdateCommand.Parameters.Clear() + For Each col In Me.Tabledata.Tables(0).Columns + UseCol = False + For Each col1 In Me.BaseData.Tables(0).Columns + If col.ColumnName = col1.ColumnName Then + UseCol = True + Exit For + End If + Next + If UseCol Then UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter(Get_Prefix(col) & col.ColumnName, Get_SqlDBType(col), Get_Data_Fieldlen(col), col.ColumnName)) + Next + UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@iErrorcode", SqlDbType.Int, 4)) + UpdateCommand.Parameters("@iErrorcode").Value = 0 + da.UpdateCommand = UpdateCommand + End Sub + ''' + ''' Insert-Statement dynamisch fr das InsertCommand generieren + ''' + ''' + Private Sub Generate_Insert_Statement() + Dim col As DataColumn + Dim col1 As DataColumn + Dim UseCol As Boolean = False + + InsertCommand.CommandText = Me.Insert_Proc + InsertCommand.CommandType = System.Data.CommandType.StoredProcedure + InsertCommand.Connection = connection + + InsertCommand.Parameters.Clear() + For Each col In Me.Tabledata.Tables(0).Columns + UseCol = False + For Each col1 In Me.BaseData.Tables(0).Columns + If col.ColumnName = col1.ColumnName Then + UseCol = True + Exit For + End If + Next + If UseCol Then InsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter(Get_Prefix(col) & col.ColumnName, Get_SqlDBType(col), Get_Data_Fieldlen(col), col.ColumnName)) + Next + InsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@iErrorcode", SqlDbType.Int, 4)) + InsertCommand.Parameters("@iErrorcode").Value = 0 + da.InsertCommand = InsertCommand + End Sub + ''' + ''' Prefixt fr den SP-bergabeparameter generieren + ''' + ''' Aktuelle Columnt + ''' Prefis fr SP-bergabeparameter + ''' + Private Function Get_Prefix(ByVal col As DataColumn) As String + If col.DataType.Name = "DateTime" Then Return "@da" + If col.DataType.Name = "Double" Then Return "@f" + Return "@" & col.DataType.Name.Substring(0, 1) + End Function + ''' + ''' SQL-DB-Type fr den SP-bergabeparameter festlegen + ''' + ''' Aktuelle Column + ''' SQLDBType + ''' + Private Function Get_SqlDBType(ByVal col As DataColumn) As SqlDbType + If col.DataType.Name = "Integer" Then Return SqlDbType.Int + If col.DataType.Name = "Int32" Then Return SqlDbType.Int + If col.DataType.Name = "String" Then Return SqlDbType.VarChar + If col.DataType.Name = "Boolean" Then Return SqlDbType.Bit + If col.DataType.Name = "DateTime" Then Return SqlDbType.DateTime + If col.DataType.Name = "Double" Then Return SqlDbType.Float + MsgBox(col.DataType.Name) + End Function + + ''' + ''' Feldlnge fr den SP-bergabeparemter festlegen + ''' + ''' Aktulle Column + ''' Feldlnge + ''' + Private Function Get_Data_Fieldlen(ByVal col As DataColumn) As Integer + Return col.MaxLength + End Function + + ''' + ''' Datesichern. Dabei wird das Update- sowie das Insert-Statement dynamisch generiert + ''' + ''' + Public Sub Save_Data() + Load_BaseData() + Generate_Update_Statement() + Generate_Insert_Statement() + Try + da.Update(Me.Tabledata, Me.Tabledata.Tables(0).TableName) + + Catch ex As Exception + MsgBox(ex.Message) + End Try + End Sub + ''' + ''' Dispose von Tabledata + ''' + ''' + Public Sub dispose() + Me.Tabledata.Dispose() + End Sub + +#Region "Verknpfungseditor" + ''' + ''' Load der Verbindungstabelle + ''' + ''' + ''' + ''' + ''' + Public Sub Load_Bootom_Table(ByVal tablename As String, ByVal Fokus As Integer, ByVal KeyValue As String) + Tabledata.Tables.Clear() + Dim sqlcmd As New SqlCommand + sqlcmd.CommandText = Me.Select_Proc_bottomtable + sqlcmd.Parameters.Add("@iErrorCode", SqlDbType.Int, 4) + sqlcmd.Parameters.Add("@Fokus", SqlDbType.Int, 4) + sqlcmd.Parameters.Add("@KeyValue", SqlDbType.VarChar, 255) + sqlcmd.Parameters(0).Value = 0 + sqlcmd.Parameters(1).Value = Fokus + sqlcmd.Parameters(2).Value = KeyValue + + sqlcmd.CommandType = CommandType.StoredProcedure + sqlcmd.Connection = connection + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.SelectCommand = sqlcmd + da.Fill(Tabledata, "Domaintable") + Catch ex As Exception + Finally + connection.Close() + da.Dispose() + sqlcmd.Dispose() + End Try + End Sub + ''' + ''' Neuer Eintrag in der Tabelle eintragen. Sind neben den Defaultwerten weitere Attribute vorhanden, werde diese abhngig vom Datentype mit Defaultwerten befllt. + ''' + ''' + ''' + ''' + ''' + ''' + Public Sub Insert_Bottom_Table(ByVal key1 As String, ByVal keyvalue1 As Integer, ByVal key2 As String, ByVal keyvalue2 As String) + Dim dbkey As New db.clsMyKey_Tabelle + dbkey.cpMainConnectionProvider = Globals.conn + conn.OpenConnection() + Dim newkey As Integer = dbkey.get_dbkey(Me.Tablename) + conn.CloseConnection(True) + dbkey.Dispose() + Dim dr As DataRow + dr = Me.Tabledata.Tables(0).NewRow + dr.Item(0) = newkey + Dim i As Integer + For i = 1 To Me.Tabledata.Tables(0).Columns.Count - 1 + Select Case UCase(Me.Tabledata.Tables(0).Columns(i).ColumnName) + Case "AKTIV" + dr.Item(i) = 1 + Case "ERSTELLT_AM" + dr.Item(i) = Now + Case "MUTIERT_AM" + dr.Item(i) = Now + Case "MUTIERER" + dr.Item(i) = Globals.Mitarbeiternr + Case "MANDANTNR" + dr.Item(i) = Globals.Mitarbeiternr + Case "MANDANT" + dr.Item(i) = Globals.Mitarbeiternr + Case UCase(key1) + dr.Item(i) = keyvalue1 + Case UCase(key2) + dr.Item(i) = keyvalue2 + Case Else + Select Case Type.GetTypeCode(Me.Tabledata.Tables(0).Columns(i).DataType) + Case TypeCode.DateTime + dr.Item(i) = Now + Case TypeCode.Double + dr.Item(i) = 0 + Case TypeCode.String + dr.Item(i) = "" + Case TypeCode.Int32 + dr.Item(i) = 0 + Case TypeCode.Boolean + dr.Item(i) = True + Case TypeCode.Int16 + dr.Item(i) = 0 + Case TypeCode.Int32 + dr.Item(i) = 0 + Case TypeCode.Int64 + dr.Item(i) = 0 + End Select + End Select + Next + Me.Tabledata.Tables(0).Rows.Add(dr) + End Sub +#End Region + + + End Class + +End Namespace diff --git a/ThemenDokumente/Klassen/clsSpalten.vb b/ThemenDokumente/Klassen/clsSpalten.vb new file mode 100644 index 0000000..b2c1c8d --- /dev/null +++ b/ThemenDokumente/Klassen/clsSpalten.vb @@ -0,0 +1,630 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'spalten' +' // Generated by LLBLGen v1.21.2003.712 Final on: Dienstag, 1. Januar 2013, 13:15:45 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace db + ''' + ''' Purpose: Data Access class for the table 'spalten'. + ''' + Public Class clsSpalten + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bReadonly, m_bAlsHacken, m_bAktiv As SqlBoolean + Private m_daErstellt_am, m_daMutiert_am As SqlDateTime + Private m_iMandantnr, m_iMutierer, m_iReihenfolge, m_iEintragnr, m_iBreite As SqlInt32 + Private m_sTabelle, m_sNumberFormat, m_sTiptext, m_sSpalte, m_sTabellenspalte As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iEintragnr
  • + '''
  • sTabelle. May be SqlString.Null
  • + '''
  • sTabellenspalte. May be SqlString.Null
  • + '''
  • sSpalte. May be SqlString.Null
  • + '''
  • bReadonly
  • + '''
  • bAlsHacken
  • + '''
  • iBreite. May be SqlInt32.Null
  • + '''
  • iReihenfolge. May be SqlInt32.Null
  • + '''
  • sTiptext. May be SqlString.Null
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • sNumberFormat. May be SqlString.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_spalten_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@ieintragnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iEintragnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@stabelle", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTabelle)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@stabellenspalte", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTabellenspalte)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sspalte", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sSpalte)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bReadonly", SqlDbType.Bit, 1, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_bReadonly)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@balsHacken", SqlDbType.Bit, 1, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_bAlsHacken)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iBreite", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iBreite)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iReihenfolge", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iReihenfolge)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@stiptext", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTiptext)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sNumberFormat", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sNumberFormat)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_spalten_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSpalten::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iEintragnr
  • + '''
  • sTabelle. May be SqlString.Null
  • + '''
  • sTabellenspalte. May be SqlString.Null
  • + '''
  • sSpalte. May be SqlString.Null
  • + '''
  • bReadonly
  • + '''
  • bAlsHacken
  • + '''
  • iBreite. May be SqlInt32.Null
  • + '''
  • iReihenfolge. May be SqlInt32.Null
  • + '''
  • sTiptext. May be SqlString.Null
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • sNumberFormat. May be SqlString.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_spalten_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@ieintragnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iEintragnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@stabelle", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTabelle)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@stabellenspalte", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTabellenspalte)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sspalte", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sSpalte)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bReadonly", SqlDbType.Bit, 1, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_bReadonly)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@balsHacken", SqlDbType.Bit, 1, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_bAlsHacken)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iBreite", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iBreite)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iReihenfolge", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iReihenfolge)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@stiptext", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTiptext)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sNumberFormat", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sNumberFormat)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_spalten_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSpalten::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iEintragnr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_spalten_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@ieintragnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iEintragnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_spalten_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSpalten::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iEintragnr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iEintragnr
  • + '''
  • sTabelle
  • + '''
  • sTabellenspalte
  • + '''
  • sSpalte
  • + '''
  • bReadonly
  • + '''
  • bAlsHacken
  • + '''
  • iBreite
  • + '''
  • iReihenfolge
  • + '''
  • sTiptext
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
  • iMandantnr
  • + '''
  • sNumberFormat
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_spalten_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("spalten") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@ieintragnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iEintragnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_spalten_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iEintragnr = New SqlInt32(CType(dtToReturn.Rows(0)("eintragnr"), Integer)) + If dtToReturn.Rows(0)("tabelle") Is System.DBNull.Value Then + m_sTabelle = SqlString.Null + Else + m_sTabelle = New SqlString(CType(dtToReturn.Rows(0)("tabelle"), String)) + End If + If dtToReturn.Rows(0)("tabellenspalte") Is System.DBNull.Value Then + m_sTabellenspalte = SqlString.Null + Else + m_sTabellenspalte = New SqlString(CType(dtToReturn.Rows(0)("tabellenspalte"), String)) + End If + If dtToReturn.Rows(0)("spalte") Is System.DBNull.Value Then + m_sSpalte = SqlString.Null + Else + m_sSpalte = New SqlString(CType(dtToReturn.Rows(0)("spalte"), String)) + End If + m_bReadonly = New SqlBoolean(CType(dtToReturn.Rows(0)("Readonly"), Boolean)) + m_bAlsHacken = New SqlBoolean(CType(dtToReturn.Rows(0)("alsHacken"), Boolean)) + If dtToReturn.Rows(0)("Breite") Is System.DBNull.Value Then + m_iBreite = SqlInt32.Null + Else + m_iBreite = New SqlInt32(CType(dtToReturn.Rows(0)("Breite"), Integer)) + End If + If dtToReturn.Rows(0)("Reihenfolge") Is System.DBNull.Value Then + m_iReihenfolge = SqlInt32.Null + Else + m_iReihenfolge = New SqlInt32(CType(dtToReturn.Rows(0)("Reihenfolge"), Integer)) + End If + If dtToReturn.Rows(0)("tiptext") Is System.DBNull.Value Then + m_sTiptext = SqlString.Null + Else + m_sTiptext = New SqlString(CType(dtToReturn.Rows(0)("tiptext"), String)) + End If + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + If dtToReturn.Rows(0)("mandantnr") Is System.DBNull.Value Then + m_iMandantnr = SqlInt32.Null + Else + m_iMandantnr = New SqlInt32(CType(dtToReturn.Rows(0)("mandantnr"), Integer)) + End If + If dtToReturn.Rows(0)("NumberFormat") Is System.DBNull.Value Then + m_sNumberFormat = SqlString.Null + Else + m_sNumberFormat = New SqlString(CType(dtToReturn.Rows(0)("NumberFormat"), String)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSpalten::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_spalten_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("spalten") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_spalten_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSpalten::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iEintragnr]() As SqlInt32 + Get + Return m_iEintragnr + End Get + Set(ByVal Value As SqlInt32) + Dim iEintragnrTmp As SqlInt32 = Value + If iEintragnrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iEintragnr", "iEintragnr can't be NULL") + End If + m_iEintragnr = Value + End Set + End Property + + + Public Property [sTabelle]() As SqlString + Get + Return m_sTabelle + End Get + Set(ByVal Value As SqlString) + m_sTabelle = Value + End Set + End Property + + + Public Property [sTabellenspalte]() As SqlString + Get + Return m_sTabellenspalte + End Get + Set(ByVal Value As SqlString) + m_sTabellenspalte = Value + End Set + End Property + + + Public Property [sSpalte]() As SqlString + Get + Return m_sSpalte + End Get + Set(ByVal Value As SqlString) + m_sSpalte = Value + End Set + End Property + + + Public Property [bReadonly]() As SqlBoolean + Get + Return m_bReadonly + End Get + Set(ByVal Value As SqlBoolean) + Dim bReadonlyTmp As SqlBoolean = Value + If bReadonlyTmp.IsNull Then + Throw New ArgumentOutOfRangeException("bReadonly", "bReadonly can't be NULL") + End If + m_bReadonly = Value + End Set + End Property + + + Public Property [bAlsHacken]() As SqlBoolean + Get + Return m_bAlsHacken + End Get + Set(ByVal Value As SqlBoolean) + Dim bAlsHackenTmp As SqlBoolean = Value + If bAlsHackenTmp.IsNull Then + Throw New ArgumentOutOfRangeException("bAlsHacken", "bAlsHacken can't be NULL") + End If + m_bAlsHacken = Value + End Set + End Property + + + Public Property [iBreite]() As SqlInt32 + Get + Return m_iBreite + End Get + Set(ByVal Value As SqlInt32) + m_iBreite = Value + End Set + End Property + + + Public Property [iReihenfolge]() As SqlInt32 + Get + Return m_iReihenfolge + End Get + Set(ByVal Value As SqlInt32) + m_iReihenfolge = Value + End Set + End Property + + + Public Property [sTiptext]() As SqlString + Get + Return m_sTiptext + End Get + Set(ByVal Value As SqlString) + m_sTiptext = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + Dim bAktivTmp As SqlBoolean = Value + If bAktivTmp.IsNull Then + Throw New ArgumentOutOfRangeException("bAktiv", "bAktiv can't be NULL") + End If + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + + + Public Property [iMandantnr]() As SqlInt32 + Get + Return m_iMandantnr + End Get + Set(ByVal Value As SqlInt32) + m_iMandantnr = Value + End Set + End Property + + + Public Property [sNumberFormat]() As SqlString + Get + Return m_sNumberFormat + End Get + Set(ByVal Value As SqlString) + m_sNumberFormat = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/ThemenDokumente/My Project/Application.Designer.vb b/ThemenDokumente/My Project/Application.Designer.vb new file mode 100644 index 0000000..d4cdc1f --- /dev/null +++ b/ThemenDokumente/My Project/Application.Designer.vb @@ -0,0 +1,13 @@ +'------------------------------------------------------------------------------ +' +' Dieser Code wurde von einem Tool generiert. +' Laufzeitversion:4.0.30319.17929 +' +' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +' der Code erneut generiert wird. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + diff --git a/ThemenDokumente/My Project/Application.myapp b/ThemenDokumente/My Project/Application.myapp new file mode 100644 index 0000000..758895d --- /dev/null +++ b/ThemenDokumente/My Project/Application.myapp @@ -0,0 +1,10 @@ + + + false + false + 0 + true + 0 + 1 + true + diff --git a/ThemenDokumente/My Project/AssemblyInfo.vb b/ThemenDokumente/My Project/AssemblyInfo.vb new file mode 100644 index 0000000..05846c0 --- /dev/null +++ b/ThemenDokumente/My Project/AssemblyInfo.vb @@ -0,0 +1,34 @@ +Imports System +Imports System.Reflection +Imports System.Runtime.InteropServices + +' Allgemeine Informationen über eine Assembly werden über die folgenden +' Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern, +' die mit einer Assembly verknüpft sind. + +' Die Werte der Assemblyattribute überprüfen + + + + + + + + + + +'Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird + + +' Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten: +' +' Hauptversion +' Nebenversion +' Buildnummer +' Revision +' +' Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern +' übernehmen, indem Sie "*" eingeben: + + + diff --git a/ThemenDokumente/My Project/Resources.Designer.vb b/ThemenDokumente/My Project/Resources.Designer.vb new file mode 100644 index 0000000..9b11d9a --- /dev/null +++ b/ThemenDokumente/My Project/Resources.Designer.vb @@ -0,0 +1,63 @@ +'------------------------------------------------------------------------------ +' +' Dieser Code wurde von einem Tool generiert. +' Laufzeitversion:4.0.30319.17929 +' +' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +' der Code erneut generiert wird. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + +Imports System + +Namespace My.Resources + + 'Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert + '-Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert. + 'Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen + 'mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu. + ''' + ''' Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + ''' + _ + Friend Module Resources + + Private resourceMan As Global.System.Resources.ResourceManager + + Private resourceCulture As Global.System.Globalization.CultureInfo + + ''' + ''' Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + ''' + _ + Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager + Get + If Object.ReferenceEquals(resourceMan, Nothing) Then + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("ThemenDokumente.Resources", GetType(Resources).Assembly) + resourceMan = temp + End If + Return resourceMan + End Get + End Property + + ''' + ''' Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + ''' Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. + ''' + _ + Friend Property Culture() As Global.System.Globalization.CultureInfo + Get + Return resourceCulture + End Get + Set + resourceCulture = value + End Set + End Property + End Module +End Namespace diff --git a/ThemenDokumente/My Project/Resources.resx b/ThemenDokumente/My Project/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/ThemenDokumente/My Project/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ThemenDokumente/My Project/Settings.Designer.vb b/ThemenDokumente/My Project/Settings.Designer.vb new file mode 100644 index 0000000..f853e6d --- /dev/null +++ b/ThemenDokumente/My Project/Settings.Designer.vb @@ -0,0 +1,73 @@ +'------------------------------------------------------------------------------ +' +' Dieser Code wurde von einem Tool generiert. +' Laufzeitversion:4.0.30319.17929 +' +' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +' der Code erneut generiert wird. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + _ + Partial Friend NotInheritable Class MySettings + Inherits Global.System.Configuration.ApplicationSettingsBase + + Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings) + +#Region "Funktion zum automatischen Speichern von My.Settings" +#If _MyType = "WindowsForms" Then + Private Shared addedHandler As Boolean + + Private Shared addedHandlerLockObject As New Object + + _ + Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs) + If My.Application.SaveMySettingsOnExit Then + My.Settings.Save() + End If + End Sub +#End If +#End Region + + Public Shared ReadOnly Property [Default]() As MySettings + Get + +#If _MyType = "WindowsForms" Then + If Not addedHandler Then + SyncLock addedHandlerLockObject + If Not addedHandler Then + AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings + addedHandler = True + End If + End SyncLock + End If +#End If + Return defaultInstance + End Get + End Property + End Class +End Namespace + +Namespace My + + _ + Friend Module MySettingsProperty + + _ + Friend ReadOnly Property Settings() As Global.ThemenDokumente.My.MySettings + Get + Return Global.ThemenDokumente.My.MySettings.Default + End Get + End Property + End Module +End Namespace diff --git a/ThemenDokumente/My Project/Settings.settings b/ThemenDokumente/My Project/Settings.settings new file mode 100644 index 0000000..85b890b --- /dev/null +++ b/ThemenDokumente/My Project/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/ThemenDokumente/My Project/licenses.licx b/ThemenDokumente/My Project/licenses.licx new file mode 100644 index 0000000..6176bf7 --- /dev/null +++ b/ThemenDokumente/My Project/licenses.licx @@ -0,0 +1 @@ +C1.Win.C1TrueDBGrid.C1TrueDBGrid, C1.Win.C1TrueDBGrid.2, Version=2.0.20123.61277, Culture=neutral, PublicKeyToken=75ae3fb0e2b1e0da diff --git a/ThemenDokumente/ThemenDokumente.vbproj b/ThemenDokumente/ThemenDokumente.vbproj new file mode 100644 index 0000000..8c3250b --- /dev/null +++ b/ThemenDokumente/ThemenDokumente.vbproj @@ -0,0 +1,155 @@ + + + + + Debug + AnyCPU + {91C33E2D-DE28-4D17-B94B-240E51D2BCB9} + Library + ThemenDokumente + ThemenDokumente + 512 + Windows + v3.5 + + + + true + full + true + true + bin\Debug\ + ThemenDokumente.xml + _MYFORMS=True + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + pdbonly + false + true + true + bin\Release\ + ThemenDokumente.xml + _MYFORMS=True + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + On + + + Binary + + + Off + + + On + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + frmDokument.vb + + + Form + + + + + + True + Application.myapp + + + UserControl + + + Dokumente.vb + + + + True + True + Resources.resx + + + True + Settings.settings + True + + + + + + frmDokument.vb + + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + Dokumente.vb + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + + + + + + + + + \ No newline at end of file diff --git a/ThemenDokumente/bin/Debug/C1.Win.C1TrueDBGrid.2.dll b/ThemenDokumente/bin/Debug/C1.Win.C1TrueDBGrid.2.dll new file mode 100644 index 0000000..d4f4c46 Binary files /dev/null and b/ThemenDokumente/bin/Debug/C1.Win.C1TrueDBGrid.2.dll differ diff --git a/ThemenDokumente/bin/Debug/Layout01.xml b/ThemenDokumente/bin/Debug/Layout01.xml new file mode 100644 index 0000000..1e0bd57 --- /dev/null +++ b/ThemenDokumente/bin/Debug/Layout01.xml @@ -0,0 +1,33 @@ + + + + 70 + 130 + 180 + + + 255 + 255 + 255 + + + + 70 + 130 + 180 + + + 255 + 255 + 255 + + + + 255 + 255 + 255 + + 8.25 + + + diff --git a/ThemenDokumente/bin/Debug/ThemenDokumente.dll b/ThemenDokumente/bin/Debug/ThemenDokumente.dll new file mode 100644 index 0000000..241b2a3 Binary files /dev/null and b/ThemenDokumente/bin/Debug/ThemenDokumente.dll differ diff --git a/ThemenDokumente/bin/Debug/ThemenDokumente.pdb b/ThemenDokumente/bin/Debug/ThemenDokumente.pdb new file mode 100644 index 0000000..2157c4d Binary files /dev/null and b/ThemenDokumente/bin/Debug/ThemenDokumente.pdb differ diff --git a/ThemenDokumente/bin/Debug/ThemenDokumente.xml b/ThemenDokumente/bin/Debug/ThemenDokumente.xml new file mode 100644 index 0000000..ed80218 --- /dev/null +++ b/ThemenDokumente/bin/Debug/ThemenDokumente.xml @@ -0,0 +1,1226 @@ + + + + +ThemenDokumente + + + + + + Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + + + + + Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + + + + + Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. + + + + + Purpose: Data Access class for the table 'DokumentAblageort'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumentablageortNr
  • +
  • iDokumentablagetypNr. May be SqlInt32.Null
  • +
  • iDokumentNr. May be SqlInt32.Null
  • +
  • sAblageort. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • iMandantNr. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumentablageortNr
  • +
  • iDokumentablagetypNr. May be SqlInt32.Null
  • +
  • iDokumentNr. May be SqlInt32.Null
  • +
  • sAblageort. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • iMandantNr. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumentablageortNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumentablageortNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iDokumentablageortNr
  • +
  • iDokumentablagetypNr
  • +
  • iDokumentNr
  • +
  • sAblageort
  • +
  • sBeschreibung
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
  • bAktiv
  • +
  • iMandantNr
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'DokumentAblageTyp'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumentAblageTypNr
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • iMandantNr. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumentAblageTypNr
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • iMandantNr. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumentAblageTypNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumentAblageTypNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iDokumentAblageTypNr
  • +
  • sBezeichnung
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
  • bAktiv
  • +
  • iMandantNr
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'Dokumenttyp'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumenttypnr
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumenttypnr
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumenttypnr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumenttypnr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iDokumenttypnr
  • +
  • sBezeichnung
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
  • bAktiv
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'SpeicherTyp'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iSpeicherTypNr
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iSpeicherTypNr
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iSpeicherTypNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iSpeicherTypNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iSpeicherTypNr
  • +
  • sBezeichnung
  • +
  • sBeschreibung
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'Dokument'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumentNr
  • +
  • iKeyValue. May be SqlInt32.Null
  • +
  • iDokType. May be SqlInt32.Null
  • +
  • iDokumenttypNr. May be SqlInt32.Null
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • sFilename. May be SqlString.Null
  • +
  • sOriginalFilename_incl_Path. May be SqlString.Null
  • +
  • sVersion. May be SqlString.Null
  • +
  • sVersionsNr. May be SqlString.Null
  • +
  • daVersionsdatum. May be SqlDateTime.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • blobDocImage. May be SqlBinary.Null
  • +
  • iSpeichertypNr. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumentNr
  • +
  • iKeyValue. May be SqlInt32.Null
  • +
  • iDokType. May be SqlInt32.Null
  • +
  • iDokumenttypNr. May be SqlInt32.Null
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • sFilename. May be SqlString.Null
  • +
  • sOriginalFilename_incl_Path. May be SqlString.Null
  • +
  • sVersion. May be SqlString.Null
  • +
  • sVersionsNr. May be SqlString.Null
  • +
  • daVersionsdatum. May be SqlDateTime.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • blobDocImage. May be SqlBinary.Null
  • +
  • iSpeichertypNr. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumentNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumentNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iDokumentNr
  • +
  • iKeyValue
  • +
  • iDokType
  • +
  • iDokumenttypNr
  • +
  • sBezeichnung
  • +
  • sBeschreibung
  • +
  • sFilename
  • +
  • sOriginalFilename_incl_Path
  • +
  • sVersion
  • +
  • sVersionsNr
  • +
  • daVersionsdatum
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
  • bAktiv
  • +
  • blobDocImage
  • +
  • iSpeichertypNr
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'key_tabelle'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • sBeschreibung
  • +
  • iKey_wert
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iKeynr
  • +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKeynr
  • +
  • sBeschreibung
  • +
  • iKey_wert
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKeynr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKeynr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iKeynr
  • +
  • sBeschreibung
  • +
  • iKey_wert
  • +
  • iMandantnr
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'spalten'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iEintragnr
  • +
  • sTabelle. May be SqlString.Null
  • +
  • sTabellenspalte. May be SqlString.Null
  • +
  • sSpalte. May be SqlString.Null
  • +
  • bReadonly
  • +
  • bAlsHacken
  • +
  • iBreite. May be SqlInt32.Null
  • +
  • iReihenfolge. May be SqlInt32.Null
  • +
  • sTiptext. May be SqlString.Null
  • +
  • bAktiv
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • sNumberFormat. May be SqlString.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iEintragnr
  • +
  • sTabelle. May be SqlString.Null
  • +
  • sTabellenspalte. May be SqlString.Null
  • +
  • sSpalte. May be SqlString.Null
  • +
  • bReadonly
  • +
  • bAlsHacken
  • +
  • iBreite. May be SqlInt32.Null
  • +
  • iReihenfolge. May be SqlInt32.Null
  • +
  • sTiptext. May be SqlString.Null
  • +
  • bAktiv
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • sNumberFormat. May be SqlString.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iEintragnr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iEintragnr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iEintragnr
  • +
  • sTabelle
  • +
  • sTabellenspalte
  • +
  • sSpalte
  • +
  • bReadonly
  • +
  • bAlsHacken
  • +
  • iBreite
  • +
  • iReihenfolge
  • +
  • sTiptext
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
  • iMandantnr
  • +
  • sNumberFormat
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Dokument laden + + PersonNr + + + + + + Person sichern + + + + + + + Kopie eines Datensatzes erstellen. + + Ursprungs-Person: Ist dieser Wert nicht 0, werden die Daten mit BaseNr zuerst gelesen + + + + + + Datensatz inaktivieren + + Ursprungs-Person: Ist dieser Wert nicht 0, werden die Daten mit BaseNr zuerst gelesen + + + + + + Datensatz physisch löschen + + Ursprungs-Person: Ist dieser Wert nicht 0, werden die Daten mit BaseNr zuerst gelesen + + + + + + Neue Person einfügen + + + + + + + Dokumenttypen laden und in der Datatable Dokumenttypdaten bereit stellen + + + + + + + Datei im Dokument speichern + + + + + + + + + Klasse für das Speichern bzw. Auslesen von Image-Dateien in der Datenbank + + + Es werden folgende Datebanktabellen berücksichtigt: + + + Dokument Attribut DocImage + + Profile Attribut V_Uebersicht (Profillayout des C1TrueDBGrids der + Vertragsübersicht|Vertragselemente + + yes + + + + Grid-Layoutfile speichern + + C1Truedbgrind, von welchem das Layout gespeichert werden soll + Nummer des Grids: 1=Vertragsübersicht... + + + + + + Dokument in der Tabelle Dokument speichern + + Nummer des Dokument-Datensatzes + Zu speichender Dateiname + + + + + + Liest das Dokument aus der DB und speichert dieses unter einem temporären Filenamen ab + + + + + + + + Sortierung der in der DB-Tabelle Spalaten festgelegten Reihenfolge + + + + + + + + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Doktype + 1: Vertragselement + 2: Test-Drehbuch + 3: Applikationsdokument + 4: Applikationlogbuch + ö + + + + + Schliessen des Formulars + + + + + + + + Prüfung, ob Datenänderungen vorgenommen wurden. Beim Speichern werden ebenfalls allfällige Änderungen von C1DokumentAblagoeOrt durchgeführt. + Wurden lediglich Änderungen bei C1Dokumentablageort vorgenommen, wird separat gefrat, ob die Änderungen gespeichert werden sollen. + + + + + + + + Optionaler Parameter Dokumentnummer des aktuellen Dokuments + + + + + Formular-Load + + + + + + + + Formular schliessen + + + + + + + + Sicherungs-Button betätigt + + + + + + + + Datensatz kopieren + + + + + + + + Neuer Datensatz erstellen + + + + + + + + Aktueller Datensatz inaktivieren + + + + + + + + Menu Beenden + + + + + + + + Vertragspartner suchen + + + + + + + + Allg Eventhandler für Chanage-Ereignise festlegen + + + + + + + Envent-Handler für Change-Ereignisse + + + + + + + + Sucht in den Base-Controls sämtliche Controls mit dem Namen in "Key" (Wildcards * möglich) und listet + die gefundnen Controls in der Liste L zur weiteren Bearbeitung + + Base-Contrlo (z.B. aktuelles Formular + Schlüssel welcher gesucht werden soll + Liste der gefundenen Objekte + True wenn eines oder mehr Controls gefunden wurden, false wenn kein Control gefunden wurde. + + + + + + Handelt das Change-Ereignis eines Datetimepckers und stellt das ausgewählte Datum in das entsprechende Textfeld + + + + + + + + Daten ab DB laden uns ins Form befüllen + + + + + + + Daten ab Form speichern + + + + + + Auswahl des zu speichernden Dokumentes + + + + + + + + Dokument anzeigen + + + + + + + + Text-Change von Txt-Dateiname + + + + + + + + Tabellenname übernehmen und Daten ab DB laden + + + + + + + Daten ab Datenbank laden + + + + + + Basis-Datentabelle laden. Diese wird für die dynamische Generierung der Insert- und Update-Statements benötigt + + + + + + Update-Statement dynamisch für das UpdateCommand generieren + + + + + + Insert-Statement dynamisch für das InsertCommand generieren + + + + + + Prefixt für den SP-Übergabeparameter generieren + + Aktuelle Columnt + Prefis für SP-Übergabeparameter + + + + + SQL-DB-Type für den SP-Übergabeparameter festlegen + + Aktuelle Column + SQLDBType + + + + + Feldlänge für den SP-Übergabeparemter festlegen + + Aktulle Column + Feldlänge + + + + + Datesichern. Dabei wird das Update- sowie das Insert-Statement dynamisch generiert + + + + + + Dispose von Tabledata + + + + + + Load der Verbindungstabelle + + + + + + + + + Neuer Eintrag in der Tabelle eintragen. Sind neben den Defaultwerten weitere Attribute vorhanden, werde diese abhängig vom Datentype mit Defaultwerten befüllt. + + + + + + + + + + Dokumente lesen und dem Grid übergeben + + C1TrueDBGrid mit Dokumente + + + + + + Kontakte auslesen und dem Truedbgrid übergeben + + TruedbGrid + Vertragselement, für welches die Dokumente ausgelesen werden + + + +
+
diff --git a/ThemenDokumente/frmDokument.designer.vb b/ThemenDokumente/frmDokument.designer.vb new file mode 100644 index 0000000..0cd9a30 --- /dev/null +++ b/ThemenDokumente/frmDokument.designer.vb @@ -0,0 +1,551 @@ + _ +Partial Class frmDokument + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmDokument)) + Me.MenuStrip1 = New System.Windows.Forms.MenuStrip() + Me.DateiToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.BeendenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStrip1 = New System.Windows.Forms.ToolStrip() + Me.TSBtnQuit = New System.Windows.Forms.ToolStripButton() + Me.TSBtnSave = New System.Windows.Forms.ToolStripButton() + Me.TSBtnCopy = New System.Windows.Forms.ToolStripButton() + Me.TSBtnNew = New System.Windows.Forms.ToolStripButton() + Me.TSBtnDelete = New System.Windows.Forms.ToolStripButton() + Me.TSBtnSuche = New System.Windows.Forms.ToolStripButton() + Me.lblBeschreibung = New System.Windows.Forms.Label() + Me.txtBeschreibung = New System.Windows.Forms.TextBox() + Me.txtMutierer = New System.Windows.Forms.TextBox() + Me.txtMutiert_am = New System.Windows.Forms.TextBox() + Me.txtErstellt_am = New System.Windows.Forms.TextBox() + Me.lblMutierer = New System.Windows.Forms.Label() + Me.lblMutiert_am = New System.Windows.Forms.Label() + Me.lblErstelltam = New System.Windows.Forms.Label() + Me.cbaktiv = New System.Windows.Forms.CheckBox() + Me.dtPickerVersionsdatum = New System.Windows.Forms.DateTimePicker() + Me.txtVersionsdatum = New System.Windows.Forms.MaskedTextBox() + Me.lblVersionsdatum = New System.Windows.Forms.Label() + Me.txtBezeichnung = New System.Windows.Forms.TextBox() + Me.txtVersion = New System.Windows.Forms.TextBox() + Me.lblVersion = New System.Windows.Forms.Label() + Me.lblBezeichnung = New System.Windows.Forms.Label() + Me.lblDokumenttyp = New System.Windows.Forms.Label() + Me.cboxDokumenttyp = New System.Windows.Forms.ComboBox() + Me.txtFilename = New System.Windows.Forms.TextBox() + Me.lbldatei = New System.Windows.Forms.Label() + Me.OpenFileDialog1 = New System.Windows.Forms.OpenFileDialog() + Me.txtDateiname = New System.Windows.Forms.TextBox() + Me.txtOriginalFilename_incl_path = New System.Windows.Forms.TextBox() + Me.brnFileOpen = New System.Windows.Forms.Button() + Me.btnDokumentAnzeigen = New System.Windows.Forms.Button() + Me.lblEx = New System.Windows.Forms.Label() + Me.Panel1 = New System.Windows.Forms.Panel() + Me.Label1 = New System.Windows.Forms.Label() + Me.cbboxSpeicherung = New System.Windows.Forms.ComboBox() + Me.txtHyperlink = New System.Windows.Forms.TextBox() + Me.lblHyperlink = New System.Windows.Forms.Label() + Me.pnlDokument = New System.Windows.Forms.Panel() + Me.pnlHyperlink = New System.Windows.Forms.Panel() + Me.MenuStrip1.SuspendLayout() + Me.ToolStrip1.SuspendLayout() + Me.Panel1.SuspendLayout() + Me.pnlDokument.SuspendLayout() + Me.pnlHyperlink.SuspendLayout() + Me.SuspendLayout() + ' + 'MenuStrip1 + ' + Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DateiToolStripMenuItem}) + Me.MenuStrip1.Location = New System.Drawing.Point(0, 0) + Me.MenuStrip1.Name = "MenuStrip1" + Me.MenuStrip1.Size = New System.Drawing.Size(583, 24) + Me.MenuStrip1.TabIndex = 5 + Me.MenuStrip1.Tag = "" + Me.MenuStrip1.Text = "Hauptmenu" + ' + 'DateiToolStripMenuItem + ' + Me.DateiToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.BeendenToolStripMenuItem}) + Me.DateiToolStripMenuItem.Name = "DateiToolStripMenuItem" + Me.DateiToolStripMenuItem.Size = New System.Drawing.Size(46, 20) + Me.DateiToolStripMenuItem.Tag = "" + Me.DateiToolStripMenuItem.Text = "&Datei" + ' + 'BeendenToolStripMenuItem + ' + Me.BeendenToolStripMenuItem.Name = "BeendenToolStripMenuItem" + Me.BeendenToolStripMenuItem.Size = New System.Drawing.Size(120, 22) + Me.BeendenToolStripMenuItem.Tag = "" + Me.BeendenToolStripMenuItem.Text = "&Beenden" + ' + 'ToolStrip1 + ' + Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.TSBtnQuit, Me.TSBtnSave, Me.TSBtnCopy, Me.TSBtnNew, Me.TSBtnDelete, Me.TSBtnSuche}) + Me.ToolStrip1.Location = New System.Drawing.Point(0, 24) + Me.ToolStrip1.Name = "ToolStrip1" + Me.ToolStrip1.Size = New System.Drawing.Size(583, 25) + Me.ToolStrip1.TabIndex = 6 + Me.ToolStrip1.Text = "Toolstrip Vertragspartner" + ' + 'TSBtnQuit + ' + Me.TSBtnQuit.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnQuit.Image = CType(resources.GetObject("TSBtnQuit.Image"), System.Drawing.Image) + Me.TSBtnQuit.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnQuit.Name = "TSBtnQuit" + Me.TSBtnQuit.Size = New System.Drawing.Size(23, 22) + Me.TSBtnQuit.Text = "Fenster schliessen" + Me.TSBtnQuit.ToolTipText = "Fenster schliessen" + ' + 'TSBtnSave + ' + Me.TSBtnSave.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnSave.Image = CType(resources.GetObject("TSBtnSave.Image"), System.Drawing.Image) + Me.TSBtnSave.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnSave.Name = "TSBtnSave" + Me.TSBtnSave.Size = New System.Drawing.Size(23, 22) + Me.TSBtnSave.Text = "Daten speichern" + Me.TSBtnSave.ToolTipText = "Daten speichern" + ' + 'TSBtnCopy + ' + Me.TSBtnCopy.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnCopy.Image = CType(resources.GetObject("TSBtnCopy.Image"), System.Drawing.Image) + Me.TSBtnCopy.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnCopy.Name = "TSBtnCopy" + Me.TSBtnCopy.Size = New System.Drawing.Size(23, 22) + Me.TSBtnCopy.Text = "Datensatz kopieren" + Me.TSBtnCopy.ToolTipText = "Datensatz kopieren" + Me.TSBtnCopy.Visible = False + ' + 'TSBtnNew + ' + Me.TSBtnNew.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnNew.Image = CType(resources.GetObject("TSBtnNew.Image"), System.Drawing.Image) + Me.TSBtnNew.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnNew.Name = "TSBtnNew" + Me.TSBtnNew.Size = New System.Drawing.Size(23, 22) + Me.TSBtnNew.Text = "Neuer Datensatz" + Me.TSBtnNew.ToolTipText = "Neuer Datensatz" + ' + 'TSBtnDelete + ' + Me.TSBtnDelete.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnDelete.Image = CType(resources.GetObject("TSBtnDelete.Image"), System.Drawing.Image) + Me.TSBtnDelete.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnDelete.Name = "TSBtnDelete" + Me.TSBtnDelete.Size = New System.Drawing.Size(23, 22) + Me.TSBtnDelete.Text = "Datensatz inaktivieren" + Me.TSBtnDelete.ToolTipText = "Datensatz inaktivieren" + ' + 'TSBtnSuche + ' + Me.TSBtnSuche.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnSuche.Image = CType(resources.GetObject("TSBtnSuche.Image"), System.Drawing.Image) + Me.TSBtnSuche.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnSuche.Name = "TSBtnSuche" + Me.TSBtnSuche.Size = New System.Drawing.Size(23, 22) + Me.TSBtnSuche.Text = "ToolStripButton1" + Me.TSBtnSuche.Visible = False + ' + 'lblBeschreibung + ' + Me.lblBeschreibung.AccessibleDescription = "Name" + Me.lblBeschreibung.AutoSize = True + Me.lblBeschreibung.Location = New System.Drawing.Point(9, 33) + Me.lblBeschreibung.Name = "lblBeschreibung" + Me.lblBeschreibung.Size = New System.Drawing.Size(72, 13) + Me.lblBeschreibung.TabIndex = 155 + Me.lblBeschreibung.Text = "Beschreibung" + ' + 'txtBeschreibung + ' + Me.txtBeschreibung.Location = New System.Drawing.Point(98, 32) + Me.txtBeschreibung.Multiline = True + Me.txtBeschreibung.Name = "txtBeschreibung" + Me.txtBeschreibung.Size = New System.Drawing.Size(268, 73) + Me.txtBeschreibung.TabIndex = 2 + ' + 'txtMutierer + ' + Me.txtMutierer.BackColor = System.Drawing.SystemColors.InactiveBorder + Me.txtMutierer.Location = New System.Drawing.Point(463, 56) + Me.txtMutierer.Name = "txtMutierer" + Me.txtMutierer.ReadOnly = True + Me.txtMutierer.Size = New System.Drawing.Size(97, 20) + Me.txtMutierer.TabIndex = 153 + ' + 'txtMutiert_am + ' + Me.txtMutiert_am.BackColor = System.Drawing.SystemColors.InactiveBorder + Me.txtMutiert_am.Location = New System.Drawing.Point(463, 32) + Me.txtMutiert_am.Name = "txtMutiert_am" + Me.txtMutiert_am.ReadOnly = True + Me.txtMutiert_am.Size = New System.Drawing.Size(97, 20) + Me.txtMutiert_am.TabIndex = 152 + ' + 'txtErstellt_am + ' + Me.txtErstellt_am.BackColor = System.Drawing.SystemColors.InactiveBorder + Me.txtErstellt_am.Location = New System.Drawing.Point(463, 6) + Me.txtErstellt_am.Name = "txtErstellt_am" + Me.txtErstellt_am.ReadOnly = True + Me.txtErstellt_am.Size = New System.Drawing.Size(97, 20) + Me.txtErstellt_am.TabIndex = 151 + ' + 'lblMutierer + ' + Me.lblMutierer.AccessibleDescription = "Name" + Me.lblMutierer.AutoSize = True + Me.lblMutierer.Location = New System.Drawing.Point(392, 59) + Me.lblMutierer.Name = "lblMutierer" + Me.lblMutierer.Size = New System.Drawing.Size(72, 13) + Me.lblMutierer.TabIndex = 150 + Me.lblMutierer.Text = "Mutiert durch:" + ' + 'lblMutiert_am + ' + Me.lblMutiert_am.AccessibleDescription = "Name" + Me.lblMutiert_am.AutoSize = True + Me.lblMutiert_am.Location = New System.Drawing.Point(393, 35) + Me.lblMutiert_am.Name = "lblMutiert_am" + Me.lblMutiert_am.Size = New System.Drawing.Size(59, 13) + Me.lblMutiert_am.TabIndex = 149 + Me.lblMutiert_am.Text = "Mutiert am:" + ' + 'lblErstelltam + ' + Me.lblErstelltam.AccessibleDescription = "Name" + Me.lblErstelltam.AutoSize = True + Me.lblErstelltam.Location = New System.Drawing.Point(392, 9) + Me.lblErstelltam.Name = "lblErstelltam" + Me.lblErstelltam.Size = New System.Drawing.Size(58, 13) + Me.lblErstelltam.TabIndex = 148 + Me.lblErstelltam.Text = "Erstellt am:" + ' + 'cbaktiv + ' + Me.cbaktiv.Location = New System.Drawing.Point(390, 85) + Me.cbaktiv.Name = "cbaktiv" + Me.cbaktiv.RightToLeft = System.Windows.Forms.RightToLeft.Yes + Me.cbaktiv.Size = New System.Drawing.Size(87, 17) + Me.cbaktiv.TabIndex = 10 + Me.cbaktiv.Text = "Aktiv" + Me.cbaktiv.TextAlign = System.Drawing.ContentAlignment.MiddleRight + Me.cbaktiv.UseVisualStyleBackColor = True + ' + 'dtPickerVersionsdatum + ' + Me.dtPickerVersionsdatum.Location = New System.Drawing.Point(343, 3) + Me.dtPickerVersionsdatum.Name = "dtPickerVersionsdatum" + Me.dtPickerVersionsdatum.Size = New System.Drawing.Size(21, 20) + Me.dtPickerVersionsdatum.TabIndex = 5 + Me.dtPickerVersionsdatum.TabStop = False + ' + 'txtVersionsdatum + ' + Me.txtVersionsdatum.Location = New System.Drawing.Point(280, 3) + Me.txtVersionsdatum.Mask = "00/00/0000" + Me.txtVersionsdatum.Name = "txtVersionsdatum" + Me.txtVersionsdatum.Size = New System.Drawing.Size(66, 20) + Me.txtVersionsdatum.TabIndex = 4 + Me.txtVersionsdatum.ValidatingType = GetType(Date) + ' + 'lblVersionsdatum + ' + Me.lblVersionsdatum.AutoSize = True + Me.lblVersionsdatum.Location = New System.Drawing.Point(189, 6) + Me.lblVersionsdatum.Name = "lblVersionsdatum" + Me.lblVersionsdatum.Size = New System.Drawing.Size(76, 13) + Me.lblVersionsdatum.TabIndex = 159 + Me.lblVersionsdatum.Text = "Versionsdatum" + ' + 'txtBezeichnung + ' + Me.txtBezeichnung.Location = New System.Drawing.Point(98, 7) + Me.txtBezeichnung.Name = "txtBezeichnung" + Me.txtBezeichnung.Size = New System.Drawing.Size(268, 20) + Me.txtBezeichnung.TabIndex = 0 + ' + 'txtVersion + ' + Me.txtVersion.Location = New System.Drawing.Point(98, 3) + Me.txtVersion.Name = "txtVersion" + Me.txtVersion.Size = New System.Drawing.Size(84, 20) + Me.txtVersion.TabIndex = 3 + ' + 'lblVersion + ' + Me.lblVersion.AutoSize = True + Me.lblVersion.Location = New System.Drawing.Point(9, 6) + Me.lblVersion.Name = "lblVersion" + Me.lblVersion.Size = New System.Drawing.Size(42, 13) + Me.lblVersion.TabIndex = 162 + Me.lblVersion.Text = "Version" + ' + 'lblBezeichnung + ' + Me.lblBezeichnung.AutoSize = True + Me.lblBezeichnung.Location = New System.Drawing.Point(9, 10) + Me.lblBezeichnung.Name = "lblBezeichnung" + Me.lblBezeichnung.Size = New System.Drawing.Size(69, 13) + Me.lblBezeichnung.TabIndex = 161 + Me.lblBezeichnung.Text = "Bezeichnung" + ' + 'lblDokumenttyp + ' + Me.lblDokumenttyp.AutoSize = True + Me.lblDokumenttyp.Location = New System.Drawing.Point(7, 114) + Me.lblDokumenttyp.Name = "lblDokumenttyp" + Me.lblDokumenttyp.Size = New System.Drawing.Size(70, 13) + Me.lblDokumenttyp.TabIndex = 166 + Me.lblDokumenttyp.Text = "Dokumenttyp" + ' + 'cboxDokumenttyp + ' + Me.cboxDokumenttyp.FormattingEnabled = True + Me.cboxDokumenttyp.Location = New System.Drawing.Point(96, 111) + Me.cboxDokumenttyp.Name = "cboxDokumenttyp" + Me.cboxDokumenttyp.Size = New System.Drawing.Size(268, 21) + Me.cboxDokumenttyp.TabIndex = 1 + ' + 'txtFilename + ' + Me.txtFilename.Location = New System.Drawing.Point(98, 56) + Me.txtFilename.Name = "txtFilename" + Me.txtFilename.Size = New System.Drawing.Size(268, 20) + Me.txtFilename.TabIndex = 8 + ' + 'lbldatei + ' + Me.lbldatei.AutoSize = True + Me.lbldatei.Location = New System.Drawing.Point(9, 58) + Me.lbldatei.Name = "lbldatei" + Me.lbldatei.Size = New System.Drawing.Size(32, 13) + Me.lbldatei.TabIndex = 168 + Me.lbldatei.Text = "Datei" + ' + 'OpenFileDialog1 + ' + Me.OpenFileDialog1.FileName = "OpenFileDialog1" + ' + 'txtDateiname + ' + Me.txtDateiname.Location = New System.Drawing.Point(98, 29) + Me.txtDateiname.Name = "txtDateiname" + Me.txtDateiname.Size = New System.Drawing.Size(268, 20) + Me.txtDateiname.TabIndex = 6 + ' + 'txtOriginalFilename_incl_path + ' + Me.txtOriginalFilename_incl_path.Location = New System.Drawing.Point(393, 6) + Me.txtOriginalFilename_incl_path.Name = "txtOriginalFilename_incl_path" + Me.txtOriginalFilename_incl_path.Size = New System.Drawing.Size(169, 20) + Me.txtOriginalFilename_incl_path.TabIndex = 12 + Me.txtOriginalFilename_incl_path.Visible = False + ' + 'brnFileOpen + ' + Me.brnFileOpen.Image = CType(resources.GetObject("brnFileOpen.Image"), System.Drawing.Image) + Me.brnFileOpen.Location = New System.Drawing.Point(363, 55) + Me.brnFileOpen.Name = "brnFileOpen" + Me.brnFileOpen.Size = New System.Drawing.Size(24, 24) + Me.brnFileOpen.TabIndex = 9 + Me.brnFileOpen.UseVisualStyleBackColor = True + ' + 'btnDokumentAnzeigen + ' + Me.btnDokumentAnzeigen.Image = CType(resources.GetObject("btnDokumentAnzeigen.Image"), System.Drawing.Image) + Me.btnDokumentAnzeigen.Location = New System.Drawing.Point(363, 26) + Me.btnDokumentAnzeigen.Name = "btnDokumentAnzeigen" + Me.btnDokumentAnzeigen.Size = New System.Drawing.Size(24, 24) + Me.btnDokumentAnzeigen.TabIndex = 7 + Me.btnDokumentAnzeigen.UseVisualStyleBackColor = True + ' + 'lblEx + ' + Me.lblEx.AutoSize = True + Me.lblEx.Location = New System.Drawing.Point(9, 32) + Me.lblEx.Name = "lblEx" + Me.lblEx.Size = New System.Drawing.Size(59, 13) + Me.lblEx.TabIndex = 173 + Me.lblEx.Text = "Best. Datei" + ' + 'Panel1 + ' + Me.Panel1.Controls.Add(Me.cbaktiv) + Me.Panel1.Controls.Add(Me.lblErstelltam) + Me.Panel1.Controls.Add(Me.lblMutiert_am) + Me.Panel1.Controls.Add(Me.lblMutierer) + Me.Panel1.Controls.Add(Me.txtErstellt_am) + Me.Panel1.Controls.Add(Me.txtMutiert_am) + Me.Panel1.Controls.Add(Me.lblDokumenttyp) + Me.Panel1.Controls.Add(Me.txtMutierer) + Me.Panel1.Controls.Add(Me.cboxDokumenttyp) + Me.Panel1.Controls.Add(Me.txtBeschreibung) + Me.Panel1.Controls.Add(Me.lblBeschreibung) + Me.Panel1.Controls.Add(Me.lblBezeichnung) + Me.Panel1.Controls.Add(Me.txtBezeichnung) + Me.Panel1.Dock = System.Windows.Forms.DockStyle.Top + Me.Panel1.Location = New System.Drawing.Point(0, 49) + Me.Panel1.Name = "Panel1" + Me.Panel1.Size = New System.Drawing.Size(583, 140) + Me.Panel1.TabIndex = 175 + ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.Location = New System.Drawing.Point(7, 85) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(67, 13) + Me.Label1.TabIndex = 175 + Me.Label1.Text = "Speicherung" + ' + 'cbboxSpeicherung + ' + Me.cbboxSpeicherung.FormattingEnabled = True + Me.cbboxSpeicherung.Items.AddRange(New Object() {"Datenbank", "Dateisystem", "Hyperlink"}) + Me.cbboxSpeicherung.Location = New System.Drawing.Point(96, 82) + Me.cbboxSpeicherung.Name = "cbboxSpeicherung" + Me.cbboxSpeicherung.Size = New System.Drawing.Size(268, 21) + Me.cbboxSpeicherung.TabIndex = 174 + ' + 'txtHyperlink + ' + Me.txtHyperlink.Location = New System.Drawing.Point(96, 0) + Me.txtHyperlink.Name = "txtHyperlink" + Me.txtHyperlink.Size = New System.Drawing.Size(268, 20) + Me.txtHyperlink.TabIndex = 176 + ' + 'lblHyperlink + ' + Me.lblHyperlink.AutoSize = True + Me.lblHyperlink.Location = New System.Drawing.Point(7, 2) + Me.lblHyperlink.Name = "lblHyperlink" + Me.lblHyperlink.Size = New System.Drawing.Size(51, 13) + Me.lblHyperlink.TabIndex = 177 + Me.lblHyperlink.Text = "Hyperlink" + ' + 'pnlDokument + ' + Me.pnlDokument.Controls.Add(Me.Label1) + Me.pnlDokument.Controls.Add(Me.txtOriginalFilename_incl_path) + Me.pnlDokument.Controls.Add(Me.txtVersion) + Me.pnlDokument.Controls.Add(Me.cbboxSpeicherung) + Me.pnlDokument.Controls.Add(Me.lblVersion) + Me.pnlDokument.Controls.Add(Me.lblVersionsdatum) + Me.pnlDokument.Controls.Add(Me.lblEx) + Me.pnlDokument.Controls.Add(Me.txtVersionsdatum) + Me.pnlDokument.Controls.Add(Me.btnDokumentAnzeigen) + Me.pnlDokument.Controls.Add(Me.dtPickerVersionsdatum) + Me.pnlDokument.Controls.Add(Me.lbldatei) + Me.pnlDokument.Controls.Add(Me.txtFilename) + Me.pnlDokument.Controls.Add(Me.txtDateiname) + Me.pnlDokument.Controls.Add(Me.brnFileOpen) + Me.pnlDokument.Dock = System.Windows.Forms.DockStyle.Top + Me.pnlDokument.Location = New System.Drawing.Point(0, 189) + Me.pnlDokument.Name = "pnlDokument" + Me.pnlDokument.Size = New System.Drawing.Size(583, 139) + Me.pnlDokument.TabIndex = 178 + ' + 'pnlHyperlink + ' + Me.pnlHyperlink.Controls.Add(Me.lblHyperlink) + Me.pnlHyperlink.Controls.Add(Me.txtHyperlink) + Me.pnlHyperlink.Dock = System.Windows.Forms.DockStyle.Top + Me.pnlHyperlink.Location = New System.Drawing.Point(0, 328) + Me.pnlHyperlink.Name = "pnlHyperlink" + Me.pnlHyperlink.Size = New System.Drawing.Size(583, 46) + Me.pnlHyperlink.TabIndex = 179 + ' + 'frmDokument + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(583, 378) + Me.Controls.Add(Me.pnlHyperlink) + Me.Controls.Add(Me.pnlDokument) + Me.Controls.Add(Me.Panel1) + Me.Controls.Add(Me.ToolStrip1) + Me.Controls.Add(Me.MenuStrip1) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.Name = "frmDokument" + Me.Text = "Dokument" + Me.MenuStrip1.ResumeLayout(False) + Me.MenuStrip1.PerformLayout() + Me.ToolStrip1.ResumeLayout(False) + Me.ToolStrip1.PerformLayout() + Me.Panel1.ResumeLayout(False) + Me.Panel1.PerformLayout() + Me.pnlDokument.ResumeLayout(False) + Me.pnlDokument.PerformLayout() + Me.pnlHyperlink.ResumeLayout(False) + Me.pnlHyperlink.PerformLayout() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents MenuStrip1 As System.Windows.Forms.MenuStrip + Friend WithEvents DateiToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents BeendenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStrip1 As System.Windows.Forms.ToolStrip + Friend WithEvents TSBtnQuit As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnSave As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnCopy As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnNew As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnDelete As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnSuche As System.Windows.Forms.ToolStripButton + Friend WithEvents lblBeschreibung As System.Windows.Forms.Label + Friend WithEvents txtBeschreibung As System.Windows.Forms.TextBox + Friend WithEvents txtMutierer As System.Windows.Forms.TextBox + Friend WithEvents txtMutiert_am As System.Windows.Forms.TextBox + Friend WithEvents txtErstellt_am As System.Windows.Forms.TextBox + Friend WithEvents lblMutierer As System.Windows.Forms.Label + Friend WithEvents lblMutiert_am As System.Windows.Forms.Label + Friend WithEvents lblErstelltam As System.Windows.Forms.Label + Friend WithEvents cbaktiv As System.Windows.Forms.CheckBox + Friend WithEvents dtPickerVersionsdatum As System.Windows.Forms.DateTimePicker + Friend WithEvents txtVersionsdatum As System.Windows.Forms.MaskedTextBox + Friend WithEvents lblVersionsdatum As System.Windows.Forms.Label + Friend WithEvents txtBezeichnung As System.Windows.Forms.TextBox + Friend WithEvents txtVersion As System.Windows.Forms.TextBox + Friend WithEvents lblVersion As System.Windows.Forms.Label + Friend WithEvents lblBezeichnung As System.Windows.Forms.Label + Friend WithEvents lblDokumenttyp As System.Windows.Forms.Label + Friend WithEvents cboxDokumenttyp As System.Windows.Forms.ComboBox + Friend WithEvents txtFilename As System.Windows.Forms.TextBox + Friend WithEvents lbldatei As System.Windows.Forms.Label + Friend WithEvents brnFileOpen As System.Windows.Forms.Button + Friend WithEvents OpenFileDialog1 As System.Windows.Forms.OpenFileDialog + Friend WithEvents txtDateiname As System.Windows.Forms.TextBox + Friend WithEvents txtOriginalFilename_incl_path As System.Windows.Forms.TextBox + Friend WithEvents btnDokumentAnzeigen As System.Windows.Forms.Button + Friend WithEvents lblEx As System.Windows.Forms.Label + Friend WithEvents Panel1 As System.Windows.Forms.Panel + Friend WithEvents Label1 As System.Windows.Forms.Label + Friend WithEvents cbboxSpeicherung As System.Windows.Forms.ComboBox + Friend WithEvents txtHyperlink As System.Windows.Forms.TextBox + Friend WithEvents lblHyperlink As System.Windows.Forms.Label + Friend WithEvents pnlDokument As System.Windows.Forms.Panel + Friend WithEvents pnlHyperlink As System.Windows.Forms.Panel +End Class diff --git a/ThemenDokumente/frmDokument.resx b/ThemenDokumente/frmDokument.resx new file mode 100644 index 0000000..dc550f8 --- /dev/null +++ b/ThemenDokumente/frmDokument.resx @@ -0,0 +1,251 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + 513, 17 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAK2SURBVDhPnZLLS1RRHMcPBP0Bbdq0iNatHLDogTgzzozX + O3eccWrGe+/M3HTKMaOiF2Rpb1/lo9CKnEyloqjUyjDLHopGhlIWYk5SLaJFEUkgLQo+XR9MzLJ+8IHz + O3A+nO/vHPE/9W1yIDj9YfRX294MFrbm61p5TlfHkRy6js0iJek8KnG9zM6T+E6+jvfyZewuP971c2W/ + NVXQWS6TttrOqrU2Vq//S/paKyst65hJ9JLoOsRIk5/viadcO+hIFXSUymRYndjsEnaHK4k1y0n6Ohtv + 2yKMXNAZPhvk65v73DycnSpwNAikykVk231ILgUp240kybhcMuutEuOtBsPnQzxrDPJ5pHMu6sJRIWxV + gsTndpymJCdTw+0MoEh+FNmL7PaQ6XDzOh5mqEmnvyGfD4NXuVehzAtslYKxj8209gsyKgT2WoHzjEAu + XYpXCeLJ9ZOV42P0gkb/aZ2ZnuVM9LVwv9qLcNUInr+vID4kaB4011OFvHgf4eWn8JxkgydMXl4QyRPg + xVmVx/UaP3tX8OZeE321/nnBo8Qe4qOC+Iig5bWgdVzwajqC47QgmFfIxkAId57GUGOAvrogzXucvOys + 4mlDYC6CxW5G6J7YTHtCkDkb4aTAUS/ILVuGrkZRdQNf0GCgwc+DUxu4dUTh+dVyBhvV5BAtWdWCrikf + zjqBEdiFoZVghIswjCgRo4BAKMrjWi89NT66K70MXNrN8LlQyjNanOaVlZrFRI3tRAuLKYwWzVFgom2K + 8bDGQ3dFLrePe+htijHaHEkRiLaSNWwpLqE4toPirduSxEwKirbzoFrmzgmFjmNu7pwKMdZSgNB1HV0L + oWlhVHUWc61qZq8mUc1+Y77OvliAy+WK+QNlbhzNZbx98/wQ/5VSPX3/xQP235OXY6kR/qGWmKQJISx/ + AIbmwpsGNLMUAAAAAElFTkSuQmCC + + + + + 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 + ovwBHtVvxMSvxBEAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACpSURBVFhH7ZLhCoQwDIP36Hu0vdl5DU7GbFx6KtyPfhBQ + 26aBWpIkEfhMYqh9YVRjtS+Maqz2hVGN1T6Z2RCqtULfZzC8M/0GMx2+d45QZCYMjFprzPCkvnwxIwMT + Qw1g6iG82i4ZKYCwcJYMjFcneDXAS5Lxhp+QzOoEDNQvTiMDg4ufkIG6BSfhZf4jwJ0T3A5gIstNjKMn + GPyENzyK4fWOSpIkcShlA/2ShGAugX0dAAAAAElFTkSuQmCC + + + + 615, 17 + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAA90lEQVRYR+2UwQ2EIBBFqcCbNyuwgj16 + swIq8OaNDmjAo01QhSfbYvksuu4EYwRM9jA/eVE0zv8jEwSLxWJdaVkWm0Mok65YUco4jrbrOg99F8qk + ixakwHye530tpbTGGH/VWj8f4GgONnP3aZkASilXsHG8PNSQspmDIgFgbu3kUJ66rvf9piAcTDfwN0KZ + dKHrjzlCfIPQtTHKm9I/Esqk6w8C/G4B7td1sm0rLqkqPwt5ogFgjmdaY8jOGQbgBzJPxy2Aed/HDY/A + HOdD0Rm423nRGUjpvFiApsEhdL/zYgFiB04M2nmxAK6IzCGUYbFYrBMJ8QYr85jIzjCyHwAAAABJRU5E + rkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAwElEQVQ4T6WTMQ6DMAxFfY4eo71ST8LU + ibGiLB25Qa6RhQswcoKIydWP8isX0oTSJ1lRHP9vywKp4ZxThPc+Rkrvo+/vGkKIATHPXUYUUGQnQW4Y + HmUTFuJk0BDgnkq3oJPtTJEFuVS+hSKOvAZvVYPc2JaiAcW57gRvqTwPtvzNoNh9ni86TU/tuluM9fic + LJV/AvGyiI6jaNNc30V2Jym1BUKK2/Zc/1Asf4nt2D+LARbl3OmYGOCPw8IOiUXkBfwCjOxiDzXKAAAA + AElFTkSuQmCC + + + + + AAABAAEAICAEAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP// + AAD///8AAAAAAAAHcAdwAAAAAAAAAAAAAAAAB3DwB3AAAAAAAAAAAAAAAHcP//AHcAAAAAAAAAAAAAB3 + D0//8AdwAAAAAAAAAAAHcP/0///wB3AAAAAAAAAAB3D/9E9P//AHcAAAAAAAAHcP//T09P//8AcAAAAA + AAB3D0T///T////wcAAAAAAHcP//RP//T0///wAAAAAAB3D///9E//////8AAAAAAHcP9E////////// + AAAAAAB3D//0T///////8AAAAAAHcP////RP//////AAAAAAB3D/RP//9E////8AAAAAAHcP//9E///0 + T///AAAAAAB3D////0T///RP8AAAAAAHcP9E////RP////AAAAAAB3D//0T///9E//8AAAAAAHcP//// + RP///0T/AAAAAAB3D/RP///0////8AAAAAAHcP//9E///0T///AAAAAAB3D////0T///RP8AAAAAAAcP + 9E////RP////AAAAAAAHD//0T///9E//8AAAAAAAAAD///RP//////AAAAAAAAAAAP////////8AAAAA + AAAAAAAA////////AAAAAAAAAAAAAAD/////8AAAAAAAAAAAAAAAAP////AAAAAAAAAAAAAAAAAA//8A + AAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/4H///+Af///AB///wAH//4AAf/+A + AB//AAAP/wAAB/4AAAP+AAAH/AAAB/wAAA/4AAAP+AAAH/AAAB/wAAA/4AAAP+AAAH/AAAB/wAAA/4AA + AP+AAAH/gAAB/4AAA//AAAP/8AAH//wAB///AA///8AP///wH////B////8//w== + + + \ No newline at end of file diff --git a/ThemenDokumente/frmDokument.vb b/ThemenDokumente/frmDokument.vb new file mode 100644 index 0000000..0c5e2d3 --- /dev/null +++ b/ThemenDokumente/frmDokument.vb @@ -0,0 +1,526 @@ +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient +Public Class frmDokument + +#Region "Deklarationen" + Dim Dokument As New DMS.clsDok + Dim DokumentAblageTyp As New DB.clsDokumentAblageTyp + Dim DokumentAblageTypen As New DataTable + + Dim FormReadonly As Boolean = False + Dim FormDataChanged As Boolean = False + Dim SpaltenTitel As New Utils.Tabellenspalte + + Dim Aktuelles_Dokument As Integer + Dim Aktuelles_Element As Integer + Dim Doktype As Integer + + ''' + ''' Doktype + ''' 1: Vertragselement + ''' 2: Test-Drehbuch + ''' 3: Applikationsdokument + ''' 4: Applikationlogbuch + ''' + ''' + Dim Aktueller_Doktype As Integer + + Dim Anzeige As Boolean = False + Private SaveFileName As String = "" + Dim Neuer_Datensatz As Boolean = False +#End Region + +#Region "Closing / Check_Changes" + + ''' + ''' Schliessen des Formulars + ''' + ''' + ''' + ''' + Private Sub FormularClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing + If Me.FormReadonly = True Then Exit Sub + If Check_Changes() = False Then + e.Cancel = True + Else + If Me.Dokument.Neuer_Datensatz = True Then Me.Dokument.Delete(Me.Dokument.iDokumentNr.Value) + Me.Dispose() + End If + End Sub + + ''' + ''' Prfung, ob Datennderungen vorgenommen wurden. Beim Speichern werden ebenfalls allfllige nderungen von C1DokumentAblagoeOrt durchgefhrt. + ''' Wurden lediglich nderungen bei C1Dokumentablageort vorgenommen, wird separat gefrat, ob die nderungen gespeichert werden sollen. + ''' + ''' + Private Function Check_Changes() As Boolean + If Me.FormReadonly Then Exit Function + Dim msgres As MsgBoxResult + If Me.FormDataChanged Then + msgres = MsgBox("Mchten Sie die nderungen speichern?", vbYesNoCancel + MsgBoxStyle.Question) + Select Case msgres + Case MsgBoxResult.Yes + Save_data() + Return True + Case MsgBoxResult.Cancel + Return False + Case MsgBoxResult.No + Return True + End Select + Else + Return True + End If + End Function + +#End Region + +#Region "Formular" + ''' + ''' + ''' + ''' Optionaler Parameter Dokumentnummer des aktuellen Dokuments + ''' + Sub New(ByVal DokumentNr As Integer, ByVal Doktype As Integer, Optional ByVal Elementnr As Integer = -1, Optional ByVal Anzeige As Boolean = False, Optional ByVal CreateNew As Boolean = False) + Me.InitializeComponent() + If CreateNew Then + Me.Aktuelles_Dokument = Me.Dokument.Add_New(Elementnr, DokType) + Me.Neuer_Datensatz = True + Else + Me.Aktuelles_Dokument = DokumentNr + End If + Me.Anzeige = Anzeige + Me.Aktuelles_Element = Elementnr + Me.Doktype = Doktype + End Sub + Sub New(ByVal DokumentNr As Integer, ByVal Doktype As Integer, Optional ByVal Elementnr As Integer = -1, Optional ByVal Anzeige As Boolean = False, Optional ByVal CreateNew As Boolean = False, Optional ByVal Filename As String = "") + Me.InitializeComponent() + If CreateNew Then + Me.Aktuelles_Dokument = Me.Dokument.Add_New(Elementnr, Doktype) + Me.Neuer_Datensatz = True + Me.Dokument.sBezeichnung = New SqlString(CType(System.IO.Path.GetFileName(Filename), String)) + Me.Dokument.sFilename = New SqlString(CType(System.IO.Path.GetFileName(Filename), String)) + Me.Dokument.sOriginalFilename_incl_Path = New SqlString(CType(Filename, String)) + Me.Dokument.Save_Data() + Me.txtDateiname.Text = System.IO.Path.GetFileName(Filename) + Me.txtFilename.Text = Filename + Else + Me.Aktuelles_Dokument = DokumentNr + End If + Me.Anzeige = Anzeige + Me.Aktuelles_Element = Elementnr + Me.Doktype = Doktype + End Sub + ''' + ''' Formular-Load + ''' + ''' + ''' + ''' + Private Sub frmDokument_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + If Anzeige = True Then + Me.TSBtnSuche.Enabled = False + Me.TSBtnSave.Enabled = False + Else + Me.TSBtnSuche.Enabled = True + End If + If Me.TSBtnSave.Enabled = False Or Me.TSBtnSave.Visible = False Then + Me.FormReadonly = True + Me.TSBtnCopy.Enabled = False + Me.TSBtnNew.Enabled = False + Me.TSBtnDelete.Enabled = False + Else + Me.FormReadonly = False + End If + + + 'Dokumenttypen-Laden + Me.Dokument.Get_Dokumenttypen() + Me.cboxDokumenttyp.DataSource = Me.Dokument.Dokumenttypdaten + Me.cboxDokumenttyp.DisplayMember = "Bezeichnung" + Me.cboxDokumenttyp.ValueMember = "Dokumenttypnr" + + Me.Dokument.get_Speichertypen() + Me.cbboxSpeicherung.DataSource = Me.Dokument.Speichertypdaten + Me.cbboxSpeicherung.DisplayMember = "Bezeichnung" + Me.cbboxSpeicherung.ValueMember = "Speichertypnr" + + AddChanges(Me) + Get_Data(Me.Aktuelles_Dokument) + If Me.cbboxSpeicherung.Text = "Hyperlink" Then Me.txtHyperlink.Text = Me.txtOriginalFilename_incl_path.Text + If Me.Neuer_Datensatz = True Then + Me.Dokument.Neuer_Datensatz = True + Me.Neuer_Datensatz = False + End If + Me.txtBezeichnung.Focus() + End Sub + +#End Region + +#Region "Buttons/Menu" + + ''' + ''' Formular schliessen + ''' + ''' + ''' + ''' + Private Sub TSBtnQuit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnQuit.Click + Me.Close() + End Sub + + ''' + ''' Sicherungs-Button bettigt + ''' + ''' + ''' + ''' + Private Sub TSBtnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnSave.Click + Me.Save_data() + Me.txtMutiert_am.Text = Me.Dokument.daMutiert_am.ToString + Me.FormDataChanged = False + End Sub + + ''' + ''' Datensatz kopieren + ''' + ''' + ''' + ''' + Private Sub TSBtnCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnCopy.Click + If Me.Check_Changes = False Then Exit Sub + Me.Get_Data(Dokument.Create_Copy(Me.Dokument.iDokumentNr.Value)) + Me.Dokument.Neuer_Datensatz = True + End Sub + ''' + ''' Neuer Datensatz erstellen + ''' + ''' + ''' + ''' + Private Sub TSBtnNew_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnNew.Click + If Me.Check_Changes = False Then Exit Sub + Me.Get_Data(Me.Dokument.Add_New(Me.Aktuelles_Element, Me.Doktype)) + + Me.txtFilename.Text = "" + Me.Dokument.Neuer_Datensatz = True + Me.txtBezeichnung.Focus() + End Sub + ''' + ''' Aktueller Datensatz inaktivieren + ''' + ''' + ''' + ''' + Private Sub TSBtnDelete_Click(ByVal senderBeendenToolStripMenuItem As System.Object, ByVal e As System.EventArgs) Handles TSBtnDelete.Click + If MsgBox("Das Dokument wirklich lschen?", vbYesNo + vbQuestion) = MsgBoxResult.Yes Then + Me.Dokument.Delete_Dokument(Me.Dokument.iDokumentNr.Value) + Me.Close() + End If + End Sub + + ''' + ''' Menu Beenden + ''' + ''' + ''' + ''' + Private Sub BeendenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BeendenToolStripMenuItem.Click + Me.TSBtnQuit_Click(sender, e) + End Sub + + ''' + ''' Vertragspartner suchen + ''' + ''' + ''' + ''' + Private Sub TSBtnSuche_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnSuche.Click + If Not Me.FormReadonly Then Check_Changes() + 'Dim i As Integer + 'If Me.Vertragspartnerdata.Vertragspartner_Suchen(i) = True Then + ' Me.Get_Data(i) + 'End If + End Sub + +#End Region + +#Region "Eventhandler ChangeEreignisse" + ''' + ''' Allg Eventhandler fr Chanage-Ereignise festlegen + ''' + ''' + ''' + Private Sub AddChanges(ByVal Container As Control) + Dim l As New List(Of Control) + Me.GetControl(Me, "*", l) + Dim evh As EventHandler = AddressOf ChangesMade + For Each c As Control In l + If TypeOf c Is TextBox Then + Dim ctl As TextBox = c + AddHandler ctl.TextChanged, evh + End If + If TypeOf c Is MaskedTextBox Then + Dim ctl As MaskedTextBox = c + AddHandler ctl.TextChanged, evh + End If + If TypeOf c Is ComboBox Then + Dim ctl As ComboBox = c + AddHandler ctl.SelectedValueChanged, evh + End If + If TypeOf c Is CheckBox Then + Dim ctl As CheckBox = c + AddHandler ctl.CheckedChanged, evh + End If + Next + End Sub + ''' + ''' Envent-Handler fr Change-Ereignisse + ''' + ''' + ''' + ''' + Private Sub ChangesMade(ByVal sender As Object, ByVal e As System.EventArgs) + Me.FormDataChanged = True + Dim objtype As System.Type = sender.GetType + If objtype.Name = "MaskedTextBox" Then + Dim o As MaskedTextBox = sender + If o.Text = "01.01.1900" Then o.Text = " . . " + End If + + End Sub + + ''' + ''' Sucht in den Base-Controls smtliche Controls mit dem Namen in "Key" (Wildcards * mglich) und listet + ''' die gefundnen Controls in der Liste L zur weiteren Bearbeitung + ''' + ''' Base-Contrlo (z.B. aktuelles Formular + ''' Schlssel welcher gesucht werden soll + ''' Liste der gefundenen Objekte + ''' True wenn eines oder mehr Controls gefunden wurden, false wenn kein Control gefunden wurde. + ''' + ''' + Private Function GetControl(ByVal BaseControl As Control, ByVal Key As String, ByRef L As List(Of Control), Optional ByVal ReturnAtFirstElement As Boolean = False) As Boolean + If L Is Nothing Then L = New List(Of Control) + Dim Gut As Boolean + Dim ReturnFlag As Boolean = False + If Key IsNot Nothing Then Key = Key.ToLower + + If BaseControl.HasChildren = True Then + For Each ctl As Control In BaseControl.Controls + Gut = False + If Key Is Nothing Then + Gut = True + Else + If ctl.Name.Length >= Key.Length Then + Key = Key.ToLower + If Key.StartsWith("*") Then + If Key.Substring(1) = ctl.Name.ToLower.Substring(ctl.Name.Length - (Key.Length - 1), Key.Length - 1) Then Gut = True + ElseIf Key.EndsWith("*") Then + If Key.Substring(0, Key.Length - 1) = ctl.Name.ToLower.Substring(0, Key.Length - 1) Then Gut = True + Else + If Key = ctl.Name.ToLower Then Gut = True + End If + End If + End If + + If Gut = True Then + L.Add(ctl) + If ReturnAtFirstElement = True Then ReturnFlag = True + End If + If ReturnFlag = False Then + Call GetControl(ctl, Key, L) + End If + Next + End If + + If L.Count - 1 > -1 Then + Return True + Else + Return False + End If + End Function + + ''' + ''' Handelt das Change-Ereignis eines Datetimepckers und stellt das ausgewhlte Datum in das entsprechende Textfeld + ''' + ''' + ''' + ''' + Private Sub DateTimePicker_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles dtPickerVersionsdatum.ValueChanged + Dim s As String + Dim obj As DateTimePicker = sender + s = obj.Name + s = "txt" + s.Substring(8, s.Length - 8) + Dim l As New List(Of Control) + Dim txtb As MaskedTextBox + GetControl(Me, s, l) + For Each ctl As Control In l + txtb = CType(ctl, MaskedTextBox) + txtb.Text = obj.Value + Next + + End Sub + + +#End Region + +#Region "Daten" + ''' + ''' Daten ab DB laden uns ins Form befllen + ''' + ''' + ''' + Private Sub Get_Data(ByVal Dokumentnr As Integer) + Try + Dokument.Get_Dokumenttypen() + Dokument.Get_Dokument(Dokumentnr) + Me.txtBezeichnung.Text = Dokument.sBezeichnung.Value + Me.cboxDokumenttyp.SelectedValue = Dokument.iDokumenttypNr.Value + Me.txtBeschreibung.Text = Dokument.sBeschreibung.Value + Me.txtVersion.Text = Dokument.sVersion.ToString + Me.txtVersionsdatum.Text = Dokument.daVersionsdatum.ToString + Me.txtDateiname.Text = Dokument.sFilename.Value + If Me.txtDateiname.Text <> "" Then Me.btnDokumentAnzeigen.Enabled = True Else Me.btnDokumentAnzeigen.Enabled = False + Me.txtDateiname.ReadOnly = True + + Me.SaveFileName = Me.txtDateiname.Text + Me.txtOriginalFilename_incl_path.Text = Dokument.sOriginalFilename_incl_Path.Value + Me.txtErstellt_am.Text = Dokument.daErstellt_am.ToString + Me.txtMutiert_am.Text = Dokument.daMutiert_am.ToString + Me.txtMutierer.Text = Dokument.iMutierer.Value + Me.cbboxSpeicherung.SelectedValue = Dokument.iSpeichertypNr.Value + Try + Me.cbaktiv.Checked = Dokument.bAktiv.Value = True + + Catch ex As Exception + Me.cbaktiv.Checked = True + End Try + If Not Anzeige Then + For Each ctl As ToolStripButton In Me.ToolStrip1.Items + ctl.Enabled = True + Next + End If + Me.FormDataChanged = False + + Catch ex As Exception + For Each ctl As ToolStripButton In Me.ToolStrip1.Items + ctl.Enabled = False + Next + Me.TSBtnQuit.Enabled = True + Me.TSBtnSuche.Enabled = True + End Try + + Me.FormDataChanged = False + + End Sub + + ''' + ''' Daten ab Form speichern + ''' + ''' + Private Sub Save_data() + 'Prfung, ob das Ausgewhlte File zur Speicherung vorhanden ist + If Me.txtFilename.Text <> "" And Me.cbboxSpeicherung.SelectedValue <> 3 Then + If Not IO.File.Exists(Me.txtFilename.Text) Then + MsgBox("Die gewhlte Datei ist nicth vorhanden." + vbExclamation) + Exit Sub + End If + End If + If Me.txtFilename.Text <> "" And Me.txtDateiname.Text <> "" And Me.txtDateiname.Text <> Me.SaveFileName And Me.SaveFileName <> "" Then + 'If msg.Show_MessageYesNo(272) = MsgBoxResult.No Then + ' msg.show_standardmessage(273, MsgBoxStyle.Information) + ' Exit Sub + 'End If + End If + Dokument.iKeyValue = New SqlInt32(CType(Me.Aktuelles_Element, Int32)) + Dokument.iDokumenttypNr = New SqlInt32(CType(Me.cboxDokumenttyp.SelectedValue, Int32)) + Dokument.sBezeichnung = New SqlString(CType(Me.txtBezeichnung.Text, String)) + Dokument.sBeschreibung = New SqlString(CType(Me.txtBeschreibung.Text, String)) + Dokument.sVersion = New SqlString(CType(Me.txtVersion.Text, String)) + If IsDate(Me.txtVersionsdatum.Text) Then + Dokument.daVersionsdatum = New SqlDateTime(CType(Me.txtVersionsdatum.Text, DateTime)) + Else + Dokument.daVersionsdatum = New SqlDateTime(CType(SqlDateTime.Null, DateTime)) + End If + Dokument.sFilename = New SqlString(CType(Me.txtDateiname.Text, String)) + Dokument.sOriginalFilename_incl_Path = New SqlString(CType(Me.txtOriginalFilename_incl_path.Text, String)) + Dokument.bAktiv = New SqlBoolean(CType(Me.cbaktiv.Checked = True, Boolean)) + Dokument.iSpeichertypNr = New SqlInt32(CType(Me.cbboxSpeicherung.SelectedValue, Int32)) + Dokument.Save_Data() + If cbboxSpeicherung.SelectedValue = 1 Then + If Dokument.Save_File(Dokument.iDokumentNr.Value, Me.txtFilename.Text) = False Then + MsgBox("Die Datei konnte nicht gespeichert werden." + vbExclamation) + End If + End If + 'Me.Dokument.Dokumentablageort.Save_Data() + Me.SaveFileName = Me.txtDateiname.Text + End Sub +#End Region + + + + ''' + ''' Auswahl des zu speichernden Dokumentes + ''' + ''' + ''' + ''' + Private Sub brnFileOpen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles brnFileOpen.Click + Me.OpenFileDialog1.ShowDialog() + If Me.OpenFileDialog1.FileName <> "" Then Me.txtFilename.Text = Me.OpenFileDialog1.FileName + Me.txtOriginalFilename_incl_path.Text = Me.txtFilename.Text + Me.txtDateiname.Text = System.IO.Path.GetFileName(Me.txtFilename.Text) + End Sub + + ''' + ''' Dokument anzeigen + ''' + ''' + ''' + ''' + Private Sub btnDokumentAnzeigen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDokumentAnzeigen.Click + If Trim(Me.Aktuelles_Dokument) = "" Then Exit Sub + Try + Me.Dokument.Show_Doc(Me.Aktuelles_Dokument) + + Catch ex As Exception + MsgBox("Die Datei konnte nicht geffnet werden.", MsgBoxStyle.Exclamation) + End Try + End Sub + ''' + ''' Text-Change von Txt-Dateiname + ''' + ''' + ''' + ''' + Private Sub txtDateiname_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtDateiname.TextChanged + If Me.txtDateiname.Text <> "" Then Me.btnDokumentAnzeigen.Enabled = True Else Me.btnDokumentAnzeigen.Enabled = False + Me.txtDateiname.ReadOnly = True + End Sub + + + Private Sub cboxDokumenttyp_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cboxDokumenttyp.SelectedIndexChanged + Try + If Me.cboxDokumenttyp.Text = "Hyperlink" Then + Me.pnlDokument.Visible = False + Me.pnlHyperlink.Visible = True + Me.cbboxSpeicherung.SelectedValue = 3 + Me.Height = Me.ToolStrip1.Height + Me.Panel1.Height + Me.pnlHyperlink.Height + Me.MenuStrip1.Height + 20 + Else + Me.pnlDokument.Visible = True + Me.pnlHyperlink.Visible = False + Me.Height = Me.ToolStrip1.Height + Me.Panel1.Height + Me.pnlDokument.Height + Me.MenuStrip1.Height + 20 + End If + Catch + End Try + End Sub + + Private Sub txtHyperlink_TextChanged(sender As Object, e As EventArgs) Handles txtHyperlink.TextChanged + Me.txtFilename.Text = Me.txtHyperlink.Text + Me.txtOriginalFilename_incl_path.Text = Me.txtHyperlink.Text + Me.txtDateiname.Text = Me.txtHyperlink.Text + + End Sub +End Class \ No newline at end of file diff --git a/ThemenDokumente/obj/Debug/CoreCompileInputs.cache b/ThemenDokumente/obj/Debug/CoreCompileInputs.cache new file mode 100644 index 0000000..c45c317 --- /dev/null +++ b/ThemenDokumente/obj/Debug/CoreCompileInputs.cache @@ -0,0 +1 @@ +3e89506d7db11ef82846d74a11ee2342b1730daf diff --git a/ThemenDokumente/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/ThemenDokumente/obj/Debug/DesignTimeResolveAssemblyReferences.cache new file mode 100644 index 0000000..a36f280 Binary files /dev/null and b/ThemenDokumente/obj/Debug/DesignTimeResolveAssemblyReferences.cache differ diff --git a/ThemenDokumente/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/ThemenDokumente/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache new file mode 100644 index 0000000..e3c43b5 Binary files /dev/null and b/ThemenDokumente/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ diff --git a/ThemenDokumente/obj/Debug/TempPE/My Project.Resources.Designer.vb.dll b/ThemenDokumente/obj/Debug/TempPE/My Project.Resources.Designer.vb.dll new file mode 100644 index 0000000..d28a435 Binary files /dev/null and b/ThemenDokumente/obj/Debug/TempPE/My Project.Resources.Designer.vb.dll differ diff --git a/ThemenDokumente/obj/Debug/ThemenDokumente.Dokumente.resources b/ThemenDokumente/obj/Debug/ThemenDokumente.Dokumente.resources new file mode 100644 index 0000000..f176c3e Binary files /dev/null and b/ThemenDokumente/obj/Debug/ThemenDokumente.Dokumente.resources differ diff --git a/ThemenDokumente/obj/Debug/ThemenDokumente.Resources.resources b/ThemenDokumente/obj/Debug/ThemenDokumente.Resources.resources new file mode 100644 index 0000000..06c24d0 Binary files /dev/null and b/ThemenDokumente/obj/Debug/ThemenDokumente.Resources.resources differ diff --git a/ThemenDokumente/obj/Debug/ThemenDokumente.dll b/ThemenDokumente/obj/Debug/ThemenDokumente.dll new file mode 100644 index 0000000..241b2a3 Binary files /dev/null and b/ThemenDokumente/obj/Debug/ThemenDokumente.dll differ diff --git a/ThemenDokumente/obj/Debug/ThemenDokumente.frmDokument.resources b/ThemenDokumente/obj/Debug/ThemenDokumente.frmDokument.resources new file mode 100644 index 0000000..01716f8 Binary files /dev/null and b/ThemenDokumente/obj/Debug/ThemenDokumente.frmDokument.resources differ diff --git a/ThemenDokumente/obj/Debug/ThemenDokumente.pdb b/ThemenDokumente/obj/Debug/ThemenDokumente.pdb new file mode 100644 index 0000000..2157c4d Binary files /dev/null and b/ThemenDokumente/obj/Debug/ThemenDokumente.pdb differ diff --git a/ThemenDokumente/obj/Debug/ThemenDokumente.vbproj.CopyComplete b/ThemenDokumente/obj/Debug/ThemenDokumente.vbproj.CopyComplete new file mode 100644 index 0000000..e69de29 diff --git a/ThemenDokumente/obj/Debug/ThemenDokumente.vbproj.FileListAbsolute.txt b/ThemenDokumente/obj/Debug/ThemenDokumente.vbproj.FileListAbsolute.txt new file mode 100644 index 0000000..e5ccf90 --- /dev/null +++ b/ThemenDokumente/obj/Debug/ThemenDokumente.vbproj.FileListAbsolute.txt @@ -0,0 +1,12 @@ +E:\Software-Projekte\TKBDiverse\Themenmanagement\ThemenDokumente\bin\Debug\ThemenDokumente.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\ThemenDokumente\bin\Debug\ThemenDokumente.pdb +E:\Software-Projekte\TKBDiverse\Themenmanagement\ThemenDokumente\bin\Debug\ThemenDokumente.xml +E:\Software-Projekte\TKBDiverse\Themenmanagement\ThemenDokumente\obj\Debug\ThemenDokumente.frmDokument.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\ThemenDokumente\obj\Debug\ThemenDokumente.Resources.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\ThemenDokumente\obj\Debug\ThemenDokumente.Dokumente.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\ThemenDokumente\obj\Debug\ThemenDokumente.vbproj.GenerateResource.Cache +E:\Software-Projekte\TKBDiverse\Themenmanagement\ThemenDokumente\obj\Debug\ThemenDokumente.dll.licenses +E:\Software-Projekte\TKBDiverse\Themenmanagement\ThemenDokumente\obj\Debug\ThemenDokumente.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\ThemenDokumente\obj\Debug\ThemenDokumente.xml +E:\Software-Projekte\TKBDiverse\Themenmanagement\ThemenDokumente\obj\Debug\ThemenDokumente.pdb +E:\Software-Projekte\TKBDiverse\Themenmanagement\ThemenDokumente\obj\Debug\ThemenDokumente.vbproj.CopyComplete diff --git a/ThemenDokumente/obj/Debug/ThemenDokumente.vbproj.GenerateResource.cache b/ThemenDokumente/obj/Debug/ThemenDokumente.vbproj.GenerateResource.cache new file mode 100644 index 0000000..e54a378 Binary files /dev/null and b/ThemenDokumente/obj/Debug/ThemenDokumente.vbproj.GenerateResource.cache differ diff --git a/ThemenDokumente/obj/Debug/ThemenDokumente.xml b/ThemenDokumente/obj/Debug/ThemenDokumente.xml new file mode 100644 index 0000000..ed80218 --- /dev/null +++ b/ThemenDokumente/obj/Debug/ThemenDokumente.xml @@ -0,0 +1,1226 @@ + + + + +ThemenDokumente + + + + + + Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + + + + + Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + + + + + Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. + + + + + Purpose: Data Access class for the table 'DokumentAblageort'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumentablageortNr
  • +
  • iDokumentablagetypNr. May be SqlInt32.Null
  • +
  • iDokumentNr. May be SqlInt32.Null
  • +
  • sAblageort. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • iMandantNr. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumentablageortNr
  • +
  • iDokumentablagetypNr. May be SqlInt32.Null
  • +
  • iDokumentNr. May be SqlInt32.Null
  • +
  • sAblageort. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • iMandantNr. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumentablageortNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumentablageortNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iDokumentablageortNr
  • +
  • iDokumentablagetypNr
  • +
  • iDokumentNr
  • +
  • sAblageort
  • +
  • sBeschreibung
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
  • bAktiv
  • +
  • iMandantNr
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'DokumentAblageTyp'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumentAblageTypNr
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • iMandantNr. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumentAblageTypNr
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • iMandantNr. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumentAblageTypNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumentAblageTypNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iDokumentAblageTypNr
  • +
  • sBezeichnung
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
  • bAktiv
  • +
  • iMandantNr
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'Dokumenttyp'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumenttypnr
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumenttypnr
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumenttypnr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumenttypnr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iDokumenttypnr
  • +
  • sBezeichnung
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
  • bAktiv
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'SpeicherTyp'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iSpeicherTypNr
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iSpeicherTypNr
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iSpeicherTypNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iSpeicherTypNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iSpeicherTypNr
  • +
  • sBezeichnung
  • +
  • sBeschreibung
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'Dokument'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumentNr
  • +
  • iKeyValue. May be SqlInt32.Null
  • +
  • iDokType. May be SqlInt32.Null
  • +
  • iDokumenttypNr. May be SqlInt32.Null
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • sFilename. May be SqlString.Null
  • +
  • sOriginalFilename_incl_Path. May be SqlString.Null
  • +
  • sVersion. May be SqlString.Null
  • +
  • sVersionsNr. May be SqlString.Null
  • +
  • daVersionsdatum. May be SqlDateTime.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • blobDocImage. May be SqlBinary.Null
  • +
  • iSpeichertypNr. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumentNr
  • +
  • iKeyValue. May be SqlInt32.Null
  • +
  • iDokType. May be SqlInt32.Null
  • +
  • iDokumenttypNr. May be SqlInt32.Null
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • sFilename. May be SqlString.Null
  • +
  • sOriginalFilename_incl_Path. May be SqlString.Null
  • +
  • sVersion. May be SqlString.Null
  • +
  • sVersionsNr. May be SqlString.Null
  • +
  • daVersionsdatum. May be SqlDateTime.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • blobDocImage. May be SqlBinary.Null
  • +
  • iSpeichertypNr. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumentNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumentNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iDokumentNr
  • +
  • iKeyValue
  • +
  • iDokType
  • +
  • iDokumenttypNr
  • +
  • sBezeichnung
  • +
  • sBeschreibung
  • +
  • sFilename
  • +
  • sOriginalFilename_incl_Path
  • +
  • sVersion
  • +
  • sVersionsNr
  • +
  • daVersionsdatum
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
  • bAktiv
  • +
  • blobDocImage
  • +
  • iSpeichertypNr
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'key_tabelle'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • sBeschreibung
  • +
  • iKey_wert
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iKeynr
  • +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKeynr
  • +
  • sBeschreibung
  • +
  • iKey_wert
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKeynr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKeynr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iKeynr
  • +
  • sBeschreibung
  • +
  • iKey_wert
  • +
  • iMandantnr
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'spalten'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iEintragnr
  • +
  • sTabelle. May be SqlString.Null
  • +
  • sTabellenspalte. May be SqlString.Null
  • +
  • sSpalte. May be SqlString.Null
  • +
  • bReadonly
  • +
  • bAlsHacken
  • +
  • iBreite. May be SqlInt32.Null
  • +
  • iReihenfolge. May be SqlInt32.Null
  • +
  • sTiptext. May be SqlString.Null
  • +
  • bAktiv
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • sNumberFormat. May be SqlString.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iEintragnr
  • +
  • sTabelle. May be SqlString.Null
  • +
  • sTabellenspalte. May be SqlString.Null
  • +
  • sSpalte. May be SqlString.Null
  • +
  • bReadonly
  • +
  • bAlsHacken
  • +
  • iBreite. May be SqlInt32.Null
  • +
  • iReihenfolge. May be SqlInt32.Null
  • +
  • sTiptext. May be SqlString.Null
  • +
  • bAktiv
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • sNumberFormat. May be SqlString.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iEintragnr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iEintragnr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iEintragnr
  • +
  • sTabelle
  • +
  • sTabellenspalte
  • +
  • sSpalte
  • +
  • bReadonly
  • +
  • bAlsHacken
  • +
  • iBreite
  • +
  • iReihenfolge
  • +
  • sTiptext
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
  • iMandantnr
  • +
  • sNumberFormat
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Dokument laden + + PersonNr + + + + + + Person sichern + + + + + + + Kopie eines Datensatzes erstellen. + + Ursprungs-Person: Ist dieser Wert nicht 0, werden die Daten mit BaseNr zuerst gelesen + + + + + + Datensatz inaktivieren + + Ursprungs-Person: Ist dieser Wert nicht 0, werden die Daten mit BaseNr zuerst gelesen + + + + + + Datensatz physisch löschen + + Ursprungs-Person: Ist dieser Wert nicht 0, werden die Daten mit BaseNr zuerst gelesen + + + + + + Neue Person einfügen + + + + + + + Dokumenttypen laden und in der Datatable Dokumenttypdaten bereit stellen + + + + + + + Datei im Dokument speichern + + + + + + + + + Klasse für das Speichern bzw. Auslesen von Image-Dateien in der Datenbank + + + Es werden folgende Datebanktabellen berücksichtigt: + + + Dokument Attribut DocImage + + Profile Attribut V_Uebersicht (Profillayout des C1TrueDBGrids der + Vertragsübersicht|Vertragselemente + + yes + + + + Grid-Layoutfile speichern + + C1Truedbgrind, von welchem das Layout gespeichert werden soll + Nummer des Grids: 1=Vertragsübersicht... + + + + + + Dokument in der Tabelle Dokument speichern + + Nummer des Dokument-Datensatzes + Zu speichender Dateiname + + + + + + Liest das Dokument aus der DB und speichert dieses unter einem temporären Filenamen ab + + + + + + + + Sortierung der in der DB-Tabelle Spalaten festgelegten Reihenfolge + + + + + + + + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Doktype + 1: Vertragselement + 2: Test-Drehbuch + 3: Applikationsdokument + 4: Applikationlogbuch + ö + + + + + Schliessen des Formulars + + + + + + + + Prüfung, ob Datenänderungen vorgenommen wurden. Beim Speichern werden ebenfalls allfällige Änderungen von C1DokumentAblagoeOrt durchgeführt. + Wurden lediglich Änderungen bei C1Dokumentablageort vorgenommen, wird separat gefrat, ob die Änderungen gespeichert werden sollen. + + + + + + + + Optionaler Parameter Dokumentnummer des aktuellen Dokuments + + + + + Formular-Load + + + + + + + + Formular schliessen + + + + + + + + Sicherungs-Button betätigt + + + + + + + + Datensatz kopieren + + + + + + + + Neuer Datensatz erstellen + + + + + + + + Aktueller Datensatz inaktivieren + + + + + + + + Menu Beenden + + + + + + + + Vertragspartner suchen + + + + + + + + Allg Eventhandler für Chanage-Ereignise festlegen + + + + + + + Envent-Handler für Change-Ereignisse + + + + + + + + Sucht in den Base-Controls sämtliche Controls mit dem Namen in "Key" (Wildcards * möglich) und listet + die gefundnen Controls in der Liste L zur weiteren Bearbeitung + + Base-Contrlo (z.B. aktuelles Formular + Schlüssel welcher gesucht werden soll + Liste der gefundenen Objekte + True wenn eines oder mehr Controls gefunden wurden, false wenn kein Control gefunden wurde. + + + + + + Handelt das Change-Ereignis eines Datetimepckers und stellt das ausgewählte Datum in das entsprechende Textfeld + + + + + + + + Daten ab DB laden uns ins Form befüllen + + + + + + + Daten ab Form speichern + + + + + + Auswahl des zu speichernden Dokumentes + + + + + + + + Dokument anzeigen + + + + + + + + Text-Change von Txt-Dateiname + + + + + + + + Tabellenname übernehmen und Daten ab DB laden + + + + + + + Daten ab Datenbank laden + + + + + + Basis-Datentabelle laden. Diese wird für die dynamische Generierung der Insert- und Update-Statements benötigt + + + + + + Update-Statement dynamisch für das UpdateCommand generieren + + + + + + Insert-Statement dynamisch für das InsertCommand generieren + + + + + + Prefixt für den SP-Übergabeparameter generieren + + Aktuelle Columnt + Prefis für SP-Übergabeparameter + + + + + SQL-DB-Type für den SP-Übergabeparameter festlegen + + Aktuelle Column + SQLDBType + + + + + Feldlänge für den SP-Übergabeparemter festlegen + + Aktulle Column + Feldlänge + + + + + Datesichern. Dabei wird das Update- sowie das Insert-Statement dynamisch generiert + + + + + + Dispose von Tabledata + + + + + + Load der Verbindungstabelle + + + + + + + + + Neuer Eintrag in der Tabelle eintragen. Sind neben den Defaultwerten weitere Attribute vorhanden, werde diese abhängig vom Datentype mit Defaultwerten befüllt. + + + + + + + + + + Dokumente lesen und dem Grid übergeben + + C1TrueDBGrid mit Dokumente + + + + + + Kontakte auslesen und dem Truedbgrid übergeben + + TruedbGrid + Vertragselement, für welches die Dokumente ausgelesen werden + + + +
+
diff --git a/ThemenDokumente/obj/Debug/themendokumente.dll.licenses b/ThemenDokumente/obj/Debug/themendokumente.dll.licenses new file mode 100644 index 0000000..a3f932f Binary files /dev/null and b/ThemenDokumente/obj/Debug/themendokumente.dll.licenses differ diff --git a/ThemenDokumente/obj/Release/CoreCompileInputs.cache b/ThemenDokumente/obj/Release/CoreCompileInputs.cache new file mode 100644 index 0000000..f52b663 --- /dev/null +++ b/ThemenDokumente/obj/Release/CoreCompileInputs.cache @@ -0,0 +1 @@ +ab3f5fe58e87737c4ca10ae176c86452ab2fade5 diff --git a/ThemenDokumente/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache b/ThemenDokumente/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache new file mode 100644 index 0000000..93df8fe Binary files /dev/null and b/ThemenDokumente/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache differ diff --git a/ThemenDokumente/obj/Release/TempPE/My Project.Resources.Designer.vb.dll b/ThemenDokumente/obj/Release/TempPE/My Project.Resources.Designer.vb.dll new file mode 100644 index 0000000..81a2ebe Binary files /dev/null and b/ThemenDokumente/obj/Release/TempPE/My Project.Resources.Designer.vb.dll differ diff --git a/ThemenDokumente/obj/Release/ThemenDokumente.Dokumente.resources b/ThemenDokumente/obj/Release/ThemenDokumente.Dokumente.resources new file mode 100644 index 0000000..f176c3e Binary files /dev/null and b/ThemenDokumente/obj/Release/ThemenDokumente.Dokumente.resources differ diff --git a/ThemenDokumente/obj/Release/ThemenDokumente.Resources.resources b/ThemenDokumente/obj/Release/ThemenDokumente.Resources.resources new file mode 100644 index 0000000..06c24d0 Binary files /dev/null and b/ThemenDokumente/obj/Release/ThemenDokumente.Resources.resources differ diff --git a/ThemenDokumente/obj/Release/ThemenDokumente.frmDokument.resources b/ThemenDokumente/obj/Release/ThemenDokumente.frmDokument.resources new file mode 100644 index 0000000..01716f8 Binary files /dev/null and b/ThemenDokumente/obj/Release/ThemenDokumente.frmDokument.resources differ diff --git a/ThemenDokumente/obj/Release/ThemenDokumente.vbproj.FileListAbsolute.txt b/ThemenDokumente/obj/Release/ThemenDokumente.vbproj.FileListAbsolute.txt new file mode 100644 index 0000000..686d9db --- /dev/null +++ b/ThemenDokumente/obj/Release/ThemenDokumente.vbproj.FileListAbsolute.txt @@ -0,0 +1,6 @@ +E:\Software-Projekte\TKBDiverse\Themenmanagement\ThemenDokumente\obj\Release\ThemenDokumente.vbprojResolveAssemblyReference.cache +E:\Software-Projekte\TKBDiverse\Themenmanagement\ThemenDokumente\obj\Release\ThemenDokumente.frmDokument.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\ThemenDokumente\obj\Release\ThemenDokumente.Resources.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\ThemenDokumente\obj\Release\ThemenDokumente.Dokumente.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\ThemenDokumente\obj\Release\ThemenDokumente.vbproj.GenerateResource.Cache +E:\Software-Projekte\TKBDiverse\Themenmanagement\ThemenDokumente\obj\Release\ThemenDokumente.dll.licenses diff --git a/ThemenDokumente/obj/Release/ThemenDokumente.vbproj.GenerateResource.Cache b/ThemenDokumente/obj/Release/ThemenDokumente.vbproj.GenerateResource.Cache new file mode 100644 index 0000000..7bc8d59 Binary files /dev/null and b/ThemenDokumente/obj/Release/ThemenDokumente.vbproj.GenerateResource.Cache differ diff --git a/ThemenDokumente/obj/Release/build.force b/ThemenDokumente/obj/Release/build.force new file mode 100644 index 0000000..e69de29 diff --git a/ThemenDokumente/obj/x86/Debug/Themenmanagement.vbproj.FileListAbsolute.txt b/ThemenDokumente/obj/x86/Debug/Themenmanagement.vbproj.FileListAbsolute.txt new file mode 100644 index 0000000..3a48c7d --- /dev/null +++ b/ThemenDokumente/obj/x86/Debug/Themenmanagement.vbproj.FileListAbsolute.txt @@ -0,0 +1,68 @@ +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\Themenmanagement.exe.config +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.exe +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.xml +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.pdb +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.vbprojResolveAssemblyReference.cache +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmDatenbankauswahl.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmAbout.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmLogin.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmMsgBox.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmSplash.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmSuche.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmKernbotschaft.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmKernbotschaften.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmPendenz.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmPendenzübersicht.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmDomainEditor.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmDomainEditorExtTables.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmFormSelector.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmSysadminMenu.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmSysadminTableSelector.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.FrmToolTipEditor.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmVerbindungEditor.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmMain.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmDetail.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.Resources.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmTreeselect.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmThemenübersicht.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.vbproj.GenerateResource.Cache +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.exe.licenses +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\Themenmanagement.exe +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\Themenmanagement.pdb +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\Themenmanagement.xml +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\FlexCel.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\KommAuspraegung.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\RTFEditor.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\ThemaPerson.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\ThemenDokumente.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\XLSLib.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\_FRReporting.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\FastReport.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\FastReport.Bars.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\KommAuspraegung.pdb +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\KommAuspraegung.xml +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\ThemaPerson.pdb +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\ThemaPerson.xml +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\ThemenDokumente.pdb +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\ThemenDokumente.xml +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\RTFEditor.pdb +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\RTFEditor.xml +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\_FRReporting.pdb +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\_FRReporting.xml +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\C1.Win.C1FlexGrid.4.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\C1.Win.C1FlexGrid.4.xml +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\C1.Win.C1FlexGrid.Classic.4.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\CG.Controls.Grid.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\NPOI.HSSF.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\NPOI.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\NPOI.DDF.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\NPOI.Util.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\NPOI.POIFS.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\NPOI.HPSF.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\ICSharpCode.SharpZipLib.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frmKB_Presentation.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\FastReport.Editor.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.frm_KBParam.resources +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\ThemeColorPicker.dll +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\bin\Debug\ThemeColorPicker.pdb +E:\Software-Projekte\TKBDiverse\Themenmanagement\Themenmanagement\obj\x86\Debug\Themenmanagement.AdobeColorPicker.resources diff --git a/Themenmanagement.jmconfig b/Themenmanagement.jmconfig new file mode 100644 index 0000000..10eea63 --- /dev/null +++ b/Themenmanagement.jmconfig @@ -0,0 +1 @@ +false \ No newline at end of file diff --git a/Themenmanagement.sln b/Themenmanagement.sln new file mode 100644 index 0000000..1175326 --- /dev/null +++ b/Themenmanagement.sln @@ -0,0 +1,81 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.26228.4 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Themenmanagement", "Themenmanagement\Themenmanagement.vbproj", "{1B191999-7204-4EB5-96F7-A6805B0B32FC}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "ThemenDokumente", "ThemenDokumente\ThemenDokumente.vbproj", "{91C33E2D-DE28-4D17-B94B-240E51D2BCB9}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "KommAuspraegung", "KommAuspraegung\KommAuspraegung.vbproj", "{88460338-2FE8-43DA-A884-9E25FF5F5601}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "ThemaPerson", "ThemaPerson\ThemaPerson.vbproj", "{89F7577A-E7B5-41B8-82F1-BA59B9E4EF74}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "_FRReporting", "_FRReporting\_FRReporting.vbproj", "{C04C6268-6402-4DEB-8BFA-E6A233B55DBF}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|Mixed Platforms = Debug|Mixed Platforms + Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|Mixed Platforms = Release|Mixed Platforms + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {1B191999-7204-4EB5-96F7-A6805B0B32FC}.Debug|Any CPU.ActiveCfg = Debug|x86 + {1B191999-7204-4EB5-96F7-A6805B0B32FC}.Debug|Any CPU.Build.0 = Debug|x86 + {1B191999-7204-4EB5-96F7-A6805B0B32FC}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 + {1B191999-7204-4EB5-96F7-A6805B0B32FC}.Debug|Mixed Platforms.Build.0 = Debug|x86 + {1B191999-7204-4EB5-96F7-A6805B0B32FC}.Debug|x86.ActiveCfg = Debug|x86 + {1B191999-7204-4EB5-96F7-A6805B0B32FC}.Debug|x86.Build.0 = Debug|x86 + {1B191999-7204-4EB5-96F7-A6805B0B32FC}.Release|Any CPU.ActiveCfg = Release|x86 + {1B191999-7204-4EB5-96F7-A6805B0B32FC}.Release|Mixed Platforms.ActiveCfg = Release|x86 + {1B191999-7204-4EB5-96F7-A6805B0B32FC}.Release|Mixed Platforms.Build.0 = Release|x86 + {1B191999-7204-4EB5-96F7-A6805B0B32FC}.Release|x86.ActiveCfg = Release|x86 + {1B191999-7204-4EB5-96F7-A6805B0B32FC}.Release|x86.Build.0 = Release|x86 + {91C33E2D-DE28-4D17-B94B-240E51D2BCB9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {91C33E2D-DE28-4D17-B94B-240E51D2BCB9}.Debug|Any CPU.Build.0 = Debug|Any CPU + {91C33E2D-DE28-4D17-B94B-240E51D2BCB9}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {91C33E2D-DE28-4D17-B94B-240E51D2BCB9}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {91C33E2D-DE28-4D17-B94B-240E51D2BCB9}.Debug|x86.ActiveCfg = Debug|Any CPU + {91C33E2D-DE28-4D17-B94B-240E51D2BCB9}.Release|Any CPU.ActiveCfg = Release|Any CPU + {91C33E2D-DE28-4D17-B94B-240E51D2BCB9}.Release|Any CPU.Build.0 = Release|Any CPU + {91C33E2D-DE28-4D17-B94B-240E51D2BCB9}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {91C33E2D-DE28-4D17-B94B-240E51D2BCB9}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {91C33E2D-DE28-4D17-B94B-240E51D2BCB9}.Release|x86.ActiveCfg = Release|Any CPU + {88460338-2FE8-43DA-A884-9E25FF5F5601}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {88460338-2FE8-43DA-A884-9E25FF5F5601}.Debug|Any CPU.Build.0 = Debug|Any CPU + {88460338-2FE8-43DA-A884-9E25FF5F5601}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {88460338-2FE8-43DA-A884-9E25FF5F5601}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {88460338-2FE8-43DA-A884-9E25FF5F5601}.Debug|x86.ActiveCfg = Debug|Any CPU + {88460338-2FE8-43DA-A884-9E25FF5F5601}.Release|Any CPU.ActiveCfg = Release|Any CPU + {88460338-2FE8-43DA-A884-9E25FF5F5601}.Release|Any CPU.Build.0 = Release|Any CPU + {88460338-2FE8-43DA-A884-9E25FF5F5601}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {88460338-2FE8-43DA-A884-9E25FF5F5601}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {88460338-2FE8-43DA-A884-9E25FF5F5601}.Release|x86.ActiveCfg = Release|Any CPU + {89F7577A-E7B5-41B8-82F1-BA59B9E4EF74}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {89F7577A-E7B5-41B8-82F1-BA59B9E4EF74}.Debug|Any CPU.Build.0 = Debug|Any CPU + {89F7577A-E7B5-41B8-82F1-BA59B9E4EF74}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {89F7577A-E7B5-41B8-82F1-BA59B9E4EF74}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {89F7577A-E7B5-41B8-82F1-BA59B9E4EF74}.Debug|x86.ActiveCfg = Debug|Any CPU + {89F7577A-E7B5-41B8-82F1-BA59B9E4EF74}.Release|Any CPU.ActiveCfg = Release|Any CPU + {89F7577A-E7B5-41B8-82F1-BA59B9E4EF74}.Release|Any CPU.Build.0 = Release|Any CPU + {89F7577A-E7B5-41B8-82F1-BA59B9E4EF74}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {89F7577A-E7B5-41B8-82F1-BA59B9E4EF74}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {89F7577A-E7B5-41B8-82F1-BA59B9E4EF74}.Release|x86.ActiveCfg = Release|Any CPU + {C04C6268-6402-4DEB-8BFA-E6A233B55DBF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C04C6268-6402-4DEB-8BFA-E6A233B55DBF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C04C6268-6402-4DEB-8BFA-E6A233B55DBF}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {C04C6268-6402-4DEB-8BFA-E6A233B55DBF}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {C04C6268-6402-4DEB-8BFA-E6A233B55DBF}.Debug|x86.ActiveCfg = Debug|Any CPU + {C04C6268-6402-4DEB-8BFA-E6A233B55DBF}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C04C6268-6402-4DEB-8BFA-E6A233B55DBF}.Release|Any CPU.Build.0 = Release|Any CPU + {C04C6268-6402-4DEB-8BFA-E6A233B55DBF}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {C04C6268-6402-4DEB-8BFA-E6A233B55DBF}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {C04C6268-6402-4DEB-8BFA-E6A233B55DBF}.Release|x86.ActiveCfg = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/Themenmanagement.sln.vsdoc b/Themenmanagement.sln.vsdoc new file mode 100644 index 0000000..9ffff5e --- /dev/null +++ b/Themenmanagement.sln.vsdoc @@ -0,0 +1,7 @@ + + + + default + + + diff --git a/Themenmanagement.suo b/Themenmanagement.suo new file mode 100644 index 0000000..0754512 Binary files /dev/null and b/Themenmanagement.suo differ diff --git a/Themenmanagement.v11.suo b/Themenmanagement.v11.suo new file mode 100644 index 0000000..52a35c9 Binary files /dev/null and b/Themenmanagement.v11.suo differ diff --git a/Themenmanagement.v12.suo b/Themenmanagement.v12.suo new file mode 100644 index 0000000..7ed31ac Binary files /dev/null and b/Themenmanagement.v12.suo differ diff --git a/Themenmanagement/App.config b/Themenmanagement/App.config new file mode 100644 index 0000000..b3289b4 --- /dev/null +++ b/Themenmanagement/App.config @@ -0,0 +1,6 @@ + + + + + + diff --git a/Themenmanagement/Custom-Icon-Design-Pretty-Office-5-Themes.ico b/Themenmanagement/Custom-Icon-Design-Pretty-Office-5-Themes.ico new file mode 100644 index 0000000..74e60e0 Binary files /dev/null and b/Themenmanagement/Custom-Icon-Design-Pretty-Office-5-Themes.ico differ diff --git a/Themenmanagement/Custom-Icon-Design-Pretty-Office-8-Theme.ico b/Themenmanagement/Custom-Icon-Design-Pretty-Office-8-Theme.ico new file mode 100644 index 0000000..da1c523 Binary files /dev/null and b/Themenmanagement/Custom-Icon-Design-Pretty-Office-8-Theme.ico differ diff --git a/Themenmanagement/DB/Generierte Objekte/clsApplication.vb b/Themenmanagement/DB/Generierte Objekte/clsApplication.vb new file mode 100644 index 0000000..05c6b06 --- /dev/null +++ b/Themenmanagement/DB/Generierte Objekte/clsApplication.vb @@ -0,0 +1,516 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'Application' +' // Generated by LLBLGen v1.21.2003.712 Final on: Dienstag, 1. Januar 2013, 19:36:38 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + ''' + ''' Purpose: Data Access class for the table 'Application'. + ''' + Public Class clsApplication + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bShowlogin, m_bAktiv As SqlBoolean + Private m_daMutiert_am, m_daErstellt_am As SqlDateTime + Private m_iMutierer, m_iMandantnr, m_iApplikationsnr As SqlInt32 + Private m_sTmp_filepath, m_sVersion As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iApplikationsnr
  • + '''
  • sVersion. May be SqlString.Null
  • + '''
  • bShowlogin. May be SqlBoolean.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • sTmp_filepath. May be SqlString.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Application_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iapplikationsnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iApplikationsnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sversion", SqlDbType.VarChar, 4, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sVersion)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bshowlogin", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bShowlogin)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@stmp_filepath", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTmp_filepath)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Application_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsApplication::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iApplikationsnr
  • + '''
  • sVersion. May be SqlString.Null
  • + '''
  • bShowlogin. May be SqlBoolean.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • sTmp_filepath. May be SqlString.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Application_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iapplikationsnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iApplikationsnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sversion", SqlDbType.VarChar, 4, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sVersion)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bshowlogin", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bShowlogin)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@stmp_filepath", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTmp_filepath)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Application_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsApplication::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iApplikationsnr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Application_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iapplikationsnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iApplikationsnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Application_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsApplication::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iApplikationsnr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iApplikationsnr
  • + '''
  • sVersion
  • + '''
  • bShowlogin
  • + '''
  • iMandantnr
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
  • sTmp_filepath
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Application_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("Application") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iapplikationsnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iApplikationsnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Application_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iApplikationsnr = New SqlInt32(CType(dtToReturn.Rows(0)("applikationsnr"), Integer)) + If dtToReturn.Rows(0)("version") Is System.DBNull.Value Then + m_sVersion = SqlString.Null + Else + m_sVersion = New SqlString(CType(dtToReturn.Rows(0)("version"), String)) + End If + If dtToReturn.Rows(0)("showlogin") Is System.DBNull.Value Then + m_bShowlogin = SqlBoolean.Null + Else + m_bShowlogin = New SqlBoolean(CType(dtToReturn.Rows(0)("showlogin"), Boolean)) + End If + If dtToReturn.Rows(0)("mandantnr") Is System.DBNull.Value Then + m_iMandantnr = SqlInt32.Null + Else + m_iMandantnr = New SqlInt32(CType(dtToReturn.Rows(0)("mandantnr"), Integer)) + End If + If dtToReturn.Rows(0)("aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + If dtToReturn.Rows(0)("tmp_filepath") Is System.DBNull.Value Then + m_sTmp_filepath = SqlString.Null + Else + m_sTmp_filepath = New SqlString(CType(dtToReturn.Rows(0)("tmp_filepath"), String)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsApplication::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Application_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("Application") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Application_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsApplication::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iApplikationsnr]() As SqlInt32 + Get + Return m_iApplikationsnr + End Get + Set(ByVal Value As SqlInt32) + Dim iApplikationsnrTmp As SqlInt32 = Value + If iApplikationsnrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iApplikationsnr", "iApplikationsnr can't be NULL") + End If + m_iApplikationsnr = Value + End Set + End Property + + + Public Property [sVersion]() As SqlString + Get + Return m_sVersion + End Get + Set(ByVal Value As SqlString) + m_sVersion = Value + End Set + End Property + + + Public Property [bShowlogin]() As SqlBoolean + Get + Return m_bShowlogin + End Get + Set(ByVal Value As SqlBoolean) + m_bShowlogin = Value + End Set + End Property + + + Public Property [iMandantnr]() As SqlInt32 + Get + Return m_iMandantnr + End Get + Set(ByVal Value As SqlInt32) + m_iMandantnr = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + + + Public Property [sTmp_filepath]() As SqlString + Get + Dim s As String + s = m_sTmp_filepath.ToString + If UCase(s).IndexOf("%APPDATA%") > -1 Then + s = s.Replace("%appdata%", System.Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)) + End If + m_sTmp_filepath = New SqlString(CType(s, String)) + Return m_sTmp_filepath + End Get + Set(ByVal Value As SqlString) + m_sTmp_filepath = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/Themenmanagement/DB/Generierte Objekte/clsConnectionProvider.vb b/Themenmanagement/DB/Generierte Objekte/clsConnectionProvider.vb new file mode 100644 index 0000000..5af5b4d --- /dev/null +++ b/Themenmanagement/DB/Generierte Objekte/clsConnectionProvider.vb @@ -0,0 +1,289 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Connection Provider class for Database connection sharing +' // Generated by LLBLGen v1.21.2003.712 Final on: Dienstag, 1. Januar 2013, 19:36:38 +' // This class implements IDisposable. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Configuration +Imports System.Data +Imports System.Data.SqlClient +Imports System.Collections + +Namespace DB + ' /// + ' /// Purpose: provides a SqlConnection object which can be shared among data-access tier objects + ' /// to provide a way to do ADO.NET transaction coding without the hassling with SqlConnection objects + ' /// on a high level. + ' /// + Public Class clsConnectionProvider + Implements IDisposable + +#Region " Class Member Declarations " + + Private m_scoDBConnection As SqlConnection + Private m_bIsTransactionPending, m_bIsDisposed As Boolean + Private m_stCurrentTransaction As SqlTransaction + Private m_alSavePoints As ArrayList + +#End Region + + + Public Sub New() + ' // Init the class + InitClass() + End Sub + + + ' /// + ' /// Purpose: Implements the IDispose' method Dispose. + ' /// + Overloads Public Sub Dispose() Implements IDisposable.Dispose + Dispose(True) + GC.SuppressFinalize(Me) + End Sub + + + ' /// + ' /// Purpose: Implements the Dispose functionality. + ' /// + Overridable Overloads Protected Sub Dispose(ByVal bIsDisposing As Boolean) + ' // Check to see if Dispose has already been called. + If Not m_bIsDisposed Then + If bIsDisposing Then + ' // Dispose managed resources. + If Not (m_stCurrentTransaction Is Nothing) Then + m_stCurrentTransaction.Dispose() + m_stCurrentTransaction = Nothing + End If + If Not (m_scoDBConnection Is Nothing) Then + ' // closing the connection will abort (rollback) any pending transactions + m_scoDBConnection.Close() + m_scoDBConnection.Dispose() + m_scoDBConnection = Nothing + End If + End If + End If + m_bIsDisposed = True + End Sub + + + ' /// + ' /// Purpose: Initializes class members. + ' /// + Private Sub InitClass() + ' // Create all the objects and initialize other members. + m_scoDBConnection = new SqlConnection() + m_bIsDisposed = False + m_stCurrentTransaction = Nothing + m_bIsTransactionPending = False + m_alSavePoints = new ArrayList() + End Sub + + + ' /// + ' /// Purpose: Opens the connection object. + ' /// + ' /// True, if succeeded, otherwise an Exception exception is thrown. + Public Function OpenConnection() As Boolean + Try + If (m_scoDBConnection.State And ConnectionState.Open) > 0 Then + ' // It's already open. + Throw New Exception("OpenConnection::Connection is already open.") + End If + m_scoDBConnection.Open() + m_bIsTransactionPending = False + m_alSavePoints.Clear() + Return True + Catch ex As Exception + ' // bubble exception + Throw ex + End Try + End Function + + + ' /// + ' /// Purpose: Starts a new ADO.NET transaction using the open connection object of this class. + ' /// + ' /// Name of the transaction to start + ' /// True, if transaction is started correctly, otherwise an Exception exception is thrown + Public Function BeginTransaction(sTransactionName As String) As Boolean + Try + If m_bIsTransactionPending Then + ' // no nested transactions allowed. + Throw New Exception("BeginTransaction::Already transaction pending. Nesting not allowed") + End If + If (m_scoDBConnection.State And ConnectionState.Open) = 0 Then + ' // no open connection + Throw New Exception("BeginTransaction::Connection is not open.") + End If + ' // begin the transaction and store the transaction object. + m_stCurrentTransaction = m_scoDBConnection.BeginTransaction(IsolationLevel.ReadCommitted, sTransactionName) + m_bIsTransactionPending = True + Return True + Catch ex As Exception + ' // bubble exception + Throw ex + End Try + End Function + + + ' /// + ' /// Purpose: Commits a pending transaction on the open connection object of this class. + ' /// + ' /// True, if commit was succesful, or an Exception exception is thrown + Public Function CommitTransaction() As Boolean + Try + If Not m_bIsTransactionPending Then + ' // no transaction pending + Throw New Exception("CommitTransaction::No transaction pending.") + End If + If (m_scoDBConnection.State And ConnectionState.Open) = 0 Then + ' // no open connection + Throw New Exception("CommitTransaction::Connection is not open.") + End if + ' // commit the transaction + m_stCurrentTransaction.Commit() + m_bIsTransactionPending = False + m_stCurrentTransaction.Dispose() + m_stCurrentTransaction = Nothing + m_alSavePoints.Clear() + Return True + Catch ex As Exception + ' // bubble exception + Throw ex + End Try + End Function + + + ' /// + ' /// Purpose: Rolls back a pending transaction on the open connection object of this class, + ' /// or rolls back to the savepoint with the given name. Savepoints are created with SaveTransaction(). + ' /// + ' /// Name of transaction to roll back. Can be name of savepoint + ' /// True, if rollback was succesful, or an Exception exception is thrown + Public Function RollbackTransaction(sTransactionToRollback As String) As Boolean + Try + If Not m_bIsTransactionPending Then + ' // no transaction pending + Throw New Exception("RollbackTransaction::No transaction pending.") + End If + If (m_scoDBConnection.State And ConnectionState.Open) = 0 Then + ' // no open connection + Throw New Exception("RollbackTransaction::Connection is not open.") + End If + ' // rollback the transaction + m_stCurrentTransaction.Rollback(sTransactionToRollback) + ' // if this wasn't a savepoint, we've rolled back the complete transaction, so we + ' // can clean it up. + If Not m_alSavePoints.Contains(sTransactionToRollback) Then + ' // it's not a savepoint + m_bIsTransactionPending = False + m_stCurrentTransaction.Dispose() + m_stCurrentTransaction = Nothing + m_alSavePoints.Clear() + End If + Return True + Catch ex As Exception + ' // bubble exception + Throw ex + End Try + End Function + + + ' /// + ' /// Purpose: Saves a pending transaction on the open connection object of this class to a 'savepoint' + ' /// with the given name. + ' /// When a rollback is issued, the caller can rollback to this savepoint or roll back the complete transaction. + ' /// + ' /// Name of the savepoint to store the current transaction under. + ' /// True, if save was succesful, or an Exception exception is thrown + Public Function SaveTransaction(sSavePointName As String) As Boolean + Try + If Not m_bIsTransactionPending Then + ' // no transaction pending + Throw New Exception("SaveTransaction::No transaction pending.") + End If + If (m_scoDBConnection.State And ConnectionState.Open) = 0 Then + ' // no open connection + Throw New Exception("SaveTransaction::Connection is not open.") + End If + ' // save the transaction + m_stCurrentTransaction.Save(sSavePointName) + ' // Store the savepoint in the list. + m_alSavePoints.Add(sSavePointName) + Return True + Catch ex As Exception + ' // bubble exception + Throw ex + End Try + End Function + + + ' /// + ' /// Purpose: Closes the open connection. Depending on bCommitPendingTransactions, a pending + ' /// transaction is commited, or aborted. + ' /// + ' /// Flag for what to do when a transaction is still pending. True + ' /// will commit the current transaction, False will abort (rollback) the complete current transaction. + ' /// True, if close was succesful, False if connection was already closed, or an Exception exception is thrown when + ' /// an error occurs + Public Function CloseConnection(bCommitPendingTransaction As Boolean) As Boolean + Try + If (m_scoDBConnection.State And ConnectionState.Open) = 0 Then + ' // No open connection + Return False + End If + If m_bIsTransactionPending Then + If bCommitPendingTransaction Then + ' // Commit the pending transaction + m_stCurrentTransaction.Commit() + Else + ' // Rollback the pending transaction + m_stCurrentTransaction.Rollback() + End If + m_bIsTransactionPending = False + m_stCurrentTransaction.Dispose() + m_stCurrentTransaction = Nothing + m_alSavePoints.Clear() + End If + ' // close the connection + m_scoDBConnection.Close() + Return True + Catch ex As Exception + ' // bubble exception + Throw ex + End Try + End Function + + +#Region " Class Property Declarations " + + Public ReadOnly Property stCurrentTransaction() As SqlTransaction + Get + Return m_stCurrentTransaction + End Get + End Property + + + Public ReadOnly Property bIsTransactionPending() As Boolean + Get + Return m_bIsTransactionPending + End Get + End Property + + + Public ReadOnly Property scoDBConnection() As SqlConnection + Get + Return m_scoDBConnection + End Get + End Property + Public WriteOnly Property sConnectionString() As String + Set (ByVal Value As String) + m_scoDBConnection.ConnectionString = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/Themenmanagement/DB/Generierte Objekte/clsDBInteractionBase.vb b/Themenmanagement/DB/Generierte Objekte/clsDBInteractionBase.vb new file mode 100644 index 0000000..60f5b0a --- /dev/null +++ b/Themenmanagement/DB/Generierte Objekte/clsDBInteractionBase.vb @@ -0,0 +1,208 @@ +' ////////////////////////////////////////////////////////////////////////////////////////// +' // Description: Base class for Database Interaction. +' // Generated by LLBLGen v1.21.2003.712 Final on: Dienstag, 1. Januar 2013, 19:36:38 +' // Because this class implements IDisposable, derived classes shouldn't do so. +' ////////////////////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Configuration +Imports System.Data +Imports System.Data.SqlClient +Imports System.Data.SqlTypes + +Namespace DB + ' /// + ' /// Purpose: Error Enums used by this LLBL library. + ' /// + Public Enum LLBLError + AllOk + ' // Add more here (check the comma's!) + End Enum + + + ' /// + ' /// Purpose: General interface of the API generated. Contains only common methods of all classes. + ' /// + Public Interface ICommonDBAccess + Function Insert() As Boolean + Function Update() As Boolean + Function Delete() As Boolean + Function SelectOne() As DataTable + Function SelectAll() As DataTable + End Interface + + + ' /// + ' /// Purpose: Abstract base class for Database Interaction classes. + ' /// + Public MustInherit Class clsDBInteractionBase + Implements IDisposable + Implements ICommonDBAccess + +#Region " Class Member Declarations " + + Protected m_scoMainConnection As SqlConnection + Protected m_iRowsAffected As Integer + Protected m_iErrorCode As SqlInt32 + Protected m_bMainConnectionIsCreatedLocal As Boolean + Protected m_cpMainConnectionProvider As clsConnectionProvider + Private m_sConnectionString As String + Private m_bIsDisposed As Boolean + +#End Region + + + ' /// + ' /// Purpose: Class constructor. + ' /// + Public Sub New() + ' // Initialize the class' members. + InitClass() + End Sub + + + ' /// + ' /// Purpose: Initializes class members. + ' /// + Private Sub InitClass() + ' // create all the objects and initialize other members. + m_scoMainConnection = new SqlConnection() + m_bMainConnectionIsCreatedLocal = True + m_cpMainConnectionProvider = Nothing + m_iErrorCode = New SqlInt32(LLBLError.AllOk) + m_bIsDisposed = False + End Sub + + + ' /// + ' /// Purpose: Implements the IDispose' method Dispose. + ' /// + Overloads Public Sub Dispose() Implements IDisposable.Dispose + Dispose(True) + GC.SuppressFinalize(Me) + End Sub + + + ' /// + ' /// Purpose: Implements the Dispose functionality. + ' /// + Overridable Overloads Protected Sub Dispose(ByVal bIsDisposing As Boolean) + ' // Check to see if Dispose has already been called. + If Not m_bIsDisposed Then + If bIsDisposing Then + ' // Dispose managed resources. + If m_bMainConnectionIsCreatedLocal Then + ' // Object is created in this class, so destroy it here. + m_scoMainConnection.Close() + m_scoMainConnection.Dispose() + m_bMainConnectionIsCreatedLocal = True + End If + m_cpMainConnectionProvider = Nothing + m_scoMainConnection = Nothing + End If + End If + m_bIsDisposed = True + End Sub + + + ' /// + ' /// Purpose: Implements the ICommonDBAccess.Insert() method. + ' /// + Public Overridable Function Insert() As Boolean Implements ICommonDBAccess.Insert + ' // No implementation, throw exception + Throw New NotImplementedException() + End Function + + + ' /// + ' /// Purpose: Implements the ICommonDBAccess.Delete() method. + ' /// + Public Overridable Function Delete() As Boolean Implements ICommonDBAccess.Delete + ' // No implementation, throw exception + Throw New NotImplementedException() + End Function + + + ' /// + ' /// Purpose: Implements the ICommonDBAccess.Update() method. + ' /// + Public Overridable Function Update() As Boolean Implements ICommonDBAccess.Update + ' // No implementation, throw exception + Throw New NotImplementedException() + End Function + + + ' /// + ' /// Purpose: Implements the ICommonDBAccess.SelectOne() method. + ' /// + Public Overridable Function SelectOne() As DataTable Implements ICommonDBAccess.SelectOne + ' // No implementation, throw exception + Throw New NotImplementedException() + End Function + + + ' /// + ' /// Purpose: Implements the ICommonDBAccess.SelectAll() method. + ' /// + Public Overridable Function SelectAll() As DataTable Implements ICommonDBAccess.SelectAll + ' // No implementation, throw exception + Throw New NotImplementedException() + End Function + + +#Region " Class Property Declarations " + + Public WriteOnly Property cpMainConnectionProvider() As clsConnectionProvider + Set(ByVal Value As clsConnectionProvider) + If Value Is Nothing Then + ' // Invalid value + Throw New ArgumentNullException("cpMainConnectionProvider", "Nothing passed as value to this property which is not allowed.") + End If + + ' // A connection provider object is passed to this class. + ' // Retrieve the SqlConnection object, if present and create a + ' // reference to it. If there is already a MainConnection object + ' // referenced by the membervar, destroy that one or simply + ' // remove the reference, based on the flag. + If Not (m_scoMainConnection Is Nothing) Then + ' // First get rid of current connection object. Caller is responsible + If m_bMainConnectionIsCreatedLocal Then + ' // Is local created object, close it and dispose it. + m_scoMainConnection.Close() + m_scoMainConnection.Dispose() + End If + ' // Remove reference. + m_scoMainConnection = Nothing + End If + m_cpMainConnectionProvider = CType(Value, clsConnectionProvider) + m_scoMainConnection = m_cpMainConnectionProvider.scoDBConnection + m_bMainConnectionIsCreatedLocal = False + End Set + End Property + + + Public ReadOnly Property iErrorCode() As SqlInt32 + Get + Return m_iErrorCode + End Get + End Property + + + Public Property sConnectionString() As String + Get + Return m_sConnectionString + End Get + Set (ByVal Value As String) + m_sConnectionString = Value + m_scoMainConnection.ConnectionString = m_sConnectionString + End Set + End Property + Public Readonly Property iRowsAffected() As Integer + Get + Return m_iRowsAffected + End Get + End Property + +#End Region + + End Class +End Namespace diff --git a/Themenmanagement/DB/Generierte Objekte/clsFunktionsgruppe.vb b/Themenmanagement/DB/Generierte Objekte/clsFunktionsgruppe.vb new file mode 100644 index 0000000..bad81e1 --- /dev/null +++ b/Themenmanagement/DB/Generierte Objekte/clsFunktionsgruppe.vb @@ -0,0 +1,510 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'funktionsgruppe' +' // Generated by LLBLGen v1.21.2003.712 Final on: Dienstag, 1. Januar 2013, 19:36:38 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + ''' + ''' Purpose: Data Access class for the table 'funktionsgruppe'. + ''' + Public Class clsFunktionsgruppe + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daErstellt_am, m_daMutiert_am As SqlDateTime + Private m_iMutierer, m_iMandantnr, m_iFunktionsgruppenr As SqlInt32 + Private m_sZugehoerigkeit, m_sBezeichnung, m_sBeschreibung As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iFunktionsgruppenr
  • + '''
  • sBezeichnung. May be SqlString.Null
  • + '''
  • sBeschreibung. May be SqlString.Null
  • + '''
  • sZugehoerigkeit. May be SqlString.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_funktionsgruppe_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@ifunktionsgruppenr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iFunktionsgruppenr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sbezeichnung", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sbeschreibung", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@szugehoerigkeit", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sZugehoerigkeit)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_funktionsgruppe_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsFunktionsgruppe::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iFunktionsgruppenr
  • + '''
  • sBezeichnung. May be SqlString.Null
  • + '''
  • sBeschreibung. May be SqlString.Null
  • + '''
  • sZugehoerigkeit. May be SqlString.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_funktionsgruppe_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@ifunktionsgruppenr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iFunktionsgruppenr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sbezeichnung", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sbeschreibung", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@szugehoerigkeit", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sZugehoerigkeit)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_funktionsgruppe_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsFunktionsgruppe::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iFunktionsgruppenr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_funktionsgruppe_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@ifunktionsgruppenr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iFunktionsgruppenr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_funktionsgruppe_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsFunktionsgruppe::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iFunktionsgruppenr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iFunktionsgruppenr
  • + '''
  • sBezeichnung
  • + '''
  • sBeschreibung
  • + '''
  • sZugehoerigkeit
  • + '''
  • iMandantnr
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_funktionsgruppe_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("funktionsgruppe") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@ifunktionsgruppenr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iFunktionsgruppenr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_funktionsgruppe_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iFunktionsgruppenr = New SqlInt32(CType(dtToReturn.Rows(0)("funktionsgruppenr"), Integer)) + If dtToReturn.Rows(0)("bezeichnung") Is System.DBNull.Value Then + m_sBezeichnung = SqlString.Null + Else + m_sBezeichnung = New SqlString(CType(dtToReturn.Rows(0)("bezeichnung"), String)) + End If + If dtToReturn.Rows(0)("beschreibung") Is System.DBNull.Value Then + m_sBeschreibung = SqlString.Null + Else + m_sBeschreibung = New SqlString(CType(dtToReturn.Rows(0)("beschreibung"), String)) + End If + If dtToReturn.Rows(0)("zugehoerigkeit") Is System.DBNull.Value Then + m_sZugehoerigkeit = SqlString.Null + Else + m_sZugehoerigkeit = New SqlString(CType(dtToReturn.Rows(0)("zugehoerigkeit"), String)) + End If + If dtToReturn.Rows(0)("mandantnr") Is System.DBNull.Value Then + m_iMandantnr = SqlInt32.Null + Else + m_iMandantnr = New SqlInt32(CType(dtToReturn.Rows(0)("mandantnr"), Integer)) + End If + If dtToReturn.Rows(0)("aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsFunktionsgruppe::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_funktionsgruppe_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("funktionsgruppe") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_funktionsgruppe_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsFunktionsgruppe::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iFunktionsgruppenr]() As SqlInt32 + Get + Return m_iFunktionsgruppenr + End Get + Set(ByVal Value As SqlInt32) + Dim iFunktionsgruppenrTmp As SqlInt32 = Value + If iFunktionsgruppenrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iFunktionsgruppenr", "iFunktionsgruppenr can't be NULL") + End If + m_iFunktionsgruppenr = Value + End Set + End Property + + + Public Property [sBezeichnung]() As SqlString + Get + Return m_sBezeichnung + End Get + Set(ByVal Value As SqlString) + m_sBezeichnung = Value + End Set + End Property + + + Public Property [sBeschreibung]() As SqlString + Get + Return m_sBeschreibung + End Get + Set(ByVal Value As SqlString) + m_sBeschreibung = Value + End Set + End Property + + + Public Property [sZugehoerigkeit]() As SqlString + Get + Return m_sZugehoerigkeit + End Get + Set(ByVal Value As SqlString) + m_sZugehoerigkeit = Value + End Set + End Property + + + Public Property [iMandantnr]() As SqlInt32 + Get + Return m_iMandantnr + End Get + Set(ByVal Value As SqlInt32) + m_iMandantnr = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/Themenmanagement/DB/Generierte Objekte/clsFunktionsgruppe_rolle.vb b/Themenmanagement/DB/Generierte Objekte/clsFunktionsgruppe_rolle.vb new file mode 100644 index 0000000..ea69596 --- /dev/null +++ b/Themenmanagement/DB/Generierte Objekte/clsFunktionsgruppe_rolle.vb @@ -0,0 +1,489 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'funktionsgruppe_rolle' +' // Generated by LLBLGen v1.21.2003.712 Final on: Dienstag, 1. Januar 2013, 19:36:38 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + ''' + ''' Purpose: Data Access class for the table 'funktionsgruppe_rolle'. + ''' + Public Class clsFunktionsgruppe_rolle + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daErstellt_am, m_daMutiert_am As SqlDateTime + Private m_iMutierer, m_iFunktionsgruppenr, m_iFunktionsgrupperollenr, m_iMandantnr, m_iRollenr As SqlInt32 + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iFunktionsgrupperollenr
  • + '''
  • iFunktionsgruppenr. May be SqlInt32.Null
  • + '''
  • iRollenr. May be SqlInt32.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_funktionsgruppe_rolle_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iFunktionsgrupperollenr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iFunktionsgrupperollenr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@ifunktionsgruppenr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iFunktionsgruppenr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@irollenr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iRollenr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_funktionsgruppe_rolle_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsFunktionsgruppe_rolle::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iFunktionsgrupperollenr
  • + '''
  • iFunktionsgruppenr. May be SqlInt32.Null
  • + '''
  • iRollenr. May be SqlInt32.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_funktionsgruppe_rolle_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iFunktionsgrupperollenr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iFunktionsgrupperollenr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@ifunktionsgruppenr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iFunktionsgruppenr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@irollenr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iRollenr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_funktionsgruppe_rolle_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsFunktionsgruppe_rolle::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iFunktionsgrupperollenr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_funktionsgruppe_rolle_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iFunktionsgrupperollenr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iFunktionsgrupperollenr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_funktionsgruppe_rolle_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsFunktionsgruppe_rolle::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iFunktionsgrupperollenr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iFunktionsgrupperollenr
  • + '''
  • iFunktionsgruppenr
  • + '''
  • iRollenr
  • + '''
  • iMandantnr
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_funktionsgruppe_rolle_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("funktionsgruppe_rolle") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iFunktionsgrupperollenr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iFunktionsgrupperollenr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_funktionsgruppe_rolle_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iFunktionsgrupperollenr = New SqlInt32(CType(dtToReturn.Rows(0)("Funktionsgrupperollenr"), Integer)) + If dtToReturn.Rows(0)("funktionsgruppenr") Is System.DBNull.Value Then + m_iFunktionsgruppenr = SqlInt32.Null + Else + m_iFunktionsgruppenr = New SqlInt32(CType(dtToReturn.Rows(0)("funktionsgruppenr"), Integer)) + End If + If dtToReturn.Rows(0)("rollenr") Is System.DBNull.Value Then + m_iRollenr = SqlInt32.Null + Else + m_iRollenr = New SqlInt32(CType(dtToReturn.Rows(0)("rollenr"), Integer)) + End If + If dtToReturn.Rows(0)("mandantnr") Is System.DBNull.Value Then + m_iMandantnr = SqlInt32.Null + Else + m_iMandantnr = New SqlInt32(CType(dtToReturn.Rows(0)("mandantnr"), Integer)) + End If + If dtToReturn.Rows(0)("aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsFunktionsgruppe_rolle::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_funktionsgruppe_rolle_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("funktionsgruppe_rolle") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_funktionsgruppe_rolle_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsFunktionsgruppe_rolle::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iFunktionsgrupperollenr]() As SqlInt32 + Get + Return m_iFunktionsgrupperollenr + End Get + Set(ByVal Value As SqlInt32) + Dim iFunktionsgrupperollenrTmp As SqlInt32 = Value + If iFunktionsgrupperollenrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iFunktionsgrupperollenr", "iFunktionsgrupperollenr can't be NULL") + End If + m_iFunktionsgrupperollenr = Value + End Set + End Property + + + Public Property [iFunktionsgruppenr]() As SqlInt32 + Get + Return m_iFunktionsgruppenr + End Get + Set(ByVal Value As SqlInt32) + m_iFunktionsgruppenr = Value + End Set + End Property + + + Public Property [iRollenr]() As SqlInt32 + Get + Return m_iRollenr + End Get + Set(ByVal Value As SqlInt32) + m_iRollenr = Value + End Set + End Property + + + Public Property [iMandantnr]() As SqlInt32 + Get + Return m_iMandantnr + End Get + Set(ByVal Value As SqlInt32) + m_iMandantnr = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/Themenmanagement/DB/Generierte Objekte/clsIssueRelevanzTKB.vb b/Themenmanagement/DB/Generierte Objekte/clsIssueRelevanzTKB.vb new file mode 100644 index 0000000..52991c2 --- /dev/null +++ b/Themenmanagement/DB/Generierte Objekte/clsIssueRelevanzTKB.vb @@ -0,0 +1,373 @@ +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + Public Class clsIssueRelevanzTKB + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daMutiert_am, m_daErstellt_am As SqlDateTime + Private m_iMutierer, m_iEintragnrNr As SqlInt32 + Private m_sBezeichnung, m_sBeschreibung As SqlString + +#End Region + + + Public Sub New() + ' // Nothing for now. + End Sub + + + Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_IssueRelevanzTKB_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iEintragnrNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iEintragnrNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBezeichnung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBeschreibung", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_IssueRelevanzTKB_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsIssueRelevanzTKB::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_IssueRelevanzTKB_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iEintragnrNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iEintragnrNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBezeichnung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBeschreibung", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_IssueRelevanzTKB_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsIssueRelevanzTKB::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_IssueRelevanzTKB_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iEintragnrNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iEintragnrNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_IssueRelevanzTKB_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsIssueRelevanzTKB::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_IssueRelevanzTKB_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("IssueRelevanzTKB") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iEintragnrNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iEintragnrNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_IssueRelevanzTKB_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iEintragnrNr = New SqlInt32(CType(dtToReturn.Rows(0)("EintragnrNr"), Integer)) + If dtToReturn.Rows(0)("Bezeichnung") Is System.DBNull.Value Then + m_sBezeichnung = SqlString.Null + Else + m_sBezeichnung = New SqlString(CType(dtToReturn.Rows(0)("Bezeichnung"), String)) + End If + If dtToReturn.Rows(0)("Beschreibung") Is System.DBNull.Value Then + m_sBeschreibung = SqlString.Null + Else + m_sBeschreibung = New SqlString(CType(dtToReturn.Rows(0)("Beschreibung"), String)) + End If + If dtToReturn.Rows(0)("aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsIssueRelevanzTKB::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_IssueRelevanzTKB_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("IssueRelevanzTKB") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_IssueRelevanzTKB_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsIssueRelevanzTKB::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iEintragnrNr]() As SqlInt32 + Get + Return m_iEintragnrNr + End Get + Set(ByVal Value As SqlInt32) + Dim iEintragnrNrTmp As SqlInt32 = Value + If iEintragnrNrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iEintragnrNr", "iEintragnrNr can't be NULL") + End If + m_iEintragnrNr = Value + End Set + End Property + + + Public Property [sBezeichnung]() As SqlString + Get + Return m_sBezeichnung + End Get + Set(ByVal Value As SqlString) + m_sBezeichnung = Value + End Set + End Property + + + Public Property [sBeschreibung]() As SqlString + Get + Return m_sBeschreibung + End Get + Set(ByVal Value As SqlString) + m_sBeschreibung = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/Themenmanagement/DB/Generierte Objekte/clsIssueRelevanzTKBVeraenderung.vb b/Themenmanagement/DB/Generierte Objekte/clsIssueRelevanzTKBVeraenderung.vb new file mode 100644 index 0000000..cd08b67 --- /dev/null +++ b/Themenmanagement/DB/Generierte Objekte/clsIssueRelevanzTKBVeraenderung.vb @@ -0,0 +1,373 @@ +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + Public Class clsIssueRelevanzTKBVeraenderung + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daMutiert_am, m_daErstellt_am As SqlDateTime + Private m_iMutierer, m_iEintragnrNr As SqlInt32 + Private m_sBezeichnung, m_sBeschreibung As SqlString + +#End Region + + + Public Sub New() + ' // Nothing for now. + End Sub + + + Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_IssueRelevanzTKBVeraenderung_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iEintragnrNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iEintragnrNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBezeichnung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBeschreibung", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_IssueRelevanzTKBVeraenderung_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsIssueRelevanzTKBVeraenderung::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_IssueRelevanzTKBVeraenderung_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iEintragnrNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iEintragnrNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBezeichnung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBeschreibung", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_IssueRelevanzTKBVeraenderung_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsIssueRelevanzTKBVeraenderung::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_IssueRelevanzTKBVeraenderung_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iEintragnrNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iEintragnrNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_IssueRelevanzTKBVeraenderung_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsIssueRelevanzTKBVeraenderung::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_IssueRelevanzTKBVeraenderung_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("IssueRelevanzTKBVeraenderung") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iEintragnrNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iEintragnrNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_IssueRelevanzTKBVeraenderung_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iEintragnrNr = New SqlInt32(CType(dtToReturn.Rows(0)("EintragnrNr"), Integer)) + If dtToReturn.Rows(0)("Bezeichnung") Is System.DBNull.Value Then + m_sBezeichnung = SqlString.Null + Else + m_sBezeichnung = New SqlString(CType(dtToReturn.Rows(0)("Bezeichnung"), String)) + End If + If dtToReturn.Rows(0)("Beschreibung") Is System.DBNull.Value Then + m_sBeschreibung = SqlString.Null + Else + m_sBeschreibung = New SqlString(CType(dtToReturn.Rows(0)("Beschreibung"), String)) + End If + If dtToReturn.Rows(0)("aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsIssueRelevanzTKBVeraenderung::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_IssueRelevanzTKBVeraenderung_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("IssueRelevanzTKBVeraenderung") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_IssueRelevanzTKBVeraenderung_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsIssueRelevanzTKBVeraenderung::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iEintragnrNr]() As SqlInt32 + Get + Return m_iEintragnrNr + End Get + Set(ByVal Value As SqlInt32) + Dim iEintragnrNrTmp As SqlInt32 = Value + If iEintragnrNrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iEintragnrNr", "iEintragnrNr can't be NULL") + End If + m_iEintragnrNr = Value + End Set + End Property + + + Public Property [sBezeichnung]() As SqlString + Get + Return m_sBezeichnung + End Get + Set(ByVal Value As SqlString) + m_sBezeichnung = Value + End Set + End Property + + + Public Property [sBeschreibung]() As SqlString + Get + Return m_sBeschreibung + End Get + Set(ByVal Value As SqlString) + m_sBeschreibung = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/Themenmanagement/DB/Generierte Objekte/clsKB_Artikel.vb b/Themenmanagement/DB/Generierte Objekte/clsKB_Artikel.vb new file mode 100644 index 0000000..d4266ae --- /dev/null +++ b/Themenmanagement/DB/Generierte Objekte/clsKB_Artikel.vb @@ -0,0 +1,475 @@ +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace db + Public Class clsKB_Artikel + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv_Reaktiv, m_bAktiv As SqlBoolean + Private m_daGueltig_bis, m_daMutiert_am, m_daErstellt_am, m_daGueltig_ab As SqlDateTime + Private m_iArtikelnr, m_iMutierer As SqlInt32 + Private m_sSchlagwort, m_sBeschreibung, m_sBezeichnung, m_sArtikel, m_sSuchbegriffe As SqlString + +#End Region + + + Public Sub New() + ' // Nothing for now. + End Sub + + + Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_KB_Artikel_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iArtikelnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iArtikelnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBezeichnung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sSuchbegriffe", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sSuchbegriffe)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daGueltig_ab", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daGueltig_ab)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daGueltig_bis", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daGueltig_bis)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sArtikel", SqlDbType.VarChar, 4096, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sArtikel)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bAktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daErstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daMutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iMutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bAktiv_Reaktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv_Reaktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sSchlagwort", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sSchlagwort)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_KB_Artikel_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKB_Artikel::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_KB_Artikel_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iArtikelnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iArtikelnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBezeichnung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sSuchbegriffe", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sSuchbegriffe)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daGueltig_ab", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daGueltig_ab)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daGueltig_bis", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daGueltig_bis)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sArtikel", SqlDbType.VarChar, 4096, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sArtikel)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bAktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daErstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daMutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iMutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bAktiv_Reaktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv_Reaktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sSchlagwort", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sSchlagwort)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_KB_Artikel_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKB_Artikel::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_KB_Artikel_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iArtikelnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iArtikelnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_KB_Artikel_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKB_Artikel::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_KB_Artikel_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("KB_Artikel") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iArtikelnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iArtikelnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_KB_Artikel_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iArtikelnr = New SqlInt32(CType(dtToReturn.Rows(0)("Artikelnr"), Integer)) + If dtToReturn.Rows(0)("Bezeichnung") Is System.DBNull.Value Then + m_sBezeichnung = SqlString.Null + Else + m_sBezeichnung = New SqlString(CType(dtToReturn.Rows(0)("Bezeichnung"), String)) + End If + If dtToReturn.Rows(0)("Beschreibung") Is System.DBNull.Value Then + m_sBeschreibung = SqlString.Null + Else + m_sBeschreibung = New SqlString(CType(dtToReturn.Rows(0)("Beschreibung"), String)) + End If + If dtToReturn.Rows(0)("Suchbegriffe") Is System.DBNull.Value Then + m_sSuchbegriffe = SqlString.Null + Else + m_sSuchbegriffe = New SqlString(CType(dtToReturn.Rows(0)("Suchbegriffe"), String)) + End If + If dtToReturn.Rows(0)("Gueltig_ab") Is System.DBNull.Value Then + m_daGueltig_ab = SqlDateTime.Null + Else + m_daGueltig_ab = New SqlDateTime(CType(dtToReturn.Rows(0)("Gueltig_ab"), Date)) + End If + If dtToReturn.Rows(0)("Gueltig_bis") Is System.DBNull.Value Then + m_daGueltig_bis = SqlDateTime.Null + Else + m_daGueltig_bis = New SqlDateTime(CType(dtToReturn.Rows(0)("Gueltig_bis"), Date)) + End If + If dtToReturn.Rows(0)("Artikel") Is System.DBNull.Value Then + m_sArtikel = SqlString.Null + Else + m_sArtikel = New SqlString(CType(dtToReturn.Rows(0)("Artikel"), String)) + End If + If dtToReturn.Rows(0)("Aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("Aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("Erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("Erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("Mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("Mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("Mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("Mutierer"), Integer)) + End If + If dtToReturn.Rows(0)("Aktiv_Reaktiv") Is System.DBNull.Value Then + m_bAktiv_Reaktiv = SqlBoolean.Null + Else + m_bAktiv_Reaktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("Aktiv_Reaktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("Schlagwort") Is System.DBNull.Value Then + m_sSchlagwort = SqlString.Null + Else + m_sSchlagwort = New SqlString(CType(dtToReturn.Rows(0)("Schlagwort"), String)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKB_Artikel::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_KB_Artikel_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("KB_Artikel") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_KB_Artikel_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKB_Artikel::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iArtikelnr]() As SqlInt32 + Get + Return m_iArtikelnr + End Get + Set(ByVal Value As SqlInt32) + Dim iArtikelnrTmp As SqlInt32 = Value + If iArtikelnrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iArtikelnr", "iArtikelnr can't be NULL") + End If + m_iArtikelnr = Value + End Set + End Property + + + Public Property [sBezeichnung]() As SqlString + Get + Return m_sBezeichnung + End Get + Set(ByVal Value As SqlString) + m_sBezeichnung = Value + End Set + End Property + + + Public Property [sBeschreibung]() As SqlString + Get + Return m_sBeschreibung + End Get + Set(ByVal Value As SqlString) + m_sBeschreibung = Value + End Set + End Property + + + Public Property [sSuchbegriffe]() As SqlString + Get + Return m_sSuchbegriffe + End Get + Set(ByVal Value As SqlString) + m_sSuchbegriffe = Value + End Set + End Property + + + Public Property [daGueltig_ab]() As SqlDateTime + Get + Return m_daGueltig_ab + End Get + Set(ByVal Value As SqlDateTime) + m_daGueltig_ab = Value + End Set + End Property + + + Public Property [daGueltig_bis]() As SqlDateTime + Get + Return m_daGueltig_bis + End Get + Set(ByVal Value As SqlDateTime) + m_daGueltig_bis = Value + End Set + End Property + + + Public Property [sArtikel]() As SqlString + Get + Return m_sArtikel + End Get + Set(ByVal Value As SqlString) + m_sArtikel = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + + + Public Property [bAktiv_Reaktiv]() As SqlBoolean + Get + Return m_bAktiv_Reaktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv_Reaktiv = Value + End Set + End Property + + + Public Property [sSchlagwort]() As SqlString + Get + Return m_sSchlagwort + End Get + Set(ByVal Value As SqlString) + m_sSchlagwort = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/Themenmanagement/DB/Generierte Objekte/clsKategorie.vb b/Themenmanagement/DB/Generierte Objekte/clsKategorie.vb new file mode 100644 index 0000000..c6cf3bd --- /dev/null +++ b/Themenmanagement/DB/Generierte Objekte/clsKategorie.vb @@ -0,0 +1,490 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'Kategorie' +' // Generated by LLBLGen v1.21.2003.712 Final on: Mittwoch, 23. Januar 2013, 12:58:00 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + ''' + ''' Purpose: Data Access class for the table 'Kategorie'. + ''' + Public Class clsKategorie + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daMutiert_am, m_daErstellt_am As SqlDateTime + Private m_iMutierer, m_iKategorieNr, m_iParentid As SqlInt32 + Private m_sBeschreibung, m_sBezeichnung As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iKategorieNr
  • + '''
  • iParentid. May be SqlInt32.Null
  • + '''
  • sBezeichnung. May be SqlString.Null
  • + '''
  • sBeschreibung. May be SqlString.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Kategorie_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iKategorieNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKategorieNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iParentid", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iParentid)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBezeichnung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBeschreibung", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Kategorie_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKategorie::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iKategorieNr
  • + '''
  • iParentid. May be SqlInt32.Null
  • + '''
  • sBezeichnung. May be SqlString.Null
  • + '''
  • sBeschreibung. May be SqlString.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Kategorie_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iKategorieNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKategorieNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iParentid", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iParentid)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBezeichnung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBeschreibung", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Kategorie_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKategorie::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iKategorieNr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Kategorie_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iKategorieNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKategorieNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Kategorie_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKategorie::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iKategorieNr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iKategorieNr
  • + '''
  • iParentid
  • + '''
  • sBezeichnung
  • + '''
  • sBeschreibung
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Kategorie_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("Kategorie") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iKategorieNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKategorieNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Kategorie_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iKategorieNr = New SqlInt32(CType(dtToReturn.Rows(0)("KategorieNr"), Integer)) + If dtToReturn.Rows(0)("Parentid") Is System.DBNull.Value Then + m_iParentid = SqlInt32.Null + Else + m_iParentid = New SqlInt32(CType(dtToReturn.Rows(0)("Parentid"), Integer)) + End If + If dtToReturn.Rows(0)("Bezeichnung") Is System.DBNull.Value Then + m_sBezeichnung = SqlString.Null + Else + m_sBezeichnung = New SqlString(CType(dtToReturn.Rows(0)("Bezeichnung"), String)) + End If + If dtToReturn.Rows(0)("Beschreibung") Is System.DBNull.Value Then + m_sBeschreibung = SqlString.Null + Else + m_sBeschreibung = New SqlString(CType(dtToReturn.Rows(0)("Beschreibung"), String)) + End If + If dtToReturn.Rows(0)("aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKategorie::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Kategorie_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("Kategorie") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Kategorie_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKategorie::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iKategorieNr]() As SqlInt32 + Get + Return m_iKategorieNr + End Get + Set(ByVal Value As SqlInt32) + Dim iKategorieNrTmp As SqlInt32 = Value + If iKategorieNrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iKategorieNr", "iKategorieNr can't be NULL") + End If + m_iKategorieNr = Value + End Set + End Property + + + Public Property [iParentid]() As SqlInt32 + Get + Return m_iParentid + End Get + Set(ByVal Value As SqlInt32) + m_iParentid = Value + End Set + End Property + + + Public Property [sBezeichnung]() As SqlString + Get + Return m_sBezeichnung + End Get + Set(ByVal Value As SqlString) + m_sBezeichnung = Value + End Set + End Property + + + Public Property [sBeschreibung]() As SqlString + Get + Return m_sBeschreibung + End Get + Set(ByVal Value As SqlString) + m_sBeschreibung = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/Themenmanagement/DB/Generierte Objekte/clsKey_tabelle.vb b/Themenmanagement/DB/Generierte Objekte/clsKey_tabelle.vb new file mode 100644 index 0000000..6ee282d --- /dev/null +++ b/Themenmanagement/DB/Generierte Objekte/clsKey_tabelle.vb @@ -0,0 +1,491 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'key_tabelle' +' // Generated by LLBLGen v1.21.2003.712 Final on: Dienstag, 1. Januar 2013, 19:36:38 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + ''' + ''' Purpose: Data Access class for the table 'key_tabelle'. + ''' + Public Class clsKey_tabelle + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daErstellt_am, m_daMutiert_am As SqlDateTime + Private m_iMutierer, m_iKeynr, m_iKey_wert, m_iMandantnr As SqlInt32 + Private m_sBeschreibung As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • sBeschreibung
  • + '''
  • iKey_wert
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iKeynr
  • + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_key_tabelle_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@sbeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@ikey_wert", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKey_wert)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@ikeynr", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iKeynr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iKeynr = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@ikeynr").Value, Integer)) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_key_tabelle_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKey_tabelle::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iKeynr
  • + '''
  • sBeschreibung
  • + '''
  • iKey_wert
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_key_tabelle_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@ikeynr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKeynr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sbeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@ikey_wert", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKey_wert)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_key_tabelle_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKey_tabelle::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iKeynr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_key_tabelle_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@ikeynr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKeynr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_key_tabelle_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKey_tabelle::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iKeynr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iKeynr
  • + '''
  • sBeschreibung
  • + '''
  • iKey_wert
  • + '''
  • iMandantnr
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_key_tabelle_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("key_tabelle") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@ikeynr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKeynr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_key_tabelle_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iKeynr = New SqlInt32(CType(dtToReturn.Rows(0)("keynr"), Integer)) + m_sBeschreibung = New SqlString(CType(dtToReturn.Rows(0)("beschreibung"), String)) + m_iKey_wert = New SqlInt32(CType(dtToReturn.Rows(0)("key_wert"), Integer)) + If dtToReturn.Rows(0)("mandantnr") Is System.DBNull.Value Then + m_iMandantnr = SqlInt32.Null + Else + m_iMandantnr = New SqlInt32(CType(dtToReturn.Rows(0)("mandantnr"), Integer)) + End If + If dtToReturn.Rows(0)("aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKey_tabelle::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_key_tabelle_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("key_tabelle") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_key_tabelle_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKey_tabelle::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iKeynr]() As SqlInt32 + Get + Return m_iKeynr + End Get + Set(ByVal Value As SqlInt32) + Dim iKeynrTmp As SqlInt32 = Value + If iKeynrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iKeynr", "iKeynr can't be NULL") + End If + m_iKeynr = Value + End Set + End Property + + + Public Property [sBeschreibung]() As SqlString + Get + Return m_sBeschreibung + End Get + Set(ByVal Value As SqlString) + Dim sBeschreibungTmp As SqlString = Value + If sBeschreibungTmp.IsNull Then + Throw New ArgumentOutOfRangeException("sBeschreibung", "sBeschreibung can't be NULL") + End If + m_sBeschreibung = Value + End Set + End Property + + + Public Property [iKey_wert]() As SqlInt32 + Get + Return m_iKey_wert + End Get + Set(ByVal Value As SqlInt32) + Dim iKey_wertTmp As SqlInt32 = Value + If iKey_wertTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iKey_wert", "iKey_wert can't be NULL") + End If + m_iKey_wert = Value + End Set + End Property + + + Public Property [iMandantnr]() As SqlInt32 + Get + Return m_iMandantnr + End Get + Set(ByVal Value As SqlInt32) + m_iMandantnr = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/Themenmanagement/DB/Generierte Objekte/clsKommunikation.vb b/Themenmanagement/DB/Generierte Objekte/clsKommunikation.vb new file mode 100644 index 0000000..3d6d618 --- /dev/null +++ b/Themenmanagement/DB/Generierte Objekte/clsKommunikation.vb @@ -0,0 +1,470 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'Kommunikation' +' // Generated by LLBLGen v1.21.2003.712 Final on: Montag, 7. Januar 2013, 15:24:18 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace db + ''' + ''' Purpose: Data Access class for the table 'Kommunikation'. + ''' + Public Class clsKommunikation + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daMutiert_am, m_daErstellt_am As SqlDateTime + Private m_iMutierer, m_iThemaNr, m_iKommunikationNr As SqlInt32 + Private m_sBezeichnung As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iKommunikationNr
  • + '''
  • iThemaNr. May be SqlInt32.Null
  • + '''
  • sBezeichnung. May be SqlString.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Public Overrides Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Kommunikation_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iKommunikationNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKommunikationNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iThemaNr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iThemaNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBezeichnung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Kommunikation_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKommunikation::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iKommunikationNr
  • + '''
  • iThemaNr. May be SqlInt32.Null
  • + '''
  • sBezeichnung. May be SqlString.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Public Overrides Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Kommunikation_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iKommunikationNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKommunikationNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iThemaNr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iThemaNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBezeichnung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Kommunikation_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKommunikation::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iKommunikationNr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Public Overrides Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Kommunikation_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iKommunikationNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKommunikationNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Kommunikation_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKommunikation::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iKommunikationNr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iKommunikationNr
  • + '''
  • iThemaNr
  • + '''
  • sBezeichnung
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Public Overrides Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Kommunikation_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = New DataTable("Kommunikation") + Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iKommunikationNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKommunikationNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Kommunikation_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iKommunikationNr = New SqlInt32(CType(dtToReturn.Rows(0)("KommunikationNr"), Integer)) + If dtToReturn.Rows(0)("ThemaNr") Is System.DBNull.Value Then + m_iThemaNr = SqlInt32.Null + Else + m_iThemaNr = New SqlInt32(CType(dtToReturn.Rows(0)("ThemaNr"), Integer)) + End If + If dtToReturn.Rows(0)("Bezeichnung") Is System.DBNull.Value Then + m_sBezeichnung = SqlString.Null + Else + m_sBezeichnung = New SqlString(CType(dtToReturn.Rows(0)("Bezeichnung"), String)) + End If + If dtToReturn.Rows(0)("aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKommunikation::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Public Overrides Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Kommunikation_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = New DataTable("Kommunikation") + Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Kommunikation_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKommunikation::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iKommunikationNr]() As SqlInt32 + Get + Return m_iKommunikationNr + End Get + Set(ByVal Value As SqlInt32) + Dim iKommunikationNrTmp As SqlInt32 = Value + If iKommunikationNrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iKommunikationNr", "iKommunikationNr can't be NULL") + End If + m_iKommunikationNr = Value + End Set + End Property + + + Public Property [iThemaNr]() As SqlInt32 + Get + Return m_iThemaNr + End Get + Set(ByVal Value As SqlInt32) + m_iThemaNr = Value + End Set + End Property + + + Public Property [sBezeichnung]() As SqlString + Get + Return m_sBezeichnung + End Get + Set(ByVal Value As SqlString) + m_sBezeichnung = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/Themenmanagement/DB/Generierte Objekte/clsKommunkationAuspraegung.vb b/Themenmanagement/DB/Generierte Objekte/clsKommunkationAuspraegung.vb new file mode 100644 index 0000000..0ffdacf --- /dev/null +++ b/Themenmanagement/DB/Generierte Objekte/clsKommunkationAuspraegung.vb @@ -0,0 +1,539 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'KommunkationAuspraegung' +' // Generated by LLBLGen v1.21.2003.712 Final on: Freitag, 4. Januar 2013, 16:59:46 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + ''' + ''' Purpose: Data Access class for the table 'KommunkationAuspraegung'. + ''' + Public Class clsKommunkationAuspraegung + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daErstellt_am, m_daMutiert_am As SqlDateTime + Private m_blobDokument As SqlBinary + Private m_iMutierer, m_iKommunikationAuspraegungNr, m_iKommunikationNr As SqlInt32 + Private m_sRTFText, m_sBezeichnung, m_sBeschreibung As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iKommunikationAuspraegungNr
  • + '''
  • iKommunikationNr. May be SqlInt32.Null
  • + '''
  • sBezeichnung. May be SqlString.Null
  • + '''
  • sBeschreibung. May be SqlString.Null
  • + '''
  • blobDokument. May be SqlBinary.Null
  • + '''
  • sRTFText. May be SqlString.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_KommunkationAuspraegung_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iKommunikationAuspraegungNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKommunikationAuspraegungNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iKommunikationNr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iKommunikationNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBezeichnung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + Dim iLength As Integer = 0 + If Not m_blobDokument.IsNull Then + iLength = m_blobDokument.Length + End If + scmCmdToExecute.Parameters.Add(New SqlParameter("@blobDokument", SqlDbType.Image, iLength, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_blobDokument)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sRTFText", SqlDbType.VarChar, -1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sRTFText)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_KommunkationAuspraegung_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKommunkationAuspraegung::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iKommunikationAuspraegungNr
  • + '''
  • iKommunikationNr. May be SqlInt32.Null
  • + '''
  • sBezeichnung. May be SqlString.Null
  • + '''
  • sBeschreibung. May be SqlString.Null
  • + '''
  • blobDokument. May be SqlBinary.Null
  • + '''
  • sRTFText. May be SqlString.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_KommunkationAuspraegung_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iKommunikationAuspraegungNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKommunikationAuspraegungNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iKommunikationNr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iKommunikationNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBezeichnung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + Dim iLength As Integer = 0 + If Not m_blobDokument.IsNull Then + iLength = m_blobDokument.Length + End If + scmCmdToExecute.Parameters.Add(New SqlParameter("@blobDokument", SqlDbType.Image, iLength, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_blobDokument)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sRTFText", SqlDbType.VarChar, -1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sRTFText)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_KommunkationAuspraegung_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKommunkationAuspraegung::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iKommunikationAuspraegungNr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_KommunkationAuspraegung_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iKommunikationAuspraegungNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKommunikationAuspraegungNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_KommunkationAuspraegung_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKommunkationAuspraegung::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iKommunikationAuspraegungNr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iKommunikationAuspraegungNr
  • + '''
  • iKommunikationNr
  • + '''
  • sBezeichnung
  • + '''
  • sBeschreibung
  • + '''
  • blobDokument
  • + '''
  • sRTFText
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_KommunkationAuspraegung_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("KommunkationAuspraegung") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iKommunikationAuspraegungNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKommunikationAuspraegungNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_KommunkationAuspraegung_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iKommunikationAuspraegungNr = New SqlInt32(CType(dtToReturn.Rows(0)("KommunikationAuspraegungNr"), Integer)) + If dtToReturn.Rows(0)("KommunikationNr") Is System.DBNull.Value Then + m_iKommunikationNr = SqlInt32.Null + Else + m_iKommunikationNr = New SqlInt32(CType(dtToReturn.Rows(0)("KommunikationNr"), Integer)) + End If + If dtToReturn.Rows(0)("Bezeichnung") Is System.DBNull.Value Then + m_sBezeichnung = SqlString.Null + Else + m_sBezeichnung = New SqlString(CType(dtToReturn.Rows(0)("Bezeichnung"), String)) + End If + If dtToReturn.Rows(0)("Beschreibung") Is System.DBNull.Value Then + m_sBeschreibung = SqlString.Null + Else + m_sBeschreibung = New SqlString(CType(dtToReturn.Rows(0)("Beschreibung"), String)) + End If + If dtToReturn.Rows(0)("Dokument") Is System.DBNull.Value Then + m_blobDokument = SqlBinary.Null + Else + m_blobDokument = New SqlBinary(CType(dtToReturn.Rows(0)("Dokument"), Byte())) + End If + If dtToReturn.Rows(0)("RTFText") Is System.DBNull.Value Then + m_sRTFText = SqlString.Null + Else + m_sRTFText = New SqlString(CType(dtToReturn.Rows(0)("RTFText"), String)) + End If + If dtToReturn.Rows(0)("aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKommunkationAuspraegung::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_KommunkationAuspraegung_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("KommunkationAuspraegung") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_KommunkationAuspraegung_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKommunkationAuspraegung::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iKommunikationAuspraegungNr]() As SqlInt32 + Get + Return m_iKommunikationAuspraegungNr + End Get + Set(ByVal Value As SqlInt32) + Dim iKommunikationAuspraegungNrTmp As SqlInt32 = Value + If iKommunikationAuspraegungNrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iKommunikationAuspraegungNr", "iKommunikationAuspraegungNr can't be NULL") + End If + m_iKommunikationAuspraegungNr = Value + End Set + End Property + + + Public Property [iKommunikationNr]() As SqlInt32 + Get + Return m_iKommunikationNr + End Get + Set(ByVal Value As SqlInt32) + m_iKommunikationNr = Value + End Set + End Property + + + Public Property [sBezeichnung]() As SqlString + Get + Return m_sBezeichnung + End Get + Set(ByVal Value As SqlString) + m_sBezeichnung = Value + End Set + End Property + + + Public Property [sBeschreibung]() As SqlString + Get + Return m_sBeschreibung + End Get + Set(ByVal Value As SqlString) + m_sBeschreibung = Value + End Set + End Property + + + Public Property [blobDokument]() As SqlBinary + Get + Return m_blobDokument + End Get + Set(ByVal Value As SqlBinary) + m_blobDokument = Value + End Set + End Property + + + Public Property [sRTFText]() As SqlString + Get + Return m_sRTFText + End Get + Set(ByVal Value As SqlString) + m_sRTFText = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/Themenmanagement/DB/Generierte Objekte/clsMeldungstexte.vb b/Themenmanagement/DB/Generierte Objekte/clsMeldungstexte.vb new file mode 100644 index 0000000..2afe689 --- /dev/null +++ b/Themenmanagement/DB/Generierte Objekte/clsMeldungstexte.vb @@ -0,0 +1,632 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'meldungstexte' +' // Generated by LLBLGen v1.21.2003.712 Final on: Dienstag, 1. Januar 2013, 19:36:38 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + ''' + ''' Purpose: Data Access class for the table 'meldungstexte'. + ''' + Public Class clsMeldungstexte + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daMutiert_am, m_daErstellt_am As SqlDateTime + Private m_iMutierer, m_iMandantnr, m_iSprache, m_iMeldungstextnr As SqlInt32 + Private m_sBeschreibung, m_sInhalt As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iMeldungstextnr
  • + '''
  • iSprache
  • + '''
  • sInhalt. May be SqlString.Null
  • + '''
  • sBeschreibung. May be SqlString.Null
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_meldungstexte_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@imeldungstextnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iMeldungstextnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@isprache", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iSprache)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sinhalt", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sInhalt)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_meldungstexte_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMeldungstexte::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iMeldungstextnr
  • + '''
  • iSprache
  • + '''
  • sInhalt. May be SqlString.Null
  • + '''
  • sBeschreibung. May be SqlString.Null
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_meldungstexte_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@imeldungstextnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iMeldungstextnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@isprache", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iSprache)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sinhalt", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sInhalt)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_meldungstexte_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMeldungstexte::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iMeldungstextnr
  • + '''
  • iSprache
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_meldungstexte_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@imeldungstextnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iMeldungstextnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@isprache", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iSprache)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_meldungstexte_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMeldungstexte::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method using PK field 'meldungstextnr'. This method will + ''' delete one or more rows from the database, based on the Primary Key field 'meldungstextnr'. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iMeldungstextnr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Public Function DeleteAllWmeldungstextnrLogic() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_meldungstexte_DeleteAllWmeldungstextnrLogic]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@imeldungstextnr", SqlDbType.Int, 4, ParameterDirection.Input, false, 10, 0, "", DataRowVersion.Proposed, m_iMeldungstextnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iMeldungstextnr = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@imeldungstextnr").Value, Integer)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_meldungstexte_DeleteAllWmeldungstextnrLogic' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMeldungstexte::DeleteAllWmeldungstextnrLogic::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method using PK field 'sprache'. This method will + ''' delete one or more rows from the database, based on the Primary Key field 'sprache'. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iSprache
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Public Function DeleteAllWspracheLogic() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_meldungstexte_DeleteAllWspracheLogic]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@isprache", SqlDbType.Int, 4, ParameterDirection.Input, false, 10, 0, "", DataRowVersion.Proposed, m_iSprache)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iSprache = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@isprache").Value, Integer)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_meldungstexte_DeleteAllWspracheLogic' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMeldungstexte::DeleteAllWspracheLogic::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iMeldungstextnr
  • + '''
  • iSprache
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iMeldungstextnr
  • + '''
  • iSprache
  • + '''
  • sInhalt
  • + '''
  • sBeschreibung
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
  • iMandantnr
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_meldungstexte_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("meldungstexte") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@imeldungstextnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iMeldungstextnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@isprache", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iSprache)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_meldungstexte_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iMeldungstextnr = New SqlInt32(CType(dtToReturn.Rows(0)("meldungstextnr"), Integer)) + m_iSprache = New SqlInt32(CType(dtToReturn.Rows(0)("sprache"), Integer)) + If dtToReturn.Rows(0)("inhalt") Is System.DBNull.Value Then + m_sInhalt = SqlString.Null + Else + m_sInhalt = New SqlString(CType(dtToReturn.Rows(0)("inhalt"), String)) + End If + If dtToReturn.Rows(0)("Beschreibung") Is System.DBNull.Value Then + m_sBeschreibung = SqlString.Null + Else + m_sBeschreibung = New SqlString(CType(dtToReturn.Rows(0)("Beschreibung"), String)) + End If + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + If dtToReturn.Rows(0)("mandantnr") Is System.DBNull.Value Then + m_iMandantnr = SqlInt32.Null + Else + m_iMandantnr = New SqlInt32(CType(dtToReturn.Rows(0)("mandantnr"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMeldungstexte::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_meldungstexte_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("meldungstexte") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_meldungstexte_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMeldungstexte::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iMeldungstextnr]() As SqlInt32 + Get + Return m_iMeldungstextnr + End Get + Set(ByVal Value As SqlInt32) + Dim iMeldungstextnrTmp As SqlInt32 = Value + If iMeldungstextnrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iMeldungstextnr", "iMeldungstextnr can't be NULL") + End If + m_iMeldungstextnr = Value + End Set + End Property + + + Public Property [iSprache]() As SqlInt32 + Get + Return m_iSprache + End Get + Set(ByVal Value As SqlInt32) + Dim iSpracheTmp As SqlInt32 = Value + If iSpracheTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iSprache", "iSprache can't be NULL") + End If + m_iSprache = Value + End Set + End Property + + + Public Property [sInhalt]() As SqlString + Get + Return m_sInhalt + End Get + Set(ByVal Value As SqlString) + m_sInhalt = Value + End Set + End Property + + + Public Property [sBeschreibung]() As SqlString + Get + Return m_sBeschreibung + End Get + Set(ByVal Value As SqlString) + m_sBeschreibung = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + Dim bAktivTmp As SqlBoolean = Value + If bAktivTmp.IsNull Then + Throw New ArgumentOutOfRangeException("bAktiv", "bAktiv can't be NULL") + End If + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + + + Public Property [iMandantnr]() As SqlInt32 + Get + Return m_iMandantnr + End Get + Set(ByVal Value As SqlInt32) + m_iMandantnr = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/Themenmanagement/DB/Generierte Objekte/clsMitarbeiter.vb b/Themenmanagement/DB/Generierte Objekte/clsMitarbeiter.vb new file mode 100644 index 0000000..48ff337 --- /dev/null +++ b/Themenmanagement/DB/Generierte Objekte/clsMitarbeiter.vb @@ -0,0 +1,530 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'mitarbeiter' +' // Generated by LLBLGen v1.21.2003.712 Final on: Dienstag, 1. Januar 2013, 19:36:38 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + ''' + ''' Purpose: Data Access class for the table 'mitarbeiter'. + ''' + Public Class clsMitarbeiter + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daErstellt_am, m_daMutiert_am As SqlDateTime + Private m_iMandantnr, m_iMutierer, m_iMitarbeiternr As SqlInt32 + Private m_sEmail, m_sVorname, m_sTgnummer, m_sName As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iMitarbeiternr
  • + '''
  • sVorname. May be SqlString.Null
  • + '''
  • sName. May be SqlString.Null
  • + '''
  • sTgnummer. May be SqlString.Null
  • + '''
  • sEmail. May be SqlString.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_mitarbeiter_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@imitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iMitarbeiternr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@svorname", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sVorname)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sname", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sName)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@stgnummer", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTgnummer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@semail", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sEmail)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_mitarbeiter_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMitarbeiter::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iMitarbeiternr
  • + '''
  • sVorname. May be SqlString.Null
  • + '''
  • sName. May be SqlString.Null
  • + '''
  • sTgnummer. May be SqlString.Null
  • + '''
  • sEmail. May be SqlString.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_mitarbeiter_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@imitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iMitarbeiternr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@svorname", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sVorname)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sname", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sName)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@stgnummer", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTgnummer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@semail", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sEmail)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_mitarbeiter_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMitarbeiter::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iMitarbeiternr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_mitarbeiter_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@imitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iMitarbeiternr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_mitarbeiter_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMitarbeiter::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iMitarbeiternr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iMitarbeiternr
  • + '''
  • sVorname
  • + '''
  • sName
  • + '''
  • sTgnummer
  • + '''
  • sEmail
  • + '''
  • iMandantnr
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_mitarbeiter_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("mitarbeiter") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@imitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iMitarbeiternr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_mitarbeiter_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iMitarbeiternr = New SqlInt32(CType(dtToReturn.Rows(0)("mitarbeiternr"), Integer)) + If dtToReturn.Rows(0)("vorname") Is System.DBNull.Value Then + m_sVorname = SqlString.Null + Else + m_sVorname = New SqlString(CType(dtToReturn.Rows(0)("vorname"), String)) + End If + If dtToReturn.Rows(0)("name") Is System.DBNull.Value Then + m_sName = SqlString.Null + Else + m_sName = New SqlString(CType(dtToReturn.Rows(0)("name"), String)) + End If + If dtToReturn.Rows(0)("tgnummer") Is System.DBNull.Value Then + m_sTgnummer = SqlString.Null + Else + m_sTgnummer = New SqlString(CType(dtToReturn.Rows(0)("tgnummer"), String)) + End If + If dtToReturn.Rows(0)("email") Is System.DBNull.Value Then + m_sEmail = SqlString.Null + Else + m_sEmail = New SqlString(CType(dtToReturn.Rows(0)("email"), String)) + End If + If dtToReturn.Rows(0)("mandantnr") Is System.DBNull.Value Then + m_iMandantnr = SqlInt32.Null + Else + m_iMandantnr = New SqlInt32(CType(dtToReturn.Rows(0)("mandantnr"), Integer)) + End If + If dtToReturn.Rows(0)("aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMitarbeiter::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_mitarbeiter_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("mitarbeiter") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_mitarbeiter_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMitarbeiter::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iMitarbeiternr]() As SqlInt32 + Get + Return m_iMitarbeiternr + End Get + Set(ByVal Value As SqlInt32) + Dim iMitarbeiternrTmp As SqlInt32 = Value + If iMitarbeiternrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iMitarbeiternr", "iMitarbeiternr can't be NULL") + End If + m_iMitarbeiternr = Value + End Set + End Property + + + Public Property [sVorname]() As SqlString + Get + Return m_sVorname + End Get + Set(ByVal Value As SqlString) + m_sVorname = Value + End Set + End Property + + + Public Property [sName]() As SqlString + Get + Return m_sName + End Get + Set(ByVal Value As SqlString) + m_sName = Value + End Set + End Property + + + Public Property [sTgnummer]() As SqlString + Get + Return m_sTgnummer + End Get + Set(ByVal Value As SqlString) + m_sTgnummer = Value + End Set + End Property + + + Public Property [sEmail]() As SqlString + Get + Return m_sEmail + End Get + Set(ByVal Value As SqlString) + m_sEmail = Value + End Set + End Property + + + Public Property [iMandantnr]() As SqlInt32 + Get + Return m_iMandantnr + End Get + Set(ByVal Value As SqlInt32) + m_iMandantnr = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/Themenmanagement/DB/Generierte Objekte/clsMitarbeiter_funktionsgruppe.vb b/Themenmanagement/DB/Generierte Objekte/clsMitarbeiter_funktionsgruppe.vb new file mode 100644 index 0000000..4e428bb --- /dev/null +++ b/Themenmanagement/DB/Generierte Objekte/clsMitarbeiter_funktionsgruppe.vb @@ -0,0 +1,489 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'mitarbeiter_funktionsgruppe' +' // Generated by LLBLGen v1.21.2003.712 Final on: Dienstag, 1. Januar 2013, 19:36:38 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + ''' + ''' Purpose: Data Access class for the table 'mitarbeiter_funktionsgruppe'. + ''' + Public Class clsMitarbeiter_funktionsgruppe + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daMutiert_am, m_daErstellt_am As SqlDateTime + Private m_iMutierer, m_iMandantnr, m_iMitarbeiternr, m_iFunktionsgruppenr, m_iMitarbeiter_funktionsgruppenr As SqlInt32 + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iMitarbeiter_funktionsgruppenr
  • + '''
  • iMitarbeiternr. May be SqlInt32.Null
  • + '''
  • iFunktionsgruppenr. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_mitarbeiter_funktionsgruppe_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@imitarbeiter_funktionsgruppenr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iMitarbeiter_funktionsgruppenr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMitarbeiternr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@ifunktionsgruppenr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iFunktionsgruppenr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_mitarbeiter_funktionsgruppe_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMitarbeiter_funktionsgruppe::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iMitarbeiter_funktionsgruppenr
  • + '''
  • iMitarbeiternr. May be SqlInt32.Null
  • + '''
  • iFunktionsgruppenr. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_mitarbeiter_funktionsgruppe_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@imitarbeiter_funktionsgruppenr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iMitarbeiter_funktionsgruppenr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMitarbeiternr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@ifunktionsgruppenr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iFunktionsgruppenr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_mitarbeiter_funktionsgruppe_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMitarbeiter_funktionsgruppe::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iMitarbeiter_funktionsgruppenr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_mitarbeiter_funktionsgruppe_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@imitarbeiter_funktionsgruppenr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iMitarbeiter_funktionsgruppenr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_mitarbeiter_funktionsgruppe_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMitarbeiter_funktionsgruppe::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iMitarbeiter_funktionsgruppenr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iMitarbeiter_funktionsgruppenr
  • + '''
  • iMitarbeiternr
  • + '''
  • iFunktionsgruppenr
  • + '''
  • bAktiv
  • + '''
  • iMandantnr
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_mitarbeiter_funktionsgruppe_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("mitarbeiter_funktionsgruppe") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@imitarbeiter_funktionsgruppenr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iMitarbeiter_funktionsgruppenr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_mitarbeiter_funktionsgruppe_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iMitarbeiter_funktionsgruppenr = New SqlInt32(CType(dtToReturn.Rows(0)("mitarbeiter_funktionsgruppenr"), Integer)) + If dtToReturn.Rows(0)("mitarbeiternr") Is System.DBNull.Value Then + m_iMitarbeiternr = SqlInt32.Null + Else + m_iMitarbeiternr = New SqlInt32(CType(dtToReturn.Rows(0)("mitarbeiternr"), Integer)) + End If + If dtToReturn.Rows(0)("funktionsgruppenr") Is System.DBNull.Value Then + m_iFunktionsgruppenr = SqlInt32.Null + Else + m_iFunktionsgruppenr = New SqlInt32(CType(dtToReturn.Rows(0)("funktionsgruppenr"), Integer)) + End If + If dtToReturn.Rows(0)("aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("mandantnr") Is System.DBNull.Value Then + m_iMandantnr = SqlInt32.Null + Else + m_iMandantnr = New SqlInt32(CType(dtToReturn.Rows(0)("mandantnr"), Integer)) + End If + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMitarbeiter_funktionsgruppe::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_mitarbeiter_funktionsgruppe_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("mitarbeiter_funktionsgruppe") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_mitarbeiter_funktionsgruppe_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMitarbeiter_funktionsgruppe::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iMitarbeiter_funktionsgruppenr]() As SqlInt32 + Get + Return m_iMitarbeiter_funktionsgruppenr + End Get + Set(ByVal Value As SqlInt32) + Dim iMitarbeiter_funktionsgruppenrTmp As SqlInt32 = Value + If iMitarbeiter_funktionsgruppenrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iMitarbeiter_funktionsgruppenr", "iMitarbeiter_funktionsgruppenr can't be NULL") + End If + m_iMitarbeiter_funktionsgruppenr = Value + End Set + End Property + + + Public Property [iMitarbeiternr]() As SqlInt32 + Get + Return m_iMitarbeiternr + End Get + Set(ByVal Value As SqlInt32) + m_iMitarbeiternr = Value + End Set + End Property + + + Public Property [iFunktionsgruppenr]() As SqlInt32 + Get + Return m_iFunktionsgruppenr + End Get + Set(ByVal Value As SqlInt32) + m_iFunktionsgruppenr = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [iMandantnr]() As SqlInt32 + Get + Return m_iMandantnr + End Get + Set(ByVal Value As SqlInt32) + m_iMandantnr = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/Themenmanagement/DB/Generierte Objekte/clsPendenz.vb b/Themenmanagement/DB/Generierte Objekte/clsPendenz.vb new file mode 100644 index 0000000..3931f16 --- /dev/null +++ b/Themenmanagement/DB/Generierte Objekte/clsPendenz.vb @@ -0,0 +1,570 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'Pendenz' +' // Generated by LLBLGen v1.21.2003.712 Final on: Sonntag, 21. April 2013, 14:42:54 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + ''' + ''' Purpose: Data Access class for the table 'Pendenz'. + ''' + Public Class clsPendenz + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daTermin, m_daErstellt_am, m_daMutiert_am As SqlDateTime + Private m_iMutierer, m_iMandantNr, m_iPendenzNr, m_iThemanr, m_iPendenzStatusNr As SqlInt32 + Private m_sBeschreibung, m_sBezeichnung, m_sVerantwortlich As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iPendenzNr
  • + '''
  • iThemanr. May be SqlInt32.Null
  • + '''
  • sVerantwortlich. May be SqlString.Null
  • + '''
  • iPendenzStatusNr. May be SqlInt32.Null
  • + '''
  • sBezeichnung. May be SqlString.Null
  • + '''
  • sBeschreibung. May be SqlString.Null
  • + '''
  • daTermin. May be SqlDateTime.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • iMandantNr. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Pendenz_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iPendenzNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iPendenzNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iThemanr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iThemanr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sVerantwortlich", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sVerantwortlich)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iPendenzStatusNr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iPendenzStatusNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBezeichnung", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daTermin", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daTermin)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bAktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daErstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daMutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iMutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iMandantNr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Pendenz_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsPendenz::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iPendenzNr
  • + '''
  • iThemanr. May be SqlInt32.Null
  • + '''
  • sVerantwortlich. May be SqlString.Null
  • + '''
  • iPendenzStatusNr. May be SqlInt32.Null
  • + '''
  • sBezeichnung. May be SqlString.Null
  • + '''
  • sBeschreibung. May be SqlString.Null
  • + '''
  • daTermin. May be SqlDateTime.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • iMandantNr. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Pendenz_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iPendenzNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iPendenzNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iThemanr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iThemanr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sVerantwortlich", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sVerantwortlich)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iPendenzStatusNr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iPendenzStatusNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBezeichnung", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daTermin", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daTermin)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bAktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daErstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daMutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iMutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iMandantNr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Pendenz_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsPendenz::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iPendenzNr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Pendenz_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iPendenzNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iPendenzNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Pendenz_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsPendenz::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iPendenzNr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iPendenzNr
  • + '''
  • iThemanr
  • + '''
  • sVerantwortlich
  • + '''
  • iPendenzStatusNr
  • + '''
  • sBezeichnung
  • + '''
  • sBeschreibung
  • + '''
  • daTermin
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
  • iMandantNr
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Pendenz_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("Pendenz") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iPendenzNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iPendenzNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Pendenz_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iPendenzNr = New SqlInt32(CType(dtToReturn.Rows(0)("PendenzNr"), Integer)) + If dtToReturn.Rows(0)("Themanr") Is System.DBNull.Value Then + m_iThemanr = SqlInt32.Null + Else + m_iThemanr = New SqlInt32(CType(dtToReturn.Rows(0)("Themanr"), Integer)) + End If + If dtToReturn.Rows(0)("Verantwortlich") Is System.DBNull.Value Then + m_sVerantwortlich = SqlString.Null + Else + m_sVerantwortlich = New SqlString(CType(dtToReturn.Rows(0)("Verantwortlich"), String)) + End If + If dtToReturn.Rows(0)("PendenzStatusNr") Is System.DBNull.Value Then + m_iPendenzStatusNr = SqlInt32.Null + Else + m_iPendenzStatusNr = New SqlInt32(CType(dtToReturn.Rows(0)("PendenzStatusNr"), Integer)) + End If + If dtToReturn.Rows(0)("Bezeichnung") Is System.DBNull.Value Then + m_sBezeichnung = SqlString.Null + Else + m_sBezeichnung = New SqlString(CType(dtToReturn.Rows(0)("Bezeichnung"), String)) + End If + If dtToReturn.Rows(0)("Beschreibung") Is System.DBNull.Value Then + m_sBeschreibung = SqlString.Null + Else + m_sBeschreibung = New SqlString(CType(dtToReturn.Rows(0)("Beschreibung"), String)) + End If + If dtToReturn.Rows(0)("Termin") Is System.DBNull.Value Then + m_daTermin = SqlDateTime.Null + Else + m_daTermin = New SqlDateTime(CType(dtToReturn.Rows(0)("Termin"), Date)) + End If + If dtToReturn.Rows(0)("Aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("Aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("Erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("Erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("Mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("Mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("Mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("Mutierer"), Integer)) + End If + If dtToReturn.Rows(0)("MandantNr") Is System.DBNull.Value Then + m_iMandantNr = SqlInt32.Null + Else + m_iMandantNr = New SqlInt32(CType(dtToReturn.Rows(0)("MandantNr"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsPendenz::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Pendenz_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("Pendenz") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Pendenz_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsPendenz::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iPendenzNr]() As SqlInt32 + Get + Return m_iPendenzNr + End Get + Set(ByVal Value As SqlInt32) + Dim iPendenzNrTmp As SqlInt32 = Value + If iPendenzNrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iPendenzNr", "iPendenzNr can't be NULL") + End If + m_iPendenzNr = Value + End Set + End Property + + + Public Property [iThemanr]() As SqlInt32 + Get + Return m_iThemanr + End Get + Set(ByVal Value As SqlInt32) + m_iThemanr = Value + End Set + End Property + + + Public Property [sVerantwortlich]() As SqlString + Get + Return m_sVerantwortlich + End Get + Set(ByVal Value As SqlString) + m_sVerantwortlich = Value + End Set + End Property + + + Public Property [iPendenzStatusNr]() As SqlInt32 + Get + Return m_iPendenzStatusNr + End Get + Set(ByVal Value As SqlInt32) + m_iPendenzStatusNr = Value + End Set + End Property + + + Public Property [sBezeichnung]() As SqlString + Get + Return m_sBezeichnung + End Get + Set(ByVal Value As SqlString) + m_sBezeichnung = Value + End Set + End Property + + + Public Property [sBeschreibung]() As SqlString + Get + Return m_sBeschreibung + End Get + Set(ByVal Value As SqlString) + m_sBeschreibung = Value + End Set + End Property + + + Public Property [daTermin]() As SqlDateTime + Get + Return m_daTermin + End Get + Set(ByVal Value As SqlDateTime) + m_daTermin = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + + + Public Property [iMandantNr]() As SqlInt32 + Get + Return m_iMandantNr + End Get + Set(ByVal Value As SqlInt32) + m_iMandantNr = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/Themenmanagement/DB/Generierte Objekte/clsPendenzstatus.vb b/Themenmanagement/DB/Generierte Objekte/clsPendenzstatus.vb new file mode 100644 index 0000000..c86bf54 --- /dev/null +++ b/Themenmanagement/DB/Generierte Objekte/clsPendenzstatus.vb @@ -0,0 +1,510 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'Pendenzstatus' +' // Generated by LLBLGen v1.21.2003.712 Final on: Sonntag, 21. April 2013, 14:11:44 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + ''' + ''' Purpose: Data Access class for the table 'Pendenzstatus'. + ''' + Public Class clsPendenzstatus + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv, m_bPendenz_Aktivieren, m_bPendenz_Inaktivieren As SqlBoolean + Private m_daMutiert_am, m_daErstellt_am As SqlDateTime + Private m_iPendenzStatusNr, m_iMandantnr, m_iMutierer As SqlInt32 + Private m_sBezeichnung As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iPendenzStatusNr
  • + '''
  • sBezeichnung. May be SqlString.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • bPendenz_Aktivieren. May be SqlBoolean.Null
  • + '''
  • bPendenz_Inaktivieren. May be SqlBoolean.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Pendenzstatus_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iPendenzStatusNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iPendenzStatusNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBezeichnung", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bAktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daErstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daMutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iMutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iMandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bPendenz_Aktivieren", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bPendenz_Aktivieren)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bPendenz_Inaktivieren", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bPendenz_Inaktivieren)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Pendenzstatus_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsPendenzstatus::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iPendenzStatusNr
  • + '''
  • sBezeichnung. May be SqlString.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • bPendenz_Aktivieren. May be SqlBoolean.Null
  • + '''
  • bPendenz_Inaktivieren. May be SqlBoolean.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Pendenzstatus_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iPendenzStatusNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iPendenzStatusNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBezeichnung", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bAktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daErstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daMutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iMutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iMandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bPendenz_Aktivieren", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bPendenz_Aktivieren)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bPendenz_Inaktivieren", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bPendenz_Inaktivieren)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Pendenzstatus_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsPendenzstatus::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iPendenzStatusNr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Pendenzstatus_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iPendenzStatusNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iPendenzStatusNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Pendenzstatus_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsPendenzstatus::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iPendenzStatusNr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iPendenzStatusNr
  • + '''
  • sBezeichnung
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
  • iMandantnr
  • + '''
  • bPendenz_Aktivieren
  • + '''
  • bPendenz_Inaktivieren
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Pendenzstatus_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("Pendenzstatus") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iPendenzStatusNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iPendenzStatusNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Pendenzstatus_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iPendenzStatusNr = New SqlInt32(CType(dtToReturn.Rows(0)("PendenzStatusNr"), Integer)) + If dtToReturn.Rows(0)("Bezeichnung") Is System.DBNull.Value Then + m_sBezeichnung = SqlString.Null + Else + m_sBezeichnung = New SqlString(CType(dtToReturn.Rows(0)("Bezeichnung"), String)) + End If + If dtToReturn.Rows(0)("Aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("Aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("Erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("Erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("Mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("Mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("Mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("Mutierer"), Integer)) + End If + If dtToReturn.Rows(0)("Mandantnr") Is System.DBNull.Value Then + m_iMandantnr = SqlInt32.Null + Else + m_iMandantnr = New SqlInt32(CType(dtToReturn.Rows(0)("Mandantnr"), Integer)) + End If + If dtToReturn.Rows(0)("Pendenz_Aktivieren") Is System.DBNull.Value Then + m_bPendenz_Aktivieren = SqlBoolean.Null + Else + m_bPendenz_Aktivieren = New SqlBoolean(CType(dtToReturn.Rows(0)("Pendenz_Aktivieren"), Boolean)) + End If + If dtToReturn.Rows(0)("Pendenz_Inaktivieren") Is System.DBNull.Value Then + m_bPendenz_Inaktivieren = SqlBoolean.Null + Else + m_bPendenz_Inaktivieren = New SqlBoolean(CType(dtToReturn.Rows(0)("Pendenz_Inaktivieren"), Boolean)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsPendenzstatus::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Pendenzstatus_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("Pendenzstatus") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Pendenzstatus_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsPendenzstatus::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iPendenzStatusNr]() As SqlInt32 + Get + Return m_iPendenzStatusNr + End Get + Set(ByVal Value As SqlInt32) + Dim iPendenzStatusNrTmp As SqlInt32 = Value + If iPendenzStatusNrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iPendenzStatusNr", "iPendenzStatusNr can't be NULL") + End If + m_iPendenzStatusNr = Value + End Set + End Property + + + Public Property [sBezeichnung]() As SqlString + Get + Return m_sBezeichnung + End Get + Set(ByVal Value As SqlString) + m_sBezeichnung = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + + + Public Property [iMandantnr]() As SqlInt32 + Get + Return m_iMandantnr + End Get + Set(ByVal Value As SqlInt32) + m_iMandantnr = Value + End Set + End Property + + + Public Property [bPendenz_Aktivieren]() As SqlBoolean + Get + Return m_bPendenz_Aktivieren + End Get + Set(ByVal Value As SqlBoolean) + m_bPendenz_Aktivieren = Value + End Set + End Property + + + Public Property [bPendenz_Inaktivieren]() As SqlBoolean + Get + Return m_bPendenz_Inaktivieren + End Get + Set(ByVal Value As SqlBoolean) + m_bPendenz_Inaktivieren = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/Themenmanagement/DB/Generierte Objekte/clsRolle.vb b/Themenmanagement/DB/Generierte Objekte/clsRolle.vb new file mode 100644 index 0000000..07237dc --- /dev/null +++ b/Themenmanagement/DB/Generierte Objekte/clsRolle.vb @@ -0,0 +1,510 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'rolle' +' // Generated by LLBLGen v1.21.2003.712 Final on: Dienstag, 1. Januar 2013, 19:36:38 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + ''' + ''' Purpose: Data Access class for the table 'rolle'. + ''' + Public Class clsRolle + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bSysadminrolle, m_bAktiv As SqlBoolean + Private m_daErstellt_am, m_daMutiert_am As SqlDateTime + Private m_iMutierer, m_iRollenr, m_iMandantnr As SqlInt32 + Private m_sBeschreibung, m_sBezeichnung As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iRollenr
  • + '''
  • sBezeichnung. May be SqlString.Null
  • + '''
  • sBeschreibung. May be SqlString.Null
  • + '''
  • bSysadminrolle. May be SqlBoolean.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_rolle_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@irollenr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iRollenr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sbezeichnung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sbeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bsysadminrolle", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bSysadminrolle)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_rolle_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsRolle::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iRollenr
  • + '''
  • sBezeichnung. May be SqlString.Null
  • + '''
  • sBeschreibung. May be SqlString.Null
  • + '''
  • bSysadminrolle. May be SqlBoolean.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_rolle_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@irollenr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iRollenr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sbezeichnung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sbeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bsysadminrolle", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bSysadminrolle)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_rolle_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsRolle::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iRollenr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_rolle_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@irollenr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iRollenr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_rolle_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsRolle::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iRollenr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iRollenr
  • + '''
  • sBezeichnung
  • + '''
  • sBeschreibung
  • + '''
  • bSysadminrolle
  • + '''
  • iMandantnr
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_rolle_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("rolle") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@irollenr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iRollenr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_rolle_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iRollenr = New SqlInt32(CType(dtToReturn.Rows(0)("rollenr"), Integer)) + If dtToReturn.Rows(0)("bezeichnung") Is System.DBNull.Value Then + m_sBezeichnung = SqlString.Null + Else + m_sBezeichnung = New SqlString(CType(dtToReturn.Rows(0)("bezeichnung"), String)) + End If + If dtToReturn.Rows(0)("beschreibung") Is System.DBNull.Value Then + m_sBeschreibung = SqlString.Null + Else + m_sBeschreibung = New SqlString(CType(dtToReturn.Rows(0)("beschreibung"), String)) + End If + If dtToReturn.Rows(0)("sysadminrolle") Is System.DBNull.Value Then + m_bSysadminrolle = SqlBoolean.Null + Else + m_bSysadminrolle = New SqlBoolean(CType(dtToReturn.Rows(0)("sysadminrolle"), Boolean)) + End If + If dtToReturn.Rows(0)("mandantnr") Is System.DBNull.Value Then + m_iMandantnr = SqlInt32.Null + Else + m_iMandantnr = New SqlInt32(CType(dtToReturn.Rows(0)("mandantnr"), Integer)) + End If + If dtToReturn.Rows(0)("aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsRolle::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_rolle_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("rolle") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_rolle_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsRolle::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iRollenr]() As SqlInt32 + Get + Return m_iRollenr + End Get + Set(ByVal Value As SqlInt32) + Dim iRollenrTmp As SqlInt32 = Value + If iRollenrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iRollenr", "iRollenr can't be NULL") + End If + m_iRollenr = Value + End Set + End Property + + + Public Property [sBezeichnung]() As SqlString + Get + Return m_sBezeichnung + End Get + Set(ByVal Value As SqlString) + m_sBezeichnung = Value + End Set + End Property + + + Public Property [sBeschreibung]() As SqlString + Get + Return m_sBeschreibung + End Get + Set(ByVal Value As SqlString) + m_sBeschreibung = Value + End Set + End Property + + + Public Property [bSysadminrolle]() As SqlBoolean + Get + Return m_bSysadminrolle + End Get + Set(ByVal Value As SqlBoolean) + m_bSysadminrolle = Value + End Set + End Property + + + Public Property [iMandantnr]() As SqlInt32 + Get + Return m_iMandantnr + End Get + Set(ByVal Value As SqlInt32) + m_iMandantnr = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/Themenmanagement/DB/Generierte Objekte/clsRolle_SecurityObject.vb b/Themenmanagement/DB/Generierte Objekte/clsRolle_SecurityObject.vb new file mode 100644 index 0000000..fc96336 --- /dev/null +++ b/Themenmanagement/DB/Generierte Objekte/clsRolle_SecurityObject.vb @@ -0,0 +1,529 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'Rolle_SecurityObject' +' // Generated by LLBLGen v1.21.2003.712 Final on: Dienstag, 1. Januar 2013, 19:36:38 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + ''' + ''' Purpose: Data Access class for the table 'Rolle_SecurityObject'. + ''' + Public Class clsRolle_SecurityObject + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bReadonly, m_bAktiv, m_bInvisible As SqlBoolean + Private m_daErstellt_am, m_daMutiert_am As SqlDateTime + Private m_iMutierer, m_iMandantnr, m_iRollenr, m_iSecurityobjectnr, m_iRolle_securityobjectnr As SqlInt32 + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iRolle_securityobjectnr
  • + '''
  • iRollenr. May be SqlInt32.Null
  • + '''
  • iSecurityobjectnr. May be SqlInt32.Null
  • + '''
  • bReadonly. May be SqlBoolean.Null
  • + '''
  • bInvisible. May be SqlBoolean.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Rolle_SecurityObject_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@irolle_securityobjectnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iRolle_securityobjectnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@irollenr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iRollenr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@isecurityobjectnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iSecurityobjectnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@breadonly", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bReadonly)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@binvisible", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bInvisible)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Rolle_SecurityObject_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsRolle_SecurityObject::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iRolle_securityobjectnr
  • + '''
  • iRollenr. May be SqlInt32.Null
  • + '''
  • iSecurityobjectnr. May be SqlInt32.Null
  • + '''
  • bReadonly. May be SqlBoolean.Null
  • + '''
  • bInvisible. May be SqlBoolean.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Rolle_SecurityObject_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@irolle_securityobjectnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iRolle_securityobjectnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@irollenr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iRollenr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@isecurityobjectnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iSecurityobjectnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@breadonly", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bReadonly)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@binvisible", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bInvisible)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Rolle_SecurityObject_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsRolle_SecurityObject::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iRolle_securityobjectnr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Rolle_SecurityObject_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@irolle_securityobjectnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iRolle_securityobjectnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Rolle_SecurityObject_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsRolle_SecurityObject::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iRolle_securityobjectnr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iRolle_securityobjectnr
  • + '''
  • iRollenr
  • + '''
  • iSecurityobjectnr
  • + '''
  • bReadonly
  • + '''
  • bInvisible
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
  • iMandantnr
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Rolle_SecurityObject_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("Rolle_SecurityObject") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@irolle_securityobjectnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iRolle_securityobjectnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Rolle_SecurityObject_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iRolle_securityobjectnr = New SqlInt32(CType(dtToReturn.Rows(0)("rolle_securityobjectnr"), Integer)) + If dtToReturn.Rows(0)("rollenr") Is System.DBNull.Value Then + m_iRollenr = SqlInt32.Null + Else + m_iRollenr = New SqlInt32(CType(dtToReturn.Rows(0)("rollenr"), Integer)) + End If + If dtToReturn.Rows(0)("securityobjectnr") Is System.DBNull.Value Then + m_iSecurityobjectnr = SqlInt32.Null + Else + m_iSecurityobjectnr = New SqlInt32(CType(dtToReturn.Rows(0)("securityobjectnr"), Integer)) + End If + If dtToReturn.Rows(0)("readonly") Is System.DBNull.Value Then + m_bReadonly = SqlBoolean.Null + Else + m_bReadonly = New SqlBoolean(CType(dtToReturn.Rows(0)("readonly"), Boolean)) + End If + If dtToReturn.Rows(0)("invisible") Is System.DBNull.Value Then + m_bInvisible = SqlBoolean.Null + Else + m_bInvisible = New SqlBoolean(CType(dtToReturn.Rows(0)("invisible"), Boolean)) + End If + If dtToReturn.Rows(0)("aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + If dtToReturn.Rows(0)("mandantnr") Is System.DBNull.Value Then + m_iMandantnr = SqlInt32.Null + Else + m_iMandantnr = New SqlInt32(CType(dtToReturn.Rows(0)("mandantnr"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsRolle_SecurityObject::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Rolle_SecurityObject_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("Rolle_SecurityObject") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Rolle_SecurityObject_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsRolle_SecurityObject::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iRolle_securityobjectnr]() As SqlInt32 + Get + Return m_iRolle_securityobjectnr + End Get + Set(ByVal Value As SqlInt32) + Dim iRolle_securityobjectnrTmp As SqlInt32 = Value + If iRolle_securityobjectnrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iRolle_securityobjectnr", "iRolle_securityobjectnr can't be NULL") + End If + m_iRolle_securityobjectnr = Value + End Set + End Property + + + Public Property [iRollenr]() As SqlInt32 + Get + Return m_iRollenr + End Get + Set(ByVal Value As SqlInt32) + m_iRollenr = Value + End Set + End Property + + + Public Property [iSecurityobjectnr]() As SqlInt32 + Get + Return m_iSecurityobjectnr + End Get + Set(ByVal Value As SqlInt32) + m_iSecurityobjectnr = Value + End Set + End Property + + + Public Property [bReadonly]() As SqlBoolean + Get + Return m_bReadonly + End Get + Set(ByVal Value As SqlBoolean) + m_bReadonly = Value + End Set + End Property + + + Public Property [bInvisible]() As SqlBoolean + Get + Return m_bInvisible + End Get + Set(ByVal Value As SqlBoolean) + m_bInvisible = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + + + Public Property [iMandantnr]() As SqlInt32 + Get + Return m_iMandantnr + End Get + Set(ByVal Value As SqlInt32) + m_iMandantnr = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/Themenmanagement/DB/Generierte Objekte/clsRolle_sysadminfunktion.vb b/Themenmanagement/DB/Generierte Objekte/clsRolle_sysadminfunktion.vb new file mode 100644 index 0000000..00f2a9e --- /dev/null +++ b/Themenmanagement/DB/Generierte Objekte/clsRolle_sysadminfunktion.vb @@ -0,0 +1,489 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'rolle_sysadminfunktion' +' // Generated by LLBLGen v1.21.2003.712 Final on: Dienstag, 1. Januar 2013, 19:36:38 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + ''' + ''' Purpose: Data Access class for the table 'rolle_sysadminfunktion'. + ''' + Public Class clsRolle_sysadminfunktion + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daErstellt_am, m_daMutiert_am As SqlDateTime + Private m_iRollenr, m_iMandant, m_iSysadminfnktnr, m_iRolle_sysadminfnktnr, m_iMutierer As SqlInt32 + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iRolle_sysadminfnktnr
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • iSysadminfnktnr. May be SqlInt32.Null
  • + '''
  • iRollenr. May be SqlInt32.Null
  • + '''
  • iMandant. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_rolle_sysadminfunktion_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@irolle_sysadminfnktnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iRolle_sysadminfnktnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@isysadminfnktnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iSysadminfnktnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@irollenr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iRollenr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandant", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandant)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_rolle_sysadminfunktion_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsRolle_sysadminfunktion::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iRolle_sysadminfnktnr
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • iSysadminfnktnr. May be SqlInt32.Null
  • + '''
  • iRollenr. May be SqlInt32.Null
  • + '''
  • iMandant. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_rolle_sysadminfunktion_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@irolle_sysadminfnktnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iRolle_sysadminfnktnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@isysadminfnktnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iSysadminfnktnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@irollenr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iRollenr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandant", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandant)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_rolle_sysadminfunktion_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsRolle_sysadminfunktion::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iRolle_sysadminfnktnr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_rolle_sysadminfunktion_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@irolle_sysadminfnktnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iRolle_sysadminfnktnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_rolle_sysadminfunktion_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsRolle_sysadminfunktion::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iRolle_sysadminfnktnr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iRolle_sysadminfnktnr
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
  • iSysadminfnktnr
  • + '''
  • iRollenr
  • + '''
  • iMandant
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_rolle_sysadminfunktion_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("rolle_sysadminfunktion") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@irolle_sysadminfnktnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iRolle_sysadminfnktnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_rolle_sysadminfunktion_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iRolle_sysadminfnktnr = New SqlInt32(CType(dtToReturn.Rows(0)("rolle_sysadminfnktnr"), Integer)) + If dtToReturn.Rows(0)("aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + If dtToReturn.Rows(0)("sysadminfnktnr") Is System.DBNull.Value Then + m_iSysadminfnktnr = SqlInt32.Null + Else + m_iSysadminfnktnr = New SqlInt32(CType(dtToReturn.Rows(0)("sysadminfnktnr"), Integer)) + End If + If dtToReturn.Rows(0)("rollenr") Is System.DBNull.Value Then + m_iRollenr = SqlInt32.Null + Else + m_iRollenr = New SqlInt32(CType(dtToReturn.Rows(0)("rollenr"), Integer)) + End If + If dtToReturn.Rows(0)("mandant") Is System.DBNull.Value Then + m_iMandant = SqlInt32.Null + Else + m_iMandant = New SqlInt32(CType(dtToReturn.Rows(0)("mandant"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsRolle_sysadminfunktion::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_rolle_sysadminfunktion_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("rolle_sysadminfunktion") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_rolle_sysadminfunktion_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsRolle_sysadminfunktion::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iRolle_sysadminfnktnr]() As SqlInt32 + Get + Return m_iRolle_sysadminfnktnr + End Get + Set(ByVal Value As SqlInt32) + Dim iRolle_sysadminfnktnrTmp As SqlInt32 = Value + If iRolle_sysadminfnktnrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iRolle_sysadminfnktnr", "iRolle_sysadminfnktnr can't be NULL") + End If + m_iRolle_sysadminfnktnr = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + + + Public Property [iSysadminfnktnr]() As SqlInt32 + Get + Return m_iSysadminfnktnr + End Get + Set(ByVal Value As SqlInt32) + m_iSysadminfnktnr = Value + End Set + End Property + + + Public Property [iRollenr]() As SqlInt32 + Get + Return m_iRollenr + End Get + Set(ByVal Value As SqlInt32) + m_iRollenr = Value + End Set + End Property + + + Public Property [iMandant]() As SqlInt32 + Get + Return m_iMandant + End Get + Set(ByVal Value As SqlInt32) + m_iMandant = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/Themenmanagement/DB/Generierte Objekte/clsSecurityObject.vb b/Themenmanagement/DB/Generierte Objekte/clsSecurityObject.vb new file mode 100644 index 0000000..5d07551 --- /dev/null +++ b/Themenmanagement/DB/Generierte Objekte/clsSecurityObject.vb @@ -0,0 +1,570 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'SecurityObject' +' // Generated by LLBLGen v1.21.2003.712 Final on: Dienstag, 1. Januar 2013, 19:36:38 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + ''' + ''' Purpose: Data Access class for the table 'SecurityObject'. + ''' + Public Class clsSecurityObject + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daErstellt_am, m_daMutiert_am As SqlDateTime + Private m_iLevel, m_iMutierer, m_iMandantnr, m_iSecurityObjectNr As SqlInt32 + Private m_sSecurityForm, m_sSecurityObjectDescriotion, m_sSecurityObjectItem, m_sSecurityObject, m_sSecurityObjectType As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iSecurityObjectNr
  • + '''
  • sSecurityForm. May be SqlString.Null
  • + '''
  • sSecurityObjectType. May be SqlString.Null
  • + '''
  • sSecurityObject. May be SqlString.Null
  • + '''
  • sSecurityObjectItem. May be SqlString.Null
  • + '''
  • sSecurityObjectDescriotion. May be SqlString.Null
  • + '''
  • iLevel. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_SecurityObject_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iSecurityObjectNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iSecurityObjectNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sSecurityForm", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sSecurityForm)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sSecurityObjectType", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sSecurityObjectType)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sSecurityObject", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sSecurityObject)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sSecurityObjectItem", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sSecurityObjectItem)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sSecurityObjectDescriotion", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sSecurityObjectDescriotion)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iLevel", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iLevel)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bAktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daErstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daMutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iMutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iMandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_SecurityObject_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSecurityObject::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iSecurityObjectNr
  • + '''
  • sSecurityForm. May be SqlString.Null
  • + '''
  • sSecurityObjectType. May be SqlString.Null
  • + '''
  • sSecurityObject. May be SqlString.Null
  • + '''
  • sSecurityObjectItem. May be SqlString.Null
  • + '''
  • sSecurityObjectDescriotion. May be SqlString.Null
  • + '''
  • iLevel. May be SqlInt32.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_SecurityObject_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iSecurityObjectNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iSecurityObjectNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sSecurityForm", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sSecurityForm)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sSecurityObjectType", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sSecurityObjectType)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sSecurityObject", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sSecurityObject)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sSecurityObjectItem", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sSecurityObjectItem)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sSecurityObjectDescriotion", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sSecurityObjectDescriotion)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iLevel", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iLevel)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bAktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daErstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daMutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iMutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iMandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_SecurityObject_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSecurityObject::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iSecurityObjectNr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_SecurityObject_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iSecurityObjectNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iSecurityObjectNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_SecurityObject_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSecurityObject::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iSecurityObjectNr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iSecurityObjectNr
  • + '''
  • sSecurityForm
  • + '''
  • sSecurityObjectType
  • + '''
  • sSecurityObject
  • + '''
  • sSecurityObjectItem
  • + '''
  • sSecurityObjectDescriotion
  • + '''
  • iLevel
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
  • iMandantnr
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_SecurityObject_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("SecurityObject") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iSecurityObjectNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iSecurityObjectNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_SecurityObject_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iSecurityObjectNr = New SqlInt32(CType(dtToReturn.Rows(0)("SecurityObjectNr"), Integer)) + If dtToReturn.Rows(0)("SecurityForm") Is System.DBNull.Value Then + m_sSecurityForm = SqlString.Null + Else + m_sSecurityForm = New SqlString(CType(dtToReturn.Rows(0)("SecurityForm"), String)) + End If + If dtToReturn.Rows(0)("SecurityObjectType") Is System.DBNull.Value Then + m_sSecurityObjectType = SqlString.Null + Else + m_sSecurityObjectType = New SqlString(CType(dtToReturn.Rows(0)("SecurityObjectType"), String)) + End If + If dtToReturn.Rows(0)("SecurityObject") Is System.DBNull.Value Then + m_sSecurityObject = SqlString.Null + Else + m_sSecurityObject = New SqlString(CType(dtToReturn.Rows(0)("SecurityObject"), String)) + End If + If dtToReturn.Rows(0)("SecurityObjectItem") Is System.DBNull.Value Then + m_sSecurityObjectItem = SqlString.Null + Else + m_sSecurityObjectItem = New SqlString(CType(dtToReturn.Rows(0)("SecurityObjectItem"), String)) + End If + If dtToReturn.Rows(0)("SecurityObjectDescriotion") Is System.DBNull.Value Then + m_sSecurityObjectDescriotion = SqlString.Null + Else + m_sSecurityObjectDescriotion = New SqlString(CType(dtToReturn.Rows(0)("SecurityObjectDescriotion"), String)) + End If + If dtToReturn.Rows(0)("Level") Is System.DBNull.Value Then + m_iLevel = SqlInt32.Null + Else + m_iLevel = New SqlInt32(CType(dtToReturn.Rows(0)("Level"), Integer)) + End If + If dtToReturn.Rows(0)("Aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("Aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("Erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("Erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("Mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("Mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("Mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("Mutierer"), Integer)) + End If + If dtToReturn.Rows(0)("Mandantnr") Is System.DBNull.Value Then + m_iMandantnr = SqlInt32.Null + Else + m_iMandantnr = New SqlInt32(CType(dtToReturn.Rows(0)("Mandantnr"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSecurityObject::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_SecurityObject_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("SecurityObject") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_SecurityObject_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSecurityObject::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iSecurityObjectNr]() As SqlInt32 + Get + Return m_iSecurityObjectNr + End Get + Set(ByVal Value As SqlInt32) + Dim iSecurityObjectNrTmp As SqlInt32 = Value + If iSecurityObjectNrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iSecurityObjectNr", "iSecurityObjectNr can't be NULL") + End If + m_iSecurityObjectNr = Value + End Set + End Property + + + Public Property [sSecurityForm]() As SqlString + Get + Return m_sSecurityForm + End Get + Set(ByVal Value As SqlString) + m_sSecurityForm = Value + End Set + End Property + + + Public Property [sSecurityObjectType]() As SqlString + Get + Return m_sSecurityObjectType + End Get + Set(ByVal Value As SqlString) + m_sSecurityObjectType = Value + End Set + End Property + + + Public Property [sSecurityObject]() As SqlString + Get + Return m_sSecurityObject + End Get + Set(ByVal Value As SqlString) + m_sSecurityObject = Value + End Set + End Property + + + Public Property [sSecurityObjectItem]() As SqlString + Get + Return m_sSecurityObjectItem + End Get + Set(ByVal Value As SqlString) + m_sSecurityObjectItem = Value + End Set + End Property + + + Public Property [sSecurityObjectDescriotion]() As SqlString + Get + Return m_sSecurityObjectDescriotion + End Get + Set(ByVal Value As SqlString) + m_sSecurityObjectDescriotion = Value + End Set + End Property + + + Public Property [iLevel]() As SqlInt32 + Get + Return m_iLevel + End Get + Set(ByVal Value As SqlInt32) + m_iLevel = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + + + Public Property [iMandantnr]() As SqlInt32 + Get + Return m_iMandantnr + End Get + Set(ByVal Value As SqlInt32) + m_iMandantnr = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/Themenmanagement/DB/Generierte Objekte/clsSpalten.vb b/Themenmanagement/DB/Generierte Objekte/clsSpalten.vb new file mode 100644 index 0000000..b2c1c8d --- /dev/null +++ b/Themenmanagement/DB/Generierte Objekte/clsSpalten.vb @@ -0,0 +1,630 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'spalten' +' // Generated by LLBLGen v1.21.2003.712 Final on: Dienstag, 1. Januar 2013, 13:15:45 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace db + ''' + ''' Purpose: Data Access class for the table 'spalten'. + ''' + Public Class clsSpalten + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bReadonly, m_bAlsHacken, m_bAktiv As SqlBoolean + Private m_daErstellt_am, m_daMutiert_am As SqlDateTime + Private m_iMandantnr, m_iMutierer, m_iReihenfolge, m_iEintragnr, m_iBreite As SqlInt32 + Private m_sTabelle, m_sNumberFormat, m_sTiptext, m_sSpalte, m_sTabellenspalte As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iEintragnr
  • + '''
  • sTabelle. May be SqlString.Null
  • + '''
  • sTabellenspalte. May be SqlString.Null
  • + '''
  • sSpalte. May be SqlString.Null
  • + '''
  • bReadonly
  • + '''
  • bAlsHacken
  • + '''
  • iBreite. May be SqlInt32.Null
  • + '''
  • iReihenfolge. May be SqlInt32.Null
  • + '''
  • sTiptext. May be SqlString.Null
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • sNumberFormat. May be SqlString.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_spalten_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@ieintragnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iEintragnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@stabelle", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTabelle)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@stabellenspalte", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTabellenspalte)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sspalte", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sSpalte)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bReadonly", SqlDbType.Bit, 1, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_bReadonly)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@balsHacken", SqlDbType.Bit, 1, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_bAlsHacken)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iBreite", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iBreite)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iReihenfolge", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iReihenfolge)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@stiptext", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTiptext)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sNumberFormat", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sNumberFormat)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_spalten_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSpalten::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iEintragnr
  • + '''
  • sTabelle. May be SqlString.Null
  • + '''
  • sTabellenspalte. May be SqlString.Null
  • + '''
  • sSpalte. May be SqlString.Null
  • + '''
  • bReadonly
  • + '''
  • bAlsHacken
  • + '''
  • iBreite. May be SqlInt32.Null
  • + '''
  • iReihenfolge. May be SqlInt32.Null
  • + '''
  • sTiptext. May be SqlString.Null
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • iMandantnr. May be SqlInt32.Null
  • + '''
  • sNumberFormat. May be SqlString.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_spalten_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@ieintragnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iEintragnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@stabelle", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTabelle)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@stabellenspalte", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTabellenspalte)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sspalte", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sSpalte)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bReadonly", SqlDbType.Bit, 1, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_bReadonly)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@balsHacken", SqlDbType.Bit, 1, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_bAlsHacken)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iBreite", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iBreite)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iReihenfolge", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iReihenfolge)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@stiptext", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTiptext)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, False, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sNumberFormat", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sNumberFormat)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_spalten_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSpalten::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iEintragnr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_spalten_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@ieintragnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iEintragnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_spalten_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSpalten::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iEintragnr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iEintragnr
  • + '''
  • sTabelle
  • + '''
  • sTabellenspalte
  • + '''
  • sSpalte
  • + '''
  • bReadonly
  • + '''
  • bAlsHacken
  • + '''
  • iBreite
  • + '''
  • iReihenfolge
  • + '''
  • sTiptext
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
  • iMandantnr
  • + '''
  • sNumberFormat
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_spalten_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("spalten") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@ieintragnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iEintragnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_spalten_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iEintragnr = New SqlInt32(CType(dtToReturn.Rows(0)("eintragnr"), Integer)) + If dtToReturn.Rows(0)("tabelle") Is System.DBNull.Value Then + m_sTabelle = SqlString.Null + Else + m_sTabelle = New SqlString(CType(dtToReturn.Rows(0)("tabelle"), String)) + End If + If dtToReturn.Rows(0)("tabellenspalte") Is System.DBNull.Value Then + m_sTabellenspalte = SqlString.Null + Else + m_sTabellenspalte = New SqlString(CType(dtToReturn.Rows(0)("tabellenspalte"), String)) + End If + If dtToReturn.Rows(0)("spalte") Is System.DBNull.Value Then + m_sSpalte = SqlString.Null + Else + m_sSpalte = New SqlString(CType(dtToReturn.Rows(0)("spalte"), String)) + End If + m_bReadonly = New SqlBoolean(CType(dtToReturn.Rows(0)("Readonly"), Boolean)) + m_bAlsHacken = New SqlBoolean(CType(dtToReturn.Rows(0)("alsHacken"), Boolean)) + If dtToReturn.Rows(0)("Breite") Is System.DBNull.Value Then + m_iBreite = SqlInt32.Null + Else + m_iBreite = New SqlInt32(CType(dtToReturn.Rows(0)("Breite"), Integer)) + End If + If dtToReturn.Rows(0)("Reihenfolge") Is System.DBNull.Value Then + m_iReihenfolge = SqlInt32.Null + Else + m_iReihenfolge = New SqlInt32(CType(dtToReturn.Rows(0)("Reihenfolge"), Integer)) + End If + If dtToReturn.Rows(0)("tiptext") Is System.DBNull.Value Then + m_sTiptext = SqlString.Null + Else + m_sTiptext = New SqlString(CType(dtToReturn.Rows(0)("tiptext"), String)) + End If + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + If dtToReturn.Rows(0)("mandantnr") Is System.DBNull.Value Then + m_iMandantnr = SqlInt32.Null + Else + m_iMandantnr = New SqlInt32(CType(dtToReturn.Rows(0)("mandantnr"), Integer)) + End If + If dtToReturn.Rows(0)("NumberFormat") Is System.DBNull.Value Then + m_sNumberFormat = SqlString.Null + Else + m_sNumberFormat = New SqlString(CType(dtToReturn.Rows(0)("NumberFormat"), String)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSpalten::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_spalten_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("spalten") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_spalten_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSpalten::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iEintragnr]() As SqlInt32 + Get + Return m_iEintragnr + End Get + Set(ByVal Value As SqlInt32) + Dim iEintragnrTmp As SqlInt32 = Value + If iEintragnrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iEintragnr", "iEintragnr can't be NULL") + End If + m_iEintragnr = Value + End Set + End Property + + + Public Property [sTabelle]() As SqlString + Get + Return m_sTabelle + End Get + Set(ByVal Value As SqlString) + m_sTabelle = Value + End Set + End Property + + + Public Property [sTabellenspalte]() As SqlString + Get + Return m_sTabellenspalte + End Get + Set(ByVal Value As SqlString) + m_sTabellenspalte = Value + End Set + End Property + + + Public Property [sSpalte]() As SqlString + Get + Return m_sSpalte + End Get + Set(ByVal Value As SqlString) + m_sSpalte = Value + End Set + End Property + + + Public Property [bReadonly]() As SqlBoolean + Get + Return m_bReadonly + End Get + Set(ByVal Value As SqlBoolean) + Dim bReadonlyTmp As SqlBoolean = Value + If bReadonlyTmp.IsNull Then + Throw New ArgumentOutOfRangeException("bReadonly", "bReadonly can't be NULL") + End If + m_bReadonly = Value + End Set + End Property + + + Public Property [bAlsHacken]() As SqlBoolean + Get + Return m_bAlsHacken + End Get + Set(ByVal Value As SqlBoolean) + Dim bAlsHackenTmp As SqlBoolean = Value + If bAlsHackenTmp.IsNull Then + Throw New ArgumentOutOfRangeException("bAlsHacken", "bAlsHacken can't be NULL") + End If + m_bAlsHacken = Value + End Set + End Property + + + Public Property [iBreite]() As SqlInt32 + Get + Return m_iBreite + End Get + Set(ByVal Value As SqlInt32) + m_iBreite = Value + End Set + End Property + + + Public Property [iReihenfolge]() As SqlInt32 + Get + Return m_iReihenfolge + End Get + Set(ByVal Value As SqlInt32) + m_iReihenfolge = Value + End Set + End Property + + + Public Property [sTiptext]() As SqlString + Get + Return m_sTiptext + End Get + Set(ByVal Value As SqlString) + m_sTiptext = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + Dim bAktivTmp As SqlBoolean = Value + If bAktivTmp.IsNull Then + Throw New ArgumentOutOfRangeException("bAktiv", "bAktiv can't be NULL") + End If + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + + + Public Property [iMandantnr]() As SqlInt32 + Get + Return m_iMandantnr + End Get + Set(ByVal Value As SqlInt32) + m_iMandantnr = Value + End Set + End Property + + + Public Property [sNumberFormat]() As SqlString + Get + Return m_sNumberFormat + End Get + Set(ByVal Value As SqlString) + m_sNumberFormat = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/Themenmanagement/DB/Generierte Objekte/clsSysadminfunktion.vb b/Themenmanagement/DB/Generierte Objekte/clsSysadminfunktion.vb new file mode 100644 index 0000000..1a3fb68 --- /dev/null +++ b/Themenmanagement/DB/Generierte Objekte/clsSysadminfunktion.vb @@ -0,0 +1,710 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'sysadminfunktion' +' // Generated by LLBLGen v1.21.2003.712 Final on: Dienstag, 1. Januar 2013, 18:17:09 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + ''' + ''' Purpose: Data Access class for the table 'sysadminfunktion'. + ''' + Public Class clsSysadminfunktion + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daErstellt_am, m_daMutiert_am As SqlDateTime + Private m_iFheight, m_iFwidth, m_iMandantnr, m_iMutierer, m_iSprache, m_iSort, m_iImageIndex, m_iSysadminfnktnr, m_iParentID, m_iFtop, m_iFleft, m_iImageIndexOpen As SqlInt32 + Private m_sKeyFields, m_sDomaintable, m_sBeschreibung, m_sBezeichnung As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iSysadminfnktnr
  • + '''
  • sBezeichnung. May be SqlString.Null
  • + '''
  • iParentID. May be SqlInt32.Null
  • + '''
  • iSort. May be SqlInt32.Null
  • + '''
  • iImageIndex. May be SqlInt32.Null
  • + '''
  • iImageIndexOpen. May be SqlInt32.Null
  • + '''
  • iFtop. May be SqlInt32.Null
  • + '''
  • iFleft. May be SqlInt32.Null
  • + '''
  • iFwidth. May be SqlInt32.Null
  • + '''
  • iFheight. May be SqlInt32.Null
  • + '''
  • sBeschreibung. May be SqlString.Null
  • + '''
  • iMandantnr
  • + '''
  • iSprache
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • sDomaintable. May be SqlString.Null
  • + '''
  • sKeyFields. May be SqlString.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_sysadminfunktion_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@isysadminfnktnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iSysadminfnktnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sbezeichnung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iParentID", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iParentID)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iSort", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iSort)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iImageIndex", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iImageIndex)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iImageIndexOpen", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iImageIndexOpen)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iftop", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iFtop)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@ifleft", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iFleft)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@ifwidth", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iFwidth)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@ifheight", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iFheight)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sbeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@isprache", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iSprache)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sDomaintable", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sDomaintable)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sKeyFields", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sKeyFields)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_sysadminfunktion_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSysadminfunktion::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iSysadminfnktnr
  • + '''
  • sBezeichnung. May be SqlString.Null
  • + '''
  • iParentID. May be SqlInt32.Null
  • + '''
  • iSort. May be SqlInt32.Null
  • + '''
  • iImageIndex. May be SqlInt32.Null
  • + '''
  • iImageIndexOpen. May be SqlInt32.Null
  • + '''
  • iFtop. May be SqlInt32.Null
  • + '''
  • iFleft. May be SqlInt32.Null
  • + '''
  • iFwidth. May be SqlInt32.Null
  • + '''
  • iFheight. May be SqlInt32.Null
  • + '''
  • sBeschreibung. May be SqlString.Null
  • + '''
  • iMandantnr
  • + '''
  • iSprache
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
  • sDomaintable. May be SqlString.Null
  • + '''
  • sKeyFields. May be SqlString.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_sysadminfunktion_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@isysadminfnktnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iSysadminfnktnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sbezeichnung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iParentID", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iParentID)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iSort", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iSort)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iImageIndex", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iImageIndex)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iImageIndexOpen", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iImageIndexOpen)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iftop", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iFtop)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@ifleft", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iFleft)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@ifwidth", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iFwidth)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@ifheight", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iFheight)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sbeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandantnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iMandantnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@isprache", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iSprache)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sDomaintable", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sDomaintable)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sKeyFields", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sKeyFields)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_sysadminfunktion_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSysadminfunktion::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iSysadminfnktnr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_sysadminfunktion_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@isysadminfnktnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iSysadminfnktnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_sysadminfunktion_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSysadminfunktion::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iSysadminfnktnr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iSysadminfnktnr
  • + '''
  • sBezeichnung
  • + '''
  • iParentID
  • + '''
  • iSort
  • + '''
  • iImageIndex
  • + '''
  • iImageIndexOpen
  • + '''
  • iFtop
  • + '''
  • iFleft
  • + '''
  • iFwidth
  • + '''
  • iFheight
  • + '''
  • sBeschreibung
  • + '''
  • iMandantnr
  • + '''
  • iSprache
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
  • sDomaintable
  • + '''
  • sKeyFields
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_sysadminfunktion_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("sysadminfunktion") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@isysadminfnktnr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iSysadminfnktnr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_sysadminfunktion_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iSysadminfnktnr = New SqlInt32(CType(dtToReturn.Rows(0)("sysadminfnktnr"), Integer)) + If dtToReturn.Rows(0)("bezeichnung") Is System.DBNull.Value Then + m_sBezeichnung = SqlString.Null + Else + m_sBezeichnung = New SqlString(CType(dtToReturn.Rows(0)("bezeichnung"), String)) + End If + If dtToReturn.Rows(0)("ParentID") Is System.DBNull.Value Then + m_iParentID = SqlInt32.Null + Else + m_iParentID = New SqlInt32(CType(dtToReturn.Rows(0)("ParentID"), Integer)) + End If + If dtToReturn.Rows(0)("Sort") Is System.DBNull.Value Then + m_iSort = SqlInt32.Null + Else + m_iSort = New SqlInt32(CType(dtToReturn.Rows(0)("Sort"), Integer)) + End If + If dtToReturn.Rows(0)("ImageIndex") Is System.DBNull.Value Then + m_iImageIndex = SqlInt32.Null + Else + m_iImageIndex = New SqlInt32(CType(dtToReturn.Rows(0)("ImageIndex"), Integer)) + End If + If dtToReturn.Rows(0)("ImageIndexOpen") Is System.DBNull.Value Then + m_iImageIndexOpen = SqlInt32.Null + Else + m_iImageIndexOpen = New SqlInt32(CType(dtToReturn.Rows(0)("ImageIndexOpen"), Integer)) + End If + If dtToReturn.Rows(0)("ftop") Is System.DBNull.Value Then + m_iFtop = SqlInt32.Null + Else + m_iFtop = New SqlInt32(CType(dtToReturn.Rows(0)("ftop"), Integer)) + End If + If dtToReturn.Rows(0)("fleft") Is System.DBNull.Value Then + m_iFleft = SqlInt32.Null + Else + m_iFleft = New SqlInt32(CType(dtToReturn.Rows(0)("fleft"), Integer)) + End If + If dtToReturn.Rows(0)("fwidth") Is System.DBNull.Value Then + m_iFwidth = SqlInt32.Null + Else + m_iFwidth = New SqlInt32(CType(dtToReturn.Rows(0)("fwidth"), Integer)) + End If + If dtToReturn.Rows(0)("fheight") Is System.DBNull.Value Then + m_iFheight = SqlInt32.Null + Else + m_iFheight = New SqlInt32(CType(dtToReturn.Rows(0)("fheight"), Integer)) + End If + If dtToReturn.Rows(0)("beschreibung") Is System.DBNull.Value Then + m_sBeschreibung = SqlString.Null + Else + m_sBeschreibung = New SqlString(CType(dtToReturn.Rows(0)("beschreibung"), String)) + End If + m_iMandantnr = New SqlInt32(CType(dtToReturn.Rows(0)("mandantnr"), Integer)) + m_iSprache = New SqlInt32(CType(dtToReturn.Rows(0)("sprache"), Integer)) + If dtToReturn.Rows(0)("aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + If dtToReturn.Rows(0)("Domaintable") Is System.DBNull.Value Then + m_sDomaintable = SqlString.Null + Else + m_sDomaintable = New SqlString(CType(dtToReturn.Rows(0)("Domaintable"), String)) + End If + If dtToReturn.Rows(0)("KeyFields") Is System.DBNull.Value Then + m_sKeyFields = SqlString.Null + Else + m_sKeyFields = New SqlString(CType(dtToReturn.Rows(0)("KeyFields"), String)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSysadminfunktion::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_sysadminfunktion_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("sysadminfunktion") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_sysadminfunktion_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSysadminfunktion::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iSysadminfnktnr]() As SqlInt32 + Get + Return m_iSysadminfnktnr + End Get + Set(ByVal Value As SqlInt32) + Dim iSysadminfnktnrTmp As SqlInt32 = Value + If iSysadminfnktnrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iSysadminfnktnr", "iSysadminfnktnr can't be NULL") + End If + m_iSysadminfnktnr = Value + End Set + End Property + + + Public Property [sBezeichnung]() As SqlString + Get + Return m_sBezeichnung + End Get + Set(ByVal Value As SqlString) + m_sBezeichnung = Value + End Set + End Property + + + Public Property [iParentID]() As SqlInt32 + Get + Return m_iParentID + End Get + Set(ByVal Value As SqlInt32) + m_iParentID = Value + End Set + End Property + + + Public Property [iSort]() As SqlInt32 + Get + Return m_iSort + End Get + Set(ByVal Value As SqlInt32) + m_iSort = Value + End Set + End Property + + + Public Property [iImageIndex]() As SqlInt32 + Get + Return m_iImageIndex + End Get + Set(ByVal Value As SqlInt32) + m_iImageIndex = Value + End Set + End Property + + + Public Property [iImageIndexOpen]() As SqlInt32 + Get + Return m_iImageIndexOpen + End Get + Set(ByVal Value As SqlInt32) + m_iImageIndexOpen = Value + End Set + End Property + + + Public Property [iFtop]() As SqlInt32 + Get + Return m_iFtop + End Get + Set(ByVal Value As SqlInt32) + m_iFtop = Value + End Set + End Property + + + Public Property [iFleft]() As SqlInt32 + Get + Return m_iFleft + End Get + Set(ByVal Value As SqlInt32) + m_iFleft = Value + End Set + End Property + + + Public Property [iFwidth]() As SqlInt32 + Get + Return m_iFwidth + End Get + Set(ByVal Value As SqlInt32) + m_iFwidth = Value + End Set + End Property + + + Public Property [iFheight]() As SqlInt32 + Get + Return m_iFheight + End Get + Set(ByVal Value As SqlInt32) + m_iFheight = Value + End Set + End Property + + + Public Property [sBeschreibung]() As SqlString + Get + Return m_sBeschreibung + End Get + Set(ByVal Value As SqlString) + m_sBeschreibung = Value + End Set + End Property + + + Public Property [iMandantnr]() As SqlInt32 + Get + Return m_iMandantnr + End Get + Set(ByVal Value As SqlInt32) + Dim iMandantnrTmp As SqlInt32 = Value + If iMandantnrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iMandantnr", "iMandantnr can't be NULL") + End If + m_iMandantnr = Value + End Set + End Property + + + Public Property [iSprache]() As SqlInt32 + Get + Return m_iSprache + End Get + Set(ByVal Value As SqlInt32) + Dim iSpracheTmp As SqlInt32 = Value + If iSpracheTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iSprache", "iSprache can't be NULL") + End If + m_iSprache = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + + + Public Property [sDomaintable]() As SqlString + Get + Return m_sDomaintable + End Get + Set(ByVal Value As SqlString) + m_sDomaintable = Value + End Set + End Property + + + Public Property [sKeyFields]() As SqlString + Get + Return m_sKeyFields + End Get + Set(ByVal Value As SqlString) + m_sKeyFields = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/Themenmanagement/DB/Generierte Objekte/clsThema.vb b/Themenmanagement/DB/Generierte Objekte/clsThema.vb new file mode 100644 index 0000000..15e0172 --- /dev/null +++ b/Themenmanagement/DB/Generierte Objekte/clsThema.vb @@ -0,0 +1,509 @@ +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + Public Class clsThema + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bIssue, m_bAktiv As SqlBoolean + Private m_daGueltig_ab, m_daMutiert_am, m_daGueltig_bis, m_daErstellt_am As SqlDateTime + Private m_iMutierer, m_iIssue_Relevant_Veraenderung, m_iIssue_Relevant_TKB, m_iKategorieNr, m_iThemanNr As SqlInt32 + Private m_sIssue_Bemerkung, m_sTitel, m_sSuchbegriffe, m_sBeschreibung As SqlString + +#End Region + + + Public Sub New() + ' // Nothing for now. + End Sub + + + Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Thema_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iThemanNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iThemanNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sTitel", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTitel)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iKategorieNr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iKategorieNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBeschreibung", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sSuchbegriffe", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sSuchbegriffe)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daGueltig_ab", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daGueltig_ab)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daGueltig_bis", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daGueltig_bis)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bIssue", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bIssue)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iIssue_Relevant_TKB", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iIssue_Relevant_TKB)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iIssue_Relevant_Veraenderung", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iIssue_Relevant_Veraenderung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sIssue_Bemerkung", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sIssue_Bemerkung)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Thema_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsThema::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Thema_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iThemanNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iThemanNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sTitel", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTitel)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iKategorieNr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iKategorieNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBeschreibung", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sSuchbegriffe", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sSuchbegriffe)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daGueltig_ab", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daGueltig_ab)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daGueltig_bis", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daGueltig_bis)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bIssue", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bIssue)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iIssue_Relevant_TKB", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iIssue_Relevant_TKB)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iIssue_Relevant_Veraenderung", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iIssue_Relevant_Veraenderung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sIssue_Bemerkung", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sIssue_Bemerkung)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Thema_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsThema::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Thema_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iThemanNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iThemanNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Thema_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsThema::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Thema_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("Thema") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iThemanNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iThemanNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Thema_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iThemanNr = New SqlInt32(CType(dtToReturn.Rows(0)("ThemanNr"), Integer)) + If dtToReturn.Rows(0)("Titel") Is System.DBNull.Value Then + m_sTitel = SqlString.Null + Else + m_sTitel = New SqlString(CType(dtToReturn.Rows(0)("Titel"), String)) + End If + If dtToReturn.Rows(0)("KategorieNr") Is System.DBNull.Value Then + m_iKategorieNr = SqlInt32.Null + Else + m_iKategorieNr = New SqlInt32(CType(dtToReturn.Rows(0)("KategorieNr"), Integer)) + End If + If dtToReturn.Rows(0)("Beschreibung") Is System.DBNull.Value Then + m_sBeschreibung = SqlString.Null + Else + m_sBeschreibung = New SqlString(CType(dtToReturn.Rows(0)("Beschreibung"), String)) + End If + If dtToReturn.Rows(0)("Suchbegriffe") Is System.DBNull.Value Then + m_sSuchbegriffe = SqlString.Null + Else + m_sSuchbegriffe = New SqlString(CType(dtToReturn.Rows(0)("Suchbegriffe"), String)) + End If + If dtToReturn.Rows(0)("Gueltig_ab") Is System.DBNull.Value Then + m_daGueltig_ab = SqlDateTime.Null + Else + m_daGueltig_ab = New SqlDateTime(CType(dtToReturn.Rows(0)("Gueltig_ab"), Date)) + End If + If dtToReturn.Rows(0)("Gueltig_bis") Is System.DBNull.Value Then + m_daGueltig_bis = SqlDateTime.Null + Else + m_daGueltig_bis = New SqlDateTime(CType(dtToReturn.Rows(0)("Gueltig_bis"), Date)) + End If + If dtToReturn.Rows(0)("aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + If dtToReturn.Rows(0)("Issue") Is System.DBNull.Value Then + m_bIssue = SqlBoolean.Null + Else + m_bIssue = New SqlBoolean(CType(dtToReturn.Rows(0)("Issue"), Boolean)) + End If + If dtToReturn.Rows(0)("Issue_Relevant_TKB") Is System.DBNull.Value Then + m_iIssue_Relevant_TKB = SqlInt32.Null + Else + m_iIssue_Relevant_TKB = New SqlInt32(CType(dtToReturn.Rows(0)("Issue_Relevant_TKB"), Integer)) + End If + If dtToReturn.Rows(0)("Issue_Relevant_Veraenderung") Is System.DBNull.Value Then + m_iIssue_Relevant_Veraenderung = SqlInt32.Null + Else + m_iIssue_Relevant_Veraenderung = New SqlInt32(CType(dtToReturn.Rows(0)("Issue_Relevant_Veraenderung"), Integer)) + End If + If dtToReturn.Rows(0)("Issue_Bemerkung") Is System.DBNull.Value Then + m_sIssue_Bemerkung = SqlString.Null + Else + m_sIssue_Bemerkung = New SqlString(CType(dtToReturn.Rows(0)("Issue_Bemerkung"), String)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsThema::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Thema_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("Thema") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Thema_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsThema::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iThemanNr]() As SqlInt32 + Get + Return m_iThemanNr + End Get + Set(ByVal Value As SqlInt32) + Dim iThemanNrTmp As SqlInt32 = Value + If iThemanNrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iThemanNr", "iThemanNr can't be NULL") + End If + m_iThemanNr = Value + End Set + End Property + + + Public Property [sTitel]() As SqlString + Get + Return m_sTitel + End Get + Set(ByVal Value As SqlString) + m_sTitel = Value + End Set + End Property + + + Public Property [iKategorieNr]() As SqlInt32 + Get + Return m_iKategorieNr + End Get + Set(ByVal Value As SqlInt32) + m_iKategorieNr = Value + End Set + End Property + + + Public Property [sBeschreibung]() As SqlString + Get + Return m_sBeschreibung + End Get + Set(ByVal Value As SqlString) + m_sBeschreibung = Value + End Set + End Property + + + Public Property [sSuchbegriffe]() As SqlString + Get + Return m_sSuchbegriffe + End Get + Set(ByVal Value As SqlString) + m_sSuchbegriffe = Value + End Set + End Property + + + Public Property [daGueltig_ab]() As SqlDateTime + Get + Return m_daGueltig_ab + End Get + Set(ByVal Value As SqlDateTime) + m_daGueltig_ab = Value + End Set + End Property + + + Public Property [daGueltig_bis]() As SqlDateTime + Get + Return m_daGueltig_bis + End Get + Set(ByVal Value As SqlDateTime) + m_daGueltig_bis = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + + + Public Property [bIssue]() As SqlBoolean + Get + Return m_bIssue + End Get + Set(ByVal Value As SqlBoolean) + m_bIssue = Value + End Set + End Property + + + Public Property [iIssue_Relevant_TKB]() As SqlInt32 + Get + Return m_iIssue_Relevant_TKB + End Get + Set(ByVal Value As SqlInt32) + m_iIssue_Relevant_TKB = Value + End Set + End Property + + + Public Property [iIssue_Relevant_Veraenderung]() As SqlInt32 + Get + Return m_iIssue_Relevant_Veraenderung + End Get + Set(ByVal Value As SqlInt32) + m_iIssue_Relevant_Veraenderung = Value + End Set + End Property + + + Public Property [sIssue_Bemerkung]() As SqlString + Get + Return m_sIssue_Bemerkung + End Get + Set(ByVal Value As SqlString) + m_sIssue_Bemerkung = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/Themenmanagement/DB/Generierte Objekte/clsThemaEntwicklung.vb b/Themenmanagement/DB/Generierte Objekte/clsThemaEntwicklung.vb new file mode 100644 index 0000000..c095cd4 --- /dev/null +++ b/Themenmanagement/DB/Generierte Objekte/clsThemaEntwicklung.vb @@ -0,0 +1,519 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'ThemaEntwicklung' +' // Generated by LLBLGen v1.21.2003.712 Final on: Freitag, 4. Januar 2013, 17:02:52 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + ''' + ''' Purpose: Data Access class for the table 'ThemaEntwicklung'. + ''' + Public Class clsThemaEntwicklung + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daErstellt_am, m_daMutiert_am As SqlDateTime + Private m_blobDokument As SqlBinary + Private m_iMutierer, m_iThemaEntwicklungNr, m_iThemaNr As SqlInt32 + Private m_sRTFText, m_sBezeichnung As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iThemaEntwicklungNr
  • + '''
  • iThemaNr. May be SqlInt32.Null
  • + '''
  • sBezeichnung. May be SqlString.Null
  • + '''
  • blobDokument. May be SqlBinary.Null
  • + '''
  • sRTFText. May be SqlString.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Public Overrides Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_ThemaEntwicklung_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iThemaEntwicklungNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iThemaEntwicklungNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iThemaNr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iThemaNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBezeichnung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)) + Dim iLength As Integer = 0 + If Not m_blobDokument.IsNull Then + iLength = m_blobDokument.Length + End If + scmCmdToExecute.Parameters.Add(New SqlParameter("@blobDokument", SqlDbType.Image, iLength, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_blobDokument)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sRTFText", SqlDbType.VarChar, -1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sRTFText)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_ThemaEntwicklung_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsThemaEntwicklung::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iThemaEntwicklungNr
  • + '''
  • iThemaNr. May be SqlInt32.Null
  • + '''
  • sBezeichnung. May be SqlString.Null
  • + '''
  • blobDokument. May be SqlBinary.Null
  • + '''
  • sRTFText. May be SqlString.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Public Overrides Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_ThemaEntwicklung_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iThemaEntwicklungNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iThemaEntwicklungNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iThemaNr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iThemaNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBezeichnung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)) + Dim iLength As Integer = 0 + If Not m_blobDokument.IsNull Then + iLength = m_blobDokument.Length + End If + scmCmdToExecute.Parameters.Add(New SqlParameter("@blobDokument", SqlDbType.Image, iLength, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_blobDokument)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sRTFText", SqlDbType.VarChar, -1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sRTFText)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_ThemaEntwicklung_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsThemaEntwicklung::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iThemaEntwicklungNr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Public Overrides Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_ThemaEntwicklung_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iThemaEntwicklungNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iThemaEntwicklungNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_ThemaEntwicklung_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsThemaEntwicklung::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iThemaEntwicklungNr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iThemaEntwicklungNr
  • + '''
  • iThemaNr
  • + '''
  • sBezeichnung
  • + '''
  • blobDokument
  • + '''
  • sRTFText
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Public Overrides Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_ThemaEntwicklung_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = New DataTable("ThemaEntwicklung") + Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iThemaEntwicklungNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iThemaEntwicklungNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_ThemaEntwicklung_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iThemaEntwicklungNr = New SqlInt32(CType(dtToReturn.Rows(0)("ThemaEntwicklungNr"), Integer)) + If dtToReturn.Rows(0)("ThemaNr") Is System.DBNull.Value Then + m_iThemaNr = SqlInt32.Null + Else + m_iThemaNr = New SqlInt32(CType(dtToReturn.Rows(0)("ThemaNr"), Integer)) + End If + If dtToReturn.Rows(0)("Bezeichnung") Is System.DBNull.Value Then + m_sBezeichnung = SqlString.Null + Else + m_sBezeichnung = New SqlString(CType(dtToReturn.Rows(0)("Bezeichnung"), String)) + End If + If dtToReturn.Rows(0)("Dokument") Is System.DBNull.Value Then + m_blobDokument = SqlBinary.Null + Else + m_blobDokument = New SqlBinary(CType(dtToReturn.Rows(0)("Dokument"), Byte())) + End If + If dtToReturn.Rows(0)("RTFText") Is System.DBNull.Value Then + m_sRTFText = SqlString.Null + Else + m_sRTFText = New SqlString(CType(dtToReturn.Rows(0)("RTFText"), String)) + End If + If dtToReturn.Rows(0)("aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsThemaEntwicklung::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Public Overrides Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_ThemaEntwicklung_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = New DataTable("ThemaEntwicklung") + Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_ThemaEntwicklung_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsThemaEntwicklung::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iThemaEntwicklungNr]() As SqlInt32 + Get + Return m_iThemaEntwicklungNr + End Get + Set(ByVal Value As SqlInt32) + Dim iThemaEntwicklungNrTmp As SqlInt32 = Value + If iThemaEntwicklungNrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iThemaEntwicklungNr", "iThemaEntwicklungNr can't be NULL") + End If + m_iThemaEntwicklungNr = Value + End Set + End Property + + + Public Property [iThemaNr]() As SqlInt32 + Get + Return m_iThemaNr + End Get + Set(ByVal Value As SqlInt32) + m_iThemaNr = Value + End Set + End Property + + + Public Property [sBezeichnung]() As SqlString + Get + Return m_sBezeichnung + End Get + Set(ByVal Value As SqlString) + m_sBezeichnung = Value + End Set + End Property + + + Public Property [blobDokument]() As SqlBinary + Get + Return m_blobDokument + End Get + Set(ByVal Value As SqlBinary) + m_blobDokument = Value + End Set + End Property + + + Public Property [sRTFText]() As SqlString + Get + Return m_sRTFText + End Get + Set(ByVal Value As SqlString) + m_sRTFText = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/Themenmanagement/DB/Generierte Objekte/clsToolTip.vb b/Themenmanagement/DB/Generierte Objekte/clsToolTip.vb new file mode 100644 index 0000000..161e6e2 --- /dev/null +++ b/Themenmanagement/DB/Generierte Objekte/clsToolTip.vb @@ -0,0 +1,490 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'ToolTip' +' // Generated by LLBLGen v1.21.2003.712 Final on: Dienstag, 1. Januar 2013, 14:02:28 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + ''' + ''' Purpose: Data Access class for the table 'ToolTip'. + ''' + Public Class clsToolTip + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daMutiert_am, m_daErstellt_am As SqlDateTime + Private m_iMutierer, m_iToolTipNr As SqlInt32 + Private m_sToolTip, m_sControlName, m_sFormularName As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iToolTipNr
  • + '''
  • sFormularName. May be SqlString.Null
  • + '''
  • sControlName. May be SqlString.Null
  • + '''
  • sToolTip. May be SqlString.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_ToolTip_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iToolTipNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iToolTipNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sFormularName", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sFormularName)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sControlName", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sControlName)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sToolTip", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sToolTip)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bAktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daErstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daMutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iMutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_ToolTip_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsToolTip::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iToolTipNr
  • + '''
  • sFormularName. May be SqlString.Null
  • + '''
  • sControlName. May be SqlString.Null
  • + '''
  • sToolTip. May be SqlString.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
  • iMutierer. May be SqlInt32.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_ToolTip_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iToolTipNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iToolTipNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sFormularName", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sFormularName)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sControlName", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sControlName)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sToolTip", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sToolTip)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@bAktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daErstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daMutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iMutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_ToolTip_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsToolTip::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iToolTipNr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_ToolTip_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iToolTipNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iToolTipNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_ToolTip_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsToolTip::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iToolTipNr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iToolTipNr
  • + '''
  • sFormularName
  • + '''
  • sControlName
  • + '''
  • sToolTip
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
  • iMutierer
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_ToolTip_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("ToolTip") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iToolTipNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iToolTipNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_ToolTip_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iToolTipNr = New SqlInt32(CType(dtToReturn.Rows(0)("ToolTipNr"), Integer)) + If dtToReturn.Rows(0)("FormularName") Is System.DBNull.Value Then + m_sFormularName = SqlString.Null + Else + m_sFormularName = New SqlString(CType(dtToReturn.Rows(0)("FormularName"), String)) + End If + If dtToReturn.Rows(0)("ControlName") Is System.DBNull.Value Then + m_sControlName = SqlString.Null + Else + m_sControlName = New SqlString(CType(dtToReturn.Rows(0)("ControlName"), String)) + End If + If dtToReturn.Rows(0)("ToolTip") Is System.DBNull.Value Then + m_sToolTip = SqlString.Null + Else + m_sToolTip = New SqlString(CType(dtToReturn.Rows(0)("ToolTip"), String)) + End If + If dtToReturn.Rows(0)("Aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("Aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("Erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("Erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("Mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("Mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("Mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("Mutierer"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsToolTip::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_ToolTip_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("ToolTip") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_ToolTip_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsToolTip::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iToolTipNr]() As SqlInt32 + Get + Return m_iToolTipNr + End Get + Set(ByVal Value As SqlInt32) + Dim iToolTipNrTmp As SqlInt32 = Value + If iToolTipNrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iToolTipNr", "iToolTipNr can't be NULL") + End If + m_iToolTipNr = Value + End Set + End Property + + + Public Property [sFormularName]() As SqlString + Get + Return m_sFormularName + End Get + Set(ByVal Value As SqlString) + m_sFormularName = Value + End Set + End Property + + + Public Property [sControlName]() As SqlString + Get + Return m_sControlName + End Get + Set(ByVal Value As SqlString) + m_sControlName = Value + End Set + End Property + + + Public Property [sToolTip]() As SqlString + Get + Return m_sToolTip + End Get + Set(ByVal Value As SqlString) + m_sToolTip = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/Themenmanagement/DB/Generierte Objekte/clsZielgruppe.vb b/Themenmanagement/DB/Generierte Objekte/clsZielgruppe.vb new file mode 100644 index 0000000..ffa077e --- /dev/null +++ b/Themenmanagement/DB/Generierte Objekte/clsZielgruppe.vb @@ -0,0 +1,450 @@ +' /////////////////////////////////////////////////////////////////////////// +' // Description: Data Access class for the table 'Zielgruppe' +' // Generated by LLBLGen v1.21.2003.712 Final on: Freitag, 4. Januar 2013, 16:59:46 +' // Because the Base Class already implements IDispose, this class doesn't. +' /////////////////////////////////////////////////////////////////////////// +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + ''' + ''' Purpose: Data Access class for the table 'Zielgruppe'. + ''' + Public Class clsZielgruppe + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daMutiert_am, m_daErstellt_am As SqlDateTime + Private m_iZielgruppeNr As SqlInt32 + Private m_sBeschreibung, m_sBezeichnung As SqlString + +#End Region + + + ''' + ''' Purpose: Class constructor. + ''' + Public Sub New() + ' // Nothing for now. + End Sub + + + ''' + ''' Purpose: Insert method. This method will insert one new row into the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iZielgruppeNr
  • + '''
  • sBezeichnung. May be SqlString.Null
  • + '''
  • sBeschreibung. May be SqlString.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Zielgruppe_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iZielgruppeNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iZielgruppeNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBezeichnung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Zielgruppe_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsZielgruppe::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Update method. This method will Update one existing row in the database. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iZielgruppeNr
  • + '''
  • sBezeichnung. May be SqlString.Null
  • + '''
  • sBeschreibung. May be SqlString.Null
  • + '''
  • bAktiv. May be SqlBoolean.Null
  • + '''
  • daErstellt_am. May be SqlDateTime.Null
  • + '''
  • daMutiert_am. May be SqlDateTime.Null
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Zielgruppe_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iZielgruppeNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iZielgruppeNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBezeichnung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Zielgruppe_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsZielgruppe::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + ''' + ''' True if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iZielgruppeNr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Zielgruppe_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iZielgruppeNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iZielgruppeNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Zielgruppe_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsZielgruppe::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + ''' + ''' Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties needed for this method: + '''
    + '''
  • iZielgruppeNr
  • + '''
+ ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
  • iZielgruppeNr
  • + '''
  • sBezeichnung
  • + '''
  • sBeschreibung
  • + '''
  • bAktiv
  • + '''
  • daErstellt_am
  • + '''
  • daMutiert_am
  • + '''
+ ''' Will fill all properties corresponding with a field in the table with the value of the row selected. + '''
+ Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Zielgruppe_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("Zielgruppe") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iZielgruppeNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iZielgruppeNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Zielgruppe_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iZielgruppeNr = New SqlInt32(CType(dtToReturn.Rows(0)("ZielgruppeNr"), Integer)) + If dtToReturn.Rows(0)("Bezeichnung") Is System.DBNull.Value Then + m_sBezeichnung = SqlString.Null + Else + m_sBezeichnung = New SqlString(CType(dtToReturn.Rows(0)("Bezeichnung"), String)) + End If + If dtToReturn.Rows(0)("Beschreibung") Is System.DBNull.Value Then + m_sBeschreibung = SqlString.Null + Else + m_sBeschreibung = New SqlString(CType(dtToReturn.Rows(0)("Beschreibung"), String)) + End If + If dtToReturn.Rows(0)("aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsZielgruppe::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_Zielgruppe_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("Zielgruppe") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_Zielgruppe_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsZielgruppe::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iZielgruppeNr]() As SqlInt32 + Get + Return m_iZielgruppeNr + End Get + Set(ByVal Value As SqlInt32) + Dim iZielgruppeNrTmp As SqlInt32 = Value + If iZielgruppeNrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iZielgruppeNr", "iZielgruppeNr can't be NULL") + End If + m_iZielgruppeNr = Value + End Set + End Property + + + Public Property [sBezeichnung]() As SqlString + Get + Return m_sBezeichnung + End Get + Set(ByVal Value As SqlString) + m_sBezeichnung = Value + End Set + End Property + + + Public Property [sBeschreibung]() As SqlString + Get + Return m_sBeschreibung + End Get + Set(ByVal Value As SqlString) + m_sBeschreibung = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/Themenmanagement/DB/Kernbotschaften/clsKB.vb b/Themenmanagement/DB/Kernbotschaften/clsKB.vb new file mode 100644 index 0000000..c6b7114 --- /dev/null +++ b/Themenmanagement/DB/Kernbotschaften/clsKB.vb @@ -0,0 +1,486 @@ +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + Public Class clsKB + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daGueltig_ab, m_daGueltig_bis, m_daErstellt_am, m_daMutiert_am As SqlDateTime + Private m_iMutierer, m_iKBNummer As SqlInt32 + Private m_sBeschreibung, m_sTitel, m_sBotschaft_Text, m_sSuchbegriffe As SqlString + +#End Region + + + Public Sub New() + ' // Nothing for now. + End Sub + + + Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_KB_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iKBNummer", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKBNummer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sTitel", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTitel)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBeschreibung", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sSuchbegriffe", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sSuchbegriffe)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daGueltig_ab", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daGueltig_ab)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daGueltig_bis", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daGueltig_bis)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBotschaft_Text", SqlDbType.VarChar, 4096, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBotschaft_Text)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_KB_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKB::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_KB_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iKBNummer", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKBNummer)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sTitel", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTitel)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBeschreibung", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sSuchbegriffe", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sSuchbegriffe)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daGueltig_ab", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daGueltig_ab)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daGueltig_bis", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daGueltig_bis)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBotschaft_Text", SqlDbType.VarChar, 4096, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBotschaft_Text)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_KB_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKB::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_KB_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iKBNummer", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKBNummer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_KB_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKB::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_KB_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("KB") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iKBNummer", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKBNummer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_KB_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iKBNummer = New SqlInt32(CType(dtToReturn.Rows(0)("KBNummer"), Integer)) + If dtToReturn.Rows(0)("Titel") Is System.DBNull.Value Then + m_sTitel = SqlString.Null + Else + m_sTitel = New SqlString(CType(dtToReturn.Rows(0)("Titel"), String)) + End If + If dtToReturn.Rows(0)("Beschreibung") Is System.DBNull.Value Then + m_sBeschreibung = SqlString.Null + Else + m_sBeschreibung = New SqlString(CType(dtToReturn.Rows(0)("Beschreibung"), String)) + End If + If dtToReturn.Rows(0)("Suchbegriffe") Is System.DBNull.Value Then + m_sSuchbegriffe = SqlString.Null + Else + m_sSuchbegriffe = New SqlString(CType(dtToReturn.Rows(0)("Suchbegriffe"), String)) + End If + If dtToReturn.Rows(0)("Gueltig_ab") Is System.DBNull.Value Then + m_daGueltig_ab = SqlDateTime.Null + Else + m_daGueltig_ab = New SqlDateTime(CType(dtToReturn.Rows(0)("Gueltig_ab"), Date)) + End If + If dtToReturn.Rows(0)("Gueltig_bis") Is System.DBNull.Value Then + m_daGueltig_bis = SqlDateTime.Null + Else + m_daGueltig_bis = New SqlDateTime(CType(dtToReturn.Rows(0)("Gueltig_bis"), Date)) + End If + If dtToReturn.Rows(0)("Botschaft_Text") Is System.DBNull.Value Then + m_sBotschaft_Text = SqlString.Null + Else + m_sBotschaft_Text = New SqlString(CType(dtToReturn.Rows(0)("Botschaft_Text"), String)) + End If + If dtToReturn.Rows(0)("aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKB::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + Public Overrides Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_KB_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = New DataTable("KB") + Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_KB_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKB::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + Public Function SelectAll1() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_KB_SelectAll1]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = New DataTable("KB") + Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_KB_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKB::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iKBNummer]() As SqlInt32 + Get + Return m_iKBNummer + End Get + Set(ByVal Value As SqlInt32) + Dim iKBNummerTmp As SqlInt32 = Value + If iKBNummerTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iKBNummer", "iKBNummer can't be NULL") + End If + m_iKBNummer = Value + End Set + End Property + + + Public Property [sTitel]() As SqlString + Get + Return m_sTitel + End Get + Set(ByVal Value As SqlString) + m_sTitel = Value + End Set + End Property + + + Public Property [sBeschreibung]() As SqlString + Get + Return m_sBeschreibung + End Get + Set(ByVal Value As SqlString) + m_sBeschreibung = Value + End Set + End Property + + + Public Property [sSuchbegriffe]() As SqlString + Get + Return m_sSuchbegriffe + End Get + Set(ByVal Value As SqlString) + m_sSuchbegriffe = Value + End Set + End Property + + + Public Property [daGueltig_ab]() As SqlDateTime + Get + Return m_daGueltig_ab + End Get + Set(ByVal Value As SqlDateTime) + m_daGueltig_ab = Value + End Set + End Property + + + Public Property [daGueltig_bis]() As SqlDateTime + Get + Return m_daGueltig_bis + End Get + Set(ByVal Value As SqlDateTime) + m_daGueltig_bis = Value + End Set + End Property + + + Public Property [sBotschaft_Text]() As SqlString + Get + Return m_sBotschaft_Text + End Get + Set(ByVal Value As SqlString) + m_sBotschaft_Text = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/Themenmanagement/DB/Kernbotschaften/clsKB_Absender.vb b/Themenmanagement/DB/Kernbotschaften/clsKB_Absender.vb new file mode 100644 index 0000000..b52842a --- /dev/null +++ b/Themenmanagement/DB/Kernbotschaften/clsKB_Absender.vb @@ -0,0 +1,373 @@ +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + Public Class clsKB_Absender + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daMutiert_am, m_daErstellt_am As SqlDateTime + Private m_iMutierer, m_iAbsenderNr As SqlInt32 + Private m_sBezeichnung, m_sBeschreibung As SqlString + +#End Region + + + Public Sub New() + ' // Nothing for now. + End Sub + + + Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_KB_Absender_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iAbsenderNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iAbsenderNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBezeichnung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_KB_Absender_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKB_Absender::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_KB_Absender_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iAbsenderNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iAbsenderNr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBezeichnung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_KB_Absender_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKB_Absender::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_KB_Absender_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iAbsenderNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iAbsenderNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_KB_Absender_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKB_Absender::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_KB_Absender_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("KB_Absender") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iAbsenderNr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iAbsenderNr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_KB_Absender_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iAbsenderNr = New SqlInt32(CType(dtToReturn.Rows(0)("AbsenderNr"), Integer)) + If dtToReturn.Rows(0)("Bezeichnung") Is System.DBNull.Value Then + m_sBezeichnung = SqlString.Null + Else + m_sBezeichnung = New SqlString(CType(dtToReturn.Rows(0)("Bezeichnung"), String)) + End If + If dtToReturn.Rows(0)("Beschreibung") Is System.DBNull.Value Then + m_sBeschreibung = SqlString.Null + Else + m_sBeschreibung = New SqlString(CType(dtToReturn.Rows(0)("Beschreibung"), String)) + End If + If dtToReturn.Rows(0)("aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKB_Absender::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_KB_Absender_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("KB_Absender") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_KB_Absender_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKB_Absender::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iAbsenderNr]() As SqlInt32 + Get + Return m_iAbsenderNr + End Get + Set(ByVal Value As SqlInt32) + Dim iAbsenderNrTmp As SqlInt32 = Value + If iAbsenderNrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iAbsenderNr", "iAbsenderNr can't be NULL") + End If + m_iAbsenderNr = Value + End Set + End Property + + + Public Property [sBezeichnung]() As SqlString + Get + Return m_sBezeichnung + End Get + Set(ByVal Value As SqlString) + m_sBezeichnung = Value + End Set + End Property + + + Public Property [sBeschreibung]() As SqlString + Get + Return m_sBeschreibung + End Get + Set(ByVal Value As SqlString) + m_sBeschreibung = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/Themenmanagement/DB/Kernbotschaften/clsKB_Anspruchsgruppe.vb b/Themenmanagement/DB/Kernbotschaften/clsKB_Anspruchsgruppe.vb new file mode 100644 index 0000000..3d55afa --- /dev/null +++ b/Themenmanagement/DB/Kernbotschaften/clsKB_Anspruchsgruppe.vb @@ -0,0 +1,373 @@ +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + Public Class clsKB_Anspruchsgruppe + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daMutiert_am, m_daErstellt_am As SqlDateTime + Private m_iMutierer, m_iAnspruchgruppenr As SqlInt32 + Private m_sBezeichnung, m_sBeschreibung As SqlString + +#End Region + + + Public Sub New() + ' // Nothing for now. + End Sub + + + Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_KB_Anspruchsgruppe_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iAnspruchgruppenr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iAnspruchgruppenr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBezeichnung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_KB_Anspruchsgruppe_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKB_Anspruchsgruppe::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_KB_Anspruchsgruppe_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iAnspruchgruppenr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iAnspruchgruppenr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBezeichnung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_KB_Anspruchsgruppe_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKB_Anspruchsgruppe::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_KB_Anspruchsgruppe_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iAnspruchgruppenr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iAnspruchgruppenr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_KB_Anspruchsgruppe_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKB_Anspruchsgruppe::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_KB_Anspruchsgruppe_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("KB_Anspruchsgruppe") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iAnspruchgruppenr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iAnspruchgruppenr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_KB_Anspruchsgruppe_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iAnspruchgruppenr = New SqlInt32(CType(dtToReturn.Rows(0)("Anspruchgruppenr"), Integer)) + If dtToReturn.Rows(0)("Bezeichnung") Is System.DBNull.Value Then + m_sBezeichnung = SqlString.Null + Else + m_sBezeichnung = New SqlString(CType(dtToReturn.Rows(0)("Bezeichnung"), String)) + End If + If dtToReturn.Rows(0)("Beschreibung") Is System.DBNull.Value Then + m_sBeschreibung = SqlString.Null + Else + m_sBeschreibung = New SqlString(CType(dtToReturn.Rows(0)("Beschreibung"), String)) + End If + If dtToReturn.Rows(0)("aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKB_Anspruchsgruppe::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_KB_Anspruchsgruppe_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("KB_Anspruchsgruppe") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_KB_Anspruchsgruppe_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKB_Anspruchsgruppe::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iAnspruchgruppenr]() As SqlInt32 + Get + Return m_iAnspruchgruppenr + End Get + Set(ByVal Value As SqlInt32) + Dim iAnspruchgruppenrTmp As SqlInt32 = Value + If iAnspruchgruppenrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iAnspruchgruppenr", "iAnspruchgruppenr can't be NULL") + End If + m_iAnspruchgruppenr = Value + End Set + End Property + + + Public Property [sBezeichnung]() As SqlString + Get + Return m_sBezeichnung + End Get + Set(ByVal Value As SqlString) + m_sBezeichnung = Value + End Set + End Property + + + Public Property [sBeschreibung]() As SqlString + Get + Return m_sBeschreibung + End Get + Set(ByVal Value As SqlString) + m_sBeschreibung = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/Themenmanagement/DB/Kernbotschaften/clsKB_Themengruppe.vb b/Themenmanagement/DB/Kernbotschaften/clsKB_Themengruppe.vb new file mode 100644 index 0000000..8337256 --- /dev/null +++ b/Themenmanagement/DB/Kernbotschaften/clsKB_Themengruppe.vb @@ -0,0 +1,373 @@ +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + Public Class clsKB_Themengruppe + Inherits clsDBInteractionBase + +#Region " Class Member Declarations " + + Private m_bAktiv As SqlBoolean + Private m_daMutiert_am, m_daErstellt_am As SqlDateTime + Private m_iMutierer, m_iThemengruppenr As SqlInt32 + Private m_sBezeichnung, m_sBeschreibung As SqlString + +#End Region + + + Public Sub New() + ' // Nothing for now. + End Sub + + + Overrides Public Function Insert() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_KB_Themengruppe_Insert]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iThemengruppenr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iThemengruppenr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBezeichnung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_KB_Themengruppe_Insert' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKB_Themengruppe::Insert::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + Overrides Public Function Update() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_KB_Themengruppe_Update]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iThemengruppenr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iThemengruppenr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBezeichnung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBezeichnung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@sBeschreibung", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_KB_Themengruppe_Update' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKB_Themengruppe::Update::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + Overrides Public Function Delete() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_KB_Themengruppe_Delete]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iThemengruppenr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iThemengruppenr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery() + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_KB_Themengruppe_Delete' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return True + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKB_Themengruppe::Delete::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + + Overrides Public Function SelectOne() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_KB_Themengruppe_SelectOne]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("KB_Themengruppe") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iThemengruppenr", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iThemengruppenr)) + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_KB_Themengruppe_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + If dtToReturn.Rows.Count > 0 Then + m_iThemengruppenr = New SqlInt32(CType(dtToReturn.Rows(0)("Themengruppenr"), Integer)) + If dtToReturn.Rows(0)("Bezeichnung") Is System.DBNull.Value Then + m_sBezeichnung = SqlString.Null + Else + m_sBezeichnung = New SqlString(CType(dtToReturn.Rows(0)("Bezeichnung"), String)) + End If + If dtToReturn.Rows(0)("Beschreibung") Is System.DBNull.Value Then + m_sBeschreibung = SqlString.Null + Else + m_sBeschreibung = New SqlString(CType(dtToReturn.Rows(0)("Beschreibung"), String)) + End If + If dtToReturn.Rows(0)("aktiv") Is System.DBNull.Value Then + m_bAktiv = SqlBoolean.Null + Else + m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean)) + End If + If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then + m_daErstellt_am = SqlDateTime.Null + Else + m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date)) + End If + If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then + m_daMutiert_am = SqlDateTime.Null + Else + m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date)) + End If + If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then + m_iMutierer = SqlInt32.Null + Else + m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer)) + End If + End If + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKB_Themengruppe::SelectOne::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + + Overrides Public Function SelectAll() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_KB_Themengruppe_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = new DataTable("KB_Themengruppe") + Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_KB_Themengruppe_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKB_Themengruppe::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + +#Region " Class Property Declarations " + + Public Property [iThemengruppenr]() As SqlInt32 + Get + Return m_iThemengruppenr + End Get + Set(ByVal Value As SqlInt32) + Dim iThemengruppenrTmp As SqlInt32 = Value + If iThemengruppenrTmp.IsNull Then + Throw New ArgumentOutOfRangeException("iThemengruppenr", "iThemengruppenr can't be NULL") + End If + m_iThemengruppenr = Value + End Set + End Property + + + Public Property [sBezeichnung]() As SqlString + Get + Return m_sBezeichnung + End Get + Set(ByVal Value As SqlString) + m_sBezeichnung = Value + End Set + End Property + + + Public Property [sBeschreibung]() As SqlString + Get + Return m_sBeschreibung + End Get + Set(ByVal Value As SqlString) + m_sBeschreibung = Value + End Set + End Property + + + Public Property [bAktiv]() As SqlBoolean + Get + Return m_bAktiv + End Get + Set(ByVal Value As SqlBoolean) + m_bAktiv = Value + End Set + End Property + + + Public Property [daErstellt_am]() As SqlDateTime + Get + Return m_daErstellt_am + End Get + Set(ByVal Value As SqlDateTime) + m_daErstellt_am = Value + End Set + End Property + + + Public Property [daMutiert_am]() As SqlDateTime + Get + Return m_daMutiert_am + End Get + Set(ByVal Value As SqlDateTime) + m_daMutiert_am = Value + End Set + End Property + + + Public Property [iMutierer]() As SqlInt32 + Get + Return m_iMutierer + End Get + Set(ByVal Value As SqlInt32) + m_iMutierer = Value + End Set + End Property + +#End Region + + End Class +End Namespace diff --git a/Themenmanagement/DB/MyDBObjects/MyMitarbeiter.vb b/Themenmanagement/DB/MyDBObjects/MyMitarbeiter.vb new file mode 100644 index 0000000..34c370e --- /dev/null +++ b/Themenmanagement/DB/MyDBObjects/MyMitarbeiter.vb @@ -0,0 +1,130 @@ +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient +Imports System.Security.Principal + +Namespace DB + + Public Class MyMitarbeiter + Inherits DB.clsMitarbeiter + ''' + ''' Alle Mitarbeiter inkl. vollstndigem Name (Fullname) auslesen + ''' + ''' Datatable + ''' + Public Function SelectAllwithFullname() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[my_mitarbeiter_SelectAll]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = New DataTable("mitarbeiter") + Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_mitarbeiter_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMitarbeiter::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + ''' + ''' Mitarbeiter mittels TGNummer auslesen + ''' + ''' Datatable + ''' + Public Function SelectWithTGNummer() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[my_mitarbeiter_SelectWithTGNummer]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = New DataTable("mitarbeiter") + Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + Try + + scmCmdToExecute.Parameters.Add(New SqlParameter("@stgnummer", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Me.Get_Username)) + + scmCmdToExecute.Parameters.Add(New SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_mitarbeiter_SelectAllWithTGNummer' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + Return dtToReturn + Catch ex As Exception + MsgBox(ex.Message) + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsMitarbeiter::SelectWithTGNummer::Error occured." + ex.Message, ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + ''' + ''' Security-Deklaration zum Auslesen der UserID vom Windows-User + ''' + ''' + Dim ouser As New WindowsPrincipal(WindowsIdentity.GetCurrent) + ''' + ''' Windows-User auslesen + ''' + ''' + ''' + Private Function Get_Username() As String + With ouser.Identity.Name + Return (.Substring(.IndexOf("\") + 1)) + End With + End Function + + + End Class +End Namespace diff --git a/Themenmanagement/DB/MyDBObjects/clsMyKey_Tabelle.vb b/Themenmanagement/DB/MyDBObjects/clsMyKey_Tabelle.vb new file mode 100644 index 0000000..b6c51fb --- /dev/null +++ b/Themenmanagement/DB/MyDBObjects/clsMyKey_Tabelle.vb @@ -0,0 +1,61 @@ +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient +Namespace DB + Public Class clsMyKey_Tabelle + Inherits db.clsKey_tabelle + + Public Function get_dbkey(ByVal Tablename As String) As Long + Dim m_dbkey As Long + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[sp_get_dbkey]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@Tablename", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, Tablename)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@dbkey", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_dbkey)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + Try + scmCmdToExecute.Connection.Open() + Catch ex As Exception + Finally + End Try + + scmCmdToExecute.ExecuteNonQuery() + m_dbkey = scmCmdToExecute.Parameters.Item("@dbkey").Value + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + scmCmdToExecute.Connection.Close() + + If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'sp_get_dbkey' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return m_dbkey + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsKey_tabelle::get_dbkey::Error occured." + ex.Message, ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + End Try + End Function + + End Class +End Namespace diff --git a/Themenmanagement/DB/MyDBObjects/db_connection.vb b/Themenmanagement/DB/MyDBObjects/db_connection.vb new file mode 100644 index 0000000..bc04ca6 --- /dev/null +++ b/Themenmanagement/DB/MyDBObjects/db_connection.vb @@ -0,0 +1,59 @@ +Imports System.IO +Namespace DB + ''' + ''' Dynamische Datenbank-Verbindung aufbauen. Verwendet wird standardmssig Vertragsverwaltung.cfg. + ''' Sollen Datenbank-Verbindungen zur Auswahl angezeigt werden, werden smntliche Datenbank-Verbindungsdateien + ''' mit dem Namen "Vertragsverwaltung....cfg" bercksichtigt + ''' + ''' + Public Class DB_Connection + + ''' + ''' Liest smtlcihe CFG-Dateien mit dem Namen "Vertragsverwaltung...". Sind meherere Dateien vorhanden, + ''' wird ein Auswahldialog zur Datenbank-Selektion angezeigt. + ''' Standardmssig wird Vertragsverwaltung.cfg als CFG-Datei benutzt. + ''' + ''' Die CFG-Datei ist verschlsselt und wird ber die Crypto-Funktionen entschlsselt. + ''' + ''' + Shared Sub New() + Dim fc As Integer = 0 + If Globals.ConnectionFileName.Length = 0 Then + Dim Dir As DirectoryInfo = New DirectoryInfo(Application.StartupPath) + Try + Dim f As New frmDatenbankauswahl() + Dim ChildFile As FileInfo + For Each ChildFile In Dir.GetFiles() + If UCase(Left(ChildFile.Name, 18)) = "THEMENMANAGEMENT" And UCase(ChildFile.Extension) = ".CFG" Then + f.ListBox1.Items.Add(ChildFile.Name) + fc = fc + 1 + End If + Next + If fc > 1 Then + f.ListBox1.SelectedIndex = 0 + f.ListBox1.Select() + f.ShowDialog() + Globals.ConnectionFileName = f.ListBox1.SelectedItem + f.Dispose() + End If + Catch except As Exception + fc = 0 + Exit Sub + End Try + End If + If fc < 2 Then Globals.ConnectionFileName = "themenmanagement.cfg" + Dim ofile As System.IO.File + Dim oread As System.IO.StreamReader + oread = ofile.OpenText(Application.StartupPath + "\" + Globals.ConnectionFileName) + sConnectionString = oread.ReadLine + sConnectionString = Crypto.DecryptText(sConnectionString, "HutterundMueller") + sConnectionString = Left(sConnectionString, Len(sConnectionString) - 1) + Globals.sConnectionString = sConnectionString + Globals.conn.sConnectionString = sConnectionString + oread.Close() + End Sub + + End Class + +End Namespace + diff --git a/Themenmanagement/DB/MyDBObjects/frmDatenbankauswahl.resx b/Themenmanagement/DB/MyDBObjects/frmDatenbankauswahl.resx new file mode 100644 index 0000000..863c6b3 --- /dev/null +++ b/Themenmanagement/DB/MyDBObjects/frmDatenbankauswahl.resx @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + AAABAAEAICAEAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP// + AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAzd3d3MzMzAAAAAAAAAAAAM3d3dzMzMwAAAAAAAAAAM3eIiIi7MzMzAAAAAAAA + ADN3iIiIuzMzMwAAAAAAAAB3u4iIiLu7MzMAAAAAAAAAd7uIiIi7uzMzAAAAAAAAAHe7iIiIu7szMwAA + AAAAAAB3u4iIiLu7MzMAAAAAAAAAd7uIiIi7uzMzAAAAAAAAAHe7iIiIu7szMwAAAAAAAAB3u4iIiLu7 + MzMAAAAAAAAAd7uIiIi7uzMzAAAAAAAAAHe7iIiIu7szMwAAAAAAAAB3u4iIiLu7MzMAAAAAAAAAd7uI + iIi7uzMzAAAAAAAAAHe7iIiIu7szMwAAAAAAAAB3u4iIiLu7MzMAAAAAAAAAd7uIiIi7uzMzAAAAAAAA + AHe7iIiIiIi7dwAAAAAAAAB3u4iIiIiIu3cAAAAAAAAAiIj//////4h3AAAAAAAAAIiI//////+IdwAA + AAAAAAAzd3d3d3d3dzMAAAAAAAAAM3d3d3d3d3czAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////////////////AAA//wA + AP/8AAD//AAA//wAAP/8AAD//AAA//wAAP/8AAD//AAA//wAAP/8AAD//AAA//wAAP/8AAD//AAA//wA + AP/8AAD//AAA//wAAP/8AAD//AAA//wAAP/8AAD//////////////////////w== + + + \ No newline at end of file diff --git a/Themenmanagement/DB/MyDBObjects/frmDatenbankauswahl.vb b/Themenmanagement/DB/MyDBObjects/frmDatenbankauswahl.vb new file mode 100644 index 0000000..8e5aa8e --- /dev/null +++ b/Themenmanagement/DB/MyDBObjects/frmDatenbankauswahl.vb @@ -0,0 +1,95 @@ +''' +''' Form fr die Datenbankauswahl +''' +''' +Public Class frmDatenbankauswahl + Inherits System.Windows.Forms.Form + +#Region " Vom Windows Form Designer generierter Code " + + Public Sub New() + MyBase.New() + + ' Dieser Aufruf ist fr den Windows Form-Designer erforderlich. + InitializeComponent() + + ' Initialisierungen nach dem Aufruf InitializeComponent() hinzufgen + + End Sub + + ' Die Form berschreibt den Lschvorgang der Basisklasse, um Komponenten zu bereinigen. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + ' Fr Windows Form-Designer erforderlich + Private components As System.ComponentModel.IContainer + + 'HINWEIS: Die folgende Prozedur ist fr den Windows Form-Designer erforderlich + 'Sie kann mit dem Windows Form-Designer modifiziert werden. + 'Verwenden Sie nicht den Code-Editor zur Bearbeitung. + Friend WithEvents ListBox1 As System.Windows.Forms.ListBox + Friend WithEvents Button1 As System.Windows.Forms.Button + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmDatenbankauswahl)) + Me.ListBox1 = New System.Windows.Forms.ListBox + Me.Button1 = New System.Windows.Forms.Button + Me.SuspendLayout() + ' + 'ListBox1 + ' + Me.ListBox1.Location = New System.Drawing.Point(16, 16) + Me.ListBox1.Name = "ListBox1" + Me.ListBox1.Size = New System.Drawing.Size(232, 95) + Me.ListBox1.TabIndex = 0 + ' + 'Button1 + ' + Me.Button1.DialogResult = System.Windows.Forms.DialogResult.OK + Me.Button1.Location = New System.Drawing.Point(88, 128) + Me.Button1.Name = "Button1" + Me.Button1.Size = New System.Drawing.Size(75, 23) + Me.Button1.TabIndex = 1 + Me.Button1.Text = "&OK" + ' + 'frmDatenbankauswahl + ' + Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13) + Me.ClientSize = New System.Drawing.Size(258, 165) + Me.Controls.Add(Me.Button1) + Me.Controls.Add(Me.ListBox1) + Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.MaximizeBox = False + Me.MinimizeBox = False + Me.Name = "frmDatenbankauswahl" + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "Vertragsverwaltung: Datebbankauswahl" + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click + Me.Close() + End Sub + + Private Sub frmDatenbankauswahl_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + End Sub + + + Private Sub ListBox1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.DoubleClick + Me.Close() + End Sub + + Private Sub ListBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles ListBox1.KeyDown + If e.KeyCode = Keys.Enter Then Me.Close() + End Sub +End Class diff --git a/Themenmanagement/Diverse Formulare/frmAbout.designer.vb b/Themenmanagement/Diverse Formulare/frmAbout.designer.vb new file mode 100644 index 0000000..49a8693 --- /dev/null +++ b/Themenmanagement/Diverse Formulare/frmAbout.designer.vb @@ -0,0 +1,94 @@ + _ +Partial Class frmAbout + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmAbout)) + Me.btnOK = New System.Windows.Forms.Button() + Me.lblversiondatum = New System.Windows.Forms.Label() + Me.lblVersion = New System.Windows.Forms.Label() + Me.PictureBox2 = New System.Windows.Forms.PictureBox() + CType(Me.PictureBox2, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'btnOK + ' + Me.btnOK.Location = New System.Drawing.Point(197, 339) + Me.btnOK.Name = "btnOK" + Me.btnOK.Size = New System.Drawing.Size(75, 23) + Me.btnOK.TabIndex = 2 + Me.btnOK.Text = "OK" + Me.btnOK.UseVisualStyleBackColor = True + ' + 'lblversiondatum + ' + Me.lblversiondatum.BackColor = System.Drawing.Color.White + Me.lblversiondatum.Font = New System.Drawing.Font("Microsoft Sans Serif", 11.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblversiondatum.Location = New System.Drawing.Point(263, 33) + Me.lblversiondatum.Name = "lblversiondatum" + Me.lblversiondatum.Size = New System.Drawing.Size(200, 24) + Me.lblversiondatum.TabIndex = 4 + Me.lblversiondatum.Text = "Version " + Me.lblversiondatum.TextAlign = System.Drawing.ContentAlignment.MiddleCenter + ' + 'lblVersion + ' + Me.lblVersion.BackColor = System.Drawing.Color.White + Me.lblVersion.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblVersion.Location = New System.Drawing.Point(266, 9) + Me.lblVersion.Name = "lblVersion" + Me.lblVersion.Size = New System.Drawing.Size(197, 24) + Me.lblVersion.TabIndex = 3 + Me.lblVersion.Text = "Version " + Me.lblVersion.TextAlign = System.Drawing.ContentAlignment.MiddleCenter + ' + 'PictureBox2 + ' + Me.PictureBox2.ErrorImage = CType(resources.GetObject("PictureBox2.ErrorImage"), System.Drawing.Image) + Me.PictureBox2.Image = CType(resources.GetObject("PictureBox2.Image"), System.Drawing.Image) + Me.PictureBox2.Location = New System.Drawing.Point(0, -1) + Me.PictureBox2.Name = "PictureBox2" + Me.PictureBox2.Size = New System.Drawing.Size(463, 334) + Me.PictureBox2.TabIndex = 5 + Me.PictureBox2.TabStop = False + ' + 'frmAbout + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(464, 365) + Me.Controls.Add(Me.lblversiondatum) + Me.Controls.Add(Me.lblVersion) + Me.Controls.Add(Me.btnOK) + Me.Controls.Add(Me.PictureBox2) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.Name = "frmAbout" + Me.Text = "frmAbout" + CType(Me.PictureBox2, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + + End Sub + Friend WithEvents btnOK As System.Windows.Forms.Button + Friend WithEvents lblversiondatum As System.Windows.Forms.Label + Friend WithEvents lblVersion As System.Windows.Forms.Label + Friend WithEvents PictureBox2 As System.Windows.Forms.PictureBox +End Class diff --git a/Themenmanagement/Diverse Formulare/frmAbout.resx b/Themenmanagement/Diverse Formulare/frmAbout.resx new file mode 100644 index 0000000..3218ce4 --- /dev/null +++ b/Themenmanagement/Diverse Formulare/frmAbout.resx @@ -0,0 +1,4216 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + /9j/4AAQSkZJRgABAQEASABIAAD/7gAOQWRvYmUAZAAAAAAB/+EarkV4aWYAAE1NACoAAAAIAAcBEgAD + AAAAAQABAAABGgAFAAAAAQAAAGIBGwAFAAAAAQAAAGoBKAADAAAAAQACAAABMQACAAAAHAAAAHIBMgAC + AAAAFAAAAI6HaQAEAAAAAQAAAKIAAADCAEgAAAABAAAASAAAAAEAAEFkb2JlIFBob3Rvc2hvcCBDUzUg + V2luZG93cwAyMDEzOjAxOjIzIDE1OjQxOjMzAAACoAIABAAAAAEAAAHPoAMABAAAAAEAAAFOAAAAAAAA + AAYBAwADAAAAAQAGAAABGgAFAAAAAQAAARABGwAFAAAAAQAAARgBKAADAAAAAQACAAACAQAEAAAAAQAA + ASACAgAEAAAAAQAAGYUAAAAAAAAASAAAAAEAAABIAAAAAf/Y/+0ADEFkb2JlX0NNAAH/7gAOQWRvYmUA + ZIAAAAAB/9sAhAAMCAgICQgMCQkMEQsKCxEVDwwMDxUYExMVExMYEQwMDAwMDBEMDAwMDAwMDAwMDAwM + DAwMDAwMDAwMDAwMDAwMAQ0LCw0ODRAODhAUDg4OFBQODg4OFBEMDAwMDBERDAwMDAwMEQwMDAwMDAwM + DAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCABzAKADASIAAhEBAxEB/90ABAAK/8QBPwAAAQUBAQEBAQEA + AAAAAAAAAwABAgQFBgcICQoLAQABBQEBAQEBAQAAAAAAAAABAAIDBAUGBwgJCgsQAAEEAQMCBAIFBwYI + BQMMMwEAAhEDBCESMQVBUWETInGBMgYUkaGxQiMkFVLBYjM0coLRQwclklPw4fFjczUWorKDJkSTVGRF + wqN0NhfSVeJl8rOEw9N14/NGJ5SkhbSVxNTk9KW1xdXl9VZmdoaWprbG1ub2N0dXZ3eHl6e3x9fn9xEA + AgIBAgQEAwQFBgcHBgU1AQACEQMhMRIEQVFhcSITBTKBkRShsUIjwVLR8DMkYuFygpJDUxVjczTxJQYW + orKDByY1wtJEk1SjF2RFVTZ0ZeLys4TD03Xj80aUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9ic3R1dn + d4eXp7fH/9oADAMBAAIRAxEAPwDsqMfo1HQj1XqTJbW19t1rnOLnHc/xf77LHeytv/W155Z9auq2WuNN + dNbXu/RUCpthaHH9HSHu99r/AMz/AIR67H6w9LzOo/Uqn7I5xdiOOQ/HbH6VjDZub+9vq3evUz899f8A + pPTXCdB6jj9N6xh9QyKhfRRYHPaRMAgt9dg/Oso3etX/AFE0tDPIiWOI9ESBcn0z6v4mZhZ2PTmuBzLM + J1mUKxtZvNrdjBXWfS/V2P8AR9b/AAqlkN6g360V4repZLcazGtzTQBRtDqrMeptAccb1fs723P9T9J6 + 3/DK62yu36w1WVuD634Jcx7TLS021lrmuH0muWZ1Pq72fWZ3TsXGps6pZRVXg22boFVrrbuovySHN/QU + MxKHsqr/AE11v+fUW0KA3/SoIOl/W3qTOn4zeoYzbL7MXAvrtbbrY3LurwLLb2iljaLt7/tPpVerX/gv + UVtn1rybeptwKcNhnLycZ9rrTDa8QY9tt+1tTnOsfXkPayj/AE3p/pf8JWPMv+rFLcvDzOnPZVh4Lqzu + Y0h+JiOZuZjhtrrmfZ7LarKPVbRY/wDn8b1P5xVT1Po+A/Ff0zpFjMmvP+y2VvYGW1nJrrssuDDZ7rM3 + HZTs9T/0J9O1L6oMpCvUKDYx/rhm2MDrcSikZGEzPxHG975bdbXj4uPdXRi23NyX+r/N0MyPWu/QUotP + 1uufhuvsxA2yrG6hfaze5o39Pspo9Nvq013MZkevv/TVV24/836SxsGr6tYtue/NDr6HUXsqsqxmYuPc + 3Dd9qzPs32VzfXzqbqt/2n9X/mP1D+bsWgP+auXivrb0e2w4NsjFdW1joymep9oPrXVU/Zsutu6z7VdX + +mr/AE9P2n00vqoSl1I66H/0Fs4/1qzb+oNx2YBOONjLrm+q707H47M/fZa3G+yNxmerXje/I+0f4f0P + SWr0LqGX1PplPUMmhmL9qY26mplhtIqe1llZtea6f0vu+g1c1fndKZls6pg4TH1+j011L2iwWOrzLMnp + rw/HrfstyacSv0MbfX6zN/pfza1avrN0nC6VTbVi31YWKXY11Ya0HF+zbaX1ZDTb/gm/QrxvtNttP6Wr + 1GJfVMZEfNJ6BJYv/OjDfmWYNVN/qsstx23OZFJvprdlHH9Xdu3PoY61vt/8ERfq71xvWsCu8MIsFVLr + 7Gj9D61lbbb6Md5c51n2Zztl3+jf+i/nWW+mV4kDsXVSSSSXKSSSSUpJJJJSkkkklP8A/9DrsXJ+tOJQ + 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 + bc62u6iuSKWgkPJG39Lv/N/kLqWtaxoa0BrWiGtGgAHYJ0lPjxwxioChdtvFhx4o8OOPCCb+v+EpCynW + txrXUwLAwlpMcx/K9v8AnoqZzWvaWuEtcIIPBBT2Rz34t92NjHp2S/Gay71rTaxznWtIeX02tu9K6rfb + Yy32bP5v0f5pZbMjNNdYd9YqBZaNoApqBlm9luxjzu3b8e71t7Nn6O79HR/g9sVZeOf0b/tFUAbLCA9s + fuWBn6T/AK9/26qf7N6cx73X9JpBsn3VVss3Al1rmWwxjtzrrb7H+z0f0u/1fUSUwwR1HJvbY3q+PlMp + cPVqpraWlrmk1lxruL2WWNd6n0vS/kf4RXnEHqTNjtxbU4WM0hgJY5rv3mvt2/8AgaDi4VtLX/ZaqMFj + 4DWtrBsDWzrY+t/pvfuc938j/hFdppZTWGM7cuPLj++8/nPd+c5JSRM5rXNLXAOa4QQdQQU6SSnOs6W9 + hnFfLePStJIEf6O33Pb/AG/UQnYecw61i0HUGsgR/Jd6zmf57f8AttaySpZfhnKZCScQjKXWBMP+Z/N/ + 8xeMkh1cyvpd72zdcay46srAO0dmstc3d/Xdt/4taNdbK621sG1jAGtHgBoFJJWMPL4cIIxQELq63lw/ + LxS/SWmRO5UkkkpUP//W9VSXyqkkp+qkl8qpJKfqpJfKqSSn6qSXyqkkp+qkl8qpJKfqpJfKqSSn6qSX + yqkkp+qkl8qpJKfqpJfKqSSn6qSXyqkkp//ZAP/tIfZQaG90b3Nob3AgMy4wADhCSU0EJQAAAAAAEAAA + AAAAAAAAAAAAAAAAAAA4QklNBDoAAAAAAJMAAAAQAAAAAQAAAAAAC3ByaW50T3V0cHV0AAAABAAAAABQ + c3RTYm9vbAEAAAAASW50ZWVudW0AAAAASW50ZQAAAABDbHJtAAAAD3ByaW50U2l4dGVlbkJpdGJvb2wA + AAAAC3ByaW50ZXJOYW1lVEVYVAAAAA8ATwBLAEkAIABNAEMAMwA2ADEAKABQAEMATAApAAAAOEJJTQQ7 + AAAAAAGyAAAAEAAAAAEAAAAAABJwcmludE91dHB1dE9wdGlvbnMAAAASAAAAAENwdG5ib29sAAAAAABD + bGJyYm9vbAAAAAAAUmdzTWJvb2wAAAAAAENybkNib29sAAAAAABDbnRDYm9vbAAAAAAATGJsc2Jvb2wA + AAAAAE5ndHZib29sAAAAAABFbWxEYm9vbAAAAAAASW50cmJvb2wAAAAAAEJja2dPYmpjAAAAAQAAAAAA + AFJHQkMAAAADAAAAAFJkICBkb3ViQG/gAAAAAAAAAAAAR3JuIGRvdWJAb+AAAAAAAAAAAABCbCAgZG91 + YkBv4AAAAAAAAAAAAEJyZFRVbnRGI1JsdAAAAAAAAAAAAAAAAEJsZCBVbnRGI1JsdAAAAAAAAAAAAAAA + AFJzbHRVbnRGI1B4bEBSAAAAAAAAAAAACnZlY3RvckRhdGFib29sAQAAAABQZ1BzZW51bQAAAABQZ1Bz + AAAAAFBnUEMAAAAATGVmdFVudEYjUmx0AAAAAAAAAAAAAAAAVG9wIFVudEYjUmx0AAAAAAAAAAAAAAAA + U2NsIFVudEYjUHJjQFkAAAAAAAA4QklNA+0AAAAAABAASAAAAAEAAgBIAAAAAQACOEJJTQQmAAAAAAAO + AAAAAAAAAAAAAD+AAAA4QklNBA0AAAAAAAQAAAB4OEJJTQQZAAAAAAAEAAAAHjhCSU0D8wAAAAAACQAA + AAAAAAAAAQA4QklNJxAAAAAAAAoAAQAAAAAAAAACOEJJTQP1AAAAAABIAC9mZgABAGxmZgAGAAAAAAAB + AC9mZgABAKGZmgAGAAAAAAABADIAAAABAFoAAAAGAAAAAAABADUAAAABAC0AAAAGAAAAAAABOEJJTQP4 + AAAAAABwAAD/////////////////////////////A+gAAAAA/////////////////////////////wPo + AAAAAP////////////////////////////8D6AAAAAD/////////////////////////////A+gAADhC + SU0EAAAAAAAAAgAFOEJJTQQCAAAAAAAMAAAAAAAAAAAAAAAAOEJJTQQwAAAAAAAGAQEBAQEBOEJJTQQt + AAAAAAAGAAEAAAAHOEJJTQQIAAAAAAAQAAAAAQAAAkAAAAJAAAAAADhCSU0EHgAAAAAABAAAAAA4QklN + BBoAAAAAA0sAAAAGAAAAAAAAAAAAAAFOAAABzwAAAAsAVQBuAGIAZQBuAGEAbgBuAHQALQAyAAAAAQAA + AAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAHPAAABTgAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAA + AAAAAAAAAAAAABAAAAABAAAAAAAAbnVsbAAAAAIAAAAGYm91bmRzT2JqYwAAAAEAAAAAAABSY3QxAAAA + BAAAAABUb3AgbG9uZwAAAAAAAAAATGVmdGxvbmcAAAAAAAAAAEJ0b21sb25nAAABTgAAAABSZ2h0bG9u + ZwAAAc8AAAAGc2xpY2VzVmxMcwAAAAFPYmpjAAAAAQAAAAAABXNsaWNlAAAAEgAAAAdzbGljZUlEbG9u + ZwAAAAAAAAAHZ3JvdXBJRGxvbmcAAAAAAAAABm9yaWdpbmVudW0AAAAMRVNsaWNlT3JpZ2luAAAADWF1 + dG9HZW5lcmF0ZWQAAAAAVHlwZWVudW0AAAAKRVNsaWNlVHlwZQAAAABJbWcgAAAABmJvdW5kc09iamMA + AAABAAAAAAAAUmN0MQAAAAQAAAAAVG9wIGxvbmcAAAAAAAAAAExlZnRsb25nAAAAAAAAAABCdG9tbG9u + ZwAAAU4AAAAAUmdodGxvbmcAAAHPAAAAA3VybFRFWFQAAAABAAAAAAAAbnVsbFRFWFQAAAABAAAAAAAA + TXNnZVRFWFQAAAABAAAAAAAGYWx0VGFnVEVYVAAAAAEAAAAAAA5jZWxsVGV4dElzSFRNTGJvb2wBAAAA + CGNlbGxUZXh0VEVYVAAAAAEAAAAAAAlob3J6QWxpZ25lbnVtAAAAD0VTbGljZUhvcnpBbGlnbgAAAAdk + ZWZhdWx0AAAACXZlcnRBbGlnbmVudW0AAAAPRVNsaWNlVmVydEFsaWduAAAAB2RlZmF1bHQAAAALYmdD + b2xvclR5cGVlbnVtAAAAEUVTbGljZUJHQ29sb3JUeXBlAAAAAE5vbmUAAAAJdG9wT3V0c2V0bG9uZwAA + AAAAAAAKbGVmdE91dHNldGxvbmcAAAAAAAAADGJvdHRvbU91dHNldGxvbmcAAAAAAAAAC3JpZ2h0T3V0 + c2V0bG9uZwAAAAAAOEJJTQQoAAAAAAAMAAAAAj/wAAAAAAAAOEJJTQQUAAAAAAAEAAAABzhCSU0EDAAA + AAAZoQAAAAEAAACgAAAAcwAAAeAAANegAAAZhQAYAAH/2P/tAAxBZG9iZV9DTQAB/+4ADkFkb2JlAGSA + AAAAAf/bAIQADAgICAkIDAkJDBELCgsRFQ8MDA8VGBMTFRMTGBEMDAwMDAwRDAwMDAwMDAwMDAwMDAwM + DAwMDAwMDAwMDAwMDAENCwsNDg0QDg4QFA4ODhQUDg4ODhQRDAwMDAwREQwMDAwMDBEMDAwMDAwMDAwM + DAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgAcwCgAwEiAAIRAQMRAf/dAAQACv/EAT8AAAEFAQEBAQEBAAAA + AAAAAAMAAQIEBQYHCAkKCwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAUD + DDMBAAIRAwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHxY3M1FqKygyZEk1RkRcKj + dDYX0lXiZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9jdHV2d3h5ent8fX5/cRAAIC + AQIEBAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUygZEUobFCI8FS0fAzJGLhcoKSQ1MVY3M08SUGFqKy + gwcmNcLSRJNUoxdkRVU2dGXi8rOEw9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vYnN0dXZ3eH + l6e3x//aAAwDAQACEQMRAD8A7KjH6NR0I9V6kyW1tfbda5zi5x3P8X++yx3srb/1teeWfWrqtlrjTXTW + 17v0VAqbYWhx/R0h7vfa/wDM/wCEeux+sPS8zqP1Kp+yOcXYjjkPx2x+lYw2bm/vb6t3r1M/PfX/AKT0 + 1wnQeo4/TesYfUMioX0UWBz2kTAILfXYPzrKN3rV/wBRNLQzyIljiPREgXJ9M+r+JmYWdj05rgcyzCdZ + lCsbWbza3YwV1n0v1dj/AEfW/wAKpZDeoN+tFeK3qWS3Gsxrc00AUbQ6qzHqbQHHG9X7O9tz/U/Set/w + yutsrt+sNVlbg+t+CXMe0y0tNtZa5rh9JrlmdT6u9n1md07FxqbOqWUVV4Ntm6BVa627qL8khzf0FDMS + h7Kq/wBNdb/n1FtCgN/0qCDpf1t6kzp+M3qGM2y+zFwL67W262Ny7q8Cy29opY2i7e/7T6VXq1/4L1Fb + Z9a8m3qbcCnDYZy8nGfa60w2vEGPbbftbU5zrH15D2so/wBN6f6X/CVjzL/qxS3Lw8zpz2VYeC6s7mNI + fiYjmbmY4ba65n2ey2qyj1W0WP8A5/G9T+cVU9T6PgPxX9M6RYzJrz/stlb2BltZya67LLgw2e6zNx2U + 7PU/9CfTtS+qDKQr1Cg2Mf64ZtjA63EopGRhMz8Rxve+W3W14+Lj3V0Yttzcl/q/zdDMj1rv0FKLT9br + n4br7MQNsqxuoX2s3uaN/T7KaPTb6tNdzGZHr7/01VduP/N+ksbBq+rWLbnvzQ6+h1F7KrKsZmLj3Nw3 + fasz7N9lc3186m6rf9p/V/5j9Q/m7FoD/mrl4r629HtsODbIxXVtY6MpnqfaD611VP2bLrbus+1XV/pq + /wBPT9p9NL6qEpdSOuh/9BbOP9as2/qDcdmATjjYy65vqu9Ox+OzP32WtxvsjcZnq143vyPtH+H9D0lq + 9C6hl9T6ZT1DJoZi/amNupqZYbSKntZZWbXmun9L7voNXNX53SmZbOqYOEx9fo9NdS9osFjq8yzJ6a8P + x637LcmnEr9DG31+szf6X82tWr6zdJwulU21Yt9WFil2NdWGtBxfs22l9WQ02/4Jv0K8b7TbbT+lq9Ri + X1TGRHzSegSWL/zow35lmDVTf6rLLcdtzmRSb6a3ZRx/V3btz6GOtb7f/BEX6u9cb1rArvDCLBVS6+xo + /Q+tZW22+jHeXOdZ9mc7Zd/o3/ov51lvpleJA7F1UkkklykkkklKSSSSUpJJJJT/AP/Q67FyfrTiUNx6 + ell1de7YXmjdBc5zd23qG3d7lg2/U19tr7T0O9hscXlld9LGAuO4iuv7b+jZ+6xeipJUsOKEgARdbW8n + 0XG6r0p9QPSsp9GPQ7HoY2zGe8NdZ6/vtuz2/o6/5ulmz2MU8/CfnZNuW/pPU6siw4767a7MCan4ptfR + bj+pl2N3v+0213+r6tdtP6NdSkkkQAFPGO6EHOzCemdVDM1mUx7A/po2jNcy7KIs+0+ta/1Km+i/Jsv9 + L+bR8zp9uVdfkfsvqlN9+TTmNsrs6fNduPW3HqNTbcuytzHVt/SMubausVW/qfTse30b8qqq39x72tdr + /JcUNAngB0q+ryz+hh7bKn9M6qcYsymY+N6vTwyg5oe3Ltx4yvUdZttt9H7S/IZT6nsRMrpLsnIOSel9 + TZcbKLQ4O6a8NdjV24tUV5GTdW7dVkWbvUa/9N6dtPprUf8AW/oYa9zbHvLOGtrcC7t+j3hjVAfXPo0s + B9YB/wBJxZoz/jNf/PXqKP38I/ykP8aLL9yzH/IZNP6k/wB3/vHNb0csxWY1fTerMFdeLXXaLen7x9it + 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 + jJIdXMr6Xe9s3XGsuOrKwDtHZrLXN3f13bf+LWjXWyuttbBtYwBrR4AaBSSVjDy+HCCMUBC6ut5cPy8U + v0lpkTuVJJJKVD//1vVUl8qpJKfqpJfKqSSn6qSXyqkkp+qkl8qpJKfqpJfKqSSn6qSXyqkkp+qkl8qp + JKfqpJfKqSSn6qSXyqkkp+qkl8qpJKf/2QA4QklNBCEAAAAAAFUAAAABAQAAAA8AQQBkAG8AYgBlACAA + UABoAG8AdABvAHMAaABvAHAAAAATAEEAZABvAGIAZQAgAFAAaABvAHQAbwBzAGgAbwBwACAAQwBTADUA + AAABADhCSU0EBgAAAAAABwAIAAAAAQEA/+EN0Gh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8APD94 + cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4NCjx4OnhtcG1l + dGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYw + IDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4NCgk8cmRmOlJERiB4bWxuczpy + ZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPg0KCQk8cmRmOkRl + c2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEu + MC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdEV2 + dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bWxuczpk + Yz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDov + L25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3No + b3AgQ1M1IFdpbmRvd3MiIHhtcDpDcmVhdGVEYXRlPSIyMDEzLTAxLTIzVDE1OjQxOjMzKzAxOjAwIiB4 + bXA6TWV0YWRhdGFEYXRlPSIyMDEzLTAxLTIzVDE1OjQxOjMzKzAxOjAwIiB4bXA6TW9kaWZ5RGF0ZT0i + MjAxMy0wMS0yM1QxNTo0MTozMyswMTowMCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpDNDBFMEZD + RjZBNjVFMjExQjc5QjgzRjNCMDhGNUExQSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpDMzBFMEZD + RjZBNjVFMjExQjc5QjgzRjNCMDhGNUExQSIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlk + OkMzMEUwRkNGNkE2NUUyMTFCNzlCODNGM0IwOEY1QTFBIiBkYzpmb3JtYXQ9ImltYWdlL2pwZWciIHBo + b3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIu + MSI+DQoJCQk8eG1wTU06SGlzdG9yeT4NCgkJCQk8cmRmOlNlcT4NCgkJCQkJPHJkZjpsaSBzdEV2dDph + Y3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6QzMwRTBGQ0Y2QTY1RTIxMUI3 + OUI4M0YzQjA4RjVBMUEiIHN0RXZ0OndoZW49IjIwMTMtMDEtMjNUMTU6NDE6MzMrMDE6MDAiIHN0RXZ0 + OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDUzUgV2luZG93cyIvPg0KCQkJCQk8cmRmOmxp + IHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6QzQwRTBGQ0Y2QTY1 + RTIxMUI3OUI4M0YzQjA4RjVBMUEiIHN0RXZ0OndoZW49IjIwMTMtMDEtMjNUMTU6NDE6MzMrMDE6MDAi + IHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDUzUgV2luZG93cyIgc3RFdnQ6Y2hh + bmdlZD0iLyIvPg0KCQkJCTwvcmRmOlNlcT4NCgkJCTwveG1wTU06SGlzdG9yeT4NCgkJPC9yZGY6RGVz + Y3JpcHRpb24+DQoJPC9yZGY6UkRGPg0KPC94OnhtcG1ldGE+DQogICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgPD94cGFja2V0IGVuZD0ndyc/Pv/iDFhJQ0NfUFJPRklMRQABAQAADEhMaW5vAhAAAG1udHJSR0Ig + WFlaIAfOAAIACQAGADEAAGFjc3BNU0ZUAAAAAElFQyBzUkdCAAAAAAAAAAAAAAABAAD21gABAAAAANMt + SFAgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEWNwcnQAAAFQ + AAAAM2Rlc2MAAAGEAAAAbHd0cHQAAAHwAAAAFGJrcHQAAAIEAAAAFHJYWVoAAAIYAAAAFGdYWVoAAAIs + AAAAFGJYWVoAAAJAAAAAFGRtbmQAAAJUAAAAcGRtZGQAAALEAAAAiHZ1ZWQAAANMAAAAhnZpZXcAAAPU + AAAAJGx1bWkAAAP4AAAAFG1lYXMAAAQMAAAAJHRlY2gAAAQwAAAADHJUUkMAAAQ8AAAIDGdUUkMAAAQ8 + AAAIDGJUUkMAAAQ8AAAIDHRleHQAAAAAQ29weXJpZ2h0IChjKSAxOTk4IEhld2xldHQtUGFja2FyZCBD + b21wYW55AABkZXNjAAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAEnNSR0IgSUVDNjE5 + NjYtMi4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYWVog + AAAAAAAA81EAAQAAAAEWzFhZWiAAAAAAAAAAAAAAAAAAAAAAWFlaIAAAAAAAAG+iAAA49QAAA5BYWVog + AAAAAAAAYpkAALeFAAAY2lhZWiAAAAAAAAAkoAAAD4QAALbPZGVzYwAAAAAAAAAWSUVDIGh0dHA6Ly93 + d3cuaWVjLmNoAAAAAAAAAAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVjLmNoAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRlc2MAAAAAAAAALklFQyA2MTk2Ni0yLjEgRGVmYXVs + dCBSR0IgY29sb3VyIHNwYWNlIC0gc1JHQgAAAAAAAAAAAAAALklFQyA2MTk2Ni0yLjEgRGVmYXVsdCBS + R0IgY29sb3VyIHNwYWNlIC0gc1JHQgAAAAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAAAAAAACxSZWZl + cmVuY2UgVmlld2luZyBDb25kaXRpb24gaW4gSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAsUmVmZXJlbmNl + IFZpZXdpbmcgQ29uZGl0aW9uIGluIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + dmlldwAAAAAAE6T+ABRfLgAQzxQAA+3MAAQTCwADXJ4AAAABWFlaIAAAAAAATAlWAFAAAABXH+dtZWFz + AAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAACjwAAAAJzaWcgAAAAAENSVCBjdXJ2AAAAAAAABAAAAAAF + AAoADwAUABkAHgAjACgALQAyADcAOwBAAEUASgBPAFQAWQBeAGMAaABtAHIAdwB8AIEAhgCLAJAAlQCa + AJ8ApACpAK4AsgC3ALwAwQDGAMsA0ADVANsA4ADlAOsA8AD2APsBAQEHAQ0BEwEZAR8BJQErATIBOAE+ + AUUBTAFSAVkBYAFnAW4BdQF8AYMBiwGSAZoBoQGpAbEBuQHBAckB0QHZAeEB6QHyAfoCAwIMAhQCHQIm + Ai8COAJBAksCVAJdAmcCcQJ6AoQCjgKYAqICrAK2AsECywLVAuAC6wL1AwADCwMWAyEDLQM4A0MDTwNa + A2YDcgN+A4oDlgOiA64DugPHA9MD4APsA/kEBgQTBCAELQQ7BEgEVQRjBHEEfgSMBJoEqAS2BMQE0wTh + BPAE/gUNBRwFKwU6BUkFWAVnBXcFhgWWBaYFtQXFBdUF5QX2BgYGFgYnBjcGSAZZBmoGewaMBp0GrwbA + BtEG4wb1BwcHGQcrBz0HTwdhB3QHhgeZB6wHvwfSB+UH+AgLCB8IMghGCFoIbgiCCJYIqgi+CNII5wj7 + CRAJJQk6CU8JZAl5CY8JpAm6Cc8J5Qn7ChEKJwo9ClQKagqBCpgKrgrFCtwK8wsLCyILOQtRC2kLgAuY + C7ALyAvhC/kMEgwqDEMMXAx1DI4MpwzADNkM8w0NDSYNQA1aDXQNjg2pDcMN3g34DhMOLg5JDmQOfw6b + DrYO0g7uDwkPJQ9BD14Peg+WD7MPzw/sEAkQJhBDEGEQfhCbELkQ1xD1ERMRMRFPEW0RjBGqEckR6BIH + EiYSRRJkEoQSoxLDEuMTAxMjE0MTYxODE6QTxRPlFAYUJxRJFGoUixStFM4U8BUSFTQVVhV4FZsVvRXg + FgMWJhZJFmwWjxayFtYW+hcdF0EXZReJF64X0hf3GBsYQBhlGIoYrxjVGPoZIBlFGWsZkRm3Gd0aBBoq + GlEadxqeGsUa7BsUGzsbYxuKG7Ib2hwCHCocUhx7HKMczBz1HR4dRx1wHZkdwx3sHhYeQB5qHpQevh7p + HxMfPh9pH5Qfvx/qIBUgQSBsIJggxCDwIRwhSCF1IaEhziH7IiciVSKCIq8i3SMKIzgjZiOUI8Ij8CQf + JE0kfCSrJNolCSU4JWgllyXHJfcmJyZXJocmtyboJxgnSSd6J6sn3CgNKD8ocSiiKNQpBik4KWspnSnQ + KgIqNSpoKpsqzysCKzYraSudK9EsBSw5LG4soizXLQwtQS12Last4S4WLkwugi63Lu4vJC9aL5Evxy/+ + MDUwbDCkMNsxEjFKMYIxujHyMioyYzKbMtQzDTNGM38zuDPxNCs0ZTSeNNg1EzVNNYc1wjX9Njc2cjau + Nuk3JDdgN5w31zgUOFA4jDjIOQU5Qjl/Obw5+To2OnQ6sjrvOy07azuqO+g8JzxlPKQ84z0iPWE9oT3g + PiA+YD6gPuA/IT9hP6I/4kAjQGRApkDnQSlBakGsQe5CMEJyQrVC90M6Q31DwEQDREdEikTORRJFVUWa + Rd5GIkZnRqtG8Ec1R3tHwEgFSEtIkUjXSR1JY0mpSfBKN0p9SsRLDEtTS5pL4kwqTHJMuk0CTUpNk03c + TiVObk63TwBPSU+TT91QJ1BxULtRBlFQUZtR5lIxUnxSx1MTU19TqlP2VEJUj1TbVShVdVXCVg9WXFap + VvdXRFeSV+BYL1h9WMtZGllpWbhaB1pWWqZa9VtFW5Vb5Vw1XIZc1l0nXXhdyV4aXmxevV8PX2Ffs2AF + YFdgqmD8YU9homH1YklinGLwY0Njl2PrZEBklGTpZT1lkmXnZj1mkmboZz1nk2fpaD9olmjsaUNpmmnx + akhqn2r3a09rp2v/bFdsr20IbWBtuW4SbmtuxG8eb3hv0XArcIZw4HE6cZVx8HJLcqZzAXNdc7h0FHRw + dMx1KHWFdeF2Pnabdvh3VnezeBF4bnjMeSp5iXnnekZ6pXsEe2N7wnwhfIF84X1BfaF+AX5ifsJ/I3+E + f+WAR4CogQqBa4HNgjCCkoL0g1eDuoQdhICE44VHhauGDoZyhteHO4efiASIaYjOiTOJmYn+imSKyosw + i5aL/IxjjMqNMY2Yjf+OZo7OjzaPnpAGkG6Q1pE/kaiSEZJ6kuOTTZO2lCCUipT0lV+VyZY0lp+XCpd1 + l+CYTJi4mSSZkJn8mmia1ZtCm6+cHJyJnPedZJ3SnkCerp8dn4uf+qBpoNihR6G2oiailqMGo3aj5qRW + pMelOKWpphqmi6b9p26n4KhSqMSpN6mpqhyqj6sCq3Wr6axcrNCtRK24ri2uoa8Wr4uwALB1sOqxYLHW + skuywrM4s660JbSctRO1irYBtnm28Ldot+C4WbjRuUq5wro7urW7LrunvCG8m70VvY++Cr6Evv+/er/1 + wHDA7MFnwePCX8Lbw1jD1MRRxM7FS8XIxkbGw8dBx7/IPci8yTrJuco4yrfLNsu2zDXMtc01zbXONs62 + zzfPuNA50LrRPNG+0j/SwdNE08bUSdTL1U7V0dZV1tjXXNfg2GTY6Nls2fHadtr724DcBdyK3RDdlt4c + 3qLfKd+v4DbgveFE4cziU+Lb42Pj6+Rz5PzlhOYN5pbnH+ep6DLovOlG6dDqW+rl63Dr++yG7RHtnO4o + 7rTvQO/M8Fjw5fFy8f/yjPMZ86f0NPTC9VD13vZt9vv3ivgZ+Kj5OPnH+lf65/t3/Af8mP0p/br+S/7c + /23////bAEMAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQICAgICAgIC + AgICAwMDAwMDAwMDA//bAEMBAQEBAQEBAQEBAQICAQICAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD + AwMDAwMDAwMDAwMDAwMDAwMDAwMDA//AABEIAU4BzwMBEQACEQEDEQH/xAAfAAAABgIDAQAAAAAAAAAA + AAAHCAYFBAkDCgIBAAv/xAC1EAACAQMEAQMDAgMDAwIGCXUBAgMEEQUSBiEHEyIACDEUQTIjFQlRQhZh + JDMXUnGBGGKRJUOhsfAmNHIKGcHRNSfhUzaC8ZKiRFRzRUY3R2MoVVZXGrLC0uLyZIN0k4Rlo7PD0+Mp + OGbzdSo5OkhJSlhZWmdoaWp2d3h5eoWGh4iJipSVlpeYmZqkpaanqKmqtLW2t7i5usTFxsfIycrU1dbX + 2Nna5OXm5+jp6vT19vf4+fr/xAAfAQAABgMBAQEAAAAAAAAAAAAGBQQDBwIIAQkACgv/xAC1EQACAQMC + BAQDBQQEBAYGBW0BAgMRBCESBTEGACITQVEHMmEUcQhCgSORFVKhYhYzCbEkwdFDcvAX4YI0JZJTGGNE + 8aKyJjUZVDZFZCcKc4OTRnTC0uLyVWV1VjeEhaOzw9Pj8ykalKS0xNTk9JWltcXV5fUoR1dmOHaGlqa2 + xtbm9md3h5ent8fX5/dIWGh4iJiouMjY6Pg5SVlpeYmZqbnJ2en5KjpKWmp6ipqqusra6vr/3QAEADr/ + 2gAMAwEAAhEDEQA/ALwNq7V+cHzM+cf8xXYmxv5inbvxr2B8a+2+utr7O2dtTr3Ym9cY+M3tsM5qaKKb + OHF1lBHQVuJkYKZKgyGpYkrpAJcqzzT3QFyyqrAAAL/CD5j59QJb2/OPNnOXPNjZc7z7fY2E8SoixCQE + SB/WRKU0fOtfLzMd/wANu/zBP+90PyE/9EL1V/8AXr279NP/AMp0n7E/6B6Pv6hc9f8AhVrr/smX/rf1 + 7/ht3+YJ/wB7ofkJ/wCiF6q/+vXv300//KdJ+xP+gevf1C56/wDCrXX/AGTL/wBb+ia/IHDb0+LG86Lr + v5Af8KJuy+s975DA0256bbOZ6G2HV5T+A1tXWUNHkaiHCy5MUUNXU4+ZYhMY3kEZZVK8+2pFMRCybkwJ + 9Qn/AED0Ed8F3y1eLt++e+UtvelA+g2pY6SSATolalaGgNCeNKdAZ/p82D/30z75/wDSd9vf/UHumtP+ + jo37E/6B6Jv3/Zf+F/k/7I5P+g+vf6fNg/8AfTPvn/0nfb3/ANQe/a0/6OjfsT/oHr37/sv/AAv8n/ZH + J/0H0K/SdTn/AJHdiYnqfo//AIUU9sdk9h5ulydfjdr7d+OO2Za6agw1FJkMpXTTVVNTUVFRUVLGS8s8 + sceoqgJd1U2T9RtCbkxb0on/AED0abPNPv8Afw7Zs/vlPcXz1oi2b1wCxJJkAAABNSQPz6Pj/Jr7V777 + AwPzR2Z393XujvjO9DfMPsHpTbu9t2Y/C4rI1O3dkUOMxscq47B0lNS0KZKsikq2hLzmJ5iokYAH2rgD + hXV5CxDEVNPl6AdCn2d3rfd2i50td93V7yWx3aW2R2AB0xdtaCtNRGqlTStK9XP+3+pn6pF+TP8APv8A + hn8VO9+xvj12PtTvSv3v1jlqLDbgq9rbS2lkMBPVV+ExeehbGVlfvvF1k8Io8tGrGSniIkDAAgAlLJdw + xSNGxOoU/mK/5eoX5h98+U+Wt63DY76wv2urZ9DMkcZQmgPaTKppnzA6Ax/+FN/wAjtr2L8lkve2vYmy + Fvb62v2UL2v7qb2FeOofl0SL95HkZ66dv3I/ZHF/1v6M72F/O++JXWvTHxZ7zzu0+7araHy6j33J1nSY + ram16nN41evd347Zec/vbSzb1p6TGmXK5ON6f7aer1whmbSwCm/1cWiOTOl+GOhPuXvNyvte08s7xc2d + 79Puol8JQsepfBcRv4gMoAyRTSWqP2dXGxuJESRb6XRXF/rZgGF/8bH2p6lsGoB65+/db697917r3v3X + uve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917 + r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de6 + 97917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuv + /9DZL/lvf9vCv50X/if+gf8A31md9o7b+3vv+ag/44vUQ8g/8r37r/8APVbf8dn6ut9rOpe6AP5QfIzr + z4mdDdk/IHtCtFNtPrnb1TlpKOOaKLIbizEhWk29tPCib0TZvc+bqIKKlWxAlmDNZFYirsEVnY4HRBzP + zFYcqbFuO/bk3+LW6VpUAuxwka1xqdiFHkK1OAevl+/I/v8A7B+UvePZHf3aNea7efZW46nN1sSSPJRY + THKqUmA2viA/MWF2vhKeChpVsD4oAzXdmJKSzOzO/wAR/wBQH5dcxeZeYL7mje9x3zcZNV1cSFj6AcFU + f0VUBVHkoA8ugR966IuuiQoLMQFUEkngAAXJJ/oB78SACTw62ASQAMnrfe/4T/8A8vI/F/4+N8kuzMGa + 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 + upuy/wCXztL+X72LujcG4trbH2Vtbbm2ezKWix+J3bh9ybJJfa+9qHHg1uLir6N7xTUzF4amklmgYgSl + g8Yg0QidiQABXzxwP5dSbde2u0X/ACDacg3s7vaQRKqSgUdXQkq4WpHmVYVypYVBNRU51N/wmtwGGx2R + 2p3l8xuyu1utcZQ7nm646ywW3q/ZuyNr70z2Or6Ki3zlMBXb73VjslW4Wsq0rftaOPHLWVMdp5mhaSN2 + ktVFNbswHAeX209R5eXy6ibbPu3JHBNZb1zjPPtwR/BjjjMaxyMCPEIaVwaVBKqFLEAF9NQbW/gT/LU6 + 6+EPxr7K+MNZvGv712N2pu3dO4t2f3221i8PDkMZvDaG3tm5na9Xi8bV1lNVYypxuBJZi4dvuGFhpB9v + RR+FEsRYsBXJp5/YOpU5E9str5J2HeuXjcm8sL6ZnkDppFGhjhZKamqCqca1z8q9VaZ3/hOxuXr/AHnu + zJ/Df5/90/GrYO8ZZHyOxaak3LkqmClZm8GIm3LtDsnr6XcOMoI5GjpzkaaerSKyyTStqdmBa6STFMyg + +X+r/LXqMbv7vN3aXl0/KXPl1t+3y1rHpctkntLxzRa1FaAMtacSTUmz74i/y09r/FD4i91fFuk7e3v2 + NXd+ydkZPf8A2humhx65g7i7J2JQ7AyGTxWKSepfwUGMxkEyR1tdWTzVAdnn0uFR1IRHG0YckmuTxz1K + HKXtva8rcp7zyyu6y3D3/imWVlA7pohExVKkgAAGjOxLVNQCAHL+Wj/Ll21/La6u371jtjtLcPatLvvf + EO96jLbi29i9uVOOqIdvYvb/ANhBTYqsrYp4Wjxgl1swbU5FrC/v0EQgiEQcsK1qaegHkB6dX9ufbq19 + u7TdLW13F7gXUyyEsgTSVXTQDU1a/b1ZH7e6kfr3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve + /de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v + 3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r//T2S/5b3/bwr+dF/4n/oH/AN9ZnfaO + 2/t77/moP+OL1EPIP/K9+6//AD1W3/HZ+rSfkJ0V1/8AJnpXsfojtDG/xTZHZm2K/beYjTQKygedVmxm + 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 + der8uv/X3+Pfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvf + uvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737 + r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3XvfuvdQGyuLWsGObJUC5BrWoWrK + cVh1C4tSmTzm45Hp+nv3Xup/v3XuoFLlcXXSywUWSoKyeD/Pw0tZT1EsNjpPljikd47NxyBz7917qf79 + 17r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/d + e697917r3v3Xuve/de6//9Df49+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+69 + 1737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvd + e9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3QL9s/IDq/pc4yi3nnKiXc+fjlk21sTbOLyG + 6t+7mSBik0uF2ng6esy09FDINMlU6R0cT2V5VJALF1dW1lby3d7cxw2qCrO7BVUfNmIA/b1okAVJx0BL + fLnsCdnqsZ8Qu8qnELJIEmyGe6fw2aqIEtpngwFb2J5k8t7iOeaCQAG6g8e48m94fbGCf6d+cbUyeqrK + 6/72sZT/AI1TphrqBHEZfPyyP28P83SI3P8AMzcm+9xYDp7prZe4uuu0M/jsllty5nvPaVVhqDr3b+OW + iinrcHh4a84/s/c1XUZFFoqbHZCSiRUeeol8SFGVcx+5PLmxcqT822c43KwVgii2YSAu1aB3FRCuDqdw + KcACxAN5JkjjeStVHpn+fDpsqOn+x8pVR5XNfLP5LPmdTzTNt7cOw9rbf88hJb7ba1B1/PjYaVSfTFIZ + gBxf3jHc/ea5ye5Z7TZNtjtK4RlldqfN/EQV+ej8uittyl1gqgCDy9fz8umbI0HyvzmXg6i3F25U1vTl + TRHP5juLb+Oxuy+566nppUoIupWr8BNBj8a1cwWtn3Fj6KlrmpRJApjkfyAbT/eRtpOTbi+t9sji5x8Y + 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 + SGVVpYGVWkmq51SNX0yaMvfumeztzzzzLfc273tityZZ2txCryxJIk11PE0SiJZVZHa2DmYsVZUkEanu + OMCPv0/eAs/bbk/beReXN4ZfcG/vbW4aOGaSKSCyt5lnczPCySRrdmMW4QOjyRNKwOle4aO1v5dPffTW + 8NmYLerbJxe0t9biXauE7Lqd2zJsakzczBcZjN05xttpPtOt3CfRQNWUa00837Xm8np9y3L9wm0+rJtv + c+Rdv1YV7ENLp9C4uVQtTz0Ur5HqCoP7z+++hUXnszC266Msm5MsJenERtaM4Wv4fFJpjV59XHfDv+Vx + tvojcVH2L2puDG773ji6qmrtvYHEU852rg8hQyeWhzNXX5GnpcjuHJ086rPToaejo6ScBxFNIkcy5Re0 + 3sRyJ7PQTycvW8txvsyaZby4IaZlwdCBQEhjJFSiCrH4mai0ws99PvN+5vv7cW0PNV1DactW764dvtQy + 26PkCSQsWknlAOkPIaKPgRCWJtt9zP1jz1737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Qd7u7e6 + p2BNLTb47L2FtCrhp1q5KLcm7sDhq5aV76JxQ5Cvgq2iex0sEINuPeiQOJ62ATwHQYY35jfFPL1qY7Hf + Ijp+prZGKJAN+bfjJYMEI1zVscYsxtyfezjj1oZNBx6Hbbu6ds7vx4y209xYLc+KaR4Rk9u5fH5rHmaO + 3kiFbjaippjIl+V1XH59+rXI68QRx6Jx8plTs/tr40/G6NY6vG7h3vN3Z2bSl5gF676Z+3ymMoaxIk0t + Sbm7CrsZT8uNS08gtcgj3Xujye/de6CndHe3Smyaiso939uda7arsc2ivx+a3ttzH5GjfQJNFTj6jIpW + Qv4yDZkBsR/X3qorSuet0NK0x0iMP8v/AIsZ+p+zxHyF6frKmwPjXfu3YeDe3qqK+JObf19+Jpk4HXgC + 3DPQ5YDcu3N146PMbWz+E3LiZXeOLKYDK0OZx0kkTaZUjrcdPU0zvG3DAMSD9fewQcjrVKYPHp79+691 + 737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde + 9+691737r3Xvfuvde9+691//0N/j37r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+69173 + 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 + bPyVs8u77vLj4Y41p4k0lMIg/mzHtRak+QNIWVrMxuTcWQ3nvHO5XeW9svb+Kbs3FOtZl50AULRUjLHF + TYjD09rQUVJHBSwLwiDm+YfKXImw8nwKLC3Em4Ed9w4Bkb5L/vtf6K/mSc9YN86+43MnPFwx3G5MW1g9 + ltGSIl4fFwMjeep+B+EKOsfsZ9APr3v3Xuve/de697917r3v3Xuob4+ikrYci9LCa+COSGKrCATiGXl4 + TILM8TMNWk3Abn6+0Em1bdLuEG7PZp+84lKrKKh9LChUkEa1pwD6gOIoc9GUW87pDtdzssd8/wC6ZmVm + iNCmpTUMoIOhqjJTSWGGqMdTPa/ot697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de + 697917r3v3Xuve/de697917r3v3XuoslHTS1UFbJEGqaWGpp4JCW9ENYYGqU030MJTTR3uDbTxbn2hn2 + zb7m9t9wuLRHvYo3RGbNEkprWldJDUFag8MU6Mbfd90tLC52u1vpI7CaVJHRSBqeMEI2oDUCoJA0sKgm + tenPZ+W3N1pmv7zdVbpzPWu4tXkkrdrTLT43IsPH+1uHbUqybf3HSP4VDR1VO5sBoZGAYAfmT2s5T5iS + V0shZ7iakSwALk+bx4RxXjhWOe7qQuVfeLnTliSKOS/a/wBsWgMNwS3aPJJcyIaYGWUY7cdXI/Ez5xU3 + b2UpOrO26LE7R7beleTA5DFyTRbQ7MhpI2krJNvLWs9RhdzUsEZmqcRNLMxivLTSzRrKIcWObeTd55Ov + VttziDW0hPhTLlJAD5H8LAULIe4V8xnrMPkvnvYeebBrvaJit1GF8aF8SRMR5j8SVqFkXtankcdWIewn + 0M+ve/de697917r3v3Xuiq/L/wCVG0viZ1RWb8z/ANpW53ISTYzZ2AqqiWniymVjp2qamsr3pop6qHB4 + SlHnq3jQu944I/3p4gT/AJV5X33nXmPZ+U+WbBrrfr+cRQxLjUxqSSThURQzu5oqIrMTQHoU8kcl8y+4 + vNvL/I3J22NeczbncrBbxLjU7VJZmOEjjQNJLI1FjjVnYgA9ad3yD/mCfInvzcNVkM1v7OwYpaqqfGYu + mqZ8bhqKGaZgFx+1qSpbBUEElIEiZZ0rqllH7tTK1mHX/wBrfuHe1nK+22tx7jI/MPMrLWRTJJDZRsVy + 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 + /de697917r3v3Xuve/de697917r/09/j37r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+6 + 91737r3Xvfuvde9+691737r3XvfuvdY5Yop4pIJ445oZo3imhlRZIpYpFKSRyRuCjxuhIIIIINj7917r + Wp+QnWeB6W7j7I2d1ochvHq/aKUe49xZDbuOyWZx3Qk+6quqqKbYG/MtTRT0eOplYmbGesyUmPZEqggV + JHnf2x90Ydlgh5c5jkI2taiGahPhVNdD0qTGSTpYAlDg1U9uOvu57QT7/cTc0crRA7w1PHgqB41BTxI6 + 0AlAADKSA4yKMO4Kaeop6uCOppJ4aqmmQSQ1FNLHPBKjC6vFNEzxyIwPBBIPvJy2uba8gjurO4SW2YVD + owZSPkRUdYj3dpdWFxJZ31tJDdoaMjqUYH5qwB6ze3umOve/de697917r3v3Xuve/de697917r3v3Xuv + e/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3 + v3Xuh6+KnUFX3p3ttjEmjap2L1plcRv/ALJryiS4/wA2Iqv4js7ZdSHvHPW7jzlJFPNTkG2OppXYDVHq + x697+bYFtouT7N9VwzrJcEfhC5jjP9ImjsPIBc5I6yd+79yVcG5m54vo9NsqPFbA1q7NiWSn8IFUU+ZL + GmAerefkH0TubN57D9+dD1dBtv5F7Cx8lHQGukak2x27s8Mamu6o7GEZVJsTknGrHV7AzYmt0yxsq6rY + 19ZWdCT0N3rtnvnZ8+exNHX7b3Pt7J1G2Ox+u9wItNu3rne2O9GV2xuKhuGR4nHkpalR4K2lZJoiVaw9 + 17obvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+ + 691737r3Xvfuvdf/1N/j37r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuv + de9+691737r3XvfuvdEj7Z7k3z2jvnK/G34x5KKk3VjPDD3X3eKePI7d6Kw9YPXh8QHDUW4O48tSlvsM + ddoseAaiq06NI917ow/UPTGwekdhUfXmx8U0WHjerrMzX5SU5TPbvz2UOvO7o3flqlTU5/cOeqCZKqom + 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 + R3NjOzu2Ortydy5LK9n123up95JgevMBQbnzdfmMRtbC9fZPFZrZtJSYzHVKpPKlCtTPUvNIzgsAtaaj + Un/J/s9PCQxroCgmnnRqE5NBlflwr9nVnKiwAJLEAAsbXNh9TYAXPu3TPXfv3Xutd/e/zz7L6Y/nSds/ + EfbOPyW+cz8jsB8K8F1lB2ZvfK7T+PfUeIxG1/kBvHunMwZN4cpSz9u7w21hoRgNq4qmTI7oq6MyTTQ0 + tDLMvuvdB/2P/Of733Tun5j9TdHbD6yr6bCfGv5t9r/E/wCREVH3ht/YeWyfxD3BTbZ3iuVzHYfUdDtH + sytx1FXVE61e0ZMxhqXcmN/hdS0lJN/EV917rqs/mWd19B7d617j776x27vr5B5T+V51f29BDsP5CdgY + 7onc2b7s+VvUHS3V7bq2dm9j4PZ+1Mpkcr2Xj8zundUWKmqsFRrWY2gNbS+J5fde6H6o/mgfK/HbjpPj + hV9CfHqv+W9D85sJ8Kt0VWM7e36Pjgk2+viLuP5abL7NwO6JOuJt/VQxe3cVHj87t6bGR1lNWI6R1R8s + bJ7r3Vj/AMB/k3nvmD8U+tu+92bNxOwN37iyPZO0947U2/nKncm3Mbu/qXtTe3Ue6ZdtZyux2IyGR25l + M9saoq6B6mlgqRSTxrKgkVvfuvdHE9+690WztD5LYDYu5azrfaWyuwO2+3oqGhrKfYGx9sZM01PHlkLY + us3LvvK0tFsba2GltqmqKmuLxJciJ20o2s1pTqwUUqzUH8/9XzP+x17o/qbd2Ez+6+5O4shjct3R2LR4 + 3GV1Hg5qio2r1vsnEvJU4XrbZ01XHFUVNFS11TLV5GuZI3yVfIZCoSOP34CnXmbVTFAB/q/b0ZP3vqvX + vfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+6917 + 37r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691//1d/j37r3Xvfuvde9+691737r3Xvf + uvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737 + r3Xvfuvde9+691737r3XRAIIIBBFiDyCD9QR+QffuvdEY29QdxfFGev2jt3rbNd3/HmTK5nL7Jj2JX4v + /Sn1NR5Oeoy9Tsut2zuTJYmk3rtKiyNRIuKnoaz+IU8DrTyU8ixpI2sjI6uCpAVsEefy+Y+XqPLFOhN6 + V+T2E7r3xvXYdF132Z17mtiYfB5fMUHamDoNnZ6SPcLzfw5qLa8uVq87NjpIoGP3piWlLjxhi/HuoYkg + FaY6s0ahGdZNVGA4eor55/l9h6M37v010Ae9/iz8dOyM5uHc2++mdgbp3JuvM9Vbiz+4MvgKSozeQ3D0 + blMjmuns8crpWups11rlcvVT4eqhkjnoXqZPGw1sD7r3QfbQ+Afwq2D2DvjtbZ3xh6b2/wBidlR78p98 + 7roNl4pcnuOh7R8Ldj4quMsUkC4XfE0AmylDGiUlbUM80sbSySO3uvdYtnfy/fhVsHYs3WW1fjN1Lj+v + 6nrbdnTlRtKp2vTZnCzdUb53W++d1ddS0ubORD7Oy+7n+/bHk/bR1CqY1QIgX3XusOE+Knw1+LfU+Hk2 + b0J1vsTr7497i3d8gtr0eD29SCo2z2ANn53Dbj7Dx9dXTNXVu+8ntDJVmNbIVVRJVS0kwpzJ4wqromgJ + 62o1MF9ehp6GwfU+A6o2nT9I7Z2/s7rfLQZDeOF25tqmoKPG0Fbv/LV++txSyUuMmqKKHK5Pcm46urrg + jtqrZ5WJJJPvwNetsuk08v2V6QXd3yPwOwf+Mf8AX603ZXf2545sbsXqvb1dT1eUXJTBoV3BvKWCR49n + 7KwDn7jIV9aYVWGNkiDysqH1a1AOet6StGdcenCv+r16Fnqba26Nl9b7N2xvfd9fv7eWJwdJDureORKm + pz+fkDVGVrECw0/joBWzPHSoyh46VI1YlgSd9U456EP37r3Xvfuvde9+691737r3Xvfuvde9+691737r + 3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+69 + 1737r3Xvfuvde9+691737r3X/9bf49+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde + 9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xv + fuvdAR3F0BtfturwW54svuDr/tDZ6VC7K7V2PVxY7duAjqWEk+LqxPDU4vc+162UXqcVkoKmjluxVUkb + ye/EV62CVNR/q+316DCOp+c+ykejmxPQHetHTmOKjzkea3T0zueviEEStUZjDNht97Zp6szhmY0lQsTA + +mNPoKkNTBz8+rqYiw8RDpp5Hz/MHpIb/wBhfMvv3bVVsnctZ0x0BtfJS0NZWZzaOW3l2b2RQV+EymNz + mFmwE8lLsHbmPdcjj1Es0jVB8d18TBj79QkDUet+IqM5iU0Ipk5+fCnT9t75WP1mKXZPy6xMnUm8qEpj + o+zFoMhVdG9ilJoqSmzu3N6wQ1NHtaqywkWWXE5pqOpo3ZkDSoFdt5GCOqkK3cGAOag0HzweH5cfLPQk + 5j5f/FnA4uPM5L5BdSLQTafA1HvjA5WqqWkUvHFSY7FVlbkaqeRR6Y44mdjwATx70GUkgcR1toZFCMwo + rcKkD5+vQLbjrt3fM+Wj2Vhdq7j2R8Xf4lBWdg7y3riKvbm5O6qDFVcdTT7G2PtPKR02cxmyctWQI2Tz + FfDTtVUqmCljbyPIvsnjw69VUUhTVzgnyA+X2+Z9MdCdV/CX4u1NZU1tP1Ni8E1bWS11bSbSzW6tm4qr + qJ21S+fC7UzuHxDRO4B8YgCXAsPeyAeI6qrsldDEV40xXoWes+lOpum6KroOr+vtr7KiyEzz5KfCYyGH + I5SaSQytLlctIJcrk38jEgzzSab8W976r0KHv3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de6 + 97917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuv + e/de697917r3v3Xuve/de6//19/j37r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+69173 + 7r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+ + 691737r3Xvfuvde9+691gqqWlrYJaWtpoKulnQxzU1VDHUQTIfqksMqvHIh/III9+690jcZ1f1phMgMt + huvNjYjKqzMuTxm0sBQZBWc6mYVtJj4qkMzck6uT7916nS59+691737r3Xvfuvde9+691737r3Xvfuvd + e9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3X + vfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3X/0N/j37r3Xvfuvde9+691737r3Xvf + uvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737 + r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+6 + 91737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuv + de9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3X/9k= + + + + + /9j/4AAQSkZJRgABAQEASABIAAD/7gAOQWRvYmUAZAAAAAAB/+EarkV4aWYAAE1NACoAAAAIAAcBEgAD + AAAAAQABAAABGgAFAAAAAQAAAGIBGwAFAAAAAQAAAGoBKAADAAAAAQACAAABMQACAAAAHAAAAHIBMgAC + AAAAFAAAAI6HaQAEAAAAAQAAAKIAAADCAEgAAAABAAAASAAAAAEAAEFkb2JlIFBob3Rvc2hvcCBDUzUg + V2luZG93cwAyMDEzOjAxOjIzIDE1OjQxOjMzAAACoAIABAAAAAEAAAHPoAMABAAAAAEAAAFOAAAAAAAA + AAYBAwADAAAAAQAGAAABGgAFAAAAAQAAARABGwAFAAAAAQAAARgBKAADAAAAAQACAAACAQAEAAAAAQAA + ASACAgAEAAAAAQAAGYUAAAAAAAAASAAAAAEAAABIAAAAAf/Y/+0ADEFkb2JlX0NNAAH/7gAOQWRvYmUA + ZIAAAAAB/9sAhAAMCAgICQgMCQkMEQsKCxEVDwwMDxUYExMVExMYEQwMDAwMDBEMDAwMDAwMDAwMDAwM + DAwMDAwMDAwMDAwMDAwMAQ0LCw0ODRAODhAUDg4OFBQODg4OFBEMDAwMDBERDAwMDAwMEQwMDAwMDAwM + DAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCABzAKADASIAAhEBAxEB/90ABAAK/8QBPwAAAQUBAQEBAQEA + AAAAAAAAAwABAgQFBgcICQoLAQABBQEBAQEBAQAAAAAAAAABAAIDBAUGBwgJCgsQAAEEAQMCBAIFBwYI + BQMMMwEAAhEDBCESMQVBUWETInGBMgYUkaGxQiMkFVLBYjM0coLRQwclklPw4fFjczUWorKDJkSTVGRF + wqN0NhfSVeJl8rOEw9N14/NGJ5SkhbSVxNTk9KW1xdXl9VZmdoaWprbG1ub2N0dXZ3eHl6e3x9fn9xEA + AgIBAgQEAwQFBgcHBgU1AQACEQMhMRIEQVFhcSITBTKBkRShsUIjwVLR8DMkYuFygpJDUxVjczTxJQYW + orKDByY1wtJEk1SjF2RFVTZ0ZeLys4TD03Xj80aUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9ic3R1dn + d4eXp7fH/9oADAMBAAIRAxEAPwDsqMfo1HQj1XqTJbW19t1rnOLnHc/xf77LHeytv/W155Z9auq2WuNN + dNbXu/RUCpthaHH9HSHu99r/AMz/AIR67H6w9LzOo/Uqn7I5xdiOOQ/HbH6VjDZub+9vq3evUz899f8A + pPTXCdB6jj9N6xh9QyKhfRRYHPaRMAgt9dg/Oso3etX/AFE0tDPIiWOI9ESBcn0z6v4mZhZ2PTmuBzLM + J1mUKxtZvNrdjBXWfS/V2P8AR9b/AAqlkN6g360V4repZLcazGtzTQBRtDqrMeptAccb1fs723P9T9J6 + 3/DK62yu36w1WVuD634Jcx7TLS021lrmuH0muWZ1Pq72fWZ3TsXGps6pZRVXg22boFVrrbuovySHN/QU + MxKHsqr/AE11v+fUW0KA3/SoIOl/W3qTOn4zeoYzbL7MXAvrtbbrY3LurwLLb2iljaLt7/tPpVerX/gv + UVtn1rybeptwKcNhnLycZ9rrTDa8QY9tt+1tTnOsfXkPayj/AE3p/pf8JWPMv+rFLcvDzOnPZVh4Lqzu + Y0h+JiOZuZjhtrrmfZ7LarKPVbRY/wDn8b1P5xVT1Po+A/Ff0zpFjMmvP+y2VvYGW1nJrrssuDDZ7rM3 + HZTs9T/0J9O1L6oMpCvUKDYx/rhm2MDrcSikZGEzPxHG975bdbXj4uPdXRi23NyX+r/N0MyPWu/QUotP + 1uufhuvsxA2yrG6hfaze5o39Pspo9Nvq013MZkevv/TVV24/836SxsGr6tYtue/NDr6HUXsqsqxmYuPc + 3Dd9qzPs32VzfXzqbqt/2n9X/mP1D+bsWgP+auXivrb0e2w4NsjFdW1joymep9oPrXVU/Zsutu6z7VdX + +mr/AE9P2n00vqoSl1I66H/0Fs4/1qzb+oNx2YBOONjLrm+q707H47M/fZa3G+yNxmerXje/I+0f4f0P + SWr0LqGX1PplPUMmhmL9qY26mplhtIqe1llZtea6f0vu+g1c1fndKZls6pg4TH1+j011L2iwWOrzLMnp + rw/HrfstyacSv0MbfX6zN/pfza1avrN0nC6VTbVi31YWKXY11Ya0HF+zbaX1ZDTb/gm/QrxvtNttP6Wr + 1GJfVMZEfNJ6BJYv/OjDfmWYNVN/qsstx23OZFJvprdlHH9Xdu3PoY61vt/8ERfq71xvWsCu8MIsFVLr + 7Gj9D61lbbb6Md5c51n2Zztl3+jf+i/nWW+mV4kDsXVSSSSXKSSSSUpJJJJSkkkklP8A/9DrsXJ+tOJQ + 3Hp6WXV17theaN0FznN3beobd3uWDb9TX22vtPQ72GxxeWV30sYC47iK6/tv6Nn7rF6KklSw4oSABF1t + byfRcbqvSn1A9Kyn0Y9DsehjbMZ7w11nr++27Pb+jr/m6WbPYxTz8J+dk25b+k9TqyLDjvrtrswJqfim + 19FuP6mXY3e/7TbXf6vq120/o11KSSRAAU8Y7oQc7MJ6Z1UMzWZTHsD+mjaM1zLsoiz7T61r/Uqb6L8m + y/0v5tHzOn25V1+R+y+qU335NOY2yuzp81249bceo1Nty7K3MdW39Iy5tq6xVb+p9Ox7fRvyqqrf3Hva + 12v8lxQ0CeAHSr6vLP6GHtsqf0zqpxizKZj43q9PDKDmh7cu3HjK9R1m2230ftL8hlPqexEyukuycg5J + 6X1NlxsotDg7prw12NXbi1RXkZN1bt1WRZu9Rr/03p20+mtR/wBb+hhr3Nse8s4a2twLu36PeGNUB9c+ + jSwH1gH/AEnFmjP+M1/89eoo/fwj/KQ/xosv3LMf8hk0/qT/AHf+8c1vRyzFZjV9N6swV14tddot6fvH + 2K27LxX+7Kczf6uQ71fZ72bEDI+royKtlvTurGx4yBkXep00vtOW5tmQ92/IdVRZurrbW/Ero/RM9Jds + 1zXtD2EOa4S1w1BB7hOpaYeCJ6PLsxLGWusHSep7nZduef0mBHqXUWYD2f0z+ZbTc57Pz/V/wil0Wi7o + lb6cPpHUjS9tY9J9mBtDq2Ch17BXmV7bslrGPyv8HZd+l9Nm+3f0llldTDZY4MY0S5zjACz225uRX6rb + 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 + AAAAAAAAAAAAAAAAAAA4QklNBDoAAAAAAJMAAAAQAAAAAQAAAAAAC3ByaW50T3V0cHV0AAAABAAAAABQ + c3RTYm9vbAEAAAAASW50ZWVudW0AAAAASW50ZQAAAABDbHJtAAAAD3ByaW50U2l4dGVlbkJpdGJvb2wA + AAAAC3ByaW50ZXJOYW1lVEVYVAAAAA8ATwBLAEkAIABNAEMAMwA2ADEAKABQAEMATAApAAAAOEJJTQQ7 + AAAAAAGyAAAAEAAAAAEAAAAAABJwcmludE91dHB1dE9wdGlvbnMAAAASAAAAAENwdG5ib29sAAAAAABD + bGJyYm9vbAAAAAAAUmdzTWJvb2wAAAAAAENybkNib29sAAAAAABDbnRDYm9vbAAAAAAATGJsc2Jvb2wA + AAAAAE5ndHZib29sAAAAAABFbWxEYm9vbAAAAAAASW50cmJvb2wAAAAAAEJja2dPYmpjAAAAAQAAAAAA + AFJHQkMAAAADAAAAAFJkICBkb3ViQG/gAAAAAAAAAAAAR3JuIGRvdWJAb+AAAAAAAAAAAABCbCAgZG91 + YkBv4AAAAAAAAAAAAEJyZFRVbnRGI1JsdAAAAAAAAAAAAAAAAEJsZCBVbnRGI1JsdAAAAAAAAAAAAAAA + AFJzbHRVbnRGI1B4bEBSAAAAAAAAAAAACnZlY3RvckRhdGFib29sAQAAAABQZ1BzZW51bQAAAABQZ1Bz + AAAAAFBnUEMAAAAATGVmdFVudEYjUmx0AAAAAAAAAAAAAAAAVG9wIFVudEYjUmx0AAAAAAAAAAAAAAAA + U2NsIFVudEYjUHJjQFkAAAAAAAA4QklNA+0AAAAAABAASAAAAAEAAgBIAAAAAQACOEJJTQQmAAAAAAAO + AAAAAAAAAAAAAD+AAAA4QklNBA0AAAAAAAQAAAB4OEJJTQQZAAAAAAAEAAAAHjhCSU0D8wAAAAAACQAA + AAAAAAAAAQA4QklNJxAAAAAAAAoAAQAAAAAAAAACOEJJTQP1AAAAAABIAC9mZgABAGxmZgAGAAAAAAAB + AC9mZgABAKGZmgAGAAAAAAABADIAAAABAFoAAAAGAAAAAAABADUAAAABAC0AAAAGAAAAAAABOEJJTQP4 + AAAAAABwAAD/////////////////////////////A+gAAAAA/////////////////////////////wPo + AAAAAP////////////////////////////8D6AAAAAD/////////////////////////////A+gAADhC + SU0EAAAAAAAAAgAFOEJJTQQCAAAAAAAMAAAAAAAAAAAAAAAAOEJJTQQwAAAAAAAGAQEBAQEBOEJJTQQt + AAAAAAAGAAEAAAAHOEJJTQQIAAAAAAAQAAAAAQAAAkAAAAJAAAAAADhCSU0EHgAAAAAABAAAAAA4QklN + BBoAAAAAA0sAAAAGAAAAAAAAAAAAAAFOAAABzwAAAAsAVQBuAGIAZQBuAGEAbgBuAHQALQAyAAAAAQAA + AAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAHPAAABTgAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAA + AAAAAAAAAAAAABAAAAABAAAAAAAAbnVsbAAAAAIAAAAGYm91bmRzT2JqYwAAAAEAAAAAAABSY3QxAAAA + BAAAAABUb3AgbG9uZwAAAAAAAAAATGVmdGxvbmcAAAAAAAAAAEJ0b21sb25nAAABTgAAAABSZ2h0bG9u + ZwAAAc8AAAAGc2xpY2VzVmxMcwAAAAFPYmpjAAAAAQAAAAAABXNsaWNlAAAAEgAAAAdzbGljZUlEbG9u + ZwAAAAAAAAAHZ3JvdXBJRGxvbmcAAAAAAAAABm9yaWdpbmVudW0AAAAMRVNsaWNlT3JpZ2luAAAADWF1 + dG9HZW5lcmF0ZWQAAAAAVHlwZWVudW0AAAAKRVNsaWNlVHlwZQAAAABJbWcgAAAABmJvdW5kc09iamMA + AAABAAAAAAAAUmN0MQAAAAQAAAAAVG9wIGxvbmcAAAAAAAAAAExlZnRsb25nAAAAAAAAAABCdG9tbG9u + ZwAAAU4AAAAAUmdodGxvbmcAAAHPAAAAA3VybFRFWFQAAAABAAAAAAAAbnVsbFRFWFQAAAABAAAAAAAA + TXNnZVRFWFQAAAABAAAAAAAGYWx0VGFnVEVYVAAAAAEAAAAAAA5jZWxsVGV4dElzSFRNTGJvb2wBAAAA + CGNlbGxUZXh0VEVYVAAAAAEAAAAAAAlob3J6QWxpZ25lbnVtAAAAD0VTbGljZUhvcnpBbGlnbgAAAAdk + ZWZhdWx0AAAACXZlcnRBbGlnbmVudW0AAAAPRVNsaWNlVmVydEFsaWduAAAAB2RlZmF1bHQAAAALYmdD + b2xvclR5cGVlbnVtAAAAEUVTbGljZUJHQ29sb3JUeXBlAAAAAE5vbmUAAAAJdG9wT3V0c2V0bG9uZwAA + AAAAAAAKbGVmdE91dHNldGxvbmcAAAAAAAAADGJvdHRvbU91dHNldGxvbmcAAAAAAAAAC3JpZ2h0T3V0 + c2V0bG9uZwAAAAAAOEJJTQQoAAAAAAAMAAAAAj/wAAAAAAAAOEJJTQQUAAAAAAAEAAAABzhCSU0EDAAA + AAAZoQAAAAEAAACgAAAAcwAAAeAAANegAAAZhQAYAAH/2P/tAAxBZG9iZV9DTQAB/+4ADkFkb2JlAGSA + AAAAAf/bAIQADAgICAkIDAkJDBELCgsRFQ8MDA8VGBMTFRMTGBEMDAwMDAwRDAwMDAwMDAwMDAwMDAwM + DAwMDAwMDAwMDAwMDAENCwsNDg0QDg4QFA4ODhQUDg4ODhQRDAwMDAwREQwMDAwMDBEMDAwMDAwMDAwM + DAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgAcwCgAwEiAAIRAQMRAf/dAAQACv/EAT8AAAEFAQEBAQEBAAAA + AAAAAAMAAQIEBQYHCAkKCwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAUD + DDMBAAIRAwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHxY3M1FqKygyZEk1RkRcKj + dDYX0lXiZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9jdHV2d3h5ent8fX5/cRAAIC + AQIEBAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUygZEUobFCI8FS0fAzJGLhcoKSQ1MVY3M08SUGFqKy + gwcmNcLSRJNUoxdkRVU2dGXi8rOEw9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vYnN0dXZ3eH + l6e3x//aAAwDAQACEQMRAD8A7KjH6NR0I9V6kyW1tfbda5zi5x3P8X++yx3srb/1teeWfWrqtlrjTXTW + 17v0VAqbYWhx/R0h7vfa/wDM/wCEeux+sPS8zqP1Kp+yOcXYjjkPx2x+lYw2bm/vb6t3r1M/PfX/AKT0 + 1wnQeo4/TesYfUMioX0UWBz2kTAILfXYPzrKN3rV/wBRNLQzyIljiPREgXJ9M+r+JmYWdj05rgcyzCdZ + lCsbWbza3YwV1n0v1dj/AEfW/wAKpZDeoN+tFeK3qWS3Gsxrc00AUbQ6qzHqbQHHG9X7O9tz/U/Set/w + yutsrt+sNVlbg+t+CXMe0y0tNtZa5rh9JrlmdT6u9n1md07FxqbOqWUVV4Ntm6BVa627qL8khzf0FDMS + h7Kq/wBNdb/n1FtCgN/0qCDpf1t6kzp+M3qGM2y+zFwL67W262Ny7q8Cy29opY2i7e/7T6VXq1/4L1Fb + Z9a8m3qbcCnDYZy8nGfa60w2vEGPbbftbU5zrH15D2so/wBN6f6X/CVjzL/qxS3Lw8zpz2VYeC6s7mNI + fiYjmbmY4ba65n2ey2qyj1W0WP8A5/G9T+cVU9T6PgPxX9M6RYzJrz/stlb2BltZya67LLgw2e6zNx2U + 7PU/9CfTtS+qDKQr1Cg2Mf64ZtjA63EopGRhMz8Rxve+W3W14+Lj3V0Yttzcl/q/zdDMj1rv0FKLT9br + n4br7MQNsqxuoX2s3uaN/T7KaPTb6tNdzGZHr7/01VduP/N+ksbBq+rWLbnvzQ6+h1F7KrKsZmLj3Nw3 + fasz7N9lc3186m6rf9p/V/5j9Q/m7FoD/mrl4r629HtsODbIxXVtY6MpnqfaD611VP2bLrbus+1XV/pq + /wBPT9p9NL6qEpdSOuh/9BbOP9as2/qDcdmATjjYy65vqu9Ox+OzP32WtxvsjcZnq143vyPtH+H9D0lq + 9C6hl9T6ZT1DJoZi/amNupqZYbSKntZZWbXmun9L7voNXNX53SmZbOqYOEx9fo9NdS9osFjq8yzJ6a8P + x637LcmnEr9DG31+szf6X82tWr6zdJwulU21Yt9WFil2NdWGtBxfs22l9WQ02/4Jv0K8b7TbbT+lq9Ri + X1TGRHzSegSWL/zow35lmDVTf6rLLcdtzmRSb6a3ZRx/V3btz6GOtb7f/BEX6u9cb1rArvDCLBVS6+xo + /Q+tZW22+jHeXOdZ9mc7Zd/o3/ov51lvpleJA7F1UkkklykkkklKSSSSUpJJJJT/AP/Q67FyfrTiUNx6 + ell1de7YXmjdBc5zd23qG3d7lg2/U19tr7T0O9hscXlld9LGAuO4iuv7b+jZ+6xeipJUsOKEgARdbW8n + 0XG6r0p9QPSsp9GPQ7HoY2zGe8NdZ6/vtuz2/o6/5ulmz2MU8/CfnZNuW/pPU6siw4767a7MCan4ptfR + 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 + 9mz+b9H+aWWzIzTXWHfWKgWWjaAKagZZvZbsY87t2/Hu9bezZ+ju/R0f4PbFWXjn9G/7RVAGywgPbH7l + gZ+k/wCvf9uqn+zenMe91/SaQbJ91VbLNwJda5lsMY7c662+x/s9H9Lv9X1ElMMEdRyb22N6vj5TKXD1 + aqa2lpa5pNZca7i9lljXep9L0v5H+EV5xB6kzY7cW1OFjNIYCWOa795r7dv/AIGg4uFbS1/2WqjBY+A1 + rawbA1s62Prf6b37nPd/I/4RXaaWU1hjO3Ljy4/vvP5z3fnOSUkTOa1zS1wDmuEEHUEFOkkpzrOlvYZx + Xy3j0rSSBH+jt9z2/wBv1EJ2HnMOtYtB1BrIEfyXes5n+e3/ALbWskqWX4ZymQknEIyl1gTD/mfzf/MX + jJIdXMr6Xe9s3XGsuOrKwDtHZrLXN3f13bf+LWjXWyuttbBtYwBrR4AaBSSVjDy+HCCMUBC6ut5cPy8U + v0lpkTuVJJJKVD//1vVUl8qpJKfqpJfKqSSn6qSXyqkkp+qkl8qpJKfqpJfKqSSn6qSXyqkkp+qkl8qp + JKfqpJfKqSSn6qSXyqkkp+qkl8qpJKf/2QA4QklNBCEAAAAAAFUAAAABAQAAAA8AQQBkAG8AYgBlACAA + UABoAG8AdABvAHMAaABvAHAAAAATAEEAZABvAGIAZQAgAFAAaABvAHQAbwBzAGgAbwBwACAAQwBTADUA + AAABADhCSU0EBgAAAAAABwAIAAAAAQEA/+EN0Gh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8APD94 + cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4NCjx4OnhtcG1l + dGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYw + IDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4NCgk8cmRmOlJERiB4bWxuczpy + ZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPg0KCQk8cmRmOkRl + c2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEu + MC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdEV2 + dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bWxuczpk + Yz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDov + L25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3No + b3AgQ1M1IFdpbmRvd3MiIHhtcDpDcmVhdGVEYXRlPSIyMDEzLTAxLTIzVDE1OjQxOjMzKzAxOjAwIiB4 + bXA6TWV0YWRhdGFEYXRlPSIyMDEzLTAxLTIzVDE1OjQxOjMzKzAxOjAwIiB4bXA6TW9kaWZ5RGF0ZT0i + MjAxMy0wMS0yM1QxNTo0MTozMyswMTowMCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpDNDBFMEZD + RjZBNjVFMjExQjc5QjgzRjNCMDhGNUExQSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpDMzBFMEZD + RjZBNjVFMjExQjc5QjgzRjNCMDhGNUExQSIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlk + OkMzMEUwRkNGNkE2NUUyMTFCNzlCODNGM0IwOEY1QTFBIiBkYzpmb3JtYXQ9ImltYWdlL2pwZWciIHBo + b3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIu + MSI+DQoJCQk8eG1wTU06SGlzdG9yeT4NCgkJCQk8cmRmOlNlcT4NCgkJCQkJPHJkZjpsaSBzdEV2dDph + Y3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6QzMwRTBGQ0Y2QTY1RTIxMUI3 + OUI4M0YzQjA4RjVBMUEiIHN0RXZ0OndoZW49IjIwMTMtMDEtMjNUMTU6NDE6MzMrMDE6MDAiIHN0RXZ0 + OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDUzUgV2luZG93cyIvPg0KCQkJCQk8cmRmOmxp + IHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6QzQwRTBGQ0Y2QTY1 + RTIxMUI3OUI4M0YzQjA4RjVBMUEiIHN0RXZ0OndoZW49IjIwMTMtMDEtMjNUMTU6NDE6MzMrMDE6MDAi + IHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDUzUgV2luZG93cyIgc3RFdnQ6Y2hh + bmdlZD0iLyIvPg0KCQkJCTwvcmRmOlNlcT4NCgkJCTwveG1wTU06SGlzdG9yeT4NCgkJPC9yZGY6RGVz + Y3JpcHRpb24+DQoJPC9yZGY6UkRGPg0KPC94OnhtcG1ldGE+DQogICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgPD94cGFja2V0IGVuZD0ndyc/Pv/iDFhJQ0NfUFJPRklMRQABAQAADEhMaW5vAhAAAG1udHJSR0Ig + WFlaIAfOAAIACQAGADEAAGFjc3BNU0ZUAAAAAElFQyBzUkdCAAAAAAAAAAAAAAABAAD21gABAAAAANMt + SFAgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEWNwcnQAAAFQ + AAAAM2Rlc2MAAAGEAAAAbHd0cHQAAAHwAAAAFGJrcHQAAAIEAAAAFHJYWVoAAAIYAAAAFGdYWVoAAAIs + AAAAFGJYWVoAAAJAAAAAFGRtbmQAAAJUAAAAcGRtZGQAAALEAAAAiHZ1ZWQAAANMAAAAhnZpZXcAAAPU + AAAAJGx1bWkAAAP4AAAAFG1lYXMAAAQMAAAAJHRlY2gAAAQwAAAADHJUUkMAAAQ8AAAIDGdUUkMAAAQ8 + AAAIDGJUUkMAAAQ8AAAIDHRleHQAAAAAQ29weXJpZ2h0IChjKSAxOTk4IEhld2xldHQtUGFja2FyZCBD + b21wYW55AABkZXNjAAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAEnNSR0IgSUVDNjE5 + NjYtMi4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYWVog + AAAAAAAA81EAAQAAAAEWzFhZWiAAAAAAAAAAAAAAAAAAAAAAWFlaIAAAAAAAAG+iAAA49QAAA5BYWVog + AAAAAAAAYpkAALeFAAAY2lhZWiAAAAAAAAAkoAAAD4QAALbPZGVzYwAAAAAAAAAWSUVDIGh0dHA6Ly93 + d3cuaWVjLmNoAAAAAAAAAAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVjLmNoAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRlc2MAAAAAAAAALklFQyA2MTk2Ni0yLjEgRGVmYXVs + dCBSR0IgY29sb3VyIHNwYWNlIC0gc1JHQgAAAAAAAAAAAAAALklFQyA2MTk2Ni0yLjEgRGVmYXVsdCBS + R0IgY29sb3VyIHNwYWNlIC0gc1JHQgAAAAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAAAAAAACxSZWZl + cmVuY2UgVmlld2luZyBDb25kaXRpb24gaW4gSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAsUmVmZXJlbmNl + IFZpZXdpbmcgQ29uZGl0aW9uIGluIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + dmlldwAAAAAAE6T+ABRfLgAQzxQAA+3MAAQTCwADXJ4AAAABWFlaIAAAAAAATAlWAFAAAABXH+dtZWFz + AAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAACjwAAAAJzaWcgAAAAAENSVCBjdXJ2AAAAAAAABAAAAAAF + AAoADwAUABkAHgAjACgALQAyADcAOwBAAEUASgBPAFQAWQBeAGMAaABtAHIAdwB8AIEAhgCLAJAAlQCa + AJ8ApACpAK4AsgC3ALwAwQDGAMsA0ADVANsA4ADlAOsA8AD2APsBAQEHAQ0BEwEZAR8BJQErATIBOAE+ + AUUBTAFSAVkBYAFnAW4BdQF8AYMBiwGSAZoBoQGpAbEBuQHBAckB0QHZAeEB6QHyAfoCAwIMAhQCHQIm + Ai8COAJBAksCVAJdAmcCcQJ6AoQCjgKYAqICrAK2AsECywLVAuAC6wL1AwADCwMWAyEDLQM4A0MDTwNa + A2YDcgN+A4oDlgOiA64DugPHA9MD4APsA/kEBgQTBCAELQQ7BEgEVQRjBHEEfgSMBJoEqAS2BMQE0wTh + BPAE/gUNBRwFKwU6BUkFWAVnBXcFhgWWBaYFtQXFBdUF5QX2BgYGFgYnBjcGSAZZBmoGewaMBp0GrwbA + BtEG4wb1BwcHGQcrBz0HTwdhB3QHhgeZB6wHvwfSB+UH+AgLCB8IMghGCFoIbgiCCJYIqgi+CNII5wj7 + CRAJJQk6CU8JZAl5CY8JpAm6Cc8J5Qn7ChEKJwo9ClQKagqBCpgKrgrFCtwK8wsLCyILOQtRC2kLgAuY + C7ALyAvhC/kMEgwqDEMMXAx1DI4MpwzADNkM8w0NDSYNQA1aDXQNjg2pDcMN3g34DhMOLg5JDmQOfw6b + DrYO0g7uDwkPJQ9BD14Peg+WD7MPzw/sEAkQJhBDEGEQfhCbELkQ1xD1ERMRMRFPEW0RjBGqEckR6BIH + EiYSRRJkEoQSoxLDEuMTAxMjE0MTYxODE6QTxRPlFAYUJxRJFGoUixStFM4U8BUSFTQVVhV4FZsVvRXg + FgMWJhZJFmwWjxayFtYW+hcdF0EXZReJF64X0hf3GBsYQBhlGIoYrxjVGPoZIBlFGWsZkRm3Gd0aBBoq + GlEadxqeGsUa7BsUGzsbYxuKG7Ib2hwCHCocUhx7HKMczBz1HR4dRx1wHZkdwx3sHhYeQB5qHpQevh7p + HxMfPh9pH5Qfvx/qIBUgQSBsIJggxCDwIRwhSCF1IaEhziH7IiciVSKCIq8i3SMKIzgjZiOUI8Ij8CQf + JE0kfCSrJNolCSU4JWgllyXHJfcmJyZXJocmtyboJxgnSSd6J6sn3CgNKD8ocSiiKNQpBik4KWspnSnQ + KgIqNSpoKpsqzysCKzYraSudK9EsBSw5LG4soizXLQwtQS12Last4S4WLkwugi63Lu4vJC9aL5Evxy/+ + MDUwbDCkMNsxEjFKMYIxujHyMioyYzKbMtQzDTNGM38zuDPxNCs0ZTSeNNg1EzVNNYc1wjX9Njc2cjau + Nuk3JDdgN5w31zgUOFA4jDjIOQU5Qjl/Obw5+To2OnQ6sjrvOy07azuqO+g8JzxlPKQ84z0iPWE9oT3g + PiA+YD6gPuA/IT9hP6I/4kAjQGRApkDnQSlBakGsQe5CMEJyQrVC90M6Q31DwEQDREdEikTORRJFVUWa + Rd5GIkZnRqtG8Ec1R3tHwEgFSEtIkUjXSR1JY0mpSfBKN0p9SsRLDEtTS5pL4kwqTHJMuk0CTUpNk03c + TiVObk63TwBPSU+TT91QJ1BxULtRBlFQUZtR5lIxUnxSx1MTU19TqlP2VEJUj1TbVShVdVXCVg9WXFap + VvdXRFeSV+BYL1h9WMtZGllpWbhaB1pWWqZa9VtFW5Vb5Vw1XIZc1l0nXXhdyV4aXmxevV8PX2Ffs2AF + YFdgqmD8YU9homH1YklinGLwY0Njl2PrZEBklGTpZT1lkmXnZj1mkmboZz1nk2fpaD9olmjsaUNpmmnx + akhqn2r3a09rp2v/bFdsr20IbWBtuW4SbmtuxG8eb3hv0XArcIZw4HE6cZVx8HJLcqZzAXNdc7h0FHRw + dMx1KHWFdeF2Pnabdvh3VnezeBF4bnjMeSp5iXnnekZ6pXsEe2N7wnwhfIF84X1BfaF+AX5ifsJ/I3+E + f+WAR4CogQqBa4HNgjCCkoL0g1eDuoQdhICE44VHhauGDoZyhteHO4efiASIaYjOiTOJmYn+imSKyosw + i5aL/IxjjMqNMY2Yjf+OZo7OjzaPnpAGkG6Q1pE/kaiSEZJ6kuOTTZO2lCCUipT0lV+VyZY0lp+XCpd1 + l+CYTJi4mSSZkJn8mmia1ZtCm6+cHJyJnPedZJ3SnkCerp8dn4uf+qBpoNihR6G2oiailqMGo3aj5qRW + pMelOKWpphqmi6b9p26n4KhSqMSpN6mpqhyqj6sCq3Wr6axcrNCtRK24ri2uoa8Wr4uwALB1sOqxYLHW + skuywrM4s660JbSctRO1irYBtnm28Ldot+C4WbjRuUq5wro7urW7LrunvCG8m70VvY++Cr6Evv+/er/1 + wHDA7MFnwePCX8Lbw1jD1MRRxM7FS8XIxkbGw8dBx7/IPci8yTrJuco4yrfLNsu2zDXMtc01zbXONs62 + zzfPuNA50LrRPNG+0j/SwdNE08bUSdTL1U7V0dZV1tjXXNfg2GTY6Nls2fHadtr724DcBdyK3RDdlt4c + 3qLfKd+v4DbgveFE4cziU+Lb42Pj6+Rz5PzlhOYN5pbnH+ep6DLovOlG6dDqW+rl63Dr++yG7RHtnO4o + 7rTvQO/M8Fjw5fFy8f/yjPMZ86f0NPTC9VD13vZt9vv3ivgZ+Kj5OPnH+lf65/t3/Af8mP0p/br+S/7c + /23////bAEMAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQICAgICAgIC + AgICAwMDAwMDAwMDA//bAEMBAQEBAQEBAQEBAQICAQICAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD + AwMDAwMDAwMDAwMDAwMDAwMDAwMDA//AABEIAU4BzwMBEQACEQEDEQH/xAAfAAAABgIDAQAAAAAAAAAA + AAAHCAYFBAkDCgIBAAv/xAC1EAACAQMEAQMDAgMDAwIGCXUBAgMEEQUSBiEHEyIACDEUQTIjFQlRQhZh + JDMXUnGBGGKRJUOhsfAmNHIKGcHRNSfhUzaC8ZKiRFRzRUY3R2MoVVZXGrLC0uLyZIN0k4Rlo7PD0+Mp + OGbzdSo5OkhJSlhZWmdoaWp2d3h5eoWGh4iJipSVlpeYmZqkpaanqKmqtLW2t7i5usTFxsfIycrU1dbX + 2Nna5OXm5+jp6vT19vf4+fr/xAAfAQAABgMBAQEAAAAAAAAAAAAGBQQDBwIIAQkACgv/xAC1EQACAQMC + BAQDBQQEBAYGBW0BAgMRBCESBTEGACITQVEHMmEUcQhCgSORFVKhYhYzCbEkwdFDcvAX4YI0JZJTGGNE + 8aKyJjUZVDZFZCcKc4OTRnTC0uLyVWV1VjeEhaOzw9Pj8ykalKS0xNTk9JWltcXV5fUoR1dmOHaGlqa2 + xtbm9md3h5ent8fX5/dIWGh4iJiouMjY6Pg5SVlpeYmZqbnJ2en5KjpKWmp6ipqqusra6vr/3QAEADr/ + 2gAMAwEAAhEDEQA/ALwNq7V+cHzM+cf8xXYmxv5inbvxr2B8a+2+utr7O2dtTr3Ym9cY+M3tsM5qaKKb + OHF1lBHQVuJkYKZKgyGpYkrpAJcqzzT3QFyyqrAAAL/CD5j59QJb2/OPNnOXPNjZc7z7fY2E8SoixCQE + SB/WRKU0fOtfLzMd/wANu/zBP+90PyE/9EL1V/8AXr279NP/AMp0n7E/6B6Pv6hc9f8AhVrr/smX/rf1 + 7/ht3+YJ/wB7ofkJ/wCiF6q/+vXv300//KdJ+xP+gevf1C56/wDCrXX/AGTL/wBb+ia/IHDb0+LG86Lr + v5Af8KJuy+s975DA0256bbOZ6G2HV5T+A1tXWUNHkaiHCy5MUUNXU4+ZYhMY3kEZZVK8+2pFMRCybkwJ + 9Qn/AED0Ed8F3y1eLt++e+UtvelA+g2pY6SSATolalaGgNCeNKdAZ/p82D/30z75/wDSd9vf/UHumtP+ + jo37E/6B6Jv3/Zf+F/k/7I5P+g+vf6fNg/8AfTPvn/0nfb3/ANQe/a0/6OjfsT/oHr37/sv/AAv8n/ZH + J/0H0K/SdTn/AJHdiYnqfo//AIUU9sdk9h5ulydfjdr7d+OO2Za6agw1FJkMpXTTVVNTUVFRUVLGS8s8 + sceoqgJd1U2T9RtCbkxb0on/AED0abPNPv8Afw7Zs/vlPcXz1oi2b1wCxJJkAAABNSQPz6Pj/Jr7V777 + AwPzR2Z393XujvjO9DfMPsHpTbu9t2Y/C4rI1O3dkUOMxscq47B0lNS0KZKsikq2hLzmJ5iokYAH2rgD + hXV5CxDEVNPl6AdCn2d3rfd2i50td93V7yWx3aW2R2AB0xdtaCtNRGqlTStK9XP+3+pn6pF+TP8APv8A + hn8VO9+xvj12PtTvSv3v1jlqLDbgq9rbS2lkMBPVV+ExeehbGVlfvvF1k8Io8tGrGSniIkDAAgAlLJdw + xSNGxOoU/mK/5eoX5h98+U+Wt63DY76wv2urZ9DMkcZQmgPaTKppnzA6Ax/+FN/wAjtr2L8lkve2vYmy + Fvb62v2UL2v7qb2FeOofl0SL95HkZ66dv3I/ZHF/1v6M72F/O++JXWvTHxZ7zzu0+7araHy6j33J1nSY + ram16nN41evd347Zec/vbSzb1p6TGmXK5ON6f7aer1whmbSwCm/1cWiOTOl+GOhPuXvNyvte08s7xc2d + 79Puol8JQsepfBcRv4gMoAyRTSWqP2dXGxuJESRb6XRXF/rZgGF/8bH2p6lsGoB65+/db697917r3v3X + uve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917 + r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de6 + 97917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuv + 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 + d+fy7u3aH+XL8A/nn8f9n762v8kujdl7fxHam3tvbczdF2Ocfht/5up667Do9sxY9c3JuXYGUkip6sGB + pp8RUwu4MFEb7lhcxW0qA+KqJUUzgDy41B8vSo6jXdfb3c4fbnkznnYbSWLfrQyCdVDCSgupTDMFp8Sd + oLUyhjaulCetrH+XV8s898w/jLtLsffmwd19Y9tYTTs7tzZu69qZzaT02+MRRUj12c29R52goJqvam6a + apir6J41dYBO1K7GWnc+1cTs8asyFW8wQR/h8vTrK3275tk5w5btr+7tZId1ipHcIyFP1AoJZQcaXBDC + ldJJTitSev250O+ve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v + 3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r//1jB9p9sdIdm9 + 39v9+UP8ur/hWX1Lu/u/cdDujfeL6V+KuN682vW5LGYekwlBox2O3VNW1ENHR0hMX3dTVPG00mlgraQl + a2jZ3ergsamhI8gP8nUT7p7R7Rue9bpvicx7xa3V44aRbedIkqBQYEJJAyRqZiCTmmOkl/fjrP8A7xE/ + 4WXf+iYn/wDss9++lT+OT/ej0k/1m7D/AKbfmP8A7K1/609e/vx1n/3iJ/wsu/8ARMT/AP2We/fSp/HJ + /vR69/rN2H/Tb8x/9la/9aevf346z/7xE/4WXf8AomJ//ss9++lT+OT/AHo9e/1m7D/pt+Y/+ytf+tPX + v78dZ/8AeIn/AAsu/wDRMT//AGWe/fSp/HJ/vR69/rN2H/Tb8x/9la/9aevf346z/wC8RP8AhZd/6Jif + /wCyz376VP45P96PXv8AWbsP+m35j/7K1/609djfHWgII+Iv/Cy8EG4I6YnBBH0IP97Pr799Kn8cn+9H + r3+s3Yf9NvzH/wBli/8AWno6Xwk/mB9V/BDaPYW0Orv5Rf8AwpO3xH2f2DV9mbt3B298DsVu3dFfurIY + ygxlfVvmMZ2Btx6n71ces0z1CT1EtQ7u0h1WD0caxKVWpqa5z0LeSuRdq5FtdxtdrurqYXU5mkadkdy5 + ABNVRONKkkEkkmvR1v8Ah+//AMEt/wA/n/03P/8Api93r8uhrX5de/4fv/8ABLf8/n/03P8A/pi9+r8u + vV+XXv8Ah+//AMEt/wA/n/03P/8Api9+r8uvV+XXv+H7/wDwS3/P5/8ATc//AOmL36vy69X5de/4fv8A + /BLf8/n/ANNz/wD6Yvfq/Lr1fl17/h+//wAEt/z+f/Tc/wD+mL36vy69X5de/wCH7/8AwS3/AD+f/Tc/ + /wCmL36vy69X5de/4fv/APBLf8/n/wBNz/8A6Yvfq9er8uvf8P3/APglv+fz/wCm5/8A9MXv1fl16vy6 + 9/w/f/4Jb/n8/wDpuf8A/TF79X5der8uvf8AD9//AIJb/n8/+m5//wBMXv1fl16vy69/w/f/AOCW/wCf + z/6bm/8A0xe/V69X5de/4fv/APBLf8/n/wBNz/8A6Yvfq/Lr1fl17/h+/wD8Et/z+f8A03P/APpi9+r8 + uvV+XXv+H7//AAS3/P5/9Nz/AP6Yvfq/Lr1fl17/AIfv/wDBLf8AP5/9Nzf/AKYvfq9er8uvf8P3/wDg + lv8An8/+m5v/ANMXv1fl16vy69/w/f8A+CW/5/P/AKbm/wD0xe/V+XXq/Lr3/D9//glv+fz/AOm5/wD9 + MXv1fl16vy69/wAP3/8Aglv+fz/6bn//AExe/V+XXq/Lr3/D9/8A4Jb/AJ/P/puf/wDTF79X5der8uvf + 8P3/APglv+fz/wCm5/8A9MXv1fl16vy69/w/f/4Jb/n8/wDpuf8A/TF79X5der8uvf8AD9//AIJb/n8/ + +m5//wBMXv1fl16vy69/w/f/AOCW/wCfz/6bn/8A0xe/V+XXq/Lr3/D9/wD4Jb/n8/8Apuf/APTF79X5 + der8uvf8P3/+CW/5/P8A6bn/AP0xe/V+XXq/Lr3/AA/f/wCCW/5/P/puf/8ATF79X5der8uvf8P3/wDg + lv8An8/+m5//ANMXv1fl16vy69/w/f8A+CW/5/P/AKbn/wD0xe/V+XXq/Lr3/D9//glv+fz/AOm5/wD9 + MXv1fl16vy69/wAP3/8Aglv+fz/6bn//AExe/V+XXq/Lr3/D9/8A4Jb/AJ/P/puf/wDTF79X5der8uvf + 8P3/APglv+fz/wCm5/8A9MXv1fl16vy69/w/f/4Jb/n8/wDpuf8A/TF79X5der8uvf8AD9//AIJb/n8/ + +m5//wBMXv1fl16vy69/w/f/AOCW/wCfz/6bn/8A0xe/V+XXq/Lr3/D9/wD4Jb/n8/8Apuf/APTF79X5 + der8uvf8P3/+CW/5/P8A6bn/AP0xe/V+XXq/Lr3/AA/f/wCCW/5/P/puf/8ATF79X5der8uvf8P3/wDg + lv8An8/+m5//ANMXv1fl16vy69/w/f8A+CW/5/P/AKbn/wD0xe/V+XXq/Lr3/D9//glv+fz/AOm5/wD9 + MXv1fl16vy69/wAP3/8Aglv+fz/6bn//AExe/V+XXq/Lr3/D9/8A4Jb/AJ/P/puf/wDTF79X5der8uvf + 8P3/APglv+fz/wCm5/8A9MXv1fl16vy69/w/f/4Jb/n8/wDpuf8A/TF79X5der8uvf8AD9//AIJb/n8/ + +m5//wBMXv1fl16vy69/w/f/AOCW/wCfz/6bn/8A0xe/V+XXq/Lr3/D9/wD4Jb/n8/8Apuf/APTF79X5 + der8uv/X3+Pfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvf + uvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737 + r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3XvfuvdQGyuLWsGObJUC5BrWoWrK + cVh1C4tSmTzm45Hp+nv3Xup/v3XuoFLlcXXSywUWSoKyeD/Pw0tZT1EsNjpPljikd47NxyBz7917qf79 + 17r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/d + e697917r3v3Xuve/de6//9Df49+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+69 + 1737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvd + e9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3QL9s/IDq/pc4yi3nnKiXc+fjlk21sTbOLyG + 6t+7mSBik0uF2ng6esy09FDINMlU6R0cT2V5VJALF1dW1lby3d7cxw2qCrO7BVUfNmIA/b1okAVJx0BL + fLnsCdnqsZ8Qu8qnELJIEmyGe6fw2aqIEtpngwFb2J5k8t7iOeaCQAG6g8e48m94fbGCf6d+cbUyeqrK + 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 + X1uLh15dtZmjghBop0EqZXAw0jmpqa6VIVcZJFeXDvI8YP6YP7f9X+qvQ1+4o6Q9RKigoKyehqauho6q + pxk0lTjKmppYKiox1RLC9PLUUE0sby0U8tPK0bPGVZkYqTYke1UF7eW0N3b213JHbzqFlVWYLIoIYB1B + owDAEBgaEVHVg7AFQx0ny6l+0vVeve/de697917r3v3Xuve/de6R+8Ovdidg0E+M3xs/bm66Koo58e8e + dxFFkJY6SpZXlipKueFqygJlRZFeCSN0kVXUhlBB3s3MnMHLsyz7HvNxauHD0jdlUsMAsldD4xRlIoSO + HTsc0sX9m5HXvjJujP7P39vf43bkzeT3LjNtbZw3Y/UedzdRV5HOjrvL5KrwOU2hm8vVySTZWo2NuKkS + KlqJGaWTH1sCOS0JPvoV7V87yc+8o228XUSpucUjQzhfhMiAHWo8ldWDU8jqAJAr0f283jxCTTQ/yr8v + 9WOjue5H6f697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de69 + 7917r3v3Xuve/de6/9Lf49+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737 + r3Xvfuvde9+691737r3SK7F7C2n1VsncfYW+MomH2ttbHSZLK1rI80uhWSKnpKOliDT1uRyFVKkFNBGG + knnkRFBZgPeiVVWZmAUCpJNAAOJJOAAMknAHW1VnZURSzkgAAEkk4AAGSScADJOB1rUfIr+bF3r2Jlcn + iuqa1+ptlfcSU9JFhBRS7yqqFGmRJstuyopq1qDJTgo7R4pII6Zl8YqKkanOCPul99bbNh3O62P212WH + c5IHKPeXDOtsWUkEW8cZDyqDwlZkRvwq6kN1019lP7uneOaNmsuZPeDmG42aK5jWSPb7VEa7VGAZTdSy + ho4HIOYFjkkWo1ujAp0UzE/Ov5d4fI0eTp+/+yp6iicSxx5DcdVlqGolVVWN8ji82MrishGgBJieDxOT + 6gRYCEtv++97u210Jdw2zZLq084/p5Iv2SJMWFPsPz6yN3T+7e9h7qyaHat65isr7yl+qhn/AGxyW4U1 + +0U8ug47t7x393xuubf3YO8MpuPc2SRKSoino4MbRYjF0MNMlBjMVBQSLj6fH/cLLMYaeKFGlcyyBpGO + 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 + Sbm7CrsZT8uNS08gtcgj3Xujye/de6CndHe3Smyaiso939uda7arsc2ivx+a3ttzH5GjfQJNFTj6jIpW + Qv4yDZkBsR/X3qorSuet0NK0x0iMP8v/AIsZ+p+zxHyF6frKmwPjXfu3YeDe3qqK+JObf19+Jpk4HXgC + 3DPQ5YDcu3N146PMbWz+E3LiZXeOLKYDK0OZx0kkTaZUjrcdPU0zvG3DAMSD9fewQcjrVKYPHp79+691 + 737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde + 9+691737r3Xvfuvde9+691//0N/j37r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+69173 + 7r3Xvfuvde9+691737r3Xvfuvde9+691737r3QRbm6B6N3nWHI7r6f613BkWqhWyZDKbK29VV81UF0ie + orJMeamok0i3rZvdxJIoorkD7emzFEx1NGpb7B0qcR1v13t/D5Db2B2Hs3C4HL0stFlsLidsYXHYrKUc + 8LU89LkcfSUUNLXU80DlHSVHVlJBBB91LMxqzEnqyoiDSigL8h1Vj3Z/J36b3/larM9X71zPUj1et3wM + mGg3ltulctrWPDJUZPC53FUygBEhetqqaBCRFEgsBC/uB9372p9yrqTcuY+WxHvL01XNq5t53zX9QrWO + QnzaSN3pwYdZEe1v3qPfD2gsYtn5S5wMnLyDss7yMXVtHin6QciWEDySKVErxQ9Als/+SHSU2RiqN7/I + Cauxsc0TS0G29gU1PWVEKsruseQzmfylDSu5XQfJQVSlCeAbEAbZ/ue+x203sd7Js9/eheEdzdM8RPkW + SNYi1PRmKnzU9SVv/wB/z7yW+bfLt8G/bbtpfjLZ2SJPTzCvM84Sv8SoHHFXU9XBdGfHnqj46bWfavVu + 248RBVvTz5rM1cpyG49x1dLAtNBV53MSqJ6toIRpihQR01OGYQxRhiDkpt+32G02Vttu12MNtt0K6Y4o + kVI0UeSooAA88DJycnrD7dN13TfNxvN43rcZ7zdrh9cs0ztLLIx/E7uSzGmBU4AAFAAOhI3js3a3YW1s + 7sne+Bxm59p7mx1Ric9gcxTJV47J4+pXTLBPC/0IIDI6lZIpFV0ZXVWCzpB0R3bG8N1/DLceG6s7fzmU + 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 + vfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+6917 + 37r3XvfuvdBJ253r1R0XhYs52hvLG7ahrDMmKxzCoyO4M7NAhklp8DtzFw1mbzM0aga/t4HWO4LlQb+3 + IopZ5EhgiZ5mNAqgsxPoAKkn5AdNzTRW8Uk9xKscCCrMxCqoHmWNAB8yeq0N+/zOd4ZSWopum+oaTEY/ + TH9tubt7JvFWzamUySQ7G2lUVM0YERbT9zlYHEgGqLSfco7F7O84bwqTXUMdjbNQ1mPfT/mktWH2Np6i + HmL3x5H2J5be0uJNwvFqKQAeHUeRmaiEV801/sz0VvcHy7+W+5njep7yl2wiO+ui2HsPZmHo5oGcMI5J + 8/jd1ZdZlUaRIlUnHOm/uRbL2D21NB3HmKeQ0yI40QV+RYuafaoJ+XUW7h95HdXDrtfK9vH3drSyvIaf + NUEYr9jED59JE98/Itn8p+RPb/lvq1DN4ZYtX0v9qu3xS6f9p0af8PZp/rE8qU/5Kd/X/TR/9a+ij/gi + +cv+jRt3+8y/9bep9V8kPklkcJndsbk7Wo+yNp7joWxOX2h2t13sjde3K/EzWFXR1aYrF7Zy9Q9SnHke + rbQbFVDAMC2+9g9qcE7bzDcRtQ0EiJIK+WV8MgeuCejTb/vIbxHQbryzbSjUKmKR4zp88MJAT6ZUdCJ8 + cfm92x8duu81sHd+0Zu5cLiIclN1dPjdzGjy+1aRad/4NsfLf3jinr8vtmiqEVYav72etpKdhCsUyomm + O979mucNqWSazjivrdc/pMQ9P+ab0J+xSxx9nUocv++3I28vHBfSzbdctQfrqDHU+XioSo8suEGft6LJ + n987l7d3VX9kdibkO7t81heKWd45abHbSo5SJE2vtTCTs393cHRhgAoHnqmHmneSRi3uZ/bDlTlbarEX + llPFd8wKKTSEEPCxpWNYnAeIDhqZQzkE1A7RA/u7znzhvG4tY39tLZcssawRqwaOdR/orTRlo5iwNdKu + yICBQnuOH3LXUK9e9+691737r3XvfuvdMVTgqar3Djs/UpTyy4jH1tJjw9OjT09RkJac1NUtQ12Q/b0y + xqFsQGe5IIAD9zsEV7zLt+/3XhuLS3ZIl0DUJXYapGfidKDTGv4SWYZPQntOZZrDlPcuWrPxUN7co8za + zoaGNTpiVPw6nOuRvxgKpwOn32IOgx1737r3Xvfuvde9+691Fgoqammq6iGILPXSpLVzfWSd44xFEHY8 + lIYxZF+ij6fU+0FntdlYT7hdW0VLm6k1yuSWZiAAo1GpCIBRErpWpoBXozv943DcrfbLO7mBtLOLw4kU + BUUEks2laAyOTV5KanoNRNOpXtf0Wde9+691737r3XvfuvddEAggi4IIIPIIPBBH5BHv3+Dr3oQc9Hn+ + DXyx2P0bNnule396Y/aOxa8x7o6oymeepixWIr8jkpKbdex4axKWWmoKA1tRDkaRZZEji+4qRdUCD3hp + 7rcqQ8s8yl7CLTtt4hmRQMIdVJEFOCq1CvorAVx1nf7N85XHNvKiruMurdrKQQSMeMg01icknLsoIb1Z + SaCvV1O39y7c3bi4M3tXcGE3Nhaq5pcvt/K0GaxdSFNmMFfjZ6mkmsfrpc+4x45HUtcOPT37917r3v3X + uve/de697917r3v3Xuve/de66JCgsxCqoJZiQAABckk8AAe/de6j09ZSVgZqSqpqpUOlzTzxThW/oxjZ + gp/1/fuvdEo+R38wr42/GTJS7e3ruWtzu7aZ/HkNtbRpqTIVWFY06VKrnslkK/F4PF1Jimjb7Q1L5Axy + rIKcxnV7FXKPI3OfP24naeSuV77dNwABZbeJnCA8DI+I4gaYaRlBOAa9DfkT209wvc/dG2X275M3Hedz + UAulrC0gjB4GWTEUKmmGldATgEnHRYuv/wCdF8W925iHEbgxm79oCpqxBFko3wG66KnpiQor8hT4DKy5 + tIQ5AZKWjrJVB1FdAZlHnNX3d/e/krbZN55k9tNzh2pF1PKiLOkYoSTJ4DSGMAAlmcBV82GOpP53+6b9 + 4/262iXf+bfaHdoNkjTXJPEqXSRKASWm+meZolUAlmdQi/iYdIr5W/zmOsuosj/dzpnF4zsetMPkXeGS + lrX2vVPeNWOBxGLlpMtnqCnkLxS1c1RjaZpo3Wnap0MQcezn3avdD3uiuNw5VsYLfl2JyjXt27RQGQUr + HFpR5JnUHu0IVTAd1JHR99377n/vL946C63bkzb7az5SgkMb7jfSNFbNKvxRQBEkluJF/H4aeGh7XkVi + AQM6K/no/wB592UmD7Z6zxq4qukAeu6/os/S5jG00YZqmpgwmWyW44twmnhUyvEtVQyCNGEYmeyEb+63 + 3NPdX2o5Yv8AnG9vtq3Hl60Aad7eZkkiUkKGMU6RlxrZVAiZ5CSKJ1Ivvf8A3fXvZ7Icm7lz/f7nsu7c + rWKhrp7Wdo5YEJChzDcpH4il2VQIXeUsRSM8eu+8v56tNtvdOSwPUfXGFqsdi6yWnGT3o2UzFfXrEfGw + qcVtzKYWhwNRruwjGQyDqvplWKQFAr9uvuR+9HP+zWnMFzHY7JtdwoaIXzyLcOhFVk+njjd0VvLxTG5B + DBCpB6MPaj+7i+8J7n8vWfNN6m3cubRcoHgXcXlF1JGwqsn0sUbvEjDK+O0chBDCPSQSJPxi/nYbK7M3 + JR7V7l2pjtnfd8Nu3bT5GPHY0mRA1Vlds5ibIVyYSjictUVdHX100KI0slMkKtIoS93fupe7Xs5trcwb + 3Y21/wAsKQHu7J2lSGpov1EboksStjvKtECQpk1GnQG9+PuP++fsDs7807/t9puvJqECW9293lS31Gi/ + VROkc0Kk0Hi6XhBIVpAxp1etBPBVQQ1NNNFUU1RFHPT1EEiSwTwSoJIpoZYy0csUsbBlZSQwNx7xs6w/ + 6y+/de6//9Lf49+691737r3Xvfuvde9+690DPcHyA6o6KoaGq7G3RHja7LmVcDtvG0Vdnt27heEgSjC7 + Zw1PW5ethhdlWSfxLTwsyiSRdQvZVZ2VEUlzwAyT9g6vHFJNIkUMbPKxoFUEkn5AZPRSqX+Zl1BJVRLX + dWd/YvFyyxoc1NsvbeRihjkJC1EuGwG9sxud47KSUioZZh+Uvx7MH2bdkiEz7dMI8/hPlxqOI+0gdHD8 + tcwxxCd9luREfPQSf95FWH5gdPnZv8w/pzAYXEN1C8fdm68/i5MtTYjB5FMHiNsUK1D0cc/YWZydM1Tt + Srnq4pEixppJsrN4mYUyxjye2bLb7zcZvAs4C8g4+QA9STgfn0m2vaNx3m5+k262LygVPkFHqzHC+mck + 4APRdcL/ADKO3Ycoj7o6I2NW4EVCioh2b2blpdyfaEtrfG0+5dlYXD19Uii6xTVVH5GsoYE3B9PydvUM + RkVYpKcQrd37CAD+RPQquvbnmO3hM0YgmIFSqOdX5alUH8jX0HS43l/M3w+RpMfP0T1hkt601TSrLWbi + 7EysvXOCoq9Y4zV4OlooMVuXceYyGNqWemqZ4qVMelTEyR1EyguC3bdi3Ldataw0hBoXY6V/LzNPOgNO + ibZuVN731TLZWwW2BIMjnStRxAwSxHA6QaHj0nNnfzLN602Qpz2p0fjE29JJorsl1VvKu3TncVEWA+9O + 1Nw7c23NmaeMG7x0VVLVaAWWJyAjK77lXeLGJp2iWSICpMZ1EfaCAf2A9GO58hcw7bC9x4KTwqKt4TFi + APPSQrH/AGoNPPq07Zu8tr9hbWwO9tl5qh3Ftbc2Op8rhMzjpDJS11FUrdHAYJLBNE4McsMipNBKjRyK + rqygOdAvpTe/de697917r3v3Xuve/de697917r3v3XuiLfMT5gQdC0dNsLYVNQbi7q3Pj2rcbRVwebA7 + FwUkj0/98d3rDJHLKjSo6Y7HI6TZCeNrtHDHJIBHyvyvunNu6R7XtkfzkkPwRJWhdj/JVGWOB6gLc4c4 + bPyVs8u77vLj4Y41p4k0lMIg/mzHtRak+QNIWVrMxuTcWQ3nvHO5XeW9svb+Kbs3FOtZl50AULRUjLHF + TYjD09rQUVJHBSwLwiDm+YfKXImw8nwKLC3Em4Ed9w4Bkb5L/vtf6K/mSc9YN86+43MnPFwx3G5MW1g9 + ltGSIl4fFwMjeep+B+EKOsfsZ9APr3v3Xuve/de697917r3v3Xuob4+ikrYci9LCa+COSGKrCATiGXl4 + TILM8TMNWk3Abn6+0Em1bdLuEG7PZp+84lKrKKh9LChUkEa1pwD6gOIoc9GUW87pDtdzssd8/wC6ZmVm + iNCmpTUMoIOhqjJTSWGGqMdTPa/ot697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de + 697917r3v3Xuve/de697917r3v3XuoslHTS1UFbJEGqaWGpp4JCW9ENYYGqU030MJTTR3uDbTxbn2hn2 + zb7m9t9wuLRHvYo3RGbNEkprWldJDUFag8MU6Mbfd90tLC52u1vpI7CaVJHRSBqeMEI2oDUCoJA0sKgm + tenPZ+W3N1pmv7zdVbpzPWu4tXkkrdrTLT43IsPH+1uHbUqybf3HSP4VDR1VO5sBoZGAYAfmT2s5T5iS + V0shZ7iakSwALk+bx4RxXjhWOe7qQuVfeLnTliSKOS/a/wBsWgMNwS3aPJJcyIaYGWUY7cdXI/Ez5xU3 + b2UpOrO26LE7R7beleTA5DFyTRbQ7MhpI2krJNvLWs9RhdzUsEZmqcRNLMxivLTSzRrKIcWObeTd55Ov + VttziDW0hPhTLlJAD5H8LAULIe4V8xnrMPkvnvYeebBrvaJit1GF8aF8SRMR5j8SVqFkXtankcdWIewn + 0M+ve/de697917r3v3Xuiq/L/wCVG0viZ1RWb8z/ANpW53ISTYzZ2AqqiWniymVjp2qamsr3pop6qHB4 + SlHnq3jQu944I/3p4gT/AJV5X33nXmPZ+U+WbBrrfr+cRQxLjUxqSSThURQzu5oqIrMTQHoU8kcl8y+4 + vNvL/I3J22NeczbncrBbxLjU7VJZmOEjjQNJLI1FjjVnYgA9ad3yD/mCfInvzcNVkM1v7OwYpaqqfGYu + mqZ8bhqKGaZgFx+1qSpbBUEElIEiZZ0rqllH7tTK1mHX/wBrfuHe1nK+22tx7jI/MPMrLWRTJJDZRsVy + kUUbJJIENaSyvVqAiNB29d7PZf8Auy/ZPkvabG791o5OaubygMoaSWDb4nIFUhgiaOSVUNQJZ3Jemrw0 + B09APtL5Gdx7Hy9Hm9tb1yeHraGpSsp3w0h20y1cbiSOpFTtY4OtFRGwureQ2Jva9vcm799zr7uu+2Et + knt7HYStwms5p4pkPqpaSRD8w8bA8CKdTHzT9wf7qPNO2S7ePaq32yZvhuLCae3njPqp8R42+ayRup4E + U6SnZe+5OxM3TbgqTmTkJqMyZk5jLSZc1WfqaiWoy2Xp6iYCcy5mof7ipklvNNUOzsSTf2OPY72nX2X5 + PueS7e/trqxS9lkhnjthb3EkL0ZRfMrMtxcoxdfGUIpiEahBpPUj/dv9j4/u98gXPt3a7lZ3m2x7hNLb + 3EVotrdSwSaWT95Mrst1eI2tDcIsSGERII10noPo5HhlimiYpLDIk0Tr+pJI2Do6/wCKsoPuY2AZXRhV + GBBHqCKEfmOp9YBkdGFUYEEeoIoQftHTjmczk9wZGfLZireuyFSIxLUOkMV0hjWKKOOGnjhp4Ioo0AVE + RVH4Hsi5Z5Y2Dk3Y7HlrlfaorLYrYMIoY66U1u0j0LFmJZ2ZiWYkk8aU6DfJ/J3LHIHLm28o8mbLDt3L + VmHENvFq0R+JI0r01FmJaR2YlmJqeNKARqGvr8ZUpW42tq8fWRB1jqqGolpahFkQxyKs0DpIFkjYhhex + B9mO4bbt272ku37tYQ3Vg5UtHKiyIxVgyko4KkqwDKaVDAEZHRpuu0bTvtjNte97Zb3m2SFS0U8aSxsU + YOhKOGUlHVXU0qrKGFCB1EAA4HA9rSSSSTnoxJJJJOepdBWT46uo6+mdo56KphqYmQgMGhkV7AkMLOAV + IIIINiCOPaHdNtst52zcdn3K2SbbruCSGWNwGR45FKMrKcEEE1HRbvG07dv+0brsO8WcdxtN7bSwTRSA + MkkUyNG6OpwVZWII8+tiP4J/ze6rblZtXpztyjjquuMTRU2AwGeqIVg3XtXb+OjhpsaZ62nqZ6TeFFha + BSKiOSGmyApYDLHJUyAwHih75fcw519n+X5OcNo3iLfOV4ADctHE0U9qCaCR4iXDwDAaVWqhNXQL3dfO + 395P+719wfYfle4595d36LmLkq2FbsxwvDdWSFqCR4S0gltlqoeZHDR/FJGEq42ZP4ti/wCFfx3+IUf8 + F/h/8W/iv3EX8P8A4X9t95/EPu9Xg+z+0/c8mrRo9V7e8NeufHz8uv/T3+PfuvdInsfsLavVGx9y9ib2 + yIxe19qYybKZSqCGaZkQrFT0dFTqQ9XkcjVyx09NCvqmnlRByw9+69xwOPVFnbXyd7u7qyFXNkt1bh6x + 2XUGRcZ1psHOTYGrpse0pem/vvvbCzR53PZ+SEIamCgqaPFwsWg0VIBlcf7NyaJokud1dl1AERrg0/pn + yr/CMjzNcdS5y97cRzW8d3v7uHcVESHSVB4a246v6K0p5kmo6LzSYqnx9VHX46u3PjMpFJFMmYxm+d9U + GYSaFg6zx5GDcq1Ec7MLs6kMST9PYjblLYWQILQg+odq/mamvQvfkPlV4zH+7NOPiDuG/bq4+uOucy7h + ye7M9vDdW79w74zecx+ExgzO7645XcFBjcHDLTU2FhymiES4cR+OXSyCaSpMkszyu2v37ZuX02a7upIn + WSF1GksP1FI4rUY0kZJABrTy6vy9ytBy7d3r2zJJbyAaWYfrLnKavhKUyCArE/FUU6n+xJ0LOsEVNTQT + VtRBTwwT5KeGqyEsSBHrqqnoqfHQVNSR/nZo6GkiiDf6hB+bkpYLO2tpbqaCILJMwZz6kCn5fYMVJPn0 + lt7G1tZbye3hCyzuGkI/EwAUH5YHAYrU8SepAJBBBsRyCPx7UkAggioPSkgMCrCqkUP2dcFVI0SONI4o + okWOKKGNIYYo0AVI4oYlSKKNFFgqgAD6D3SKKOCJIYUCxKKADgB6DqkMMNtDFb28SpAigKqigAHAADgO + uQJBBBIIIII4II5BB/BB9udOdDz8ffk32h8c58lhMZjMB2B1TmNx126avZMkdbht8YTI5lKZ9wNs7cc+ + SqMDWrW18ElYmOrKamjmqqiQCphLkmM985SulkvL+xCNCXLeGoIZV4mnkfMkCmOFeHUNczcgX7XO47pt + bRvCzlxCAQ4By2n8LZqdIp6CvDq9DrvsHavamydu9g7KyIym2d0Y9MhjaoxPTzoBJJT1VFXUsoE1Fk8b + WwyU9VA4EkFRE8bC6n2BeoqyMEZ6Wnv3Xuve/de697917r3v3Xuklv3eeG662Ru/f24Z0p8FsvbWa3Rl + pnlSFVoMHjqjI1IEshEaO8VOVUnjUR78cCvWwKkDrWHyG5Nw773BuPsjeUzVG8ewstNufPu0hlWj+6AX + D7fpGP6MXtfCrBQUyD0iOC/JZic1/bPlaHljliz1Rj953arNM3nVhVErx0xqaU/iLHz6wD92ecJ+bebr + 7RKf3TZO0EC17e00kkpw1SOCa/whR5VOL3IXUY9e9+691737r3Xvfuvde9+691737r3Xvfuvde9+6917 + 37r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9 + +691737r3USrgqpRTz42vqMPmsbWUmW2/naMha/AZ/GzpV4jNY+U8xVeOrYkkUgi4BU8E+yHmfl605p2 + S92W8XEi1RvNJB8Dj7Dx9VJHn0JOUeZ73k/f7DfrFjWJqSL5SRH+0Q/auQfJgreXWxx8YO4X726M2F2R + WRw0+dymOqMZuyigXxx0W79u11VgdyRRwGz09PNlcdJPAjAMKaWM/n3gVcW8tpcXFpOKTxSMjD0ZSVP8 + x10etrmG8tra8t2rbzRq6n1V1DKf2EdD77Z6f697917pl3FuPAbRweU3NujMY3b+3sJRy1+XzWXrIKDG + 46jhF5Kirq6h44YoxcAXNyxAFyQPfiaZPDrxIAqTjrVD/nE/JrZnyFz2zk6k3DW7h2NsnCT4bN1tVjcn + hqF89mdw09d5sLBl4qKpr46qkxVKJJVhF1i5uFBGf33BOV7u2937rfN82C7hibYLhrGaWCVIpHM0CStF + IyBCfBZgCDkE0JBPXUj+6+5I3Gy9+L3mXmXlS/t7d+V7qTbbme1mjhkc3FtHM0EroEY+A7jUrZVjQkE9 + UZ++xPXfXruxHJBH+w97KkCpBp16hHl1heeCOSGGSaGOapMgp4XlRJagxIZZRBGzB5jFGNTaQdK8nj20 + 0sSPFE8qiV66QSAW0ip0g5agyaVoMnHTLzwRywwyTIs0hOhSwDPpGptIJq2kZNK0GTjrlLLFBHJNNJHD + DCjSyzSuscUUaKWeSSRyqRxooJLEgAfX3uSSOJHlldViUEkkgAAZJJOAAMknA6tLLFBFJNPIqQopZmYg + KqgVJJNAABkk4A49RhkscauDHjIUJr6qlatpqEVdOaypolIVqyClEnnmpVZgDIqlAT9fbAvbI3MVmLyH + 6ySPWsetdbIOLqldTJ/SAK/PpMNy203kG3jcIPr5YjKkXiJ4jxjBkRK6mQEgawCvz6me1XS3qPPWUdKw + Sqq6amYwz1AWoqIYGNPShDVTgSupMNMJFMj/AKU1C5Fx7Ymuba3YLcXEcbaWajMqnSlNbZI7VqNR4LUV + IqOk095Z2rBLq7iiYoz0d1U6EprbuI7UqNbcFqKkVHWdWVlVlYMrAMrKQysrC6srC4ZWBuCOCPbwIYBl + IKkVBHAj1HT6srKrKwKkVBGQQeBB8wen7bEVfNuTAx4sSnIHMY56QwMElSWOqil8quxCxiJULMzWVVBL + cA+w3znebJYcn813vMskKcvR7bcm5MuY/B8FxIHBBqGUldNCWJCgEkDoJe4F/wAubXyHzruHOEsCcqxb + TdtdmanhfT+A4lDg1BVlJXTQ6iQoBJA63fNrtWp/K/qZcvOszH4dbvqIpkYm2Fk6vzc+EUt+ryQYJqdW + /IZT7+Zvt0cDopw86f56dfHgDBSpRvpvSvdo9K/xacV9ev/U3+PfuvdU7/zCPkl1dvrE9f8AS/Xu9cfv + LccPdO3q/fGM29BlMph6HGbWxu4a00+T3FR0b7Zapxu5oqKVqUVjVENTTxlkUj2a7LCku67cJkrbmdQT + 5V4gE8MkcDx6EPKtstxv+z+NETa/UqCaHTqyVBPAEkCgJz0Qr/efc49ZM9e9+691737r3Xvfuvde9+69 + 1737r3Xvfuvde9+6917/AH3H1/2Hvw4inHrYrUU49Wyfyz56qbp7spVfXhYO8t5xYj9xnVKg4jbEu40p + gGeGOkO5ZapgEsPM0pIDFvcF7z4P723L6engeM1KcOOafnXrGDmb6b+sO8/R0+n+oalOFa91Plqr1Yz7 + LeiPr3v3Xuve/de697917okf8wPdmDxvxX7m2+25sDj9x5Ta9DFS4WrzWOpMvkcfPuPCx5OKkx09SlZV + rPizOpWNGLAkC59u25i+otxN/Y+Iur/S6hWn5V6ZuRKba68H+18J9Ppq0nTX5Vp1RiQoJC2CjhQPpp/s + 2t+Le+ia00pp+Ggp9lOuXz11vX4tRr9tc9e976r1737r3Xvfuvde9+691737r3QKfIPe3b/XnVuY3V0V + 05/p67Jo8hhafE9Z/wB68Vsr+LUNbXx0+Xrv7w5maDH0v8HoWafQzapdOlbk+ynfLzdLHbpbnZtq+tvw + yhYtYj1AmjHU2BpGfn0dcv2Wz7jukNrvu8fQbaVYtN4bSaSBVRoXJ1HHy6qIl/mk/OmDvqD4wy/y2KRO + 96nZP+kWDr7/AGYLaxrJNl2lP8cGZVDtpYrQt+0a0VHH+b+nuLz7i85Dehy8eQR++DF4vh/UpXR/Fqpp + /LVX5dS6Pa7kVthbmce5DfuITeCZfpHp4n8On4/Pjpp8+lz8n/nL8weouuPhXuTcXUO3/jv2N3p8rV6g + 7I60ztfge1Pt9gPWYGDHZDF7gxlS9DSV+ZpsjLIGjYyQkAEccrOYOceadsseU57ja0sb683HwZYmKzfp + 1UAhhgFga4yOkHLHI3KG77jzpbW+7ybjt1jtX1EMyhoKy0ckMhFSFKgZweroxWY+auyVBR19DVVeKmMW + QoqatpqisxzMxESZClhleoonkA9IlVC349yzrjLyIjgspyAQSPtHl+fUMaJFjikeNgjjBIIDfYeB/LrF + W5DH4yOKbJ5CgxsM8y00E2RraWginqX/AEU0ElXLCk1Q/wCEUlz+B707pGAZHVQTQVIFT6Z8+rJHJKSI + o2YgVNATQeppXHz6maWvp0tq+umxvYi44+vI936bqPXqL95RffnFfe0f8VFP92cV93T/AMTFJx/lZx/k + +8FLz/nNGjn6+6a01+HrHiUrSorT1pxp8+r6H8PxtDeFWmqh019K8K/KtevR1tFNWVWPhraKbIUCJJXY + +Grp5a+hjlIEUlbRRyNU0iSk+kyIob8e/B0LtGHBdeIqKj7RxH59eKOqJIyMI24GhofsPA/l1xrq+gxl + OKvJ19DjKQypAKvJVlNQUpnkNo4BUVcsMJmkP6U1am/A9+d0jXVI6qteJIA/aevJHJK2iKNmelaAEmnr + QVPUyxNrAnUAy2F9SsNSstvqrKbg/ke7dV6ivW0UddDi5K2ijylRC1TT4uSrp0yVRTJfXUQY9pRWTU6W + 5dUKj8n3UugcRlx4hFQKipHrTjTqwRzGZQjeEDQtQ6QfQngD8q9Sfduq9e9+691737r3Xvfuvde9+691 + 737r3Xvfuvde9+6912BcgDkkgW/2PvYyRnqrYVjSuOroP5ZGLraL4xLk6lZBR7p7S7S3FhZJAymfETbo + qMZFOqNZkjkq8VNpuBcC/wBCCcBOa7qG+5n5hu7dQsEl7KVApSmsjFMUNK/OvXSfk6zn2/lLlmyunZrm + KwhDFq1roBoa5qK0NfTqwn2QdCTpMbm3tszZdOlXvHdu2dp0siyNHU7lz2LwcEixDVKY5cnVUqOI15ax + Nvfuvda5v84r5kbb35tnZewei+y8HvLbGNFduDeWQ2Vl0ymNptxtksVittivrqRjQ1UuNpKisnpPFJKI + at1lYCSOJkyt+5lyFyz7ge9+2WXNUMM+3WFlPerbyAMlxNCY1jVkIIdIzJ4zIcMIxWoqDm//AHe/tjyf + 7o/eO2qw52ggudq2vbrjcI7SYBo7q4gaJIkZDiRIjKbhoyCreENQK1B1uHZpJHlkZpJZHaSSSRmeSSRz + qd5HYlnd2NySSSffdpe1FjQUjAAAGAAMAADAAGABgeXX0uqAiLEgCxKAABgADAAAwABgAYA4ddXtzciw + JuLXFh+oXBF1+vv1aZr1utKmv+r1/LqrLr7dtP1FubdUW3Yeve/N+VHX/bu8Md2fsHd24M9vCv8A4IzZ + 6loe29sGevoqFsrUtDRUrUlSxL03igiTUQvPjkvmSD2137mKPY4tl5x5wfZd5vY912+8ubi9k8Am4SPe + LUtJHH4zaIIjDKe6Lw4Y0qQOVnt7zdb+0PM/NcXLsPLvP/PsnL+/7hDve1bhd3W4S/TE3UcW/wBlqlji + M7mO2gNvOSWhMUESaiFWVbndx9gZ34xZHb3em2N3bortwdsVTb527tbAVeO2rPU9LfxWr2wm3KXJPSSV + VFHOfGa+RqmKOdfMkjLyKbrd985z3f2Cvdk93dv3PmCW93hzf21pbvHaM2x+K9qLZJShdAx0G4Yyqsg8 + VXK0Izvd95k9wd9+7BuPLvvtte8c0T7jvznc7SxtZIbFn5c8eSyFmkxjMkYc6PqmaZFlXxkkZc8U7q7R + 3/s3K1ldldq02HxfxEPbm7MBJtGmydHvPcGRn7T21VYuZ66ub+F7arP7rQTzU6LLI3MayKhfVRPdT3B5 + y5W3G5u9w25Nst/bT983lubJJUvbmRt2tXiYySHwrV/pI5HjAdjmNXVS2qsfvZ7p+4HJu63l9uu1R7Pa + +0H7/v7U7ek8e43czb5ZyQMZZT4FnJ9DHLJEod2zEsioX1BDuug3qIPk52Ti960W38vtjZ3x8NBkMVtC + hp8xt3bmc2xtrK1mK2/uOCvjyu2cDj6GaYVUdOyxVMep5gPV7jXmKy5q8H3856sOaobLctv2vlzw5IrK + NZra2ntbWZ4be5WQTWtvHGz+KsZCSrqeUceof5ssOdRB9573K2vnaDb932vZuU/Cmg2+JLizs7mysp5I + LS8WUT2VrFE0gnSErHMmt5gO7of8v2/vyXsmm68ou3tu5/G7r2FUUeycxsDDbKz9XkNxHr/L7kq9z7xw + lPn/AO8+2YXngSbGTUEc+Klh8aSSLLJq9zJufubze/PcHJNr7l2N5Y7js7JYTbdBY3DyXP7umuXur2Bb + j6q1UsqvavbrJaOmhHcSPXrIHd/eHn2X3Ktfbuy94Nu3Dbd22B49tuNqt9tu5Jbv903F5Je7jbJd/W2S + llWSyktVlsZI/DjlkWWTV0DT71yeb6L2BBld3YLsnIZv4t/Jepye6paCjn3Pt2twe1esPNtKXNR11bWJ + kKWbJOMq07LU1jiIzKpRbxc3NV/uvtHyZDuPMlnvt5d+33NDS3ZjRrq2eC02qtmZxJI4kQyn6suRLMwj + MqqUFYYbnbc989ifb+Ddub7DmXcL72r5zea+aKN72zktrHZNVg1yJZZBKjTML4ykTXDCIzKpQVs72YQd + nbSsQR/djAfQ3/5dNH7z85YBHLPLdR/yz7b/AKsp11D5MBHJ3KNR/wAsu0/6sR9ChtTeGU2bLlarD0+L + auymJqcQtfkKBK6pxcFWNFTUYryv4aasmhJjLsj+gkW9kXPft5y97j2W07VzT9TLslrepcvbJKUgu2jq + UivIwD49uHpJ4JIVnVdVRUEPe5Ptbyr7sbfsmyc6C6n5ds9wju5LNJTHbXzQ1McG4RAEXVqsmmU27EI0 + iIX1KCp2cfhJ23uHeH8qH5ZY7Jyipbrnpzu9NvmoiSaCmx+U6dzWbkxgp5GkpjRwbjWumigWNIYqeoSE + LZOeK3M3tzy5sH3wofbaOzV+U35z2+HwCDpFre3NtI1vxroWOcxDPwjr52ucParlLln7/MHtLBt8cnJD + +4W12/0xroFpuF1ZTPa0rXw0jumgGfgA6//V3Ef5hW+tx7M6EpMZtuvq8VL2T2JtLrTM5THTSU+To9s5 + 9MrX5+PH1MTLJSz5XHYZ6FpVIeKGqdkIcKQrsLZby+tLVn0rJIqk/InP5+Q+dOjHaLNNw3XbbCR9Mc0y + oT6AnP50wPn1TDQ0lLjKGlxeOgiocbQwR0tHQ0q+KlpqaL/NwwxLZVRfr/Unk3Jv7nWC3gtYUt7eFUhX + gAPTz+Z+Zz1lFbWttZQR2tpAsdsgoqgYFP8AL6k5JyT1I9vdP9VwL85N2bo+TfYfxE6w6823uTuHZncd + LgqlslmMvS7a2f8AH7GbK6/3RvDuvsOop4vuI8g+Z3ocJgcRQtryeQVC7RxJM4I/3tJJfz7bbwK1yktM + k0WMKpZ2+dW0qo4n5V6DH7/ml3W52a0tka9jnpknSsIVGaV/nVtKKPiPoK9GNk+WnSCUWHyP8dzP2ef7 + c7c6PxjnbmS1y9idH7c3xuvsTGzJo/YoMbheusq8FW37NU8SJGSZF9rf3laUVtZoZHjGD8UYYsPsAU58 + +jP98WGlG8RtLTSRDtPxxKzOPsARqHgfLj0GOB/mH/GTPbY3bu85fsLb+D2r11srtikk3b1ZvTbddv7Y + PYubp9q7Jz3V2Kr8auT32m4t5VcWFpoaSLzS5OWONFZHSUsJvdg8ckup1RUV8ow1KxopQUq1W7RTz6Sx + 8y7VJDNPrlWNIlk7o2UujnSpjBFX1NRQAK6iB5g9Bnsr+YltWMd65ntbbe/tt0O1/kPSdMdQdbU3VO6K + bvPPJD0xtTs/cVFn+u555cj/ABnb4r8lV1U5NPSxYyGJgzl4zIni3uP/ABxrhHULPoRdB8Q9gc1X1GST + gU6SQczQ03B7uORVS5EUaeG3in9JZGBTjUVYk4AUD8xM3D/MR+L+3qbCZP8AvBvfcO3cx191t2zVbv2j + 1pu/ce0dqdXdr5SfB7P39vjPUOPNJtPb0uapzS1RqrVNLMwVoTZyih97sECNrdkKK9QrEBHNFZj5CuDX + h0rl5l2mIRv4kjRNGkmpUYqschoruQO0Vwa5B8ujxOjRuyMLMjMjD62ZSQRx/Qj2bdH5xjrj791rrDUR + NPTzwJUVFI80TxLVUbpHV05ddPmppXjlWKdAfS+klDyLEAhi5hNxBLAJnj1impaBh9hNfs6T3dubu1nt + hcPEXUjWhAZa+akg0PlXy8s9He/lr5uTaHb2/eqcHEtHsrdHXy9htho5KyaDF7w2/uOg2/XZal+4qZxF + JufE56L75z6p56CJz6i7NFHNe12+2X0AtE0wSRAgZwV7Sa/PB+2vUC8+7NZbNutpHYR6IJbcHTUmhUlC + c5q1ASfM1PEnq6X2F+gP1737r3QK9799bC+PWyn3lvmqqJGqqpcVtrbeKjSq3Fu3PTI0kGGwVC8kSyy+ + NGknmkZKelgVpZXVFv7UWlpc391BZWUDS3crBURRVmJ8gB/qAyek15eWm3WlxfX1wkVnEhZ3Y0VVHEkn + /UTgZ6pA7e+WfyA7tqKqHIbsruq9lzSv9tsLrPKT4yuaj13ih3P2DAlPuPMVhQDy/YNjKS4sI2F2bIrl + X2OgEUV5zbduZiAfp4jQL50kkySfIhKD+mfLF/nH7wk/jTWPJVkghBI+pmUsW8qxRYAHmGkJJ/gHmVVt + lbWeWvqnwtJPkMklStZlazzV+WlarjkjqJDlK6Wpr0ll8rMzLICWOr68+5Yi5B5PtrO6s7Tl62jWWExl + tAZ6EEV1vqbUK1DAg18+oXm9yeebq+s7695mu5TDOsqpr0R1Ug0KIFXSaUKkEU8ulHTxeCCCDUX8MMcQ + dgAWEaBASBxew9iWxt2s7K0tHnaVoolTWwozaQF1HjkgZ9TnoJ7jdJf7hfXyWywpNM8nhqaqmtixVcDt + BNBjAoOs3tV0j697917r3v3Xuve/de697917r3v3XuqPMr/3EE4H/wAUb/65ZX3EMv8A0+2D/pUf5G6m + 6L/pwFx/0u/8q9J3+eth33Fh/gDt6PL5TASZ75f43CJnsHMlNm8I+Wo9v0C5jDVEiSR0+WxhqPPTSMrB + JkUkG1vaf3jiNxFyVAJWQvuYXUuGWoQalPkw4g+vSr2LmFtNz9cGFJBHtBbSwqraS50sPNWpQj0J6Bfu + 74u9ZfAL+Y5/LhyHxkrN/bTk7v31ujZvbiZ/sDc28hv+hXJ4DG19buGTP1tS9TWZqDcMz1cY00jVEcU0 + UMUkdyU7vy7t/JXPnIj8vtNGbyZ0m1SO/iDUgJbUTUsGOofDUAgAjo52Tmjc+f8A259xo+Z1glFjAklv + oiSPwjpdgE0gUClBpPxUJBJB6LX2FkdwfML54/Nte4viX8hfmVtPpTdeT6a6y2B1J2LPsfB9I4rE5vNb + ep92y0UdTTvU5vc/8DatppWVoJKh5HnEwESxh++kn5p5z5uG68s32621pKYIY4ZfDW3Csyh6ebPp1A8C + ak1xQS7fHb8nch8knZ+bdv2a7vYluJpZ4RK1yzKrmOp4KmvSRxC0C6ckqXt3F/KTYP8AIx7S2J8mds9i + bI3V198g9j4PriPsGplG8Jeq5twYHJ7egqMhFUyTVdJicjV1tJC+sKsUYiVVjjUe1G6R8xWXs9uFlzBb + zw3MN9GsXiHv8EspXPmFJZR8hQYA6S7TNyvf++W13/LVzbz2txt8rTeEP0/HCOHoPIsoVj6k1JqT118+ + /iPsn4wdH/Db5U9Sdgd0435Pdh9s9YUW+O9Mz2duPO7yz8+/9hy5vIV4hrav+C4qXE1qBKOOkp4ohS3g + mEy2I9zryxZ8vbRyrzHtl7drzDPcxCS4aVmdvEjLE5OldJwukDtwa9b5B5tveaN85y5V3awsm5Xt7WYx + WqwosaiKUIBUDU2oZYsSdXcunoXvk18V+uPgT80v5a+9/jtmeycRvHtzunI7N7f3HuzsPcu8sl2fR1OT + 2TTZSu3WcxWyU0tTm6fctYlXDBHDRy60bwiSMOTTmDlyw5L5t5BvNiluFurq7Mc7PIzmYFowxfUaVYO2 + oABTg0qK9FHLPNO5c+8l+5NjzFDbPZ2lmJLdI4kjWAhZSoj0itFKKVJJYUOaGnQTfIPN7h+VH8zD5V7L + 7W+Lfe3zI6x+OVJBsDr3pPqTsCp2Ji+v4Zjj6Oo7HziU9VS1NZkM/VtPLBPGQGmmiEuuOGFPZZvs83Mf + uBzHZ7ny7ebrt9iPCit4ZTGsfAGU0IJLZII9RWoUdG3L0Nvyr7acq3u080WOzbnuJ8Wa5niErSnJEK1F + AFFAQfIHTQsx6dqzbXyf6z/kv/NLrX5DbI7O69x2yuxNsr0XQdo1Zqd20nVWc3jtatg2+cpDM/39Dt/I + pJGCpWJWqHjjRIgqB5rfmGw9p+bNv3yzuII4p0+nExq4haRDpr5hT+WSAAMdMpc8sbl7zcmbny9fW1xL + NbSfUmEUjM6xuNenyLinz7QSSc9I35ofEXrvpH+XT0T869obu7fq/llO/wAe931/ce4ez90ZfMVVTvLb + 1PWyYinxk1aMLiMLt5/DHjUpYIpoYYFjeSRCV9pOauV7HaeRdl5ytbq6PMp+mcztK7MTItdIBOlVXGig + BAABJHSzk3m/cd69xN+5Fu7OzHKY+rjFukKKoEbkaiQNTM+S+okEkkAHra725W1OT21tjKVjiStym2du + 5OtkCqglrMjhaGsq5AigKgkqJ2aw4F7D3knA7SW9vI572jQn7SoJ/n1incosVzdRIKIsrqPsDED+Q6ef + bvTPXvfuvde9+691737r3Xvfuvde9+691737r3Sdz33+Ro67CYOu/huTq6SWL+LmmkqocSktonlCpLAr + 5DRITCnkBBGo8KfYN37cbzcpZuV+XLpV3N1Inn061tIyKEmhUGdq0jj1BhUuaaeh7y3tNjtMEHOHNVoz + bPGwa2t9QR76UGoC1DEW6ULSyaCpoEFdXVmnxD7e+TXbe2oel+uM78dukqTpnb2DwEsdXtTem+d35vba + 45KHGb4wWAqdx4DCfw/IZGCVKgy1cz09cGEoYPGZMNOYuXtx5X3a52fdIwLhMhgaq6H4ZFPmG+eQag5B + 6zs5X5m2rm7ZbXfNnkJtZKgqRRo3X4o3HAMp9MEUIJBHRuZPiN2DvKjMPcvy++QO8GnSl+8x3XtZtjpH + b0zwSrNLGtHsbCLmlpp2UAj+IeTTcazf2R9CDpY7b+D3xV21k0zg6b25ujPo80pz/Ys+Y7OzUss6hJZZ + sj2BktyTySsoHJNxYWtYe/de6L1/Mv6N6N3D8U8/kN2Y6k2oOvEWTYY21Q4/Gx1GY3BU0WJj2i+Ohlxd + LJhtxVRgM+h45KNqZKxCWp9Di/kHmfmvk3nLl3mPki6eLmq3ukFvpAbW8h8PwWQ9rpNq8N0bDKxFQaED + 72t5y545A9wuUua/ba7ki53tr2NbTQA/iySnwvp3Q9skdwH8KSNqBlc5U0YaZ+4MT1/HSVtZtvdWQmqI + ftlpcLXYmodqmRpFSqaHLaKSJaWJSXjMkWtgLHk8d9+Rt99757/b9t9yPbzZ7a2aF2lvbDcjIiOFBSP6 + KaAShmbsYrO6KRqBIoOvqF9t+ZfvFXO5bVs/u17W7Da2j27vPuW2bs0sSSBAyRfu+e1WcMWJjZluZEUg + sCVoOkB7mHqeuotNQUNE9RLR0NHSS1UnlqpKWlgp5KmT/jpUPDGjTP8A4sSfaeC0tLVpntbSKJ5DVyiK + pY+rFQCx+Zr0ktrCwspLiWzsYYZZW1OURULn1cqAWPzNT16noaGkBWkoqOlUyy1BWmpYIAZ5xaee0UaD + zTDh2/Uw+pPv0NpaW4K29pFGCxbtRV7m+JsAdzeZ4nz69b2FjaAraWUMS62fsRV7m+Ju0Dub8TcT5k9Z + RBAAQIIQDH4iBFGAYrsfEQFsYrsTp+nJ459uCKIAgRIBSnwjh6cOGTjhk+vToggAIECAFdPwj4c9vD4c + nHDJ9euzBAyyo0MJSZPHMhijKTR6PH45VK6ZI/GdNmuNPH09+MUTK6mJCrCjCgowpShFMimKHFMcOtmC + BllRoUKOtGGkUYUpRhTIpihqKY4dRqfGYyklSekx2PpZ46daOOamoqaCaOkQgpSxyxRI6UyEcRghR/T2 + xDYWNtIk1vYwxzKgQMsaKwQcEBABCjyUGg9Oktvte2WkqT2m228U6xiMMkaKwjHBAyqCEHkoOkenXKKg + oIFdIKGigSR55JEhpYIkeSpKmpd1SNVZ6kqPITy9he9vd4rS0gDLBaRIpZiQqKAS3xEgDi1BqPFqCtad + OQWFjbBltrGGNWZmIVFUFnprJAAqXoNR4tQVrTof6bIY3tfBZPHZPGU1L2XiKVK/A5nFQUmOptx4ugp6 + emnwWSxtNFDTtWwQRKad4lB+tgqq4fGbdbXcvu/8zbNvu2bzd3PszvO5x2t9Z3Mr3DbTd3smi3vrOaUt + IlnLcMsdzbMxSNpBJHQdq4hb5Z7t91/m/YeZdn36+vPYPmDeYrLcbG8nkuW2O+3GYR2u42FxMzSpYT3b + pBd2bu0cLTLNBpWqKgtg9fbo7J3Bi9u7YxldW1WVr6fHRS01BV1wFVUn9qlp4KSKWevyU4B8NLCHnmYW + VbXIlX3X92uS/Zrlq65k5y3JEKqfAtlYfU3ctO2KCOuo6jhpCBHGtWdgBmZ/e73z9vPYDlC95u9wN4ji + 0qwtrRWU3V7MAdMNtFXUxY0DSECKJavIyqOty/on4c5rp/8Al79qdGtjTV9j9q9TdnQ5nD01XTrLHn92 + 9cVe0dvbVjyDlaFarH4uno6aeYAU7V7TyjUrl24IXXulvt97vD3jvIUk38b9HuYjJPhh4bhJ4oamp8NB + GkQ/oLinDr5hb73p5j3P35Hv/f2sUnMw5mh3kQkt4Qe3uY7iG3r8XhIsUcIPHQtcdf/W3j/kL1fsvt7q + HeOzd+5GXBYE0Az67qpmhSt2bk9sSLnsXu6ikqEeFZ8BWUCzsrgxzQq8UgMcjg7VmRldTRgag+hHA9WR + 3jdJI2KyKQQRxBBqCPmDnrW9wuc3BWUeLqKrb/8AEafJTRinzmPyFFivuMPNMwpNz5PbWa+zrME1fjmj + qmx0E9fNEXMasSAPcvbTue93NraTXW1h45AO9XVTStNTIfX4sHI8h1kLsu9cyXW37dc3mxeIJgvekiKQ + pNPEeN9JGO6iFqjgBUDpXexP0M+iTbh+DPX2W7H3L3PhN7742V3Llu8aTvLbfZm24tvrn9k1jbK2l1/u + frmkgrMbPj90dXb723tGFMtistHUpJNJ5ozHLFE6lL7RC08l0srpdGbxA4pVe0KV4UKMFyDX18h0RSbB + bPdS30c8kd8ZxKsi6dSnSqMgqKNG6r3K1c54gdMUfwI2x/f2t3DUdv8AY9T19F2H3V3FtHp84zZcW39m + ds9/bL3VsfsDd1LuqPB/3yzdEuO3xlqjH4utqZKSlqa5i3kRIkSo2dPGZzdP4Ot3VKLRXkUqzVpqOGNA + TQE9Njl6L6hpDeym28WWRY6LRZJlZXbVTURRmIUmgJ86DqPnv5ePWme2xt7brdh9jY6q2f8AHbp/4+7Q + 3HQDba5fb/8AoM7GwXanXvZ1Ok2KmoaneFFuzbtM1RSzRvi6imDxNDZyfen2S3eNE8ZwVgSNTio8Ng6v + w+KoFRwI8utSctWskUUf1MoKW0cKsNNR4TiRH4U1BgKg9pGKdIveX8szZvYWOy2R333JvDe/aOX7sl75 + qOxt4dddRbgx0m7Mh1hh+pc9hKzq6s2qdgZHaOU2xhIGjgkp/uqGqjSWGoDoGLUuwxTKzTXTPcGXxNTK + hzoCEaKaSpA9Kg8D0xPyrDcq73F88l2Z/F1skbDUYxGQYyugqVAxSoOQel/lv5f/AFzm9idk7ErN8bqo + 6LtL4+9UfHjP1O3tu7F2xTY/AdTbqyW78buTbu2sDgaHbWFy+byeUlSppIaZcdDDYQRIbkvNs0DQzwmV + qSQpGaBRhCSCAAACSeAFPTpS/LlrJb3Vu07hZraOE0VFoI2LBlVQFBJOQBpHkOj7SyGWSSUgAyO8hA+g + LsWIF+bAn2cHOehCTUk9dNV0NBS19bXY/J5NaWjkqIqTFVtLRVTGFkkqJFaqoMglSYaJZXSALEZpFVPK + l7+y/c7i5tLOS6tYVkaPuZTWpQfFpp+IDIBweHRXu91eWNhLeWdusrRUZlNamMfHooR3gZUHBpTiR1HF + TTGl+/8AuqdaAUiV7V8sqU9GlA8IqVrpZ52SOnpTTkSa3IULyT7UfVWwtlvGmVbUqG1E0FCKjpSL20Nm + u4G4UWJjD6yaLpIqCSfl0e74cfEfB9s4/M9ydtYfd1Jt7LUFFgeo6Ch3ZvjrjK1u3Vnkr9wb1rP7n53b + mZkxe68h9umNirJCr0VGtSIV86N7h3mHdRu24vPHX6ZRpSvoPxU8ixz9lOsd+b99Tf8AeHuYAfo41CR1 + FCVBqWI8tTEkDyFK5r0d/wD2SD48/wDOq7M/9KB7/wD/ALZvsj6C/Xv9kg+PP/Oq7M/9KB7/AP8A7Zvv + 3XuqPO5sbtaDv/tel2gM7HtXr/c1Z1rtnHZ7em+N7S0FTt2Cjp955KOr31uDcFbSVeZ3KskbiCRImp6S + Gw5YnJb2M5at1s77mq4iDXTyGGEn8KqB4jD5sxC14gKR59YofeH5ruTe7fydazFbRYhPOB+NmJ8JT50V + QXpwJZTxUUR3vIPrGXr3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de6KRU/D3Y9T806P5wv + uvdidg0XUf8Aodj2asWH/uZJgtFSn8VeVqQ5wZX/AComwmENwOPx7DLcrWbc2JzebmX65bbwNHb4enOe + GrVn1p0LF5vvl5MfkgWkX7va7+o8Tu8TVjtpXTpx6V64fK/4c7G+XcvRcu9t2bt2qehO2Mf29tsbViw0 + gzecxzY9osXm/wCL0dXoxbnGpqMGiX1Hn6W9zLytZ8znZzd3MsZsrkTJo09zCmG1A4x5Z63ypzjfcojf + BZWkUv19obd9ertU17l0kd3ceOOuXyC+Hmx/kV3Z8au890bt3dgNw/GDdWT3ZtHCbfiwr4Tcdbla/DZC + am3I+Soqmvjpo5MJGqmlkibTI1zfSR7e+VrPfd32Debi5lSfbpC6KunSxJU0aoJp2jgR17l/nC+5d2Tm + TYrW0hkt9ziWORn1akChlBShAr3H4geA6Afuv+Wrt/fHe24fkz0V8gu6Pib3PviihoOxs11JW0M+39/L + AlPEldntuZFqeI5J46WPyssxglkXymISl3cm3bkCC83mfmDZ97u9s3WYUlaEgrJwyyGmcCuaE5pWpJ7s + vuTcWOxW/LO+8v2W7bNA1YVnBDxccK4rjJpioGK0oA+b2/l50fbXxP3d8Vu6fkx312vFvjsDFdh5vtvd + 1Xt3I79pqvDvh5KLbWEgq6Gqw+O2pBJiA6U+h2jeomZWGoAO3fIybny1c8ubtzBe3ImnWVpnKmQFdNEU + EFQnbWnqTnpmy9wn2nmu05p2XlqwtDBbtCsEYcRENqq7EEMZDqoT5gCvDpd/Jv4M9e/KXqHpnpveG9d7 + bawXSW6tkbtwGX2zDgJMvma3Ym3JNtY2mzS5WgqqJaWspZPLMYEjYSgaSF49reYOT7HmPbNp2q6u5o4b + SSN1ZNOpjGmgBqgihGTSmekHLPPO48rbvvO82dlBLPfRSRur6tKiV9ZK6SDUHAqTjj0+/JL4cbG+TnYv + xu7K3bu7d23Mr8ZN+zdhbSx224sLJjtx5Oar25WNQ7jbKUVVUx0KvtqJQaVopNMr830kPb9yrZ8wX+w7 + hc3Mscu3zeKgXTRjVDRqgmnYOFDk9Mct8433LO3cybbaWkMkW5weFIX1VRaOKppIFe8/FUYHz6B35Cfy + 4tq9td6T/J/qPvDt/wCK3f8AlcPBgN2746grqL7LfOLpaemo6YbowOQMMdVWw0NFBA0iTrHNHTxeWJnj + D+yrfOQ7bc95bmHbN3utt3plCvJARSQAADWp4mgA40IAqCRXo55e9x7vadiHLG77JabrsCOXjiuAaxMS + SdDCtBUk0pUEmhANOnTJ/ASXfPxg7b+NPdPyj787oTuTNYTM53szetTt6r3XtuPBVOGqqXBbNx0lHU4b + FYGWowyu8DrKdc0jKQbWdk5KN5y9uewbtzFe3YunVmlkKl10lSFjFCqrVeGeJ6Zi5+FjzPtPMuy8r2Fk + bONlWGMOI31BgWkYEMzUagOMAdKjvr4Hdc/IL4i7N+HO597b3wextlY7rXG0O7cHDgH3bWxdYYyPF4iW + tirqCbDCXJQxB6nxwoA/6NI49qN55NsN65YtOVbi7mSzhWIB106z4IotajTnzx9nSXYue9x2Dm695xtr + KB76dpmMbavDHjNqalDqweFT9vR08VQR4nE4nEQvJLBh8TjMRBLLpEssGKoKfHwyyhAEEssVOGbSANRN + uPYsjQRRxRA1CqFH2AAf5OgXLIZZZZiKM7sx+1iSf8PU/wB36p1737r3Xvfuvde9+691737r3Xvfuvdc + WUOrKSwDAglWKsARa6spDKf6Ecj3SRBLHJExIVlKmhoaEUNCMg5wRkHI6cikaGWKZQCyMGAIqCVIIqDg + jGQcEYPUejoqTHwCmooI6eEM8miMW1SysZJppD9XlmkYszHkk39pNt2yx2i1Wy262WK3BJoKklialmYk + s7sSSWYlieJ6Wbru2473ePf7pdNNdEAVNAFUCioigBURQAFRAqgcB0I/T3YeQ6g7q6s7KoKiKmosburH + 7Z3mJp5KeCt2DvSqh2/noapk9EseKqqumyUYkDIk1GrCzAH3E3vbsMV/yzFvaKBd2Mq1PmYpCFZfnRyj + AeXca8azT93/AJjm27mybl93Y2W4RNReIE0QLq3yqgdSfPtFDQEbNvvE3rNDr3v3Xuia/Pfo/PfID4zb + 22NtWGorNzUdVhd24PFUskUNRnKvbVfHWz4anlmmp4krMhjzOlOGkjV6nxqzorF1PuVd+m5V5o5b5ngg + WWbbr+C5CGlHMEqyaTWo7tNKkGla0PQp5G5om5H525P50trZZp9o3S1vFjalJDbTJLoNagatOmpBArUg + 9aLG6tgbq2Xla7D5nC5Snlx1bLjpZJMdVxaKmCR4mpKqF4hNj8lGYyJaScJUwMCroCPf0P8At17v+3vu + rsdtv/KHMtrMsiBpIGkRLm3YgFo54WIdGQmhamhqVRmGevq19pvfj2s97OWrPmjkPm6znjkjVpbd5Uju + 7VyAWiubd2EkboTpLafDemqNmUg9Jisoa3HVD0eRo6ugq4gjSUtdTTUlTGJUWWIvBUJHKgkicMtxypBH + B9j6w3Db90tlvdrv4LmzZmAkhkSWMlGKuA6FlJVgVYA1VgVNCCOpR27dNs3i0W/2jcre7sWZ1EkMiSxl + o2KOoeNmUsjqyOAaqylTQgjqL7WdLuve/de697917r3v3XuuaxyOHKRyOI18khRGcRpcLrkKghE1EC5s + Ln3RnRNId1UsaCpAqfQV4n5DPVHkjj0CSRVLGgqQKn0FeJ+Qz1w936v0Z74h9U7p7g7w2dsza0M33ufy + UW3Vq4UZ2ov47/kVZkE0eoDA4h6nJTPwIqejdiR6b4cffl502flv2M3TYLq5T9+71c28VrHjWfAnjuJZ + gK1CwrGO/gJHjGSesBP7yL3E2Lk/7tm+ctXl4g5l5gu7WCyiwZCbe5iuprhRUFVt0iqJeCzPEOLdbsnR + Pw4+PPx0eOu612FSU+5Fp3p33jnZ5s9uh0mUx1H21fXFoMMKuM2mTHw0cU39tWJJPFHdt53jf759z37d + rq+3JhQy3ErzSEemuRmag8hWg8h186u/cxcw81blLvXNG/Xu5bw4o091PJcSkeQ8SVnbSPJQQo8gOjQe + y3on6//X3vu0Noy9gdadh7DhqxQTb12PuzaUNcwZlopdxYGvxEdU6oQzpTvWByo/UBb345x1oioI61sa + SgyeEml2XuDH1OG3ps1KXbe6tsVwZcticriaOnpJS0DgS1eMr0RaiirYw1NWUsqSROwJtM/L27Wu4bfb + RpIq3MaBWStCKYqB5g0qKfYc9ZJ8qb7Y7xtVmkMqi8ijVHjJ7gVAFQDkqaVDDHlxHUxlZCVYFWH1VgQw + 4B5U8i4Ps+BBJAIqOPy6E9QSygjUOI9Pt9Ouve+t9e9+691737r3XvfuvddgMxCqpZibBVBZif6AAEk+ + /de669+691CyWRpMRjchlsgQKDGUc9bV6opJ1aGFf8yYYQZZjUyFYlRfU7OFHJHtFuNzFaWF5cTNSNY2 + /MkEAD5kmg6L91vILDbL67uWAhSJq14GoIC/PUSBTzr1bD8ZPgL1nt/YXWu6O4sZnN/b/G2tu5nIbX3r + lfv9k7Szj0NJVRYuh2ZS01DhKyXbqiOlVsimQdZINauWCuIMe5uZYooJZ3aFBRVJJCj5Dh1jDPuF/dQQ + 29zdyPbxgBULEooAoAq8BQYGOrKFVVUKoCqoCqqgBVUCwAA4AA9s9I+u/fuvde9+691rVfIbZdf138k+ + 9ttZGlqacZ3fdf2jg6qZVWDLbd7IY5iOqoSg0GLHZyKuoHFyyvS3YDUPeVPsZvUFzy9e7EXAu7WdpAPM + xy0OoetHBB9Kr69Yc/eH2G4teZtv5iWMmzvLdYy3kJYajSfTVGVK+tG9Ogq9zh1j51737r3Xvfuvde9+ + 691737r3XrX/ACB/rkD/AHsj37r3XiCDY/Ue/de68Rb8j/WDAn/YgG49769173rr3Xvfuvde9+691737 + r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3XvfuvdcWdEsXdEDMqKXZVDOxsqL + qIuzH6D6n3R5I4wpkkVQTQVIFSeAFfM+nHq8cUspYRRM5AqdIJoBxJoDQDzPDrl7cIpg8emwQcjh173r + rfXvfuvde9+691737r3Sc3VjKzOYgYHGoJspn8xtrB4mlLrGa3K5bcmJocdQxsxA8tXVTKi/4n2AvdCe + ODkLmQyCoeFUH+meRAD+RPUke0NvLc+4/KyxMQUmaQ/6VI3Zh9hAp6Z62zfeEfXQHr3v3Xuve/de6Ars + f4x/H7tzIPmOxOo9k7lzckbQybgqMRFRbikiZVQo+4MWaHMuuhQBefjSLfQe9UFdQHd69a0rXVQavXz6 + 1pvnH/KM7V2DuLI7y6WoM32JsGQqKE0cdVm9w4HFQRolHitx4Sgp6jNTviKdTEmSoIKqGqhRGqIaaTyS + SdAvuyffKsva/l7bfbj3B2V5OUrYsLa7tI1M0Cu7SMs8NVE6a2JEiETCp1CXFOpn3OP7wTbfZnlXafaX + 3V5fkk5Isyws76xiUz2yyO8jpc24KfUp4jFhNGfHFTrWY0Ip0q+oeyaKqmo6naeQiqIJpYDHK1NTvJJB + by/bxVc1PPOsZNiVQgEEfg++gVn9637ut7axXae7G2Rq6g6ZfGikWvk8bxBlb1BFR11M2777X3UtzsYb + +H3v2aKN1B0TGaGVa+TxSRK6MPNSKjoWsV8Ve1ch1RuDsV+v95w0uIyWOQbikxdfDtCnp6yFPHjK/KVG + Ogx8OXr6mTxRaamTRUeOKVYjKjPFO5ffd9rIfdHlblraeYIbrkO5ilivL3wJ41trosv00iyuVWW1buSY + rD+nVZfFZQyLCO7f3jPsnD7z8l8n7HzVbXntteQzw3+4/T3MS2d4Shs5VuJSqTWb98dwVg/RLJMZigdF + LDNDNTTSU9TDLT1ELlJoJ43hmicfVJYpFWSNh/QgH3mrBPBdQQ3VrOktrIoZHRg6OpyGVlJVlPkQSD10 + Ntrm2vba3vbK5jms5UDpJGyujowqrI6kqykZDKSCOB6xi5IABLMQqqASzMeAqqLlmJ+gHJ9u+voP9Vfs + 6f8AIk8AKn5D1PoPn1b1/Lw/l379+S9Pv6vy+Rrev9nHCVWEyW4arEz1sNTW1UAFLtBKQV2Metq6yOqN + VkPFMj4uOGn1nzT+Ecpfvf8A3nbdueOR9g9sdxt7m55X3I30t1pWaA36o0McKA9sqwI8nisrU8RwqnVH + q64jffz++Xbf64/txyv7Nbta3V7yZu7blPeaVuLU7ksT28VuinsmW2jkm8Zg2nxnVUYPEW6N/Q/yBNzf + xry5Du7ZwwbzNenptv7omqoYHJAaJJMrTGWaFTqCvUaWIsTY+4+uf7wn3rm25rSDYuX4b4oB9QsE7OD5 + sI3uTFU+hXSK8Ooqvf71P7xFxtT2Nry1ytb7iU0i5W2undW/jEUl20NfkVK/Lq434j/A7pn4iY96jaVP + JuPfNZRGgyG98tR0tJUw0UpjkqcZt3FUuunwWMqZ4w8pMlTXVFlFRVThE04gc68983+42+zcy877/cbj + vTqF8SUiiIMiOJFCxxRg5CRqq1JNKknrAv3G9zefvdvma45w9x+aLnduYJFCCSYgLHGMiKGJAsUMQNSI + 4kRdRLEFiSTt+wl0BOve/de6/9Df49+690Cna3xy6P7vajn7S6227uvIY9RHQ5uWKpxe5KOAFj9nTbnw + dTjNwQ0Ds12p1qRA5sWUkD3sEghgaMPPrYJBqpIPqDQ/tHVVPffwVz/S2Yzm7eh9p5XeXVe4a2DLZfaG + Iqchnt/df10NBFQ1LYekydXV5TfGzp0pklSmimfKY+V5RHHUxOBGJeX+YTtEsyzxGS2lNWI+MECgIJ4j + 1B+0EeY25P5tXl6W4iu7fxLSZgWcf2ikCgNTl1AJ7SajOk5p0Rmo3zsyjYx5DdOCxFSraJKDPZCDb2Wh + bkWqMLnWx2XprEEEyQKLg88e5It+YNmuV1R7jGMcGOgj8mp/KvUxW/NnLdzEsqb1AqnydgjD5EPQ16yp + uvG10Ms2146jfhpFFTk4Niw1W7ZcXiIv3Mpm66TbdNlqajosFQhqqp+4eFRChuyki5dufNW3WYi+muEm + k8RQ6ipon4iCMVA4ZNeFOizd+eNl25LdrW9iuHaVQyoSxEZ+JgVqtRxAJzw406f6eop6ymp6yjqIKujq + 4UqKSrpZUnpaqnkF456aeMtHNDIPoykg+xJDNDcRRzwSB4WFQRwI/wBXlxHn0L4J4LqGO4tpVkgcVVlN + QR8j/qp59ZvbvTvTttjr3dHcm7cR1BseV6fc28Awq8xErTJsbaVPJC2f31lYop6d0o8fTOIKVGkj+9r6 + iKBCbsVB3N28Q2tnJt0T1vJaVA/Ctakt6E0oBx8/tj/n/f4Nv2uXa4pa7jcACgOUSoJY04VpRR51J4Do + 12U+AXyhpq6ogxuQ6I3DSMwaHN1O6N+bRkkLgGV5tsx7H3etLokJIRMlMCONS/gOpzvuaRhDbQFgAAaN + 5eo1f4KdBGL3Q3VIlSTbbd5APiq6/wDGan/COjNdG/y/cXtDcOK3r3RurH9k5rb2RgzG2doYbCy4Xr7D + ZikeR8fm8lSZGsyeV3hmcW7h6R6ySKkpZgJkphMsckZDue9bhuzg3Uv6Q4IuFHzp5n5kk9BPfOZt25gZ + RfzAW6mqxoNKA+tKksR5FiSPLqx/2VdB/r3v3Xuve/de697917opPyv+KmC+SO28fVUORi2j2ptCOrk2 + Lvb7X7mBEqwrVu1900kembLbQzMkSGaJWE1LMq1EBEisshrsm97ly9uVvu203BjvIz9qsp4o44MjDBB+ + 0UIB6Jt/2DauZ9qutm3m1EtjKM+TKw+F0birqcqw+w1BINDHZWB3Z0juaDZfdG35th7kqhPJi5XlbKbY + 3NR0rKk+X2vuSlhWlr8YrOusTrT1NOXVZoo2IBys5Z94OWd6gVNzc2O5AdyMHdDTiUdVJp5kOFKitSaV + 6w35s9jubdhuHfaIxuG1FqK6siSCvASI7KK+QKFgxpQAmnTTS1lHWqz0VXTVapYO1NPFOIyRcLL43bxN + b8NY+5Ls9y23cI1lsNwgnjbgY5Eep9BpJz8uonvtp3XbJHi3Ha7mCRRUiSJ0oDwJ1KMH14dSfa4qy/EC + Oi4MrfCwP2de96631737r3VFX8/l81J8YujMXgc5lMBW5/5ObSwBr8VkavHTBMrtDeNIBLLSVNK0kCSy + K5Rm0kqDwRf3DnvWZjy9s0cEzI77gi1BI4xyehHU6ewQgHM++y3ECyRx7Y70YA/DJGfMHPSo+C/zKqOu + P5bHbee7grJp+zvgKOyOoOwaLKzySZPIZzYc1TS9ZU1U1bJJUVE2cmqqTExs5/dlpHF+C3tTydzW1hyD + uc+6NXcdl8WCQHiWjqIga5OqoTPEqekvPPJqbj7k7RBs6AbXv/g3ERXgFloZiKYGkBpDTgGHVff8jyPt + Sl+cvckXa25dw5XcO9Pifiu2shR5zJZGeKjn7T3z1XvahqPsqqrqIaaSbFbhjlUqqssU9rC5HsEe0A3J + ecN1G5XDtNNtomIYnHjSQyA0JNKq9fsPUge952puRtnO1WsaW8G7NACoGfAiniIqAK0ZCPtHVpPcH8y/ + tzpCn3Vv7fX8ur5K4349bL3HV4PO9zTZna0EiY2mzjYKHd0Gy5KYV0O36+bRJTvU1MMckcsZMyax7kXd + PcDdNoFxe3nIt+uxxSFWn1JwDadYjpXSeIJIBBGRXqLdn9tdo3trWwsfcTbW5hmjDLb6XOSurwzJWhYD + BCqSCD2mnQu/I/8AmR9KfHLrb419xV+C3d2B1r8m8rQUu0s7syCGTJ4zE5LBUmfpMvNtyoRshmKuSCsW + AY+nZKg1IMeq/wBTTfufdp2Lb9g3VoZZ9v3BgEaPiFKhg2nixzTSM1xXop5c9t975i3LmTZ0nht9z2xS + ZFkPaWVipXWMKMV1nFM06DDrb+aJ/Hvkf1t8du6/if3j8Zq3vFatukt0doPjPHvF6dJDTUuZwlPS0022 + 6zISIsXjWorGpKmaKKcKJBL7L9v9xPG36w2Pd+Wrzb2vK/TvNTvpwDLQaSeFKtpJAPGvRnuXtf4HLm5c + xbLzXY7mljT6lIK/p+pVqnWAM1ouoAleFOhK+QXzQ786e3lvzD7C/l99/d37C60pochubtfbud2/gduZ + LHjB0mdydRs7GVeOyWY3FHh4Kh4pniRv8ogkQJ6b+1++c2b1tV1exWXJN7d2VuAXmVlVCNIYmMEFn0g0 + NPMEU6LeX+S9h3izsJr/ANwNvsr+5JCQOrO4OoqokYMqpqIqK+RBr0pds/zE/jjuP4X1XzofK53DdQ42 + hrUy2JyVBTf30oN3UOSjwbbBTGQ1jUVbuOtzk8UFK0dR9tPHMk/kWLUyqLfnrYZ+U25xMjptig1UgeIH + B0+FStC5agGaEENUDpNde3fMdtzmvIwiR93ZhpZSfDMZGrxdVKhAoJao1AgrQmlSXZT+dENj7L2pv3t7 + 4OfJHq/bPZ+Y2/SdO5zNz4ltv7/xWfnGmslzs+Koabb+Vp8Y6V0VHKkn39IxeGTSutwnJ7sfR2lte7py + hf29vcOogZqaZFbz1FQFYDuCkHUuQaCpGcXswb69u7DaOd9turq1RjcKobXEy+WkMS6lu0sCNLYIqaA4 + nyh+eOI6E7M68+P3W/T2/vkr8lOzcJJunA9O9c1OOx1TiNpRR1bncu7dw5JKijwlBMaCcQq0Ta1hZ3eJ + NBcU8xc5xbLuFlslhtc1/v8AcJrWCIgFUz3uxqFGDTHkSSBSoP5Y5Em37bNw5g3HeLfbeW7Z9DXEwJDS + Y7I0FCxFRXPmAATWjF07/Mb2D2v0h8k+zq7rLfvXfYvxKo9wyd39B7ukoKfe+367BY7J5CCmosn4oaCr + o83/AAaqhgqJIYTHPA6vHp0PIztXPlluW0b/ALg+3zQX+2BvqLZ6CRSoJAB4ENpYAkDINRwJf3j25v8A + at85b2tNzt7jbt2ZPprqOpiYMVFSKkgrqUkAmoIoa1AKlk/52GHHVmA7+2x8LvkhuL4+r/AaXsXt+ZcV + hds7MzmZrI8dVYLBTVdE8O+ThMjKKWaujkoqKSrIgDqzKxDUnu3F+7od7t+U799j7RLPhURmNCq1FJNJ + wWqqlsV6FcXspMd1n2C55z22PmA6jDbirPIqioZqGsWodwWjMF7qHh0p97fzldn7Mk2f2HP8V/kK/wAS + 957qxW0cR8p8tiqfbW3MpWZdGkgzOB2dlaQZXJbdSOCd0nkqqd6xKaUwKzIEZTd+6traG1v25cvv6syy + BFvGXQpJ/EsbCpXjksNVDQEinSay9mry8+s25eadv/rZDE0jWKtrdQuNLSKaB6kAgKQtRqIBqDVfKb53 + 7b+Pm9+rul+v+rt7/JP5Ddz46TP7A6f6znoKOsl2nHHUyf3u3Dnskk1Lg8JULRzGAtC5lSCV3MUcbP7E + fMfOdvsd3t21WW3zX+93a6o4IiAdGe9mNQqmhpg1oSaAV6CnK3IlzzBY7pvO4bpBtvL1k2mW4mBI14/T + RRQswqK5FCQBUmnTF0V/MR2Z3J118k89muq9/dUdt/EvF53Jd1dCb0moF3diEw+HymWpZcVl44YKCvoM + 2cNUQQzSQxGKVAWRonikkZ2bnm03Ww3+ebbZ7bc9sVjPbSU1jSpI0tgENpIBIFD5EEEqN89vLzZ9y5bt + 4N1t7vad2ZRbXUdfDbUyqdS1JBXUCQCajzBBAKXU/wA6uiyXUVB3/wBf/CT5Jb36TxNHSTdp9lA4rC7W + 2FXzZA46tw2JylRj6iDes2GleIVdZF9pQwyyrEzqbuA03u0sm2JvdlyjfzbQoHjS4VIzWhVTQiTSaVYa + VBNCfPoWL7LPHu77BuHO22wb25Igh7meUU1BmUMDHqFdKnUxAqB5dA9/NR/mJ9oYLqT47bg+MGF7u2ps + ztGr6w7SxXyF20kWJ2lurAbsx2eeTpaeRqWqePeoelSSppfKyBo7epRclXuPz3uMG2bFNy9DeRWlyYph + cp2o6uG/Q4H9TFSK+XRx7We3e13G7cxW/M81lLeWomga0fukR42T/GOI/TzRWp5+vVxfxs7v3B8k9hZ3 + c2+vjr2n8eanGbml29Dsjuahhpc/maWLGUFeu5cdFHSUY/hUkta1Or6dXmhex9yRttzDzjtVym98sS28 + Al0+DdKCWoARIooKUqQGFCCCQR1FW62txyNvFrJy/wA3Q3NwYtXj2jkBasQY2NTWtAWU1UggEHodfsa7 + DRvJi5KrJUiCSQ4arqDPUFnfWwx2Rq5DLFpUnTFKzoTZVKC59p32ze+Xqz7BPJebWtSbKZ9Tgcf8Vnar + Aj8MUpZTwDrjpYm78v8ANGm25mto7Hd2oFv4E0ozcB9XbpRCp/FNCquoyUbJLrj8hS5SljrKOQvE5ZGV + lMc0E0bFJqephcCSCogcFXRgCpHsR7XuljvNlFuG3za7diRkFWVlwyOpykiHDIcg/Kh6Cm8bPuGw7hNt + m5waLpKHBDI6NlJI3Ha8bjuR1ww+dQJ3sw6LOve/de697917o1Xwl6Zn7l7xxO6Kyl8/XnSOVh3JnKx0 + dqPK9jQ0/k2fteJyRBUTYR6oZirH7ggaCmRwrTKRjP7283wXktvynt8yukEniXBU1HiAEJHUeaAkuPJi + BxB6yz9gOSLiwhuec9ygZJbiPw7ZWBB8IkF5aEcJCFCHzUE8CD1sAe8fusluve/de697917r3v3Xuve/ + de6bavDYivqIauuxWNraqmDLT1NXQ0tTUQK1wywzTRPJEGvyFIv7917rLkcbjsxj6zE5agospi8hTTUW + QxuRpYK3H11HUIYp6Sso6mOWnqaaeNirxurKymxBHv3Xuqu+3/5QXxQ7Rys2axtHuLYNTKpIxmCqMdk9 + vRSgpoamos9QV+Vx9LGilVpKSvpqNQeIhYWlTkf3v92/ba2NjyTz/uFjttD+gHWWAVNSUgnWSJCTxZFU + 8c5PU2+233kPfb2itRt3t37obpt20CtLbWs9qtTU6La5SaGMk8WjRG+dCekx1v8AyYPitsfNUuczNbvL + dr00hdsWanG7cxNWAf20qJsNQruWJNDMsi0+SgjmDetTYWM+b/vEe93Pe3ttHNHuVuU+1MCGhRkt43Bp + USLbJF4ox8MmoDNAKmpzz797H7x3ubtkmyc5e7u7T7K6lXt4WjtIpFPFZVtI4DMpp8MpdfQCp6tY2ttT + bWx9v4zauz8Dits7bwtOKXFYTC0UGPxtDBqaRlgpaZEjDSyuzyOQXkkZnYlmJMMAACgGOseAAAABQdKD + 37rfXvfuvde9+691737r3X//0d/j37r3Xvfuvde9+690mc3srZu5XWXce0ts7gkUxlZM3gcVlXUxX8RV + 6+lnYGO50/0/Hv3XunLF4PC4OmaiwuHxeIo2JZqTF4+kx9MzEWLNBSQxREkcXt7917ojPZv8vTqTd2Uy + O4evc3uHpnNZWpqK7I0O1IMRl9jV+Rq6j7iqyMuxdwUdZjMdVzSszN/DJMfHI7lpEkbn2us9z3DbyTZX + bxg8QDg/apqPzpXo22zfd32Yn923zxoeK8UP2qar+dK/PoIMP/LIrUqrbl+SO6cjinYCen291vsbbWWM + fr1LS5mpTcCUchuLOKZ7c8fSxnNzTvsyFDfFR/RVVP7QK/sz0cTc980zxtE256QfNURW/IgVHR+Om+hu + sOhsFUYPrnby458lLHVbg3BkaqozO690V8cfjWu3HuPIvNksnMgv442cU8AYrDHGp0+w+zM7M7sS5NSS + akn5k9BSSSSaR5ZpGeVjUsxJJPqScnoYfeuqde9+691737r3Xvfuvde9+691737r3SQ7A3rhet9jbw7A + 3FL4cFsvbWa3PlXBAkaiwmPqMhPFAD+upnWDREguXkZVAJIHvRNAT1sCpAHHrWX3PvfdfbO8M12zv+qa + s3dvAioSmMsstDtLbbSSVGC2Tt6Kb/gDiMJRzhZNIV6uqMtRLqkkJ95n+2fJFryrs0F5PCDv11EGlc5K + K3csS+igEa6fE1akgADA73a9wLznDfriwt7gjlyzmKwoMB3TtaZ/ViQfDr8CUoASxKQrttbeySla7C42 + oDaySaSKNy0gs7+SFY5PI35a+r/H2Kb3lHlfcX8W82G1abVXUECMT6lo9LH8z0DrDnfnDbI/BseZLxYN + OnQZDImkeQSTWoH2DrrB7awe2oqiDB0C0EVVIktQq1FXUeSSNDGjFquoqGXShtYED2v2vZdr2SKWDarM + QxSNqYBnapApXvZjwxggdFu777u2/TQz7vemeaNdKkrGtFJrSkaIDnOQT0++zPop697917qkD+e1h8vm + fj/8cYMNicpl56f5adfVU8OLx9XkZYKaPb26Veomjo4ZnigVmALsAuogXuR7iH3kilm2TYVijZmG5xk0 + BOND5x1N3sVNDDzBzG00qop2mUDUQKnXHgV8+ihfP34n9r5P+YxW9B9b0ORpugf5kG8upexO4KzH0VfJ + i8PX9N57MVfY7y1NKFoMbNU0iHKM0hQ1E1ZGly1z7C/OvLW5Sc9vsu3ow2TfpYZZyAaKYGYy5GAfx1PE + sB0L+QObNpi9uk3/AHJ1O/8ALkM8NuCRqYXCqIcHLCtI6DgFJ6Nd0RtzNbc/nTfOWp2rtWamxtB8QtnY + jYsNTQVVJtqprsNj+jqbbuAiyJigomp1loI4HCSArGjnjS1hLs1vNB7sc4NbWxEa7Wix1BCEqLcIteFM + U48K+nQU324hufZfkdbu6Bkbd5GlIILgM10XamTXurw4kevVMGb3bJ3N0F8lZPkT2x8/9z/zBjkd/UVX + 0BtqDecXVOE2pi5aWbVura8GEnwVL1zjsdFVtkIGmptIgjjgga6vJE811+9dl3877ue9yc8apAbZNfgq + gp8aadIiA1ahVeACr5mZ4LQbNv8Ay0OXdp5fi9vtMRF2/hmdpGqOx9WozE6dBo3Elm8geHvfbu4pvhh/ + IepafA5uarwnbfT02Xp4cVXyVGIjhr9vGSXJRJA0lAkekkmUIABf2Md5gnPKns2ohfUl1DqFDUZXj6fn + 0BtiuLcc5e+rNOgV7S4CnUKN2vwzn8uju/zLMRl8l/Mb/lJ5ChxeUr8fi+2ey5cpX0VBV1lJjYpdwdZt + HLX1MEUkFIjrExBkZQQpP0B9i7n+KWTnv2zdI2ZFuZakAkDuh4ny/PoE+2s0Uftz7tRvKqyNaw6QSAT2 + T8B58fLqv3uLsKXenzT+X+zPm12/86uv9y7b3NVYT4Z9OfGJ9347Cb02tUNmYMDPtynweIyNFlq7L0i4 + uX7mUQw1Bq6lqicNEIUBG63xu+beaLTm7dN5guI5CtjBaawsiHUFKhVIJYaDU0B1NqOKCQNn28WXJfKF + 7yTs+xXFrJGG3G4vfDLRuNJcOWZSoU+INIqRpXStDUh1138e+3+zf5EvYuz9p7M3VWb42P8AKXOdjZLY + MmIyK7izu39rz4qDP08OH8Udbk6jGwVr1Zhijd5ftJAgLqB7Q2Gx7puHs3fWttayG8h3FpTHpOplTSGG + niSK6qAEnSaZ6Mdy5h2fbPfXbru7vIhZT7WsKy6hoVn1FCW4KGppqaAahXB6Wv8AMo/mBdE/LD4p/GnY + vVOO7Hi3Tt7ujqDK79xmZ6+z2B2711kMLtfJ4KfaWV3NXU8GEqs5JkKp1o4KN5jLTU8kp0Bbe1XP3O+z + cy8t8v2e2Rzi4ju4TIGiZUiKoylC57S1T2ha1AJx0j9tvb/feVOa+Zb7dZLY2slnOsTLKrPMGkVhIqAl + gtB3FqUJAz0If8xfqOm63/mQ4P5G96bg+T/X/wAY+0+ltubRPd3xcyNfjN0debu25gKTETba3JX4/FZy + qg25XyY5KmophDG9WtYJIfIaeZfa/nva1sOfId+3mfcYOXrm0VPqLQkPE6qF0MQG7TQErQFtVRXSei32 + 63h9x9uJ+XNit9ruOZrW9eT6a9AZJo3csHQFlBcaiA1SF00NNS9CH0fsj4Yn46/zLN5/ETtP5Qd6bu3n + 8bs1R9lbs70x2VrUzlXLiNzVGC/u7ma/Y21ctubccs8UyVeo1TpGIxxqBK3Z7PlQ7Dz/AHfK+5bjeXUt + gwle4BOo6XK6WMaM7ca8cU6Qb5fc5/1j9tbLm/atrsLSHclMMdqVGkakDa1ErqiUpp+EVr1JqsHnz/wn + To8B/Bcyc4OqooBhP4ZXnLB/9P1ZOY/4Z4PvQfCfJ+j9B1fp593MM59ilg8J/G+n+Gh1f7kk8OPz6bWe + D/giHn8ZPB+p+Ko0/wC4gHGtOOOPHHWX+YVg8/kP5IHxow9HhM1XZenwPxSWoxFLi8hVZSn+02rItQk+ + Ohp3rIWpiNLqyAoeDY8e/c8QzSe0GwRJC5lEdn2gEnCGuKVx1729nt4/e/mWZ5kWEyX1GLAA1kFKGtDX + oI/5hnT7bD+cPRHyY7kyvyW2V8Y96/G7YnXmd7h+MNdX4zfXVe7dv7Tlx7YnMVlFjMzU0WAyZlhqKmDw + xtWw1Moi1yQSIxZzztX0fN+zcwbrLuEPL01hHG09oSskLqlNLEBiFOCRQagxpUqejb293n67kjfeWdmh + 22fmeDcpZVt70Bop43k1alBZQWXIBqQpVa0DA9DB8ZtmfCefrr+YJvv4m9vfKfvjf26vizu/G9jbr72o + srkKTKQTYLMnCR4fPZLYu1svuHdH3NCIZEaSqKU6hVA+vs05ftOUWsOd73lnddyvb2TbnEr3AJBqradL + GNGZ6ih40HRRzNe87LuXt9Y827PtVhYRbpG0KWpUFSGXVqVZXVEoajC1PHpw6Wweei/4TybuwEuGzEWb + PSndNOmElxtdHlmlm7Rz0sUSYx4FrC0yPrUBPUp1C4N/bu0wzD2OuoTE4m+kuO2hr/bN5cemt6ngP3hL + OcTJ4P1tt3VGn+wQceHy49Az8vtl71rf5JX8v/KYraG5cwnV+S6Y3bvjH4vE1dVl8BgaXHbrpKjJVuLW + MVcNNDWVEUUkjKqRNMhcqrX9lPNFpdv7R8lSRWsji3aB5AASVUBxUjiBUgE+VRXo55PvLJPevn+KW7jQ + 3S3EcRZgFZi0Z0huFaAkDzoadX2/GH5adMfMPZmd7A6PyW58rtnbm4YtqZSr3RtPK7RqFzhw9Bmpaajp + MsqzV1PTUuRjSSeO8XmDKpa1zM/LvM2081Wk19s8kjW6SaCXQodWkNQA8QAePCvUDcz8pb1ydewbfvkU + SXUkfiKEkWQadRWpK8CSDQHNONOjJez/AKDfScq4xistT5KFStNl6iHH5dEQaDVOvjxuTka37bRsvgdu + A6utySqgg3cYhsO/2W92y6bG/lS3u1HDxHxb3FOGvVSGQ0qyspJ7agebXM3MvLW4cv3b6tx22B7qyY5b + wk7rm1rx0aKzRLWiurBR3UKj9jLoB9Yaiop6SCSpq54aamhUvLUVEiQwxIPq0kshVEUf1J9s3NzbWUEl + 1eXCRWyCrO7BVA+bEgdKLS0u7+4js7C1knu3NFSNS7E/JVBPQ+9AfGXtH5I1lJXYGmr9i9ViqiOU7UzW + NEf8YoY5WWro+tMRXBZNxV8xiMQyUsYxVNcuHqHQQtj9z37yQCGfaeT5C0rDS11QgKPMQg5JI/0Q0Ar2 + gkA9ZL+3XsVcePbb1zxEFiU6ks6glj5GcioABz4QJJoNRoSpv16x6y2b1BsrDbB2HiUxG3sLE4iQuZ62 + vrahzPkMxl65x58lmcrVO01TUSEvLIxPAsBjezM7M7sS5JJJySTkkn1PWVCqqKqIoCKAABgADgAPIDpf + e69W697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r/ + 0t/j37r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfu + vdFT+ce2MzvD4k99YLAQNU5SXYVfkYadC3lmp8DU0meyEcKoGeWd8djJQkagtI9lAuR7vE6xyxSOmpFY + Ej1AIJH5jHVJUaWKWJHKuyMoYcVJBAI+wmvWv3TVENXTU9XTuJKeqghqYJB9JIZ41licf01IwPvofaXE + N3aWt1blfp5YkdaZGllBFPkARTrmFe209ne3tndBvqYpnR9WG1KxVqj1JBJ+fWb2/wBJuve/de697917 + r3v3XuuwSPp/vQP+9+99a68GIBAPB+o9+69165tb8D/Af739ffuvU8+uCpGs0lQsMCVMyJHPUrDEtTPH + Hbxxz1CoJpo00iysxAsPegACWAGo+fn1upKhSTpHAVwPsHXO55PHP14H/FOPe69ap14Ei4/r9eB/vh79 + 17rGY4mliqGhhaogV44KloYmqYI5L+SOCoZDNCklzqCsAb8+9UFQ1BqHnTI+w9WqQCoY6TxFcH7R59A5 + 8gE7/l6tzZ+MNb1vQ90QVuEqdtP2zTZSo2JU0VPkoXzuPyqYQpkYp63FB0ppY2TxzaSWA59lW9jezt0x + 5de3XdgylPGB8MgHuB05BI4HyPRxy+eXxukH9Z0uW2UqwfwColBIOkrqwQGpUHiPLqprd/wr/mC/Nbdv + VmL+cu8/jh1r0F1f2Jjez67rX48UGZrs92JubDxyQ0Zy2Xysc8NKk9NUTU7TSVJ8EE8hSnklKyJGd1yn + zxzbdbbHzhdWFvstvOJTFbBi0rrw1Fq0wSKk4BPaTkSxac6+33JVpukvI1luVzv11bmETXZULCjGp0ha + VyAaBckCrAVBvKkEcqSQvDC1PKAj0rxpLTNGpBSJoZQ8bxx2FgwNre5hNCCCBpPl5dQcKgggnUPPz/b1 + xhihp41hpoIKaBWLrBTQQ08CsbXYQwokYY2Fzbn34AKKKAB6DA62xLEszEt6k1P7T1kub34v/rC3+2tb + 3vqvy68CQb8X/wBYf71a3v3XuuLBXjkikRJYZV0SwyokkMqXB0SxSBo5FuL2IIv70cggjB63wIINCOuE + MMFNGIaanp6WEMXEFLTw00OsgAt4YEjj1ED62v70AFGlVAX0AoOtszMdTMS3qSSf59Zbm9+L/wCsP96+ + nu3Vfl11e+oEAh1ZHUqCjo4KujoQVdHU2IIsR7169e9OsUMFPTIIqampqWIEkRUtPDTRAn6kRQJHHqP5 + Nrn3oBVFFUAfIU/wdWZmY1diT8yT/h6y+99a6Se+I2m2tlYonEdVJ9imOYyNEv8AFnydGuIUunqAfJmJ + bC972sfoQV7iyLByVv8AcMFLRRo61/iSWNlp86imM+nQ+9ronuOfuW7VWYLNJJG2njoeGRXr8qHNcevR + yuhPh7vHvOo3ZiM33Ftfrnc/Xm5avbPY2wsfsTNVvYO25v32xNaY91ZXH46DH7ho1Ssx1elLX0NVTk6S + zq6pAG5e+PN95q+ht7S0BNe1DI3nUVkJWh/0tRTj1krtX3e+SLHSdwub29YCnc4iXiKGkQVqjh8dDXhw + 6st6s/l+fHrrmqos1m8Rle2d00TCaHN9oVsWeoaWo0reTG7PgpqHZtD4pdTwuaGSoiLcTHSpEY7tv+97 + 7J4u8brPcNWoDsSo/wBKmFXh5AdS3svLewcuxeDsez29qlKEogDEf0ny7fmx6O6iJGixxqqRoqoiIoVE + RQFVVVQFVVUWAHAHso6O+uXv3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve + /de697917r3v3Xuve/de697917r/09/j37r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+6 + 91737r3Xvfuvde9+691737r3XvfuvdY5Yop4pIJ445oZo3imhlRZIpYpFKSRyRuCjxuhIIIIINj7917r + Wp+QnWeB6W7j7I2d1ochvHq/aKUe49xZDbuOyWZx3Qk+6quqqKbYG/MtTRT0eOplYmbGesyUmPZEqggV + JHnf2x90Ydlgh5c5jkI2taiGahPhVNdD0qTGSTpYAlDg1U9uOvu57QT7/cTc0crRA7w1PHgqB41BTxI6 + 0AlAADKSA4yKMO4Kaeop6uCOppJ4aqmmQSQ1FNLHPBKjC6vFNEzxyIwPBBIPvJy2uba8gjurO4SW2YVD + owZSPkRUdYj3dpdWFxJZ31tJDdoaMjqUYH5qwB6ze3umOve/de697917r3v3Xuve/de697917r3v3Xuv + e/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3 + v3Xuh6+KnUFX3p3ttjEmjap2L1plcRv/ALJryiS4/wA2Iqv4js7ZdSHvHPW7jzlJFPNTkG2OppXYDVHq + x697+bYFtouT7N9VwzrJcEfhC5jjP9ImjsPIBc5I6yd+79yVcG5m54vo9NsqPFbA1q7NiWSn8IFUU+ZL + GmAerefkH0TubN57D9+dD1dBtv5F7Cx8lHQGukak2x27s8Mamu6o7GEZVJsTknGrHV7AzYmt0yxsq6rY + 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 + 3GV1Hg5qio2r1vsnEvJU4XrbZ01XHFUVNFS11TLV5GuZI3yVfIZCoSOP34CnXmbVTFAB/q/b0ZP3vqvX + vfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+6917 + 37r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691//1d/j37r3Xvfuvde9+691737r3Xvf + uvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737 + r3Xvfuvde9+691737r3XRAIIIBBFiDyCD9QR+QffuvdEY29QdxfFGev2jt3rbNd3/HmTK5nL7Jj2JX4v + /Sn1NR5Oeoy9Tsut2zuTJYmk3rtKiyNRIuKnoaz+IU8DrTyU8ixpI2sjI6uCpAVsEefy+Y+XqPLFOhN6 + V+T2E7r3xvXYdF132Z17mtiYfB5fMUHamDoNnZ6SPcLzfw5qLa8uVq87NjpIoGP3piWlLjxhi/HuoYkg + FaY6s0ahGdZNVGA4eor55/l9h6M37v010Ae9/iz8dOyM5uHc2++mdgbp3JuvM9Vbiz+4MvgKSozeQ3D0 + blMjmuns8crpWups11rlcvVT4eqhkjnoXqZPGw1sD7r3QfbQ+Afwq2D2DvjtbZ3xh6b2/wBidlR78p98 + 7roNl4pcnuOh7R8Ldj4quMsUkC4XfE0AmylDGiUlbUM80sbSySO3uvdYtnfy/fhVsHYs3WW1fjN1Lj+v + 6nrbdnTlRtKp2vTZnCzdUb53W++d1ddS0ubORD7Oy+7n+/bHk/bR1CqY1QIgX3XusOE+Knw1+LfU+Hk2 + b0J1vsTr7497i3d8gtr0eD29SCo2z2ANn53Dbj7Dx9dXTNXVu+8ntDJVmNbIVVRJVS0kwpzJ4wqromgJ + 62o1MF9ehp6GwfU+A6o2nT9I7Z2/s7rfLQZDeOF25tqmoKPG0Fbv/LV++txSyUuMmqKKHK5Pcm46urrg + jtqrZ5WJJJPvwNetsuk08v2V6QXd3yPwOwf+Mf8AX603ZXf2545sbsXqvb1dT1eUXJTBoV3BvKWCR49n + 7KwDn7jIV9aYVWGNkiDysqH1a1AOet6StGdcenCv+r16Fnqba26Nl9b7N2xvfd9fv7eWJwdJDureORKm + pz+fkDVGVrECw0/joBWzPHSoyh46VI1YlgSd9U456EP37r3Xvfuvde9+691737r3Xvfuvde9+691737r + 3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+69 + 1737r3Xvfuvde9+691737r3X/9bf49+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde + 9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xv + fuvdAR3F0BtfturwW54svuDr/tDZ6VC7K7V2PVxY7duAjqWEk+LqxPDU4vc+162UXqcVkoKmjluxVUkb + ye/EV62CVNR/q+316DCOp+c+ykejmxPQHetHTmOKjzkea3T0zueviEEStUZjDNht97Zp6szhmY0lQsTA + +mNPoKkNTBz8+rqYiw8RDpp5Hz/MHpIb/wBhfMvv3bVVsnctZ0x0BtfJS0NZWZzaOW3l2b2RQV+EymNz + mFmwE8lLsHbmPdcjj1Es0jVB8d18TBj79QkDUet+IqM5iU0Ipk5+fCnT9t75WP1mKXZPy6xMnUm8qEpj + o+zFoMhVdG9ilJoqSmzu3N6wQ1NHtaqywkWWXE5pqOpo3ZkDSoFdt5GCOqkK3cGAOag0HzweH5cfLPQk + 5j5f/FnA4uPM5L5BdSLQTafA1HvjA5WqqWkUvHFSY7FVlbkaqeRR6Y44mdjwATx70GUkgcR1toZFCMwo + rcKkD5+vQLbjrt3fM+Wj2Vhdq7j2R8Xf4lBWdg7y3riKvbm5O6qDFVcdTT7G2PtPKR02cxmyctWQI2Tz + FfDTtVUqmCljbyPIvsnjw69VUUhTVzgnyA+X2+Z9MdCdV/CX4u1NZU1tP1Ni8E1bWS11bSbSzW6tm4qr + qJ21S+fC7UzuHxDRO4B8YgCXAsPeyAeI6qrsldDEV40xXoWes+lOpum6KroOr+vtr7KiyEzz5KfCYyGH + I5SaSQytLlctIJcrk38jEgzzSab8W976r0KHv3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de6 + 97917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuv + e/de697917r3v3Xuve/de6//19/j37r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+69173 + 7r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+ + 691737r3Xvfuvde9+691gqqWlrYJaWtpoKulnQxzU1VDHUQTIfqksMqvHIh/III9+690jcZ1f1phMgMt + huvNjYjKqzMuTxm0sBQZBWc6mYVtJj4qkMzck6uT7916nS59+691737r3Xvfuvde9+691737r3Xvfuvd + e9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3X + vfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3X/0N/j37r3Xvfuvde9+691737r3Xvf + uvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737 + r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+6 + 91737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuv + de9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3X/9k= + + + + + AAABAAQAMDAAAAEAIACoJQAARgAAACAgAAABACAAqBAAAO4lAAAYGAAAAQAgAIgJAACWNgAAEBAAAAEA + IABoBAAAHkAAACgAAAAwAAAAYAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICA + gP+AgID/gICA/wAAAACAgID/gICA/4CAgP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAP8AAP+AAAD//wAA/4CAgP8AAAD/AAAA/wAAAP+AgID/gICA/wAAAAAAAAAAgICA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAP//AAD/gAAA/wAAAP+AgID/gICA/4CAgP8AAAD/AAAA/4CA + gP+AgID/AAAA/4CAgP+AgID/gICA/4CAgP+AgID/gICA/4CAgP+AgID/gICA/4CAgP+AgID/AAAA/wAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAP///////wAA/4CAgP+AgID/gICA/4CA + gP+AgID/gICA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP+AgID/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAP//AAD/gAAA/4CA + gP8AAAAAAAAAAAAAAACAgID/gICA/wAAAP8AAID/AACA/wAAgP8AAP//AAD//wAA//8AAP//AAD//wAA + //8AAP//AAD//wAAAP+AgID/AAAA/wAAAACAgID/gICA/4CAgP8AAAAAgICA/4CAgP+AgID/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8A + AP+AAAD//wAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICAgP8AAAD/AACA/wAAgP8AAP//AAD//wAA + //8AAP//AAD//wAA//8AAP//AAD//wAAAP+AgID/AAAA/4CAgP8AAAD/AAAA/wAAAP+AgID//wAA/4AA + AP//AAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAIAAAP//AAD/gAAA//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgID/AAAA/wAA + AP8AAID/AACA/wAA//8AAP//AAD//wAA//8AAP//AAD//wAAAP+AgID/AAAA/wAAAP+AgID/gICA/4CA + gP8AAAD/gAAA//8AAP+AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAP+AAAD//wAA/4CAgP//////AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAgP8AAP//AAD//wAA//8AAP//AAD//wAAAP8AAAD/gICA/4CA + gP+AgID/gICA/4CAgP+AgID//wAA////////AAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAP//AAD/gAAA/wCAgP+AgID//////wAA + AAAAAAAAAAAAAAAAAP8AAAD/AAAA/wAAAAAAAAAAAAAAAAAAAP8AAP//AAD//wAA//8AAP//AACA/wAA + AP+AgID/gICA/4CAgP8AAAAAAAAAAAAAAACAgID/gAAA//8AAP+AAAD/AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICA//// + //8A////gICA////////////AAAAAICAgP8AAID/AACA/wAAAP8AAAD/AAAA/wAA//8AAP//AAD//wAA + gP8AAID/AAAA/4CAgP+AgID/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAA/4AAAP//AAD/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAgICA//////8AAAAAAP///4CAgP///////////wAAAAAAAID/AACA/wAAgP8AAP//AAD//wAA + //8AAID/AACA/wAAAP8AAAD/gICA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////gAAA//8A + AP+AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAgICA//////8A////AAAAAAD///+AgID///////////8AAID/AACA/wAA + gP8AAP//AAD//wAAgP8AAAD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP// + //+AgID//wAA/4AAAP//AAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICA//////8AAAAAAP///wAAAAAA////gICA/4CA + gP8AAID/AACA/wAAgP8AAP//AAD//wAAAP8AAAAAAAAAAAAAAAAAAAD/AAAA/wAAAP8AAAAAAAAAAAAA + AAAAAAAA/////4CAgP8AAAAAgAAA//8AAP+AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICA//////8A////AAAAAAD/ + //8AAAAAAP///wAAAAAAAID/AACA/wAAgP8AAP//AAD//wAA//8AAAD/AAAA/wAAAP8AAID/AAD//wAA + AP+AgID/AAAAAP//////////gICA/wAAAAAA////AAAAAACAgP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICA//// + //8AAAAAAP///wAAAAAA////AAAAAAD///8AAID/AACA/wAAgP8AAP//AAD//wAA//8AAP//AAD//wAA + //8AAP//AAD//wAAAP+AgID///////////+AgID/AAAAAAD///8AAAAAAP///wCAgP8AAAD/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAgICA//////8A////AAAAAAD///8AAAAAAP///wAAAAAAAID/AACA/wAAgP8AAP//AAD//wAA + //8AAP//AAD//wAA//8AAP//AAD//wAAAP8AAAAA/////4CAgP8AAAAAAP///wAAAAAA////AAAAAACA + gP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAgICA//////8AAAAAAP///wAAAAAA////AAAAAAD///8AAID/AACA/wAA + gP8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAAP+AgID/gICA/wAAAAAA////AAAAAAD/ + //8AAAAAAP///wCAgP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICA//////8A////AAAAAAD///8AAAAAAP///wAA + AAAAAID/AACA/wAAgP8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAAP8A////AAAAAAD/ + //8AAAAAAP///wAAAAAA////AAAAAACAgP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICA//////8AAAAAAP///wAA + AAAA////AAAAAAD///8AAAAAAP///wAAAAAA////AAAAAAD///8AAAAAAP///wAAAAAA////AAAAAAD/ + //8AAAAAAP///wAAAAAA////AAAAAAD///8AAAAAAP///wCAgP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICA//// + //8A////AAAAAAD///8AAAAAAP///wAAAAAA////AAAAAAD///8AAAAAAP///wAAAAAA////AAAAAAD/ + //8AAAAAAP///wAAAAAA////AAAAAAD///8AAAAAAP///wAAAAAA////AAAAAACAgP8AAAD/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAgICA//////8AAAAAAP///wAAAAAA////AAAAAAD///8AAAAAAP///wAAAAAA////AAAAAAD/ + //8AAAAAAP///wAAAAAA////AAAAAAD///8AAAAAAP///wAAAAAA////AAAAAAD///8AAAAAAP///wCA + gP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAgICA//////8A////AAAAAAD///8AAAAAAP///wAAAAAA////AAAAAAD/ + //8AAAAAAP///wAAAAAA////AAAAAAD///8AAAAAAP///wAAAAAA////AAAAAAD///8AAAAAAP///wAA + AAAA////AAAAAACAgP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICA//////8AAAAAAP///wAAAAAA////AAAAAAD/ + //8AAAAAAP///wAAAAAA////AAAAAAD///8AAAAAAP///wAAAAAA////AAAAAAD///8AAAAAAP///wAA + AAAA////AAAAAAD///8AAAAAAP///wCAgP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICA//////8A////AAAAAAD/ + //8AAAAAAP///wAAAAAA////AAAAAAD///8AAAAAAP///wAAAAAA////AAAAAAD///8AAAAAAP///wAA + AAAA////AAAAAAD///8AAAAAAP///wAAAAAA////AAAAAACAgP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICA//// + //8AAAAAAP///wAAAAAA////AAAAAAD///8AAAAAAP///wAAAAAA////AAAAAAD///8AAAAAAP///wAA + AAAA////AAAAAAD///8AAAAAAP///wAAAAAA////AAAAAAD///8AAAAAAP///wCAgP8AAAD/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAgICA//////8A////AAAAAAD///8AAAAAAP///wAAAAAA////AAAAAAD///8AAAAAAP///wAA + AAAA////AAAAAAD///8AAAAAAP///wAAAAAA////AAAAAAD///8AAAAAAP///wAAAAAA////AAAAAACA + gP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAgICA//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////wAAAP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICAgP+AgID/gICA/4CAgP+AgID/gICA/4CA + gP+AgID/gICA/4CAgP+AgID/gICA/wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICAgP//////AP///wAA + AAAA////AAAAAAD///8AAAAAAP///wAAAAAA////AAAAAAD///8AAAAAgICA/wAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AACAgID//////wD///8AAAAAAP///wAAAAAA////AAAAAAD///8AAAAAAP///wAAAACAgID/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAgICA/////////////////////////////////////////////////4CA + gP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICAgP+AgID/gICA/4CAgP+AgID/gICA/4CA + gP+AgID/gICA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////8/f////////z9/////////P3////////8/f// + //////z9/////////P3////////8/f////////z9/xH//////P3/AGAA///8/f8AAAD///z9/wAAAP// + /P3/DgAAiP/8/f8fgAAA//z9/w/AAAD//P3/B/gAAP/8/f8DjgBw//z9/8CAAfj//P3/yEAH8P/8/f/E + AD/g//z9/8oA48j//P3/xUABFP/8/f/KgAAo//z9/8VAAlT//P3/yoAAqP/8/f/FQAFU//z9/8qqqqj/ + /P3/xVVVVP/8/f/Kqqqo//z9/8VVVVT//P3/yqqqqP/8/f/FVVVU//z9/8qqqqj//P3/xVVVVP/8/f/A + AAAA//z9/9//wAH//P3/4qq////8/f/xVX////z9//gA/////P3//AH////8/f////////z9//////// + /P3////////8/f////////z9/////////P3////////8/f////////z9/////////P0oAAAAIAAAAEAA + AAABACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + 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 + /8YAhLPGAP//cQD//3EA//+OAP//jgD//3EAoKDjAAAAqgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAgICAVdTU1P8A//+OAP//jgD//3EA//9xAP//jgD//44A//9xAP//cQD/ + /44A//+OAP//cQD//3EA//+OAP//jgD//3EA//9xAP//jgCXl8YAAACqAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgIBV1NTU/wD//44A//+OAP//cQD//3EA//+OAP//jgD/ + /3EA//9xAP//jgD//44A//9xAP//cQD//44A//+OAP//cQD//3EA//+OAJeXxgAAAKoAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICAgFXU1NT/AP//cQD//3EA//+OAP//jgD/ + /3EA//9xAP//jgD//44A//9xAP//cQD//44A//+OAP//cQD//3EA//+OAP//jgD//3EAoKDjAAAAqgAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICAVdTU1P8A//9xAP//cQD/ + /44A//+OAP//cQD//3EA//+OAP//jgD//3EA//9xAP//jgD//44A//9xAP//cQD//44A//+OAP//cQCg + oOMAAACqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgIBV1NTU/3r/ + /8Z6///GoP//jqD//456///Gev//xqD//46g//+Oev//xnr//8ag//+OoP//jnr//8Z6///GoP//jqD/ + /456///GL3FxxgAAAKoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICA + gFWurq6O////Vf///1X///9V////Vf///1X///9V////Vf///1X///9Vvb29xqqqqv+qqqr/qqqq/6qq + qv+qqqr/qqqq/6qqqv84ODj/AAAAOQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAICAgHGq4uL/Qv//jgD//44A//+OAP//cQD//3EA//+OAP//joCAgHGAgIA5AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAKCgoI6q4uL/z///xs///8a8///jvP//48///8aNvb3GgICAOQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICAgHGAgICqgICAqoCAgKqAgICqgICAqoCA + gDkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////////////// + ////////+D////gAA//4AAP/+MAAH/jgAB/4IAAf+AADH/wADh/8AAwf/AAAH/wAAB/8AAAf/AAAH/wA + AB/8AAAf/AAAH/wAAB/8AAAf/AAAH/4AP///AH///4D/////////////////////////////KAAAABgA + AAAwAAAAAQAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAACfQED/qlVVv0BAQP9VVVW/gICAQICAgEAAAACAAAAAgAAAAIAAAACAAAAAgAAA + AIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADfPz//fyAg/4CA + gP9gYGD/QEBA/yAgIP9AQED/QEBA/0BAQP9AQED/QEBA/0BAQP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC/AAD/qioqvwAAAACAgIBAVVVVvwAAYP8AAL//AAD//wAA + //8AAP//AAB//0BAQP9VVVW/QEBA/6pVVb+fQED/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAC/AAD/v19f/////0AAAAAAAAAAAEBAQIAAACq/AAB//wAA//8AAP//AAB//0BAQP9gYGD/gICA/38g + IP/fPz//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC/AACAf39//3+/v/////+AQEBAgAAA + QP8AAACAAABVvwAA//8AAL//ICBA/4CAgL+AgIBAAAAAAKoqKr+/AAD/AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAv7+//wD//4B/v7//////vwAAgP8AAL//AADf/wAAQP8AAACAgICAQAAA + AAAAAAAA////QL9fX/+/AAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv7+//wD/ + /4AA//+AVaqqvwAAgP8AAL//AAC//wAAAIAAACq/AAA//4CAgED///+Aqqqqv0B/f4BfICD/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv7+//wD//4AA//+AAP//gAAAgP8AAL//AAD//wAA + //8AAP//AAB//9TU1L+qqqq/AP//gAD//4AAQED/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAv7+//wD//4AA//+AAP//gAAAgP8AAL//AAD//wAA//8AAP//AAB//1Wqqr8A//+AAP//gAD/ + /4AAQED/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv7+//wD//4AA//+AAP//gAD/ + /4AA//+AAP//gAD//4AA//+AAP//gAD//4AA//+AAP//gAD//4AAQED/AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAv7+//wD//4AA//+AAP//gAD//4AA//+AAP//gAD//4AA//+AAP//gAD/ + /4AA//+AAP//gAD//4AAQED/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv7+//wD/ + /4AA//+AAP//gAD//4AA//+AAP//gAD//4AA//+AAP//gAD//4AA//+AAP//gAD//4AAQED/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv7+//wD//4AA//+AAP//gAD//4AA//+AAP//gAD/ + /4AA//+AAP//gAD//4AA//+AAP//gAD//4AAQED/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAqqqqv////4D///+A////gP///4D///+A////gP///4C/v7//v7+//7+/v/+/v7//v7+//7+/ + v/8AAAC/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICAQJ/f3/8A//+AAP//gAD/ + /4AA//+AAP//gICAgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAICAgEC/v7//v7+//7+/v/+/v7//qqqqvwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP// + /0H///9B////Qf///0HwAP9B8AD/QfIAD0HxgA9B8ABPQfgBj0H4AA9B+AAPQfgAD0H4AA9B+AAPQfgA + D0H4AA9B+AAPQfgH/0H8D/9B////Qf///0H///9B////QSgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICAHICAgDmAgIBVAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANQAAFWqODj/VVVV/1BQUOMwMDDjKioq/yoq + Kv8qKir/KioqqgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACqAABVvy8v4wAAAABgYGBxDg5V/wAA + 4v8AAP7/AACq/0BAQONVVVX/jzAw46oqKlUAAAAAAAAAAAAAAAAAAAAAvwAAOZ9PT+Oq1NSqf39/VQAA + M44AADbGAADw/w4Of/9tbW3GgICAVb8/P+PUAABVAAAAAAAAAAAAAAAAAAAAAAAAAAC/v7+qGeXljq/P + z+MAAID/AADU/wAAM44ZGRmOAAAAANTU1FW/Ly/jqgAAVQAAAAAAAAAAAAAAAAAAAAAAAAAAv7+/qgD+ + /o4A/v5xAACA/wAA/v8AAKr/AACb/8jIyMZmzMyOAL+/qgAAAFUAAAAAAAAAAAAAAAAAAAAAAAAAAL+/ + v6oA/v5xAP7+jgAkksYAP/7jACT+xgA/v+MzzMyOAP7+jgC/v6oAAABVAAAAAAAAAAAAAAAAAAAAAAAA + AAC/v7+qAP7+jgD+/nEA/v6OAP7+cQD+/o4A/v5xAP7+jgD+/nEAv7+qAAAAVQAAAAAAAAAAAAAAAAAA + AAAAAAAAv7+/qgD+/nEA/v6OAP7+cQD+/o4A/v5xAP7+jgD+/nEA/v6OAL+/qgAAAFUAAAAAAAAAAAAA + AAAAAAAAAAAAALKyso6Z/v6Ov/7+cZn+/o6//v5xlOnpqqTIyMaPz8/jpMjIxl+Pj+MAAAA5AAAAAAAA + AAAAAAAAAAAAAAAAAACAgIAckdraxn/+/qp//v6qaunpqoCAgDkAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAICAgByAgIBVgICAVYCAgDkAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA//+sQf//rEHH/6xBwB+sQcgDrEHAA6xB4COsQeADrEHgA6xB4AOsQeAD + rEHgA6xB4H+sQfD/rEH//6xB//+sQQ== + + + \ No newline at end of file diff --git a/Themenmanagement/Diverse Formulare/frmAbout.vb b/Themenmanagement/Diverse Formulare/frmAbout.vb new file mode 100644 index 0000000..b010bf1 --- /dev/null +++ b/Themenmanagement/Diverse Formulare/frmAbout.vb @@ -0,0 +1,12 @@ +Public Class frmAbout + + Private Sub btnOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOK.Click + Me.Close() + End Sub + + Private Sub frmAbout_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + Me.lblVersion.Text = "Version " & Globals.clsapplication.sVersion.Value + Me.lblversiondatum.Text = Globals.Versionsdatum + + End Sub +End Class \ No newline at end of file diff --git a/Themenmanagement/Diverse Formulare/frmLogin.designer.vb b/Themenmanagement/Diverse Formulare/frmLogin.designer.vb new file mode 100644 index 0000000..66cba30 --- /dev/null +++ b/Themenmanagement/Diverse Formulare/frmLogin.designer.vb @@ -0,0 +1,89 @@ + _ +Partial Class frmLogin + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmLogin)) + Me.lblBitteAnmelden = New System.Windows.Forms.Label() + Me.cbMitarbeiter = New System.Windows.Forms.ComboBox() + Me.btnAbbruch = New System.Windows.Forms.Button() + Me.btnAnmelden = New System.Windows.Forms.Button() + Me.SuspendLayout() + ' + 'lblBitteAnmelden + ' + Me.lblBitteAnmelden.Location = New System.Drawing.Point(12, 9) + Me.lblBitteAnmelden.Name = "lblBitteAnmelden" + Me.lblBitteAnmelden.Size = New System.Drawing.Size(136, 23) + Me.lblBitteAnmelden.TabIndex = 3 + Me.lblBitteAnmelden.Text = "Bitte melden Sie sich an" + ' + 'cbMitarbeiter + ' + Me.cbMitarbeiter.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Append + Me.cbMitarbeiter.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems + Me.cbMitarbeiter.FormattingEnabled = True + Me.cbMitarbeiter.Location = New System.Drawing.Point(15, 35) + Me.cbMitarbeiter.Name = "cbMitarbeiter" + Me.cbMitarbeiter.Size = New System.Drawing.Size(257, 21) + Me.cbMitarbeiter.TabIndex = 4 + ' + 'btnAbbruch + ' + Me.btnAbbruch.DialogResult = System.Windows.Forms.DialogResult.OK + Me.btnAbbruch.Location = New System.Drawing.Point(158, 76) + Me.btnAbbruch.Name = "btnAbbruch" + Me.btnAbbruch.Size = New System.Drawing.Size(104, 24) + Me.btnAbbruch.TabIndex = 6 + Me.btnAbbruch.Text = "&Abbruch" + ' + 'btnAnmelden + ' + Me.btnAnmelden.DialogResult = System.Windows.Forms.DialogResult.OK + Me.btnAnmelden.Location = New System.Drawing.Point(14, 76) + Me.btnAnmelden.Name = "btnAnmelden" + Me.btnAnmelden.Size = New System.Drawing.Size(104, 24) + Me.btnAnmelden.TabIndex = 5 + Me.btnAnmelden.Text = "&Anmelden" + ' + 'frmLogin + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(308, 129) + Me.Controls.Add(Me.btnAbbruch) + Me.Controls.Add(Me.btnAnmelden) + Me.Controls.Add(Me.cbMitarbeiter) + Me.Controls.Add(Me.lblBitteAnmelden) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.Name = "frmLogin" + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "Benutzerauswahl TIM" + Me.TopMost = True + Me.ResumeLayout(False) + + End Sub + Friend WithEvents lblBitteAnmelden As System.Windows.Forms.Label + Friend WithEvents cbMitarbeiter As System.Windows.Forms.ComboBox + Friend WithEvents btnAbbruch As System.Windows.Forms.Button + Friend WithEvents btnAnmelden As System.Windows.Forms.Button +End Class diff --git a/Themenmanagement/Diverse Formulare/frmLogin.resx b/Themenmanagement/Diverse Formulare/frmLogin.resx new file mode 100644 index 0000000..6dd560b --- /dev/null +++ b/Themenmanagement/Diverse Formulare/frmLogin.resx @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + AAABAAEAICAEAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP// + AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACIiIAAAAAAAAAAAAAIi + IiJyIiIiIAAAAAAAACIndyInd3ciIiIAAAAAAAIid3cvJ3d3ciIiAAAAAAACJ3d3f4J3d3ciIgAAAAAA + Ind3co/3d3d3ciIAAAAAACJ3d3L//yd3d3IgAAAAAAACd3dy//+Cd3dyIAAAAAAAAnd3cv//9yd3cgAA + AAAAAAIneHf///9ndyAAAAAAAAAAInh3hzM3giIAAAAAAAAAAAAiIzMzMzMgAAAAAAAAAAAAAAMzMzMz + MAAAAAAAAAAAAAAzu7u7uzMAAAAAAAAAAAABO7u7u7uzAAAAAAAAAAAAA7u7u7u7uzAAAAAAAAAAAAO7 + u7u7u7swAAAAAAAAAAATu7u7u7u7sQAAAAAAAAAAE7u7u7u7u7MAAAAAAAAAADu7u7u7u7uzAAAAAAAA + AAAbu7u7u7u7swAAAAAAAAAAG7u7u7u7u7MAAAAAAAAAABO7Mzu7u7szAAAAAAAAAAADMzMzMzMzMwAA + AAAAAAAAAzM3eIdzMzMAAAAAAAAAAAAzeIiIiHMxAAAAAAAAAAAAM4iIiIdzMAAAAAAAAAAAAAM4iIiI + MwAAAAAAAAAAAAAAM4iIczAAAAAAAAAAAAAAAAATMxAAAAAAAAD/4AAf/gAAD/gAAA/wAAAP8AAAD/AA + AA/wAAAP8AAAD/AAAA/wAAAf8AAAH/gAAD/4AAB//gAA//+AAH//gAB//wAAP/8AAD//AAA//wAAP/8A + AB//AAAf/wAAH/8AAB//AAAf/wAAP/+AAD//gAA//8AAP//AAH//4AD///gD/w== + + + \ No newline at end of file diff --git a/Themenmanagement/Diverse Formulare/frmLogin.vb b/Themenmanagement/Diverse Formulare/frmLogin.vb new file mode 100644 index 0000000..d7176d9 --- /dev/null +++ b/Themenmanagement/Diverse Formulare/frmLogin.vb @@ -0,0 +1,41 @@ +''' +''' Form fr den Login. Wird nur angezeigt, sofern in der Tabelle Application Show-Login = true +''' +''' +Public Class frmLogin + + Dim m_mitarbeiternr As Integer + Property Mitarbeiternr() As Integer + Get + Return m_mitarbeiternr + End Get + Set(ByVal value As Integer) + m_mitarbeiternr = value + End Set + End Property + + Dim tmp_madaten As New DataTable + Dim tmp_clsmitarbeiter As New DB.MyMitarbeiter + Dim conn As New DB.clsConnectionProvider + + Private Sub frmLogin_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + conn = Globals.conn + tmp_clsmitarbeiter.cpMainConnectionProvider = conn + conn.OpenConnection() + tmp_madaten = tmp_clsmitarbeiter.SelectAllwithFullname + Me.cbMitarbeiter.DataSource = tmp_madaten + Me.cbMitarbeiter.DisplayMember = "Fullname" + Me.cbMitarbeiter.ValueMember = "Mitarbeiternr" + conn.CloseConnection(True) + End Sub + + Private Sub btnAnmelden_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAnmelden.Click + Me.Mitarbeiternr = Me.cbMitarbeiter.SelectedValue + Me.DialogResult = Windows.Forms.DialogResult.OK + End Sub + + Private Sub btnAbbruch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAbbruch.Click + Me.Mitarbeiternr = -1 + Me.DialogResult = Windows.Forms.DialogResult.Cancel + End Sub +End Class \ No newline at end of file diff --git a/Themenmanagement/Diverse Formulare/frmMsgBox.designer.vb b/Themenmanagement/Diverse Formulare/frmMsgBox.designer.vb new file mode 100644 index 0000000..ce0335f --- /dev/null +++ b/Themenmanagement/Diverse Formulare/frmMsgBox.designer.vb @@ -0,0 +1,181 @@ + _ +Partial Class frmMsgBox + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmMsgBox)) + Me.btnYes = New System.Windows.Forms.Button() + Me.btnno = New System.Windows.Forms.Button() + Me.btnAbbruch = New System.Windows.Forms.Button() + Me.txtmsg = New System.Windows.Forms.TextBox() + Me.btnOK = New System.Windows.Forms.Button() + Me.Panel1 = New System.Windows.Forms.Panel() + Me.imgQuestion = New System.Windows.Forms.PictureBox() + Me.imgInformation = New System.Windows.Forms.PictureBox() + Me.imgExclamation = New System.Windows.Forms.PictureBox() + Me.imgCritical = New System.Windows.Forms.PictureBox() + Me.Panel1.SuspendLayout() + CType(Me.imgQuestion, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.imgInformation, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.imgExclamation, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.imgCritical, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'btnYes + ' + Me.btnYes.Location = New System.Drawing.Point(71, 84) + Me.btnYes.Name = "btnYes" + Me.btnYes.Size = New System.Drawing.Size(75, 23) + Me.btnYes.TabIndex = 0 + Me.btnYes.Text = "&Ja" + Me.btnYes.UseVisualStyleBackColor = True + ' + 'btnno + ' + Me.btnno.Location = New System.Drawing.Point(162, 84) + Me.btnno.Name = "btnno" + Me.btnno.Size = New System.Drawing.Size(75, 23) + Me.btnno.TabIndex = 1 + Me.btnno.Text = "&Nein" + Me.btnno.UseVisualStyleBackColor = True + ' + 'btnAbbruch + ' + Me.btnAbbruch.Location = New System.Drawing.Point(254, 84) + Me.btnAbbruch.Name = "btnAbbruch" + Me.btnAbbruch.Size = New System.Drawing.Size(75, 23) + Me.btnAbbruch.TabIndex = 2 + Me.btnAbbruch.Text = "&Abbrechen" + Me.btnAbbruch.UseVisualStyleBackColor = True + ' + 'txtmsg + ' + Me.txtmsg.BackColor = System.Drawing.Color.White + Me.txtmsg.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.txtmsg.Location = New System.Drawing.Point(67, 20) + Me.txtmsg.Multiline = True + Me.txtmsg.Name = "txtmsg" + Me.txtmsg.ReadOnly = True + Me.txtmsg.Size = New System.Drawing.Size(258, 44) + Me.txtmsg.TabIndex = 3 + Me.txtmsg.TabStop = False + ' + 'btnOK + ' + Me.btnOK.Location = New System.Drawing.Point(133, 84) + Me.btnOK.Name = "btnOK" + Me.btnOK.Size = New System.Drawing.Size(75, 23) + Me.btnOK.TabIndex = 5 + Me.btnOK.Text = "&OK" + Me.btnOK.UseVisualStyleBackColor = True + ' + 'Panel1 + ' + Me.Panel1.BackColor = System.Drawing.Color.White + Me.Panel1.Controls.Add(Me.imgQuestion) + Me.Panel1.Controls.Add(Me.imgInformation) + Me.Panel1.Controls.Add(Me.imgExclamation) + Me.Panel1.Controls.Add(Me.txtmsg) + Me.Panel1.Controls.Add(Me.imgCritical) + Me.Panel1.Dock = System.Windows.Forms.DockStyle.Top + Me.Panel1.Location = New System.Drawing.Point(0, 0) + Me.Panel1.Name = "Panel1" + Me.Panel1.Size = New System.Drawing.Size(337, 78) + Me.Panel1.TabIndex = 6 + ' + 'imgQuestion + ' + Me.imgQuestion.Image = CType(resources.GetObject("imgQuestion.Image"), System.Drawing.Image) + Me.imgQuestion.InitialImage = CType(resources.GetObject("imgQuestion.InitialImage"), System.Drawing.Image) + Me.imgQuestion.Location = New System.Drawing.Point(12, 20) + Me.imgQuestion.Name = "imgQuestion" + Me.imgQuestion.Size = New System.Drawing.Size(39, 36) + Me.imgQuestion.TabIndex = 7 + Me.imgQuestion.TabStop = False + ' + 'imgInformation + ' + Me.imgInformation.Image = CType(resources.GetObject("imgInformation.Image"), System.Drawing.Image) + Me.imgInformation.InitialImage = CType(resources.GetObject("imgInformation.InitialImage"), System.Drawing.Image) + Me.imgInformation.Location = New System.Drawing.Point(12, 20) + Me.imgInformation.Name = "imgInformation" + Me.imgInformation.Size = New System.Drawing.Size(39, 36) + Me.imgInformation.TabIndex = 6 + Me.imgInformation.TabStop = False + ' + 'imgExclamation + ' + Me.imgExclamation.Image = CType(resources.GetObject("imgExclamation.Image"), System.Drawing.Image) + Me.imgExclamation.InitialImage = CType(resources.GetObject("imgExclamation.InitialImage"), System.Drawing.Image) + Me.imgExclamation.Location = New System.Drawing.Point(12, 20) + Me.imgExclamation.Name = "imgExclamation" + Me.imgExclamation.Size = New System.Drawing.Size(39, 36) + Me.imgExclamation.TabIndex = 5 + Me.imgExclamation.TabStop = False + ' + 'imgCritical + ' + Me.imgCritical.Image = CType(resources.GetObject("imgCritical.Image"), System.Drawing.Image) + Me.imgCritical.InitialImage = CType(resources.GetObject("imgCritical.InitialImage"), System.Drawing.Image) + Me.imgCritical.Location = New System.Drawing.Point(12, 20) + Me.imgCritical.Name = "imgCritical" + Me.imgCritical.Size = New System.Drawing.Size(39, 36) + Me.imgCritical.TabIndex = 4 + Me.imgCritical.TabStop = False + ' + 'frmMsgBox + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(337, 116) + Me.Controls.Add(Me.Panel1) + Me.Controls.Add(Me.btnOK) + Me.Controls.Add(Me.btnAbbruch) + Me.Controls.Add(Me.btnno) + Me.Controls.Add(Me.btnYes) + Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.MaximizeBox = False + Me.MinimizeBox = False + Me.Name = "frmMsgBox" + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent + Me.Text = "Themenmanagement" + Me.Panel1.ResumeLayout(False) + Me.Panel1.PerformLayout() + CType(Me.imgQuestion, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.imgInformation, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.imgExclamation, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.imgCritical, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + + End Sub + Friend WithEvents btnYes As System.Windows.Forms.Button + Friend WithEvents btnno As System.Windows.Forms.Button + Friend WithEvents btnAbbruch As System.Windows.Forms.Button + Friend WithEvents txtmsg As System.Windows.Forms.TextBox + Friend WithEvents imgCritical As System.Windows.Forms.PictureBox + Friend WithEvents btnOK As System.Windows.Forms.Button + Friend WithEvents Panel1 As System.Windows.Forms.Panel + Friend WithEvents imgExclamation As System.Windows.Forms.PictureBox + Friend WithEvents imgQuestion As System.Windows.Forms.PictureBox + Friend WithEvents imgInformation As System.Windows.Forms.PictureBox +End Class diff --git a/Themenmanagement/Diverse Formulare/frmMsgBox.resx b/Themenmanagement/Diverse Formulare/frmMsgBox.resx new file mode 100644 index 0000000..8620310 --- /dev/null +++ b/Themenmanagement/Diverse Formulare/frmMsgBox.resx @@ -0,0 +1,763 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + /9j/4AAQSkZJRgABAQEAAAAAAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwg + JC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIy + MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAkACQDASIAAhEBAxEB/8QA + HwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIh + MUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVW + V1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXG + x8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQF + BgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAV + YnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOE + hYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq + 8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3m6uorO3aaZsIOOBkk9gB3J9K47WvGbWRw0y23cRRqJJSPcn5 + V/I/WmeN9dNi74IzCAkQPeRhkn8FKj/gRrznRNX0611pr3W4GvIgjN5ZXdvk7Zzx69a9DCYNVYOrPZdF + uznrVuVqK3Ori+JLLL81zehc9ZUhkA/BVQ/rXb6H4nttXjj+eMl+EkjJKOf7vPKt/sn8M1zOmXHhnx5p + F7H/AGRFYyQnaHCqGXIyGDL6dxXlfhrXv7L1qIG4Itp2EcxHQDPDj3U4YfTHernhadSMvZpxlHo9SVVl + Frmd0z6Yoqppd017psE8gAkZcSAdnBw36g0V5h1HlnxTSSF5Zv4FuQ7H0DxIq/rE1eSSXj3EoQMUQnBx + 2HrX0x4s8PRa7p0kbRGTdGY5EBwzLnPy/wC0DyPxHevBLjwjqOgan57W/wBss4ZA3mqpK4BztcdUPsf1 + r2cvxUY0/ZvfocWIpNy5kbmr6ta2GnR6T4bnUW0kRE8yAhjngjnue5rlrfS2uLmG3hXMsrrGg9STgV0m + taofEU1tFp+mSiSMEbUHmOxOOOB0GP1rpfBXgu5e6F1dgCQAj5TkQg8HJHBfHAA+7nJ5wK2UoYehzS+J + 9L3bYcrnOy2PTdA50hJB92aWWZf915GYfoRRWjGixRrGihUUBVA7AUV4B2jqqXWl2V64knt1aQDAkGVc + f8CGDRRQBX/sDTjxJHNMv92e5klX8mYitFI0iQJGioijAVRgCiigB1FFFAH/2Q== + + + + + /9j/4AAQSkZJRgABAQEAAAAAAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwg + JC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIy + MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAjACQDASIAAhEBAxEB/8QA + HwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIh + MUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVW + V1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXG + x8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQF + BgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAV + YnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOE + hYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq + 8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3m6uorO3aaZsIOOBkk9gB3J9K4/VvGTWzEeetv6RRqJJPxJ+V + fyP1qPxxrRs/Nwf9SFjjH/TRhlj+C4H/AAI1i+GNM0HxLoF1BLM66xku8jH5k54Kjuvr/wDqrGc3flju + ejhcLTdP29a/Le2n5+hNF8QGWUbru8UZ6yxxSKPwVUP612OieJrbVlRS8W5jhXjOUY9cc8q2Ox/DNed6 + N4MeG+nm1sxeRbk7U3/I4HV2PZcev41zFj4i06y8btDpU0v9l3Eoi3sMYyeHHfCtyueeOepqI1Jxtz9T + pq4PD1eZYa94q/del+59EUVU0u6a902CeQASMuJAOzg4b9QaK6TxTy74pA24nmYnC3Svgdw8KqP1iasH + wFoVzdzp4hu7gwW8W5oVWTaCB95nPZRz16/Tr6z4s8PRa7p0kbRmQlCjoPvMucjb/tA8j8R3rwjUvDni + jRrO60+1a4udKkkBkFvkgkdN6feU+oPoOuAa5akbT57XPcwVb2mG+rKSi79ez3t5nfG/03x5bajo1lfS + hc4LAbS4HRwO6Z7H2zjivMH8M6hZeLY9Cmj/ANLE6R/IcjBwQw9sHNQ6Jb6zFqcU2lQ3YvIm+VoYyWU/ + l/OvTvBXgq8l1J9T1GQyXkhbe+/d5W7hiWHBkIJAA+7kk84FZXdZrT5noctPLYTammmtI9b/AOR6doHO + kJJ/DNLLMv8AuvIzD9CKK0Y0WKNY0UKigKoHYCiu8+THVUutLsr1xJPbq0gGBIMq4/4EMGiigCv/AGBp + x4kjnmX+7PcySr+TMRWikaRIEjRURRgKowBRRQA6iiigD//Z + + + + + /9j/4AAQSkZJRgABAQEAAAAAAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwg + JC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIy + MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAlACUDASIAAhEBAxEB/8QA + HwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIh + MUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVW + V1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXG + x8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQF + BgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAV + YnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOE + hYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq + 8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3yaaOCF5ZXVI0GWZjgAVzeo+K/s3MSRxJ2afJZvog/qQfaqfj + PXBZExjBEO0hT/FIckH/AICBn6sD2rzC41GSeRpJHLM3JJNd+DwTr+9J2Rz1q/s9Fueip4/2y7WuLZx/ + tWzRAfiHc/pXVaXrdtqaqFwkrLuC7gwYeqsOD/MdwK8l8aa5azWumouivpZVDhpUCeYMDhf7wHXJ9ayf + C3iQ2urQ2wuAIppAFJPEcnRX/Pg+oJFa1MB+69pD7n/wCY1/e5ZH0HRVbT7sX2nwXO3aZEBZf7p7j8Dk + UV5Z1HlnxN3xXMjkHb9qJJ9AYYgP1R68suL6SVtisVTPbqa+hfGvh1NZ06U7T8yBZCoyVwSVcDvtJOR3 + DGvANW0S90e58u6iIU8xyrykg9Vboa97Kq8HD2Tepw4mm+bmOt+JxdodJLf897gD6bY64WyhlmvYIoQT + K7qqAdyTgV1/jrxPp3ikaWmm21zF9mMhl85QNzOF6YJz92tTwL4Ku21GO8uomimA3QxsMNHn/low7Y/h + B5JwegrSlNYbBWqaS10CUfaVbrY9g0DnSgw+6887r/umVyv6EUVft4I7W2igiXbHGoRR6ADFFfOncSVl + Xvh6wvt5ZGjMnL+WRtc+rKcqT9RRRQBStvBmmWsvmRs6t6xRQwn/AL6jRT+tbltaW9nF5VvEsaZyQO59 + Se5ooovcCaiiigD/2Q== + + + + + /9j/4AAQSkZJRgABAQEAAAAAAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwg + JC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIy + MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAjACQDASIAAhEBAxEB/8QA + HwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIh + MUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVW + V1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXG + x8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQF + BgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAV + YnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOE + hYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq + 8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3m6uorO3aaZsIOOBkk9gB3J9K4/VvGTWzEeetv6RRqJJPxJ+V + fyP1qPxxrRs/Nwf9SFjjH/TRhlj+C4H/AAI1i+GNM0HxLoF1BLM66xku8jH5k54Kjuvr/wDqrGc3flju + ejhcLTdP29a/Le2n5+hNF8QGWUbru8UZ6yxxSKPwVUP612OieJrbVlRS8W5jhXjOUY9cc8q2Ox/DNed6 + N4MeG+nm1sxeRbk7U3/I4HV2PZcev41zFj4i06y8btDpU0v9l3Eoi3sMYyeHHfCtyueeOepqI1Jxtz9T + pq4PD1eZYa94q/del+59EUVU0u6a902CeQASMuJAOzg4b9QaK6TxTy74pA24nmYnC3Svgdw8KqP1iasH + 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 + MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAjACQDASIAAhEBAxEB/8QA + HwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIh + MUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVW + V1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXG + x8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQF + BgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAV + YnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOE + hYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq + 8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3m6uorO3aaZsIOOBkk9gB3J9K4/VvGTWzEeetv6RRqJJPxJ+V + fyP1qPxxrRs/Nwf9SFjjH/TRhlj+C4H/AAI1i+GNM0HxLoF1BLM66xku8jH5k54Kjuvr/wDqrGc3flju + ejhcLTdP29a/Le2n5+hNF8QGWUbru8UZ6yxxSKPwVUP612OieJrbVlRS8W5jhXjOUY9cc8q2Ox/DNed6 + N4MeG+nm1sxeRbk7U3/I4HV2PZcev41zFj4i06y8btDpU0v9l3Eoi3sMYyeHHfCtyueeOepqI1Jxtz9T + pq4PD1eZYa94q/del+59EUVU0u6a902CeQASMuJAOzg4b9QaK6TxTy74pA24nmYnC3Svgdw8KqP1iasH + wFoVzdzp4hu7gwW8W5oVWTaCB95nPZRz16/Tr6z4s8PRa7p0kbRmQlCjoPvMucjb/tA8j8R3rwjUvDni + jRrO60+1a4udKkkBkFvkgkdN6feU+oPoOuAa5akbT57XPcwVb2mG+rKSi79ez3t5nfG/03x5bajo1lfS + hc4LAbS4HRwO6Z7H2zjivMH8M6hZeLY9Cmj/ANLE6R/IcjBwQw9sHNQ6Jb6zFqcU2lQ3YvIm+VoYyWU/ + l/OvTvBXgq8l1J9T1GQyXkhbe+/d5W7hiWHBkIJAA+7kk84FZXdZrT5noctPLYTammmtI9b/AOR6doHO + kJJ/DNLLMv8AuvIzD9CKK0Y0WKNY0UKigKoHYCiu8+THVUutLsr1xJPbq0gGBIMq4/4EMGiigCv/AGBp + x4kjnmX+7PcySr+TMRWikaRIEjRURRgKowBRRQA6iiigD//Z + + + + + /9j/4AAQSkZJRgABAQEAAAAAAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwg + JC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIy + MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAjACQDASIAAhEBAxEB/8QA + HwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIh + MUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVW + V1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXG + x8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQF + BgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAV + YnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOE + hYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq + 8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3m6uorO3aaZsIOOBkk9gB3J9K4/VvGTWzEeetv6RRqJJPxJ+V + fyP1qPxxrRs/Nwf9SFjjH/TRhlj+C4H/AAI1i+GNM0HxLoF1BLM66xku8jH5k54Kjuvr/wDqrGc3flju + ejhcLTdP29a/Le2n5+hNF8QGWUbru8UZ6yxxSKPwVUP612OieJrbVlRS8W5jhXjOUY9cc8q2Ox/DNed6 + N4MeG+nm1sxeRbk7U3/I4HV2PZcev41zFj4i06y8btDpU0v9l3Eoi3sMYyeHHfCtyueeOepqI1Jxtz9T + pq4PD1eZYa94q/del+59EUVU0u6a902CeQASMuJAOzg4b9QaK6TxTy74pA24nmYnC3Svgdw8KqP1iasH + wFoVzdzp4hu7gwW8W5oVWTaCB95nPZRz16/Tr6z4s8PRa7p0kbRmQlCjoPvMucjb/tA8j8R3rwjUvDni + jRrO60+1a4udKkkBkFvkgkdN6feU+oPoOuAa5akbT57XPcwVb2mG+rKSi79ez3t5nfG/03x5bajo1lfS + hc4LAbS4HRwO6Z7H2zjivMH8M6hZeLY9Cmj/ANLE6R/IcjBwQw9sHNQ6Jb6zFqcU2lQ3YvIm+VoYyWU/ + l/OvTvBXgq8l1J9T1GQyXkhbe+/d5W7hiWHBkIJAA+7kk84FZXdZrT5noctPLYTammmtI9b/AOR6doHO + kJJ/DNLLMv8AuvIzD9CKK0Y0WKNY0UKigKoHYCiu8+THVUutLsr1xJPbq0gGBIMq4/4EMGiigCv/AGBp + x4kjnmX+7PcySr+TMRWikaRIEjRURRgKowBRRQA6iiigD//Z + + + + + AAABAAgAMDAAAAEACACoDgAAhgAAACAgAAABAAgAqAgAAC4PAAAYGAAAAQAIAMgGAADWFwAAEBAAAAEA + CABoBQAAnh4AADAwAAABACAAqCUAAAYkAAAgIAAAAQAgAKgQAACuSQAAGBgAAAEAIACICQAAVloAABAQ + AAABACAAaAQAAN5jAAAoAAAAMAAAAGAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC + CABJJBsASisjAGc0KAB3PC0AZzswAGdDOwB8QDEAL1JeAFxSUQBoS0QAbFNNAHZTSwBrWVYAclpWAHxf + WQB0Yl0AXGRpAFFteABfcHUAW3R9AGNmaQB7bGsAYmtxAGt3fAB2eHgAhkMyAIhEMwCGSz0Ajk4+AJRJ + NwCWSjgAnE06AKVSPQCGTkAAhVFDAIpQQQCFU0gAmFtMAIRcUwCsVkAAtFpDALxdRgCzXUkAimBVAIFh + WwCIY1oAl2BSAJtiVACUaV0Am2lcALJgTAC9YUkApGNTAKNrXQCrbV4AtmdTALFqVwC8aVQAsWtZALht + WgCHaWAAi21lAIFsaQCIbmgAlWthAIhwbQCZcWcAkXNrAJ5zaQCCdnQAinZ0AIR+fACKfXkAknhyAKhu + YACpdWgAv3lnAMViSgDIZEoAxGpTAMpqUgDBbloA0m1VANV1XgDMe2YAxnxqAMh9awDTfGYA3X9oAIaA + fwCNgH0AlIF7AJmDewClgHUAooJ5AKyIfAC0gXMAu4h4AMuBbgDFg3AAy4p2AM2LeQDUinMA3I98AMKS + fwDMk38A0ZJ8AOiZfwDzmX0A/5p8AEhzggBJf5EAYXmDAHB9gwBOiZwAV4WVAHyGigBtipUAUI2hAFeV + qwBanbMAZpSkAGmXpwBnm60AY56yAF2iuAB8oa8AZKS6AHWktAB4pLQAcaa4AGGqwwBorsYAZK/JAGmw + xwBmsssAaLTOAHWzyABqt9AAarnTAG6+2gBzv9gAb8LdAHLB3AB5x+AAdcnlAHvK5AB5zeoAfdLsAH3T + 8ACMh4YAkYWCAJeIggCWkI4AhZWbAJSUlACampoApImBAKyTjAC/kYUAvJOJALuYjwC+mpAAnqiqAKur + qwC4raoAurq6AMaPgQDGlYkAzZmMANOajADHm5AAyp+UAMChmQDappkA7aOHAOejiQD9oYUA9KGJAOOi + kgDmrJwA66yZAPSulgD4spgAxq6oAMe0rwDOsaoA3baqAN65rwDVvrcA272yANG/ugDks6UA6relAO26 + pgDotKgA672yAMbAvwDOwb0A0cO9AObBtwDjwbkAicnYAJjK0gClydAAic7iAIPQ5gCI0eMAgtPrAIjX + 7ACO2u0Amd3sAIba9ACR3vEAkN/4AI3i9gCH4PgAi+L6AJrl9QCW5/kAlev8AJrs+wCm7PkAovP9AKjx + /ACo+v8AuPj9AMbGxgDOw8AA3cjDANDQ0ADZ2dkA7M7GAOnZ1gDw2NIA9OLdANDg4wDI6/AAwvP6AMv1 + +wDF/f8Ayfz+ANP8/gDc/P4A7ejnAPXq5wDw6ugA5P7/AO3+/wDz8/MA+vTzAPT//wD9/v4A////AAAA + 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 + CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIIABARFgAkExMAHB0jACEhJQApIiQAMCstADIx + NAA5Oj8ARSMeAEwmHwBCKCUATzQvAGEwJgBxOCoAez0uAGc8MQBrRTsAdUAzAHFIPwB7Sz4APT1BAEJB + QwBMSUwAUEJAAE1OUQBRTVAAU1BSAFRVWQBmTUgAdEpBAH5OQgBoUEoAdVBHAGJTUQB/XVYAcVxYAHRi + XQBfYmUAVnR/AGRgYQBuYWAAbGxuAHZmZAB9bWwAZm90AHBvcABzcXEAhkMyAIlEMwCKSDcAhkk6AIpL + PACUSjcAlEs5AJtNOQCdUD0ApVI9AKhTPgCGTkIAh1pQAKZWQgCuV0EAp19OALJZQgC9XkYAv19IAIVj + XACQYlYAnWVXAJRkWQCYZVoAnWlcAK5gTgCyYU0AuGFLAKdiUQCrZlMAtmRRALZrWACMbmYAgWtoAJFr + YgCbbWIAgnBtAJpwZgCTd28Am3VrAJ14bgCNfnkAlXp1AJ99dACWfXgAqnRmAKJ0aACydWcAvH1uAKR7 + cACrfHEAxGJKAMZoUADJblYAxnFcAMh2YgDGfWsAhYB/AJqGfwCtgHQAp4d/AK2GegCpiX4AtIN0ALKG + egC4hXkAu4l8AMSDcwDHjX8AXXaAAF94ggBJf5EAWYWVAGuGjgBzgYYAe4SKAGWMmgB6jZYAdJKeAHmS + nABTkqYAW5SkAF+YqgBbn7YAYZapAGebrABlnrIAXqS7AGumugBuqr4AYqrCAGWxywBqsskAarfRAG65 + 0QB1u9EAbsDbAH3B1wBwwdwAesbcAHbH4AB1yeQAfMvkAH/Q5gB+1PAAioGBAIWLjQCIiYkAloeCAJeJ + hgCdiIMAl42LAI+PkACNlpkAjpmcAJeVlQCmiYAAqoyAAKaRiQC0kYUAo52bAIKlsACMq7AArKemAK2o + pwCxtrUAuLSzALm5uQDDj4IAx5GDAMWWigDQk4QA2JqIAMiilgDEo5sA0qKUAOmqlwDFqqMAxrGsAM+0 + rgDcsqYA27esANK9tQDbvbMA5bSiAOW3qwDhv7YAzcG9AOnDuQCJwtEAicnaAKnFyQCzwcMAodbfAIHN + 4QCF0+oAi9XoAI3Y7gCV3O0AnNztAIje9gCQ2/EArtrhAI3g+ACV4PMAmuHzAJDi+ACa7fsAs+XuAKDn + 9wCu5/UArer3AKHt+wCv7PkAtOv0AL3s9QC57fgApvP+AK/z/QC28fsAu/H6ALL4/QDGxcUAycXDAM3N + zQDcyMMA2tnZAO/WzwDx08sA69nUAPPb1QD24dwAw+XqANHl6ADC9PwAzf3+ANn2+gDz4+AA9OnmAPnx + 7wDk+/0A6/3+APb08wD79fMA9f7+AP39/QD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABoIHK0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcB + AhodBAAAAAAAAAAAAAAAAAAAAAAAAKVwc7hcMAgCAQEIrQAAAAAAAAAAAAAAAAAAAABrbrW5vsTpsBcB + BB0dHQEBMOgAAAAAAAAAAAAAp2+otr7A6Ojp5+sdAQ0AAAAAMAECMAAAAAAAAJ2muMHD6Ofn5+fo5+jo + mgEWdQAAAAAAAAEBrwAAAABfqL/o6Onn5+fp5+i6smEGAaT2XwAAAAAAAQGvAAAAVG2w5+fn5+i7urRp + ZGRlZAEBr/+4nQAAAAAAAa8AAABgqefou7eyaWdlZGVkZWRkAQGv/+xeAAAAAAABrwAASWNzaWVkZVBb + fJpIOTs/QUIDATDr/8KfAAAAAQGvAABYZWRlZGVDgIuNzcZVMjIyMw4BCK3/+F8AAAABAQAAAABHZGRk + Qz3c1db685AyMjIyMgsBFzDot1orAQQAAAAAAABNZGRBH/XkzuXVizIyMjIyMgsBAggICAEBAAAAAAAA + AABMZEEPe5CLiIVSOTo7QWRkZGQMGB0bIwAAAAAAAAAAAFFkQzcRJ3cuVmxBZGRkZGRkZWXF/vxjAAAA + AAAAAAAAAFNkZGRkZGROyMlROD9DZGRkZGb3/8VXAAAAAAAAAAAAAEpkZGRkZD6r+fKcPDY6QmRkZMH+ + 93QAAAAAAAAAAAAAAEBkZGRkOybV9f3xo0QyMztBaO7/71kAAAAAAAAAAAAAXWRkZGRBE5LS+v7105s8 + MjM5s/7+cgAAAAAwMAAAAAAAUzcpamQ4IYnM4f3/+dmcPDIz6v/tWQAAAAEIAAAAAAAABwEpZEMQHo2V + 2/n//d+qMzJx+/y0AAAAAQgAAAAAAAAYASlkT0s5FC6JlOD6+t2ANTW8/vBiAAABCAAAAAAAAB0BKUui + f34tFBkoj8/04pAkMkb7/p4AAAEIAAAAMOcAHQEpNK7MmM+PeILHj5jRkzAxMrewAAAAAQgAAAQCMAAd + ASkSoOXX5svL5fnQjpOMLDIxSZoAAAABCAAwAQEXrRoBKQAhytTX1Ob6+t6Mi30gMTExIgAAAAEILwEX + AQEcCAEpAAAqipaZ2OPal4SBJTQ1FSBFAAAAAQEBBAAABAUFASkAAABaen2Gh4N5dpsAAAAAAAAAAAAB + AQEAAAAAAQEBKQAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBMAAAAAAJAQEpAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAQkAAAAAAAAJAaEAAAAAAAAAAAAAAAAAAAAAAAAAAP/////////D////A///AA//8AAD/wADw/AA + A/HgAAHxwAAA+cAAAPmAAABxgAAAc8AAAAfgAAAP8AAAH/AAAB/4AAAP/AAAD/4AAAf+AAAHnwAAA5+A + AAOfgAABn4AAAZyAAAOYgAADkAgAA4AMAAOGDgD/jw///48P//+fj///KAAAABgAAAAwAAAAAQAIAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAggAMRoYACUlKQBWPToAYzIpAGYzKABzPjEAez8wAF9A + OgBmRT4Af0AxAHxCNAB/SDoAP0FFAEBBRQBLSUsAWlpcAGpXUwB0W1cAcV1YAHZdWQBlZGYAcGxsAHR0 + dgB6d3kAfXx9AIZDMgCIRDMAikU0AI5HNQCMSDcAh0k4AIFLPgCHSz0Akkg2AJZLOACZTDkAolE8AKdT + PgCoUz8AgU1AAI9ZTACUWEkAgl1VAIRdVACmVEAAsFhBALRaQwC2XEUAul1FAIBgWgCdZFUAmGZaAKxg + TgCyYk0AtGNPALhgSgC/YUoAr2hWAKNrXQCva1oAtWpXAIxoYACTamAAhHJuAJFzbACYd28AiXZwAJZ3 + cACSenQAmnpyAKBzaQCndWgAoXhuALR+cADCYUgAxWJKAMdkSwDGaVEAx2tUAMZ8agCUgHwApIB1AKmF + egCthHoAqYt/AMeEcwDGjX8AXXaAAF94gQBYe4gAZX+KAF+AjABdipoAdIGHAH+AgwB2iI8AaYmVAGyQ + ngB6k50AVpasAFiYrgBkkqEAY5+xAGWdsABfp74AdKq+AHKvwgBntM0AabbQAG250QBru9UAbrzVAHC6 + 0gB4xNoAfsneAH7N5QB4zOgAhoKFAIqHiACUiYYAn4qFAIGUnAChj4sApJCKALOUjACmmpYApZyZAIWq + tgCko6QApaSlAK+rqQCwq6oArLy8ALCwsgC+vr4AyZeHAMCYigDKmIoAypiMAMKckgDHnZIAzKCQAMam + ngDWoJMA2aSXAMWuqADHtK8AzLGpANWxpADcs6kAxbSwANW8tADTv7kA4a+gAOK2qwDnvLEA1sG5AO3H + vQCDzN8Ams7aALPKzwChy9IAqNLaAK7R2ACAzeMAgc/oAITS6QCH2O8AkdDgAJbe7QCE2fEAiNnwAJLc + 8QCO5PkAmOLxAJPn/ACp4/EAqOr3ALbn8QCx7/oApfD9ALD2/gC78PoAuPb9AMfHxwDKxMMAycbFAM3N + zQDfz8sA69/cAMXq8ADH8/oA0vX7ANb8/gDj4uEA9ObiAPLp5gD48O0A5fv+AOD9/wDq/P4A/Pf2APH9 + /gD2/v8A+fj4AP38+wD5/v8A/f39AEsAUABpAHAAhwCQAKUAsADEAM8A4QDwAPAR/wDyMf8A9FH/APZx + /wD3kf8A+bH/APvR/wD///8AAAAAABsALwAtAFAAPwBwAFIAkABjALAAdgDPAIgA8ACZEf8ApjH/ALRR + /wDCcf8Az5H/ANyx/wDr0f8A////AAAAAAAIAC8ADgBQABUAcAAbAJAAIQCwACYAzwAsAPAAPhH/AFgx + /wBxUf8AjHH/AKaR/wC/sf8A2tH/AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAALy8AAAAAAAAAAAAAAAA + AAAAAAAAAACCAwEDFwAAAAAAAAAAAAAAAAB9U4t8EQMBAYUAAAAAAAAAAAAAAABUiZuZvIcDAWBgDwEX + AAAAAAAAf1aPlpq7urq6vQ8DQwAAAA8BFwAAAEeKnry6urq6upiNPwGDjAAAAAABEAAAAFWIurq6lI5X + UE5OBQG8xUUAAABgEAAAPICQWFFPPTsxMk1OBQGF35EAAAAPEAAAOE5OTkxkanSBIh0dIwEQxMdFAAAB + FgAAADpOTSq4rcm1GR0dHQYBEIV+GgEPAAAAAEZNTQeldaBvFR0jJScdAgEBARgAAAAAAAA1TSQKXVlC + PkxNTU5NTpffnAAAAAAAAAAANk1NTU00wHklL01OTU/Gy0gAAAAAAAAAADlNTU0kocqiRB8mME2S0Z0A + AAAAAAAAAFJNTU0oX67MyqRBHB4uv89KAAAAELwAAABABBdMCGOowt/Ioy0cSdGfAABgAbwAAAAAARBN + MgtccrLMzassHL7PSwBgAbwAAAAAARA3e3czCVtzwbdrGzTOkwBgAbwAFoUAARAMtKewZmiqcaxwIRuV + AABgAbxgARAAARAUhrG2qcPQpm1pGxsrAABgAXgBAwEXARAAEmx2r7mzbmUTIA0pegBgAQEPAA8DARAA + AABhYmdeWgAAAAAAAABgAQMAAAABARAAAAAAAAAAAAAAAAAAAABgAQAAAAAAARYAAAAAAAAAAAAAAAAA + AAD///MA///BAP/wBwD/gAMA8ABxAMAAeQDAADkAgAA5AIAAGQDAAAMAwAAHAOAADwDwAAcA+AAHAPgA + AwCcAAMAHgABAB4AAQASAAMAAgADAABAAQAIcH8AHH//AD5//wAoAAAAEAAAACAAAAABAAgAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACCAAQERYAIRISACIaHAAbGyEAHB0jACUeIAAtKS0ALCwxADIx + NAB6PC4APDxAAE1MTwBTUFIAVVZaAF5cXgBtX10AcVtYAG5gXwB3YFsAemFcAGVlaQBqaWsAbmxtAGx3 + fAB2dXcAfXx+AIdDMgCCRjcAiEQzAIhFNQCZTDkAnE46AKBPPACBUEQAiFlOAJFURACbV0cAll5QAK5W + QAC4W0UAuVxFAI5mXgCba18ArWFOAL5hSgCgal0AjHFqAI90bwCKfHsAkHp1AK9vYAC6c2EApH92AMNh + SQDEYkoAx2RLAMZlTQDGa1QAxnVhAMWNfwBiiJYAYY2cAHyQlgBwk6AAXaO6AH6jrwB4tMQAeMniAIGB + gwCHhYcAi4iIAIqJjACejIgAg5eeAJKRkgCXlZUAkZqcAKGLhAClkIsAo5GNAKiQiACqlI4AtJGIALaW + jACllZAAgrC9AKelpwCtrq8Ap7O1ALOxsQDFoZgAwaWeAMalnQDPraQA1bOoANK4rQDGubUAxr69AM7B + vQC8w8QAiM7jAIzP4ACO1uYAntblAJ/d7gCD1/EAlN3xAKvf7ACu5/QAsur2ALTs9wC59v0Av/f9AMPC + wgDHx8cAzsPAANvZ2ADh0MwA8uXiAPfp5gDj9/oA5vf5AOH4/AD48/EA+/TzAP///wAAAAAALyYAAFBB + AABwWwAAkHQAALCOAADPqQAA8MMAAP/SEQD/2DEA/91RAP/kcQD/6pEA//CxAP/20QD///8AAAAAAC8U + AABQIgAAcDAAAJA+AACwTQAAz1sAAPBpAAD/eREA/4oxAP+dUQD/r3EA/8GRAP/SsQD/5dEA////AAAA + AAAvAwAAUAQAAHAGAACQCQAAsAoAAM8MAADwDgAA/yASAP8+MQD/XFEA/3pxAP+XkQD/trEA/9TRAP// + /wAAAAAALwAOAFAAFwBwACEAkAArALAANgDPAEAA8ABJAP8RWgD/MXAA/1GGAP9xnAD/kbIA/7HIAP/R + 3wD///8AAAAAAC8AIABQADYAcABMAJAAYgCwAHgAzwCOAPAApAD/EbMA/zG+AP9RxwD/cdEA/5HcAP+x + 5QD/0fAA////AAAAAAAsAC8ASwBQAGkAcACHAJAApQCwAMQAzwDhAPAA8BH/APIx/wD0Uf8A9nH/APeR + /wD5sf8A+9H/AP///wAAAAAAGwAvAC0AUAA/AHAAUgCQAGMAsAB2AM8AiADwAJkR/wCmMf8AtFH/AMJx + /wDPkf8A3LH/AOvR/wD///8AAAAAAAgALwAOAFAAFQBwABsAkAAhALAAJgDPACwA8AA+Ef8AWDH/AHFR + /wCMcf8AppH/AL+x/wDa0f8A////AAAAAAAAAAAAAAAAAABMWwAAAAAAAAAAAABTABoCDUYAAAAAAABW + VWBkWQcAAAYYAAAAUmF1dHRjXQhRAAAAAQAANnNiXj08OTkBdlQAAA8AADU7OElDMyAiA0h5AAABAAAs + OCZwb2ceHgsEEBEFAAAAAC0hGT8yKCo3OStYAAAAAAAALjg4T2UnKDc6eFwAAAAAAEo4OCVqe1okIT1+ + VgBGTQAAFQ4pE2Z8ek4fd18AD0cAAAAKNDESPm1yGy99AA9HABgACjBsaERpRUEcUAAPFwkCEAoAV2tx + bkIUHSMADwEAAAIKAAAAS0AAAAAAAA8WAAAPDAAAAAAAAAAAAAD/+QAA/6EAAPgZAADAHQAAgA0AAIAN + AACAAwAAwAcAAOADAADgAQAAMAEAADgBAAAoAQAAAgEAADOfAAAz/wAAKAAAADAAAABgAAAAAQAgAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAACWkI7/lpCO/5aQjv+WkI7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAEAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAlpCO/wACCP8AAgj/AAII/wACCP+WkI7/lpCO/5aQjv8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAGAAAADAAAABYAAAApAAAAMgAA + ACAAAAAGAAAAAAAAAAAAAAAAAAAAAJaQjv8AAgj/AAII/wACCP8AAgj/AAII/wACCP8AAgj/AAII/5aQ + jv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAANAAAAHgAAADYAAABRAAAAah0R + DomFTz+2wnJc0Ws9MI4AAAAqAAAAApaQjv+WkI7/AAII/wACCP8AAgj/AAII/wACCP+WkI7/AAAAAAAA + AAAAAAAAAAII/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAoAAAAXAAAALQAAAEoAAABtTTAnnKBi + T8rQf2bp/5p8//Shif/mrJz/5sG3/8BkTfMAAABnAAII/wACCP8AAgj/AAII/wACCP8AAgj/AAII/wAC + CP+WkI7/lpCO/5aQjv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAABwAAABAAAAAhAAAAPQAAAGA5JB2NglJDusV7 + ZeLzl3v6+6CF/+qsmv/ctqv/zsG9/8fHx//R0dH//////5aQjv8AAgj/AAII/wACCP8AAgj/AAII/wAC + CP8AAgj/AAII/wACCP8AAgj/AAII/5aQjv+WkI7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAALAAAAGwAAADAAAABFAAAAWgAAAHViQDSlrXBc0+iV + evX/o4X/7a2Z/9+2qf/Rv7r/x8fH/8fHx//Hx8f/x8fH/8fHx//x8fH/AAII/wACCP8AAgj/AAII/wAC + CP8AAAAAAAAAAAAAAAAAAAAAAAAAAAACCP8AAgj/AAII/wACCP+WkI7/lpCO/wAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAgAAAAUAAAAKQAAAEUAAABmUDctl5JjUsHGhW7gzopy7PSu + lv/mtaX/2Lyz/9W+t//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/9DQ0P/+/v7/AAII/wAC + CP8AAgj/lE070wAAAEgAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgj/AAII/wACCP8AAgj/lpCO/5aQ + jv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAALwAAAFcfFRKChV1OtriBa9vnoIX2+LKY/+q3 + pf/cvbL/zsPA/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/9nZ + 2f8AAgj/AAII/wACCP+WkI7/zGpR/zAYEooAAAAbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAII/wAC + CP8AAgj/AAII/5aQjv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAABLeD0ut799Zu7to4f/7bqm/9++ + sf/Rw73/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fH + x//Hx8f/uK2q/7yTif8AAgj/AAII/wACCP//////05qM/4hHN84AAABAAAAAAwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAACCP8AAgj/AAII/5aQjv8AAAAAAAAAAAAAAAAAAAAAAAAABQAAADxzOy24yH1r/5eC + ff+6urr/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fH + x//HtK//v5GF/795Z/+7alb/vF5H/wACCP8AAgj/AAII/5aQjv//////+vTz/8x4Y/ocDgp8AAAAFwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACCP8AAgj/AAII/5aQjv8AAAAAAAAAAAAAAAAAAAAAAAAAITAY + Eo3Sa1L6l5GP/6mpqf/Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x8fH/8eu + qP/Hm5D/x4Jx/8dkS//HZEv/x2RL/8dkS//HZEv/x2RL/wACCP8AAgj/AAII/5aQjv///////////+Cx + pf+LSDfOAAAARQAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgj/AAII/5aQjv8AAAAAAAAAAAAA + AAAAAAAMAAAAW69YQue1gHP/lpaW/8PDw//Hx8f/x8fH/8fHx//Hx8f/x8fH/8fHx//Hx8f/x66o/8eV + if/HfGr/x2pS/8dkS//HZEv/x2RL/8dkS//HZEv/x2RL/8dkS//HZEv/x2RL/wACCP8AAgj/AAII/5aQ + jv////////////Xq5//PalH/LRYRjwAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgj/AAII/5aQ + jv8AAAAAAAAAAAAAAAIAAAAvWi0hsMFuWv+Tk5P/ra2t/8fHx//Hx8f/xsC//8auqP/GlYn/xpWJ/8Z8 + av/GZEv/xmRL/8ZkS//GZEv/xmRL/8ZkS//GZEv/xmRL/8dkS//HZEv/x2RL/8dkS//HZEv/x2RL/wAC + CP8AAgj/AAII/5aQjv/8/Pz////////////appn/qFdC4gAAAFQAAAAKAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAgj/AAII/5aQjv8AAAAAAAAAAAAAAAoAAABZr1dB86CDe/+WkI7/wKGZ/8aPgf/GfGr/xmRL/8Zk + S//GZEv/xmRL/8ZkS//GZEv/qG5g/4p2dP+ReHT/omBQ/6dUP/+nVD//q1ZA/7ZcRf+2XEX/xmRL/8Zj + S//GY0v/xmNL/wACCP8AAgj/AAII/5aQjv+WkI7//v7+////////////03xm/1csIaIAAAAlAAAAAAAA + AAAAAAAAAAAAAAACCP8AAgj/AAII/5aQjv8AAAAAAAAAAAAAAA42GxRvv2BI/75pU//GZEv/xmRL/8Zk + S//GZEv/xmRL/8ZkS//GZEv/xmRL/7BsW/9mlKT/WZ20/1ibsf9hqcH/bbzW/3iktP+FU0j/iUQz/4lE + M/+JRDP/iUQz/4lEM/+USTf/mEs5/6NRPf8AAgj/AAII/wACCP+WkI7/+/v7////////////5sO6/6pX + Q+IAAABPAAAABwAAAAAAAAAAAAAAAAACCP8AAgj/AAII/5aQjv8AAAAAAAAAAAAAAAYAAABAfj8vyMZj + S//GY0v/xmNL/8ZjS//GY0v/xmNL/8ZjS//GY0v/tFpE/2mXp/9qt9D/Z7TN/2awyf+D0Ob/qvH8/5rq + +/9+yuH/gWFb/4lEM/+JRDP/iUQz/4lEM/+JRDP/iUQz/4lEM/8AAgj/AAII/wACCP+WkI7/lpCO//7+ + /v///////////8t/bPssFhGUAAAAIgAAAAEAAAAAAAII/wACCP8AAgj/AAII/wAAAAAAAAAAAAAAAAAA + AAAAAAARAAAAWYRCMtbFY0v/xWNL/8VjS//GY0v/xmNL/8ZjS//AYEj/dFtX/5He8f+W5/n/fdHr/4PT + 7P/F/f//9v///+f///+N4/f/caa4/4lEM/+JRDP/iUQz/4lEM/+JRDP/iUQz/4lEM/+JRDP/AAII/wAC + CP8AAgj/lpCO/5aQjv+WkI7//////+zOxv+zXEbnAAAAWAAAAAsAAgj/AAII/wACCP8AAgj/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAGurVkHuxWNL/8VjS//FY0v/xWNL/8VjS/+hUT3/allX/938 + ///r////muz7/4bW8f/I/P///f///8z+//+F3PX/ZbDJ/4lEM/+JRDP/iUQz/4lEM/+JRDP/iUQz/4lE + M/+JRDP/iUQz/wACCP8AAgj/AAII/wACCP+WkI7/lpCO/5aQjv+WkI7/lpCO/wACCP8AAgj/AAII/wAC + CP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAACUsFhCOvF5H+sVjSv/FY0r/xWNK/8Vj + Sv+DQjH/aEY//8jr8P/x////m+v6/3zM5/+Z4/P/qO/5/47i9f9wwNv/W5So/4hEM/+IRDP/iEQz/4hE + M/+JRDP/iUQz/4lEM/+JRDP/jEU0/5xNOv8AAgj/AAII/wACCP8AAgj/AAII/wACCP8AAgj/AAII/wAC + CP8AAgj/AAII/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAA5VywhssVj + Sv/FY0r/xWNK/8VjSv99Py//ZjMm/3B9g/+S3vD/e8zm/2ezzf9jq8T/aLPM/2Ksxf9Xma//cFpW/4hE + M/+IRDP/l0s4/5dLOP+fTzv/p1M+/7ZbRP/CYUj/xmNK/8ZjSv/GY0r/xmNK/wACCP8AAgj/AAII/wAC + CP8AAgj/AAII/wACCP8AAAAuAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAALAAAAUIVCMtTFY0r/xWNK/8VjSv+bTjr/ZjMm/2YzJv9ie4X/YKe//1qetf9Pi5//UI2h/1KA + kP+UaWD/xmNK/8ZjSv/GY0r/xmNK/8ZjSv/GY0r/xmNK/8ZjSv/GY0r/xmNK/8ZjSv/GY0r/xmNK/8Zj + Sv/NmYz/9vb2//7+/v//////79fR/7leSO8AAABhAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAFgAAAGmsVkDtxWNK/8VjSv/FY0r/lUs4/2s2KP9mMyb/XFJR/2lr + bv9cZGn/fF9Z/7tiS/+kgnj/rJSN/59PO/+6XUX/xmNK/8ZjSv/GY0r/xmNK/8ZjSv/GY0r/xmNK/8Zj + Sv/GY0r/xmNK/8ZjSv/IZEr/6NvY//z8/P///////////+Oikv9OJx6rAAAALgAAAAIAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAACIXCwiEslhD9sViSv/FYkr/xWJK/8Vj + Sv/FY0r/xWNK/8VjSv/FY0r/xWNK/8VjSv9/enX/zPP6/6XJ0P+EXFP/iEQz/59PO/+yWUL/xmNK/8Zj + Sv/GY0r/xmNK/8ZjSv/GY0r/xmNK/8ZjSv/GY0r/zXxn//Ly8v/+/v7///////Ti3f/GZU30AAAAZwAA + ABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAA0WSwhr8Vi + Sv/FYkr/xWJK/8ViSv/FYkr/xWJK/8ViSv/FY0r/xWNK/8VjSv9tU03/q+35//v////B8vr/hZWb/4hE + M/+IRDP/j0c1/6dTPv++X0f/xmNK/8ZjSv/GY0r/xmNK/8ZjSv/GY0r/xmNK/965r//8/Pz///////// + ///cj3z/cjosugAAADMAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAALAAAAToZCMtHEYkr/xWJK/8ViSv/FYkr/xWJK/8ViSv/FYkr/xWJK/8VjSv9mMyb/mN3r/8z1 + /P//////5P3//43K2P+BbGn/iEQz/4hEM/+IRDP/m006/7JZQv/GY0r/xmNK/8ZjSv/GY0r/xmNK/8x8 + Z//09PT//v7+///////w2NL/x2VN9QAAAHIAAAAWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAF+NRjXdxGJK/8ViSv/FYkr/xWJK/8ViSv/FYkr/xWJK/8Vi + Sv9rNSj/fYyO/4jb8//L9vz//f////X////M9vz/mMrS/3+Gi/+GSz3/iEQz/4hEM/+LRTT/l0s4/65X + Qf/CYUj/xmNK/8ZjSv/gwLn/+vr6////////////6LSo/5lNOtAAAABAAAAABQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABoAAAB1sllD9MRiSv/EYkr/xWJK/8Vi + Sv/FYkr/xWJK/8ViSv99Pi//ak9J/4vf+P+C1e7/yPj9//7/////////9P///7r1/f+I0eP/foWK/4ZL + Pf+IRDP/iEQz/4hEM/+LRTT/n087/7ZbRP/Ia1T/7efm//7+/v//////+/Xz/9p2Xv8AAAB2AAAAEwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAwWy0iqsRi + Sv/EYkr/xGJK/8ViSv/FYkr/xWJK/8ViSv+bTTr/ZjMm/3Wktf9+0+//gdPt/9H7/v/8//////////3/ + ///m////tPX9/4XF1v+AdHT/iEQz/4hEM/+IRDP/iEQz/4hEM/+USTf/yp+U//j4+P///////////+az + p/9uNyq/AAAAOAAAAAMAAAAAAAAAAAAAAAAAAAAAlpCO/5aQjv+WkI7/AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAKAAAAR2EwJMDEYkn/xGJK/5aQjv+WkI7/lpCO/8ViSv+/X0f/cjgq/2c7MP9upLf/dsnl/3/R + 6v+s7fr/5v7///7//////////f///+b+//+18/v/i8zb/4J3dv+IRDP/iEQz/4hEM/+IRDP/jk4+/93I + w//+/v7///////v18//Tc1v5HA4KeQAAABYAAAAAAAAAAAAAAAAAAgj/AAII/wACCP+WkI7/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAFaPRzXaAAII/wACCP8AAgj/lpCO/8ViSv/FYkr/rVZB/2cz + Jv9mOi//Z5ut/3HD3v92yOP/kN/z/9X7/v/7///////////////9////3v7//5vr+f98oa//hks9/4hE + M/+IRDP/iEQz/6x7bv/4+Pj////////////ptaj/jEc2zAAAAEIAAAAFAAAAAAAAAAAAAgj/AAII/wAC + CP+WkI7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAABwAAII/wACCP8AAgj/lpCO/8Vi + Sv/FYkr/xWJK/5ZKOP9nMyb/Zjku/2Sfs/9svNf/cMHc/4TT6/+28/z/7v////7//////////////9/+ + //+X6/z/eLDE/4ZLPf+IRDP/iEQz/4tFM//m29n//f39///////79fP/03Nb+jAYEowAAAAeAAAAAAAA + AAAAAgj/AAII/wACCP+WkI7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAqAAII/wAC + CP8AAgj/lpCO/8ViSv/FYkr/xWJK/8ViSv+nUz7/ikQz/2U5Lv9ia3H/Y52x/2q40/9zw93/jtrt/8z3 + /f/3//////////z////F/f//h+D4/3aktP+HQzL/iEQz/4hEM/+ncGP/9fX1//7+/v//////672y/65Y + Qt4AAABEAAAABQAAAAAAAgj/AAII/wACCP+WkI7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAHAAII/wACCP8AAgj/lpCO/8RiSf+5XEX/iHBt/5RpYP+nZlf/tVpE/6FQPP94PC3/ZzMn/2Bo + bf9gorf/aLXP/3XE3v+h6vf/4P7///n////U////mO/+/3XL5/97bW3/h0My/4hEM/+JRDP/zrGq//v7 + +////////////91/aP8AAABLAAAACQAAAAAAAgj/AAII/wACCP+WkI7/AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAII/wACCP8AAgj/lpCO/8RiSf+HaWD/ic7i/2Kpwf9gpr3/X6W8/22K + lf98bGr/bUQ7/0kkG/9KKyP/UW14/2Ksxf9quNH/iNfs/777/v+/////le7+/3jO6/9qpbn/h0My/4hE + M/+IRDP/lVhJ/+7p6P//////8vLy+y8lIpgAAAArAAAAAwAAAAAAAgj/AAII/wACCP+WkI7/AAAAAAAA + AAAAAAAAAAAAAJaQjv+WkI7/AAAAAAAAAAAAAAAAAAII/wACCP8AAgj/lpCO/6dTPv9qR0D/2Pn9/33O + 5/9zv9j/fMjh/4fV6/96yOH/XaG4/0FzhP8vUl7/S3+Q/3K3zP9mssv/Z7TN/4DR6P+Z7/3/ieH6/3XL + 5/9mssz/fVJJ/4dDMv+IRDP/iEQz/76akP/8/Pz/mpqa0gAAAEgAAAAHAAAAAAAAAAAAAgj/AAII/wAC + CP+WkI7/AAAAAAAAAAAAAAAAAAII/wACCP+WkI7/lpCO/wAAAAAAAAAAAAII/wACCP8AAgj/lpCO/3o9 + LfpoNCf/0ODj/7T2/v+F1/L/kN/4/7v+//+l8Pv/aK7G/12ht/95x+D/m+f3/9T6/P+a3u7/a7nT/2i0 + zv94yeX/ec3q/2/C3v9ircb/eVVN/4dDMv+HQzL/iEQz/4lEM//w6uj/YmJipAAAACAAAAAAAAAAAAAA + AAAAAgj/AAII/wACCP+WkI7/AAAAAAAAAAAAAgj/AAII/wACCP8AAgj/lpCO/wAAAAAAAAAAAAII/wAC + CP8AAgj/lpCO/zUaFLhoNCf/nqiq/+L///+V6/3/j+H7/7z+//+o8fz/dMDa/4PV7v+o8/3/4/////7/ + ///v/v//jNzx/2i1z/9ptc//br/a/2q51P9fnbL/hkMy/4dDMv+HQzL/h0My/4hEM/+7mI//AAAAiQAA + ABUAAAAAAAAAAAAAAAAAAgj/AAII/wACCP+WkI7/AAAAAAAAAAAAAgj/AAII/wACCP8AAgj/lpCO/5aQ + jv8AAAAAAAII/wACCP8AAgj/lpCO/wAAAE9AIBjNcFRN/8P1+/+i9v//iN36/5vs/f+W6P3/h9v3/6Dz + /v/S/////f/////////4////ou37/2q50/9gqcH/ZrPM/2Ksxf9rcnb/hkMy/4ZDMv+HQzL/h0My/4dD + Mv+JRDP/KRQPqgAAACgAAAABAAAAAAAAAAAAAgj/AAII/wACCP+WkI7/AAAAAAACCP8AAgj/AAII/wAC + CP8AAgj/AAII/5aQjv+WkI7/AAII/wACCP8AAgj/lpCO/wAAABIAAABfSiUb32x5f/+D2PH/ftTx/3zR + 7f+C1/P/i+L8/6j6///L////5v///+H///+3+P7/f9Tv/2Svyf9bn7b/XaO6/1yNnf+CRjf/hkMy/4ZD + Mv+GQzL/h0My/4dDMv+IRDP/czkq4wAAAEQAAAAIAAAAAAAAAAAAAgj/AAII/wACCP+WkI7/AAII/wAC + CP8AAgj/lpCO/wACCP8AAgj/AAII/wACCP+WkI7/AAII/wACCP8AAgj/lpCO/wAAAAAAAAAeGQwJhHA3 + KflhYGL/abDH/2/C3f90yeX/fdPw/4ri+f+W7fz/mu/8/47k+P96zur/arnU/1qetP9Uk6j/TIaZ/GJH + Qu5+Py/qfj8v6n8/L+h1OivhUikez1QqH8tqNSfIdjsstEwmHEoAAAAIAAAAAAAAAAAAAgj/AAII/wAC + CP8AAgj/AAII/wACCP8AAgj/AAAAAAAAAAAAAgj/AAII/wACCP+WkI7/AAII/wACCP8AAgj/lpCO/wAA + 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 + U/+pxcn/s8HD/4xuZ/+bTTn/rldB/75fR//FYkn/xmNK/8ZjSv/GY0r/yW5W//Hp5v/+/v7/6cO5/V0z + KKoAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkTCQdSqFM/68RiSv/EYkr/xGJK/8Ri + Sv/EYkr/plZC/4yrsP/g+f3/0eXo/4iIiP+ITT//lEo3/6RRPf+9Xkb/xmNK/8ZjSv/GY0r/3rKm//v7 + +//36eb/v3lo6wAAAEMAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkfDwtunk475sRi + Sv/EYkr/xGJK/8ViSv+pVD//dGJd/5bh9f/Y9vz/7/3+/8Pl6v+OmZz/hWNc/4hFNf+PRzX/plM+/7Va + Q//IdmL/69nU//7+/v/z29X/dDwusAAAACIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AB5QJx6ZxGJK/8RiSv/EYkr/xGJK/7NZQ/91QDP/fcHX/5Db8f/p/f7/+////9z3+/+u2uH/hImM/4ZO + Qf+IRDP/jUY0/5xOO//Flor/+/v7//78/P+vdmjiGAwJVQAAAAEAAAAAAAIIHE1LTcZ0cHD/lpCOVQAA + AAAAAAAAAAAAAgAAACVmMya5kkk4+2RgYf+FgH//w2FJ/5lMOf9oUEv/b6a6/4TT6v+57fj/9P7+//3/ + ///j+/7/s+Xu/4iKiv+GT0P/iEQz/4pIN//cyMP//v7+//HTy/50Qze3AAAAGQAAAAEAAghVAAII/zIx + NP+WkI5VAAAAAAAAAAAAAAAAAAAAAw8HBU4PCQvbAAII/2RgYf/EYkr/v19I/3s9Lv9mTUj/arLJ/3bH + 4P+u5/X/5vz+//7////3/v//tOv0/4KlsP+HRzf/iEQz/7KGev/39fT/+/Ty/86NffEVCghUAAAABwAC + CFUAAgj/MjE0/5aQjlUAAAAAAAAAAAAAAAAAAAAAAAAACwABBbQAAgj/ZGBh/8NhSf+2ZFH/sGBN/51Q + Pf9zST//Zm91/2imu/96xtz/vez1/+v8/v/q/v//oe37/3qRmv+GSDn/j009/8+0rv/9/f3/9uHc/35D + NLMAAAAcAAIIVQACCP8yMTT/lpCOVQAAAAAAAAAAAAAAAAAAAAAAAAABAAEGqwACCP9kYGH/tWJN/42W + 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 + + + \ No newline at end of file diff --git a/Themenmanagement/Diverse Formulare/frmMsgBox.vb b/Themenmanagement/Diverse Formulare/frmMsgBox.vb new file mode 100644 index 0000000..e3e7690 --- /dev/null +++ b/Themenmanagement/Diverse Formulare/frmMsgBox.vb @@ -0,0 +1,26 @@ +Public Class frmMsgBox + + Private Sub btnYes_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnYes.Click + Me.DialogResult = Windows.Forms.DialogResult.Yes + Me.Close() + End Sub + + Private Sub btnno_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnno.Click + Me.DialogResult = Windows.Forms.DialogResult.No + Me.Close() + End Sub + + Private Sub btnAbbruch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAbbruch.Click + Me.DialogResult = Windows.Forms.DialogResult.Cancel + Me.Close() + End Sub + + Private Sub frmMsgBox_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + End Sub + + Private Sub btnOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOK.Click + Me.DialogResult = Windows.Forms.DialogResult.OK + Me.Close() + End Sub +End Class \ No newline at end of file diff --git a/Themenmanagement/Diverse Formulare/frmSplash.designer.vb b/Themenmanagement/Diverse Formulare/frmSplash.designer.vb new file mode 100644 index 0000000..2d3762f --- /dev/null +++ b/Themenmanagement/Diverse Formulare/frmSplash.designer.vb @@ -0,0 +1,92 @@ + _ +Partial Class frmSplash + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmSplash)) + Me.PictureBox1 = New System.Windows.Forms.PictureBox() + Me.Timer1 = New System.Windows.Forms.Timer(Me.components) + Me.lblVersion = New System.Windows.Forms.Label() + Me.lblversiondatum = New System.Windows.Forms.Label() + CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'PictureBox1 + ' + Me.PictureBox1.Dock = System.Windows.Forms.DockStyle.Fill + Me.PictureBox1.ErrorImage = CType(resources.GetObject("PictureBox1.ErrorImage"), System.Drawing.Image) + Me.PictureBox1.Image = CType(resources.GetObject("PictureBox1.Image"), System.Drawing.Image) + Me.PictureBox1.Location = New System.Drawing.Point(0, 0) + Me.PictureBox1.Name = "PictureBox1" + Me.PictureBox1.Size = New System.Drawing.Size(463, 334) + Me.PictureBox1.TabIndex = 0 + Me.PictureBox1.TabStop = False + ' + 'Timer1 + ' + Me.Timer1.Enabled = True + Me.Timer1.Interval = 3000 + ' + 'lblVersion + ' + Me.lblVersion.BackColor = System.Drawing.Color.White + Me.lblVersion.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblVersion.Location = New System.Drawing.Point(279, 0) + Me.lblVersion.Name = "lblVersion" + Me.lblVersion.Size = New System.Drawing.Size(184, 24) + Me.lblVersion.TabIndex = 1 + Me.lblVersion.Text = "Version " + Me.lblVersion.TextAlign = System.Drawing.ContentAlignment.MiddleCenter + ' + 'lblversiondatum + ' + Me.lblversiondatum.BackColor = System.Drawing.Color.White + Me.lblversiondatum.Font = New System.Drawing.Font("Microsoft Sans Serif", 11.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblversiondatum.Location = New System.Drawing.Point(283, 24) + Me.lblversiondatum.Name = "lblversiondatum" + Me.lblversiondatum.Size = New System.Drawing.Size(180, 24) + Me.lblversiondatum.TabIndex = 2 + Me.lblversiondatum.Text = "Version " + Me.lblversiondatum.TextAlign = System.Drawing.ContentAlignment.MiddleCenter + ' + 'frmSplash + ' + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None + Me.ClientSize = New System.Drawing.Size(463, 334) + Me.ControlBox = False + Me.Controls.Add(Me.lblversiondatum) + Me.Controls.Add(Me.lblVersion) + Me.Controls.Add(Me.PictureBox1) + Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None + Me.Name = "frmSplash" + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "frmSplash" + CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + + End Sub + Friend WithEvents PictureBox1 As System.Windows.Forms.PictureBox + Friend WithEvents Timer1 As System.Windows.Forms.Timer + Friend WithEvents lblVersion As System.Windows.Forms.Label + Friend WithEvents lblversiondatum As System.Windows.Forms.Label +End Class diff --git a/Themenmanagement/Diverse Formulare/frmSplash.resx b/Themenmanagement/Diverse Formulare/frmSplash.resx new file mode 100644 index 0000000..b447aab --- /dev/null +++ b/Themenmanagement/Diverse Formulare/frmSplash.resx @@ -0,0 +1,3922 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + /9j/4AAQSkZJRgABAQEASABIAAD/7gAOQWRvYmUAZAAAAAAB/+EarkV4aWYAAE1NACoAAAAIAAcBEgAD + AAAAAQABAAABGgAFAAAAAQAAAGIBGwAFAAAAAQAAAGoBKAADAAAAAQACAAABMQACAAAAHAAAAHIBMgAC + AAAAFAAAAI6HaQAEAAAAAQAAAKIAAADCAEgAAAABAAAASAAAAAEAAEFkb2JlIFBob3Rvc2hvcCBDUzUg + V2luZG93cwAyMDEzOjAxOjIzIDE1OjQxOjMzAAACoAIABAAAAAEAAAHPoAMABAAAAAEAAAFOAAAAAAAA + AAYBAwADAAAAAQAGAAABGgAFAAAAAQAAARABGwAFAAAAAQAAARgBKAADAAAAAQACAAACAQAEAAAAAQAA + ASACAgAEAAAAAQAAGYUAAAAAAAAASAAAAAEAAABIAAAAAf/Y/+0ADEFkb2JlX0NNAAH/7gAOQWRvYmUA + ZIAAAAAB/9sAhAAMCAgICQgMCQkMEQsKCxEVDwwMDxUYExMVExMYEQwMDAwMDBEMDAwMDAwMDAwMDAwM + DAwMDAwMDAwMDAwMDAwMAQ0LCw0ODRAODhAUDg4OFBQODg4OFBEMDAwMDBERDAwMDAwMEQwMDAwMDAwM + DAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCABzAKADASIAAhEBAxEB/90ABAAK/8QBPwAAAQUBAQEBAQEA + AAAAAAAAAwABAgQFBgcICQoLAQABBQEBAQEBAQAAAAAAAAABAAIDBAUGBwgJCgsQAAEEAQMCBAIFBwYI + BQMMMwEAAhEDBCESMQVBUWETInGBMgYUkaGxQiMkFVLBYjM0coLRQwclklPw4fFjczUWorKDJkSTVGRF + wqN0NhfSVeJl8rOEw9N14/NGJ5SkhbSVxNTk9KW1xdXl9VZmdoaWprbG1ub2N0dXZ3eHl6e3x9fn9xEA + AgIBAgQEAwQFBgcHBgU1AQACEQMhMRIEQVFhcSITBTKBkRShsUIjwVLR8DMkYuFygpJDUxVjczTxJQYW + orKDByY1wtJEk1SjF2RFVTZ0ZeLys4TD03Xj80aUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9ic3R1dn + d4eXp7fH/9oADAMBAAIRAxEAPwDsqMfo1HQj1XqTJbW19t1rnOLnHc/xf77LHeytv/W155Z9auq2WuNN + dNbXu/RUCpthaHH9HSHu99r/AMz/AIR67H6w9LzOo/Uqn7I5xdiOOQ/HbH6VjDZub+9vq3evUz899f8A + pPTXCdB6jj9N6xh9QyKhfRRYHPaRMAgt9dg/Oso3etX/AFE0tDPIiWOI9ESBcn0z6v4mZhZ2PTmuBzLM + J1mUKxtZvNrdjBXWfS/V2P8AR9b/AAqlkN6g360V4repZLcazGtzTQBRtDqrMeptAccb1fs723P9T9J6 + 3/DK62yu36w1WVuD634Jcx7TLS021lrmuH0muWZ1Pq72fWZ3TsXGps6pZRVXg22boFVrrbuovySHN/QU + MxKHsqr/AE11v+fUW0KA3/SoIOl/W3qTOn4zeoYzbL7MXAvrtbbrY3LurwLLb2iljaLt7/tPpVerX/gv + UVtn1rybeptwKcNhnLycZ9rrTDa8QY9tt+1tTnOsfXkPayj/AE3p/pf8JWPMv+rFLcvDzOnPZVh4Lqzu + Y0h+JiOZuZjhtrrmfZ7LarKPVbRY/wDn8b1P5xVT1Po+A/Ff0zpFjMmvP+y2VvYGW1nJrrssuDDZ7rM3 + HZTs9T/0J9O1L6oMpCvUKDYx/rhm2MDrcSikZGEzPxHG975bdbXj4uPdXRi23NyX+r/N0MyPWu/QUotP + 1uufhuvsxA2yrG6hfaze5o39Pspo9Nvq013MZkevv/TVV24/836SxsGr6tYtue/NDr6HUXsqsqxmYuPc + 3Dd9qzPs32VzfXzqbqt/2n9X/mP1D+bsWgP+auXivrb0e2w4NsjFdW1joymep9oPrXVU/Zsutu6z7VdX + +mr/AE9P2n00vqoSl1I66H/0Fs4/1qzb+oNx2YBOONjLrm+q707H47M/fZa3G+yNxmerXje/I+0f4f0P + SWr0LqGX1PplPUMmhmL9qY26mplhtIqe1llZtea6f0vu+g1c1fndKZls6pg4TH1+j011L2iwWOrzLMnp + rw/HrfstyacSv0MbfX6zN/pfza1avrN0nC6VTbVi31YWKXY11Ya0HF+zbaX1ZDTb/gm/QrxvtNttP6Wr + 1GJfVMZEfNJ6BJYv/OjDfmWYNVN/qsstx23OZFJvprdlHH9Xdu3PoY61vt/8ERfq71xvWsCu8MIsFVLr + 7Gj9D61lbbb6Md5c51n2Zztl3+jf+i/nWW+mV4kDsXVSSSSXKSSSSUpJJJJSkkkklP8A/9DrsXJ+tOJQ + 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 + bc62u6iuSKWgkPJG39Lv/N/kLqWtaxoa0BrWiGtGgAHYJ0lPjxwxioChdtvFhx4o8OOPCCb+v+EpCynW + txrXUwLAwlpMcx/K9v8AnoqZzWvaWuEtcIIPBBT2Rz34t92NjHp2S/Gay71rTaxznWtIeX02tu9K6rfb + Yy32bP5v0f5pZbMjNNdYd9YqBZaNoApqBlm9luxjzu3b8e71t7Nn6O79HR/g9sVZeOf0b/tFUAbLCA9s + fuWBn6T/AK9/26qf7N6cx73X9JpBsn3VVss3Al1rmWwxjtzrrb7H+z0f0u/1fUSUwwR1HJvbY3q+PlMp + cPVqpraWlrmk1lxruL2WWNd6n0vS/kf4RXnEHqTNjtxbU4WM0hgJY5rv3mvt2/8AgaDi4VtLX/ZaqMFj + 4DWtrBsDWzrY+t/pvfuc938j/hFdppZTWGM7cuPLj++8/nPd+c5JSRM5rXNLXAOa4QQdQQU6SSnOs6W9 + hnFfLePStJIEf6O33Pb/AG/UQnYecw61i0HUGsgR/Jd6zmf57f8AttaySpZfhnKZCScQjKXWBMP+Z/N/ + 8xeMkh1cyvpd72zdcay46srAO0dmstc3d/Xdt/4taNdbK621sG1jAGtHgBoFJJWMPL4cIIxQELq63lw/ + LxS/SWmRO5UkkkpUP//W9VSXyqkkp+qkl8qpJKfqpJfKqSSn6qSXyqkkp+qkl8qpJKfqpJfKqSSn6qSX + yqkkp+qkl8qpJKfqpJfKqSSn6qSXyqkkp//ZAP/tIfZQaG90b3Nob3AgMy4wADhCSU0EJQAAAAAAEAAA + AAAAAAAAAAAAAAAAAAA4QklNBDoAAAAAAJMAAAAQAAAAAQAAAAAAC3ByaW50T3V0cHV0AAAABAAAAABQ + c3RTYm9vbAEAAAAASW50ZWVudW0AAAAASW50ZQAAAABDbHJtAAAAD3ByaW50U2l4dGVlbkJpdGJvb2wA + AAAAC3ByaW50ZXJOYW1lVEVYVAAAAA8ATwBLAEkAIABNAEMAMwA2ADEAKABQAEMATAApAAAAOEJJTQQ7 + AAAAAAGyAAAAEAAAAAEAAAAAABJwcmludE91dHB1dE9wdGlvbnMAAAASAAAAAENwdG5ib29sAAAAAABD + bGJyYm9vbAAAAAAAUmdzTWJvb2wAAAAAAENybkNib29sAAAAAABDbnRDYm9vbAAAAAAATGJsc2Jvb2wA + AAAAAE5ndHZib29sAAAAAABFbWxEYm9vbAAAAAAASW50cmJvb2wAAAAAAEJja2dPYmpjAAAAAQAAAAAA + AFJHQkMAAAADAAAAAFJkICBkb3ViQG/gAAAAAAAAAAAAR3JuIGRvdWJAb+AAAAAAAAAAAABCbCAgZG91 + YkBv4AAAAAAAAAAAAEJyZFRVbnRGI1JsdAAAAAAAAAAAAAAAAEJsZCBVbnRGI1JsdAAAAAAAAAAAAAAA + AFJzbHRVbnRGI1B4bEBSAAAAAAAAAAAACnZlY3RvckRhdGFib29sAQAAAABQZ1BzZW51bQAAAABQZ1Bz + AAAAAFBnUEMAAAAATGVmdFVudEYjUmx0AAAAAAAAAAAAAAAAVG9wIFVudEYjUmx0AAAAAAAAAAAAAAAA + U2NsIFVudEYjUHJjQFkAAAAAAAA4QklNA+0AAAAAABAASAAAAAEAAgBIAAAAAQACOEJJTQQmAAAAAAAO + AAAAAAAAAAAAAD+AAAA4QklNBA0AAAAAAAQAAAB4OEJJTQQZAAAAAAAEAAAAHjhCSU0D8wAAAAAACQAA + AAAAAAAAAQA4QklNJxAAAAAAAAoAAQAAAAAAAAACOEJJTQP1AAAAAABIAC9mZgABAGxmZgAGAAAAAAAB + AC9mZgABAKGZmgAGAAAAAAABADIAAAABAFoAAAAGAAAAAAABADUAAAABAC0AAAAGAAAAAAABOEJJTQP4 + AAAAAABwAAD/////////////////////////////A+gAAAAA/////////////////////////////wPo + AAAAAP////////////////////////////8D6AAAAAD/////////////////////////////A+gAADhC + SU0EAAAAAAAAAgAFOEJJTQQCAAAAAAAMAAAAAAAAAAAAAAAAOEJJTQQwAAAAAAAGAQEBAQEBOEJJTQQt + AAAAAAAGAAEAAAAHOEJJTQQIAAAAAAAQAAAAAQAAAkAAAAJAAAAAADhCSU0EHgAAAAAABAAAAAA4QklN + BBoAAAAAA0sAAAAGAAAAAAAAAAAAAAFOAAABzwAAAAsAVQBuAGIAZQBuAGEAbgBuAHQALQAyAAAAAQAA + AAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAHPAAABTgAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAA + AAAAAAAAAAAAABAAAAABAAAAAAAAbnVsbAAAAAIAAAAGYm91bmRzT2JqYwAAAAEAAAAAAABSY3QxAAAA + BAAAAABUb3AgbG9uZwAAAAAAAAAATGVmdGxvbmcAAAAAAAAAAEJ0b21sb25nAAABTgAAAABSZ2h0bG9u + ZwAAAc8AAAAGc2xpY2VzVmxMcwAAAAFPYmpjAAAAAQAAAAAABXNsaWNlAAAAEgAAAAdzbGljZUlEbG9u + ZwAAAAAAAAAHZ3JvdXBJRGxvbmcAAAAAAAAABm9yaWdpbmVudW0AAAAMRVNsaWNlT3JpZ2luAAAADWF1 + dG9HZW5lcmF0ZWQAAAAAVHlwZWVudW0AAAAKRVNsaWNlVHlwZQAAAABJbWcgAAAABmJvdW5kc09iamMA + AAABAAAAAAAAUmN0MQAAAAQAAAAAVG9wIGxvbmcAAAAAAAAAAExlZnRsb25nAAAAAAAAAABCdG9tbG9u + ZwAAAU4AAAAAUmdodGxvbmcAAAHPAAAAA3VybFRFWFQAAAABAAAAAAAAbnVsbFRFWFQAAAABAAAAAAAA + TXNnZVRFWFQAAAABAAAAAAAGYWx0VGFnVEVYVAAAAAEAAAAAAA5jZWxsVGV4dElzSFRNTGJvb2wBAAAA + CGNlbGxUZXh0VEVYVAAAAAEAAAAAAAlob3J6QWxpZ25lbnVtAAAAD0VTbGljZUhvcnpBbGlnbgAAAAdk + ZWZhdWx0AAAACXZlcnRBbGlnbmVudW0AAAAPRVNsaWNlVmVydEFsaWduAAAAB2RlZmF1bHQAAAALYmdD + b2xvclR5cGVlbnVtAAAAEUVTbGljZUJHQ29sb3JUeXBlAAAAAE5vbmUAAAAJdG9wT3V0c2V0bG9uZwAA + AAAAAAAKbGVmdE91dHNldGxvbmcAAAAAAAAADGJvdHRvbU91dHNldGxvbmcAAAAAAAAAC3JpZ2h0T3V0 + c2V0bG9uZwAAAAAAOEJJTQQoAAAAAAAMAAAAAj/wAAAAAAAAOEJJTQQUAAAAAAAEAAAABzhCSU0EDAAA + AAAZoQAAAAEAAACgAAAAcwAAAeAAANegAAAZhQAYAAH/2P/tAAxBZG9iZV9DTQAB/+4ADkFkb2JlAGSA + AAAAAf/bAIQADAgICAkIDAkJDBELCgsRFQ8MDA8VGBMTFRMTGBEMDAwMDAwRDAwMDAwMDAwMDAwMDAwM + DAwMDAwMDAwMDAwMDAENCwsNDg0QDg4QFA4ODhQUDg4ODhQRDAwMDAwREQwMDAwMDBEMDAwMDAwMDAwM + DAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgAcwCgAwEiAAIRAQMRAf/dAAQACv/EAT8AAAEFAQEBAQEBAAAA + AAAAAAMAAQIEBQYHCAkKCwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAUD + DDMBAAIRAwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHxY3M1FqKygyZEk1RkRcKj + dDYX0lXiZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9jdHV2d3h5ent8fX5/cRAAIC + AQIEBAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUygZEUobFCI8FS0fAzJGLhcoKSQ1MVY3M08SUGFqKy + gwcmNcLSRJNUoxdkRVU2dGXi8rOEw9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vYnN0dXZ3eH + l6e3x//aAAwDAQACEQMRAD8A7KjH6NR0I9V6kyW1tfbda5zi5x3P8X++yx3srb/1teeWfWrqtlrjTXTW + 17v0VAqbYWhx/R0h7vfa/wDM/wCEeux+sPS8zqP1Kp+yOcXYjjkPx2x+lYw2bm/vb6t3r1M/PfX/AKT0 + 1wnQeo4/TesYfUMioX0UWBz2kTAILfXYPzrKN3rV/wBRNLQzyIljiPREgXJ9M+r+JmYWdj05rgcyzCdZ + lCsbWbza3YwV1n0v1dj/AEfW/wAKpZDeoN+tFeK3qWS3Gsxrc00AUbQ6qzHqbQHHG9X7O9tz/U/Set/w + yutsrt+sNVlbg+t+CXMe0y0tNtZa5rh9JrlmdT6u9n1md07FxqbOqWUVV4Ntm6BVa627qL8khzf0FDMS + h7Kq/wBNdb/n1FtCgN/0qCDpf1t6kzp+M3qGM2y+zFwL67W262Ny7q8Cy29opY2i7e/7T6VXq1/4L1Fb + Z9a8m3qbcCnDYZy8nGfa60w2vEGPbbftbU5zrH15D2so/wBN6f6X/CVjzL/qxS3Lw8zpz2VYeC6s7mNI + fiYjmbmY4ba65n2ey2qyj1W0WP8A5/G9T+cVU9T6PgPxX9M6RYzJrz/stlb2BltZya67LLgw2e6zNx2U + 7PU/9CfTtS+qDKQr1Cg2Mf64ZtjA63EopGRhMz8Rxve+W3W14+Lj3V0Yttzcl/q/zdDMj1rv0FKLT9br + n4br7MQNsqxuoX2s3uaN/T7KaPTb6tNdzGZHr7/01VduP/N+ksbBq+rWLbnvzQ6+h1F7KrKsZmLj3Nw3 + fasz7N9lc3186m6rf9p/V/5j9Q/m7FoD/mrl4r629HtsODbIxXVtY6MpnqfaD611VP2bLrbus+1XV/pq + /wBPT9p9NL6qEpdSOuh/9BbOP9as2/qDcdmATjjYy65vqu9Ox+OzP32WtxvsjcZnq143vyPtH+H9D0lq + 9C6hl9T6ZT1DJoZi/amNupqZYbSKntZZWbXmun9L7voNXNX53SmZbOqYOEx9fo9NdS9osFjq8yzJ6a8P + x637LcmnEr9DG31+szf6X82tWr6zdJwulU21Yt9WFil2NdWGtBxfs22l9WQ02/4Jv0K8b7TbbT+lq9Ri + X1TGRHzSegSWL/zow35lmDVTf6rLLcdtzmRSb6a3ZRx/V3btz6GOtb7f/BEX6u9cb1rArvDCLBVS6+xo + /Q+tZW22+jHeXOdZ9mc7Zd/o3/ov51lvpleJA7F1UkkklykkkklKSSSSUpJJJJT/AP/Q67FyfrTiUNx6 + ell1de7YXmjdBc5zd23qG3d7lg2/U19tr7T0O9hscXlld9LGAuO4iuv7b+jZ+6xeipJUsOKEgARdbW8n + 0XG6r0p9QPSsp9GPQ7HoY2zGe8NdZ6/vtuz2/o6/5ulmz2MU8/CfnZNuW/pPU6siw4767a7MCan4ptfR + bj+pl2N3v+0213+r6tdtP6NdSkkkQAFPGO6EHOzCemdVDM1mUx7A/po2jNcy7KIs+0+ta/1Km+i/Jsv9 + L+bR8zp9uVdfkfsvqlN9+TTmNsrs6fNduPW3HqNTbcuytzHVt/SMubausVW/qfTse30b8qqq39x72tdr + /JcUNAngB0q+ryz+hh7bKn9M6qcYsymY+N6vTwyg5oe3Ltx4yvUdZttt9H7S/IZT6nsRMrpLsnIOSel9 + TZcbKLQ4O6a8NdjV24tUV5GTdW7dVkWbvUa/9N6dtPprUf8AW/oYa9zbHvLOGtrcC7t+j3hjVAfXPo0s + B9YB/wBJxZoz/jNf/PXqKP38I/ykP8aLL9yzH/IZNP6k/wB3/vHNb0csxWY1fTerMFdeLXXaLen7x9it + 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 + jJIdXMr6Xe9s3XGsuOrKwDtHZrLXN3f13bf+LWjXWyuttbBtYwBrR4AaBSSVjDy+HCCMUBC6ut5cPy8U + v0lpkTuVJJJKVD//1vVUl8qpJKfqpJfKqSSn6qSXyqkkp+qkl8qpJKfqpJfKqSSn6qSXyqkkp+qkl8qp + JKfqpJfKqSSn6qSXyqkkp+qkl8qpJKf/2QA4QklNBCEAAAAAAFUAAAABAQAAAA8AQQBkAG8AYgBlACAA + UABoAG8AdABvAHMAaABvAHAAAAATAEEAZABvAGIAZQAgAFAAaABvAHQAbwBzAGgAbwBwACAAQwBTADUA + AAABADhCSU0EBgAAAAAABwAIAAAAAQEA/+EN0Gh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8APD94 + cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4NCjx4OnhtcG1l + dGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYw + IDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4NCgk8cmRmOlJERiB4bWxuczpy + ZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPg0KCQk8cmRmOkRl + c2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEu + MC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdEV2 + dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bWxuczpk + Yz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDov + L25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3No + b3AgQ1M1IFdpbmRvd3MiIHhtcDpDcmVhdGVEYXRlPSIyMDEzLTAxLTIzVDE1OjQxOjMzKzAxOjAwIiB4 + bXA6TWV0YWRhdGFEYXRlPSIyMDEzLTAxLTIzVDE1OjQxOjMzKzAxOjAwIiB4bXA6TW9kaWZ5RGF0ZT0i + MjAxMy0wMS0yM1QxNTo0MTozMyswMTowMCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpDNDBFMEZD + RjZBNjVFMjExQjc5QjgzRjNCMDhGNUExQSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpDMzBFMEZD + RjZBNjVFMjExQjc5QjgzRjNCMDhGNUExQSIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlk + OkMzMEUwRkNGNkE2NUUyMTFCNzlCODNGM0IwOEY1QTFBIiBkYzpmb3JtYXQ9ImltYWdlL2pwZWciIHBo + b3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIu + MSI+DQoJCQk8eG1wTU06SGlzdG9yeT4NCgkJCQk8cmRmOlNlcT4NCgkJCQkJPHJkZjpsaSBzdEV2dDph + Y3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6QzMwRTBGQ0Y2QTY1RTIxMUI3 + OUI4M0YzQjA4RjVBMUEiIHN0RXZ0OndoZW49IjIwMTMtMDEtMjNUMTU6NDE6MzMrMDE6MDAiIHN0RXZ0 + OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDUzUgV2luZG93cyIvPg0KCQkJCQk8cmRmOmxp + IHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6QzQwRTBGQ0Y2QTY1 + RTIxMUI3OUI4M0YzQjA4RjVBMUEiIHN0RXZ0OndoZW49IjIwMTMtMDEtMjNUMTU6NDE6MzMrMDE6MDAi + IHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDUzUgV2luZG93cyIgc3RFdnQ6Y2hh + bmdlZD0iLyIvPg0KCQkJCTwvcmRmOlNlcT4NCgkJCTwveG1wTU06SGlzdG9yeT4NCgkJPC9yZGY6RGVz + Y3JpcHRpb24+DQoJPC9yZGY6UkRGPg0KPC94OnhtcG1ldGE+DQogICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgPD94cGFja2V0IGVuZD0ndyc/Pv/iDFhJQ0NfUFJPRklMRQABAQAADEhMaW5vAhAAAG1udHJSR0Ig + WFlaIAfOAAIACQAGADEAAGFjc3BNU0ZUAAAAAElFQyBzUkdCAAAAAAAAAAAAAAABAAD21gABAAAAANMt + SFAgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEWNwcnQAAAFQ + AAAAM2Rlc2MAAAGEAAAAbHd0cHQAAAHwAAAAFGJrcHQAAAIEAAAAFHJYWVoAAAIYAAAAFGdYWVoAAAIs + AAAAFGJYWVoAAAJAAAAAFGRtbmQAAAJUAAAAcGRtZGQAAALEAAAAiHZ1ZWQAAANMAAAAhnZpZXcAAAPU + AAAAJGx1bWkAAAP4AAAAFG1lYXMAAAQMAAAAJHRlY2gAAAQwAAAADHJUUkMAAAQ8AAAIDGdUUkMAAAQ8 + AAAIDGJUUkMAAAQ8AAAIDHRleHQAAAAAQ29weXJpZ2h0IChjKSAxOTk4IEhld2xldHQtUGFja2FyZCBD + b21wYW55AABkZXNjAAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAEnNSR0IgSUVDNjE5 + NjYtMi4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYWVog + AAAAAAAA81EAAQAAAAEWzFhZWiAAAAAAAAAAAAAAAAAAAAAAWFlaIAAAAAAAAG+iAAA49QAAA5BYWVog + AAAAAAAAYpkAALeFAAAY2lhZWiAAAAAAAAAkoAAAD4QAALbPZGVzYwAAAAAAAAAWSUVDIGh0dHA6Ly93 + d3cuaWVjLmNoAAAAAAAAAAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVjLmNoAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRlc2MAAAAAAAAALklFQyA2MTk2Ni0yLjEgRGVmYXVs + dCBSR0IgY29sb3VyIHNwYWNlIC0gc1JHQgAAAAAAAAAAAAAALklFQyA2MTk2Ni0yLjEgRGVmYXVsdCBS + R0IgY29sb3VyIHNwYWNlIC0gc1JHQgAAAAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAAAAAAACxSZWZl + cmVuY2UgVmlld2luZyBDb25kaXRpb24gaW4gSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAsUmVmZXJlbmNl + IFZpZXdpbmcgQ29uZGl0aW9uIGluIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + dmlldwAAAAAAE6T+ABRfLgAQzxQAA+3MAAQTCwADXJ4AAAABWFlaIAAAAAAATAlWAFAAAABXH+dtZWFz + AAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAACjwAAAAJzaWcgAAAAAENSVCBjdXJ2AAAAAAAABAAAAAAF + AAoADwAUABkAHgAjACgALQAyADcAOwBAAEUASgBPAFQAWQBeAGMAaABtAHIAdwB8AIEAhgCLAJAAlQCa + AJ8ApACpAK4AsgC3ALwAwQDGAMsA0ADVANsA4ADlAOsA8AD2APsBAQEHAQ0BEwEZAR8BJQErATIBOAE+ + AUUBTAFSAVkBYAFnAW4BdQF8AYMBiwGSAZoBoQGpAbEBuQHBAckB0QHZAeEB6QHyAfoCAwIMAhQCHQIm + Ai8COAJBAksCVAJdAmcCcQJ6AoQCjgKYAqICrAK2AsECywLVAuAC6wL1AwADCwMWAyEDLQM4A0MDTwNa + A2YDcgN+A4oDlgOiA64DugPHA9MD4APsA/kEBgQTBCAELQQ7BEgEVQRjBHEEfgSMBJoEqAS2BMQE0wTh + BPAE/gUNBRwFKwU6BUkFWAVnBXcFhgWWBaYFtQXFBdUF5QX2BgYGFgYnBjcGSAZZBmoGewaMBp0GrwbA + BtEG4wb1BwcHGQcrBz0HTwdhB3QHhgeZB6wHvwfSB+UH+AgLCB8IMghGCFoIbgiCCJYIqgi+CNII5wj7 + CRAJJQk6CU8JZAl5CY8JpAm6Cc8J5Qn7ChEKJwo9ClQKagqBCpgKrgrFCtwK8wsLCyILOQtRC2kLgAuY + C7ALyAvhC/kMEgwqDEMMXAx1DI4MpwzADNkM8w0NDSYNQA1aDXQNjg2pDcMN3g34DhMOLg5JDmQOfw6b + DrYO0g7uDwkPJQ9BD14Peg+WD7MPzw/sEAkQJhBDEGEQfhCbELkQ1xD1ERMRMRFPEW0RjBGqEckR6BIH + EiYSRRJkEoQSoxLDEuMTAxMjE0MTYxODE6QTxRPlFAYUJxRJFGoUixStFM4U8BUSFTQVVhV4FZsVvRXg + FgMWJhZJFmwWjxayFtYW+hcdF0EXZReJF64X0hf3GBsYQBhlGIoYrxjVGPoZIBlFGWsZkRm3Gd0aBBoq + GlEadxqeGsUa7BsUGzsbYxuKG7Ib2hwCHCocUhx7HKMczBz1HR4dRx1wHZkdwx3sHhYeQB5qHpQevh7p + HxMfPh9pH5Qfvx/qIBUgQSBsIJggxCDwIRwhSCF1IaEhziH7IiciVSKCIq8i3SMKIzgjZiOUI8Ij8CQf + JE0kfCSrJNolCSU4JWgllyXHJfcmJyZXJocmtyboJxgnSSd6J6sn3CgNKD8ocSiiKNQpBik4KWspnSnQ + KgIqNSpoKpsqzysCKzYraSudK9EsBSw5LG4soizXLQwtQS12Last4S4WLkwugi63Lu4vJC9aL5Evxy/+ + MDUwbDCkMNsxEjFKMYIxujHyMioyYzKbMtQzDTNGM38zuDPxNCs0ZTSeNNg1EzVNNYc1wjX9Njc2cjau + Nuk3JDdgN5w31zgUOFA4jDjIOQU5Qjl/Obw5+To2OnQ6sjrvOy07azuqO+g8JzxlPKQ84z0iPWE9oT3g + PiA+YD6gPuA/IT9hP6I/4kAjQGRApkDnQSlBakGsQe5CMEJyQrVC90M6Q31DwEQDREdEikTORRJFVUWa + Rd5GIkZnRqtG8Ec1R3tHwEgFSEtIkUjXSR1JY0mpSfBKN0p9SsRLDEtTS5pL4kwqTHJMuk0CTUpNk03c + TiVObk63TwBPSU+TT91QJ1BxULtRBlFQUZtR5lIxUnxSx1MTU19TqlP2VEJUj1TbVShVdVXCVg9WXFap + VvdXRFeSV+BYL1h9WMtZGllpWbhaB1pWWqZa9VtFW5Vb5Vw1XIZc1l0nXXhdyV4aXmxevV8PX2Ffs2AF + YFdgqmD8YU9homH1YklinGLwY0Njl2PrZEBklGTpZT1lkmXnZj1mkmboZz1nk2fpaD9olmjsaUNpmmnx + akhqn2r3a09rp2v/bFdsr20IbWBtuW4SbmtuxG8eb3hv0XArcIZw4HE6cZVx8HJLcqZzAXNdc7h0FHRw + dMx1KHWFdeF2Pnabdvh3VnezeBF4bnjMeSp5iXnnekZ6pXsEe2N7wnwhfIF84X1BfaF+AX5ifsJ/I3+E + f+WAR4CogQqBa4HNgjCCkoL0g1eDuoQdhICE44VHhauGDoZyhteHO4efiASIaYjOiTOJmYn+imSKyosw + i5aL/IxjjMqNMY2Yjf+OZo7OjzaPnpAGkG6Q1pE/kaiSEZJ6kuOTTZO2lCCUipT0lV+VyZY0lp+XCpd1 + l+CYTJi4mSSZkJn8mmia1ZtCm6+cHJyJnPedZJ3SnkCerp8dn4uf+qBpoNihR6G2oiailqMGo3aj5qRW + pMelOKWpphqmi6b9p26n4KhSqMSpN6mpqhyqj6sCq3Wr6axcrNCtRK24ri2uoa8Wr4uwALB1sOqxYLHW + skuywrM4s660JbSctRO1irYBtnm28Ldot+C4WbjRuUq5wro7urW7LrunvCG8m70VvY++Cr6Evv+/er/1 + wHDA7MFnwePCX8Lbw1jD1MRRxM7FS8XIxkbGw8dBx7/IPci8yTrJuco4yrfLNsu2zDXMtc01zbXONs62 + zzfPuNA50LrRPNG+0j/SwdNE08bUSdTL1U7V0dZV1tjXXNfg2GTY6Nls2fHadtr724DcBdyK3RDdlt4c + 3qLfKd+v4DbgveFE4cziU+Lb42Pj6+Rz5PzlhOYN5pbnH+ep6DLovOlG6dDqW+rl63Dr++yG7RHtnO4o + 7rTvQO/M8Fjw5fFy8f/yjPMZ86f0NPTC9VD13vZt9vv3ivgZ+Kj5OPnH+lf65/t3/Af8mP0p/br+S/7c + /23////bAEMAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQICAgICAgIC + AgICAwMDAwMDAwMDA//bAEMBAQEBAQEBAQEBAQICAQICAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD + AwMDAwMDAwMDAwMDAwMDAwMDAwMDA//AABEIAU4BzwMBEQACEQEDEQH/xAAfAAAABgIDAQAAAAAAAAAA + AAAHCAYFBAkDCgIBAAv/xAC1EAACAQMEAQMDAgMDAwIGCXUBAgMEEQUSBiEHEyIACDEUQTIjFQlRQhZh + JDMXUnGBGGKRJUOhsfAmNHIKGcHRNSfhUzaC8ZKiRFRzRUY3R2MoVVZXGrLC0uLyZIN0k4Rlo7PD0+Mp + OGbzdSo5OkhJSlhZWmdoaWp2d3h5eoWGh4iJipSVlpeYmZqkpaanqKmqtLW2t7i5usTFxsfIycrU1dbX + 2Nna5OXm5+jp6vT19vf4+fr/xAAfAQAABgMBAQEAAAAAAAAAAAAGBQQDBwIIAQkACgv/xAC1EQACAQMC + BAQDBQQEBAYGBW0BAgMRBCESBTEGACITQVEHMmEUcQhCgSORFVKhYhYzCbEkwdFDcvAX4YI0JZJTGGNE + 8aKyJjUZVDZFZCcKc4OTRnTC0uLyVWV1VjeEhaOzw9Pj8ykalKS0xNTk9JWltcXV5fUoR1dmOHaGlqa2 + xtbm9md3h5ent8fX5/dIWGh4iJiouMjY6Pg5SVlpeYmZqbnJ2en5KjpKWmp6ipqqusra6vr/3QAEADr/ + 2gAMAwEAAhEDEQA/ALwNq7V+cHzM+cf8xXYmxv5inbvxr2B8a+2+utr7O2dtTr3Ym9cY+M3tsM5qaKKb + OHF1lBHQVuJkYKZKgyGpYkrpAJcqzzT3QFyyqrAAAL/CD5j59QJb2/OPNnOXPNjZc7z7fY2E8SoixCQE + SB/WRKU0fOtfLzMd/wANu/zBP+90PyE/9EL1V/8AXr279NP/AMp0n7E/6B6Pv6hc9f8AhVrr/smX/rf1 + 7/ht3+YJ/wB7ofkJ/wCiF6q/+vXv300//KdJ+xP+gevf1C56/wDCrXX/AGTL/wBb+ia/IHDb0+LG86Lr + v5Af8KJuy+s975DA0256bbOZ6G2HV5T+A1tXWUNHkaiHCy5MUUNXU4+ZYhMY3kEZZVK8+2pFMRCybkwJ + 9Qn/AED0Ed8F3y1eLt++e+UtvelA+g2pY6SSATolalaGgNCeNKdAZ/p82D/30z75/wDSd9vf/UHumtP+ + jo37E/6B6Jv3/Zf+F/k/7I5P+g+vf6fNg/8AfTPvn/0nfb3/ANQe/a0/6OjfsT/oHr37/sv/AAv8n/ZH + J/0H0K/SdTn/AJHdiYnqfo//AIUU9sdk9h5ulydfjdr7d+OO2Za6agw1FJkMpXTTVVNTUVFRUVLGS8s8 + sceoqgJd1U2T9RtCbkxb0on/AED0abPNPv8Afw7Zs/vlPcXz1oi2b1wCxJJkAAABNSQPz6Pj/Jr7V777 + AwPzR2Z393XujvjO9DfMPsHpTbu9t2Y/C4rI1O3dkUOMxscq47B0lNS0KZKsikq2hLzmJ5iokYAH2rgD + hXV5CxDEVNPl6AdCn2d3rfd2i50td93V7yWx3aW2R2AB0xdtaCtNRGqlTStK9XP+3+pn6pF+TP8APv8A + hn8VO9+xvj12PtTvSv3v1jlqLDbgq9rbS2lkMBPVV+ExeehbGVlfvvF1k8Io8tGrGSniIkDAAgAlLJdw + xSNGxOoU/mK/5eoX5h98+U+Wt63DY76wv2urZ9DMkcZQmgPaTKppnzA6Ax/+FN/wAjtr2L8lkve2vYmy + Fvb62v2UL2v7qb2FeOofl0SL95HkZ66dv3I/ZHF/1v6M72F/O++JXWvTHxZ7zzu0+7araHy6j33J1nSY + ram16nN41evd347Zec/vbSzb1p6TGmXK5ON6f7aer1whmbSwCm/1cWiOTOl+GOhPuXvNyvte08s7xc2d + 79Puol8JQsepfBcRv4gMoAyRTSWqP2dXGxuJESRb6XRXF/rZgGF/8bH2p6lsGoB65+/db697917r3v3X + uve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917 + r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de6 + 97917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuv + /9DZL/lvf9vCv50X/if+gf8A31md9o7b+3vv+ag/44vUQ8g/8r37r/8APVbf8dn6ut9rOpe6AP5QfIzr + z4mdDdk/IHtCtFNtPrnb1TlpKOOaKLIbizEhWk29tPCib0TZvc+bqIKKlWxAlmDNZFYirsEVnY4HRBzP + zFYcqbFuO/bk3+LW6VpUAuxwka1xqdiFHkK1OAevl+/I/v8A7B+UvePZHf3aNea7efZW46nN1sSSPJRY + THKqUmA2viA/MWF2vhKeChpVsD4oAzXdmJKSzOzO/wAR/wBQH5dcxeZeYL7mje9x3zcZNV1cSFj6AcFU + f0VUBVHkoA8ugR966IuuiQoLMQFUEkngAAXJJ/oB78SACTw62ASQAMnrfe/4T/8A8vI/F/4+N8kuzMGa + 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 + upuy/wCXztL+X72LujcG4trbH2Vtbbm2ezKWix+J3bh9ybJJfa+9qHHg1uLir6N7xTUzF4amklmgYgSl + g8Yg0QidiQABXzxwP5dSbde2u0X/ACDacg3s7vaQRKqSgUdXQkq4WpHmVYVypYVBNRU51N/wmtwGGx2R + 2p3l8xuyu1utcZQ7nm646ywW3q/ZuyNr70z2Or6Ki3zlMBXb73VjslW4Wsq0rftaOPHLWVMdp5mhaSN2 + ktVFNbswHAeX209R5eXy6ibbPu3JHBNZb1zjPPtwR/BjjjMaxyMCPEIaVwaVBKqFLEAF9NQbW/gT/LU6 + 6+EPxr7K+MNZvGv712N2pu3dO4t2f3221i8PDkMZvDaG3tm5na9Xi8bV1lNVYypxuBJZi4dvuGFhpB9v + RR+FEsRYsBXJp5/YOpU5E9str5J2HeuXjcm8sL6ZnkDppFGhjhZKamqCqca1z8q9VaZ3/hOxuXr/AHnu + zJ/Df5/90/GrYO8ZZHyOxaak3LkqmClZm8GIm3LtDsnr6XcOMoI5GjpzkaaerSKyyTStqdmBa6STFMyg + +X+r/LXqMbv7vN3aXl0/KXPl1t+3y1rHpctkntLxzRa1FaAMtacSTUmz74i/y09r/FD4i91fFuk7e3v2 + NXd+ydkZPf8A2humhx65g7i7J2JQ7AyGTxWKSepfwUGMxkEyR1tdWTzVAdnn0uFR1IRHG0YckmuTxz1K + HKXtva8rcp7zyyu6y3D3/imWVlA7pohExVKkgAAGjOxLVNQCAHL+Wj/Ll21/La6u371jtjtLcPatLvvf + EO96jLbi29i9uVOOqIdvYvb/ANhBTYqsrYp4Wjxgl1swbU5FrC/v0EQgiEQcsK1qaegHkB6dX9ufbq19 + u7TdLW13F7gXUyyEsgTSVXTQDU1a/b1ZH7e6kfr3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve + /de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v + 3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r//T2S/5b3/bwr+dF/4n/oH/AN9ZnfaO + 2/t77/moP+OL1EPIP/K9+6//AD1W3/HZ+rSfkJ0V1/8AJnpXsfojtDG/xTZHZm2K/beYjTQKygedVmxm + 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 + der8uv/X3+Pfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvf + uvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737 + r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3XvfuvdQGyuLWsGObJUC5BrWoWrK + cVh1C4tSmTzm45Hp+nv3Xup/v3XuoFLlcXXSywUWSoKyeD/Pw0tZT1EsNjpPljikd47NxyBz7917qf79 + 17r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/d + e697917r3v3Xuve/de6//9Df49+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+69 + 1737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvd + e9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3QL9s/IDq/pc4yi3nnKiXc+fjlk21sTbOLyG + 6t+7mSBik0uF2ng6esy09FDINMlU6R0cT2V5VJALF1dW1lby3d7cxw2qCrO7BVUfNmIA/b1okAVJx0BL + fLnsCdnqsZ8Qu8qnELJIEmyGe6fw2aqIEtpngwFb2J5k8t7iOeaCQAG6g8e48m94fbGCf6d+cbUyeqrK + 6/72sZT/AI1TphrqBHEZfPyyP28P83SI3P8AMzcm+9xYDp7prZe4uuu0M/jsllty5nvPaVVhqDr3b+OW + iinrcHh4a84/s/c1XUZFFoqbHZCSiRUeeol8SFGVcx+5PLmxcqT822c43KwVgii2YSAu1aB3FRCuDqdw + KcACxAN5JkjjeStVHpn+fDpsqOn+x8pVR5XNfLP5LPmdTzTNt7cOw9rbf88hJb7ba1B1/PjYaVSfTFIZ + gBxf3jHc/ea5ye5Z7TZNtjtK4RlldqfN/EQV+ej8uittyl1gqgCDy9fz8umbI0HyvzmXg6i3F25U1vTl + TRHP5juLb+Oxuy+566nppUoIupWr8BNBj8a1cwWtn3Fj6KlrmpRJApjkfyAbT/eRtpOTbi+t9sji5x8Y + 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 + SGVVpYGVWkmq51SNX0yaMvfumeztzzzzLfc273tityZZ2txCryxJIk11PE0SiJZVZHa2DmYsVZUkEanu + OMCPv0/eAs/bbk/beReXN4ZfcG/vbW4aOGaSKSCyt5lnczPCySRrdmMW4QOjyRNKwOle4aO1v5dPffTW + 8NmYLerbJxe0t9biXauE7Lqd2zJsakzczBcZjN05xttpPtOt3CfRQNWUa00837Xm8np9y3L9wm0+rJtv + c+Rdv1YV7ENLp9C4uVQtTz0Ur5HqCoP7z+++hUXnszC266Msm5MsJenERtaM4Wv4fFJpjV59XHfDv+Vx + tvojcVH2L2puDG773ji6qmrtvYHEU852rg8hQyeWhzNXX5GnpcjuHJ086rPToaejo6ScBxFNIkcy5Re0 + 3sRyJ7PQTycvW8txvsyaZby4IaZlwdCBQEhjJFSiCrH4mai0ws99PvN+5vv7cW0PNV1DactW764dvtQy + 26PkCSQsWknlAOkPIaKPgRCWJtt9zP1jz1737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Qd7u7e6 + p2BNLTb47L2FtCrhp1q5KLcm7sDhq5aV76JxQ5Cvgq2iex0sEINuPeiQOJ62ATwHQYY35jfFPL1qY7Hf + Ijp+prZGKJAN+bfjJYMEI1zVscYsxtyfezjj1oZNBx6Hbbu6ds7vx4y209xYLc+KaR4Rk9u5fH5rHmaO + 3kiFbjaippjIl+V1XH59+rXI68QRx6Jx8plTs/tr40/G6NY6vG7h3vN3Z2bSl5gF676Z+3ymMoaxIk0t + Sbm7CrsZT8uNS08gtcgj3Xujye/de6CndHe3Smyaiso939uda7arsc2ivx+a3ttzH5GjfQJNFTj6jIpW + Qv4yDZkBsR/X3qorSuet0NK0x0iMP8v/AIsZ+p+zxHyF6frKmwPjXfu3YeDe3qqK+JObf19+Jpk4HXgC + 3DPQ5YDcu3N146PMbWz+E3LiZXeOLKYDK0OZx0kkTaZUjrcdPU0zvG3DAMSD9fewQcjrVKYPHp79+691 + 737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde + 9+691737r3Xvfuvde9+691//0N/j37r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+69173 + 7r3Xvfuvde9+691737r3Xvfuvde9+691737r3QRbm6B6N3nWHI7r6f613BkWqhWyZDKbK29VV81UF0ie + orJMeamok0i3rZvdxJIoorkD7emzFEx1NGpb7B0qcR1v13t/D5Db2B2Hs3C4HL0stFlsLidsYXHYrKUc + 8LU89LkcfSUUNLXU80DlHSVHVlJBBB91LMxqzEnqyoiDSigL8h1Vj3Z/J36b3/larM9X71zPUj1et3wM + mGg3ltulctrWPDJUZPC53FUygBEhetqqaBCRFEgsBC/uB9372p9yrqTcuY+WxHvL01XNq5t53zX9QrWO + QnzaSN3pwYdZEe1v3qPfD2gsYtn5S5wMnLyDss7yMXVtHin6QciWEDySKVErxQ9Als/+SHSU2RiqN7/I + Cauxsc0TS0G29gU1PWVEKsruseQzmfylDSu5XQfJQVSlCeAbEAbZ/ue+x203sd7Js9/eheEdzdM8RPkW + SNYi1PRmKnzU9SVv/wB/z7yW+bfLt8G/bbtpfjLZ2SJPTzCvM84Sv8SoHHFXU9XBdGfHnqj46bWfavVu + 248RBVvTz5rM1cpyG49x1dLAtNBV53MSqJ6toIRpihQR01OGYQxRhiDkpt+32G02Vttu12MNtt0K6Y4o + kVI0UeSooAA88DJycnrD7dN13TfNxvN43rcZ7zdrh9cs0ztLLIx/E7uSzGmBU4AAFAAOhI3js3a3YW1s + 7sne+Bxm59p7mx1Ric9gcxTJV47J4+pXTLBPC/0IIDI6lZIpFV0ZXVWCzpB0R3bG8N1/DLceG6s7fzmU + 3X8bNw5GmwfTneOdqJK3K9ZVtU/ixPVHcuTcMz4ocQYPckxWJ0VKarZZAr+/de6sFVldVdGV0dQyspDK + ysLqysLhlYG4I+vv3Xug37S7g606V2426+z934raWHMhp6Rq6SWbIZassGXHYLD0UVTl87knBBFPSQTT + Ec6bXPvaqzsqIpLk0AAqSfQAZPWmZUVndgEAqScAD1JOAOqzN/8A8zzP1k1VS9L9OoKOMEUu6O3ctNhU + q3Dp66bZe2kyGX+2ePVZqquopgwAMVufcnbF7Rc5b0qTTWqWVqwqGnNGI9REtZP96C9RJzF728i7A8lv + DePf3ikgrbjUoPoZWpH8u1mp6Uz0XOt+cfy5yccyv2Ns3API8rRttnrLFEwRuCI41bc+S3GHMQP6il2I + B+l19yBa+wKeGhveZz4vmI4Rp4+RZ68PVRnqNbr7ybeLILDlIeB+EyT0bhnUqRkcfRuH8oGO+afy8xUc + 5Xt/C7gnkKmMbq6w2jLTQ6StwibXTas5DqDfVI3J4t7dm9gbQqfp+Z5Q1PxQqRXy4OKD14npmH7yd2GH + 1PKMRSoronYGnnQNGQT6ZA6HbYv8zLtTCy01P2v1PtreOMVhHV5/rHM1OBz8cSrGv3f90N1vU4yullkZ + meOPL04jRfTraykE7x7Kc37chlsWgvowOEbaH4eSSadXoNLEk8B0Ptj9/OR90cQ7iLjb5SaAyrrj4gCr + xatPqdSgADJ6O7RfPL4z5DrrNdh0++hGcAtHBkdh5ChmxXZa5nJFIsZgKbZ2RNNX19fkauQQwz05lx7M + Gf7jxI8ixXLY3sF3+75rOVL7UF8NlIfUcAaSK1J4Yz1McO4WFxZfvKC9ifb9BbxVdTHpAqW1glaAZJrj + z6qj7k+XXe/eUtZSz5/IdS7AqXmWl2HsLKy0GfqKF9Ucabv7Ax7wZisrHhIaSDGPQ0iOxU+cKshyE5S9 + kI2hgvubrhxIwB+mjNNNfKWTJ1DzVOHDVx6xk51+8FIk9xt3JVqhjUlfqpRqDUPGGLA0nyaTjxCcOisU + u2Nu0VS9bBhsea+WSWWbJVEC1uUnlmbXNJPk6z7ivmeV/UxaQ3bn6+5o23k/lbaECbfy/aR4AqY1djTh + Vn1MT861+fUC7rzxzjvT69z5mvJBUmgkZFFRQ0WPSoFPICny6dmpKRlKtS0zKwsytTwsrA/UFShBB9nc + lnZzLomtInT0ZFI/YQR0Qx39/C/iQ386SeqyOp/aGB6iYbGLtbKw5/ZGQzPX24abmmzuwstXbTyMbfuE + eX+DzU9HXxiSUsYqmKaJ25ZWt7Bu8+2vJe9q/j7LHDcMSfEg/Sep8+3tP2MpHpTodbF7r8+8vvH9Pv0k + 9soA8K4/WSgwANXeuPNXB9a9Ga6k+Zm9us+2N57/AOy8LXd7djbl6m29sDY+ZpHwW0m2/i9p5iuyj0m8 + jTUIpaLG7oyub+5qshSRSTzS0KItI5CsuOvMntVu218wWex7JOL5rhdajCvEmrTrnHwomcPWjUIAqKdZ + Rcre8Wzbvyzfcw7/AG529bZ9DVq0csmktotz8Uj4zHTUlQWNDXpC9o9694d3VM8vY/Y2Zgwc7Bo+vdiV + lds7Y1HGshdaepjxlTDntzgKdDvk6uZJAT+0ikKsq8ueyGx2MaTcx3DXl5QVRSY4VPmMUd/tJUf0eob5 + q+8FzBuEskHK1sljYZAkdVknYVwaGscf2AOcnu9AWx+2du4kf7jMFiaFtCxtJT0FMs8iJcIJagxmeYqC + bF2Y8+5UseWuXdtTRYbFaRLWvbEla+tSCa/n1Dm4c2807q/ibjzHezPSndM9KHNKAgU/Lpzeio5EaOSj + pZI3FmSSmhdGB+oZWQqQfZlLY2M6hZ7KGRfRo0YfsIPRXDuO427FrfcbiNiKErI6mn2hh1FwmLTaeRXN + bGrsv19noxH4M5sLLV+08jC0RJiN8PPTUtQiOdRjmilic/rVhx7Bu7+2fJO8K/jbHHDMxJ1wfpPU5r29 + p+wqRxAp0Otl92ef9jeMw8wS3ECgDw7j9ZKAUA7u8Y81YHgTWnVhnRf8w7fexKyi298hf9/zsRniph2n + icdDS7y2rEdEYq957dxcEVFufDQD1TVuOiiroUBd6eoOpxj7zt7Sbty1HLuW1SNe7MoJYgUliA83UYZR + 5unDiyqOsmOQferZebJYdq3eJbDfXICgtWGZjikbnKsTwR+OArMerocTlsXn8Xjs5g8jRZfDZeipslis + rjaqGtx+Rx9bClRSVtFV07yQVNLUwSK6OjFWUgg29xH1NfTh7917r3v3Xuve/de697917r3v3Xuve/de + 697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuv/9Hf49+691737r3X + vfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+6917 + 37r3XvfuvdBJ253r1R0XhYs52hvLG7ahrDMmKxzCoyO4M7NAhklp8DtzFw1mbzM0aga/t4HWO4LlQb+3 + IopZ5EhgiZ5mNAqgsxPoAKkn5AdNzTRW8Uk9xKscCCrMxCqoHmWNAB8yeq0N+/zOd4ZSWopum+oaTEY/ + TH9tubt7JvFWzamUySQ7G2lUVM0YERbT9zlYHEgGqLSfco7F7O84bwqTXUMdjbNQ1mPfT/mktWH2Np6i + HmL3x5H2J5be0uJNwvFqKQAeHUeRmaiEV801/sz0VvcHy7+W+5njep7yl2wiO+ui2HsPZmHo5oGcMI5J + 8/jd1ZdZlUaRIlUnHOm/uRbL2D21NB3HmKeQ0yI40QV+RYuafaoJ+XUW7h95HdXDrtfK9vH3drSyvIaf + NUEYr9jED59JE98/Itn8p+RPb/lvq1DN4ZYtX0v9qu3xS6f9p0af8PZp/rE8qU/5Kd/X/TR/9a+ij/gi + +cv+jRt3+8y/9bep9V8kPklkcJndsbk7Wo+yNp7joWxOX2h2t13sjde3K/EzWFXR1aYrF7Zy9Q9SnHke + rbQbFVDAMC2+9g9qcE7bzDcRtQ0EiJIK+WV8MgeuCejTb/vIbxHQbryzbSjUKmKR4zp88MJAT6ZUdCJ8 + cfm92x8duu81sHd+0Zu5cLiIclN1dPjdzGjy+1aRad/4NsfLf3jinr8vtmiqEVYav72etpKdhCsUyomm + O979mucNqWSazjivrdc/pMQ9P+ab0J+xSxx9nUocv++3I28vHBfSzbdctQfrqDHU+XioSo8suEGft6LJ + n987l7d3VX9kdibkO7t81heKWd45abHbSo5SJE2vtTCTs393cHRhgAoHnqmHmneSRi3uZ/bDlTlbarEX + llPFd8wKKTSEEPCxpWNYnAeIDhqZQzkE1A7RA/u7znzhvG4tY39tLZcssawRqwaOdR/orTRlo5iwNdKu + yICBQnuOH3LXUK9e9+691737r3XvfuvdMVTgqar3Djs/UpTyy4jH1tJjw9OjT09RkJac1NUtQ12Q/b0y + xqFsQGe5IIAD9zsEV7zLt+/3XhuLS3ZIl0DUJXYapGfidKDTGv4SWYZPQntOZZrDlPcuWrPxUN7co8za + zoaGNTpiVPw6nOuRvxgKpwOn32IOgx1737r3Xvfuvde9+691Fgoqammq6iGILPXSpLVzfWSd44xFEHY8 + lIYxZF+ij6fU+0FntdlYT7hdW0VLm6k1yuSWZiAAo1GpCIBRErpWpoBXozv943DcrfbLO7mBtLOLw4kU + BUUEks2laAyOTV5KanoNRNOpXtf0Wde9+691737r3XvfuvddEAggi4IIIPIIPBBH5BHv3+Dr3oQc9Hn+ + DXyx2P0bNnule396Y/aOxa8x7o6oymeepixWIr8jkpKbdex4axKWWmoKA1tRDkaRZZEji+4qRdUCD3hp + 7rcqQ8s8yl7CLTtt4hmRQMIdVJEFOCq1CvorAVx1nf7N85XHNvKiruMurdrKQQSMeMg01icknLsoIb1Z + SaCvV1O39y7c3bi4M3tXcGE3Nhaq5pcvt/K0GaxdSFNmMFfjZ6mkmsfrpc+4x45HUtcOPT37917r3v3X + uve/de697917r3v3Xuve/de66JCgsxCqoJZiQAABckk8AAe/de6j09ZSVgZqSqpqpUOlzTzxThW/oxjZ + gp/1/fuvdEo+R38wr42/GTJS7e3ruWtzu7aZ/HkNtbRpqTIVWFY06VKrnslkK/F4PF1Jimjb7Q1L5Axy + rIKcxnV7FXKPI3OfP24naeSuV77dNwABZbeJnCA8DI+I4gaYaRlBOAa9DfkT209wvc/dG2X275M3Hedz + UAulrC0gjB4GWTEUKmmGldATgEnHRYuv/wCdF8W925iHEbgxm79oCpqxBFko3wG66KnpiQor8hT4DKy5 + tIQ5AZKWjrJVB1FdAZlHnNX3d/e/krbZN55k9tNzh2pF1PKiLOkYoSTJ4DSGMAAlmcBV82GOpP53+6b9 + 4/262iXf+bfaHdoNkjTXJPEqXSRKASWm+meZolUAlmdQi/iYdIr5W/zmOsuosj/dzpnF4zsetMPkXeGS + lrX2vVPeNWOBxGLlpMtnqCnkLxS1c1RjaZpo3Wnap0MQcezn3avdD3uiuNw5VsYLfl2JyjXt27RQGQUr + HFpR5JnUHu0IVTAd1JHR99377n/vL946C63bkzb7az5SgkMb7jfSNFbNKvxRQBEkluJF/H4aeGh7XkVi + AQM6K/no/wB592UmD7Z6zxq4qukAeu6/os/S5jG00YZqmpgwmWyW44twmnhUyvEtVQyCNGEYmeyEb+63 + 3NPdX2o5Yv8AnG9vtq3Hl60Aad7eZkkiUkKGMU6RlxrZVAiZ5CSKJ1Ivvf8A3fXvZ7Icm7lz/f7nsu7c + rWKhrp7Wdo5YEJChzDcpH4il2VQIXeUsRSM8eu+8v56tNtvdOSwPUfXGFqsdi6yWnGT3o2UzFfXrEfGw + qcVtzKYWhwNRruwjGQyDqvplWKQFAr9uvuR+9HP+zWnMFzHY7JtdwoaIXzyLcOhFVk+njjd0VvLxTG5B + DBCpB6MPaj+7i+8J7n8vWfNN6m3cubRcoHgXcXlF1JGwqsn0sUbvEjDK+O0chBDCPSQSJPxi/nYbK7M3 + JR7V7l2pjtnfd8Nu3bT5GPHY0mRA1Vlds5ibIVyYSjictUVdHX100KI0slMkKtIoS93fupe7Xs5trcwb + 3Y21/wAsKQHu7J2lSGpov1EboksStjvKtECQpk1GnQG9+PuP++fsDs7807/t9puvJqECW9293lS31Gi/ + VROkc0Kk0Hi6XhBIVpAxp1etBPBVQQ1NNNFUU1RFHPT1EEiSwTwSoJIpoZYy0csUsbBlZSQwNx7xs6w/ + 6y+/de6//9Lf49+691737r3Xvfuvde9+690DPcHyA6o6KoaGq7G3RHja7LmVcDtvG0Vdnt27heEgSjC7 + Zw1PW5ethhdlWSfxLTwsyiSRdQvZVZ2VEUlzwAyT9g6vHFJNIkUMbPKxoFUEkn5AZPRSqX+Zl1BJVRLX + dWd/YvFyyxoc1NsvbeRihjkJC1EuGwG9sxud47KSUioZZh+Uvx7MH2bdkiEz7dMI8/hPlxqOI+0gdHD8 + tcwxxCd9luREfPQSf95FWH5gdPnZv8w/pzAYXEN1C8fdm68/i5MtTYjB5FMHiNsUK1D0cc/YWZydM1Tt + Srnq4pEixppJsrN4mYUyxjye2bLb7zcZvAs4C8g4+QA9STgfn0m2vaNx3m5+k262LygVPkFHqzHC+mck + 4APRdcL/ADKO3Ycoj7o6I2NW4EVCioh2b2blpdyfaEtrfG0+5dlYXD19Uii6xTVVH5GsoYE3B9PydvUM + RkVYpKcQrd37CAD+RPQquvbnmO3hM0YgmIFSqOdX5alUH8jX0HS43l/M3w+RpMfP0T1hkt601TSrLWbi + 7EysvXOCoq9Y4zV4OlooMVuXceYyGNqWemqZ4qVMelTEyR1EyguC3bdi3Ldataw0hBoXY6V/LzNPOgNO + ibZuVN731TLZWwW2BIMjnStRxAwSxHA6QaHj0nNnfzLN602Qpz2p0fjE29JJorsl1VvKu3TncVEWA+9O + 1Nw7c23NmaeMG7x0VVLVaAWWJyAjK77lXeLGJp2iWSICpMZ1EfaCAf2A9GO58hcw7bC9x4KTwqKt4TFi + APPSQrH/AGoNPPq07Zu8tr9hbWwO9tl5qh3Ftbc2Op8rhMzjpDJS11FUrdHAYJLBNE4McsMipNBKjRyK + rqygOdAvpTe/de697917r3v3Xuve/de697917r3v3XuiLfMT5gQdC0dNsLYVNQbi7q3Pj2rcbRVwebA7 + FwUkj0/98d3rDJHLKjSo6Y7HI6TZCeNrtHDHJIBHyvyvunNu6R7XtkfzkkPwRJWhdj/JVGWOB6gLc4c4 + bPyVs8u77vLj4Y41p4k0lMIg/mzHtRak+QNIWVrMxuTcWQ3nvHO5XeW9svb+Kbs3FOtZl50AULRUjLHF + TYjD09rQUVJHBSwLwiDm+YfKXImw8nwKLC3Em4Ed9w4Bkb5L/vtf6K/mSc9YN86+43MnPFwx3G5MW1g9 + ltGSIl4fFwMjeep+B+EKOsfsZ9APr3v3Xuve/de697917r3v3Xuob4+ikrYci9LCa+COSGKrCATiGXl4 + TILM8TMNWk3Abn6+0Em1bdLuEG7PZp+84lKrKKh9LChUkEa1pwD6gOIoc9GUW87pDtdzssd8/wC6ZmVm + iNCmpTUMoIOhqjJTSWGGqMdTPa/ot697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de + 697917r3v3Xuve/de697917r3v3XuoslHTS1UFbJEGqaWGpp4JCW9ENYYGqU030MJTTR3uDbTxbn2hn2 + zb7m9t9wuLRHvYo3RGbNEkprWldJDUFag8MU6Mbfd90tLC52u1vpI7CaVJHRSBqeMEI2oDUCoJA0sKgm + tenPZ+W3N1pmv7zdVbpzPWu4tXkkrdrTLT43IsPH+1uHbUqybf3HSP4VDR1VO5sBoZGAYAfmT2s5T5iS + V0shZ7iakSwALk+bx4RxXjhWOe7qQuVfeLnTliSKOS/a/wBsWgMNwS3aPJJcyIaYGWUY7cdXI/Ez5xU3 + b2UpOrO26LE7R7beleTA5DFyTRbQ7MhpI2krJNvLWs9RhdzUsEZmqcRNLMxivLTSzRrKIcWObeTd55Ov + VttziDW0hPhTLlJAD5H8LAULIe4V8xnrMPkvnvYeebBrvaJit1GF8aF8SRMR5j8SVqFkXtankcdWIewn + 0M+ve/de697917r3v3Xuiq/L/wCVG0viZ1RWb8z/ANpW53ISTYzZ2AqqiWniymVjp2qamsr3pop6qHB4 + SlHnq3jQu944I/3p4gT/AJV5X33nXmPZ+U+WbBrrfr+cRQxLjUxqSSThURQzu5oqIrMTQHoU8kcl8y+4 + vNvL/I3J22NeczbncrBbxLjU7VJZmOEjjQNJLI1FjjVnYgA9ad3yD/mCfInvzcNVkM1v7OwYpaqqfGYu + mqZ8bhqKGaZgFx+1qSpbBUEElIEiZZ0rqllH7tTK1mHX/wBrfuHe1nK+22tx7jI/MPMrLWRTJJDZRsVy + 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 + /de697917r3v3Xuve/de697917r/09/j37r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+6 + 91737r3Xvfuvde9+691737r3XvfuvdY5Yop4pIJ445oZo3imhlRZIpYpFKSRyRuCjxuhIIIIINj7917r + Wp+QnWeB6W7j7I2d1ochvHq/aKUe49xZDbuOyWZx3Qk+6quqqKbYG/MtTRT0eOplYmbGesyUmPZEqggV + JHnf2x90Ydlgh5c5jkI2taiGahPhVNdD0qTGSTpYAlDg1U9uOvu57QT7/cTc0crRA7w1PHgqB41BTxI6 + 0AlAADKSA4yKMO4Kaeop6uCOppJ4aqmmQSQ1FNLHPBKjC6vFNEzxyIwPBBIPvJy2uba8gjurO4SW2YVD + owZSPkRUdYj3dpdWFxJZ31tJDdoaMjqUYH5qwB6ze3umOve/de697917r3v3Xuve/de697917r3v3Xuv + e/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3 + v3Xuh6+KnUFX3p3ttjEmjap2L1plcRv/ALJryiS4/wA2Iqv4js7ZdSHvHPW7jzlJFPNTkG2OppXYDVHq + x697+bYFtouT7N9VwzrJcEfhC5jjP9ImjsPIBc5I6yd+79yVcG5m54vo9NsqPFbA1q7NiWSn8IFUU+ZL + GmAerefkH0TubN57D9+dD1dBtv5F7Cx8lHQGukak2x27s8Mamu6o7GEZVJsTknGrHV7AzYmt0yxsq6rY + 19ZWdCT0N3rtnvnZ8+exNHX7b3Pt7J1G2Ox+u9wItNu3rne2O9GV2xuKhuGR4nHkpalR4K2lZJoiVaw9 + 17obvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+ + 691737r3Xvfuvdf/1N/j37r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuv + de9+691737r3XvfuvdEj7Z7k3z2jvnK/G34x5KKk3VjPDD3X3eKePI7d6Kw9YPXh8QHDUW4O48tSlvsM + ddoseAaiq06NI917ow/UPTGwekdhUfXmx8U0WHjerrMzX5SU5TPbvz2UOvO7o3flqlTU5/cOeqCZKqom + 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 + R3NjOzu2Ortydy5LK9n123up95JgevMBQbnzdfmMRtbC9fZPFZrZtJSYzHVKpPKlCtTPUvNIzgsAtaaj + Un/J/s9PCQxroCgmnnRqE5NBlflwr9nVnKiwAJLEAAsbXNh9TYAXPu3TPXfv3Xutd/e/zz7L6Y/nSds/ + EfbOPyW+cz8jsB8K8F1lB2ZvfK7T+PfUeIxG1/kBvHunMwZN4cpSz9u7w21hoRgNq4qmTI7oq6MyTTQ0 + tDLMvuvdB/2P/Of733Tun5j9TdHbD6yr6bCfGv5t9r/E/wCREVH3ht/YeWyfxD3BTbZ3iuVzHYfUdDtH + sytx1FXVE61e0ZMxhqXcmN/hdS0lJN/EV917rqs/mWd19B7d617j776x27vr5B5T+V51f29BDsP5CdgY + 7onc2b7s+VvUHS3V7bq2dm9j4PZ+1Mpkcr2Xj8zundUWKmqsFRrWY2gNbS+J5fde6H6o/mgfK/HbjpPj + hV9CfHqv+W9D85sJ8Kt0VWM7e36Pjgk2+viLuP5abL7NwO6JOuJt/VQxe3cVHj87t6bGR1lNWI6R1R8s + bJ7r3Vj/AMB/k3nvmD8U+tu+92bNxOwN37iyPZO0947U2/nKncm3Mbu/qXtTe3Ue6ZdtZyux2IyGR25l + M9saoq6B6mlgqRSTxrKgkVvfuvdHE9+690WztD5LYDYu5azrfaWyuwO2+3oqGhrKfYGx9sZM01PHlkLY + us3LvvK0tFsba2GltqmqKmuLxJciJ20o2s1pTqwUUqzUH8/9XzP+x17o/qbd2Ez+6+5O4shjct3R2LR4 + 3GV1Hg5qio2r1vsnEvJU4XrbZ01XHFUVNFS11TLV5GuZI3yVfIZCoSOP34CnXmbVTFAB/q/b0ZP3vqvX + vfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+6917 + 37r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691//1d/j37r3Xvfuvde9+691737r3Xvf + uvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737 + r3Xvfuvde9+691737r3XRAIIIBBFiDyCD9QR+QffuvdEY29QdxfFGev2jt3rbNd3/HmTK5nL7Jj2JX4v + /Sn1NR5Oeoy9Tsut2zuTJYmk3rtKiyNRIuKnoaz+IU8DrTyU8ixpI2sjI6uCpAVsEefy+Y+XqPLFOhN6 + V+T2E7r3xvXYdF132Z17mtiYfB5fMUHamDoNnZ6SPcLzfw5qLa8uVq87NjpIoGP3piWlLjxhi/HuoYkg + FaY6s0ahGdZNVGA4eor55/l9h6M37v010Ae9/iz8dOyM5uHc2++mdgbp3JuvM9Vbiz+4MvgKSozeQ3D0 + blMjmuns8crpWups11rlcvVT4eqhkjnoXqZPGw1sD7r3QfbQ+Afwq2D2DvjtbZ3xh6b2/wBidlR78p98 + 7roNl4pcnuOh7R8Ldj4quMsUkC4XfE0AmylDGiUlbUM80sbSySO3uvdYtnfy/fhVsHYs3WW1fjN1Lj+v + 6nrbdnTlRtKp2vTZnCzdUb53W++d1ddS0ubORD7Oy+7n+/bHk/bR1CqY1QIgX3XusOE+Knw1+LfU+Hk2 + b0J1vsTr7497i3d8gtr0eD29SCo2z2ANn53Dbj7Dx9dXTNXVu+8ntDJVmNbIVVRJVS0kwpzJ4wqromgJ + 62o1MF9ehp6GwfU+A6o2nT9I7Z2/s7rfLQZDeOF25tqmoKPG0Fbv/LV++txSyUuMmqKKHK5Pcm46urrg + jtqrZ5WJJJPvwNetsuk08v2V6QXd3yPwOwf+Mf8AX603ZXf2545sbsXqvb1dT1eUXJTBoV3BvKWCR49n + 7KwDn7jIV9aYVWGNkiDysqH1a1AOet6StGdcenCv+r16Fnqba26Nl9b7N2xvfd9fv7eWJwdJDureORKm + pz+fkDVGVrECw0/joBWzPHSoyh46VI1YlgSd9U456EP37r3Xvfuvde9+691737r3Xvfuvde9+691737r + 3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+69 + 1737r3Xvfuvde9+691737r3X/9bf49+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde + 9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xv + fuvdAR3F0BtfturwW54svuDr/tDZ6VC7K7V2PVxY7duAjqWEk+LqxPDU4vc+162UXqcVkoKmjluxVUkb + ye/EV62CVNR/q+316DCOp+c+ykejmxPQHetHTmOKjzkea3T0zueviEEStUZjDNht97Zp6szhmY0lQsTA + +mNPoKkNTBz8+rqYiw8RDpp5Hz/MHpIb/wBhfMvv3bVVsnctZ0x0BtfJS0NZWZzaOW3l2b2RQV+EymNz + mFmwE8lLsHbmPdcjj1Es0jVB8d18TBj79QkDUet+IqM5iU0Ipk5+fCnT9t75WP1mKXZPy6xMnUm8qEpj + o+zFoMhVdG9ilJoqSmzu3N6wQ1NHtaqywkWWXE5pqOpo3ZkDSoFdt5GCOqkK3cGAOag0HzweH5cfLPQk + 5j5f/FnA4uPM5L5BdSLQTafA1HvjA5WqqWkUvHFSY7FVlbkaqeRR6Y44mdjwATx70GUkgcR1toZFCMwo + rcKkD5+vQLbjrt3fM+Wj2Vhdq7j2R8Xf4lBWdg7y3riKvbm5O6qDFVcdTT7G2PtPKR02cxmyctWQI2Tz + FfDTtVUqmCljbyPIvsnjw69VUUhTVzgnyA+X2+Z9MdCdV/CX4u1NZU1tP1Ni8E1bWS11bSbSzW6tm4qr + qJ21S+fC7UzuHxDRO4B8YgCXAsPeyAeI6qrsldDEV40xXoWes+lOpum6KroOr+vtr7KiyEzz5KfCYyGH + I5SaSQytLlctIJcrk38jEgzzSab8W976r0KHv3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de6 + 97917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuv + e/de697917r3v3Xuve/de6//19/j37r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+69173 + 7r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+ + 691737r3Xvfuvde9+691gqqWlrYJaWtpoKulnQxzU1VDHUQTIfqksMqvHIh/III9+690jcZ1f1phMgMt + huvNjYjKqzMuTxm0sBQZBWc6mYVtJj4qkMzck6uT7916nS59+691737r3Xvfuvde9+691737r3Xvfuvd + e9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3X + vfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3X/0N/j37r3Xvfuvde9+691737r3Xvf + uvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737 + r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+6 + 91737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuv + de9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3X/9k= + + + + + /9j/4AAQSkZJRgABAQEASABIAAD/7gAOQWRvYmUAZAAAAAAB/+EarkV4aWYAAE1NACoAAAAIAAcBEgAD + AAAAAQABAAABGgAFAAAAAQAAAGIBGwAFAAAAAQAAAGoBKAADAAAAAQACAAABMQACAAAAHAAAAHIBMgAC + AAAAFAAAAI6HaQAEAAAAAQAAAKIAAADCAEgAAAABAAAASAAAAAEAAEFkb2JlIFBob3Rvc2hvcCBDUzUg + V2luZG93cwAyMDEzOjAxOjIzIDE1OjQxOjMzAAACoAIABAAAAAEAAAHPoAMABAAAAAEAAAFOAAAAAAAA + AAYBAwADAAAAAQAGAAABGgAFAAAAAQAAARABGwAFAAAAAQAAARgBKAADAAAAAQACAAACAQAEAAAAAQAA + ASACAgAEAAAAAQAAGYUAAAAAAAAASAAAAAEAAABIAAAAAf/Y/+0ADEFkb2JlX0NNAAH/7gAOQWRvYmUA + ZIAAAAAB/9sAhAAMCAgICQgMCQkMEQsKCxEVDwwMDxUYExMVExMYEQwMDAwMDBEMDAwMDAwMDAwMDAwM + DAwMDAwMDAwMDAwMDAwMAQ0LCw0ODRAODhAUDg4OFBQODg4OFBEMDAwMDBERDAwMDAwMEQwMDAwMDAwM + DAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCABzAKADASIAAhEBAxEB/90ABAAK/8QBPwAAAQUBAQEBAQEA + AAAAAAAAAwABAgQFBgcICQoLAQABBQEBAQEBAQAAAAAAAAABAAIDBAUGBwgJCgsQAAEEAQMCBAIFBwYI + BQMMMwEAAhEDBCESMQVBUWETInGBMgYUkaGxQiMkFVLBYjM0coLRQwclklPw4fFjczUWorKDJkSTVGRF + wqN0NhfSVeJl8rOEw9N14/NGJ5SkhbSVxNTk9KW1xdXl9VZmdoaWprbG1ub2N0dXZ3eHl6e3x9fn9xEA + AgIBAgQEAwQFBgcHBgU1AQACEQMhMRIEQVFhcSITBTKBkRShsUIjwVLR8DMkYuFygpJDUxVjczTxJQYW + orKDByY1wtJEk1SjF2RFVTZ0ZeLys4TD03Xj80aUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9ic3R1dn + d4eXp7fH/9oADAMBAAIRAxEAPwDsqMfo1HQj1XqTJbW19t1rnOLnHc/xf77LHeytv/W155Z9auq2WuNN + dNbXu/RUCpthaHH9HSHu99r/AMz/AIR67H6w9LzOo/Uqn7I5xdiOOQ/HbH6VjDZub+9vq3evUz899f8A + pPTXCdB6jj9N6xh9QyKhfRRYHPaRMAgt9dg/Oso3etX/AFE0tDPIiWOI9ESBcn0z6v4mZhZ2PTmuBzLM + J1mUKxtZvNrdjBXWfS/V2P8AR9b/AAqlkN6g360V4repZLcazGtzTQBRtDqrMeptAccb1fs723P9T9J6 + 3/DK62yu36w1WVuD634Jcx7TLS021lrmuH0muWZ1Pq72fWZ3TsXGps6pZRVXg22boFVrrbuovySHN/QU + MxKHsqr/AE11v+fUW0KA3/SoIOl/W3qTOn4zeoYzbL7MXAvrtbbrY3LurwLLb2iljaLt7/tPpVerX/gv + UVtn1rybeptwKcNhnLycZ9rrTDa8QY9tt+1tTnOsfXkPayj/AE3p/pf8JWPMv+rFLcvDzOnPZVh4Lqzu + Y0h+JiOZuZjhtrrmfZ7LarKPVbRY/wDn8b1P5xVT1Po+A/Ff0zpFjMmvP+y2VvYGW1nJrrssuDDZ7rM3 + HZTs9T/0J9O1L6oMpCvUKDYx/rhm2MDrcSikZGEzPxHG975bdbXj4uPdXRi23NyX+r/N0MyPWu/QUotP + 1uufhuvsxA2yrG6hfaze5o39Pspo9Nvq013MZkevv/TVV24/836SxsGr6tYtue/NDr6HUXsqsqxmYuPc + 3Dd9qzPs32VzfXzqbqt/2n9X/mP1D+bsWgP+auXivrb0e2w4NsjFdW1joymep9oPrXVU/Zsutu6z7VdX + +mr/AE9P2n00vqoSl1I66H/0Fs4/1qzb+oNx2YBOONjLrm+q707H47M/fZa3G+yNxmerXje/I+0f4f0P + SWr0LqGX1PplPUMmhmL9qY26mplhtIqe1llZtea6f0vu+g1c1fndKZls6pg4TH1+j011L2iwWOrzLMnp + rw/HrfstyacSv0MbfX6zN/pfza1avrN0nC6VTbVi31YWKXY11Ya0HF+zbaX1ZDTb/gm/QrxvtNttP6Wr + 1GJfVMZEfNJ6BJYv/OjDfmWYNVN/qsstx23OZFJvprdlHH9Xdu3PoY61vt/8ERfq71xvWsCu8MIsFVLr + 7Gj9D61lbbb6Md5c51n2Zztl3+jf+i/nWW+mV4kDsXVSSSSXKSSSSUpJJJJSkkkklP8A/9DrsXJ+tOJQ + 3Hp6WXV17theaN0FznN3beobd3uWDb9TX22vtPQ72GxxeWV30sYC47iK6/tv6Nn7rF6KklSw4oSABF1t + byfRcbqvSn1A9Kyn0Y9DsehjbMZ7w11nr++27Pb+jr/m6WbPYxTz8J+dk25b+k9TqyLDjvrtrswJqfim + 19FuP6mXY3e/7TbXf6vq120/o11KSSRAAU8Y7oQc7MJ6Z1UMzWZTHsD+mjaM1zLsoiz7T61r/Uqb6L8m + y/0v5tHzOn25V1+R+y+qU335NOY2yuzp81249bceo1Nty7K3MdW39Iy5tq6xVb+p9Ox7fRvyqqrf3Hva + 12v8lxQ0CeAHSr6vLP6GHtsqf0zqpxizKZj43q9PDKDmh7cu3HjK9R1m2230ftL8hlPqexEyukuycg5J + 6X1NlxsotDg7prw12NXbi1RXkZN1bt1WRZu9Rr/03p20+mtR/wBb+hhr3Nse8s4a2twLu36PeGNUB9c+ + jSwH1gH/AEnFmjP+M1/89eoo/fwj/KQ/xosv3LMf8hk0/qT/AHf+8c1vRyzFZjV9N6swV14tddot6fvH + 2K27LxX+7Kczf6uQ71fZ72bEDI+royKtlvTurGx4yBkXep00vtOW5tmQ92/IdVRZurrbW/Ero/RM9Jds + 1zXtD2EOa4S1w1BB7hOpaYeCJ6PLsxLGWusHSep7nZduef0mBHqXUWYD2f0z+ZbTc57Pz/V/wil0Wi7o + lb6cPpHUjS9tY9J9mBtDq2Ch17BXmV7bslrGPyv8HZd+l9Nm+3f0llldTDZY4MY0S5zjACz225uRX6rb + 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 + AAAAAAAAAAAAAAAAAAA4QklNBDoAAAAAAJMAAAAQAAAAAQAAAAAAC3ByaW50T3V0cHV0AAAABAAAAABQ + c3RTYm9vbAEAAAAASW50ZWVudW0AAAAASW50ZQAAAABDbHJtAAAAD3ByaW50U2l4dGVlbkJpdGJvb2wA + AAAAC3ByaW50ZXJOYW1lVEVYVAAAAA8ATwBLAEkAIABNAEMAMwA2ADEAKABQAEMATAApAAAAOEJJTQQ7 + AAAAAAGyAAAAEAAAAAEAAAAAABJwcmludE91dHB1dE9wdGlvbnMAAAASAAAAAENwdG5ib29sAAAAAABD + bGJyYm9vbAAAAAAAUmdzTWJvb2wAAAAAAENybkNib29sAAAAAABDbnRDYm9vbAAAAAAATGJsc2Jvb2wA + AAAAAE5ndHZib29sAAAAAABFbWxEYm9vbAAAAAAASW50cmJvb2wAAAAAAEJja2dPYmpjAAAAAQAAAAAA + AFJHQkMAAAADAAAAAFJkICBkb3ViQG/gAAAAAAAAAAAAR3JuIGRvdWJAb+AAAAAAAAAAAABCbCAgZG91 + YkBv4AAAAAAAAAAAAEJyZFRVbnRGI1JsdAAAAAAAAAAAAAAAAEJsZCBVbnRGI1JsdAAAAAAAAAAAAAAA + AFJzbHRVbnRGI1B4bEBSAAAAAAAAAAAACnZlY3RvckRhdGFib29sAQAAAABQZ1BzZW51bQAAAABQZ1Bz + AAAAAFBnUEMAAAAATGVmdFVudEYjUmx0AAAAAAAAAAAAAAAAVG9wIFVudEYjUmx0AAAAAAAAAAAAAAAA + U2NsIFVudEYjUHJjQFkAAAAAAAA4QklNA+0AAAAAABAASAAAAAEAAgBIAAAAAQACOEJJTQQmAAAAAAAO + AAAAAAAAAAAAAD+AAAA4QklNBA0AAAAAAAQAAAB4OEJJTQQZAAAAAAAEAAAAHjhCSU0D8wAAAAAACQAA + AAAAAAAAAQA4QklNJxAAAAAAAAoAAQAAAAAAAAACOEJJTQP1AAAAAABIAC9mZgABAGxmZgAGAAAAAAAB + AC9mZgABAKGZmgAGAAAAAAABADIAAAABAFoAAAAGAAAAAAABADUAAAABAC0AAAAGAAAAAAABOEJJTQP4 + AAAAAABwAAD/////////////////////////////A+gAAAAA/////////////////////////////wPo + AAAAAP////////////////////////////8D6AAAAAD/////////////////////////////A+gAADhC + SU0EAAAAAAAAAgAFOEJJTQQCAAAAAAAMAAAAAAAAAAAAAAAAOEJJTQQwAAAAAAAGAQEBAQEBOEJJTQQt + AAAAAAAGAAEAAAAHOEJJTQQIAAAAAAAQAAAAAQAAAkAAAAJAAAAAADhCSU0EHgAAAAAABAAAAAA4QklN + BBoAAAAAA0sAAAAGAAAAAAAAAAAAAAFOAAABzwAAAAsAVQBuAGIAZQBuAGEAbgBuAHQALQAyAAAAAQAA + AAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAHPAAABTgAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAA + AAAAAAAAAAAAABAAAAABAAAAAAAAbnVsbAAAAAIAAAAGYm91bmRzT2JqYwAAAAEAAAAAAABSY3QxAAAA + BAAAAABUb3AgbG9uZwAAAAAAAAAATGVmdGxvbmcAAAAAAAAAAEJ0b21sb25nAAABTgAAAABSZ2h0bG9u + ZwAAAc8AAAAGc2xpY2VzVmxMcwAAAAFPYmpjAAAAAQAAAAAABXNsaWNlAAAAEgAAAAdzbGljZUlEbG9u + ZwAAAAAAAAAHZ3JvdXBJRGxvbmcAAAAAAAAABm9yaWdpbmVudW0AAAAMRVNsaWNlT3JpZ2luAAAADWF1 + dG9HZW5lcmF0ZWQAAAAAVHlwZWVudW0AAAAKRVNsaWNlVHlwZQAAAABJbWcgAAAABmJvdW5kc09iamMA + AAABAAAAAAAAUmN0MQAAAAQAAAAAVG9wIGxvbmcAAAAAAAAAAExlZnRsb25nAAAAAAAAAABCdG9tbG9u + ZwAAAU4AAAAAUmdodGxvbmcAAAHPAAAAA3VybFRFWFQAAAABAAAAAAAAbnVsbFRFWFQAAAABAAAAAAAA + TXNnZVRFWFQAAAABAAAAAAAGYWx0VGFnVEVYVAAAAAEAAAAAAA5jZWxsVGV4dElzSFRNTGJvb2wBAAAA + CGNlbGxUZXh0VEVYVAAAAAEAAAAAAAlob3J6QWxpZ25lbnVtAAAAD0VTbGljZUhvcnpBbGlnbgAAAAdk + ZWZhdWx0AAAACXZlcnRBbGlnbmVudW0AAAAPRVNsaWNlVmVydEFsaWduAAAAB2RlZmF1bHQAAAALYmdD + b2xvclR5cGVlbnVtAAAAEUVTbGljZUJHQ29sb3JUeXBlAAAAAE5vbmUAAAAJdG9wT3V0c2V0bG9uZwAA + AAAAAAAKbGVmdE91dHNldGxvbmcAAAAAAAAADGJvdHRvbU91dHNldGxvbmcAAAAAAAAAC3JpZ2h0T3V0 + c2V0bG9uZwAAAAAAOEJJTQQoAAAAAAAMAAAAAj/wAAAAAAAAOEJJTQQUAAAAAAAEAAAABzhCSU0EDAAA + AAAZoQAAAAEAAACgAAAAcwAAAeAAANegAAAZhQAYAAH/2P/tAAxBZG9iZV9DTQAB/+4ADkFkb2JlAGSA + AAAAAf/bAIQADAgICAkIDAkJDBELCgsRFQ8MDA8VGBMTFRMTGBEMDAwMDAwRDAwMDAwMDAwMDAwMDAwM + DAwMDAwMDAwMDAwMDAENCwsNDg0QDg4QFA4ODhQUDg4ODhQRDAwMDAwREQwMDAwMDBEMDAwMDAwMDAwM + DAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgAcwCgAwEiAAIRAQMRAf/dAAQACv/EAT8AAAEFAQEBAQEBAAAA + AAAAAAMAAQIEBQYHCAkKCwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAUD + DDMBAAIRAwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHxY3M1FqKygyZEk1RkRcKj + dDYX0lXiZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9jdHV2d3h5ent8fX5/cRAAIC + AQIEBAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUygZEUobFCI8FS0fAzJGLhcoKSQ1MVY3M08SUGFqKy + gwcmNcLSRJNUoxdkRVU2dGXi8rOEw9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vYnN0dXZ3eH + l6e3x//aAAwDAQACEQMRAD8A7KjH6NR0I9V6kyW1tfbda5zi5x3P8X++yx3srb/1teeWfWrqtlrjTXTW + 17v0VAqbYWhx/R0h7vfa/wDM/wCEeux+sPS8zqP1Kp+yOcXYjjkPx2x+lYw2bm/vb6t3r1M/PfX/AKT0 + 1wnQeo4/TesYfUMioX0UWBz2kTAILfXYPzrKN3rV/wBRNLQzyIljiPREgXJ9M+r+JmYWdj05rgcyzCdZ + lCsbWbza3YwV1n0v1dj/AEfW/wAKpZDeoN+tFeK3qWS3Gsxrc00AUbQ6qzHqbQHHG9X7O9tz/U/Set/w + yutsrt+sNVlbg+t+CXMe0y0tNtZa5rh9JrlmdT6u9n1md07FxqbOqWUVV4Ntm6BVa627qL8khzf0FDMS + h7Kq/wBNdb/n1FtCgN/0qCDpf1t6kzp+M3qGM2y+zFwL67W262Ny7q8Cy29opY2i7e/7T6VXq1/4L1Fb + Z9a8m3qbcCnDYZy8nGfa60w2vEGPbbftbU5zrH15D2so/wBN6f6X/CVjzL/qxS3Lw8zpz2VYeC6s7mNI + fiYjmbmY4ba65n2ey2qyj1W0WP8A5/G9T+cVU9T6PgPxX9M6RYzJrz/stlb2BltZya67LLgw2e6zNx2U + 7PU/9CfTtS+qDKQr1Cg2Mf64ZtjA63EopGRhMz8Rxve+W3W14+Lj3V0Yttzcl/q/zdDMj1rv0FKLT9br + n4br7MQNsqxuoX2s3uaN/T7KaPTb6tNdzGZHr7/01VduP/N+ksbBq+rWLbnvzQ6+h1F7KrKsZmLj3Nw3 + fasz7N9lc3186m6rf9p/V/5j9Q/m7FoD/mrl4r629HtsODbIxXVtY6MpnqfaD611VP2bLrbus+1XV/pq + /wBPT9p9NL6qEpdSOuh/9BbOP9as2/qDcdmATjjYy65vqu9Ox+OzP32WtxvsjcZnq143vyPtH+H9D0lq + 9C6hl9T6ZT1DJoZi/amNupqZYbSKntZZWbXmun9L7voNXNX53SmZbOqYOEx9fo9NdS9osFjq8yzJ6a8P + x637LcmnEr9DG31+szf6X82tWr6zdJwulU21Yt9WFil2NdWGtBxfs22l9WQ02/4Jv0K8b7TbbT+lq9Ri + X1TGRHzSegSWL/zow35lmDVTf6rLLcdtzmRSb6a3ZRx/V3btz6GOtb7f/BEX6u9cb1rArvDCLBVS6+xo + /Q+tZW22+jHeXOdZ9mc7Zd/o3/ov51lvpleJA7F1UkkklykkkklKSSSSUpJJJJT/AP/Q67FyfrTiUNx6 + ell1de7YXmjdBc5zd23qG3d7lg2/U19tr7T0O9hscXlld9LGAuO4iuv7b+jZ+6xeipJUsOKEgARdbW8n + 0XG6r0p9QPSsp9GPQ7HoY2zGe8NdZ6/vtuz2/o6/5ulmz2MU8/CfnZNuW/pPU6siw4767a7MCan4ptfR + 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 + 9mz+b9H+aWWzIzTXWHfWKgWWjaAKagZZvZbsY87t2/Hu9bezZ+ju/R0f4PbFWXjn9G/7RVAGywgPbH7l + gZ+k/wCvf9uqn+zenMe91/SaQbJ91VbLNwJda5lsMY7c662+x/s9H9Lv9X1ElMMEdRyb22N6vj5TKXD1 + aqa2lpa5pNZca7i9lljXep9L0v5H+EV5xB6kzY7cW1OFjNIYCWOa795r7dv/AIGg4uFbS1/2WqjBY+A1 + rawbA1s62Prf6b37nPd/I/4RXaaWU1hjO3Ljy4/vvP5z3fnOSUkTOa1zS1wDmuEEHUEFOkkpzrOlvYZx + Xy3j0rSSBH+jt9z2/wBv1EJ2HnMOtYtB1BrIEfyXes5n+e3/ALbWskqWX4ZymQknEIyl1gTD/mfzf/MX + jJIdXMr6Xe9s3XGsuOrKwDtHZrLXN3f13bf+LWjXWyuttbBtYwBrR4AaBSSVjDy+HCCMUBC6ut5cPy8U + v0lpkTuVJJJKVD//1vVUl8qpJKfqpJfKqSSn6qSXyqkkp+qkl8qpJKfqpJfKqSSn6qSXyqkkp+qkl8qp + JKfqpJfKqSSn6qSXyqkkp+qkl8qpJKf/2QA4QklNBCEAAAAAAFUAAAABAQAAAA8AQQBkAG8AYgBlACAA + UABoAG8AdABvAHMAaABvAHAAAAATAEEAZABvAGIAZQAgAFAAaABvAHQAbwBzAGgAbwBwACAAQwBTADUA + AAABADhCSU0EBgAAAAAABwAIAAAAAQEA/+EN0Gh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8APD94 + cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4NCjx4OnhtcG1l + dGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYw + IDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4NCgk8cmRmOlJERiB4bWxuczpy + ZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPg0KCQk8cmRmOkRl + c2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEu + MC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdEV2 + dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bWxuczpk + Yz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDov + L25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3No + b3AgQ1M1IFdpbmRvd3MiIHhtcDpDcmVhdGVEYXRlPSIyMDEzLTAxLTIzVDE1OjQxOjMzKzAxOjAwIiB4 + bXA6TWV0YWRhdGFEYXRlPSIyMDEzLTAxLTIzVDE1OjQxOjMzKzAxOjAwIiB4bXA6TW9kaWZ5RGF0ZT0i + MjAxMy0wMS0yM1QxNTo0MTozMyswMTowMCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpDNDBFMEZD + RjZBNjVFMjExQjc5QjgzRjNCMDhGNUExQSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpDMzBFMEZD + RjZBNjVFMjExQjc5QjgzRjNCMDhGNUExQSIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlk + OkMzMEUwRkNGNkE2NUUyMTFCNzlCODNGM0IwOEY1QTFBIiBkYzpmb3JtYXQ9ImltYWdlL2pwZWciIHBo + b3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIu + MSI+DQoJCQk8eG1wTU06SGlzdG9yeT4NCgkJCQk8cmRmOlNlcT4NCgkJCQkJPHJkZjpsaSBzdEV2dDph + Y3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6QzMwRTBGQ0Y2QTY1RTIxMUI3 + OUI4M0YzQjA4RjVBMUEiIHN0RXZ0OndoZW49IjIwMTMtMDEtMjNUMTU6NDE6MzMrMDE6MDAiIHN0RXZ0 + OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDUzUgV2luZG93cyIvPg0KCQkJCQk8cmRmOmxp + IHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6QzQwRTBGQ0Y2QTY1 + RTIxMUI3OUI4M0YzQjA4RjVBMUEiIHN0RXZ0OndoZW49IjIwMTMtMDEtMjNUMTU6NDE6MzMrMDE6MDAi + IHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDUzUgV2luZG93cyIgc3RFdnQ6Y2hh + bmdlZD0iLyIvPg0KCQkJCTwvcmRmOlNlcT4NCgkJCTwveG1wTU06SGlzdG9yeT4NCgkJPC9yZGY6RGVz + Y3JpcHRpb24+DQoJPC9yZGY6UkRGPg0KPC94OnhtcG1ldGE+DQogICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg + ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg + ICAgPD94cGFja2V0IGVuZD0ndyc/Pv/iDFhJQ0NfUFJPRklMRQABAQAADEhMaW5vAhAAAG1udHJSR0Ig + WFlaIAfOAAIACQAGADEAAGFjc3BNU0ZUAAAAAElFQyBzUkdCAAAAAAAAAAAAAAABAAD21gABAAAAANMt + SFAgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEWNwcnQAAAFQ + AAAAM2Rlc2MAAAGEAAAAbHd0cHQAAAHwAAAAFGJrcHQAAAIEAAAAFHJYWVoAAAIYAAAAFGdYWVoAAAIs + AAAAFGJYWVoAAAJAAAAAFGRtbmQAAAJUAAAAcGRtZGQAAALEAAAAiHZ1ZWQAAANMAAAAhnZpZXcAAAPU + AAAAJGx1bWkAAAP4AAAAFG1lYXMAAAQMAAAAJHRlY2gAAAQwAAAADHJUUkMAAAQ8AAAIDGdUUkMAAAQ8 + AAAIDGJUUkMAAAQ8AAAIDHRleHQAAAAAQ29weXJpZ2h0IChjKSAxOTk4IEhld2xldHQtUGFja2FyZCBD + b21wYW55AABkZXNjAAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAEnNSR0IgSUVDNjE5 + NjYtMi4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYWVog + AAAAAAAA81EAAQAAAAEWzFhZWiAAAAAAAAAAAAAAAAAAAAAAWFlaIAAAAAAAAG+iAAA49QAAA5BYWVog + AAAAAAAAYpkAALeFAAAY2lhZWiAAAAAAAAAkoAAAD4QAALbPZGVzYwAAAAAAAAAWSUVDIGh0dHA6Ly93 + d3cuaWVjLmNoAAAAAAAAAAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVjLmNoAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRlc2MAAAAAAAAALklFQyA2MTk2Ni0yLjEgRGVmYXVs + dCBSR0IgY29sb3VyIHNwYWNlIC0gc1JHQgAAAAAAAAAAAAAALklFQyA2MTk2Ni0yLjEgRGVmYXVsdCBS + R0IgY29sb3VyIHNwYWNlIC0gc1JHQgAAAAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAAAAAAACxSZWZl + cmVuY2UgVmlld2luZyBDb25kaXRpb24gaW4gSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAsUmVmZXJlbmNl + IFZpZXdpbmcgQ29uZGl0aW9uIGluIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + dmlldwAAAAAAE6T+ABRfLgAQzxQAA+3MAAQTCwADXJ4AAAABWFlaIAAAAAAATAlWAFAAAABXH+dtZWFz + AAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAACjwAAAAJzaWcgAAAAAENSVCBjdXJ2AAAAAAAABAAAAAAF + AAoADwAUABkAHgAjACgALQAyADcAOwBAAEUASgBPAFQAWQBeAGMAaABtAHIAdwB8AIEAhgCLAJAAlQCa + AJ8ApACpAK4AsgC3ALwAwQDGAMsA0ADVANsA4ADlAOsA8AD2APsBAQEHAQ0BEwEZAR8BJQErATIBOAE+ + AUUBTAFSAVkBYAFnAW4BdQF8AYMBiwGSAZoBoQGpAbEBuQHBAckB0QHZAeEB6QHyAfoCAwIMAhQCHQIm + Ai8COAJBAksCVAJdAmcCcQJ6AoQCjgKYAqICrAK2AsECywLVAuAC6wL1AwADCwMWAyEDLQM4A0MDTwNa + A2YDcgN+A4oDlgOiA64DugPHA9MD4APsA/kEBgQTBCAELQQ7BEgEVQRjBHEEfgSMBJoEqAS2BMQE0wTh + BPAE/gUNBRwFKwU6BUkFWAVnBXcFhgWWBaYFtQXFBdUF5QX2BgYGFgYnBjcGSAZZBmoGewaMBp0GrwbA + BtEG4wb1BwcHGQcrBz0HTwdhB3QHhgeZB6wHvwfSB+UH+AgLCB8IMghGCFoIbgiCCJYIqgi+CNII5wj7 + CRAJJQk6CU8JZAl5CY8JpAm6Cc8J5Qn7ChEKJwo9ClQKagqBCpgKrgrFCtwK8wsLCyILOQtRC2kLgAuY + C7ALyAvhC/kMEgwqDEMMXAx1DI4MpwzADNkM8w0NDSYNQA1aDXQNjg2pDcMN3g34DhMOLg5JDmQOfw6b + DrYO0g7uDwkPJQ9BD14Peg+WD7MPzw/sEAkQJhBDEGEQfhCbELkQ1xD1ERMRMRFPEW0RjBGqEckR6BIH + EiYSRRJkEoQSoxLDEuMTAxMjE0MTYxODE6QTxRPlFAYUJxRJFGoUixStFM4U8BUSFTQVVhV4FZsVvRXg + FgMWJhZJFmwWjxayFtYW+hcdF0EXZReJF64X0hf3GBsYQBhlGIoYrxjVGPoZIBlFGWsZkRm3Gd0aBBoq + GlEadxqeGsUa7BsUGzsbYxuKG7Ib2hwCHCocUhx7HKMczBz1HR4dRx1wHZkdwx3sHhYeQB5qHpQevh7p + HxMfPh9pH5Qfvx/qIBUgQSBsIJggxCDwIRwhSCF1IaEhziH7IiciVSKCIq8i3SMKIzgjZiOUI8Ij8CQf + JE0kfCSrJNolCSU4JWgllyXHJfcmJyZXJocmtyboJxgnSSd6J6sn3CgNKD8ocSiiKNQpBik4KWspnSnQ + KgIqNSpoKpsqzysCKzYraSudK9EsBSw5LG4soizXLQwtQS12Last4S4WLkwugi63Lu4vJC9aL5Evxy/+ + MDUwbDCkMNsxEjFKMYIxujHyMioyYzKbMtQzDTNGM38zuDPxNCs0ZTSeNNg1EzVNNYc1wjX9Njc2cjau + Nuk3JDdgN5w31zgUOFA4jDjIOQU5Qjl/Obw5+To2OnQ6sjrvOy07azuqO+g8JzxlPKQ84z0iPWE9oT3g + PiA+YD6gPuA/IT9hP6I/4kAjQGRApkDnQSlBakGsQe5CMEJyQrVC90M6Q31DwEQDREdEikTORRJFVUWa + Rd5GIkZnRqtG8Ec1R3tHwEgFSEtIkUjXSR1JY0mpSfBKN0p9SsRLDEtTS5pL4kwqTHJMuk0CTUpNk03c + TiVObk63TwBPSU+TT91QJ1BxULtRBlFQUZtR5lIxUnxSx1MTU19TqlP2VEJUj1TbVShVdVXCVg9WXFap + VvdXRFeSV+BYL1h9WMtZGllpWbhaB1pWWqZa9VtFW5Vb5Vw1XIZc1l0nXXhdyV4aXmxevV8PX2Ffs2AF + YFdgqmD8YU9homH1YklinGLwY0Njl2PrZEBklGTpZT1lkmXnZj1mkmboZz1nk2fpaD9olmjsaUNpmmnx + akhqn2r3a09rp2v/bFdsr20IbWBtuW4SbmtuxG8eb3hv0XArcIZw4HE6cZVx8HJLcqZzAXNdc7h0FHRw + dMx1KHWFdeF2Pnabdvh3VnezeBF4bnjMeSp5iXnnekZ6pXsEe2N7wnwhfIF84X1BfaF+AX5ifsJ/I3+E + f+WAR4CogQqBa4HNgjCCkoL0g1eDuoQdhICE44VHhauGDoZyhteHO4efiASIaYjOiTOJmYn+imSKyosw + i5aL/IxjjMqNMY2Yjf+OZo7OjzaPnpAGkG6Q1pE/kaiSEZJ6kuOTTZO2lCCUipT0lV+VyZY0lp+XCpd1 + l+CYTJi4mSSZkJn8mmia1ZtCm6+cHJyJnPedZJ3SnkCerp8dn4uf+qBpoNihR6G2oiailqMGo3aj5qRW + pMelOKWpphqmi6b9p26n4KhSqMSpN6mpqhyqj6sCq3Wr6axcrNCtRK24ri2uoa8Wr4uwALB1sOqxYLHW + skuywrM4s660JbSctRO1irYBtnm28Ldot+C4WbjRuUq5wro7urW7LrunvCG8m70VvY++Cr6Evv+/er/1 + wHDA7MFnwePCX8Lbw1jD1MRRxM7FS8XIxkbGw8dBx7/IPci8yTrJuco4yrfLNsu2zDXMtc01zbXONs62 + zzfPuNA50LrRPNG+0j/SwdNE08bUSdTL1U7V0dZV1tjXXNfg2GTY6Nls2fHadtr724DcBdyK3RDdlt4c + 3qLfKd+v4DbgveFE4cziU+Lb42Pj6+Rz5PzlhOYN5pbnH+ep6DLovOlG6dDqW+rl63Dr++yG7RHtnO4o + 7rTvQO/M8Fjw5fFy8f/yjPMZ86f0NPTC9VD13vZt9vv3ivgZ+Kj5OPnH+lf65/t3/Af8mP0p/br+S/7c + /23////bAEMAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQICAgICAgIC + AgICAwMDAwMDAwMDA//bAEMBAQEBAQEBAQEBAQICAQICAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD + AwMDAwMDAwMDAwMDAwMDAwMDAwMDA//AABEIAU4BzwMBEQACEQEDEQH/xAAfAAAABgIDAQAAAAAAAAAA + AAAHCAYFBAkDCgIBAAv/xAC1EAACAQMEAQMDAgMDAwIGCXUBAgMEEQUSBiEHEyIACDEUQTIjFQlRQhZh + JDMXUnGBGGKRJUOhsfAmNHIKGcHRNSfhUzaC8ZKiRFRzRUY3R2MoVVZXGrLC0uLyZIN0k4Rlo7PD0+Mp + OGbzdSo5OkhJSlhZWmdoaWp2d3h5eoWGh4iJipSVlpeYmZqkpaanqKmqtLW2t7i5usTFxsfIycrU1dbX + 2Nna5OXm5+jp6vT19vf4+fr/xAAfAQAABgMBAQEAAAAAAAAAAAAGBQQDBwIIAQkACgv/xAC1EQACAQMC + BAQDBQQEBAYGBW0BAgMRBCESBTEGACITQVEHMmEUcQhCgSORFVKhYhYzCbEkwdFDcvAX4YI0JZJTGGNE + 8aKyJjUZVDZFZCcKc4OTRnTC0uLyVWV1VjeEhaOzw9Pj8ykalKS0xNTk9JWltcXV5fUoR1dmOHaGlqa2 + xtbm9md3h5ent8fX5/dIWGh4iJiouMjY6Pg5SVlpeYmZqbnJ2en5KjpKWmp6ipqqusra6vr/3QAEADr/ + 2gAMAwEAAhEDEQA/ALwNq7V+cHzM+cf8xXYmxv5inbvxr2B8a+2+utr7O2dtTr3Ym9cY+M3tsM5qaKKb + OHF1lBHQVuJkYKZKgyGpYkrpAJcqzzT3QFyyqrAAAL/CD5j59QJb2/OPNnOXPNjZc7z7fY2E8SoixCQE + SB/WRKU0fOtfLzMd/wANu/zBP+90PyE/9EL1V/8AXr279NP/AMp0n7E/6B6Pv6hc9f8AhVrr/smX/rf1 + 7/ht3+YJ/wB7ofkJ/wCiF6q/+vXv300//KdJ+xP+gevf1C56/wDCrXX/AGTL/wBb+ia/IHDb0+LG86Lr + v5Af8KJuy+s975DA0256bbOZ6G2HV5T+A1tXWUNHkaiHCy5MUUNXU4+ZYhMY3kEZZVK8+2pFMRCybkwJ + 9Qn/AED0Ed8F3y1eLt++e+UtvelA+g2pY6SSATolalaGgNCeNKdAZ/p82D/30z75/wDSd9vf/UHumtP+ + jo37E/6B6Jv3/Zf+F/k/7I5P+g+vf6fNg/8AfTPvn/0nfb3/ANQe/a0/6OjfsT/oHr37/sv/AAv8n/ZH + J/0H0K/SdTn/AJHdiYnqfo//AIUU9sdk9h5ulydfjdr7d+OO2Za6agw1FJkMpXTTVVNTUVFRUVLGS8s8 + sceoqgJd1U2T9RtCbkxb0on/AED0abPNPv8Afw7Zs/vlPcXz1oi2b1wCxJJkAAABNSQPz6Pj/Jr7V777 + AwPzR2Z393XujvjO9DfMPsHpTbu9t2Y/C4rI1O3dkUOMxscq47B0lNS0KZKsikq2hLzmJ5iokYAH2rgD + hXV5CxDEVNPl6AdCn2d3rfd2i50td93V7yWx3aW2R2AB0xdtaCtNRGqlTStK9XP+3+pn6pF+TP8APv8A + hn8VO9+xvj12PtTvSv3v1jlqLDbgq9rbS2lkMBPVV+ExeehbGVlfvvF1k8Io8tGrGSniIkDAAgAlLJdw + xSNGxOoU/mK/5eoX5h98+U+Wt63DY76wv2urZ9DMkcZQmgPaTKppnzA6Ax/+FN/wAjtr2L8lkve2vYmy + Fvb62v2UL2v7qb2FeOofl0SL95HkZ66dv3I/ZHF/1v6M72F/O++JXWvTHxZ7zzu0+7araHy6j33J1nSY + ram16nN41evd347Zec/vbSzb1p6TGmXK5ON6f7aer1whmbSwCm/1cWiOTOl+GOhPuXvNyvte08s7xc2d + 79Puol8JQsepfBcRv4gMoAyRTSWqP2dXGxuJESRb6XRXF/rZgGF/8bH2p6lsGoB65+/db697917r3v3X + uve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917 + r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de6 + 97917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuv + 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 + d+fy7u3aH+XL8A/nn8f9n762v8kujdl7fxHam3tvbczdF2Ocfht/5up667Do9sxY9c3JuXYGUkip6sGB + pp8RUwu4MFEb7lhcxW0qA+KqJUUzgDy41B8vSo6jXdfb3c4fbnkznnYbSWLfrQyCdVDCSgupTDMFp8Sd + oLUyhjaulCetrH+XV8s898w/jLtLsffmwd19Y9tYTTs7tzZu69qZzaT02+MRRUj12c29R52goJqvam6a + apir6J41dYBO1K7GWnc+1cTs8asyFW8wQR/h8vTrK3275tk5w5btr+7tZId1ipHcIyFP1AoJZQcaXBDC + ldJJTitSev250O+ve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v + 3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r//1jB9p9sdIdm9 + 39v9+UP8ur/hWX1Lu/u/cdDujfeL6V+KuN682vW5LGYekwlBox2O3VNW1ENHR0hMX3dTVPG00mlgraQl + a2jZ3ergsamhI8gP8nUT7p7R7Rue9bpvicx7xa3V44aRbedIkqBQYEJJAyRqZiCTmmOkl/fjrP8A7xE/ + 4WXf+iYn/wDss9++lT+OT/ej0k/1m7D/AKbfmP8A7K1/609e/vx1n/3iJ/wsu/8ARMT/AP2We/fSp/HJ + /vR69/rN2H/Tb8x/9la/9aevf346z/7xE/4WXf8AomJ//ss9++lT+OT/AHo9e/1m7D/pt+Y/+ytf+tPX + v78dZ/8AeIn/AAsu/wDRMT//AGWe/fSp/HJ/vR69/rN2H/Tb8x/9la/9aevf346z/wC8RP8AhZd/6Jif + /wCyz376VP45P96PXv8AWbsP+m35j/7K1/609djfHWgII+Iv/Cy8EG4I6YnBBH0IP97Pr799Kn8cn+9H + r3+s3Yf9NvzH/wBli/8AWno6Xwk/mB9V/BDaPYW0Orv5Rf8AwpO3xH2f2DV9mbt3B298DsVu3dFfurIY + ygxlfVvmMZ2Btx6n71ces0z1CT1EtQ7u0h1WD0caxKVWpqa5z0LeSuRdq5FtdxtdrurqYXU5mkadkdy5 + ABNVRONKkkEkkmvR1v8Ah+//AMEt/wA/n/03P/8Api93r8uhrX5de/4fv/8ABLf8/n/03P8A/pi9+r8u + vV+XXv8Ah+//AMEt/wA/n/03P/8Api9+r8uvV+XXv+H7/wDwS3/P5/8ATc//AOmL36vy69X5de/4fv8A + /BLf8/n/ANNz/wD6Yvfq/Lr1fl17/h+//wAEt/z+f/Tc/wD+mL36vy69X5de/wCH7/8AwS3/AD+f/Tc/ + /wCmL36vy69X5de/4fv/APBLf8/n/wBNz/8A6Yvfq9er8uvf8P3/APglv+fz/wCm5/8A9MXv1fl16vy6 + 9/w/f/4Jb/n8/wDpuf8A/TF79X5der8uvf8AD9//AIJb/n8/+m5//wBMXv1fl16vy69/w/f/AOCW/wCf + z/6bm/8A0xe/V69X5de/4fv/APBLf8/n/wBNz/8A6Yvfq/Lr1fl17/h+/wD8Et/z+f8A03P/APpi9+r8 + uvV+XXv+H7//AAS3/P5/9Nz/AP6Yvfq/Lr1fl17/AIfv/wDBLf8AP5/9Nzf/AKYvfq9er8uvf8P3/wDg + lv8An8/+m5v/ANMXv1fl16vy69/w/f8A+CW/5/P/AKbm/wD0xe/V+XXq/Lr3/D9//glv+fz/AOm5/wD9 + MXv1fl16vy69/wAP3/8Aglv+fz/6bn//AExe/V+XXq/Lr3/D9/8A4Jb/AJ/P/puf/wDTF79X5der8uvf + 8P3/APglv+fz/wCm5/8A9MXv1fl16vy69/w/f/4Jb/n8/wDpuf8A/TF79X5der8uvf8AD9//AIJb/n8/ + +m5//wBMXv1fl16vy69/w/f/AOCW/wCfz/6bn/8A0xe/V+XXq/Lr3/D9/wD4Jb/n8/8Apuf/APTF79X5 + der8uvf8P3/+CW/5/P8A6bn/AP0xe/V+XXq/Lr3/AA/f/wCCW/5/P/puf/8ATF79X5der8uvf8P3/wDg + lv8An8/+m5//ANMXv1fl16vy69/w/f8A+CW/5/P/AKbn/wD0xe/V+XXq/Lr3/D9//glv+fz/AOm5/wD9 + MXv1fl16vy69/wAP3/8Aglv+fz/6bn//AExe/V+XXq/Lr3/D9/8A4Jb/AJ/P/puf/wDTF79X5der8uvf + 8P3/APglv+fz/wCm5/8A9MXv1fl16vy69/w/f/4Jb/n8/wDpuf8A/TF79X5der8uvf8AD9//AIJb/n8/ + +m5//wBMXv1fl16vy69/w/f/AOCW/wCfz/6bn/8A0xe/V+XXq/Lr3/D9/wD4Jb/n8/8Apuf/APTF79X5 + der8uvf8P3/+CW/5/P8A6bn/AP0xe/V+XXq/Lr3/AA/f/wCCW/5/P/puf/8ATF79X5der8uvf8P3/wDg + lv8An8/+m5//ANMXv1fl16vy69/w/f8A+CW/5/P/AKbn/wD0xe/V+XXq/Lr3/D9//glv+fz/AOm5/wD9 + MXv1fl16vy69/wAP3/8Aglv+fz/6bn//AExe/V+XXq/Lr3/D9/8A4Jb/AJ/P/puf/wDTF79X5der8uvf + 8P3/APglv+fz/wCm5/8A9MXv1fl16vy69/w/f/4Jb/n8/wDpuf8A/TF79X5der8uvf8AD9//AIJb/n8/ + +m5//wBMXv1fl16vy69/w/f/AOCW/wCfz/6bn/8A0xe/V+XXq/Lr3/D9/wD4Jb/n8/8Apuf/APTF79X5 + der8uv/X3+Pfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvf + uvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737 + r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3XvfuvdQGyuLWsGObJUC5BrWoWrK + cVh1C4tSmTzm45Hp+nv3Xup/v3XuoFLlcXXSywUWSoKyeD/Pw0tZT1EsNjpPljikd47NxyBz7917qf79 + 17r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/d + e697917r3v3Xuve/de6//9Df49+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+69 + 1737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvd + e9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3QL9s/IDq/pc4yi3nnKiXc+fjlk21sTbOLyG + 6t+7mSBik0uF2ng6esy09FDINMlU6R0cT2V5VJALF1dW1lby3d7cxw2qCrO7BVUfNmIA/b1okAVJx0BL + fLnsCdnqsZ8Qu8qnELJIEmyGe6fw2aqIEtpngwFb2J5k8t7iOeaCQAG6g8e48m94fbGCf6d+cbUyeqrK + 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 + X1uLh15dtZmjghBop0EqZXAw0jmpqa6VIVcZJFeXDvI8YP6YP7f9X+qvQ1+4o6Q9RKigoKyehqauho6q + pxk0lTjKmppYKiox1RLC9PLUUE0sby0U8tPK0bPGVZkYqTYke1UF7eW0N3b213JHbzqFlVWYLIoIYB1B + owDAEBgaEVHVg7AFQx0ny6l+0vVeve/de697917r3v3Xuve/de6R+8Ovdidg0E+M3xs/bm66Koo58e8e + dxFFkJY6SpZXlipKueFqygJlRZFeCSN0kVXUhlBB3s3MnMHLsyz7HvNxauHD0jdlUsMAsldD4xRlIoSO + HTsc0sX9m5HXvjJujP7P39vf43bkzeT3LjNtbZw3Y/UedzdRV5HOjrvL5KrwOU2hm8vVySTZWo2NuKkS + KlqJGaWTH1sCOS0JPvoV7V87yc+8o228XUSpucUjQzhfhMiAHWo8ldWDU8jqAJAr0f283jxCTTQ/yr8v + 9WOjue5H6f697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de69 + 7917r3v3Xuve/de6/9Lf49+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737 + r3Xvfuvde9+691737r3SK7F7C2n1VsncfYW+MomH2ttbHSZLK1rI80uhWSKnpKOliDT1uRyFVKkFNBGG + knnkRFBZgPeiVVWZmAUCpJNAAOJJOAAMknAHW1VnZURSzkgAAEkk4AAGSScADJOB1rUfIr+bF3r2Jlcn + iuqa1+ptlfcSU9JFhBRS7yqqFGmRJstuyopq1qDJTgo7R4pII6Zl8YqKkanOCPul99bbNh3O62P212WH + c5IHKPeXDOtsWUkEW8cZDyqDwlZkRvwq6kN1019lP7uneOaNmsuZPeDmG42aK5jWSPb7VEa7VGAZTdSy + ho4HIOYFjkkWo1ujAp0UzE/Ov5d4fI0eTp+/+yp6iicSxx5DcdVlqGolVVWN8ji82MrishGgBJieDxOT + 6gRYCEtv++97u210Jdw2zZLq084/p5Iv2SJMWFPsPz6yN3T+7e9h7qyaHat65isr7yl+qhn/AGxyW4U1 + +0U8ug47t7x393xuubf3YO8MpuPc2SRKSoino4MbRYjF0MNMlBjMVBQSLj6fH/cLLMYaeKFGlcyyBpGO + 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 + Sbm7CrsZT8uNS08gtcgj3Xujye/de6CndHe3Smyaiso939uda7arsc2ivx+a3ttzH5GjfQJNFTj6jIpW + Qv4yDZkBsR/X3qorSuet0NK0x0iMP8v/AIsZ+p+zxHyF6frKmwPjXfu3YeDe3qqK+JObf19+Jpk4HXgC + 3DPQ5YDcu3N146PMbWz+E3LiZXeOLKYDK0OZx0kkTaZUjrcdPU0zvG3DAMSD9fewQcjrVKYPHp79+691 + 737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde + 9+691737r3Xvfuvde9+691//0N/j37r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+69173 + 7r3Xvfuvde9+691737r3Xvfuvde9+691737r3QRbm6B6N3nWHI7r6f613BkWqhWyZDKbK29VV81UF0ie + orJMeamok0i3rZvdxJIoorkD7emzFEx1NGpb7B0qcR1v13t/D5Db2B2Hs3C4HL0stFlsLidsYXHYrKUc + 8LU89LkcfSUUNLXU80DlHSVHVlJBBB91LMxqzEnqyoiDSigL8h1Vj3Z/J36b3/larM9X71zPUj1et3wM + mGg3ltulctrWPDJUZPC53FUygBEhetqqaBCRFEgsBC/uB9372p9yrqTcuY+WxHvL01XNq5t53zX9QrWO + QnzaSN3pwYdZEe1v3qPfD2gsYtn5S5wMnLyDss7yMXVtHin6QciWEDySKVErxQ9Als/+SHSU2RiqN7/I + Cauxsc0TS0G29gU1PWVEKsruseQzmfylDSu5XQfJQVSlCeAbEAbZ/ue+x203sd7Js9/eheEdzdM8RPkW + SNYi1PRmKnzU9SVv/wB/z7yW+bfLt8G/bbtpfjLZ2SJPTzCvM84Sv8SoHHFXU9XBdGfHnqj46bWfavVu + 248RBVvTz5rM1cpyG49x1dLAtNBV53MSqJ6toIRpihQR01OGYQxRhiDkpt+32G02Vttu12MNtt0K6Y4o + kVI0UeSooAA88DJycnrD7dN13TfNxvN43rcZ7zdrh9cs0ztLLIx/E7uSzGmBU4AAFAAOhI3js3a3YW1s + 7sne+Bxm59p7mx1Ric9gcxTJV47J4+pXTLBPC/0IIDI6lZIpFV0ZXVWCzpB0R3bG8N1/DLceG6s7fzmU + 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 + vfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+6917 + 37r3XvfuvdBJ253r1R0XhYs52hvLG7ahrDMmKxzCoyO4M7NAhklp8DtzFw1mbzM0aga/t4HWO4LlQb+3 + IopZ5EhgiZ5mNAqgsxPoAKkn5AdNzTRW8Uk9xKscCCrMxCqoHmWNAB8yeq0N+/zOd4ZSWopum+oaTEY/ + TH9tubt7JvFWzamUySQ7G2lUVM0YERbT9zlYHEgGqLSfco7F7O84bwqTXUMdjbNQ1mPfT/mktWH2Np6i + HmL3x5H2J5be0uJNwvFqKQAeHUeRmaiEV801/sz0VvcHy7+W+5njep7yl2wiO+ui2HsPZmHo5oGcMI5J + 8/jd1ZdZlUaRIlUnHOm/uRbL2D21NB3HmKeQ0yI40QV+RYuafaoJ+XUW7h95HdXDrtfK9vH3drSyvIaf + NUEYr9jED59JE98/Itn8p+RPb/lvq1DN4ZYtX0v9qu3xS6f9p0af8PZp/rE8qU/5Kd/X/TR/9a+ij/gi + +cv+jRt3+8y/9bep9V8kPklkcJndsbk7Wo+yNp7joWxOX2h2t13sjde3K/EzWFXR1aYrF7Zy9Q9SnHke + rbQbFVDAMC2+9g9qcE7bzDcRtQ0EiJIK+WV8MgeuCejTb/vIbxHQbryzbSjUKmKR4zp88MJAT6ZUdCJ8 + cfm92x8duu81sHd+0Zu5cLiIclN1dPjdzGjy+1aRad/4NsfLf3jinr8vtmiqEVYav72etpKdhCsUyomm + O979mucNqWSazjivrdc/pMQ9P+ab0J+xSxx9nUocv++3I28vHBfSzbdctQfrqDHU+XioSo8suEGft6LJ + n987l7d3VX9kdibkO7t81heKWd45abHbSo5SJE2vtTCTs393cHRhgAoHnqmHmneSRi3uZ/bDlTlbarEX + llPFd8wKKTSEEPCxpWNYnAeIDhqZQzkE1A7RA/u7znzhvG4tY39tLZcssawRqwaOdR/orTRlo5iwNdKu + yICBQnuOH3LXUK9e9+691737r3XvfuvdMVTgqar3Djs/UpTyy4jH1tJjw9OjT09RkJac1NUtQ12Q/b0y + xqFsQGe5IIAD9zsEV7zLt+/3XhuLS3ZIl0DUJXYapGfidKDTGv4SWYZPQntOZZrDlPcuWrPxUN7co8za + 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 + yuhPh7vHvOo3ZiM33Ftfrnc/Xm5avbPY2wsfsTNVvYO25v32xNaY91ZXH46DH7ho1Ssx1elLX0NVTk6S + zq6pAG5e+PN95q+ht7S0BNe1DI3nUVkJWh/0tRTj1krtX3e+SLHSdwub29YCnc4iXiKGkQVqjh8dDXhw + 6st6s/l+fHrrmqos1m8Rle2d00TCaHN9oVsWeoaWo0reTG7PgpqHZtD4pdTwuaGSoiLcTHSpEY7tv+97 + 7J4u8brPcNWoDsSo/wBKmFXh5AdS3svLewcuxeDsez29qlKEogDEf0ny7fmx6O6iJGixxqqRoqoiIoVE + RQFVVVQFVVUWAHAHso6O+uXv3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve + /de697917r3v3Xuve/de697917r/09/j37r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+6 + 91737r3Xvfuvde9+691737r3XvfuvdY5Yop4pIJ445oZo3imhlRZIpYpFKSRyRuCjxuhIIIIINj7917r + Wp+QnWeB6W7j7I2d1ochvHq/aKUe49xZDbuOyWZx3Qk+6quqqKbYG/MtTRT0eOplYmbGesyUmPZEqggV + JHnf2x90Ydlgh5c5jkI2taiGahPhVNdD0qTGSTpYAlDg1U9uOvu57QT7/cTc0crRA7w1PHgqB41BTxI6 + 0AlAADKSA4yKMO4Kaeop6uCOppJ4aqmmQSQ1FNLHPBKjC6vFNEzxyIwPBBIPvJy2uba8gjurO4SW2YVD + owZSPkRUdYj3dpdWFxJZ31tJDdoaMjqUYH5qwB6ze3umOve/de697917r3v3Xuve/de697917r3v3Xuv + e/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3 + v3Xuh6+KnUFX3p3ttjEmjap2L1plcRv/ALJryiS4/wA2Iqv4js7ZdSHvHPW7jzlJFPNTkG2OppXYDVHq + x697+bYFtouT7N9VwzrJcEfhC5jjP9ImjsPIBc5I6yd+79yVcG5m54vo9NsqPFbA1q7NiWSn8IFUU+ZL + GmAerefkH0TubN57D9+dD1dBtv5F7Cx8lHQGukak2x27s8Mamu6o7GEZVJsTknGrHV7AzYmt0yxsq6rY + 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 + 3GV1Hg5qio2r1vsnEvJU4XrbZ01XHFUVNFS11TLV5GuZI3yVfIZCoSOP34CnXmbVTFAB/q/b0ZP3vqvX + vfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+6917 + 37r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691//1d/j37r3Xvfuvde9+691737r3Xvf + uvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737 + r3Xvfuvde9+691737r3XRAIIIBBFiDyCD9QR+QffuvdEY29QdxfFGev2jt3rbNd3/HmTK5nL7Jj2JX4v + /Sn1NR5Oeoy9Tsut2zuTJYmk3rtKiyNRIuKnoaz+IU8DrTyU8ixpI2sjI6uCpAVsEefy+Y+XqPLFOhN6 + V+T2E7r3xvXYdF132Z17mtiYfB5fMUHamDoNnZ6SPcLzfw5qLa8uVq87NjpIoGP3piWlLjxhi/HuoYkg + FaY6s0ahGdZNVGA4eor55/l9h6M37v010Ae9/iz8dOyM5uHc2++mdgbp3JuvM9Vbiz+4MvgKSozeQ3D0 + blMjmuns8crpWups11rlcvVT4eqhkjnoXqZPGw1sD7r3QfbQ+Afwq2D2DvjtbZ3xh6b2/wBidlR78p98 + 7roNl4pcnuOh7R8Ldj4quMsUkC4XfE0AmylDGiUlbUM80sbSySO3uvdYtnfy/fhVsHYs3WW1fjN1Lj+v + 6nrbdnTlRtKp2vTZnCzdUb53W++d1ddS0ubORD7Oy+7n+/bHk/bR1CqY1QIgX3XusOE+Knw1+LfU+Hk2 + b0J1vsTr7497i3d8gtr0eD29SCo2z2ANn53Dbj7Dx9dXTNXVu+8ntDJVmNbIVVRJVS0kwpzJ4wqromgJ + 62o1MF9ehp6GwfU+A6o2nT9I7Z2/s7rfLQZDeOF25tqmoKPG0Fbv/LV++txSyUuMmqKKHK5Pcm46urrg + jtqrZ5WJJJPvwNetsuk08v2V6QXd3yPwOwf+Mf8AX603ZXf2545sbsXqvb1dT1eUXJTBoV3BvKWCR49n + 7KwDn7jIV9aYVWGNkiDysqH1a1AOet6StGdcenCv+r16Fnqba26Nl9b7N2xvfd9fv7eWJwdJDureORKm + pz+fkDVGVrECw0/joBWzPHSoyh46VI1YlgSd9U456EP37r3Xvfuvde9+691737r3Xvfuvde9+691737r + 3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+69 + 1737r3Xvfuvde9+691737r3X/9bf49+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde + 9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xv + fuvdAR3F0BtfturwW54svuDr/tDZ6VC7K7V2PVxY7duAjqWEk+LqxPDU4vc+162UXqcVkoKmjluxVUkb + ye/EV62CVNR/q+316DCOp+c+ykejmxPQHetHTmOKjzkea3T0zueviEEStUZjDNht97Zp6szhmY0lQsTA + +mNPoKkNTBz8+rqYiw8RDpp5Hz/MHpIb/wBhfMvv3bVVsnctZ0x0BtfJS0NZWZzaOW3l2b2RQV+EymNz + mFmwE8lLsHbmPdcjj1Es0jVB8d18TBj79QkDUet+IqM5iU0Ipk5+fCnT9t75WP1mKXZPy6xMnUm8qEpj + o+zFoMhVdG9ilJoqSmzu3N6wQ1NHtaqywkWWXE5pqOpo3ZkDSoFdt5GCOqkK3cGAOag0HzweH5cfLPQk + 5j5f/FnA4uPM5L5BdSLQTafA1HvjA5WqqWkUvHFSY7FVlbkaqeRR6Y44mdjwATx70GUkgcR1toZFCMwo + rcKkD5+vQLbjrt3fM+Wj2Vhdq7j2R8Xf4lBWdg7y3riKvbm5O6qDFVcdTT7G2PtPKR02cxmyctWQI2Tz + FfDTtVUqmCljbyPIvsnjw69VUUhTVzgnyA+X2+Z9MdCdV/CX4u1NZU1tP1Ni8E1bWS11bSbSzW6tm4qr + qJ21S+fC7UzuHxDRO4B8YgCXAsPeyAeI6qrsldDEV40xXoWes+lOpum6KroOr+vtr7KiyEzz5KfCYyGH + I5SaSQytLlctIJcrk38jEgzzSab8W976r0KHv3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de6 + 97917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuv + e/de697917r3v3Xuve/de6//19/j37r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+69173 + 7r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+ + 691737r3Xvfuvde9+691gqqWlrYJaWtpoKulnQxzU1VDHUQTIfqksMqvHIh/III9+690jcZ1f1phMgMt + huvNjYjKqzMuTxm0sBQZBWc6mYVtJj4qkMzck6uT7916nS59+691737r3Xvfuvde9+691737r3Xvfuvd + e9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3X + vfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3X/0N/j37r3Xvfuvde9+691737r3Xvf + uvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737 + r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+6 + 91737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuv + de9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3X/9k= + + + + 17, 17 + + \ No newline at end of file diff --git a/Themenmanagement/Diverse Formulare/frmSplash.vb b/Themenmanagement/Diverse Formulare/frmSplash.vb new file mode 100644 index 0000000..f2da9c3 --- /dev/null +++ b/Themenmanagement/Diverse Formulare/frmSplash.vb @@ -0,0 +1,15 @@ +Public Class frmSplash + + Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick + Me.Close() + End Sub + + Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click + + End Sub + + Private Sub frmSplash_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load + Me.lblVersion.Text = "Version " & Globals.clsapplication.sVersion.Value + Me.lblVersiondatum.text = Globals.Versionsdatum + End Sub +End Class \ No newline at end of file diff --git a/Themenmanagement/Diverse Formulare/frmSuche.designer.vb b/Themenmanagement/Diverse Formulare/frmSuche.designer.vb new file mode 100644 index 0000000..832b5fd --- /dev/null +++ b/Themenmanagement/Diverse Formulare/frmSuche.designer.vb @@ -0,0 +1,200 @@ + _ +Partial Class frmSuche + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmSuche)) + Me.ToolStrip1 = New System.Windows.Forms.ToolStrip() + Me.TSBtnQuit = New System.Windows.Forms.ToolStripButton() + Me.lblSuchbegriff = New System.Windows.Forms.Label() + Me.txtSuchbegriff = New System.Windows.Forms.TextBox() + Me.Panel1 = New System.Windows.Forms.Panel() + Me.btnSuche = New System.Windows.Forms.Button() + Me.C1Suchresultat = New C1.Win.C1TrueDBGrid.C1TrueDBGrid() + Me.ctxmenu = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.AnzeigenInNeuemFensterToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem1 = New System.Windows.Forms.ToolStripSeparator() + Me.AnzeigenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ÜbersichtAnzeigenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.cbfreitext = New System.Windows.Forms.CheckBox() + Me.ToolStrip1.SuspendLayout() + Me.Panel1.SuspendLayout() + CType(Me.C1Suchresultat, System.ComponentModel.ISupportInitialize).BeginInit() + Me.ctxmenu.SuspendLayout() + Me.SuspendLayout() + ' + 'ToolStrip1 + ' + Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.TSBtnQuit}) + Me.ToolStrip1.Location = New System.Drawing.Point(0, 0) + Me.ToolStrip1.Name = "ToolStrip1" + Me.ToolStrip1.Size = New System.Drawing.Size(346, 25) + Me.ToolStrip1.TabIndex = 6 + Me.ToolStrip1.Text = "ToolStrip1" + ' + 'TSBtnQuit + ' + Me.TSBtnQuit.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnQuit.Image = CType(resources.GetObject("TSBtnQuit.Image"), System.Drawing.Image) + Me.TSBtnQuit.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnQuit.Name = "TSBtnQuit" + Me.TSBtnQuit.Size = New System.Drawing.Size(23, 22) + Me.TSBtnQuit.Text = "ToolStripButton1" + Me.TSBtnQuit.ToolTipText = "Anwendung beenden" + ' + 'lblSuchbegriff + ' + Me.lblSuchbegriff.AutoSize = True + Me.lblSuchbegriff.Location = New System.Drawing.Point(3, 16) + Me.lblSuchbegriff.Name = "lblSuchbegriff" + Me.lblSuchbegriff.Size = New System.Drawing.Size(61, 13) + Me.lblSuchbegriff.TabIndex = 7 + Me.lblSuchbegriff.Text = "Suchbegriff" + ' + 'txtSuchbegriff + ' + Me.txtSuchbegriff.Location = New System.Drawing.Point(70, 13) + Me.txtSuchbegriff.Name = "txtSuchbegriff" + Me.txtSuchbegriff.Size = New System.Drawing.Size(189, 20) + Me.txtSuchbegriff.TabIndex = 8 + ' + 'Panel1 + ' + Me.Panel1.Controls.Add(Me.cbfreitext) + Me.Panel1.Controls.Add(Me.btnSuche) + Me.Panel1.Controls.Add(Me.lblSuchbegriff) + Me.Panel1.Controls.Add(Me.txtSuchbegriff) + Me.Panel1.Dock = System.Windows.Forms.DockStyle.Top + Me.Panel1.Location = New System.Drawing.Point(0, 25) + Me.Panel1.Name = "Panel1" + Me.Panel1.Size = New System.Drawing.Size(346, 63) + Me.Panel1.TabIndex = 9 + ' + 'btnSuche + ' + Me.btnSuche.Location = New System.Drawing.Point(265, 10) + Me.btnSuche.Name = "btnSuche" + Me.btnSuche.Size = New System.Drawing.Size(75, 23) + Me.btnSuche.TabIndex = 9 + Me.btnSuche.Text = "Suchen" + Me.btnSuche.UseVisualStyleBackColor = True + ' + 'C1Suchresultat + ' + Me.C1Suchresultat.AllowDrag = True + Me.C1Suchresultat.AllowDrop = True + Me.C1Suchresultat.AllowUpdate = False + Me.C1Suchresultat.AlternatingRows = True + Me.C1Suchresultat.ContextMenuStrip = Me.ctxmenu + Me.C1Suchresultat.Dock = System.Windows.Forms.DockStyle.Fill + Me.C1Suchresultat.FetchRowStyles = True + Me.C1Suchresultat.FilterBar = True + Me.C1Suchresultat.GroupByCaption = "Drag a column header here to group by that column" + Me.C1Suchresultat.Images.Add(CType(resources.GetObject("C1Suchresultat.Images"), System.Drawing.Image)) + Me.C1Suchresultat.Location = New System.Drawing.Point(0, 88) + Me.C1Suchresultat.Name = "C1Suchresultat" + Me.C1Suchresultat.PreviewInfo.Location = New System.Drawing.Point(0, 0) + Me.C1Suchresultat.PreviewInfo.Size = New System.Drawing.Size(0, 0) + Me.C1Suchresultat.PreviewInfo.ZoomFactor = 75.0R + Me.C1Suchresultat.PrintInfo.PageSettings = CType(resources.GetObject("C1Suchresultat.PrintInfo.PageSettings"), System.Drawing.Printing.PageSettings) + Me.C1Suchresultat.Size = New System.Drawing.Size(346, 308) + Me.C1Suchresultat.TabAction = C1.Win.C1TrueDBGrid.TabActionEnum.ColumnNavigation + Me.C1Suchresultat.TabIndex = 11 + Me.C1Suchresultat.Text = "C1TrueDBGrid1" + Me.C1Suchresultat.PropBag = resources.GetString("C1Suchresultat.PropBag") + ' + 'ctxmenu + ' + Me.ctxmenu.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.AnzeigenInNeuemFensterToolStripMenuItem, Me.ToolStripMenuItem1, Me.AnzeigenToolStripMenuItem, Me.ÜbersichtAnzeigenToolStripMenuItem}) + Me.ctxmenu.Name = "ctxmenu" + Me.ctxmenu.Size = New System.Drawing.Size(218, 76) + ' + 'AnzeigenInNeuemFensterToolStripMenuItem + ' + Me.AnzeigenInNeuemFensterToolStripMenuItem.Name = "AnzeigenInNeuemFensterToolStripMenuItem" + Me.AnzeigenInNeuemFensterToolStripMenuItem.Size = New System.Drawing.Size(217, 22) + Me.AnzeigenInNeuemFensterToolStripMenuItem.Text = "Anzeigen in neuem Fenster" + ' + 'ToolStripMenuItem1 + ' + Me.ToolStripMenuItem1.Name = "ToolStripMenuItem1" + Me.ToolStripMenuItem1.Size = New System.Drawing.Size(214, 6) + ' + 'AnzeigenToolStripMenuItem + ' + Me.AnzeigenToolStripMenuItem.Name = "AnzeigenToolStripMenuItem" + Me.AnzeigenToolStripMenuItem.Size = New System.Drawing.Size(217, 22) + Me.AnzeigenToolStripMenuItem.Text = "Anzeigen" + ' + 'ÜbersichtAnzeigenToolStripMenuItem + ' + Me.ÜbersichtAnzeigenToolStripMenuItem.Name = "ÜbersichtAnzeigenToolStripMenuItem" + Me.ÜbersichtAnzeigenToolStripMenuItem.Size = New System.Drawing.Size(217, 22) + Me.ÜbersichtAnzeigenToolStripMenuItem.Text = "Übersicht anzeigen" + ' + 'cbfreitext + ' + Me.cbfreitext.AutoSize = True + Me.cbfreitext.Location = New System.Drawing.Point(24, 39) + Me.cbfreitext.Name = "cbfreitext" + Me.cbfreitext.RightToLeft = System.Windows.Forms.RightToLeft.Yes + Me.cbfreitext.Size = New System.Drawing.Size(60, 17) + Me.cbfreitext.TabIndex = 10 + Me.cbfreitext.Text = "Freitext" + Me.cbfreitext.UseVisualStyleBackColor = True + ' + 'frmSuche + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(346, 396) + Me.Controls.Add(Me.C1Suchresultat) + Me.Controls.Add(Me.Panel1) + Me.Controls.Add(Me.ToolStrip1) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.Name = "frmSuche" + Me.Text = "Suchen" + Me.ToolStrip1.ResumeLayout(False) + Me.ToolStrip1.PerformLayout() + Me.Panel1.ResumeLayout(False) + Me.Panel1.PerformLayout() + CType(Me.C1Suchresultat, System.ComponentModel.ISupportInitialize).EndInit() + Me.ctxmenu.ResumeLayout(False) + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents ToolStrip1 As System.Windows.Forms.ToolStrip + Friend WithEvents TSBtnQuit As System.Windows.Forms.ToolStripButton + Friend WithEvents lblSuchbegriff As System.Windows.Forms.Label + Friend WithEvents txtSuchbegriff As System.Windows.Forms.TextBox + Friend WithEvents Panel1 As System.Windows.Forms.Panel + Friend WithEvents btnSuche As System.Windows.Forms.Button + Friend WithEvents C1Suchresultat As C1.Win.C1TrueDBGrid.C1TrueDBGrid + Friend WithEvents ctxmenu As System.Windows.Forms.ContextMenuStrip + Friend WithEvents AnzeigenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents AnzeigenInNeuemFensterToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ÜbersichtAnzeigenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem1 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents cbfreitext As System.Windows.Forms.CheckBox +End Class diff --git a/Themenmanagement/Diverse Formulare/frmSuche.resx b/Themenmanagement/Diverse Formulare/frmSuche.resx new file mode 100644 index 0000000..df0c153 --- /dev/null +++ b/Themenmanagement/Diverse Formulare/frmSuche.resx @@ -0,0 +1,3637 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 17, 17 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAK2SURBVDhPnZLdS1NhHMcfCPoDuummi+gyunJg0QviNrd5 + PDtzc7Z5ztl20pUzo6I3yFIrS9N8K7Qih6lUFJVaGWXZi6KRoZSFmCuyi+iiiCKILgo+HTUWu7QffOD5 + PfB8eL6/5xH/U1+mh4IzM+O/Ovdm8Hdrvi5X5PR2H86ht2oWKUnPEYkr5XYexXfyebKfTxO3+P5mkIv7 + ramCngqZtDV2Vq+zsWbDP9LXWVllWc+PRD+J3krGWv18TTzm8kFHqqC7TCbD6sRml7A7XEmsWU7S19t4 + 3Rlh7JzO6Okgn1/d5dqh7FSBo1kg1Swi2+5DcilI2W4kScblktlglZjsMBg9G+JJS5CPYz1zUf8eFcJ2 + XJD42IXTlORkaridARTJjyJ7kd0eMh1uXsbDjLTqDDYXMDN8idvVyrzAViOYeN9Gx6Ago1pgbxA4Twnk + sqV4lSCeXD9ZOT7Gz2kMntT5cWc5UwPt3K31Ilx1gqfvqomPCNqGzfXbIp69i/D8Q3hOku8Jk5cXRPIE + eHZa5WGTxs/+Fby63cpAg39e8CCxh/i4ID4maH8p6JgUvPgWwXFSEMwrYmMghDtPY6QlwEBjkLY9Tp73 + HOdxc2AugsVuRuib2kxXQpA5G+GEwNEkyC1fhq5GUXUDX9BgqNnPvfp8rh9WeHqpguEWNTlES1atoPet + D2ejwAjswtBKMcLFGEaUiFFIIBTlYYOXO3U++mq8DJ3fzeiZUMozWpzmlZW6xUSN7USLSiiKFs9RaKJt + inG/zkNfdS43jnrob40x3hZJEYjO0rVsKSmlJLaDkq3bksRMCou3c69W5uYxhe4qNzfrQ0y0FyJ0XUfX + QmhaGFWdxVyrmtmrSVSz31igsy8W4EKFYv5AmatHcpns2jw/xIVSpqfvrzyw8vf0hVhqhAXUEpM0IYTl + DzXbwlLPDlfpAAAAAElFTkSuQmCC + + + + 124, 17 + + + + iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAA0SURBVChTdYkBCgAgDAL9/6eLIsd0eSCKhw/r9aCLtC88 + vAdHMEIXKUIUhMK76EfagglgA6CqHOQpL6GyAAAAAElFTkSuQmCC + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0 + dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACRTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5QYWdlU2V0dGluZ3MHAAAAD3ByaW50ZXJTZXR0aW5ncwVjb2xvcglwYXBlclNp + emULcGFwZXJTb3VyY2URcHJpbnRlclJlc29sdXRpb24JbGFuZHNjYXBlB21hcmdpbnMEBAQEBAQEJ1N5 + c3RlbS5EcmF3aW5nLlByaW50aW5nLlByaW50ZXJTZXR0aW5ncwIAAAAgU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuVHJpU3RhdGUCAAAAIVN5c3RlbS5EcmF3aW5nLlByaW50aW5nLlBhcGVyU2l6ZQIAAAAjU3lz + dGVtLkRyYXdpbmcuUHJpbnRpbmcuUGFwZXJTb3VyY2UCAAAAKVN5c3RlbS5EcmF3aW5nLlByaW50aW5n + LlByaW50ZXJSZXNvbHV0aW9uAgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAf + U3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuTWFyZ2lucwIAAAACAAAACQMAAAAF/P///yBTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5UcmlTdGF0ZQEAAAAFdmFsdWUAAgIAAAAACgoKAfv////8////AAkGAAAABQMA + AAAnU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRlclNldHRpbmdzEgAAAAtwcmludGVyTmFtZQpk + cml2ZXJOYW1lCm91dHB1dFBvcnQLcHJpbnRUb0ZpbGUUcHJpbnREaWFsb2dEaXNwbGF5ZWQKZXh0cmFi + eXRlcwlleHRyYWluZm8GY29waWVzBmR1cGxleAdjb2xsYXRlE2RlZmF1bHRQYWdlU2V0dGluZ3MIZnJv + bVBhZ2UGdG9QYWdlB21heFBhZ2UHbWluUGFnZQpwcmludFJhbmdlDGRldm1vZGVieXRlcw1jYWNoZWRE + ZXZtb2RlAQEBAAAABwAEBAQAAAAABAAHAQEHAgceU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuRHVwbGV4 + AgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAkU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuUGFnZVNldHRpbmdzAgAAAAgICAgiU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRSYW5n + ZQIAAAAHAgIAAAAKBgcAAAAACQcAAAAAAAAACv//Bfj///8eU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcu + RHVwbGV4AQAAAAd2YWx1ZV9fAAgCAAAA/////wH3/////P///wAJCgAAAAAAAAAAAAAADycAAAAAAAAF + 9f///yJTeXN0ZW0uRHJhd2luZy5QcmludGluZy5QcmludFJhbmdlAQAAAAd2YWx1ZV9fAAgCAAAAAAAA + AAAACgUGAAAAH1N5c3RlbS5EcmF3aW5nLlByaW50aW5nLk1hcmdpbnMIAAAABGxlZnQFcmlnaHQDdG9w + BmJvdHRvbQpkb3VibGVMZWZ0C2RvdWJsZVJpZ2h0CWRvdWJsZVRvcAxkb3VibGVCb3R0b20AAAAAAAAA + AAgICAgGBgYGAgAAAGQAAABkAAAAZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZ + QAEKAAAAAQAAAAkDAAAAAfP////8////AAoKCgHy/////P///wAJDwAAAAEPAAAABgAAAGQAAABkAAAA + ZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAs= + + + + <?xml version="1.0"?><Blob><Styles type="C1.Win.C1TrueDBGrid.Design.ContextWrapper"><Data>HighlightRow{ForeColor:HighlightText;BackColor:Highlight;}Style8{}Style7{}EvenRow{BackColor:White;}Normal{}RecordSelector{AlignImage:Center;}Inactive{ForeColor:InactiveCaptionText;BackColor:InactiveCaption;}Style4{}OddRow{BackColor:224, 224, 224;}Style3{}Footer{}Style14{}Heading{Wrap:True;Border:Flat,ControlDark,0, 1, 0, 1;AlignVert:Center;BackColor:Control;ForeColor:ControlText;}Style5{}Editor{}Style10{AlignHorz:Near;}Style16{}Selected{ForeColor:HighlightText;BackColor:Highlight;}Style15{}Style13{}Style12{}Style11{}Group{Border:None,,0, 0, 0, 0;AlignVert:Center;BackColor:ControlDark;}Style9{}FilterWatermark{ForeColor:InfoText;BackColor:Info;}Style6{}Style1{}Caption{AlignHorz:Center;}Style2{}FilterBar{BackColor:255, 255, 192;}</Data></Styles><Splits><C1.Win.C1TrueDBGrid.MergeView Name="" AlternatingRowStyle="True" CaptionHeight="17" ColumnCaptionHeight="17" ColumnFooterHeight="17" FetchRowStyles="True" FilterBar="True" MarqueeStyle="DottedCellBorder" RecordSelectorWidth="17" DefRecSelWidth="17" VerticalScrollGroup="1" HorizontalScrollGroup="1"><CaptionStyle parent="Style2" me="Style10" /><EditorStyle parent="Editor" me="Style5" /><EvenRowStyle parent="EvenRow" me="Style8" /><FilterBarStyle parent="FilterBar" me="Style13" /><FilterWatermarkStyle parent="FilterWatermark" me="Style14" /><FooterStyle parent="Footer" me="Style3" /><GroupStyle parent="Group" me="Style12" /><HeadingStyle parent="Heading" me="Style2" /><HighLightRowStyle parent="HighlightRow" me="Style7" /><InactiveStyle parent="Inactive" me="Style4" /><OddRowStyle parent="OddRow" me="Style9" /><RecordSelectorStyle parent="RecordSelector" me="Style11" /><SelectedStyle parent="Selected" me="Style6" /><Style parent="Normal" me="Style1" /><ClientRect>0, 0, 344, 306</ClientRect><BorderSide>0</BorderSide></C1.Win.C1TrueDBGrid.MergeView></Splits><NamedStyles><Style parent="" me="Normal" /><Style parent="Normal" me="Heading" /><Style parent="Heading" me="Footer" /><Style parent="Heading" me="Caption" /><Style parent="Heading" me="Inactive" /><Style parent="Normal" me="Selected" /><Style parent="Normal" me="Editor" /><Style parent="Normal" me="HighlightRow" /><Style parent="Normal" me="EvenRow" /><Style parent="Normal" me="OddRow" /><Style parent="Heading" me="RecordSelector" /><Style parent="Normal" me="FilterBar" /><Style parent="FilterBar" me="FilterWatermark" /><Style parent="Caption" me="Group" /></NamedStyles><vertSplits>1</vertSplits><horzSplits>1</horzSplits><Layout>None</Layout><DefaultRecSelWidth>17</DefaultRecSelWidth><ClientArea>0, 0, 344, 306</ClientArea><PrintPageHeaderStyle parent="" me="Style15" /><PrintPageFooterStyle parent="" me="Style16" /></Blob> + + + + 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 + ycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJ + ycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJ + ycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJ+dfC/wMde14fpzDwnQAAAABJ + RU5ErkJggigAAACAAAAAAAEAAAEAIAAAAAAAAAgBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ0VLAU1OUjhBQkZwNjY5gjMyNJAx + MDKfLi0vrCopK7gpKCmWPT5Ce0NER2VJSUw7VldaBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAABLTE8ORUVITEJDR3BAQUWALi4vri0tLskwLzDBNDM1uDg4Oa89PD6cSkxReVpbYE9g + YmgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABC + REgdQEBDfzEwMtkpKCn7ODg5/1JSUv9xcXH/g4OD/4yMjP+Xl5f/n5+f/5OTk/98fHz/ZmZm/05OT/8w + MDH6LSwtskhJTGlXWFsQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEdISxo+PkFxLCwtxC4uLv1FRUb/Wlpa/25ubv+G + hob/mJiY/5ycnf+dnZ3/nZ2d/5GRkf93d3f/XFxd/0RDRP45ODrqREVIjlpbYC8AAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQENeNzY3vR8eH/45OTr/bm5u/5KSk/+DhIX/bm5w/1RVV/9G + R0r/REZI/0NER/9FRkj/YmJj/4ODhP+goKH/w8PD/9HR0f+ampr/Xl5e/ywrLP0xMTKtU1RXKwAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEpKTTUz + MjS5JiYn/kBAQP9qamr/j4+P/5GRkf+LjIz/gYGD/25vcv9eXmL/XV9j/2BiZf9jZGf/dHZ4/5aXmf+v + sLH/ycrK/7Ozs/9tbW3/MzM0/zg3OdVGR0puUFJVBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFRUc7Ly4w0BcXGP9H + R0f/eHh5/2xtb/8/QET/EBUd/wkSIP8KFiz/DRs3/w8hQ/8RJUz/EiZL/xAhQf8QHDT/ERkq/xYbJ/8g + JCv/RUdL/5KTlP/MzM3/ysrK/2FhYf8fHx/+Ozs8pVFSVCEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + 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 + Mmf/FjVu/xc5df8ZPHz/GDp5/xY1bv8VMmf/FTJk/xUwYv8XNWv/Gjhw/xo4b/8ZN2z/FTNp/xY2cP8Y + O3r/G0GF/x1Gkf8cRY7/G0KL/yBIkP8pUZT/K1KR/yFFgv8YOHT/FTFj/xAlTf8OH0D/Kios/yQjJf8P + Dw//BQUF/yIhIvsiIiL8BQUF/w8OD/8uLi//aGpv/w0eP/8RJk//FC5e/xMtXv8UMGT/FjRt/xc4df8Z + PHz/GT1//xc2cP8TLmD/FjNn/yJEgP81Wp7/SHC6/12EzP9tktb/e57e/4an4/94mtj/XoG//0lrp/8z + Uoj/GjNh/xIoUv8SLFz/GDx8/yZNjf8qT47/IEJ+/xY0bf8RJk7/DB08/wsYM/8nKS7/Kikr/xQUFf8F + BQb/FBQV/2JhYxMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGNiZBMVFRb/BQUF/xQUFf8z + MjP/V1ld/wsZNP8MHT3/ESZO/xMsWf8SKVX/Eyxc/xQwY/8UMmf/Eita/xIoUv8bNGP/NVSM/0ttqv9j + hcT/fqDf/4yt6P+AouD/cJXY/2CHzf9Mdb//OmGn/ydJif8XNWz/Ey1d/xY0a/8ZP4L/J1CU/z5mov9K + cKb/NFiR/xg3cP8TLV7/ESdP/w0eP/8mKC7/JSQl/w8OD/8FBQX/IiIj/CUkJfsFBQX/Dg4O/y0tLv9v + cXX/DR4+/xEmT/8RKFP/EitY/xMvYf8VMmn/FjZw/xQwZf8RJ1D/FTFj/ylNj/89ZrH/R3C7/0Vtt/89 + Zq7/N1+o/zVdpf80W6P/PWOn/0xwsv9Td7n/XIHE/2OIzf9ZgMX/QGOk/yVDe/8jRHv/SG+l/1F6sP84 + Xpf/Gzpy/xEnUv8MHDv/Chcx/yYoLf8oJyj/EhES/wUEBf8UFBX/UVBSDwAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + 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 + Nzn/OTg6/zo5O/9XVVf/vby9/3Fxcv8BAQH/RERF/6moqv/BwML/vr3A/7u6vf+ko6X/T05Q/zs6PP87 + Ojz/bm1w/5CPkf8uLS7/CAgJ/wUFBf8WFhb/jIyN/yw2Sf8JFSv/Chcx/wsaNv8MHTz/DR9B/w8iRv8U + KE7/GC5V/x40Xf8jOmP/KD9p/y5Ebv8ySXP/N054/zxSfP9AV3//RVqB/0lehP9NYYb/UmWI/1Zoif9Z + a4r/XW6L/2Fxi/9lc4z/anaM/215jP9zfpL/Qkxg/1dXWv8cHB3/BgYH/wcHB/8oKCn8QkFDHwAAAAAA + AAAAAAAAAHR0da4REBH/BAQE/wsKC/9TUlP/iIyV/wwbN/8MHDv/DR9A/w4hRf8PI0n/ESZO/xUsVP8a + MVr/IDdg/yU8Zv8qQWr/MEZu/zRKcv85TnT/PlJ3/0NWev9HWnz/TF1+/1Bhf/9VZYD/WWiC/11rg/9i + boT/ZnGF/2t0hf9vd4b/c3qH/0NKV/9UVFf/HRwd/wYGBv8EBAT/ERES/09OUP9gX2H/RkZH/xwbHP8e + HR7/YWFi/5GQkv+ioaL/n56f/zMzNP8KCgr/c3N0/7e2uP+1tLf/pKOl/0FBQv86OTv/ODc5/zc2OP83 + Nzj+MzI0HQAAAAAAAAAAAAAAAAAAAAA0MzV4ODc5/zc2OP85ODr/OTg6/3NzdP+9u77/xsXH/5qZm/8x + MTL/BAQE/05NT/+mpqj/tLO1/52cnv9ra23/OTg6/zs6PP9oZ2r/j46Q/3Nydf8YFxj/BQUF/wcHB/8l + JSb/lZaX/xMcLf8JFSv/Chcx/wsaNv8NHTz/ESJD/xUpS/8bLlL/IDRZ/yU6X/8qP2X/MERq/zRJb/85 + TnT/PlN4/0JXe/9HWn7/S16B/1Big/9UZYX/WGmH/1xsiP9gb4n/ZHKK/2h1i/9sd4v/cHqL/3V9jf9+ + gIT/MDAw/woJCv8FBQX/EhES/3t7facAAAAAAAAAAAAAAAAAAAAAf36AOUhISv8NDQ3/BAQE/wwMDf9y + cnP/bnN9/wsZNf8MHDr/DR4//xAiRP8VKEz/GS5S/x8zWf8lOV7/Kj5j/y9DaP80SGz/OU1w/z5Qc/9C + VXb/R1l5/0xde/9RYH3/VWR//1logP9ea4L/Ym6D/2ZxhP9rdYb/cHiH/3R7iP9dZG//W1xg/yoqK/8I + Bwj/AwMD/wwMDf85OTr/VVRW/1ZVV/87Ozz/Ghob/xkZGf9XV1j/iYiK/5qZm/+qqaz/tLO2/2ZmZ/8G + Bgb/ODg5/6moq/+Lioz/S0tM/zo5O/84Nzn/NjU3/zc2OP82NTdnAAAAAAAAAAAAAAAAAAAAADY1N8I2 + NTf/NzY3/zk4Ov84Nzn/fX1+/6Wkpv+9vL//u7q8/7i3uf+DgoP/ISEi/wgICP9/f4H/iomK/29tb/83 + Njj/Ozo8/2JhY/+NjI//iYiL/1lYWv8RERL/BAQE/wgICf86OTr/kpOW/xcgMv8JFSz/Chcx/w4cOP8T + IkD/FylI/x0vT/8jNVb/Jzpc/y1AYv8yRWf/Nkps/ztOcf9AU3X/RVd4/0pbe/9OX37/UmOB/1Zmgv9b + aYT/X22G/2Nwh/9nc4j/a3aK/295i/9zfIv/fH6E/0FAQf8LCwz/BAQE/w4ODv9TUlT/fn6ANAAAAAAA + AAAAAAAAAAAAAAAAAAAAubi6xjY1Nv8LCgv/BAQE/wwMDP99fX3/iYyU/w8cNv8OHTr/EyRD/xgqSv8e + MFD/JDZX/yk8Xf8uQWL/NEZn/zhKa/8+T2//QlNy/0dXdf9MXHj/UV96/1Zkff9aZ37/XmuB/2Nugv9n + cYT/bHWF/3F5h/91fIn/XGJt/2Znaf8nJif/BwcH/wMDA/8KCgr/ISEi/0hISv9LSkz/Tk1O/zIyM/8a + GRr/Ghob/1RUVf9kZGX/lJSW/6Sjpv+ura//rKut/46OkP92dXb/mJeZ/39/gf8xMTL/Ojk7/zg3Of81 + NDb/NjU2/zU0NoAAAAAAAAAAAAAAAAAAAAAANjU37zU0Nv82NTf/OTg6/zg3Of9jY2T/hoaH/7a1t/+z + srX/sK+y/66tr/+qqav/eHh6/6OipP9ycXL/WVhZ/zg3Of87Ojz/XFtd/4yLjv+Hhon/fXx//zY1N/8P + Dg//BAQE/wcHB/8yMTL/nJ2e/yUsPP8LFiz/EBw1/xUjPf8aKUX/Hy9M/yU1U/8qO1n/L0Bf/zRFZP85 + Smn/Pk9u/0NUcv9HV3X/TFx5/1Bge/9UY37/WWeB/11qg/9hboX/ZXGG/2l0iP9ud4n/dHyK/4qMkP9F + RUb/CwoL/wQEBP8MCwz/Pj0//728vsMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQj5FWr62w/ycnKP8L + Cgv/AwMD/wkJCf9VVVX/q62x/yw3TP8XJkH/HSxI/yMyUP8oOFX/LT5b/zNDYP84SGX/PU1q/0JRbf9H + VnH/TFp0/1Fed/9VYnr/WmZ8/19qf/9jboH/aHKC/211hf9xeYf/bXSB/2xvd/9ra23/HR0e/wUFBf8D + AwP/DAsM/xsbHP8uLi//Ozo8/0JBQ/9HRkj/LCss/xoaG/8eHh7/Ly8w/19fYP9tbW3/oJ+g/6alp/+k + o6X/oqGj/42Nj/9vb3D/ZGNl/zQzNf86OTv/Nzc4/zQzNf80MzX/NDM1uQAAAAAAAAAAAAAAADMyNAk2 + NTf+MzM0/zU0Nv85ODr/Ojk7/zk4Of+KiYr/fn1//6qprP+pqKr/pqWo/6Oipf+cnJ7/bWxu/3x8fv8v + LzD/Ojk7/zs6PP9TUlT/i4qM/4aFiP90c3b/UlFT/ywrLP8QEBD/BAQE/wUFBf8hISL/mZma/2Blb/8U + HjL/FiM6/xwqQv8iMEn/JzZQ/yw7Vv8xQFz/N0Zi/ztLZv9AT2v/RVRv/0lYc/9OXXb/U2B5/1dkfP9b + aH7/YGuB/2Rvg/9ocoX/bHaG/3V7iP+HiIv/MjIy/wgICP8EBAT/DAwM/y4tL/+0s7b/jYyPVAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAH9/gQPHxcjgpqWo/zExMv8ODQ7/BAQE/wYGBv8sLCz/oKCg/5CUnf8x + PFH/KDVO/y07VP8yQFr/N0Vf/zxLZP9CUGj/R1Rt/0xZcP9QXXT/VWJ3/1tmev9faXz/ZG5//2hxgf9t + dYT/bXSC/2RpdP97fID/SUlJ/wsLC/8DAwP/BQQF/w4NDv8dHB3/JiYn/yYlJv8vLjD/Ojk7/0JBQ/8j + IiP/HBsc/yEhIv8gHyD/RUVG/3Jyc/9dXV7/ZGRl/2ZmZ/9iYmP/cXFy/21sbf8sKyz/OTg6/zo5O/83 + Njj/MzI0/zMyNP80MzXWAAAAAAAAAAAAAAAAMjEzLjU1Nv8yMjP/NTQ1/zg3Of86OTv/NTQ2/0NDRP+J + iIr/ZWVl/3Bwcf94eHn/bWxu/2RjZf99fH7/PTw9/zY1N/87Ojz/Ozo8/0FAQv+JiIv/hIOG/2ppbP9O + TU//RENF/y4tL/8TExP/BgYG/wMDA/8KCgr/WVlZ/6GipP9KUV7/Hik+/yQwRv8qNk3/LjxT/zNAWf85 + Rl7/PUtk/0JQaP9HVW3/TFlx/1BddP9VYXf/WmV6/15pff9jbYD/Z3GC/3F4hv+TlZv/amlq/xsaG/8E + BAT/BAQE/w8PEP85ODn/rayu/8fFyOB+fX8DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALKxs3PG + xcf/mpqb/zw7PP8TEhP/BwcH/wMDA/8GBgb/PDs8/6amp/+hpaz/Zm58/zxHXP89SV//QU5j/0ZSaP9M + V2z/UVxw/1VgdP9aZHf/X2h6/2Rtff9lbn3/XmZz/4OIj/+Li47/Xl5f/xYWFv8EBAT/AwMD/wkICf8S + ERL/HBwd/yIhIv8gICH/Hx8g/yYlJv8zMzT/PDs9/xgXGP8dHR7/IyMk/ygnKf8lJSX/MTEy/2NiY/97 + enz/eHd5/2hnaf8+Pj//Kikr/zk4Ov87Ojz/OTg6/zY1N/8yMTP/MjEz/zMyNNEAAAAAAAAAAAAAAAAw + LzEoNTQ2/zEwMv80MzX/ODc5/zo5O/87Ojz/MzIz/y8vL/9paWr/fXx+/39+gP91dHb/XV1e/ywsLf8z + MjT/Ozo8/zs6PP87Ojz/Ojk7/359gP9/foH/YWBj/0pJS/9DQkT/PDs9/y4tL/8aGRr/DAsM/wQEBP8E + BAT/FRUV/29vcP+lpaf/foOM/z1GVv8uOU7/NkJX/ztHXP9ATGH/RVFm/0pVav9PWm7/U15y/1didf9c + Znj/Zm9//4GHkf+Ulpv/d3d4/yUlJf8FBQb/AwMD/wgICP8UFBT/QUFC/52cnf/Gxcf/sbCydQAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkpKUD8jHyvK2tbf/gYCC/0xLTP8jIyT/Dw8P/wYFBv8D + AwP/BQUF/yEgIf9sbGz/qqqr/6yvsv+hpa3/jJKc/3h+if96gIv/gYaQ/4WKk/+Sl57/nqCl/4+Qkv97 + e3v/PDw8/wkJCf8DAwP/AgID/wcGB/8PDxD/GRka/xwbHP8cHB3/HBsc/xsbG/8bGxv/Hx4f/y0tLv8z + MzT/Ghoa/yAfIP8mJSb/Kyos/zEwMv8zMjP/Ly4v/ysqK/8qKSr/LSwt/zU0Nv86OTv/Ozo8/zs6PP85 + ODr/NjU2/zEwMv8yMTP/MjEzzQAAAAAAAAAAAAAAAC4tLyU0NDX/MTAx/zMyM/84Nzj/Ojk7/zs6PP87 + Ojz/ODc5/y4tL/8pKCn/JSUm/ykpKf8vLzD/ODc4/zs6PP87Ojz/Ozo8/zs6PP87Ojz/aGdq/3h3ev9X + Vln/SEdJ/0FAQv86OTv/NDM1/ywrLf8kJCX/FRQV/wkJCv8EBAT/AwMD/wcHCP86Ojv/goKD/52dnv+h + o6f/jpKb/3+Fj/9+g47/eoCL/3yBjP+PlJ3/m56k/5OUl/+DgoP/SkpK/xISEv8FBQX/AwMD/wcHB/8Q + EBH/KSkq/1FRUv+AgIH/tbS2/8jHyfSPjpARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAuLe6kcTDxf+Yl5n/bW1u/3Fxcv9lZGb/JiUm/w8PD/8ICAj/BAQE/wMDA/8EBAT/BwcH/xwcHP88 + PD3/WFhY/1ZWVv9OTU7/RkZG/zU1Nf8PDg//BQUF/wMDA/8DAwP/BQUF/xAQEP8XFhf/HBsc/yQjJf8g + HyH/GRgZ/xcXGP8XFxf/FxYX/xcXGP8aGhv/KCco/yMjJP8dHR7/IiIj/ygnKf8uLS7/MzM0/zk4Ov87 + Ojz/Ojk7/zo5O/87Ojz/Ozo8/zs6PP87Ojz/Ozo8/zk4Ov81NDX/MC8x/zIxM/8vLjDGAAAAAAAAAAAA + AAAALi0vJzMyNP8wLzH/MTEy/zc2N/86OTv/Ozo8/zs6PP87Ojz/Ozo8/zo5O/86OTv/Ozo8/zs6PP87 + Ojz/Ozo8/zs6PP87Ojz/Ozo8/zs6PP9JSEr/bm1w/1BPUf9GRUf/Pz5A/zg3Of8yMTP/LSwu/zMyNP80 + MzT/JiUn/xoaG/8UFBX/BwcH/wMCA/8CAgL/BAQE/wkICf8pKSn/Ozs7/0BAQP9FRUX/RUVF/ysrK/8N + DQ7/BQUF/wQDBP8DAwP/BQUF/woKCv8RERH/LS0u/3Fwcf91dHX/bWxt/5eWmP/DwsX/x8bJlgAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvrbAeycfK+LCvsf98e3z/ampr/5GQkv+8 + u73/jIuN/1VUVv8tLS7/GRka/w4ODv8JCQn/BgYG/wQEBP8DAwP/AwMD/wMDA/8DAwP/CAgI/w4ODv8S + EhL/Ghka/zAwMf9FREX/S0pM/zY2N/8uLS//JSQl/xwcHf8WFRb/ExMU/xMTFP8UExT/FRUW/xgYGP8h + ISL/Gxsc/yAgIf8lJSb/Kyor/zAwMf82NTf/Ojk7/zs6PP87Ojz/Ozo8/zs6PP87Ojz/Ozo8/zs6PP86 + OTv/ODc5/zMyNP8wLzH/MzI0/ywrLckAAAAAAAAAAAAAAAAtLC4oMC8x/zEwMv8xMDH/NjU2/zk4Ov87 + Ojz/Ozo8/zs6PP87Ojz/Ozo8/zs6PP87Ojz/Ozo8/zs6PP87Ojz/Ozo8/zs6PP87Ojz/Ozo8/zo5O/9V + VFb/SklL/0RDRf89PD7/NzY4/zAvMf8uLS//NTQ2/zs6PP9CQUP/RkVG/1JRUv9LS0z/NjY2/x8fIP8N + DQ3/CgoK/wkJCf8FBQX/AwMD/wMDA/8DAwP/BQUF/wcHB/8JCQn/Dg0O/x4eHv82Njf/YmJj/5iXmf/D + wcT/lJOU/2trbP96eXr/rq2v/8nIyvmrqqwhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAC9vL6RwcDC/5CQkf9ra2z/e3p8/7SztP/R0NL/z87Q/8XFx/+lpab/lZWW/4GBgv94 + d3j/d3Z3/3l5ef+Af4D/g4OD/4WFhv+Kiov/lJSU/5qamv+TkpT/gYGD/3Bwcv9OTU//MzI0/ykoKf8g + ICH/GRgZ/xMTFP8REBH/ERES/xISE/8UExT/FxYX/xsbG/8fHyD/JCMl/ykoKf8uLS//MzI0/zk4Ov87 + Ojz/Ozo8/zs6PP87Ojz/Ozo8/zs6PP87Ojz/Ojk7/zk4Ov82NTf/MTEy/zEwMv8xMDL/LCstzAAAAAAA + AAAAAAAAAC0sLiotLC7/MzI0/zAwMf8zMzT/ODc5/zo5O/87Ojz/Ozo8/zs6PP87Ojz/Ozo8/zs6PP87 + Ojz/Ozo8/zs6PP87Ojz/Ozo8/zs6PP87Ojz/Ozo8/zs7PP9IR0n/QkFD/zs6PP81NDb/Li0v/zAvMf83 + Njj/PTw+/0RDRf9KSUv/ZWRm/4iHif+SkZP/m5qc/6Wlpv+joqP/mJiY/4+Pj/+NjY3/iomK/4ODg/+B + gYL/hoaG/5GRkv+ioaP/rq2u/8nIy//OzdD/0dDS/7a1t/99fH7/ampr/46Oj//AvsH/ycjLlwAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKinqRPJyMrkqaip/3Z1dv9t + bW7/mZia/8nIyv/Ozc//ycjL/8XEx//BwML/wcDB/8C/wf/Av8H/wcDB/8bFx//Ix8n/ubi6/6Ojpf+S + kZP/g4KE/3d2eP9qaWz/X15g/0lISv8vLi//IyMk/xwbHP8WFhf/EhIS/w8PD/8QDxD/ERES/xMSE/8W + Fhb/Hh0f/yMiJP8nJyj/LCst/zEwMv82NTf/Ojk7/zs6PP87Ojz/Ozo8/zs6PP87Ojz/Ozo8/zo5O/85 + ODr/NjY3/zMyNP8xMDL/MjEz/ywrLf8sKy3QAAAAAAAAAAAAAAAALy4wLCwrLf8vLjD/MjEz/zEwMv81 + NDb/ODc5/zo5O/87Ojz/Ozo8/zs6PP87Ojz/Ozo8/zs6PP87Ojz/Ozo8/zs6PP87Ojz/Ozo8/zs6PP87 + Ojz/Ojk7/zo5O/9AP0H/OTg6/zMyNP8tLC7/MjEz/zk4Ov8/PkD/RkVH/1BPUf9ubXD/hYSH/4qJjP+P + jpH/lJOW/5mYm/+npqj/t7e5/8fGyP/Gxcf/wsHD/8DAwf/Av8L/wL/B/8HAwv/GxMf/y8rM/8/O0P/M + y83/nJyd/29ub/90dHX/pqan/8nIyuWko6QUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAL++wEC8u739iIiJ/2lpav+AgIH/t7e4/8zLzf/Ix8n/w8LE/769v/+5 + uLr/tLO1/66tsP+op6n/oqGk/5uanP+TkpT/iYmL/39+gf91dHb/aWhr/11dX/9SUVP/QkJE/ysrLP8e + Hh7/GBgZ/xQUFP8RERL/Dg4O/w4OD/8QEBH/ExMT/x4dHv8jIiP/JyYo/ysqLP8wLzH/NTQ2/zo5O/87 + Ojz/Ozo8/zs6PP87Ojz/Ozo8/zs6PP86OTv/OTg5/zU1Nv8yMTP/MTAy/zIxM/8tLC7/LCst/ywrLdMA + AAAAAAAAAAAAAAA4NzktLCst/ywrLf8vLjD/MjEz/zEwMv80MzX/NzY4/zo5O/87Ojz/Ozo8/zs6PP87 + Ojz/Ozo8/zs6PP87Ojz/Ozo8/zs6PP87Ojz/Ozo8/zs6PP87Ojz/ODc5/zg3OP83Njj/MTAy/y0sLv80 + MzX/Ojk7/0FAQv9IR0n/V1ZZ/3h3ev+Hhon/i4qN/5CPkf+Uk5b/mZia/52cn/+ioaT/pqWo/6uqrf+v + rrH/tLO2/7m4uv+9vL//wsHD/8fGyf/My83/0M/R/728vv+FhIb/a2pr/4aGh/+7urz8v77AQAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALy8vXyf + np//b29v/25tbv+bm5z/wsHD/8LBw/+9vL7/uLe6/7Oytf+ura//qKep/6Ggov+ZmJr/kZCS/4iHif99 + fH//c3Jz/2dmaP9bWlz/UE9R/0VFRv86Ojv/KSgp/xsaG/8WFhf/ExMT/xEQEf8ODg7/DQ0O/xAQEf8c + Gxz/IyIk/ycmJ/8rKiv/Ly4w/zMzNP84Nzn/Ozo8/zs6PP87Ojz/Ozo8/zs6PP87Ojz/Ojk7/zg3Of80 + NDX/MTAy/zEwMf8xMDL/LCst/ywrLf8sKy3/LCst1gAAAAAAAAAAAAAAAEJBQy8sKy3/LCst/ywrLf8u + LS//MjEz/zEwMf8zMjT/NzY4/zo5O/86OTv/Ozo8/zs6PP87Ojz/Ozo8/zs6PP87Ojz/Ozo8/zs6PP87 + Ojz/Ozo8/zs6PP87Ojz/NjU3/zExMv8vLjD/Ly4w/zY1N/88Oz3/Q0JE/0pJS/9hYGP/f36B/4iHiv+M + i47/kZCT/5aVl/+amZz/n56g/6Oipf+op6n/rKuu/7Gwsv+1tLf/urm7/7++wP/DwsX/ycjK/83Mzv/O + zc//pqWm/3NzdP9wcHH/np2f/ru6vGMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqKeoBMLCxOV8e3z/Y2Nk/319fv+srK3/uLe5/7OytP+u + rq//qaiq/6OipP+cm57/lZSW/4yLjv+DgoT/eHh6/21tb/9jY2T/WFdZ/05NT/9DQ0T/Ozs8/zQzNP8n + Jyf/Ghka/xUVFv8TExP/ERER/w8OD/8PDw//HR0e/yQjJP8nJij/Kyor/y8uL/8zMjT/NzY4/zo5O/87 + Ojz/Ozo8/zs6PP87Ojz/Ozo8/zo5O/83Njj/MzI0/zAvMf8wMDH/MC8x/y0sLv8yMTP/LCst/ywrLf8s + Ky3aAAAAAAAAAAAAAAAATEtNMSwrLf8tLC7/R0VG/zQzNP8tLC7/MTAy/zAvMP8yMTL/NjU2/zk4Ov86 + OTv/Ozo8/zs6PP87Ojz/Ozo8/zs6PP87Ojz/Ozo8/zs6PP87Ojz/Ozo8/zs6PP87Ojz/NjU2/ysqLP8x + MDL/ODc5/z49P/9FREb/Tk1P/2tqbf+Eg4b/iYiL/46NkP+SkZT/l5aZ/5uanf+gn6L/paSm/6moq/+u + ra//srG0/7e2uP+7ur3/wL/B/8XDxv/Kycv/z87Q/8PCxP+NjI3/a2ts/4CAgf+1tLaZAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAwMDBgZ+eoP9lZGX/ZGRl/46Njv+op6j/paSm/6Cfof+bmpz/lZSV/46Nj/+GhYb/fXx+/3NydP9p + aGr/X19g/1VUVv9LS0z/Q0JE/zs7PP81NDX/MC8w/ygnKf8cGxz/FhYW/xMTFP8SEhL/ExMU/yAfIP8l + JCX/Jyco/ysqLP8vLi//MzIz/zc2OP86OTv/Ozo8/zs6PP87Ojz/Ozo8/zs6PP86OTv/NzY4/zIxM/8v + LjD/MC8x/y8uMP8uLS//VFJS/2pnZ/9gXl7/TkxN/1BOUOqUlJWWqqqrubOytL6NjI6eYV9g/2pnZv9p + ZmX/W1lZ/zQzNP8tLC7/MTAx/y8vMP8wLzH/NTQ1/zg3Of86OTv/Ozo8/zs6PP87Ojz/Ozo8/zs6PP87 + Ojz/Ozo8/zs6PP87Ojz/Ozo8/zs6PP87Ojz/NzY4/y8uMP86OTv/QD9B/0dGSP9UU1X/dHN2/4aFiP+L + ioz/j46R/5STlv+Yl5r/nZyf/6Ggo/+mpaj/qqms/6+usf+0s7X/uLe6/728vv/BwMP/xsXI/8vKzf/O + zc//r66v/3l4ef91dHb/v77A/b69vyIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACqqasctbS2+4CAgf9paWr/bW1u/5GQkf+U + lJX/kI+R/4uLjP+FhIb/fn5//3d2eP9ubm//ZWRm/1xbXf9TU1T/TEtM/0RERf8+Pj//ODg5/zQzNf8w + MDH/Kyss/yAgIf8YGBj/FhYX/xwbHP8kIyT/JiUn/ykoKf8sKyz/Ly4w/zMyM/82NTf/Ojk7/zs6PP87 + Ojz/Ozo8/zs6PP86OTv/OTg6/zY1N/8xMDL/Li4v/zAvMf8uLS//Ly0v/1FOT/9iX1//a2ho/3Rxcf+O + jY7/oaGi/6qpqv+xsbL/ubi6/8C/wf/Hxcj/m5ma/2lmZv9gXV3/VlNT/zQzNf8sKy3/MC8x/y8uMP8v + LjD/NDM1/zg3Of86OTv/Ozo8/zs6PP87Ojz/Ozo8/zs6PP87Ojz/Ozo8/zs6PP87Ojz/Ozo8/zs6PP87 + Ojz/Ojk7/zU0Nf88PD3/SUhK/11cXv99fH//h4aJ/4yLjv+Qj5L/lZSX/5qZm/+enaD/o6Kk/6emqf+s + q63/sK+y/7W0tv+5uLv/vr2//8PCxP/Ix8n/zczO/8bFyP+WlZf/j46Q/8fGyP/T0tS5AAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAADGxcevl5aX/5SUlf+OjY//cXBx/4eGh/+Dg4T/f36A/3p5e/90c3X/bWxt/2VlZv9e + Xl//VlZX/1BPUf9KSkv/RURF/0BAQf88PD3/OTk6/zY1Nv8zMzT/KCco/x8fIP8jIiT/JiUm/ycnKP8q + KSv/LSwt/zAvMP8zMjT/NzY3/zo5O/87Ojz/Ozo8/zs6PP87Ojz/Ojk7/zk4Ov81NDb/MDAx/y4tLv8x + MDH/Ly4w/y8uMP9OS0z/W1hY/2JfX/9qZ2f/hoSF/52cnv+lpKb/rKut/7Oztf+6ubz/wsHD/8XExv/D + wsX/jYuM/19cXP9ZVlb/UU9P/zQzNP8sKy3/MC8x/y8uMP8vLi//MzI0/zc2OP86OTv/Ozo8/zs6PP87 + Ojz/Ozo8/zs6PP87Ojz/Ozo8/zs6PP87Ojz/Ozo8/zs6PP87Ojz/Ozo8/zk4Ov88Oz3/W1pd/4OChf+J + iIv/jYyP/5KRlP+WlZj/m5qd/5+eof+ko6b/qaiq/62sr/+ysbP/trW4/7u6vP+/vsH/xMPG/8rJy//K + ycv/p6ao/7e2uP/Ozc//0dDS/8PCxFEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALSztUa0srX/jIuN/7Cvsv+1 + tLf/bWxu/1paW/9xcXH/d3d4/3NydP9tbG7/Z2Zo/2FgYf9bWlv/VlVX/1FRUv9OTU//S0pL/0dHSP9C + QUL/ODc5/ywsLf8lJSb/JiYn/ygnKP8pKSr/Kyss/y4tL/8xMDH/NDM0/zc2OP86OTv/Ozo8/zs6PP87 + Ojz/Ozo8/zo5O/84Nzn/NTQ1/y8vMP8tLS7/MTAy/zEwMv8xMDL/SkhI/1VSUv9bWFj/Yl9f/2lnaP+Z + mJr/oJ+h/6emqP+vrq//tbS2/7y7vf+9vL7/u7q9/7q5vP+2tbf/ZWJi/1lWVv9TUVH/TEpK/zQzNP8v + LjD/MTEy/y8uMP8tLS7/MjEy/zY2N/86OTv/Ozo8/zs6PP87Ojz/Ozo8/zs6PP87Ojz/Ozo8/zs6PP87 + Ojz/Ozo8/zs6PP87Ojz/Ozo8/zs6PP86OTv/RURG/2VkZv+CgYP/k5KV/5iXmf+cm57/oaCj/6Wkp/+q + qaz/r66w/7Oytf+4t7n/vLu+/728v/+gn6H/g4KE/5iXmf/Kycv/y8rN/87Nz//Qz9HlwL/BBAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAoaCiAcXExtqcm53/nJyd/8C/wf/Gxcj/qKep/2NiZP8zMzT/QkJD/0dGR/9P + TlD/VVVW/1FQUv9MS0z/RkZH/0BAQf84Nzj/Li4v/yYmJ/8nJij/KCco/ykoKf8qKSr/Kyos/y0sLv8v + LjD/MjEz/zU0Nf84Nzn/Ojk7/zs6PP87Ojz/Ozo8/zs6PP86OTv/ODc5/zMzNP8uLS//LSwu/zQzNP82 + Njf/NDM1/0ZERf9PTU3/VVJS/1tYWP9iX1//dHN0/5uanP+ioaP/qKiq/6+usP+1tLb/tbS3/7Sztf+z + srT/srGz/7Cvsv9wbm7/WVZW/1NRUf9NS0v/R0VF/zUzNf8yMTP/NjU3/y8uMP8tLC7/MDAx/zY1Nv85 + ODr/Ojk7/zs6PP87Ojz/Ozo8/zs6PP87Ojz/Ozo8/zs6PP87Ojz/Ozo8/zs6PP87Ojz/Ozo8/zs6PP87 + Ojz/Ozo8/zo5O/8+PT//UE9R/2VkZv9tbG7/cXBy/3Z1d/96eXv/cnFz/2RjZP9TU1T/TEtN/4iHif+/ + vsD/xsTI/8nIyv/Lysz/zs3P/8zLzYEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAw8LEcrOztf+W + lpf/s7K0/8PCxf/CwcP/wcDD/7i3uf+Kiov/XFtd/zk5Ov8nJyj/JCQl/yMiI/8jIiP/JiUn/ygoKf8p + KSr/Kikq/yopK/8rKiz/LCst/y0tLv8vLjD/MTAy/zMyNP82NTf/OTg6/zo5O/87Ojz/Ozo8/zs6PP87 + Ojz/Ojk7/zc2OP8yMjP/LSwu/y0tLv84Nzn/Pz5A/zg3Of9CQED/SUdH/09NTf9VUlL/W1hY/2BdXf9w + bm//nZye/6OipP+pqKv/rq2v/66tr/+sq67/q6qt/6qprP+pqKv/qKep/3RzdP9ZVlb/U1FR/01LS/9I + RUX/Qj8//zc1Nv85OTr/Pj0//zIxM/8sLC3/Ly4w/zU0Nv85ODn/Ojk7/zs6PP87Ojz/Ozo8/zs6PP87 + Ojz/Ozo8/zs6PP87Ojz/Ozo8/zs6PP87Ojz/Ozo8/zs6PP87Ojz/Ozo8/zo5O/84Nzn/NDQ1/zEwMv8x + MDL/MjEz/zw8Pf9WVVf/enl7/6Wkpv/BwML/wcDC/8PCxP/GxMf/yMfK/8vKzP/NzM/8yMfJHQAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0s7USwsHE9qOio/+ko6X/vr2//8LBw/+/vsD/vby+/7u6vP+8 + u73/urm7/6+usP+OjY7/bm1u/0dGR/8mJSb/LCss/2VkZv80MzX/Li0u/y4uL/8wLzD/MTAy/zMyNP81 + NDb/NzY4/zo5O/87Ojz/Ozo8/zs6PP87Ojz/Ozo8/zo5O/83Njf/MTAy/ywsLf8tLS7/QD9B/0dGSP86 + OTv/Ozg5/0RBQf9JR0f/T01N/1VSUv9bWFj/YV5e/2VkZf+dnJ//o6Kl/6emqP+mpaj/paSn/6Sjpf+j + oqT/oaCj/6Cfov+fnqH/Xlxd/1lWVv9TUVH/TUtL/0hFRf9CPz//NzU2/zU0Nv8/PkD/SEdI/zc2OP8s + Ky3/Li0v/zQzNP84Nzn/Ojk7/zs6PP87Ojz/Ozo8/zs6PP87Ojz/Ozo8/zs6PP87Ojz/Ozo8/zs6PP87 + Ojz/Ozo8/zs6PP9PTlD/X15g/zY1N/8zMjT/dXR2/5aVl/+urq//vLu9/7y7vf+7ur3/vLu9/728v//A + v8H/wsHD/8XEx//Ix8n/ysnM/8nHybIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC1 + tLajtbS2/6Cfof+2tbf/wL/C/7++wP+8u77/urm7/7a1uP+trK7/oJ+h/5CPkf+DgoT/e3p7/ygnKP88 + Oz3/g4KE/09OUP8xMDL/MjEz/zMyNP81NDb/NzY3/zk4Ov86OTv/Ozo8/zs6PP87Ojz/Ozo8/zo5O/85 + ODr/NjU3/zAvMf8rKyz/Ly8w/0lISv9OTU//PTw+/zc2OP8zMjT/NTM1/0RCQv9PTU3/VVJS/1tYWP9i + X1//VVRU/4qJi/+gn6H/n56g/52cn/+cm57/m5qd/5qZnP+ZmJr/mJeZ/4iHiv9TUVH/WVZW/1NRUf9N + S0v/QkBB/zEwMv8xMDL/NDM1/zg3Of9DQkT/UE9R/z09Pv8sLC3/LSwu/zIxM/83Njj/Ojk7/zs6PP87 + Ojz/Ozo8/zs6PP87Ojz/Ozo8/zs6PP87Ojz/Ozo8/zs6PP87Ojz/Ozo8/2hnaf+CgYP/MzIz/0ZFR/+y + sbP/sK+y/7Kxs/+0s7X/trW3/7i3uv+7urz/vby+/8C/wf/CwcP/xcPH/8jHyf/Av8H/hIOFUwAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALKxsy24t7n6qqmq/6yrrf+9vL7/v77A/7y7vf+5 + uLv/tLO2/6inqf+Yl5n/iIiJ/3h4ev98fH7/Pz5A/yopKv8qKiv/MTEy/zQzNf82NTb/NzY4/zk4Ov86 + OTv/Ozo8/zs6PP87Ojz/Ozo8/zs6PP86OTv/OTg6/zU0Nv8vLjD/Kyor/zIxM/9UU1X/UlFT/0A/Qf86 + OTv/NjU3/zMyNP8vLjD/LCst/zg2OP9MSkr/W1hY/2JfX/9mY2P/WFhY/46NkP+WlZj/lZSX/5STlf+S + kZT/kZCT/5CPkv+Ih4r/UlJS/1xaWv9ZVlb/TUtL/zo4Of8sKy3/LSwu/zAvMf80MzX/NzY4/zs6PP9F + REb/WFdY/0dGSP8tLC3/LCss/zEwMv83Njf/Ojk7/zs6PP87Ojz/Ozo8/zs6PP87Ojz/Ozo8/zs6PP87 + Ojz/Ozo8/zs6PP87Ojz/NTQ1/zAwMf8wMDH/cnFz/6emqP+sq67/sK+y/7OytP+1tLf/uLe5/7q5vP+9 + vL7/v77B/8LBw//Ew8b/xcTG/66trs+mpacEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAK2sroq1tLb/qaiq/7m4uf+9vb//vLu9/7m4u/+ysbP/pKOl/5OSlf+Dg4X/dHN1/25tbv9t + bW7/LCss/y8uL/80MzX/NzY4/zk4Ov86OTv/Ozo8/zs6PP87Ojz/Ozo8/zs6PP87Ojz/Ojk7/zg3Of80 + MzX/Li0u/yoqK/84Nzn/X15g/1VUVv9CQUP/PTw+/zo5O/82NTf/MzI0/y8uMP8sKy3/LCst/ywrLf80 + MjT/SkhJ/2ZjY/9mY2P/UE9P/3Bvcf+Hhoj/i4qN/4qJjP+GhYj/aWhq/09OTv9hXl7/TkxM/zc2N/8s + Ky3/LCst/ywrLf8sKy3/MC8x/zQzNf83Njj/Ozo8/z49P/9HRkj/XV1e/1JSU/8uLi//Kyos/zAvMf82 + NTf/OTg6/zo5O/87Ojz/Ozo8/zs6PP87Ojz/Ozo8/zs6PP87Ojz/Ojk7/zo5O/82NTf/MTAy/zY1N/+d + nJ3/nJue/6moqv+wr7L/s7K0/7W0t/+4t7n/urm7/728vv+/vsD/wsHD/8TDxv+0s7X8rq2vOQAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs7K0CauqrN2ura//s7K0/728vv+8 + u73/uLe6/66tr/+fnqD/jo2Q/35+gP9wb3H/Y2Nk/318ff9KSkz/LSwu/zIxMv82NTf/OTg6/zo5O/86 + OTv/Ozo8/zs6PP87Ojz/Ojk7/0NDRf91c3X/Ojk7/ywrLf8qKiv/QkFD/2loav9WVVf/RENF/0A/Qf89 + PD7/OTg6/zY1N/8yMTP/Ly4w/ywrLf8sKy3/LCst/ywrLf8xLzH/SEVF/0xJSf9RTk7/UE9P/01MTP9N + TEz/TEtL/0lISP9PTk7/WFVV/2pnZ/9VU1T/LCst/ywrLf8sKy3/LCst/ywrLf8wLzH/MzI0/zc2OP86 + OTv/Pj0//0FAQv9JSEr/YWBi/19eYP8zMjT/Kikr/y4tL/9MS03/bWxu/zc3OP86OTv/Ozo8/zs6PP87 + Ojz/Ojk7/zo5O/84Nzn/NTU2/zAvMf8vLi//cnFz/5OTlf+Uk5b/paSm/6+usP+ysbT/tbS2/7e2uf+6 + ubv/vLu+/7++wP/BwMP/tbS2/66tr5UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAr66wMqWkpvSwr7L/u7q8/7u6vf+3trj/qqms/5qam/+KiYv/enp7/2trbP9d + XF7/ZWRl/5OSlP88Oz3/LCss/y4tL/8yMTP/NjU2/zc2OP84Nzn/ODc5/zc2OP82NTf/RURG/25tb/84 + ODn/Kyor/1FQUv94d3n/V1ZY/0dGSP9EQ0X/QD9B/z08Pv85ODr/NTQ2/zIxM/8uLS//LCst/ywrLf8s + Ky3/MS8x/0VDQ/9GRET/NTQ0/zg3N/9LSEj/ZWJi/4B+ff96d3b/ZGFh/1RRUf9PTEz/ZWJi/21qav9a + WFj/LSwu/ywrLf8sKy3/LCst/y8uMP8zMjT/NjU3/zo5O/8+PT//QUBC/0VERv9LSkv/ZGNl/3Rzdf87 + Ozz/KSkq/01MTv99fH3/MjEz/zY2N/84Nzn/ODc5/zg3Of83Njj/NTQ2/zExMv8uLS7/LCwt/1VUVv+e + nZ//g4KE/42Mjv+fnqD/rayu/7KxtP+1tLb/t7a5/7q5u/+8u73/v77A/7a1t/+rqqzHubi6CAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArq2vTaOipPy3 + trj/u7q8/7Sztf+lpaf/lpWW/4WEhv92dXb/ZmZo/1hXWP9VVFX/g4OE/6OipP9HR0j/Kyos/yopK/8s + Ky3/Li0u/y8uL/8uLi//LSwu/yoqK/8oJyj/JCMk/y4tL/9hYGH/g4OE/2BfYf9KSUv/R0ZI/0NCRP9A + P0H/PDs9/zk4Ov81NDb/MjEz/y4tL/8sKy3/Kyos/zEvMf9DQUH/RkRE/z88PP8kIyP/Ly4u/z89Pf9X + VFT/cW9v/21qav9cWVn/TktL/0ZDQ/9fXFv/a2ho/3Btbf9fXF3/LSwu/ywrLf8sKy3/Ly4w/zMyNP82 + NTf/Ojk7/z08Pv9BQEL/RENF/0hHSf9NTE7/bWxu/4OChP9IR0n/Jyco/yQjJP8pKCn/Kyss/y4tL/8v + LjD/Ly4v/y0tLv8rKyz/Kikq/y0sLv9hYGL/qqqr/4aFh/94d3n/hoWH/5iYmf+pqKr/srGz/7Sztv+3 + trj/ubi7/7y7vf+xsLP/qKep3re2txcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs7K1WKOipfewr7H/sK+y/6Ggov+QkJL/gYCC/3Fwcv9i + YWP/VFNU/0lJSv9oaGn/oJ+i/8C/wP+RkZL/Tk1O/y0tLv8pKSr/Jyco/yYmJ/8mJSf/JyYo/ysrLP9D + QkT/bm1v/3p5e/9jYmT/VFNV/0pJS/9GRUf/Q0JE/z8+QP88Oz3/ODc5/zU0Nv8xMDL/Li0v/ysqLP8x + LzD/QD4+/0NBQf9EQkL/OTc3/xsaGv8mJCT/MzIy/0hGRv9gXl3/Xltb/1BNTf9EQkL/Pz09/1lXV/9q + Z2b/b2xs/3NwcP9jYWL/Li0v/ywrLf8vLjD/MjEz/zY1N/85ODr/PTw+/0A/Qf9EQ0X/R0ZI/0tKTP9X + Vln/a2ps/39/gP9eXl//ODc5/yopK/8mJSf/JiUn/ycmKP8oJyj/KSkq/y8uL/9cXF7/o6Kk/728vv+Z + mJr/c3J1/29vcP+Af4H/kZGS/6Oipf+wr7H/tLO2/7e2uP+5uLr/qKiq/6qpq9e3trgiAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAsK+yOaOipOiWlpj/mpmb/4yLjf98fH3/bWxu/15dXv9OTk//QkJD/1NSVP+Lioz/qqmr/8jIyf/N + zM7/p6eo/4B/gP9mZmf/VVRW/1NTVP9ZWVr/aGdo/2dnaP9aWVr/U1JU/1dWWP9QT1H/SklL/0ZFR/9D + QkT/Pz5A/zs6PP84Nzn/NDM1/zEwMv8sKy3/LCst/zw6Ov1APT3/QkBA/0RCQv86ODj/Hh0d/x4dHf8o + Jib/OTg3/09NTP9OTEv/Q0FB/zo4OP8/PT3/WldX/2hlZf9ua2r/cm9v/3Zzc/9QTU/0Kikr/y4tL/8y + MTP/NTQ2/zk4Ov88Oz3/QD9B/0NCRP9HRkj/S0pM/1NSVf9XVlj/U1NV/19eYP9paWr/X15f/1VUVf9P + T1D/VFNV/2hoaf+EhIX/tLS1/9HQ0v/BwcL/pKOm/4eGif9jY2X/aGdo/3l4ev+Lioz/nZye/6yrrv+z + srT/rKyu/52cnv+wr7K9tbS3EQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApqWoFKSjpaCEg4b+dXV2/3Rzdf9n + Z2n/WVla/0pKS/89PD3/QEBB/3d3eP+bmp3/n56g/6Sjpv+mpqj/mZia/4SDhf9xcHL/YF9g/0xLTP84 + ODn/NDQ1/zw8Pf9IR0n/UE9R/01MTv9JSEr/RkVH/0JBQ/8/PkD/Ozo8/zg3Of80MzX/Ly4w/yopK/4u + LC6EOTc4JT49PbFBPz//REFB/z89Pf8qKSn/GhkZ/x0cHP8qKSn/PDs7/z49PP83NTX/MS8v/0dFRf9d + Wlr/Z2Rk/2xpaf9wbW3gbmVlTkE/QRwrKizPKyos/zEwMv81NDb/ODc5/zw7Pf8/PkD/Q0JE/0dGSP9K + SUv/T05Q/09PUf9GRUf/Ojo7/zY1Nv9CQkL/V1dY/2ZmZ/93d3j/jIuM/5+foP+mpaf/oaCj/56doP+a + mZz/dHR2/1ZWV/9gX2H/cnFz/4ODhf+SkZP/m5qc/5qam/+ioaPwtLO1abKxswIAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAJeWmDuRkJGxbGxt/VpZWv9MS03/QUFB/zY2N/8xMDH/Xl5f/5aVl/+c + m57/mpmc/5aVl/+JiIv/cG9x/1RTVf9AP0H/MjEy/yoqK/8uLS//ODc5/0FAQv9ISEr/SUhK/0hHSf9F + REb/QkFD/z49P/87Ojz/NzY4/zIxMv8tLC76Ly0vYgAAAAAAAAAAAAAAADw5OkNDQUGxREFB+js5Of8q + KCj/Hh4e/yMiIv8sKyv/MTAw/zIxMf8+PDz/U1FR/2BdXf9mY2PcZ2JidFxZWQoAAAAAAAAAAD08PQwt + LC6zLSwu/zQzNf84Nzn/PDs9/z8+QP9DQkT/RkVH/0hHSf9KSUv/SEdJ/z8+QP81NTb/LSwt/ysqK/80 + NDX/RENF/1paXP92dnj/jYyP/5eWmf+bmpz/nZyf/5KRk/9fXmD/TEtM/1ZWV/9gYGH/bW1v/4B/gf+W + lZfuqKeqiKmoqhcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACC + goQkenp7eG5ub8lTU1T6PDw8/y0tLf9BQEH/hYSG/5ybnv+amZz/lpWY/46Nj/93d3n/XFtd/0RERf81 + NDX/Kyss/ywrLP8zMzT/Ojo7/0JBQv9EQ0X/R0ZI/0VERv9BQEL/Pj0//zo5O/8zMjT/MTAy7zEwMkMA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4NzcXPz4+dT49PcM2NDT3MTAw/zMyMv85Nzf/REJC/1FOTuFa + V1elWldWR1hWVQEAAAAAAAAAAAAAAAAAAAAAAAAAADk3OQIyMTOQMC8x/zY1N/87Ojz/Pz5A/0JBQ/9G + RUf/R0ZI/0RERv9AQEH/OTg5/zIxM/8qKiv/LCwt/zg4Of9JSUr/YmFj/359gP+RkJP/mJeZ/5qZnP+c + m53/eXh7/0VFRf9EREX/WFhZ/3FwcvCKiYutjo2QXJWUlgwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGdnaQRubW8waGdpX2trbYB8 + e33mm5qd/5qZm/+Xlpn/kZCS/39+gf9jY2X/SkpL/zk4Ov8tLC3/Kior/y8vMP80NDX/Ozo8/z8+QP9F + REb/RURG/0FAQv89PD7/NDQ1/zQzNeAzMjQrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAADg3NgQ7OzsdPjw8MkFAQCZHRkYOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAzMjRrMzI0+zc2OP8/PkD/QkFD/0VERv9EQ0X/Pz4//zk5Ov8zMzT/Li4v/ykpKv8v + LzD/PDw9/09PUP9qaWv/hISG/5OSlf+Yl5n/mpmc/5mYmv9xcHPLc3N1d3h4elB/f4EeAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + 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 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABjYmRfGhka/wAAAP8CAgL/KSkq/y0tLv8oKCn/JiUm/yQkJf8n + Jyj/MDAx/z4+P/9SUVP/bW1v/4WEh/+Qj5L/lJOW/4qJi/9+fX/Ni4qNBQAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACUk5VAfn6A8X9+gf+K + iYz/hoWH/29vcf9VVFb/Pz9A/zAwMf8mJib/ISEi/ykoKf87Ojv/FBQU/wAAAP8AAAD/ExIT/4aFiN0A + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjZk5i + YWP/BQUF/wAAAP8AAAD/JCQl/zY1Nv8gICH/ISEi/ycnKP8zMzT/Q0JE/1pZW/91dHb/iYiL/4yLjv98 + e33/gYCD34yLjiMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACamZtBiIeJ/oGAgv93d3n/ZGRl/1JSU/8/PkD/NDM0/zc3OP9P + T1D/RkZH/wwMDP8AAAD/AAAA/woKCv9bWlz/jIyPzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY2JkPYaFiP8yMTL/BQUF/wAAAP8AAAD/HR0e/1dXWP9B + QEH/LS0u/zg3OP9FRUb/W1pc/2ppa/93dnj/gH+C/5mYmsuLio0VAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC6 + ubu7UVFS/1tbXP9zcnT/gICB/4CAgf99fX7/WVlZ/yEhIf8AAAD/AAAA/wEBAf8QDxD/NTQ2/1xbXf+K + iIylAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABl + X2YRenl8/kZFR/8oKCn/CwoL/wEBAf8AAAD/BAQE/zk5Of9ra2v/d3d3/3d3eP97e3z/dnV3/2xrbf+a + mZv/paSnOQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKalp0qZmJr/X19g/y8vMP8MDAz/CwsL/wwMDP8O + Dg7/Dw8P/wsLC/8cHB3/KCgp/y4tL/85ODr/Tk1P/1lZW1gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABqaWy5QUBC/zEwMv80MzX/Li0v/yYmJv8S + EhL/FRUV/xkZGf8RERH/ExIT/zAwMf9ramz/cXFy/8LCxMUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAALy7vbh2dnf/xcTG/7W0tv+Xl5j/jIyN/46Ojv+JiIr/iomL/3Rzdv9EQ0X/MzI0/zQzNf9F + Q0bORkVHAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAEFAQjA8Oz33MC8x/zw7Pf9VVFf/iomM/5eWmf+enZ//pqan/6emqP+3trj/zMvO/5mYmv+U + lJX7qqarMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmZmaIIiIieChoKL/y8rM/7++wP+0 + s7X/qair/5ybnv+RkJP/gYCD/0tKTP84Nzn/MC8x4j8+QCIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg4OlQwLzH4QD9B/2ZlaP+L + io3/l5aY/6KhpP+trK//ubi6/8XExv/Hxsj/d3Z4/Kmpq2QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAjo6PHYeGiMfJyMr/wsHE/7e2uP+rqq3/oJ+h/5STlv+JiIv/Wllb/zw8PblF + REYcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAEJBQzdGREbOeHd5/46NkP+amZz/paSn/7Gwsv+8u77/yMfK/66trtyK + iYpNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK2srz3F + xcedubm7zq6usPWjoqXzl5aZ1IyLjZtoZ2lAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGBfYQF2 + dnlCk5KUkJ2cn7+oqKrMtLO1vba1t42zs7VOpaWmAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAA//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////8AB///////////4AD////4AAD//////////wAAH/// + 4AAAP/////////wAAAP//4AAAA/////////wAAAB//4AAAAH////////4AAAAH/8AAAAAf///////4AA + AAA/+AAAAAD///////8AAAAAH/AAAAAAf//////+AAAAAA/gAAAAAH///////gAAAAAHwAAAAAA///// + //wAAAAAA8AAAAAAH//////4AAAAAAOAAAAAAB//////+AAAAAABgAAAAAAP//////AAAAAAAQAAAAAA + D//////wAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAD//////wAAAAAAAA + AAAAAAf/////4AAAAAAAAAAAAAAH/////+AAAAAAAAAAAAAAB//////gAAAAAAAAAAAAAAAB//+AAAAA + AAAAAAAAAAAAAD/8AAAAAAAAAAAAAAAAAAAf+AAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAAA/g + AAAAAAAAAIAAAAAAAAAH4AAAAAAAAAGAAAAAAAAAB8AAAAAAAAABwAAAAAAAAAPAAAAAAAAAA8AAAAAA + AAADwAAAAAAAAAPgAAAAAAAAA8AAAAAAAAAH4AAAAAAAAAOAAAAAAAAAB+AAAAAAAAADgAAAAAAAAAfw + AAAAAAAAA4AAAAAAAAAP8AAAAAAAAAOAAAAAAAAAD/gAAAAAAAADgAAAAAAAAB/4AAAAAAAAA4AAAAAA + AAAf/AAAAAAAAAOAAAAAAAAAP/wAAAAAAAADgAAAAAAAAD/+AAAAAAAAA4AAAAAAAAB//wAAAAAAAAOA + AAAAAAAA//8AAAAAAAADgAAAAAAAAf//gAAAAAAAAAAAAAAAAAH//4AAAAAAAAAAAAAAAAAD///AAAAA + AAAAAAAAAAAAA///wAAAAAAAAAAAAAAAAAP//8AAAAAAAAAAAAAAAAAH///gAAAAAAAAAAAAAAAAB/// + 4AAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAD///+AAAAAAAAAAAAAAA + AB////gAAAAAAAAAAAAAAAA////8AAAAAAAAAAAAAAAAP////gAAAAAAAAAAAAAAAH////8AAAAAAAAA + AAAAAAD/////gAAAAAAAAAAAAAAB/////8AAAAAAAAAAAAAAA//////wAAAABwAAwAAAAA///////AAA + AA/AA+AAAAA///////+AAAAf+D/4AAAD////////+AAAP////AAAH/////////gAAD////wAAD////// + ///8AAA////8AAA//////////AAAf////AAAP/////////4AAH////wAAH//////////AAB////8AAD/ + /////////4AAf////AAB//////////+AAH////4AA///////////wAB////+AAP//////////8AA//// + /wAH///////////gAf////+AD///////////+Af/////wB////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////8oAAAAYAAAAMAAAAABACAAAAAAAICUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + 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 + BAT+Dg0O/yAfIP8nJyj+MzM0/z8+QP8tLC3/HBsc/iAgIf9DQkP/ampr/nFwcf91dXb/cXFy/nNzdP9B + QEH/OTg6/jg4Of80MzX/NDM0/jMyNF4AAAAAAAAAADMzNJ0zMjT/NTQ2/jk4Ov81NDX/YWFj/np5ev98 + e33+goGD/3V0dv9ycnP+RERF/zg3Of86OTv+VlVX/4eGif9ycXP+TEtN/zU0Nv8UExT+BQUF/xISEv9f + X2D+cnZ+/ykzRv8jL0X+KjdP/zA+V/83RV7+Pkxl/0RSa/9LWHD+UF51/1djef9daHz+Y22A/2lzg/+E + iZL+ZGRn/xsaG/8EBAX+EBAQ/19eYP/Av8Hte3t8DAAAAAAAAAAAAAAAAAAAAAAAAAAAtLO1hre2uP5c + XF3+FxcY/gcHB/4FBQX+Pz4//oaHiv6BhpD+Xmd4/klUZ/5HUmf+TVlt/lRecv5aZHb+YWp6/m10gf52 + fIb+e36D/ltbXP4bGxz+BAQE/ggICP4TEhP+HR0e/iAfIP4eHh/+JyYn/jc3OP4hICH+Hx4f/iYmJ/4o + KCn+ODg4/l1cXf5jY2T+UlFS/jEwMf43Njj+Ojk7/jg3Of4zMjP+MzIz/jIxM1wAAAAAAAAAADIxM50y + MTP+NDM1/jk4Ov46OTv+MjEy/kNDRP5kZGX+ZmVn/lhXWP42NTb+NjU3/jo5O/46OTv+R0ZI/oB/gv5l + ZGf+SEdJ/j8+QP4yMTP+Gxsc/gsLC/4FBAX+HR0d/m1tbf57foT+YGd0/kxVZv4/SV3+QU1h/kdTZ/5O + WW3+VWBy/mJre/53for+gYWM/mtrbf4pKCn+BAQF/ggICP4aGRr+YGBh/re2uP6zsrWIAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAmpmbJsTDxe+Xlpf+Xl1e/0A/QP8XFxf+BwYH/wYGBv8cHBz/UVFS/m5vcP+B + goX+hoiM/4SFif+AgYT+d3h6/1ZWV/8zMzP+Dw8P/wUFBf8KCQr+EhIS/xwcHf8bGhz+GRka/xkYGf8Z + GBn+Hx4f/y4tLv8dHR7/IiEj/ikpKv8xMDH/NzY4/jY1N/80MzX/NzY3/jo5O/87Ojz/Ojk7/jc2OP8x + MDL/MjEz/jAvMVcAAAAAAAAAADAvMZwxMDL/MzI0/jk4Ov87Ojz/Ojk7/jg3Of80MzX+MTEy/zY1Nv85 + ODr+Ozo8/zs6PP86OTv+PDs9/29ucf9ZWFr+RURG/zw7Pf80MzX+LSwu/ykoKv8YGBn+DAwM/wYGBv8O + Dg7+MjIy/1VVVv9zdHb+ent+/3t9gP97fID+cXJ1/1lZW/87Ojv+ExMT/wYGBv8ICAj+Gxob/0dGSP9h + YGH+lpWW/8TDxvGYl5koAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMHAw6KysbP+dHR1/318fv+b + m5z+ZmVn/zIyM/8WFhf/CgoK/gYGBv8EBAT+BAQE/wQEBP8EBAT+CAgI/w0NDf8SEhL+KCgo/zw8Pf8z + MzT+Kior/yEgIv8XFxj+FBQU/xQUFP8VFRb+Ghoa/yEgIf8fHh//JiUm/i0sLv80MzX/Ojk7/js6PP87 + Ojz/Ojk7/js6PP87Ojz/Ojk7/jY1N/8wMDH/MjEz/i4tL1YAAAAAAAAAAC4tL50yMTP/MjEy/jg3Of86 + OTv/Ojk7/js6PP86OTv+Ozo8/zs6PP86OTv+Ozo8/zs6PP86OTv+Ozo8/0pJS/9QT1H+Q0JE/zo5O/8x + MDL+Ly4w/zc2OP89PD7+Pj4//0JCQ/8sLC3+FRUV/wkJCf8ICAj+BQUF/wQEBP8EBAT+BQUF/wcHB/8K + Cgr+Ghob/zs7PP9wb3D+o6Kk/39/gP9zc3T+sbCy/8PCxKUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAKmoqifEw8bwjIuN/m9ub/6jo6T+0M/R/szLzf6ysrT+np2f/o+Oj/6MjIz+kI+Q/pqZmv6Y + mJj+lZSV/paVlv6Pjo/+eXl7/l5dX/42Njf+JiUm/hwbHP4UFBT+EBAR/hEREv4TExP+FxcY/h0dHv4j + IyT+Kikr/jEwMv44Nzn+Ojk7/jo5O/46OTv+Ojk7/jo5O/46OTv+ODc5/jMyNP4xMDL+Ly4w/i0sLloA + AAAAAAAAACwrLZ8xMDL+MTAy/jU0Nv45ODr+Ojk7/jo5O/46OTv+Ojk7/jo5O/46OTv+Ojk7/jo5O/46 + OTv+Ojk7/jo5O/5DQkT+QD9B/jc2OP4vLjD+MTAy/jo5O/5DQkT+UE9R/nh3ef6OjpD+mpmb/qGhov6e + np/+np6e/qCgof6Xl5j+lJSV/pmZmv6op6j+uLe5/szLzv7Qz9H+pqWn/m9vcP6KiYv+xMLF8auqrCoA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKalpwG+vb9zqKip/nFxcv+EhIX+xMPF/8vKzP/F + xMb/vr3A/rq5u/+1tLb+sbCy/62tr/+joqT+kJCS/4GAg/9ycXP+YmFj/1BPUf8xMTL+Hx8g/xcXGP8S + EhL+Dg4P/xAPEP8SEhL+Gxob/yIiI/8oJyn/Ly4w/jU0Nv86OTv/Ojk7/js6PP87Ojz/Ojk7/jo5O/84 + Nzn/MzI0/jEwMv8wLzH/LCst/jIxM10AAAAAAAAAAC0sLqEsKy3/MTEy/jIxM/81NDb/OTg6/jo5O/86 + OTv+Ozo8/zs6PP86OTv+Ozo8/zs6PP86OTv+Ozo8/zo5O/84Nzn+PDs9/zU0Nv8uLS/+NDM1/zw7Pf9F + REb+WVha/359gP+JiIv+kI+S/5aVmP+enaD+qqmr/7KxtP+1tLb+uLe5/7y7vv/Av8L+x8bJ/83Mz//I + x8n+iIiJ/3Fwcf+mpqf+vby+dJ+foAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACi + oaMDuLi5tIKBgv9vbm/+qaip/8XExv+/vsD/uLe6/rKxs/+qqav+oaCi/5eWmP+Lio3+fX1//29ucP9g + X2H+UFBR/0JBQ/8tLC3+Ghoa/xUVFf8RERH+Dg4O/w8OD/8XFxf+IyIj/ygnKP8tLC7/MzM0/jk4Ov87 + Ojz/Ojk7/js6PP87Ojz/Ojk7/jc2OP8yMTP/MTAy/i8uMP8sKy3/Kyos/j8+P2AAAAAAAAAAADEwMqIs + Ky3/LCst/jEwMv8xMDL/NDM1/jk4Ov86OTv+Ozo8/zs6PP86OTv+Ozo8/zs6PP86OTv+Ozo8/zs6PP86 + OTv+NDM1/zEwMv8uLS/+NjU3/z8+QP9IR0n+ZWRn/4SDhv+Lio3+kpGT/5iXmf+enZ/+pKOl/6qpq/+w + r7H+trW3/7y7vf/CwcT+ycjK/87Nz/+zsrT+c3J0/4KBgv63trimoaCiAwAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAr6+wLKWkpvNmZmf+gYGC/rCwsf6xsbL+q6qs/qOipf6b + mpz+kI+R/oWEhv53d3j+aGhq/ltaXP5NTE7+QEBB/jY2N/4qKSr+GRkZ/hQUFP4SERL+Dw8P/hgYGf4k + IyT+KCcp/i0sLf4yMTP+ODc5/jo5O/46OTv+Ojk7/jo5O/45ODr+NTU2/jEwMv4wLzH+Ly4w/jw7PP42 + NDb+LCst/ktKTGh3dngZe3p8GTU0NqU3Njj+TUtL/jIxM/4wLzH+MC8x/jMyM/43Njj+Ojk7/jo5O/46 + OTv+Ojk7/jo5O/46OTv+Ojk7/jo5O/46OTv+Ojk7/jExMv4vLjD+OTg6/kJBQ/5NTE7+cnF0/oeGif6N + jI/+k5KV/pmYm/6fnqH+pqWn/qyrrf6ysbP+uLe5/r69v/7Ew8X+y8rM/srJyv6Tk5T+b25v/qemp9Sl + pKULAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAm5qbAbi3ubd8 + e33+ZWVm/4+OkP+dnJ7/l5aY/pCPkf+Hhoj+fHx9/3Bwcf9kY2X+V1dY/0tLTP9BQUL+ODg5/zIxMv8r + Kiv+HBwc/xUVFv8VFRX+Hh0e/yUkJv8pKCn+LSwu/zMxM/84Nzn/Ojk7/js6PP87Ojz/Ojk7/jk4Ov81 + NDb/MC8x/jAvMf8uLS//REJD/mViYv9vbGz/dXN0/pSTlOytrK7st7a466imqPOEgoL/Z2Rk/lRRUf8y + MTL/Ly4w/i8uMP8xMDL+NzY4/zo5O/86OTv+Ozo8/zs6PP86OTv+Ozo8/zs6PP86OTv+Ozo8/zo5O/81 + NDb+ODc5/0RDRf9UU1X+fHt+/4mIi/+PjpH+lZSX/5uanf+hoKP+qKep/62sr/+zsrX+urm7/8C/wf/G + xcj+zczO/7m5uv+BgYL+qaip/8bFx3EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAALKxs1KdnJ3+jYyO/3p6e/+Ghof/hISF/n5+f/93dnj+bWxu/2NiZP9Z + WFr+T09Q/0dHSP9AQEH+Ojo7/zY2N/8yMTP+JCQl/x4eH/8kIyT+Jyco/yopK/8uLS/+MzI0/zg3OP86 + OTv/Ojk7/js6PP86OTv/OTg6/jQzNf8vLi//MC8w/i4tL/9BP0D/XFlZ/mZjY/98enr/nZye/qinqf+y + sbP/u7q9/sTDxf/CwcP/e3l5/lxZWf9PTE3/MC8x/i4tL/8vLjD+MC8x/zY1N/85ODr+Ozo8/zs6PP86 + OTv+Ozo8/zs6PP86OTv+Ozo8/zs6PP86OTv+OTg6/zs6PP9VVFf+g4KF/4uKjf+RkJP+l5aZ/52cn/+j + oqX+qair/6+usf+1tLf+u7q9/8LAw//Ix8r+xMPF/6uqrP/BwML+0dDS7bm4uh0AAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKKhow25uLvXk5KU/ri3uf6O + jY/+ZGRl/mNjZP5sbG3+bGts/mVlZv5eXV7+V1dY/lJSU/5LSkz+QUBC/jc3OP4sKy3+JiUn/ignKP4p + KSr+LCwt/jAvMf40MzT+ODc5/jo5O/46OTv+Ojk7/jo5O/44Nzn+MjEz/i4tL/4xMDL+MTAy/kA/P/5U + UVH+XFlZ/mZjY/6PjpD+oaGi/quqrP60s7X+u7q8/rq5vP65uLr+pKOk/l5bW/5UUVH+SUdH/jIxM/4x + MDL+Ly4w/i8uL/40MzX+OTg6/jo5O/46OTv+Ojk7/jo5O/46OTv+Ojk7/jo5O/46OTv+Ojk7/jo5O/46 + OTv+R0ZI/mVkZ/58e37+jo2Q/p6doP6lpKb+q6qt/rGwsv6wr7L+qKep/pOSlP6PjpD+rayu/srJy/7N + zM/+zczOnwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAC+vb99oqKj/6moqv/DwsX/uLe6/oiIiv9XV1j+Ojk7/zg3Of82NTb+MTEy/y4uL/8s + Kyz+KSkq/ygnKf8pKCr+Kyor/ywsLf8vLjD+MjEy/zU0Nv85ODr+Ojk7/zs6PP87Ojz/Ojk7/jc2OP8x + MDL/Li0u/jY1N/84Nzn/Pj09/kxKSv9UUVH/XFlZ/mNhYv+ZmJr/o6Ol/qyrrf+xsLP/sK+y/q+usf+u + ra//paSn/l9dXf9UUlL/TEpK/kNAQP81NDX+ODg5/zIxM/8uLS7+MzI0/zg3Of86OTv+Ozo8/zs6PP86 + OTv+Ozo8/zs6PP86OTv+Ozo8/zs6PP86OTv+Ozo8/zo5PP87Ojz+Pz5A/0FBQv9DQkT+R0ZI/0tKTP9R + UFL+cnFz/6Cfof/AvsH+xsXI/8rJy//NzM7+x8bIOwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACzsrQaubi7+p+fof+7urz/wcDC/r69v/+8 + u77+rayu/5eXmP95eHr+WFhZ/y0sLf8qKSr+Tk5P/y4tL/8tLS7+Ly4w/zEwMv80MzX+NzY4/zo5O/86 + OTv+Ozo8/zs6PP86OTv/NjU3/jAvMP8tLC7/Pj0//kA/Qf86ODn/REJC/kxKSv9UUVH/XFlZ/l9dXf+U + k5X/pKOm/qinqf+npqj/paSn/qSjpf+ioaT/lZSW/lpYWP9UUlL/TEpK/kVCQv85ODj+Nzc4/0JBQ/83 + Njj+LSwu/zIxM/84Nzn+Ojk7/zs6PP86OTv+Ozo8/zs6PP86OTv+Ozo8/zs6PP86OTv+Ozo8/z49P/9W + Vlf+NjU3/0lISv95eHr+k5KU/6Wkpv+2tbj+vby+/7++wP/CwcP+xsXH/8nIy//KycvSw8LEAQAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAtbS2q6uqrP6vrrD+wL/B/r28v/66ubv+tLO1/qWkpv6RkJL+gYCC/lJSU/40MzT+aGdp/jc2OP4y + MTP+NDM1/jc2N/45ODr+Ojk7/jo5O/46OTv+Ojk7/jk4Ov41NDb+Li0v/i8vMP5IR0n+SEdJ/jk4Ov4z + MjT+NTM1/kVDQ/5UUVH+XFlZ/mBdXf50c3T+np2f/pybnv6bmp3+mZib/piXmf6WlZj+cW9x/llWVv5U + UVH+SEdH/jY0Nf4wLzH+NTQ2/jw7Pf5MS03+QD9A/i0sLv4wLzH+NzY4/jo5O/46OTv+Ojk7/jo5O/46 + OTv+Ojk7/jo5O/46OTv+Ojk7/kVERv5tbG7+MjEz/oaGh/6vrrD+srGz/rSztv63trn+u7q8/r69v/7B + wMP+xcTH/sTDxf6SkpNuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsbCyMrOytPCqqav/vLu9/r28vv+6ubv+sbCy/56dn/+J + iIr+dXR2/25ub/8uLS7+Ly4v/zU0Nv83Njj+OTg6/zo5O/86OTv+Ozo8/zs6PP86OTv+OTg6/zQzNf8t + LC7/MzI0/lNSVP9NTE7/PTw+/jg3Of8zMjT/Li0v/i0sLv83Njf/TUpL/mJfYP9fXV3/cnFz/o2Mjv+P + jpH/jo2Q/oiHiv9ubm//WFZW/lNRUf8+PD3/Li0v/iwrLf8vLjD+NDM1/zk4Ov8/PkD+U1JT/0pKS/8u + LS/+Ly4v/zY1N/86OTv+Ojk7/zs6PP86OTv+Ozo8/zs6PP86OTv+Ojk7/zk4Ov8yMjP+QUBB/5ybnf+p + qKr+sbCy/7Sztf+3trn+u7q8/769v//BwML+xMPF/7OytNK1tLYQAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK+usISt + rK7+trW3/r28vv65uLr+rKut/peWmf6CgYP+bm1v/m5tb/5TUlT+Li0v/jQzNf45ODr+Ojk7/jo5O/46 + OTv+Ojk7/jw7Pf5eXV/+NzY3/iwrLP44Nzj+YF9h/lBPUf5BQEL+PDs9/jc2OP4zMjT+Li0v/isqLP4r + Kiz+LCos/kA+P/5UUVH+UE5O/lZVVf5bWlv+Wlla/lNSU/5UUlL+ZmNj/jo5Ov4rKiz+Kyos/iwrLf4v + LjD+NDM1/jg3Of49PD7+Q0JE/ldWWP5YV1n+Ly4w/i0sLv5CQUP+VVRW/jo5O/46OTv+Ojk7/jo5O/46 + OTv+ODc5/jQzNf4vLjD+cnJz/pSTlf6ioaT+sK+x/rSztf63trj+urm8/r69v/7BwML+trW3+rGwskoA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAALCvsQmop6m0sK+x/ru6vf+3trj+pqWo/5GQkv98e33+Z2do/1xbXP+H + hoj+SEhJ/ywsLf8wLzH+NDM1/zY1N/82NTf+NTQ2/zU1Nv9XVlf+MjEz/0ZFR/9ycXP/UVBS/kVERv9A + P0H/PDs9/jc2OP8yMTP/LSwu/iwrLf8sKy3/OTc4/kZERP82NTX/Ojg4/lVSUv94dnX/dHFw/lpXV/9O + S0v/ZmNj/mlnZ/89Oz3/Kyos/iwrLf8uLS/+MzI0/zg3Of89PD7+QUBC/0dGSP9aWVv+bm1v/zg4Of88 + Oz3+WFdY/zMyM/82NTf+NzY3/zY1N/8zMzT+Ly4w/y0tLv9cXF3+k5KU/4WEhv+amZz+rayv/7Oytf+3 + trj+urm7/728vv+0s7X+sbCyfLe2uQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACxsLITqaiqyrOytP6z + srX+oJ+h/4uKjP92dXf+YWFi/1FQUf9sa23+pKOl/2tqa/84Nzj+Kyor/yopK/8pKSr+KCgp/ycnKP8t + LS7+VVRW/3h4ef9dXF7/SUhK/kVERv9AP0H/Ozo8/jY1N/8yMTP/LSwu/iwrLf83NTb/REFB/kE/P/8k + IyP/LSsr/kRCQv9kYWH/YmBf/k9MTP9DQUH/X1xc/m1qav9ua2v/Pz0//iwrLf8uLS/+MzI0/zc2OP88 + Oz3+QUBC/0ZFR/9LSkz+ZmVn/3d2eP9GRkf+Kior/ycnKP8oKCn+Kikr/yoqK/8rKiv+Pj0//3t6fP+k + pKX+eXl7/3p6fP+RkZL+qKeq/7OytP+2tbj+ubi6/6+usPyvrrCbtrW3BAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAsK+yFKinqbCdnJ/+mJea/oWEhv5wb3H+W1tc/klISv5RUVL+lpWX/r69v/66 + urv+hIOE/mBfYP5MS0z+SUhK/lNSVP5hYWL+YGBh/llYWv5TUlT+SUhK/kRDRf4/PkD+Ozo8/jY1N/4x + MDL+LCst/jMxMv0/PT3+Q0BA/kA+Pv4jISH+ISAg/jIxMf5NTEv+TkxM/kE+Pv4+PDz+XFpa/mtoaP5x + bm7+cG1t+jMyNP0tLC7+MjEz/jc2OP48Oz3+QD9B/kVERv5KSUv+VVRW/lpZW/5jY2T+Xl1e/k1NTv5G + RUb+S0pM/mNiY/6MjI3+wcHC/ri3uf6QkJL+ZmVn/nFxcv6IiIr+oaCi/rCvsv6wr7L+paSm+7GwsoK0 + s7UGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKWkpgOioaNhiIeJ5HRzdP9l + ZGb+VFRV/0JCQ/88PD3+fHt9/52cn/+hoKL+oJ+i/4qJi/9tbG7+VFNV/zw8Pf8zMjT+Pj0//0tKTP9N + TE7/SEdJ/kRDRf8/PkD/Ojk7/jU0Nv8vLjD/Kyos0TQzNC87OjpwQj8/6EJAQP8xMDD/Gxsb/iEgIP82 + NTT/Ojg4/jIxMf9EQkL/YF1c/mpnZvxtamq9X1lZKzg2OFcrKizuMTAy/zY1N/87Ojz+QD9B/0VERv9J + SEr+T05Q/0lJS/87Ozz+NTQ1/0VFRf9bWlv+c3N0/5GQkv+hoKP+n56h/5ybnv95eXv+VlVW/2dmaP99 + fH7+j46Q/5uanP2jo6XNsrGzPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAjY2OFoWEhm9ubm/MU1NU9D09Pv4tLS3+W1td/5iXmf+amZz+lJSW/4B/gv9d + XF7+Pz5A/y4uL/8sLC3+NzY4/0FBQv9GRkf/R0ZI/kNCRP8+PT//Ojk7/jMyNP4vLjC/MzEzFwAAAAAA + AAAAOTc3GT07O2lAPj7HMjAw8ikoKP4sKyv/NTMz/kE/P/xUUlLrXltbpmBcXEFaV1cHAAAAAAAAAAA1 + NDY6Ly4w4zQzNf87Ojz+Pz5A/0RDRf9HRkj+R0ZI/0A/Qf81NDb+Kyss/zAwMf9DQ0T+Y2Nl/4WEh/+W + lZj+m5qd/5WUlv9aWlv+RkZH/1paW/1zcnTujo2PuJ2cn1KioaMLAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsa20CZGRlKmdnaFFd + XF6AY2JkrpCPkvqamZz+lpWX/oiHif5nZ2j+RkVH/jIxMv4qKiv+MTAy/jg4Of5AP0D+RkVH/kNCRP4+ + PT/+NTQ2/jMyNKMyMTMOAAAAAAAAAAAAAAAAAAAAAAAAAAA1NDQCNzY2Jzo5OUs8OjpiQkBAWUhGRj5O + TEwYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzI0JzMyNNA3Njj+Pz5A/kNCRP5FREb+Pz5A/jc3OP4w + LzD+Kior/jU0Nf5KSkv+bW1v/oyLjf6Xlpj+mpmc/oeGiPRoaGqfcXBydHl4ekZ+fX8dAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeXl7AomIisKZmJv+lpWY/42Mj/9ycXP+Tk5P/zY2N/8q + Kiv+LCst/zEwMv84Nzn/QkFD/kFAQv84Nzn/NDQ1zzc2NwgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD4+Pycp + KCn+Ojk7/0JBQ/9BQEL+NzY3/zAwMP8rKyz+Kyss/zo5O/9TU1T+eHd5/5CPkf+Xlpn+mpmc/318fp4A + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAISDhl2R + kJP+lpWY/5CPkv97e33+V1ZY/zw8Pf8sLC3+KCgp/ysqK/8xMDL/PDs9/jg3Of8YFxj/IiIjxDY1NwIA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAADIxMx8QDxD9IiIj/zo5O/88Oz3+MC8w/yoqK/8oKCn+Li4v/0A/Qf9d + XF7+gH+C/5KRk/+Xlpj+jo2P+nd3eTsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAI6NkA2DgoTMkpGT/pGQk/6DgoX+YWBi/kNCRP4vLzD+JiUm/iYlJv4p + KCr+MC8w/hISEv4AAAD+Pz9AtgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEA/QRkwLzHxAQEB/hwcHP4w + MDH+KSgp/iYlJv4mJif+MjEz/kZGSP5nZmj+h4aI/pKRlP6PjpD+gICCr4uKjQYAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACSkZMkgoGD3YOChf+D + goX+amlr/0pJS/80MzX+JSUl/y0sLf8zMzP/CwsL/gAAAP8aGRr/cnJ0owAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAERDRRJ1dHbkCQkJ/wAAAP8UFBX+NTQ2/yUlJf8lJSb+NjY3/09OUP9xcHL+h4aI/4KBg/6D + goTFjYyPEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAmpmbQX9/gfh1dXf+cXBy/2JhY/9dXV7+WFhZ/zQ0NP8HBwf/AAAA/hAQEf9S + UVP/dXR3jAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEVERgqEg4bTNzY4/woKC/8AAAD+Dw4P/0RDRP9a + Wlv+WFhZ/2JiY/9zcnT+e3p9/6GgotCLi40QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiomLBKqpq8NUVFX+MzM0/ioqKv4l + JSX+EBAQ/gkJCf4SEhL+ISAi/jAvMf5MS03+WVhbTgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABm + Y2eYPz5A/i0sLv4lJCX+Ghka/g4ODv4dHR3+Kior/jk4Of5eXl/+d3d4/qmpq2QAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAJ6dnzyHh4n2v7/B/6yrrf+Xl5j+k5KU/42Mjv97en3/QkFD/jIxM/9AP0HAQkFDAQAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAP0EbODc55jU0Nv9SUVP+jIuO/5uanP+mpaf+rq2v/8TDxf+g + n6H+o6Gkv4+OkAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIqJigKQj5Fin56g9MbFx/+3trj+p6ap/5iXmv+I + h4r/TUxO/Tc2OL5BQEIbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPDs9NDw7PdJl + ZGf+j46R/56doP+trK7+vby+/8XEx/yJiYrEmZiaGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAm5qcMb6+wJS7ur3Tq6ut95ybnuyNjI+8YmFjX1RUVgoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAFdWWA9wcHNjlJOVs6KhpNWxsLLQt7e5orSztVOZmJoKAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAA//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////+AB//////// + gAP//wAAP//////8AAD//AAAH//////4AAA/+AAAB//////gAAAf8AAAA//////AAAAH4AAAA/////+A + AAAHwAAAAP////8AAAADgAAAAP////8AAAABgAAAAH////4AAAABAAAAAH////4AAAAAAAAAAH////4A + AAAAAAAAAH////4AAAAAAAAAAH////4AAAAAAAAAAD////wAAAAAAAAAAD////wAAAAAAAAAAAAf+AAA + AAAAAAAAAAAP4AAAAAAAAAAAAAAH4AAAAAAAAAAAAAADwAAAAAAAAAAAAAADgAAAAAAAgAAAAAABgAAA + AAABgAAAAAABgAAAAAABwAAAAAABgAAAAAADwAAAAAABgAAAAAAD4AAAAAABgAAAAAAH4AAAAAABgAAA + AAAH8AAAAAABgAAAAAAP8AAAAAABgAAAAAAP8AAAAAABgAAAAAAP+AAAAAABgAAAAAAf/AAAAAAAAAAA + AAA//AAAAAAAAAAAAAB//gAAAAAAAAAAAAB//gAAAAAAAAAAAAD//wAAAAAAAAAAAAD//wAAAAAAAAAA + AAD//4AAAAAAAAAAAAH//4AAAAAAAAAAAAH//8AAAAAAAAAAAAP//8AAAAAAAAAAAAP//+AAAAAAAAAA + AAf///AAAAAAAAAAAA////gAAAAAAAAAAD////4AAADAAwAAAH////+AAAHwH4AAA//////4AAP//8AA + P//////8AAP//8AAP//////8AAf//8AAP//////+AAf//8AAf///////AAf//8AA////////AAf//+AB + ////////gAf//+AB////////gA////AD////////4B////gH//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////KAAAAEgAAACQAAAAAQAgAAAAAABgVAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAEpLTgpISUwxQ0NFQUJBRE9BQUNOUFFUM1hZWxcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + 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 + Ghv/Ghob/xoZGv8bGxz/LSwu/x4eHv8lJCb/Ly4w/zMzNP8zMzT/MzI0/zg4Of86OTv/ODc5/zEwMv8x + MTLBAAAAADAvMQsyMTPoMjEz/zk4Ov86OTv/NjU3/zMyNP8zMjT/NjU3/zo5O/87Ojz/PTw+/3Bvcv9O + TU//Pj0//zIxM/8oJyn/FxYX/woKCv8WFhb/TExN/2FiZf9rbnX/bnJ5/3Bzev9laGz/VlZY/ygoKP8K + Cgr/EhES/z08Pv9ubW//vLu995iXmSkAAAAAAAAAAAAAAAAAAAAAAAAAAL++wKiWlZf+dnZ3/5ybnf5s + a2z/OTk6/x0dHf4SEhP/Dw8P/hEQEf8aGhr+KCgo/zMzM/5FREX/ODg5/ygnKf4bGxz/ExMU/hQTFP8W + Fhf+Hx4f/yEgIf4qKSv/NDM0/zo5O/47Ojz/Ojk7/js6PP86OTv+NjU3/zEwMv4vLjDBAAAAAC4tLwww + LzHpMTAy/jg3Of86OTv+Ozo8/zo5O/47Ojz/Ojk7/js6PP87Ojz/Ojk7/kpJS/9HRkj+Ozo8/zAvMf4z + MjT/PTw+/kVERv9NTE3/Nzc4/ikpKf8dHR3+FRUV/xcXF/4ZGRn/ISEh/kFAQf9zcnT/o6Kk/nh3eP+V + lJX+v77BqgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKuqrCe2trfwdHN0/6Cfof/Ozc//x8bI/769v/+3 + t7j/urm6/7+/wP+qqqv/lZSW/39+gP9iYWP/Ojk7/yEgIf8WFRb/EA8Q/xEREf8VFBX/Hx4f/ycmKP8w + LzH/ODc5/zs6PP87Ojz/Ozo8/zo5O/84Nzn/MzIz/zEwMv8sKy3EAAAAADAvMQ0tLC3qMTAy/zQzNf85 + ODr/Ojk7/zs6PP87Ojz/Ozo8/zs6PP87Ojz/Ozo8/zo5O/8/PkD/NzY4/y4tL/83Njj/QkFD/1taXP+F + hIf/lZSW/6Gho/+xsbL/wcDC/7m4uv+5ubr/wcDC/8jHyf/PztD/o6Kk/3NzdP+1tLbwqqmrKAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACzsrRjiYmK/Xx7fP+/v8H/wcDC/7m4uv+vrrD/pKOl/5eWmP+H + hoj/dHR2/2BgYv9MS03/MjEy/xoaGv8TExP/Dg4P/w8PEP8cHB3/JiUn/y0sLv82NTf/Ojk7/zs6PP87 + Ojz/Ojk7/zc2OP8yMTL/MC8x/ywrLf8wLzHHAAAAAEpJSw4sKy3qLSwu/zEwMv8zMjT/ODc5/zo5O/87 + Ojz/Ozo8/zs6PP87Ojz/Ozo8/zs6PP84Nzn/MjIz/y8uMP86OTv/RkVH/2ppbP+Ih4r/kI+S/5iXmv+g + n6L/qaiq/7Cvsv+5uLr/wcDC/8rJy//Ix8n/gYCC/4mIivuzsrRdAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAACfn6ABr6+wymloaf6Wlpf/r66w/6alp/6cm53/j46Q/n9+gP9tbG7+Wlpb/0lISv45 + OTr/LCss/xgYGf4TExP/ERAR/h0cHf8nJif+LSwt/zQzNf46OTv/Ozo8/zo5O/46OTv/NTQ2/jAvMf8v + LjD+QUBB/z8+P/4+PT7TgICBQH19fko/PkDuUU9P/jY0Nv8wLzD+MTEy/zc2OP46OTv/Ojk7/js6PP87 + Ojz/Ojk7/js6PP86OTv+NTQ2/zEwMv4+PT//TEtN/nh3ev+KiYz/k5KU/puanP+joqT+q6qs/7OytP67 + ur3/w8LF/szLzf+vrrD/dnV2/q6ur5oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAArq2vZIeGiP92dXf/kI+R/4yLjf+CgoP/dXV2/2dmaP9XV1j/SklK/z4+P/82NTb/Ly4v/x4eHv8a + Ghv/IyIj/ygoKf8uLS7/NDM1/zo5O/87Ojz/Ozo8/zk4Ov80MzX/Ly8w/y8uMP9DQUL/ZGFh/3t4eP+a + mZv+rq6v/7y7vf65uLr+eHV2/1dUVP80MzT/Ly4w/zAvMf82NTf/Ojk7/zs6PP87Ojz/Ozo8/zs6PP87 + Ojz/Ozo8/zg3Of87Ojz/U1JV/4KBhP+NjI//lZSX/52cn/+lpKf/rayv/7W0t/++vb//xsXI/8nIyv+g + n6H/vby+/Lm4ujIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApKOlEKuqrOik + o6T/kJCR/2pqa/5sa23/bGtt/mNiZP9ZWFn+UFBR/0hHSP48Ozz/MDAx/yYmJ/4oJyj/Kyos/jAvMP81 + NDb+Ojk7/zo5O/46OTv/OTg6/zMyM/4vLjD/MTAy/kA+P/9YVVX+ZGFh/5GQkf6mpaf/srGz/7u6vf68 + u73/paSl/lxZWf9OTEz+NDI0/zAwMf4vLjD/NDQ1/jo5O/87Ojz/Ojk7/js6PP86OTv+Ozo8/zo5O/47 + Ojz/PTw+/lpaXP95eHv/jo2P/p+eof+op6n+sK+x/7Gws/6mpaj/nZye/rKxs//Lysz/zs3Pwri3uQMA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALu6vJCfnqD/v77A/7W0t/+C + goT/VlVX/z8+QP8zMzT/LCwt/ysqK/8pKCr/Kikq/ywrLP8uLS//MjEz/zc2N/86OTv/Ozo8/zo5O/84 + Nzn/MTAy/zEwMf86OTr/Pjw9/01LS/9YVVX/YV9f/5uanP+op6n/r66x/66tsP+sq67/paSn/1xaWv9Q + Tk7/RUJC/zc1N/84ODn/Ly4w/zMyNP85ODr/Ojk7/zs6PP87Ojz/Ozo8/zs6PP87Ojz/Ozo8/zs6PP87 + Ojz/PTw+/z4+P/9GRUf/VFNV/21tbv+VlZf/vby//8fFyP/Lys3+yMfJXwAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALKxtCywr7H7sK+x/8C/wf68u73/uLe5/qqprP+G + hYb+TUxO/0JBQ/5RUFL/MC8x/zIxM/41NDb/OTg6/jo5O/86OTv+Ojk7/zc2OP4vLjD/NTQ2/0VERv44 + Nzn/PTo7/k1KSv9YVVX+X1xd/42Nj/6ioaT/oaCj/5+eoP6dnJ//i4qM/lhVVf9QTk7+QkBA/zQzNP46 + OTv/RURG/jEwMv8xMDL/ODc5/jo5O/86OTv+Ozo8/zo5O/47Ojz/Ojk7/js6PP9iYWP/QUBC/nd3eP+r + qqz+uLe5/7q5u/69vL7/wcDC/sbFyP/Bv8LstLO1DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACzsrSsq6ut/728vv+8u73/s7K0/5uanf9/foD/bGtt/y4uL/8z + MzT/NjU3/zk4Ov86OTv/Ozo8/zs6PP86OTv/NjU3/y4tLv8+PT//UE9R/z08Pv82NTf/Ly4w/zIxM/9H + RUb/YF1d/2RjY/+IiIr/kZCT/4+Okf+DgoX/Xl1e/1JPUP87Ojv/LSwu/zAvMf82NTf/QD9B/1FQUf83 + Njf/Ly4w/zc2OP86OTv/Ozo8/zs6PP87Ojz/Ozo8/zo5O/84Nzn/Ojo7/5ycnv+ura//s7K1/7i3uf+8 + u77/wcDC/8PCxP6trK59AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAACwr7EgrKut6re2uP67urz/rq2v/pOSlP93dnj+aWlq/1NSVP4wLzH/NzY4/zo5O/46 + OTv/Ojk7/kRDRf9UU1X+LSwt/0tKTP5XVlj/QkFD/zs6PP41NDb/Li0v/iwrLf8sKiz+PTs8/01LS/5Q + T0//YmBh/19eXv5QT0//ZGFh/j49Pv8rKiz+LCst/y8uMP42NTf/PDs9/kVERv9bWlz/QEBB/i0sLv9d + XF7+Ozs8/zo5O/46OTv/OTg6/jY1N/8wLzH/a2ps/pOSlP+pqKv+s7K1/7e2uf68u73/wL/B/rOytM+2 + tbcMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAArayuRK6tr/e5uLv/p6ao/4qJi/9vbnD/WFdY/4KBg/9ZWFn/Li0v/y8uL/8wLzH/Ly4v/y0sLv83 + Njj/X15g/2RjZf9HRkj/QUBC/zs6PP80MzX/Li0v/ywrLf84Njf/REJC/ywrK/8/PT3/aWdm/2hlZf9M + Skr/XVpa/2xpaf9BQEH/LCst/y8uMP81NDb/PDs9/0JBQ/9JSEr/a2ps/1JSU/85ODr/LCst/y8vMP8w + LzH/Li0v/zAvMf9nZmj/jIuN/4OChP+hoKP/srG0/7e2uP+6ubz/r66w57W0tiQAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK6tsEqm + paftm5qd/oKCg/9nZmj+TU1O/2JhY/6ura//pqWn/2hoaf5JSUr/QD9A/ktKS/9fXmD+YGBh/1FQUv5G + RUf/QD9B/zo5O/40MzX/LSwu/jQyM/5BPz/+QT8//yEgIP4rKSn/TEtK/09NTf4+PDz/V1RU/m1qaf9y + b27+Ozo7+y4tL/41NDb/Ozo8/kFAQv9HRkj/VFNV/mNiZP9cW1z+RkVH/z49Pv5KSkv/bm1u/q2srv+p + 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 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////wAAAP////// + /////wAAAP///////////wAAAP///////////wAAAP///////////wAAAP///////////wAAAP////// + /////wAAAP///////////wAAAP///////////wAAAP///////////wAAAP///////////wAAAP////// + /////wAAAP///////////wAAAP+A//////8B/wAAAPwAH/////gAPwAAAPAAB////+AADwAAAOAAA/// + /8AABwAAAMAAAf///4AAAwAAAIAAAP///wAAAQAAAIAAAP///wAAAQAAAAAAAH///gAAAAAAAAAAAH// + /gAAAAAAAAAAAH///gAAAAAAAAAAAH///gAAAAAAAAAAAB///AAAAAAAAAAAAAB+AAAAAAAAAAAAAAA8 + AAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAYAAAAAAAAAIAAAAAYAAAAAQAAAIAAAAAQAAAAAQAAAMAAAAAQ + AAAAAwAAAMAAAAAQAAAAAwAAAOAAAAAQAAAABwAAAOAAAAAQAAAABwAAAPAAAAAQAAAADwAAAPAAAAAA + AAAAHwAAAPgAAAAAAAAAHwAAAPgAAAAAAAAAHwAAAPwAAAAAAAAAPwAAAPwAAAAAAAAAPwAAAP4AAAAA + AAAAfwAAAP4AAAAAAAAAfwAAAP8AAAAAAAAA/wAAAP+AAAAAAAAB/wAAAP/AAAAAAAAD/wAAAP/wAAMA + wAAP/wAAAP//AAf/4AD//wAAAP//AA//8AD//wAAAP//gA//8AH//wAAAP//wA//8AP//wAAAP//wA// + 8AP//wAAAP//4B//8Af//wAAAP//8B//+A///wAAAP///////////wAAAP///////////wAAAP////// + /////wAAAP///////////wAAAP///////////wAAAP///////////wAAAP///////////wAAAP////// + /////wAAAP///////////wAAAP///////////wAAAP///////////wAAAP///////////wAAAP////// + /////wAAAP///////////wAAAP///////////wAAAP///////////wAAAP///////////wAAAP////// + /////wAAACgAAABAAAAAgAAAAAEAIAAAAAAAAEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + 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 + ExP/CAgJ/xgYGf8tLS3/JiYm/xYWFv8NDQ3/Hx8f/yopKv8kJCX/Gxob/xUVFf8VFRb/Hx4f/x8eH/8m + Jif/MjEy/zo5O/86OTv/Ozo8/zs6PP85ODr/MjEz/zAvMeMAAAAALy4wEzEwMv8zMzT/Ojk7/zs6PP86 + OTv/Ojk7/zs6PP87Ojz/Ozo8/z49P/9XVlj/QUBC/zQzNf8wLzH/NTU2/zExMv8jIiP/DQ0N/xEREf8h + ISH/JCQk/xEREf8ICAj/FxcX/0VFRv99fH7/cnFy/7Sztf2mpactAAAAAAAAAAAAAAAAAAAAAAAAAAC8 + u72ihoaH/42Mjv/Ozc//vr3A/6alp/+bm5z/oJ+g/6Kio/+VlJb/iomK/29ucP8+PT//IiEi/xUVFf8Q + EBD/EhIT/xkZGv8jIyT/LSwu/zc2OP87Ojz/Ozo8/zs6PP86OTv/NjU3/zEwMv8tLC7mAAAAAC4tLxUu + LS//MjEz/zg3Of86OTv/Ozo8/zs6PP87Ojz/Ozo8/zs6PP87Ojz/Pj0//z08Pv8wLzH/NDM1/0FAQv9b + Wlz/iomM/5mYmv+fnqD/pqan/6Wkpv+ioaP/rayu/8LBw//PztD/j4+Q/4WEhf+9vL6kAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAqaiqEKinqd1ycXL/uLe5/8LBw/+5uLr/rq2v/6Ggov+RkJP/fn1//2hnaf9R + UFL/NDQ1/xoaGv8SEhL/Dg4O/xQTFP8iIiP/Kyor/zQzNf86OTv/Ozo8/zs6PP86OTv/NTQ1/zEwMv8t + LC7/LCst6gAAAABFREYXLCst/y8uMP8yMTP/NjU3/zo5O/87Ojz/Ozo8/zs6PP87Ojz/Ozo8/zo5O/81 + NTb/Ly4w/zg3Of9FREb/bGtu/4mIi/+TkpT/nJud/6Wkpv+ura//t7a4/8C/wv/Kycv/wL/B/3V0df+m + pqfXpqWnEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACxsLFaeHh5/4eGh/+ura//pKSl/5iXmv+J + iIr/dnV3/2FhYv9NTE7/Ozs8/y0sLf8YGBj/EhIS/xQUFP8jIiT/Kyor/zMyM/85ODr/Ozo8/zs6PP85 + ODr/MzI0/zAvMf84Njj/SkhJ/z08PfCEg4RTfn1/Y0lHSP9QTU7/MC8w/zAvMf81NDb/Ojk7/zs6PP87 + Ojz/Ozo8/zs6PP87Ojz/OTg6/zAwMf88Oz3/S0pM/3p5fP+Mi47/lZSX/56doP+npqn/sbCy/7q5u//D + wsT/zMvN/56dnv+Ih4j+ra2uLwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAn56gB6Skpep+ + fX//h4aI/4eHiP98fH3/bm1u/11dXv9OTk//QkFD/zg4Of8xMTL/IB8g/x8eH/8nJif/LCst/zMyM/85 + ODr/Ozo8/zo5O/84Nzn/MTEy/y8vMP82NTb/XFlZ/3Rxcf+cm53/rq6v/728vv+6ubv/bWpr/01LS/8v + LjD/Ly4w/zMyNP85ODr/Ozo8/zs6PP87Ojz/Ozo8/zs6PP86OTv/OTg6/09OUP+Eg4b/j46R/5iXmv+h + oKP/qqms/7Oytf+8u77/xsXI/8HAwv+qqqv/y8rMwgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAACzsrSInZye/6qpq/91dXb/WFdZ/1paW/9YWFn/Tk5P/0RDRf83Nzj/LSwt/ycnKP8q + Kiv/Li4v/zQzNf85ODr/Ozo8/zo5O/83Nzj/MC8w/zIxM/83Njf/UU5O/15bW/+Eg4T/pKOl/7Kxs/+4 + t7r/t7a4/46Njv9WU1P/RUND/zIxMv8wLzH/MTAy/zk4Ov86OTv/Ozo8/zs6PP87Ojz/Ozo8/zs6PP86 + OTv/SEdJ/2NiZf96eXz/iYiK/5KRlP+Qj5H/hoWH/5qZm/+8u73/zMvO/8bFx1oAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsrKzIayrrfy2tbf/wcDC/66tsP+DgoT/YmFj/z8+P/8o + Jyn/Ozo8/ywsLf8uLi//MjEz/zY1N/86OTv/Ozo8/zo5O/82NTf/Li4v/zs6PP87Ojv/RkRE/1JPT/9e + W1v/hIOE/6Wkp/+qqav/p6ap/6Wkp/+GhYf/VlNT/0pISP88Ojv/Ozo8/zc2OP8vLzD/ODc4/zo5O/87 + Ojz/Ozo8/zs6PP87Ojz/Ozo8/zs6PP9JSEr/NTU2/1taXP92dXf/kpGT/7i3uf/BwMP/x8bI/8vKzOvD + wsQHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC1tLayq6qs/7++wP+7 + urz/sK+x/5STlf99fH7/MzI0/0tLTP8zMjT/NjU3/zk4Ov86OTv/Ozo8/zo5O/81NDX/Li0v/0hHSP9B + QEL/NTQ2/zUzNf9KSEj/X1xc/2dmZv+ZmJr/mJea/5aVmP+SkZT/YmFh/1VSUv89PDz/MC8w/zY1N/9F + REb/QkFD/y4tL/82NTf/Ojk7/zs6PP87Ojz/Ozo8/zs6PP87Ojz/U1NU/0dGSP+trK//srG0/7e2uP+8 + u73/wcDC/8XEx/+mpaeJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAsK+xJK6tr/a5uLr/urm8/6inqv+JiIr/bWxu/1hXWf8wLzH/ODc5/zo5O/87Ojz/Ojk7/0tKTP81 + NDX/MTAy/1ZVV/9HRkj/Ozo8/zQzNf8tLC7/LCst/zc1N/9YVVX/WFdX/2tqa/9paGr/WFZX/1tZWf8v + Li//LCst/y4tL/81NDb/PDs9/0xLTf9QT1H/Li0v/zo5O/9GRUf/Ojk7/zs6PP86OTv/ODc5/zEwMv92 + dXf/oJ+h/7Gwsv+2tbj/u7q9/8C/wf+3trjkt7a4DgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACtrK5csbCy/ri3uf+gn6H/gH+B/2FhYv90c3X/VFRV/y0sLv8y + MTL/MzI0/zEwMv8/P0D/PDs9/2tqbP9MS03/QUBC/zo5O/8zMjT/LSwu/y0sLv9APT7/NzY2/zw6Ov9r + aWj/amdn/01LS/9nZGT/VlNU/ywrLf8tLC7/NDM1/zs6PP9CQUP/UVBS/2hnaf85OTr/Pz4//zIxM/8z + MjT/MTAy/y0tLv9jYmT/iIeJ/5KSlP+urbD/trW3/7u6vP+0s7X2tLO2OQAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK2sr2Kmpaj5lZWX/3d2d/9Y + WFn/UlFS/6Wkpv+dnJ7/X19g/0JCQ/8+Pj//T09Q/2VkZv9XVln/SEdJ/0FAQv86OTv/MzI0/ywrLf87 + OTn+Q0FB/yspKf8oJib/TEpK/09NTf8/PT3/YV5e/3Btbf9WVFX8LCst/zMyNP87Ojz/QkFD/0lISv9b + Wlz/ZGNl/0tKS/88Oz3/Q0JD/2RkZf+kpKX/oJ+i/2trbP+FhIb/p6ao/7KxtP+sq63usrG0QgAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAn56gLYiIibpoaGn+TExN/zk4Of+CgYP/np2g/5iXmf9ubW//R0dI/zExMv8/P0D/S0tN/0dGSP9A + P0H/OTg6/zAvMf0vLS95OTg4NUE/P7w6ODj9Hx8f/y0sLP82NDT/QkBA/2JgX/ZoZGSXU09PGjAvMKMx + MDL/Ojk7/0FAQv9IR0n/TEtN/z09Pv80MzT/TU1O/3V0dv+amZz/np2f/4B/gf9WVVf/cXBy/5GQkvqj + oqSjr66wGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXR2J2FhYnFQT1Cja2ps2ZuanP+TkpX/bW1v/z8/QP8r + Kyz/NDQ1/0A/Qf9FREb/Pz5A/zU0NvcxMDJXAAAAAAAAAAAAAAAAODc3Izg3N283NjaTQUBAjE9NTWFX + VFQSAAAAAAAAAAAAAAAAMjEzfjc2OP5AP0H/RURG/z8+QP8zMjT/LCss/0NDRP9zc3X/lZSW/5qZnP9p + aGrQZWRmm3p5e2eLiowaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHx8fiCU + k5b8lZSW/3x7ff9KSUv/LS0u/ywrLf80NDX/QUBC/zY1N/80NDWNAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArKivCOTg6/0FAQv8zMzT/Kyss/y8vMP9P + TlD/gH+C/5aVl/+PjpD0fn1/DwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAiIeKp5OSlf+GhYj/V1ZY/zIyM/8mJif/Kikr/y8uL/8JCQn/NDM1ewAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMC8wtQ4ODv8y + MTL/KSkq/ycmJ/81NTb/XFtd/4mIi/+SkZT/gYCDjgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJGQkxCIh4nMgoGD/19eYP84ODn/MzM0/y0tLv8F + BQX/Hh0e/15eYGoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAGxrbaIPDg//CQkJ/zMyM/8uLS7/PTw+/2VkZv+DgoX/iIeKr46NkAgAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAm5ucQWlpav9M + S0z/RUVF/yUlJv8KCgr/Ghka/0ZFR/9UU1U/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABhX2JyODc5/xsbHP8PDw//NDQ1/0RERf9jYmT/jo6P8I+OkQ4A + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAACVlJauubi7/6Wlpv+Xlpj/hIOG/z8+QP86OTu0AAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQUBCDDU0NtBOTU//kZCS/6Wkpv+3 + trj/qaiq/p2cnmQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAk5KUB6WkpoC+vb/ap6ap+ZCPkttXVlh+S0pMBwAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABK + SUsNZWRmhJaVmNOtrK7hu7q9tp6en0sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////AD/////AD/wAD////wAD+AAD///8AAHwAAP///wAAOA + AAf//+AAAQAAA///wAAAAAAD///AAAAAAAP//8AAAAAAA///wAAAAAAB//+AAAAAAAAH4AAAAAAAAAPA + AAAAAAAAAYAAAAAAAAABgAAAAIAAAAGAAAABgAAAAQAAAAHAAAABAAAAA8AAAAEAAAAD4AAAAQAAAAfg + AAABAAAAB/AAAAAAAAAP8AAAAAAAAB/4AAAAAAAAH/gAAAAAAAAf/AAAAAAAAD/8AAAAAAAAP/4AAAAA + AAB//wAAAAAAAP//gAAAAAAB///gADgcAAf///wAf/4AP////gB//gB////+AH/+AH////8Af/4A//// + /4D//gH/////gP//A/////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////8oAAAAMAAAAGAAAAABACAAAAAAAIAlAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAD0+QBs9PUB0U1RWsV1dXtNhYWLgbW1uz2ZmaKlQUVNgWlpbDgAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAABGRkcQQUFDZFRUVa9lZWbUaGhp6HBwcdxzdHa3V1dbelNUVyAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAyMjMMMDAxjD4/QPc5PUf+GypF/xQsWv4XMmX+GSxP/zhCU/5wcnf/a2tr6EBAQmVF + RUYBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAANjY3ATY2OGlKSkvqVVdc/jtGWf4nPGL/Ij5z/iA6af4rO1n/VVtn/lxdX/k/ + P0GTPDw9DgAAAAAAAAAAAAAAADExMhYkJCXKMC8w/xYfL/8aOnT/IU+k/yNVsf8iU6z/IVCl/x5Gj/8Y + MFz/Ki43/15eXv40MzSYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + 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 + MTP/ISAh/oyLjpgAAAAAAAAAAJqZmyubm5z7Ly8v/xgYGP9KTE//Wl9o/2dtef9scn3/Z2tz/01PU/8h + ISL/Dw4P/xkZGv8cGxz/Kyor/yAfIP8qKSv/QEBB/0hHSf83Njj/OTg6/zIxM/8xMDIsMTAyTjIyM/86 + OTv/Ojk7/0xLTf8/PkD/OTg6/z49P/9ram3/QkFD/ysrLP8UFBX/Jycn/0dJTv9VWmT/X2Zy/2Rqdf9b + X2f/QUJF/xQUFP8yMjP/nJud+5eWmCwAAAAAAAAAAAAAAAC4t7mue3p8/52cnv5ycXL+T09Q/0lJSf5O + Tk7+UFBQ/1FQUf5BQEL/IyMk/hQUFP4TExT+HBsc/yUkJf4yMjP+Ojk7/zo5O/46OTv+NzY4/zAwMf4u + LS8sLi0vTzEwMv44Nzn+Ojk7/zo5O/46OTv+Ozo8/zo5O/5GRUf/PTw+/jAvMf48Oz3/UlFT/lpaW/5U + VFT/UlJS/k1NTf5UVFX/dnZ3/qKho/57enz/ubi6sAAAAAAAAAAAAAAAAAAAAACtrK0elZSW7JiXmf7F + xMb+ubi6/6yrrf6dnJ7+f3+B/2FgYv48Oz3/GRka/hAQEP4SEhL+IiEi/y4tL/45ODr+Ozo8/zo5O/43 + Njj+MTAy/y0sLv4/PkAvOzo8UC0sLv4yMTP+ODc5/zo5O/46OTv+Ozo8/zo5O/46OTv/NjU2/jIxM/5C + QUP/cG9y/o6Nj/6amZz/qqms/rW0tv6/vsD/y8rM/p2dnv6Uk5XoqKepHgAAAAAAAAAAAAAAAAAAAAAA + AAAAqqmrdnJyc/+jo6T/nZye/4yLjf90c3X/WVla/0JBQ/8vLzD/FxcY/xUUFf8iIiP/LSwu/zc2OP86 + OTv/Ojk7/zU0Nv8wLzD/RUNE/1FPUf+BgIGWhIOFp1xaWv86ODr/MC8x/zY1N/86OTv/Ozo8/zs6PP87 + Ojz/ODc5/zU0Nv9KSUv/gH+B/5GQk/+dnJ//qqmr/7a1t//CwcP/x8bI/4uKjP+ura9UAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAApaSmF52cnvWSkZP+cnJz/29ucP5gX2H+UE9R/0JBQv4zMjT/JCMl/igoKf4v + LjD+NzY4/zo5O/46OTv+MzI0/zAvMf5BP0D+YV5e/5KRk/6ura/+vby+/6alp/5XVFT+NjU2/zAvMf40 + NDX+Ojk7/zo5O/47Ojz/Ojk7/jo5O/5BQEL/bm1w/oyLjv6hoKL/rayv/rKxs/6rqqz/ubm7/svKzOK1 + tLYHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALOytKSxsbP+sK+x/39+gP5fX2D+OTg6/zMyNP4r + Kiz/Li0v/jMyNP44Nzn+Ojk7/zk4Ov4xMDL+ODg5/z07PP5QTU3+X1xc/52cnv6rqqz+qqms/6KhpP5Y + Vlb+SEVG/zg2OP42NTf+MzIz/zo5O/47Ojz/Ojk7/jo5O/47Ojz/Ozo8/kJBQ/5SUVP/cnJ0/o6Nj/64 + t7n/yMfJ/sjHyYMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALGwsjeura/7vb2//7a1t/+X + lpj/bm1v/z49P/81NDb/ODc4/zo5O/86OTv/ODc5/zEwMv9GRUf/PTw+/zIxM/8/PT7/W1hY/3l4ef+V + lJf/kpGT/3NydP9PTU3/NjU2/zIxM/9AP0H/QkJD/zEwMv85ODr/Ojk7/zs6PP87Ojz/PTw+/0VERf+f + nqD/s7K0/7m4uv/Av8H/wL/B87Gwsh8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACt + rK6QuLe5/7Cwsv6KiYv+aGdo/1RTVf4yMTP/ODc5/jg3Of5KSUr+NzY3/1ZVV/5FREb+OTg6/zAvMf4s + Kiz+Ozk6/0VDQ/5gXl7+X11d/1tZWf5DQUP+LCst/zEwMv46OTv+SUhK/1RTVf45ODr/RkVH/jg3Of43 + Njj/MjEz/mRkZf6VlJf/sbCy/ri3uv68u73+tLO1cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAACwr7EErayuo6KhpP59fX7+VlVW/359f/6Ghof/Tk1P/jo5Ov5CQkP+YmFj/1BPUf5C + QUP+ODc5/y8uMP41MzT+QkBA/yUkJP5KSEj+UE5O/09NTP5ua2v+Q0JD/TAvMf45ODr+Q0JE/1RTVf5f + XmD/Pz9A/jk4Ov5RUFL/jIyN/oWEhv6BgYL/q6qs/rGwsv6xsLKItbS2AQAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJOSlFdzcnTOSkpL/FBQUf+cm57/kI+R/1dXWP8y + MjP/QEBB/0lISv9BQEL/NzY4/i8uMKk3NjYoPjw9mjAuLu0rKir+ODc3/lZTU+NkYWGATElKIDAvMcI4 + Nzn/QkFD/0lISv8+Pj//NTU2/11dXv+TkpX/m5qc/1xbXf9sbG36lZSWwainqUUAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYGBhHmloakyT + kpXukI+S/ltbXP4vLzD+MjEy/0A/Qf4+PT/+NTQ1njQzNAMAAAAAAAAAADU0NAo4NzcrQUBAJU9MTAYA + AAAAAAAAADc1Nwk0MzW9QD9B/z8+QP4xMDH/MTEy/mFgYv6SkZT/jo2Q5HRzdUV2dXcZAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAACKiYuNkpGU/25tb/83Njf/KCco/zIxMv8YGBn/MzM0XwAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsLC2JHh4f/zEwMv8oJyj/OTk6/3NydP+SkZT/hIOGegAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQj5IJiIeJxXV0dv5PT1D+Nzc4/xEREf4fHx/+VVVXTAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABhX2J1ExIT/xYWFv46Ojv/UE9R/nl4e/6M + i46pjo2PBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlpWXQHRzdPxlZGX+Tk5P/zw7Pf47 + OjzvSEdJFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABNS04tNjU3+EdGSP5b + Wlz/dXR2/oaFh++TkpQbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJiXmWK+ + vb/ZoqGk+HFwc8ZGRUc5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAR0ZIRX59gMWnp6npu7q8vJWVljoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAD///////8AAP////// + /wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA8Af//+APAADA + Af//gAMAAIAB//+AAQAAAAD//wAAAAAAAH/+AAAAAAAAf/4AAAAAAAB//gAAAAAAAAPAAAAAAAAAAYAA + AAAAAAABgAAAAAAAAAAAAAAAAIAAAAAAAQAAgAAAAAABAADAAAAAAAMAAMAAAAAAAwAA4AAAAAAHAADg + AAAAAAcAAPAAAAAADwAA8AAAAAAPAAD4AAAAAB8AAPgAAAAAHwAA/gAAAAB/AAD/gAwwAf8AAP/gH/gH + /wAA/+Af+Af/AAD/8B/4D/8AAP/4P/wf/wAA////////AAD///////8AAP///////wAA////////AAD/ + //////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP////// + /wAAKAAAACAAAABAAAAAAQAgAAAAAACAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + 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 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/ + ///////////////////////////////Af/4DgD/8AQAf+AAAH/gAAA/wAAABgAAAAAAAAAAAAIAAAAGA + AAABwAAAA8AAAAPgAAAH4AAAB/AAAA/+B+B//gfgf/8P4P////////////////////////////////// + /////////ygAAAAYAAAAMAAAAAEAIAAAAAAAYAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + 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 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAD///8A////AP///wD///8Awf+DAAD/AAAAfgAAAH4AAAAAAAAAAAAAAAAAAIAAAQCA + AAEAwAADAMAAAwDgAAcA+DwfAPw8PwD///8A////AP///wD///8A////AP///wAoAAAAEAAAACAAAAAB + ACAAAAAAAEAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKiorGjE2QawySXXuP09t3klJS3AA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7Oz1xO0tp4DxVgfBCR1OuMTEyGyQmK8QhRoj/NGW+/ylUov8h + ME7/KCgpUAAAAAAAAAAAAAAAAAAAAAAlJSZQIzNR/ylUov80Zb7/IUWI/x8iJ8UhKDb5GDZu/yhMj/8r + S4b/IDZb/ykpKrg6OTtpKSkqFignKRg4NzlnLS0uth0vUP8lRYD/MFOT/yZGfv8YHy35P0BDriExUP80 + SW//WWeA/y4yPP87Ojz/iomL/zc2OKE6OTusk5KU/1VUVv8lKzb/IjRW/0ZYe/9daX3/Ozw+rZ+eoDdz + c3T8dHZ6/1BRU/8WFhf/KSgq/zw7Pf8zMjS5MzI0xD08Pv9BQEL/NDM1/19gY/93eH3/dHR1/KSjpTcA + AAAAoaChrn59f/89PT7/Jyco/zc2OP86OTr/fHt8839+f/U3Njj/Ojk6/zw7Pf90dHb/qKep/7q5u6MA + AAAAAAAAAKGgojKlpKb0Wllb/z49P/9GRUf/NTQ2/lRTU/9gXl7/NzY3/kZFR/8+PT//bm1v/7W0tvGk + pKUrAAAAAAAAAAAAAAAAb25wIHFxc4phYGL/NzY3/zQzNVAzMjJNSEZGSDk3OVs3Njj/ZGRm/3p5e4aA + f4EdAAAAAAAAAAAAAAAAAAAAAAAAAABPT1ABg4KEsUhHSeA3NzgKAAAAAAAAAAA5ODoSS0tM4IiHiaAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//AAD//wAA//8AAAfgAAADwAAAAAAAAAAAAAAA + AAAAgAEAAIABAADAAwAA4Y8AAP//AAD//wAA//8AAP//AAA= + + + \ No newline at end of file diff --git a/Themenmanagement/Diverse Formulare/frmSuche.vb b/Themenmanagement/Diverse Formulare/frmSuche.vb new file mode 100644 index 0000000..e028adc --- /dev/null +++ b/Themenmanagement/Diverse Formulare/frmSuche.vb @@ -0,0 +1,112 @@ +Public Class frmSuche + Public Event Treffer_DoubleClicked(ByVal keyvalue As Integer) + Public Event Treffer_Anzeigen(ByVal keyvalues As Integer) + + Dim m_suchdata As DataTable + Property SuchData As DataTable + Get + Return m_suchdata + End Get + Set(value As DataTable) + m_suchdata = value + End Set + End Property + + Dim m_suchtree As TreeView + Property SuchTree As TreeView + Get + Return m_suchtree + End Get + Set(value As TreeView) + m_suchtree = value + End Set + End Property + + Dim dt As New DataTable + + + Private Sub frmSuche_Load(sender As Object, e As EventArgs) Handles MyBase.Load + dt.Columns.Add("ThemaNr") + dt.Columns.Add("KategorieNr") + dt.Columns.Add("Bezeichnung") + If Me.txtSuchbegriff.Text <> "" Then btnSuche_Click(sender, e) + End Sub + + Private Sub btnSuche_Click(sender As Object, e As EventArgs) Handles btnSuche.Click + dt.Rows.Clear() + If cbfreitext.Checked Then + Dim dd As New DataTable + Dim thema As New db.Thema + thema.cpMainConnectionProvider = Globals.conn + dd = thema.Freitext_Suche(Me.txtSuchbegriff.Text) + For Each rd As DataRow In dd.Rows + Dim r As DataRow = dt.NewRow + r.Item(0) = rd("Themannr") + r.Item(1) = rd("Kategorienr") + r.Item(2) = rd("Titel") + dt.Rows.Add(r) + + + + Next + Else + For Each dr As DataRow In Me.SuchData.Rows + If InStr(UCase(dr.Item("Titel")), UCase(Me.txtSuchbegriff.Text)) > 0 Or InStr(UCase(dr.Item("Suchbegriffe")), UCase(Me.txtSuchbegriff.Text)) > 0 Or InStr(UCase(dr.Item("Beschreibung")), UCase(Me.txtSuchbegriff.Text)) > 0 Then + Dim r As DataRow = dt.NewRow + r.Item(0) = dr.Item("Themannr") + r.Item(1) = dr.Item("Kategorienr") + r.Item(2) = dr.Item("Titel") + dt.Rows.Add(r) + End If + Next + + End If + + Me.C1Suchresultat.DataSource = Nothing + Me.C1Suchresultat.DataSource = dt + Me.C1Suchresultat.DataMember = dt.TableName + Me.C1Suchresultat.Splits(0).DisplayColumns(0).Width = 0 + Me.C1Suchresultat.Splits(0).DisplayColumns(1).Width = 100 + Me.C1Suchresultat.Splits(0).DisplayColumns(2).Width = 200 + + Me.txtSuchbegriff.SelectAll() + End Sub + + + Private Sub txtSuchbegriff_KeyDown(sender As Object, e As KeyEventArgs) Handles txtSuchbegriff.KeyDown + If e.KeyCode = Keys.Enter Then + btnSuche_Click(sender, e) + End If + End Sub + + Private Sub AnzeigenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles AnzeigenToolStripMenuItem.Click + RaiseEvent Treffer_Anzeigen(Me.C1Suchresultat.Columns(0).Value) + 'Me.SuchTree.SelectedNode = u.FindNode(Me.SuchTree.Nodes, Me.C1Suchresultat.Columns(0).Value, "") + End Sub + + Private Sub C1Suchresultat_DoubleClick(sender As Object, e As EventArgs) Handles C1Suchresultat.DoubleClick + Try + AnzeigenToolStripMenuItem_Click(sender, e) + Catch ex As Exception + + End Try + End Sub + + Private Sub C1Suchresultat_MouseDown(sender As Object, e As MouseEventArgs) Handles C1Suchresultat.MouseDown + Me.C1Suchresultat.Bookmark = Me.C1Suchresultat.RowContaining(e.Y) + End Sub + + Private Sub AnzeigenInNeuemFensterToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles AnzeigenInNeuemFensterToolStripMenuItem.Click + Dim f As New frmThemenübersicht(Me.C1Suchresultat.Columns(0).Value) + f.MdiParent = Me.MdiParent + f.Show() + End Sub + + Private Sub TSBtnQuit_Click(sender As Object, e As EventArgs) Handles TSBtnQuit.Click + Me.Close() + End Sub + + Private Sub ÜbersichtAnzeigenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ÜbersichtAnzeigenToolStripMenuItem.Click + RaiseEvent Treffer_DoubleClicked(Me.C1Suchresultat.Columns(0).Value) + End Sub +End Class \ No newline at end of file diff --git a/Themenmanagement/Kernbotschaften - Kopie/FrmKernbotschaft_Presentation.designer.vb b/Themenmanagement/Kernbotschaften - Kopie/FrmKernbotschaft_Presentation.designer.vb new file mode 100644 index 0000000..139bcfb --- /dev/null +++ b/Themenmanagement/Kernbotschaften - Kopie/FrmKernbotschaft_Presentation.designer.vb @@ -0,0 +1,566 @@ + _ +Partial Class FrmKernbotschaft_Presentation + Inherits System.Windows.Forms.Form + + 'Form overrides dispose to clean up the component list. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + + 'NOTE: The following procedure is required by the Windows Form Designer + 'It can be modified using the Windows Form Designer. + 'Do not modify it using the code editor. + _ + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Dim PanelElement1 As C1.Win.C1Tile.PanelElement = New C1.Win.C1Tile.PanelElement() + Dim ImageElement1 As C1.Win.C1Tile.ImageElement = New C1.Win.C1Tile.ImageElement() + Dim TextElement1 As C1.Win.C1Tile.TextElement = New C1.Win.C1Tile.TextElement() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(FrmKernbotschaft_Presentation)) + Dim PanelElement2 As C1.Win.C1Tile.PanelElement = New C1.Win.C1Tile.PanelElement() + Dim ImageElement2 As C1.Win.C1Tile.ImageElement = New C1.Win.C1Tile.ImageElement() + Dim TextElement2 As C1.Win.C1Tile.TextElement = New C1.Win.C1Tile.TextElement() + Me.C1TileControl1 = New C1.Win.C1Tile.C1TileControl() + Me.ctxMenuGruppenansicht = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.AbsenderAnzeigenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.AbsenderAusblendenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.grpAbsender = New C1.Win.C1Tile.Group() + Me.Tile1 = New C1.Win.C1Tile.Tile() + Me.Tile2 = New C1.Win.C1Tile.Tile() + Me.Tile3 = New C1.Win.C1Tile.Tile() + Me.GrpAnspruchsgruppe = New C1.Win.C1Tile.Group() + Me.Tile4 = New C1.Win.C1Tile.Tile() + Me.Tile5 = New C1.Win.C1Tile.Tile() + Me.Tile6 = New C1.Win.C1Tile.Tile() + Me.GrpThemenGruppe = New C1.Win.C1Tile.Group() + Me.Tile7 = New C1.Win.C1Tile.Tile() + Me.Tile8 = New C1.Win.C1Tile.Tile() + Me.Tile9 = New C1.Win.C1Tile.Tile() + Me.Tile10 = New C1.Win.C1Tile.Tile() + Me.Tile11 = New C1.Win.C1Tile.Tile() + Me.Tile12 = New C1.Win.C1Tile.Tile() + Me.Tile13 = New C1.Win.C1Tile.Tile() + Me.Tile14 = New C1.Win.C1Tile.Tile() + Me.Tile15 = New C1.Win.C1Tile.Tile() + Me.Tile16 = New C1.Win.C1Tile.Tile() + Me.Tile17 = New C1.Win.C1Tile.Tile() + Me.Tile18 = New C1.Win.C1Tile.Tile() + Me.Tile19 = New C1.Win.C1Tile.Tile() + Me.Tile20 = New C1.Win.C1Tile.Tile() + Me.Tile21 = New C1.Win.C1Tile.Tile() + Me.Tile22 = New C1.Win.C1Tile.Tile() + Me.Panel1 = New System.Windows.Forms.Panel() + Me.Panel2 = New System.Windows.Forms.Panel() + Me.cbboxShowGueltigkeit = New System.Windows.Forms.CheckBox() + Me.cbboxNurGueltige = New System.Windows.Forms.CheckBox() + Me.cbboxNurAktive = New System.Windows.Forms.CheckBox() + Me.btnSuche = New System.Windows.Forms.Button() + Me.txtsuche = New System.Windows.Forms.TextBox() + Me.lblSuche = New System.Windows.Forms.Label() + Me.Label1 = New System.Windows.Forms.Label() + Me.SplitContainer1 = New System.Windows.Forms.SplitContainer() + Me.C1TileControl2 = New C1.Win.C1Tile.C1TileControl() + Me.ctxMenuReport = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.ReportBearbeitenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.Group1 = New C1.Win.C1Tile.Group() + Me.Tile23 = New C1.Win.C1Tile.Tile() + Me.ExcelExport = New C1.Win.C1Tile.Tile() + Me.C1Truedbgrid1 = New C1.Win.C1TrueDBGrid.C1TrueDBGrid() + Me.ctxMenuEinträge = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.EintragBearbeitenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.NeuerEintragToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ctxMenuGruppenansicht.SuspendLayout() + Me.Panel1.SuspendLayout() + Me.Panel2.SuspendLayout() + CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SplitContainer1.Panel1.SuspendLayout() + Me.SplitContainer1.Panel2.SuspendLayout() + Me.SplitContainer1.SuspendLayout() + Me.ctxMenuReport.SuspendLayout() + CType(Me.C1Truedbgrid1, System.ComponentModel.ISupportInitialize).BeginInit() + Me.ctxMenuEinträge.SuspendLayout() + Me.SuspendLayout() + ' + 'C1TileControl1 + ' + Me.C1TileControl1.AllowChecking = True + Me.C1TileControl1.AllowPanningFeedback = False + Me.C1TileControl1.BackColor = System.Drawing.Color.White + Me.C1TileControl1.CellHeight = 70 + Me.C1TileControl1.ContextMenuStrip = Me.ctxMenuGruppenansicht + ' + ' + ' + PanelElement1.Alignment = System.Drawing.ContentAlignment.BottomLeft + PanelElement1.Children.Add(ImageElement1) + PanelElement1.Children.Add(TextElement1) + PanelElement1.Margin = New System.Windows.Forms.Padding(10, 6, 10, 6) + Me.C1TileControl1.DefaultTemplate.Elements.Add(PanelElement1) + Me.C1TileControl1.Dock = System.Windows.Forms.DockStyle.Top + Me.C1TileControl1.Groups.Add(Me.grpAbsender) + Me.C1TileControl1.Groups.Add(Me.GrpAnspruchsgruppe) + Me.C1TileControl1.Groups.Add(Me.GrpThemenGruppe) + Me.C1TileControl1.Location = New System.Drawing.Point(0, 0) + Me.C1TileControl1.Name = "C1TileControl1" + Me.C1TileControl1.Padding = New System.Windows.Forms.Padding(0, 20, 0, 0) + Me.C1TileControl1.Size = New System.Drawing.Size(1210, 354) + Me.C1TileControl1.TabIndex = 0 + ' + 'ctxMenuGruppenansicht + ' + Me.ctxMenuGruppenansicht.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.AbsenderAnzeigenToolStripMenuItem, Me.AbsenderAusblendenToolStripMenuItem}) + Me.ctxMenuGruppenansicht.Name = "ctxMenuGruppenansicht" + Me.ctxMenuGruppenansicht.Size = New System.Drawing.Size(189, 48) + ' + 'AbsenderAnzeigenToolStripMenuItem + ' + Me.AbsenderAnzeigenToolStripMenuItem.Name = "AbsenderAnzeigenToolStripMenuItem" + Me.AbsenderAnzeigenToolStripMenuItem.Size = New System.Drawing.Size(188, 22) + Me.AbsenderAnzeigenToolStripMenuItem.Text = "&Absender anzeigen" + ' + 'AbsenderAusblendenToolStripMenuItem + ' + Me.AbsenderAusblendenToolStripMenuItem.Name = "AbsenderAusblendenToolStripMenuItem" + Me.AbsenderAusblendenToolStripMenuItem.Size = New System.Drawing.Size(188, 22) + Me.AbsenderAusblendenToolStripMenuItem.Text = "&Absender ausblenden" + ' + 'grpAbsender + ' + Me.grpAbsender.Name = "grpAbsender" + Me.grpAbsender.Text = "Absender" + Me.grpAbsender.Tiles.Add(Me.Tile1) + Me.grpAbsender.Tiles.Add(Me.Tile2) + Me.grpAbsender.Tiles.Add(Me.Tile3) + ' + 'Tile1 + ' + Me.Tile1.BackColor = System.Drawing.Color.LightCoral + Me.Tile1.Name = "Tile1" + Me.Tile1.Text = "Tile 1" + ' + 'Tile2 + ' + Me.Tile2.BackColor = System.Drawing.Color.Teal + Me.Tile2.Name = "Tile2" + Me.Tile2.Text = "Tile 2" + ' + 'Tile3 + ' + Me.Tile3.BackColor = System.Drawing.Color.SteelBlue + Me.Tile3.Name = "Tile3" + Me.Tile3.Text = "Tile 3" + ' + 'GrpAnspruchsgruppe + ' + Me.GrpAnspruchsgruppe.Name = "GrpAnspruchsgruppe" + Me.GrpAnspruchsgruppe.Text = "Anspruchsgruppe" + Me.GrpAnspruchsgruppe.Tiles.Add(Me.Tile4) + Me.GrpAnspruchsgruppe.Tiles.Add(Me.Tile5) + Me.GrpAnspruchsgruppe.Tiles.Add(Me.Tile6) + ' + 'Tile4 + ' + Me.Tile4.Name = "Tile4" + Me.Tile4.Text = "Tile 4" + ' + 'Tile5 + ' + Me.Tile5.Name = "Tile5" + Me.Tile5.Text = "Tile 5" + ' + 'Tile6 + ' + Me.Tile6.Name = "Tile6" + Me.Tile6.Text = "Tile 6" + ' + 'GrpThemenGruppe + ' + Me.GrpThemenGruppe.Name = "GrpThemenGruppe" + Me.GrpThemenGruppe.Text = "Themengruppe" + Me.GrpThemenGruppe.Tiles.Add(Me.Tile7) + Me.GrpThemenGruppe.Tiles.Add(Me.Tile8) + Me.GrpThemenGruppe.Tiles.Add(Me.Tile9) + Me.GrpThemenGruppe.Tiles.Add(Me.Tile10) + Me.GrpThemenGruppe.Tiles.Add(Me.Tile11) + Me.GrpThemenGruppe.Tiles.Add(Me.Tile12) + Me.GrpThemenGruppe.Tiles.Add(Me.Tile13) + Me.GrpThemenGruppe.Tiles.Add(Me.Tile14) + Me.GrpThemenGruppe.Tiles.Add(Me.Tile15) + Me.GrpThemenGruppe.Tiles.Add(Me.Tile16) + Me.GrpThemenGruppe.Tiles.Add(Me.Tile17) + Me.GrpThemenGruppe.Tiles.Add(Me.Tile18) + Me.GrpThemenGruppe.Tiles.Add(Me.Tile19) + Me.GrpThemenGruppe.Tiles.Add(Me.Tile20) + Me.GrpThemenGruppe.Tiles.Add(Me.Tile21) + Me.GrpThemenGruppe.Tiles.Add(Me.Tile22) + ' + 'Tile7 + ' + Me.Tile7.Name = "Tile7" + Me.Tile7.Text = "Tile 7" + ' + 'Tile8 + ' + Me.Tile8.Name = "Tile8" + Me.Tile8.Text = "Tile 8" + ' + 'Tile9 + ' + Me.Tile9.Name = "Tile9" + Me.Tile9.Text = "Tile 9" + ' + 'Tile10 + ' + Me.Tile10.Name = "Tile10" + Me.Tile10.Text = "Tile 10" + ' + 'Tile11 + ' + Me.Tile11.Name = "Tile11" + Me.Tile11.Text = "Tile 11" + ' + 'Tile12 + ' + Me.Tile12.Name = "Tile12" + Me.Tile12.Text = "Tile 12" + ' + 'Tile13 + ' + Me.Tile13.Name = "Tile13" + Me.Tile13.Text = "Tile 13" + ' + 'Tile14 + ' + Me.Tile14.Name = "Tile14" + Me.Tile14.Text = "Tile 14" + ' + 'Tile15 + ' + Me.Tile15.Name = "Tile15" + Me.Tile15.Text = "Tile 15" + ' + 'Tile16 + ' + Me.Tile16.Name = "Tile16" + Me.Tile16.Text = "Tile 16" + ' + 'Tile17 + ' + Me.Tile17.Name = "Tile17" + Me.Tile17.Text = "Tile 17" + ' + 'Tile18 + ' + Me.Tile18.Name = "Tile18" + Me.Tile18.Text = "Tile 18" + ' + 'Tile19 + ' + Me.Tile19.Name = "Tile19" + Me.Tile19.Text = "Tile 19" + ' + 'Tile20 + ' + Me.Tile20.Name = "Tile20" + Me.Tile20.Text = "Tile 20" + ' + 'Tile21 + ' + Me.Tile21.Name = "Tile21" + Me.Tile21.Text = "Tile 21" + ' + 'Tile22 + ' + Me.Tile22.Name = "Tile22" + Me.Tile22.Text = "Tile 22" + ' + 'Panel1 + ' + Me.Panel1.BackColor = System.Drawing.SystemColors.ControlLight + Me.Panel1.Controls.Add(Me.Panel2) + Me.Panel1.Controls.Add(Me.Label1) + Me.Panel1.Dock = System.Windows.Forms.DockStyle.Top + Me.Panel1.Location = New System.Drawing.Point(0, 354) + Me.Panel1.Name = "Panel1" + Me.Panel1.Size = New System.Drawing.Size(1210, 38) + Me.Panel1.TabIndex = 2 + ' + 'Panel2 + ' + Me.Panel2.Controls.Add(Me.cbboxShowGueltigkeit) + Me.Panel2.Controls.Add(Me.cbboxNurGueltige) + Me.Panel2.Controls.Add(Me.cbboxNurAktive) + Me.Panel2.Controls.Add(Me.btnSuche) + Me.Panel2.Controls.Add(Me.txtsuche) + Me.Panel2.Controls.Add(Me.lblSuche) + Me.Panel2.Location = New System.Drawing.Point(177, 0) + Me.Panel2.Name = "Panel2" + Me.Panel2.Size = New System.Drawing.Size(738, 38) + Me.Panel2.TabIndex = 1 + ' + 'cbboxShowGueltigkeit + ' + Me.cbboxShowGueltigkeit.AutoSize = True + Me.cbboxShowGueltigkeit.Location = New System.Drawing.Point(571, 13) + Me.cbboxShowGueltigkeit.Name = "cbboxShowGueltigkeit" + Me.cbboxShowGueltigkeit.Size = New System.Drawing.Size(132, 17) + Me.cbboxShowGueltigkeit.TabIndex = 8 + Me.cbboxShowGueltigkeit.Text = "Zus. Spalten anzeigen" + Me.cbboxShowGueltigkeit.UseVisualStyleBackColor = True + ' + 'cbboxNurGueltige + ' + Me.cbboxNurGueltige.AutoSize = True + Me.cbboxNurGueltige.Location = New System.Drawing.Point(486, 12) + Me.cbboxNurGueltige.Name = "cbboxNurGueltige" + Me.cbboxNurGueltige.Size = New System.Drawing.Size(79, 17) + Me.cbboxNurGueltige.TabIndex = 7 + Me.cbboxNurGueltige.Text = "Nur Gültige" + Me.cbboxNurGueltige.UseVisualStyleBackColor = True + ' + 'cbboxNurAktive + ' + Me.cbboxNurAktive.AutoSize = True + Me.cbboxNurAktive.Location = New System.Drawing.Point(404, 13) + Me.cbboxNurAktive.Name = "cbboxNurAktive" + Me.cbboxNurAktive.Size = New System.Drawing.Size(76, 17) + Me.cbboxNurAktive.TabIndex = 6 + Me.cbboxNurAktive.Text = "Nur Aktive" + Me.cbboxNurAktive.UseVisualStyleBackColor = True + ' + 'btnSuche + ' + Me.btnSuche.Image = CType(resources.GetObject("btnSuche.Image"), System.Drawing.Image) + Me.btnSuche.Location = New System.Drawing.Point(350, 10) + Me.btnSuche.Name = "btnSuche" + Me.btnSuche.Size = New System.Drawing.Size(30, 23) + Me.btnSuche.TabIndex = 5 + Me.btnSuche.UseVisualStyleBackColor = True + ' + 'txtsuche + ' + Me.txtsuche.Location = New System.Drawing.Point(72, 10) + Me.txtsuche.Name = "txtsuche" + Me.txtsuche.Size = New System.Drawing.Size(271, 20) + Me.txtsuche.TabIndex = 4 + ' + 'lblSuche + ' + Me.lblSuche.AutoSize = True + Me.lblSuche.Location = New System.Drawing.Point(13, 14) + Me.lblSuche.Name = "lblSuche" + Me.lblSuche.Size = New System.Drawing.Size(44, 13) + Me.lblSuche.TabIndex = 3 + Me.lblSuche.Text = "Suchen" + ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.Font = New System.Drawing.Font("Microsoft Sans Serif", 13.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label1.Location = New System.Drawing.Point(31, 8) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(105, 22) + Me.Label1.TabIndex = 0 + Me.Label1.Text = "Botschaften" + ' + 'SplitContainer1 + ' + Me.SplitContainer1.Dock = System.Windows.Forms.DockStyle.Fill + Me.SplitContainer1.Location = New System.Drawing.Point(0, 392) + Me.SplitContainer1.Name = "SplitContainer1" + ' + 'SplitContainer1.Panel1 + ' + Me.SplitContainer1.Panel1.Controls.Add(Me.C1TileControl2) + ' + 'SplitContainer1.Panel2 + ' + Me.SplitContainer1.Panel2.Controls.Add(Me.C1Truedbgrid1) + Me.SplitContainer1.Size = New System.Drawing.Size(1210, 357) + Me.SplitContainer1.SplitterDistance = 170 + Me.SplitContainer1.TabIndex = 3 + ' + 'C1TileControl2 + ' + Me.C1TileControl2.AllowChecking = True + Me.C1TileControl2.CellSpacing = 0 + Me.C1TileControl2.ContextMenuStrip = Me.ctxMenuReport + ' + ' + ' + PanelElement2.Alignment = System.Drawing.ContentAlignment.BottomLeft + PanelElement2.Children.Add(ImageElement2) + PanelElement2.Children.Add(TextElement2) + PanelElement2.Margin = New System.Windows.Forms.Padding(10, 6, 10, 6) + Me.C1TileControl2.DefaultTemplate.Elements.Add(PanelElement2) + Me.C1TileControl2.Dock = System.Windows.Forms.DockStyle.Fill + Me.C1TileControl2.GroupPadding = New System.Windows.Forms.Padding(20, 10, 20, 20) + Me.C1TileControl2.Groups.Add(Me.Group1) + Me.C1TileControl2.Location = New System.Drawing.Point(0, 0) + Me.C1TileControl2.Name = "C1TileControl2" + Me.C1TileControl2.Padding = New System.Windows.Forms.Padding(0, 10, 0, 0) + Me.C1TileControl2.Size = New System.Drawing.Size(170, 357) + Me.C1TileControl2.TabIndex = 0 + ' + 'ctxMenuReport + ' + Me.ctxMenuReport.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ReportBearbeitenToolStripMenuItem}) + Me.ctxMenuReport.Name = "ctxMenuReport" + Me.ctxMenuReport.Size = New System.Drawing.Size(169, 26) + ' + 'ReportBearbeitenToolStripMenuItem + ' + Me.ReportBearbeitenToolStripMenuItem.Name = "ReportBearbeitenToolStripMenuItem" + Me.ReportBearbeitenToolStripMenuItem.Size = New System.Drawing.Size(168, 22) + Me.ReportBearbeitenToolStripMenuItem.Text = "&Report bearbeiten" + ' + 'Group1 + ' + Me.Group1.Name = "Group1" + Me.Group1.Tiles.Add(Me.Tile23) + Me.Group1.Tiles.Add(Me.ExcelExport) + ' + 'Tile23 + ' + Me.Tile23.BackColor = System.Drawing.Color.DarkGray + Me.Tile23.Image = CType(resources.GetObject("Tile23.Image"), System.Drawing.Image) + Me.Tile23.Name = "Tile23" + Me.Tile23.Text = "PDF-Export" + ' + 'ExcelExport + ' + Me.ExcelExport.Image = CType(resources.GetObject("ExcelExport.Image"), System.Drawing.Image) + Me.ExcelExport.Name = "ExcelExport" + Me.ExcelExport.Text = "Excel-Export" + ' + 'C1Truedbgrid1 + ' + Me.C1Truedbgrid1.AlternatingRows = True + Me.C1Truedbgrid1.CaptionHeight = 17 + Me.C1Truedbgrid1.ContextMenuStrip = Me.ctxMenuEinträge + Me.C1Truedbgrid1.Dock = System.Windows.Forms.DockStyle.Fill + Me.C1Truedbgrid1.FetchRowStyles = True + Me.C1Truedbgrid1.FilterBar = True + Me.C1Truedbgrid1.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.C1Truedbgrid1.GroupByAreaVisible = False + Me.C1Truedbgrid1.GroupByCaption = "Drag a column header here to group by that column" + Me.C1Truedbgrid1.Images.Add(CType(resources.GetObject("C1Truedbgrid1.Images"), System.Drawing.Image)) + Me.C1Truedbgrid1.Location = New System.Drawing.Point(0, 0) + Me.C1Truedbgrid1.Name = "C1Truedbgrid1" + Me.C1Truedbgrid1.PreviewInfo.Location = New System.Drawing.Point(0, 0) + Me.C1Truedbgrid1.PreviewInfo.Size = New System.Drawing.Size(0, 0) + Me.C1Truedbgrid1.PreviewInfo.ZoomFactor = 75.0R + Me.C1Truedbgrid1.PrintInfo.PageSettings = CType(resources.GetObject("C1Truedbgrid1.PrintInfo.PageSettings"), System.Drawing.Printing.PageSettings) + Me.C1Truedbgrid1.RowHeight = 15 + Me.C1Truedbgrid1.Size = New System.Drawing.Size(1036, 357) + Me.C1Truedbgrid1.TabAction = C1.Win.C1TrueDBGrid.TabActionEnum.ColumnNavigation + Me.C1Truedbgrid1.TabIndex = 11 + Me.C1Truedbgrid1.Text = "C1TrueDBGrid1" + Me.C1Truedbgrid1.VisualStyle = C1.Win.C1TrueDBGrid.VisualStyle.Office2010Blue + Me.C1Truedbgrid1.PropBag = resources.GetString("C1Truedbgrid1.PropBag") + ' + 'ctxMenuEinträge + ' + Me.ctxMenuEinträge.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.EintragBearbeitenToolStripMenuItem, Me.NeuerEintragToolStripMenuItem}) + Me.ctxMenuEinträge.Name = "ContextMenuStrip2" + Me.ctxMenuEinträge.Size = New System.Drawing.Size(171, 48) + ' + 'EintragBearbeitenToolStripMenuItem + ' + Me.EintragBearbeitenToolStripMenuItem.Name = "EintragBearbeitenToolStripMenuItem" + Me.EintragBearbeitenToolStripMenuItem.Size = New System.Drawing.Size(170, 22) + Me.EintragBearbeitenToolStripMenuItem.Text = "Eintrag bearbeiten" + ' + 'NeuerEintragToolStripMenuItem + ' + Me.NeuerEintragToolStripMenuItem.Name = "NeuerEintragToolStripMenuItem" + Me.NeuerEintragToolStripMenuItem.Size = New System.Drawing.Size(170, 22) + Me.NeuerEintragToolStripMenuItem.Text = "&Neuer Eintrag" + ' + 'FrmKernbotschaft_Presentation + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(1210, 749) + Me.Controls.Add(Me.SplitContainer1) + Me.Controls.Add(Me.Panel1) + Me.Controls.Add(Me.C1TileControl1) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.Name = "FrmKernbotschaft_Presentation" + Me.Text = "Kernbotschaften" + Me.ctxMenuGruppenansicht.ResumeLayout(False) + Me.Panel1.ResumeLayout(False) + Me.Panel1.PerformLayout() + Me.Panel2.ResumeLayout(False) + Me.Panel2.PerformLayout() + Me.SplitContainer1.Panel1.ResumeLayout(False) + Me.SplitContainer1.Panel2.ResumeLayout(False) + CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).EndInit() + Me.SplitContainer1.ResumeLayout(False) + Me.ctxMenuReport.ResumeLayout(False) + CType(Me.C1Truedbgrid1, System.ComponentModel.ISupportInitialize).EndInit() + Me.ctxMenuEinträge.ResumeLayout(False) + Me.ResumeLayout(False) + + End Sub + Friend WithEvents C1TileControl1 As C1.Win.C1Tile.C1TileControl + Friend WithEvents grpAbsender As C1.Win.C1Tile.Group + Friend WithEvents Tile1 As C1.Win.C1Tile.Tile + Friend WithEvents Tile2 As C1.Win.C1Tile.Tile + Friend WithEvents Tile3 As C1.Win.C1Tile.Tile + Friend WithEvents GrpAnspruchsgruppe As C1.Win.C1Tile.Group + Friend WithEvents Tile4 As C1.Win.C1Tile.Tile + Friend WithEvents Tile5 As C1.Win.C1Tile.Tile + Friend WithEvents Tile6 As C1.Win.C1Tile.Tile + Friend WithEvents GrpThemenGruppe As C1.Win.C1Tile.Group + Friend WithEvents Tile7 As C1.Win.C1Tile.Tile + Friend WithEvents Tile8 As C1.Win.C1Tile.Tile + Friend WithEvents Tile9 As C1.Win.C1Tile.Tile + Friend WithEvents Tile10 As C1.Win.C1Tile.Tile + Friend WithEvents Tile11 As C1.Win.C1Tile.Tile + Friend WithEvents Tile12 As C1.Win.C1Tile.Tile + Friend WithEvents Tile13 As C1.Win.C1Tile.Tile + Friend WithEvents Tile14 As C1.Win.C1Tile.Tile + Friend WithEvents Tile15 As C1.Win.C1Tile.Tile + Friend WithEvents Tile16 As C1.Win.C1Tile.Tile + Friend WithEvents Tile17 As C1.Win.C1Tile.Tile + Friend WithEvents Tile18 As C1.Win.C1Tile.Tile + Friend WithEvents Tile19 As C1.Win.C1Tile.Tile + Friend WithEvents Tile20 As C1.Win.C1Tile.Tile + Friend WithEvents Tile21 As C1.Win.C1Tile.Tile + Friend WithEvents Tile22 As C1.Win.C1Tile.Tile + Friend WithEvents Panel1 As System.Windows.Forms.Panel + Friend WithEvents Label1 As System.Windows.Forms.Label + Friend WithEvents SplitContainer1 As System.Windows.Forms.SplitContainer + Friend WithEvents C1TileControl2 As C1.Win.C1Tile.C1TileControl + Friend WithEvents Group1 As C1.Win.C1Tile.Group + Friend WithEvents Tile23 As C1.Win.C1Tile.Tile + Friend WithEvents ExcelExport As C1.Win.C1Tile.Tile + Friend WithEvents C1Truedbgrid1 As C1.Win.C1TrueDBGrid.C1TrueDBGrid + Friend WithEvents ctxMenuEinträge As System.Windows.Forms.ContextMenuStrip + Friend WithEvents EintragBearbeitenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents Panel2 As System.Windows.Forms.Panel + Friend WithEvents txtsuche As System.Windows.Forms.TextBox + Friend WithEvents lblSuche As System.Windows.Forms.Label + Friend WithEvents btnSuche As System.Windows.Forms.Button + Friend WithEvents NeuerEintragToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ctxMenuReport As System.Windows.Forms.ContextMenuStrip + Friend WithEvents ReportBearbeitenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ctxMenuGruppenansicht As System.Windows.Forms.ContextMenuStrip + Friend WithEvents AbsenderAnzeigenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents AbsenderAusblendenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents cbboxNurGueltige As System.Windows.Forms.CheckBox + Friend WithEvents cbboxNurAktive As System.Windows.Forms.CheckBox + Friend WithEvents cbboxShowGueltigkeit As System.Windows.Forms.CheckBox + +End Class diff --git a/Themenmanagement/Kernbotschaften - Kopie/FrmKernbotschaft_Presentation.resx b/Themenmanagement/Kernbotschaften - Kopie/FrmKernbotschaft_Presentation.resx new file mode 100644 index 0000000..1e46009 --- /dev/null +++ b/Themenmanagement/Kernbotschaften - Kopie/FrmKernbotschaft_Presentation.resx @@ -0,0 +1,679 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 452, 17 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAPdJREFUOE9j + QAZNzS3/N27c+N/U0Oi/va3df6gwGOCTgwOKDQCBgIDA/4a6+v+TkpIdoEJwAJODclFBTEzMfw939/9q + Kir/xUVE/6soKf+HaXBwdPofGBT0Pysr+7+GqhpYDqoNAUAG5AAVWJiZ/VeSk8cwoLKq5v+CBQv+W1tY + 4jagoqz8v72N7X81oAJ0A9o7OoFhsOm/k509qgEgRcUlJf9JNUBCTPy/GtA7YAPWrl1LsgEqikoIAw4c + OECyAZpAzdQ3AD0aocHEADIAPRoxDOjv6/sf5OePkEADONVRxQBQNIaFhv431DdARA8awKlugF2g9h8A + +UR387TrIhkAAAAASUVORK5CYII= + + + + 317, 17 + + + + /9j/4AAQSkZJRgABAQEAYABgAAD/4QDERXhpZgAATU0AKgAAAAgAAwE7AAIAAAAOAAAAModpAAQAAAAB + AAAAQJydAAEAAAAcAAAAoAAAAABTdGVmYW4gSHV0dGVyAAAEkAMAAgAAABQAAAB2kAQAAgAAABQAAACK + kpEAAgAAAAM3NwAAkpIAAgAAAAM3NwAAAAAAADIwMTQ6MDI6MTkgMjA6NDg6MzcAMjAxNDowMjoxOSAy + MDo0ODozNwAAAFMAdABlAGYAYQBuACAASAB1AHQAdABlAHIAAAD/2wBDAAcFBQYFBAcGBQYIBwcIChEL + CgkJChUPEAwRGBUaGRgVGBcbHichGx0lHRcYIi4iJSgpKywrGiAvMy8qMicqKyr/2wBDAQcICAoJChQL + CxQqHBgcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKir/wAAR + CABcAF8DASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIE + AwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0 + NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm + p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEB + AQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdh + cRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpj + ZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK + 0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD1rxj8TbPwhrCafPYTXLtEJdyO + ABkkY5+lc/8A8L30/wD6A1z/AN/Vrkvjg+3x3EP+nNP/AEJq84833rknUmpNI+vwWW4Srh4TnHV+bPcJ + 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 + + + + 174, 17 + + + + iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAA0SURBVChTdYkBCgAgDAL9/6eLIsd0eSCKhw/r9aCLtC88 + vAdHMEIXKUIUhMK76EfagglgA6CqHOQpL6GyAAAAAElFTkSuQmCC + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0 + dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACRTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5QYWdlU2V0dGluZ3MHAAAAD3ByaW50ZXJTZXR0aW5ncwVjb2xvcglwYXBlclNp + emULcGFwZXJTb3VyY2URcHJpbnRlclJlc29sdXRpb24JbGFuZHNjYXBlB21hcmdpbnMEBAQEBAQEJ1N5 + c3RlbS5EcmF3aW5nLlByaW50aW5nLlByaW50ZXJTZXR0aW5ncwIAAAAgU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuVHJpU3RhdGUCAAAAIVN5c3RlbS5EcmF3aW5nLlByaW50aW5nLlBhcGVyU2l6ZQIAAAAjU3lz + dGVtLkRyYXdpbmcuUHJpbnRpbmcuUGFwZXJTb3VyY2UCAAAAKVN5c3RlbS5EcmF3aW5nLlByaW50aW5n + LlByaW50ZXJSZXNvbHV0aW9uAgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAf + U3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuTWFyZ2lucwIAAAACAAAACQMAAAAF/P///yBTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5UcmlTdGF0ZQEAAAAFdmFsdWUAAgIAAAAACgoKAfv////8////AAkGAAAABQMA + AAAnU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRlclNldHRpbmdzEgAAAAtwcmludGVyTmFtZQpk + cml2ZXJOYW1lCm91dHB1dFBvcnQLcHJpbnRUb0ZpbGUUcHJpbnREaWFsb2dEaXNwbGF5ZWQKZXh0cmFi + eXRlcwlleHRyYWluZm8GY29waWVzBmR1cGxleAdjb2xsYXRlE2RlZmF1bHRQYWdlU2V0dGluZ3MIZnJv + bVBhZ2UGdG9QYWdlB21heFBhZ2UHbWluUGFnZQpwcmludFJhbmdlDGRldm1vZGVieXRlcw1jYWNoZWRE + ZXZtb2RlAQEBAAAABwAEBAQAAAAABAAHAQEHAgceU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuRHVwbGV4 + AgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAkU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuUGFnZVNldHRpbmdzAgAAAAgICAgiU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRSYW5n + ZQIAAAAHAgIAAAAKBgcAAAAACQcAAAAAAAAACv//Bfj///8eU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcu + RHVwbGV4AQAAAAd2YWx1ZV9fAAgCAAAA/////wH3/////P///wAJCgAAAAAAAAAAAAAADycAAAAAAAAF + 9f///yJTeXN0ZW0uRHJhd2luZy5QcmludGluZy5QcmludFJhbmdlAQAAAAd2YWx1ZV9fAAgCAAAAAAAA + AAAACgUGAAAAH1N5c3RlbS5EcmF3aW5nLlByaW50aW5nLk1hcmdpbnMIAAAABGxlZnQFcmlnaHQDdG9w + BmJvdHRvbQpkb3VibGVMZWZ0C2RvdWJsZVJpZ2h0CWRvdWJsZVRvcAxkb3VibGVCb3R0b20AAAAAAAAA + AAgICAgGBgYGAgAAAGQAAABkAAAAZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZ + QAEKAAAAAQAAAAkDAAAAAfP////8////AAoKCgHy/////P///wAJDwAAAAEPAAAABgAAAGQAAABkAAAA + ZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAs= + + + + <?xml version="1.0"?><Blob><Styles type="C1.Win.C1TrueDBGrid.Design.ContextWrapper"><Data>HighlightRow{ForeColor:HighlightText;BackColor:Highlight;}Style8{}Style7{}Style2{}EvenRow{BackColor:White;}Normal{Font:Microsoft Sans Serif, 9.75pt;}RecordSelector{AlignImage:Center;}Style4{}OddRow{BackColor:224, 224, 224;}Style3{}Footer{}Style14{}FilterBar{BackColor:255, 255, 192;}Heading{AlignVert:Center;Border:Flat,ControlDark,0, 1, 0, 1;Wrap:True;BackColor:Control;ForeColor:ControlText;}Style5{}Editor{}Style10{AlignHorz:Near;}Style16{}Selected{ForeColor:HighlightText;BackColor:Highlight;}Style15{}Style13{}Style12{}Style11{}Group{BackColor:ControlDark;Border:None,,0, 0, 0, 0;AlignVert:Center;Font:Microsoft Sans Serif, 9.75pt, style=Bold;ForeColor:ActiveBorder;}Style9{}FilterWatermark{ForeColor:InfoText;BackColor:Info;}Style1{}Caption{AlignHorz:Center;}Style6{}Inactive{ForeColor:InactiveCaptionText;BackColor:InactiveCaption;}</Data></Styles><Splits><C1.Win.C1TrueDBGrid.MergeView Name="" AlternatingRowStyle="True" CaptionHeight="17" ColumnCaptionHeight="17" ColumnFooterHeight="17" FetchRowStyles="True" FilterBar="True" MarqueeStyle="DottedCellBorder" RecordSelectorWidth="17" DefRecSelWidth="17" VerticalScrollGroup="1" HorizontalScrollGroup="1"><CaptionStyle parent="Style2" me="Style10" /><EditorStyle parent="Editor" me="Style5" /><EvenRowStyle parent="EvenRow" me="Style8" /><FilterBarStyle parent="FilterBar" me="Style13" /><FilterWatermarkStyle parent="FilterWatermark" me="Style14" /><FooterStyle parent="Footer" me="Style3" /><GroupStyle parent="Group" me="Style12" /><HeadingStyle parent="Heading" me="Style2" /><HighLightRowStyle parent="HighlightRow" me="Style7" /><InactiveStyle parent="Inactive" me="Style4" /><OddRowStyle parent="OddRow" me="Style9" /><RecordSelectorStyle parent="RecordSelector" me="Style11" /><SelectedStyle parent="Selected" me="Style6" /><Style parent="Normal" me="Style1" /><ClientRect>0, 0, 1034, 355</ClientRect><BorderSide>0</BorderSide></C1.Win.C1TrueDBGrid.MergeView></Splits><NamedStyles><Style parent="" me="Normal" /><Style parent="Normal" me="Heading" /><Style parent="Heading" me="Footer" /><Style parent="Heading" me="Caption" /><Style parent="Heading" me="Inactive" /><Style parent="Normal" me="Selected" /><Style parent="Normal" me="Editor" /><Style parent="Normal" me="HighlightRow" /><Style parent="Normal" me="EvenRow" /><Style parent="Normal" me="OddRow" /><Style parent="Heading" me="RecordSelector" /><Style parent="Normal" me="FilterBar" /><Style parent="FilterBar" me="FilterWatermark" /><Style parent="Caption" me="Group" /></NamedStyles><vertSplits>1</vertSplits><horzSplits>1</horzSplits><Layout>None</Layout><DefaultRecSelWidth>17</DefaultRecSelWidth><ClientArea>0, 0, 1034, 355</ClientArea><PrintPageHeaderStyle parent="" me="Style15" /><PrintPageFooterStyle parent="" me="Style16" /></Blob> + + + + AAABAAgAICAQAAEABADoAgAAhgAAABAQEAABAAQAKAEAAG4DAAAwMAAAAQAIAKgOAACWBAAAICAAAAEA + CACoCAAAPhMAABAQAAABAAgAaAUAAOYbAAAwMAAAAQAgAKglAABOIQAAICAAAAEAIACoEAAA9kYAABAQ + AAABACAAaAQAAJ5XAAAoAAAAIAAAAEAAAAABAAQAAAAAAIACAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAA + gAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////APiH + eXV5dXl1eXV5dXl3mI+HERERERERERERERERERF/iRGREREZERGRkREZERGRGHEREXkZERGREREZEReR + ERdxkZiHERkRGRGREZGYhZGVkZeP+HmReRkRlxkXj/iRF3GV//+HGYcZEZiZeP//eRl5GX//+Hj5kRl/ + h4//95EXcZGX////95GRn////3WRl5GRkX////eRkY////eRkZdxkZmY///4GRmP//+FGRkZWZGReP// + +JkZj///iZkZWTWVmY////h5GY////h5GZeZkZOXiIj4mRmPiIiXmVkXcZlZWRkZl5WZeXkZWRmRmXmV + kZkZmVmRkZkZmRmVlZdxmZGVlZGVlZlZGVlZGZmZmZWVmZmZmZmRmZmZmZlZF3mZmZl5eIiVmYiIl5eZ + mZeZlZmP///4mZmP//+ImVlZeZlZmP//+JWZj///95mZmZmVmZj///iZmY///4mZWZd5mZmf///4lZmP + //+HmZmZmZmYj///+ZmZf////5mZl3mZmP/4j/eZmZ+I//+ImZmZl///h5iJmZl4eY//+JmXeZmP/4lZ + l5mZl5mZ//+ZmZmZePiZmZmZmZmZmY+JmZd5mZl5mZmZmZmZmZmXeZmZiZmZmZmZmZmZmZmZmZmZmIeZ + mZmZmZmZmZmZmZmZmZ//eZeZl5mXmZeZl5mXmXiPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAEAAAACAAAAABAAQAAAAAAMAA + AAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAAAAD/AAD/ + AAAA//8A/wAAAP8A/wD//wAA////AIdXl1eXU5eYeRkRERERURdxiJkZGRmIlVmPh3kYePiXcZj/gZj/ + +RmRmP+JeP95F1mYiImY+ImXeRlZeReVmRd5mZl5mZlZmZmYiImYiHmXeZj/+Zj/iZmZeP+JmP+JmZmP + iImXiP+ZmY95mZeX+Jl5mZmZmZmZmYmXmZeZl5l4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAwAAAAYAAAAAEACAAAAAAAgAoAAAAA + AAAAAAAAAAEAAAAAAAAZFZcAFxWZABkUmQAcFpkAGhOdABoVnQAcFp0AFxieABsanQAdGJ0AIR+fACsq + nwAaE6EAGhWhABwWoQAaFqUAHBalABgYoQAdGKEAGhilAB0ZpgAaFqgAHBaoABoWrQAdFq0AFxirABwY + qwAdFrIAHBmzAB4XvAAeGboAIRmgACAYpQAgGaoAIh6pACIerQAgF7QAIRqzACEXuAAgGbwAIiCgACEg + pgAnKaAAJSCsACkmqQAtKakAMi2vADUsrwA5NaYAOzmnAD06pgAyMKsAOjaoACUgswAoIrcAIiC/AC8q + uwAzLLMAMiu7ADg0swA7ObUANjK5ADg1uwA8OboAS0ixAE5JsQBIRrgAUky8AFZVuQBZV7sAHhrCAB4b + ygAeHNUAHhzdACEaxAAhGswAIBfTACIa0wAjG9sAJSLIACoiywAyK8MANC3KADgvzAA6NcIAPTnCADcx + yQA8NcwAPzrIACUh0wAqJNcAKSTZADAn1wA0KtAAMyraADw10gA9NdsAHxvkAB8Z6gAjG+MAKR3mACQb + 6wApHO0ALB3wACch4wAqIuIALiLoADYs4wA6LucANCvrADou6QA9NuAAPjjkAD027QA/OOkAQDrNAEE7 + 0wBBO9sAQjzjAEg+5ABCO+oAT0nGAE5HyABNRNIASULaAFNM0wBRSt4AYlvNAHFuxQBybMkAc3DBAHdy + wgB6e8QAd3PLAHt1yAB6ecgAe37LAH1+yQB8eM8AfX7OAGRg1gBmYtgAeW/WAHZ30gB+ddYAe3zRAHp2 + 3QB7eN4ATUTmAE5E6QBRRuQAU0vkAFBG6gBTSesAV1HjAFBH8QBnX+EAaWPkAGxi6wB1ae4AeG/vAHx3 + 5QB8eOQAfnbsAH557AB5b/IAfXLxAHx58ACAf8oAgXzQAIJ95wCCfOoAgnzyAH+AxgB8gMoAgYHKAIqN + 0wCMht4AkY3eAJeW3ACendsApKLbAKil3QCtqt0AhYHmAI+P5wCEge0AjIjtAJCL4ACRjuwAj5DmAJeV + 5ACYluQAnp3jAJaV7ACZmesAiYPwAKSf4QChnu0AoZzyAKWj4wCopOQArKvkAKSj6QCpq+8Asq/rALa2 + 4QCxseUAt7fkALe54AC6ueAAvbvjALW17AC6vOwApaLyAKqk8gC1tPMAubb1ALy68wDBvvAAxsjrAMzM + 7QDExPMAyMbyAMXI8wDLy/MA19jyANrb9ADb3PkA3+LxAOXi7gDo5u8A5OX0AOnq8gDp7PEA6er2AOrs + 9gDt7vUA5uj6AOrr+ADu8PQA8/L2APf69wD6+vYA9PP5APj2+QD3+PoA+fn5APz6+gD5/PkA/Pz6APr5 + /AD8+vwA+fz8AP7+/gAAAAAA+Pjw0YJAMTEwNDAwNDAwMDQ0NDEwMTQ0NDQwMDA0NDQwMDA0NDQ0MTQy + QYPS8Pr88+aEKgEGAwAAAwYGAwkDCQICAgIAAAICAgUGBgMCAgIGBgYDAgICAAADCQMLref78IcSEgQE + BQMGBgYGBgMGBgYGBQMGBgYGBgUFBgYEBgYFBQYFBQUGBgMFAwYOH6/tziwJBg0NERISEhIODgYOBhIS + EhISDg4SEg4GDg4OEg4GDg4ODg4JDgYPBg4JDi3TgA8SDg4ODAUHFg4SFhIQDg4ODg4ODg4SDg4QDhAO + Dg4SDhIWEg4UEQgQDg4OEhCGQhMTExQQHxUzRCghEBYQEBQQFBQQFBQQEBAgFBAUFBQQFBAUFihFLhQg + EBQUDxRDOxMVFCAWFC+25agjIBAWFBQWGiEaIRYUFBoVFBoUFhQSFSEgK6/mtS8WFhQaDxQ8OxgaFxQZ + L7f0+umKIxcaIRgaFBUaFBoaGhoaFBUaGhwbExQrqe369LYvGhQaGho8OxoYGhk9tvX4+vjpiykjGBoX + OT4YIRoaGhoUFzw5GSEhGiuL6vj6+PS1PRwaIRo/PhwYHCOF8P3z+f7664g1GBw5tY8bGBwaIxwhG5G1 + ORslNa7v+v758/3tgRkcGho/PhwcJRw4tvH9/f7+/uqRNT229LMcJSUcHBwlJbTxtjo1ker+/v79/fS1 + OiUjHBw/PhweJBwcOrb2/f7+/vjpsLf1+882JBwcHBwlNtD78bew6fr+/v799LU4HCUeJRxVPiUcJSUm + HFG29v7+/v789v38/dw4JR4lJRwcON36/vv2+v76/v70tVElJSYcHhxVVB4eHh4mHh46yPL9/f7+/v7+ + /uJVHh4eHh4eVeP+/v7+/v79/fS0URweJh4eHiZVVCcnJycnJx4eUcn0/f7+/v7+/uh6HiceJyceeev+ + /v7+/v769MVRJycnJycmJx1VVCcnJycnJycnJ1LP+/7+/v7+/vF/HScnJycnf/H+/v7+/v77ylInJ0Yn + JycnJydYWCcnSkonSicnJ1PP+/7+/v7+/vaOJ0onSidGkPv+/v7+/v77z1NGJ0o3Sic3SidYV0pKSkpK + SjdKVsr0/f7+/v7+/vyxRkpKSko3sv7+/v7+/v798clSRzdKSkpKN0pYV0pKSkpKSkpTyfT2+f7+/v7+ + /vzGSkpKSkpKyP7+/v7+/v79/fTJXUpKSkpKSkpzV0pKSkdKSkp7wNTh4+/09v3++vrUUEdKSktP1fr+ + /vn29Ovj3dTAe0pKSktKSkp0c0tKT0tPS0pKT09Se32Nk7LL1d3NUUtKS0tR1N3Vy7ySjH10Uk9PSk9L + Sk9KS0p0X0tLT0tLS0tLS0tZS0dLUEtQWVNfS0tLS0tLX11QWUtZS0dHS0tLS0tLS0tLS0t0dEtLS0tL + S0tLT0tLR0tLS0dLS0tLT0tLT0dZS0tLS0tLS0tHS0tZS0tLS0tLS0t0X0tLTUtLTUtNS01LS01LTUtN + S01LTUtNS01NS0tLS0tNS1lLTUtNS0tNS1lNTUt0YE1NTU1NTU1NTU1NTU1NTU1ZTU1NTU1NTU1NTU1N + WU1NTU1ZTU1NTU1NTU1NTU11YFlNTk1OTU1ZTU1NTU1ISE1NTU1NWU1NTU1ZTk1NTU1NTU1NTU1NTU1N + TU1NTU11YE1NTUhITU5NTE5OTU1NTUhOTUhZSE1OTU1IWU5OTk5NTUxNTk5MWU1NTk1OTU11YE5OTk5O + SFlNTU5OW2t3mpyhucvDXE5OTk5ew8u5oZyXdV5bWU5NTk5NTk5OTU11b05OTk5OTk5gnbjG2uHk7/T7 + /fraW0hOTk5b2/r89vTv5OHZxqqdYE1OTk5OTk51b05OTk5OTk582/X4+f7+/v7+/v7LaE5OTk5ozPz+ + /v7+/v79+PXbfE5OTk5OTk51cE5OaE5oTk5jlt/1/v7+/v7+/v69SU5OaE5Jwvz+/v7+/v769d+WY2hO + aGNOTk52cE5oTk5OY05jTpnh+P7+/v7+/vujSU5OY05Jq/n+/v7+/v7435ZpY05OY05OTk52cGNjY2hj + Y2ROTmnD+/7+/v7+/vSeSWNjY05onvT+/v7+/v71wmlOTmNJaGNjY2N2cGNjSWNOY05laavs+v7+/v7+ + /u6XYWNJY2hJmu/+/v7+/v7676RpY05jY2NJaE54cGNjY2NoY0lqquz4/P7+/v7+/uR3Y2hjY2NhlOT+ + /v7+/v74/O+qakloY2NjY054cGNjaGVjY2jE7/7+/vj5+/v+/OFrY2NjY2NjbuH+/vf7/f7+/v7rumhj + Y2VlY2N4cmhjZWFhaazt+v7+/vf02OH7/NlqY2hkY2Vjatr7/eHZ9Pn+/v7676xqYUlhZWN4cmNlYWNn + uu/z+v7++vTWbpng9cdjaGNlY2NoZcz23phu1/T+/v76+O+ramhlY2N4cmNkYWSf6/n4+P399MduaGWZ + 3sRlZWVoZWhlYbvemGRjbtb0+fr4+vnonmRlZWV4cmVlZWiX3v36+vj01m1iaGhllZtlYWhlZWVlaJmY + ZWhlYm7X9Pj9+vbelGhlZGN4eGRlZWVlmOD29vTWbWVoZWZoZWhlYmhlaGVlZWZoaGZlZWVu1/Ty+eCY + ZWVlZWV4cmVoZWVoZZnh8NZxZWZlZWVmZWVlZWVmZWZlZWVmZWVmZmVlcdb04JtlZmVlZWV4mWVmZWVl + ZWaZxG1iZmZlZWVlZWVlZWVlZWVlZWVlZWVlZWVmYnHEmWVmZWVlZmaZoGVlZWVlZWVlZWViZWVlZWVl + ZWVlZWVlZWVlZWVlZWVlZWVmYmVlZWVlZWVlZWWm2W1lZWVlZWdlZ2VnZWVmZWZlZmVmZWZlZmVmZWZl + ZmVmZWZlZWVlZmVlZWVlZW3a7adnZWZlZmVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZmVn + Z2ZmZ6z0+OinbWZlZWVmZWZlZmVmZWZlZmVmZWZlZmVmZWZlZmVmZWZlZmVmZWVlZWVtrOjz9/Pv2aWb + eHFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXF4m6Xa9Pf4AAAAAAAAcXEAAAAAAABxcQAA + AAAAAHFxAAAAAAAAcXEAAAAAAABxcQAAAAAAAHFxAAAAAAAAcXEAAAAAAABxcQAAAAAAAHFxAAAAAAAA + cXEAAAAAAABxcQAAAAAAAHFxAAAAAAAAcXEAAAAAAABxcQAAAAAAAHFxAAAAAAAAcXEAAAAAAABxcQAA + AAAAAHFxAAAAAAAAcXEAAAAAAABxcQAAAAAAAHFxAAAAAAAAcXEAAAAAAABxcQAAAAAAAHFxAAAAAAAA + cXEAAAAAAABxcQAAAAAAAHFxAAAAAAAAcXEAAAAAAABxcQAAAAAAAHFxAAAAAAAAcXEAAAAAAABxcQAA + AAAAAHFxAAAAAAAAcXEAAAAAAABxcQAAAAAAAHFxAAAAAAAAcXEAAAAAAABxcQAAAAAAAHFxAAAAAAAA + cXEAAAAAAABxcQAAAAAAAHFxAAAAAAAAcXEAAAAAAABxcQAAAAAAAHFxAAAAAAAAcXEAAAAAAABxcQAA + AAAAAHFxKAAAACAAAABAAAAAAQAIAAAAAACABAAAAAAAAAAAAAAAAQAAAAAAABsVmgAcFpsAGhWcABwX + ngAdGZ0AGhWgABwWoQAbFqUAHBakAB4YoQAdGKUAHBaoAB0WrAAaGKoAHBipABsZrwAcGK0AHRmxAB4Z + tQAfHLUAHhi6AB8avQAgGqgAIRytACAYtgAiHbYAIBm6ACAduQAgGb0AIRy+AC4nrgApKKoALyiuADk0 + pgA7Oa4APTuvACwosQAsKLQAMC6zADAttAA4NbEAODO2ADs3twA7OLMANDG6ADgzuQA5NbkAODa9ADs4 + ugA7OL4ATEavAEZEtgBIRbAAR0G9AEhDvABMRr8ATki5AFBLtABTT7UAU1G9AFVUvgBYVL0AIRrBACId + wQAkHsAAIRrGACEaygAhGs0AJB3MACIa0gAhGtUAIhzUACUd1gAiGtkAJBrZACIa3AAkGt4AIhzfACQc + 3gAmIsgAJyHNACojygArJMoALibLAC4ozgAwKMoAOjXCADw3wwA7NcUAPDjAAD04xwA8NsgAOTLMADw2 + zAA/OckAPznOACUg0wAnI9UAKSPUACUg3QAuJ9kAKCHdACol3QA3LtEAMijaADQs2wA4MNAAPDfSAD03 + 1wA/OtQAPjfaAD423QA/OtgAPzjdACMb4wAkG+sAKB7qACog5wAsIuoAPjbgADw05wA+OOQAPjbtAD84 + 6wBAOdMAQDrbAEA53gBDPNwAQDrlAEA36wBCO+kASETCAExHwgBPSsAASUPNAEtFzQBUVMAAXlnKAEVB + 0ABaVtUAYV3LAGpozgBta80Ad3XOAG1n0gBubNEAdG/cAHZy0gB4ddMAdnHdAE1E7QBPSO0AVU/gAFBE + 6wBSSuwAVlDhAFlT5gBaVeoAWVDxAGJZ5gBjWusAamXjAGxo5QBpYesAb2ruAHJr7gB8d+sAgH7LAIN+ + 5wCAfOoAhX/zAICAxwCEgscAh4PNAImG3ACMid4AkYvbAJ6a1wCfndcAlJDbAJ6Z2ACgnNkAqajeAIuI + 4ACNiuIAhYHpAIiF6gCWke8AmJXuAJ2a6wCcmOwAhoDxAIiC8gCalfIAo6HnAKmk5QCtquUAoaHrAKSh + 6QCxru4As7LqALSy6gC1tOoAsLDtAL696wC5uOwAravxALa08QC4tvMAv73yAMrH7QDKyOgAzs/pAMzJ + 7gDMze8A0NHoANXW7QDY1+0A1tjvANna6wDb3OsA2trtAMHC8gDLzPAA1dT0ANjW9QDX2PYA3d3wANnZ + 9gDk4/IA5eTzAOHg9gDl4/UA5eT1AOno9ADk4/gA6+n6AOzq+ADt7/kA7/D5APr69wDz9PoA9fX5APX0 + /AD49/sA9/j5APf4/AD6+fkA/Pr6APv8+gD8/PoA+fr8AP37/AD6/PwA/f39AAAAAAD326s0ISEhISEh + ISEhISEhISEhISEhISEhISEhMqzc+Ns5AwEBAQIDAgEBAQEBAQECAQIBAQEBAQIBAAEBBDrjpwkDBgUD + BgYGBgYGBgYGBgYGBgYGBgYGCAMDBgYDCa0zBwcHCB8iFgcICAcICAoICgcKCAgICAoKIx8KCgcKOCgL + DgogstQ7Fg4KDA4WDg4ODg4WDg4LFj3XsSALDgsrKQwNJLXy/NiIFgwPJxcODBYOFyYQERY83frysSUQ + DiouERGF4/D6/tqIFza2LBERDxEutjYRiNr+/vDjNw8PMC8REhOO5v7+/tqP1eqDEhIREoTq04/a/v7+ + 5o0ZExExLxMSGhuR6f7+/vb88YkUEhMTjPP+9v7+/emNGRgUEllWGhoaFRuR6f7+/v7+kxQaGhqU/v7+ + /v7pkD8aGhUaV1gcHBwVGkCv+/7+/v6wFT4VP7P+/v7+9q5AFT4cHRVaWz4+Pz8dh9X9/v7+/sNAPz5A + xP7+/v7+0oY/Pz4/P15fQUFBQV3K7vX+/v7+zU9BQVHM/v7+/vXvyFxBQUE+X11BQUFCUoqLlbjGzdbK + U0FCVcrfzcK3kouKUkJBQUFfa0NEREJCQ0RDQ1BQVGpEREREZ1RQUEJDREJCREJEQnxrQ0NEQ0VDREND + RENDREVDRENDRENEQ0NEQ0VDQ0NFbWxHRUdFR0VFR0VHRUVHR0VHRUdHRUVFRUVHRUVHRUVwbkdGSUdI + RkpGSUZIYGFHSUZHYkhISUZGSkVIRkpKRXBxSklJSEhpf5uiub3LxWRJSWnGx765oZt/aWFISkpJfXdL + TktKfsfo7/v+/v7eZU5LZt7+/v727+vHcU5OTkl+gE5OTk5joOT+/v7+/s5jTmNjx/7+/v7+5J9OTk5O + S355TU1yY3Jluvv+/v7+u01NcmO8/v7+/vu5ZUxNTnJNgIBNTXJOcpzh/v7+/v2mck1yTan+/v7+/uGc + ck1NTU2AeXJycmOd5P78/f3+86BycnJyo/P++/7+/uGdcnJzcoKAc3JzneL+/vnrweTsmnJycnOa7uTB + 6/7++uGdcnJygntycpfg+fz+66R2oNF6cnRydIDeoHal6/7++eCWdHOCe3NyeND2+eukdHVzlnZzdHN0 + doJ0c3Sl6/320Hhzc4J7dHNze9DrpXZzc3Rzc3NzdHNzdHN0c3al69B7dHNzgpdzc3N0e55zc3Nzc3Nz + c3Nzc3Nzc3Nzc3SeenNzc3Oav3Rzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc8DinnRzc3Nzc3Nz + c3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Se5PfiqpZ7enp6enp6enp6enp6enp6enp6enp6enqXwOT4AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAoAAAAEAAAACAAAAABAAgAAAAAAEABAAAAAAAAAAAAAAABAAAAAAAAHBaiAB0XqQAeGaoAHhmxAB8Z + uAAiHLkAIx2/ACUgpQAqJacAJiKtADgzpwA4NKcAODOoAC8ruAAwLLgANjKyADk1tAA5NroATkuyAE1K + twBQTLIAUU24ACEawAAjHcAAIhvGACEbzAAjHM0AJB7NACIb0wAkHdMAIhrUACMd1AAkHdQAIhvaACMc + 3wAoH98AKSPCACokwgAnIM0ALSbJADAqygA6NsAAOzbHAD03xwA/O8MAPTfMAD44zQApItQALifVAC4o + 0AAtKNUALibaACgg3wAsJt8ANC7RADAq2wAyK9wAPTfSAD440wA9N9gAPjbeAD442AA/ON0AIxziACQc + 5QAkHOoAJyDiAC4n4AApIOkAMyvnADMs5wAwKekAMinsADw25AA+OOEAPjjkADcw7AA+N+gAODDsAD43 + 7gA/OOoAQD3DAEA56gBGPusARD3sAHh1zgB5d9AAfHrQAH562QBVTe4AV1DuAHp15gCAfdoAko/TAJOQ + 0wCvrd4AsK/dALm43wCGg+AAh4TgAIaB6wCGge8AjIbwAKGe8QCsquQArq3kAKek7gCope4Arq3uALCu + 7wC2tuMAvLvgALq55QC3tesAt7bsALi27ACwrfMAs7DyALSy8gC5tvIAurjyAL+98gC6uPUAvbr1AL+9 + 9QDCwesAxMPrAMTC7ADHxO0Aw8H1AMXD9gDGxPYAyMf1AMzL8gD39/sA+Pj6APn5/AD+/v4A/91RAP/k + cQD/6pEA//CxAP/20QD///8AAAAAAC8UAABQIgAAcDAAAJA+AACwTQAAz1sAAPBpAAD/eREA/4oxAP+d + UQD/r3EA/8GRAP/SsQD/5dEA////AAAAAAAvAwAAUAQAAHAGAACQCQAAsAoAAM8MAADwDgAA/yASAP8+ + MQD/XFEA/3pxAP+XkQD/trEA/9TRAP///wAAAAAALwAOAFAAFwBwACEAkAArALAANgDPAEAA8ABJAP8R + WgD/MXAA/1GGAP9xnAD/kbIA/7HIAP/R3wD///8AAAAAAC8AIABQADYAcABMAJAAYgCwAHgAzwCOAPAA + pAD/EbMA/zG+AP9RxwD/cdEA/5HcAP+x5QD/0fAA////AAAAAAAsAC8ASwBQAGkAcACHAJAApQCwAMQA + zwDhAPAA8BH/APIx/wD0Uf8A9nH/APeR/wD5sf8A+9H/AP///wAAAAAAGwAvAC0AUAA/AHAAUgCQAGMA + sAB2AM8AiADwAJkR/wCmMf8AtFH/AMJx/wDPkf8A3LH/AOvR/wD///8AAAAAAAgALwAOAFAAFQBwABsA + kAAhALAAJgDPACwA8AA+Ef8AWDH/AHFR/wCMcf8AppH/AL+x/wDa0f8A////AGESDAwLDAwLDAwMDAsL + FG8TAAcIAAAAAAAAAAAIBwAVEAleXw8CCQICCQIQYF4JEBEOcIhuVlYDA1dWbodwDREpBFF+iIZoBQVp + hoh9LAQpKhYXXIiPfyQlgI+IWBcWKy4YKGNzhXMoKHOFc2InGC45GRkaJjE2Gxs2MSYaGRo6Ox4cICAv + Mh8gMC8gHB8ePTwhM1treW03OG18alszIT5KIjRkiI+DQ0OEj4hkNCJKSz9JeIiIdEJCdYiId0k/S01G + doeBZmVAQGVmgoh1RVJQR2d8VERHQUFFRFN8Z0dSWUFITEFBQUFBQUFBTkhBWnpZT09PT09PT09PT09P + WXsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAKAAAADAAAABgAAAAAQAgAAAAAACAJQAAAAAAAAAAAAAAAAAAAAAAAPv5+ML6+fne7O7z3q2v + 3N5fW7jeMS2m3h8cm94dGpneHRqZ3h0Zm94cGJveHBib3hwYm94cGZjeHBmY3hwZmd4dGZveHRmc3h0Z + nN4dGpveHRqZ3h0amd4dGZveHRmc3h0ZnN4dGJveHBib3hwYm94cGJveHRmc3h0ZnN4dGZzeHBib3hwY + m94cGJveHRib3h0ZnN4dGZzeHRmb3h0amd4dGpneIR2Z3jQvpt5jXrresK/c3u3w8977+/ne/Pv8wfv6 + +N/l4u7/envE/ycpoP8XFZn/Gxae/xoWmf8ZFZf/GRWX/xoVmf8cFpz/HBac/xwWm/8cF5r/HBea/xwX + mv8ZFJn/GRSZ/xkUmf8ZFZj/GRWX/xkVl/8ZFJn/GRSZ/xkUmf8aFZr/HBac/xwWnP8bFpv/GRSZ/xkU + mf8ZFJn/HBac/xwWnP8cFpz/GhWa/xkUmf8ZFJn/GRWY/xkVl/8ZFZf/HBaZ/x8Ynf8cFpn/Kyqf/3+A + xv/o5u//+vn63uzt9N96ecj/Hxah/xwVn/8aE53/GhSc/xsVnP8bFpz/Gxac/xwWnP8bFJ3/GxSd/xsV + nP8bFpv/Gxab/xsWm/8bFZ3/GxWd/xsVnf8bFpv/Gxab/xsWm/8bFZz/GxWd/xsVnf8bFZ3/GxWd/xsV + nf8bFZ3/GxWd/xsVnf8bFZ3/GxWd/xsVnf8bFZ3/GxWd/xsVnf8bFZ3/Gxac/xsWnP8bFpv/GxWc/xsW + m/8bFZz/HRaf/yEZoP+Af8r/7e323qys3d8pJqn/HRad/xsXnf8aFqD/GRag/xkWoP8dF6H/Hheh/x4Y + of8bFqD/GxWi/xsWn/8bFp//Gxaf/xsWn/8cF6D/HBeg/xwXoP8cF6D/HBeg/xwXoP8cF6D/HBeg/xwX + oP8bFqD/Gxaf/xsWn/8bFqD/HBeg/xwXoP8cF6D/Gxaf/xsWn/8bFp//Gxaf/xwVov8bFqD/HBie/xwU + oP8cF5//GhSi/xsWn/8cFp//HRid/xwUoP8tKan/tLLf3l1avd8aFaT/HRih/xsXov8cFqL/HBai/xoT + of8YFp3/Fxie/xsWpf8cFqP/Hhmi/x0Wpf8bFqP/HBai/xwWov8cFqL/HBai/xwWov8cFqL/HBai/xwW + ov8cFqL/HBai/xwWov8cFqL/HBai/xwWov8cFqL/HBai/xwWov8cFqL/HBai/xwWov8cFqP/HRem/xwY + of8bFaP/HBik/xgYof8bGp3/HBSk/xwWov8cFqL/Gxei/x0Xo/8dFqT/aGHA3i4srt8aGKX/Ghal/xsZ + pf8dF6X/HRel/x8Xo/8bFqn/MjCr/1ZVuf8hH5//IBmq/xwVpf8dFqX/HRel/x0Xpf8dF6X/HRel/x0X + pf8dF6X/HRel/x0Xpf8dF6X/HRel/x0Xpf8dF6X/HRel/x0Xpf8dF6X/HRel/x0Xpf8dF6X/HRel/x0X + pf8dFqX/Hheo/x0Wp/8iIKD/WVe7/zItr/8cGaf/IBik/x0Xpf8dF6X/Gxin/xoXpf8dF6b/OTKz3hwa + pd8aGKX/GhWn/xwZpv8fGab/HRWn/x4Yp/82La//p6fZ/9/i8f99fsn/Ih6t/x8Yp/8cF6X/HBap/xwX + pf8bGKb/HRSp/x4Wqf8eGKn/HRep/x0YqP8cFqn/HBen/xwXp/8cF6j/GxSp/xwYpv8eGKn/Hhao/x0V + qP8cGaX/HBij/xsUp/8dF6j/IRmm/yYhrf+Bgcr/4ePw/6Wj2v81LK//HBam/x0Vqf8eGKb/Gxeo/xoW + pv8bF6X/Ih+p3hwWqt8cF6r/HBeq/xsUqv8bG6T/GReo/zQssP+rqNz/9fX4//z7+//o6vL/fHjP/yMe + sP8aFar/HRmp/x4YrP8dFqz/Gxqp/xsaqf8ZFqb/HBat/x0bp/8cF6n/HBip/xwYqf8cGKn/Gxeo/xsX + qP8aF6f/Gxir/xsZrP8eFrH/Hhex/xsXp/8bGKb/JCCs/4F80P/r7fD//Pz5//Tz+P+ppd7/Myqx/xsY + q/8cG6b/Hhet/xwYqf8bF6j/IBus3h0WrN8dF63/HRet/xsYq/8XGKv/Ni61/6il3f/29vf//fj7//z7 + /P/++vv/6ery/3x+zf8hIKb/Hhqs/x0Wrv8eF6z/GRit/zIstv83Nbj/HRav/x0Zqv8dGaz/HRir/x0Y + q/8dGK3/HRun/xsVrP85ObX/Mi20/xkZqv8fGar/Hhmr/x0Yqv8iHqn/fn/P/+rr8//++/v//fz5//35 + +//19Pf/pqHb/zYuuP8aGq//HBis/x0Yq/8cGKr/IBuu3h0YsN8eGLD/HRiw/x0Zsf8dHLH/d3PL/+3t + 9P/6+vv/+Pzz//v8+P/+/fv//f38/+jp9/97fsv/JSGy/x4Yrf8cGK7/NC20/6Sh2v92d9L/Gxax/x4X + rv8eGbD/Hhmu/x4Zrv8eGLH/Hxms/x0WsP97fND/o6Db/zMrtP8cF7D/Hxix/yQgsf98gMr/6er3//z9 + /P/9/Pz/+/z4//n99P/6+/v/7O30/3Jsyf8ZF67/Gxiv/x0Zrv8dGK7/IRyy3hwasd8cGrH/HRqx/yAZ + sv8aGrH/MSq6/6Sk3f/09fb/+vn7//n8/P/+/v7//v7+//39/f/o7PL/e3zR/yMetf82MLv/qafd//T1 + 9/+Xltz/Gxm1/yAYsP8eGrL/HBqx/xwasf8dGrH/IBmx/yAbtf+em9v/9PX2/6el3P80Lbv/Ix61/319 + 0v/p7PL//f39//7+/v/+/v7/+fz7//r5+//z8/b/n5/c/zIovP8fHLP/Hxux/xwasf8bGbD/IB203hwZ + tN8dGbT/HRm0/x4WtP8bGrH/Ghiz/zEtu/+mo9z/9PT4//r9/f/+/v7//v7+//3+/f/9+/v/6enz/4qN + 0/+vrd//9PT1//r3+/+ysuT/JiC3/yAXtP8eGrX/HRm0/x0ZtP8cGrP/Hhmz/ygit/+3t+T/+/j7//Pz + 9P+tqt7/io3T/+np8//9+/v//f79//7+/v/+/v7/+v77//Tz9/+joNz/Lyy9/xwatP8fG7L/Hxm3/x0Z + tP8cGbP/IBy33h0atd8eGrb/Hhq1/x8ctP8gGLf/Ihm4/x0Ytv8yLMH/pKXe//X1+v/9/f3//P78//3+ + /P/+/Pz/+/v7//b3+v/5+vr//fr7//v8/f/GyOv/Lyi6/x8Xt/8eGrf/Hhq2/x4atv8cG7T/HBq0/zAr + u//KzOv/+/38//77/P/6+fv/9vf6//v8+//9/Pz//f78//z+/P/9/v3/8/T7/56f3P8xLb//HBu1/yEZ + tf8hF7j/HBq1/x4atv8dGbX/IR263h0ZuN8eGbj/Hhm4/x4ZuP8eGbj/Hhm4/yAYuv8cG7j/Mi2//6Sj + 4P/09fn/+fv7//r+/P/+//7////////////////////////////X2PL/PDXC/xsZt/8gGrj/Hhm4/x4Z + uP8gGbn/HBq3/z44wf/Z2vT////////////////////////////+//7/+fz6//r6+//z9fj/n53g/zEq + wv8aG7b/IBq4/x4ZuP8fGbj/Hhm3/x8auf8dGLf/IRy73h4Zut8fGbr/Hxm6/x8Zuv8fGbr/Hxm6/yEY + vf8dHLn/HBy8/zMvwP+npOP/9fL5//n8/P/+///////////////////////////////l5vT/TkfI/xwZ + uv8gGrr/Hxm6/x8Zuv8hGrz/HBm6/09Jxv/n5vX////////////////////////////+////+v37//Xy + 9/+kn+H/MyvC/x4Zvv8hHLr/Ixi+/x8Zuv8fGbr/Hxm6/yAau/8eGLn/Ihy93iAZvN8gGb3/IBm9/yAZ + vf8gGb3/IBm9/x4au/8eF7z/IBq6/x8avP81LMj/rq3l//n6+/////////////////////////////// + ///x8PX/YFnN/xwZvP8gGr3/IBm9/yAZvf8fGb3/HRq9/2Rezv/x8PX///////////////////////// + ////////+fn7/6qp4v80K8f/IBy9/x8Zu/8fGMD/Hxu9/yAZvf8gGb3/IBm9/yEavv8fGLz/IxzA3iAa + vt8gGr//IBq//yAav/8gGr//IBq//yAbv/8fGL7/IBm5/x8avv84L8z/sLHm//r5/P/+/v7//v7+//7+ + /v/+/v7//v7+//7+/v/49vr/eW/W/x0bvf8hGr//IBq//yAav/8gGL//Hh29/3511v/5+fr///////// + /////////v7+//7+/v/+/v7/+vn7/66u5P83Lsv/HxrA/yAZvP8hGcH/IBvA/yAav/8gGr//IBu//yAb + v/8gGr7/Ix/C3iEawt8hGsL/IRrC/yEawv8hGsL/IRrC/yMawv8iIL//HhvD/zcxyf+sqeb/9vL3//n8 + /P/+/v7//v7+//7+/v/+/v7//v7+//7+/v/7+fz/jIbe/x8cwf8iGsL/IRrC/yEawv8hGcP/IB7C/5GN + 3v/8/Pz//////////////////v7+//7+/v/9/v7/+f38//Xx9/+opOT/NC7I/x8cxv8gHr//JBrE/yEa + wv8hGsL/IRvC/yEbwP8gGsD/JB/E3iIaxd8iGsX/IhrF/yIaxf8iGsX/IhrF/yQZxf8gHMP/Ni7L/6el + 5f/09fr/+Pn6//n7+P/+/v3//v7+//7+/v/+/v7//v7+//7+/v/8+/z/np3n/yAcxv8kG8X/IhrF/yIa + xf8jGsX/Ih7H/6Oi5f/9/fz//////////////////v7+//7+/v/+/v3/+v76//n6/P/z9fn/pqTm/zUs + zP8gG8T/IxnF/yIaxf8iGsX/IhvF/yIbw/8hG8P/JR/G3iEaxd8hGsb/IRrG/yEaxv8hGsb/IRrG/yAa + xv8gGMb/TkXT/5iW5P+2tuz/y8vw/9vZ8v/q6/j/8fL7//f2+//6/Pv//P38//38+v/8/Pj/trbt/yIe + yv8gGsb/IRrG/yEaxv8gG8f/JCHI/7i66v/8/Pv//fz8//z9/P/6/fr/9vb7//Dx+v/p6vf/2trx/8rK + 8P+2tu3/l5Xk/01D0v8gGMf/IBrG/yEaxv8hGsb/IRvG/yEaxf8gGsX/JB3J3iEbyN8hG8j/IRvI/yEb + yP8hG8j/IRvI/yIbyv8hHMj/IRzE/yIex/8mI8j/Mi3K/0Q90v9VTtX/ZmLY/3t43v+Ri+H/pqTo/7q+ + 7P/Ozu7/sq/r/y8lyP8kGcn/IRvI/yEbyP8kGcr/MSnG/7Oy6v/MzO//ur3u/6ak6P+Qi+D/enbd/2Rg + 1v9SS9L/QzzS/zIty/8mI8j/Ih7H/yAcxP8hHMf/IhvK/yEbyP8hG8j/IRvI/yEbyP8hGsf/JB/L3iIb + y98iG8v/IhvL/yIby/8iG8v/IhvL/yIay/8hGcn/IBrL/yEZzP8jGs3/JBzN/yEby/8fG8r/IRrM/yMa + zf8hHcz/JB7N/yghzv81K9D/OzLP/yEdzv8iGcz/IhvL/yIby/8iGcv/Ih3O/zow0P8zKdD/KCLN/yQe + zf8hHM7/JBvO/yEazP8eG8r/IBrK/yMbzP8jGcz/IRnM/yAay/8hGcn/IhrL/yIby/8iG8v/IhvL/yIb + y/8iGsr/JR/O3iIbzN8iG8z/IhvM/yIbzP8iG8z/IhvM/yIczP8hGsz/IhnM/yQczP8iG8z/IBvK/yAb + yv8hGs3/IxzN/yMby/8hHMr/IRvL/yIay/8iG8v/JBvM/yIdzP8iG8r/IhvM/yIbzP8iG8r/IhzM/yMZ + zf8hGsv/IhvK/yEby/8hG8v/IhvL/yIbzP8gGcv/IBvK/yEcy/8iG83/JBzM/yIZzP8hGsz/IhzM/yIb + zP8iG8z/IhvN/yIazf8hGsz/JR/O3iEbzt8hG8//IRvP/yEbz/8hG8//IRvP/yEbz/8hG8//IRvP/yEb + z/8hG8//IRvP/yEbz/8hG8//IRvP/yEbz/8hG8//IRvP/yEbz/8hG8//IRvP/yEbz/8hG8//IRvP/yEb + z/8hG8//IRvP/yEbz/8hG8//IRvP/yEbz/8hG8//IRvP/yEbz/8hG8//IRvP/yEbz/8hG8//IRvP/yEb + z/8hG8//IRvP/yEbz/8hG8//IRvQ/yAa0P8gGs7/JB/P3iIb0t8iG9L/IhvS/yIb0v8iG9L/IhvS/yIb + 0v8iG9L/IhvS/yIb0v8iG9L/IhvS/yIb0v8iG9L/IhvS/yIb0v8iG9L/IhvS/yIb0v8iG9L/IhvS/yIb + 0v8iG9L/IhvS/yIb0v8iG9L/IhvS/yIb0v8iG9L/IhvS/yIb0v8iG9L/IhvS/yIb0v8iG9L/IhvS/yIb + 0v8iG9L/IhvS/yIb0v8iG9L/IhvS/yIb0v8iG9L/IhvT/yEa0/8hG9H/JCDT3iMb1N8jG9T/IxvU/yIb + 1f8iG9X/IhvV/yMb1f8jG9T/JBzV/yIb1P8hG9P/IRvS/yIb0v8hGtP/IRvU/yEc1P8hG9T/IRvS/yIc + 0f8hHNL/IxrW/yMd1P8jG9L/IhvV/yIb1f8jG9P/IxzU/yMa1f8iHNT/IhzS/yIb0/8hG9T/IRzU/yIc + 1P8iG9T/IxzT/yIb0/8hG9T/IhrU/yMb1P8iGtP/IxrU/yMa1f8jGtX/IxrV/yMa1P8iGtL/Jx/U3iMb + 1N8jG9X/IxvV/yEa1/8gGtf/IBrX/yEa1f8iGtX/IxvV/yAX0/8kGdj/Ixna/yEY2P8iGtb/IhrV/yEa + 1f8gGtb/IhrW/yQa1f8fHdX/Ix/S/x0c1f8jG9X/IBrX/yAa1/8jGtX/IBvV/yYg0P8iHNj/JRrY/yMa + 2P8hGtf/IRrU/yEZ0/8gF9P/IRjX/yQb2f8lG9f/IRjT/yQb1v8jG9X/IhrW/yMZ1/8jGdf/IxnX/yIa + 1P8hGtL/JR/U3iMb2N8jG9j/IxvY/yIb2P8hG9j/IRvY/yEb1v8jHNX/IRrU/yEZ1v8iGtn/JR7Y/yok + 2f81Ld3/RT3g/1VO4v9oYeH/fHjk/4+Q5v+ipej/l5fq/zAn1/8lGtn/IRvY/yEb2P8nGtv/NCjY/5ua + 6v+jouj/j4/n/3x35f9nX+H/UUre/0I63f8yK9v/KiTX/yQe1v8iGtf/IhrX/yMc1v8lHdf/IxzX/yMb + 2P8jG9j/IxvY/yIa1/8hGtX/JR/X3iQa298kGtv/JBrb/yMc2v8iHNr/Ihza/yMa2P8jG9f/PDXc/2lk + 5v+Fgeb/oZ/t/7q48f/MzfT/3N33/+nq+f/x8fz/9/f9//v9/f/9/Pn/u7vx/yUi1/8fG9j/Ihza/yIc + 2v8iG9v/KCTZ/7698P/9+/n/+/v9//b2/v/x8P3/6Or4/9vd9//MzvT/ubf0/6Gd7v+Df+f/aGLl/zoz + 2/8iGtb/IxrY/yQb2v8kG9r/JBva/yMZ2v8iGdf/Jx/a3iIa3N8jGtz/Ixrc/yIa3P8iGtz/Ihrc/yMa + 2v8jHNz/SkPb/8G+8P/29fj/+vn7//n7+f////7////////////////////////////9/Pz/pKbs/yQf + 3v8jGtv/Ihrc/yIa3P8kG93/Ix/e/6mr7//9+/z//////////////////v7+//7+/v/+/v7/+fr7//v6 + +v/29/j/vrzv/0hB2v8kHd3/JBvb/yMa3P8jGtz/Ixrc/yEZ2/8hGdj/JR/b3iQc3d8kHN7/JBze/yQc + 3v8kHN7/JBze/yUa3v8kHt3/Ixrg/1JH4//Hx/X/9/b6//38+/////////////////////////////// + ///7+/3/kY7s/yEd3v8iG9v/JBze/yQc3v8kHN3/IB3d/5aT7v/7+/z//////////////////v7+//7+ + /v/+/v7//f35//f3+//GxPb/UEXj/yMa4P8kHt3/JRre/yQc3v8kHN7/JBze/yIb3P8iG9r/JSDc3iQc + 3t8kHN//JBzf/yQc3/8kHN//JBzf/yQc4P8mHd7/JBjg/yUc3P9TR+b/yMjy//v5+f////////////// + ///////////////////4+fz/fnbs/x8c3/8iG9v/JBzf/yQc3/8jHd3/Hx3d/4N97P/4+fr///////// + /////////v7+//7+/v/+/v7/+/r5/8bE8/9SReT/Jx/d/yUa4f8lG93/Ixve/yQc3/8kHN//JBzf/yMb + 3v8jHNv/JyHe3iMc4d8jHOH/Ixzh/yMc4f8jHOH/Ixzh/yId4P8mGuL/Jhve/yIc3f8tI+D/mJns//n4 + +v/////////////////////////////////y8vn/aWHq/yAb4P8iG9//Ixzh/yMc4f8jGuD/Ixzf/2tn + 5//y9Pn///////////////////////////////7/+Pf5/5aV7P8tI+L/Ix3e/ycc3/8kGeD/IBvg/yMc + 4f8jHOH/Ixzh/yIb4P8iG9//JR/j3iIc4N8iHOD/Ihzg/yIc4P8iHOD/Ihzg/yUb4/8kG93/JBrm/yki + 4f+BfOz/6evz//39+//////////////////////////////////m6Pr/VU3l/yAa4P8kHeH/Ihzg/yIc + 4P8kHOH/IRvg/1dR4//q7Pv//////////////////////////////////Pv6/+nr+P9+eez/KSLg/yMb + 4f8kHNn/JRri/yIc4P8iHOD/Ihzg/yIc3/8iHN//JSDj3iMc4d8jHOH/Ixzh/yMc4f8jHOH/Ixzh/yEc + 4P8fHd//LiHp/4R96P/r6/b//Pr6//37/P///////v/+//////////////////7////Y2/r/RTzj/yEb + 4P8lHOL/Ixzh/yMc4f8iHOD/Hxvh/0g+5P/e3vn//////////////v////////////////7//vv7//z6 + /P/q6vb/gnzn/y0h6P8hH+D/Ix3j/yMc4f8jHOH/Ixzh/yIb4P8iG+D/JR/k3iQc498kHOT/JBzk/yMd + 5P8jG+f/Ixvh/yQc4/8oIuT/hYLt/+vr+f/+/P3//v39//79/P/7+/v/+fz5//r5/P/6+vv//vz8//z7 + /P/My/f/Nizj/yMa5f8kHeP/JBzk/yQc5P8jHOP/Ixrm/zov5//PzvX//fr9//79+//6+fr/+vj9//n9 + +v/8/P3//v38//79/v/+/P3/6un3/4OA7P8nIeP/JBzl/yMd5f8lHOj/JBvl/yMb5f8jG+P/JyDl3iQc + 5N8kHOX/JBzm/yMb6P8fG+L/Hxzn/yol5f+DfvD/6uz2//z8+v/+/v7//v7+//z9+//6+vj/9fD5/7Sz + 8f/LzPX/+Pn5//z5/P+6tvf/LCPj/yQb5v8kHeT/JBzl/yQc5f8jG+X/JRvm/y8l6P+9u/L//Pn6//j5 + +P/Ly/f/t7X1//by+f/6+/r//P38//7+/v/+/v7/+/v5/+nq+P+Be/L/KiPl/yEc5P8dHN7/Hxrn/yMa + 5/8jG+T/JyDm3iQc5N8kHOX/JBzl/yAc4v8jGub/LR/s/4SA7f/q6/f//fv3//77+//+/v7//v7+//z9 + /P/y9Pn/p6Dz/zot5/9TSOv/x8f1//j2+f+jnPT/JB3j/yUd5f8kG+X/JBzl/yQc5f8kG+X/JRzl/yUc + 6P+no/D/+Pf5/8LE9f9QRun/PC7p/6mk8v/z9Pr//f39//7+/v/+/v7//fv6//36+P/p6vj/gX3r/y0e + 6/8kHeX/IRzm/yMa5/8jG+T/JyDm3iQc5t8lHOf/JRzn/yMb5f8pHub/dWnu/+fn9f/6+vr//Pr5//36 + +v/7+vr/+v35//Ly/f+gnfH/OS/q/yUd5v8mHOn/VUnq/8XD8f+IgfH/Ihvm/yQd6f8lG+j/JRzn/yUc + 5/8mHOf/JB3m/yIb5f+MiO3/wsLy/1BF6f8mHej/Ixrm/zkw6f+jou//8/P9//n8+P/7+/r//fv5//z6 + +f/6+/n/5Obz/29k7P8pHef/Jhzp/yQb6f8kG+b/KCDp3iQc6N8lHOj/JRzo/yUb6f8jHOT/UUjn/8bF + 8v/3+Pr//fz7//v79//9+ff/8/L5/6Gi8/83Ler/Hxno/yYd4v8nHeT/JBvo/05E6P9RRu3/IRno/yEb + 5/8mHef/JRzo/yUc6P8lHOf/IRzo/yMb6P9TSev/TUPn/yQc6f8lHOT/JRrl/x8Y6v85L+n/p6bz//Tz + +P/7+vj/+/z5//38+//4+Pr/xMTx/05G5v8kHeX/Jx3r/yUb6f8kG+f/KCDq3iQc6N8lHOj/JRzo/yIb + 6P8iG+j/Ihnn/09F6P/FyPP/9/f6//j69v/08/n/p6Dz/zYt6v8iHOf/Ix3n/yUa6P8nG+r/JBzn/yUe + 5v8lHen/IRro/yEa5v8kHef/JRzo/yUc6P8kG+j/Ihrp/yMc6v8mH+j/JR/m/yUe6P8nG+r/Jhrr/yQc + 6f8iGuf/Oy/q/6uk8//09Pn/9/r3//j4+v/CxfH/TkTo/yMZ6P8iHOj/Ihro/yQb6f8kG+f/KCDq3iQe + 5t8jHOn/Jhzo/yMc6v8kG+z/Jh3p/yQe6v9SSO3/ycjy/+/w9v+ioPD/OTDt/yMb6/8nHOv/Jhrs/yQb + 6v8jGur/Jhrs/yUb6v8iGuv/JB3p/yMa6/8kHOr/JRzp/yUc6f8lHOv/JBvr/yMd6P8kHev/Jhzq/yYa + 6/8kG+v/Jh7q/yca6/8mGun/JBno/zwx6/+mpPL/8PH3/8jG8v9RR+3/Ix7q/ycd6v8kG+v/Ihvq/yQb + 6f8jG+j/KSLo3jgw698kHuv/Jxzr/yQd7P8kHOv/JBzr/yQc7P8mHO//U0no/4eE7v80LOn/Hxrs/yYd + 7P8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc + 6/8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc6/8kHOv/Jhrq/yEa6/85L+v/ioXw/1JH6f8lHe7/JR3r/yQc + 6/8kHOv/Ixzr/ycd7v8jHev/PjPt3mVb7d8kHOr/Jhvq/yQd6v8kHer/JB3q/yQc5/8jGuz/JB7n/yYd + 6v8hHO3/IRzr/yUb7f8kHev/JB3q/yQd6v8kHer/JB3q/yQd6v8kHer/JB3q/yQd6v8kHer/JB3q/yQd + 6v8kHer/JB3q/yQd6v8kHer/JB3q/yQd6v8kHer/JB3q/yQd6v8kHOv/JRvt/yAc6v8gHO3/JRzr/yQd + 5/8jHOr/JB3m/yQd6v8kHer/Ixzr/yQb7P8jG+n/bWDw3rGu9N8zK+3/JBvn/yIZ6v8kHOv/Ixvr/yQb + 7f8mHOz/JRzt/yUd7f8mHOv/JRvu/yMc6v8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc + 6/8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc6/8kHOv/Ih3r/yMb + 7v8jG+n/Ixzt/yUb7v8mHOv/JBzt/yQb7P8kHev/Ixrs/yQc6v80Kuz/ta/13uvt+t98efD/KRzu/yQb + 6P8oHe7/Jhrs/yYb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb + 7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb + 7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/Jxzv/yga7v8oHe3/Jx7q/ywd8P+CffP/7u773vr6 + 9t/j4/b/fHrx/zMq7/8mHe3/Ixzs/yMb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb + 7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb + 7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBzu/yEZ7P8jGen/Myvs/4J9 + 8//l5Pb/+/r23vv498P5+vbf6uz5366r9d9mW/HfNSzs3yUe6t8jG+zfIxvs3yMb7N8jG+zfIxvs3yMb + 7N8jG+zfIxvs3yMb7N8jG+zfIxvs3yMb7N8jG+zfIxvs3yMb7N8jG+zfIxvs3yMb7N8jG+zfIxvs3yMb + 7N8jG+zfIxvs3yMb7N8jG+zfIxvs3yMb7N8jG+zfIxvs3yMb7N8jG+zfIxvs3yMb7N8jG+zfJiDs3zgt + 8N9pXfHftLH23+3t+d/7+vbf/Pf4wgAAAAAAAFUKAAAAAAAAVQoAAAAAAABVCgAAAAAAAFUKAAAAAAAA + VQoAAAAAAABVCgAAAAAAAFUKAAAAAAAAVQoAAAAAAABVCgAAAAAAAFUKAAAAAAAAVQoAAAAAAABVCgAA + AAAAAFUKAAAAAAAAVQoAAAAAAABVCgAAAAAAAFUKAAAAAAAAVQoAAAAAAABVCgAAAAAAAFUKAAAAAAAA + VQoAAAAAAABVCgAAAAAAAFUKAAAAAAAAVQoAAAAAAABVCgAAAAAAAFUKAAAAAAAAVQoAAAAAAABVCgAA + AAAAAFUKAAAAAAAAVQoAAAAAAABVCgAAAAAAAFUKAAAAAAAAVQoAAAAAAABVCgAAAAAAAFUKAAAAAAAA + VQoAAAAAAABVCgAAAAAAAFUKAAAAAAAAVQoAAAAAAABVCgAAAAAAAFUKAAAAAAAAVQoAAAAAAABVCgAA + AAAAAFUKAAAAAAAAVQoAAAAAAABVCgAAAAAAAFUKAAAAAAAAVQoAAAAAAABVCigAAAAgAAAAQAAAAAEA + IAAAAAAAgBAAAAAAAAAAAAAAAAAAAAAAAAD7+PjC1NXp3m5uv94tKqXeHBmZ3hwYmN4cGJneHBab3hwW + m94cGJneHBiZ3hwWm94cFpveHBiY3hwYmN4cFpveHBab3hwWm94cFpveHBab3hwWm94cFpveHBab3hwW + m94cFpveHBaZ3hwYmN4fGpneMiuk3nJwv97W1+ne+/n7wdTU6t9QS7T/HBee/xsVnP8bFpv/GxWb/xsV + nP8bFZ3/GxWc/xsWm/8bFpv/GxWc/xsVnP8bFpr/Gxaa/xsVnP8bFZz/GxWc/xsVnP8bFZz/GxWc/xsV + nP8bFZz/GxWc/xoUnP8bFZv/GxWa/xsWm/8cFpv/HRmd/1NPtf/W1uzebmzE3x4YoP8bFp//Ghag/xoV + oP8bF5//HBai/xwWov8cFqH/Gxag/xsWoP8cFqH/HBah/xwXoP8cF6D/HBah/xwWof8bFqD/Gxag/xsW + oP8cFqH/Gxag/xsWoP8cFqH/HBai/xwXoP8bF57/GxWh/xsWoP8cF5//Hxii/3Zxxt4sKqzfGxek/xsX + pP8cFqX/HRaj/ykoqf87Oa7/Hxql/xwWpf8cFqT/HBak/xwWpf8dFqX/HBal/xwWpf8cFqX/HBal/xwW + pf8cF6X/HRal/xwWpP8cF6T/HBak/x0Wpv8eGaT/PTuv/yooq/8eGKT/HBal/xsXpf8cF6X/NC2v3hwZ + pt8bFqf/HRin/xwYpv8vKK7/n53X/87P6f9TUL3/Hhmp/xwXqP8cGKf/HBao/x0YqP8dF6n/HRio/xwX + qP8cGKj/HBap/xwYp/8dF6j/HRep/x0YqP8bFqf/IBqo/1hUvf/Q0ej/nprX/y4nrv8cF6j/HBio/xsX + p/8fG6jeHBas3x0XrP8aGKr/LCix/6Cc2f/29Pj//Pr7/9bV7f9TUr7/Hhqq/x0Wrf8cGaz/MC20/yEc + r/8dGar/HRir/x0Yq/8dGan/IR2s/zAus/8cGaz/Hhiu/x0Zqf9VVL7/2Nft//z8+f/19Pj/npnY/ywo + tP8cGK3/HBiq/x8ard4dGbDfHRmw/xwZsP9PSsD/3t7w//n69//8/Pr//f39/9XW7v9UVMH/Hxqw/0hD + vP+pqN//NDG6/x4YsP8dGbD/HRmv/x8Zr/84M7n/qqne/0dBvf8fGbH/VVTA/9bY7//9/f3//Pz6//r7 + +P/c3fD/TEa//xsZr/8cGa7/Hxuw3hwas98dGbP/HRiy/x8ctf9ta83/5eTz//v9/f/+/v7//Pz8/9bW + 7v93ds7/y8np/+fm9f9IRML/Hxiz/x0as/8cGrL/HRmz/0xHwv/p6PT/ysjo/3d1zv/W1+3//Pz8//7+ + /v/7/fz/5OPy/2pozf8iHbb/Hxq0/x0Zs/8fG7XeHRq13x4atv8fGrX/IBm3/yEcuf9ubND/5ub1//v9 + /P/9/vz//Pz8//b2+v/9+/z/8/T6/15Zyv8fGLf/Hhq2/x4atv8cGrb/YV3L//T1+v/9/P3/9vb6//z8 + /P/9/fz/+/38/+Tk9f9qac//IR64/yAYtv8eGbf/Hhm2/yAbt94eGbrfHxm6/x8Zuv8fGbr/Hxm7/yAf + u/9vbNL/5uT1//v9/f/////////////////6+v3/dnLS/x0Zuv8fGbr/IBm6/x4Zuv94ddP/+vv9//// + //////////////v9/P/l4/T/bWfS/yIdvv8hGrv/Hxm6/x8Zuv8fGbr/IBq73iAZvd8gGb7/IBm+/yAZ + vv8fGrz/Hxi7/yQewP+Mid7/+fj7//////////////////39/f+Ri9v/Hxq9/yAZvv8gGb7/IBu+/5SQ + 2//+/f3/////////////////+Pj7/4mG3P8kH8D/IBm9/x8av/8gGb7/IBq+/yAavf8hG7/eIRrB3yEa + wf8hGsH/IRrB/yIbwP8gHL//S0XN/8zJ7v/6/Pz//v7+//7+/v/+/v7//f39/6mk5f8jHsH/IhrB/yEa + wf8jHsL/rarl/////v///////v7+//7+/v/6/Pz/ysft/0lDzf8gHMH/IhvC/yEawf8hG8H/IRvA/yMc + wt4iGsXfIhrG/yIaxv8iGsb/IRrE/zozzP+1tOr/7e/4//b3+f/8/P3//f39//3+/f/+/fz/urrs/yYi + yP8iGsX/IhrG/ycjyP++vev//v39//7//v/9/f3//Pz9//f5+f/u7/n/s7Lq/zgxzP8hGcX/IhrG/yIb + xv8hG8P/IxzG3iEbxt8hG8f/IRvH/yEbx/8hG8j/KyTK/0ZB0P9bVtX/dnHd/42K4v+koej/ubjs/8zN + 7/+0sur/LibL/yIayP8iGsj/MCjK/7W06v/LzPD/ubjs/6Oh5/+LiOD/dG/c/1pW1f9FQdH/KiPK/yEb + yf8hG8f/IRvH/yEbx/8jHMneIhvL3yIby/8iG8v/IhvL/yIay/8hGsr/IhrM/yMbzP8gG8v/IhvM/yUe + zP8nIs3/LyjP/zgw0P8kHc3/IhvL/yIby/8kHcz/Ny7R/y4pzv8nIc3/JR3N/yIby/8gGsr/IhvM/yIa + y/8hGsr/IhrL/yIby/8iG8v/IhvL/yQczd4hG83fIRvO/yEbzv8hG87/IRvO/yEbzv8hG87/IRvO/yAb + zv8hG87/IRvO/yEbzv8hG87/IRvO/yEbzv8hG87/IRvO/yEbzv8hG87/IRvO/yEbzv8hG87/IRvO/yAb + zf8hG87/IRvO/yEbzv8hG87/IRvO/yEbz/8hGs//Ix3O3iIb0t8iG9L/IhvS/yIb0/8iG9L/IhvT/yIb + 0v8iG9L/IhvS/yIb0v8iG9L/IhvS/yIb0v8iG9P/IhvS/yIb0v8iG9L/IhvS/yIb0/8iG9L/IhvS/yIb + 0v8iG9L/IhvS/yIb0v8iG9L/IhvS/yIb0v8iG9P/IhvT/yIa0/8jHdPeIxvU3yMb1f8hGtb/IRrX/yIa + 1f8jG9X/IhnV/yIZ1/8hGdX/IRvV/yEb1f8jHNT/JSDT/ycj1f8iHdX/IRrW/yEa1v8jHNX/KSPU/yYf + 1v8kHNb/IRvV/yAZ1P8hGdX/IxvW/yIa1P8jG9X/IhrV/yMa1/8jGtf/IhrT/yMd094jGtnfJBrZ/yIb + 2f8iG9n/IxvX/ycf1v80LNv/Qzzd/1ZQ4f9saOX/hYHo/52a6/+wse3/oaHr/y4n2f8iG9n/IhvZ/zIo + 2v+kour/sLDu/5yY7P+Dfuf/amXj/1VP4P9DPNz/NCzb/ycf1/8kHNf/JBvZ/yQb2f8jGdf/JB3W3iMa + 3N8jGtz/Ixvc/yIb3P8jGtr/Pzjd/7Kv7v/i4fb/7/D5//j4/f/8/P7//v3+//7+/f+/v/H/KCPc/yIb + 2/8jG9z/KiXd/8HC8v/+/f3//v3///v7/f/3+Pz/7u/6/+Lh9/+wru7/Pjfb/yMb2/8jG9z/Ixvc/yIZ + 2v8kHNreJBzd3yQc3v8kHN7/JBze/yUc3v8lHd7/Y1rn/9rZ9//9/Pz//////////////////v7//6yq + 8f8kH97/JBzd/yQc3v8lIN3/r63y//7+/v///////v7+//7+/v/9/Pv/2tj3/2FY5v8mHd//JBvd/yQc + 3v8kHN7/Ihvc/yQd294jHODfIxzg/yMc4P8jHOD/JB3g/yUa3/8nH97/iIXq//j3+/////////////// + ///9/f7/lpHv/yIc3/8jHOD/JBzg/yQd3/+Ylu3//f39//////////////////j3+/+Ggev/KCDf/yYb + 4P8iG9//Ixzg/yMc4P8iG9//JB3f3iMc4N8jHOD/Ixzg/yMc4P8jG+D/JRvk/1pU5v/X1/T//fz8//// + //////////////r7/v98d+v/Ihvh/yMc4P8jHOD/Ihzg/4B86v/7/P7//////////////////fz8/9bV + 9v9ZU+b/JR3h/yMc3/8jHOD/Ixzg/yIb4P8kHeLeJBzj3yQc4/8jHOT/Ixvi/yMd4v9cV+n/2tj2//38 + /P/9/Pz/+/z7//n6/P/9/P3/9PT8/2Vd6v8jG+P/JBzj/yMc4/8iG+T/aWHr//b1/P/+/Pz/+vn8//z9 + /P/9/f3//fz8/9jW9f9aVej/JB7j/yMd5P8kG+X/Ixvj/yUf5N4kHOTfJBzl/yEc5P8jHOf/W1br/9jY + 9f/9/Pz//v7+//v8+v/l4vj/mJTv/9vb9//r6fr/UEjp/yQc5f8kHOX/JBzl/yQb5v9TS+r/7Or4/9ra + 9/+alfL/5uT4//v9/P/+/v7//Pz7/9fV9v9aVOv/JB3l/yAc5P8jGub/JR/l3iQc5d8kHOb/Ixzk/1BE + 6//V0/X/+/r5//37+//8/fv/4+P6/3Bp7v8rIef/ZFvt/7+78/8+Nur/JBzn/yUc5v8lHOb/JBzm/0A5 + 6P+/vfL/YFjr/yog5/9ybO3/5eX5//v8+//9+/r/+/r5/9LS8/9NQur/JRzn/yQb5/8lH+beJBzo3yUc + 6P8jG+f/PTXn/7e18f/4+Pr/+/r3/+Xj9/9vau7/JR7o/yYd5f8mHuf/Rz7p/ysh6v8jHOb/JRzo/yUc + 6P8jHOf/LSTq/0Y/6P8mHuf/Jhrn/yUe6f9zbu7/5uT3//r7+P/3+Pr/trPx/zw05/8kHOj/JRvp/ycf + 6d4kHejfJRzo/yMc6v8kG+r/Pzjr/7m38//g4PX/cWrv/ygf6/8mG+r/JBvq/yYb6v8kHOn/Ihvp/yMb + 6v8lHOn/JRzp/yMb6v8jHen/JR3q/yYb6v8lHOv/JRvq/yke6f90be//4OH2/7i18/8+N+v/JBzq/yIb + 6v8kG+n/JyDp3jYu698mHOv/JB3r/yQc6v8kHOz/QDjr/1lT6/8kHuz/JRzs/yQc6/8kHOv/JBzr/yQc + 6/8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc6v8kHOv/JBzr/yQc6/8kHOv/JRvr/yYe7P9bVe3/QDfr/yQc + 6/8kHOr/Ixzr/yUc7f85MOzedW7w3yYd6f8jG+r/JBzq/yQb6/8lHOz/JBzs/yQb7P8kHOz/JBzr/yQc + 6/8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc6/8jHOz/Ihvs/yIb + 7P8kHOz/JBzq/yQc6/8kHOv/JR3r/3hw8d7T1PbfVU3v/ycd7P8mG+3/JRvt/yQb7f8kG+3/JBvt/yQb + 7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb + 7f8kG+3/JBvt/yQb7f8mHO7/JRvu/yge6/9ZUPH/1tX23vn498PS0/XfdG3y3zUs7N8kHOvfJBvs3yQb + 7N8kG+zfJBvs3yQb7N8kG+zfJBvs3yQb7N8kG+zfJBvs3yQb7N8kG+zfJBvs3yQb7N8kG+zfJBvs3yQb + 7N8kG+zfJBvs3yQb7N8kG+zfJBvs3yQc7d81LO3feHHy39bV9t/7+PfCAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAEAAAACAA + AAABACAAAAAAAEAEAAAAAAAAAAAAAAAAAAAAAAAApKLWwjQxp94cFpveGxWc3hsWm94bFZveGxab3hsV + m94bFZzeGxWc3hsVnN4bFZzeGxWb3hwWm943Mqfep6bXwTQxrd8cFqL/JSCl/yolp/8cFqP/HBai/xwW + ov8cFqL/HBai/xwWov8cFqL/HBaj/yomp/8lIKX/HBei/zgzrt4cGKrfJiKs/5OQ0/+vrd7/NjKy/x8a + q/8mIq7/HRiq/x0Xqf8mIq3/Hxqr/zczsv+wr93/ko/T/yYirf8dGaneHBmx3zAsuP+7uuX/+Pn7/7a2 + 4/95ds7/eXfQ/x4Zsv8eGrH/fHrQ/3h1zv+3t+P/+Pn6/7q45f8vK7j/HRqy3h0ZuN8fGbj/QD3D/8TD + 6//6+vz/9/f7/6yq5P8iHLn/Ih25/66t5P/39/v/+vr8/8LB6/8/O8P/Hxm4/x8auN4gGsDfIRrA/yMd + v/+Afdr/+Pj8//7+/v/Ewuz/KSPC/yokwv/HxO3///////j4+/9+etn/Ix3A/yEawP8hGr/eIhvF3yIb + xv8uJ8n/h4Tg/7i27P/My/L/t7Xr/zAqyv8xK8r/uLfs/8zL8v+3tuz/hoPg/y0myf8iG8b/IhvG3iIb + zN8iG83/IRvM/yMczf8nIc7/LijQ/zQu0f8kHs3/JR7N/zQu0f8uKND/JyDN/yMczf8hG8z/IhvN/yIb + zd4iG9PfIhvU/yIb0/8iG9T/JB3U/ykj1P8tKNX/Ix3U/yQd1P8uJ9X/KSLV/yQd0/8iG9P/IhvT/yIa + 1P8iG9PeIxra3yIb2v8uJtr/e3bm/6il7v+/vvL/rq3u/zAq2/8yK9z/sK7v/7+98v+npO7/enXm/y4m + 2v8jG9r/IxvZ3iMc3t8jHN//KCDf/4eC6//5+fz//////8bE9v8sJt//Lifg/8jH9f//////+Pj8/4aB + 6/8oH9//Ixzf/yMc3d4jHOHfIxzi/z025P+6uPL/+vr8//r6/f+wrfP/JyDi/ycg4v+zsPP/+vr9//r6 + /f+5tvL/PDbk/yMc4v8jHOLeIxvl3zMs5/+0svL/+fj7/8PB9f+Nh/D/hYDv/yQc5f8lHOb/h4Lv/4yG + 8P/Fw/b/+fj7/7Ow8v8zK+f/JBzm3iQc6N8wKOn/op/y/7679P9EPez/KSDp/zEp6f8kHOj/JBzp/zIr + 6f8pIOn/Rj7r/7+99f+hnvH/MCjp/yUd6d48NevfJBzq/zIp7P83MOz/JBzr/yQc6/8kHOv/JBzr/yQc + 6/8kHOv/JBzr/yQc6/84MOz/MSnr/yQc6/8/N+zepqPzwz007d8kG+zfJBvs3yMb7N8jG+zfIxvs3yMb + 7N8jG+zfIxvs3yMb7N8jG+zfIxvs3yQb7N8+Ne3fqaX0wgAAJgAAACYAAAAmAAAAJgAAACYAAAAmAAAA + JgAAACYAAAAmAAAAJgAAACYAAAAmAAAAJgAAACYAAAAmAAAAJgA= + + + \ No newline at end of file diff --git a/Themenmanagement/Kernbotschaften - Kopie/FrmKernbotschaft_Presentation.vb b/Themenmanagement/Kernbotschaften - Kopie/FrmKernbotschaft_Presentation.vb new file mode 100644 index 0000000..00daeca --- /dev/null +++ b/Themenmanagement/Kernbotschaften - Kopie/FrmKernbotschaft_Presentation.vb @@ -0,0 +1,530 @@ +Imports System.IO +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient +Imports C1.Win.C1Tile + + +Public Class FrmKernbotschaft_Presentation + + Dim tblkb As New DataTable + Dim kbtblkb As New DB.clsKB + Dim tbltemp As New DataTable() + Dim tbltemp1 As New DataTable() + Dim Show_Absender As Boolean = False + Dim sec As New Utils.MySecurity + + + + Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load + + Me.Cursor = Cursors.WaitCursor + Application.DoEvents() + + Me.Cursor = Cursors.Default + + Load_Data() + End Sub + + + Sub Load_Data() + Dim tblabsender As New DataTable + Dim kbabssender As New db.clsKB_Absender + kbabssender.cpMainConnectionProvider = Globals.conn + tblabsender = kbabssender.SelectAll + + Dim tblansprchusgruppe As New DataTable + Dim kbanspruchsgruppe As New db.clsKB_Anspruchsgruppe + kbanspruchsgruppe.cpMainConnectionProvider = Globals.conn + tblansprchusgruppe = kbanspruchsgruppe.SelectAll + + Dim tblthemengruppe As New DataTable + Dim kbthemengruppe As New db.clsKB_Themengruppe + kbthemengruppe.cpMainConnectionProvider = Globals.conn + tblthemengruppe = kbthemengruppe.SelectAll + + Me.grpAbsender.Tiles.Clear() + For Each r As DataRow In tblabsender.Rows + If r("Aktiv") = True Then + Dim t As New C1.Win.C1Tile.Tile + t.Name = r.Item("Bezeichnung").ToString + t.Text = r.Item("Bezeichnung").ToString + t.Tag = r.Item("absendernr").ToString + t.BackColor = Color.CornflowerBlue + AddHandler t.Click, AddressOf Tile_ClickA + AddHandler t.CheckedChanged, AddressOf Tile_CheckedChangedA + Me.grpAbsender.Tiles.Add(t) + End If + + Next + + Me.GrpAnspruchsgruppe.Tiles.Clear() + For Each r As DataRow In tblansprchusgruppe.Rows + If r("Aktiv") = True Then + Dim t As New C1.Win.C1Tile.Tile + t.Name = r.Item("Bezeichnung").ToString + t.Text = r.Item("Bezeichnung").ToString + t.Tag = r.Item("anspruchgruppenr").ToString + t.BackColor = Color.Coral + AddHandler t.Click, AddressOf Tile_Clickb + AddHandler t.CheckedChanged, AddressOf Tile_CheckedChangedB + Me.GrpAnspruchsgruppe.Tiles.Add(t) + End If + Next + + Me.GrpThemenGruppe.Tiles.Clear() + For Each r As DataRow In tblthemengruppe.Rows + If r("Aktiv") = True Then + Dim t As New C1.Win.C1Tile.Tile + t.Name = r.Item("Bezeichnung").ToString + t.Text = r.Item("Bezeichnung").ToString + t.Tag = r.Item("Themengruppenr").ToString + t.BackColor = Color.Green + AddHandler t.Click, AddressOf Tile_ClickC + AddHandler t.CheckedChanged, AddressOf Tile_CheckedChangedC + Me.GrpThemenGruppe.Tiles.Add(t) + End If + Next + + + Me.C1Truedbgrid1.DataSource = Nothing + kbtblkb.cpMainConnectionProvider = Globals.conn + tblkb = kbtblkb.SelectAll + + If sec.Check_DataObjectReadonly("Show_Absender") Then + Me.Show_Absender = False + Else + Me.Show_Absender = True + End If + + If Show_Absender = True Then + Me.grpAbsender.Visible = True + Else + Me.grpAbsender.Visible = False + For Each t As C1.Win.C1Tile.Tile In Me.grpAbsender.Tiles + t.Checked = True + Next + End If + Me.cbboxNurAktive.Checked = True + Me.cbboxNurGueltige.Checked = True + Me.cbboxShowGueltigkeit.Checked = False + sec.Set_Form_Security(Me) + If Globals.clsmitarbeiter.iMitarbeiternr = -1 Then + Me.ctxMenuEinträge.Visible = False + Me.ctxMenuGruppenansicht.Visible = False + Me.ctxMenuReport.Visible = False + Me.Panel2.Visible = False + End If + End Sub + + Private Sub Tile_ClickA(ByVal sender As Object, ByVal e As EventArgs) + Dim t As Tile = CType(sender, C1.Win.C1Tile.Tile) + If t.Checked = True Then t.Checked = False Else t.Checked = True + Update_View() + + 'Dim t As Tile = CType(sender, C1.Win.C1Tile.Tile) + 't.Checked = True + 't.PerformClick() + + + 'For Each ctl As Control In Me.Controls + ' If ctl.Name = t.Name Then + ' Dim tt As C1.Win.C1Tile.Tile = CType(ctl, C1.Win.C1Tile.Tile) + ' + ' End If + ' Next + ' o.Checked = t + 'If t.Checked = True Then t.Checked = False Else t.Checked = True + 'Update_View() + End Sub + + Private Sub Tile_Clickb(ByVal sender As Object, ByVal e As EventArgs) + Dim t As Tile = CType(sender, C1.Win.C1Tile.Tile) + If t.Checked = True Then t.Checked = False Else t.Checked = True + Update_View() + + End Sub + + Private Sub Tile_ClickC(ByVal sender As Object, ByVal e As EventArgs) + Dim t As Tile = CType(sender, C1.Win.C1Tile.Tile) + If t.Checked = True Then t.Checked = False Else t.Checked = True + Update_View() + + End Sub + + Private Sub Tile_CheckedChangedA(ByVal sender As Object, ByVal e As EventArgs) + Dim t As Tile = CType(sender, C1.Win.C1Tile.Tile) + Update_View() + End Sub + + Private Sub Tile_CheckedChangedB(ByVal sender As Object, ByVal e As EventArgs) + Dim t As Tile = CType(sender, C1.Win.C1Tile.Tile) + Update_View() + End Sub + + Private Sub Tile_CheckedChangedC(ByVal sender As Object, ByVal e As EventArgs) + Dim t As Tile = CType(sender, C1.Win.C1Tile.Tile) + Update_View() + End Sub + + + Private Sub Update_View() + + + + If Me.txtsuche.Text <> "" Then suchen() + + Dim s As String + Dim s1 As String + Dim s2 As String + Dim s3 As String + Dim s4 As String + + + Me.C1Truedbgrid1.DataSource = Nothing + + For Each t As Tile In Me.grpAbsender.Tiles + If t.Checked = True Then + If s <> "" Then s = s + " or " + s = s + "absendernr=" + t.Tag.ToString + End If + Next + s = "(" + s + ")" + + For Each t As Tile In Me.GrpAnspruchsgruppe.Tiles + If t.Checked = True Then + If s1 <> "" Then s1 = s1 + " or " + s1 = s1 + "anspruchgruppenr=" + t.Tag.ToString + End If + Next + s1 = "(" + s1 + ")" + + For Each t As Tile In Me.GrpThemenGruppe.Tiles + If t.Checked = True Then + If s2 <> "" Then s2 = s2 + " or " + s2 = s2 + "Themengruppenr=" + t.Tag.ToString + End If + Next + s2 = "(" + s2 + ")" + s3 = "" + s4 = "" + If cbboxNurAktive.Checked = True Then s3 = " aktiv=1 " + If cbboxNurGueltige.Checked = True Then s4 = "gueltig_ab <='" + Now.ToShortDateString + "' and (gueltig_bis >= '" + Now.ToShortDateString + "' or gueltig_bis='1900-01-01')" + + If s3 <> "" Then s2 = s2 + " and (" + s3 + ")" + If s4 <> "" Then s2 = s2 + " and (" + s4 + ")" + Try + If Show_Absender = True Then + Dim dview As New DataView(tblkb, s + " and " + s1 + " and " + s2, "", DataViewRowState.CurrentRows) + tbltemp.Rows.Clear() + tbltemp1.Rows.Clear() + tbltemp = dview.Table.Clone + Dim drv As DataRowView + For Each drv In dview + tbltemp.ImportRow(drv.Row) + Next + Else + Dim dv As New DataView(tblkb, s + " and " + s1 + " and " + s2, "", DataViewRowState.CurrentRows) + Try + tbltemp.Rows.Clear() + tbltemp = dv.Table.Clone + tbltemp.Columns.Remove("Absendernr") + tbltemp.Columns.Remove("Absender") + For Each drv In dv + tbltemp.ImportRow(drv.Row) + Next + tbltemp = tbltemp.DefaultView.ToTable(True) + Catch ex As Exception + MsgBox(ex.Message) + End Try + + End If + + + + format_grid() + Catch ex As Exception + End Try + End Sub + Sub format_grid() + Try + + + Me.C1Truedbgrid1.FetchRowStyles = True + + + + Me.C1Truedbgrid1.DataSource = tbltemp + Me.C1Truedbgrid1.DataMember = tbltemp.TableName + For i As Integer = 0 To C1Truedbgrid1.Splits(0).Rows.Count - 1 + C1Truedbgrid1.Splits(0).Rows(i).AutoSize() + Next + + Me.C1Truedbgrid1.ColumnHeaders = True + + + + + If Show_Absender = True Then + Me.C1Truedbgrid1.Splits(0).DisplayColumns(0).Visible = False + Me.C1Truedbgrid1.Splits(0).DisplayColumns(2).Visible = False + Me.C1Truedbgrid1.Splits(0).DisplayColumns(4).Visible = False + Me.C1Truedbgrid1.Splits(0).DisplayColumns(6).Visible = False + Me.C1Truedbgrid1.GroupedColumns.Add(Me.C1Truedbgrid1.Columns("Absender")) + Me.C1Truedbgrid1.GroupedColumns.Add(Me.C1Truedbgrid1.Columns("Anspruchsgruppe")) + Me.C1Truedbgrid1.GroupedColumns.Add(Me.C1Truedbgrid1.Columns("Themengruppe")) + Me.C1Truedbgrid1.DataView = C1.Win.C1TrueDBGrid.DataViewEnum.GroupBy + Me.C1Truedbgrid1.ExpandGroupRow(-1, True) + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Artikel").Width = Me.C1Truedbgrid1.Width - 100 + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Artikel").FetchStyle = True + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Absender").FetchStyle = True + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Anspruchsgruppe").FetchStyle = True + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Themengruppe").FetchStyle = True + Else + Me.C1Truedbgrid1.Splits(0).DisplayColumns(0).Visible = False + Me.C1Truedbgrid1.Splits(0).DisplayColumns(2).Visible = False + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Artikelnr").Visible = False + Me.C1Truedbgrid1.GroupedColumns.Add(Me.C1Truedbgrid1.Columns("Anspruchsgruppe")) + Me.C1Truedbgrid1.GroupedColumns.Add(Me.C1Truedbgrid1.Columns("Themengruppe")) + Me.C1Truedbgrid1.DataView = C1.Win.C1TrueDBGrid.DataViewEnum.GroupBy + Me.C1Truedbgrid1.ExpandGroupRow(-1, True) + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Artikel").Width = Me.C1Truedbgrid1.Width - 100 + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Artikel").FetchStyle = True + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Anspruchsgruppe").FetchStyle = True + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Themengruppe").FetchStyle = True + + End If + + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Bezeichnung").Visible = False + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Beschreibung").Visible = False + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Suchbegriffe").Visible = False + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Gueltig_Ab").Visible = False + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Gueltig_Bis").Visible = False + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Aktiv").Visible = False + If Me.cbboxShowGueltigkeit.Checked Then + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Gueltig_Ab").Visible = True + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Gueltig_Bis").Visible = True + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Aktiv").Visible = True + For i As Integer = 0 To C1Truedbgrid1.Splits(0).Rows.Count - 1 + C1Truedbgrid1.Splits(0).Rows(i).AutoSize() + Next + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Artikel").Width = Me.C1Truedbgrid1.Width - 100 - Me.C1Truedbgrid1.Splits(0).DisplayColumns("Gueltig_ab").Width - Me.C1Truedbgrid1.Splits(0).DisplayColumns("Gueltig_bis").Width - Me.C1Truedbgrid1.Splits(0).DisplayColumns("Aktiv").Width + End If + + For i As Integer = 0 To C1Truedbgrid1.Splits(0).Rows.Count - 1 + C1Truedbgrid1.Splits(0).Rows(i).AutoSize() + Next + 'For i As Integer = 0 To C1Truedbgrid1.Splits(0).DisplayColumns.Count - 1 + ' C1Truedbgrid1.Splits(0).DisplayColumns(i).AutoSize() + 'Next + + Catch ex As Exception + 'MsgBox(ex.Message) + Finally + C1Truedbgrid1.ResumeLayout(True) + End Try + + End Sub + + Private Sub C1TrueDBGrid1_FetchGroupCellStyle(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.FetchCellStyleEventArgs) Handles C1Truedbgrid1.FetchGroupCellStyle + + Dim FNT As Font = e.CellStyle.Font + e.CellStyle.Font = New Font(FNT, FontStyle.Bold) + e.CellStyle.ForeColor = Color.Blue + + + End Sub + + Private Sub C1Drehbuch_FetchRowStyle(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.FetchRowStyleEventArgs) Handles C1Truedbgrid1.FetchRowStyle + Try + 'If Me.C1Truedbgrid1.Columns("aktiv").CellValue(e.Row) = False Then + ' Dim FNT As Font = e.CellStyle.Font + ' e.CellStyle.Font = New Font(FNT, FontStyle.Strikeout) + ' e.CellStyle.ForeColor = Color.Gray + 'End If + Catch + End Try + End Sub + + + Private Sub Tile1_Click(sender As Object, e As EventArgs) Handles Tile1.Click + Tile1.Checked = True + End Sub + + Private Sub ExcelExport_Click(sender As Object, e As EventArgs) Handles ExcelExport.Click + Me.C1Truedbgrid1.BeginInit() + Me.C1Truedbgrid1.DataView = C1.Win.C1TrueDBGrid.DataViewEnum.Normal + Me.C1Truedbgrid1.ExportTo("h:\tssettings\test.xlsx") + If Me.Show_Absender = True Then + Me.C1Truedbgrid1.GroupedColumns.Add(Me.C1Truedbgrid1.Columns("Absender")) + Me.C1Truedbgrid1.GroupedColumns.Add(Me.C1Truedbgrid1.Columns("Anspruchsgruppe")) + Me.C1Truedbgrid1.GroupedColumns.Add(Me.C1Truedbgrid1.Columns("Themengruppe")) + Else + Me.C1Truedbgrid1.GroupedColumns.Add(Me.C1Truedbgrid1.Columns("Anspruchsgruppe")) + Me.C1Truedbgrid1.GroupedColumns.Add(Me.C1Truedbgrid1.Columns("Themengruppe")) + End If + Me.C1Truedbgrid1.DataView = C1.Win.C1TrueDBGrid.DataViewEnum.GroupBy + Me.C1Truedbgrid1.ExpandGroupRow(-1, True) + Me.C1Truedbgrid1.EndInit() + Process.Start("h:\tssettings\test.xlsx") + 'Me.C1Truedbgrid1.ExportTo("h:\tssettings\test.pdf") + 'Process.Start("h:\tssettings\test.pdf") + End Sub + + Private Sub Tile23_Click(sender As Object, e As EventArgs) Handles Tile23.Click + Show_Report(False) + End Sub + + Sub Show_Report(ByVal design As Boolean) + If Show_Absender = True Then + Dim rpt As New _FRReporting._FRReporting + rpt.ConnectionString = Globals.sConnectionString + rpt.Mitarbeiternr = Globals.clsmitarbeiter.iMitarbeiternr.Value + rpt.TempFilePath = Globals.clsapplication.sTmp_filepath.Value + Dim ds As New DataSet + ds.Tables.Clear() + ds.Tables.Add(tbltemp.Copy) + rpt.Print_Report_With_Data(5, "", "", Me.ParentForm, ds, design, True) + Else + Dim rpt As New _FRReporting._FRReporting + rpt.ConnectionString = Globals.sConnectionString + rpt.Mitarbeiternr = Globals.clsmitarbeiter.iMitarbeiternr.Value + rpt.TempFilePath = Globals.clsapplication.sTmp_filepath.Value + Dim ds As New DataSet + ds.Tables.Clear() + ds.Tables.Add(tbltemp.Copy) + rpt.Print_Report_With_Data(6, "", "", Me.ParentForm, ds, design, True) + End If + End Sub + + Private Sub EintragBearbeitenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles EintragBearbeitenToolStripMenuItem.Click + Dim f As New frmKernbotschaft(Me.C1Truedbgrid1.Columns("Artikelnr").Value) + 'f.MdiParent = Me.MdiParent + f.ShowDialog() + kbtblkb.cpMainConnectionProvider = Globals.conn + tblkb = kbtblkb.SelectAll + Update_View() + + End Sub + + Private Sub btnSuche_Click(sender As Object, e As EventArgs) Handles btnSuche.Click + suchen() + End Sub + Sub suchen() + + Dim dview As New DataView(tblkb, "artikel like '%" + Me.txtsuche.Text + "%'", "", DataViewRowState.CurrentRows) + tbltemp.Rows.Clear() + tbltemp1.Rows.Clear() + tbltemp = dview.Table.Clone + Dim drv As DataRowView + For Each drv In dview + tbltemp.ImportRow(drv.Row) + Next + + Me.C1Truedbgrid1.FetchRowStyles = True + + + Me.C1Truedbgrid1.DataSource = Nothing + + format_grid() + Exit Sub + + Me.C1Truedbgrid1.DataSource = tbltemp + Me.C1Truedbgrid1.DataMember = tbltemp.TableName + For i As Integer = 0 To C1Truedbgrid1.Splits(0).Rows.Count - 1 + C1Truedbgrid1.Splits(0).Rows(i).AutoSize() + Next + + Me.C1Truedbgrid1.ColumnHeaders = True + + If Show_Absender = True Then + Me.C1Truedbgrid1.Splits(0).DisplayColumns(0).Visible = False + Me.C1Truedbgrid1.Splits(0).DisplayColumns(2).Visible = False + Me.C1Truedbgrid1.Splits(0).DisplayColumns(4).Visible = False + Me.C1Truedbgrid1.Splits(0).DisplayColumns(6).Visible = False + Me.C1Truedbgrid1.GroupedColumns.Add(Me.C1Truedbgrid1.Columns("Absender")) + Me.C1Truedbgrid1.GroupedColumns.Add(Me.C1Truedbgrid1.Columns("Anspruchsgruppe")) + Me.C1Truedbgrid1.GroupedColumns.Add(Me.C1Truedbgrid1.Columns("Themengruppe")) + Me.C1Truedbgrid1.DataView = C1.Win.C1TrueDBGrid.DataViewEnum.GroupBy + Me.C1Truedbgrid1.ExpandGroupRow(-1, True) + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Artikel").Width = Me.C1Truedbgrid1.Width - 100 + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Artikel").FetchStyle = True + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Absender").FetchStyle = True + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Anspruchsgruppe").FetchStyle = True + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Themengruppe").FetchStyle = True + Else + Me.C1Truedbgrid1.Splits(0).DisplayColumns(0).Visible = False + Me.C1Truedbgrid1.Splits(0).DisplayColumns(2).Visible = False + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Artikelnr").Visible = False + Me.C1Truedbgrid1.GroupedColumns.Add(Me.C1Truedbgrid1.Columns("Anspruchsgruppe")) + Me.C1Truedbgrid1.GroupedColumns.Add(Me.C1Truedbgrid1.Columns("Themengruppe")) + Me.C1Truedbgrid1.DataView = C1.Win.C1TrueDBGrid.DataViewEnum.GroupBy + Me.C1Truedbgrid1.ExpandGroupRow(-1, True) + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Artikel").Width = Me.C1Truedbgrid1.Width - 100 + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Artikel").FetchStyle = True + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Anspruchsgruppe").FetchStyle = True + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Themengruppe").FetchStyle = True + + End If + For i As Integer = 0 To C1Truedbgrid1.Splits(0).Rows.Count - 1 + C1Truedbgrid1.Splits(0).Rows(i).AutoSize() + Next + + + End Sub + + Private Sub AbsenderAnzeigenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles AbsenderAnzeigenToolStripMenuItem.Click + Me.Show_Absender = True + Me.grpAbsender.Visible = True + Me.Update_View() + End Sub + + Private Sub AbsenderAusblendenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles AbsenderAusblendenToolStripMenuItem.Click + Me.Show_Absender = False + Me.grpAbsender.Visible = False + For Each t As C1.Win.C1Tile.Tile In Me.grpAbsender.Tiles + t.Checked = True + Next + Me.Update_View() + End Sub + + Private Sub ReportBearbeitenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ReportBearbeitenToolStripMenuItem.Click + Show_Report(True) + End Sub + + Private Sub C1Truedbgrid1_MouseDown(sender As Object, e As MouseEventArgs) Handles C1Truedbgrid1.MouseDown + 'Me.C1Truedbgrid1.Bookmark = Me.C1Truedbgrid1.RowContaining(e.Y) + End Sub + + Private Sub NeuerEintragToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles NeuerEintragToolStripMenuItem.Click + Dim f As New frmKernbotschaft(0, True) + 'f.MdiParent = Me.MdiParent + f.ShowDialog() + kbtblkb.cpMainConnectionProvider = Globals.conn + tblkb = kbtblkb.SelectAll + Update_View() + + + End Sub + + Private Sub cbboxNurAktive_CheckedChanged(sender As Object, e As EventArgs) Handles cbboxNurAktive.CheckedChanged + Update_View() + End Sub + + Private Sub cbboxNurGueltige_CheckedChanged(sender As Object, e As EventArgs) Handles cbboxNurGueltige.CheckedChanged + Update_View() + End Sub + + Private Sub cbboxShowGueltigkeit_CheckedChanged(sender As Object, e As EventArgs) Handles cbboxShowGueltigkeit.CheckedChanged + Update_View() + End Sub + + Private Sub txtsuche_KeyDown(sender As Object, e As KeyEventArgs) Handles txtsuche.KeyDown + If e.KeyCode = Keys.Enter Then suchen() + End Sub + + Private Sub txtsuche_TextChanged(sender As Object, e As EventArgs) Handles txtsuche.TextChanged + + End Sub + +End Class diff --git a/Themenmanagement/Kernbotschaften - Kopie/frmKernbotschaft.Designer.vb b/Themenmanagement/Kernbotschaften - Kopie/frmKernbotschaft.Designer.vb new file mode 100644 index 0000000..66af853 --- /dev/null +++ b/Themenmanagement/Kernbotschaften - Kopie/frmKernbotschaft.Designer.vb @@ -0,0 +1,606 @@ + _ +Partial Class frmKernbotschaft + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmKernbotschaft)) + Me.MenuStrip1 = New System.Windows.Forms.MenuStrip() + Me.DateiToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.KommunikationToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.NeuerEintragToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.EintragLöschenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStrip1 = New System.Windows.Forms.ToolStrip() + Me.TSBtnQuit = New System.Windows.Forms.ToolStripButton() + Me.TSBtnSave = New System.Windows.Forms.ToolStripButton() + Me.ToolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator() + Me.TSBtnCopy = New System.Windows.Forms.ToolStripButton() + Me.TSBtnNew = New System.Windows.Forms.ToolStripButton() + Me.TSBtnDelete = New System.Windows.Forms.ToolStripButton() + Me.TabControl1 = New System.Windows.Forms.TabControl() + Me.TabPage1 = New System.Windows.Forms.TabPage() + Me.SplitContainer1 = New System.Windows.Forms.SplitContainer() + Me.GroupBox3 = New System.Windows.Forms.GroupBox() + Me.clbThemengruppe = New System.Windows.Forms.CheckedListBox() + Me.GroupBox2 = New System.Windows.Forms.GroupBox() + Me.clbAnspruchsgruppe = New System.Windows.Forms.CheckedListBox() + Me.GroupBox1 = New System.Windows.Forms.GroupBox() + Me.clbAbsender = New System.Windows.Forms.CheckedListBox() + Me.GroupBox4 = New System.Windows.Forms.GroupBox() + Me.txtArtikel = New System.Windows.Forms.TextBox() + Me.ShurtfEditor1 = New RTFEditor.SHURTFEditor() + Me.Allgemein = New System.Windows.Forms.GroupBox() + Me.txtGueltigbis = New System.Windows.Forms.MaskedTextBox() + Me.txtGueltigab = New System.Windows.Forms.MaskedTextBox() + Me.txtMutierer = New System.Windows.Forms.TextBox() + Me.dtGueltigBis = New System.Windows.Forms.DateTimePicker() + Me.Label5 = New System.Windows.Forms.Label() + Me.Label7 = New System.Windows.Forms.Label() + Me.dtGueltigAb = New System.Windows.Forms.DateTimePicker() + Me.Label8 = New System.Windows.Forms.Label() + Me.cbAktiv = New System.Windows.Forms.CheckBox() + Me.Label6 = New System.Windows.Forms.Label() + Me.txtErstellt_am = New System.Windows.Forms.TextBox() + Me.Label11 = New System.Windows.Forms.Label() + Me.Label9 = New System.Windows.Forms.Label() + Me.txtMutiert_am = New System.Windows.Forms.TextBox() + Me.txtBeschreibung = New System.Windows.Forms.TextBox() + Me.txtSuchbegriffe = New System.Windows.Forms.TextBox() + Me.Label2 = New System.Windows.Forms.Label() + Me.Label3 = New System.Windows.Forms.Label() + Me.txtTitel = New System.Windows.Forms.TextBox() + Me.Label1 = New System.Windows.Forms.Label() + Me.MenuStrip1.SuspendLayout() + Me.ToolStrip1.SuspendLayout() + Me.TabControl1.SuspendLayout() + Me.TabPage1.SuspendLayout() + CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SplitContainer1.Panel1.SuspendLayout() + Me.SplitContainer1.Panel2.SuspendLayout() + Me.SplitContainer1.SuspendLayout() + Me.GroupBox3.SuspendLayout() + Me.GroupBox2.SuspendLayout() + Me.GroupBox1.SuspendLayout() + Me.GroupBox4.SuspendLayout() + Me.Allgemein.SuspendLayout() + Me.SuspendLayout() + ' + 'MenuStrip1 + ' + Me.MenuStrip1.AllowMerge = False + Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DateiToolStripMenuItem, Me.KommunikationToolStripMenuItem}) + Me.MenuStrip1.Location = New System.Drawing.Point(0, 0) + Me.MenuStrip1.Name = "MenuStrip1" + Me.MenuStrip1.Size = New System.Drawing.Size(873, 24) + Me.MenuStrip1.TabIndex = 7 + Me.MenuStrip1.Text = "MenuStrip1" + ' + 'DateiToolStripMenuItem + ' + Me.DateiToolStripMenuItem.Name = "DateiToolStripMenuItem" + Me.DateiToolStripMenuItem.Size = New System.Drawing.Size(46, 20) + Me.DateiToolStripMenuItem.Text = "&Datei" + ' + 'KommunikationToolStripMenuItem + ' + Me.KommunikationToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.NeuerEintragToolStripMenuItem, Me.EintragLöschenToolStripMenuItem}) + Me.KommunikationToolStripMenuItem.Name = "KommunikationToolStripMenuItem" + Me.KommunikationToolStripMenuItem.Size = New System.Drawing.Size(105, 20) + Me.KommunikationToolStripMenuItem.Text = "&Kommunikation" + Me.KommunikationToolStripMenuItem.Visible = False + ' + 'NeuerEintragToolStripMenuItem + ' + Me.NeuerEintragToolStripMenuItem.Name = "NeuerEintragToolStripMenuItem" + Me.NeuerEintragToolStripMenuItem.Size = New System.Drawing.Size(155, 22) + Me.NeuerEintragToolStripMenuItem.Text = "&Neuer Eintrag" + ' + 'EintragLöschenToolStripMenuItem + ' + Me.EintragLöschenToolStripMenuItem.Name = "EintragLöschenToolStripMenuItem" + Me.EintragLöschenToolStripMenuItem.Size = New System.Drawing.Size(155, 22) + Me.EintragLöschenToolStripMenuItem.Text = "&Eintrag löschen" + ' + 'ToolStrip1 + ' + Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.TSBtnQuit, Me.TSBtnSave, Me.ToolStripSeparator1, Me.TSBtnNew, Me.TSBtnCopy, Me.TSBtnDelete}) + Me.ToolStrip1.Location = New System.Drawing.Point(0, 24) + Me.ToolStrip1.Name = "ToolStrip1" + Me.ToolStrip1.Size = New System.Drawing.Size(873, 25) + Me.ToolStrip1.TabIndex = 8 + Me.ToolStrip1.Text = "ToolStrip1" + ' + 'TSBtnQuit + ' + Me.TSBtnQuit.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnQuit.Image = CType(resources.GetObject("TSBtnQuit.Image"), System.Drawing.Image) + Me.TSBtnQuit.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnQuit.Name = "TSBtnQuit" + Me.TSBtnQuit.Size = New System.Drawing.Size(23, 22) + Me.TSBtnQuit.Text = "ToolStripButton1" + Me.TSBtnQuit.ToolTipText = "Anwendung beenden" + ' + 'TSBtnSave + ' + Me.TSBtnSave.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnSave.Image = CType(resources.GetObject("TSBtnSave.Image"), System.Drawing.Image) + Me.TSBtnSave.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnSave.Name = "TSBtnSave" + Me.TSBtnSave.Size = New System.Drawing.Size(23, 22) + Me.TSBtnSave.Text = "ToolStripButton1" + Me.TSBtnSave.ToolTipText = "Daten speichern" + ' + 'ToolStripSeparator1 + ' + Me.ToolStripSeparator1.Name = "ToolStripSeparator1" + Me.ToolStripSeparator1.Size = New System.Drawing.Size(6, 25) + ' + 'TSBtnCopy + ' + Me.TSBtnCopy.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnCopy.Image = CType(resources.GetObject("TSBtnCopy.Image"), System.Drawing.Image) + Me.TSBtnCopy.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnCopy.Name = "TSBtnCopy" + Me.TSBtnCopy.Size = New System.Drawing.Size(23, 22) + Me.TSBtnCopy.Text = "ToolStripButton2" + Me.TSBtnCopy.ToolTipText = "Datensatz kopieren" + Me.TSBtnCopy.Visible = False + ' + 'TSBtnNew + ' + Me.TSBtnNew.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnNew.Image = CType(resources.GetObject("TSBtnNew.Image"), System.Drawing.Image) + Me.TSBtnNew.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnNew.Name = "TSBtnNew" + Me.TSBtnNew.Size = New System.Drawing.Size(23, 22) + Me.TSBtnNew.Text = "Neues Thema" + Me.TSBtnNew.ToolTipText = "Neuer Datensatz" + Me.TSBtnNew.Visible = False + ' + 'TSBtnDelete + ' + Me.TSBtnDelete.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnDelete.Image = CType(resources.GetObject("TSBtnDelete.Image"), System.Drawing.Image) + Me.TSBtnDelete.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnDelete.Name = "TSBtnDelete" + Me.TSBtnDelete.Size = New System.Drawing.Size(23, 22) + Me.TSBtnDelete.Text = "Thema inaktivieren" + Me.TSBtnDelete.ToolTipText = "Datensatz inaktivieren" + Me.TSBtnDelete.Visible = False + ' + 'TabControl1 + ' + Me.TabControl1.Controls.Add(Me.TabPage1) + Me.TabControl1.Dock = System.Windows.Forms.DockStyle.Fill + Me.TabControl1.Location = New System.Drawing.Point(0, 49) + Me.TabControl1.Name = "TabControl1" + Me.TabControl1.SelectedIndex = 0 + Me.TabControl1.Size = New System.Drawing.Size(873, 502) + Me.TabControl1.TabIndex = 9 + ' + 'TabPage1 + ' + Me.TabPage1.BackColor = System.Drawing.SystemColors.Control + Me.TabPage1.Controls.Add(Me.SplitContainer1) + Me.TabPage1.Location = New System.Drawing.Point(4, 22) + Me.TabPage1.Name = "TabPage1" + Me.TabPage1.Padding = New System.Windows.Forms.Padding(3) + Me.TabPage1.Size = New System.Drawing.Size(865, 476) + Me.TabPage1.TabIndex = 0 + Me.TabPage1.Text = "Kernbotschaft" + ' + 'SplitContainer1 + ' + Me.SplitContainer1.Dock = System.Windows.Forms.DockStyle.Fill + Me.SplitContainer1.Location = New System.Drawing.Point(3, 3) + Me.SplitContainer1.Name = "SplitContainer1" + ' + 'SplitContainer1.Panel1 + ' + Me.SplitContainer1.Panel1.Controls.Add(Me.GroupBox3) + Me.SplitContainer1.Panel1.Controls.Add(Me.GroupBox2) + Me.SplitContainer1.Panel1.Controls.Add(Me.GroupBox1) + ' + 'SplitContainer1.Panel2 + ' + Me.SplitContainer1.Panel2.Controls.Add(Me.GroupBox4) + Me.SplitContainer1.Panel2.Controls.Add(Me.Allgemein) + Me.SplitContainer1.Size = New System.Drawing.Size(859, 470) + Me.SplitContainer1.SplitterDistance = 286 + Me.SplitContainer1.TabIndex = 0 + ' + 'GroupBox3 + ' + Me.GroupBox3.Controls.Add(Me.clbThemengruppe) + Me.GroupBox3.Dock = System.Windows.Forms.DockStyle.Fill + Me.GroupBox3.Location = New System.Drawing.Point(0, 264) + Me.GroupBox3.Name = "GroupBox3" + Me.GroupBox3.Size = New System.Drawing.Size(286, 206) + Me.GroupBox3.TabIndex = 13 + Me.GroupBox3.TabStop = False + Me.GroupBox3.Text = "Themengruppen" + ' + 'clbThemengruppe + ' + Me.clbThemengruppe.Dock = System.Windows.Forms.DockStyle.Fill + Me.clbThemengruppe.FormattingEnabled = True + Me.clbThemengruppe.Items.AddRange(New Object() {"Unsere Bank allgemein / Zahlen, Fakten", "Wirtschaftsthemen", "Gesellschaftliches Engagement, Sponsoring", "Geweinnbeteilugung Kanton / Steuern", "Staatsgarantie / politische Aufsicht", "Produkte / Dienstleistungen", "TKB als Arbeitgeberin / Ausbildnerin", "Sicherheit", "Politische Themen im Bereich Bank", "Nachhaltigkeit / Umweltschutz"}) + Me.clbThemengruppe.Location = New System.Drawing.Point(3, 16) + Me.clbThemengruppe.Name = "clbThemengruppe" + Me.clbThemengruppe.Size = New System.Drawing.Size(280, 187) + Me.clbThemengruppe.TabIndex = 0 + ' + 'GroupBox2 + ' + Me.GroupBox2.Controls.Add(Me.clbAnspruchsgruppe) + Me.GroupBox2.Dock = System.Windows.Forms.DockStyle.Top + Me.GroupBox2.Location = New System.Drawing.Point(0, 132) + Me.GroupBox2.Name = "GroupBox2" + Me.GroupBox2.Size = New System.Drawing.Size(286, 132) + Me.GroupBox2.TabIndex = 12 + Me.GroupBox2.TabStop = False + Me.GroupBox2.Text = "Anspruchsgruppen" + ' + 'clbAnspruchsgruppe + ' + Me.clbAnspruchsgruppe.Dock = System.Windows.Forms.DockStyle.Fill + Me.clbAnspruchsgruppe.FormattingEnabled = True + Me.clbAnspruchsgruppe.Items.AddRange(New Object() {"Unternehmenr / Unternehmensleiter", "Vertreter aus Wirtschaftverband", "Vertreter aus Gewerbeverband", "Kantonsrat / Regierungsrat", "Vertreter aus Kantonsverwaltung", "Vertreter aus Gemeindebehörde", "Vertreter aus Schulberhörde"}) + Me.clbAnspruchsgruppe.Location = New System.Drawing.Point(3, 16) + Me.clbAnspruchsgruppe.Name = "clbAnspruchsgruppe" + Me.clbAnspruchsgruppe.Size = New System.Drawing.Size(280, 113) + Me.clbAnspruchsgruppe.TabIndex = 0 + ' + 'GroupBox1 + ' + Me.GroupBox1.Controls.Add(Me.clbAbsender) + Me.GroupBox1.Dock = System.Windows.Forms.DockStyle.Top + Me.GroupBox1.Location = New System.Drawing.Point(0, 0) + Me.GroupBox1.Name = "GroupBox1" + Me.GroupBox1.Size = New System.Drawing.Size(286, 132) + Me.GroupBox1.TabIndex = 11 + Me.GroupBox1.TabStop = False + Me.GroupBox1.Text = "Absender" + ' + 'clbAbsender + ' + Me.clbAbsender.Dock = System.Windows.Forms.DockStyle.Fill + Me.clbAbsender.FormattingEnabled = True + Me.clbAbsender.Items.AddRange(New Object() {"Bankrat", "Geschäftsleitung", "Leadership-Team", "Direktion / Kader"}) + Me.clbAbsender.Location = New System.Drawing.Point(3, 16) + Me.clbAbsender.Name = "clbAbsender" + Me.clbAbsender.Size = New System.Drawing.Size(280, 113) + Me.clbAbsender.TabIndex = 0 + ' + 'GroupBox4 + ' + Me.GroupBox4.Controls.Add(Me.txtArtikel) + Me.GroupBox4.Controls.Add(Me.ShurtfEditor1) + Me.GroupBox4.Dock = System.Windows.Forms.DockStyle.Fill + Me.GroupBox4.Location = New System.Drawing.Point(0, 210) + Me.GroupBox4.Name = "GroupBox4" + Me.GroupBox4.Size = New System.Drawing.Size(569, 260) + Me.GroupBox4.TabIndex = 12 + Me.GroupBox4.TabStop = False + Me.GroupBox4.Text = "Artikel" + ' + 'txtArtikel + ' + Me.txtArtikel.Dock = System.Windows.Forms.DockStyle.Fill + Me.txtArtikel.Location = New System.Drawing.Point(3, 16) + Me.txtArtikel.Multiline = True + Me.txtArtikel.Name = "txtArtikel" + Me.txtArtikel.Size = New System.Drawing.Size(563, 241) + Me.txtArtikel.TabIndex = 14 + ' + 'ShurtfEditor1 + ' + Me.ShurtfEditor1.Dock = System.Windows.Forms.DockStyle.Fill + Me.ShurtfEditor1.Document = Nothing + Me.ShurtfEditor1.Font = New System.Drawing.Font("Futura Book", 9.749999!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.ShurtfEditor1.Location = New System.Drawing.Point(3, 16) + Me.ShurtfEditor1.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4) + Me.ShurtfEditor1.Name = "ShurtfEditor1" + Me.ShurtfEditor1.Show_Filefunctions = False + Me.ShurtfEditor1.Size = New System.Drawing.Size(563, 241) + Me.ShurtfEditor1.TabIndex = 13 + ' + 'Allgemein + ' + Me.Allgemein.Controls.Add(Me.txtGueltigbis) + Me.Allgemein.Controls.Add(Me.txtGueltigab) + Me.Allgemein.Controls.Add(Me.txtMutierer) + Me.Allgemein.Controls.Add(Me.dtGueltigBis) + Me.Allgemein.Controls.Add(Me.Label5) + Me.Allgemein.Controls.Add(Me.Label7) + Me.Allgemein.Controls.Add(Me.dtGueltigAb) + Me.Allgemein.Controls.Add(Me.Label8) + Me.Allgemein.Controls.Add(Me.cbAktiv) + Me.Allgemein.Controls.Add(Me.Label6) + Me.Allgemein.Controls.Add(Me.txtErstellt_am) + Me.Allgemein.Controls.Add(Me.Label11) + Me.Allgemein.Controls.Add(Me.Label9) + Me.Allgemein.Controls.Add(Me.txtMutiert_am) + Me.Allgemein.Controls.Add(Me.txtBeschreibung) + Me.Allgemein.Controls.Add(Me.txtSuchbegriffe) + Me.Allgemein.Controls.Add(Me.Label2) + Me.Allgemein.Controls.Add(Me.Label3) + Me.Allgemein.Controls.Add(Me.txtTitel) + Me.Allgemein.Controls.Add(Me.Label1) + Me.Allgemein.Dock = System.Windows.Forms.DockStyle.Top + Me.Allgemein.Location = New System.Drawing.Point(0, 0) + Me.Allgemein.Name = "Allgemein" + Me.Allgemein.Size = New System.Drawing.Size(569, 210) + Me.Allgemein.TabIndex = 11 + Me.Allgemein.TabStop = False + Me.Allgemein.Text = "Allgemein" + ' + 'txtGueltigbis + ' + Me.txtGueltigbis.Location = New System.Drawing.Point(238, 174) + Me.txtGueltigbis.Mask = "00/00/0000" + Me.txtGueltigbis.Name = "txtGueltigbis" + Me.txtGueltigbis.Size = New System.Drawing.Size(61, 20) + Me.txtGueltigbis.TabIndex = 42 + Me.txtGueltigbis.ValidatingType = GetType(Date) + ' + 'txtGueltigab + ' + Me.txtGueltigab.Location = New System.Drawing.Point(84, 173) + Me.txtGueltigab.Mask = "00/00/0000" + Me.txtGueltigab.Name = "txtGueltigab" + Me.txtGueltigab.Size = New System.Drawing.Size(73, 20) + Me.txtGueltigab.TabIndex = 41 + Me.txtGueltigab.ValidatingType = GetType(Date) + ' + 'txtMutierer + ' + Me.txtMutierer.Location = New System.Drawing.Point(418, 95) + Me.txtMutierer.Name = "txtMutierer" + Me.txtMutierer.ReadOnly = True + Me.txtMutierer.Size = New System.Drawing.Size(91, 20) + Me.txtMutierer.TabIndex = 40 + ' + 'dtGueltigBis + ' + Me.dtGueltigBis.Format = System.Windows.Forms.DateTimePickerFormat.[Short] + Me.dtGueltigBis.Location = New System.Drawing.Point(238, 174) + Me.dtGueltigBis.Name = "dtGueltigBis" + Me.dtGueltigBis.Size = New System.Drawing.Size(91, 20) + Me.dtGueltigBis.TabIndex = 31 + Me.dtGueltigBis.TabStop = False + ' + 'Label5 + ' + Me.Label5.AutoSize = True + Me.Label5.Location = New System.Drawing.Point(346, 98) + Me.Label5.Name = "Label5" + Me.Label5.Size = New System.Drawing.Size(69, 13) + Me.Label5.TabIndex = 39 + Me.Label5.Text = "Mutiert durch" + ' + 'Label7 + ' + Me.Label7.AutoSize = True + Me.Label7.Location = New System.Drawing.Point(212, 176) + Me.Label7.Name = "Label7" + Me.Label7.Size = New System.Drawing.Size(20, 13) + Me.Label7.TabIndex = 32 + Me.Label7.Text = "bis" + ' + 'dtGueltigAb + ' + Me.dtGueltigAb.Format = System.Windows.Forms.DateTimePickerFormat.[Short] + Me.dtGueltigAb.Location = New System.Drawing.Point(84, 174) + Me.dtGueltigAb.Name = "dtGueltigAb" + Me.dtGueltigAb.Size = New System.Drawing.Size(100, 20) + Me.dtGueltigAb.TabIndex = 30 + Me.dtGueltigAb.TabStop = False + ' + 'Label8 + ' + Me.Label8.AutoSize = True + Me.Label8.Location = New System.Drawing.Point(346, 47) + Me.Label8.Name = "Label8" + Me.Label8.Size = New System.Drawing.Size(55, 13) + Me.Label8.TabIndex = 33 + Me.Label8.Text = "Erstellt am" + ' + 'cbAktiv + ' + Me.cbAktiv.AutoSize = True + Me.cbAktiv.Location = New System.Drawing.Point(418, 24) + Me.cbAktiv.Name = "cbAktiv" + Me.cbAktiv.Size = New System.Drawing.Size(15, 14) + Me.cbAktiv.TabIndex = 38 + Me.cbAktiv.UseVisualStyleBackColor = True + ' + 'Label6 + ' + Me.Label6.AutoSize = True + Me.Label6.Location = New System.Drawing.Point(12, 177) + Me.Label6.Name = "Label6" + Me.Label6.Size = New System.Drawing.Size(49, 13) + Me.Label6.TabIndex = 29 + Me.Label6.Text = "Gültig ab" + ' + 'txtErstellt_am + ' + Me.txtErstellt_am.Location = New System.Drawing.Point(418, 44) + Me.txtErstellt_am.Name = "txtErstellt_am" + Me.txtErstellt_am.ReadOnly = True + Me.txtErstellt_am.Size = New System.Drawing.Size(91, 20) + Me.txtErstellt_am.TabIndex = 34 + ' + 'Label11 + ' + Me.Label11.AutoSize = True + Me.Label11.Location = New System.Drawing.Point(346, 24) + Me.Label11.Name = "Label11" + Me.Label11.Size = New System.Drawing.Size(31, 13) + Me.Label11.TabIndex = 37 + Me.Label11.Text = "Aktiv" + ' + 'Label9 + ' + Me.Label9.AutoSize = True + Me.Label9.Location = New System.Drawing.Point(346, 70) + Me.Label9.Name = "Label9" + Me.Label9.Size = New System.Drawing.Size(56, 13) + Me.Label9.TabIndex = 35 + Me.Label9.Text = "Mutiert am" + ' + 'txtMutiert_am + ' + Me.txtMutiert_am.Location = New System.Drawing.Point(418, 70) + Me.txtMutiert_am.Name = "txtMutiert_am" + Me.txtMutiert_am.ReadOnly = True + Me.txtMutiert_am.Size = New System.Drawing.Size(91, 20) + Me.txtMutiert_am.TabIndex = 36 + ' + 'txtBeschreibung + ' + Me.txtBeschreibung.Location = New System.Drawing.Point(84, 45) + Me.txtBeschreibung.Multiline = True + Me.txtBeschreibung.Name = "txtBeschreibung" + Me.txtBeschreibung.Size = New System.Drawing.Size(245, 66) + Me.txtBeschreibung.TabIndex = 12 + ' + 'txtSuchbegriffe + ' + Me.txtSuchbegriffe.Location = New System.Drawing.Point(84, 115) + Me.txtSuchbegriffe.Multiline = True + Me.txtSuchbegriffe.Name = "txtSuchbegriffe" + Me.txtSuchbegriffe.Size = New System.Drawing.Size(245, 53) + Me.txtSuchbegriffe.TabIndex = 14 + ' + 'Label2 + ' + Me.Label2.AutoSize = True + Me.Label2.Location = New System.Drawing.Point(12, 47) + Me.Label2.Name = "Label2" + Me.Label2.Size = New System.Drawing.Size(72, 13) + Me.Label2.TabIndex = 11 + Me.Label2.Text = "Beschreibung" + ' + 'Label3 + ' + Me.Label3.AutoSize = True + Me.Label3.Location = New System.Drawing.Point(12, 117) + Me.Label3.Name = "Label3" + Me.Label3.Size = New System.Drawing.Size(67, 13) + Me.Label3.TabIndex = 13 + Me.Label3.Text = "Suchbegriffe" + ' + 'txtTitel + ' + Me.txtTitel.Location = New System.Drawing.Point(84, 19) + Me.txtTitel.Name = "txtTitel" + Me.txtTitel.Size = New System.Drawing.Size(245, 20) + Me.txtTitel.TabIndex = 8 + ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.Location = New System.Drawing.Point(12, 22) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(27, 13) + Me.Label1.TabIndex = 7 + Me.Label1.Text = "Titel" + ' + 'frmKernbotschaft + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(873, 551) + Me.Controls.Add(Me.TabControl1) + Me.Controls.Add(Me.ToolStrip1) + Me.Controls.Add(Me.MenuStrip1) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.Name = "frmKernbotschaft" + Me.Text = "Kernbotschaft" + Me.MenuStrip1.ResumeLayout(False) + Me.MenuStrip1.PerformLayout() + Me.ToolStrip1.ResumeLayout(False) + Me.ToolStrip1.PerformLayout() + Me.TabControl1.ResumeLayout(False) + Me.TabPage1.ResumeLayout(False) + Me.SplitContainer1.Panel1.ResumeLayout(False) + Me.SplitContainer1.Panel2.ResumeLayout(False) + CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).EndInit() + Me.SplitContainer1.ResumeLayout(False) + Me.GroupBox3.ResumeLayout(False) + Me.GroupBox2.ResumeLayout(False) + Me.GroupBox1.ResumeLayout(False) + Me.GroupBox4.ResumeLayout(False) + Me.GroupBox4.PerformLayout() + Me.Allgemein.ResumeLayout(False) + Me.Allgemein.PerformLayout() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents MenuStrip1 As System.Windows.Forms.MenuStrip + Friend WithEvents DateiToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents KommunikationToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents NeuerEintragToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents EintragLöschenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStrip1 As System.Windows.Forms.ToolStrip + Friend WithEvents TSBtnQuit As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnSave As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripSeparator1 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents TSBtnCopy As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnNew As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnDelete As System.Windows.Forms.ToolStripButton + Friend WithEvents TabControl1 As System.Windows.Forms.TabControl + Friend WithEvents TabPage1 As System.Windows.Forms.TabPage + Friend WithEvents SplitContainer1 As System.Windows.Forms.SplitContainer + Friend WithEvents GroupBox3 As System.Windows.Forms.GroupBox + Friend WithEvents clbThemengruppe As System.Windows.Forms.CheckedListBox + Friend WithEvents GroupBox2 As System.Windows.Forms.GroupBox + Friend WithEvents clbAnspruchsgruppe As System.Windows.Forms.CheckedListBox + Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox + Friend WithEvents clbAbsender As System.Windows.Forms.CheckedListBox + Friend WithEvents Allgemein As System.Windows.Forms.GroupBox + Friend WithEvents txtTitel As System.Windows.Forms.TextBox + Friend WithEvents Label1 As System.Windows.Forms.Label + Friend WithEvents txtBeschreibung As System.Windows.Forms.TextBox + Friend WithEvents txtSuchbegriffe As System.Windows.Forms.TextBox + Friend WithEvents Label2 As System.Windows.Forms.Label + Friend WithEvents Label3 As System.Windows.Forms.Label + Friend WithEvents GroupBox4 As System.Windows.Forms.GroupBox + Friend WithEvents ShurtfEditor1 As RTFEditor.SHURTFEditor + Friend WithEvents txtGueltigbis As System.Windows.Forms.MaskedTextBox + Friend WithEvents txtGueltigab As System.Windows.Forms.MaskedTextBox + Friend WithEvents txtMutierer As System.Windows.Forms.TextBox + Friend WithEvents dtGueltigBis As System.Windows.Forms.DateTimePicker + Friend WithEvents Label5 As System.Windows.Forms.Label + Friend WithEvents Label7 As System.Windows.Forms.Label + Friend WithEvents dtGueltigAb As System.Windows.Forms.DateTimePicker + Friend WithEvents Label8 As System.Windows.Forms.Label + Friend WithEvents cbAktiv As System.Windows.Forms.CheckBox + Friend WithEvents Label6 As System.Windows.Forms.Label + Friend WithEvents txtErstellt_am As System.Windows.Forms.TextBox + Friend WithEvents Label11 As System.Windows.Forms.Label + Friend WithEvents Label9 As System.Windows.Forms.Label + Friend WithEvents txtMutiert_am As System.Windows.Forms.TextBox + Friend WithEvents txtArtikel As System.Windows.Forms.TextBox +End Class diff --git a/Themenmanagement/Kernbotschaften - Kopie/frmKernbotschaft.resx b/Themenmanagement/Kernbotschaften - Kopie/frmKernbotschaft.resx new file mode 100644 index 0000000..4429959 --- /dev/null +++ b/Themenmanagement/Kernbotschaften - Kopie/frmKernbotschaft.resx @@ -0,0 +1,598 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 461, 17 + + + 576, 17 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAK2SURBVDhPnZLdS1NhHMcfCPoDuummi+gyunJg0QviNrd5 + PDtzc7Z5ztl20pUzo6I3yFIrS9N8K7Qih6lUFJVaGWXZi6KRoZSFmCuyi+iiiCKILgo+HTUWu7QffOD5 + PfB8eL6/5xH/U1+mh4IzM+O/Ovdm8Hdrvi5X5PR2H86ht2oWKUnPEYkr5XYexXfyebKfTxO3+P5mkIv7 + ramCngqZtDV2Vq+zsWbDP9LXWVllWc+PRD+J3krGWv18TTzm8kFHqqC7TCbD6sRml7A7XEmsWU7S19t4 + 3Rlh7JzO6Okgn1/d5dqh7FSBo1kg1Swi2+5DcilI2W4kScblktlglZjsMBg9G+JJS5CPYz1zUf8eFcJ2 + XJD42IXTlORkaridARTJjyJ7kd0eMh1uXsbDjLTqDDYXMDN8idvVyrzAViOYeN9Gx6Ago1pgbxA4Twnk + sqV4lSCeXD9ZOT7Gz2kMntT5cWc5UwPt3K31Ilx1gqfvqomPCNqGzfXbIp69i/D8Q3hOku8Jk5cXRPIE + eHZa5WGTxs/+Fby63cpAg39e8CCxh/i4ID4maH8p6JgUvPgWwXFSEMwrYmMghDtPY6QlwEBjkLY9Tp73 + HOdxc2AugsVuRuib2kxXQpA5G+GEwNEkyC1fhq5GUXUDX9BgqNnPvfp8rh9WeHqpguEWNTlES1atoPet + D2ejwAjswtBKMcLFGEaUiFFIIBTlYYOXO3U++mq8DJ3fzeiZUMozWpzmlZW6xUSN7USLSiiKFs9RaKJt + inG/zkNfdS43jnrob40x3hZJEYjO0rVsKSmlJLaDkq3bksRMCou3c69W5uYxhe4qNzfrQ0y0FyJ0XUfX + QmhaGFWdxVyrmtmrSVSz31igsy8W4EKFYv5AmatHcpns2jw/xIVSpqfvrzyw8vf0hVhqhAXUEpM0IYTl + DzXbwlLPDlfpAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAKQSURBVDhPrY/JTxNRAIdf0kQPJoZ4MOFEUNwoWLbSllUg + KAFKy6JSFFDABUwQLxz4B0iaECImGA9owo14aCXFUFot2MJAC5zdN+hCaaEFSUQoP997DFSJRyf5kpnM + 7/veDPkvl06n22hpaoZlfAoL3hUs+lbhXlqFxx+CdzkMXyAMfyCE5WAI43YBba1teHC/Y0PUCWmob0Aj + xTE9hwX/2l8sLq/DHViHJ7gO38oPTLvmwQ67e/sORJ2Qm403wBCc89iO7Bwggq3tCH5tbePn5hY9ZJZv + bzW3RAP1166D8UZw4dtSaBdfCF8pX+jvfPau4pNnBR/dQdgcM3zLIqJOSF2tDgzLhAAv/dQ9PIE1+vns + N8L47g/z4Khtkm9ZRNQJuVJzGYwRqx1zH7yYp8y9Z3gwS3G9o7x1Y4bywjzBt3VXa6OB6soqMB49eQbD + 6ASGLQ6YXk1h5LUAE2XYOgmj2Y7nL214+Pgp37KIqBOiVVfgn1Roohx4V62tjAbUpWX4E025GlUaLR/V + 0NMY7JmJ6rLy/Y2oE1JSfBGM0kslsNlscLlcHKfTyWH3giAgS6GEQi7f34o6IYV5+WAUFxbBarUiPzcP + ykwFHA4H7HY7j46NjSE/JxfZqiwU0G3RhYJoIFupAiMvKxsWOkxPSUWyVAqz2QyTyQSDwYChoSGoaFSR + IUcOi9BDRJ2QjNS0TXlqGh8YjUacPpmAE/HxXBocHMTAwAD6+/shS0qGTJqEzLR0KGlI1AmJORpzL/lc + YiRdlsLHe1JfXx96enqg1+vR3d2NMzR8NuEUzidKWWiHqkd2C4Qck0gkpXFxcVVdXV1NVGjt7e1tp3TQ + QDt77uzsbIw9Hqs9JJFoGHRfQAg5/BslsRWFgJrRJAAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAINSURBVDhPY6AVYAyc67K/+XD1/SYg9p3quAQqTiQIZWAO + Wu75Zu6Nuf9nX5/9322S/TmoDJEAaIDnctc3k69M/D/hSt9/p0nm56EyRAKwATZveq+0/O++0gg0wAiP + AfUMTOYLtWx81tnYB0CxZZ+ak88myw9dV8v/d1wp+e88T++2/XxtB591FvYeQOyyzsTeYJGyFVi/cAGn + Se6J5P99V5v+T7ze8H/Szbr/U27V/O++kfe/43rm/9Zr6f87r+f+775e9L/tSsH/hot5/yvPZf8P2Ov6 + ny+OXZlBLJfTogoo0H+9Fqi56v+U2xX/p94p/d9+M+5/283o/y03I/533Ur+33Mz63/79fT/DZdT/1ee + T/4fdtD5P28ImzqDUAaLRcQOwf9ph4T/554U+l94Ruh/wRnB/zXXzP633/H533rH83/5ZZ3/+af5/+cB + cdZx/v9JB/j++27lAhrAoM7A6cQgLRnPsFk2mWGbYhrDNuV0IA3EaftFf3Y+sP3f/sDqf9gm8Q8gMRgG + qRWPZ9jAZ8EgBA4HIGBEwfYMLOGHmN7UPeb4X/eY67/7ciZQLKCqgWAcABiNiecY3nS8YvgPwj5rGEhP + B7kXBN4s+CT/f/5H+f9hG3lJNyBpr+6bOQ89/oNwwCJ1Eg1gYGCSymXYYdjGcAOExeIZ5kHFSQIsDCoM + 7GDMwMAMEUIHDAwArmHzT5KTHe0AAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABnSURBVDhPtZIBCsAgDAP79D6tP+tWpWNqdEFZIAalHhEU + M/MTDwARpX0MUL1zBIgzirklgMkCQNVmfmsbABrUg1S/T6G5BrCT/zVgDRvMlBd6PwAm4wL4N3XgS0sA + awiIJd/DuAWYX6K9icTfTBdeAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJASURBVDhPfZNLSxtRFMdn5Suah0oChhiJmlGj8RGfiKIi + gouAEPULuMlSxe+Rrbt8hKEWGfJobNq5k0ZaJ7Vgq90ILW5auiiFLv8955oJiU37hwPDPfd3/ufMvVex + VTk4SF0mEprmcrmrS39JCwbdpZ0dzdjeTlWXHvUhmUw/nJ7i7e4uspGIxRurqZqqsPXp5ATG4iJyo6Np + mWBnCScSMNfXIVZXoatqQ5EafHwMMTcHY2ZGRkZVUwq3zc42LJaXYSwtQQ+HZZEafHQEEYtBTE3VQh8a + 0hSemduuh435eRizs9BDIasUj1u3h4cwydGcnIQZjaJEwblal/zBbdfDggB2+ZhMojQ9LaE3FOWJiUbY + lixCbdfD7ChGRmAMDEAEgzApss1gW7IIbTDIqRgIoOB04iXFK7cboqcHus/3b5jFSbG1ZVnxOF50dkr4 + tccDs7cXZa8XWb///+5Fgiv7+8gTeFEHX/p8eNfXh/f9/cgHAs3nL25sWJW9PeTIuUBRdLlk22WCr/x+ + XNP8N6EQboeHUXx6AgxbBGccDuQ6OnDR1SXdeeYctc3ON4OD+KyquI9E8IX+kajeE8XY3NSu6CLp7e3I + tLUhT0V4dt3rlRs4uO27cBj34+N4oCP9RrfxOx13SVU1pbCwkDpvbYXe0oIsFeGfd97d3TCn7JLa/krH + yuBPunC/VlZQiUYfH9WZw5G2Czx7AtviNZMu2w96SL/X1nAXiz0+JltnTmfqucejNYNtca48NqZd286K + ovwBHtVvxMSvxBEAAAAASUVORK5CYII= + + + + + AAABAAgAICAQAAEABADoAgAAhgAAABAQEAABAAQAKAEAAG4DAAAwMAAAAQAIAKgOAACWBAAAICAAAAEA + CACoCAAAPhMAABAQAAABAAgAaAUAAOYbAAAwMAAAAQAgAKglAABOIQAAICAAAAEAIACoEAAA9kYAABAQ + AAABACAAaAQAAJ5XAAAoAAAAIAAAAEAAAAABAAQAAAAAAIACAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAA + gAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////APiH + eXV5dXl1eXV5dXl3mI+HERERERERERERERERERF/iRGREREZERGRkREZERGRGHEREXkZERGREREZEReR + ERdxkZiHERkRGRGREZGYhZGVkZeP+HmReRkRlxkXj/iRF3GV//+HGYcZEZiZeP//eRl5GX//+Hj5kRl/ + h4//95EXcZGX////95GRn////3WRl5GRkX////eRkY////eRkZdxkZmY///4GRmP//+FGRkZWZGReP// + +JkZj///iZkZWTWVmY////h5GY////h5GZeZkZOXiIj4mRmPiIiXmVkXcZlZWRkZl5WZeXkZWRmRmXmV + kZkZmVmRkZkZmRmVlZdxmZGVlZGVlZlZGVlZGZmZmZWVmZmZmZmRmZmZmZlZF3mZmZl5eIiVmYiIl5eZ + mZeZlZmP///4mZmP//+ImVlZeZlZmP//+JWZj///95mZmZmVmZj///iZmY///4mZWZd5mZmf///4lZmP + //+HmZmZmZmYj///+ZmZf////5mZl3mZmP/4j/eZmZ+I//+ImZmZl///h5iJmZl4eY//+JmXeZmP/4lZ + l5mZl5mZ//+ZmZmZePiZmZmZmZmZmY+JmZd5mZl5mZmZmZmZmZmXeZmZiZmZmZmZmZmZmZmZmZmZmIeZ + mZmZmZmZmZmZmZmZmZ//eZeZl5mXmZeZl5mXmXiPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAEAAAACAAAAABAAQAAAAAAMAA + AAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAAAAD/AAD/ + AAAA//8A/wAAAP8A/wD//wAA////AIdXl1eXU5eYeRkRERERURdxiJkZGRmIlVmPh3kYePiXcZj/gZj/ + +RmRmP+JeP95F1mYiImY+ImXeRlZeReVmRd5mZl5mZlZmZmYiImYiHmXeZj/+Zj/iZmZeP+JmP+JmZmP + iImXiP+ZmY95mZeX+Jl5mZmZmZmZmYmXmZeZl5l4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAwAAAAYAAAAAEACAAAAAAAgAoAAAAA + AAAAAAAAAAEAAAAAAAAZFZcAFxWZABkUmQAcFpkAGhOdABoVnQAcFp0AFxieABsanQAdGJ0AIR+fACsq + nwAaE6EAGhWhABwWoQAaFqUAHBalABgYoQAdGKEAGhilAB0ZpgAaFqgAHBaoABoWrQAdFq0AFxirABwY + qwAdFrIAHBmzAB4XvAAeGboAIRmgACAYpQAgGaoAIh6pACIerQAgF7QAIRqzACEXuAAgGbwAIiCgACEg + pgAnKaAAJSCsACkmqQAtKakAMi2vADUsrwA5NaYAOzmnAD06pgAyMKsAOjaoACUgswAoIrcAIiC/AC8q + uwAzLLMAMiu7ADg0swA7ObUANjK5ADg1uwA8OboAS0ixAE5JsQBIRrgAUky8AFZVuQBZV7sAHhrCAB4b + ygAeHNUAHhzdACEaxAAhGswAIBfTACIa0wAjG9sAJSLIACoiywAyK8MANC3KADgvzAA6NcIAPTnCADcx + yQA8NcwAPzrIACUh0wAqJNcAKSTZADAn1wA0KtAAMyraADw10gA9NdsAHxvkAB8Z6gAjG+MAKR3mACQb + 6wApHO0ALB3wACch4wAqIuIALiLoADYs4wA6LucANCvrADou6QA9NuAAPjjkAD027QA/OOkAQDrNAEE7 + 0wBBO9sAQjzjAEg+5ABCO+oAT0nGAE5HyABNRNIASULaAFNM0wBRSt4AYlvNAHFuxQBybMkAc3DBAHdy + wgB6e8QAd3PLAHt1yAB6ecgAe37LAH1+yQB8eM8AfX7OAGRg1gBmYtgAeW/WAHZ30gB+ddYAe3zRAHp2 + 3QB7eN4ATUTmAE5E6QBRRuQAU0vkAFBG6gBTSesAV1HjAFBH8QBnX+EAaWPkAGxi6wB1ae4AeG/vAHx3 + 5QB8eOQAfnbsAH557AB5b/IAfXLxAHx58ACAf8oAgXzQAIJ95wCCfOoAgnzyAH+AxgB8gMoAgYHKAIqN + 0wCMht4AkY3eAJeW3ACendsApKLbAKil3QCtqt0AhYHmAI+P5wCEge0AjIjtAJCL4ACRjuwAj5DmAJeV + 5ACYluQAnp3jAJaV7ACZmesAiYPwAKSf4QChnu0AoZzyAKWj4wCopOQArKvkAKSj6QCpq+8Asq/rALa2 + 4QCxseUAt7fkALe54AC6ueAAvbvjALW17AC6vOwApaLyAKqk8gC1tPMAubb1ALy68wDBvvAAxsjrAMzM + 7QDExPMAyMbyAMXI8wDLy/MA19jyANrb9ADb3PkA3+LxAOXi7gDo5u8A5OX0AOnq8gDp7PEA6er2AOrs + 9gDt7vUA5uj6AOrr+ADu8PQA8/L2APf69wD6+vYA9PP5APj2+QD3+PoA+fn5APz6+gD5/PkA/Pz6APr5 + /AD8+vwA+fz8AP7+/gAAAAAA+Pjw0YJAMTEwNDAwNDAwMDQ0NDEwMTQ0NDQwMDA0NDQwMDA0NDQ0MTQy + QYPS8Pr88+aEKgEGAwAAAwYGAwkDCQICAgIAAAICAgUGBgMCAgIGBgYDAgICAAADCQMLref78IcSEgQE + BQMGBgYGBgMGBgYGBQMGBgYGBgUFBgYEBgYFBQYFBQUGBgMFAwYOH6/tziwJBg0NERISEhIODgYOBhIS + EhISDg4SEg4GDg4OEg4GDg4ODg4JDgYPBg4JDi3TgA8SDg4ODAUHFg4SFhIQDg4ODg4ODg4SDg4QDhAO + Dg4SDhIWEg4UEQgQDg4OEhCGQhMTExQQHxUzRCghEBYQEBQQFBQQFBQQEBAgFBAUFBQQFBAUFihFLhQg + EBQUDxRDOxMVFCAWFC+25agjIBAWFBQWGiEaIRYUFBoVFBoUFhQSFSEgK6/mtS8WFhQaDxQ8OxgaFxQZ + L7f0+umKIxcaIRgaFBUaFBoaGhoaFBUaGhwbExQrqe369LYvGhQaGho8OxoYGhk9tvX4+vjpiykjGBoX + OT4YIRoaGhoUFzw5GSEhGiuL6vj6+PS1PRwaIRo/PhwYHCOF8P3z+f7664g1GBw5tY8bGBwaIxwhG5G1 + ORslNa7v+v758/3tgRkcGho/PhwcJRw4tvH9/f7+/uqRNT229LMcJSUcHBwlJbTxtjo1ker+/v79/fS1 + OiUjHBw/PhweJBwcOrb2/f7+/vjpsLf1+882JBwcHBwlNtD78bew6fr+/v799LU4HCUeJRxVPiUcJSUm + HFG29v7+/v789v38/dw4JR4lJRwcON36/vv2+v76/v70tVElJSYcHhxVVB4eHh4mHh46yPL9/f7+/v7+ + /uJVHh4eHh4eVeP+/v7+/v79/fS0URweJh4eHiZVVCcnJycnJx4eUcn0/f7+/v7+/uh6HiceJyceeev+ + /v7+/v769MVRJycnJycmJx1VVCcnJycnJycnJ1LP+/7+/v7+/vF/HScnJycnf/H+/v7+/v77ylInJ0Yn + JycnJydYWCcnSkonSicnJ1PP+/7+/v7+/vaOJ0onSidGkPv+/v7+/v77z1NGJ0o3Sic3SidYV0pKSkpK + SjdKVsr0/f7+/v7+/vyxRkpKSko3sv7+/v7+/v798clSRzdKSkpKN0pYV0pKSkpKSkpTyfT2+f7+/v7+ + /vzGSkpKSkpKyP7+/v7+/v79/fTJXUpKSkpKSkpzV0pKSkdKSkp7wNTh4+/09v3++vrUUEdKSktP1fr+ + /vn29Ovj3dTAe0pKSktKSkp0c0tKT0tPS0pKT09Se32Nk7LL1d3NUUtKS0tR1N3Vy7ySjH10Uk9PSk9L + Sk9KS0p0X0tLT0tLS0tLS0tZS0dLUEtQWVNfS0tLS0tLX11QWUtZS0dHS0tLS0tLS0tLS0t0dEtLS0tL + S0tLT0tLR0tLS0dLS0tLT0tLT0dZS0tLS0tLS0tHS0tZS0tLS0tLS0t0X0tLTUtLTUtNS01LS01LTUtN + S01LTUtNS01NS0tLS0tNS1lLTUtNS0tNS1lNTUt0YE1NTU1NTU1NTU1NTU1NTU1ZTU1NTU1NTU1NTU1N + WU1NTU1ZTU1NTU1NTU1NTU11YFlNTk1OTU1ZTU1NTU1ISE1NTU1NWU1NTU1ZTk1NTU1NTU1NTU1NTU1N + TU1NTU11YE1NTUhITU5NTE5OTU1NTUhOTUhZSE1OTU1IWU5OTk5NTUxNTk5MWU1NTk1OTU11YE5OTk5O + SFlNTU5OW2t3mpyhucvDXE5OTk5ew8u5oZyXdV5bWU5NTk5NTk5OTU11b05OTk5OTk5gnbjG2uHk7/T7 + /fraW0hOTk5b2/r89vTv5OHZxqqdYE1OTk5OTk51b05OTk5OTk582/X4+f7+/v7+/v7LaE5OTk5ozPz+ + /v7+/v79+PXbfE5OTk5OTk51cE5OaE5oTk5jlt/1/v7+/v7+/v69SU5OaE5Jwvz+/v7+/v769d+WY2hO + aGNOTk52cE5oTk5OY05jTpnh+P7+/v7+/vujSU5OY05Jq/n+/v7+/v7435ZpY05OY05OTk52cGNjY2hj + Y2ROTmnD+/7+/v7+/vSeSWNjY05onvT+/v7+/v71wmlOTmNJaGNjY2N2cGNjSWNOY05laavs+v7+/v7+ + /u6XYWNJY2hJmu/+/v7+/v7676RpY05jY2NJaE54cGNjY2NoY0lqquz4/P7+/v7+/uR3Y2hjY2NhlOT+ + /v7+/v74/O+qakloY2NjY054cGNjaGVjY2jE7/7+/vj5+/v+/OFrY2NjY2NjbuH+/vf7/f7+/v7rumhj + Y2VlY2N4cmhjZWFhaazt+v7+/vf02OH7/NlqY2hkY2Vjatr7/eHZ9Pn+/v7676xqYUlhZWN4cmNlYWNn + uu/z+v7++vTWbpng9cdjaGNlY2NoZcz23phu1/T+/v76+O+ramhlY2N4cmNkYWSf6/n4+P399MduaGWZ + 3sRlZWVoZWhlYbvemGRjbtb0+fr4+vnonmRlZWV4cmVlZWiX3v36+vj01m1iaGhllZtlYWhlZWVlaJmY + ZWhlYm7X9Pj9+vbelGhlZGN4eGRlZWVlmOD29vTWbWVoZWZoZWhlYmhlaGVlZWZoaGZlZWVu1/Ty+eCY + ZWVlZWV4cmVoZWVoZZnh8NZxZWZlZWVmZWVlZWVmZWZlZWVmZWVmZmVlcdb04JtlZmVlZWV4mWVmZWVl + ZWaZxG1iZmZlZWVlZWVlZWVlZWVlZWVlZWVlZWVmYnHEmWVmZWVlZmaZoGVlZWVlZWVlZWViZWVlZWVl + ZWVlZWVlZWVlZWVlZWVlZWVmYmVlZWVlZWVlZWWm2W1lZWVlZWdlZ2VnZWVmZWZlZmVmZWZlZmVmZWZl + ZmVmZWZlZWVlZmVlZWVlZW3a7adnZWZlZmVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZmVn + Z2ZmZ6z0+OinbWZlZWVmZWZlZmVmZWZlZmVmZWZlZmVmZWZlZmVmZWZlZmVmZWVlZWVtrOjz9/Pv2aWb + eHFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXF4m6Xa9Pf4AAAAAAAAcXEAAAAAAABxcQAA + AAAAAHFxAAAAAAAAcXEAAAAAAABxcQAAAAAAAHFxAAAAAAAAcXEAAAAAAABxcQAAAAAAAHFxAAAAAAAA + cXEAAAAAAABxcQAAAAAAAHFxAAAAAAAAcXEAAAAAAABxcQAAAAAAAHFxAAAAAAAAcXEAAAAAAABxcQAA + AAAAAHFxAAAAAAAAcXEAAAAAAABxcQAAAAAAAHFxAAAAAAAAcXEAAAAAAABxcQAAAAAAAHFxAAAAAAAA + cXEAAAAAAABxcQAAAAAAAHFxAAAAAAAAcXEAAAAAAABxcQAAAAAAAHFxAAAAAAAAcXEAAAAAAABxcQAA + AAAAAHFxAAAAAAAAcXEAAAAAAABxcQAAAAAAAHFxAAAAAAAAcXEAAAAAAABxcQAAAAAAAHFxAAAAAAAA + cXEAAAAAAABxcQAAAAAAAHFxAAAAAAAAcXEAAAAAAABxcQAAAAAAAHFxAAAAAAAAcXEAAAAAAABxcQAA + AAAAAHFxKAAAACAAAABAAAAAAQAIAAAAAACABAAAAAAAAAAAAAAAAQAAAAAAABsVmgAcFpsAGhWcABwX + ngAdGZ0AGhWgABwWoQAbFqUAHBakAB4YoQAdGKUAHBaoAB0WrAAaGKoAHBipABsZrwAcGK0AHRmxAB4Z + tQAfHLUAHhi6AB8avQAgGqgAIRytACAYtgAiHbYAIBm6ACAduQAgGb0AIRy+AC4nrgApKKoALyiuADk0 + pgA7Oa4APTuvACwosQAsKLQAMC6zADAttAA4NbEAODO2ADs3twA7OLMANDG6ADgzuQA5NbkAODa9ADs4 + ugA7OL4ATEavAEZEtgBIRbAAR0G9AEhDvABMRr8ATki5AFBLtABTT7UAU1G9AFVUvgBYVL0AIRrBACId + wQAkHsAAIRrGACEaygAhGs0AJB3MACIa0gAhGtUAIhzUACUd1gAiGtkAJBrZACIa3AAkGt4AIhzfACQc + 3gAmIsgAJyHNACojygArJMoALibLAC4ozgAwKMoAOjXCADw3wwA7NcUAPDjAAD04xwA8NsgAOTLMADw2 + zAA/OckAPznOACUg0wAnI9UAKSPUACUg3QAuJ9kAKCHdACol3QA3LtEAMijaADQs2wA4MNAAPDfSAD03 + 1wA/OtQAPjfaAD423QA/OtgAPzjdACMb4wAkG+sAKB7qACog5wAsIuoAPjbgADw05wA+OOQAPjbtAD84 + 6wBAOdMAQDrbAEA53gBDPNwAQDrlAEA36wBCO+kASETCAExHwgBPSsAASUPNAEtFzQBUVMAAXlnKAEVB + 0ABaVtUAYV3LAGpozgBta80Ad3XOAG1n0gBubNEAdG/cAHZy0gB4ddMAdnHdAE1E7QBPSO0AVU/gAFBE + 6wBSSuwAVlDhAFlT5gBaVeoAWVDxAGJZ5gBjWusAamXjAGxo5QBpYesAb2ruAHJr7gB8d+sAgH7LAIN+ + 5wCAfOoAhX/zAICAxwCEgscAh4PNAImG3ACMid4AkYvbAJ6a1wCfndcAlJDbAJ6Z2ACgnNkAqajeAIuI + 4ACNiuIAhYHpAIiF6gCWke8AmJXuAJ2a6wCcmOwAhoDxAIiC8gCalfIAo6HnAKmk5QCtquUAoaHrAKSh + 6QCxru4As7LqALSy6gC1tOoAsLDtAL696wC5uOwAravxALa08QC4tvMAv73yAMrH7QDKyOgAzs/pAMzJ + 7gDMze8A0NHoANXW7QDY1+0A1tjvANna6wDb3OsA2trtAMHC8gDLzPAA1dT0ANjW9QDX2PYA3d3wANnZ + 9gDk4/IA5eTzAOHg9gDl4/UA5eT1AOno9ADk4/gA6+n6AOzq+ADt7/kA7/D5APr69wDz9PoA9fX5APX0 + /AD49/sA9/j5APf4/AD6+fkA/Pr6APv8+gD8/PoA+fr8AP37/AD6/PwA/f39AAAAAAD326s0ISEhISEh + ISEhISEhISEhISEhISEhISEhMqzc+Ns5AwEBAQIDAgEBAQEBAQECAQIBAQEBAQIBAAEBBDrjpwkDBgUD + BgYGBgYGBgYGBgYGBgYGBgYGCAMDBgYDCa0zBwcHCB8iFgcICAcICAoICgcKCAgICAoKIx8KCgcKOCgL + DgogstQ7Fg4KDA4WDg4ODg4WDg4LFj3XsSALDgsrKQwNJLXy/NiIFgwPJxcODBYOFyYQERY83frysSUQ + DiouERGF4/D6/tqIFza2LBERDxEutjYRiNr+/vDjNw8PMC8REhOO5v7+/tqP1eqDEhIREoTq04/a/v7+ + 5o0ZExExLxMSGhuR6f7+/vb88YkUEhMTjPP+9v7+/emNGRgUEllWGhoaFRuR6f7+/v7+kxQaGhqU/v7+ + /v7pkD8aGhUaV1gcHBwVGkCv+/7+/v6wFT4VP7P+/v7+9q5AFT4cHRVaWz4+Pz8dh9X9/v7+/sNAPz5A + xP7+/v7+0oY/Pz4/P15fQUFBQV3K7vX+/v7+zU9BQVHM/v7+/vXvyFxBQUE+X11BQUFCUoqLlbjGzdbK + U0FCVcrfzcK3kouKUkJBQUFfa0NEREJCQ0RDQ1BQVGpEREREZ1RQUEJDREJCREJEQnxrQ0NEQ0VDREND + RENDREVDRENDRENEQ0NEQ0VDQ0NFbWxHRUdFR0VFR0VHRUVHR0VHRUdHRUVFRUVHRUVHRUVwbkdGSUdI + RkpGSUZIYGFHSUZHYkhISUZGSkVIRkpKRXBxSklJSEhpf5uiub3LxWRJSWnGx765oZt/aWFISkpJfXdL + TktKfsfo7/v+/v7eZU5LZt7+/v727+vHcU5OTkl+gE5OTk5joOT+/v7+/s5jTmNjx/7+/v7+5J9OTk5O + S355TU1yY3Jluvv+/v7+u01NcmO8/v7+/vu5ZUxNTnJNgIBNTXJOcpzh/v7+/v2mck1yTan+/v7+/uGc + ck1NTU2AeXJycmOd5P78/f3+86BycnJyo/P++/7+/uGdcnJzcoKAc3JzneL+/vnrweTsmnJycnOa7uTB + 6/7++uGdcnJygntycpfg+fz+66R2oNF6cnRydIDeoHal6/7++eCWdHOCe3NyeND2+eukdHVzlnZzdHN0 + doJ0c3Sl6/320Hhzc4J7dHNze9DrpXZzc3Rzc3NzdHNzdHN0c3al69B7dHNzgpdzc3N0e55zc3Nzc3Nz + c3Nzc3Nzc3Nzc3SeenNzc3Oav3Rzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc8DinnRzc3Nzc3Nz + c3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Se5PfiqpZ7enp6enp6enp6enp6enp6enp6enp6enqXwOT4AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAoAAAAEAAAACAAAAABAAgAAAAAAEABAAAAAAAAAAAAAAABAAAAAAAAHBaiAB0XqQAeGaoAHhmxAB8Z + uAAiHLkAIx2/ACUgpQAqJacAJiKtADgzpwA4NKcAODOoAC8ruAAwLLgANjKyADk1tAA5NroATkuyAE1K + twBQTLIAUU24ACEawAAjHcAAIhvGACEbzAAjHM0AJB7NACIb0wAkHdMAIhrUACMd1AAkHdQAIhvaACMc + 3wAoH98AKSPCACokwgAnIM0ALSbJADAqygA6NsAAOzbHAD03xwA/O8MAPTfMAD44zQApItQALifVAC4o + 0AAtKNUALibaACgg3wAsJt8ANC7RADAq2wAyK9wAPTfSAD440wA9N9gAPjbeAD442AA/ON0AIxziACQc + 5QAkHOoAJyDiAC4n4AApIOkAMyvnADMs5wAwKekAMinsADw25AA+OOEAPjjkADcw7AA+N+gAODDsAD43 + 7gA/OOoAQD3DAEA56gBGPusARD3sAHh1zgB5d9AAfHrQAH562QBVTe4AV1DuAHp15gCAfdoAko/TAJOQ + 0wCvrd4AsK/dALm43wCGg+AAh4TgAIaB6wCGge8AjIbwAKGe8QCsquQArq3kAKek7gCope4Arq3uALCu + 7wC2tuMAvLvgALq55QC3tesAt7bsALi27ACwrfMAs7DyALSy8gC5tvIAurjyAL+98gC6uPUAvbr1AL+9 + 9QDCwesAxMPrAMTC7ADHxO0Aw8H1AMXD9gDGxPYAyMf1AMzL8gD39/sA+Pj6APn5/AD+/v4A/91RAP/k + cQD/6pEA//CxAP/20QD///8AAAAAAC8UAABQIgAAcDAAAJA+AACwTQAAz1sAAPBpAAD/eREA/4oxAP+d + UQD/r3EA/8GRAP/SsQD/5dEA////AAAAAAAvAwAAUAQAAHAGAACQCQAAsAoAAM8MAADwDgAA/yASAP8+ + MQD/XFEA/3pxAP+XkQD/trEA/9TRAP///wAAAAAALwAOAFAAFwBwACEAkAArALAANgDPAEAA8ABJAP8R + WgD/MXAA/1GGAP9xnAD/kbIA/7HIAP/R3wD///8AAAAAAC8AIABQADYAcABMAJAAYgCwAHgAzwCOAPAA + pAD/EbMA/zG+AP9RxwD/cdEA/5HcAP+x5QD/0fAA////AAAAAAAsAC8ASwBQAGkAcACHAJAApQCwAMQA + zwDhAPAA8BH/APIx/wD0Uf8A9nH/APeR/wD5sf8A+9H/AP///wAAAAAAGwAvAC0AUAA/AHAAUgCQAGMA + sAB2AM8AiADwAJkR/wCmMf8AtFH/AMJx/wDPkf8A3LH/AOvR/wD///8AAAAAAAgALwAOAFAAFQBwABsA + kAAhALAAJgDPACwA8AA+Ef8AWDH/AHFR/wCMcf8AppH/AL+x/wDa0f8A////AGESDAwLDAwLDAwMDAsL + FG8TAAcIAAAAAAAAAAAIBwAVEAleXw8CCQICCQIQYF4JEBEOcIhuVlYDA1dWbodwDREpBFF+iIZoBQVp + hoh9LAQpKhYXXIiPfyQlgI+IWBcWKy4YKGNzhXMoKHOFc2InGC45GRkaJjE2Gxs2MSYaGRo6Ox4cICAv + Mh8gMC8gHB8ePTwhM1treW03OG18alszIT5KIjRkiI+DQ0OEj4hkNCJKSz9JeIiIdEJCdYiId0k/S01G + doeBZmVAQGVmgoh1RVJQR2d8VERHQUFFRFN8Z0dSWUFITEFBQUFBQUFBTkhBWnpZT09PT09PT09PT09P + WXsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAKAAAADAAAABgAAAAAQAgAAAAAACAJQAAAAAAAAAAAAAAAAAAAAAAAPv5+ML6+fne7O7z3q2v + 3N5fW7jeMS2m3h8cm94dGpneHRqZ3h0Zm94cGJveHBib3hwYm94cGZjeHBmY3hwZmd4dGZveHRmc3h0Z + nN4dGpveHRqZ3h0amd4dGZveHRmc3h0ZnN4dGJveHBib3hwYm94cGJveHRmc3h0ZnN4dGZzeHBib3hwY + m94cGJveHRib3h0ZnN4dGZzeHRmb3h0amd4dGpneIR2Z3jQvpt5jXrresK/c3u3w8977+/ne/Pv8wfv6 + +N/l4u7/envE/ycpoP8XFZn/Gxae/xoWmf8ZFZf/GRWX/xoVmf8cFpz/HBac/xwWm/8cF5r/HBea/xwX + mv8ZFJn/GRSZ/xkUmf8ZFZj/GRWX/xkVl/8ZFJn/GRSZ/xkUmf8aFZr/HBac/xwWnP8bFpv/GRSZ/xkU + mf8ZFJn/HBac/xwWnP8cFpz/GhWa/xkUmf8ZFJn/GRWY/xkVl/8ZFZf/HBaZ/x8Ynf8cFpn/Kyqf/3+A + xv/o5u//+vn63uzt9N96ecj/Hxah/xwVn/8aE53/GhSc/xsVnP8bFpz/Gxac/xwWnP8bFJ3/GxSd/xsV + nP8bFpv/Gxab/xsWm/8bFZ3/GxWd/xsVnf8bFpv/Gxab/xsWm/8bFZz/GxWd/xsVnf8bFZ3/GxWd/xsV + nf8bFZ3/GxWd/xsVnf8bFZ3/GxWd/xsVnf8bFZ3/GxWd/xsVnf8bFZ3/Gxac/xsWnP8bFpv/GxWc/xsW + m/8bFZz/HRaf/yEZoP+Af8r/7e323qys3d8pJqn/HRad/xsXnf8aFqD/GRag/xkWoP8dF6H/Hheh/x4Y + of8bFqD/GxWi/xsWn/8bFp//Gxaf/xsWn/8cF6D/HBeg/xwXoP8cF6D/HBeg/xwXoP8cF6D/HBeg/xwX + oP8bFqD/Gxaf/xsWn/8bFqD/HBeg/xwXoP8cF6D/Gxaf/xsWn/8bFp//Gxaf/xwVov8bFqD/HBie/xwU + oP8cF5//GhSi/xsWn/8cFp//HRid/xwUoP8tKan/tLLf3l1avd8aFaT/HRih/xsXov8cFqL/HBai/xoT + of8YFp3/Fxie/xsWpf8cFqP/Hhmi/x0Wpf8bFqP/HBai/xwWov8cFqL/HBai/xwWov8cFqL/HBai/xwW + ov8cFqL/HBai/xwWov8cFqL/HBai/xwWov8cFqL/HBai/xwWov8cFqL/HBai/xwWov8cFqP/HRem/xwY + of8bFaP/HBik/xgYof8bGp3/HBSk/xwWov8cFqL/Gxei/x0Xo/8dFqT/aGHA3i4srt8aGKX/Ghal/xsZ + pf8dF6X/HRel/x8Xo/8bFqn/MjCr/1ZVuf8hH5//IBmq/xwVpf8dFqX/HRel/x0Xpf8dF6X/HRel/x0X + pf8dF6X/HRel/x0Xpf8dF6X/HRel/x0Xpf8dF6X/HRel/x0Xpf8dF6X/HRel/x0Xpf8dF6X/HRel/x0X + pf8dFqX/Hheo/x0Wp/8iIKD/WVe7/zItr/8cGaf/IBik/x0Xpf8dF6X/Gxin/xoXpf8dF6b/OTKz3hwa + pd8aGKX/GhWn/xwZpv8fGab/HRWn/x4Yp/82La//p6fZ/9/i8f99fsn/Ih6t/x8Yp/8cF6X/HBap/xwX + pf8bGKb/HRSp/x4Wqf8eGKn/HRep/x0YqP8cFqn/HBen/xwXp/8cF6j/GxSp/xwYpv8eGKn/Hhao/x0V + qP8cGaX/HBij/xsUp/8dF6j/IRmm/yYhrf+Bgcr/4ePw/6Wj2v81LK//HBam/x0Vqf8eGKb/Gxeo/xoW + pv8bF6X/Ih+p3hwWqt8cF6r/HBeq/xsUqv8bG6T/GReo/zQssP+rqNz/9fX4//z7+//o6vL/fHjP/yMe + sP8aFar/HRmp/x4YrP8dFqz/Gxqp/xsaqf8ZFqb/HBat/x0bp/8cF6n/HBip/xwYqf8cGKn/Gxeo/xsX + qP8aF6f/Gxir/xsZrP8eFrH/Hhex/xsXp/8bGKb/JCCs/4F80P/r7fD//Pz5//Tz+P+ppd7/Myqx/xsY + q/8cG6b/Hhet/xwYqf8bF6j/IBus3h0WrN8dF63/HRet/xsYq/8XGKv/Ni61/6il3f/29vf//fj7//z7 + /P/++vv/6ery/3x+zf8hIKb/Hhqs/x0Wrv8eF6z/GRit/zIstv83Nbj/HRav/x0Zqv8dGaz/HRir/x0Y + q/8dGK3/HRun/xsVrP85ObX/Mi20/xkZqv8fGar/Hhmr/x0Yqv8iHqn/fn/P/+rr8//++/v//fz5//35 + +//19Pf/pqHb/zYuuP8aGq//HBis/x0Yq/8cGKr/IBuu3h0YsN8eGLD/HRiw/x0Zsf8dHLH/d3PL/+3t + 9P/6+vv/+Pzz//v8+P/+/fv//f38/+jp9/97fsv/JSGy/x4Yrf8cGK7/NC20/6Sh2v92d9L/Gxax/x4X + rv8eGbD/Hhmu/x4Zrv8eGLH/Hxms/x0WsP97fND/o6Db/zMrtP8cF7D/Hxix/yQgsf98gMr/6er3//z9 + /P/9/Pz/+/z4//n99P/6+/v/7O30/3Jsyf8ZF67/Gxiv/x0Zrv8dGK7/IRyy3hwasd8cGrH/HRqx/yAZ + sv8aGrH/MSq6/6Sk3f/09fb/+vn7//n8/P/+/v7//v7+//39/f/o7PL/e3zR/yMetf82MLv/qafd//T1 + 9/+Xltz/Gxm1/yAYsP8eGrL/HBqx/xwasf8dGrH/IBmx/yAbtf+em9v/9PX2/6el3P80Lbv/Ix61/319 + 0v/p7PL//f39//7+/v/+/v7/+fz7//r5+//z8/b/n5/c/zIovP8fHLP/Hxux/xwasf8bGbD/IB203hwZ + tN8dGbT/HRm0/x4WtP8bGrH/Ghiz/zEtu/+mo9z/9PT4//r9/f/+/v7//v7+//3+/f/9+/v/6enz/4qN + 0/+vrd//9PT1//r3+/+ysuT/JiC3/yAXtP8eGrX/HRm0/x0ZtP8cGrP/Hhmz/ygit/+3t+T/+/j7//Pz + 9P+tqt7/io3T/+np8//9+/v//f79//7+/v/+/v7/+v77//Tz9/+joNz/Lyy9/xwatP8fG7L/Hxm3/x0Z + tP8cGbP/IBy33h0atd8eGrb/Hhq1/x8ctP8gGLf/Ihm4/x0Ytv8yLMH/pKXe//X1+v/9/f3//P78//3+ + /P/+/Pz/+/v7//b3+v/5+vr//fr7//v8/f/GyOv/Lyi6/x8Xt/8eGrf/Hhq2/x4atv8cG7T/HBq0/zAr + u//KzOv/+/38//77/P/6+fv/9vf6//v8+//9/Pz//f78//z+/P/9/v3/8/T7/56f3P8xLb//HBu1/yEZ + tf8hF7j/HBq1/x4atv8dGbX/IR263h0ZuN8eGbj/Hhm4/x4ZuP8eGbj/Hhm4/yAYuv8cG7j/Mi2//6Sj + 4P/09fn/+fv7//r+/P/+//7////////////////////////////X2PL/PDXC/xsZt/8gGrj/Hhm4/x4Z + uP8gGbn/HBq3/z44wf/Z2vT////////////////////////////+//7/+fz6//r6+//z9fj/n53g/zEq + wv8aG7b/IBq4/x4ZuP8fGbj/Hhm3/x8auf8dGLf/IRy73h4Zut8fGbr/Hxm6/x8Zuv8fGbr/Hxm6/yEY + vf8dHLn/HBy8/zMvwP+npOP/9fL5//n8/P/+///////////////////////////////l5vT/TkfI/xwZ + uv8gGrr/Hxm6/x8Zuv8hGrz/HBm6/09Jxv/n5vX////////////////////////////+////+v37//Xy + 9/+kn+H/MyvC/x4Zvv8hHLr/Ixi+/x8Zuv8fGbr/Hxm6/yAau/8eGLn/Ihy93iAZvN8gGb3/IBm9/yAZ + vf8gGb3/IBm9/x4au/8eF7z/IBq6/x8avP81LMj/rq3l//n6+/////////////////////////////// + ///x8PX/YFnN/xwZvP8gGr3/IBm9/yAZvf8fGb3/HRq9/2Rezv/x8PX///////////////////////// + ////////+fn7/6qp4v80K8f/IBy9/x8Zu/8fGMD/Hxu9/yAZvf8gGb3/IBm9/yEavv8fGLz/IxzA3iAa + vt8gGr//IBq//yAav/8gGr//IBq//yAbv/8fGL7/IBm5/x8avv84L8z/sLHm//r5/P/+/v7//v7+//7+ + /v/+/v7//v7+//7+/v/49vr/eW/W/x0bvf8hGr//IBq//yAav/8gGL//Hh29/3511v/5+fr///////// + /////////v7+//7+/v/+/v7/+vn7/66u5P83Lsv/HxrA/yAZvP8hGcH/IBvA/yAav/8gGr//IBu//yAb + v/8gGr7/Ix/C3iEawt8hGsL/IRrC/yEawv8hGsL/IRrC/yMawv8iIL//HhvD/zcxyf+sqeb/9vL3//n8 + /P/+/v7//v7+//7+/v/+/v7//v7+//7+/v/7+fz/jIbe/x8cwf8iGsL/IRrC/yEawv8hGcP/IB7C/5GN + 3v/8/Pz//////////////////v7+//7+/v/9/v7/+f38//Xx9/+opOT/NC7I/x8cxv8gHr//JBrE/yEa + wv8hGsL/IRvC/yEbwP8gGsD/JB/E3iIaxd8iGsX/IhrF/yIaxf8iGsX/IhrF/yQZxf8gHMP/Ni7L/6el + 5f/09fr/+Pn6//n7+P/+/v3//v7+//7+/v/+/v7//v7+//7+/v/8+/z/np3n/yAcxv8kG8X/IhrF/yIa + xf8jGsX/Ih7H/6Oi5f/9/fz//////////////////v7+//7+/v/+/v3/+v76//n6/P/z9fn/pqTm/zUs + zP8gG8T/IxnF/yIaxf8iGsX/IhvF/yIbw/8hG8P/JR/G3iEaxd8hGsb/IRrG/yEaxv8hGsb/IRrG/yAa + xv8gGMb/TkXT/5iW5P+2tuz/y8vw/9vZ8v/q6/j/8fL7//f2+//6/Pv//P38//38+v/8/Pj/trbt/yIe + yv8gGsb/IRrG/yEaxv8gG8f/JCHI/7i66v/8/Pv//fz8//z9/P/6/fr/9vb7//Dx+v/p6vf/2trx/8rK + 8P+2tu3/l5Xk/01D0v8gGMf/IBrG/yEaxv8hGsb/IRvG/yEaxf8gGsX/JB3J3iEbyN8hG8j/IRvI/yEb + yP8hG8j/IRvI/yIbyv8hHMj/IRzE/yIex/8mI8j/Mi3K/0Q90v9VTtX/ZmLY/3t43v+Ri+H/pqTo/7q+ + 7P/Ozu7/sq/r/y8lyP8kGcn/IRvI/yEbyP8kGcr/MSnG/7Oy6v/MzO//ur3u/6ak6P+Qi+D/enbd/2Rg + 1v9SS9L/QzzS/zIty/8mI8j/Ih7H/yAcxP8hHMf/IhvK/yEbyP8hG8j/IRvI/yEbyP8hGsf/JB/L3iIb + y98iG8v/IhvL/yIby/8iG8v/IhvL/yIay/8hGcn/IBrL/yEZzP8jGs3/JBzN/yEby/8fG8r/IRrM/yMa + zf8hHcz/JB7N/yghzv81K9D/OzLP/yEdzv8iGcz/IhvL/yIby/8iGcv/Ih3O/zow0P8zKdD/KCLN/yQe + zf8hHM7/JBvO/yEazP8eG8r/IBrK/yMbzP8jGcz/IRnM/yAay/8hGcn/IhrL/yIby/8iG8v/IhvL/yIb + y/8iGsr/JR/O3iIbzN8iG8z/IhvM/yIbzP8iG8z/IhvM/yIczP8hGsz/IhnM/yQczP8iG8z/IBvK/yAb + yv8hGs3/IxzN/yMby/8hHMr/IRvL/yIay/8iG8v/JBvM/yIdzP8iG8r/IhvM/yIbzP8iG8r/IhzM/yMZ + zf8hGsv/IhvK/yEby/8hG8v/IhvL/yIbzP8gGcv/IBvK/yEcy/8iG83/JBzM/yIZzP8hGsz/IhzM/yIb + zP8iG8z/IhvN/yIazf8hGsz/JR/O3iEbzt8hG8//IRvP/yEbz/8hG8//IRvP/yEbz/8hG8//IRvP/yEb + z/8hG8//IRvP/yEbz/8hG8//IRvP/yEbz/8hG8//IRvP/yEbz/8hG8//IRvP/yEbz/8hG8//IRvP/yEb + z/8hG8//IRvP/yEbz/8hG8//IRvP/yEbz/8hG8//IRvP/yEbz/8hG8//IRvP/yEbz/8hG8//IRvP/yEb + z/8hG8//IRvP/yEbz/8hG8//IRvQ/yAa0P8gGs7/JB/P3iIb0t8iG9L/IhvS/yIb0v8iG9L/IhvS/yIb + 0v8iG9L/IhvS/yIb0v8iG9L/IhvS/yIb0v8iG9L/IhvS/yIb0v8iG9L/IhvS/yIb0v8iG9L/IhvS/yIb + 0v8iG9L/IhvS/yIb0v8iG9L/IhvS/yIb0v8iG9L/IhvS/yIb0v8iG9L/IhvS/yIb0v8iG9L/IhvS/yIb + 0v8iG9L/IhvS/yIb0v8iG9L/IhvS/yIb0v8iG9L/IhvT/yEa0/8hG9H/JCDT3iMb1N8jG9T/IxvU/yIb + 1f8iG9X/IhvV/yMb1f8jG9T/JBzV/yIb1P8hG9P/IRvS/yIb0v8hGtP/IRvU/yEc1P8hG9T/IRvS/yIc + 0f8hHNL/IxrW/yMd1P8jG9L/IhvV/yIb1f8jG9P/IxzU/yMa1f8iHNT/IhzS/yIb0/8hG9T/IRzU/yIc + 1P8iG9T/IxzT/yIb0/8hG9T/IhrU/yMb1P8iGtP/IxrU/yMa1f8jGtX/IxrV/yMa1P8iGtL/Jx/U3iMb + 1N8jG9X/IxvV/yEa1/8gGtf/IBrX/yEa1f8iGtX/IxvV/yAX0/8kGdj/Ixna/yEY2P8iGtb/IhrV/yEa + 1f8gGtb/IhrW/yQa1f8fHdX/Ix/S/x0c1f8jG9X/IBrX/yAa1/8jGtX/IBvV/yYg0P8iHNj/JRrY/yMa + 2P8hGtf/IRrU/yEZ0/8gF9P/IRjX/yQb2f8lG9f/IRjT/yQb1v8jG9X/IhrW/yMZ1/8jGdf/IxnX/yIa + 1P8hGtL/JR/U3iMb2N8jG9j/IxvY/yIb2P8hG9j/IRvY/yEb1v8jHNX/IRrU/yEZ1v8iGtn/JR7Y/yok + 2f81Ld3/RT3g/1VO4v9oYeH/fHjk/4+Q5v+ipej/l5fq/zAn1/8lGtn/IRvY/yEb2P8nGtv/NCjY/5ua + 6v+jouj/j4/n/3x35f9nX+H/UUre/0I63f8yK9v/KiTX/yQe1v8iGtf/IhrX/yMc1v8lHdf/IxzX/yMb + 2P8jG9j/IxvY/yIa1/8hGtX/JR/X3iQa298kGtv/JBrb/yMc2v8iHNr/Ihza/yMa2P8jG9f/PDXc/2lk + 5v+Fgeb/oZ/t/7q48f/MzfT/3N33/+nq+f/x8fz/9/f9//v9/f/9/Pn/u7vx/yUi1/8fG9j/Ihza/yIc + 2v8iG9v/KCTZ/7698P/9+/n/+/v9//b2/v/x8P3/6Or4/9vd9//MzvT/ubf0/6Gd7v+Df+f/aGLl/zoz + 2/8iGtb/IxrY/yQb2v8kG9r/JBva/yMZ2v8iGdf/Jx/a3iIa3N8jGtz/Ixrc/yIa3P8iGtz/Ihrc/yMa + 2v8jHNz/SkPb/8G+8P/29fj/+vn7//n7+f////7////////////////////////////9/Pz/pKbs/yQf + 3v8jGtv/Ihrc/yIa3P8kG93/Ix/e/6mr7//9+/z//////////////////v7+//7+/v/+/v7/+fr7//v6 + +v/29/j/vrzv/0hB2v8kHd3/JBvb/yMa3P8jGtz/Ixrc/yEZ2/8hGdj/JR/b3iQc3d8kHN7/JBze/yQc + 3v8kHN7/JBze/yUa3v8kHt3/Ixrg/1JH4//Hx/X/9/b6//38+/////////////////////////////// + ///7+/3/kY7s/yEd3v8iG9v/JBze/yQc3v8kHN3/IB3d/5aT7v/7+/z//////////////////v7+//7+ + /v/+/v7//f35//f3+//GxPb/UEXj/yMa4P8kHt3/JRre/yQc3v8kHN7/JBze/yIb3P8iG9r/JSDc3iQc + 3t8kHN//JBzf/yQc3/8kHN//JBzf/yQc4P8mHd7/JBjg/yUc3P9TR+b/yMjy//v5+f////////////// + ///////////////////4+fz/fnbs/x8c3/8iG9v/JBzf/yQc3/8jHd3/Hx3d/4N97P/4+fr///////// + /////////v7+//7+/v/+/v7/+/r5/8bE8/9SReT/Jx/d/yUa4f8lG93/Ixve/yQc3/8kHN//JBzf/yMb + 3v8jHNv/JyHe3iMc4d8jHOH/Ixzh/yMc4f8jHOH/Ixzh/yId4P8mGuL/Jhve/yIc3f8tI+D/mJns//n4 + +v/////////////////////////////////y8vn/aWHq/yAb4P8iG9//Ixzh/yMc4f8jGuD/Ixzf/2tn + 5//y9Pn///////////////////////////////7/+Pf5/5aV7P8tI+L/Ix3e/ycc3/8kGeD/IBvg/yMc + 4f8jHOH/Ixzh/yIb4P8iG9//JR/j3iIc4N8iHOD/Ihzg/yIc4P8iHOD/Ihzg/yUb4/8kG93/JBrm/yki + 4f+BfOz/6evz//39+//////////////////////////////////m6Pr/VU3l/yAa4P8kHeH/Ihzg/yIc + 4P8kHOH/IRvg/1dR4//q7Pv//////////////////////////////////Pv6/+nr+P9+eez/KSLg/yMb + 4f8kHNn/JRri/yIc4P8iHOD/Ihzg/yIc3/8iHN//JSDj3iMc4d8jHOH/Ixzh/yMc4f8jHOH/Ixzh/yEc + 4P8fHd//LiHp/4R96P/r6/b//Pr6//37/P///////v/+//////////////////7////Y2/r/RTzj/yEb + 4P8lHOL/Ixzh/yMc4f8iHOD/Hxvh/0g+5P/e3vn//////////////v////////////////7//vv7//z6 + /P/q6vb/gnzn/y0h6P8hH+D/Ix3j/yMc4f8jHOH/Ixzh/yIb4P8iG+D/JR/k3iQc498kHOT/JBzk/yMd + 5P8jG+f/Ixvh/yQc4/8oIuT/hYLt/+vr+f/+/P3//v39//79/P/7+/v/+fz5//r5/P/6+vv//vz8//z7 + /P/My/f/Nizj/yMa5f8kHeP/JBzk/yQc5P8jHOP/Ixrm/zov5//PzvX//fr9//79+//6+fr/+vj9//n9 + +v/8/P3//v38//79/v/+/P3/6un3/4OA7P8nIeP/JBzl/yMd5f8lHOj/JBvl/yMb5f8jG+P/JyDl3iQc + 5N8kHOX/JBzm/yMb6P8fG+L/Hxzn/yol5f+DfvD/6uz2//z8+v/+/v7//v7+//z9+//6+vj/9fD5/7Sz + 8f/LzPX/+Pn5//z5/P+6tvf/LCPj/yQb5v8kHeT/JBzl/yQc5f8jG+X/JRvm/y8l6P+9u/L//Pn6//j5 + +P/Ly/f/t7X1//by+f/6+/r//P38//7+/v/+/v7/+/v5/+nq+P+Be/L/KiPl/yEc5P8dHN7/Hxrn/yMa + 5/8jG+T/JyDm3iQc5N8kHOX/JBzl/yAc4v8jGub/LR/s/4SA7f/q6/f//fv3//77+//+/v7//v7+//z9 + /P/y9Pn/p6Dz/zot5/9TSOv/x8f1//j2+f+jnPT/JB3j/yUd5f8kG+X/JBzl/yQc5f8kG+X/JRzl/yUc + 6P+no/D/+Pf5/8LE9f9QRun/PC7p/6mk8v/z9Pr//f39//7+/v/+/v7//fv6//36+P/p6vj/gX3r/y0e + 6/8kHeX/IRzm/yMa5/8jG+T/JyDm3iQc5t8lHOf/JRzn/yMb5f8pHub/dWnu/+fn9f/6+vr//Pr5//36 + +v/7+vr/+v35//Ly/f+gnfH/OS/q/yUd5v8mHOn/VUnq/8XD8f+IgfH/Ihvm/yQd6f8lG+j/JRzn/yUc + 5/8mHOf/JB3m/yIb5f+MiO3/wsLy/1BF6f8mHej/Ixrm/zkw6f+jou//8/P9//n8+P/7+/r//fv5//z6 + +f/6+/n/5Obz/29k7P8pHef/Jhzp/yQb6f8kG+b/KCDp3iQc6N8lHOj/JRzo/yUb6f8jHOT/UUjn/8bF + 8v/3+Pr//fz7//v79//9+ff/8/L5/6Gi8/83Ler/Hxno/yYd4v8nHeT/JBvo/05E6P9RRu3/IRno/yEb + 5/8mHef/JRzo/yUc6P8lHOf/IRzo/yMb6P9TSev/TUPn/yQc6f8lHOT/JRrl/x8Y6v85L+n/p6bz//Tz + +P/7+vj/+/z5//38+//4+Pr/xMTx/05G5v8kHeX/Jx3r/yUb6f8kG+f/KCDq3iQc6N8lHOj/JRzo/yIb + 6P8iG+j/Ihnn/09F6P/FyPP/9/f6//j69v/08/n/p6Dz/zYt6v8iHOf/Ix3n/yUa6P8nG+r/JBzn/yUe + 5v8lHen/IRro/yEa5v8kHef/JRzo/yUc6P8kG+j/Ihrp/yMc6v8mH+j/JR/m/yUe6P8nG+r/Jhrr/yQc + 6f8iGuf/Oy/q/6uk8//09Pn/9/r3//j4+v/CxfH/TkTo/yMZ6P8iHOj/Ihro/yQb6f8kG+f/KCDq3iQe + 5t8jHOn/Jhzo/yMc6v8kG+z/Jh3p/yQe6v9SSO3/ycjy/+/w9v+ioPD/OTDt/yMb6/8nHOv/Jhrs/yQb + 6v8jGur/Jhrs/yUb6v8iGuv/JB3p/yMa6/8kHOr/JRzp/yUc6f8lHOv/JBvr/yMd6P8kHev/Jhzq/yYa + 6/8kG+v/Jh7q/yca6/8mGun/JBno/zwx6/+mpPL/8PH3/8jG8v9RR+3/Ix7q/ycd6v8kG+v/Ihvq/yQb + 6f8jG+j/KSLo3jgw698kHuv/Jxzr/yQd7P8kHOv/JBzr/yQc7P8mHO//U0no/4eE7v80LOn/Hxrs/yYd + 7P8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc + 6/8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc6/8kHOv/Jhrq/yEa6/85L+v/ioXw/1JH6f8lHe7/JR3r/yQc + 6/8kHOv/Ixzr/ycd7v8jHev/PjPt3mVb7d8kHOr/Jhvq/yQd6v8kHer/JB3q/yQc5/8jGuz/JB7n/yYd + 6v8hHO3/IRzr/yUb7f8kHev/JB3q/yQd6v8kHer/JB3q/yQd6v8kHer/JB3q/yQd6v8kHer/JB3q/yQd + 6v8kHer/JB3q/yQd6v8kHer/JB3q/yQd6v8kHer/JB3q/yQd6v8kHOv/JRvt/yAc6v8gHO3/JRzr/yQd + 5/8jHOr/JB3m/yQd6v8kHer/Ixzr/yQb7P8jG+n/bWDw3rGu9N8zK+3/JBvn/yIZ6v8kHOv/Ixvr/yQb + 7f8mHOz/JRzt/yUd7f8mHOv/JRvu/yMc6v8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc + 6/8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc6/8kHOv/Ih3r/yMb + 7v8jG+n/Ixzt/yUb7v8mHOv/JBzt/yQb7P8kHev/Ixrs/yQc6v80Kuz/ta/13uvt+t98efD/KRzu/yQb + 6P8oHe7/Jhrs/yYb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb + 7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb + 7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/Jxzv/yga7v8oHe3/Jx7q/ywd8P+CffP/7u773vr6 + 9t/j4/b/fHrx/zMq7/8mHe3/Ixzs/yMb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb + 7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb + 7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBzu/yEZ7P8jGen/Myvs/4J9 + 8//l5Pb/+/r23vv498P5+vbf6uz5366r9d9mW/HfNSzs3yUe6t8jG+zfIxvs3yMb7N8jG+zfIxvs3yMb + 7N8jG+zfIxvs3yMb7N8jG+zfIxvs3yMb7N8jG+zfIxvs3yMb7N8jG+zfIxvs3yMb7N8jG+zfIxvs3yMb + 7N8jG+zfIxvs3yMb7N8jG+zfIxvs3yMb7N8jG+zfIxvs3yMb7N8jG+zfIxvs3yMb7N8jG+zfJiDs3zgt + 8N9pXfHftLH23+3t+d/7+vbf/Pf4wgAAAAAAAFUKAAAAAAAAVQoAAAAAAABVCgAAAAAAAFUKAAAAAAAA + VQoAAAAAAABVCgAAAAAAAFUKAAAAAAAAVQoAAAAAAABVCgAAAAAAAFUKAAAAAAAAVQoAAAAAAABVCgAA + AAAAAFUKAAAAAAAAVQoAAAAAAABVCgAAAAAAAFUKAAAAAAAAVQoAAAAAAABVCgAAAAAAAFUKAAAAAAAA + VQoAAAAAAABVCgAAAAAAAFUKAAAAAAAAVQoAAAAAAABVCgAAAAAAAFUKAAAAAAAAVQoAAAAAAABVCgAA + AAAAAFUKAAAAAAAAVQoAAAAAAABVCgAAAAAAAFUKAAAAAAAAVQoAAAAAAABVCgAAAAAAAFUKAAAAAAAA + VQoAAAAAAABVCgAAAAAAAFUKAAAAAAAAVQoAAAAAAABVCgAAAAAAAFUKAAAAAAAAVQoAAAAAAABVCgAA + AAAAAFUKAAAAAAAAVQoAAAAAAABVCgAAAAAAAFUKAAAAAAAAVQoAAAAAAABVCigAAAAgAAAAQAAAAAEA + IAAAAAAAgBAAAAAAAAAAAAAAAAAAAAAAAAD7+PjC1NXp3m5uv94tKqXeHBmZ3hwYmN4cGJneHBab3hwW + m94cGJneHBiZ3hwWm94cFpveHBiY3hwYmN4cFpveHBab3hwWm94cFpveHBab3hwWm94cFpveHBab3hwW + m94cFpveHBaZ3hwYmN4fGpneMiuk3nJwv97W1+ne+/n7wdTU6t9QS7T/HBee/xsVnP8bFpv/GxWb/xsV + nP8bFZ3/GxWc/xsWm/8bFpv/GxWc/xsVnP8bFpr/Gxaa/xsVnP8bFZz/GxWc/xsVnP8bFZz/GxWc/xsV + nP8bFZz/GxWc/xoUnP8bFZv/GxWa/xsWm/8cFpv/HRmd/1NPtf/W1uzebmzE3x4YoP8bFp//Ghag/xoV + oP8bF5//HBai/xwWov8cFqH/Gxag/xsWoP8cFqH/HBah/xwXoP8cF6D/HBah/xwWof8bFqD/Gxag/xsW + oP8cFqH/Gxag/xsWoP8cFqH/HBai/xwXoP8bF57/GxWh/xsWoP8cF5//Hxii/3Zxxt4sKqzfGxek/xsX + pP8cFqX/HRaj/ykoqf87Oa7/Hxql/xwWpf8cFqT/HBak/xwWpf8dFqX/HBal/xwWpf8cFqX/HBal/xwW + pf8cF6X/HRal/xwWpP8cF6T/HBak/x0Wpv8eGaT/PTuv/yooq/8eGKT/HBal/xsXpf8cF6X/NC2v3hwZ + pt8bFqf/HRin/xwYpv8vKK7/n53X/87P6f9TUL3/Hhmp/xwXqP8cGKf/HBao/x0YqP8dF6n/HRio/xwX + qP8cGKj/HBap/xwYp/8dF6j/HRep/x0YqP8bFqf/IBqo/1hUvf/Q0ej/nprX/y4nrv8cF6j/HBio/xsX + p/8fG6jeHBas3x0XrP8aGKr/LCix/6Cc2f/29Pj//Pr7/9bV7f9TUr7/Hhqq/x0Wrf8cGaz/MC20/yEc + r/8dGar/HRir/x0Yq/8dGan/IR2s/zAus/8cGaz/Hhiu/x0Zqf9VVL7/2Nft//z8+f/19Pj/npnY/ywo + tP8cGK3/HBiq/x8ard4dGbDfHRmw/xwZsP9PSsD/3t7w//n69//8/Pr//f39/9XW7v9UVMH/Hxqw/0hD + vP+pqN//NDG6/x4YsP8dGbD/HRmv/x8Zr/84M7n/qqne/0dBvf8fGbH/VVTA/9bY7//9/f3//Pz6//r7 + +P/c3fD/TEa//xsZr/8cGa7/Hxuw3hwas98dGbP/HRiy/x8ctf9ta83/5eTz//v9/f/+/v7//Pz8/9bW + 7v93ds7/y8np/+fm9f9IRML/Hxiz/x0as/8cGrL/HRmz/0xHwv/p6PT/ysjo/3d1zv/W1+3//Pz8//7+ + /v/7/fz/5OPy/2pozf8iHbb/Hxq0/x0Zs/8fG7XeHRq13x4atv8fGrX/IBm3/yEcuf9ubND/5ub1//v9 + /P/9/vz//Pz8//b2+v/9+/z/8/T6/15Zyv8fGLf/Hhq2/x4atv8cGrb/YV3L//T1+v/9/P3/9vb6//z8 + /P/9/fz/+/38/+Tk9f9qac//IR64/yAYtv8eGbf/Hhm2/yAbt94eGbrfHxm6/x8Zuv8fGbr/Hxm7/yAf + u/9vbNL/5uT1//v9/f/////////////////6+v3/dnLS/x0Zuv8fGbr/IBm6/x4Zuv94ddP/+vv9//// + //////////////v9/P/l4/T/bWfS/yIdvv8hGrv/Hxm6/x8Zuv8fGbr/IBq73iAZvd8gGb7/IBm+/yAZ + vv8fGrz/Hxi7/yQewP+Mid7/+fj7//////////////////39/f+Ri9v/Hxq9/yAZvv8gGb7/IBu+/5SQ + 2//+/f3/////////////////+Pj7/4mG3P8kH8D/IBm9/x8av/8gGb7/IBq+/yAavf8hG7/eIRrB3yEa + wf8hGsH/IRrB/yIbwP8gHL//S0XN/8zJ7v/6/Pz//v7+//7+/v/+/v7//f39/6mk5f8jHsH/IhrB/yEa + wf8jHsL/rarl/////v///////v7+//7+/v/6/Pz/ysft/0lDzf8gHMH/IhvC/yEawf8hG8H/IRvA/yMc + wt4iGsXfIhrG/yIaxv8iGsb/IRrE/zozzP+1tOr/7e/4//b3+f/8/P3//f39//3+/f/+/fz/urrs/yYi + yP8iGsX/IhrG/ycjyP++vev//v39//7//v/9/f3//Pz9//f5+f/u7/n/s7Lq/zgxzP8hGcX/IhrG/yIb + xv8hG8P/IxzG3iEbxt8hG8f/IRvH/yEbx/8hG8j/KyTK/0ZB0P9bVtX/dnHd/42K4v+koej/ubjs/8zN + 7/+0sur/LibL/yIayP8iGsj/MCjK/7W06v/LzPD/ubjs/6Oh5/+LiOD/dG/c/1pW1f9FQdH/KiPK/yEb + yf8hG8f/IRvH/yEbx/8jHMneIhvL3yIby/8iG8v/IhvL/yIay/8hGsr/IhrM/yMbzP8gG8v/IhvM/yUe + zP8nIs3/LyjP/zgw0P8kHc3/IhvL/yIby/8kHcz/Ny7R/y4pzv8nIc3/JR3N/yIby/8gGsr/IhvM/yIa + y/8hGsr/IhrL/yIby/8iG8v/IhvL/yQczd4hG83fIRvO/yEbzv8hG87/IRvO/yEbzv8hG87/IRvO/yAb + zv8hG87/IRvO/yEbzv8hG87/IRvO/yEbzv8hG87/IRvO/yEbzv8hG87/IRvO/yEbzv8hG87/IRvO/yAb + zf8hG87/IRvO/yEbzv8hG87/IRvO/yEbz/8hGs//Ix3O3iIb0t8iG9L/IhvS/yIb0/8iG9L/IhvT/yIb + 0v8iG9L/IhvS/yIb0v8iG9L/IhvS/yIb0v8iG9P/IhvS/yIb0v8iG9L/IhvS/yIb0/8iG9L/IhvS/yIb + 0v8iG9L/IhvS/yIb0v8iG9L/IhvS/yIb0v8iG9P/IhvT/yIa0/8jHdPeIxvU3yMb1f8hGtb/IRrX/yIa + 1f8jG9X/IhnV/yIZ1/8hGdX/IRvV/yEb1f8jHNT/JSDT/ycj1f8iHdX/IRrW/yEa1v8jHNX/KSPU/yYf + 1v8kHNb/IRvV/yAZ1P8hGdX/IxvW/yIa1P8jG9X/IhrV/yMa1/8jGtf/IhrT/yMd094jGtnfJBrZ/yIb + 2f8iG9n/IxvX/ycf1v80LNv/Qzzd/1ZQ4f9saOX/hYHo/52a6/+wse3/oaHr/y4n2f8iG9n/IhvZ/zIo + 2v+kour/sLDu/5yY7P+Dfuf/amXj/1VP4P9DPNz/NCzb/ycf1/8kHNf/JBvZ/yQb2f8jGdf/JB3W3iMa + 3N8jGtz/Ixvc/yIb3P8jGtr/Pzjd/7Kv7v/i4fb/7/D5//j4/f/8/P7//v3+//7+/f+/v/H/KCPc/yIb + 2/8jG9z/KiXd/8HC8v/+/f3//v3///v7/f/3+Pz/7u/6/+Lh9/+wru7/Pjfb/yMb2/8jG9z/Ixvc/yIZ + 2v8kHNreJBzd3yQc3v8kHN7/JBze/yUc3v8lHd7/Y1rn/9rZ9//9/Pz//////////////////v7//6yq + 8f8kH97/JBzd/yQc3v8lIN3/r63y//7+/v///////v7+//7+/v/9/Pv/2tj3/2FY5v8mHd//JBvd/yQc + 3v8kHN7/Ihvc/yQd294jHODfIxzg/yMc4P8jHOD/JB3g/yUa3/8nH97/iIXq//j3+/////////////// + ///9/f7/lpHv/yIc3/8jHOD/JBzg/yQd3/+Ylu3//f39//////////////////j3+/+Ggev/KCDf/yYb + 4P8iG9//Ixzg/yMc4P8iG9//JB3f3iMc4N8jHOD/Ixzg/yMc4P8jG+D/JRvk/1pU5v/X1/T//fz8//// + //////////////r7/v98d+v/Ihvh/yMc4P8jHOD/Ihzg/4B86v/7/P7//////////////////fz8/9bV + 9v9ZU+b/JR3h/yMc3/8jHOD/Ixzg/yIb4P8kHeLeJBzj3yQc4/8jHOT/Ixvi/yMd4v9cV+n/2tj2//38 + /P/9/Pz/+/z7//n6/P/9/P3/9PT8/2Vd6v8jG+P/JBzj/yMc4/8iG+T/aWHr//b1/P/+/Pz/+vn8//z9 + /P/9/f3//fz8/9jW9f9aVej/JB7j/yMd5P8kG+X/Ixvj/yUf5N4kHOTfJBzl/yEc5P8jHOf/W1br/9jY + 9f/9/Pz//v7+//v8+v/l4vj/mJTv/9vb9//r6fr/UEjp/yQc5f8kHOX/JBzl/yQb5v9TS+r/7Or4/9ra + 9/+alfL/5uT4//v9/P/+/v7//Pz7/9fV9v9aVOv/JB3l/yAc5P8jGub/JR/l3iQc5d8kHOb/Ixzk/1BE + 6//V0/X/+/r5//37+//8/fv/4+P6/3Bp7v8rIef/ZFvt/7+78/8+Nur/JBzn/yUc5v8lHOb/JBzm/0A5 + 6P+/vfL/YFjr/yog5/9ybO3/5eX5//v8+//9+/r/+/r5/9LS8/9NQur/JRzn/yQb5/8lH+beJBzo3yUc + 6P8jG+f/PTXn/7e18f/4+Pr/+/r3/+Xj9/9vau7/JR7o/yYd5f8mHuf/Rz7p/ysh6v8jHOb/JRzo/yUc + 6P8jHOf/LSTq/0Y/6P8mHuf/Jhrn/yUe6f9zbu7/5uT3//r7+P/3+Pr/trPx/zw05/8kHOj/JRvp/ycf + 6d4kHejfJRzo/yMc6v8kG+r/Pzjr/7m38//g4PX/cWrv/ygf6/8mG+r/JBvq/yYb6v8kHOn/Ihvp/yMb + 6v8lHOn/JRzp/yMb6v8jHen/JR3q/yYb6v8lHOv/JRvq/yke6f90be//4OH2/7i18/8+N+v/JBzq/yIb + 6v8kG+n/JyDp3jYu698mHOv/JB3r/yQc6v8kHOz/QDjr/1lT6/8kHuz/JRzs/yQc6/8kHOv/JBzr/yQc + 6/8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc6v8kHOv/JBzr/yQc6/8kHOv/JRvr/yYe7P9bVe3/QDfr/yQc + 6/8kHOr/Ixzr/yUc7f85MOzedW7w3yYd6f8jG+r/JBzq/yQb6/8lHOz/JBzs/yQb7P8kHOz/JBzr/yQc + 6/8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc6/8jHOz/Ihvs/yIb + 7P8kHOz/JBzq/yQc6/8kHOv/JR3r/3hw8d7T1PbfVU3v/ycd7P8mG+3/JRvt/yQb7f8kG+3/JBvt/yQb + 7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb + 7f8kG+3/JBvt/yQb7f8mHO7/JRvu/yge6/9ZUPH/1tX23vn498PS0/XfdG3y3zUs7N8kHOvfJBvs3yQb + 7N8kG+zfJBvs3yQb7N8kG+zfJBvs3yQb7N8kG+zfJBvs3yQb7N8kG+zfJBvs3yQb7N8kG+zfJBvs3yQb + 7N8kG+zfJBvs3yQb7N8kG+zfJBvs3yQc7d81LO3feHHy39bV9t/7+PfCAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAEAAAACAA + AAABACAAAAAAAEAEAAAAAAAAAAAAAAAAAAAAAAAApKLWwjQxp94cFpveGxWc3hsWm94bFZveGxab3hsV + m94bFZzeGxWc3hsVnN4bFZzeGxWb3hwWm943Mqfep6bXwTQxrd8cFqL/JSCl/yolp/8cFqP/HBai/xwW + ov8cFqL/HBai/xwWov8cFqL/HBaj/yomp/8lIKX/HBei/zgzrt4cGKrfJiKs/5OQ0/+vrd7/NjKy/x8a + q/8mIq7/HRiq/x0Xqf8mIq3/Hxqr/zczsv+wr93/ko/T/yYirf8dGaneHBmx3zAsuP+7uuX/+Pn7/7a2 + 4/95ds7/eXfQ/x4Zsv8eGrH/fHrQ/3h1zv+3t+P/+Pn6/7q45f8vK7j/HRqy3h0ZuN8fGbj/QD3D/8TD + 6//6+vz/9/f7/6yq5P8iHLn/Ih25/66t5P/39/v/+vr8/8LB6/8/O8P/Hxm4/x8auN4gGsDfIRrA/yMd + v/+Afdr/+Pj8//7+/v/Ewuz/KSPC/yokwv/HxO3///////j4+/9+etn/Ix3A/yEawP8hGr/eIhvF3yIb + xv8uJ8n/h4Tg/7i27P/My/L/t7Xr/zAqyv8xK8r/uLfs/8zL8v+3tuz/hoPg/y0myf8iG8b/IhvG3iIb + zN8iG83/IRvM/yMczf8nIc7/LijQ/zQu0f8kHs3/JR7N/zQu0f8uKND/JyDN/yMczf8hG8z/IhvN/yIb + zd4iG9PfIhvU/yIb0/8iG9T/JB3U/ykj1P8tKNX/Ix3U/yQd1P8uJ9X/KSLV/yQd0/8iG9P/IhvT/yIa + 1P8iG9PeIxra3yIb2v8uJtr/e3bm/6il7v+/vvL/rq3u/zAq2/8yK9z/sK7v/7+98v+npO7/enXm/y4m + 2v8jG9r/IxvZ3iMc3t8jHN//KCDf/4eC6//5+fz//////8bE9v8sJt//Lifg/8jH9f//////+Pj8/4aB + 6/8oH9//Ixzf/yMc3d4jHOHfIxzi/z025P+6uPL/+vr8//r6/f+wrfP/JyDi/ycg4v+zsPP/+vr9//r6 + /f+5tvL/PDbk/yMc4v8jHOLeIxvl3zMs5/+0svL/+fj7/8PB9f+Nh/D/hYDv/yQc5f8lHOb/h4Lv/4yG + 8P/Fw/b/+fj7/7Ow8v8zK+f/JBzm3iQc6N8wKOn/op/y/7679P9EPez/KSDp/zEp6f8kHOj/JBzp/zIr + 6f8pIOn/Rj7r/7+99f+hnvH/MCjp/yUd6d48NevfJBzq/zIp7P83MOz/JBzr/yQc6/8kHOv/JBzr/yQc + 6/8kHOv/JBzr/yQc6/84MOz/MSnr/yQc6/8/N+zepqPzwz007d8kG+zfJBvs3yMb7N8jG+zfIxvs3yMb + 7N8jG+zfIxvs3yMb7N8jG+zfIxvs3yQb7N8+Ne3fqaX0wgAAJgAAACYAAAAmAAAAJgAAACYAAAAmAAAA + JgAAACYAAAAmAAAAJgAAACYAAAAmAAAAJgAAACYAAAAmAAAAJgA= + + + \ No newline at end of file diff --git a/Themenmanagement/Kernbotschaften - Kopie/frmKernbotschaft.vb b/Themenmanagement/Kernbotschaften - Kopie/frmKernbotschaft.vb new file mode 100644 index 0000000..a42fa03 --- /dev/null +++ b/Themenmanagement/Kernbotschaften - Kopie/frmKernbotschaft.vb @@ -0,0 +1,509 @@ +Imports System.Data.SqlClient +Imports System.Data.SqlTypes + +Public Class frmKernbotschaft + + Dim kb As New clsKB + Dim sec As New Utils.MySecurity + Dim msg As New Utils.MyMessage + Dim FormReadonly As Boolean = False + Dim FormDataChanged As Boolean = False + Dim SpaltenTitel As New Utils.Tabellenspalte + + Dim m_artikelnr As Integer + Property Artikelnr As Integer + Get + Return m_artikelnr + End Get + Set(value As Integer) + m_artikelnr = value + End Set + End Property + + + Sub New(ByVal artikelnr As Integer, Optional create_new As Boolean = False) + + InitializeComponent() + If create_new Then Me.Artikelnr = kb.Add_New() Else Me.Artikelnr = artikelnr + End Sub + + Sub New() + InitializeComponent() + Me.Artikelnr = 5 + End Sub + + Private Sub frmKernbotschaft_Load(sender As Object, e As EventArgs) Handles MyBase.Load + Dim sel As Boolean + kb.Get_Stammdaten() + kb.Get_Beziehungen(Me.Artikelnr) + AddChanges(Me) + + + clbAbsender.Items.Clear() + For Each r As DataRow In kb.absender.Rows + sel = False + For Each r1 As DataRow In kb.Absender_Artikel.Rows + If r1("absendernr") = r("absendernr") Then + sel = True + Exit For + End If + Next + If sel Then clbAbsender.Items.Add(r("Bezeichnung"), True) Else clbAbsender.Items.Add(r("Bezeichnung"), False) + Next + + + clbAnspruchsgruppe.Items.Clear() + For Each r As DataRow In kb.Anspruchsgruppe.Rows + sel = False + For Each r1 As DataRow In kb.Anspuchgruppe_Artikel.Rows + If r1("anspruchgruppenr") = r("anspruchgruppenr") Then + sel = True + Exit For + End If + Next + If sel Then clbAnspruchsgruppe.Items.Add(r("Bezeichnung"), True) Else clbAnspruchsgruppe.Items.Add(r("Bezeichnung"), False) + Next + + clbThemengruppe.Items.Clear() + For Each r As DataRow In kb.Themengruppe.Rows + sel = False + For Each r1 As DataRow In kb.Themengruppe_Artikel.Rows + If r1("themengruppenr") = r("themengruppenr") Then + sel = True + Exit For + End If + Next + If sel Then clbThemengruppe.Items.Add(r("Bezeichnung"), True) Else clbThemengruppe.Items.Add(r("Bezeichnung"), False) + Next + + 'Me.txtTitel.Text = kb.sBezeichnung.Value + 'Me.txtBeschreibung.Text = kb.sBeschreibung.Value + + Me.Get_Data(Me.Artikelnr) + Me.FormDataChanged = False + + End Sub + + +#Region "Eventhandler ChangeEreignisse" + ''' + ''' Allg Eventhandler für Chanage-Ereignise festlegen + ''' + ''' + ''' + Private Sub AddChanges(ByVal Container As Control) + Dim l As New List(Of Control) + Me.GetControl(Me, "*", l) + Dim evh As EventHandler = AddressOf ChangesMade + For Each c As Control In l + If TypeOf c Is TextBox Then + Dim ctl As TextBox = c + AddHandler ctl.TextChanged, evh + End If + If TypeOf c Is MaskedTextBox Then + Dim ctl As MaskedTextBox = c + AddHandler ctl.TextChanged, evh + End If + If TypeOf c Is ComboBox Then + Dim ctl As ComboBox = c + AddHandler ctl.SelectedValueChanged, evh + End If + If TypeOf c Is CheckBox Then + Dim ctl As CheckBox = c + AddHandler ctl.CheckedChanged, evh + End If + Next + AddHandler txtBeschreibung.TextChanged, evh + AddHandler txtSuchbegriffe.TextChanged, evh + End Sub + ''' + ''' Envent-Handler für Change-Ereignisse + ''' + ''' + ''' + ''' + Private Sub ChangesMade(ByVal sender As Object, ByVal e As System.EventArgs) + Me.FormDataChanged = True + Dim objtype As System.Type = sender.GetType + If objtype.Name = "MaskedTextBox" Then + Dim o As MaskedTextBox = sender + If o.Text = "01.01.1900" Then o.Text = " . . " + End If + End Sub + + ''' + ''' Sucht in den Base-Controls sämtliche Controls mit dem Namen in "Key" (Wildcards * möglich) und listet + ''' die gefundnen Controls in der Liste L zur weiteren Bearbeitung + ''' + ''' Base-Contrlo (z.B. aktuelles Formular + ''' Schlüssel welcher gesucht werden soll + ''' Liste der gefundenen Objekte + ''' True wenn eines oder mehr Controls gefunden wurden, false wenn kein Control gefunden wurde. + ''' + ''' + Private Function GetControl(ByVal BaseControl As Control, ByVal Key As String, ByRef L As List(Of Control), Optional ByVal ReturnAtFirstElement As Boolean = False) As Boolean + If L Is Nothing Then L = New List(Of Control) + Dim Gut As Boolean + Dim ReturnFlag As Boolean = False + If Key IsNot Nothing Then Key = Key.ToLower + + If BaseControl.HasChildren = True Then + For Each ctl As Control In BaseControl.Controls + Gut = False + If Key Is Nothing Then + Gut = True + Else + If ctl.Name.Length >= Key.Length Then + Key = Key.ToLower + If Key.StartsWith("*") Then + If Key.Substring(1) = ctl.Name.ToLower.Substring(ctl.Name.Length - (Key.Length - 1), Key.Length - 1) Then Gut = True + ElseIf Key.EndsWith("*") Then + If Key.Substring(0, Key.Length - 1) = ctl.Name.ToLower.Substring(0, Key.Length - 1) Then Gut = True + Else + If Key = ctl.Name.ToLower Then Gut = True + End If + End If + End If + + If Gut = True Then + L.Add(ctl) + If ReturnAtFirstElement = True Then ReturnFlag = True + End If + If ReturnFlag = False Then + Call GetControl(ctl, Key, L) + End If + Next + End If + + If L.Count - 1 > -1 Then + Return True + Else + Return False + End If + End Function + + Private Sub dtGueltigAb_Enter(sender As Object, e As EventArgs) Handles dtGueltigAb.Enter + If Me.txtGueltigab.Text = " . ." Then Me.dtGueltigAb.Value = Now.ToShortDateString Else Me.dtGueltigAb.Value = Me.txtGueltigab.Text + End Sub + + Private Sub dtGueltigBis_Enter(sender As Object, e As EventArgs) Handles dtGueltigBis.Enter + If Me.txtGueltigbis.Text = " . ." Then Me.dtGueltigBis.Value = Now.ToShortDateString Else Me.dtGueltigBis.Value = Me.txtGueltigbis.Text + End Sub + Private Sub dtPicker_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles _ + dtGueltigAb.Leave, dtGueltigBis.Leave + Dim s As String + Dim obj As DateTimePicker = sender + s = obj.Name + Check_Datum(Me.kb.iArtikelnr.Value, obj.Value, obj.Name) + End Sub + + ''' + ''' Handelt das Change-Ereignis eines Datetimepckers und stellt das ausgewählte Datum in das entsprechende Textfeld + ''' + ''' + ''' + ''' + Private Sub DateTimePicker_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles _ + dtGueltigAb.ValueChanged, dtGueltigBis.ValueChanged + Dim s As String + Dim obj As DateTimePicker = sender + s = obj.Name + If UCase(s) = "DTGUELTIGAB" Then s = "txtGueltigab" + If UCase(s) = "DTGUELTIGBIS" Then s = "txtGueltigbis" + Dim l As New List(Of Control) + Dim txtb As MaskedTextBox + GetControl(Me, s, l) + For Each ctl As Control In l + txtb = CType(ctl, MaskedTextBox) + txtb.Text = obj.Value + Next + + 'If obj.Name = "dtPickerVertragsende" Then + ' txtVertragsende_Leave(sender, e) + 'End If + + + + End Sub + + Private Sub Check_Datum(ByVal Vertragselementnr As Integer, ByVal Datum As String, ByVal element As String) + 'Dim dt As New DataTable + 'If Not IsDate(Datum) Then Datum = "01.01.1900" + 'dt = Me.Vertragselement.Datumscheck(Me.Vertragselement.iVertragselementnr.Value, Datum, element, Me.cbboxParentTree.SelectedNode.Tag) + 'Dim titel As String = "Datumsprüfung Vertragselement: " + Me.Vertragselement.sBezeichnung.ToString + 'Try + ' Dim formopen As Boolean = False + ' Dim dtpform As frmDatumspruefung + ' Dim p As Form = Me.ParentForm + ' For Each windows As Form In p.MdiChildren + ' If windows.Name = "frmDatumspruefung" Then + ' formopen = True + ' dtpform = windows + ' End If + ' Next + ' If formopen = True And dt.Rows.Count > 0 Then + ' dtpform.C1Pruefresultate.DataSource = dt + ' dtpform.Text = titel + ' dtpform.C1Pruefresultate.DataMember = dt.TableName + ' dtpform.Spalten_Aktualisieren() + ' dtpform.TopMost = True + ' dtpform.BringToFront() + ' dtpform.Show() + ' Exit Sub + ' End If + ' If dt.Rows.Count > 0 Then + ' Dim f As New frmDatumspruefung + ' f.C1Pruefresultate.DataSource = dt + ' f.C1Pruefresultate.DataMember = dt.TableName + ' f.MdiParent = Me.MdiParent + ' f.Text = titel + ' f.Spalten_Aktualisieren() + ' 'Me.SpaltenTitel.Spaltentitel_aktualisieren(f.C1Pruefresultate, "Datumspruefung", dt) + ' f.Show() + ' End If + ' 'dt.Dispose() + 'Catch ex As Exception + 'End Try + End Sub + +#End Region + + +#Region "Closing / Check_Changes" + + ''' + ''' Schliessen des Formulars + ''' + ''' + ''' + ''' + Private Sub ClosingForm(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing + If Me.FormReadonly = True Then Exit Sub + If Check_Changes() = False Then + e.Cancel = True + Else + If Me.kb.Neuer_Datensatz = True Then Me.kb.Delete(Me.kb.iArtikelnr.Value) + Me.kb.dispose() + Me.msg.dispose() + Me.SpaltenTitel = Nothing + Me.sec = Nothing + Delete_Temp_Files() + + Me.Dispose() + End If + End Sub + + Private Sub Delete_Temp_Files() + Dim s As String + For Each s In System.IO.Directory.GetFiles(Globals.clsapplication.sTmp_filepath) + Try + System.IO.File.Delete(s) + Catch + End Try + Next s + End Sub + ''' + ''' Prüfung, ob Datenänderungen vorgenommen wurden. + ''' + ''' + Private Function Check_Changes(Optional ByVal reload As Boolean = False) As Boolean + If Me.FormReadonly Then Return True + Dim msgres As MsgBoxResult + If Me.FormDataChanged Then + msgres = msg.Show_MessageYesNoCancel(3) + Select Case msgres + Case MsgBoxResult.Yes + Save_data() + Return True + Case MsgBoxResult.Cancel + Return False + Case MsgBoxResult.No + If reload = True Then + Me.Get_Data(Me.Artikelnr) + End If + Me.FormDataChanged = False + Return True + End Select + Else + Return True + End If + End Function + +#End Region + + + +#Region "Daten" + ''' + ''' Daten ab DB laden uns ins Form befüllen + ''' + ''' + ''' + Private Sub Get_Data(ByVal Artikelnr As Integer) + Try + kb.Get_Artikel(Artikelnr) + Me.txtTitel.Text = Me.kb.sBezeichnung.Value.ToString + Me.txtBeschreibung.Text = Me.kb.sBeschreibung.Value.ToString + Me.txtSuchbegriffe.Text = Me.kb.sSuchbegriffe.Value.ToString + Me.dtGueltigAb.Value = Me.kb.daGueltig_ab.Value + Me.dtGueltigBis.Value = Me.kb.daGueltig_bis.Value + Me.cbAktiv.Checked = Me.kb.bAktiv.Value = True + Me.txtErstellt_am.Text = Me.kb.daErstellt_am.ToString + Me.txtMutiert_am.Text = Me.kb.daMutiert_am.ToString + Me.txtMutierer.Text = Me.kb.MutiererText.ToString + Me.txtArtikel.Text = Me.kb.sArtikel.ToString + + + ChangesMade(Me.txtGueltigab, Nothing) + ChangesMade(Me.txtGueltigbis, Nothing) + + + sec.Set_Form_Security(Me) + Me.FormDataChanged = False + 'shu Set_Titel() + Catch ex As Exception + For Each ctl As ToolStripButton In Me.ToolStrip1.Items + ctl.Enabled = False + Next + Me.TSBtnQuit.Enabled = True + 'shu Me.TSBtnSuche.Enabled = True + Me.TSBtnNew.Enabled = True + sec.Set_Form_Security(Me) + End Try + Me.FormDataChanged = False + End Sub + ''' + ''' Daten ab Form speichern + ''' + ''' + Private Sub Save_data() + kb.sBezeichnung = New SqlString(CType(txtTitel.Text, String)) + kb.sBeschreibung = New SqlString(CType(txtBeschreibung.Text, String)) + kb.sArtikel = New SqlString(CType(txtArtikel.Text, String)) + kb.sSuchbegriffe = New SqlString(CType(txtSuchbegriffe.Text, String)) + kb.bAktiv = New SqlBoolean(CType(cbAktiv.Checked, Boolean)) + If IsDate(Me.txtGueltigab.Text) Then + kb.daGueltig_ab = New SqlDateTime(CType(Me.txtGueltigab.Text, DateTime)) + Else + kb.daGueltig_ab = New SqlDateTime(CType(SqlDateTime.Null, DateTime)) + End If + If IsDate(Me.txtGueltigbis.Text) Then + kb.daGueltig_bis = New SqlDateTime(CType(Me.txtGueltigbis.Text, DateTime)) + Else + kb.daGueltig_bis = New SqlDateTime(CType(SqlDateTime.Null, DateTime)) + End If + + + kb.Save_Data() + Dim updated As Boolean + Dim Beziehungnr As Integer = 0 + Dim i As Integer + + For i = 0 To Me.clbAbsender.Items.Count - 1 + If clbAbsender.GetItemChecked(i) Then + updated = False + For Each r As DataRow In kb.Absender_Artikel.Rows + If r("Bezeichnung") = clbAbsender.Items(i) Then + kb.Update_Beziehungen(Me.Artikelnr, r("absendernr"), 1, Globals.clsmitarbeiter.iMitarbeiternr.Value, 1) + updated = True + End If + Next + + If updated = False Then + For Each r In kb.absender.Rows + If r("Bezeichnung") = clbAbsender.Items(i) Then Beziehungnr = r("Absendernr") + Next + kb.Update_Beziehungen(Me.Artikelnr, Beziehungnr, 1, Globals.clsmitarbeiter.iMitarbeiternr.Value, 1) + End If + End If + Next + + For i = 0 To Me.clbAbsender.Items.Count - 1 + If clbAbsender.GetItemChecked(i) = False Then + For Each r As DataRow In kb.Absender_Artikel.Rows + If r("Bezeichnung") = clbAbsender.Items(i) Then + kb.Update_Beziehungen(Me.Artikelnr, r("absendernr"), 0, Globals.clsmitarbeiter.iMitarbeiternr.Value, 1) + End If + Next + End If + Next + + + For i = 0 To Me.clbAnspruchsgruppe.Items.Count - 1 + If clbAnspruchsgruppe.GetItemChecked(i) Then + updated = False + For Each r As DataRow In kb.Anspuchgruppe_Artikel.Rows + If r("Bezeichnung") = clbAnspruchsgruppe.Items(i) Then + kb.Update_Beziehungen(Me.Artikelnr, r("Anspruchgruppenr"), 1, Globals.clsmitarbeiter.iMitarbeiternr.Value, 2) + updated = True + End If + Next + + If updated = False Then + For Each r In kb.Anspruchsgruppe.Rows + If r("Bezeichnung") = clbAnspruchsgruppe.Items(i) Then Beziehungnr = r("Anspruchgruppenr") + Next + kb.Update_Beziehungen(Me.Artikelnr, Beziehungnr, 1, Globals.clsmitarbeiter.iMitarbeiternr.Value, 2) + End If + End If + Next + + For i = 0 To Me.clbAnspruchsgruppe.Items.Count - 1 + If clbAnspruchsgruppe.GetItemChecked(i) = False Then + For Each r As DataRow In kb.Anspuchgruppe_Artikel.Rows + If r("Bezeichnung") = clbAnspruchsgruppe.Items(i) Then + kb.Update_Beziehungen(Me.Artikelnr, r("Anspruchgruppenr"), 0, Globals.clsmitarbeiter.iMitarbeiternr.Value, 2) + End If + Next + End If + Next + + + For i = 0 To Me.clbThemengruppe.Items.Count - 1 + If clbThemengruppe.GetItemChecked(i) Then + updated = False + For Each r As DataRow In kb.Themengruppe_Artikel.Rows + If r("Bezeichnung") = clbThemengruppe.Items(i) Then + kb.Update_Beziehungen(Me.Artikelnr, r("themengruppenr"), 1, Globals.clsmitarbeiter.iMitarbeiternr.Value, 3) + updated = True + End If + Next + + If updated = False Then + For Each r In kb.Themengruppe.Rows + If r("Bezeichnung") = clbThemengruppe.Items(i) Then Beziehungnr = r("themengruppenr") + Next + kb.Update_Beziehungen(Me.Artikelnr, Beziehungnr, 1, Globals.clsmitarbeiter.iMitarbeiternr.Value, 3) + End If + End If + Next + + For i = 0 To Me.clbThemengruppe.Items.Count - 1 + If clbThemengruppe.GetItemChecked(i) = False Then + For Each r As DataRow In kb.Themengruppe_Artikel.Rows + If r("Bezeichnung") = clbThemengruppe.Items(i) Then + kb.Update_Beziehungen(Me.Artikelnr, r("themengruppenr"), 0, Globals.clsmitarbeiter.iMitarbeiternr.Value, 3) + End If + Next + End If + Next + + + + Me.FormDataChanged = False + + + End Sub + + +#End Region + + + Private Sub TSBtnQuit_Click(sender As Object, e As EventArgs) Handles TSBtnQuit.Click + Me.Close() + End Sub + + Private Sub TSBtnSave_Click(sender As Object, e As EventArgs) Handles TSBtnSave.Click + Me.Save_data() + End Sub +End Class \ No newline at end of file diff --git a/Themenmanagement/Kernbotschaften - Kopie/frmKernbotschaften.Designer.vb b/Themenmanagement/Kernbotschaften - Kopie/frmKernbotschaften.Designer.vb new file mode 100644 index 0000000..a413462 --- /dev/null +++ b/Themenmanagement/Kernbotschaften - Kopie/frmKernbotschaften.Designer.vb @@ -0,0 +1,372 @@ + _ +Partial Class frmKernbotschaften + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmKernbotschaften)) + Dim TreeNode1 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Bankrat") + Dim TreeNode2 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Geschäftsleitung") + Dim TreeNode3 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Leadership-Team") + Dim TreeNode4 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Direktion / Kader") + Dim TreeNode5 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Absender", New System.Windows.Forms.TreeNode() {TreeNode1, TreeNode2, TreeNode3, TreeNode4}) + Dim TreeNode6 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Anspruchsgruppen") + Dim TreeNode7 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Themengruppen") + Me.MenuStrip1 = New System.Windows.Forms.MenuStrip() + Me.DateiToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStrip1 = New System.Windows.Forms.ToolStrip() + Me.TSBtnQuit = New System.Windows.Forms.ToolStripButton() + Me.tsbtnrefresh = New System.Windows.Forms.ToolStripButton() + Me.ToolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator() + Me.TsBtnSuchArt = New System.Windows.Forms.ToolStripDropDownButton() + Me.ApplikationSucheToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.tstxtsuche = New System.Windows.Forms.ToolStripTextBox() + Me.TSBtnSuche = New System.Windows.Forms.ToolStripButton() + Me.TSBtnFilterAufheben = New System.Windows.Forms.ToolStripButton() + Me.ToolStripButton2 = New System.Windows.Forms.ToolStripButton() + Me.TSBtnFirst = New System.Windows.Forms.ToolStripButton() + Me.TSBtnNext = New System.Windows.Forms.ToolStripButton() + Me.TSBtnPrevious = New System.Windows.Forms.ToolStripButton() + Me.TSBtnLast = New System.Windows.Forms.ToolStripButton() + Me.ToolStripSeparator2 = New System.Windows.Forms.ToolStripSeparator() + Me.TSBtnNew = New System.Windows.Forms.ToolStripButton() + Me.SplitContainer1 = New System.Windows.Forms.SplitContainer() + Me.TreeKategorien = New System.Windows.Forms.TreeView() + Me.ImageList1 = New System.Windows.Forms.ImageList(Me.components) + Me.SplitContainer2 = New System.Windows.Forms.SplitContainer() + Me.C1Themen = New C1.Win.C1TrueDBGrid.C1TrueDBGrid() + Me.ShurtfEditor1 = New RTFEditor.SHURTFEditor() + Me.MenuStrip1.SuspendLayout() + Me.ToolStrip1.SuspendLayout() + CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SplitContainer1.Panel1.SuspendLayout() + Me.SplitContainer1.Panel2.SuspendLayout() + Me.SplitContainer1.SuspendLayout() + CType(Me.SplitContainer2, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SplitContainer2.Panel1.SuspendLayout() + Me.SplitContainer2.Panel2.SuspendLayout() + Me.SplitContainer2.SuspendLayout() + CType(Me.C1Themen, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'MenuStrip1 + ' + Me.MenuStrip1.AllowMerge = False + Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DateiToolStripMenuItem}) + Me.MenuStrip1.Location = New System.Drawing.Point(0, 0) + Me.MenuStrip1.Name = "MenuStrip1" + Me.MenuStrip1.Size = New System.Drawing.Size(1077, 24) + Me.MenuStrip1.TabIndex = 4 + Me.MenuStrip1.Text = "MenuStrip1" + ' + 'DateiToolStripMenuItem + ' + Me.DateiToolStripMenuItem.Name = "DateiToolStripMenuItem" + Me.DateiToolStripMenuItem.Size = New System.Drawing.Size(46, 20) + Me.DateiToolStripMenuItem.Text = "&Datei" + ' + 'ToolStrip1 + ' + Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.TSBtnQuit, Me.tsbtnrefresh, Me.ToolStripSeparator1, Me.TsBtnSuchArt, Me.tstxtsuche, Me.TSBtnSuche, Me.TSBtnFilterAufheben, Me.ToolStripButton2, Me.TSBtnFirst, Me.TSBtnNext, Me.TSBtnPrevious, Me.TSBtnLast, Me.ToolStripSeparator2, Me.TSBtnNew}) + Me.ToolStrip1.Location = New System.Drawing.Point(0, 24) + Me.ToolStrip1.Name = "ToolStrip1" + Me.ToolStrip1.Size = New System.Drawing.Size(1077, 25) + Me.ToolStrip1.TabIndex = 5 + Me.ToolStrip1.Text = "ToolStrip1" + ' + 'TSBtnQuit + ' + Me.TSBtnQuit.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnQuit.Image = CType(resources.GetObject("TSBtnQuit.Image"), System.Drawing.Image) + Me.TSBtnQuit.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnQuit.Name = "TSBtnQuit" + Me.TSBtnQuit.Size = New System.Drawing.Size(23, 22) + Me.TSBtnQuit.Text = "Schliessen" + Me.TSBtnQuit.ToolTipText = "Anwendung beenden" + ' + 'tsbtnrefresh + ' + Me.tsbtnrefresh.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tsbtnrefresh.Image = CType(resources.GetObject("tsbtnrefresh.Image"), System.Drawing.Image) + Me.tsbtnrefresh.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tsbtnrefresh.Name = "tsbtnrefresh" + Me.tsbtnrefresh.Size = New System.Drawing.Size(23, 22) + Me.tsbtnrefresh.Text = "Aktualisieren" + ' + 'ToolStripSeparator1 + ' + Me.ToolStripSeparator1.Name = "ToolStripSeparator1" + Me.ToolStripSeparator1.Size = New System.Drawing.Size(6, 25) + ' + 'TsBtnSuchArt + ' + Me.TsBtnSuchArt.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text + Me.TsBtnSuchArt.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ApplikationSucheToolStripMenuItem}) + Me.TsBtnSuchArt.Image = CType(resources.GetObject("TsBtnSuchArt.Image"), System.Drawing.Image) + Me.TsBtnSuchArt.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TsBtnSuchArt.Name = "TsBtnSuchArt" + Me.TsBtnSuchArt.Size = New System.Drawing.Size(59, 22) + Me.TsBtnSuchArt.Text = "Suchen" + ' + 'ApplikationSucheToolStripMenuItem + ' + Me.ApplikationSucheToolStripMenuItem.Name = "ApplikationSucheToolStripMenuItem" + Me.ApplikationSucheToolStripMenuItem.Size = New System.Drawing.Size(107, 22) + Me.ApplikationSucheToolStripMenuItem.Text = "Filtern" + ' + 'tstxtsuche + ' + Me.tstxtsuche.Name = "tstxtsuche" + Me.tstxtsuche.Size = New System.Drawing.Size(100, 25) + ' + 'TSBtnSuche + ' + Me.TSBtnSuche.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnSuche.Image = CType(resources.GetObject("TSBtnSuche.Image"), System.Drawing.Image) + Me.TSBtnSuche.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnSuche.Name = "TSBtnSuche" + Me.TSBtnSuche.Size = New System.Drawing.Size(23, 22) + Me.TSBtnSuche.Text = "Suchen" + ' + 'TSBtnFilterAufheben + ' + Me.TSBtnFilterAufheben.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnFilterAufheben.Image = CType(resources.GetObject("TSBtnFilterAufheben.Image"), System.Drawing.Image) + Me.TSBtnFilterAufheben.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnFilterAufheben.Name = "TSBtnFilterAufheben" + Me.TSBtnFilterAufheben.Size = New System.Drawing.Size(23, 22) + Me.TSBtnFilterAufheben.Text = "Filter aufheben" + ' + 'ToolStripButton2 + ' + Me.ToolStripButton2.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton2.Image = CType(resources.GetObject("ToolStripButton2.Image"), System.Drawing.Image) + Me.ToolStripButton2.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton2.Name = "ToolStripButton2" + Me.ToolStripButton2.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton2.Text = "Suchdialog" + ' + 'TSBtnFirst + ' + Me.TSBtnFirst.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnFirst.Image = CType(resources.GetObject("TSBtnFirst.Image"), System.Drawing.Image) + Me.TSBtnFirst.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnFirst.Name = "TSBtnFirst" + Me.TSBtnFirst.Size = New System.Drawing.Size(23, 22) + Me.TSBtnFirst.Text = "Erster Datensatz" + ' + 'TSBtnNext + ' + Me.TSBtnNext.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnNext.Image = CType(resources.GetObject("TSBtnNext.Image"), System.Drawing.Image) + Me.TSBtnNext.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnNext.Name = "TSBtnNext" + Me.TSBtnNext.Size = New System.Drawing.Size(23, 22) + Me.TSBtnNext.Text = "Nächster Datensatz" + ' + 'TSBtnPrevious + ' + Me.TSBtnPrevious.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnPrevious.Image = CType(resources.GetObject("TSBtnPrevious.Image"), System.Drawing.Image) + Me.TSBtnPrevious.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnPrevious.Name = "TSBtnPrevious" + Me.TSBtnPrevious.Size = New System.Drawing.Size(23, 22) + Me.TSBtnPrevious.Text = "Vorheriger Datensatz" + ' + 'TSBtnLast + ' + Me.TSBtnLast.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnLast.Image = CType(resources.GetObject("TSBtnLast.Image"), System.Drawing.Image) + Me.TSBtnLast.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnLast.Name = "TSBtnLast" + Me.TSBtnLast.Size = New System.Drawing.Size(23, 22) + Me.TSBtnLast.Text = "Letzter Datensatz" + ' + 'ToolStripSeparator2 + ' + Me.ToolStripSeparator2.Name = "ToolStripSeparator2" + Me.ToolStripSeparator2.Size = New System.Drawing.Size(6, 25) + ' + 'TSBtnNew + ' + Me.TSBtnNew.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnNew.Image = CType(resources.GetObject("TSBtnNew.Image"), System.Drawing.Image) + Me.TSBtnNew.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnNew.Name = "TSBtnNew" + Me.TSBtnNew.Size = New System.Drawing.Size(23, 22) + Me.TSBtnNew.Text = "Neues Thema" + Me.TSBtnNew.ToolTipText = "Neuer Datensatz" + ' + 'SplitContainer1 + ' + Me.SplitContainer1.Dock = System.Windows.Forms.DockStyle.Fill + Me.SplitContainer1.Location = New System.Drawing.Point(0, 49) + Me.SplitContainer1.Name = "SplitContainer1" + ' + 'SplitContainer1.Panel1 + ' + Me.SplitContainer1.Panel1.Controls.Add(Me.TreeKategorien) + ' + 'SplitContainer1.Panel2 + ' + Me.SplitContainer1.Panel2.Controls.Add(Me.SplitContainer2) + Me.SplitContainer1.Size = New System.Drawing.Size(1077, 613) + Me.SplitContainer1.SplitterDistance = 358 + Me.SplitContainer1.TabIndex = 6 + ' + 'TreeKategorien + ' + Me.TreeKategorien.Dock = System.Windows.Forms.DockStyle.Fill + Me.TreeKategorien.ImageIndex = 0 + Me.TreeKategorien.ImageList = Me.ImageList1 + Me.TreeKategorien.Location = New System.Drawing.Point(0, 0) + Me.TreeKategorien.Name = "TreeKategorien" + TreeNode1.Name = "Knoten5" + TreeNode1.Text = "Bankrat" + TreeNode2.Name = "Knoten7" + TreeNode2.Text = "Geschäftsleitung" + TreeNode3.Name = "Knoten8" + TreeNode3.Text = "Leadership-Team" + TreeNode4.Name = "Knoten9" + TreeNode4.Text = "Direktion / Kader" + TreeNode5.Name = "Knoten2" + TreeNode5.Text = "Absender" + TreeNode6.Name = "Knoten3" + TreeNode6.Text = "Anspruchsgruppen" + TreeNode7.Name = "Knoten4" + TreeNode7.Text = "Themengruppen" + Me.TreeKategorien.Nodes.AddRange(New System.Windows.Forms.TreeNode() {TreeNode5, TreeNode6, TreeNode7}) + Me.TreeKategorien.SelectedImageIndex = 0 + Me.TreeKategorien.Size = New System.Drawing.Size(358, 613) + Me.TreeKategorien.TabIndex = 1 + ' + 'ImageList1 + ' + Me.ImageList1.ImageStream = CType(resources.GetObject("ImageList1.ImageStream"), System.Windows.Forms.ImageListStreamer) + Me.ImageList1.TransparentColor = System.Drawing.Color.Transparent + Me.ImageList1.Images.SetKeyName(0, "Theme-icon.png") + Me.ImageList1.Images.SetKeyName(1, "Theme-icon.png") + Me.ImageList1.Images.SetKeyName(2, "Actions-layer-visible-on-icon.png") + ' + 'SplitContainer2 + ' + Me.SplitContainer2.Dock = System.Windows.Forms.DockStyle.Fill + Me.SplitContainer2.Location = New System.Drawing.Point(0, 0) + Me.SplitContainer2.Name = "SplitContainer2" + Me.SplitContainer2.Orientation = System.Windows.Forms.Orientation.Horizontal + ' + 'SplitContainer2.Panel1 + ' + Me.SplitContainer2.Panel1.Controls.Add(Me.C1Themen) + ' + 'SplitContainer2.Panel2 + ' + Me.SplitContainer2.Panel2.Controls.Add(Me.ShurtfEditor1) + Me.SplitContainer2.Size = New System.Drawing.Size(715, 613) + Me.SplitContainer2.SplitterDistance = 328 + Me.SplitContainer2.TabIndex = 0 + ' + 'C1Themen + ' + Me.C1Themen.AllowDrop = True + Me.C1Themen.AlternatingRows = True + Me.C1Themen.Dock = System.Windows.Forms.DockStyle.Fill + Me.C1Themen.FetchRowStyles = True + Me.C1Themen.FilterBar = True + Me.C1Themen.GroupByCaption = "Drag a column header here to group by that column" + Me.C1Themen.Images.Add(CType(resources.GetObject("C1Themen.Images"), System.Drawing.Image)) + Me.C1Themen.Location = New System.Drawing.Point(0, 0) + Me.C1Themen.Name = "C1Themen" + Me.C1Themen.PreviewInfo.Location = New System.Drawing.Point(0, 0) + Me.C1Themen.PreviewInfo.Size = New System.Drawing.Size(0, 0) + Me.C1Themen.PreviewInfo.ZoomFactor = 75.0R + Me.C1Themen.PrintInfo.PageSettings = CType(resources.GetObject("C1Themen.PrintInfo.PageSettings"), System.Drawing.Printing.PageSettings) + Me.C1Themen.Size = New System.Drawing.Size(715, 328) + Me.C1Themen.TabAction = C1.Win.C1TrueDBGrid.TabActionEnum.ColumnNavigation + Me.C1Themen.TabIndex = 11 + Me.C1Themen.Text = "C1TrueDBGrid1" + Me.C1Themen.PropBag = resources.GetString("C1Themen.PropBag") + ' + 'ShurtfEditor1 + ' + Me.ShurtfEditor1.Dock = System.Windows.Forms.DockStyle.Fill + Me.ShurtfEditor1.Document = Nothing + Me.ShurtfEditor1.Font = New System.Drawing.Font("Futura Book", 9.749999!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.ShurtfEditor1.Location = New System.Drawing.Point(0, 0) + Me.ShurtfEditor1.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4) + Me.ShurtfEditor1.Name = "ShurtfEditor1" + Me.ShurtfEditor1.Show_Filefunctions = False + Me.ShurtfEditor1.Size = New System.Drawing.Size(715, 281) + Me.ShurtfEditor1.TabIndex = 14 + ' + 'frmKernbotschaften + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(1077, 662) + Me.Controls.Add(Me.SplitContainer1) + Me.Controls.Add(Me.ToolStrip1) + Me.Controls.Add(Me.MenuStrip1) + Me.Name = "frmKernbotschaften" + Me.Text = "frmKernbotschaften" + Me.MenuStrip1.ResumeLayout(False) + Me.MenuStrip1.PerformLayout() + Me.ToolStrip1.ResumeLayout(False) + Me.ToolStrip1.PerformLayout() + Me.SplitContainer1.Panel1.ResumeLayout(False) + Me.SplitContainer1.Panel2.ResumeLayout(False) + CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).EndInit() + Me.SplitContainer1.ResumeLayout(False) + Me.SplitContainer2.Panel1.ResumeLayout(False) + Me.SplitContainer2.Panel2.ResumeLayout(False) + CType(Me.SplitContainer2, System.ComponentModel.ISupportInitialize).EndInit() + Me.SplitContainer2.ResumeLayout(False) + CType(Me.C1Themen, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents MenuStrip1 As System.Windows.Forms.MenuStrip + Friend WithEvents DateiToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStrip1 As System.Windows.Forms.ToolStrip + Friend WithEvents TSBtnQuit As System.Windows.Forms.ToolStripButton + Friend WithEvents tsbtnrefresh As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripSeparator1 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents TsBtnSuchArt As System.Windows.Forms.ToolStripDropDownButton + Friend WithEvents ApplikationSucheToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents tstxtsuche As System.Windows.Forms.ToolStripTextBox + Friend WithEvents TSBtnSuche As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnFilterAufheben As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripButton2 As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnFirst As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnNext As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnPrevious As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnLast As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripSeparator2 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents TSBtnNew As System.Windows.Forms.ToolStripButton + Friend WithEvents SplitContainer1 As System.Windows.Forms.SplitContainer + Friend WithEvents TreeKategorien As System.Windows.Forms.TreeView + Friend WithEvents ImageList1 As System.Windows.Forms.ImageList + Friend WithEvents SplitContainer2 As System.Windows.Forms.SplitContainer + Friend WithEvents C1Themen As C1.Win.C1TrueDBGrid.C1TrueDBGrid + Friend WithEvents ShurtfEditor1 As RTFEditor.SHURTFEditor +End Class diff --git a/Themenmanagement/Kernbotschaften - Kopie/frmKernbotschaften.resx b/Themenmanagement/Kernbotschaften - Kopie/frmKernbotschaften.resx new file mode 100644 index 0000000..ebc72d9 --- /dev/null +++ b/Themenmanagement/Kernbotschaften - Kopie/frmKernbotschaften.resx @@ -0,0 +1,383 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 17, 17 + + + 346, 17 + + + + + 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 + TgDQASA1MVpwzwAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACpSURBVFhH7ZLhCoQwDIP36Hu0vdl5DU7GbFx6KtyPfhBQ + 26aBWpIkEfhMYqh9YVRjtS+Maqz2hVGN1T6Z2RCqtULfZzC8M/0GMx2+d45QZCYMjFprzPCkvnwxIwMT + Qw1g6iG82i4ZKYCwcJYMjFcneDXAS5Lxhp+QzOoEDNQvTiMDg4ufkIG6BSfhZf4jwJ0T3A5gIstNjKMn + GPyENzyK4fWOSpIkcShlA/2ShGAugX0dAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEeSURBVFhH7ZJbEoMwCEVduktzZy0XIRKCkSbt9CdnPIyG + R+LotlhkedFlleUUo30NdlB22EiPB02sDlE5e4FnK0KvPg0aWR2kcvYCz0XkrSgYBc1FDLOiQMA9qzmV + sxNgQBEDrSgQcN/LfwyaGylU7vvORjnpGUOHerFON5XRmun5GB54HEd5My+FrlEPmeZ8I2LkAFG9mObx + AJBCdmM1DW/c+wSQwu8O8CSF0KjWmCZqZil0jXqMacJPQMFvhuDXuOfm06XhAfYnpOA3KvgcDn7z/6Sp + DoChVqkp+PzXDoAhGGhF7iy5sHmovVMHgBQqdR0FHq1Rg81hmmoYxJqxATXWc6kxB1X6YY+M9ITMDJrp + bZqhpNLM9i8Wf2Lb3g1pbK07+OH0AAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHxSURBVDhPYxgFGICxpbF5o6ur6wNjY2MuqBiDhYWFkI+3 + 94PO9vYFUCFMkJ+fr1BUUNCVlJD439zM/L+ZsXGAoaGhr5ubmwfQgGgLoFhaSsr/6srKtubqZlmoNghY + PG+x0bIlS79ER0b9t7e1++/u6vbfzMT0X3BwyP+4uASQgf9AYiC5/Ny8/2vXrv24bNkybah2BoaF8xau + q6+t+29na/tfQ139P8g2K0ur/yUlJZ+Li4q/wvi21jb/y0pK/q9cvuL/7h27FoM1L5o717ykuPhPVVnJ + /+DAgP/iYmL/tTQ0wYpNDA13AvEROxvb/04Ojv9NjU3+JyfE/6+tKP9fWlLyZ9miReYMzg726wIMFf/n + e5r8b0iP/G9jpPffxsr6f3dn139zE/OF1hYWa6ZMmvw/LCT0v5m26v8wE6X/1RFu/2szY//b2FiuZTCT + Ef2ZZybxv99H43+bt/b/aDOF/5qamjuszK0y9fT0xLS0tCQszCzS9bS1twXoy/5vcFX9PznY4H+dm9p/ + XVHRnwyaKipHOtwU/+9LNfm/KETzv5+BIsiAALD/kICamlpAoLEyWA1IbYer4n9VBfmjDOrq6lKOpvpr + CpyN3uX629/z9vAogOrBADZWVoVp3tYP6kOtPwS7OazT19eXhkoNXcDAAABOd8o32QfH6gAAAABJRU5E + rkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAK9SURBVDhPfVNtSFNRGL53OmHsQ93mds3pnUkR/VCIojDF + SoxULOpXmh+VEFb0IZmpQQlGmSnkx0yaTQ3SsnLOhHD50ZaSWX8KUSE/CiLQsj/9CFrep3PONjSyHng5 + 5z3v87z3vO97LrcKEjmlrkUWlzQjS8nzyHYTI3t6xmL/gY5X6+3y1EJJdbEH2spB6Gvc0Fe7EHrFCVVx + F+R7zkqE0025XskyDDLDhklNgQ0RN4Yg3nQjqmYIkVUDMF11IqLiKSLKe2Es6YIq1wKZIWaKarxSAl4t + 9GtPtkGsH4FY64a5YQTRTWOItr5hZm4cZcnCy7ohFD9CcFYdeLWx3yfn9qkzSn3iF4zMxKuYWDcM4cJj + GM60Q7njFKiW45WCg16TXlusHUbGg7coGZyGmSYkAr/l9Uwg0z5OSnsOw+l70OU3g1eSfgRt3LXgrzmq + egiuuUVQJDS/ZH5yyxhcHxYhSRLcZKVn4WV26I/ZIDfFz3Oa5ByJik3XnKRhfXDPfmUJ0myjuPP6I37+ + WmI+BY1RDm2o7qgVitikJU6TkivRBq253MvMPf2FkdtezbF1JWiM8S49gS6viSRIlzj55vR52oPwUjsE + MibX+3lGTqzuQ2nnGL59/8F8ChqjHOH8Q2izGxG0LnGBCwwTHXTOdDzGwg44xz+xejeVO5i/vug+rM53 + 8JBSBiY+s7Ow420IPVgPXiM42Bj1hyvZDWgg9lw79laQJhW0Mp8a3W8tbkd8WSfztdkWqHb6xkjAB4aZ + BoSiDu94jliJ3f6n0auHHKgiD0l4RsV+GAMi46YMp8hXT9yFNucWtJkNf1oWXesRsv86Agwxk0Sz/JR9 + 0PMaoyM4rVDSF7Swh8ISHbIQsYXUXAfl9nyJV+q6CPevn2klknhlaGvA2m2zCjHNoxBTPQHmLTO8QmMj + sQQvxQ+O+w0UG9zYwCvIHAAAAABJRU5ErkJggg== + + + + + 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 + Bsf9BvJ9y/Q7+ip/AAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAK7SURBVDhPfVNtSFNRGL53OmHsQ93mds3pnUkR/UiIojDF + SoxULOpXmh+VEFZYSWZqUIJRZgr5MZNmU4O0rJwzIVx+tKVk1p9CVMiPggi07E8/gpb36ZyzDY2sBx7O + fc/7PGfved8zbhUkcEpdiyw2cUaWnOuR7SEk33SP5f4DHa/W2+UphZLqYg+0lYPQ17ihr3Yh9IoTquIu + yPeelYimm2q9lmUYZIYNk5p8GyJuDEG86UZUzRAiqwZguupERMVTRJT3wljSBVWOBTJDzBT1eK0EvFro + 155qg1g/ArHWDXPDCKKbxhBtfcNobhxlh4WXdUMofoTgzDrwamO/z87tV6eX+swvmJiZV6FYNwzhwmMY + zrRDubMA1MvxSsFBy6Rli7XDyLCPI7dngon9NJPDSwankf7gLbnacxhO34Murxm8kvQjaOPuBf+do6qH + 4P6wCEmS4CJrUssY24tvfgkK19wii8PL7NAft0FuipvnNEnZEjWbrjlJw/rgnv3KxBQ/fy3hzuuPSLWN + spjmqIY2VHfMCsWmxCVOk5wj0QatudzL6J7+wsQr0fZqjq00x3SXnkCX20QOSJM4+Za0edqD8FI7BDIm + 1/t5Jqb49v0HSjvHkFDdx2Kaoxrh/ENosxoRtC5hgQsMEx10znQ8xsIODEx8hoeUbnW+w/qi+2xvc7mD + 9cU5/onFYSfaEHqoHrxGcLAx6o9UsgpoIq6sE9uK26HPb2UxJf3eV2FH7Ll2FmuzLFDt8o2RgA8MMw0I + RR3e8Ry1Et7+J2npIQeryEMSnlGzH8aAyNgpQwH51ZN3oc2+BW1Gw5/MpGs9Qg5cR4AhZpJ4lp+yD3pe + Y3QEpxZK+vwW9lDYQYctxGwhd66DckeexCt1XUT7159pJRJ5ZWhrwNrtswox1aMQUzwB5q0zvEJjI7l4 + r8QPjvsNWSfc2bvcdIgAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAINSURBVDhPY6AVYAyc67K/+XD1/SYg9p3quAQqTiQIZWAO + Wu75Zu6Nuf9nX5/9322S/TmoDJEAaIDnctc3k69M/D/hSt9/p0nm56EyRAKwATZveq+0/O++0gg0wAiP + AfUMTOYLtWx81tnYB0CxZZ+ak88myw9dV8v/d1wp+e88T++2/XxtB591FvYeQOyyzsTeYJGyFVi/cAGn + Se6J5P99V5v+T7ze8H/Szbr/U27V/O++kfe/43rm/9Zr6f87r+f+775e9L/tSsH/hot5/yvPZf8P2Ov6 + ny+OXZlBLJfTogoo0H+9Fqi56v+U2xX/p94p/d9+M+5/283o/y03I/533Ur+33Mz63/79fT/DZdT/1ee + T/4fdtD5P28ImzqDUAaLRcQOwf9ph4T/554U+l94Ruh/wRnB/zXXzP633/H533rH83/5ZZ3/+af5/+cB + cdZx/v9JB/j++27lAhrAoM7A6cQgLRnPsFk2mWGbYhrDNuV0IA3EaftFf3Y+sP3f/sDqf9gm8Q8gMRgG + qRWPZ9jAZ8EgBA4HIGBEwfYMLOGHmN7UPeb4X/eY67/7ciZQLKCqgWAcABiNiecY3nS8YvgPwj5rGEhP + B7kXBN4s+CT/f/5H+f9hG3lJNyBpr+6bOQ89/oNwwCJ1Eg1gYGCSymXYYdjGcAOExeIZ5kHFSQIsDCoM + 7GDMwMAMEUIHDAwArmHzT5KTHe0AAAAASUVORK5CYII= + + + + 571, 17 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w + LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 + ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAO + CgAAAk1TRnQBSQFMAgEBAwEAAcABAAHAAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo + AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA + AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 + AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA + AWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYCAAFm + AZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHMATMCAAHM + AWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEzAQABZgEA + ATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIzAf8BAAEz + AWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEzAQABMwGZ + AWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZAQABMwLM + AQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFmAQABMwEA + AWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFmATMBmQEA + AWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEzAQABZgGZ + AWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEAAWYBzAH/ + AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZATMBmQEA + AZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFmAgABmQFm + ATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZAcwBAAKZ + Af8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIAAZkB/wEz + AQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHMAQABmQEA + AcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHMAWYCAAHM + AWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZAWYBAAHM + ApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHMAf8CAAHM + Af8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/AQABmQEA + AcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFmATMBAAHM + AmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZAQAB/wGZ + AcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC/wEz + AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm + AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw + AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD/wEABP8I9Aj/CPQE/wkA + A/8UAAH/AfIB8AG8CAcBvAHwAfEB9AH/AfIB8AG8CAcBvAHwAfEB9AQAAv8B8wG8AgcC7wHxAv8RAAH/ + B3gBmAT/AwAB/wd4AZgE/wYAAf8BBwHtAa4BiwGSAvIB8AH3Ae0B8gH/EAAB8whWAfYGAAHzCFYB9gcA + Af8B8wHsAe8BtAGzAa0BiwH3AfMB8gG8ApIB/xAAAfMIVwH0Av8EAAHzCFcB9AL/BQAB8wHsAgcBtAFs + AWsBswGRAfMB8gEHAewBvAH/EAABGwhXA5AB/wMAARsIVwOQAf8DAAH/Au0B8gG7AZABbQEUAbMBtAHx + AQcB7AHvAf8RAAEbCFcBkAKzAfQDAAEbCFcBkAKzAfQDAAH/Ae8B7AHwAQkBuwHvAewBtAGRAQcB7AGS + Av8RAAH2CFcDswHyAv8BAAH2CFcDswHyAv8CAAH/Ae0B6wEHAwkBuwLrAe0B9AH/AfQUAAH0CLMBUgIx + AfQDAAH0CLMBUgIxAfQCAAH/AZIBbQHrAuwB6gFtAZIB9AH/AfAB/xQAAfQItAFSAjEBGwMAAfQItAFS + AjEBGwL/AQAB/wG8AewCbQHsAbwC/wG8AfMVAAH/AgkBuwS0AfcBMQIyARsDAAH/AgkBuwS0AfcBMQIy + ARsBAAHyAf8BAAL/AvQD/wIHAf8YAAH/CDIBGwYAAf8IMgEbAQAB/wHvAfQB/wMAAf8B9AH3Ae8B/xkA + Af8IOAEbBgAB/wg4ARsCAAH/Ae0B7wHyAfMB8gHvAW0B7wH/GwABmgd6Af8HAAGaB3oB/wMAAf8B7wFt + AeoBbQHsAbwB/zkAAf8B9AHxAfIB/1cAAUIBTQE+BwABPgMAASgDAAFAAwABEAMAAQEBAAEBBQABgBcA + A/8FAAH/AY8GAAHwAQEDAAEHAQABBwHgBAABPwEAAT8BgAQAAQ8BAAEPAYAEAAEHAQABBwEAAQEDAAEH + AQABBwEAAQEDAAEBAQABAQGAAQECAAHgAQAB4AEAAcABAQIAAeABAAHgAQABIAEDAgAB4AEAAeABAAGQ + AQMCAAH8AQAB/AEAAYcBBwIAAfwBAAH8AQABwAEPAgAB/gEAAf4BAAHgAR8CAAT/AfABfwIABv8CAAs= + + + + + iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAA0SURBVChTdYkBCgAgDAL9/6eLIsd0eSCKhw/r9aCLtC88 + vAdHMEIXKUIUhMK76EfagglgA6CqHOQpL6GyAAAAAElFTkSuQmCC + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0 + dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACRTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5QYWdlU2V0dGluZ3MHAAAAD3ByaW50ZXJTZXR0aW5ncwVjb2xvcglwYXBlclNp + emULcGFwZXJTb3VyY2URcHJpbnRlclJlc29sdXRpb24JbGFuZHNjYXBlB21hcmdpbnMEBAQEBAQEJ1N5 + c3RlbS5EcmF3aW5nLlByaW50aW5nLlByaW50ZXJTZXR0aW5ncwIAAAAgU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuVHJpU3RhdGUCAAAAIVN5c3RlbS5EcmF3aW5nLlByaW50aW5nLlBhcGVyU2l6ZQIAAAAjU3lz + dGVtLkRyYXdpbmcuUHJpbnRpbmcuUGFwZXJTb3VyY2UCAAAAKVN5c3RlbS5EcmF3aW5nLlByaW50aW5n + LlByaW50ZXJSZXNvbHV0aW9uAgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAf + U3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuTWFyZ2lucwIAAAACAAAACQMAAAAF/P///yBTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5UcmlTdGF0ZQEAAAAFdmFsdWUAAgIAAAAACgoKAfv////8////AAkGAAAABQMA + AAAnU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRlclNldHRpbmdzEgAAAAtwcmludGVyTmFtZQpk + cml2ZXJOYW1lCm91dHB1dFBvcnQLcHJpbnRUb0ZpbGUUcHJpbnREaWFsb2dEaXNwbGF5ZWQKZXh0cmFi + eXRlcwlleHRyYWluZm8GY29waWVzBmR1cGxleAdjb2xsYXRlE2RlZmF1bHRQYWdlU2V0dGluZ3MIZnJv + bVBhZ2UGdG9QYWdlB21heFBhZ2UHbWluUGFnZQpwcmludFJhbmdlDGRldm1vZGVieXRlcw1jYWNoZWRE + ZXZtb2RlAQEBAAAABwAEBAQAAAAABAAHAQEHAgceU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuRHVwbGV4 + AgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAkU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuUGFnZVNldHRpbmdzAgAAAAgICAgiU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRSYW5n + ZQIAAAAHAgIAAAAKBgcAAAAACQcAAAAAAAAACv//Bfj///8eU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcu + RHVwbGV4AQAAAAd2YWx1ZV9fAAgCAAAA/////wH3/////P///wAJCgAAAAAAAAAAAAAADycAAAAAAAAF + 9f///yJTeXN0ZW0uRHJhd2luZy5QcmludGluZy5QcmludFJhbmdlAQAAAAd2YWx1ZV9fAAgCAAAAAAAA + AAAACgUGAAAAH1N5c3RlbS5EcmF3aW5nLlByaW50aW5nLk1hcmdpbnMIAAAABGxlZnQFcmlnaHQDdG9w + BmJvdHRvbQpkb3VibGVMZWZ0C2RvdWJsZVJpZ2h0CWRvdWJsZVRvcAxkb3VibGVCb3R0b20AAAAAAAAA + AAgICAgGBgYGAgAAAGQAAABkAAAAZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZ + QAEKAAAAAQAAAAkDAAAAAfP////8////AAoKCgHy/////P///wAJDwAAAAEPAAAABgAAAGQAAABkAAAA + ZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAs= + + + + <?xml version="1.0"?><Blob><Styles type="C1.Win.C1TrueDBGrid.Design.ContextWrapper"><Data>HighlightRow{ForeColor:HighlightText;BackColor:Highlight;}Style8{}Style7{}Style2{}EvenRow{BackColor:White;}Normal{}RecordSelector{AlignImage:Center;}Style4{}OddRow{BackColor:224, 224, 224;}Style3{}Footer{}Style14{}FilterBar{BackColor:255, 255, 192;}Heading{AlignVert:Center;Border:Flat,ControlDark,0, 1, 0, 1;Wrap:True;BackColor:Control;ForeColor:ControlText;}Style5{}Editor{}Style10{AlignHorz:Near;}Style16{}Selected{ForeColor:HighlightText;BackColor:Highlight;}Style15{}Style13{}Style12{}Style11{}Group{Border:None,,0, 0, 0, 0;AlignVert:Center;BackColor:ControlDark;}Style9{}FilterWatermark{ForeColor:InfoText;BackColor:Info;}Style1{}Caption{AlignHorz:Center;}Style6{}Inactive{ForeColor:InactiveCaptionText;BackColor:InactiveCaption;}</Data></Styles><Splits><C1.Win.C1TrueDBGrid.MergeView Name="" AlternatingRowStyle="True" CaptionHeight="17" ColumnCaptionHeight="17" ColumnFooterHeight="17" FetchRowStyles="True" FilterBar="True" MarqueeStyle="DottedCellBorder" RecordSelectorWidth="17" DefRecSelWidth="17" VerticalScrollGroup="1" HorizontalScrollGroup="1"><CaptionStyle parent="Style2" me="Style10" /><EditorStyle parent="Editor" me="Style5" /><EvenRowStyle parent="EvenRow" me="Style8" /><FilterBarStyle parent="FilterBar" me="Style13" /><FilterWatermarkStyle parent="FilterWatermark" me="Style14" /><FooterStyle parent="Footer" me="Style3" /><GroupStyle parent="Group" me="Style12" /><HeadingStyle parent="Heading" me="Style2" /><HighLightRowStyle parent="HighlightRow" me="Style7" /><InactiveStyle parent="Inactive" me="Style4" /><OddRowStyle parent="OddRow" me="Style9" /><RecordSelectorStyle parent="RecordSelector" me="Style11" /><SelectedStyle parent="Selected" me="Style6" /><Style parent="Normal" me="Style1" /><ClientRect>0, 0, 713, 326</ClientRect><BorderSide>0</BorderSide></C1.Win.C1TrueDBGrid.MergeView></Splits><NamedStyles><Style parent="" me="Normal" /><Style parent="Normal" me="Heading" /><Style parent="Heading" me="Footer" /><Style parent="Heading" me="Caption" /><Style parent="Heading" me="Inactive" /><Style parent="Normal" me="Selected" /><Style parent="Normal" me="Editor" /><Style parent="Normal" me="HighlightRow" /><Style parent="Normal" me="EvenRow" /><Style parent="Normal" me="OddRow" /><Style parent="Heading" me="RecordSelector" /><Style parent="Normal" me="FilterBar" /><Style parent="FilterBar" me="FilterWatermark" /><Style parent="Caption" me="Group" /></NamedStyles><vertSplits>1</vertSplits><horzSplits>1</horzSplits><Layout>None</Layout><DefaultRecSelWidth>17</DefaultRecSelWidth><ClientArea>0, 0, 713, 326</ClientArea><PrintPageHeaderStyle parent="" me="Style15" /><PrintPageFooterStyle parent="" me="Style16" /></Blob> + + \ No newline at end of file diff --git a/Themenmanagement/Kernbotschaften - Kopie/frmKernbotschaften.vb b/Themenmanagement/Kernbotschaften - Kopie/frmKernbotschaften.vb new file mode 100644 index 0000000..c294c0e --- /dev/null +++ b/Themenmanagement/Kernbotschaften - Kopie/frmKernbotschaften.vb @@ -0,0 +1,3 @@ +Public Class frmKernbotschaften + +End Class \ No newline at end of file diff --git a/Themenmanagement/Kernbotschaften/Color/AdobeColorPicker.Designer.vb b/Themenmanagement/Kernbotschaften/Color/AdobeColorPicker.Designer.vb new file mode 100644 index 0000000..542d8ab --- /dev/null +++ b/Themenmanagement/Kernbotschaften/Color/AdobeColorPicker.Designer.vb @@ -0,0 +1,129 @@ + _ +Partial Class AdobeColorPicker + Inherits System.Windows.Forms.UserControl + + 'UserControl überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Me.Color2DBox1 = New Color2DBox + Me.VerticalColorSlider1 = New VerticalColorSlider + Me.RadioButtonHue = New System.Windows.Forms.RadioButton + Me.RadioButtonSat = New System.Windows.Forms.RadioButton + Me.RadioButtonBlack = New System.Windows.Forms.RadioButton + Me.RadioButtonRed = New System.Windows.Forms.RadioButton + Me.RadioButtonGreen = New System.Windows.Forms.RadioButton + Me.RadioButtonBlue = New System.Windows.Forms.RadioButton + Me.SuspendLayout() + ' + 'Color2DBox1 + ' + Me.Color2DBox1.Color = System.Drawing.Color.Red + Me.Color2DBox1.Location = New System.Drawing.Point(3, 6) + Me.Color2DBox1.MinimumSize = New System.Drawing.Size(20, 20) + Me.Color2DBox1.Name = "Color2DBox1" + Me.Color2DBox1.Size = New System.Drawing.Size(258, 258) + Me.Color2DBox1.TabIndex = 0 + Me.Color2DBox1.Text = "Color2DBox1" + ' + 'VerticalColorSlider1 + ' + Me.VerticalColorSlider1.Color = System.Drawing.Color.Red + Me.VerticalColorSlider1.Location = New System.Drawing.Point(267, 3) + Me.VerticalColorSlider1.MinimumSize = New System.Drawing.Size(20, 20) + Me.VerticalColorSlider1.Name = "VerticalColorSlider1" + Me.VerticalColorSlider1.Size = New System.Drawing.Size(40, 264) + Me.VerticalColorSlider1.TabIndex = 1 + Me.VerticalColorSlider1.Text = "VerticalColorSlider1" + ' + 'RadioButtonHue + ' + Me.RadioButtonHue.Location = New System.Drawing.Point(313, 8) + Me.RadioButtonHue.Name = "RadioButtonHue" + Me.RadioButtonHue.Size = New System.Drawing.Size(37, 17) + Me.RadioButtonHue.TabIndex = 92 + Me.RadioButtonHue.Text = "H" + ' + 'RadioButtonSat + ' + Me.RadioButtonSat.Location = New System.Drawing.Point(313, 46) + Me.RadioButtonSat.Name = "RadioButtonSat" + Me.RadioButtonSat.Size = New System.Drawing.Size(37, 17) + Me.RadioButtonSat.TabIndex = 93 + Me.RadioButtonSat.Text = "S" + ' + 'RadioButtonBlack + ' + Me.RadioButtonBlack.Location = New System.Drawing.Point(313, 84) + Me.RadioButtonBlack.Name = "RadioButtonBlack" + Me.RadioButtonBlack.Size = New System.Drawing.Size(37, 17) + Me.RadioButtonBlack.TabIndex = 94 + Me.RadioButtonBlack.Text = "B" + ' + 'RadioButtonRed + ' + Me.RadioButtonRed.Location = New System.Drawing.Point(313, 162) + Me.RadioButtonRed.Name = "RadioButtonRed" + Me.RadioButtonRed.Size = New System.Drawing.Size(37, 17) + Me.RadioButtonRed.TabIndex = 95 + Me.RadioButtonRed.Text = "R" + ' + 'RadioButtonGreen + ' + Me.RadioButtonGreen.Location = New System.Drawing.Point(313, 200) + Me.RadioButtonGreen.Name = "RadioButtonGreen" + Me.RadioButtonGreen.Size = New System.Drawing.Size(37, 17) + Me.RadioButtonGreen.TabIndex = 96 + Me.RadioButtonGreen.Text = "G" + ' + 'RadioButtonBlue + ' + Me.RadioButtonBlue.Location = New System.Drawing.Point(313, 238) + Me.RadioButtonBlue.Name = "RadioButtonBlue" + Me.RadioButtonBlue.Size = New System.Drawing.Size(37, 17) + Me.RadioButtonBlue.TabIndex = 97 + Me.RadioButtonBlue.Text = "B" + ' + 'AdobeColorPicker + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.Controls.Add(Me.RadioButtonHue) + Me.Controls.Add(Me.RadioButtonSat) + Me.Controls.Add(Me.RadioButtonBlack) + Me.Controls.Add(Me.RadioButtonRed) + Me.Controls.Add(Me.RadioButtonGreen) + Me.Controls.Add(Me.RadioButtonBlue) + Me.Controls.Add(Me.VerticalColorSlider1) + Me.Controls.Add(Me.Color2DBox1) + Me.Name = "AdobeColorPicker" + Me.Size = New System.Drawing.Size(353, 272) + Me.ResumeLayout(False) + + End Sub + Friend WithEvents Color2DBox1 As Color2DBox + Friend WithEvents VerticalColorSlider1 As VerticalColorSlider + Private WithEvents RadioButtonHue As System.Windows.Forms.RadioButton + Private WithEvents RadioButtonSat As System.Windows.Forms.RadioButton + Private WithEvents RadioButtonBlack As System.Windows.Forms.RadioButton + Private WithEvents RadioButtonRed As System.Windows.Forms.RadioButton + Private WithEvents RadioButtonGreen As System.Windows.Forms.RadioButton + Private WithEvents RadioButtonBlue As System.Windows.Forms.RadioButton + +End Class diff --git a/Themenmanagement/Kernbotschaften/Color/AdobeColorPicker.resx b/Themenmanagement/Kernbotschaften/Color/AdobeColorPicker.resx new file mode 100644 index 0000000..19dc0dd --- /dev/null +++ b/Themenmanagement/Kernbotschaften/Color/AdobeColorPicker.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Themenmanagement/Kernbotschaften/Color/AdobeColorPicker.vb b/Themenmanagement/Kernbotschaften/Color/AdobeColorPicker.vb new file mode 100644 index 0000000..94a509e --- /dev/null +++ b/Themenmanagement/Kernbotschaften/Color/AdobeColorPicker.vb @@ -0,0 +1,150 @@ +Imports System.ComponentModel +''' +''' Dem Adobe-Farbwhler nachgebildetes Control zum Anzeigen und Festlegen von Farben +''' +Public Class AdobeColorPicker + Implements IColorControl + +#Region " Private Felder / Events " + Private m_Color As Color + Private m_DrawStyle As DrawStyles + Private m_Init As Boolean = True + 'Event, das geliefert wird, wenn die ausgewhlte Farbe von "intern" gendert wurde + Public Event ColorChanged(ByVal Sender As IColorControl) Implements IColorControl.ColorChanged +#End Region + +#Region " Konstruktoren " + Public Sub New() + + ' Dieser Aufruf ist fr den Windows Form-Designer erforderlich. + InitializeComponent() + + ' Fgen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. + + ' Initialisierung wesentlicher Eigenschaften dieses Controls + 'Doppelpufferung aktivieren + Me.SetStyle(ControlStyles.DoubleBuffer Or ControlStyles.UserPaint _ + Or ControlStyles.AllPaintingInWmPaint, True) + + m_DrawStyle = DrawStyles.Hue + m_Color = Drawing.Color.Red + + Me.Color2DBox1.Color = m_Color + Me.Color2DBox1.DrawStyle = m_DrawStyle + Me.VerticalColorSlider1.Color = m_Color + Me.VerticalColorSlider1.DrawStyle = m_DrawStyle + Me.RadioButtonHue.Checked = True + m_Init = False + End Sub +#End Region + +#Region " Properties " + ''' + ''' Color-Struktur, die angezeigt wird oder ausgewhlt ist + ''' + _ + Public Property Color() As System.Drawing.Color Implements IColorControl.Color + Get + Return m_Color + End Get + Set(ByVal value As System.Drawing.Color) + If m_Color.R <> value.R OrElse m_Color.G <> value.G OrElse m_Color.B <> value.B Then + m_Color = value + Me.Color2DBox1.Color = m_Color + Me.VerticalColorSlider1.Color = m_Color + End If + End Set + End Property + + ''' + ''' Anzeige-Stil + ''' + ''' Hue fr fixen Farbton, Saturation fr fixe Sttigung, Brightness fr fixe relative Helligkeit, Red fr fixen Rot-Anteil, Green fr gleich fixen Grn-Anteil, Blue fr gleich bleibenden Blau-Anteil + _ + Property DrawStyle() As DrawStyles + Get + Return m_DrawStyle + End Get + Set(ByVal value As DrawStyles) + If m_DrawStyle <> value Then + m_Init = True + Select Case value + Case DrawStyles.Hue + RadioButtonHue.Checked = True + Case DrawStyles.Saturation + RadioButtonSat.Checked = True + Case DrawStyles.Brightness + RadioButtonBlack.Checked = True + Case DrawStyles.Red + RadioButtonRed.Checked = True + Case DrawStyles.Green + RadioButtonGreen.Checked = True + Case DrawStyles.Blue + RadioButtonBlue.Checked = True + End Select + m_Init = False + m_DrawStyle = value + Me.Color2DBox1.DrawStyle = m_DrawStyle + Me.VerticalColorSlider1.DrawStyle = m_DrawStyle + End If + End Set + End Property +#End Region + +#Region " Methoden " + + + ''' + ''' reagiert auf nderungen in der (quadratischen) Color2DBox (nach Mauseingabe) + ''' + Private Sub Color2DBox1_ColorChanged(ByVal Sender As IColorControl) Handles Color2DBox1.ColorChanged + If m_Color.R <> Color2DBox1.Color.R OrElse m_Color.G <> Color2DBox1.Color.G OrElse m_Color.B <> Color2DBox1.Color.B Then + m_Color = Color2DBox1.Color + Me.VerticalColorSlider1.BaseColor = m_Color + RaiseEvent ColorChanged(Me) + End If + End Sub + + ''' + ''' reagiert auf nderungen im (senkrechten) VerticalColorSlider (nach Mauseingabe) + ''' + ''' + Private Sub VerticalColorSlider1_ColorChanged(ByVal Sender As IColorControl) Handles VerticalColorSlider1.ColorChanged + If m_Color.R <> VerticalColorSlider1.Color.R OrElse m_Color.G <> VerticalColorSlider1.Color.G OrElse m_Color.B <> VerticalColorSlider1.Color.B Then + m_Color = VerticalColorSlider1.Color + Me.Color2DBox1.BaseColor = m_Color + RaiseEvent ColorChanged(Me) + End If + End Sub + + ''' + ''' ndert den Anzeige-Stil nach Klick auf einen RadioButton + ''' + Private Sub RadioButton_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButtonHue.CheckedChanged, RadioButtonSat.CheckedChanged, RadioButtonBlack.CheckedChanged, RadioButtonRed.CheckedChanged, RadioButtonGreen.CheckedChanged, RadioButtonBlue.CheckedChanged + If m_Init Then Exit Sub + Dim NewDrawStyle As DrawStyles + If RadioButtonHue.Checked Then + NewDrawStyle = DrawStyles.Hue + ElseIf RadioButtonSat.Checked Then + NewDrawStyle = DrawStyles.Saturation + ElseIf RadioButtonBlack.Checked Then + NewDrawStyle = DrawStyles.Brightness + ElseIf RadioButtonRed.Checked Then + NewDrawStyle = DrawStyles.Red + ElseIf RadioButtonGreen.Checked Then + NewDrawStyle = DrawStyles.Green + ElseIf RadioButtonBlue.Checked Then + NewDrawStyle = DrawStyles.Blue + End If + + If m_DrawStyle <> NewDrawStyle Then + m_DrawStyle = NewDrawStyle + Me.Color2DBox1.DrawStyle = m_DrawStyle + Me.VerticalColorSlider1.DrawStyle = m_DrawStyle + End If + End Sub +#End Region + +End Class diff --git a/Themenmanagement/Kernbotschaften/Color/CMYKColor.vb b/Themenmanagement/Kernbotschaften/Color/CMYKColor.vb new file mode 100644 index 0000000..6469906 --- /dev/null +++ b/Themenmanagement/Kernbotschaften/Color/CMYKColor.vb @@ -0,0 +1,128 @@ +''' +''' Subtraktives Farbmodell +''' +''' Technische Grundlage fr modernen Vierfarbdruck, Vereinfacht kann es als komplementr zum RGB-Farbmodell verstanden werden. +Public Class CMYKColor + +#Region " Private Felder " + Private m_Cyan As Double + Private m_Magenta As Double + Private m_Yellow As Double + Private m_Black As Double +#End Region + +#Region " Konstruktoren " + ''' + ''' Konstruktor fr Initialisierung mit fest stehenden CMYK-Werten + ''' + ''' Cyan - Anteil (Wert im Bereich zwischen 0.0 und 1.0) + ''' Magenta - Anteil (Wert im Bereich zwischen 0.0 und 1.0) + ''' Yellow - Anteil (Wert im Bereich zwischen 0.0 und 1.0) + ''' Schwarz - Anteil (Wert im Bereich zwischen 0.0 und 1.0) + Public Sub New(ByVal Cyan As Double, ByVal Magenta As Double, ByVal Yellow As Double, ByVal Black As Double) + m_Cyan = MinMax(Cyan) + m_Magenta = MinMax(Magenta) + m_Yellow = MinMax(Yellow) + m_Black = MinMax(Black) + End Sub + + ''' + ''' Konstruktor fr Initialisierung mit einer Color-Struktur + ''' + ''' Color-Struktur + Public Sub New(ByVal Col As Color) + m_Black = 1.0R + + m_Cyan = CDbl((255 - Col.R)) / 255.0R + m_Magenta = CDbl((255 - Col.G)) / 255.0R + m_Yellow = CDbl((255 - Col.B)) / 255.0R + + If m_Black > m_Cyan Then m_Black = m_Cyan + If m_Black > m_Magenta Then m_Black = m_Magenta + If m_Black > m_Yellow Then m_Black = m_Yellow + End Sub + +#End Region + +#Region " Properties " + ''' + ''' Cyan - Anteil + ''' + ''' Wert im Bereich zwischen 0.0 und 1.0 + Public Property Cyan() As Double + Get + Return m_Cyan + End Get + Set(ByVal value As Double) + m_Cyan = MinMax(value) + End Set + End Property + + + ''' + ''' Magenta - Anteil + ''' + ''' Wert im Bereich zwischen 0.0 und 1.0 + Public Property Magenta() As Double + Get + Return m_Magenta + End Get + Set(ByVal value As Double) + m_Magenta = MinMax(value) + End Set + End Property + + + ''' + ''' Yellow - Anteil + ''' + ''' Wert im Bereich zwischen 0.0 und 1.0 + Public Property Yellow() As Double + Get + Return m_Yellow + End Get + Set(ByVal value As Double) + m_Yellow = MinMax(value) + End Set + End Property + + + ''' + ''' Schwarz - Anteil + ''' + ''' Wert im Bereich zwischen 0.0 und 1.0 + Public Property Black() As Double + Get + Return m_Black + End Get + Set(ByVal value As Double) + m_Black = MinMax(value) + End Set + End Property +#End Region + +#Region " Methoden " + + ''' + ''' Interne Methode, die absichert, dass C, M, Y und K nur einen Wert zwischen 0.0R und 1.0R annehmen knnen + ''' + Private Function MinMax(ByVal Val As Double) As Double + Return Math.Max(Math.Min(Val, 1.0R), 0.0R) + End Function + + ''' + ''' Gibt eine Color-Struktur zurck + ''' + ''' Color-Struktur + Public Function ToRGB() As Color + Dim red, green, blue As Integer + red = CInt(Math.Round(255.0R * (1.0R - m_Cyan))) + green = CInt(Math.Round(255.0R * (1.0R - m_Magenta))) + blue = CInt(Math.Round(255.0R * (1.0R - m_Yellow))) + + Return Color.FromArgb(red, green, blue) + End Function +#End Region + +End Class + diff --git a/Themenmanagement/Kernbotschaften/Color/Color2DBox.vb b/Themenmanagement/Kernbotschaften/Color/Color2DBox.vb new file mode 100644 index 0000000..578330d --- /dev/null +++ b/Themenmanagement/Kernbotschaften/Color/Color2DBox.vb @@ -0,0 +1,486 @@ +'******************************************************************' +'***** *****' +'***** based on Project: Adobe Color Picker Clone 1 *****' +'***** web: www.codeproject.com *****' +'***** Original Author: Danny Blanchard *****' +'***** - scrabcakes@gmail.com *****' +'***** VB Version by: Thomas Bergner *****' +'***** - thbergner@t-online.de *****' +'***** *****' +'******************************************************************' +Imports System.Drawing.Drawing2D +Imports System.ComponentModel +''' +''' Dieses Control gehrt zum AdobeColorPicker +''' + +Public Class Color2DBox + Inherits Control + Implements IColorControl + +#Region " Private Felder / Events " + ' Bitmap, das den farbigen Hintergrund des Controls (ohne den runden Marker) hlt + Private m_BMP As Bitmap + ' True, wenn der Marker mit der Maus ber das Control gezogen wird + Private m_Dragging As Boolean = False + + ' Anzeige-Stil (Hue, Saturation, Brightness, Red, Green, Blue) + Private m_DrawStyle As DrawStyles + ' ausgewhlte Farbe + Private m_Color As Color = Drawing.Color.Black + ' Original-HSL-Farbe fr DrawStyles.Hue, DrawStyles.Saturation, DrawStyles.Brightness + Private m_OriginHSL As HSLColor + + ' Position fr Farb-Marker + Private m_MarkerPosition As New Point(-1, -1) + + 'Pen zum Zeichnen des Markers + Private m_MarkerPen As Pen + + ' Event, das nur geliefert wird, wenn die ausgewhlte Farbe von intern (durch die Maus) gendert wird + Public Event ColorChanged(ByVal Sender As IColorControl) Implements IColorControl.ColorChanged +#End Region + +#Region " Konstruktoren " + Public Sub New() + 'Initialisierung wesentlicher Eigenschaften dieses Controls + Me.MinimumSize = New Size(20, 20) + Me.Size = New System.Drawing.Size(258, 258) + m_MarkerPen = New Pen(Drawing.Color.White) + m_Color = Drawing.Color.Red + m_DrawStyle = DrawStyles.Hue + + 'Marker an richtige Postion setzen + SetMarkerPosByColor() + + 'Doppelpufferung aktivieren + Me.SetStyle(ControlStyles.DoubleBuffer Or ControlStyles.UserPaint _ + Or ControlStyles.AllPaintingInWmPaint, True) + End Sub +#End Region + +#Region " Properties " + ''' + ''' Anzeige-Stil + ''' + ''' Hue, Saturation, Brightness, Red, Green, Blue + WriteOnly Property DrawStyle() As DrawStyles + Set(ByVal value As DrawStyles) + If m_DrawStyle <> value Then + m_DrawStyle = value + ' Original_HSL-Farbe fr DrawStyles.Hue, DrawStyles.Saturation, DrawStyles.Brightness ermitteln + SetOriginHSL(m_Color, m_DrawStyle) + ' Gradient-Bitmap auf Nothing setzen + m_BMP = Nothing + ' Marker-Position fr aktuelle Farbe neu ermitteln + SetMarkerPosByColor() + ' Neu Zeichnen erzwingen + Invalidate() + End If + End Set + End Property + + ''' + ''' ausgewhlte Farbe + ''' + ''' bewirkt vollstndiges Neu-Zeichnen des Controls inclusive Marker + _ + Property Color() As System.Drawing.Color Implements IColorControl.Color + Get + Return m_Color + End Get + Set(ByVal value As System.Drawing.Color) + If m_Color.R <> value.R OrElse m_Color.G <> value.G OrElse m_Color.B <> value.B Then + ' Original_HSL-Farbe fr DrawStyles.Hue, DrawStyles.Saturation, DrawStyles.Brightness ermitteln + SetOriginHSL(value, m_DrawStyle) + SetInternColor(value, False) + ' Gradient-Bitmap auf Nothing setzen + m_BMP = Nothing + ' Marker-Position fr aktuelle Farbe neu berechnen + SetMarkerPosByColor() + ' Neu Zeichnen erzwingen + Invalidate() + End If + End Set + End Property + + ''' + ''' Basis-Farbe + ''' + ''' bewirkt Neu-Zeichnen des Controls ohne nderung der Marker-Position + Public WriteOnly Property BaseColor() As System.Drawing.Color + Set(ByVal value As System.Drawing.Color) + ' Original_HSL-Farbe fr DrawStyles.Hue, DrawStyles.Saturation, DrawStyles.Brightness ermitteln + SetOriginHSL(value, m_DrawStyle) + SetInternColor(value, False) + ' Gradient-Bitmap auf Nothing setzen + m_BMP = Nothing + ' Neu Zeichnen erzwingen + Invalidate() + End Set + End Property +#End Region + +#Region " Methoden " + ''' + ''' interne Methode, die die Farbe des Markers (schwarz oder weiss) dem ausgewhlten Farb-Wert anpasst und gegebenenfalls das Changed-Event auslst + ''' + ''' neu anzuzeigende Farbe + ''' legt fest, ob ein Event bei Farbnderung geliefert werden soll + Private Sub SetInternColor(ByVal NewValue As Color, ByVal EventsEnabled As Boolean) + If m_Color <> NewValue Then + m_Color = NewValue + Dim NewPenColor As Color + Dim HSL As New HSLColor(m_Color) + ' Festlegen der Farbe fr den runden Marker + If (HSL.Lightness < 200.0R / 255.0R) OrElse (((HSL.Hue < 26.0R / 360.0R) OrElse (HSL.Hue > 200.0R / 360.0R)) AndAlso (HSL.Saturation > 70.0R / 255.0R)) Then + NewPenColor = Drawing.Color.White + Else + NewPenColor = Drawing.Color.Black + End If + If m_MarkerPen.Color <> NewPenColor Then + m_MarkerPen = New Pen(NewPenColor) + End If + If EventsEnabled Then + RaiseEvent ColorChanged(Me) + End If + End If + End Sub + + ''' + ''' berschreiben der OnPaint-Methode, um die Inhalte dieses Controls zu zeichnen + ''' + ''' PaintEventArgs + Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs) + MyBase.OnPaint(e) + + 'm_BMP ist eine Bitmap, das den Hintergrund-Farbgradienten enthlt + If m_BMP Is Nothing Then + 'Wenn diese Bitmap Nothing ist, wird sie neu erstellt + m_BMP = New Bitmap(Me.Width, Me.Height, Drawing.Imaging.PixelFormat.Format32bppArgb) + Dim gr As Graphics = Graphics.FromImage(m_BMP) + DrawBackGround(gr) + End If + + 'zuerst wird die Hintergrund-Bitmap gezeichnet + e.Graphics.DrawImage(m_BMP, New Rectangle(0, 0, Me.Width, Me.Height)) + 'danach der runde Marker + DrawMarker(e.Graphics) + 'dann der Rahmen dieses Controls + ControlPaint.DrawVisualStyleBorder(e.Graphics, New Rectangle(0, 0, Me.Width - 1, Me.Height - 1)) + End Sub + + ''' + ''' zeichnet den runden Marker auf einem Graphics-Objekt + ''' + ''' Graphics-Objekt + Private Sub DrawMarker(ByVal g As Graphics) + ' AntiAliasing aktivieren + g.SmoothingMode = SmoothingMode.AntiAlias + ' Marker zeichnen + g.DrawEllipse(m_MarkerPen, m_MarkerPosition.X - 5, m_MarkerPosition.Y - 5, 10, 10) + ' AntiAliasing aktivieren + g.SmoothingMode = SmoothingMode.Default + End Sub + + ''' + ''' zeichnet den Hintergrund-Farbradienten auf einem Graphics-Objekt + ''' + ''' Graphics-Objekt + Private Sub DrawBackGround(ByVal g As Graphics) + Select Case m_DrawStyle + Case DrawStyles.Hue + Draw_Style_Hue(g) + Case DrawStyles.Saturation + Draw_Style_Saturation(g) + Case DrawStyles.Brightness + Draw_Style_Luminance(g) + Case DrawStyles.Red + Draw_Style_Red(g) + Case DrawStyles.Green + Draw_Style_Green(g) + Case DrawStyles.Blue + Draw_Style_Blue(g) + End Select + End Sub + + ''' + ''' Zeichnet einen Farbgradienten fr fest stehenden Hue-Wert auf einem Graphics-Objekt + ''' + Private Sub Draw_Style_Hue(ByVal g As Graphics) + + Dim hsl_start As New HSLColor(m_Color) + Dim hsl_end As New HSLColor(m_Color) + hsl_start.Saturation = 0.0R + hsl_end.Saturation = 1.0R + + For i As Integer = 0 To Me.Height - 3 + + ' Fr jede horizontale Linie im Control: + ' Luminanz an dieser Linie berechnen (Hue und Saturation sind konstant) + hsl_start.Lightness = 1.0R - CDbl(i) / CDbl(Me.Height - 2) + + hsl_end.Lightness = hsl_start.Lightness + + Dim br As New LinearGradientBrush(New Rectangle(1, 1, Me.Width - 2, 1), hsl_start.ToRGB, hsl_end.ToRGB, 0, False) + g.FillRectangle(br, New Rectangle(1, i + 1, Me.Width - 2, 1)) + Next + End Sub + + ''' + ''' Zeichnet einen Farbgradienten fr fest stehenden Saturation-Wert auf einem Graphics-Objekt + ''' + Private Sub Draw_Style_Saturation(ByVal g As Graphics) + + Dim hsl_start As New HSLColor(m_Color) + Dim hsl_end As New HSLColor(m_Color) + + hsl_start.Lightness = 1.0R + hsl_end.Lightness = 0.0R + + For i As Integer = 0 To Me.Width - 3 + + ' Fr jede vertikale Linie im Control: + ' Hue an dieser Linie berechnen (Saturation und Luminance sind konstant) + hsl_start.Hue = CDbl(i) / CDbl(Me.Width - 2) + hsl_end.Hue = hsl_start.Hue + + Dim br As New LinearGradientBrush(New Rectangle(1, 1, 1, Me.Height - 2), hsl_start.ToRGB, hsl_end.ToRGB, 90, False) + g.FillRectangle(br, New Rectangle(i + 1, 1, 1, Me.Height - 2)) + Next + End Sub + + ''' + ''' Zeichnet einen Farbgradienten fr fest stehenden Luminance-Wert auf einem Graphics-Objekt + ''' + Private Sub Draw_Style_Luminance(ByVal g As Graphics) + + Dim hsl_start As New HSLColor(m_Color) + Dim hsl_end As New HSLColor(m_Color) + hsl_start.Saturation = 1.0R + hsl_end.Saturation = 0.0R + + For i As Integer = 0 To Me.Width - 3 + + ' Fr jede vertikale Linie im Control: + ' Hue an dieser Linie berechnen (Saturation und Luminance sind konstant) + hsl_start.Hue = CDbl(i) / CDbl(Me.Width - 2) + hsl_end.Hue = hsl_start.Hue + + Dim br As New LinearGradientBrush(New Rectangle(1, 1, 1, Me.Height - 2), hsl_start.ToRGB, hsl_end.ToRGB, 90, False) + g.FillRectangle(br, New Rectangle(i + 1, 1, 1, Me.Height - 2)) + Next + End Sub + + ''' + ''' Zeichnet einen Farbgradienten fr fest stehenden Red-Wert auf einem Graphics-Objekt + ''' + Private Sub Draw_Style_Red(ByVal g As Graphics) + + Dim red As Integer = m_Color.R + + For i As Integer = 0 To Me.Height - 3 + + ' Fr jede horizontale Linie im Control: + ' Green an dieser Linie berechnen (Red und Blue sind konstant) + Dim green As Integer = CInt(Math.Round(255.0R - (255.0R * CDbl(i) / CDbl(Me.Height - 2)))) + + Dim br As New LinearGradientBrush(New Rectangle(1, 1, Me.Width - 2, 1), Drawing.Color.FromArgb(red, green, 0), Drawing.Color.FromArgb(red, green, 255), 0, False) + g.FillRectangle(br, New Rectangle(1, i + 1, Me.Width - 2, 1)) + Next + End Sub + + ''' + ''' Zeichnet einen Farbgradienten fr fest stehenden Green-Wert auf einem Graphics-Objekt + ''' + Private Sub Draw_Style_Green(ByVal g As Graphics) + + Dim green As Integer = m_Color.G + + For i As Integer = 0 To Me.Height - 3 + + ' Fr jede horizontale Linie im Control: + ' Red an dieser Linie berechnen (Green und Blue sind konstant) + Dim red As Integer = CInt(Math.Round(255.0R - (255.0R * CDbl(i) / CDbl(Me.Height - 2)))) + + Dim br As New LinearGradientBrush(New Rectangle(1, 1, Me.Width - 2, 1), Drawing.Color.FromArgb(red, green, 0), Drawing.Color.FromArgb(red, green, 255), 0, False) + g.FillRectangle(br, New Rectangle(1, i + 1, Me.Width - 2, 1)) + Next + End Sub + + ''' + ''' Zeichnet einen Farbgradienten fr fest stehenden Blue-Wert auf einem Graphics-Objekt + ''' + Private Sub Draw_Style_Blue(ByVal g As Graphics) + + Dim blue As Integer = m_Color.B + + For i As Integer = 0 To Me.Height - 3 + + ' Fr jede horizontale Linie im Control: + ' Green an dieser Linie berechnen (Red und Blue sind konstant) + Dim green As Integer = CInt(Math.Round(255.0R - (255.0R * CDbl(i) / CDbl(Me.Height - 2)))) + + Dim br As New LinearGradientBrush(New Rectangle(1, 1, Me.Width - 2, 1), Drawing.Color.FromArgb(0, green, blue), Drawing.Color.FromArgb(255, green, blue), 0, False) + g.FillRectangle(br, New Rectangle(1, i + 1, Me.Width - 2, 1)) + Next + End Sub + + ''' + ''' liefert die angezeigte Farbe fr eine x, y - Position im Control + ''' + Private Function GetColor(ByVal x As Integer, ByVal y As Integer) As Color + + Select Case m_DrawStyle + Case DrawStyles.Hue, DrawStyles.Saturation, DrawStyles.Brightness + Dim TmpHSL As New HSLColor(m_OriginHSL) + If m_DrawStyle = DrawStyles.Hue Then + TmpHSL.Saturation = CDbl(x) / CDbl(Me.Width - 2) + TmpHSL.Lightness = 1.0R - CDbl(y) / CDbl(Me.Height - 2) + ElseIf m_DrawStyle = DrawStyles.Saturation Then + TmpHSL.Hue = CDbl(x) / CDbl(Me.Width - 2) + TmpHSL.Lightness = 1.0R - CDbl(y) / CDbl(Me.Height - 2) + ElseIf m_DrawStyle = DrawStyles.Brightness Then + TmpHSL.Hue = CDbl(x) / CDbl(Me.Width - 2) + TmpHSL.Saturation = 1.0R - CDbl(y) / CDbl(Me.Height - 2) + End If + Return TmpHSL.ToRGB + Case Else + If m_DrawStyle = DrawStyles.Red Then + Return Drawing.Color.FromArgb(m_Color.R, CInt(Math.Round(255.0R * (1.0R - CDbl(y) / CDbl(Me.Height - 2)))), CInt(Math.Round(255.0R * CDbl(x) / CDbl(Me.Width - 2)))) + ElseIf m_DrawStyle = DrawStyles.Green Then + Return Drawing.Color.FromArgb(CInt(Math.Round(255.0R * (1.0R - CDbl(y) / CDbl(Me.Height - 2)))), m_Color.G, CInt(Math.Round(255.0R * CDbl(x) / CDbl(Me.Width - 2)))) + ElseIf m_DrawStyle = DrawStyles.Blue Then + Return Drawing.Color.FromArgb(CInt(Math.Round(255.0R * CDbl(x) / CDbl(Me.Width - 2))), CInt(Math.Round(255.0R * (1.0R - CDbl(y) / CDbl(Me.Height - 2)))), m_Color.B) + End If + End Select + + End Function + + ''' + ''' legt die Position des Markers fr eine ausgewhlte Farbe fest + ''' + Private Sub SetMarkerPosByColor() + + Dim MarkerX, MarkerY As Double + Select Case m_DrawStyle + Case DrawStyles.Hue + Dim HSL As New HSLColor(m_Color) + MarkerX = CDbl(Me.Width - 2) * HSL.Saturation + MarkerY = CDbl(Me.Height - 2) * (1.0R - HSL.Lightness) + + Case DrawStyles.Saturation + Dim HSL As New HSLColor(m_Color) + MarkerX = CDbl(Me.Width - 2) * HSL.Hue + MarkerY = CDbl(Me.Height - 2) * (1.0R - HSL.Lightness) + + Case DrawStyles.Brightness + Dim HSL As New HSLColor(m_Color) + MarkerX = CDbl(Me.Width - 2) * HSL.Hue + MarkerY = CDbl(Me.Height - 2) * (1.0R - HSL.Saturation) + + Case DrawStyles.Red + MarkerX = CDbl(Me.Width - 2) * CDbl(m_Color.B) / 255.0R + MarkerY = CDbl(Me.Height - 2) * (1.0R - CDbl(m_Color.G) / 255.0R) + + Case DrawStyles.Green + MarkerX = CDbl(Me.Width - 2) * CDbl(m_Color.B) / 255.0R + MarkerY = CDbl(Me.Height - 2) * (1.0R - CDbl(m_Color.R) / 255.0R) + + Case DrawStyles.Blue + MarkerX = CDbl(Me.Width - 2) * CDbl(m_Color.R) / 255.0R + MarkerY = CDbl(Me.Height - 2) * (1.0R - CDbl(m_Color.G) / 255.0R) + End Select + + m_MarkerPosition = New Point(CInt(Math.Round(MarkerX)), CInt(Math.Round(MarkerY))) + End Sub + + ''' + ''' berschreiben der OnResize-Methode, um bei Grennderung den angezeigten Inhalt zu aktualisieren + ''' + Protected Overrides Sub OnResize(ByVal e As System.EventArgs) + MyBase.OnResize(e) + ' Gradient-Bitmap auf Nothing setzen + m_BMP = Nothing + ' Marker-Position fr aktuelle Farbe neu ermitteln + SetMarkerPosByColor() + ' Neu Zeichnen erzwingen + Invalidate() + End Sub + + ''' + ''' berschreiben der MouseDown-Methode, um den Marker zu bewegen + ''' + Private Sub Color2DBox_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseDown + ' nur wenn linker Mouse-Button gedrckt ist + If e.Button <> MouseButtons.Left Then Return + ' Dragging-Flag auf True setzen + m_Dragging = True + ' Marker zur Maus-Position bewegen + MoveMarkerTo(e.Location) + End Sub + + ''' + ''' berschreiben der MouseMove-Methode, um den Marker zu bewegen + ''' + Private Sub Color2DBox_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove + ' Nur wenn Dragging-Flag True ist + If Not m_Dragging Then Return + ' Marker zur Maus-Position bewegen + MoveMarkerTo(e.Location) + End Sub + + ''' + ''' berschreiben der MouseUp-Methode, die Marker-Bewegung zu beenden + ''' + Private Sub Color2DBox_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseUp + ' nur wenn linker Mouse-Button gedrckt ist + If e.Button <> MouseButtons.Left Then Return + ' Nur wenn Dragging-Flag True ist + If Not m_Dragging Then Return + ' Marker zur Maus-Position bewegen + MoveMarkerTo(e.Location) + ' Dragging-Flag auf False setzen + m_Dragging = False + End Sub + + ''' + ''' Interne Methode, die nach Bewegung des Markers zu einem beliebigen Punkt innerhalb des Controls (nach Mouse-Aktion) eine nderung der Anzeige und gegebenenfalls Auslsen des Changed-Events bewirkt + ''' + Private Sub MoveMarkerTo(ByVal MousePosition As Point) + Dim x As Integer = MousePosition.X - 1 + Dim y As Integer = MousePosition.Y - 1 + ' x darf nur zwischen 0 und Width - 2 liegen + x = Math.Min(Math.Max(x, 0), Me.Width - 2) + + ' y darf nur zwischen 0 und Height - 2 liegen + y = Math.Min(Math.Max(y, 0), Me.Height - 2) + + ' wenn die neue Maus-Position gleich der vorherigen ist, ist nichts weiter zu tun + If x = m_MarkerPosition.X AndAlso y = m_MarkerPosition.Y Then Return + + ' bisheriges Marker-Rechteck ermitteln + Dim OldRect As New Rectangle(m_MarkerPosition.X - 10, m_MarkerPosition.Y - 10, 20, 20) + ' neue Marker-Position festlegen + m_MarkerPosition = New Point(x, y) + ' neues Marker-Rechteck ermitteln + Dim NewRect As New Rectangle(m_MarkerPosition.X - 10, m_MarkerPosition.Y - 10, 20, 20) + + ' Neue Farbe fr Mauskoordinaten ermitteln und nderungs-Event liefern + SetInternColor(GetColor(x, y), True) + + 'Neu-Zeichnen nur fr altes und neues Marker-Rechteck erzwingen + Invalidate(Rectangle.Union(OldRect, NewRect)) + End Sub + + ''' + ''' legt bei nderung der Color-Property oder von DrawStyle die Original_HSL-Farbe fest + ''' + Private Sub SetOriginHSL(ByVal Col As Color, ByVal DrawStyle As DrawStyles) + If DrawStyle = DrawStyles.Blue OrElse DrawStyle = DrawStyles.Green OrElse DrawStyle = DrawStyles.Red Then Exit Sub + m_OriginHSL = New HSLColor(Col) + End Sub +#End Region + +End Class diff --git a/Themenmanagement/Kernbotschaften/Color/DrawStyles.vb b/Themenmanagement/Kernbotschaften/Color/DrawStyles.vb new file mode 100644 index 0000000..aca26cd --- /dev/null +++ b/Themenmanagement/Kernbotschaften/Color/DrawStyles.vb @@ -0,0 +1,29 @@ +''' +''' Anzeige - Varianten fr den Adobe Color Picker +''' +Public Enum DrawStyles + ''' + ''' konstanter Farbton + ''' + Hue = 0 + ''' + ''' konstante Sttigung + ''' + Saturation = 1 + ''' + ''' konstante Helligkeit + ''' + Brightness = 2 + ''' + ''' konstanter Rot-Anteil + ''' + Red = 3 + ''' + ''' konstanter Grn-Anteil + ''' + Green = 4 + ''' + ''' konstanter Blau-Anteil + ''' + Blue = 5 +End Enum \ No newline at end of file diff --git a/Themenmanagement/Kernbotschaften/Color/HSLColor.vb b/Themenmanagement/Kernbotschaften/Color/HSLColor.vb new file mode 100644 index 0000000..332ac47 --- /dev/null +++ b/Themenmanagement/Kernbotschaften/Color/HSLColor.vb @@ -0,0 +1,198 @@ +''' +''' HSL-Farbe +''' +''' Farbraum des Farbmodells, bei dem man die Farbe mit Hilfe des Farbtons (englisch hue), der Sttigung (saturation) und der relativen Helligkeit (lightness) definiert +Public Class HSLColor + +#Region " Private Felder " + Private m_Hue As Double + Private m_Saturation As Double + Private m_Lightness As Double +#End Region + +#Region " Konstruktoren " + ''' + ''' Konstruktor fr Initialisierung mit fest stehenden HSL-Werten + ''' + ''' Farbton - Wert zwischen 0.0 und 1.0 + ''' Sttigung - Wert zwischen 0.0 und 1.0 + ''' relative Helligkeit - Wert zwischen 0.0 und 1.0 + Public Sub New(ByVal Hue As Double, ByVal Saturation As Double, ByVal Lightness As Double) + m_Hue = Hue + m_Saturation = Saturation + m_Lightness = Lightness + End Sub + + ''' + ''' Konstruktor fr Initialisierung mit einer bekannten HSL-Farbe + ''' + ''' bekannte HSL-Farbe + Public Sub New(ByVal Original As HSLColor) + Try + m_Hue = Original.Hue + m_Saturation = Original.Saturation + m_Lightness = Original.Lightness + Catch + End Try + End Sub + ''' + ''' Konstruktor fr Initialisierung mit einer Color-Struktur + ''' + ''' Color-Struktur + Public Sub New(ByVal Col As Color) + Dim Max, Min, Diff, Sum As Integer + + If Col.R > Col.G Then + Max = Col.R + Min = Col.G + Else + Max = Col.G + Min = Col.R + End If + + If Col.B > Max Then + Max = Col.B + ElseIf Col.B < Min Then + Min = Col.B + End If + + Diff = Max - Min + Sum = Max + Min + + Me.Lightness = CDbl(Max) / 255.0R + + If Max <> 0 Then + Me.Saturation = CDbl(Diff) / CDbl(Max) + End If + + Dim q As Double + If Diff <> 0 Then + q = CDbl(60) / CDbl(Diff) + End If + + If Max = Col.R Then + If Col.G < Col.B Then + Me.Hue = (360.0R + q * (CDbl(Col.G) - CDbl(Col.B))) / 360.0R + Else + Me.Hue = (q * (CDbl(Col.G) - CDbl(Col.B))) / 360.0R + End If + ElseIf Max = Col.G Then + Me.Hue = (120.0R + q * (CDbl(Col.B) - CDbl(Col.R))) / 360.0R + ElseIf Max = Col.B Then + Me.Hue = (240.0R + q * (CDbl(Col.R) - CDbl(Col.G))) / 360.0R + End If + End Sub +#End Region + +#Region " Properties " + ''' + ''' Farbton + ''' + ''' Wert zwischen 0.0 und 1.0 + Public Property Hue() As Double + Get + Return m_Hue + End Get + Set(ByVal value As Double) + m_Hue = MinMax(value) + End Set + End Property + + ''' + ''' Sttigung + ''' + ''' Wert zwischen 0.0 und 1.0 + Public Property Saturation() As Double + Get + Return m_Saturation + End Get + Set(ByVal value As Double) + m_Saturation = MinMax(value) + End Set + End Property + + ''' + ''' relative Helligkeit + ''' + ''' Wert zwischen 0.0 und 1.0 + Public Property Lightness() As Double + Get + Return m_Lightness + End Get + Set(ByVal value As Double) + m_Lightness = MinMax(value) + End Set + End Property +#End Region + +#Region " Methoden " + ''' + ''' Interne Methode, die absichert, dass H, S und L nur einen Wert zwischen 0.0R und 1.0R annehmen knnen. + ''' + Private Function MinMax(ByVal Val As Double) As Double + Return Math.Max(Math.Min(Val, 1.0R), 0.0R) + End Function + ''' + ''' Interne Methode die fr die ToRGB-Methode bentigt wird. Liefert einen Integer-Wert zwischen 0 und 255. + ''' + ''' beliebiger Double-Wert + ''' Integer-Wert zwischen 0 und 255 + Private Function RoundColValue(ByVal Val As Double) As Integer + Return CInt(Math.Round(Math.Max(Math.Min(Val, 255.0R), 0.0R))) + End Function + ''' + ''' Gibt eine Color-Struktur zurck + ''' + ''' Color-Struktur + Public Function ToRGB() As Color + Dim Max, Mid, Min, q As Double + + Max = RoundColValue(m_Lightness * 255.0R) + Min = RoundColValue((1.0R - m_Saturation) * (m_Lightness / 1.0R) * 255.0R) + q = (Max - Min) / 255.0R + + Dim R, G, B As Integer + + If m_Hue >= 0.0R AndAlso m_Hue <= 1.0R / 6.0R Then + Mid = RoundColValue(m_Hue * q * 1530.0R + Min) + R = CInt(Max) + G = CInt(Mid) + B = CInt(Min) + + ElseIf m_Hue <= 1.0R / 3.0R Then + Mid = RoundColValue(-((m_Hue - 1.0R / 6.0R) * q) * 1530.0R + Max) + R = CInt(Mid) + G = CInt(Max) + B = CInt(Min) + + ElseIf m_Hue <= 0.5R Then + Mid = RoundColValue(((m_Hue - 1.0R / 3.0R) * q) * 1530.0R + Min) + R = CInt(Min) + G = CInt(Max) + B = CInt(Mid) + + ElseIf m_Hue <= 2.0R / 3.0R Then + Mid = RoundColValue(-((m_Hue - 0.5R) * q) * 1530.0R + Max) + R = CInt(Min) + G = CInt(Mid) + B = CInt(Max) + + ElseIf m_Hue <= 5.0R / 6.0R Then + Mid = RoundColValue(((m_Hue - 2.0R / 3.0R) * q) * 1530.0R + Min) + R = CInt(Mid) + G = CInt(Min) + B = CInt(Max) + + ElseIf m_Hue <= 1.0R Then + Mid = RoundColValue(-((m_Hue - 5.0R / 6.0R) * q) * 1530.0R + Max) + R = CInt(Max) + G = CInt(Min) + B = CInt(Mid) + + End If + + Return Color.FromArgb(R, G, B) + End Function +#End Region + +End Class diff --git a/Themenmanagement/Kernbotschaften/Color/HexColors.vb b/Themenmanagement/Kernbotschaften/Color/HexColors.vb new file mode 100644 index 0000000..9739e1a --- /dev/null +++ b/Themenmanagement/Kernbotschaften/Color/HexColors.vb @@ -0,0 +1,47 @@ +''' +''' Hilfsklasse, die das Umwandeln von Hexadezimal-Farbwerten in RGB-Farben und umgekehrt ermglicht +''' + +Public Class HexColors + ''' + ''' Liefert fr einen Hexadezimal-String in eine Color-Struktur + ''' + ''' Hexadezimal-String, der eine Farbe reprsentiert + ''' Color-Struktur + Shared Function ToColor(ByVal HexValue As String) As Color + Dim TmpText As String = HexValue.Trim + Try + If TmpText.Length = 3 Then + Dim r As Integer, g As Integer, b As Integer + r = Integer.Parse(TmpText.Substring(0, 1) & TmpText.Substring(0, 1), System.Globalization.NumberStyles.HexNumber) + g = Integer.Parse(TmpText.Substring(1, 1) & TmpText.Substring(1, 1), System.Globalization.NumberStyles.HexNumber) + b = Integer.Parse(TmpText.Substring(2, 1) & TmpText.Substring(2, 1), System.Globalization.NumberStyles.HexNumber) + Return Color.FromArgb(r, g, b) + ElseIf TmpText.Length = 6 Then + Dim r As Integer, g As Integer, b As Integer + r = Integer.Parse(TmpText.Substring(0, 2), System.Globalization.NumberStyles.HexNumber) + g = Integer.Parse(TmpText.Substring(2, 2), System.Globalization.NumberStyles.HexNumber) + b = Integer.Parse(TmpText.Substring(4, 2), System.Globalization.NumberStyles.HexNumber) + Return Color.FromArgb(r, g, b) + Else + Throw New Exception("Unknown ColorString") + End If + Catch ex As Exception + Throw New Exception("Unknown ColorString") + End Try + End Function + ''' + ''' Liefert fr eine Color-Struktur in einen Hexadezimal-String + ''' + ''' Color-Struktur + ''' Hexadezimal-String, der eine Farbe reprsentiert + Shared Function ToHexString(ByVal Color As Color) As String + Dim red As String = Convert.ToString(Color.R, 16) + red = red.PadLeft(2, "0") + Dim green As String = Convert.ToString(Color.G, 16) + green = green.PadLeft(2, "0") + Dim blue As String = Convert.ToString(Color.B, 16) + blue = blue.PadLeft(2, "0") + Return red.ToUpper & green.ToUpper & blue.ToUpper + End Function +End Class diff --git a/Themenmanagement/Kernbotschaften/Color/IColorControl.vb b/Themenmanagement/Kernbotschaften/Color/IColorControl.vb new file mode 100644 index 0000000..c763421 --- /dev/null +++ b/Themenmanagement/Kernbotschaften/Color/IColorControl.vb @@ -0,0 +1,13 @@ +''' +''' Interface fr Controls, fr die Farbwerte eingestellt oder geliefert werden knnen +''' +Public Interface IColorControl + ''' + ''' Frabe die angezeigt wird oder ausgewhlt ist + ''' + Property Color() As Color + ''' + ''' Dieses Event wird geliefert, wenn Color-Eigenschaft von intern (im IColorControl) z.B. durch Maus- oder Tastatureingaben gendert wurde + ''' + Event ColorChanged(ByVal Sender As IColorControl) +End Interface diff --git a/Themenmanagement/Kernbotschaften/Color/VerticalColorSlider.vb b/Themenmanagement/Kernbotschaften/Color/VerticalColorSlider.vb new file mode 100644 index 0000000..1d65466 --- /dev/null +++ b/Themenmanagement/Kernbotschaften/Color/VerticalColorSlider.vb @@ -0,0 +1,464 @@ +'******************************************************************' +'***** *****' +'***** based on Project: Adobe Color Picker Clone 1 *****' +'***** web: www.codeproject.com *****' +'***** Original Author: Danny Blanchard *****' +'***** - scrabcakes@gmail.com *****' +'***** VB Version by: Thomas Bergner *****' +'***** - thbergner@t-online.de *****' +'***** *****' +'******************************************************************' +Imports System.ComponentModel +''' +''' Dieses Control gehrt zum AdobeColorPicker +''' +Public Class VerticalColorSlider + Inherits Control + Implements IColorControl + +#Region " Private Felder / Events " + ' Bitmap, das den farbigen Hintergrund des Controls (ohne den Marker) hlt + Private m_BMP As Bitmap + + ' Position fr Farb-Marker + Private m_MarkerY As Integer = 0 + + ' True, wenn der Marker mit der Maus ber das Control gezogen wird + Private m_Dragging As Boolean = False + + ' Anzeige-Stil (Hue, Saturation, Brightness, Red, Green, Blue) + Private m_DrawStyle As DrawStyles + ' ausgewhlte Farbe + Private m_Color As Color + ' Original-HSL-Farbe fr DrawStyles.Hue, DrawStyles.Saturation, DrawStyles.Brightness + Private m_OriginHSL As HSLColor + + ' Pen zum Zeichnen des Markers + Private m_SliderPen As Pen + ' Brush zum Zeichnen des Markers + Private m_SliderBrush As SolidBrush + ' Event, das nur geliefert wird, wenn die ausgewhlte Farbe von intern (durch die Maus) gendert wird + Public Event ColorChanged(ByVal Sender As IColorControl) Implements IColorControl.ColorChanged +#End Region + +#Region " Konstruktoren " + Public Sub New() + ' Initialisierung wesentlicher Eigenschaften dieses Controls + Me.MinimumSize = New Size(20, 20) + Me.Size = New System.Drawing.Size(40, 264) + + m_SliderPen = New Pen(Drawing.Color.FromArgb(116, 114, 106)) + m_SliderBrush = Brushes.White + m_Color = Drawing.Color.Red + m_DrawStyle = DrawStyles.Hue + + 'Marker an richtige Postion setzen + SetMarkerPosByColor() + + 'Doppelpufferung aktivieren + Me.SetStyle(ControlStyles.DoubleBuffer Or ControlStyles.UserPaint _ + Or ControlStyles.AllPaintingInWmPaint, True) + End Sub +#End Region + +#Region " Properties " + ''' + ''' Anzeige-Stil + ''' + ''' Hue, Saturation, Brightness, Red, Green, Blue + WriteOnly Property DrawStyle() As DrawStyles + Set(ByVal value As DrawStyles) + If m_DrawStyle <> value Then + m_DrawStyle = value + ' Original_HSL-Farbe fr DrawStyles.Hue, DrawStyles.Saturation, DrawStyles.Brightness ermitteln + SetOriginHSL(m_Color, m_DrawStyle) + ' Gradient-Bitmap auf Nothing setzen + m_BMP = Nothing + ' Marker-Position neu festlegen + SetMarkerPosByColor() + ' Neu Zeichnen erzwingen + Invalidate() + End If + End Set + End Property + + ''' + ''' ausgewhlte Farbe + ''' + ''' bewirkt vollstndiges Neu-Zeichnen des Controls inclusive Marker + _ + Public Property Color() As System.Drawing.Color Implements IColorControl.Color + Get + Return m_Color + End Get + Set(ByVal value As System.Drawing.Color) + If m_Color <> value Then + m_Color = value + ' Original_HSL-Farbe fr DrawStyles.Hue, DrawStyles.Saturation, DrawStyles.Brightness ermitteln + SetOriginHSL(value, m_DrawStyle) + ' Gradient-Bitmap auf Nothing setzen + m_BMP = Nothing + ' Marker-Position fr Farbe neu ermitteln + SetMarkerPosByColor() + ' Neu Zeichnen erzwingen + Invalidate() + End If + End Set + End Property + + ''' + ''' Basis-Farbe + ''' + ''' bewirkt Neu-Zeichnen des Controls ohne nderung der Marker-Position + Public WriteOnly Property BaseColor() As System.Drawing.Color + Set(ByVal value As System.Drawing.Color) + ' Original_HSL-Farbe fr DrawStyles.Hue, DrawStyles.Saturation, DrawStyles.Brightness ermitteln + SetOriginHSL(value, m_DrawStyle) + m_Color = value + ' Fr DrawStyle = Hue bleibt das Hintergrund-Bitmap das gleiche, + ' ansonsten Gradient-Bitmap fr auf Nothing setzen + If m_DrawStyle <> DrawStyles.Hue Then m_BMP = Nothing + ' Neu Zeichnen erzwingen + Invalidate() + End Set + End Property +#End Region + +#Region " Methoden " + ''' + ''' berschreiben der OnPaint-Methode, um die Inhalte dieses Controls zu zeichnen + ''' + ''' PaintEventArgs + Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs) + MyBase.OnPaint(e) + + 'm_BMP ist eine Bitmap, das den Hintergrund-Farbgradienten enthlt + If m_BMP Is Nothing Then + ' Wenn diese Bitmap Nothing ist, wird sie neu erstellt + m_BMP = New Bitmap(Me.Width, Me.Height, Drawing.Imaging.PixelFormat.Format32bppArgb) + Dim gr As Graphics = Graphics.FromImage(m_BMP) + DrawBackGround(gr) + End If + + ' zuerst wird die Hintergrund-Bitmap gezeichnet + e.Graphics.DrawImage(m_BMP, New Rectangle(0, 0, Me.Width, Me.Height)) + ' danach der Rahmen dieses Controls + ControlPaint.DrawVisualStyleBorder(e.Graphics, New Rectangle(10, 3, Me.Width - 21, Me.Height - 7)) + ' dann der Marker + DrawSlider(e.Graphics) + End Sub + + ''' + ''' zeichnet den Marker des Controls + ''' + Private Sub DrawSlider(ByVal g As Graphics) + + ' AntiAliasing aktivieren + g.SmoothingMode = Drawing2D.SmoothingMode.AntiAlias + + ' linkes Dreieck + Dim arrow(6) As Point + arrow(0) = New Point(1, m_MarkerY) + arrow(1) = New Point(3, m_MarkerY) + arrow(2) = New Point(7, m_MarkerY + 4) + arrow(3) = New Point(3, m_MarkerY + 8) + arrow(4) = New Point(1, m_MarkerY + 8) + arrow(5) = New Point(0, m_MarkerY + 7) + arrow(6) = New Point(0, m_MarkerY + 1) + ' mit weissem Brush fllen + g.FillPolygon(m_SliderBrush, arrow) + ' Rand mit grauem Pen zeichnen + g.DrawPolygon(m_SliderPen, arrow) + + ' rechtes Dreieck + arrow(0) = New Point(Me.Width - 2, m_MarkerY) + arrow(1) = New Point(Me.Width - 4, m_MarkerY) + arrow(2) = New Point(Me.Width - 8, m_MarkerY + 4) + arrow(3) = New Point(Me.Width - 4, m_MarkerY + 8) + arrow(4) = New Point(Me.Width - 2, m_MarkerY + 8) + arrow(5) = New Point(Me.Width - 1, m_MarkerY + 7) + arrow(6) = New Point(Me.Width - 1, m_MarkerY + 1) + + ' mit weissem Brush fllen + g.FillPolygon(m_SliderBrush, arrow) + ' Rand mit grauem Pen zeichnen + g.DrawPolygon(m_SliderPen, arrow) + + ' AntiAliasing deaktivieren + g.SmoothingMode = Drawing2D.SmoothingMode.Default + + End Sub + + ''' + ''' berschreiben der OnResize-Methode, um bei Grennderung den angezeigten Inhalt zu aktualisieren + ''' + Protected Overrides Sub OnResize(ByVal e As System.EventArgs) + MyBase.OnResize(e) + ' Gradient-Bitmap auf Nothing setzen + m_BMP = Nothing + ' Marker-Position fr aktuelle Farbe neu berechnen + SetMarkerPosByColor() + ' Neu Zeichnen erzwingen + Invalidate() + End Sub + + ''' + ''' zeichnet den Hintergrund-Farbradienten auf einem Graphics-Objekt + ''' + ''' Graphics-Objekt + Private Sub DrawBackGround(ByVal g As Graphics) + Select Case m_DrawStyle + Case DrawStyles.Hue + Draw_Style_Hue(g) + Case DrawStyles.Saturation + Draw_Style_Saturation(g) + Case DrawStyles.Brightness + Draw_Style_Luminance(g) + Case DrawStyles.Red + Draw_Style_Red(g) + Case DrawStyles.Green + Draw_Style_Green(g) + Case DrawStyles.Blue + Draw_Style_Blue(g) + End Select + End Sub + + ''' + ''' Zeichnet den Farbgradienten des Controls fr alle Hue-Werte (0 bis 360) fr fest stehende Luminance- und Saturation-Werte + ''' + Private Sub Draw_Style_Hue(ByVal g As Graphics) + + Dim HSL As New HSLColor(m_Color) + HSL.Saturation = 1 + HSL.Lightness = 1 + For i As Integer = 0 To Me.Height - 9 + + HSL.Hue = 1.0R - CDbl(i) / CDbl(Me.Height - 8) + Dim pen As New Pen(HSL.ToRGB) + g.DrawLine(pen, 11, i + 4, Me.Width - 11, i + 4) + pen.Dispose() + Next + End Sub + + + ''' + ''' Zeichnet den Farbgradienten des Controls fr alle Saturation-Werte (0 bis 100%) fr fest stehende Hue- und Luminance-Werte + ''' + Private Sub Draw_Style_Saturation(ByVal g As Graphics) + + Dim HSL As New HSLColor(m_Color) + Dim StartCol, EndCol As Color + HSL.Saturation = 1.0R + + StartCol = HSL.ToRGB + HSL.Saturation = 0.0R + EndCol = HSL.ToRGB + + Dim Rect As New Rectangle(11, 4, Me.Width - 22, Me.Height - 8) + Dim Brsh As New Drawing2D.LinearGradientBrush(Rect, StartCol, EndCol, Drawing2D.LinearGradientMode.Vertical) + g.FillRectangle(Brsh, Rect) + Brsh.Dispose() + + End Sub + + + ''' + ''' Zeichnet den Farbgradienten des Controls fr alle Luminance-Werte (0 to 100%) fr fest stehende Hue- und Saturation-Werte + ''' + Private Sub Draw_Style_Luminance(ByVal g As Graphics) + + Dim HSL As New HSLColor(m_Color) + Dim StartCol, EndCol As Color + HSL.Lightness = 1.0R + StartCol = HSL.ToRGB + HSL.Lightness = 0.0R + EndCol = HSL.ToRGB + Dim Rect As New Rectangle(11, 4, Me.Width - 22, Me.Height - 8) + Dim Brsh As New Drawing2D.LinearGradientBrush(Rect, StartCol, EndCol, Drawing2D.LinearGradientMode.Vertical) + g.FillRectangle(Brsh, Rect) + Brsh.Dispose() + + End Sub + + + ''' + ''' Zeichnet den Farbgradienten des Controls fr alle Red-Werte (0 to 255) fr fest stehende Green- und Blue-Werte + ''' + Private Sub Draw_Style_Red(ByVal g As Graphics) + Dim StartCol, EndCol As Color + StartCol = Color.FromArgb(255, m_Color.G, m_Color.B) + EndCol = Color.FromArgb(0, m_Color.G, m_Color.B) + + Dim Rect As New Rectangle(11, 4, Me.Width - 22, Me.Height - 8) + Dim Brsh As New Drawing2D.LinearGradientBrush(Rect, StartCol, EndCol, Drawing2D.LinearGradientMode.Vertical) + g.FillRectangle(Brsh, Rect) + Brsh.Dispose() + + End Sub + + + ''' + ''' Zeichnet den Farbgradienten des Controls fr alle Green-Werte (0 to 255) fr fest stehende Red- und Blue-Werte + ''' + Private Sub Draw_Style_Green(ByVal g As Graphics) + Dim StartCol, EndCol As Color + StartCol = Color.FromArgb(m_Color.R, 255, m_Color.B) + EndCol = Color.FromArgb(m_Color.R, 0, m_Color.B) + Dim Rect As New Rectangle(11, 4, Me.Width - 22, Me.Height - 8) + Dim Brsh As New Drawing2D.LinearGradientBrush(Rect, StartCol, EndCol, Drawing2D.LinearGradientMode.Vertical) + g.FillRectangle(Brsh, Rect) + Brsh.Dispose() + + End Sub + + + ''' + ''' Zeichnet den Farbgradienten des Controls fr alle Blue-Werte (0 to 255) fr fest stehende Red- und Green-Werte + ''' + Private Sub Draw_Style_Blue(ByVal g As Graphics) + Dim StartCol, EndCol As Color + StartCol = Color.FromArgb(m_Color.R, m_Color.G, 255) + EndCol = Color.FromArgb(m_Color.R, m_Color.G, 0) + Dim Rect As New Rectangle(11, 4, Me.Width - 22, Me.Height - 8) + Dim Brsh As New Drawing2D.LinearGradientBrush(Rect, StartCol, EndCol, Drawing2D.LinearGradientMode.Vertical) + g.FillRectangle(Brsh, Rect) + Brsh.Dispose() + End Sub + + ''' + ''' legt die Position des Markers fr eine ausgewhlte Farbe fest + ''' + Private Sub SetMarkerPosByColor() + Select Case m_DrawStyle + Case DrawStyles.Hue + Dim HSL As New HSLColor(m_Color) + m_MarkerY = (Me.Height - 8) - CInt(Math.Round(CDbl(Me.Height - 8) * HSL.Hue)) + + Case DrawStyles.Saturation + Dim HSL As New HSLColor(m_Color) + m_MarkerY = (Me.Height - 8) - CInt(Math.Round(CDbl(Me.Height - 8) * HSL.Saturation)) + + Case DrawStyles.Brightness + Dim HSL As New HSLColor(m_Color) + m_MarkerY = (Me.Height - 8) - CInt(Math.Round(CDbl(Me.Height - 8) * HSL.Lightness)) + + Case DrawStyles.Red + m_MarkerY = (Me.Height - 8) - CInt(Math.Round(CDbl(Me.Height - 8) * CDbl(m_Color.R) / 255.0R)) + + Case DrawStyles.Green + m_MarkerY = (Me.Height - 8) - CInt(Math.Round(CDbl(Me.Height - 8) * CDbl(m_Color.G) / 255.0R)) + + Case DrawStyles.Blue + m_MarkerY = (Me.Height - 8) - CInt(Math.Round(CDbl(Me.Height - 8) * CDbl(m_Color.B) / 255.0R)) + + End Select + + If m_MarkerY < 0 Then + m_MarkerY = 0 + End If + If m_MarkerY > Me.Height - 9 Then + m_MarkerY = Me.Height - 9 + End If + End Sub + + ''' + ''' liefert die angezeigte Farbe fr eine y - Position im Control + ''' + Private Function GetColor(ByVal y As Integer) As Color + Select Case m_DrawStyle + Case DrawStyles.Hue + Dim HSL As New HSLColor(m_OriginHSL) + HSL.Hue = 1.0R - CDbl(m_MarkerY) / CDbl(Me.Height - 9) + Return HSL.ToRGB + + Case DrawStyles.Saturation + Dim HSL As New HSLColor(m_OriginHSL) + HSL.Saturation = 1.0R - CDbl(m_MarkerY) / CDbl(Me.Height - 9) + Return HSL.ToRGB + + Case DrawStyles.Brightness + Dim HSL As New HSLColor(m_OriginHSL) + HSL.Lightness = 1.0R - CDbl(m_MarkerY) / CDbl(Me.Height - 9) + Return HSL.ToRGB + + Case DrawStyles.Red + Return Drawing.Color.FromArgb(255 - CInt(Math.Round(255.0R * CDbl(m_MarkerY) / CDbl(Me.Height - 9))), m_Color.G, m_Color.B) + + Case DrawStyles.Green + Return Drawing.Color.FromArgb(m_Color.R, 255 - CInt(Math.Round(255.0R * CDbl(m_MarkerY) / CDbl(Me.Height - 9))), m_Color.B) + + Case DrawStyles.Blue + Return Drawing.Color.FromArgb(m_Color.R, m_Color.G, 255 - CInt(Math.Round(255.0R * CDbl(m_MarkerY) / CDbl(Me.Height - 9)))) + + End Select + End Function + + ''' + ''' berschreiben der MouseDown-Methode, um den Marker zu bewegen + ''' + Private Sub VerticalColorSlider_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseDown + If e.Button <> MouseButtons.Left Then Return + m_Dragging = True + MoveMarkerTo(e.Y) + End Sub + + ''' + ''' berschreiben der MouseMove-Methode, um den Marker zu bewegen + ''' + Private Sub VerticalColorSlider_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove + If Not m_Dragging Then Return + MoveMarkerTo(e.Y) + End Sub + + ''' + ''' berschreiben der MouseUp-Methode, die Marker-Bewegung zu beenden + ''' + Private Sub VerticalColorSlider_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseUp + If e.Button <> MouseButtons.Left Then Return + m_Dragging = False + MoveMarkerTo(e.Y) + End Sub + + ''' + ''' Interne Methode, die nach Bewegung des Markers zu einem beliebigen Punkt innerhalb des Controls (nach Mouse-Aktion) eine nderung der Anzeige und gegebenenfalls Auslsen des Changed-Events bewirkt + ''' + Private Sub MoveMarkerTo(ByVal MouseY As Integer) + Dim y As Integer = MouseY - 4 + ' Slider Position berechnen + + ' y darf nur zwischen 0 und Height - 2 liegen + y = Math.Min(Math.Max(y, 0), Me.Height - 9) + + If y = m_MarkerY Then Return + ' Wenn der Slider nicht bewegt wurde, ist nichts weiter zu tun + + ' altes Marker-Rechteck + Dim OldRect As New Rectangle(0, m_MarkerY - 10, Me.Width, 20) + ' Marker-Position festlegen + m_MarkerY = y + ' neues Marker-Rechteck + Dim NewRect As New Rectangle(0, m_MarkerY - 10, Me.Width, 20) + + ' neue Farbe festlegen + Dim NewColor As Color = GetColor(y) + If NewColor <> m_Color Then + m_Color = NewColor + 'Changed-Event liefern + RaiseEvent ColorChanged(Me) + End If + + 'Nur Neuzeichnen des Union-Rechtecks erzwingen + Invalidate(Rectangle.Union(OldRect, NewRect)) + End Sub + + ''' + ''' legt bei nderung der Color-Property oder von DrawStyle die Original_HSL-Farbe fest + ''' + Private Sub SetOriginHSL(ByVal Col As Color, ByVal DrawStyle As DrawStyles) + If DrawStyle = DrawStyles.Blue OrElse DrawStyle = DrawStyles.Green OrElse DrawStyle = DrawStyles.Red Then Exit Sub + m_OriginHSL = New HSLColor(Col) + End Sub +#End Region + +End Class diff --git a/Themenmanagement/Kernbotschaften/Form1.Designer.vb b/Themenmanagement/Kernbotschaften/Form1.Designer.vb new file mode 100644 index 0000000..abd69b0 --- /dev/null +++ b/Themenmanagement/Kernbotschaften/Form1.Designer.vb @@ -0,0 +1,77 @@ + _ +Partial Class frmBegrüssung + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmBegrüssung)) + Me.RichTextBox1 = New System.Windows.Forms.RichTextBox() + Me.Button1 = New System.Windows.Forms.Button() + Me.CheckBox1 = New System.Windows.Forms.CheckBox() + Me.SuspendLayout() + ' + 'RichTextBox1 + ' + Me.RichTextBox1.Location = New System.Drawing.Point(1, 2) + Me.RichTextBox1.Name = "RichTextBox1" + Me.RichTextBox1.Size = New System.Drawing.Size(883, 366) + Me.RichTextBox1.TabIndex = 0 + Me.RichTextBox1.Text = "" + ' + 'Button1 + ' + Me.Button1.Location = New System.Drawing.Point(425, 384) + Me.Button1.Name = "Button1" + Me.Button1.Size = New System.Drawing.Size(75, 23) + Me.Button1.TabIndex = 1 + Me.Button1.Text = "Schliessen" + Me.Button1.UseVisualStyleBackColor = True + ' + 'CheckBox1 + ' + Me.CheckBox1.AutoSize = True + Me.CheckBox1.Location = New System.Drawing.Point(13, 384) + Me.CheckBox1.Name = "CheckBox1" + Me.CheckBox1.Size = New System.Drawing.Size(291, 17) + Me.CheckBox1.TabIndex = 2 + Me.CheckBox1.Text = "Dieses Fenster beim nächsten Start nicht mehr anzeigen" + Me.CheckBox1.UseVisualStyleBackColor = True + ' + 'frmBegrüssung + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(881, 419) + Me.Controls.Add(Me.CheckBox1) + Me.Controls.Add(Me.Button1) + Me.Controls.Add(Me.RichTextBox1) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.Name = "frmBegrüssung" + Me.Text = "Begrüssung" + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + + Friend WithEvents RichTextBox1 As RichTextBox + Friend WithEvents Button1 As Button + Friend WithEvents CheckBox1 As CheckBox +End Class diff --git a/Themenmanagement/Kernbotschaften/Form1.resx b/Themenmanagement/Kernbotschaften/Form1.resx new file mode 100644 index 0000000..116834a --- /dev/null +++ b/Themenmanagement/Kernbotschaften/Form1.resx @@ -0,0 +1,7330 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + AAABAAkAAAAAAAEAIAAoIAQAlgAAAICAAAABACAAKAgBAL4gBABgYAAAAQAgAKiUAADmKAUASEgAAAEA + IACIVAAAjr0FAEBAAAABACAAKEIAABYSBgAwMAAAAQAgAKglAAA+VAYAICAAAAEAIACoEAAA5nkGABgY + AAABACAAiAkAAI6KBgAQEAAAAQAgAGgEAAAWlAYAKAAAAAABAAAAAgAAAQAgAAAAAAAAIAQAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAApKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSk + pAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSk + pAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSk + pAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSk + pAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSk + pAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSk + pAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSk + pAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSk + pAGkpKQBpKSkAaSkpAKkpKQCpKSkAqSkpAKkpKQCpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6Sk + pAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6Sk + pAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6Sk + pAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6Sk + pAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6Sk + pAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6Sk + pAKkpKQCpKSkAqSkpAKkpKQCpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSk + pAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAKSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSk + pAGkpKQBpKSkAaSkpAGkpKQBpKSkAqSkpAKkpKQCpKSkAqSkpAKkpKQDpKSkA6SkpAOkpKQDpKSkA6Sk + pAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6Sk + pAOkpKQDpKSkBKSkpAWkpKQFpKSkBqSkpAakpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6Sk + pAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6Sk + pAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6Sk + pAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6Sk + pAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6Sk + pAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6Sk + pAekpKQHpKSkB6SkpAakpKQGpKSkBaSkpAWkpKQEpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6Sk + pAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkAqSk + pAKkpKQCpKSkAqSkpAKkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSk + pAGkpKQBpKSkAaSkpAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkpKQBpKSkAaSkpAGkpKQBpKSkAaSk + pAGkpKQBpKSkAaSkpAGkpKQCpKSkAqSkpAKkpKQCpKSkAqSkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6Sk + pAOkpKQDpKSkA6SkpAOkpKQEpKSkBaSkpAWkpKQGpKSkBqSkpAekpKQHpKSkB6SkpAekpKQHpKSkB6Sk + pAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6Sk + pAikpKQIpKSkCaSkpAqkpKQLpKSkDKSkpA2kpKQOpKSkD6SkpA+kpKQQpKSkEKSkpBCkpKQQpKSkEKSk + pBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSk + pBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSk + pBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSk + pBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSk + pBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSk + pBCkpKQQpKSkD6SkpA+kpKQOpKSkDaSkpAykpKQLpKSkCqSkpAmkpKQIpKSkCKSkpAekpKQHpKSkB6Sk + pAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6Sk + pAekpKQHpKSkBqSkpAakpKQFpKSkBaSkpASkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6Sk + pAOkpKQDpKSkA6SkpAKkpKQCpKSkAqSkpAKkpKQCpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSk + pAGkpKQBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAApKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAqSkpAKkpKQCpKSkAqSkpAKkpKQDpKSkA6Sk + pAOkpKQDpKSkA6SkpASkpKQFpKSkBaSkpAakpKQGpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6Sk + pAekpKQHpKSkCKSkpAikpKQJpKSkCqSkpAukpKQMpKSkDaSkpA6kpKQPpKSkD6SkpBCkpKQQpKSkEKSk + pBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSk + pBCkpKQRpKSkEaSkpBOkpKQUpKSkFqSkpBikpKQapKSkG6SkpBykpKQdpKSkHqSkpB6kpKQepKSkHqSk + pB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSk + pB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSk + pB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSk + pB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSk + pB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSk + pB6kpKQepKSkHqSkpB2kpKQcpKSkG6SkpBqkpKQYpKSkFqSkpBSkpKQTpKSkEaSkpBGkpKQQpKSkEKSk + pBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSk + pBCkpKQPpKSkD6SkpA6kpKQNpKSkDKSkpAukpKQKpKSkCaSkpAikpKQIpKSkB6SkpAekpKQHpKSkB6Sk + pAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAakpKQGpKSkBaSkpAWkpKQEpKSkA6SkpAOkpKQDpKSkA6Sk + pAOkpKQCpKSkAqSkpAKkpKQCpKSkAqSkpAGkpKQBpKSkAaSkpAGkpKQBAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKSkpAGkpKQBpKSkAaSk + pAKkpKQCpKSkAqSkpAKkpKQDpKSkA6SkpAOkpKQEpKSkBaSkpAWkpKQGpKSkBqSkpAekpKQHpKSkB6Sk + pAekpKQIpKSkCKSkpAmkpKQKpKSkC6SkpAykpKQNpKSkDqSkpA+kpKQPpKSkEKSkpBCkpKQQpKSkEKSk + pBCkpKQQpKSkEKSkpBGkpKQRpKSkE6SkpBSkpKQWpKSkGKSkpBqkpKQbpKSkHKSkpB2kpKQepKSkHqSk + pB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSk + pB6kpKQfpKSkIKSkpCGkpKQipKSkJaSkpCekpKQqpKSkLKSkpC+kpKQxpKSkMqSkpDOkpKQzpKSkM6Sk + pDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6Sk + pDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6Sk + pDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6Sk + pDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6Sk + pDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6Sk + pDOkpKQzpKSkM6SkpDOkpKQypKSkMaSkpC+kpKQspKSkKqSkpCekpKQlpKSkIqSkpCGkpKQgpKSkH6Sk + pB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSk + pB6kpKQepKSkHaSkpBykpKQbpKSkGqSkpBikpKQWpKSkFKSkpBOkpKQRpKSkEaSkpBCkpKQQpKSkEKSk + pBCkpKQQpKSkEKSkpBCkpKQQpKSkD6SkpA+kpKQOpKSkDaSkpAykpKQLpKSkCqSkpAmkpKQIpKSkCKSk + pAekpKQHpKSkB6SkpAekpKQGpKSkBqSkpAWkpKQFpKSkBKSkpAOkpKQDpKSkA6SkpAKkpKQCpKSkAqSk + pAGkpKQBpKSkAaSkpAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApKSkAaSkpAGkpKQCpKSkAqSkpAKkpKQDpKSkBKSk + pASkpKQFpKSkBqSkpAakpKQHpKSkB6SkpAikpKQJpKSkCqSkpAukpKQMpKSkDaSkpA6kpKQPpKSkD6Sk + pBCkpKQQpKSkEaSkpBGkpKQTpKSkFKSkpBakpKQYpKSkGqSkpBukpKQcpKSkHaSkpB6kpKQepKSkHqSk + pB6kpKQepKSkHqSkpB+kpKQgpKSkIaSkpCKkpKQlpKSkJ6SkpCqkpKQspKSkL6SkpDGkpKQypKSkM6Sk + pDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6Sk + pDOkpKQ0pKSkNKSkpDWkpKQ2pKSkOKSkpDukpKQ/pKSkQqSkpEakpKRJpKSkS6SkpE2kpKROpKSkTqSk + pE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6Sk + pE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6Sk + pE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6Sk + pE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6Sk + pE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6Sk + pE+kpKRPpKSkT6SkpE6kpKROpKSkTaSkpEukpKRJpKSkRqSkpEKkpKQ/pKSkO6SkpDikpKQ2pKSkNaSk + pDSkpKQ0pKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6Sk + pDOkpKQzpKSkM6SkpDKkpKQxpKSkL6SkpCykpKQqpKSkJ6SkpCWkpKQipKSkIaSkpCCkpKQfpKSkHqSk + pB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB2kpKQcpKSkG6SkpBqkpKQYpKSkFqSkpBSkpKQTpKSkEaSk + pBGkpKQQpKSkEKSkpA+kpKQPpKSkDqSkpA2kpKQMpKSkC6SkpAqkpKQJpKSkCKSkpAekpKQHpKSkBqSk + pAWkpKQFpKSkBKSkpAOkpKQDpKSkAqSkpAKkpKQBpKSkAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAKSkpAGkpKQBpKSkAqSkpAOkpKQEpKSkBaSkpAakpKQHpKSkCKSk + pAmkpKQLpKSkDKSkpA2kpKQOpKSkD6SkpBCkpKQRpKSkEqSkpBSkpKQWpKSkGKSkpBqkpKQbpKSkHKSk + pB2kpKQepKSkH6SkpB+kpKQhpKSkIqSkpCWkpKQnpKSkKqSkpCykpKQvpKSkMaSkpDKkpKQzpKSkM6Sk + pDOkpKQzpKSkM6SkpDSkpKQ0pKSkNaSkpDakpKQ4pKSkO6SkpD+kpKRCpKSkRqSkpEmkpKRLpKSkTaSk + pE6kpKROpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6Sk + pE+kpKRPpKSkT6SkpFCkpKRRpKSkUqSkpFWkpKRYpKSkXKSkpGCkpKRkpKSkaKSkpGqkpKRspKSkbaSk + pG6kpKRupKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6Sk + pG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6Sk + pG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6Sk + pG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6Sk + pG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6Sk + pG+kpKRvpKSkb6SkpG6kpKRupKSkbaSkpGykpKRqpKSkaKSkpGSkpKRgpKSkXKSkpFikpKRVpKSkUqSk + pFGkpKRQpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6Sk + pE+kpKRPpKSkTqSkpE6kpKRNpKSkS6SkpEmkpKRGpKSkQqSkpD+kpKQ7pKSkOKSkpDakpKQ1pKSkNKSk + pDSkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQypKSkMaSkpC+kpKQspKSkKqSkpCekpKQlpKSkIqSk + pCGkpKQfpKSkH6SkpB6kpKQdpKSkHKSkpBukpKQapKSkGKSkpBakpKQUpKSkEqSkpBGkpKQQpKSkD6Sk + pA2kpKQMpKSkC6SkpAqkpKQIpKSkB6SkpAakpKQFpKSkBKSkpAOkpKQCpKSkAqSkpAEAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAKSkpAGkpKQCpKSkA6SkpAWkpKQHpKSkCaSkpAukpKQNpKSkD6Sk + pBGkpKQTpKSkFaSkpBekpKQapKSkG6SkpB2kpKQepKSkIKSkpCKkpKQkpKSkJ6SkpCqkpKQspKSkL6Sk + pDGkpKQypKSkM6SkpDSkpKQ1pKSkNqSkpDikpKQ7pKSkP6SkpEKkpKRGpKSkSaSkpEukpKRNpKSkTqSk + pE6kpKRPpKSkT6SkpE+kpKRPpKSkUKSkpFGkpKRSpKSkVaSkpFikpKRcpKSkYKSkpGSkpKRopKSkaqSk + pGykpKRtpKSkbqSkpG6kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6Sk + pG+kpKRvpKSkb6SkpG+kpKRvpKSkcKSkpHKkpKR1pKSkeaSkpH2kpKSBpKSkhaSkpImkpKSMpKSkjqSk + pI+kpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSk + pJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSk + pJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSk + pJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSk + pJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSk + pJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpI+kpKSOpKSkjKSkpImkpKSFpKSkgaSkpH2kpKR5pKSkdaSk + pHKkpKRwpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6Sk + pG+kpKRvpKSkbqSkpG6kpKRtpKSkbKSkpGqkpKRopKSkZKSkpGCkpKRcpKSkWKSkpFWkpKRSpKSkUaSk + pFCkpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE6kpKROpKSkTaSkpEukpKRJpKSkRqSkpEKkpKQ/pKSkO6Sk + pDikpKQ2pKSkNaSkpDSkpKQzpKSkMqSkpDGkpKQvpKSkLKSkpCqkpKQnpKSkJKSkpCKkpKQgpKSkHqSk + pBykpKQapKSkGKSkpBakpKQUpKSkEqSkpBCkpKQOpKSkDKSkpAqkpKQIpKSkBqSkpASkpKQDpKSkAqSk + pAEAAAAAAAAAAAAAAAAAAAAAAAAAAKSkpAGkpKQDpKSkBaSkpAekpKQKpKSkDqSkpBGkpKQVpKSkGKSk + pBykpKQfpKSkI6SkpCakpKQppKSkLKSkpC+kpKQxpKSkM6SkpDakpKQ4pKSkO6SkpD+kpKRCpKSkRqSk + pEmkpKRLpKSkTaSkpE6kpKRPpKSkUKSkpFKkpKRVpKSkWKSkpFykpKRgpKSkZKSkpGikpKRqpKSkbKSk + pG2kpKRupKSkbqSkpG+kpKRvpKSkb6SkpG+kpKRwpKSkcqSkpHWkpKR5pKSkfaSkpIGkpKSFpKSkiaSk + pIykpKSOpKSkj6SkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSk + pJCkpKSQpKSkkKSkpJCkpKSQpKSkkaSkpJKkpKSUpKSklqSkpJqkpKSepKSkoqSkpKakpKSppKSkrKSk + pK6kpKSvpKSkr6SkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSk + pLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSk + pLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSk + pLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSk + pLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSk + pLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpK+kpKSvpKSkrqSkpKykpKSppKSkpqSkpKKkpKSepKSkmqSk + pJakpKSUpKSkkqSkpJGkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSk + pJCkpKSQpKSkkKSkpJCkpKSQpKSkj6SkpI6kpKSMpKSkiaSkpIWkpKSBpKSkfaSkpHmkpKR1pKSkcqSk + pHCkpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG6kpKRupKSkbaSkpGykpKRqpKSkaKSkpGSkpKRgpKSkXKSk + pFikpKRVpKSkUqSkpFCkpKRPpKSkTqSkpE2kpKRLpKSkSaSkpEakpKRCpKSkP6SkpDukpKQ4pKSkNaSk + pDKkpKQvpKSkLaSkpCqkpKQnpKSkJKSkpCGkpKQdpKSkGqSkpBekpKQTpKSkEKSkpAykpKQJpKSkBqSk + pASkpKQCpKSkAQAAAAAAAAAAAAAAAKSkpAGkpKQDpKSkBaSkpAmkpKQOpKSkE6SkpBikpKQepKSkJKSk + pCmkpKQvpKSkNKSkpDmkpKQ9pKSkQqSkpEWkpKRJpKSkTKSkpE+kpKRRpKSkVKSkpFikpKRcpKSkYKSk + pGSkpKRopKSkaqSkpGykpKRupKSkb6SkpHCkpKRypKSkdaSkpHmkpKR9pKSkgaSkpIWkpKSJpKSkjKSk + pI6kpKSPpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSRpKSkkqSkpJSkpKSWpKSkmqSkpJ6kpKSipKSkpqSk + pKmkpKSspKSkrqSkpK+kpKSvpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSk + pLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSxpKSks6SkpLWkpKS4pKSkvKSkpL+kpKTCpKSkxaSk + pMikpKTJpKSkyqSkpMukpKTLpKSky6SkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSk + pMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSk + pMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSk + pMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSk + pMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSk + pMykpKTMpKSkzKSkpMykpKTMpKSky6SkpMukpKTLpKSkyqSkpMmkpKTIpKSkxaSkpMKkpKS/pKSkvKSk + pLikpKS1pKSks6SkpLGkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSk + pLCkpKSwpKSksKSkpLCkpKSwpKSkr6SkpK+kpKSupKSkrKSkpKmkpKSmpKSkoqSkpJ6kpKSapKSklqSk + pJSkpKSSpKSkkaSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpI+kpKSOpKSkjKSkpImkpKSFpKSkgaSk + pH2kpKR5pKSkdaSkpHKkpKRwpKSkb6SkpG6kpKRspKSkaqSkpGikpKRkpKSkYKSkpFykpKRYpKSkVKSk + pFCkpKRNpKSkSqSkpEakpKRCpKSkPqSkpDqkpKQ1pKSkMaSkpCykpKQnpKSkIqSkpBykpKQWpKSkEaSk + pAykpKQIpKSkBKSkpAIAAAAAAAAAAKSkpAGkpKQCpKSkBaSkpAmkpKQPpKSkFqSkpB6kpKQnpKSkL6Sk + pDekpKQ/pKSkR6SkpE2kpKRUpKSkWqSkpF+kpKRkpKSkaKSkpGukpKRupKSkcaSkpHWkpKR4pKSkfKSk + pIGkpKSFpKSkiaSkpIykpKSOpKSkj6SkpJCkpKSSpKSklKSkpJakpKSapKSknqSkpKKkpKSmpKSkqaSk + pKykpKSupKSkr6SkpK+kpKSwpKSksKSkpLCkpKSwpKSksKSkpLGkpKSzpKSktaSkpLikpKS8pKSkv6Sk + pMKkpKTFpKSkyKSkpMmkpKTKpKSky6SkpMukpKTLpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSk + pMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpM2kpKTPpKSk0aSkpNSkpKTXpKSk2aSk + pNykpKTdpKSk36SkpN+kpKTgpKSk4KSkpOCkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSk + pOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSk + pOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSk + pOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSk + pOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSk + pOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOCkpKTgpKSk4KSkpN+kpKTfpKSk3aSkpNykpKTZpKSk16Sk + pNSkpKTRpKSkz6SkpM2kpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSk + pMykpKTMpKSkzKSkpMykpKTLpKSky6SkpMukpKTKpKSkyaSkpMikpKTFpKSkwqSkpL+kpKS8pKSkuKSk + pLWkpKSzpKSksaSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpK+kpKSvpKSkrqSkpKykpKSppKSkpqSk + pKKkpKSepKSkmqSkpJakpKSUpKSkkqSkpJCkpKSPpKSkjqSkpIykpKSJpKSkhaSkpIGkpKR8pKSkeKSk + pHSkpKRwpKSkbKSkpGikpKRkpKSkX6SkpFqkpKRVpKSkUKSkpEqkpKREpKSkPaSkpDWkpKQspKSkJKSk + pBukpKQTpKSkDaSkpAikpKQEAAAAAAAAAACkpKQBpKSkBKSkpAikpKQOpKSkFqSkpCCkpKQrpKSkN6Sk + pEOkpKROpKSkWKSkpGKkpKRqpKSkcaSkpHikpKR+pKSkg6SkpIikpKSLpKSkjqSkpJKkpKSVpKSkmKSk + pJykpKShpKSkpaSkpKmkpKSspKSkrqSkpK+kpKSwpKSksaSkpLOkpKS1pKSkuKSkpLukpKS/pKSkwqSk + pMWkpKTIpKSkyaSkpMqkpKTLpKSky6SkpMukpKTLpKSky6SkpMukpKTMpKSkzaSkpM+kpKTRpKSk1KSk + pNekpKTZpKSk3KSkpN2kpKTfpKSk36SkpOCkpKTgpKSk4KSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSk + pOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKTipKSk46SkpOSkpKTmpKSk6KSk + pOqkpKTrpKSk7aSkpO2kpKTupKSk7qSkpO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76Sk + pO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76Sk + pO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76Sk + pO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76Sk + pO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76Sk + pO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO6kpKTupKSk7aSkpO2kpKTrpKSk6qSk + pOikpKTmpKSk5KSkpOOkpKTipKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSk + pOGkpKThpKSk4aSkpOGkpKThpKSk4KSkpOCkpKTgpKSk36SkpN+kpKTdpKSk3KSkpNmkpKTXpKSk1KSk + pNGkpKTPpKSkzaSkpMykpKTLpKSky6SkpMukpKTLpKSky6SkpMukpKTLpKSkyqSkpMmkpKTIpKSkxaSk + pMKkpKS/pKSku6SkpLikpKS1pKSks6SkpLGkpKSwpKSkr6SkpK6kpKSspKSkqaSkpKWkpKShpKSknKSk + pJikpKSUpKSkkKSkpIykpKSIpKSkhKSkpH+kpKR5pKSkc6SkpG2kpKRmpKSkXqSkpFWkpKRLpKSkP6Sk + pDOkpKQnpKSkHKSkpBOkpKQMpKSkBgAAAAAAAAAApKSkAqSkpAWkpKQKpKSkEqSkpBykpKQppKSkOKSk + pEekpKRXpKSkZaSkpHGkpKR8pKSkhaSkpI2kpKSVpKSkm6SkpKCkpKSlpKSkqaSkpKykpKSvpKSksqSk + pLWkpKS5pKSkvaSkpMCkpKTEpKSkxqSkpMikpKTJpKSkyqSkpMukpKTMpKSkzqSkpNGkpKTTpKSk1qSk + pNmkpKTbpKSk3aSkpN6kpKTfpKSk36SkpOCkpKTgpKSk4KSkpOCkpKTgpKSk4KSkpOGkpKTipKSk5KSk + pOakpKTopKSk6aSkpOukpKTspKSk7aSkpO6kpKTupKSk7qSkpO+kpKTvpKSk76SkpO+kpKTvpKSk76Sk + pO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpPCkpKTxpKSk8qSk + pPOkpKT0pKSk9aSkpPakpKT2pKSk96SkpPekpKT3pKSk96SkpPikpKT4pKSk+KSkpPikpKT4pKSk+KSk + pPikpKT4pKSk+KSkpPikpKT4pKSk+KSkpPikpKT4pKSk+KSkpPikpKT4pKSk+KSkpPikpKT4pKSk+KSk + pPikpKT4pKSk+KSkpPikpKT4pKSk+KSkpPikpKT4pKSk+KSkpPikpKT4pKSk+KSkpPikpKT4pKSk+KSk + pPikpKT4pKSk+KSkpPikpKT4pKSk+KSkpPikpKT4pKSk+KSkpPikpKT4pKSk+KSkpPikpKT4pKSk+KSk + pPikpKT4pKSk+KSkpPikpKT4pKSk+KSkpPikpKT4pKSk+KSkpPikpKT4pKSk+KSkpPikpKT4pKSk+KSk + pPikpKT4pKSk+KSkpPikpKT4pKSk+KSkpPikpKT4pKSk96SkpPekpKT3pKSk96SkpPakpKT2pKSk9aSk + pPSkpKTzpKSk8qSkpPGkpKTwpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76Sk + pO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk7qSkpO6kpKTtpKSk7KSkpOukpKTppKSk6KSk + pOakpKTkpKSk4qSkpOGkpKTgpKSk4KSkpOCkpKTgpKSk4KSkpOCkpKTgpKSk36SkpN+kpKTepKSk3aSk + pNukpKTZpKSk1qSkpNOkpKTRpKSkzqSkpMykpKTLpKSkyqSkpMmkpKTIpKSkxqSkpMOkpKTApKSkvKSk + pLikpKS0pKSksaSkpK2kpKSqpKSkpaSkpKGkpKSbpKSklqSkpI+kpKSIpKSkgaSkpHikpKRtpKSkYaSk + pFKkpKRDpKSkNKSkpCWkpKQZpKSkEKSkpAkAAAAApKSkAaSkpAOkpKQGpKSkDKSkpBakpKQipKSkMaSk + pEOkpKRVpKSkZqSkpHakpKSFpKSkkaSkpJukpKSjpKSkq6SkpLGkpKS3pKSku6SkpL+kpKTCpKSkxKSk + pMekpKTKpKSkzqSkpNGkpKTUpKSk16SkpNmkpKTbpKSk3KSkpN2kpKTepKSk36SkpOCkpKThpKSk46Sk + pOWkpKTnpKSk6aSkpOukpKTspKSk7aSkpO2kpKTtpKSk7aSkpO2kpKTtpKSk7aSkpO6kpKTupKSk76Sk + pPCkpKTxpKSk8qSkpPOkpKT0pKSk9aSkpPakpKT2pKSk9qSkpPekpKT3pKSk96SkpPekpKT3pKSk96Sk + pPekpKT3pKSk96SkpPekpKT3pKSk96SkpPekpKT3pKSk96SkpPekpKT3pKSk96SkpPekpKT4pKSk+KSk + pPmkpKT5pKSk+qSkpPqkpKT7pKSk+6SkpPukpKT7pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSk + pPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSk + pPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSk + pPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSk + pPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSk + pPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk+6SkpPukpKT7pKSk+6Sk + pPqkpKT6pKSk+aSkpPmkpKT4pKSk+KSkpPekpKT3pKSk96SkpPekpKT3pKSk96SkpPekpKT3pKSk96Sk + pPekpKT3pKSk96SkpPekpKT3pKSk96SkpPekpKT3pKSk96SkpPekpKT2pKSk9qSkpPWkpKT0pKSk86Sk + pPKkpKTxpKSk8KSkpO+kpKTupKSk7qSkpO2kpKTtpKSk7aSkpO2kpKTtpKSk7aSkpO2kpKTtpKSk7KSk + pOukpKTppKSk56SkpOWkpKTjpKSk4aSkpOCkpKTepKSk3aSkpN2kpKTcpKSk2qSkpNmkpKTWpKSk06Sk + pNCkpKTNpKSkyaSkpMakpKTDpKSkwKSkpLykpKS3pKSksqSkpKykpKSlpKSknqSkpJakpKSMpKSkgKSk + pHKkpKRipKSkUKSkpD6kpKQtpKSkHqSkpBOkpKQKAAAAAKSkpAGkpKQDpKSkB6SkpA2kpKQXpKSkJaSk + pDWkpKRIpKSkXKSkpG+kpKSApKSkj6SkpJykpKSmpKSkr6SkpLakpKS9pKSkwqSkpMekpKTKpKSkzaSk + pNCkpKTTpKSk1aSkpNikpKTbpKSk3qSkpOGkpKTjpKSk5KSkpOWkpKTmpKSk56SkpOikpKTopKSk6qSk + pOukpKTspKSk7qSkpPCkpKTxpKSk8qSkpPOkpKT0pKSk9KSkpPSkpKT0pKSk9KSkpPSkpKT0pKSk9KSk + pPWkpKT1pKSk9qSkpPekpKT3pKSk+KSkpPmkpKT5pKSk+qSkpPqkpKT6pKSk+6SkpPukpKT7pKSk+6Sk + pPukpKT7pKSk+6SkpPukpKT7pKSk+6SkpPukpKT7pKSk+6SkpPukpKT7pKSk+6SkpPukpKT7pKSk+6Sk + pPukpKT7pKSk/KSkpPykpKT8pKSk/aSkpP2kpKT9pKSk/aSkpP2kpKT9pKSk/aSkpP2kpKT+pKSk/qSk + pP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSk + pP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSk + pP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSk + pP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSk + pP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/aSkpP2kpKT9pKSk/aSkpP2kpKT9pKSk/aSk + pP2kpKT8pKSk/KSkpPykpKT7pKSk+6SkpPukpKT7pKSk+6SkpPukpKT7pKSk+6SkpPukpKT7pKSk+6Sk + pPukpKT7pKSk+6SkpPukpKT7pKSk+6SkpPukpKT7pKSk+6SkpPukpKT6pKSk+qSkpPmkpKT5pKSk+KSk + pPekpKT3pKSk9qSkpPWkpKT1pKSk9KSkpPSkpKT0pKSk9KSkpPSkpKT0pKSk9KSkpPSkpKTzpKSk86Sk + pPKkpKTxpKSk76SkpO6kpKTspKSk66SkpOqkpKTopKSk56SkpOekpKTmpKSk5aSkpOSkpKTipKSk4KSk + pN2kpKTapKSk16SkpNSkpKTRpKSkz6SkpMukpKTHpKSkw6SkpL2kpKS3pKSksaSkpKqkpKShpKSkl6Sk + pIqkpKR7pKSkaqSkpFekpKRDpKSkMaSkpCGkpKQVpKSkCwAAAACkpKQBpKSkA6SkpAakpKQNpKSkF6Sk + pCSkpKQ1pKSkSKSkpFykpKRvpKSkgKSkpI+kpKSbpKSkpqSkpK6kpKS1pKSkvKSkpMGkpKTGpKSkyqSk + pM2kpKTPpKSk0qSkpNWkpKTYpKSk26SkpN6kpKTgpKSk46SkpOSkpKTlpKSk5qSkpOakpKTnpKSk6KSk + pOmkpKTqpKSk66SkpO2kpKTvpKSk8aSkpPKkpKTzpKSk86SkpPSkpKT0pKSk9KSkpPSkpKT0pKSk9KSk + pPSkpKT0pKSk9aSkpPWkpKT1pKSk9qSkpPekpKT4pKSk+KSkpPmkpKT5pKSk+qSkpPqkpKT7pKSk+6Sk + pPukpKT7pKSk+6SkpPukpKT7pKSk+6SkpPukpKT7pKSk+6SkpPukpKT7pKSk+6SkpPukpKT7pKSk+6Sk + pPukpKT7pKSk+6SkpPukpKT7pKSk+6SkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpP2kpKT9pKSk/aSk + pP2kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSk + pP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSk + pP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSk + pP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSk + pP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT9pKSk/aSkpP2kpKT9pKSk/KSkpPykpKT8pKSk/KSk + pPykpKT8pKSk+6SkpPukpKT7pKSk+6SkpPukpKT7pKSk+6SkpPukpKT7pKSk+6SkpPukpKT7pKSk+6Sk + pPukpKT7pKSk+6SkpPukpKT7pKSk+6SkpPukpKT7pKSk+6SkpPukpKT6pKSk+qSkpPmkpKT4pKSk+KSk + pPekpKT2pKSk9qSkpPWkpKT1pKSk9KSkpPSkpKT0pKSk9KSkpPSkpKT0pKSk9KSkpPSkpKTzpKSk86Sk + pPKkpKTxpKSk76SkpO6kpKTspKSk66SkpOmkpKTppKSk6KSkpOekpKTmpKSk5qSkpOSkpKTjpKSk4aSk + pN+kpKTcpKSk2aSkpNakpKTTpKSk0KSkpM6kpKTKpKSkxqSkpMGkpKS8pKSktqSkpLCkpKSppKSkoKSk + pJakpKSKpKSke6SkpGmkpKRWpKSkQ6SkpDCkpKQhpKSkFKSkpAsAAAAApKSkAaSkpAKkpKQGpKSkDKSk + pBSkpKQgpKSkMKSkpEGkpKRTpKSkZaSkpHWkpKSEpKSkj6SkpJmkpKShpKSkqKSkpK6kpKS0pKSkuaSk + pL2kpKTApKSkw6SkpMakpKTJpKSkzKSkpM+kpKTSpKSk1aSkpNikpKTapKSk26SkpNykpKTdpKSk3aSk + pN6kpKTfpKSk4KSkpOKkpKTkpKSk5qSkpOikpKTqpKSk66SkpOykpKTtpKSk7aSkpO2kpKTtpKSk7aSk + pO2kpKTtpKSk7aSkpO6kpKTupKSk76SkpO+kpKTwpKSk8aSkpPOkpKT0pKSk9aSkpPakpKT2pKSk96Sk + pPekpKT3pKSk96SkpPekpKT3pKSk96SkpPekpKT3pKSk96SkpPekpKT3pKSk96SkpPekpKT3pKSk96Sk + pPekpKT3pKSk96SkpPekpKT3pKSk96SkpPekpKT3pKSk+KSkpPikpKT4pKSk+aSkpPmkpKT6pKSk+6Sk + pPukpKT7pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSk + pPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSk + pPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSk + pPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSk + pPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk+6SkpPukpKT7pKSk+qSkpPmkpKT5pKSk+KSk + pPikpKT4pKSk96SkpPekpKT3pKSk96SkpPekpKT3pKSk96SkpPekpKT3pKSk96SkpPekpKT3pKSk96Sk + pPekpKT3pKSk96SkpPekpKT3pKSk96SkpPekpKT3pKSk96SkpPekpKT3pKSk9qSkpPakpKT1pKSk86Sk + pPKkpKTxpKSk8KSkpO+kpKTvpKSk7qSkpO2kpKTtpKSk7aSkpO2kpKTtpKSk7aSkpO2kpKTtpKSk7KSk + pOykpKTqpKSk6aSkpOekpKTkpKSk4qSkpOCkpKTfpKSk3qSkpN6kpKTdpKSk3KSkpNukpKTapKSk2KSk + pNakpKTTpKSkz6SkpMykpKTJpKSkxqSkpMOkpKTApKSkvaSkpLmkpKS0pKSkr6SkpKmkpKSipKSkm6Sk + pJOkpKSJpKSkfqSkpHCkpKRfpKSkTqSkpDykpKQspKSkHqSkpBKkpKQKAAAAAAAAAACkpKQCpKSkBaSk + pAmkpKQRpKSkG6SkpCekpKQ2pKSkRaSkpFWkpKRjpKSkb6SkpHqkpKSDpKSkiqSkpJGkpKSXpKSknaSk + pKKkpKSmpKSkqaSkpKykpKSvpKSksqSkpLakpKS6pKSkvqSkpMGkpKTEpKSkx6SkpMikpKTJpKSkyqSk + pMqkpKTLpKSkzaSkpM6kpKTRpKSk06SkpNakpKTZpKSk26SkpN2kpKTepKSk36SkpN+kpKTgpKSk4KSk + pOCkpKTgpKSk4KSkpOCkpKTgpKSk4aSkpOGkpKTjpKSk5KSkpOakpKTopKSk6qSkpOukpKTspKSk7aSk + pO6kpKTupKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76Sk + pO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTwpKSk8aSkpPKkpKTzpKSk9KSk + pPWkpKT2pKSk96SkpPekpKT3pKSk96SkpPikpKT4pKSk+KSkpPikpKT4pKSk+KSkpPikpKT4pKSk+KSk + pPikpKT4pKSk+KSkpPikpKT4pKSk+KSkpPikpKT4pKSk+KSkpPikpKT4pKSk+KSkpPikpKT4pKSk+KSk + pPikpKT4pKSk+KSkpPikpKT4pKSk+KSkpPikpKT4pKSk+KSkpPikpKT4pKSk+KSkpPikpKT4pKSk+KSk + pPikpKT4pKSk+KSkpPikpKT4pKSk+KSkpPikpKT4pKSk+KSkpPikpKT4pKSk+KSkpPikpKT4pKSk+KSk + pPikpKT4pKSk+KSkpPikpKT4pKSk+KSkpPekpKT3pKSk96SkpPekpKT2pKSk9aSkpPSkpKTzpKSk8qSk + pPGkpKTwpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76Sk + pO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTupKSk7qSkpO2kpKTspKSk66Sk + pOmkpKTopKSk5qSkpOSkpKTjpKSk4aSkpOGkpKTgpKSk4KSkpOCkpKTgpKSk4KSkpOCkpKTfpKSk36Sk + pN6kpKTdpKSk26SkpNmkpKTWpKSk06SkpNGkpKTOpKSkzaSkpMukpKTLpKSkyqSkpMmkpKTIpKSkx6Sk + pMSkpKTBpKSkvqSkpLqkpKS2pKSks6SkpK+kpKStpKSkqaSkpKakpKSipKSknaSkpJekpKSRpKSki6Sk + pISkpKR9pKSkdKSkpGmkpKRdpKSkT6SkpEGkpKQypKSkJKSkpBikpKQPpKSkCAAAAAAAAAAApKSkAaSk + pAOkpKQHpKSkDKSkpBSkpKQdpKSkKaSkpDWkpKRBpKSkTKSkpFakpKRfpKSkZ6SkpG6kpKR0pKSkeqSk + pH+kpKSEpKSkiKSkpIykpKSPpKSkkqSkpJWkpKSZpKSknaSkpKGkpKSlpKSkqaSkpKykpKSupKSkr6Sk + pK+kpKSwpKSksaSkpLOkpKS1pKSkuKSkpLukpKS/pKSkwqSkpMWkpKTIpKSkyaSkpMqkpKTLpKSky6Sk + pMukpKTLpKSky6SkpMukpKTLpKSkzKSkpMykpKTNpKSkz6SkpNGkpKTUpKSk16SkpNmkpKTcpKSk3aSk + pN+kpKTfpKSk4KSkpOCkpKTgpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSk + pOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKTipKSk46SkpOSkpKTmpKSk6KSk + pOqkpKTrpKSk7aSkpO2kpKTupKSk7qSkpO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76Sk + pO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76Sk + pO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76Sk + pO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76Sk + pO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk7qSkpO6kpKTtpKSk7aSkpOukpKTqpKSk6KSk + pOakpKTkpKSk46SkpOKkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSk + pOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOCkpKTgpKSk4KSkpN+kpKTfpKSk3aSk + pNykpKTZpKSk16SkpNSkpKTRpKSkz6SkpM2kpKTMpKSky6SkpMukpKTLpKSky6SkpMukpKTLpKSky6Sk + pMqkpKTJpKSkyKSkpMWkpKTCpKSkv6SkpLukpKS4pKSktaSkpLOkpKSxpKSksKSkpK+kpKSvpKSkrqSk + pKykpKSppKSkpaSkpKGkpKSdpKSkmaSkpJWkpKSSpKSkj6SkpIykpKSIpKSkhKSkpH+kpKR6pKSkdKSk + pG6kpKRopKSkYaSkpFqkpKRRpKSkR6SkpDykpKQxpKSkJqSkpBukpKQSpKSkC6SkpAYAAAAAAAAAAKSk + pAGkpKQCpKSkBKSkpAikpKQNpKSkFKSkpBykpKQkpKSkLaSkpDakpKQ9pKSkRKSkpEqkpKRQpKSkVqSk + pFukpKRfpKSkZKSkpGikpKRrpKSkbqSkpHGkpKR1pKSkeKSkpH2kpKSBpKSkhaSkpImkpKSMpKSkjqSk + pI+kpKSQpKSkkaSkpJKkpKSUpKSklqSkpJqkpKSepKSkoqSkpKakpKSppKSkrKSkpK6kpKSvpKSkr6Sk + pLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSxpKSks6SkpLWkpKS4pKSkvKSkpL+kpKTCpKSkxaSk + pMikpKTJpKSkyqSkpMukpKTLpKSky6SkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSk + pMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzaSkpM+kpKTRpKSk1KSk + pNekpKTZpKSk3KSkpN2kpKTfpKSk36SkpOCkpKTgpKSk4KSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSk + pOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSk + pOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSk + pOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSk + pOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKTgpKSk4KSkpOCkpKTfpKSk36SkpN2kpKTcpKSk2aSk + pNekpKTUpKSk0aSkpM+kpKTNpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSk + pMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTLpKSky6SkpMukpKTKpKSkyaSk + pMikpKTFpKSkwqSkpL+kpKS8pKSkuKSkpLWkpKSzpKSksaSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSk + pK+kpKSvpKSkrqSkpKykpKSppKSkpqSkpKKkpKSepKSkmqSkpJakpKSUpKSkkqSkpJGkpKSQpKSkj6Sk + pI6kpKSMpKSkiaSkpIWkpKSBpKSkfaSkpHikpKR1pKSkcaSkpG6kpKRrpKSkaKSkpGSkpKRfpKSkW6Sk + pFakpKRRpKSkS6SkpEWkpKQ/pKSkOaSkpDGkpKQppKSkIaSkpBmkpKQSpKSkDKSkpAekpKQEAAAAAAAA + AAAAAAAApKSkAaSkpAKkpKQFpKSkCKSkpAykpKQRpKSkFqSkpBykpKQipKSkKKSkpCykpKQxpKSkNqSk + pDqkpKQ+pKSkQqSkpEakpKRJpKSkTKSkpE+kpKRRpKSkVKSkpFikpKRcpKSkYKSkpGSkpKRopKSkaqSk + pGykpKRupKSkbqSkpG+kpKRwpKSkcqSkpHWkpKR5pKSkfaSkpIGkpKSFpKSkiaSkpIykpKSOpKSkj6Sk + pJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSRpKSkkqSkpJSkpKSWpKSkmqSkpJ6kpKSipKSkpqSk + pKmkpKSspKSkrqSkpK+kpKSvpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSk + pLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksaSkpLOkpKS1pKSkuKSk + pLykpKS/pKSkwqSkpMWkpKTIpKSkyaSkpMqkpKTLpKSky6SkpMukpKTMpKSkzKSkpMykpKTMpKSkzKSk + pMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSk + pMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSk + pMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSk + pMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSky6SkpMukpKTLpKSkyqSkpMmkpKTIpKSkxaSk + pMKkpKS/pKSkvKSkpLikpKS1pKSks6SkpLGkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSk + pLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSvpKSkr6Sk + pK6kpKSspKSkqaSkpKakpKSipKSknqSkpJqkpKSWpKSklKSkpJKkpKSRpKSkkKSkpJCkpKSQpKSkkKSk + pJCkpKSQpKSkj6SkpI6kpKSMpKSkiaSkpIWkpKSBpKSkfaSkpHmkpKR1pKSkcqSkpHCkpKRvpKSkbqSk + pG6kpKRspKSkaqSkpGikpKRkpKSkYKSkpFykpKRYpKSkVKSkpFGkpKRPpKSkTKSkpEmkpKRGpKSkQqSk + pD6kpKQ6pKSkNqSkpDKkpKQtpKSkKaSkpCSkpKQfpKSkGqSkpBSkpKQPpKSkC6SkpAekpKQEpKSkAgAA + AAAAAAAAAAAAAAAAAACkpKQBpKSkAqSkpASkpKQGpKSkCaSkpAykpKQQpKSkE6SkpBekpKQapKSkHaSk + pCGkpKQkpKSkJ6SkpCqkpKQtpKSkL6SkpDGkpKQzpKSkNqSkpDikpKQ7pKSkP6SkpEKkpKRGpKSkSaSk + pEukpKRNpKSkTqSkpE+kpKRQpKSkUaSkpFKkpKRVpKSkWKSkpFykpKRgpKSkZKSkpGikpKRqpKSkbKSk + pG2kpKRupKSkbqSkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpHCkpKRypKSkdaSkpHmkpKR9pKSkgaSk + pIWkpKSJpKSkjKSkpI6kpKSPpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSk + pJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkaSkpJKkpKSUpKSklqSk + pJqkpKSepKSkoqSkpKakpKSppKSkrKSkpK6kpKSvpKSkr6SkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSk + pLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSk + pLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSk + pLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSk + pLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSkr6SkpK+kpKSupKSkrKSk + pKmkpKSmpKSkoqSkpJ6kpKSapKSklqSkpJSkpKSSpKSkkaSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSk + pJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSk + pI+kpKSOpKSkjKSkpImkpKSFpKSkgaSkpH2kpKR5pKSkdaSkpHKkpKRwpKSkb6SkpG+kpKRvpKSkb6Sk + pG+kpKRupKSkbqSkpG2kpKRspKSkaqSkpGikpKRkpKSkYKSkpFykpKRYpKSkVaSkpFKkpKRRpKSkUKSk + pE+kpKROpKSkTaSkpEukpKRJpKSkRqSkpEKkpKQ/pKSkO6SkpDikpKQ2pKSkM6SkpDGkpKQvpKSkLaSk + pCqkpKQnpKSkJKSkpCGkpKQepKSkG6SkpBikpKQVpKSkEaSkpA6kpKQLpKSkCKSkpAakpKQEpKSkAqSk + pAEAAAAAAAAAAAAAAAAAAAAAAAAAAKSkpAGkpKQCpKSkA6SkpASkpKQGpKSkCKSkpAqkpKQMpKSkDqSk + pBCkpKQSpKSkFKSkpBakpKQYpKSkGqSkpBukpKQdpKSkHqSkpCCkpKQipKSkJKSkpCekpKQqpKSkLKSk + pC+kpKQxpKSkMqSkpDOkpKQzpKSkNKSkpDWkpKQ2pKSkOKSkpDukpKQ/pKSkQqSkpEakpKRJpKSkS6Sk + pE2kpKROpKSkTqSkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpFCkpKRRpKSkUqSkpFWkpKRYpKSkXKSk + pGCkpKRkpKSkaKSkpGqkpKRspKSkbaSkpG6kpKRupKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6Sk + pG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRwpKSkcqSk + pHWkpKR5pKSkfaSkpIGkpKSFpKSkiaSkpIykpKSOpKSkj6SkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSk + pJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSk + pJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSk + pJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSk + pJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSPpKSkjqSk + pIykpKSJpKSkhaSkpIGkpKR9pKSkeaSkpHWkpKRypKSkcKSkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6Sk + pG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkbqSk + pG6kpKRtpKSkbKSkpGqkpKRopKSkZKSkpGCkpKRcpKSkWKSkpFWkpKRSpKSkUaSkpFCkpKRPpKSkT6Sk + pE+kpKRPpKSkT6SkpE6kpKROpKSkTaSkpEukpKRJpKSkRqSkpEKkpKQ/pKSkO6SkpDikpKQ2pKSkNaSk + pDSkpKQzpKSkM6SkpDKkpKQxpKSkL6SkpCykpKQqpKSkJ6SkpCSkpKQipKSkIKSkpB6kpKQdpKSkG6Sk + pBqkpKQYpKSkFqSkpBSkpKQSpKSkEKSkpA6kpKQMpKSkCqSkpAmkpKQHpKSkBaSkpASkpKQCpKSkAaSk + pAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKSkpAGkpKQCpKSkAqSkpAOkpKQEpKSkBaSk + pAakpKQHpKSkCKSkpAqkpKQLpKSkDKSkpA2kpKQOpKSkD6SkpBCkpKQRpKSkEqSkpBSkpKQWpKSkGKSk + pBqkpKQbpKSkHKSkpB2kpKQepKSkHqSkpB+kpKQgpKSkIaSkpCKkpKQlpKSkJ6SkpCqkpKQspKSkL6Sk + pDGkpKQypKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDSkpKQ0pKSkNaSkpDakpKQ4pKSkO6Sk + pD+kpKRCpKSkRqSkpEmkpKRLpKSkTaSkpE6kpKROpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6Sk + pE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRQpKSkUaSk + pFKkpKRVpKSkWKSkpFykpKRgpKSkZKSkpGikpKRqpKSkbKSkpG2kpKRupKSkbqSkpG+kpKRvpKSkb6Sk + pG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6Sk + pG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6Sk + pG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6Sk + pG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG6kpKRupKSkbaSk + pGykpKRqpKSkaKSkpGSkpKRgpKSkXKSkpFikpKRVpKSkUqSkpFGkpKRQpKSkT6SkpE+kpKRPpKSkT6Sk + pE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6Sk + pE+kpKROpKSkTqSkpE2kpKRLpKSkSaSkpEakpKRCpKSkP6SkpDukpKQ4pKSkNqSkpDWkpKQ0pKSkNKSk + pDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDKkpKQxpKSkL6SkpCykpKQqpKSkJ6SkpCWkpKQipKSkIaSk + pCCkpKQfpKSkHqSkpB6kpKQdpKSkHKSkpBukpKQapKSkGKSkpBakpKQUpKSkEqSkpBGkpKQQpKSkD6Sk + pA6kpKQNpKSkDKSkpAukpKQKpKSkCKSkpAekpKQGpKSkBaSkpASkpKQEpKSkA6SkpAKkpKQBpKSkAQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkpKQBpKSkAaSk + pAKkpKQCpKSkA6SkpAOkpKQEpKSkBaSkpAWkpKQGpKSkBqSkpAekpKQHpKSkCKSkpAmkpKQKpKSkC6Sk + pAykpKQNpKSkDqSkpA+kpKQPpKSkEKSkpBCkpKQQpKSkEaSkpBGkpKQTpKSkFKSkpBakpKQYpKSkGqSk + pBukpKQcpKSkHaSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkH6SkpCCkpKQhpKSkIqSk + pCWkpKQnpKSkKqSkpCykpKQvpKSkMaSkpDKkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6Sk + pDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQ0pKSkNKSk + pDWkpKQ2pKSkOKSkpDukpKQ/pKSkQqSkpEakpKRJpKSkS6SkpE2kpKROpKSkTqSkpE+kpKRPpKSkT6Sk + pE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6Sk + pE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6Sk + pE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6Sk + pE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkTqSk + pE6kpKRNpKSkS6SkpEmkpKRGpKSkQqSkpD+kpKQ7pKSkOKSkpDakpKQ1pKSkNKSkpDSkpKQzpKSkM6Sk + pDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6Sk + pDOkpKQzpKSkM6SkpDOkpKQypKSkMaSkpC+kpKQspKSkKqSkpCekpKQlpKSkIqSkpCGkpKQgpKSkH6Sk + pB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQdpKSkHKSkpBukpKQapKSkGKSkpBakpKQUpKSkE6Sk + pBGkpKQRpKSkEKSkpBCkpKQQpKSkD6SkpA+kpKQOpKSkDaSkpAykpKQLpKSkCqSkpAmkpKQIpKSkB6Sk + pAekpKQGpKSkBqSkpAWkpKQFpKSkBKSkpAOkpKQDpKSkAqSkpAKkpKQBpKSkAaSkpAEAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAKSkpAGkpKQBpKSkAaSkpAGkpKQCpKSkAqSkpAKkpKQCpKSkA6SkpAOkpKQDpKSkBKSk + pAWkpKQFpKSkBqSkpAakpKQHpKSkB6SkpAekpKQHpKSkB6SkpAikpKQIpKSkCaSkpAqkpKQLpKSkDKSk + pA2kpKQOpKSkD6SkpA+kpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQRpKSkEaSk + pBOkpKQUpKSkFqSkpBikpKQapKSkG6SkpBykpKQdpKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSk + pB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSk + pB+kpKQgpKSkIaSkpCKkpKQlpKSkJ6SkpCqkpKQspKSkL6SkpDGkpKQypKSkM6SkpDOkpKQzpKSkM6Sk + pDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6Sk + pDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6Sk + pDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6Sk + pDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6Sk + pDOkpKQzpKSkMqSkpDGkpKQvpKSkLKSkpCqkpKQnpKSkJaSkpCKkpKQhpKSkIKSkpB+kpKQepKSkHqSk + pB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSk + pB6kpKQepKSkHqSkpB6kpKQepKSkHaSkpBykpKQbpKSkGqSkpBikpKQWpKSkFKSkpBOkpKQRpKSkEaSk + pBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkD6SkpA+kpKQOpKSkDaSkpAykpKQLpKSkCqSk + pAmkpKQIpKSkCKSkpAekpKQHpKSkB6SkpAekpKQHpKSkBqSkpAakpKQFpKSkBaSkpASkpKQDpKSkA6Sk + pAOkpKQCpKSkAqSkpAKkpKQCpKSkAaSkpAGkpKQBpKSkAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApKSkAaSkpAGkpKQBpKSkAaSk + pAGkpKQBpKSkAqSkpAKkpKQCpKSkAqSkpAKkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQEpKSkBaSk + pAWkpKQGpKSkBqSkpAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkCKSk + pAikpKQJpKSkCqSkpAukpKQMpKSkDaSkpA6kpKQPpKSkD6SkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSk + pBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSk + pBCkpKQQpKSkEaSkpBGkpKQTpKSkFKSkpBakpKQYpKSkGqSkpBukpKQcpKSkHaSkpB6kpKQepKSkHqSk + pB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSk + pB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSk + pB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSk + pB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSk + pB6kpKQepKSkHqSkpB2kpKQcpKSkG6SkpBqkpKQYpKSkFqSkpBSkpKQTpKSkEaSkpBGkpKQQpKSkEKSk + pBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSk + pBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpA+kpKQPpKSkDqSkpA2kpKQMpKSkC6SkpAqkpKQJpKSkCKSk + pAikpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkBqSkpAakpKQFpKSkBaSk + pASkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQCpKSkAqSkpAKkpKQCpKSkAqSkpAGkpKQBpKSkAaSk + pAGkpKQBpKSkAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC67 + bxAuu29ALrtvgC67b4Auu2+ALrtvgC67b4Auu2+ALrtvgC67b4Auu2+ALrtvgC67b4Auu2+ALrtvgC67 + b4Avu2+BL7tvgS+7b4Evu2+BL7tvgS+7cIEvu3CBL7twgS+7cIEvu3CBL7twgS+7cIEvu3CBL7twgS+7 + cIEvu3CBL7twgTC7cIIwu3CCMLtwgjG6cIMxunCDMbpwgzG6cIMxunCDMbpwgzG6cIMxunCDMbpwgzG6 + cIMxunCDMbpwgzG6cIMxunCDMbpwgzG6cIMxunCDMbpwgzG6cIMxunCDMbpwgzG6cIMxunCDMbpwgzG6 + cIMxunCDMbpwgzK6cYQyunGEMrpxhDK6cYUzunGFM7pxhjS6coY0unKHNbpyhzW6coc1unKINbpyiDW6 + cog1unKINbpyiDW6cog1unKINbpyiDW6cog1unKINbpyiDW6cog1unKINbpyiDW6cog1unKINbpyiDW6 + cog1unKINbpyiDW6cog1unKINbpyiDW6cog1unKINbpyiDW6cog1unKINbpyiDW6cog1unKINbpyiDW6 + cog1unKIQbd3TGewiR+kpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSk + pBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSk + pBCkpKQQpKSkEKSkpBCkpKQPpKSkD6SkpA6kpKQNpKSkDKSkpAukpKQKpKSkCaSkpAikpKQIpKSkB6Sk + pAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6Sk + pAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAakpKQGpKSkBaSkpAWkpKQEpKSkA6Sk + pAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQCpKSkAqSkpAKkpKQCpKSkAqSk + pAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAuvHAQLrxwYC68 + cM8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68 + cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68 + cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68 + cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68 + cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68 + cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68 + cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68 + cP8uvHD/Lrxw/y68cP8uvHD/L7tw0TO7cmRQtX8XpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6Sk + pAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6Sk + pAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQGpKSkBqSkpAWkpKQFpKSkBKSkpAOkpKQDpKSkA6Sk + pAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6Sk + pAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkAqSkpAKkpKQCpKSkAqSkpAKkpKQBpKSkAaSk + pAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAEAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC68cBAuvHCALrxw7y68 + cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68 + cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68 + cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68 + cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68 + cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68 + cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68 + cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68 + cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw7y+8cYGkpKQDpKSkA6SkpAOkpKQDpKSkA6Sk + pAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6Sk + pAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAKkpKQCpKSkAqSkpAKkpKQCpKSkAaSkpAGkpKQBpKSkAaSk + pAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSk + pAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC29cUAtvHHfLbxx/y28 + cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28 + cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28 + cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28 + cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28 + cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28 + cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28 + cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28 + cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx3y68ckGkpKQBpKSkAaSk + pAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSk + pAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC29cnAtvXH/Lb1x/y29 + cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29 + cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29 + cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29 + cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29 + cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29 + cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29 + cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29 + cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1yYAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC2+cp8tvnL/Lb5y/y2+ + cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+ + cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+ + cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+ + cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+ + cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+ + cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+ + cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+ + cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+ + cv8tvnKfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACy+c48tvnP/Lb5z/y2+ + c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+ + c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+ + c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+ + c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+ + c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+ + c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+ + c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+ + c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+ + c/8tvnP/Lb5z/yy+c4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACy+c1AsvnP/LL5z/yy+ + c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+ + c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+ + c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+ + c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+ + c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+ + c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+ + c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+ + c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+ + c/8svnP/LL5z/yy+c/8svnP/LL5zUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACy/dCAsv3TvLL90/yy/ + dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/ + dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/ + dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/ + dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/ + dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/ + dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/ + dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/ + dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/ + dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/dO8sv3QQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArwHSfLMB0/yzA + dP8swHT/LMB0/yzAdP8swHT/LMB0/yzAdP8swHT/LMB0/yzAdP8swHT/LMB0/yzAdP8swHT/LMB0/yzA + dP8swHT/LMB0/yzAdP8swHT/LMB0/yzAdP8swHT/LMB0/yzAdP8swHT/LMB0/yzAdP8swHT/LMB0/yzA + dP8swHT/LMB0/yzAdP8swHT/LMB0/yzAdP8swHT/LMB0/yzAdP8swHT/LMB0/yzAdP8swHT/LMB0/yzA + dP8swHT/LMB0/yzAdP8swHT/LMB0/yzAdP8swHT/LMB0/yzAdP8swHT/LMB0/yzAdP8swHT/LMB0/yzA + dP8swHT/LMB0/yzAdP8swHT/LMB0/yzAdP8swHT/LMB0/yzAdP8swHT/LMB0/yzAdP8swHT/LMB0/yzA + dP8swHT/LMB0/yzAdP8swHT/LMB0/yzAdP8swHT/LMB0/yzAdP8swHT/LMB0/yzAdP8swHT/LMB0/yzA + dP8swHT/LMB0/yzAdP8swHT/LMB0/yzAdP8swHT/LMB0/yzAdP8swHT/LMB0/yzAdP8swHT/LMB0/yzA + dP8swHT/LMB0/yzAdP8swHT/LMB0/yzAdP8swHT/LMB0/yzAdP8swHT/LMB0/yzAdP8swHT/LMB0/yzA + dP8swHT/LMB0/yzAdP8swHT/LMB0/yzAdP8swHT/K8B0nwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArwHUwK8B1/yvA + df8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvA + df8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvA + df8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvA + df8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvA + df8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvA + df8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvA + df8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvA + df8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvA + df8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHUgAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK8B1nyvA + df8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvA + df8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvA + df8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvA + df8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvA + df8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvA + df8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvA + df8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvA + df8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvA + df8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1nwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKsF2ECvB + dv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvB + dv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvB + dv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvB + dv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvB + dv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvB + dv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvB + dv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvB + dv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvB + dv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvBdu8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACrB + dmAqwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrB + dv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrB + dv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrB + dv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrB + dv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrB + dv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrB + dv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrB + dv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrB + dv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2UAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAqwnePKsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrC + d/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrC + d/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrC + d/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrC + d/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrC + d/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrC + d/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrC + d/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrC + d/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrC + d48AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAKsJ4vyrCeP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrC + eP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrC + eP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrC + eP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrC + eP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrC + eP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrC + eP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrC + eP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrC + eP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrC + eP8qwni/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAACnDeO8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynD + eP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynD + eP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynD + eP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynD + eP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynD + eP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynD + eP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynD + eP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynD + eP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynD + eP8pw3j/KcN43wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAApw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynD + ef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynD + ef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynD + ef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynD + ef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynD + ef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynD + ef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynD + ef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynD + ef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynD + ef8pw3n/KcN5/ynDef8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAKcR5/ynEef8pxHn/KcR5/ynEef8pxHn/KcR5/ynEef8pxHn/KcR5/ynE + ef8pxHn/KcR5/ynEef8pxHn/KcR5/ynEef8pxHn/KcR5/ynEef8pxHn/KcR5/ynEef8pxHn/KcR5/ynE + ef8pxHn/KcR5/ynEef8pxHn/KcR5/ynEef8pxHn/KcR5/ynEef8pxHn/KcR5/ynEef8pxHn/KcR5/ynE + ef8pxHn/KcR5/ynEef8pxHn/KcR5/ynEef8pxHn/KcR5/ynEef8pxHn/KcR5/ynEef8pxHn/KcR5/ynE + ef8pxHn/KcR5/ynEef8pxHn/KcR5/ynEef8pxHn/KcR5/ynEef8pxHn/KcR5/ynEef8pxHn/KcR5/ynE + ef8pxHn/KcR5/ynEef8pxHn/KcR5/ynEef8pxHn/KcR5/ynEef8pxHn/KcR5/ynEef8pxHn/KcR5/ynE + ef8pxHn/KcR5/ynEef8pxHn/KcR5/ynEef8pxHn/KcR5/ynEef8pxHn/KcR5/ynEef8pxHn/KcR5/ynE + ef8pxHn/KcR5/ynEef8pxHn/KcR5/ynEef8pxHn/KcR5/ynEef8pxHn/KcR5/ynEef8pxHn/KcR5/ynE + ef8pxHn/KcR5/ynEef8pxHn/KcR5/ynEef8pxHn/KcR5/ynEef8pxHn/KcR5/ynEef8pxHn/KcR5/ynE + ef8pxHn/KcR5/ynEef8pxHn/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAACnEev8pxHr/KcR6/ynEev8pxHr/KcR6/ynEev8pxHr/KcR6/ynE + ev8pxHr/KcR6/ynEev8pxHr/KcR6/ynEev8pxHr/KcR6/ynEev8pxHr/KcR6/ynEev8pxHr/KcR6/ynE + ev8pxHr/KcR6/ynEev8pxHr/KcR6/ynEev8pxHr/KcR6/ynEev8pxHr/KcR6/ynEev8pxHr/KcR6/ynE + ev8pxHr/KcR6/ynEev8pxHr/KcR6/ynEev8pxHr/KcR6/ynEev8pxHr/KcR6/ynEev8pxHr/KcR6/ynE + ev8pxHr/KcR6/ynEev8pxHr/KcR6/ynEev8pxHr/KcR6/ynEev8pxHr/KcR6/ynEev8pxHr/KcR6/ynE + ev8pxHr/KcR6/ynEev8pxHr/KcR6/ynEev8pxHr/KcR6/ynEev8pxHr/KcR6/ynEev8pxHr/KcR6/ynE + ev8pxHr/KcR6/ynEev8pxHr/KcR6/ynEev8pxHr/KcR6/ynEev8pxHr/KcR6/ynEev8pxHr/KcR6/ynE + ev8pxHr/KcR6/ynEev8pxHr/KcR6/ynEev8pxHr/KcR6/ynEev8pxHr/KcR6/ynEev8pxHr/KcR6/ynE + ev8pxHr/KcR6/ynEev8pxHr/KcR6/ynEev8pxHr/KcR6/ynEev8pxHr/KcR6/ynEev8pxHr/KcR6/ynE + ev8pxHr/KcR6/ynEev8pxHr/KcR6/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoxXr/KMV6/yjFev8oxXr/KMV6/yjFev8oxXr/KMV6/yjF + ev8oxXr/KMV6/yjFev8oxXr/KMV6/yjFev8oxXr/KMV6/yjFev8oxXr/KMV6/yjFev8oxXr/KMV6/yjF + ev8oxXr/KMV6/yjFev8oxXr/KMV6/yjFev8oxXr/KMV6/yjFev8oxXr/KMV6/yjFev8oxXr/KMV6/yjF + ev8oxXr/KMV6/yjFev8oxXr/KMV6/yjFev8oxXr/KMV6/yjFev8oxXr/KMV6/yjFev8oxXr/KMV6/yjF + ev8oxXr/KMV6/yjFev8oxXr/KMV6/yjFev8oxXr/KMV6/yjFev8oxXr/KMV6/yjFev8oxXr/KMV6/yjF + ev8oxXr/KMV6/yjFev8oxXr/KMV6/yjFev8oxXr/KMV6/yjFev8oxXr/KMV6/yjFev8oxXr/KMV6/yjF + ev8oxXr/KMV6/yjFev8oxXr/KMV6/yjFev8oxXr/KMV6/yjFev8oxXr/KMV6/yjFev8oxXr/KMV6/yjF + ev8oxXr/KMV6/yjFev8oxXr/KMV6/yjFev8oxXr/KMV6/yjFev8oxXr/KMV6/yjFev8oxXr/KMV6/yjF + ev8oxXr/KMV6/yjFev8oxXr/KMV6/yjFev8oxXr/KMV6/yjFev8oxXr/KMV6/yjFev8oxXr/KMV6/yjF + ev8oxXr/KMV6/yjFev8oxXr/KMV6/yjFev8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjF + e/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjF + e/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjF + e/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjF + e/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjF + e/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjF + e/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjF + e/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjF + e/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjF + e/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjF + e/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjF + e/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjF + e/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjF + e/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjF + e/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjF + e/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjF + e/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjF + e/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjF + e/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnx3z/J8d8/yfHfP8nx3z/J8d8/yfH + fP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfH + fP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfH + fP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfH + fP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfH + fP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfH + fP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfH + fP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfH + fP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfH + fP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ8d8/yfHfP8nx3z/J8d8/yfH + fP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfH + fP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfH + fP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfH + fP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfH + fP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfH + fP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfH + fP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfH + fP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfH + fP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACfIff8nyH3/J8h9/yfI + ff8nyH3/J8h9/yfIff8nyH3/J8h9/yfIff8nyH3/J8h9/yfIff8nyH3/J8h9/yfIff8nyH3/J8h9/yfI + ff8nyH3/J8h9/yfIff8nyH3/J8h9/yfIff8nyH3/J8h9/yfIff8nyH3/J8h9/yfIff8nyH3/J8h9/yfI + ff8nyH3/J8h9/yfIff8nyH3/J8h9/yfIff8nyH3/J8h9/yfIff8nyH3/J8h9/yfIff8nyH3/J8h9/yfI + ff8nyH3/J8h9/yfIff8nyH3/J8h9/yfIff8nyH3/J8h9/yfIff8nyH3/J8h9/yfIff8nyH3/J8h9/yfI + ff8nyH3/J8h9/yfIff8nyH3/J8h9/yfIff8nyH3/J8h9/yfIff8nyH3/J8h9/yfIff8nyH3/J8h9/yfI + ff8nyH3/J8h9/yfIff8nyH3/J8h9/yfIff8nyH3/J8h9/yfIff8nyH3/J8h9/yfIff8nyH3/J8h9/yfI + ff8nyH3/J8h9/yfIff8nyH3/J8h9/yfIff8nyH3/J8h9/yfIff8nyH3/J8h9/yfIff8nyH3/J8h9/yfI + ff8nyH3/J8h9/yfIff8nyH3/J8h9/yfIff8nyH3/J8h9/yfIff8nyH3/J8h9/yfIff8nyH3/J8h9/yfI + ff8nyH3/J8h9/yfIff8nyH3/J8h9/yfIff8nyH3/J8h9/yfIff8nyH3/J8h9/wAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmyH3/Jsh9/ybI + ff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybI + ff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybI + ff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybI + ff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybI + ff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybI + ff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybI + ff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybI + ff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybI + ff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJsh+/ybI + fv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybI + fv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybI + fv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybI + fv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybI + fv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybI + fv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybI + fv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybI + fv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybI + fv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACbJ + f/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJ + f/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJ + f/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJ + f/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJ + f/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJ + f/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJ + f/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJ + f/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJ + f/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//wAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAmyX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJ + f/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJ + f/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJ + f/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJ + f/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJ + f/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJ + f/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJ + f/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJ + f/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJ + f/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAJcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXK + f/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXK + f/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXK + f/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXK + f/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXK + f/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXK + f/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXK + f/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXK + f/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXK + f/8lyn//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAACXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXK + gP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXK + gP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXK + gP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXK + gP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXK + gP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXK + gP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXK + gP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXK + gP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXK + gP8lyoD/JcqA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAlyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXK + gP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXK + gP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXK + gP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXK + gP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXK + gP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXK + gP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXK + gP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXK + gP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXK + gP8lyoD/JcqA/yXKgP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAJcuB/yXLgf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXL + gf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXL + gf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXL + gf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXL + gf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXL + gf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXL + gf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXL + gf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXL + gf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXL + gf8ly4H/JcuB/yXLgf8ly4H/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAACTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTL + gf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTL + gf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTL + gf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTL + gf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTL + gf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTL + gf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTL + gf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTL + gf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTL + gf8ky4H/JMuB/yTLgf8ky4H/JMuB/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTM + gv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTM + gv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTM + gv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTM + gv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTM + gv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTM + gv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTM + gv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTM + gv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTM + gv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTM + gv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTM + gv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTM + gv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTM + gv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTM + gv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTM + gv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTM + gv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTM + gv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTM + gv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACTNg/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTN + g/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTN + g/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTN + g/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTN + g/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTN + g/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTN + g/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTN + g/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTN + g/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTN + g/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTNg/8kzYP/JM2D/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjzYP/I82D/yPNg/8jzYP/I82D/yPN + g/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPN + g/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPN + g/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPN + g/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPN + g/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPN + g/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPN + g/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPN + g/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPN + g/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI82E/yPNhP8jzYT/I82E/yPN + hP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPN + hP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPN + hP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPN + hP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPN + hP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPN + hP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPN + hP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPN + hP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPN + hP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACPOhP8jzoT/I86E/yPO + hP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPO + hP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPO + hP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPO + hP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPO + hP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPO + hP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPO + hP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPO + hP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPO + hP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/wAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjzoT/I86E/yPO + hP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPO + hP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPO + hP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPO + hP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPO + hP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPO + hP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPO + hP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPO + hP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPO + hP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIs6F/yLO + hf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLO + hf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLO + hf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLO + hf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLO + hf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLO + hf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLO + hf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLO + hf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLO + hf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACLP + hf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLP + hf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLP + hf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLP + hf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLP + hf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLP + hf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLP + hf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLP + hf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLP + hf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/wAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAiz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLP + hv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLP + hv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLP + hv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLP + hv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLP + hv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLP + hv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLP + hv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLP + hv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLP + hv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAIs+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLP + hv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLP + hv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLP + hv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLP + hv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLP + hv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLP + hv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLP + hv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLP + hv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLP + hv8iz4b/oX0rgKF9K4ChfSuAoX0rgKF9K4ChfSuAoX0rgKF9K4ChfSuAoX0rgKF9K4ChfSuAoX0rgKF9 + K4ChfSuAoX0rgKF9K4ChfSuAoX0rgKF9K4ChfSuAoX0rgKF9K4ChfSuAoX0rgKF9K4ChfSuAoX0rgKF9 + K4ChfSuAoX0rgKF9K4ChfSuAoX0rYKF9K0ChfSsQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAACHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQ + h/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQ + h/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQ + h/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQ + h/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQ + h/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQ + h/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQ + h/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQ + h/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQ + h/8h0If/IdCH/6F9K/+hfSv/oX0r/6F9K/+hfSv/oX0r/6F9K/+hfSv/oX0r/6F9K/+hfSv/oX0r/6F9 + K/+hfSv/oX0r/6F9K/+hfSv/oX0r/6F9K/+hfSv/oX0r/6F9K/+hfSv/oX0r/6F9K/+hfSv/oX0r/6F9 + K/+hfSv/oX0r/6F9K/+hfSv/oX0r/6F9K/+hfSv/oX0r/6F9K8+hfSuPoX0rIAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAh0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQ + h/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQ + h/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQ + h/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQ + h/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQ + h/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQ + h/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQ + h/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQ + h/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQ + h/8h0If/IdCH/yHQh/+ifiz/on4s/6J+LP+ifiz/on4s/6J+LP+ifiz/on4s/6J+LP+ifiz/on4s/6J+ + LP+ifiz/on4s/6J+LP+ifiz/on4s/6J+LP+ifiz/on4s/6J+LP+ifiz/on4s/6J+LP+ifiz/on4s/6J+ + LP+ifiz/on4s/6J+LP+ifiz/on4s/6J+LP+ifiz/on4s/6J+LP+ifiz/on4s/6J+LP+ifiyvon4sIAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAIdGH/yHRh/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHR + h/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHR + h/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHR + h/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHR + h/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHR + h/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHR + h/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHR + h/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHR + h/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHR + h/8h0Yf/IdGH/yHRh/8h0Yf/o34s/6N+LP+jfiz/o34s/6N+LP+jfiz/o34s/6N+LP+jfiz/o34s/6N+ + LP+jfiz/o34s/6N+LP+jfiz/o34s/6N+LP+jfiz/o34s/6N+LP+jfiz/o34s/6N+LP+jfiz/o34s/6N+ + LP+jfiz/o34s/6N+LP+jfiz/o34s/6N+LP+jfiz/o34s/6N+LP+jfiz/o34s/6N+LP+jfiz/o34s/6N+ + LP+jfiyPo34sEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAACHRiP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHR + iP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHR + iP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHR + iP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHR + iP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHR + iP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHR + iP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHR + iP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHR + iP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHR + iP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/6N/Lf+jfy3/o38t/6N/Lf+jfy3/o38t/6N/Lf+jfy3/o38t/6N/ + Lf+jfy3/o38t/6N/Lf+jfy3/o38t/6N/Lf+jfy3/o38t/6N/Lf+jfy3/o38t/6N/Lf+jfy3/o38t/6N/ + Lf+jfy3/o38t/6N/Lf+jfy3/o38t/6N/Lf+jfy3/o38t/6N/Lf+jfy3/o38t/6N/Lf+jfy3/o38t/6N/ + Lf+jfy3/o38t/6N/Lc+jfy0gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAg0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDR + iP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDR + iP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDR + iP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDR + iP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDR + iP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDR + iP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDR + iP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDR + iP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDR + iP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP+kfy3/pH8t/6R/Lf+kfy3/pH8t/6R/Lf+kfy3/pH8t/6R/ + Lf+kfy3/pH8t/6R/Lf+kfy3/pH8t/6R/Lf+kfy3/pH8t/6R/Lf+kfy3/pH8t/6R/Lf+kfy3/pH8t/6R/ + Lf+kfy3/pH8t/6R/Lf+kfy3/pH8t/6R/Lf+kfy3/pH8t/6R/Lf+kfy3/pH8t/6R/Lf+kfy3/pH8t/6R/ + Lf+kfy3/pH8t/6R/Lf+kfy3/pH8t76R/LTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAINKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/pIAu/6SALv+kgC7/pIAu/6SALv+kgC7/pIAu/6SA + Lv+kgC7/pIAu/6SALv+kgC7/pIAu/6SALv+kgC7/pIAu/6SALv+kgC7/pIAu/6SALv+kgC7/pIAu/6SA + Lv+kgC7/pIAu/6SALv+kgC7/pIAu/6SALv+kgC7/pIAu/6SALv+kgC7/pIAu/6SALv+kgC7/pIAu/6SA + Lv+kgC7/pIAu/6SALv+kgC7/pIAu/6SALv+kgC7vpYAuMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/6WAL/+lgC//pYAv/6WAL/+lgC//pYAv/6WA + L/+lgC//pYAv/6WAL/+lgC//pYAv/6WAL/+lgC//pYAv/6WAL/+lgC//pYAv/6WAL/+lgC//pYAv/6WA + L/+lgC//pYAv/6WAL/+lgC//pYAv/6WAL/+lgC//pYAv/6WAL/+lgC//pYAv/6WAL/+lgC//pYAv/6WA + L/+lgC//pYAv/6WAL/+lgC//pYAv/6WAL/+lgC//pYAv/6WAL8+lgC8QAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAg0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif+mgS//poEv/6aBL/+mgS//poEv/6aB + L/+mgS//poEv/6aBL/+mgS//poEv/6aBL/+mgS//poEv/6aBL/+mgS//poEv/6aBL/+mgS//poEv/6aB + L/+mgS//poEv/6aBL/+mgS//poEv/6aBL/+mgS//poEv/6aBL/+mgS//poEv/6aBL/+mgS//poEv/6aB + L/+mgS//poEv/6aBL/+mgS//poEv/6aBL/+mgS//poEv/6aBL/+mgS//poEvrwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAINKK/yDSiv8g0or/INKK/yDS + iv8g0or/INKK/yDSiv8g0or/INKK/yDSiv8g0or/INKK/yDSiv8g0or/INKK/yDSiv8g0or/INKK/yDS + iv8g0or/INKK/yDSiv8g0or/INKK/yDSiv8g0or/INKK/yDSiv8g0or/INKK/yDSiv8g0or/INKK/yDS + iv8g0or/INKK/yDSiv8g0or/INKK/yDSiv8g0or/INKK/yDSiv8g0or/INKK/yDSiv8g0or/INKK/yDS + iv8g0or/INKK/yDSiv8g0or/INKK/yDSiv8g0or/INKK/yDSiv8g0or/INKK/yDSiv8g0or/INKK/yDS + iv8g0or/INKK/yDSiv8g0or/INKK/yDSiv8g0or/INKK/yDSiv8g0or/INKK/yDSiv8g0or/INKK/yDS + iv8g0or/INKK/yDSiv8g0or/INKK/yDSiv8g0or/INKK/yDSiv8g0or/INKK/yDSiv8g0or/INKK/yDS + iv8g0or/INKK/yDSiv8g0or/INKK/yDSiv8g0or/INKK/yDSiv8g0or/INKK/yDSiv8g0or/INKK/yDS + iv8g0or/INKK/yDSiv8g0or/INKK/yDSiv8g0or/INKK/yDSiv8g0or/INKK/yDSiv8g0or/INKK/yDS + iv8g0or/INKK/yDSiv8g0or/INKK/yDSiv8g0or/INKK/yDSiv8g0or/poEw/6aBMP+mgTD/poEw/6aB + MP+mgTD/poEw/6aBMP+mgTD/poEw/6aBMP+mgTD/poEw/6aBMP+mgTD/poEw/6aBMP+mgTD/poEw/6aB + MP+mgTD/poEw/6aBMP+mgTD/poEw/6aBMP+mgTD/poEw/6aBMP+mgTD/poEw/6aBMP+mgTD/poEw/6aB + MP+mgTD/poEw/6aBMP+mgTD/poEw/6aBMP+mgTD/poEw/6aBMP+mgTD/poEw/6aBMP+mgTBAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/Tiv8f04r/H9OK/x/T + iv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/T + iv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/T + iv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/T + iv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/T + iv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/T + iv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/T + iv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/T + iv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/T + iv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/6eCMP+ngjD/p4Iw/6eC + MP+ngjD/p4Iw/6eCMP+ngjD/p4Iw/6eCMP+ngjD/p4Iw/6eCMP+ngjD/p4Iw/6eCMP+ngjD/p4Iw/6eC + MP+ngjD/p4Iw/6eCMP+ngjD/p4Iw/6eCMP+ngjD/p4Iw/6eCMP+ngjD/p4Iw/6eCMP+ngjD/p4Iw/6eC + MP+ngjD/p4Iw/6eCMP+ngjD/p4Iw/6eCMP+ngjD/p4Iw/6eCMP+ngjD/p4Iw/6eCMP+ngjD/p4IwvwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf04v/H9OL/x/T + i/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/T + i/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/T + i/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/T + i/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/T + i/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/T + i/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/T + i/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/T + i/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/T + i/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/+ngjH/p4Ix/6eC + Mf+ngjH/p4Ix/6eCMf+ngjH/p4Ix/6eCMf+ngjH/p4Ix/6eCMf+ngjH/p4Ix/6eCMf+ngjH/p4Ix/6eC + Mf+ngjH/p4Ix/6eCMf+ngjH/p4Ix/6eCMf+ngjH/p4Ix/6eCMf+ngjH/p4Ix/6eCMf+ngjH/p4Ix/6eC + Mf+ngjH/p4Ix/6eCMf+ngjH/p4Ix/6eCMf+ngjH/p4Ix/6eCMf+ngjH/p4Ix/6eCMf+ngjH/p4Ix/6eC + Mf+ngjFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH9OL/x/T + i/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/T + i/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/T + i/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/T + i/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/T + i/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/T + i/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/T + i/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/T + i/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/T + i/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/qIMx/6iD + Mf+ogzH/qIMx/6iDMf+ogzH/qIMx/6iDMf+ogzH/qIMx/6iDMf+ogzH/qIMx/6iDMf+ogzH/qIMx/6iD + Mf+ogzH/qIMx/6iDMf+ogzH/qIMx/6iDMf+ogzH/qIMx/6iDMf+ogzH/qIMx/6iDMf+ogzH/qIMx/6iD + Mf+ogzH/qIMx/6iDMf+ogzH/qIMx/6iDMf+ogzH/qIMx/6iDMf+ogzH/qIMx/6iDMf+ogzH/qIMx/6iD + Mf+ogzH/qIMxnwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/U + i/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/U + i/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/U + i/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/U + i/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/U + i/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/U + i/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/U + i/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/U + i/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/U + i/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/6mD + Mv+pgzL/qYMy/6mDMv+pgzL/qYMy/6mDMv+pgzL/qYMy/6mDMv+pgzL/qYMy/6mDMv+pgzL/qYMy/6mD + Mv+pgzL/qYMy/6mDMv+pgzL/qYMy/6mDMv+pgzL/qYMy/6mDMv+pgzL/qYMy/6mDMv+pgzL/qYMy/6mD + Mv+pgzL/qYMy/6mDMv+pgzL/qYMy/6mDMv+pgzL/qYMy/6mDMv+pgzL/qYMy/6mDMv+pgzL/qYMy/6mD + Mv+pgzL/qYMy/6mDMu8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAf1Iz/H9SM/x/UjP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/U + jP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/U + jP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/U + jP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/U + jP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/U + jP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/U + jP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/U + jP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/U + jP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/U + jP+phDL/qYQy/6mEMv+phDL/qYQy/6mEMv+phDL/qYQy/6mEMv+phDL/qYQy/6mEMv+phDL/qYQy/6mE + Mv+phDL/qYQy/6mEMv+phDL/qYQy/6mEMv+phDL/qYQy/6mEMv+phDL/qYQy/6mEMv+phDL/qYQy/6mE + Mv+phDL/qYQy/6mEMv+phDL/qYQy/6mEMv+phDL/qYQy/6mEMv+phDL/qYQy/6mEMv+phDL/qYQy/6mE + Mv+phDL/qYQy/6mEMv+phDL/qYQyQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAHtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7U + jP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7U + jP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7U + jP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7U + jP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7U + jP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7U + jP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7U + jP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7U + jP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7U + jP8e1Iz/qoQz/6qEM/+qhDP/qoQz/6qEM/+qhDP/qoQz/6qEM/+qhDP/qoQz/6qEM/+qhDP/qoQz/6qE + M/+qhDP/qoQz/6qEM/+qhDP/qoQz/6qEM/+qhDP/qoQz/6qEM/+qhDP/qoQz/6qEM/+qhDP/qoQz/6qE + M/+qhDP/qoQz/6qEM/+qhDP/qoQz/6qEM/+qhDP/qoQz/6qEM/+qhDP/qoQz/6qEM/+qhDP/qoQz/6qE + M/+qhDP/qoQz/6qEM/+qhDP/qoQz/6qEM3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAB7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7V + jP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7V + jP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7V + jP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7V + jP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7V + jP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7V + jP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7V + jP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7V + jP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7V + jP8e1Yz/HtWM/6qFM/+qhTP/qoUz/6qFM/+qhTP/qoUz/6qFM/+qhTP/qoUz/6qFM/+qhTP/qoUz/6qF + M/+qhTP/qoUz/6qFM/+qhTP/qoUz/6qFM/+qhTP/qoUz/6qFM/+qhTP/qoUz/6qFM/+qhTP/qoUz/6qF + M/+qhTP/qoUz/6qFM/+qhTP/qoUz/6qFM/+qhTP/qoUz/6qFM/+qhTP/qoUz/6qFM/+qhTP/qoUz/6qF + M/+qhTP/qoUz/6qFM/+qhTP/qoUz/6qFM/+qhTOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAe1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf+rhTT/q4U0/6uFNP+rhTT/q4U0/6uFNP+rhTT/q4U0/6uFNP+rhTT/q4U0/6uF + NP+rhTT/q4U0/6uFNP+rhTT/q4U0/6uFNP+rhTT/q4U0/6uFNP+rhTT/q4U0/6uFNP+rhTT/q4U0/6uF + NP+rhTT/q4U0/6uFNP+rhTT/q4U0/6uFNP+rhTT/q4U0/6uFNP+rhTT/q4U0/6uFNP+rhTT/q4U0/6uF + NP+rhTT/q4U0/6uFNP+rhTT/q4U0/6uFNP+rhTT/q4U0vwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAHtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/rIY1/6yGNf+shjX/rIY1/6yGNf+shjX/rIY1/6yGNf+shjX/rIY1/6yG + Nf+shjX/rIY1/6yGNf+shjX/rIY1/6yGNf+shjX/rIY1/6yGNf+shjX/rIY1/6yGNf+shjX/rIY1/6yG + Nf+shjX/rIY1/6yGNf+shjX/rIY1/6yGNf+shjX/rIY1/6yGNf+shjX/rIY1/6yGNf+shjX/rIY1/6yG + Nf+shjX/rIY1/6yGNf+shjX/rIY1/6yGNf+shjX/rIY1/6yGNb8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAB7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/6yHNf+shzX/rIc1/6yHNf+shzX/rIc1/6yHNf+shzX/rIc1/6yH + Nf+shzX/rIc1/6yHNf+shzX/rIc1/6yHNf+shzX/rIc1/6yHNf+shzX/rIc1/6yHNf+shzX/rIc1/6yH + Nf+shzX/rIc1/6yHNf+shzX/rIc1/6yHNf+shzX/rIc1/6yHNf+shzX/rIc1/6yHNf+shzX/rIc1/6yH + Nf+shzX/rIc1/6yHNf+shzX/rIc1/6yHNf+shzX/rIc1/6yHNf+shzW/AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAe1o7/HtaO/x7Wjv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7W + jv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7W + jv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7W + jv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7W + jv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7W + jv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7W + jv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7W + jv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7W + jv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7W + jv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7Wjv+thzb/rYc2/62HNv+thzb/rYc2/62HNv+thzb/rYc2/62H + Nv+thzb/rYc2/62HNv+thzb/rYc2/62HNv+thzb/rYc2/62HNv+thzb/rYc2/62HNv+thzb/rYc2/62H + Nv+thzb/rYc2/62HNv+thzb/rYc2/62HNv+thzb/rYc2/62HNv+thzb/rYc2/62HNv+thzb/rYc2/62H + Nv+thzb/rYc2/62HNv+thzb/rYc2/62HNv+thzb/rYc2/62HNv+thzb/rYc2vwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/rYg2/62INv+tiDb/rYg2/62INv+tiDb/rYg2/62I + Nv+tiDb/rYg2/62INv+tiDb/rYg2/62INv+tiDb/rYg2/62INv+tiDb/rYg2/62INv+tiDb/rYg2/62I + Nv+tiDb/rYg2/62INv+tiDb/rYg2/62INv+tiDb/rYg2/62INv+tiDb/rYg2/62INv+tiDb/rYg2/62I + Nv+tiDb/rYg2/62INv+tiDb/rYg2/62INv+tiDb/rYg2/62INv+tiDb/rYg2/62INr8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/66IN/+uiDf/rog3/66IN/+uiDf/rog3/66I + N/+uiDf/rog3/66IN/+uiDf/rog3/66IN/+uiDf/rog3/66IN/+uiDf/rog3/66IN/+uiDf/rog3/66I + N/+uiDf/rog3/66IN/+uiDf/rog3/66IN/+uiDf/rog3/66IN/+uiDf/rog3/66IN/+uiDf/rog3/66I + N/+uiDf/rog3/66IN/+uiDf/rog3/66IN/+uiDf/rog3/66IN/+uiDf/rog3/66IN/+uiDe/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAd1o//HdaP/x3Wj/8d1o//HdaP/x3W + j/8d1o//HdaP/x3Wj/8d1o//HdaP/x3Wj/8d1o//HdaP/x3Wj/8d1o//HdaP/x3Wj/8d1o//HdaP/x3W + j/8d1o//HdaP/x3Wj/8d1o//HdaP/x3Wj/8d1o//HdaP/x3Wj/8d1o//HdaP/x3Wj/8d1o//HdaP/x3W + j/8d1o//HdaP/x3Wj/8d1o//HdaP/x3Wj/8d1o//HdaP/x3Wj/8d1o//HdaP/x3Wj/8d1o//HdaP/x3W + j/8d1o//HdaP/x3Wj/8d1o//HdaP/x3Wj/8d1o//HdaP/x3Wj/8d1o//HdaP/x3Wj/8d1o//HdaP/x3W + j/8d1o//HdaP/x3Wj/8d1o//HdaP/x3Wj/8d1o//HdaP/x3Wj/8d1o//HdaP/x3Wj/8d1o//HdaP/x3W + j/8d1o//HdaP/x3Wj/8d1o//HdaP/x3Wj/8d1o//HdaP/x3Wj/8d1o//HdaP/x3Wj/8d1o//HdaP/x3W + j/8d1o//HdaP/x3Wj/8d1o//HdaP/x3Wj/8d1o//HdaP/x3Wj/8d1o//HdaP/x3Wj/8d1o//HdaP/x3W + j/8d1o//HdaP/x3Wj/8d1o//HdaP/x3Wj/8d1o//HdaP/x3Wj/8d1o//HdaP/x3Wj/8d1o//HdaP/x3W + j/8d1o//HdaP/x3Wj/8d1o//HdaP/x3Wj/8d1o//HdaP/x3Wj/+viTf/r4k3/6+JN/+viTf/r4k3/6+J + N/+viTf/r4k3/6+JN/+viTf/r4k3/6+JN/+viTf/r4k3/6+JN/+viTf/r4k3/6+JN/+viTf/r4k3/6+J + N/+viTf/r4k3/6+JN/+viTf/r4k3/6+JN/+viTf/r4k3/6+JN/+viTf/r4k3/6+JN/+viTf/r4k3/6+J + N/+viTf/r4k3/6+JN/+viTf/r4k3/6+JN/+viTf/r4k3/6+JN/+viTf/r4k3/6+JN/+viTf/r4k3vwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//r4k4/6+JOP+viTj/r4k4/6+J + OP+viTj/r4k4/6+JOP+viTj/r4k4/6+JOP+viTj/r4k4/6+JOP+viTj/r4k4/6+JOP+viTj/r4k4/6+J + OP+viTj/r4k4/6+JOP+viTj/r4k4/6+JOP+viTj/r4k4/6+JOP+viTj/r4k4/6+JOP+viTj/r4k4/6+J + OP+viTj/r4k4/6+JOP+viTj/r4k4/6+JOP+viTj/r4k4/6+JOP+viTj/r4k4/6+JOP+viTj/r4k4/6+J + OL8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/7CKOP+wijj/sIo4/7CK + OP+wijj/sIo4/7CKOP+wijj/sIo4/7CKOP+wijj/sIo4/7CKOP+wijj/sIo4/7CKOP+wijj/sIo4/7CK + OP+wijj/sIo4/7CKOP+wijj/sIo4/7CKOP+wijj/sIo4/7CKOP+wijj/sIo4/7CKOP+wijj/sIo4/7CK + OP+wijj/sIo4/7CKOP+wijj/sIo4/7CKOP+wijj/sIo4/7CKOP+wijj/sIo4/7CKOP+wijj/sIo4/7CK + OP+wiji/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAd14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/+xijn/sYo5/7GK + Of+xijn/sYo5/7GKOf+xijn/sYo5/7GKOf+xijn/sYo5/7GKOf+xijn/sYo5/7GKOf+xijn/sYo5/7GK + Of+xijn/sYo5/7GKOf+xijn/sYo5/7GKOf+xijn/sYo5/7GKOf+xijn/sYo5/7GKOf+xijn/sYo5/7GK + Of+xijn/sYo5/7GKOf+xijn/sYo5/7GKOf+xijn/sYo5/7GKOf+xijn/sYo5/7GKOf+xijn/sYo5/7GK + Of+xijn/sYo5vwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHNeQ/xzX + kP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzX + kP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzX + kP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzX + kP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzX + kP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzX + kP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzX + kP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzX + kP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzX + kP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzXkP8c15D/sYs6/7GL + Ov+xizr/sYs6/7GLOv+xizr/sYs6/7GLOv+xizr/sYs6/7GLOv+xizr/sYs6/7GLOv+xizr/sYs6/7GL + Ov+xizr/sYs6/7GLOv+xizr/sYs6/7GLOv+xizr/sYs6/7GLOv+xizr/sYs6/7GLOv+xizr/sYs6/7GL + Ov+xizr/sYs6/7GLOv+xizr/sYs6/7GLOv+xizr/sYs6/7GLOv+xizr/sYs6/7GLOv+xizr/sYs6/7GL + Ov+xizr/sYs6/7GLOr8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABzY + kP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzY + kP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzY + kP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzY + kP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzY + kP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzY + kP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzY + kP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzY + kP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzY + kP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/7KL + Ov+yizr/sos6/7KLOv+yizr/sos6/7KLOv+yizr/sos6/7KLOv+yizr/sos6/7KLOv+yizr/sos6/7KL + Ov+yizr/sos6/7KLOv+yizr/sos6/7KLOv+yizr/sos6/7KLOv+yizr/sos6/7KLOv+yizr/sos6/7KL + Ov+yizr/sos6/7KLOv+yizr/sos6/7KLOv+yizr/sos6/7KLOv+yizr/sos6/7KLOv+yizr/sos6/7KL + Ov+yizr/sos6/7KLOv+yizq/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAc2JD/HNiQ/x/Zk/8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzY + kP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzY + kP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzY + kP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzY + kP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzY + kP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzY + kP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzY + kP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzY + kP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8f2ZP/HNiQ/xzY + kP+yjDv/sow7/7KMO/+yjDv/sow7/7KMO/+yjDv/sow7/7KMO/+yjDv/sow7/7KMO/+yjDv/sow7/7KM + O/+yjDv/sow7/7KMO/+yjDv/sow7/7KMO/+yjDv/sow7/7KMO/+yjDv/sow7/7KMO/+yjDv/sow7/7KM + O/+yjDv/sow7/7KMO/+yjDv/sow7/7KMO/+yjDv/sow7/7KMO/+yjDv/sow7/7KMO/+yjDv/sow7/7KM + O/+yjDv/sow7/7KMO/+yjDv/sow7vwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAHNiR/xzYkf8p3Zz/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzY + kf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzY + kf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzY + kf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzY + kf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzY + kf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzY + kf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzY + kf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzY + kf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/Kd2c/xzY + kf8c2JH/s4w7/7OMO/+zjDv/s4w7/7OMO/+zjDv/s4w7/7OMO/+zjDv/s4w7/7OMO/+zjDv/s4w7/7OM + O/+zjDv/s4w7/7OMO/+zjDv/s4w7/7OMO/+zjDv/s4w7/7OMO/+zjDv/s4w7/7OMO/+zjDv/s4w7/7OM + O/+zjDv/s4w7/7OMO/+zjDv/s4w7/7OMO/+zjDv/s4w7/7OMO/+zjDv/s4w7/7OMO/+zjDv/s4w7/7OM + O/+zjDv/s4w7/7OMO/+zjDv/s4w7/7OMO78AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAABzYkf8c2JH/Ld6g/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzY + kf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzY + kf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzY + kf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzY + kf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzY + kf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzY + kf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzY + kf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzY + kf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/zDf + o/8c2JH/HNiR/7ONPP+zjTz/s408/7ONPP+zjTz/s408/7ONPP+zjTz/s408/7ONPP+zjTz/s408/7ON + PP+zjTz/s408/7ONPP+zjTz/s408/7ONPP+zjTz/s408/7ONPP+zjTz/s408/7ONPP+zjTz/s408/7ON + PP+zjTz/s408/7ONPP+zjTz/s408/7ONPP+zjTz/s408/7ONPP+zjTz/s408/7ONPP+zjTz/s408/7ON + PP+zjTz/s408/7ONPP+zjTz/s408/7ONPP+zjTy/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAc2ZH/HNmR/zfiqf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZ + kf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZ + kf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZ + kf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZ + kf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZ + kf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZ + kf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZ + kf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZ + kf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZ + kf834qn/HNmR/xzZkf+0jTz/tI08/7SNPP+0jTz/tI08/7SNPP+0jTz/tI08/7SNPP+0jTz/tI08/7SN + PP+0jTz/tI08/7SNPP+0jTz/tI08/7SNPP+0jTz/tI08/7SNPP+0jTz/tI08/7SNPP+0jTz/tI08/7SN + PP+0jTz/tI08/7SNPP+0jTz/tI08/7SNPP+0jTz/tI08/7SNPP+0jTz/tI08/7SNPP+0jTz/tI08/7SN + PP+0jTz/tI08/7SNPP+0jTz/tI08/7SNPP+0jTz/tI08vwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAHNmR/xzZkf9A5bH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZ + kf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZ + kf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZ + kf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZ + kf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZ + kf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZ + kf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZ + kf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZ + kf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZ + kf8c2ZH/QOWx/xzZkf8l1Iz/tY49/7WOPf+1jj3/tY49/7WOPf+1jj3/tY49/7WOPf+1jj3/tY49/7WO + Pf+1jj3/tY49/7WOPf+1jj3/tY49/7WOPf+1jj3/tY49/7WOPf+1jj3/tY49/7WOPf+1jj3/tY49/7WO + Pf+1jj3/tY49/7WOPf+1jj3/tY49/7WOPf+1jj3/tY49/7WOPf+1jj3/tY49/7WOPf+1jj3/tY49/7WO + Pf+1jj3/tY49/7WOPf+1jj3/tY49/7WOPf+1jj3/tY49/7WOPb8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAABvZkc8b2ZL/P+Wy/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/HtqU/0Pntf8b2ZL/Qsd9/7WOPv+1jj7/tY4+/7WOPv+1jj7/tY4+/7WOPv+1jj7/tY4+/7WO + Pv+1jj7/tY4+/7WOPv+1jj7/tY4+/7WOPv+1jj7/tY4+/7WOPv+1jj7/tY4+/7WOPv+1jj7/tY4+/7WO + Pv+1jj7/tY4+/7WOPv+1jj7/tY4+/7WOPv+1jj7/tY4+/7WOPv+1jj7/tY4+/7WOPv+1jj7/tY4+/7WO + Pv+1jj7/tY4+/7WOPv+1jj7/tY4+/7WOPv+1jj7/tY4+/7WOPv+1jj6/AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAb2ZKvG9mS/zzkr/8v4KT/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/y/gpP8546z/G9mS/1W9c/+2jz7/to8+/7aPPv+2jz7/to8+/7aPPv+2jz7/to8+/7aP + Pv+2jz7/to8+/7aPPv+2jz7/to8+/7aPPv+2jz7/to8+/7aPPv+2jz7/to8+/7aPPv+2jz7/to8+/7aP + Pv+2jz7/to8+/7aPPv+2jz7/to8+/7aPPv+2jz7/to8+/7aPPv+2jz7/to8+/7aPPv+2jz7/to8+/7aP + Pv+2jz7/to8+/7aPPv+2jz7/to8+/7aPPv+2jz7/to8+/7aPPv+2jz7/to8+vwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG9mScBvZkv8v4KT/Q+e1/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv9D57X/LN+h/xvZkv98ql7/t48//7ePP/+3jz//t48//7ePP/+3jz//t48//7eP + P/+3jz//t48//7ePP/+3jz//t48//7ePP/+3jz//t48//7ePP/+3jz//t48//7ePP/+3jz//t48//7eP + P/+3jz//t48//7ePP/+3jz//t48//7ePP/+3jz//t48//7ePP/+3jz//t48//7ePP/+3jz//t48//7eP + P/+3jz//t48//7ePP/+3jz//t48//7ePP/+3jz//t48//7ePP/+3jz//t48//7ePP78AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABvZkiAb2ZL/HtqV/03qvv8o3p7/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8s36H/Teq+/xvZkv8b2ZL/pJlJ/7eQP/+3kD//t5A//7eQP/+3kD//t5A//7eQ + P/+3kD//t5A//7eQP/+3kD//t5A//7eQP/+3kD//t5A//7eQP/+3kD//t5A//7eQP/+3kD//t5A//7eQ + P/+3kD//t5A//7eQP/+3kD//t5A//7eQP/+3kD//t5A//7eQP/+3kD//t5A//7eQP/+3kD//t5A//7eQ + P/+3kD//t5A//7eQP/+3kD//t5A//7eQP/+3kD//t5A//7eQP/+3kD//t5A//7eQP/+3kD+/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG9qSvxvakv885a//Seq7/x7b + lf8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xva + kv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xva + kv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xva + kv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xva + kv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xva + kv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xva + kv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xva + kv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xva + kv8b2pL/G9qS/xvakv8e25X/Seq7/zzlr/8b2pL/TMJ4/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iR + QP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iR + QP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iR + QP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFAvwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABvakmAb2pP/ItyY/1Ds + wf885a//G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/POWv/03rvv8i3Jj/G9qT/5GjVf+4kUD/uJFA/7iRQP+4kUD/uJFA/7iR + QP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iR + QP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iR + QP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iR + QL8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG9qT3xva + k/8246r/UOzB/y/hpP8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/MuKn/1Dswf8246r/G9qT/0PIf/+5kkH/uZJB/7mSQf+5kkH/uZJB/7mS + Qf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mS + Qf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mS + Qf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mS + Qf+5kkG/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABva + k0Ab2pP/G9qT/0bpuP9Q7MH/L+Gk/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/MuKn/1Dswf9G6bj/G9qT/xvak/+SpFb/uZJB/7mSQf+5kkH/uZJB/7mS + Qf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mS + Qf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mS + Qf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mS + Qf+5kkH/uZJBvwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAG9qTjxvak/8h3Jn/TOu+/1Dswf885bD/HtuW/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8e25b/POWw/1Dswf9M677/HtuW/xvak/9qtmv/upNC/7qTQv+6k0L/upNC/7qT + Qv+6k0L/upNC/7qTQv+6k0L/upNC/7qTQv+6k0L/upNC/7qTQv+6k0L/upNC/7qTQv+6k0L/upNC/7qT + Qv+6k0L/upNC/7qTQv+6k0L/upNC/7qTQv+6k0L/upNC/7qTQv+6k0L/upNC/7qTQv+6k0L/upNC/7qT + Qv+6k0L/upNC/7qTQv+6k0L/upNC/7qTQv+6k0L/upNC/7qTQv+6k0L/upNC/7qTQv+6k0L/upNC/7qT + Qv+6k0L/upNC/7qTQr8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAa2pPPGtqT/yTdnP9L677/TuzB/0jqu/8n35//GtqT/xrak/8a2pP/GtqT/xra + k/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xra + k/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xra + k/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xra + k/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xra + k/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xra + k/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xra + k/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xra + k/8a2pP/GtqT/xrak/8q4KH/SOq7/07swf9L677/JN2c/xrak/9CyX//u5ND/7uTQ/+7k0P/u5ND/7uT + Q/+7k0P/u5ND/7uTQ/+7k0P/u5ND/7uTQ/+7k0P/u5ND/7uTQ/+7k0P/u5ND/7uTQ/+7k0P/u5ND/7uT + Q/+7k0P/u5ND/7uTQ/+7k0P/u5ND/7uTQ/+7k0P/u5ND/7uTQ/+7k0P/u5ND/7uTQ/+7k0P/u5ND/7uT + Q/+7k0P/u5ND/7uTQ/+7k0P/u5ND/7uTQ/+7k0P/u5ND/7uTQ/+7k0P/u5ND/7uTQ/+7k0P/u5ND/7uT + Q/+7k0P/u5ND/7uTQ/+7k0O/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAGtqTEBrak88a2pP/IdyZ/0TpuP9O7MH/TuzB/0Hotv8u4aT/HduW/xra + k/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xra + k/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xra + k/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xra + k/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xra + k/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xra + k/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xra + k/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xra + k/8a2pP/HduW/y7hpP9E6bj/TuzB/07swf9E6bj/HduW/xrak/84zYT/sZhI/7uUQ/+7lEP/u5RD/7uU + Q/+7lEP/u5RD/7uUQ/+7lEP/u5RD/7uUQ/+7lEP/u5RD/7uUQ/+7lEP/u5RD/7uUQ/+7lEP/u5RD/7uU + Q/+7lEP/u5RD/7uUQ/+7lEP/u5RD/7uUQ/+7lEP/u5RD/7uUQ/+7lEP/u5RD/7uUQ/+7lEP/u5RD/7uU + Q/+7lEP/u5RD/7uUQ/+7lEP/u5RD/7uUQ/+7lEP/u5RD/7uUQ/+7lEP/u5RD/7uUQ/+7lEP/u5RD/7uU + Q/+7lEP/u5RD/7uUQ/+7lEP/u5RDvwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa25MQGtuTzxrbk/8a25P/NOSq/07swf9O7MH/TuzB/07s + wf9B6Lb/NOSq/zHip/8n35//J9+f/yffn/8n35//J9+f/yffn/8n35//J9+f/yffn/8n35//J9+f/yff + n/8n35//J9+f/yffn/8n35//J9+f/yffn/8n35//J9+f/yffn/8n35//J9+f/yffn/8n35//J9+f/yff + n/8n35//J9+f/yffn/8n35//J9+f/yffn/8n35//J9+f/yffn/8n35//J9+f/yffn/8n35//J9+f/yff + n/8n35//J9+f/yffn/8n35//J9+f/yffn/8n35//J9+f/yffn/8n35//J9+f/yffn/8n35//J9+f/yff + n/8n35//J9+f/yffn/8n35//J9+f/yffn/8n35//J9+f/yffn/8n35//J9+f/yffn/8n35//J9+f/yff + n/8n35//J9+f/yffn/8n35//J9+f/yffn/8n35//J9+f/yffn/8n35//J9+f/yffn/8n35//J9+f/yff + n/8n35//J9+f/yffn/8n35//J9+f/yffn/8n35//J9+f/yffn/8n35//J9+f/yffn/8n35//J9+f/zHi + p/805Kr/Qei2/07swf9O7MH/TuzB/0vrvv805Kr/GtuT/xrbk/9Dyn//sphJ/7yURP+8lET/vJRE/7yU + RP+8lET/vJRE/7yURP+8lET/vJRE/7yURP+8lET/vJRE/7yURP+8lET/vJRE/7yURP+8lET/vJRE/7yU + RP+8lET/vJRE/7yURP+8lET/vJRE/7yURP+8lET/vJRE/7yURP+8lET/vJRE/7yURP+8lET/vJRE/7yU + RP+8lET/vJRE/7yURP+8lET/vJRE/7yURP+8lET/vJRE/7yURP+8lET/vJRE/7yURP+8lET/vJRE/7yU + RP+8lET/vJRE/7yURP+8lET/vJRE/7yURL8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa25SPGtuU/xrblP8h3Zr/N+Wu/0vr + v/9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07s + wv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07s + wv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07s + wv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07s + wv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07s + wv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07s + wv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07s + wv9O7ML/TuzC/07swv9O7ML/S+u//zflrv8h3Zr/GtuU/xrblP9ruGz/vZVE/72VRP+9lUT/vZVE/72V + RP+9lUT/vZVE/72VRP+9lUT/vZVE/72VRP+9lUT/vZVE/72VRP+9lUT/vZVE/72VRP+9lUT/vZVE/72V + RP+9lUT/vZVE/72VRP+9lUT/vZVE/72VRP+9lUT/vZVE/72VRP+9lUT/vZVE/72VRP+9lUT/vZVE/72V + RP+9lUT/vZVE/72VRP+9lUT/vZVE/72VRP+9lUT/vZVE/72VRP+9lUT/vZVE/72VRP+9lUT/vZVE/72V + RP+9lUT/vZVE/72VRP+9lUT/vZVE/72VRP+9lUS/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABrblEAa25S/GtuU/xrb + lP8a25T/KuCi/zflrv9B6Lf/SOq8/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07s + wv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07s + wv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07s + wv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07s + wv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07s + wv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07s + wv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07s + wv9O7ML/SOq8/0Hot/835a7/KuCi/xrblP8a25T/GtuU/0PKgP+eolT/vZVF/72VRf+9lUX/vZVF/72V + Rf+9lUX/vZVF/72VRf+9lUX/vZVF/72VRf+9lUX/vZVF/72VRf+9lUX/vZVF/72VRf+9lUX/vZVF/72V + Rf+9lUX/vZVF/72VRf+9lUX/vZVF/72VRf+9lUX/vZVF/72VRf+9lUX/vZVF/72VRf+9lUX/vZVF/72V + Rf+9lUX/vZVF/72VRf+9lUX/vZVF/72VRf+9lUX/vZVF/72VRf+9lUX/vZVF/72VRf+9lUX/vZVF/72V + Rf+9lUX/vZVF/72VRf+9lUX/vZVF/72VRf+9lUX/rpRQzwCH3UAAh91AAIfdQACH3UAAh91AAIfdQACH + 3UAAh91AAIfdQACH3UAAh91AAIfdQACH3UAAh91AAIfdQACH3UAAh91AAIfdQACH3UAAh91AAIfdQACH + 3UAAh91AAIfdQACH3UAAh91AAIfdQACH3UAAh91AAIfdQACH3UAAh91AAIfdQACH3UAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABrb + lFAa25SvGtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrb + lP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrb + lP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrb + lP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrb + lP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrb + lP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrb + lP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrb + lP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/TcV7/5WnWf++lkX/vpZF/76WRf++lkX/vpZF/76W + Rf++lkX/vpZF/76WRf++lkX/vpZF/76WRf++lkX/vpZF/76WRf++lkX/vpZF/76WRf++lkX/vpZF/76W + Rf++lkX/vpZF/76WRf++lkX/vpZF/76WRf++lkX/vpZF/76WRf++lkX/vpZF/76WRf++lkX/vpZF/76W + Rf++lkX/vpZF/76WRf++lkX/vpZF/76WRf++lkX/vpZF/76WRf++lkX/vpZF/76WRf++lkX/vpZF/76W + Rf++lkX/vpZF/76WRf++lkX/vpZF/76WRf++lkX/vpZF/46Sa/8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH + 3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH + 3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH + 3d8Ah92fAIfdQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAABrblBAa25RgGtuUjxrblL8a25TfGtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrb + lP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrb + lP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrb + lP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrb + lP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrb + lP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrb + lP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrb + lP8a25T/GtuU/xrblP8v04r/Q8qB/2K8cv+BsGP/tJpL/7+WRv+/lkb/v5ZG/7+WRv+/lkb/v5ZG/7+W + Rv+/lkb/v5ZG/7+WRv+/lkb/v5ZG/7+WRv+/lkb/v5ZG/7+WRv+/lkb/v5ZG/7+WRv+/lkb/v5ZG/7+W + Rv+/lkb/v5ZG/7+WRv+/lkb/v5ZG/7+WRv+/lkb/v5ZG/7+WRv+/lkb/v5ZG/7+WRv+/lkb/v5ZG/7+W + Rv+/lkb/v5ZG/7+WRv+/lkb/v5ZG/7+WRv+/lkb/v5ZG/7+WRv+/lkb/v5ZG/7+WRv+/lkb/v5ZG/7+W + Rv+/lkb/v5ZG/7+WRv+/lkb/v5ZG/7+WRv+/lkb/v5ZG/7+WRv+Pkmv/AIfd/wCH3f8Ah93/AIfd/wCH + 3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH + 3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH + 3f8Ah93/AIfd/wCH3f8Ah93fAIfdYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv5dGQL+XRv+/l0b/v5dG/7+X + Rv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+X + Rv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+X + Rv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+X + Rv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+X + Rv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+X + Rv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+X + Rv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+X + Rv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+X + Rv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/j5Ns/wCH3f8Ah93/AIfd/wCH + 3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH + 3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH + 3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93fAIfdQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMCXR0DAl0f/wJdH/8CX + R//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CX + R//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CX + R//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CX + R//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CX + R//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CX + R//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CX + R//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CX + R//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CX + R//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/4+TbP8Ah93/AIfd/wCH + 3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH + 3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH + 3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah92AAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAmEdAwJhH/8CY + R//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CY + R//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CY + R//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CY + R//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CY + R//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CY + R//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CY + R//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CY + R//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CY + R//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR/+QlGz/AIfd/wCH + 3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH + 3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH + 3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3Z8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwZhIQMGY + SP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GY + SP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GY + SP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GY + SP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GY + SP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GY + SP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GY + SP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GY + SP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GY + SP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/kJRt/wCI + 3v8AiN7/AIje/wCI3v8AiN7/AIje/wCI3v8AiN7/AIje/wCI3v8AiN7/AIje/wCI3v8AiN7/AIje/wCI + 3v8AiN7/AIje/wCI3v8AiN7/AIje/wCI3v8AiN7/AIje/wCI3v8AiN7/AIje/wCI3v8AiN7/AIje/wCI + 3v8AiN7/AIje/wCI3v8AiN7/AIje/wCI3v8AiN7/AIje/wCI3v8AiN7/AIje/wCI3v8AiN7/AIjenwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMGZ + SUDBmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZ + Sf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZ + Sf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZ + Sf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZ + Sf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZ + Sf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZ + Sf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZ + Sf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZ + Sf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/5GV + bv8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ + 3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ + 3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ + 3v8Aid6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADCmklAwppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8Ka + Sf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8Ka + Sf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8Ka + Sf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8Ka + Sf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8Ka + Sf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8Ka + Sf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8Ka + Sf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8Ka + Sf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8Ka + Sf+RlW7/AIne/wCJ3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ + 3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ + 3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ + 3v8Aid7/AIne/wCJ30AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAw5pKQMOaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8Oa + Sv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8Oa + Sv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8Oa + Sv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8Oa + Sv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8Oa + Sv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8Oa + Sv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8Oa + Sv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8Oa + Sv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8Oa + Sv/Dmkr/kpZv/wCK3/8Ait//AIrf/wCK3/8Ait//AIrf/wCK3/8Ait//AIrf/wCK3/8Ait//AIrf/wCK + 3/8Ait//AIrf/wCK3/8Ait//AIrf/wCK3/8Ait//AIrf/wCK3/8Ait//AIrf/wCK3/8Ait//AIrf/wCK + 3/8Ait//AIrf/wCK3/8Ait//AIrf/wCK3/8Ait//AIrf/wCK3/8Ait//AIrf/wCK3/8Ait//AIrf/wCK + 3/8Ait//AIrf/wCK3/8Ait/fAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAMObSkDDm0r/w5tK/8ObSv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8Ob + Sv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8Ob + Sv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8Ob + Sv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8Ob + Sv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8Ob + Sv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8Ob + Sv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8Ob + Sv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8Ob + Sv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8Ob + Sv/Dm0r/w5tK/5KXb/8Ai9//AIvf/wCL3/8Ai9//AIvf/wCL3/8Ai9//AIvf/wCL3/8Ai9//AIvf/wCL + 3/8Ai9//AIvf/wCL3/8Ai9//AIvf/wCL3/8Ai9//AIvf/wCL3/8Ai9//AIvf/wCL3/8Ai9//AIvf/wCL + 3/8Ai9//AIvf/wCL3/8Ai9//AIvf/wCL3/8Ai9//AIvf/wCL3/8Ai9//AIvf/wCL3/8Ai9//AIvf/wCL + 3/8Ai9//AIvf/wCL3/8Ai9//AIvf/wCL34AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADEm0tAxJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8Sb + S//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8Sb + S//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8Sb + S//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8Sb + S//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8Sb + S//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8Sb + S//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8Sb + S//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8Sb + S//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8Sb + S//Em0v/xJtL/8SbS/+Tl3D/AIvg/wCL4P8Ai+D/AIvg/wCL4P8Ai+D/AIvg/wCL4P8Ai+D/AIvg/wCL + 4P8Ai+D/AIvg/wCL4P8Ai+D/AIvg/wCL4P8Ai+D/AIvg/wCL4P8Ai+D/AIvg/wCL4P8Ai+D/AIvg/wCL + 4P8Ai+D/AIvg/wCL4P8Ai+D/AIvg/wCL4P8Ai+D/AIvg/wCL4P8Ai+D/AIvg/wCL4P8Ai+D/AIvg/wCL + 4P8Ai+D/AIvg/wCL4P8Ai+D/AIvg/wCL4P8Ai+DfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAxZxLQMWcS//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8Wc + S//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8Wc + S//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8Wc + S//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8Wc + S//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8Wc + S//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8Wc + S//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8Wc + S//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8Wc + S//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8Wc + S//FnEv/xZxL/8WcS//FnEv/k5hw/wCM4P8AjOD/AIzg/wCM4P8AjOD/AIzg/wCM4P8AjOD/AIzg/wCM + 4P8AjOD/AIzg/wCM4P8AjOD/AIzg/wCM4P8AjOD/AIzg/wCM4P8AjOD/AIzg/wCM4P8AjOD/AIzg/wCM + 4P8AjOD/AIzg/wCM4P8AjOD/AIzg/wCM4P8AjOD/AIzg/wCM4P8AjOD/AIzg/wCM4P8AjOD/AIzg/wCM + 4P8AjOD/AIzg/wCM4P8AjOD/AIzg/wCM4P8AjOD/AIzg/wCM4FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAMWcTEDFnEz/xZxM/8WcTP/FnEz/xZxM/8WcTP/FnEz/xZxM/8Wc + TP/FnEz/xZxM/8WcTP/FnEz/xZxM/8WcTP/FnEz/xZxM/8WcTP/FnEz/xZxM/8WcTP/FnEz/xZxM/8Wc + TP/FnEz/xZxM/8WcTP/FnEz/xZxM/8WcTP/FnEz/xZxM/8WcTP/FnEz/xZxM/8WcTP/FnEz/xZxM/8Wc + TP/FnEz/xZxM/8WcTP/FnEz/xZxM/8WcTP/FnEz/xZxM/8WcTP/FnEz/xZxM/8WcTP/FnEz/xZxM/8Wc + TP/FnEz/xZxM/8WcTP/FnEz/xZxM/8WcTP/FnEz/xZxM/8WcTP/FnEz/xZxM/8WcTP/FnEz/xZxM/8Wc + TP/FnEz/xZxM/8WcTP/FnEz/xZxM/8WcTP/FnEz/xZxM/8WcTP/FnEz/xZxM/8WcTP/FnEz/xZxM/8Wc + TP/FnEz/xZxM/8WcTP/FnEz/xZxM/8WcTP/FnEz/xZxM/8WcTP/FnEz/xZxM/8WcTP/FnEz/xZxM/8Wc + TP/FnEz/xZxM/8WcTP/FnEz/xZxM/8WcTP/FnEz/xZxM/8WcTP/FnEz/xZxM/8WcTP/FnEz/xZxM/8Wc + TP/FnEz/xZxM/8WcTP/FnEz/xZxM/8WcTP/FnEz/xZxM/8WcTP/FnEz/xZxM/8WcTP/FnEz/xZxM/8Wc + TP/FnEz/xZxM/8WcTP/FnEz/xZxM/5SYcf8AjeD/AI3g/wCN4P8AjeD/AI3g/wCN4P8AjeD/AI3g/wCN + 4P8AjeD/AI3g/wCN4P8AjeD/AI3g/wCN4P8AjeD/AI3g/wCN4P8AjeD/AI3g/wCN4P8AjeD/AI3g/wCN + 4P8AjeD/AI3g/wCN4P8AjeD/AI3g/wCN4P8AjeD/AI3g/wCN4P8AjeD/AI3g/wCN4P8AjeD/AI3g/wCN + 4P8AjeD/AI3g/wCN4P8AjeD/AI3g/wCN4P8AjeD/AI3g/wCN4P8AjeCfAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADHnU1Ax51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8ed + Tf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8ed + Tf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8ed + Tf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8ed + Tf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8ed + Tf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8ed + Tf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8ed + Tf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8ed + Tf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8ed + Tf/HnU3/x51N/8edTf/HnU3/x51N/8edTf+UmXH/AI3h/wCN4f8AjeH/AI3h/wCN4f8AjeH/AI3h/wCN + 4f8AjeH/AI3h/wCN4f8AjeH/AI3h/wCN4f8AjeH/AI3h/wCN4f8AjeH/AI3h/wCN4f8AjeH/AI3h/wCN + 4f8AjeH/AI3h/wCN4f8AjeH/AI3h/wCN4f8AjeH/AI3h/wCN4f8AjeH/AI3h/wCN4f8AjeH/AI3h/wCN + 4f8AjeH/AI3h/wCN4f8AjeH/AI3h/wCN4f8AjeH/AI3h/wCN4f8AjeH/AI3h7wAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAx51NQMedTf/HnU3/x51N/8edTf/HnU3/x51N/8ed + Tf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8ed + Tf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8ed + Tf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8ed + Tf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8ed + Tf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8ed + Tf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8ed + Tf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8ed + Tf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8ed + Tf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/lJly/wCO4f8AjuH/AI7h/wCO4f8AjuH/AI7h/wCO + 4f8AjuH/AI7h/wCO4f8AjuH/AI7h/wCO4f8AjuH/AI7h/wCO4f8AjuH/AI7h/wCO4f8AjuH/AI7h/wCO + 4f8AjuH/AI7h/wCO4f8AjuH/AI7h/wCO4f8AjuH/AI7h/wCO4f8AjuH/AI7h/wCO4f8AjuH/AI7h/wCO + 4f8AjuH/AI7h/wCO4f8AjuH/AI7h/wCO4f8AjuH/AI7h/wCO4f8AjuH/AI7h/wCO4f8AjuEgAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMieTkDInk7/yJ5O/8ieTv/Ink7/yJ5O/8ie + Tv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ie + Tv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ie + Tv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ie + Tv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ie + Tv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ie + Tv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ie + Tv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ie + Tv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ie + Tv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/5Wacv8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP + 4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP + 4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP + 4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP4v8Aj+L/AI/iQAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADJnk5AyZ5O/8meTv/Jnk7/yZ5O/8me + Tv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8me + Tv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8me + Tv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8me + Tv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8me + Tv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8me + Tv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8me + Tv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8me + Tv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8me + Tv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv+VmnP/AI/i/wCP4v8Aj+L/AI/i/wCP + 4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP + 4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP + 4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP + 4mAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyZ9PQMmfT//Jn0//yZ9P/8mf + T//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mf + T//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mf + T//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mf + T//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mf + T//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mf + T//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mf + T//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mf + T//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mf + T//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mfT//Jn0//lpt0/wCQ4v8AkOL/AJDi/wCQ + 4v8AkOL/AJDi/wCQ4v8AkOL/AJDi/wCQ4v8AkOL/AJDi/wCQ4v8AkOL/AJDi/wCQ4v8AkOL/AJDi/wCQ + 4v8AkOL/AJDi/wCQ4v8AkOL/AJDi/wCQ4v8AkOL/AJDi/wCQ4v8AkOL/AJDi/wCQ4v8AkOL/AJDi/wCQ + 4v8AkOL/AJDi/wCQ4v8AkOL/AJDi/wCQ4v8AkOL/AJDi/wCQ4v8AkOL/AJDi/wCQ4v8AkOL/AJDi/wCQ + 4v8AkOKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMqfT0DKn0//yp9P/8qf + T//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qf + T//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qf + T//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qf + T//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qf + T//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qf + T//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qf + T//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qf + T//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qf + T//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/5abdP8AkeP/AJHj/wCR + 4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR + 4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR + 4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR + 4/8AkeP/AJHjgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADKoFBAyqBQ/8qg + UP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qg + UP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qg + UP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qg + UP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qg + UP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qg + UP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qg + UP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qg + UP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qg + UP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP+XnHX/AJHj/wCR + 4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR + 4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR + 4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR + 4/8AkeP/AJHj/wCR44AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAy6BQQMug + UP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ug + UP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ug + UP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ug + UP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ug + UP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ug + UP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ug + UP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ug + UP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ug + UP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/l5x1/wCS + 5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS + 5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS + 5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS + 5P8AkuT/AJLk/wCS5P8AkuSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMuh + UUDLoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uh + Uf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uh + Uf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uh + Uf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uh + Uf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uh + Uf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uh + Uf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uh + Uf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uh + Uf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/5ed + dv8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS + 5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS + 5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS + 5P8AkuT/AJLk/wCS5P8AkuT/AJLkgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADMoVJAzKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yh + Uv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yh + Uv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yh + Uv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yh + Uv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yh + Uv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yh + Uv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yh + Uv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yh + Uv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yh + Uv+Ynnb/AJPk/wCT5P8Ak+T/AJPk/wCT5P8Ak+T/AJPk/wCT5P8Ak+T/AJPk/wCT5P8Ak+T/AJPk/wCT + 5P8Ak+T/AJPk/wCT5P8Ak+T/AJPk/wCT5P8Ak+T/AJPk/wCT5P8Ak+T/AJPk/wCT5P8Ak+T/AJPk/wCT + 5P8Ak+T/AJPk/wCT5P8Ak+T/AJPk/wCT5P8Ak+T/AJPk/wCT5P8Ak+T/AJPk/wCT5P8Ak+T/AJPk/wCT + 5P8Ak+T/AJPk/wCT5P8Ak+T/AJPk/wCT5IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAzaJSQM2iUv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82i + Uv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82i + Uv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82i + Uv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82i + Uv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82i + Uv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82i + Uv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82i + Uv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82i + Uv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82i + Uv/NolL/mZ53/wCU5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU + 5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU + 5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU + 5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU5f8AlOWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAM2iU0DNolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82i + U//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82i + U//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82i + U//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82i + U//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82i + U//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82i + U//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82i + U//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82i + U//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82i + U//NolP/zaJT/5mfd/8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU + 5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU + 5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU + 5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU5f8AlOX/AJTlgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADOo1NAzqNT/86jU//Oo1P/zqNT/86jU//Oo1P/zqNT/86jU//Oo1P/zqNT/86j + U//Oo1P/zqNT/86jU//Oo1P/zqNT/86jU//Oo1P/zqNT/86jU//Oo1P/zqNT/86jU//Oo1P/zqNT/86j + U//Oo1P/zqNT/86jU//Oo1P/zqNT/86jU//Oo1P/zqNT/86jU//Oo1P/zqNT/86jU//Oo1P/zqNT/86j + U//Oo1P/zqNT/86jU//Oo1P/zqNT/86jU//Oo1P/zqNT/86jU//Oo1P/zqNT/86jU//Oo1P/zqNT/86j + U//Oo1P/zqNT/86jU//Oo1P/zqNT/86jU//Oo1P/zqNT/86jU//Oo1P/zqNT/86jU//Oo1P/zqNT/86j + U//Oo1P/zqNT/86jU//Oo1P/zqNT/86jU//Oo1P/zqNT/86jU//Oo1P/zqNT/86jU//Oo1P/zqNT/86j + U//Oo1P/zqNT/86jU//Oo1P/zqNT/86jU//Oo1P/zqNT/86jU//Oo1P/zqNT/86jU//Oo1P/zqNT/86j + U//Oo1P/zqNT/86jU//Oo1P/zqNT/86jU//Oo1P/zqNT/86jU//Oo1P/zqNT/86jU//Oo1P/zqNT/86j + U//Oo1P/zqNT/86jU//Oo1P/zqNT/86jU//Oo1P/zqNT/86jU//Oo1P/zqNT/86jU//Oo1P/zqNT/86j + U//Oo1P/zqNT/86jU/+aoHj/AJXm/wCV5v8Aleb/AJXm/wCV5v8Aleb/AJXm/wCV5v8Aleb/AJXm/wCV + 5v8Aleb/AJXm/wCV5v8Aleb/AJXm/wCV5v8Aleb/AJXm/wCV5v8Aleb/AJXm/wCV5v8Aleb/AJXm/wCV + 5v8Aleb/AJXm/wCV5v8Aleb/AJXm/wCV5v8Aleb/AJXm/wCV5v8Aleb/AJXm/wCV5v8Aleb/AJXm/wCV + 5v8Aleb/AJXm/wCV5v8Aleb/AJXm/wCV5v8Aleb/AJXm/wCV5oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAz6NUQM+jVP/Qplj/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+j + VP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+j + VP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+j + VP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+j + VP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+j + VP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+j + VP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+j + VP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+j + VP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+j + VP/Po1T/z6NU/9CmWP/Po1T/mqB4/wCW5v8Alub/AJbm/wCW5v8Alub/AJbm/wCW5v8Alub/AJbm/wCW + 5v8Alub/AJbm/wCW5v8Alub/AJbm/wCW5v8Alub/AJbm/wCW5v8Alub/AJbm/wCW5v8Alub/AJbm/wCW + 5v8Alub/AJbm/wCW5v8Alub/AJbm/wCW5v8Alub/AJbm/wCW5v8Alub/AJbm/wCW5v8Alub/AJbm/wCW + 5v8Alub/AJbm/wCW5v8Alub/AJbm/wCW5v8Alub/AJbm/wCW5v8AluaAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAM+kVEDPpFT/1a5k/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+k + VP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+k + VP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+k + VP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+k + VP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+k + VP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+k + VP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+k + VP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+k + VP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+k + VP/PpFT/z6RU/8+kVP/VrmT/z6RU/5qheP8Aluf/AJbn/wCW5/8Aluf/AJbn/wCW5/8Aluf/AJbn/wCW + 5/8Aluf/AJbn/wCW5/8Aluf/AJbn/wCW5/8Aluf/AJbn/wCW5/8Aluf/AJbn/wCW5/8Aluf/AJbn/wCW + 5/8Aluf/AJbn/wCW5/8Aluf/AJbn/wCW5/8Aluf/AJbn/wCW5/8Aluf/AJbn/wCW5/8Aluf/AJbn/wCW + 5/8Aluf/AJbn/wCW5/8Aluf/AJbn/wCW5/8Aluf/AJbn/wCW5/8Aluf/AJbngAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQpVVA0KVV/9avZf/QpVX/0KVV/9ClVf/QpVX/0KVV/9Cl + Vf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9Cl + Vf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9Cl + Vf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9Cl + Vf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9Cl + Vf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9Cl + Vf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9Cl + Vf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9Cl + Vf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9Cl + Vf/QpVX/0KVV/9ClVf/QpVX/2rZw/9ClVf+boXn/AJfn/wCX5/8Al+f/AJfn/wCX5/8Al+f/AJfn/wCX + 5/8Al+f/AJfn/wCX5/8Al+f/AJfn/wCX5/8Al+f/AJfn/wCX5/8Al+f/AJfn/wCX5/8Al+f/AJfn/wCX + 5/8Al+f/AJfn/wCX5/8Al+f/AJfn/wCX5/8Al+f/AJfn/wCX5/8Al+f/AJfn/wCX5/8Al+f/AJfn/wCX + 5/8Al+f/AJfn/wCX5/8Al+f/AJfn/wCX5/8Al+f/AJfn/wCX5/8Al+f/AJfn/wCX54AAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0KVVQNClVf/Wr2X/1K1h/9ClVf/QpVX/0KVV/9Cl + Vf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9Cl + Vf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9Cl + Vf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9Cl + Vf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9Cl + Vf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9Cl + Vf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9Cl + Vf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9Cl + Vf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9Cl + Vf/QpVX/0KVV/9ClVf/QpVX/0KVV/9u5dP/QpVX/m6J5/wCY5/8AmOf/AJjn/wCY5/8AmOf/AJjn/wCY + 5/8AmOf/AJjn/wCY5/8AmOf/AJjn/wCY5/8AmOf/AJjn/wCY5/8AmOf/AJjn/wCY5/8AmOf/AJjn/wCY + 5/8AmOf/AJjn/wCY5/8AmOf/AJjn/wCY5/8AmOf/AJjn/wCY5/8AmOf/AJjn/wCY5/8AmOf/AJjn/wCY + 5/8AmOf/AJjn/wCY5/8AmOf/AJjn/wCY5/8AmOf/AJjn/wCY5/8AmOf/AJjn/wCY5/8AmOeAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGmVkDRplb/169m/9m0bf/Rplb/0aZW/9Gm + Vv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9Gm + Vv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9Gm + Vv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9Gm + Vv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9Gm + Vv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9Gm + Vv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9Gm + Vv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9Gm + Vv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9Gm + Vv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/fvn3/0aZW/4+hg/8AmOj/AJjo/wCY6P8AmOj/AJjo/wCY + 6P8AmOj/AJjo/wCY6P8AmOj/AJjo/wCY6P8AmOj/AJjo/wCY6P8AmOj/AJjo/wCY6P8AmOj/AJjo/wCY + 6P8AmOj/AJjo/wCY6P8AmOj/AJjo/wCY6P8AmOj/AJjo/wCY6P8AmOj/AJjo/wCY6P8AmOj/AJjo/wCY + 6P8AmOj/AJjo/wCY6P8AmOj/AJjo/wCY6P8AmOj/AJjo/wCY6P8AmOj/AJjo/wCY6P8AmOj/AJjogAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADRplYg0aZW/9SrXv/fvn3/0aZW/9Gm + Vv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9Gm + Vv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9Gm + Vv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9Gm + Vv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9Gm + Vv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9Gm + Vv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9Gm + Vv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9Gm + Vv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9Gm + Vv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/XsGb/3Lp1/9GmVv9ooJ//AJno/wCZ6P8Amej/AJno/wCZ + 6P8Amej/AJno/wCZ6P8Amej/AJno/wCZ6P8Amej/AJno/wCZ6P8Amej/AJno/wCZ6P8Amej/AJno/wCZ + 6P8Amej/AJno/wCZ6P8Amej/AJno/wCZ6P8Amej/AJno/wCZ6P8Amej/AJno/wCZ6P8Amej/AJno/wCZ + 6P8Amej/AJno/wCZ6P8Amej/AJno/wCZ6P8Amej/AJno/wCZ6P8Amej/AJno/wCZ6P8Amej/AJno/wCZ + 6IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANKnV//Sp1f/5MqN/9Op + W//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9Kn + V//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9Kn + V//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9Kn + V//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9Kn + V//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9Kn + V//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9Kn + V//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9Kn + V//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9Kn + V//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/379+/9mzav/Sp1f/Tp6x/wCa6f8Amun/AJrp/wCa + 6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa + 6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa + 6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa + 6f8AmumAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADTp1e/06dX/+HC + gv/btm//06dX/9OnV//Tp1f/06dX/9OnV//Tp1f/06dX/9OnV//Tp1f/06dX/9OnV//Tp1f/06dX/9On + V//Tp1f/06dX/9OnV//Tp1f/06dX/9OnV//Tp1f/06dX/9OnV//Tp1f/06dX/9OnV//Tp1f/06dX/9On + V//Tp1f/06dX/9OnV//Tp1f/06dX/9OnV//Tp1f/06dX/9OnV//Tp1f/06dX/9OnV//Tp1f/06dX/9On + V//Tp1f/06dX/9OnV//Tp1f/06dX/9OnV//Tp1f/06dX/9OnV//Tp1f/06dX/9OnV//Tp1f/06dX/9On + V//Tp1f/06dX/9OnV//Tp1f/06dX/9OnV//Tp1f/06dX/9OnV//Tp1f/06dX/9OnV//Tp1f/06dX/9On + V//Tp1f/06dX/9OnV//Tp1f/06dX/9OnV//Tp1f/06dX/9OnV//Tp1f/06dX/9OnV//Tp1f/06dX/9On + V//Tp1f/06dX/9OnV//Tp1f/06dX/9OnV//Tp1f/06dX/9OnV//Tp1f/06dX/9OnV//Tp1f/06dX/9On + V//Tp1f/06dX/9OnV//Tp1f/06dX/9OnV//Tp1f/06dX/9OnV//Tp1f/06dX/9OnV//Tp1f/06dX/9On + V//Tp1f/06dX/9OnV//Tp1f/06dX/9OnV//Tp1f/1Klb/+bNkf/UqVv/06dX/xmc1/8Amun/AJrp/wCa + 6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa + 6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa + 6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa + 6f8Amun/AJrpgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA06dYcNOo + WP/btm//5suO/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9Oo + WP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9Oo + WP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9Oo + WP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9Oo + WP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9Oo + WP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9Oo + WP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9Oo + WP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9Oo + WP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/967d//jxYf/06hY/7imav8Am+n/AJvp/wCb + 6f8Am+n/AJvp/wCb6f8Am+n/AJvp/wCb6f8Am+n/AJvp/wCb6f8Am+n/AJvp/wCb6f8Am+n/AJvp/wCb + 6f8Am+n/AJvp/wCb6f8Am+n/AJvp/wCb6f8Am+n/AJvp/wCb6f8Am+n/AJvp/wCb6f8Am+n/AJvp/wCb + 6f8Am+n/AJvp/wCb6f8Am+n/AJvp/wCb6f8Am+n/AJvp/wCb6f8Am+n/AJvp/wCb6f8Am+n/AJvp/wCb + 6f8Am+n/AJvp/wCb6YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANSo + WSDUqFn/1KhZ/+jOkv/fvHf/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9So + Wf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9So + Wf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9So + Wf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9So + Wf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9So + Wf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9So + Wf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9So + Wf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9So + Wf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9etYP/ozpL/3Ldw/9SoWf9poqH/AJzq/wCc + 6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc + 6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc + 6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc + 6v8AnOr/AJzq/wCc6v8AnOqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA1KhZr9WpWf/fvHj/6dCW/9iwZP/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9Wp + Wf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9Wp + Wf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9Wp + Wf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9Wp + Wf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9Wp + Wf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9Wp + Wf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9Wp + Wf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9Wp + Wf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/lyYv/58uO/9WpWf/VqVn/Gp7Y/wCc + 6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc + 6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc + 6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc + 6v8AnOr/AJzq/wCc6v8AnOr/AJzqgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAANWpWkDVqVr/1qte/+fLj//ozpP/2K5h/9WpWv/VqVr/1ala/9WpWv/VqVr/1ala/9Wp + Wv/VqVr/1ala/9WpWv/VqVr/1ala/9WpWv/VqVr/1ala/9WpWv/VqVr/1ala/9WpWv/VqVr/1ala/9Wp + Wv/VqVr/1ala/9WpWv/VqVr/1ala/9WpWv/VqVr/1ala/9WpWv/VqVr/1ala/9WpWv/VqVr/1ala/9Wp + Wv/VqVr/1ala/9WpWv/VqVr/1ala/9WpWv/VqVr/1ala/9WpWv/VqVr/1ala/9WpWv/VqVr/1ala/9Wp + Wv/VqVr/1ala/9WpWv/VqVr/1ala/9WpWv/VqVr/1ala/9WpWv/VqVr/1ala/9WpWv/VqVr/1ala/9Wp + Wv/VqVr/1ala/9WpWv/VqVr/1ala/9WpWv/VqVr/1ala/9WpWv/VqVr/1ala/9WpWv/VqVr/1ala/9Wp + Wv/VqVr/1ala/9WpWv/VqVr/1ala/9WpWv/VqVr/1ala/9WpWv/VqVr/1ala/9WpWv/VqVr/1ala/9Wp + Wv/VqVr/1ala/9WpWv/VqVr/1ala/9WpWv/VqVr/1ala/9WpWv/VqVr/1ala/9WpWv/VqVr/1ala/9Wp + Wv/VqVr/1ala/9WpWv/VqVr/1ala/9WpWv/VqVr/1ala/9WpWv/iwYD/6dCX/9u1bf/VqVr/hKWQ/wCd + 6/8Anev/AJ3r/wCd6/8Anev/AJ3r/wCd6/8Anev/AJ3r/wCd6/8Anev/AJ3r/wCd6/8Anev/AJ3r/wCd + 6/8Anev/AJ3r/wCd6/8Anev/AJ3r/wCd6/8Anev/AJ3r/wCd6/8Anev/AJ3r/wCd6/8Anev/AJ3r/wCd + 6/8Anev/AJ3r/wCd6/8Anev/AJ3r/wCd6/8Anev/AJ3r/wCd6/8Anev/AJ3r/wCd6/8Anev/AJ3r/wCd + 6/8Anev/AJ3r/wCd6/8Anev/AJ3r/wCd64AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA1alan9aqWv/bs2r/6tGX/+bJjP/ZsWb/1qpa/9aqWv/Wqlr/1qpa/9aq + Wv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aq + Wv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aq + Wv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aq + Wv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aq + Wv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aq + Wv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aq + Wv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aq + Wv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/iwYD/6tGX/+LBgP/Wqlr/yKlj/w2e + 4v8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe + 6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe + 6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe + 6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe6/8AnuuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAANaqWxDWqlvf1qpb/964cv/q0Zj/6c+U/9u0av/Wqlv/1qpb/9aq + W//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aq + W//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aq + W//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aq + W//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aq + W//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aq + W//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aq + W//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aq + W//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aqW//Wqlv/1qpb/9esX//kxIX/6tGY/+bKjf/XrF//1qpb/0+j + tP8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe + 6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe + 6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe + 6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe6/8Anuv/AJ7rgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA16pbMNerW//Xq1v/4sB+/+rRmP/q0Zj/4r9+/9it + X//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9er + W//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9er + W//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9er + W//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9er + W//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9er + W//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9er + W//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9er + W//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/922bv/pz5T/6tGY/+bKjf/YrV//16tb/4Wm + kf8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf + 7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf + 7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf + 7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf7IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADXq1xg2Ktc/9irXP/fuXP/69GZ/+vR + mf/pz5X/4b57/9qwZP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9ir + XP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9ir + XP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9ir + XP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9ir + XP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9ir + XP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9ir + XP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9ir + XP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9irXP/Yq1z/37lz/+bIiv/r0Zn/69GZ/+bIiv/ZrWD/2Ktc/4an + kv8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf + 7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf + 7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf + 7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf7P8An+yAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANisXGDYrFzv2Kxc/9yz + aP/ny47/69KZ/+vSmf/r0pn/58uO/+K/e//euG//3bVs/921bP/dtWz/3bVs/921bP/dtWz/3bVs/921 + bP/dtWz/3bVs/921bP/dtWz/3bVs/921bP/dtWz/3bVs/921bP/dtWz/3bVs/921bP/dtWz/3bVs/921 + bP/dtWz/3bVs/921bP/dtWz/3bVs/921bP/dtWz/3bVs/921bP/dtWz/3bVs/921bP/dtWz/3bVs/921 + bP/dtWz/3bVs/921bP/dtWz/3bVs/921bP/dtWz/3bVs/921bP/dtWz/3bVs/921bP/dtWz/3bVs/921 + bP/dtWz/3bVs/921bP/dtWz/3bVs/921bP/dtWz/3bVs/921bP/dtWz/3bVs/921bP/dtWz/3bVs/921 + bP/dtWz/3bVs/921bP/dtWz/3bVs/921bP/dtWz/3bVs/921bP/dtWz/3bVs/921bP/dtWz/3bVs/921 + bP/dtWz/3bVs/921bP/dtWz/3bVs/921bP/dtWz/3bVs/921bP/dtWz/3bVs/921bP/dtWz/3bVs/921 + bP/dtWz/3bVs/921bP/dtWz/3bVs/+K/e//lxYb/6tCV/+vSmf/r0pn/6tCV/+C8d//YrFz/2Kxc/4ao + kv8AoO3/AKDt/wCg7f8AoO3/AKDt/wCg7f8AoO3/AKDt/wCg7f8AoO3/AKDt/wCg7f8AoO3/AKDt/wCg + 7f8AoO3/AKDt/wCg7f8AoO3/AKDt/wCg7f8AoO3/AKDt/wCg7f8AoO3/AKDt/wCg7f8AoO3/AKDt/wCg + 7f8AoO3/AKDt/wCg7f8AoO3/AKDt/wCg7f8AoO3/AKDt/wCg7f8AoO3/AKDt/wCg7f8AoO3/AKDt/wCg + 7f8AoO3/AKDt/wCg7f8AoO3/AKDt/wCg7f8AoO3/AKDt/wCg7f8AoO3/AKDtgAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2KxdMNms + Xd/ZrF3/2axd/+C6dP/pzZL/69Ka/+vSmv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vS + mv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vS + mv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vS + mv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vS + mv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vS + mv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vS + mv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vS + mv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vSmv/q0Jb/5MOD/9uxZf/ZrF3/2axd/2un + pf8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh + 7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh + 7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh + 7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7YAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADZrV0Q2a1egNmtXv/ZrV7/2a1e/9y0af/jwoD/58qM/+vTm//r05v/69Ob/+vTm//r05v/69Ob/+vT + m//r05v/69Ob/+vTm//r05v/69Ob/+vTm//r05v/69Ob/+vTm//r05v/69Ob/+vTm//r05v/69Ob/+vT + m//r05v/69Ob/+vTm//r05v/69Ob/+vTm//r05v/69Ob/+vTm//r05v/69Ob/+vTm//r05v/69Ob/+vT + m//r05v/69Ob/+vTm//r05v/69Ob/+vTm//r05v/69Ob/+vTm//r05v/69Ob/+vTm//r05v/69Ob/+vT + m//r05v/69Ob/+vTm//r05v/69Ob/+vTm//r05v/69Ob/+vTm//r05v/69Ob/+vTm//r05v/69Ob/+vT + m//r05v/69Ob/+vTm//r05v/69Ob/+vTm//r05v/69Ob/+vTm//r05v/69Ob/+vTm//r05v/69Ob/+vT + m//r05v/69Ob/+vTm//r05v/69Ob/+vTm//r05v/69Ob/+vTm//r05v/69Ob/+vTm//r05v/69Ob/+vT + m//r05v/69Ob/+vTm//r05v/69Ob/+vTm//r05v/6MyP/+TEhP/gu3X/2q9i/9mtXv/ZrV7/oqqB/yik + 0v8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh + 7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh + 7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh + 7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe2AAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADZrV4g2q1en9qtXu/arV7/2q1e/9qtXv/arV7/2q1e/9qtXv/arV7/2q1e/9qt + Xv/arV7/2q1e/9qtXv/arV7/2q1e/9qtXv/arV7/2q1e/9qtXv/arV7/2q1e/9qtXv/arV7/2q1e/9qt + Xv/arV7/2q1e/9qtXv/arV7/2q1e/9qtXv/arV7/2q1e/9qtXv/arV7/2q1e/9qtXv/arV7/2q1e/9qt + Xv/arV7/2q1e/9qtXv/arV7/2q1e/9qtXv/arV7/2q1e/9qtXv/arV7/2q1e/9qtXv/arV7/2q1e/9qt + Xv/arV7/2q1e/9qtXv/arV7/2q1e/9qtXv/arV7/2q1e/9qtXv/arV7/2q1e/9qtXv/arV7/2q1e/9qt + Xv/arV7/2q1e/9qtXv/arV7/2q1e/9qtXv/arV7/2q1e/9qtXv/arV7/2q1e/9qtXv/arV7/2q1e/9qt + Xv/arV7/2q1e/9qtXv/arV7/2q1e/9qtXv/arV7/2q1e/9qtXv/arV7/2q1e/9qtXv/arV7/2q1e/9qt + Xv/arV7/2q1e/9qtXv/arV7/2q1e/9qtXv/arV7/2q1e/9qtXv/arV7/2q1e/9qtXv+iqoL/NaXK/wCi + 7v8Aou7/AKLu/wCi7v8Aou7/AKLu/wCi7v8Aou7/AKLu/wCi7v8Aou7/AKLu/wCi7v8Aou7/AKLu/wCi + 7v8Aou7/AKLu/wCi7v8Aou7/AKLu/wCi7v8Aou7/AKLu/wCi7v8Aou7/AKLu/wCi7v8Aou7/AKLu/wCi + 7v8Aou7/AKLu/wCi7v8Aou7/AKLu/wCi7v8Aou7/AKLu/wCi7v8Aou7/AKLu/wCi7v8Aou7/AKLu/wCi + 7v8Aou7/AKLu/wCi7v8Aou7/AKLu/wCi7v8Aou7/AKLu/wCi7v8Aou7/AKLu/wCi7v8Aou7/AKLugAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2q5eUNquX4/arl+/2q5f/9quX//arl//2q5f/9qu + X//arl//2q5f/9quX//arl//2q5f/9quX//arl//2q5f/9quX//arl//2q5f/9quX//arl//2q5f/9qu + X//arl//2q5f/9quX//arl//2q5f/9quX//arl//2q5f/9quX//arl//2q5f/9quX//arl//2q5f/9qu + X//arl//2q5f/9quX//arl//2q5f/9quX//arl//2q5f/9quX//arl//2q5f/9quX//arl//2q5f/9qu + X//arl//2q5f/9quX//arl//2q5f/9quX//arl//2q5f/9quX//arl//2q5f/9quX//arl//2q5f/9qu + X//arl//2q5f/9quX//arl//2q5f/9quX//arl//2q5f/9quX//arl//2q5f/9quX//arl//2q5f/9qu + X//arl//2q5f/9quX//arl//2q5f/9quX//arl//2q5f/9quX//arl//2q5f/9quX//arl//2q5f/9qu + X//arl//2q5f/9quX//arl//2q5f/9quX//arl//2q5f/9quX/++rXH/lauL/16or/8apNz/AKPu/wCj + 7v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj + 7v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj + 7v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj + 7v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj + 7oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAo++AAKPv/wCj7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj + 7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj + 7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj + 7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj + 7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj + 7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj + 7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj + 7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj + 7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj + 7/8Ao++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAKTvgACk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk + 7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk + 7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk + 7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk + 7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk + 7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk + 7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk + 7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk + 7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk + 7/8ApO//AKTvgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAACl74AApe//AKXv/wCl7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl + 7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl + 7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl + 7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl + 7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl + 7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl + 7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl + 7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl + 7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl + 7/8Ape//AKXv/wCl74AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAApfCAAKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl + 8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl + 8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl + 8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl + 8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl + 8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl + 8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl + 8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl + 8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl + 8P8ApfD/AKXw/wCl8P8ApfCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAKbwgACm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm + 8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm + 8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm + 8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm + 8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm + 8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm + 8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm + 8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm + 8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm + 8P8ApvD/AKbw/wCm8P8ApvD/AKbwgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACn8YAAp/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn + 8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn + 8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn + 8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn + 8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn + 8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn + 8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn + 8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn + 8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn + 8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAp/GAAKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn + 8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn + 8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn + 8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn + 8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn + 8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn + 8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn + 8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn + 8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn + 8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKjxgACo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo + 8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo + 8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo + 8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo + 8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo + 8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo + 8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo + 8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo + 8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo + 8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjxgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACo8oAAqPL/AKjy/wCo8v8AqPL/AKjy/wCo + 8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo + 8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo + 8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo + 8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo + 8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo + 8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo + 8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo + 8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo + 8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo8oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqfKAAKny/wCp8v8AqfL/AKny/wCp + 8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp + 8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp + 8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp + 8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp + 8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp + 8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp + 8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp + 8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp + 8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfKAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKrygACq8v8AqvL/AKry/wCq + 8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq + 8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq + 8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq + 8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq + 8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq + 8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq + 8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq + 8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq + 8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq8v8AqvL/AKrygAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACq84AAqvP/AKrz/wCq + 8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq + 8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq + 8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq + 8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq + 8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq + 8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq + 8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq + 8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq + 8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq84AAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAq/OAAKvz/wCr + 8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr + 8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr + 8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr + 8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr + 8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr + 8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr + 8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr + 8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr + 8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/OAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKz0gACs + 9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs + 9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs + 9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs + 9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs + 9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs + 9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs + 9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs + 9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs + 9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0gAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACs + 9IAArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs + 9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs + 9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs + 9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs + 9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs + 9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs + 9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs + 9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs + 9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs + 9IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAArfSAAK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt + 9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt + 9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt + 9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt + 9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt + 9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt + 9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt + 9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt + 9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt + 9P8ArfSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAK71gACu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu + 9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu + 9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu + 9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu + 9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu + 9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu + 9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu + 9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu + 9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu + 9f8ArvX/AK71gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAACu9YAArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu + 9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu + 9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu + 9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu + 9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu + 9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu + 9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu + 9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu + 9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu + 9f8ArvX/AK71/wCu9YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAr/aAAK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv + 9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv + 9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv + 9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv + 9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv + 9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv + 9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv + 9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv + 9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv + 9v8Ar/b/AK/2/wCv9v8Ar/aAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAK/2gACv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv + 9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv + 9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv + 9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv + 9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv + 9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv + 9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv + 9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv + 9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv + 9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACw9oAAsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw + 9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw + 9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw + 9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw + 9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw + 9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw + 9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw + 9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw + 9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw + 9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsfeAALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx + 9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx + 9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx + 9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx + 9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx + 9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx + 9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx + 9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx + 9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx + 9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8AsfeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALH3gACx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx + 9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx + 9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx + 9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx + 9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx + 9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx + 9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx + 9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx + 9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx + 9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACy+IAAsvj/ALL4/wCy+P8Asvj/ALL4/wCy + +P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy + +P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy + +P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy + +P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy + +P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy + +P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy + +P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy + +P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy + +P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs/iAALP4/wCz+P8As/j/ALP4/wCz + +P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz + +P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz + +P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz + +P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz + +P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz + +P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz + +P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz + +P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz + +P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/iAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALP4gACz+P8As/j/ALP4/wCz + +P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz + +P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz + +P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz + +P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz + +P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz + +P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz + +P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz + +P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz + +P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4gAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0+YAAtPn/ALT5/wC0 + +f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0 + +f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0 + +f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0 + +f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0 + +f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0 + +f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0 + +f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0 + +f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0 + +f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0+YAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtfmAALX5/wC9 + +v8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1 + +f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1 + +f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1 + +f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1 + +f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1 + +f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1 + +f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1 + +f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1 + +f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/AL36/wC1+f8AtfmAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALX6gAC1 + +v8Avfr/ALX6/wC1+v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1 + +v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1 + +v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1 + +v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1 + +v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1 + +v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1 + +v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1 + +v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1 + +v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1+v8Atfr/ALX6/wDD+/8Atfr/ALX6gAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC2 + +oAAtvr/AML7/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2 + +v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2 + +v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2 + +v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2 + +v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2 + +v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2 + +v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2 + +v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2 + +v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Ax/v/ALb6/wC2 + +oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAtvqAALb6/wDI+/8AuPr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2 + +v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2 + +v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2 + +v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2 + +v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2 + +v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2 + +v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2 + +v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2 + +v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Av/v/AMP7/wC2 + +v8AtvpgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAALf7cAC3+/8Axfz/AMH7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3 + +/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3 + +/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3 + +/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3 + +/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3 + +/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3 + +/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3 + +/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3 + +/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/AMX8/wC/ + +/8At/v/ALf7QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAC4+0AAuPv/AMD8/wDN/P8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4 + +/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4 + +/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4 + +/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4 + +/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4 + +/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4 + +/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4 + +/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4 + +/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wDT + /f8Auvv/ALj7/wC3+yAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAuPsQALj7/wC4+/8A2f3/ALr7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4 + +/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4 + +/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4 + +/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4 + +/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4 + +/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4 + +/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4 + +/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4 + +/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wDA + /P8A1f3/ALj7/wC4++8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC5/M8Aufz/AND9/wDK/f8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5 + /P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5 + /P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5 + /P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5 + /P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5 + /P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5 + /P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5 + /P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5 + /P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5 + /P8A0v3/AMz9/wC5/P8AufyfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAufxwALn8/wDD/P8A2v3/AL38/wC5/P8Aufz/ALn8/wC5 + /P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5 + /P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5 + /P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5 + /P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5 + /P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5 + /P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5 + /P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5 + /P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5 + /P8Awfz/ANr9/wC9/P8Aufz/ALn8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALr8EAC6/O8Auv3/ANb9/wDU/f8Auv3/ALr9/wC6 + /f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6 + /f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6 + /f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6 + /f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6 + /f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6 + /f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6 + /f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6 + /f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6 + /f8AvP3/ANb9/wDO/f8Auv3/ALr83wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAuv2AALv9/wDC/f8A2/7/AM/+/wC7 + /f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7 + /f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7 + /f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7 + /f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7 + /f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7 + /f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7 + /f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7 + /f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7 + /f8Au/3/ANP+/wDb/v8Avv3/ALv9/wC6/WAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALv9EAC7/e8Au/3/AM/+/wDb + /v8Az/7/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7 + /f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7 + /f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7 + /f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7 + /f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7 + /f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7 + /f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7 + /f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7 + /f8Au/3/AM/+/wDb/v8AzP7/ALv9/wC7/c8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvP5QALz+/wC+ + /v8A1v7/ANz+/wDQ/v8Avv7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8 + /v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8 + /v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8 + /v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8 + /v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8 + /v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8 + /v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8 + /v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8 + /v8Avv7/ANb+/wDc/v8A0v7/ALz+/wC8/v8AvP0wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC8 + /p8AvP7/AL7+/wDW/v8A3P7/ANj+/wDE/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8 + /v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8 + /v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8 + /v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8 + /v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8 + /v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8 + /v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8 + /v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8 + /v8Ax/7/ANr+/wDc/v8A1v7/AL7+/wC8/v8AvP5wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAL3+nwC9/v8Av/7/ANb+/wDc/v8A3P7/ANX+/wDF/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9 + /v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9 + /v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9 + /v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9 + /v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9 + /v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9 + /v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9 + /v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wDH + /v8A1f7/ANz+/wDc/v8A0f7/AL/+/wC9/v8Avf6fAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAvf+fAL7//wC+//8Azv//AN3//wDd//8A3f//ANn//wDP//8AyP//AMP//wC+ + //8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+ + //8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+ + //8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+ + //8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+ + //8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+ + //8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+ + //8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wDF//8Ayv//ANH//wDZ + //8A3f//AN3//wDb//8AzP//AL7//wC+//8Avf+fAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC+/4AAvv//AL7//wDC//8A0v//AN3//wDd//8A3f//AN3//wDd + //8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd + //8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd + //8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd + //8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd + //8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd + //8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd + //8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd + //8A3f//AN3//wDS//8Awv//AL7//wC+//8Avv9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL7/QAC+/98Avv//AL7//wDC//8AzP//ANb//wDd + //8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd + //8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd + //8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd + //8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd + //8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd + //8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd + //8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDb + //8A1P//AMz//wDA//8Avv//AL7//wC+/78Avv8wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL7/YAC+/98Avv//AL7//wC+ + //8Avv//AML//wDH//8Ax///AMf//wDH//8Ax///AMf//wDH//8Ax///AMf//wDH//8Ax///AMf//wDH + //8Ax///AMf//wDH//8Ax///AMf//wDH//8Ax///AMf//wDH//8Ax///AMf//wDH//8Ax///AMf//wDH + //8Ax///AMf//wDH//8Ax///AMf//wDH//8Ax///AMf//wDH//8Ax///AMf//wDH//8Ax///AMf//wDH + //8Ax///AMf//wDH//8Ax///AMf//wDH//8Ax///AMf//wDH//8Ax///AMf//wDH//8Ax///AMf//wDH + //8Ax///AMf//wDH//8Ax///AMf//wDH//8Ax///AMf//wDH//8Ax///AMf//wDH//8Ax///AMf//wDH + //8Ax///AMf//wDH//8Ax///AMf//wDH//8Ax///AMf//wDH//8Ax///AMf//wDH//8Ax///AMf//wDH + //8Ax///AMf//wDH//8Ax///AMf//wDH//8Ax///AMf//wDH//8Ax///AMf//wDH//8Ax///AMf//wDA + //8Avv//AL7//wC+//8Avv//AL7/vwC+/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL7/MAC+ + /48Avv/PAL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+ + //8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+ + //8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+ + //8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+ + //8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+ + //8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+ + //8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+ + //8Avv//AL7//wC+/78Avv+AAL7/MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAvv8gAL7/QAC+/0AAvv9AAL7/QAC+/0AAvv9AAL7/QAC+/0AAvv9AAL7/QAC+ + /0AAvv9AAL7/QAC+/0AAvv9AAL7/QAC+/0AAvv9AAL7/QAC+/0AAvv9AAL7/QAC+/0AAvv9AAL7/QAC+ + /0AAvv9AAL7/QAC+/0AAvv9AAL7/QAC+/0AAvv9AAL7/QAC+/0AAvv9AAL7/QAC+/0AAvv9AAL7/QAC+ + /0AAvv9AAL7/QAC+/0AAvv9AAL7/QAC+/0AAvv9AAL7/QAC+/0AAvv9AAL7/QAC+/0AAvv9AAL7/QAC+ + /0AAvv9AAL7/QAC+/0AAvv9AAL7/QAC+/0AAvv9AAL7/QAC+/0AAvv9AAL7/QAC+/0AAvv9AAL7/QAC+ + /0AAvv9AAL7/QAC+/0AAvv9AAL7/QAC+/0AAvv9AAL7/QAC+/0AAvv9AAL7/QAC+/0AAvv9AAL7/QAC+ + /0AAvv9AAL7/QAC+/0AAvv9AAL7/QAC+/0AAvv9AAL7/QAC+/0AAvv9AAL7/QAC+/0AAvv9AAL7/QAC+ + /0AAvv9AAL7/IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD///////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////4AAAAAAAAAAAAAB///////////////////////wAAAAAAAAAAAAAAAAAAAAAAAf/////////// + ////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAB//////////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH/ + //////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAP//4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/8AAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAB/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8AAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAPgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/gAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAf/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//8AAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAf////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////8AAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAB///////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/////////gAAAA + AAAAAAAAAAAAAAAAAAAAAAAAA////////////8AAAAAAAAAAAAAAAAAAAAAAAAf///////////////// + gAAAAAAAAAAAAAAAAAAAD/////////////////////8AAAAAAAAAAAAAAAAAAAAH//////////////// + /////gAAAAAAAAAAAAAAAAAAAAP////////////////////8AAAAAAAAAAAAAAAAAAAAAf////////// + //////////gAAAAAAAAAAAAAAAAAAAAA////////////////////+AAAAAAAAAAAAAAAAAAAAAD///// + ///////////////wAAAAAAAAAAAAAAAAAAAAAH////////////////////AAAAAAAAAAAAAAAAAAAAAA + f///////////////////4AAAAAAAAAAAAAAAAAAAAAB////////////////////gAAAAAAAAAAAAAAAA + AAAAAD///////////////////+AAAAAAAAAAAAAAAAAAAAAAP///////////////////4AAAAAAAAAAA + AAAAAAAAAAA////////////////////gAAAAAAAAAAAAAAAAAAAAAD///////////////////+AAAAAA + AAAAAAAAAAAAAAAAP///////////////////4AAAAAAAAAAAAAAAAAAAAAA////////////////////g + AAAAAAAAAAAAAAAAAAAAAD///////////////////+AAAAAAAAAAAAAAAAAAAAAAP/////////////// + ////4AAAAAAAAAAAAAAAAAAAAAA////////////////////gAAAAAAAAAAAAAAAAAAAAAD////////// + /////////+AAAAAAAAAAAAAAAAAAAAAAP///////////////////4AAAAAAAAAAAAAAAAAAAAAA///// + ///////////////gAAAAAAAAAAAAAAAAAAAAAD///////////////////+AAAAAAAAAAAAAAAAAAAAAA + P///////////////////4AAAAAAAAAAAAAAAAAAAAAA////////////////////gAAAAAAAAAAAAAAAA + AAAAAD///////////////////+AAAAAAAAAAAAAAAAAAAAAAP///////////////////4AAAAAAAAAAA + AAAAAAAAAAA////////////////////gAAAAAAAAAAAAAAAAAAAAAD///////////////////+AAAAAA + AAAAAAAAAAAAAAAAP///////////////////4AAAAAAAAAAAAAAAAAAAAAA////////////////////g + AAAAAAAAAAAAAAAAAAAAAD///////////////////+AAAAAAAAAAAAAAAAAAAAAAP/////////////// + ////4AAAAAAAAAAAAAAAAAAAAAA////////////////////gAAAAAAAAAAAAAAAAAAAAAD////////// + /////////+AAAAAAAAAAAAAAAAAAAAAAP///////////////////4AAAAAAAAAAAAAAAAAAAAAA///// + ///////////////gAAAAAAAAAAAAAAAAAAAAAD///////////////////+AAAAAAAAAAAAAAAAAAAAAA + P///////////////////4AAAAAAAAAAAAAAAAAAAAAA////////////////////gAAAAAAAAAAAAAAAA + AAAAAD///////////////////+AAAAAAAAAAAAAAAAAAAAAAP///////////////////4AAAAAAAAAAA + AAAAAAAAAAAAAAAAA//////////////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAf////////////+AAAAAA + AAAAAAAAAAAAAAAAAAAAAAAf////////////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAf////////////g + AAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAB//////// + ////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH// + /////////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf///////////4AAAAAAAAAAAAAAAAAAAAAAAAAAA + AAA////////////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////+AAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAH///////////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf///////////gAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAB///////////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////4AAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAP///////////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///////////+AAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAD///////////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////g + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///////////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////// + ////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA// + /////////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////4AAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAP///////////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///////////+AAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAD///////////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////gAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAA///////////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////4AAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAP///////////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///////////+AAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAD///////////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////g + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///////////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////// + ////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA// + //////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////8AAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAP///////////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////////gAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAD////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////+AAAAAAAAAAAAAAAA + AAAAAAAAAAAAAA////////////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////////wAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAP////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////gAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////// + /gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAD + ////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAH////////////wAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAP////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf///////////8AAAAAAAAAAAAAAAAAAA + AAAAAAAAAAA////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB////////////AAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAH///////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////wAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAA////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB///////////8AAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAH///////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf///////// + //AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//// + ///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + A///////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////wAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAP///////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///////////8AAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAD///////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////AAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAA///////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////wAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAP///////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///////////8AAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////// + //AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//// + ///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + A///////////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////4AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAP///////////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////////AAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAD///////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////4AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAA////////////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////////AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAP///////////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////////8AA + AAAAAAAAAAAAAAAAAAAAAAAAAAAD////////////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////// + ///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//// + /////////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////////////wAAAAAAAAAAAAAAAAAAAAA + A////////////////////AAAAAAAAAAAAAAAAAAAAAAD///////////////////8AAAAAAAAAAAAAAAA + AAAAAAP///////////////////wAAAAAAAAAAAAAAAAAAAAAA////////////////////AAAAAAAAAAA + AAAAAAAAAAAD///////////////////8AAAAAAAAAAAAAAAAAAAAAAP///////////////////wAAAAA + AAAAAAAAAAAAAAAAA////////////////////AAAAAAAAAAAAAAAAAAAAAAD///////////////////8 + AAAAAAAAAAAAAAAAAAAAAAP///////////////////wAAAAAAAAAAAAAAAAAAAAAA/////////////// + /////AAAAAAAAAAAAAAAAAAAAAAD///////////////////8AAAAAAAAAAAAAAAAAAAAAAP///////// + //////////wAAAAAAAAAAAAAAAAAAAAAA////////////////////AAAAAAAAAAAAAAAAAAAAAAD//// + ///////////////8AAAAAAAAAAAAAAAAAAAAAAP///////////////////wAAAAAAAAAAAAAAAAAAAAA + A////////////////////AAAAAAAAAAAAAAAAAAAAAAD///////////////////8AAAAAAAAAAAAAAAA + AAAAAAP///////////////////wAAAAAAAAAAAAAAAAAAAAAA////////////////////AAAAAAAAAAA + AAAAAAAAAAAD///////////////////8AAAAAAAAAAAAAAAAAAAAAAP///////////////////wAAAAA + AAAAAAAAAAAAAAAAA////////////////////AAAAAAAAAAAAAAAAAAAAAAD///////////////////8 + AAAAAAAAAAAAAAAAAAAAAAP///////////////////wAAAAAAAAAAAAAAAAAAAAAA/////////////// + /////AAAAAAAAAAAAAAAAAAAAAAD///////////////////8AAAAAAAAAAAAAAAAAAAAAAP///////// + //////////wAAAAAAAAAAAAAAAAAAAAAA////////////////////AAAAAAAAAAAAAAAAAAAAAAD//// + ///////////////8AAAAAAAAAAAAAAAAAAAAAAP///////////////////wAAAAAAAAAAAAAAAAAAAAA + A////////////////////AAAAAAAAAAAAAAAAAAAAAAD///////////////////8AAAAAAAAAAAAAAAA + AAAAAAP///////////////////wAAAAAAAAAAAAAAAAAAAAAB////////////////////gAAAAAAAAAA + AAAAAAAAAAAH///////////////////+AAAAAAAAAAAAAAAAAAAAAAf///////////////////4AAAAA + AAAAAAAAAAAAAAAAD////////////////////wAAAAAAAAAAAAAAAAAAAAAP//////////////////// + AAAAAAAAAAAAAAAAAAAAAB////////////////////+AAAAAAAAAAAAAAAAAAAAAH/////////////// + /////8AAAAAAAAAAAAAAAAAAAAA/////////////////////4AAAAAAAAAAAAAAAAAAAAH////////// + ///////////wAAAAAAAAAAAAAAAAAAAA//////////////////////gAAAAAAAAAAAAAAAAAAAH///// + /////////////////AAAAAAAAAAAAAAAAAAAA///////////////////////AAAAAAAAAAAAAAAAAAAP + ///////////////////////AAAAAAAAAAAAAAAAAAD////////////////////////wAAAAAAAAAAAAA + AAAD//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////ygAAACAAAAAAAEAAAEA + IAAAAAAAAAgBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApKSkAaSk + pAGkpKQCpKSkAqSkpAKkpKQCpKSkAqSkpAKkpKQCpKSkAqSkpAKkpKQCpKSkAqSkpAKkpKQDpKSkBKSk + pASkpKQFpKSkBaSkpAWkpKQFpKSkBaSkpAWkpKQFpKSkBaSkpAWkpKQFpKSkBaSkpAWkpKQFpKSkBaSk + pAWkpKQFpKSkBaSkpAWkpKQFpKSkBaSkpAWkpKQFpKSkBaSkpAWkpKQFpKSkBaSkpAWkpKQFpKSkBaSk + pAWkpKQFpKSkBaSkpAWkpKQFpKSkBaSkpAWkpKQFpKSkBaSkpAWkpKQFpKSkBKSkpASkpKQDpKSkAqSk + pAKkpKQCpKSkAqSkpAKkpKQCpKSkAqSkpAKkpKQCpKSkAqSkpAKkpKQBpKSkAaSkpAEAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkpKQBpKSkAaSkpAGkpKQCpKSkAqSkpAKkpKQDpKSkBKSk + pASkpKQFpKSkBaSkpAWkpKQFpKSkBqSkpAikpKQJpKSkC6SkpAukpKQLpKSkC6SkpAukpKQLpKSkC6Sk + pAukpKQLpKSkC6SkpAykpKQNpKSkD6SkpBKkpKQVpKSkFqSkpBekpKQXpKSkF6SkpBekpKQXpKSkF6Sk + pBekpKQXpKSkF6SkpBekpKQXpKSkF6SkpBekpKQXpKSkF6SkpBekpKQXpKSkF6SkpBekpKQXpKSkF6Sk + pBekpKQXpKSkF6SkpBekpKQXpKSkF6SkpBekpKQXpKSkF6SkpBekpKQXpKSkF6SkpBekpKQXpKSkF6Sk + pBekpKQXpKSkF6SkpBekpKQWpKSkFaSkpBKkpKQPpKSkDaSkpAykpKQLpKSkC6SkpAukpKQLpKSkC6Sk + pAukpKQLpKSkC6SkpAukpKQKpKSkCaSkpAekpKQFpKSkBaSkpAWkpKQFpKSkBaSkpASkpKQEpKSkA6Sk + pAKkpKQCpKSkAqSkpAGkpKQBpKSkAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApKSkAaSkpAKkpKQDpKSkBKSkpASkpKQFpKSkB6Sk + pAmkpKQKpKSkC6SkpAykpKQNpKSkD6SkpBKkpKQVpKSkFqSkpBekpKQXpKSkF6SkpBikpKQbpKSkH6Sk + pCSkpKQnpKSkKKSkpCikpKQopKSkKKSkpCikpKQopKSkKKSkpCikpKQopKSkKqSkpCykpKQxpKSkN6Sk + pD2kpKRApKSkQKSkpEGkpKRBpKSkQaSkpEGkpKRBpKSkQaSkpEGkpKRBpKSkQaSkpEGkpKRBpKSkQaSk + pEGkpKRBpKSkQaSkpEGkpKRBpKSkQaSkpEGkpKRBpKSkQaSkpEGkpKRBpKSkQaSkpEGkpKRBpKSkQaSk + pEGkpKRBpKSkQaSkpEGkpKRBpKSkQaSkpEGkpKRBpKSkQaSkpEGkpKRBpKSkQKSkpECkpKQ9pKSkN6Sk + pDGkpKQspKSkKqSkpCikpKQopKSkKKSkpCikpKQopKSkKKSkpCikpKQopKSkKKSkpCWkpKQipKSkHaSk + pBmkpKQYpKSkF6SkpBekpKQXpKSkFqSkpBWkpKQSpKSkD6SkpA2kpKQMpKSkC6SkpAqkpKQJpKSkB6Sk + pAWkpKQEpKSkA6SkpAKkpKQCpKSkAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkpKQBpKSkBKSk + pAekpKQKpKSkDaSkpBCkpKQUpKSkFqSkpBmkpKQdpKSkIqSkpCWkpKQopKSkKaSkpCykpKQxpKSkN6Sk + pD2kpKRApKSkQKSkpEGkpKRBpKSkQ6SkpEikpKRPpKSkVqSkpFukpKRdpKSkXqSkpF+kpKRfpKSkX6Sk + pF+kpKRfpKSkX6SkpF+kpKRgpKSkY6SkpGqkpKRypKSkeaSkpH2kpKR/pKSkf6SkpH+kpKR/pKSkf6Sk + pH+kpKR/pKSkf6SkpH+kpKR/pKSkf6SkpH+kpKR/pKSkf6SkpH+kpKR/pKSkf6SkpH+kpKR/pKSkf6Sk + pH+kpKR/pKSkf6SkpH+kpKR/pKSkf6SkpH+kpKR/pKSkf6SkpH+kpKR/pKSkf6SkpH+kpKR/pKSkf6Sk + pH+kpKR/pKSkf6SkpH+kpKR/pKSkfaSkpHmkpKRypKSkaqSkpGOkpKRgpKSkX6SkpF+kpKRfpKSkX6Sk + pF+kpKRfpKSkX6SkpF6kpKRdpKSkWaSkpFOkpKRLpKSkRaSkpEKkpKRBpKSkQaSkpECkpKRApKSkPaSk + pDekpKQxpKSkLKSkpCmkpKQopKSkJaSkpCKkpKQdpKSkGaSkpBakpKQSpKSkD6SkpAykpKQJpKSkBqSk + pAOkpKQBAAAAAAAAAAAAAAAApKSkA6SkpAikpKQQpKSkGqSkpCOkpKQrpKSkM6SkpDqkpKQ/pKSkRKSk + pEukpKRTpKSkWaSkpF2kpKRfpKSkY6SkpGqkpKRypKSkeaSkpH2kpKR/pKSkf6SkpH+kpKSCpKSkh6Sk + pI+kpKSXpKSknaSkpJ+kpKSgpKSkoKSkpKCkpKSgpKSkoKSkpKCkpKSgpKSkoKSkpKGkpKSkpKSkq6Sk + pLKkpKS4pKSkvKSkpL2kpKS9pKSkvqSkpL6kpKS+pKSkvqSkpL6kpKS+pKSkvqSkpL6kpKS+pKSkvqSk + pL6kpKS+pKSkvqSkpL6kpKS+pKSkvqSkpL6kpKS+pKSkvqSkpL6kpKS+pKSkvqSkpL6kpKS+pKSkvqSk + pL6kpKS+pKSkvqSkpL6kpKS+pKSkvqSkpL6kpKS+pKSkvqSkpL6kpKS+pKSkvaSkpL2kpKS8pKSkuKSk + pLKkpKSrpKSkpKSkpKGkpKSgpKSkoKSkpKCkpKSgpKSkoKSkpKCkpKSgpKSkn6SkpJ6kpKSapKSkk6Sk + pIukpKSEpKSkgKSkpH+kpKR/pKSkf6SkpH2kpKR5pKSkcqSkpGqkpKRjpKSkX6SkpF2kpKRZpKSkU6Sk + pEukpKREpKSkPqSkpDekpKQwpKSkKaSkpCGkpKQYpKSkD6SkpAekpKQCAAAAAKSkpAKkpKQJpKSkFqSk + pCmkpKQ9pKSkUKSkpF+kpKRrpKSkdaSkpHykpKSDpKSkiqSkpJOkpKSapKSknqSkpKCkpKSkpKSkqqSk + pLKkpKS4pKSkvKSkpL2kpKS9pKSkvaSkpL+kpKTDpKSkyaSkpM+kpKTTpKSk1aSkpNWkpKTWpKSk1qSk + pNakpKTWpKSk1qSkpNakpKTWpKSk1qSkpNikpKTbpKSk4KSkpOSkpKTmpKSk56SkpOekpKTopKSk6KSk + pOikpKTopKSk6KSkpOikpKTopKSk6KSkpOikpKTopKSk6KSkpOikpKTopKSk6KSkpOikpKTopKSk6KSk + pOikpKTopKSk6KSkpOikpKTopKSk6KSkpOikpKTopKSk6KSkpOikpKTopKSk6KSkpOikpKTopKSk6KSk + pOikpKTopKSk6KSkpOikpKTnpKSk56SkpOakpKTkpKSk4KSkpNukpKTYpKSk1qSkpNakpKTWpKSk1qSk + pNakpKTWpKSk1qSkpNakpKTVpKSk1KSkpNGkpKTMpKSkxqSkpMGkpKS+pKSkvaSkpL2kpKS9pKSkvKSk + pLikpKSypKSkqqSkpKSkpKSgpKSknqSkpJqkpKSTpKSkiqSkpIKkpKR6pKSkcaSkpGakpKRbpKSkTaSk + pDqkpKQmpKSkE6SkpAcAAAAApKSkBKSkpA+kpKQmpKSkRaSkpGakpKSApKSklKSkpKOkpKStpKSktaSk + pLukpKTBpKSkyKSkpM6kpKTSpKSk1KSkpNakpKTapKSk3qSkpOOkpKTlpKSk5qSkpOakpKTmpKSk56Sk + pOmkpKTspKSk7qSkpPGkpKTypKSk8qSkpPOkpKTzpKSk86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk86Sk + pPWkpKT2pKSk+KSkpPikpKT5pKSk+aSkpPqkpKT6pKSk+qSkpPqkpKT6pKSk+qSkpPqkpKT6pKSk+qSk + pPqkpKT6pKSk+qSkpPqkpKT6pKSk+qSkpPqkpKT6pKSk+qSkpPqkpKT6pKSk+qSkpPqkpKT6pKSk+qSk + pPqkpKT6pKSk+qSkpPqkpKT6pKSk+qSkpPqkpKT6pKSk+qSkpPqkpKT6pKSk+qSkpPmkpKT5pKSk+KSk + pPikpKT2pKSk9aSkpPOkpKTzpKSk86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk86SkpPKkpKTxpKSk8KSk + pO2kpKTqpKSk6KSkpOakpKTmpKSk5qSkpOakpKTlpKSk46SkpN6kpKTapKSk1qSkpNOkpKTRpKSkzqSk + pMekpKTApKSkuaSkpLKkpKSppKSknaSkpI+kpKR8pKSkYaSkpEGkpKQipKSkDQAAAACkpKQEpKSkEqSk + pCykpKRSpKSkd6SkpJWkpKSqpKSkuaSkpMSkpKTLpKSk0aSkpNakpKTcpKSk4aSkpOSkpKTmpKSk56Sk + pOqkpKTspKSk8KSkpPKkpKTzpKSk9KSkpPSkpKT0pKSk9KSkpPWkpKT3pKSk+KSkpPmkpKT6pKSk+6Sk + pPukpKT7pKSk+6SkpPukpKT7pKSk+6SkpPukpKT7pKSk+6SkpPukpKT8pKSk/KSkpPykpKT8pKSk/aSk + pP2kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSk + pP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSk + pP6kpKT+pKSk/qSkpP2kpKT9pKSk/KSkpPykpKT8pKSk/KSkpPukpKT7pKSk+6SkpPukpKT7pKSk+6Sk + pPukpKT7pKSk+6SkpPukpKT7pKSk+qSkpPmkpKT4pKSk9qSkpPWkpKT0pKSk9KSkpPSkpKT0pKSk86Sk + pPKkpKTvpKSk7KSkpOmkpKTnpKSk5qSkpOSkpKTgpKSk26SkpNWkpKTPpKSkyKSkpL+kpKSzpKSkpaSk + pJCkpKRypKSkTKSkpCikpKQPAAAAAKSkpAOkpKQOpKSkJKSkpEOkpKRkpKSkf6SkpJGkpKSfpKSkq6Sk + pLOkpKS5pKSkv6SkpMakpKTMpKSk0aSkpNOkpKTUpKSk1qSkpNqkpKTfpKSk46SkpOWkpKTmpKSk5qSk + pOakpKTmpKSk56SkpOmkpKTspKSk76SkpPGkpKTypKSk86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk86Sk + pPOkpKTzpKSk86SkpPOkpKTzpKSk9aSkpPakpKT4pKSk+aSkpPmkpKT6pKSk+qSkpPqkpKT6pKSk+qSk + pPqkpKT6pKSk+qSkpPqkpKT6pKSk+qSkpPqkpKT6pKSk+qSkpPqkpKT6pKSk+qSkpPqkpKT6pKSk+qSk + pPqkpKT6pKSk+qSkpPqkpKT6pKSk+qSkpPqkpKT6pKSk+qSkpPqkpKT5pKSk+aSkpPikpKT2pKSk9aSk + pPOkpKTzpKSk86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk86SkpPKkpKTxpKSk76Sk + pOykpKTppKSk56SkpOakpKTmpKSk5qSkpOakpKTkpKSk4aSkpN2kpKTYpKSk1aSkpNSkpKTSpKSkz6Sk + pMqkpKTCpKSkvKSkpLakpKSvpKSkpaSkpJmkpKSLpKSkeaSkpF6kpKQ/pKSkIaSkpAwAAAAApKSkAaSk + pAekpKQUpKSkJ6SkpDykpKRNpKSkW6SkpGekpKRxpKSkeaSkpICkpKSGpKSkj6SkpJekpKSdpKSkn6Sk + pKGkpKSkpKSkqqSkpLKkpKS4pKSkvKSkpL2kpKS9pKSkvaSkpL2kpKS/pKSkw6SkpMmkpKTPpKSk06Sk + pNWkpKTVpKSk1qSkpNakpKTWpKSk1qSkpNakpKTWpKSk1qSkpNakpKTWpKSk1qSkpNikpKTbpKSk4KSk + pOSkpKTmpKSk56SkpOekpKTopKSk6KSkpOikpKTopKSk6KSkpOikpKTopKSk6KSkpOikpKTopKSk6KSk + pOikpKTopKSk6KSkpOikpKTopKSk6KSkpOikpKTopKSk6KSkpOikpKTopKSk6KSkpOikpKTopKSk6KSk + pOikpKTopKSk56SkpOekpKTmpKSk5KSkpOCkpKTbpKSk2KSkpNakpKTWpKSk1qSkpNakpKTWpKSk1qSk + pNakpKTWpKSk1qSkpNakpKTVpKSk1aSkpNOkpKTPpKSkyaSkpMOkpKS/pKSkvaSkpL2kpKS9pKSkvKSk + pLqkpKS1pKSkrqSkpKekpKSipKSkoKSkpJ6kpKSapKSkk6SkpIqkpKSDpKSkfaSkpHakpKRspKSkYqSk + pFakpKRIpKSkN6SkpCSkpKQSpKSkBwAAAAAAAAAApKSkAqSkpAekpKQPpKSkGKSkpCGkpKQppKSkMKSk + pDekpKQ9pKSkQqSkpEekpKRPpKSkVqSkpFukpKRepKSkYKSkpGOkpKRqpKSkcqSkpHmkpKR9pKSkf6Sk + pH+kpKR/pKSkf6SkpIKkpKSHpKSkj6SkpJekpKSdpKSkn6SkpKCkpKSgpKSkoKSkpKCkpKSgpKSkoKSk + pKCkpKSgpKSkoKSkpKCkpKShpKSkpKSkpKukpKSypKSkuKSkpLykpKS9pKSkvaSkpL6kpKS+pKSkvqSk + pL6kpKS+pKSkvqSkpL6kpKS+pKSkvqSkpL6kpKS+pKSkvqSkpL6kpKS+pKSkvqSkpL6kpKS+pKSkvqSk + pL6kpKS+pKSkvqSkpL6kpKS+pKSkvqSkpL6kpKS+pKSkvqSkpL6kpKS9pKSkvaSkpLykpKS4pKSksqSk + pKukpKSkpKSkoaSkpKCkpKSgpKSkoKSkpKCkpKSgpKSkoKSkpKCkpKSgpKSkoKSkpKCkpKSfpKSknaSk + pJekpKSPpKSkh6SkpIKkpKR/pKSkf6SkpH+kpKR+pKSkfKSkpHakpKRupKSkZqSkpGGkpKRfpKSkXaSk + pFmkpKRTpKSkS6SkpESkpKQ/pKSkOqSkpDSkpKQtpKSkJqSkpB6kpKQWpKSkDaSkpAekpKQCAAAAAAAA + AAAAAAAApKSkAaSkpAOjpKMGoqSjCaKkowykpKQPpKSkEqSkpBWkpKQXpKSkG6SkpB+kpKQkpKSkJ6Sk + pCikpKQqpKSkLKSkpDGkpKQ3pKSkPaSkpECkpKRApKSkQaSkpEGkpKRBpKSkQ6SkpEikpKRPpKSkVqSk + pFukpKRdpKSkXqSkpF+kpKRfpKSkX6SkpF+kpKRfpKSkX6SkpF+kpKRfpKSkX6SkpGCkpKRjpKSkaqSk + pHKkpKR5pKSkfaSkpH+kpKR/pKSkf6SkpH+kpKR/pKSkf6SkpH+kpKR/pKSkf6SkpH+kpKR/pKSkf6Sk + pH+kpKR/pKSkf6SkpH+kpKR/pKSkf6SkpH+kpKR/pKSkf6SkpH+kpKR/pKSkf6SkpH+kpKR/pKSkf6Sk + pH+kpKR/pKSkf6SkpH+kpKR/pKSkfaSkpHmkpKRypKSkaqSkpGOkpKRgpKSkX6SkpF+kpKRfpKSkX6Sk + pF+kpKRfpKSkX6SkpF+kpKRfpKSkXqSkpF2kpKRbpKSkVqSkpE+kpKRIpKSkQ6SkpEGkpKRBpKSkQaSk + pECkpKQ+pKSkOqSkpDSkpKQupKSkK6SkpCmkpKQopKSkJaSkpCKkpKQdpKSkGaSkpBakpKQUpKSkEaSk + pA6kpKQKpKSkB6SkpAWkpKQDpKSkAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYpZ8BkqecAoyo + mQKGqZYDgaqUBIWplgWMqJkGi6mZCIupmQmLqZkLi6mZC5emngykpKQNpKSkD6SkpBKkpKQVpKSkFqSk + pBekpKQXpKSkF6SkpBekpKQYpKSkG6SkpB+kpKQkpKSkJ6SkpCikpKQopKSkKKSkpCikpKQopKSkKKSk + pCikpKQopKSkKKSkpCikpKQopKSkKqSkpCykpKQxpKSkN6SkpD2kpKRApKSkQKSkpEGkpKRBpKSkQaSk + pEGkpKRBpKSkQaSkpEGkpKRBpKSkQaSkpEGkpKRBpKSkQaSkpEGkpKRBpKSkQaSkpEGkpKRBpKSkQaSk + pEGkpKRBpKSkQaSkpEGkpKRBpKSkQaSkpEGkpKRBpKSkQaSkpEGkpKRBpKSkQaSkpECkpKRApKSkPaSk + pDekpKQxpKSkLKSkpCqkpKQopKSkKKSkpCikpKQopKSkKKSkpCikpKQopKSkKKSkpCikpKQopKSkKKSk + pCekpKQkpKSkH6SkpBukpKQYpKSkF6SkpBekpKQXpKSkF6SkpBWkpKQUpKSkEaSkpA6kpKQMpKSkC6Sk + pAukpKQKpKSkCaSkpAekpKQFpKSkBKSkpASkpKQDpKSkAqSkpAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEy1fRRLtXxAS7V8QUu1 + fEFMtXxBTLV9QUy1fUFMtX1CTbV9Q021fUNNtX1ETbV+RE61fkROtX5ETrV+RGmvikRpr4pFaq+KRmqv + ikhqr4pJaq+KSWqviklqr4pJaq+KSWqviklqr4pJaq+KSWqviklqr4pJaq+KSWqviklqr4pKa6+KS2uv + ik1rr4pPbK+LUWyvi1Jsr4tTbK+LU2yvi1Nsr4tTbK+LU2yvi1Nsr4tTbK+LU2yvi1Nsr4tTbK+LU2yv + i1Nsr4tTbK+LU2yvi1Nsr4tTb66MRJSnnRqkpKQXpKSkF6SkpBekpKQXpKSkF6SkpBekpKQXpKSkF6Sk + pBekpKQXpKSkF6SkpBekpKQXpKSkF6SkpBakpKQVpKSkEqSkpA+kpKQNpKSkDKSkpAukpKQLpKSkC6Sk + pAukpKQLpKSkC6SkpAukpKQLpKSkC6SkpAukpKQLpKSkC6SkpAmkpKQIpKSkBqSkpAWkpKQFpKSkBaSk + pAWkpKQFpKSkBKSkpASkpKQDpKSkAqSkpAKkpKQCpKSkAaSkpAGkpKQBAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAULWABDm5dV8uvHDLLrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68 + cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68 + cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68 + cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrtw8ze6 + dJpdsoUkca6OBXiskQWAq5QFiamYBZGnnAWapZ8FoKSiBaSkpAWkpKQFpKSkBaSkpAWkpKQFpKSkBKSk + pASkpKQDpKSkAqSkpAKkpKQCpKSkAqSkpAKkpKQCpKSkAqSkpAKkpKQCpKSkAqSkpAKkpKQCpKSkAqSk + pAKkpKQBpKSkAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADy6eBwtvHHHLbxx/y28cf8tvHH/Lbxx/y28 + cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28 + cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28 + cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28 + cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cfc7uXdoAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAArvnMjLb5y5y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+ + cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+ + cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+ + cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+ + cv8tvnL/Lb5y/y2+cv83u3eHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK790CCy+c88svnP/LL5z/yy+c/8svnP/LL5z/yy+ + c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+ + c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+ + c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+ + c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8zvXZTAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAArwHRzK8B0/yvAdP8rwHT/K8B0/yvAdP8rwHT/K8B0/yvAdP8rwHT/K8B0/yvAdP8rwHT/K8B0/yvA + dP8rwHT/K8B0/yvAdP8rwHT/K8B0/yvAdP8rwHT/K8B0/yvAdP8rwHT/K8B0/yvAdP8rwHT/K8B0/yvA + dP8rwHT/K8B0/yvAdP8rwHT/K8B0/yvAdP8rwHT/K8B0/yvAdP8rwHT/K8B0/yvAdP8rwHT/K8B0/yvA + dP8rwHT/K8B0/yvAdP8rwHT/K8B0/yvAdP8rwHT/K8B0/yvAdP8rwHT/K8B0/yvAdP8rwHT/K8B0/yvA + dP8rwHT/K8B0/yvAdP8rwHT/K8B0/yvAdOcqwHUIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKsB1BCvAdecrwHX/K8B1/yvAdf8rwHX/K8B1/yvA + df8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvA + df8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvA + df8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvA + df8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yrA + dWMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAApwXY7KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrB + dv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrB + dv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrB + dv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrB + dv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2twAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACnCd2spwnj/KcJ4/ynCeP8pwnj/KcJ4/ynC + eP8pwnj/KcJ4/ynCeP8pwnj/KcJ4/ynCeP8pwnj/KcJ4/ynCeP8pwnj/KcJ4/ynCeP8pwnj/KcJ4/ynC + eP8pwnj/KcJ4/ynCeP8pwnj/KcJ4/ynCeP8pwnj/KcJ4/ynCeP8pwnj/KcJ4/ynCeP8pwnj/KcJ4/ynC + eP8pwnj/KcJ4/ynCeP8pwnj/KcJ4/ynCeP8pwnj/KcJ4/ynCeP8pwnj/KcJ4/ynCeP8pwnj/KcJ4/ynC + eP8pwnj/KcJ4/ynCeP8pwnj/KcJ4/ynCeP8pwnj/KcJ4/ynCeP8pwnj/KcJ4/ynCeP8pwnj/KcJ4/ynC + eP8pwnjnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAKMN4fynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynD + ef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynD + ef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynD + ef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynD + ef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoxHl/KMR6/yjEev8oxHr/KMR6/yjE + ev8oxHr/KMR6/yjEev8oxHr/KMR6/yjEev8oxHr/KMR6/yjEev8oxHr/KMR6/yjEev8oxHr/KMR6/yjE + ev8oxHr/KMR6/yjEev8oxHr/KMR6/yjEev8oxHr/KMR6/yjEev8oxHr/KMR6/yjEev8oxHr/KMR6/yjE + ev8oxHr/KMR6/yjEev8oxHr/KMR6/yjEev8oxHr/KMR6/yjEev8oxHr/KMR6/yjEev8oxHr/KMR6/yjE + ev8oxHr/KMR6/yjEev8oxHr/KMR6/yjEev8oxHr/KMR6/yjEev8oxHr/KMR6/yjEev8oxHr/KMR6/yjE + ev8oxHr/KMR6/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAACfFen8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjF + e/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjF + e/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjF + e/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjF + e/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ8Z7fyfHfP8nx3z/J8d8/yfH + fP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfH + fP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfH + fP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfH + fP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfH + fP8nx3z/J8d8/yfHfP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAmx3x/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybI + ff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybI + ff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybI + ff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybI + ff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/wAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACbIfn8myH7/Jsh+/ybI + fv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybI + fv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybI + fv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybI + fv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybI + fv8myH7/Jsh+/ybIfv8myH7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAJcl+fyXJf/8lyX//Jcl//yXJf/8lyX//Jcl//yXJf/8lyX//Jcl//yXJ + f/8lyX//Jcl//yXJf/8lyX//Jcl//yXJf/8lyX//Jcl//yXJf/8lyX//Jcl//yXJf/8lyX//Jcl//yXJ + f/8lyX//Jcl//yXJf/8lyX//Jcl//yXJf/8lyX//Jcl//yXJf/8lyX//Jcl//yXJf/8lyX//Jcl//yXJ + f/8lyX//Jcl//yXJf/8lyX//Jcl//yXJf/8lyX//Jcl//yXJf/8lyX//Jcl//yXJf/8lyX//Jcl//yXJ + f/8lyX//Jcl//yXJf/8lyX//Jcl//yXJf/8lyX//Jcl//yXJf/8lyX//Jcl//yXJf/8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlyX9/JcqA/yXK + gP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXK + gP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXK + gP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXK + gP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXK + gP8lyoD/JcqA/yXKgP8lyoD/JcqA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAACTKgH8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTL + gf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTL + gf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTL + gf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTL + gf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJMuBfyTM + gv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTM + gv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTM + gv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTM + gv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTM + gv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjzIJ/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPN + g/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPN + g/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPN + g/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPN + g/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/wAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACPN + g38jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPN + hP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPN + hP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPN + hP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPN + hP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIs2EfyLOhP8izoT/Is6E/yLOhP8izoT/Is6E/yLO + hP8izoT/Is6E/yLOhP8izoT/Is6E/yLOhP8izoT/Is6E/yLOhP8izoT/Is6E/yLOhP8izoT/Is6E/yLO + hP8izoT/Is6E/yLOhP8izoT/Is6E/yLOhP8izoT/Is6E/yLOhP8izoT/Is6E/yLOhP8izoT/Is6E/yLO + hP8izoT/Is6E/yLOhP8izoT/Is6E/yLOhP8izoT/Is6E/yLOhP8izoT/Is6E/yLOhP8izoT/Is6E/yLO + hP8izoT/Is6E/yLOhP8izoT/Is6E/yLOhP8izoT/Is6E/yLOhP8izoT/Is6E/yLOhP8izoT/Is6E/yLO + hP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAizoV/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLP + hf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLP + hf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLP + hf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLP + hf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACHPhn8hz4b/Ic+G/yHPhv8hz4b/Ic+G/yHP + hv8hz4b/Ic+G/yHPhv8hz4b/Ic+G/yHPhv8hz4b/Ic+G/yHPhv8hz4b/Ic+G/yHPhv8hz4b/Ic+G/yHP + hv8hz4b/Ic+G/yHPhv8hz4b/Ic+G/yHPhv8hz4b/Ic+G/yHPhv8hz4b/Ic+G/yHPhv8hz4b/Ic+G/yHP + hv8hz4b/Ic+G/yHPhv8hz4b/Ic+G/yHPhv8hz4b/Ic+G/yHPhv8hz4b/Ic+G/yHPhv8hz4b/Ic+G/yHP + hv8hz4b/Ic+G/yHPhv8hz4b/Ic+G/yHPhv8hz4b/Ic+G/yHPhv8hz4b/Ic+G/yHPhv8hz4b/Ic+G/yHP + hv8hz4b/oX0rv6F9K7+hfSu/oX0rv6F9K7+hfSu/oX0rv6F9K7+hfSu/oX0rv6F9K7+hfSu/oX0rv6F9 + K7+hfSu/oX0rv6F9K7ehfSuTon0rV6J+LAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAIdCGfyHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQ + h/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQ + h/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQ + h/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQ + h/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/+ifiz/on4s/6J+LP+ifiz/on4s/6J+ + LP+ifiz/on4s/6J+LP+ifiz/on4s/6J+LP+ifiz/on4s/6J+LP+ifiz/on4s/6J+LP+ifiz/on4s66N+ + LGujfi0EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAg0Id/INGI/yDRiP8g0Yj/INGI/yDR + iP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDR + iP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDR + iP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDR + iP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDR + iP8g0Yj/INGI/6N/Lf+jfy3/o38t/6N/Lf+jfy3/o38t/6N/Lf+jfy3/o38t/6N/Lf+jfy3/o38t/6N/ + Lf+jfy3/o38t/6N/Lf+jfy3/o38t/6N/Lf+jfy3/o38t/6N/Lbekfy0MAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAACDRiH8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/pIAu/6SALv+kgC7/pIAu/6SA + Lv+kgC7/pIAu/6SALv+kgC7/pIAu/6SALv+kgC7/pIAu/6SALv+kgC7/pIAu/6SALv+kgC7/pIAu/6SA + Lv+kgC7/pIAu/6SALrulgC8EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH9GJfyDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif+mgS//poEv/6aBL/+mgS//poEv/6aBL/+mgS//poEv/6aBL/+mgS//poEv/6aB + L/+mgS//poEv/6aBL/+mgS//poEv/6aBL/+mgS//poEv/6aBL/+mgS//poEv/6aBL3sAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAf0op/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/T + iv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/T + iv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/T + iv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/T + iv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/6eCMP+ngjD/p4Iw/6eC + MP+ngjD/p4Iw/6eCMP+ngjD/p4Iw/6eCMP+ngjD/p4Iw/6eCMP+ngjD/p4Iw/6eCMP+ngjD/p4Iw/6eC + MP+ngjD/p4Iw/6eCMP+ngjD/p4Iw76eCMBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB7Tin8f04v/H9OL/x/T + i/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/T + i/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/T + i/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/T + i/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/T + i/8f04v/H9OL/x/Ti/8f04v/qIMx/6iDMf+ogzH/qIMx/6iDMf+ogzH/qIMx/6iDMf+ogzH/qIMx/6iD + Mf+ogzH/qIMx/6iDMf+ogzH/qIMx/6iDMf+ogzH/qIMx/6iDMf+ogzH/qIMx/6iDMf+ogzH/qIMxYwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAHtOLfx7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7U + jP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7U + jP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7U + jP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7U + jP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP+phDL/qYQy/6mE + Mv+phDL/qYQy/6mEMv+phDL/qYQy/6mEMv+phDL/qYQy/6mEMv+phDL/qYQy/6mEMv+phDL/qYQy/6mE + Mv+phDL/qYQy/6mEMv+phDL/qYQy/6mEMv+phDKrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAe1Ix/HtWM/x7V + jP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7V + jP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7V + jP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7V + jP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7V + jP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/6qFM/+qhTP/qoUz/6qFM/+qhTP/qoUz/6qFM/+qhTP/qoUz/6qF + M/+qhTP/qoUz/6qFM/+qhTP/qoUz/6qFM/+qhTP/qoUz/6qFM/+qhTP/qoUz/6qFM/+qhTP/qoUz/6qF + M88AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAB3UjH8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/rIY1/6yG + Nf+shjX/rIY1/6yGNf+shjX/rIY1/6yGNf+shjX/rIY1/6yGNf+shjX/rIY1/6yGNf+shjX/rIY1/6yG + Nf+shjX/rIY1/6yGNf+shjX/rIY1/6yGNf+shjX/rIY13wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHdWNfx3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv+thzb/rYc2/62HNv+thzb/rYc2/62HNv+thzb/rYc2/62H + Nv+thzb/rYc2/62HNv+thzb/rYc2/62HNv+thzb/rYc2/62HNv+thzb/rYc2/62HNv+thzb/rYc2/62H + Nv+thzbfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAd1o5/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/66I + N/+uiDf/rog3/66IN/+uiDf/rog3/66IN/+uiDf/rog3/66IN/+uiDf/rog3/66IN/+uiDf/rog3/66I + N/+uiDf/rog3/66IN/+uiDf/rog3/66IN/+uiDf/rog3/66IN98AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB3W + jn8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//r4k4/6+JOP+viTj/r4k4/6+JOP+viTj/r4k4/6+J + OP+viTj/r4k4/6+JOP+viTj/r4k4/6+JOP+viTj/r4k4/6+JOP+viTj/r4k4/6+JOP+viTj/r4k4/6+J + OP+viTj/r4k43wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHNePfxzXj/8c14//HNeP/xzXj/8c14//HNeP/xzX + j/8c14//HNeP/xzXj/8c14//HNeP/xzXj/8c14//HNeP/xzXj/8c14//HNeP/xzXj/8c14//HNeP/xzX + j/8c14//HNeP/xzXj/8c14//HNeP/xzXj/8c14//HNeP/xzXj/8c14//HNeP/xzXj/8c14//HNeP/xzX + j/8c14//HNeP/xzXj/8c14//HNeP/xzXj/8c14//HNeP/xzXj/8c14//HNeP/xzXj/8c14//HNeP/xzX + j/8c14//HNeP/xzXj/8c14//HNeP/xzXj/8c14//HNeP/xzXj/8c14//HNeP/xzXj/8c14//HNeP/xzX + j/+xijn/sYo5/7GKOf+xijn/sYo5/7GKOf+xijn/sYo5/7GKOf+xijn/sYo5/7GKOf+xijn/sYo5/7GK + Of+xijn/sYo5/7GKOf+xijn/sYo5/7GKOf+xijn/sYo5/7GKOf+xijnfAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAd2JB/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzY + kP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzY + kP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzY + kP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzY + kP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/7KLOv+yizr/sos6/7KLOv+yizr/sos6/7KL + Ov+yizr/sos6/7KLOv+yizr/sos6/7KLOv+yizr/sos6/7KLOv+yizr/sos6/7KLOv+yizr/sos6/7KL + Ov+yizr/sos6/7KLOt8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB3YkX8j2pf/HNiR/xzYkf8c2JH/HNiR/xzY + kf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzY + kf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzY + kf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzY + kf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/yTb + mP8c2JH/s4w7/7OMO/+zjDv/s4w7/7OMO/+zjDv/s4w7/7OMO/+zjDv/s4w7/7OMO/+zjDv/s4w7/7OM + O/+zjDv/s4w7/7OMO/+zjDv/s4w7/7OMO/+zjDv/s4w7/7OMO/+zjDv/s4w73wAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAHtmSfyven/8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZ + kf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZ + kf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZ + kf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZ + kf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/K96f/x7Xj/+0jTz/tI08/7SNPP+0jTz/tI08/7SN + PP+0jTz/tI08/7SNPP+0jTz/tI08/7SNPP+0jTz/tI08/7SNPP+0jTz/tI08/7SNPP+0jTz/tI08/7SN + PP+0jTz/tI08/7SNPP+0jTzfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAe2ZRfLN6h/yDalv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8y4ab/M82F/7WOPv+1jj7/tY4+/7WOPv+1jj7/tY4+/7WOPv+1jj7/tY4+/7WOPv+1jj7/tY4+/7WO + Pv+1jj7/tY4+/7WOPv+1jj7/tY4+/7WOPv+1jj7/tY4+/7WOPv+1jj7/tY4+/7WOPt8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAB7alSQg25f/NOKo/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/H9qV/zXiqf9VvXL/t48//7ePP/+3jz//t48//7eP + P/+3jz//t48//7ePP/+3jz//t48//7ePP/+3jz//t48//7ePP/+3jz//t48//7ePP/+3jz//t48//7eP + P/+3jz//t48//7ePP/+3jz//t48/3wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABvaksc95bD/JN2a/xva + kv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xva + kv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xva + kv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xva + kv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xva + kv885a//Jd2b/5OhU/+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iR + QP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUDfAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAH9uWRyHcmP9F6Lf/INuX/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/M+Ko/znkrf9CyH7/uZJB/7mSQf+5kkH/uZJB/7mS + Qf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mS + Qf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mSQd8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHdqVlyrf + of9J6rz/Kt+g/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xra + k/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xra + k/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xra + k/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/HtuW/zzl + sP9C57b/JdaO/6abTP+6k0L/upNC/7qTQv+6k0L/upNC/7qTQv+6k0L/upNC/7qTQv+6k0L/upNC/7qT + Qv+6k0L/upNC/7qTQv+6k0L/upNC/7qTQv+6k0L/upNC/7qTQv+6k0L/upNC/7qTQv+6k0L/upNC3wAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAi3JoEGtqTqybenf9H6rv/Qui3/zHiqP8m3p3/INyZ/yDc + mf8g3Jn/INyZ/yDcmf8g3Jn/INyZ/yDcmf8g3Jn/INyZ/yDcmf8g3Jn/INyZ/yDcmf8g3Jn/INyZ/yDc + mf8g3Jn/INyZ/yDcmf8g3Jn/INyZ/yDcmf8g3Jn/INyZ/yDcmf8g3Jn/INyZ/yDcmf8g3Jn/INyZ/yDc + mf8g3Jn/INyZ/yDcmf8g3Jn/INyZ/yDcmf8g3Jn/INyZ/yDcmf8g3Jn/INyZ/yDcmf8g3Jn/INyZ/yDc + mf8g3Jn/INyZ/yDcmf8j3Zv/KuCh/znlr/9K677/OOWt/yXWjv+VpFb/u5RD/7uUQ/+7lEP/u5RD/7uU + Q/+7lEP/u5RD/7uUQ/+7lEP/u5RD/7uUQ/+7lEP/u5RD/7uUQ/+7lEP/u5RD/7uUQ/+7lEP/u5RD/7uU + Q/+7lEP/u5RD/7uUQ/+7lEP/u5RD/7uUQ/+7lEPfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAHduWcxvble8t4aX/P+e1/0nqvf9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07s + wv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07s + wv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07s + wv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/0zrwP9F6br/N+St/yPe + nP9FyH//qJ1O/72VRP+9lUT/vZVE/72VRP+9lUT/vZVE/72VRP+9lUT/vZVE/72VRP+9lUT/vZVE/72V + RP+9lUT/vZVE/72VRP+9lUT/vZVE/72VRP+9lUT/vZVE/72VRP+9lUT/vZVE/72VRP+9lUT/vZVE/7mU + R+M9i6ogMoqzICOJvyAQiM8gAIfdIACH3SAAh90gAIfdIACH3SAAh90gAIfdIACH3SAAh90gAIfdIACH + 3SAAh90gAIfdIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJN2cFB3clm8a25S7GtuU5xrb + lP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrb + lP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrb + lP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrb + lP8a25T/GtuU/xrblP8a25T/H9mR/zbPhv9awHX/mKZY/76WRf++lkX/vpZF/76WRf++lkX/vpZF/76W + Rf++lkX/vpZF/76WRf++lkX/vpZF/76WRf++lkX/vpZF/76WRf++lkX/vpZF/76WRf++lkX/vpZF/76W + Rf++lkX/vpZF/76WRf++lkX/vpZF/76WRf++lkX/ppRY/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH + 3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd9wCH3bcAh91PAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL+XRp+/l0b/v5dG/7+XRv+/l0b/v5dG/7+X + Rv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+X + Rv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+X + Rv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+X + Rv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+X + Rv+nlVn/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH + 3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93HAIfdIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAwJhHn8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CY + R//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CY + R//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CY + R//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CY + R//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/6iWWv8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH + 3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH + 3f8Ah93nAIjeJwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADBmUmfwZlJ/8GZSf/BmUn/wZlJ/8GZ + Sf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZ + Sf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZ + Sf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZ + Sf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZ + Sf/BmUn/qZdb/wCJ3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ + 3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ3v8Aid7fAIneEAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAMOaSp/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8Oa + Sv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8Oa + Sv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8Oa + Sv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8Oa + Sv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv+qmFz/AIrf/wCK3/8Ait//AIrf/wCK + 3/8Ait//AIrf/wCK3/8Ait//AIrf/wCK3/8Ait//AIrf/wCK3/8Ait//AIrf/wCK3/8Ait//AIrf/wCK + 3/8Ait//AIrf/wCK3/8Ait+XAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxJtLn8SbS//Em0v/xJtL/8Sb + S//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8Sb + S//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8Sb + S//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8Sb + S//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8Sb + S//Em0v/xJtL/6uZXf8Ai+D/AIvg/wCL4P8Ai+D/AIvg/wCL4P8Ai+D/AIvg/wCL4P8Ai+D/AIvg/wCL + 4P8Ai+D/AIvg/wCL4P8Ai+D/AIvg/wCL4P8Ai+D/AIvg/wCL4P8Ai+D/AIvg/wCL4PcAjOAUAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADGnEyfxpxM/8acTP/GnEz/xpxM/8acTP/GnEz/xpxM/8acTP/GnEz/xpxM/8ac + TP/GnEz/xpxM/8acTP/GnEz/xpxM/8acTP/GnEz/xpxM/8acTP/GnEz/xpxM/8acTP/GnEz/xpxM/8ac + TP/GnEz/xpxM/8acTP/GnEz/xpxM/8acTP/GnEz/xpxM/8acTP/GnEz/xpxM/8acTP/GnEz/xpxM/8ac + TP/GnEz/xpxM/8acTP/GnEz/xpxM/8acTP/GnEz/xpxM/8acTP/GnEz/xpxM/8acTP/GnEz/xpxM/8ac + TP/GnEz/xpxM/8acTP/GnEz/xpxM/8acTP/GnEz/xpxM/8acTP/GnEz/rZpe/wCN4P8AjeD/AI3g/wCN + 4P8AjeD/AI3g/wCN4P8AjeD/AI3g/wCN4P8AjeD/AI3g/wCN4P8AjeD/AI3g/wCN4P8AjeD/AI3g/wCN + 4P8AjeD/AI3g/wCN4P8AjeD/AI3g/wCN4GMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMedTZ/HnU3/x51N/8ed + Tf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8ed + Tf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8ed + Tf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8ed + Tf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8ed + Tf/HnU3/x51N/8edTf+um1//AI7h/wCO4f8AjuH/AI7h/wCO4f8AjuH/AI7h/wCO4f8AjuH/AI7h/wCO + 4f8AjuH/AI7h/wCO4f8AjuH/AI7h/wCO4f8AjuH/AI7h/wCO4f8AjuH/AI7h/wCO4f8AjuH/AI7hlwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAyZ5On8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8me + Tv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8me + Tv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8me + Tv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8me + Tv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/6+cYf8Aj+L/AI/i/wCP + 4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP + 4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP4v8Aj+K3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADKn0+fyp9P/8qf + T//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qf + T//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qf + T//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qf + T//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qf + T//Kn0//yp9P/8qfT//Kn0//sJ1i/wCR4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR + 4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR + 478AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAMugUJ/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ug + UP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ug + UP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ug + UP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ug + UP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP+xnmP/AJLk/wCS + 5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS + 5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS5P8AkuT/AJLkvwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzKFSn8yh + Uv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yh + Uv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yh + Uv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yh + Uv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yh + Uv/MoVL/zKFS/8yhUv/MoVL/zKFS/7KfZP8Ak+T/AJPk/wCT5P8Ak+T/AJPk/wCT5P8Ak+T/AJPk/wCT + 5P8Ak+T/AJPk/wCT5P8Ak+T/AJPk/wCT5P8Ak+T/AJPk/wCT5P8Ak+T/AJPk/wCT5P8Ak+T/AJPk/wCT + 5P8Ak+S/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADNolOfzaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82i + U//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82i + U//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82i + U//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82i + U//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/s6Fl/wCU + 5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU + 5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU5b8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM+j + VJ/Qpln/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+j + VP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+j + VP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+j + VP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+j + VP/Po1T/z6NU/8+jVP/Po1T/z6NU/9CmWf+0omb/AJbm/wCW5v8Alub/AJbm/wCW5v8Alub/AJbm/wCW + 5v8Alub/AJbm/wCW5v8Alub/AJbm/wCW5v8Alub/AJbm/wCW5v8Alub/AJbm/wCW5v8Alub/AJbm/wCW + 5v8Alub/AJbmvwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0KVVn9SsYP/QpVX/0KVV/9ClVf/QpVX/0KVV/9Cl + Vf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9Cl + Vf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9Cl + Vf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9Cl + Vf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/1a5j/7Wj + Z/8Al+f/AJfn/wCX5/8Al+f/AJfn/wCX5/8Al+f/AJfn/wCX5/8Al+f/AJfn/wCX5/8Al+f/AJfn/wCX + 5/8Al+f/AJfn/wCX5/8Al+f/AJfn/wCX5/8Al+f/AJfn/wCX5/8Al+e/AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADRplaX2LNr/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9Gm + Vv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9Gm + Vv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9Gm + Vv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9Gm + Vv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Ys2v/pqNz/wCY6P8AmOj/AJjo/wCY6P8AmOj/AJjo/wCY + 6P8AmOj/AJjo/wCY6P8AmOj/AJjo/wCY6P8AmOj/AJjo/wCY6P8AmOj/AJjo/wCY6P8AmOj/AJjo/wCY + 6P8AmOj/AJjo/wCY6L8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANOoWm/atm//1Kte/9KnV//Sp1f/0qdX/9Kn + V//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9Kn + V//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9Kn + V//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9Kn + V//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdY/9y6 + df+Doo3/AJrp/wCa6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa + 6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa6f8Amun/AJrpvwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA1KpcJNWrXv/gv3v/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9Oo + WP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9Oo + WP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9Oo + WP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9Oo + WP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/ct3D/2bNq/0ift/8Am+n/AJvp/wCb6f8Am+n/AJvp/wCb + 6f8Am+n/AJvp/wCb6f8Am+n/AJvp/wCb6f8Am+n/AJvp/wCb6f8Am+n/AJvp/wCb6f8Am+n/AJvp/wCb + 6f8Am+n/AJvp/wCb6f8Am+m/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1KhZu+HAfv/btWz/1alZ/9Wp + Wf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9Wp + Wf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9Wp + Wf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9Wp + Wf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/2K9j/+TG + h//AqGf/Bp3m/wCc6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc + 6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc6r8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADWrF8r16xe9+bIi//ct2//1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aq + Wv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aq + Wv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aq + Wv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aq + Wv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9mxZv/ny4//2bBl/0miuf8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe + 6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe + 6/8Anuv/AJ7r/wCe6/8Anuv/AJ7rvwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADXrF5j2rBk/+fL + j//jw4L/2rFl/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9er + W//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9er + W//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9er + W//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9muYf/hvnv/6c6T/9uz + av94pZr/AJ/s/wCf7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf + 7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf7P8An+y/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADYrV9f2a1f9+LAfv/q0Jf/58uP/+TEg//kw4P/5MOD/+TD + g//kw4P/5MOD/+TDg//kw4P/5MOD/+TDg//kw4P/5MOD/+TDg//kw4P/5MOD/+TDg//kw4P/5MOD/+TD + g//kw4P/5MOD/+TDg//kw4P/5MOD/+TDg//kw4P/5MOD/+TDg//kw4P/5MOD/+TDg//kw4P/5MOD/+TD + g//kw4P/5MOD/+TDg//kw4P/5MOD/+TDg//kw4P/5MOD/+TDg//kw4P/5MOD/+TDg//kw4P/5MOD/+TD + g//kw4P/5MOD/+TDg//nyo3/6tGX/+XFhf/asGP/cqeg/wCg7f8AoO3/AKDt/wCg7f8AoO3/AKDt/wCg + 7f8AoO3/AKDt/wCg7f8AoO3/AKDt/wCg7f8AoO3/AKDt/wCg7f8AoO3/AKDt/wCg7f8AoO3/AKDt/wCg + 7f8AoO3/AKDt/wCg7f8AoO3/AKDt/wCg7b8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADasGQk2a1er9quYPvfuXL/4sB8/+LAfP/iwHz/4sB8/+LAfP/iwHz/4sB8/+LAfP/iwHz/4sB8/+LA + fP/iwHz/4sB8/+LAfP/iwHz/4sB8/+LAfP/iwHz/4sB8/+LAfP/iwHz/4sB8/+LAfP/iwHz/4sB8/+LA + fP/iwHz/4sB8/+LAfP/iwHz/4sB8/+LAfP/iwHz/4sB8/+LAfP/iwHz/4sB8/+LAfP/iwHz/4sB8/+LA + fP/iwHz/4sB8/+LAfP/iwHz/4sB8/+LAfP/iwHz/4sB8/+LAfP/iwHz/4sB8/+C6c//bsWT/oqqC/zKk + y/8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh + 7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHtvwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3LNpFNuyZlPbsmZ/27Jmf9uy + Zn/bsmZ/27Jmf9uyZn/bsmZ/27Jmf9uyZn/bsmZ/27Jmf9uyZn/bsmZ/2LFof8ywb3/DsHR/u695f22o + p99tqKf/bain/22op/9tqKf/bain/22op/9tqKf/bain/22op/9tqKf/bain/22op/9tqKf/bain/22o + p/9tqKf/bain/22op/9tqKf/bain/22op/9tqKf/bain/22op/9tqKf/bain/22op/9tqKf/bain/22o + p/9tqKf/bain/22op/9tqKf/VKe2/x6k2v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj + 7v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj + 7v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj7v8Ao+6/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKTvvwCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk + 7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk + 7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk + 7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk + 7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk + 778AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAApfC/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl + 8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl + 8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl + 8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl + 8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXwvwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACn8b8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn + 8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn + 8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn + 8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn + 8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn + 8f8Ap/G/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAKjxvwCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo + 8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo + 8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo + 8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo + 8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8b8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqfK/AKny/wCp8v8AqfL/AKny/wCp + 8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp + 8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp + 8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp + 8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp + 8v8AqfL/AKnyvwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAACq878AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq + 8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq + 8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq + 8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq + 8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvO/AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKz0vwCs9P8ArPT/AKz0/wCs + 9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs + 9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs + 9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs + 9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs + 9P8ArPT/AKz0/wCs9L8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAArfS/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt + 9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt + 9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt + 9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt + 9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30vwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACu9b8ArvX/AK71/wCu + 9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu + 9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu + 9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu + 9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu + 9f8ArvX/AK71/wCu9f8ArvW/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAK/2vwCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv + 9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv + 9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv + 9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv + 9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9r8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsfe/ALH3/wCx + 9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx + 9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx + 9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx + 9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx + 9/8Asff/ALH3/wCx9/8Asff/ALH3vwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACy+L8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy + +P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy + +P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy + +P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy + +P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvi/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALP4vwCz + +P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz + +P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz + +P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz + +P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz + +P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+L8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtfm/ALn5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1 + +f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1 + +f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1 + +f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1 + +f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Auvr/ALX5vwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC2 + +r8Avvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2 + +v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2 + +v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2 + +v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2 + +v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC/+v8Atvq3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALf7qwDE+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3 + +/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3 + +/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3 + +/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3 + +/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/AMT7/wC3 + +5cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAuft3AMb8/wC9+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4 + +/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4 + +/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4 + +/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4 + +/8AuPv/ALj7/wC4+/8AuPv/ALj7/wDA/P8AxPz/ALr7YwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC7+yAAvPz7AND8/wC5/P8Aufz/ALn8/wC5 + /P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5 + /P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5 + /P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5 + /P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Auvz/AM/8/wC6 + /PcAvPsUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAC6/Z8Ayf3/AM39/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7 + /f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7 + /f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7 + /f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7 + /f8Au/3/ALv9/wC7/f8Au/3/ALv9/wDO/f8AyP3/ALv8iwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL/8FAC8/ucA0f7/AND+/wC+ + /v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8 + /v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8 + /v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8 + /v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC+/v8A0v7/AND+/wC8 + /tsAv/wMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAMD9JwC9/ucAz/7/ANr+/wDO/v8AxP7/AL7+/wC9/v8Avf7/AL3+/wC9 + /v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9 + /v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9 + /v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9 + /v8Avf7/AL/+/wDF/v8Azv7/ANr+/wDN/v8Avf7nAMD9JwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMH9IAC+ + /8cAxP//ANL//wDb//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd + //8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd + //8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd + //8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//ANr//wDR//8AxP//AL7/uwDB + /RgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADB/k8Avv+vAL7/8wDB//8Awv//AML//wDC + //8Awv//AML//wDC//8Awv//AML//wDC//8Awv//AML//wDC//8Awv//AML//wDC//8Awv//AML//wDC + //8Awv//AML//wDC//8Awv//AML//wDC//8Awv//AML//wDC//8Awv//AML//wDC//8Awv//AML//wDC + //8Awv//AML//wDC//8Awv//AML//wDC//8Awv//AML//wDC//8Awv//AML//wDC//8Awv//AML//wDC + //8Awv//AML//wDA//8Avv/vAL7/qwDB/kcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAML+GADC/iAAwv4gAML+IADC/iAAwv4gAML+IADC/iAAwv4gAML+IADC + /iAAwv4gAML+IADC/iAAwv4gAML+IADC/iAAwv4gAML+IADC/iAAwv4gAML+IADC/iAAwv4gAML+IADC + /iAAwv4gAML+IADC/iAAwv4gAML+IADC/iAAwv4gAML+IADC/iAAwv4gAML+IADC/iAAwv4gAML+IADC + /iAAwv4gAML+IADC/iAAwv4gAML+IADC/iAAwv4gAML+IADC/iAAwv4gAML+GAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////////////////// + ////////////////////////////////////////////8AAAAAAAAAAAA//////4AAAAAAAAAAAAAAAA + B//8AAAAAAAAAAAAAAAAAAAP4AAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAA + AAAAAAAAgAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAgAAAAAAA + AAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAB/AAAAAAAAAAAAAAAAAAAH//w + AAAAAAAAAAAAAAAAD///gAAAAAAAAAAAAAAP/////wAAAAAAAAAD//////////4AAAAAAAAAAf////// + ///8AAAAAAAAAAD//////////AAAAAAAAAAAf/////////gAAAAAAAAAAH/////////4AAAAAAAAAAB/ + ////////+AAAAAAAAAAAf/////////gAAAAAAAAAAH/////////4AAAAAAAAAAB/////////+AAAAAAA + AAAAf/////////gAAAAAAAAAAH/////////4AAAAAAAAAAB/////////+AAAAAAAAAAAf/////////gA + AAAAAAAAAH/////////4AAAAAAAAAAB/////////+AAAAAAAAAAAf/////////gAAAAAAAAAAH////// + ///4AAAAAAAAAAB/////////+AAAAAAAAAAAf/////////gAAAAAAAAAAH/////////4AAAAAAAAAAB/ + ////////+AAAAAAAAAAAAAAH//////gAAAAAAAAAAAAAAf/////4AAAAAAAAAAAAAAD/////+AAAAAAA + AAAAAAAAf/////gAAAAAAAAAAAAAAH/////4AAAAAAAAAAAAAAA/////+AAAAAAAAAAAAAAAP/////gA + AAAAAAAAAAAAAD/////4AAAAAAAAAAAAAAA/////+AAAAAAAAAAAAAAAP/////gAAAAAAAAAAAAAAD// + ///4AAAAAAAAAAAAAAA/////+AAAAAAAAAAAAAAAP/////gAAAAAAAAAAAAAAD/////4AAAAAAAAAAAA + AAA/////+AAAAAAAAAAAAAAAP/////gAAAAAAAAAAAAAAD/////4AAAAAAAAAAAAAAA/////+AAAAAAA + AAAAAAAAP/////wAAAAAAAAAAAAAAD/////8AAAAAAAAAAAAAAA//////gAAAAAAAAAAAAAAP/////4A + AAAAAAAAAAAAAD//////gAAAAAAAAAAAAAAAAB///8AAAAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAA + AP/////8AAAAAAAAAAAAAAB//////AAAAAAAAAAAAAAAP/////wAAAAAAAAAAAAAAD/////8AAAAAAAA + AAAAAAAf/////AAAAAAAAAAAAAAAH/////wAAAAAAAAAAAAAAB/////8AAAAAAAAAAAAAAAf/////AAA + AAAAAAAAAAAAH/////wAAAAAAAAAAAAAAB/////8AAAAAAAAAAAAAAAf/////AAAAAAAAAAAAAAAH/// + //wAAAAAAAAAAAAAAB/////8AAAAAAAAAAAAAAAf/////AAAAAAAAAAAAAAAH/////wAAAAAAAAAAAAA + AB/////8AAAAAAAAAAAAAAAf/////gAAAAAAAAAAAAAAH/////4AAAAAAAAAAAAAAB//////AAAAAAAA + AAAAAAAf/////4AAAAAAAAAAAAAAH//////AAAAAAAAAAAAAAB//////8AAAAAAAAAAAAAAf//////// + /gAAAAAAAAAAH/////////4AAAAAAAAAAB/////////+AAAAAAAAAAAf/////////gAAAAAAAAAAH/// + //////4AAAAAAAAAAB/////////+AAAAAAAAAAAf/////////gAAAAAAAAAAH/////////4AAAAAAAAA + AB/////////+AAAAAAAAAAAf/////////gAAAAAAAAAAH/////////4AAAAAAAAAAB/////////+AAAA + AAAAAAAf/////////gAAAAAAAAAAH/////////4AAAAAAAAAAB/////////+AAAAAAAAAAAf//////// + /gAAAAAAAAAAH/////////4AAAAAAAAAAB/////////+AAAAAAAAAAAf/////////wAAAAAAAAAAP/// + //////8AAAAAAAAAAD//////////gAAAAAAAAAB//////////8AAAAAAAAAA///////////wAAAAAAAA + A////////////gAAAAAAAB////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////8oAAAAYAAAAMAA + AAABACAAAAAAAICUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKOjowGjo6MBo6OjAaOj + owGjo6MBo6OjAaOjowGjo6MBo6OjAaOjowKjo6MDo6OjA6OjowSjo6MEo6OjA6OjowSjo6MEo6OjA6Oj + owSjo6MEo6OjA6OjowSjo6MEo6OjA6OjowSjo6MEo6OjA6OjowSjo6MEo6OjA6OjowSjo6MEo6OjA6Oj + owSjo6MDo6OjBKOjowSjo6MDo6OjBKOjowSjo6MDo6OjBKOjowOjo6MCo6OjAaOjowGjo6MBo6OjAaOj + owGjo6MBo6OjAaOjowGjo6MBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAACjo6MBpKSkAaSkpAKkpKQDo6OjA6SkpASjo6MFpKSkBqSkpAejo6MHpKSkB6Sk + pAijo6MLpKSkDqSkpA+jo6MQpKSkEKSkpBCjo6MQpKSkEKSkpBCjo6MQpKSkEqSkpBekpKQbo6OjHaSk + pB6kpKQeo6OjHaSkpB6kpKQeo6OjHaSkpB6kpKQeo6OjHaSkpB6kpKQeo6OjHaSkpB6kpKQeo6OjHaSk + pB6kpKQeo6OjHaSkpB6kpKQeo6OjHaSkpB6jo6MdpKSkHqSkpB6jo6MdpKSkHqSkpB6jo6MdpKSkHqSk + pByjo6MZpKSkFKSkpBGjo6MQpKSkEKSkpBCjo6MQpKSkEKSkpBCjo6MPpKSkDqSkpAujo6MJpKSkB6Sk + pAejo6MHpKSkB6SkpAajo6MEpKSkA6SkpAOjo6MCpKSkAqSkpAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAApKSkAqSkpASjo6MGpKSkCaSkpAujo6MNpKSkEaSkpBWkpKQXo6OjGaSk + pB2jo6MipKSkJ6SkpCqjo6MqpKSkK6SkpC6jo6M0pKSkPKSkpEGjo6NCpKSkQqSkpEKjo6NCpKSkQqSk + pEKjo6NDpKSkR6SkpFCkpKRZo6OjXqSkpF+kpKRfo6OjX6SkpF+kpKRfo6OjX6SkpF+kpKRfo6OjX6Sk + pF+kpKRfo6OjX6SkpF+kpKRfo6OjX6SkpF+kpKRfo6OjX6SkpF+kpKRfo6OjX6SkpF+jo6NfpKSkX6Sk + pF+jo6NfpKSkX6SkpF+jo6NfpKSkXqSkpFyjo6NVpKSkS6SkpEWjo6NCpKSkQqSkpEKjo6NCpKSkQqSk + pEKjo6NBpKSkPaSkpDajo6MupKSkK6SkpCqjo6MqpKSkKaSkpCWjo6MfpKSkGqSkpBijo6MWpKSkE6Sk + pA+jo6MMpKSkCaSkpAejo6MEpKSkAgAAAAAAAAAAAAAAAKOjowGjo6MGo6OjD6Ojoxmjo6Mjo6OjLaOj + ozSjo6M6o6OjQ6Ojo0yjo6NRo6OjVaOjo1ujo6Nlo6OjbqOjo3Kjo6Nzo6OjdKOjo3ijo6OBo6OjjKOj + o5Gjo6OTo6Ojk6Ojo5Ojo6OTo6Ojk6Ojo5Ojo6OUo6OjmaOjo6Kjo6Oro6OjsKOjo7Kjo6Oyo6OjsqOj + o7Kjo6Oyo6OjsqOjo7Kjo6Oyo6OjsqOjo7Kjo6Oyo6OjsqOjo7Kjo6Oyo6OjsqOjo7Kjo6Oyo6OjsqOj + o7Kjo6Oyo6OjsqOjo7Kjo6Oyo6OjsqOjo7Kjo6Oyo6OjsqOjo7Kjo6Oyo6OjsaOjo6+jo6Ono6OjnaOj + o5ajo6OTo6Ojk6Ojo5Ojo6OTo6Ojk6Ojo5Ojo6OSo6OjjKOjo4Ojo6N5o6OjdKOjo3Ojo6Nyo6OjcKOj + o2qjo6Ngo6OjV6Ojo1Ojo6NPo6OjR6Ojoz6jo6M2o6OjLqOjoyajo6Mdo6OjEqOjowmjo6MCAAAAAKSk + pAWjo6MWpKSkM6SkpE+jo6NmpKSkeKSkpISjo6ONpKSklqSkpKGkpKSoo6Ojq6SkpLGjo6O6pKSkwqSk + pMWjo6PGpKSkxqSkpMmjo6PPpKSk1qSkpNqjo6PbpKSk3KSkpNyjo6PcpKSk3KSkpNyjo6PcpKSk3qSk + pOOkpKToo6Oj6qSkpOukpKTso6Oj66SkpOykpKTso6Oj66SkpOykpKTso6Oj66SkpOykpKTso6Oj66Sk + pOykpKTso6Oj66SkpOykpKTso6Oj66SkpOykpKTso6Oj66SkpOyjo6PrpKSk7KSkpOyjo6PrpKSk7KSk + pOyjo6PrpKSk66SkpOmjo6PlpKSk4KSkpN2jo6PcpKSk3KSkpNyjo6PcpKSk3KSkpNujo6PapKSk16Sk + pNCjo6PJpKSkxqSkpMajo6PFpKSkxKSkpL6jo6O1pKSkraSkpKqjo6OlpKSknKSkpJGjo6OGpKSkeqSk + pGujo6NZpKSkPqSkpCCjo6MLpKSkAaSkpAqjo6MlpKSkVKSkpH+jo6OepKSks6SkpL+jo6PHpKSkz6Sk + pNekpKTdo6Oj36SkpOKjo6PmpKSk66SkpO6jo6PupKSk76SkpO+jo6PypKSk9KSkpPajo6P3pKSk+KSk + pPijo6P3pKSk+KSkpPijo6P3pKSk+KSkpPmkpKT6o6Oj+6SkpPukpKT8o6Oj/KSkpPykpKT8o6Oj/KSk + pPykpKT8o6Oj/KSkpPykpKT8o6Oj/KSkpPykpKT8o6Oj/KSkpPykpKT8o6Oj/KSkpPykpKT8o6Oj/KSk + pPyjo6P8pKSk/KSkpPyjo6P8pKSk/KSkpPyjo6P7pKSk+6SkpPujo6P5pKSk+KSkpPijo6P3pKSk+KSk + pPijo6P3pKSk+KSkpPejo6P2pKSk9KSkpPKjo6PwpKSk76SkpO6jo6PupKSk7aSkpOmjo6PkpKSk4KSk + pN6jo6PapKSk0qSkpMqjo6PBpKSktaSkpKSjo6OMpKSkZaSkpDejo6MSAAAAAKOjowmjo6Mho6OjTaOj + o3ejo6OUo6Ojp6Ojo7Wjo6O9o6OjxqOjo86jo6PVo6Oj16Ojo9qjo6Pdo6Oj5KOjo+ijo6Ppo6Oj6aOj + o+mjo6Pqo6Oj7aOjo/Cjo6Pzo6Oj9KOjo/Sjo6P0o6Oj9KOjo/Sjo6P0o6Oj9KOjo/Sjo6P1o6Oj9aOj + o/ejo6P5o6Oj+qOjo/qjo6P6o6Oj+qOjo/qjo6P6o6Oj+qOjo/qjo6P6o6Oj+qOjo/qjo6P6o6Oj+qOj + o/qjo6P6o6Oj+qOjo/qjo6P6o6Oj+qOjo/qjo6P6o6Oj+qOjo/qjo6P6o6Oj+qOjo/mjo6P4o6Oj9qOj + o/Wjo6P0o6Oj9KOjo/Sjo6P0o6Oj9KOjo/Sjo6P0o6Oj9KOjo/Sjo6Pxo6Oj7qOjo+ujo6Pqo6Oj6aOj + o+mjo6Poo6Oj5KOjo9+jo6Pao6Oj2KOjo9Wjo6PQo6Ojx6Ojo7+jo6O2o6OjqaOjo5mjo6OCo6OjXaOj + ozKjo6MRAAAAAKSkpAOjo6MPpKSkJaSkpDyjo6NPpKSkXqSkpGqjo6NypKSkfKSkpIakpKSPo6Ojk6Sk + pJajo6OdpKSkp6SkpK+jo6OxpKSksqSkpLKjo6OzpKSkuaSkpMKjo6PIpKSky6SkpMyjo6PMpKSkzKSk + pMyjo6PMpKSkzKSkpMykpKTNo6Ojz6SkpNakpKTco6Oj36SkpOCkpKTho6Oj4KSkpOGkpKTho6Oj4KSk + pOGkpKTho6Oj4KSkpOGkpKTho6Oj4KSkpOGkpKTho6Oj4KSkpOGkpKTho6Oj4KSkpOGjo6PgpKSk4aSk + pOGjo6PgpKSk4KSkpN6jo6PZpKSk0qSkpM2jo6PMpKSkzKSkpMyjo6PMpKSkzKSkpMyjo6PMpKSkzKSk + pMqjo6PGpKSkvaSkpLajo6OypKSksqSkpLGjo6OvpKSkqKSkpJ6jo6OWpKSkk6SkpJCjo6OIpKSkfaSk + pHSjo6NrpKSkX6SkpFKjo6NCpKSkLaSkpBejo6MHAAAAAAAAAACjo6MDpKSkCaOkoxGjpKMYpKSkH6Sk + pCWjo6MqpKSkMKSkpDikpKQ/o6OjQqSkpESjo6NLpKSkVaSkpFyjo6NepKSkX6SkpF+jo6NhpKSkaKSk + pHKjo6N7pKSkfqSkpH+jo6N/pKSkf6SkpH+jo6N/pKSkf6SkpH+kpKSAo6OjhaSkpI+kpKSYo6OjnaSk + pJ+kpKSfo6Ojn6SkpJ+kpKSfo6Ojn6SkpJ+kpKSfo6Ojn6SkpJ+kpKSfo6Ojn6SkpJ+kpKSfo6Ojn6Sk + pJ+kpKSfo6Ojn6SkpJ+jo6OfpKSkn6SkpJ+jo6OfpKSknqSkpJujo6OUpKSkiaSkpIKjo6N/pKSkf6Sk + pH+jo6N/pKSkf6SkpH+jo6N/pKSkf6SkpH2jo6N3pKSkbaSkpGSjo6NgpKSkX6SkpF+jo6NcpKSkVqSk + pEyjo6NFpKSkQqSkpD+jo6M6pKSkMaSkpCujo6MmpKSkIKSkpBmjo6MSpKSkC6SkpAWjo6MBAAAAAAAA + AAAAAAAAAAAAAJ2koAGWpp0DkaebBIuomQaMqJkHkqecCpGnmwyRp5sPkaebEKGkoxGjo6MUpKSkGaSk + pByjo6MdpKSkHaSkpB6jo6MfpKSkI6SkpCqjo6MvpKSkMaSkpDKjo6MypKSkMqSkpDKjo6MypKSkMqSk + pDKkpKQzo6OjN6SkpD6kpKRGo6OjS6SkpEykpKRMo6OjTKSkpEykpKRMo6OjTKSkpEykpKRMo6OjTKSk + pEykpKRMo6OjTKSkpEykpKRMo6OjTKSkpEykpKRMo6OjTKSkpEyjo6NMpKSkTKSkpEyjo6NMpKSkS6Sk + pEmjo6NDpKSkOqSkpDSjo6MypKSkMqSkpDKjo6MypKSkMqSkpDKjo6MypKSkMqSkpDGjo6MtpKSkJqSk + pCGjo6MepKSkHaSkpB2jo6McpKSkGaSkpBWjo6MRpKSkEKSkpA+jo6MNpKSkCqSkpAijo6MGpKSkBaSk + pAOjo6MBpKSkAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABasoQdRLZ5V0S3 + eXBEt3lwRLZ5cES2eXBEtnlxRbZ5ckW2enJFtnpyRbZ6cka2enJVs4FzWrKDdFuyg3VbsoN2W7KDdluy + g3ZbsoN2W7KDdluyg3ZbsoN2W7KDdluyg3ZbsoN3W7KDeFyyg3pcsoR8XLKEfVyyhH5csoR+XLKEfVyy + hH5csoR+XLKEfVyyhH5csoR+XLKEfVyyhH5csoR+XLKEfWqvil+KqZgpl6aeEpmmnxKbpaASnqShEqGk + ohKjo6MSo6OjEqOjoxKjo6MSo6OjEqOjoxKjo6MPo6OjDKOjowqjo6MJo6OjCaOjowmjo6MJo6OjCaOj + owmjo6MJo6OjCaOjowmjo6MIo6OjBqOjowSjo6MEo6OjA6OjowOjo6MDo6OjAqOjowKjo6MBo6OjAaOj + owEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAS7Z+EzS6c5EtvHDsLbxw/y28cP8tvHD/Lbxw/i28cP8tvHD+Lbxw/y28cP8tvHD+Lbxw/y28 + cP8tvHD+Lbxw/y28cP8tvHD+Lbxw/y28cP8tvHD+Lbxw/y28cP8tvHD+Lbxw/y28cP8tvHD/Lbxw/i28 + cP8tvHD/Lbxw/i28cP8tvHD/Lbxw/i28cP8tvHD/Lbxw/i28cP8tvHD/Lbxw/i28cP8tvHD/Lbxw/i28 + cP4vu3HpQ7d6fGawig11rZACgquWAo+nmwKcpaACo6SjAqSkpAKjo6MCpKSkAqSkpAGjo6MBAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAuvXQULb1yzCy9cv4svXL+LL1y/iy9cv4svXL+LL1y/iy9 + cv4svXL+LL1y/iy9cv4svXL+LL1y/iy9cv4svXL+LL1y/iy9cv4svXL+LL1y/iy9cv4svXL+LL1y/iy9 + cv4svXL+LL1y/iy9cv4svXL+LL1y/iy9cv4svXL+LL1y/iy9cv4svXL+LL1y/iy9cv4svXL+LL1y/iy9 + cv4svXL+LL1y/iy9cv4svXL+LL1y/iy9cv4svXL+LL1y/jW7drBYtIULAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACq/dAYrvnOxLL5z/yy+ + c/8rvnP+LL5z/yy+c/8svnP/K75z/iy+c/8rvnP+LL5z/yy+c/8rvnP+LL5z/yy+c/8rvnP+LL5z/yy+ + c/8rvnP+LL5z/yy+c/8rvnP+LL5z/yy+c/8rvnP+LL5z/yy+c/8svnP/K75z/iy+c/8svnP/K75z/iy+ + c/8svnP/K75z/iy+c/8svnP/K75z/iy+c/8svnP/K75z/iy+c/8svnP/K75z/iy+c/8svnP/K75z/iy+ + c/8vvnWVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAACrAdUgrwHT7K8B1/yvAdf8rwHT+K8B1/yvAdf8rwHX/K8B0/ivAdf8rwHT+K8B1/yvA + df8rwHT+K8B1/yvAdf8rwHT+K8B1/yvAdf8rwHT+K8B1/yvAdf8rwHT+K8B1/yvAdf8rwHT+K8B1/yvA + df8rwHX/K8B0/ivAdf8rwHX/K8B0/ivAdf8rwHX/K8B0/ivAdf8rwHX/K8B0/ivAdf8rwHX/K8B0/ivA + df8rwHX/K8B0/ivAdf8rwHX/K8B0/ivAdf8rwHX6KsB1JgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACrBdqIqwXb+KsF2/irBdv4qwXb+KsF2/irB + dv4qwXb+KsF2/irBdv4qwXb+KsF2/irBdv4qwXb+KsF2/irBdv4qwXb+KsF2/irBdv4qwXb+KsF2/irB + dv4qwXb+KsF2/irBdv4qwXb+KsF2/irBdv4qwXb+KsF2/irBdv4qwXb+KsF2/irBdv4qwXb+KsF2/irB + dv4qwXb+KsF2/irBdv4qwXb+KsF2/irBdv4qwXb+KsF2/irBdv4qwXb+KsF2/irBdv4qwXb+KsF2fQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACnC + eNMpwnj+KcJ4/ynCeP8pwnj+KcJ4/ynCeP8pwnj/KcJ4/inCeP8pwnj+KcJ4/ynCeP8pwnj+KcJ4/ynC + eP8pwnj+KcJ4/ynCeP8pwnj+KcJ4/ynCeP8pwnj+KcJ4/ynCeP8pwnj+KcJ4/ynCeP8pwnj/KcJ4/inC + eP8pwnj/KcJ4/inCeP8pwnj/KcJ4/inCeP8pwnj/KcJ4/inCeP8pwnj/KcJ4/inCeP8pwnj/KcJ4/inC + eP8pwnj/KcJ4/inCeP8pwnj/KcJ4sQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAACjDed8ow3n+KMR5/yjEef8ow3n+KMR5/yjEef8oxHn/KMN5/ijE + ef8ow3n+KMR5/yjEef8ow3n+KMR5/yjEef8ow3n+KMR5/yjEef8ow3n+KMR5/yjEef8ow3n+KMR5/yjE + ef8ow3n+KMR5/yjEef8oxHn/KMN5/ijEef8oxHn/KMN5/ijEef8oxHn/KMN5/ijEef8oxHn/KMN5/ijE + ef8oxHn/KMN5/ijEef8oxHn/KMN5/ijEef8oxHn/KMN5/ijEef8oxHn/KMN5vwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACfEet8nxHr+J8R6/ifE + ev4nxHr+J8R6/ifEev4nxHr+J8R6/ifEev4nxHr+J8R6/ifEev4nxHr+J8R6/ifEev4nxHr+J8R6/ifE + ev4nxHr+J8R6/ifEev4nxHr+J8R6/ifEev4nxHr+J8R6/ifEev4nxHr+J8R6/ifEev4nxHr+J8R6/ifE + ev4nxHr+J8R6/ifEev4nxHr+J8R6/ifEev4nxHr+J8R6/ifEev4nxHr+J8R6/ifEev4nxHr+J8R6/ifE + ev4nxHr+J8R6vwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAACbHfN8mx3z+J8d8/yfHfP8mx3z+J8d8/yfHfP8nx3z/Jsd8/ifHfP8mx3z+J8d8/yfH + fP8mx3z+J8d8/yfHfP8mx3z+J8d8/yfHfP8mx3z+J8d8/yfHfP8mx3z+J8d8/yfHfP8mx3z+J8d8/yfH + fP8nx3z/Jsd8/ifHfP8nx3z/Jsd8/ifHfP8nx3z/Jsd8/ifHfP8nx3z/Jsd8/ifHfP8nx3z/Jsd8/ifH + fP8nx3z/Jsd8/ifHfP8nx3z/Jsd8/ifHfP8nx3z/JsZ8vwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACbIfd8myH3+Jsh9/ybIff8myH3+Jsh9/ybI + ff8myH3/Jsh9/ibIff8myH3+Jsh9/ybIff8myH3+Jsh9/ybIff8myH3+Jsh9/ybIff8myH3+Jsh9/ybI + ff8myH3+Jsh9/ybIff8myH3+Jsh9/ybIff8myH3/Jsh9/ibIff8myH3/Jsh9/ibIff8myH3/Jsh9/ibI + ff8myH3/Jsh9/ibIff8myH3/Jsh9/ibIff8myH3/Jsh9/ibIff8myH3/Jsh9/ibIff8myH3/Jsd9vwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACXJ + ft8lyX7+Jcl+/iXJfv4lyX7+Jcl+/iXJfv4lyX7+Jcl+/iXJfv4lyX7+Jcl+/iXJfv4lyX7+Jcl+/iXJ + fv4lyX7+Jcl+/iXJfv4lyX7+Jcl+/iXJfv4lyX7+Jcl+/iXJfv4lyX7+Jcl+/iXJfv4lyX7+Jcl+/iXJ + fv4lyX7+Jcl+/iXJfv4lyX7+Jcl+/iXJfv4lyX7+Jcl+/iXJfv4lyX7+Jcl+/iXJfv4lyX7+Jcl+/iXJ + fv4lyX7+Jcl+/iXJfv4lyX7+Jcl+vwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAACTKgN8kyoD+JcqA/yXKgP8kyoD+JcqA/yXKgP8lyoD/JMqA/iXK + gP8kyoD+JcqA/yXKgP8kyoD+JcqA/yXKgP8kyoD+JcqA/yXKgP8kyoD+JcqA/yXKgP8kyoD+JcqA/yXK + gP8kyoD+JcqA/yXKgP8lyoD/JMqA/iXKgP8lyoD/JMqA/iXKgP8lyoD/JMqA/iXKgP8lyoD/JMqA/iXK + gP8lyoD/JMqA/iXKgP8lyoD/JMqA/iXKgP8lyoD/JMqA/iXKgP8lyoD/JMqAvwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACTLgd8ky4H+JMuB/yTL + gf8ky4H+JMuB/yTLgf8ky4H/JMuB/iTLgf8ky4H+JMuB/yTLgf8ky4H+JMuB/yTLgf8ky4H+JMuB/yTL + gf8ky4H+JMuB/yTLgf8ky4H+JMuB/yTLgf8ky4H+JMuB/yTLgf8ky4H/JMuB/iTLgf8ky4H/JMuB/iTL + gf8ky4H/JMuB/iTLgf8ky4H/JMuB/iTLgf8ky4H/JMuB/iTLgf8ky4H/JMuB/iTLgf8ky4H/JMuB/iTL + gf8ky4H/JMuBvwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAACPMgt8jzIL+I8yC/iPMgv4jzIL+I8yC/iPMgv4jzIL+I8yC/iPMgv4jzIL+I8yC/iPM + gv4jzIL+I8yC/iPMgv4jzIL+I8yC/iPMgv4jzIL+I8yC/iPMgv4jzIL+I8yC/iPMgv4jzIL+I8yC/iPM + gv4jzIL+I8yC/iPMgv4jzIL+I8yC/iPMgv4jzIL+I8yC/iPMgv4jzIL+I8yC/iPMgv4jzIL+I8yC/iPM + gv4jzIL+I8yC/iPMgv4jzIL+I8yC/iPMgv4jzIL+JMuBvwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACLNg98izYP+I82E/yPNhP8izYP+I82E/yPN + hP8jzYT/Is2D/iPNhP8izYP+I82E/yPNhP8izYP+I82E/yPNhP8izYP+I82E/yPNhP8izYP+I82E/yPN + hP8izYP+I82E/yPNhP8izYP+I82E/yPNhP8jzYT/Is2D/iPNhP8jzYT/Is2D/iPNhP8jzYT/Is2D/iPN + hP8jzYT/Is2D/iPNhP8jzYT/Is2D/iPNhP8jzYT/Is2D/iPNhP8jzYT/Is2D/iPNhP8jzYT/J8qAvwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACLO + hN8izoT+Is6F/yLOhf8izoT+Is6F/yLOhf8izoX/Is6E/iLOhf8izoT+Is6F/yLOhf8izoT+Is6F/yLO + hf8izoT+Is6F/yLOhf8izoT+Is6F/yLOhf8izoT+Is6F/yLOhf8izoT+Is6F/yLOhf8izoX/Is6E/iLO + hf8izoX/Is6E/iLOhf8izoX/Is6E/iLOhf8izoX/Is6E/iLOhf8izoX/Is6E/iLOhf8izoX/Is6E/iLO + hf8izoX/Is6E/iLOhf8izoX/Ksl/vwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAACHPht8hz4b+Ic+G/iHPhv4hz4b+Ic+G/iHPhv4hz4b+Ic+G/iHP + hv4hz4b+Ic+G/iHPhv4hz4b+Ic+G/iHPhv4hz4b+Ic+G/iHPhv4hz4b+Ic+G/iHPhv4hz4b+Ic+G/iHP + hv4hz4b+Ic+G/iHPhv4hz4b+Ic+G/iHPhv4hz4b+Ic+G/iHPhv4hz4b+Ic+G/iHPhv4hz4b+Ic+G/iHP + hv4hz4b+Ic+G/iHPhv4hz4b+Ic+G/iHPhv4hz4b+Ic+G/iHPhv4hz4b+O75z442JOI+ThTSPnIAuj6F9 + K4+hfSuPoX0rj6F9K4+hfSuPoX0rj6F9K4+hfSuPoX0rj6F9K3yhfStKon4sBAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACDQh98g0If+IdCH/yHQ + h/8g0If+IdCH/yHQh/8h0If/INCH/iHQh/8g0If+IdCH/yHQh/8g0If+IdCH/yHQh/8g0If+IdCH/yHQ + h/8g0If+IdCH/yHQh/8g0If+IdCH/yHQh/8g0If+IdCH/yHQh/8h0If/INCH/iHQh/8h0If/INCH/iHQ + h/8h0If/INCH/iHQh/8h0If/INCH/iHQh/8h0If/INCH/iHQh/8h0If/INCH/iHQh/8h0If/INCH/iHQ + h/8h0If/Qbtw/qJ+LP+ifiz+on4s/6J+LP+ifiz+on4s/6J+LP+ifiz+on4s/6J+LP+ifiz+on4s/6J+ + LP+ifiz+on4s3qN+LFikfy0BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAACDRiN8g0Yj+INGI/yDRiP8g0Yj+INGI/yDRiP8g0Yj/INGI/iDRiP8g0Yj+INGI/yDR + iP8g0Yj+INGI/yDRiP8g0Yj+INGI/yDRiP8g0Yj+INGI/yDRiP8g0Yj+INGI/yDRiP8g0Yj+INGI/yDR + iP8g0Yj/INGI/iDRiP8g0Yj/INGI/iDRiP8g0Yj/INGI/iDRiP8g0Yj/INGI/iDRiP8g0Yj/INGI/iDR + iP8g0Yj/INGI/iDRiP8g0Yj/INGI/iDRiP8g0Yj/Qbxx/qR/Lf+jfy3+pH8t/6R/Lf+jfy3+pH8t/6R/ + Lf+jfy3+pH8t/6R/Lf+jfy3+pH8t/6R/Lf+jfy3+pH8t/6R/Lfikfy18AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/Rid8f0Yn+INKJ/yDSif8f0Yn+INKJ/yDS + if8g0on/H9GJ/iDSif8f0Yn+INKJ/yDSif8f0Yn+INKJ/yDSif8f0Yn+INKJ/yDSif8f0Yn+INKJ/yDS + if8f0Yn+INKJ/yDSif8f0Yn+INKJ/yDSif8g0on/H9GJ/iDSif8g0on/H9GJ/iDSif8g0on/H9GJ/iDS + if8g0on/H9GJ/iDSif8g0on/H9GJ/iDSif8g0on/H9GJ/iDSif8g0on/H9GJ/iDSif8g0on/Qb1y/qWA + L/+lgC/+pYAv/6WAL/+lgC/+pYAv/6WAL/+lgC/+pYAv/6WAL/+lgC/+pYAv/6WAL/+lgC/+pYAv/6WA + L/+lgC/6poEvRwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB7S + it8e0or+HtKK/h7Siv4e0or+HtKK/h7Siv4e0or+HtKK/h7Siv4e0or+HtKK/h7Siv4e0or+HtKK/h7S + iv4e0or+HtKK/h7Siv4e0or+HtKK/h7Siv4e0or+HtKK/h7Siv4e0or+HtKK/h7Siv4e0or+HtKK/h7S + iv4e0or+HtKK/h7Siv4e0or+HtKK/h7Siv4e0or+HtKK/h7Siv4e0or+HtKK/h7Siv4e0or+HtKK/h7S + iv4e0or+HtKK/h7Siv4e0or+Qb50/qeCMP6ngjD+p4Iw/qeCMP6ngjD+p4Iw/qeCMP6ngjD+p4Iw/qeC + MP6ngjD+p4Iw/qeCMP6ngjD+p4Iw/qeCMP6ngjD+p4IwxqeCMAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAB7Ti98e04v+HtOL/x7Ti/8e04v+HtOL/x7Ti/8e04v/HtOL/h7T + i/8e04v+HtOL/x7Ti/8e04v+HtOL/x7Ti/8e04v+HtOL/x7Ti/8e04v+HtOL/x7Ti/8e04v+HtOL/x7T + i/8e04v+HtOL/x7Ti/8e04v/HtOL/h7Ti/8e04v/HtOL/h7Ti/8e04v/HtOL/h7Ti/8e04v/HtOL/h7T + i/8e04v/HtOL/h7Ti/8e04v/HtOL/h7Ti/8e04v/HtOL/h7Ti/8e04v/Qb91/qmDMv+ogzH+qYMy/6mD + Mv+ogzH+qYMy/6mDMv+ogzH+qYMy/6mDMv+ogzH+qYMy/6mDMv+ogzH+qYMy/6mDMv+ogzH+qYMy+qiD + MisAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB7UjN8d1Iz+HtSM/x7U + jP8d1Iz+HtSM/x7UjP8e1Iz/HdSM/h7UjP8d1Iz+HtSM/x7UjP8d1Iz+HtSM/x7UjP8d1Iz+HtSM/x7U + jP8d1Iz+HtSM/x7UjP8d1Iz+HtSM/x7UjP8d1Iz+HtSM/x7UjP8e1Iz/HdSM/h7UjP8e1Iz/HdSM/h7U + jP8e1Iz/HdSM/h7UjP8e1Iz/HdSM/h7UjP8e1Iz/HdSM/h7UjP8e1Iz/HdSM/h7UjP8e1Iz/HdSM/h7U + jP8e1Iz/QcB2/qqEM/+qhDP+qoQz/6qEM/+qhDP+qoQz/6qEM/+qhDP+qoQz/6qEM/+qhDP+qoQz/6qE + M/+qhDP+qoQz/6qEM/+qhDP+qoQz/6qEM1cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAB3Vjd8d1Y3+HdWN/h3Vjf4d1Y3+HdWN/h3Vjf4d1Y3+HdWN/h3Vjf4d1Y3+HdWN/h3V + jf4d1Y3+HdWN/h3Vjf4d1Y3+HdWN/h3Vjf4d1Y3+HdWN/h3Vjf4d1Y3+HdWN/h3Vjf4d1Y3+HdWN/h3V + jf4d1Y3+HdWN/h3Vjf4d1Y3+HdWN/h3Vjf4d1Y3+HdWN/h3Vjf4d1Y3+HdWN/h3Vjf4d1Y3+HdWN/h3V + jf4d1Y3+HdWN/h3Vjf4d1Y3+HdWN/h3Vjf4d1Y3+QcF3/qyGNf6shjX+rIY1/qyGNf6shjX+rIY1/qyG + Nf6shjX+rIY1/qyGNf6shjX+rIY1/qyGNf6shjX+rIY1/qyGNf6shjX+rIY1/quGNGcAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB3Vjt8d1Y7+HdaO/x3Wjv8d1Y7+HdaO/x3W + jv8d1o7/HdWO/h3Wjv8d1Y7+HdaO/x3Wjv8d1Y7+HdaO/x3Wjv8d1Y7+HdaO/x3Wjv8d1Y7+HdaO/x3W + jv8d1Y7+HdaO/x3Wjv8d1Y7+HdaO/x3Wjv8d1o7/HdWO/h3Wjv8d1o7/HdWO/h3Wjv8d1o7/HdWO/h3W + jv8d1o7/HdWO/h3Wjv8d1o7/HdWO/h3Wjv8d1o7/HdWO/h3Wjv8d1o7/HdWO/h3Wjv8d1o7/QcJ4/q2I + Nv+thzb+rYg2/62INv+thzb+rYg2/62INv+thzb+rYg2/62INv+thzb+rYg2/62INv+thzb+rYg2/62I + Nv+thzb+rYg2/62HNmcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB3W + jt8c1o7+HdaP/x3Wj/8c1o7+HdaP/x3Wj/8d1o//HNaO/h3Wj/8c1o7+HdaP/x3Wj/8c1o7+HdaP/x3W + j/8c1o7+HdaP/x3Wj/8c1o7+HdaP/x3Wj/8c1o7+HdaP/x3Wj/8c1o7+HdaP/x3Wj/8d1o//HNaO/h3W + j/8d1o//HNaO/h3Wj/8d1o//HNaO/h3Wj/8d1o//HNaO/h3Wj/8d1o//HNaO/h3Wj/8d1o//HNaO/h3W + j/8d1o//HNaO/h3Wj/8d1o//QcN5/q+JN/+viTf+r4k3/6+JN/+viTf+r4k3/6+JN/+viTf+r4k3/6+J + N/+viTf+r4k3/6+JN/+viTf+r4k3/6+JN/+viTf+r4k3/66IN2cAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAABzXj98c14/+HNeP/hzXj/4c14/+HNeP/hzXj/4c14/+HNeP/hzX + j/4c14/+HNeP/hzXj/4c14/+HNeP/hzXj/4c14/+HNeP/hzXj/4c14/+HNeP/hzXj/4c14/+HNeP/hzX + j/4c14/+HNeP/hzXj/4c14/+HNeP/hzXj/4c14/+HNeP/hzXj/4c14/+HNeP/hzXj/4c14/+HNeP/hzX + j/4c14/+HNeP/hzXj/4c14/+HNeP/hzXj/4c14/+HNeP/hzXj/4c14/+QcN6/rGKOf6xijn+sYo5/rGK + Of6xijn+sYo5/rGKOf6xijn+sYo5/rGKOf6xijn+sYo5/rGKOf6xijn+sYo5/rGKOf6xijn+sYo5/rCK + OWcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB3Ykd8e2JL+HNiQ/xzY + kP8b15D+HNiQ/xzYkP8c2JD/G9eQ/hzYkP8b15D+HNiQ/xzYkP8b15D+HNiQ/xzYkP8b15D+HNiQ/xzY + kP8b15D+HNiQ/xzYkP8b15D+HNiQ/xzYkP8b15D+HNiQ/xzYkP8c2JD/G9eQ/hzYkP8c2JD/G9eQ/hzY + kP8c2JD/G9eQ/hzYkP8c2JD/G9eQ/hzYkP8c2JD/G9eQ/hzYkP8c2JD/G9eQ/hzYkP8c2JD/G9eQ/hzY + kP8f2ZP/QcR7/rKMO/+yizr+sow7/7KMO/+yizr+sow7/7KMO/+yizr+sow7/7KMO/+yizr+sow7/7KM + O/+yizr+sow7/7KMO/+yizr+sow7/7KLOmcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAACDalN8i25f+HNiR/xzYkf8b2JD+HNiR/xzYkf8c2JH/G9iQ/hzYkf8b2JD+HNiR/xzY + kf8b2JD+HNiR/xzYkf8b2JD+HNiR/xzYkf8b2JD+HNiR/xzYkf8b2JD+HNiR/xzYkf8b2JD+HNiR/xzY + kf8c2JH/G9iQ/hzYkf8c2JH/G9iQ/hzYkf8c2JH/G9iQ/hzYkf8c2JH/G9iQ/hzYkf8c2JH/G9iQ/hzY + kf8c2JH/G9iQ/hzYkf8c2JH/G9iQ/hzYkf8m3Jr/Q8V7/rSNPP+0jTz+tI08/7SNPP+0jTz+tI08/7SN + PP+0jTz+tI08/7SNPP+0jTz+tI08/7SNPP+0jTz+tI08/7SNPP+0jTz+tI08/7ONPGcAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/alb8p3Z7+GtiR/hrYkf4a2JH+GtiR/hrY + kf4a2JH+GtiR/hrYkf4a2JH+GtiR/hrYkf4a2JH+GtiR/hrYkf4a2JH+GtiR/hrYkf4a2JH+GtiR/hrY + kf4a2JH+GtiR/hrYkf4a2JH+GtiR/hrYkf4a2JH+GtiR/hrYkf4a2JH+GtiR/hrYkf4a2JH+GtiR/hrY + kf4a2JH+GtiR/hrYkf4a2JH+GtiR/hrYkf4a2JH+GtiR/hrYkf4a2JH+GtiR/hrYkf4t36L+WLtw/rWO + Pv61jj7+tY4+/rWOPv61jj7+tY4+/rWOPv61jj7+tY4+/rWOPv61jj7+tY4+/rWOPv61jj7+tY4+/rWO + Pv61jj7+tY4+/rWOPWcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB3a + lHg04qj+HNqT/xvZkv8a2ZL+G9mS/xvZkv8b2ZL/GtmS/hvZkv8a2ZL+G9mS/xvZkv8a2ZL+G9mS/xvZ + kv8a2ZL+G9mS/xvZkv8a2ZL+G9mS/xvZkv8a2ZL+G9mS/xvZkv8a2ZL+G9mS/xvZkv8b2ZL/GtmS/hvZ + kv8b2ZL/GtmS/hvZkv8b2ZL/GtmS/hvZkv8b2ZL/GtmS/hvZkv8b2ZL/GtmS/hvZkv8b2ZL/GtmS/hvZ + kv8b2ZL/GtmS/iDbl/8x4aX/g6ha/reQP/+3kD/+t5A//7eQP/+3kD/+t5A//7eQP/+3kD/+t5A//7eQ + P/+3kD/+t5A//7eQP/+3kD/+t5A//7eQP/+3kD/+t5A//7ePP2cAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAACHbmB4k3ZrqN+Or/xvak/8a2ZL+G9qT/xvak/8b2pP/GtmS/hva + k/8a2ZL+G9qT/xvak/8a2ZL+G9qT/xvak/8a2ZL+G9qT/xvak/8a2ZL+G9qT/xvak/8a2ZL+G9qT/xva + k/8a2ZL+G9qT/xvak/8b2pP/GtmS/hvak/8b2pP/GtmS/hvak/8b2pP/GtmS/hvak/8b2pP/GtmS/hva + k/8b2pP/GtmS/hvak/8b2pP/GtmS/hvak/8b2pP/HdqU/jrkrf830Yz/tZNC/riRQP+4kUD+uJFA/7iR + QP+4kUD+uJFA/7iRQP+4kUD+uJFA/7iRQP+4kUD+uJFA/7iRQP+4kUD+uJFA/7iRQP+4kUD+uJFA/7KQ + RWcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf25dWLeCj+j3m + sf4k3Zv+GtqT/hrZkv4a2ZL+GtmS/hrZkv4a2ZL+GtmS/hrZkv4a2ZL+GtmS/hrZkv4a2ZL+GtmS/hrZ + kv4a2ZL+GtmS/hrZkv4a2ZL+GtmS/hrZkv4a2ZL+GtmS/hrZkv4a2ZL+GtmS/hrZkv4a2ZL+GtmS/hrZ + kv4a2ZL+GtmS/hrZkv4a2ZL+GtmS/hrZkv4a2ZL+GtmS/hrZkv4a2ZL+GtmS/hvak/4m3p3+P+az/jHa + mv6UpFX+upNC/rqTQv66k0L+upNC/rqTQv66k0L+upNC/rqTQv66k0L+upNC/rqTQv66k0L+upNC/rqT + Qv66k0L+upNC/rqTQv66k0L+upNC/qaRUmcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAH9yXYiXenuk95rL+QOe1/zrlsP845K//OOSu/jjkr/845K7+OOSv/zjk + r/845K7+OOSv/zjkr/845K7+OOSv/zjkr/845K7+OOSv/zjkr/845K7+OOSv/zjkr/845K7+OOSv/zjk + r/845K//OOSu/jjkr/845K//OOSu/jjkr/845K//OOSu/jjkr/845K//OOSu/jjkr/845K//OOSu/jjk + r/845K//OuWw/kHntv875rH/NtSQ/o6oWv+8lET/vJRD/ryURP+8lEP+vJRE/7yURP+8lEP+vJRE/7yU + RP+8lEP+vJRE/7yURP+8lEP+vJRE/7yURP+8lEP+vJRE/7yURP+8lEP+vJRE/5aRYWxgjY0IPIqrCA2H + 0QgAhtwIAIfdCACH3QgAhtwIAIfdCACH3QgAhtwIAIfdCACH3QgAhtwCAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACPdmyMd25aFIN2Z0ibe + nvcn35/+Jt+f/iffn/4m35/+J9+f/iffn/4m35/+J9+f/iffn/4m35/+J9+f/iffn/4n35/+J9+f/yff + n/8n35/+J9+f/yffn/8n35/+J9+f/yffn/8n35//J9+f/iffn/8n35//J9+f/iffn/8n35//J9+f/iff + n/8n35//J9+f/iffn/8n35//J9+f/iffn/8n35//LNyb/kHOiP9vt2v/r5tM/r6VRf++lUX/vpVF/r6V + Rf++lUX+vpVF/76VRf++lUX+vpVF/76VRf++lUX+vpVF/76VRf++lUX+vpVF/76VRf++lUX+vpVF/76V + Rf++lUX+vpVF/1CNnOIAhtzPAIfdzwCH3c8AhtzPAIfdzwCH3c8AhtzPAIfdzwCH3c8AhtzPAIfdzwCH + 3c8Ahty+AIfdfACH3RgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAI6vZDe/l0b+v5dG/r+XRv6/l0b+v5dG/r+XRv6/l0b+v5dG/r+XRv6/l0b+v5dG/r+X + Rv6/l0b+v5dG/r+XRv6/l0b+v5dG/r+XRv6/l0b+v5dG/r+XRv6/l0b+v5dG/r+XRv6/l0b+v5dG/r+X + Rv6/l0b+v5dG/r+XRv6/l0b+v5dG/r+XRv6/l0b+v5dG/r+XRv6/l0b+v5dG/r+XRv6/l0b+v5dG/r+X + Rv6/l0b+v5dG/r+XRv6/l0b+v5dG/r+XRv6/l0b+v5dG/k2Nn/4Ahtz+AIbc/gCG3P4Ahtz+AIbc/gCG + 3P4Ahtz+AIbc/gCG3P4Ahtz+AIbc/gCG3P4Ahtz+AIbc/gCG3PEAh91mAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ6qXzfAmEj+wZhI/8GYSP/AmEj+wZhI/8GY + SP/AmEj+wZhI/8GYSP/BmEj/wJhI/sGYSP/BmEj/wJhI/sGYSP/BmEj/wJhI/sGYSP/BmEj/wJhI/sGY + SP/BmEj/wJhI/sGYSP/BmEj/wJhI/sGYSP/BmEj/wJhI/sGYSP/BmEj/wJhI/sGYSP/AmEj+wZhI/8GY + SP/AmEj+wZhI/8GYSP/AmEj+wZhI/8GYSP/AmEj+wZhI/8GYSP/AmEj+wZhI/8GYSP/AmEj+wZhI/06O + of8AiN3+AIjd/wCI3f8AiN3+AIjd/wCI3f8AiN3+AIjd/wCI3f8AiN3+AIjd/wCI3f8AiN3+AIjd/wCI + 3f8AiN36AIjeZgCJ3gEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK+i + UzfCmkn+wppJ/8KaSf/Cmkn+wppJ/8KaSf/Cmkn+wppJ/8KaSf/Cmkn/wppJ/sKaSf/Cmkn/wppJ/sKa + Sf/Cmkn/wppJ/sKaSf/Cmkn/wppJ/sKaSf/Cmkn/wppJ/sKaSf/Cmkn/wppJ/sKaSf/Cmkn/wppJ/sKa + Sf/Cmkn/wppJ/sKaSf/Cmkn+wppJ/8KaSf/Cmkn+wppJ/8KaSf/Cmkn+wppJ/8KaSf/Cmkn+wppJ/8Ka + Sf/Cmkn+wppJ/8KaSf/Cmkn+wppJ/06Qov8Ait7+AIre/wCK3v8Ait7+AIre/wCK3v8Ait7+AIre/wCK + 3v8Ait7+AIre/wCK3v8Ait7+AIre/wCK3v8Ait7+AIre8ACK3yoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAMSbSjfEm0v+xJtL/sSbS/7Em0v+xJtL/sSbS/7Em0v+xJtL/sSb + S/7Em0v+xJtL/sSbS/7Em0v+xJtL/sSbS/7Em0v+xJtL/sSbS/7Em0v+xJtL/sSbS/7Em0v+xJtL/sSb + S/7Em0v+xJtL/sSbS/7Em0v+xJtL/sSbS/7Em0v+xJtL/sSbS/7Em0v+xJtL/sSbS/7Em0v+xJtL/sSb + S/7Em0v+xJtL/sSbS/7Em0v+xJtL/sSbS/7Em0v+xJtL/sSbS/7Em0v+xJtL/k+So/4Ai9/+AIvf/gCL + 3/4Ai9/+AIvf/gCL3/4Ai9/+AIvf/gCL3/4Ai9/+AIvf/gCL3/4Ai9/+AIvf/gCL3/4Ai9/+AIvf/gCM + 35UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMacTDfGnEz+xp1N/8ad + Tf/GnEz+xp1N/8adTf/GnEz+xp1N/8adTf/GnU3/xpxM/sadTf/GnU3/xpxM/sadTf/GnU3/xpxM/sad + Tf/GnU3/xpxM/sadTf/GnU3/xpxM/sadTf/GnU3/xpxM/sadTf/GnU3/xpxM/sadTf/GnU3/xpxM/sad + Tf/GnEz+xp1N/8adTf/GnEz+xp1N/8adTf/GnEz+xp1N/8adTf/GnEz+xp1N/8adTf/GnEz+xp1N/8ad + Tf/GnEz+xp1N/1CTpP8AjeD+AI3h/wCN4f8AjeD+AI3h/wCN4f8AjeD+AI3h/wCN4f8AjeD+AI3h/wCN + 4f8AjeD+AI3h/wCN4f8AjeD+AI3h/wCN4doAjeAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAMieTTfInk7+yJ5O/8ieTv/Ink7+yJ5O/8ieTv/Ink7+yJ5O/8ieTv/Ink7/yJ5O/sie + Tv/Ink7/yJ5O/sieTv/Ink7/yJ5O/sieTv/Ink7/yJ5O/sieTv/Ink7/yJ5O/sieTv/Ink7/yJ5O/sie + Tv/Ink7/yJ5O/sieTv/Ink7/yJ5O/sieTv/Ink7+yJ5O/8ieTv/Ink7+yJ5O/8ieTv/Ink7+yJ5O/8ie + Tv/Ink7+yJ5O/8ieTv/Ink7+yJ5O/8ieTv/Ink7+yJ5O/1GVpv8Aj+H+AI/i/wCP4v8Aj+H+AI/i/wCP + 4v8Aj+H+AI/i/wCP4v8Aj+H+AI/i/wCP4v8Aj+H+AI/i/wCP4v8Aj+H+AI/i/wCP4usAjuEYAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMmfTzfKn0/+yp9P/sqfT/7Kn0/+yp9P/sqf + T/7Kn0/+yp9P/sqfT/7Kn0/+yp9P/sqfT/7Kn0/+yp9P/sqfT/7Kn0/+yp9P/sqfT/7Kn0/+yp9P/sqf + T/7Kn0/+yp9P/sqfT/7Kn0/+yp9P/sqfT/7Kn0/+yp9P/sqfT/7Kn0/+yp9P/sqfT/7Kn0/+yp9P/sqf + T/7Kn0/+yp9P/sqfT/7Kn0/+yp9P/sqfT/7Kn0/+yp9P/sqfT/7Kn0/+yp9P/sqfT/7Kn0/+yp9P/lGW + p/4AkeP+AJHj/gCR4/4AkeP+AJHj/gCR4/4AkeP+AJHj/gCR4/4AkeP+AJHj/gCR4/4AkeP+AJHj/gCR + 4/4AkeP+AJHj/gCR4+8AkOIfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMug + UTfLoFH+y6FR/8uhUf/LoFH+y6FR/8uhUf/LoFH+y6FR/8uhUf/LoVH/y6BR/suhUf/LoVH/y6BR/suh + Uf/LoVH/y6BR/suhUf/LoVH/y6BR/suhUf/LoVH/y6BR/suhUf/LoVH/y6BR/suhUf/LoVH/y6BR/suh + Uf/LoVH/y6BR/suhUf/LoFH+y6FR/8uhUf/LoFH+y6FR/8uhUf/LoFH+y6FR/8uhUf/LoFH+y6FR/8uh + Uf/LoFH+y6FR/8uhUf/LoFH+y6FR/1KYqP8AkuT+AJLk/wCS5P8AkuT+AJLk/wCS5P8AkuT+AJLk/wCS + 5P8AkuT+AJLk/wCS5P8AkuT+AJLk/wCS5P8AkuT+AJLk/wCS5O8AkuMfAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAM2iUjfNolL+zaJS/s2iUv7NolL+zaJS/s2iUv7NolL+zaJS/s2i + Uv7NolL+zaJS/s2iUv7NolL+zaJS/s2iUv7NolL+zaJS/s2iUv7NolL+zaJS/s2iUv7NolL+zaJS/s2i + Uv7NolL+zaJS/s2iUv7NolL+zaJS/s2iUv7NolL+zaJS/s2iUv7NolL+zaJS/s2iUv7NolL+zaJS/s2i + Uv7NolL+zaJS/s2iUv7NolL+zaJS/s2iUv7NolL+zaJS/s2iUv7NolL+zaJS/lOaqf4AlOX+AJTl/gCU + 5f4AlOX+AJTl/gCU5f4AlOX+AJTl/gCU5f4AlOX+AJTl/gCU5f4AlOX+AJTl/gCU5f4AlOX+AJTl/gCU + 5e8Ak+QfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM+kVTfQplj+z6NU/8+j + VP/Po1T+z6NU/8+jVP/Po1T+z6NU/8+jVP/Po1T/z6NU/s+jVP/Po1T/z6NU/s+jVP/Po1T/z6NU/s+j + VP/Po1T/z6NU/s+jVP/Po1T/z6NU/s+jVP/Po1T/z6NU/s+jVP/Po1T/z6NU/s+jVP/Po1T/z6NU/s+j + VP/Po1T+z6NU/8+jVP/Po1T+z6NU/8+jVP/Po1T+z6NU/8+jVP/Po1T+z6NU/8+jVP/Po1T+z6NU/8+j + VP/Po1T+0adZ/1Obq/8Alub+AJbm/wCW5v8Alub+AJbm/wCW5v8Alub+AJbm/wCW5v8Alub+AJbm/wCW + 5v8Alub+AJbm/wCW5v8Alub+AJbm/wCW5u8AleUfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAANGmWDbUrWH+0KVV/9ClVf/QpVX+0KVV/9ClVf/QpVX+0KVV/9ClVf/QpVX/0KVV/tCl + Vf/QpVX/0KVV/tClVf/QpVX/0KVV/tClVf/QpVX/0KVV/tClVf/QpVX/0KVV/tClVf/QpVX/0KVV/tCl + Vf/QpVX/0KVV/tClVf/QpVX/0KVV/tClVf/QpVX+0KVV/9ClVf/QpVX+0KVV/9ClVf/QpVX+0KVV/9Cl + Vf/QpVX+0KVV/9ClVf/QpVX+0KVV/9ClVf/QpVX+1a1i/1Cdr/8Al+f+AJjn/wCY5/8Al+f+AJjn/wCY + 5/8Al+f+AJjn/wCY5/8Al+f+AJjn/wCY5/8Al+f+AJjn/wCY5/8Al+f+AJjn/wCY5+8Al+cfAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANOpXB/Ysmj406la/tKmVv7Splb+0qZW/tKm + Vv7Splb+0qZW/tKmVv7Splb+0qZW/tKmVv7Splb+0qZW/tKmVv7Splb+0qZW/tKmVv7Splb+0qZW/tKm + Vv7Splb+0qZW/tKmVv7Splb+0qZW/tKmVv7Splb+0qZW/tKmVv7Splb+0qZW/tKmVv7Splb+0qZW/tKm + Vv7Splb+0qZW/tKmVv7Splb+0qZW/tKmVv7Splb+0qZW/tKmVv7Splb+0qZW/tKmVv7Splf+2bRs/jKc + xf4Amej+AJno/gCZ6P4Amej+AJno/gCZ6P4Amej+AJno/gCZ6P4Amej+AJno/gCZ6P4Amej+AJno/gCZ + 6P4Amej+AJno/gCZ6O8AmegfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANWr + XwbUqlzF3bt1/9SoWP/TqFj+06hY/9OoWP/TqFj+06hY/9OoWP/TqFj/06hY/tOoWP/TqFj/06hY/tOo + WP/TqFj/06hY/tOoWP/TqFj/06hY/tOoWP/TqFj/06hY/tOoWP/TqFj/06hY/tOoWP/TqFj/06hY/tOo + WP/TqFj/06hY/tOoWP/TqFj+06hY/9OoWP/TqFj+06hY/9OoWP/TqFj+06hY/9OoWP/TqFj+06hY/9Oo + WP/TqFj+06hY/9OoWP/bt2/+v61y/w6c3/8Am+n+AJvp/wCb6f8Am+n+AJvp/wCb6f8Am+n+AJvp/wCb + 6f8Am+n+AJvp/wCb6f8Am+n+AJvp/wCb6f8Am+n+AJvp/wCb6e8AmukfAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADVq11Y3rp0/dy3b//VqVr+1ala/9WpWv/VqVn+1ala/9Wp + Wv/VqVr/1alZ/tWpWv/VqVr/1alZ/tWpWv/VqVr/1alZ/tWpWv/VqVr/1alZ/tWpWv/VqVr/1alZ/tWp + Wv/VqVr/1alZ/tWpWv/VqVr/1alZ/tWpWv/VqVr/1alZ/tWpWv/VqVn+1ala/9WpWv/VqVn+1ala/9Wp + Wv/VqVn+1ala/9WpWv/VqVn+1ala/9WpWv/VqVn+1ala/9qzaf/gvXr+ZqOk/wCd6v8Aner+AJ3q/wCd + 6v8Aner+AJ3q/wCd6v8Aner+AJ3q/wCd6v8Aner+AJ3q/wCd6v8Aner+AJ3q/wCd6v8Aner+AJ3q/wCd + 6u8AnOofAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADYr2QB16xepOLA + fv7hv33+2K5g/teqW/7Xqlv+16pb/teqW/7Xqlv+16pb/teqW/7Xqlv+16pb/teqW/7Xqlv+16pb/teq + W/7Xqlv+16pb/teqW/7Xqlv+16pb/teqW/7Xqlv+16pb/teqW/7Xqlv+16pb/teqW/7Xqlv+16pb/teq + W/7Xqlv+16pb/teqW/7Xqlv+16pb/teqW/7Xqlv+16pb/teqW/7Xqlv+16pb/teqW/7YrF7+4Lx4/uPD + g/6iqoL+B5/m/gCe6/4Anuv+AJ7r/gCe6/4Anuv+AJ7r/gCe6/4Anuv+AJ7r/gCe6/4Anuv+AJ7r/gCe + 6/4Anuv+AJ7r/gCe6/4Anuv+AJ7r/gCe6+8AnusfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA2rJnCdmtX43euHD35smL/+bIiv/lx4j+5ceJ/+XHif/lx4n/5ceI/uXH + if/lx4n/5ceI/uXHif/lx4n/5ceI/uXHif/lx4n/5ceI/uXHif/lx4n/5ceI/uXHif/lx4n/5ceI/uXH + if/lx4n/5ceI/uXHif/lx4n/5ceI/uXHif/lx4j+5ceJ/+XHif/lx4j+5ceJ/+XHif/lx4j+5ceJ/+XH + if/lx4j+5ceJ/+bIiv/nyYz+3bt4/46pj/8MoeT+AKDt/wCg7f8AoOz+AKDt/wCg7f8AoOz+AKDt/wCg + 7f8AoOz+AKDt/wCg7f8AoOz+AKDt/wCg7f8AoOz+AKDt/wCg7f8AoOz+AKDt/wCg7e8AoOwfAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANu0agLbsWY227Bjldyy + ZtDcs2ff3LNo39yzaN/cs2jf3LNn39yzaN/cs2jf3LNn39yzaN/bs2jf2LJq39WybN/FsXXxwLB4/sCw + eP/AsHj/wLB4/sCweP/AsHj/wLB4/sCweP/AsHj/wLB4/sCweP/AsHj/wLB4/sCweP/AsHj+wLB4/8Cw + eP/AsHj+wLB4/8CweP/AsHj+wLB4/8CweP/AsHj+wLB4/7mwe/+Mq5P+N6XJ/wSi6/8Aou3+AKLu/wCi + 7v8Aou3+AKLu/wCi7v8Aou3+AKLu/wCi7v8Aou3+AKLu/wCi7v8Aou3+AKLu/wCi7v8Aou3+AKLu/wCi + 7v8Aou3+AKLu/wCi7u8Aoe0fAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAip9uPAKTu/gCk7v4ApO7+AKTu/gCk7v4ApO7+AKTu/gCk7v4ApO7+AKTu/gCk + 7v4ApO7+AKTu/gCk7v4ApO7+AKTu/gCk7v4ApO7+AKTu/gCk7v4ApO7+AKTu/gCk7v4ApO7+AKTu/gCk + 7v4ApO7+AKTu/gCk7v4ApO7+AKTu/gCk7v4ApO7+AKTu/gCk7v4ApO7+AKTu/gCk7v4ApO7+AKTu/gCk + 7v4ApO7+AKTu/gCk7v4ApO7+AKTu/gCk7v4ApO7+AKTu/gCk7u8Ao+4fAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYqOOPAKXw/gCl8P8ApfD/AKXw/gCl + 8P8ApfD/AKXw/gCl8P8ApfD/AKXw/gCl8P8ApfD/AKXw/gCl8P8ApfD+AKXw/wCl8P8ApfD+AKXw/wCl + 8P8ApfD+AKXw/wCl8P8ApfD+AKXw/wCl8P8ApfD+AKXw/wCl8P8ApfD+AKXw/wCl8P8ApfD+AKXw/wCl + 8P8ApfD+AKXw/wCl8P8ApfD+AKXw/wCl8P8ApfD+AKXw/wCl8P8ApfD+AKXw/wCl8P8ApfD+AKXw/wCl + 8O8Ape8fAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAJp+qPAKfx/gCn8f8Ap/H/AKfx/gCn8f8Ap/H/AKfx/gCn8f8Ap/H/AKfx/gCn8f8Ap/H/AKfx/gCn + 8f8Ap/H+AKfx/wCn8f8Ap/H+AKfx/wCn8f8Ap/H+AKfx/wCn8f8Ap/H+AKfx/wCn8f8Ap/H+AKfx/wCn + 8f8Ap/H+AKfx/wCn8f8Ap/H+AKfx/wCn8f8Ap/H+AKfx/wCn8f8Ap/H+AKfx/wCn8f8Ap/H+AKfx/wCn + 8f8Ap/H+AKfx/wCn8f8Ap/H+AKfx/wCn8e8ApvAfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqPGPAKnx/gCp8f4AqfH+AKnx/gCp8f4AqfH+AKnx/gCp + 8f4AqfH+AKnx/gCp8f4AqfH+AKnx/gCp8f4AqfH+AKnx/gCp8f4AqfH+AKnx/gCp8f4AqfH+AKnx/gCp + 8f4AqfH+AKnx/gCp8f4AqfH+AKnx/gCp8f4AqfH+AKnx/gCp8f4AqfH+AKnx/gCp8f4AqfH+AKnx/gCp + 8f4AqfH+AKnx/gCp8f4AqfH+AKnx/gCp8f4AqfH+AKnx/gCp8f4AqfH+AKnx/gCp8e8AqPEfAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqvOPAKrz/gCq + 8/8AqvP/AKrz/gCq8/8AqvP/AKrz/gCq8/8AqvP/AKrz/gCq8/8AqvP/AKrz/gCq8/8AqvP+AKrz/wCq + 8/8AqvP+AKrz/wCq8/8AqvP+AKrz/wCq8/8AqvP+AKrz/wCq8/8AqvP+AKrz/wCq8/8AqvP+AKrz/wCq + 8/8AqvP+AKrz/wCq8/8AqvP+AKrz/wCq8/8AqvP+AKrz/wCq8/8AqvP+AKrz/wCq8/8AqvP+AKrz/wCq + 8/8AqvP+AKrz/wCq8+8AqvIfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAArPSPAKz0/gCs9P8ArPT/AKz0/gCs9P8ArPT/AKz0/gCs9P8ArPT/AKz0/gCs + 9P8ArPT/AKz0/gCs9P8ArPT+AKz0/wCs9P8ArPT+AKz0/wCs9P8ArPT+AKz0/wCs9P8ArPT+AKz0/wCs + 9P8ArPT+AKz0/wCs9P8ArPT+AKz0/wCs9P8ArPT+AKz0/wCs9P8ArPT+AKz0/wCs9P8ArPT+AKz0/wCs + 9P8ArPT+AKz0/wCs9P8ArPT+AKz0/wCs9P8ArPT+AKz0/wCs9O8Aq/MfAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArvWPAK71/gCu9f4ArvX+AK71/gCu + 9f4ArvX+AK71/gCu9f4ArvX+AK71/gCu9f4ArvX+AK71/gCu9f4ArvX+AK71/gCu9f4ArvX+AK71/gCu + 9f4ArvX+AK71/gCu9f4ArvX+AK71/gCu9f4ArvX+AK71/gCu9f4ArvX+AK71/gCu9f4ArvX+AK71/gCu + 9f4ArvX+AK71/gCu9f4ArvX+AK71/gCu9f4ArvX+AK71/gCu9f4ArvX+AK71/gCu9f4ArvX+AK71/gCu + 9e8ArfQfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAr/aPAK/2/gCv9v8Ar/b/AK/2/gCv9v8Ar/b/AK/2/gCv9v8Ar/b/AK/2/gCv9v8Ar/b/AK/2/gCv + 9v8Ar/b+AK/2/wCv9v8Ar/b+AK/2/wCv9v8Ar/b+AK/2/wCv9v8Ar/b+AK/2/wCv9v8Ar/b+AK/2/wCv + 9v8Ar/b+AK/2/wCv9v8Ar/b+AK/2/wCv9v8Ar/b+AK/2/wCv9v8Ar/b+AK/2/wCv9v8Ar/b+AK/2/wCv + 9v8Ar/b+AK/2/wCv9v8Ar/b+AK/2/wCv9u8Ar/UfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsfePALH3/gCx9/8Asff/ALH3/gCx9/8Asff/ALH3/gCx + 9/8Asff/ALH3/gCx9/8Asff/ALH3/gCx9/8Asff+ALH3/wCx9/8Asff+ALH3/wCx9/8Asff+ALH3/wCx + 9/8Asff+ALH3/wCx9/8Asff+ALH3/wCx9/8Asff+ALH3/wCx9/8Asff+ALH3/wCx9/8Asff+ALH3/wCx + 9/8Asff+ALH3/wCx9/8Asff+ALH3/wCx9/8Asff+ALH3/wCx9/8Asff+ALH3/wCx9+8AsfcfAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs/iPALP4/gCz + +P4As/j+ALP4/gCz+P4As/j+ALP4/gCz+P4As/j+ALP4/gCz+P4As/j+ALP4/gCz+P4As/j+ALP4/gCz + +P4As/j+ALP4/gCz+P4As/j+ALP4/gCz+P4As/j+ALP4/gCz+P4As/j+ALP4/gCz+P4As/j+ALP4/gCz + +P4As/j+ALP4/gCz+P4As/j+ALP4/gCz+P4As/j+ALP4/gCz+P4As/j+ALP4/gCz+P4As/j+ALP4/gCz + +P4As/j+ALP4/gCz+O8As/cfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAtfmPALj5/gC1+f8Atfn/ALX5/gC1+f8Atfn/ALX5/gC1+f8Atfn/ALX5/gC1 + +f8Atfn/ALX5/gC1+f8Atfn+ALX5/wC1+f8Atfn+ALX5/wC1+f8Atfn+ALX5/wC1+f8Atfn+ALX5/wC1 + +f8Atfn+ALX5/wC1+f8Atfn+ALX5/wC1+f8Atfn+ALX5/wC1+f8Atfn+ALX5/wC1+f8Atfn+ALX5/wC1 + +f8Atfn+ALX5/wC1+f8Atfn+ALX5/wC1+f8Atfn+ALX5/wC5+u8AtfkfAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAt/qKAL76/gC2+v8Atvr/ALb6/gC2 + +v8Atvr/ALb6/gC2+v8Atvr/ALb6/gC2+v8Atvr/ALb6/gC2+v8Atvr+ALb6/wC2+v8Atvr+ALb6/wC2 + +v8Atvr+ALb6/wC2+v8Atvr+ALb6/wC2+v8Atvr+ALb6/wC2+v8Atvr+ALb6/wC2+v8Atvr+ALb6/wC2 + +v8Atvr+ALb6/wC2+v8Atvr+ALb6/wC2+v8Atvr+ALb6/wC2+v8Atvr+ALb6/wC2+v8Atvr+ALn6/wC8 + +ukAuPoTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAufthAMT7/gC5+/4AuPv+ALj7/gC4+/4AuPv+ALj7/gC4+/4AuPv+ALj7/gC4+/4AuPv+ALj7/gC4 + +/4AuPv+ALj7/gC4+/4AuPv+ALj7/gC4+/4AuPv+ALj7/gC4+/4AuPv+ALj7/gC4+/4AuPv+ALj7/gC4 + +/4AuPv+ALj7/gC4+/4AuPv+ALj7/gC4+/4AuPv+ALj7/gC4+/4AuPv+ALj7/gC4+/4AuPv+ALj7/gC4 + +/4AuPv+ALj7/gC4+/4AuPv+AMP8/gC7+9AAu/oBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvPsSAMH88ADG/P8Aufz/ALn8/gC5/P8Aufz/ALn8/gC5 + /P8Aufz/ALn8/gC5/P8Aufz/ALn8/gC5/P8Aufz+ALn8/wC5/P8Aufz+ALn8/wC5/P8Aufz+ALn8/wC5 + /P8Aufz+ALn8/wC5/P8Aufz+ALn8/wC5/P8Aufz+ALn8/wC5/P8Aufz+ALn8/wC5/P8Aufz+ALn8/wC5 + /P8Aufz+ALn8/wC5/P8Aufz+ALn8/wC5/P8Aufz+ALn8/wC5/P8AvPz+AMr8/wC7/HcAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALz9fQDM + /f0Ax/3/ALv9/gC7/f8Au/3/ALv9/gC7/f8Au/3/ALv9/gC7/f8Au/3/ALv9/gC7/f8Au/3+ALv9/wC7 + /f8Au/3+ALv9/wC7/f8Au/3+ALv9/wC7/f8Au/3+ALv9/wC7/f8Au/3+ALv9/wC7/f8Au/3+ALv9/wC7 + /f8Au/3+ALv9/wC7/f8Au/3+ALv9/wC7/f8Au/3+ALv9/wC7/f8Au/3+ALv9/wC7/f8Au/3+ALv9/wC/ + /f8A0P3+AL/92AC+/BQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAMD8CQC+/aUAzv7+ANH+/gDF/v4Avv7+AL3+/gC9/v4Avf7+AL3+/gC9 + /v4Avf7+AL3+/gC9/v4Avf7+AL3+/gC9/v4Avf7+AL3+/gC9/v4Avf7+AL3+/gC9/v4Avf7+AL3+/gC9 + /v4Avf7+AL3+/gC9/v4Avf7+AL3+/gC9/v4Avf7+AL3+/gC9/v4Avf7+AL3+/gC9/v4Avf7+AL3+/gC9 + /v4Avf7+AL3+/gC9/v4Awv7+AMv+/gDU/v4Aw/7xAL/9OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADC/QYAwP58AMT+7QDQ + //8A1v//ANf+/gDX//8A1///ANf+/gDX//8A1///ANf+/gDX//8A1/7+ANf//wDX//8A1/7+ANf//wDX + //8A1/7+ANf//wDX//8A1/7+ANf//wDX//8A1/7+ANf//wDX//8A1/7+ANf//wDX//8A1/7+ANf//wDX + //8A1/7+ANf//wDX//8A1/7+ANf//wDX//8A1/7+ANf//wDX//8A0/7+AMr/+wDA/rsAwf0pAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAMT+GwDC/l8AwP6MAMD+lwDA/pcAwP6XAMD+lwDA/pcAwP6XAMD+lwDA + /pcAwP6XAMD+lwDA/pcAwP6XAMD+lwDA/pcAwP6XAMD+lwDA/pcAwP6XAMD+lwDA/pcAwP6XAMD+lwDA + /pcAwP6XAMD+lwDA/pcAwP6XAMD+lwDA/pcAwP6XAMD+lwDA/pcAwP6XAMD+lwDA/pcAwP6XAMD+lwDA + /pUAwf55AML+NgDF/gcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////// + ///////////////////////////8AAAAAAAAH////wAAAAAAAAAAAAB/4AAAAAAAAAAAAAADgAAAAAAA + AAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAwAAAAAAA + AAAAAAAA8AAAAAAAAAAAAAAD/wAAAAAAAAAAAAP//AAAAAAAAAH/////+AAAAAAAA///////8AAAAAAA + A///////8AAAAAAAAf//////8AAAAAAAAf//////8AAAAAAAAf//////8AAAAAAAAf//////8AAAAAAA + Af//////8AAAAAAAAf//////8AAAAAAAAf//////8AAAAAAAAf//////8AAAAAAAAf//////8AAAAAAA + Af//////8AAAAAAAAf//////8AAAAAAAAf//////8AAAAAAAAf//////8AAAAAAAAAAD////8AAAAAAA + AAAA////8AAAAAAAAAAA////8AAAAAAAAAAAf///8AAAAAAAAAAAP///8AAAAAAAAAAAP///8AAAAAAA + AAAAP///8AAAAAAAAAAAP///8AAAAAAAAAAAP///8AAAAAAAAAAAP///8AAAAAAAAAAAP///8AAAAAAA + AAAAP///8AAAAAAAAAAAP///8AAAAAAAAAAAP///8AAAAAAAAAAAP///8AAAAAAAAAAAP///+AAAAAAA + AAAAP////AAAAAAAAAAAAAH//gAAAAAAAAAAAAB////8AAAAAAAAAAA////8AAAAAAAAAAAP///8AAAA + AAAAAAAP///8AAAAAAAAAAAP///8AAAAAAAAAAAH///8AAAAAAAAAAAH///8AAAAAAAAAAAH///8AAAA + AAAAAAAH///8AAAAAAAAAAAH///8AAAAAAAAAAAH///8AAAAAAAAAAAH///8AAAAAAAAAAAH///8AAAA + AAAAAAAH///+AAAAAAAAAAAH///+AAAAAAAAAAAH////AAAAAAAAAAAH////gAAAAAAAAAAH//////+A + AAAAAAAH//////+AAAAAAAAH//////+AAAAAAAAH//////+AAAAAAAAH//////+AAAAAAAAH//////+A + AAAAAAAH//////+AAAAAAAAH//////+AAAAAAAAH//////+AAAAAAAAH//////+AAAAAAAAH//////+A + AAAAAAAH//////+AAAAAAAAH//////+AAAAAAAAH//////+AAAAAAAAP///////AAAAAAAAP///////A + AAAAAAAf///////gAAAAAAA////////4AAAAAAB///////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////KAAAAEgAAACQAAAAAQAgAAAAAABgVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAACkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSk + pAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkpKQBpKSkAqOj + owKkpKQDo6OjBaSkpAajo6MGpKSkBqOjowmkpKQLpKSkDKOjowykpKQMo6OjDKSkpAyjo6MNpKSkEaOj + oxakpKQYpKSkGKOjoxikpKQYo6OjGKSkpBijo6MYpKSkGKOjoxikpKQYpKSkGKOjoxikpKQYo6OjGKSk + pBijo6MYpKSkGKOjoxikpKQYo6OjGKSkpBikpKQYo6OjGKSkpBajo6MSpKSkDqOjowykpKQMo6OjDKSk + pAykpKQMo6OjC6SkpAijo6MGpKSkBqOjowakpKQFo6OjA6SkpAKkpKQCo6OjAQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAApKSkA6SkpAekpKQLpKSkEKSkpBSkpKQapKSkH6SkpCKkpKQppKSkMaSk + pDWkpKQ1pKSkOKSkpEKkpKRMpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRSpKSkXKSkpGikpKRtpKSkbaSk + pG2kpKRtpKSkbaSkpG2kpKRtpKSkbaSkpG2kpKRtpKSkbaSkpG2kpKRtpKSkbaSkpG2kpKRtpKSkbaSk + pG2kpKRtpKSkbaSkpG2kpKRtpKSkbaSkpGmkpKRepKSkU6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkSqSk + pECkpKQ4pKSkNaSkpDWkpKQypKSkKqSkpCOkpKQgpKSkG6SkpBWkpKQQpKSkC6SkpAekpKQDAAAAAAAA + AACkpKQHo6OjHKSkpDWjo6NKpKSkWaOjo2SkpKRxpKSkfKOjo4GkpKSMo6OjmKSkpJ2jo6OepKSkoqOj + o6ykpKS3pKSkuqOjo7ukpKS7o6Oju6SkpLujo6O9pKSkxaOjo86kpKTSpKSk06Ojo9OkpKTTo6Oj06Sk + pNOjo6PTpKSk06Ojo9OkpKTTpKSk06Ojo9OkpKTTo6Oj06SkpNOjo6PTpKSk06Ojo9OkpKTTo6Oj06Sk + pNOkpKTTo6Oj0qSkpM+jo6PGpKSkvaOjo7ukpKS7o6Oju6SkpLukpKS6o6OjtqSkpKujo6OhpKSknqOj + o56kpKSZo6OjjaSkpIKkpKR9o6Ojc6SkpGWjo6NYpKSkSKOjozWkpKQco6OjCKSkpAGkpKQUpKSkR6Sk + pH6kpKShpKSktaSkpMGkpKTMpKSk1aSkpNmkpKTepKSk5aSkpOmkpKTppKSk6qSkpO6kpKTypKSk9KSk + pPSkpKT0pKSk9KSkpPSkpKT1pKSk9qSkpPikpKT5pKSk+qSkpPqkpKT6pKSk+qSkpPqkpKT6pKSk+qSk + pPqkpKT6pKSk+qSkpPqkpKT6pKSk+qSkpPqkpKT6pKSk+qSkpPqkpKT6pKSk+qSkpPqkpKT6pKSk+aSk + pPmkpKT2pKSk9aSkpPSkpKT0pKSk9KSkpPSkpKT0pKSk8aSkpO6kpKTqpKSk6aSkpOmkpKTmpKSk36Sk + pNmkpKTVpKSkzaSkpMGkpKSzpKSkn6SkpH+kpKRJpKSkFqSkpAGkpKQRo6OjP6SkpHKjo6OTpKSkp6Oj + o7OkpKS/pKSkyaOjo82kpKTSo6Oj2qSkpOCjo6PipKSk4qOjo+OkpKTopKSk7aOjo++kpKTvo6Oj76Sk + pPCjo6PvpKSk8KOjo/CkpKTypKSk9aOjo/ekpKT3o6Oj96SkpPijo6P3pKSk+KOjo/ekpKT4pKSk+KOj + o/ekpKT4o6Oj96SkpPijo6P3pKSk+KOjo/ekpKT4o6Oj96SkpPekpKT1o6Oj8qSkpPCjo6PvpKSk8KOj + o++kpKTwo6Oj76SkpO+kpKTto6Oj6KSkpOSjo6PipKSk4qOjo9+kpKTZo6Oj0aSkpM2kpKTIo6OjvaSk + pLKjo6OkpKSkkKOjo3KkpKRBo6OjFAAAAACkpKQEpKSkE6SkpCakpKQ2pKSkQ6SkpE2kpKRZpKSkZKSk + pGmkpKRvpKSkfKSkpIakpKSJpKSkiaSkpIykpKSXpKSkoqSkpKekpKSopKSkqKSkpKikpKSopKSkqKSk + pKmkpKSxpKSkvKSkpMKkpKTDpKSkw6SkpMOkpKTDpKSkw6SkpMOkpKTDpKSkw6SkpMOkpKTDpKSkw6Sk + pMOkpKTDpKSkw6SkpMOkpKTDpKSkw6SkpMKkpKS9pKSksqSkpKmkpKSopKSkqKSkpKikpKSopKSkqKSk + pKekpKSkpKSkmKSkpI2kpKSJpKSkiaSkpIWkpKR6pKSkbqSkpGmkpKRjpKSkVqSkpEukpKRBpKSkNKSk + pCWkpKQTpKSkBQAAAAAAAAAAo6SjAZ2koQOXpp4GkqecCZOnnAyWpp0QlaadFZimnhekpKQao6SkIaSk + pCajpKQnpKSkJ6SkpCmkpKQxpKSkOqSkpD2kpKQ+pKSkPqSkpD6kpKQ+pKSkPqSkpD+kpKRHpKSkUqSk + pFmkpKRapKSkWqSkpFqkpKRapKSkWqSkpFqkpKRapKSkWqSkpFqkpKRapKSkWqSkpFqkpKRapKSkWqSk + pFqkpKRapKSkWqSkpFmkpKRUpKSkSKSkpECkpKQ+pKSkPqSkpD6kpKQ+pKSkPqSkpD6kpKQ7pKSkMqSk + pCqkpKQnpKSkJ6SkpCWkpKQfpKSkGaSkpBakpKQUpKSkEKSkpAykpKQJpKSkBqSkpAOkpKQBAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAYrGHCku1fVM+uHeNPrh3lD64d5Q/uHeUP7h3lT+4d5U/uHeVQLh3lUy1 + fZZPtH6XULR+mE+0fphQtH6YT7R+mFC0fphPtH6YULR+mFC0fplQtH6aULR/nFG0f55RtH+eUbR/nlG0 + f55RtH+eUbR/nlG0f55RtH+eUbR/nlG0f5tor4lthaqWH5Cnmw+Wpp4PnaWhD6Kkow+kpKQPo6OjD6Sk + pA+kpKQNo6OjCqSkpAejo6MHpKSkB6OjowekpKQHo6OjB6SkpAekpKQGo6OjBaSkpAOjo6MDpKSkA6Oj + owKkpKQBo6OjAaSkpAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAA7ungoL7xyzi28cf4tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28 + cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28 + cf8tvHH/Lbxx/y28cf8tvHH/MLxy3lK1gj4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACu/dBMsvnPdLL5z/yy+ + c/4svnP/LL5z/yy+c/4svnP/LL5z/iy+c/8svnP+LL5z/yy+c/4svnP/LL5z/yy+c/4svnP/LL5z/iy+ + c/8svnP+LL5z/yy+c/4svnP/LL5z/yy+c/4svnP/LL5z/iy+c/8svnP+LL5z/yy+c/4svnP/LL5z/yy+ + c/4svnP/LL5z/iy+c+4/unwnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACrAdYErwHX/K8B1/yvAdf8rwHX/K8B1/yvA + df8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvA + df8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvA + df8qwHWkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAACnBd84pwXf+KcJ3/ynBd/4pwnf/KcJ3/ynBd/4pwnf/KcF3/inC + d/8pwXf+KcJ3/ynBd/4pwnf/KcJ3/ynBd/4pwnf/KcF3/inCd/8pwXf+KcJ3/ynBd/4pwnf/KcJ3/ynB + d/4pwnf/KcF3/inCd/8pwXf+KcJ3/ynBd/4pwnf/KcJ3/ynBd/4pwnf/KcF3/inCd/8pwXfqKcF3CgAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAACjDeeYow3n/KMN5/yjDef8ow3n/KMN5/yjDef8ow3n/KMN5/yjDef8ow3n/KMN5/yjD + ef8ow3n/KMN5/yjDef8ow3n/KMN5/yjDef8ow3n/KMN5/yjDef8ow3n/KMN5/yjDef8ow3n/KMN5/yjD + ef8ow3n/KMN5/yjDef8ow3n/KMN5/yjDef8ow3n/KMN5/yjDef8ow3n+KMN4DwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACfF + e+cnxXv+J8V7/yfFe/4nxXv/J8V7/yfFe/4nxXv/J8V7/ifFe/8nxXv+J8V7/yfFe/4nxXv/J8V7/yfF + e/4nxXv/J8V7/ifFe/8nxXv+J8V7/yfFe/4nxXv/J8V7/yfFe/4nxXv/J8V7/ifFe/8nxXv+J8V7/yfF + e/4nxXv/J8V7/yfFe/4nxXv/J8V7/ifFe/8nxXv+J8V6DwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACbHfOcmx3z/Jsd8/ybH + fP8mx3z/Jsd8/ybHfP8mx3z/Jsd8/ybHfP8mx3z/Jsd8/ybHfP8mx3z/Jsd8/ybHfP8mx3z/Jsd8/ybH + fP8mx3z/Jsd8/ybHfP8mx3z/Jsd8/ybHfP8mx3z/Jsd8/ybHfP8mx3z/Jsd8/ybHfP8mx3z/Jsd8/ybH + fP8mx3z/Jsd8/ybHfP8mx3z/JsZ8DwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACXJfuclyX7/Jcl+/yXJfv8lyX7/Jcl+/yXJ + fv8lyX7/Jcl+/yXJfv8lyX7/Jcl+/yXJfv8lyX7/Jcl+/yXJfv8lyX7/Jcl+/yXJfv8lyX7/Jcl+/yXJ + fv8lyX7/Jcl+/yXJfv8lyX7/Jcl+/yXJfv8lyX7/Jcl+/yXJfv8lyX7/Jcl+/yXJfv8lyX7/Jcl+/yXJ + fv8lyX7/Jch+DwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAACTKgOckyoD+JMqA/yTKgP4kyoD/JMqA/yTKgP4kyoD/JMqA/iTK + gP8kyoD+JMqA/yTKgP4kyoD/JMqA/yTKgP4kyoD/JMqA/iTKgP8kyoD+JMqA/yTKgP4kyoD/JMqA/yTK + gP4kyoD/JMqA/iTKgP8kyoD+JMqA/yTKgP4kyoD/JMqA/yTKgP4kyoD/JMqA/iTKgP8kyoD+JMl/DwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAACPMgucjzIL/I8yC/yPMgv8jzIL/I8yC/yPMgv8jzIL/I8yC/yPMgv8jzIL/I8yC/yPM + gv8jzIL/I8yC/yPMgv8jzIL/I8yC/yPMgv8jzIL/I8yC/yPMgv8jzIL/I8yC/yPMgv8jzIL/I8yC/yPM + gv8jzIL/I8yC/yPMgv8jzIL/I8yC/yPMgv8jzIL/I8yC/yPMgv8jzIL/JMuBDwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACLN + g+cizYP+I82D/yLNg/4jzYP/I82D/yLNg/4jzYP/Is2D/iPNg/8izYP+I82D/yLNg/4jzYP/I82D/yLN + g/4jzYP/Is2D/iPNg/8izYP+I82D/yLNg/4jzYP/I82D/yLNg/4jzYP/Is2D/iPNg/8izYP+I82D/yLN + g/4jzYP/I82D/yLNg/4jzYP/Is2D/iPNg/8izYP+NsB1DwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACLOhecizoX/Is6F/yLO + hf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLO + hf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLO + hf8izoX/Is6F/yLOhf8izoX/TrFlF2+dTgibgTAIoX0rCKF9KwihfSsIoX0rCKF9KwihfSsIoX0rBQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACHPhuchz4b+IdCG/yHPhv4h0Ib/IdCG/yHP + hv4h0Ib/Ic+G/iHQhv8hz4b+IdCG/yHPhv4h0Ib/IdCG/yHPhv4h0Ib/Ic+G/iHQhv8hz4b+IdCG/yHP + hv4h0Ib/IdCG/yHPhv4h0Ib/Ic+G/iHQhv8hz4b+IdCG/yHPhv4h0Ib/IdCG/yHPhv4h0Ib/Ic+G/iHQ + hv8hz4b+mYIx5KF9K+OhfSvjoX0r46F9K+OhfSvjoX0r46F9K+OhfSvjoX0r26J9K6uifiw9AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAACDRiOcg0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDR + iP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDR + iP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/m4Qz/6N/ + Lf+jfy3/o38t/6N/Lf+jfy3/o38t/6N/Lf+jfy3/o38t/6N/Lf+jfy35pH8tegAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAB/Siecf0on+H9KJ/x/Sif4f0on/H9KJ/x/Sif4f0on/H9KJ/h/Sif8f0on+H9KJ/x/S + if4f0on/H9KJ/x/Sif4f0on/H9KJ/h/Sif8f0on+H9KJ/x/Sif4f0on/H9KJ/x/Sif4f0on/H9KJ/h/S + if8f0on+H9KJ/x/Sif4f0on/H9KJ/x/Sif4f0on/H9KJ/h/Sif8f0on+nYY1/6aBL/6mgS//poEv/qaB + L/+mgS//poEv/qaBL/+mgS/+poEv/6aBL/6mgS//poEv/KaBL0cAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB7T + i+cf04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/T + i/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/T + i/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/n4c2/6iCMf+ogjH/qIIx/6iCMf+ogjH/qIIx/6iC + Mf+ogjH/qIIx/6iCMf+ogjH/qIIx/6iCMb2ogzEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB7UjOce1Iz/HtSM/x7U + jP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7U + jP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7U + jP8e1Iz/HtSM/x7UjP8e1Iz/oYk4/6qEM/+qhDP/qoQz/6qEM/+qhDP/qoQz/6qEM/+qhDP/qoQz/6qE + M/+qhDP/qoQz/6qEM+uphDIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB3Vjecd1Y3+HdWN/x3Vjf4d1Y3/HdWN/x3V + jf4d1Y3/HdWN/h3Vjf8d1Y3+HdWN/x3Vjf4d1Y3/HdWN/x3Vjf4d1Y3/HdWN/h3Vjf8d1Y3+HdWN/x3V + jf4d1Y3/HdWN/x3Vjf4d1Y3/HdWN/h3Vjf8d1Y3+HdWN/x3Vjf4d1Y3/HdWN/x3Vjf4d1Y3/HdWN/h3V + jf8d1Y3+o4s6/6yGNf6shjX/rIY1/qyGNf+shjX/rIY1/qyGNf+shjX+rIY1/6yGNf6shjX/rIY1/qyG + NfWrhjQXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAB3Wjucd1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/pY08/66I + N/+uiDf/rog3/66IN/+uiDf/rog3/66IN/+uiDf/rog3/66IN/+uiDf/rog3/66IN/WthzYXAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAABzXj+cc14/+HNeP/xzXj/4c14//HNeP/xzXj/4c14//HNeP/hzXj/8c14/+HNeP/xzX + j/4c14//HNeP/xzXj/4c14//HNeP/hzXj/8c14/+HNeP/xzXj/4c14//HNeP/xzXj/4c14//HNeP/hzX + j/8c14/+HNeP/xzXj/4c14//HNeP/xzXj/4c14//HNeP/hzXj/8c14/+p48+/7CKOf6wijn/sIo5/rCK + Of+wijn/sIo5/rCKOf+wijn+sIo5/7CKOf6wijn/sIo5/rCKOfWwijgXAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/Z + k+cc2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzY + kP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzY + kP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8f2ZP/qZFA/7KMO/+yjDv/sow7/7KMO/+yjDv/sow7/7KM + O/+yjDv/sow7/7KMO/+yjDv/sow7/7KMO/WyizoXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACXcmt4c2ZL+G9mR/xvY + kf4b2ZH/G9mR/xvYkf4b2ZH/G9iR/hvZkf8b2JH+G9mR/xvYkf4b2ZH/G9mR/xvYkf4b2ZH/G9iR/hvZ + kf8b2JH+G9mR/xvYkf4b2ZH/G9mR/xvYkf4b2ZH/G9iR/hvZkf8b2JH+G9mR/xvYkf4b2ZH/G9mR/xvY + kf4b2ZH/G9iR/hvZkf8r2Zf+rZFB/7SNPf61jj3/tI09/rWOPf+1jj3/tI09/rWOPf+0jT3+tY49/7SN + Pf61jj3/tI09/rWOPfW0jTwXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACHbl6Qq3p//G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/yTc + mv9HzIj/tZBA/7eQP/+3kD//t5A//7eQP/+3kD//t5A//7eQP/+3kD//t5A//7eQP/+3kD//t5A//7eQ + P/W2jz4XAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAACHblzcx4ab4JN2b/xrZkv4b2pP/G9qT/xrZkv4b2pP/GtmS/hva + k/8a2ZL+G9qT/xrZkv4b2pP/G9qT/xrZkv4b2pP/GtmS/hvak/8a2ZL+G9qT/xrZkv4b2pP/G9qT/xrZ + kv4b2pP/GtmS/hvak/8a2ZL+G9qT/xrZkv4b2pP/G9qT/xrZkv4b2pP/IdyY/jXiqP+Eql3+uZJB/7mS + Qf65kkH/uZJB/rmSQf+5kkH/uZJB/rmSQf+5kkH+uZJB/7mSQf65kkH/uZJB/rmSQfWmkFAXAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAf25dqNOOq+DXjq/8o35//JN2c/yTdnP8k3Zz/JN2c/yTdnP8k3Zz/JN2c/yTd + nP8k3Zz/JN2c/yTdnP8k3Zz/JN2c/yTdnP8k3Zz/JN2c/yTdnP8k3Zz/JN2c/yTdnP8k3Zz/JN2c/yTd + nP8k3Zz/JN2c/yTdnP8k3Zz/JN2c/yfenv8z4qn/OOOr/2a7cf+6lEP/u5ND/7uTQ/+7k0P/u5ND/7uT + Q/+7k0P/u5ND/7uTQ/+7k0P/u5ND/7uTQ/+7k0P/u5ND/7uTQ/WIj2sXAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAIt2aPSLdm68t4aTtMOKo/zDiqP4w4qj/MOKo/jDiqP8w4qj+MOKo/zDiqP4w4qj/MOKo/zDi + qP8w4qj/MOKo/zDiqP8w4qj/MOKo/zDiqP8w4qj/MOKo/zDiqP8w4qj/MOKo/zDiqP8w4qj/MOKo/zDi + qP8w4qj/MOKo/zbeov9NzIf/jKpd/7yWRf+9lUX/vZVF/72VRf+9lUX/vZVF/72VRf+9lUX/vZVF/72V + Rf+9lUX/vZVF/72VRf+9lUX/vZVF/7mVSPsjib+qC4fToQGH26EAh92hAIfdoQCH3aEAh92hAIfdoQCH + 3aEAh92bAIfdZwCH3Q0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABqwXwIv5dG4b+XRv6/l0b/v5dG/r+X + Rv+/l0b+v5dG/7+XRv6/l0b/v5dG/7+XRv6/l0b/v5dG/r+XRv+/l0b+v5dG/7+XRv6/l0b/v5dG/7+X + Rv6/l0b/v5dG/r+XRv+/l0b+v5dG/7+XRv6/l0b/v5dG/r+XRv+/l0b/v5dG/r+XRv+/l0b+v5dG/7+X + Rv6/l0b/v5dG/riWTP8RiM//AIfd/gCH3f8Ah93+AIfd/wCH3f4Ah93/AIfd/gCH3f8Ah93/AIfd/gCH + 3eYAiN0/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACNsmgIwZlJ4cGZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZ + Sf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZ + Sf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/7qY + Tv8SitD/AIne/wCJ3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ3v8Aid7sAIreJQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAC+nE0IxJtK4cSbSv7Em0r/xJtK/sSbSv/Em0r+xJtK/8SbSv7Em0r/xJtK/8Sb + Sv7Em0r/xJtK/sSbSv/Em0r+xJtK/8SbSv7Em0r/xJtK/8SbSv7Em0r/xJtK/sSbSv/Em0r+xJtK/8Sb + Sv7Em0r/xJtK/sSbSv/Em0r/xJtK/sSbSv/Em0r+xJtK/8SbSv7Em0r/xJtK/ryaUP8SjdH/AIvf/gCL + 3/8Ai9/+AIvf/wCL3/4Ai9//AIvf/gCL3/8Ai9//AIvf/gCL3/8Ai9/+AIvfogAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADGnEwIx51N4cedTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8ed + Tf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8ed + Tf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/7+cUv8Sj9P/AI3h/wCO4f8AjeH/AI7h/wCN + 4f8AjuH/AI3h/wCO4f8AjuH/AI3h/wCO4f8AjeH/AI7h5gCN4AYAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADInk4IyZ9P4cme + Tv7Jn0//yZ5O/smfT//Jnk7+yZ9P/8meTv7Jn0//yZ9P/8meTv7Jn0//yZ5O/smfT//Jnk7+yZ9P/8me + Tv7Jn0//yZ9P/8meTv7Jn0//yZ5O/smfT//Jnk7+yZ9P/8meTv7Jn0//yZ5O/smfT//Jn0//yZ5O/smf + T//Jnk7+yZ9P/8meTv7Jn0//yZ5O/sGeVP8SkdT/AJDi/gCQ4v8AkOL+AJDi/wCQ4v4AkOL/AJDi/gCQ + 4v8AkOL/AJDi/gCQ4v8AkOL+AJDi8gCP4hYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADLoFAIy6BR4cugUf/LoFH/y6BR/8ug + Uf/LoFH/y6BR/8ugUf/LoFH/y6BR/8ugUf/LoFH/y6BR/8ugUf/LoFH/y6BR/8ugUf/LoFH/y6BR/8ug + Uf/LoFH/y6BR/8ugUf/LoFH/y6BR/8ugUf/LoFH/y6BR/8ugUf/LoFH/y6BR/8ugUf/LoFH/y6BR/8ug + Uf/LoFH/y6BR/8OgVv8Sk9b/AJLk/wCS5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS + 5P8AkuT/AJLk8wCR4xcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADNo1QIzaJT4c2iU/7NolP/zaJT/s2iU//NolP+zaJT/82i + U/7NolP/zaJT/82iU/7NolP/zaJT/s2iU//NolP+zaJT/82iU/7NolP/zaJT/82iU/7NolP/zaJT/s2i + U//NolP+zaJT/82iU/7NolP/zaJT/s2iU//NolP/zaJT/s2iU//NolP+zaJT/82iU/7NolP/zaJT/sWi + Wf8Tltf/AJTl/gCU5f8AlOX+AJTl/wCU5f4AlOX/AJTl/gCU5f8AlOX/AJTl/gCU5f8AlOX+AJTl8wCU + 5BcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADQplgI0qha4c+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+k + VP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+k + VP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8moYf8TmNn/AJfn/wCX + 5/8Al+f/AJfn/wCX5/8Al+f/AJfn/wCX5/8Al+f/AJfn/wCX5/8Al+f/AJfn8wCW5hcAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADSqVwC1q9k1dKnWP7Rplb/0aZW/tGmVv/Rplb+0aZW/9GmVv7Rplb/0aZW/9GmVv7Rplb/0aZW/tGm + Vv/Rplb+0aZW/9GmVv7Rplb/0aZW/9GmVv7Rplb/0aZW/tGmVv/Rplb+0aZW/9GmVv7Rplb/0aZW/tGm + Vv/Rplb/0aZW/tGmVv/Rplb+0aZW/9GmVv7Rplb/0aZW/sKuc/8KmuH/AJno/gCZ6P8Amej+AJno/wCZ + 6P4Amej/AJno/gCZ6P8Amej/AJno/gCZ6P8Amej+AJno8wCY5xcAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1apcjNy4 + cf/UqFn/1KhY/9SoWP/UqFj/1KhY/9SoWP/UqFj/1KhY/9SoWP/UqFj/1KhY/9SoWP/UqFj/1KhY/9So + WP/UqFj/1KhY/9SoWP/UqFj/1KhY/9SoWP/UqFj/1KhY/9SoWP/UqFj/1KhY/9SoWP/UqFj/1KhY/9So + WP/UqFj/1KhY/9SoWP/UqFj/27Vt/46nj/8Am+n/AJvp/wCb6f8Am+n/AJvp/wCb6f8Am+n/AJvp/wCb + 6f8Am+n/AJvp/wCb6f8Am+n/AJvp8wCb6RcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA165hGdy1bejeunT/1qpb/9aq + Wv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aq + Wv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aq + W//dt2//1Lh3/yOg0/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe + 6/8Anuv/AJ7r8wCd6hcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANmvYzbdtm3b5MOD/uLBfv/iwH3+4sB9/+LA + ff7iwH3/4sB9/+LAff7iwH3/4sB9/uLAff/iwH3+4sB9/+LAff7iwH3/4sB9/+LAff7iwH3/4sB9/uLA + ff/iwH3+4sB9/+LAff7iwH3/4sB9/uLAff/iwH3/4sB9/uLAff/iwH3+4sB+/+TDgv7Jt37/OaPG/gCg + 7P8AoOz/AKDs/gCg7P8AoOz+AKDs/wCg7P4AoOz/AKDs/gCg7P8AoOz/AKDs/gCg7P8AoOz+AKDs8wCf + 7BcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADbs2kP27JmZdy0aZ/ctGmn3LRpp9y0aafctGmn3LRpp9y0 + aafctGmn0rNvp8Syd6qQrZX1kK2V/5Ctlf+QrZX/kK2V/5Ctlf+QrZX/kK2V/5Ctlf+QrZX/kK2V/5Ct + lf+QrZX/kK2V/5Ctlf+QrZX/kK2V/5Ctlf+QrZX/jK2X/1+osP8Ro+L/AKLu/wCi7v8Aou7/AKLu/wCi + 7v8Aou7/AKLu/wCi7v8Aou7/AKLu/wCi7v8Aou7/AKLu/wCi7v8Aou7/AKLu8wCi7RcAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHux + rAgApO/jAKXv/wCk7/4Ape//AKXv/wCk7/4Ape//AKTv/gCl7/8ApO/+AKXv/wCk7/4Ape//AKTv/gCl + 7/8Ape//AKTv/gCl7/8ApO/+AKXv/wCk7/4Ape//AKTv/gCl7/8Ape//AKTv/gCl7/8ApO/+AKXv/wCk + 7/4Ape//AKTv/gCl7/8Ape//AKTv/gCl7/8ApO/+AKXv8wCk7hcAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADaqzwgAp/HjAKfx/wCn + 8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn + 8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn + 8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx8wCm8BcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACo8QgAqfLjAKny/wCp8v4AqfL/AKny/wCp + 8v4AqfL/AKny/gCp8v8AqfL+AKny/wCp8v4AqfL/AKny/gCp8v8AqfL/AKny/gCp8v8AqfL+AKny/wCp + 8v4AqfL/AKny/gCp8v8AqfL/AKny/gCp8v8AqfL+AKny/wCp8v4AqfL/AKny/gCp8v8AqfL/AKny/gCp + 8v8AqfL+AKny8wCo8RcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACq8wgAq/PjAKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr + 8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr + 8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz8wCr + 8xcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAACt9AgArvXjAK71/wCu9f4ArvX/AK71/wCu9f4ArvX/AK71/gCu9f8ArvX+AK71/wCu + 9f4ArvX/AK71/gCu9f8ArvX/AK71/gCu9f8ArvX+AK71/wCu9f4ArvX/AK71/gCu9f8ArvX/AK71/gCu + 9f8ArvX+AK71/wCu9f4ArvX/AK71/gCu9f8ArvX/AK71/gCu9f8ArvX+AK718wCt9BcAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACv + 9QgAsPbjALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw + 9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw + 9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD28wCv9RcAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACy9wgAsvfjALL3/wCy + 9/8Asvf/ALL3/wCy9/8Asvf/ALL3/wCy9/8Asvf/ALL3/wCy9/8Asvf/ALL3/wCy9/8Asvf/ALL3/wCy + 9/8Asvf/ALL3/wCy9/8Asvf/ALL3/wCy9/8Asvf/ALL3/wCy9/8Asvf/ALL3/wCy9/8Asvf/ALL3/wCy + 9/8Asvf/ALL3/wCy9/8Asvf/ALL38wCy9xcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC1+AgAtvnjALT5/wC0+f4AtPn/ALT5/wC0 + +f4AtPn/ALT5/gC0+f8AtPn+ALT5/wC0+f4AtPn/ALT5/gC0+f8AtPn/ALT5/gC0+f8AtPn+ALT5/wC0 + +f4AtPn/ALT5/gC0+f8AtPn/ALT5/gC0+f8AtPn+ALT5/wC0+f4AtPn/ALT5/gC0+f8AtPn/ALT5/gC0 + +f8AtPn+ALf58wC1+BcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC5+gYAvPrcALf6/wC2+v8At/r/ALf6/wC2+v8At/r/ALb6/wC3 + +v8Atvr/ALf6/wC2+v8At/r/ALb6/wC3+v8At/r/ALb6/wC3+v8Atvr/ALf6/wC2+v8At/r/ALb6/wC3 + +v8At/r/ALb6/wC3+v8Atvr/ALf6/wC2+v8At/r/ALb6/wC3+v8At/r/ALb6/wC3+v8At/r/AL377QC5 + +gwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAvfupAMH8/wC4+/4Aufz/ALn8/wC4+/4Aufz/ALj7/gC5/P8AuPv+ALn8/wC4 + +/4Aufz/ALj7/gC5/P8Aufz/ALj7/gC5/P8AuPv+ALn8/wC4+/4Aufz/ALj7/gC5/P8Aufz/ALj7/gC5 + /P8AuPv+ALn8/wC4+/4Aufz/ALj7/gC5/P8Aufz/ALj7/gC5/P8AwPz+AL78vgAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAvfw2AMj99wDC/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7 + /f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7 + /f8Au/3/ALv9/wC7/f8Au/3/ALv9/wDA/f8Ayv38AL38RwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMD9ZQDM + /vgAzv7/AMf+/wDF/v4Axf7/AMX+/gDF/v8Axf7+AMX+/wDF/v4Axf7/AMX+/gDF/v8Axf7/AMX+/gDF + /v8Axf7+AMX+/wDF/v4Axf7/AMX+/gDF/v8Axf7/AMX+/gDF/v8Axf7+AMX+/wDF/v4Axf7/AMX+/gDF + /v8Axv7/AM7+/gDN/vwAwP17AMH8AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADC/jYAwv6pAMj/4ADK + /+cAyv/nAMr/5wDK/+cAyv/nAMr/5wDK/+cAyv/nAMr/5wDK/+cAyv/nAMr/5wDK/+cAyv/nAMr/5wDK + /+cAyv/nAMr/5wDK/+cAyv/nAMr/5wDK/+cAyv/nAMr/5wDK/+cAyv/nAMr/5wDK/+cAyf/iAMP+rwDC + /kIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMf+BADG/gkAxv4JAMb+CQDG + /gkAxv4JAMb+CQDG/gkAxv4JAMb+CQDG/gkAxv4JAMb+CQDG/gkAxv4JAMb+CQDG/gkAxv4JAMb+CQDG + /gkAxv4JAMb+CQDG/gkAxv4JAMb+CQDG/gkAxv4JAMb+CQDG/gkAxv4FAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////wAAAP///4AAAP///wAAAP4AAAAAAAAAPwAAAMAA + AAAAAAAAAQAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAMAA + AAAAAAAAAQAAAPgAAAAAAAAA/wAAAPAAAAAA/////wAAAOAAAAAAf////wAAAOAAAAAAf////wAAAOAA + AAAAP////wAAAOAAAAAAP////wAAAOAAAAAAP////wAAAOAAAAAAP////wAAAOAAAAAAP////wAAAOAA + AAAAP////wAAAOAAAAAAP////wAAAOAAAAAAP////wAAAOAAAAAAAB///wAAAOAAAAAAAAf//wAAAOAA + AAAAAAP//wAAAOAAAAAAAAH//wAAAOAAAAAAAAD//wAAAOAAAAAAAAD//wAAAOAAAAAAAAD//wAAAOAA + AAAAAAD//wAAAOAAAAAAAAD//wAAAOAAAAAAAAD//wAAAOAAAAAAAAD//wAAAOAAAAAAAAD//wAAAOAA + AAAAAAD//wAAAPAAAAAAAAD//wAAAPgAAAAAAAAAHwAAAP//AAAAAAAADwAAAP//AAAAAAAABwAAAP// + AAAAAAAABwAAAP//AAAAAAAAAwAAAP//AAAAAAAAAwAAAP//AAAAAAAAAwAAAP//AAAAAAAAAwAAAP// + AAAAAAAAAwAAAP//AAAAAAAAAwAAAP//gAAAAAAAAwAAAP//gAAAAAAAAwAAAP//wAAAAAAAAwAAAP// + 4AAAAAAAAwAAAP////wAAAAAAwAAAP////wAAAAAAwAAAP////wAAAAAAwAAAP////wAAAAAAwAAAP// + //wAAAAAAwAAAP////wAAAAAAwAAAP////wAAAAAAwAAAP////wAAAAAAwAAAP////wAAAAAAwAAAP// + //4AAAAABwAAAP////4AAAAABwAAAP////8AAAAABwAAAP////+AAAAAHwAAAP/////gAAAAfwAAAP// + /////////wAAAP///////////wAAAP///////////wAAAP///////////wAAAP///////////wAAAP// + /////////wAAAP///////////wAAAP///////////wAAAP///////////wAAACgAAABAAAAAgAAAAAEA + IAAAAAAAAEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApKSkAaSkpAGkpKQBpKSkAaSk + pAGkpKQBpKSkAqSkpAKkpKQCpKSkAqSkpAKkpKQCpKSkAqSkpAKkpKQCpKSkAqSkpAKkpKQCpKSkAqSk + pAKkpKQCpKSkAqSkpAKkpKQCpKSkAqSkpAKkpKQCpKSkAqSkpAKkpKQBpKSkAaSkpAGkpKQBpKSkAQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAACkpKQBpKSkAqSkpASkpKQGpKSkB6SkpAqkpKQNpKSkDqSkpA6kpKQSpKSkF6Sk + pBqkpKQapKSkGqSkpBqkpKQapKSkHqSkpCekpKQrpKSkLKSkpCykpKQspKSkLKSkpCykpKQspKSkLKSk + pCykpKQspKSkLKSkpCykpKQspKSkLKSkpCykpKQspKSkLKSkpCykpKQspKSkLKSkpCukpKQnpKSkHqSk + pBqkpKQapKSkGqSkpBqkpKQZpKSkFqSkpBGkpKQOpKSkDqSkpA2kpKQKpKSkB6SkpAakpKQEpKSkAqSk + pAEAAAAAAAAAAAAAAAAAAAAApKSkA6SkpA2kpKQZpKSkJKSkpC2kpKQ3pKSkQaSkpEakpKRRpKSkXaSk + pGCkpKRhpKSka6SkpHmkpKR+pKSkf6SkpH+kpKR/pKSkgKSkpIekpKSVpKSknaSkpJ6kpKSepKSknqSk + pJ6kpKSepKSknqSkpJ6kpKSepKSknqSkpJ6kpKSepKSknqSkpJ6kpKSepKSknqSkpJ6kpKSepKSknqSk + pJ6kpKSdpKSklaSkpIekpKSApKSkf6SkpH+kpKR/pKSkfqSkpHakpKRopKSkYKSkpGCkpKRdpKSkUaSk + pEakpKRBpKSkN6SkpCykpKQipKSkF6SkpAykpKQCpKSkAaSkpBWkpKREpKSkcKSkpIykpKScpKSkqaSk + pLakpKS7pKSkxaSkpM+kpKTRpKSk0qSkpNikpKTgpKSk46SkpOSkpKTkpKSk5KSkpOSkpKTnpKSk7KSk + pO+kpKTwpKSk8aSkpPGkpKTxpKSk8aSkpPGkpKTxpKSk8aSkpPGkpKTxpKSk8aSkpPGkpKTxpKSk8aSk + pPGkpKTxpKSk8aSkpPGkpKTwpKSk76SkpOykpKTnpKSk5KSkpOSkpKTkpKSk5KSkpOOkpKTepKSk1qSk + pNKkpKTRpKSkz6SkpMWkpKS7pKSktqSkpKmkpKSapKSkh6SkpGykpKRBpKSkEqSkpAKkpKQcpKSkXKSk + pJSkpKSxpKSkwqSkpM6kpKTYpKSk3aSkpOGkpKTppKSk7KSkpO2kpKTupKSk8aSkpPWkpKT2pKSk96Sk + pPekpKT3pKSk96SkpPekpKT4pKSk+qSkpPukpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSk + pPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT7pKSk+qSkpPikpKT3pKSk96SkpPekpKT3pKSk96Sk + pPakpKT0pKSk8aSkpO2kpKTtpKSk7KSkpOikpKTgpKSk3KSkpNekpKTLpKSkv6SkpKykpKSOpKSkV6Sk + pBkAAAAApKSkCaSkpCKkpKQ8pKSkUKSkpF6kpKRrpKSkeaSkpH+kpKSHpKSklaSkpJ2kpKSepKSkn6Sk + pKikpKS1pKSkuqSkpLukpKS7pKSku6SkpLukpKS7pKSkwKSkpMukpKTRpKSk0qSkpNOkpKTTpKSk06Sk + pNOkpKTTpKSk06SkpNOkpKTTpKSk06SkpNOkpKTTpKSk06SkpNOkpKTSpKSk0aSkpMukpKTApKSku6Sk + pLukpKS7pKSku6SkpLukpKS6pKSktaSkpKikpKSfpKSknqSkpJykpKSSpKSkhKSkpH6kpKR2pKSkZ6Sk + pFukpKRMpKSkOKSkpB+kpKQIAAAAAAAAAACipKMCm6WgBpamngqTp5wNl6aeEpemnheapZ8apKSkHqSk + pCekpKQrpKSkLKSkpC2kpKQ0pKSkP6SkpEOkpKRDpKSkQ6SkpEOkpKRDpKSkRKSkpEqkpKRYpKSkX6Sk + pGCkpKRgpKSkYKSkpGCkpKRgpKSkYKSkpGCkpKRgpKSkYKSkpGCkpKRgpKSkYKSkpGCkpKRgpKSkYKSk + pF+kpKRYpKSkSqSkpESkpKRDpKSkQ6SkpEOkpKRDpKSkQ6SkpD+kpKQ0pKSkLaSkpCykpKQrpKSkJaSk + pB2kpKQZpKSkFqSkpBCkpKQMpKSkCaSkpAWkpKQCAAAAAAAAAAAAAAAAAAAAAAAAAABmsIkBT7V/Sj24 + dpQ8uHagPbh2oD24dqA9uHahPbh2oT64d6FFt3qhS7V9oky1faNMtX2kTLV9pEy1faRMtX2kTLV9pEy1 + faRMtX2lTbV9p021fahNtX2pTbV9qU21falNtX2pTbV9qU21falNtX2pTrV9pWewiW+FqpcVkKibDpim + nw6gpKIOpKSkDqSkpA6kpKQNpKSkC6SkpAikpKQGpKSkBqSkpAakpKQGpKSkBqSkpAakpKQFpKSkBKSk + pAKkpKQCpKSkAqSkpAGkpKQBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAA1vHcIMLxzsi29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29 + cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29 + cf8tvXH/MLxz11m0hSIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAK790kiu/dP8rv3T/K790/yu/dP8rv3T/K790/yu/dP8rv3T/K790/yu/ + dP8rv3T/K790/yu/dP8rv3T/K790/yu/dP8rv3T/K790/yu/dP8rv3T/K790/yu/dP8rv3T/K790/yu/ + dP8rv3T/K790/yu/dP8rv3T/K790/yu/dP8tvnTOObx6AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKcF2DyrBdvkqwXb/KsF2/yrBdv8qwXb/KsF2/yrB + dv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrB + dv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrAdkYAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACjCdzopw3j/KcN4/ynD + eP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynD + eP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynD + eP8pwnh5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAnxHk/KMR6/yjEev8oxHr/KMR6/yjEev8oxHr/KMR6/yjEev8oxHr/KMR6/yjEev8oxHr/KMR6/yjE + ev8oxHr/KMR6/yjEev8oxHr/KMR6/yjEev8oxHr/KMR6/yjEev8oxHr/KMR6/yjEev8oxHr/KMR6/yjE + ev8oxHr/KMR6/yjEev8oxHr/KMR6fwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAJsZ8PybHfP8mx3z/Jsd8/ybHfP8mx3z/Jsd8/ybHfP8mx3z/Jsd8/ybH + fP8mx3z/Jsd8/ybHfP8mx3z/Jsd8/ybHfP8mx3z/Jsd8/ybHfP8mx3z/Jsd8/ybHfP8mx3z/Jsd8/ybH + fP8mx3z/Jsd8/ybHfP8mx3z/Jsd8/ybHfP8mx3z/Jsd8/ybHfH8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACXIfj8lyX7/Jcl+/yXJfv8lyX7/Jcl+/yXJ + fv8lyX7/Jcl+/yXJfv8lyX7/Jcl+/yXJfv8lyX7/Jcl+/yXJfv8lyX7/Jcl+/yXJfv8lyX7/Jcl+/yXJ + fv8lyX7/Jcl+/yXJfv8lyX7/Jcl+/yXJfv8lyX7/Jcl+/yXJfv8lyX7/Jcl+/yXJfv8lyH5/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkyoA/JMqA/yTK + gP8kyoD/JMqA/yTKgP8kyoD/JMqA/yTKgP8kyoD/JMqA/yTKgP8kyoD/JMqA/yTKgP8kyoD/JMqA/yTK + gP8kyoD/JMqA/yTKgP8kyoD/JMqA/yTKgP8kyoD/JMqA/yTKgP8kyoD/JMqA/yTKgP8kyoD/JMqA/yTK + gP8kyoD/JMqAfwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAI8uBPyPMgv8jzIL/I8yC/yPMgv8jzIL/I8yC/yPMgv8jzIL/I8yC/yPMgv8jzIL/I8yC/yPM + gv8jzIL/I8yC/yPMgv8jzIL/I8yC/yPMgv8jzIL/I8yC/yPMgv8jzIL/I8yC/yPMgv8jzIL/I8yC/yPM + gv8jzIL/I8yC/yPMgv8jzIL/I8yC/yTLgX8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAACLNgz8izYT/Is2E/yLNhP8izYT/Is2E/yLNhP8izYT/Is2E/yLN + hP8izYT/Is2E/yLNhP8izYT/Is2E/yLNhP8izYT/Is2E/yLNhP8izYT/Is2E/yLNhP8izYT/Is2E/yLN + hP8izYT/Is2E/yLNhP8izYT/Is2E/yLNhP8izYT/Is2E/yLNhP8vxXt/AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhzoU/Ic+G/yHPhv8hz4b/Ic+G/yHP + hv8hz4b/Ic+G/yHPhv8hz4b/Ic+G/yHPhv8hz4b/Ic+G/yHPhv8hz4b/Ic+G/yHPhv8hz4b/Ic+G/yHP + hv8hz4b/Ic+G/yHPhv8hz4b/Ic+G/yHPhv8hz4b/Ic+G/yHPhv8hz4b/Ic+G/yHPhv8hz4b/S7Rnr4KQ + QF+bgS9foX0rX6F9K1+hfStfoX0rX6F9K1+hfStdoX0rOqJ+LAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAINCHPyDQ + h/8g0If/INCH/yDQh/8g0If/INCH/yDQh/8g0If/INCH/yDQh/8g0If/INCH/yDQh/8g0If/INCH/yDQ + h/8g0If/INCH/yDQh/8g0If/INCH/yDQh/8g0If/INCH/yDQh/8g0If/INCH/yDQh/8g0If/INCH/yDQ + h/8g0If/INCH/2GnWv+jfiz/o34s/6N+LP+jfiz/o34s/6N+LP+jfiz/o34s/6N+LP+jfizVo38tMQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAB/RiD8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif9iqVz/pYAv/6WAL/+lgC//pYAv/6WAL/+lgC//pYAv/6WA + L/+lgC//pYAv/6WAL+6mgS8fAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAe0oo/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/T + iv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/T + iv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/Y6pd/6eCMf+ngjH/p4Ix/6eC + Mf+ngjH/p4Ix/6eCMf+ngjH/p4Ix/6eCMf+ngjH/p4IxmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHtOLPx7UjP8e1Iz/HtSM/x7U + jP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7U + jP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/2Ss + X/+qhDP/qoQz/6qEM/+qhDP/qoQz/6qEM/+qhDP/qoQz/6qEM/+qhDP/qoQz/6qEM94AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB3U + jD8d1Y3/HdWN/x3Vjf8d1Y3/HdWN/x3Vjf8d1Y3/HdWN/x3Vjf8d1Y3/HdWN/x3Vjf8d1Y3/HdWN/x3V + jf8d1Y3/HdWN/x3Vjf8d1Y3/HdWN/x3Vjf8d1Y3/HdWN/x3Vjf8d1Y3/HdWN/x3Vjf8d1Y3/HdWN/x3V + jf8d1Y3/HdWN/x3Vjf9lrmH/rIc1/6yHNf+shzX/rIc1/6yHNf+shzX/rIc1/6yHNf+shzX/rIc1/6yH + Nf+shzXvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAd1o4/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/Zq9j/6+JN/+viTf/r4k3/6+JN/+viTf/r4k3/6+J + N/+viTf/r4k3/6+JN/+viTf/r4k37wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHdeQPxzXj/8c14//HNeP/xzXj/8c14//HNeP/xzX + j/8c14//HNeP/xzXj/8c14//HNeP/xzXj/8c14//HNeP/xzXj/8c14//HNeP/xzXj/8c14//HNeP/xzX + j/8c14//HNeP/xzXj/8c14//HNeP/xzXj/8c14//HNeP/xzXj/8c14//HNeP/2axZP+xizr/sYs6/7GL + Ov+xizr/sYs6/7GLOv+xizr/sYs6/7GLOv+xizr/sYs6/7GLOu8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/Zkz8h2pb/HNiR/xzY + kf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzY + kf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/yLa + lv9osmb/s408/7ONPP+zjTz/s408/7ONPP+zjTz/s408/7ONPP+zjTz/s408/7ONPP+zjTzvAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAg2pUgKN2d/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8o3Z3/fapd/7aPPv+2jz7/to8+/7aPPv+2jz7/to8+/7aPPv+2jz7/to8+/7aP + Pv+2jz7/to8+7wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAACbdnMMp3p7/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xva + kv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xva + kv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8h3Jj/N9ud/6+VRf+4kUD/uJFA/7iRQP+4kUD/uJFA/7iR + QP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQO8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAi3JkmLeCj6jPiqf8j3Zr/HduW/x3b + lv8d25b/HduW/x3blv8d25b/HduW/x3blv8d25b/HduW/x3blv8d25b/HduW/x3blv8d25b/HduW/x3b + lv8d25b/HduW/x3blv8d25b/HduW/x3blv8d25b/HduW/yDcmP8v4aX/NuKo/4eqXf+7k0P/u5ND/7uT + Q/+7k0P/u5ND/7uTQ/+7k0P/u5ND/7uTQ/+7k0P/u5ND/7uTQ/+7k0PvAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACTd + nBwi3ZucL+Gm6DTjq/8046v/NOOr/zTjq/8046v/NOOr/zTjq/8046v/NOOr/zTjq/8046v/NOOr/zTj + q/8046v/NOOr/zTjq/8046v/NOOr/zTjq/8046v/NOOr/zTjq/8046v/NOOr/zTjq/8536T/U8qF/5qk + Vv+9lUX/vZVF/72VRf+9lUX/vZVF/72VRf+9lUX/vZVF/72VRf+9lUX/vZVF/72VRf+9lUX/tpRK+ByI + xo8Mh9KPAIfdjwCH3Y8Ah92PAIfdjwCH3Y8Ah92PAIfdhQCH3UEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMCX + R8/Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CX + R//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CX + R//Al0f/wJdH/7OWUP8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfdswCI + 3QkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADCmknPwppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8Ka + Sf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8Ka + Sf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf+2mFL/AIne/wCJ3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ + 3v8Aid7/AIne/wCJ3v8Ait6hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxZxLz8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8Wc + S//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8Wc + S//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/uJtU/wCM4P8AjOD/AIzg/wCM + 4P8AjOD/AIzg/wCM4P8AjOD/AIzg/wCM4P8AjOD/AIzg/QCM4B0AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMieTs/Ink7/yJ5O/8ie + Tv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ie + Tv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/7ud + V/8Aj+H/AI/h/wCP4f8Aj+H/AI/h/wCP4f8Aj+H/AI/h/wCP4f8Aj+H/AI/h/wCP4f8AjuFTAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADKoFDPyqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qg + UP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qg + UP/KoFD/yqBQ/8qgUP+9n1n/AJHj/wCR4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR + 4/8AkeP/AJHjXwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAzaJSz82iUv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82i + Uv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82i + Uv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/wKFb/wCU5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU + 5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCT5F8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANCmWM/PpFT/z6RU/8+kVP/PpFT/z6RU/8+k + VP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+k + VP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8SmYv8Alub/AJbm/wCW + 5v8Alub/AJbm/wCW5v8Alub/AJbm/wCW5v8Alub/AJbm/wCW5v8AluZfAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADVrmLB0qdY/9Gm + Vv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9Gm + Vv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9Gm + Vv+3rHj/AJno/wCZ6P8Amej/AJno/wCZ6P8Amej/AJno/wCZ6P8Amej/AJno/wCZ6P8Amej/AJnoXwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA1apdd9y3b//UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9So + Wf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9So + Wf/UqFn/1KhZ/9SoWf/atWz/eqWb/wCc6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc + 6v8AnOr/AJzq/wCb6V8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAANevYwrbtGvW37t2/9esXf/Wqlv/1qpb/9aqW//Wqlv/1qpb/9aq + W//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aq + W//Wqlv/1qpb/9aqW//Wqlv/1qpb/9erXP/euXP/xbV+/xKf3/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe + 6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe6/8AnutfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2rFmF9yzZ7LjwX7+48F//+PB + f//jwX//48F//+PBf//jwX//48F//+PBf//jwX//48F//+PBf//jwX//48F//+PBf//jwX//48F//+PB + f//jwX//48F//+PBf//jwX//48F//+PBf//jwX//48F//+PBf//jwX//pbGN/xyi2v8Aoe3/AKHt/wCh + 7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKDsXwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA3bVsGd21bD/dtWw/3bVsP921bD/dtWw/3bVsP9m1bj+4soA/baushzamy/82psv/NqbL/zam + y/82psv/NqbL/zamy/82psv/NqbL/zamy/82psv/NqbL/zamy/82psv/NqbL/zamy/82psv/HKXb/wCj + 7v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj + 7l8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACyq + 118ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm + 8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm + 8P8ApvD/AKbw/wCm8P8ApfBfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAADqO5fAKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo + 8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo + 8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjxXwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKrzXwCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr + 8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr + 8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCq818AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACt9F8ArvX/AK71/wCu + 9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu + 9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu + 9f8ArfRfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAsPZfALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw + 9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw + 9v8AsPb/ALD2/wCw9v8AsPb/ALD2XwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAALL3XwCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz + +P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz + +P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCy918AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC2+V8AuPn/ALX5/wC1+f8Atfn/ALX5/wC1 + +f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1 + +f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC5+v8AtvldAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAufpIAMD7/wC4 + +/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4 + +/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4 + +/8AwPv/ALn6PgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAL37CADE/OYAvvz/ALr8/wC6/P8Auvz/ALr8/wC6/P8Auvz/ALr8/wC6/P8Auvz/ALr8/wC6 + /P8Auvz/ALr8/wC6/P8Auvz/ALr8/wC6/P8Auvz/ALr8/wC6/P8Auvz/ALr8/wC6/P8Auvz/ALr8/wC6 + /P8Auvz/ALr8/wC6/P8Av/z/AMP84AC9+wUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv/1IAMv++QDI/v8Avv7/ALz+/wC8/v8AvP7/ALz+/wC8 + /v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8 + /v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC//v8AyP7/AMv++QC//UMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADC/jkAxf6/AM3//ADP + //8Az///AM///wDP//8Az///AM///wDP//8Az///AM///wDP//8Az///AM///wDP//8Az///AM///wDP + //8Az///AM///wDP//8Az///AM///wDP//8Az///AM///wDP//8Azf/7AMX+vADC/jQAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAADG/gYAxf4QAMX+EADF/hAAxf4QAMX+EADF/hAAxf4QAMX+EADF/hAAxf4QAMX+EADF + /hAAxf4QAMX+EADF/hAAxf4QAMX+EADF/hAAxf4QAMX+EADF/hAAxf4QAMX+EADF/hAAxf4QAMb+BgAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////gAAAAB///AAAAAAAAAHgAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAADAAAAAAAAAAfAAAAAAAAD/4AAAAA/////gAAAAB////8AA + AAAH////wAAAAAf////AAAAAB////8AAAAAH////wAAAAAf////AAAAAB////8AAAAAH////wAAAAAf/ + ///AAAAAAAH//8AAAAAAAP//wAAAAAAAf//AAAAAAAB//8AAAAAAAH//wAAAAAAAf//AAAAAAAB//8AA + AAAAAH//wAAAAAAAf//AAAAAAAB//+AAAAAAAH//4AAAAAAAf//wAAAAAAAAH//+AAAAAAAH//4AAAAA + AAf//gAAAAAAA//+AAAAAAAD//4AAAAAAAP//gAAAAAAA//+AAAAAAAD//4AAAAAAAP//gAAAAAAA//+ + AAAAAAAD//8AAAAAAAP//8AAAAAAA////+AAAAAD////4AAAAAP////gAAAAA////+AAAAAD////4AAA + AAP////gAAAAA////+AAAAAD////4AAAAAP////gAAAAA/////AAAAAH////+AAAAA/////+AAAAP/// + //////////////////////////////////////////////////////////////////////////////// + //8oAAAAMAAAAGAAAAABACAAAAAAAIAlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAACjo6MBpKSkAaOjowOjo6MEpKSkBKOjowakpKQIo6OjCKOjowijo6MIpKSkC6Oj + ow+jo6MRpKSkEaOjoxGjo6MRpKSkEaOjoxGjo6MRpKSkEaOjoxGjo6MRpKSkEaOjoxGjo6MRpKSkEaOj + oxGkpKQPo6OjCqOjowikpKQIo6OjCKOjowikpKQFo6OjBKOjowOkpKQCo6OjAaOjowEAAAAAAAAAAAAA + AAAAAAAAAAAAAKOjowajo6MSpKSkHaOjoyejo6MypKSkOaOjo0ejo6NOpKSkUaOjo1+kpKRqo6Oja6Oj + o2ujo6NrpKSkdaOjo4Wjo6OIpKSkiaOjo4mjo6OJpKSkiaOjo4mjo6OJpKSkiaOjo4mjo6OJpKSkiaOj + o4mjo6OJpKSkiaOjo4ikpKSCo6OjcaOjo2ukpKRro6OjaqOjo2ekpKRYo6OjT6Ojo02kpKREo6OjN6Oj + ozCkpKQko6OjGaOjow2jo6MDpKSkBKSkpDCkpKR1pKSknKSkpK6kpKS/pKSkyKSkpNOkpKTapKSk26Sk + pOOkpKTppKSk6qSkpOqkpKTqpKSk7KSkpPKkpKTzpKSk9KSkpPSkpKT0pKSk9KSkpPSkpKT0pKSk9KSk + pPSkpKT0pKSk9KSkpPSkpKT0pKSk9KSkpPOkpKTxpKSk66SkpOqkpKTqpKSk6qSkpOekpKTfpKSk2qSk + pNmkpKTQpKSkxaSkpLukpKSppKSkj6SkpGKkpKQdpKSkA6Ojoymjo6NlpKSkiaOjo5yjo6OupKSktqOj + o8Gjo6PMpKSkzqOjo9GkpKTbo6Oj4KOjo+Cjo6PgpKSk4KOjo+Gjo6PopKSk7aOjo+2jo6PtpKSk7qOj + o+2jo6PtpKSk7qOjo+2jo6PtpKSk7qOjo+2jo6PtpKSk7KOjo+akpKTho6Oj4KOjo+CkpKTgo6Oj36Oj + o9mkpKTPo6OjzaOjo8mkpKS7o6OjtKOjo6ekpKSVo6OjfaOjo1Ojo6MYAAAAAKOkowOepKELmaafFJml + nxuapZ8lnqWhKqOjozOjo6M9pKSkPqOjo0OkpKRSo6OjWKOjo1ijo6NYpKSkWKOjo1ujo6NrpKSkdaOj + o3Wjo6N1pKSkdaOjo3Wjo6N1pKSkdaOjo3Wjo6N1pKSkdaOjo3Wjo6N1pKSkdKOjo2akpKRao6OjWKOj + o1ikpKRYo6OjV6Ojo06kpKRBo6OjPqOjozqkpKQuo6OjKKOjoyCkpKQYo6OjEKOjowijo6MBAAAAAAAA + AAAAAAAAVrODKT64d5g4uXS3Obl1tzm5dbg5uXW4Obl1uEK3eblEt3q6RLd6ukS3erpEt3q6RLd6ukS3 + ertEt3q9Rbd6vkW3er5Ft3q+Rbd6vkW3er5Ft3q+SLZ7tmWwiGiEqpYNlKedCqGkowqkpKQKpKSkCqSk + pAekpKQFpKSkBaSkpAWkpKQFpKSkBKSkpAOkpKQCpKSkAqSkpAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAsvnQyLL5z8iy+cv4svnL+LL5y/yy+cv4svnL+LL5y/yy+cv4svnL/LL5y/iy+ + cv4svnL+LL5y/yy+cv4svnL+LL5y/yy+cv4svnL+LL5y/yy+cv4svnL+LL5y/yy+cv46u3mUAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqwHW5KsB1/yrAdf4qwHX+KsB1/yrAdf4qwHX+KsB1/yrA + df4qwHX/KsB1/irAdf4qwHX+KsB1/yrAdf4qwHX+KsB1/yrAdf4qwHX+KsB1/yrAdf4qwHX+KsB1/yrA + df4qwHX9KsB1KAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApw3jsKcN4/ynDeP8pw3j/KcN4/ynD + eP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynD + eP8pw3j/KcN4/ynDeP8pw3j/KMN4XAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnxnvvJ8Z7/yfG + e/4nxnv+J8Z7/yfGe/4nxnv+J8Z7/yfGe/4nxnv/J8Z7/ifGe/4nxnv+J8Z7/yfGe/4nxnv+J8Z7/yfG + e/4nxnv+J8Z7/yfGe/4nxnv+J8Z7/yfGe/4nxnv+J8V7XwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAlyH7vJch+/yXIfv8lyH7/Jch+/yXIfv8lyH7/Jch+/yXIfv8lyH7/Jch+/yXIfv8lyH7/Jch+/yXI + fv8lyH7/Jch+/yXIfv8lyH7/Jch+/yXIfv8lyH7/Jch+/yXIfv8lyH7/Jch9XwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAkyoDvJMqA/yTKgP4kyoD+JMqA/yTKgP4kyoD+JMqA/yTKgP4kyoD/JMqA/iTK + gP4kyoD+JMqA/yTKgP4kyoD+JMqA/yTKgP4kyoD+JMqA/yTKgP4kyoD+JMqA/yTKgP4kyoD+JMqAXwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjzYPvI82D/yPNg/4jzYP+I82D/yPNg/4jzYP+I82D/yPN + g/4jzYP/I82D/iPNg/4jzYP+I82D/yPNg/4jzYP+I82D/yPNg/4jzYP+I82D/yPNg/4jzYP+I82D/yPN + g/4jzYP+K8Z8XwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhzoXvIc6F/yHOhf4hzoX+Ic6F/yHO + hf4hzoX+Ic6F/yHOhf4hzoX/Ic6F/iHOhf4hzoX+Ic6F/yHOhf4hzoX+Ic6F/yHOhf4hzoX+Ic6F/yHO + hf4hzoX+Ic6F/yHOhf4hzoX+ULBkjIiNPEehfStHoX0rR6F9K0ehfStHoX0rQ6F9KxMAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAg0YfvINGH/yDR + h/8g0Yf/INGH/yDRh/8g0Yf/INGH/yDRh/8g0Yf/INGH/yDRh/8g0Yf/INGH/yDRh/8g0Yf/INGH/yDR + h/8g0Yf/INGH/yDRh/8g0Yf/INGH/yDRh/8g0Yf/cp1P/6N+LP+jfiz/o34s/6N+LP+jfiz/o34s/6N+ + LPajfy1zAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAf0onvH9KK/x/Sif4f0on+H9KK/x/Sif4f0on+H9KK/x/Sif4f0or/H9KJ/h/Sif4f0on+H9KK/x/S + if4f0on+H9KK/x/Sif4f0on+H9KK/x/Sif4f0on+H9KK/x/Sif4f0on+c59R/6aBL/6mgS/+poEw/6aB + L/6mgTD/poEv/qaBL/6mgTD9poEwRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAe1IvvHtSL/x7Ui/4e1Iv+HtSL/x7Ui/4e1Iv+HtSL/x7Ui/4e1Iv/HtSL/h7U + i/4e1Iv+HtSL/x7Ui/4e1Iv+HtSL/x7Ui/4e1Iv+HtSL/x7Ui/4e1Iv+HtSL/x7Ui/4e1Iv+daJU/6mE + Mv6phDL+qYQy/6mEMv6phDL/qYQy/qmEMv6phDL/qYQynwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAd1Y3vHdWN/x3Vjf8d1Y3/HdWN/x3Vjf8d1Y3/HdWN/x3V + jf8d1Y3/HdWN/x3Vjf8d1Y3/HdWN/x3Vjf8d1Y3/HdWN/x3Vjf8d1Y3/HdWN/x3Vjf8d1Y3/HdWN/x3V + jf8d1Y3/d6RW/6yHNf+shzX/rIc1/6yHNf+shzX/rIc1/6yHNf+shzX/rIc1swAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc1o/vHNeP/xzWj/4c1o/+HNeP/xzW + j/4c1o/+HNeP/xzWj/4c14//HNaP/hzWj/4c1o/+HNeP/xzWj/4c1o/+HNeP/xzWj/4c1o/+HNeP/xzW + j/4c1o/+HNeP/xzWj/4c1o/+eKZZ/7CJOP6wiTj+sIo4/7CJOP6wijj/sIk4/rCJOP6wijj/sIk4swAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf2ZPvHNiQ/xvY + kP4b2JD+HNiQ/xvYkP4b2JD+HNiQ/xvYkP4c2JD/G9iQ/hvYkP4b2JD+HNiQ/xvYkP4b2JD+HNiQ/xvY + kP4b2JD+HNiQ/xvYkP4b2JD+HNiQ/xvYkP4f2ZP+eqhb/7OMO/6zjDv+s4w7/7OMO/6zjDv/s4w7/rOM + O/6zjDv/s4w7swAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAm3ZzNG9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8m3Zz/kqBS/7aPPv+2jz7/to8+/7aP + Pv+2jz7/to8+/7aPPv+2jz7/to8+swAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAi3JlXL+Gl/R3alf4a2ZL+GtqT/xrZkv4a2ZL+GtqT/xrZkv4a2pP/GtmS/hrZ + kv4a2ZL+GtqT/xrZkv4a2ZL+GtqT/xrZkv4a2ZL+GtqT/xrZkv4a2ZL+GtqT/yfenv5NzYr+uJJC/7mS + Qf65kkH+uZJB/7mSQf65kkH/uZJB/rmSQf65kkH/s5FGswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJN2cWy7hptUw4qf9L+Kn/y/ip/4v4qf+L+Kn/y/i + p/4v4qf/L+Kn/i/ip/4v4qf+L+Kn/y/ip/4v4qf+L+Kn/y/ip/4v4qf+L+Kn/y/ip/4v4qf+Ot2i/2TD + fv6xmkr+vZVE/72VRP69lUT+vZVE/72VRP69lUT/vZVE/r2VRP69lUT/mJJi0yeJvGsDh9prAIbcawCG + 3GsAh91rAIbcawCG3E8Ah90FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAACrolSbwJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CX + R//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/h5Nz/wCH + 3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93UAIneGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC+nEybw5pK/sOaSv7Dmkr+w5tK/8OaSv7Dmkr+w5tK/8Oa + Sv7Dmkr+w5tK/8OaSv7Dmkr+w5tK/8OaSv7Dmkr+w5tK/8OaSv7Dmkr+w5tK/8OaSv7Dm0r/w5pK/sOa + Sv7Dm0r/iZZ2/gCK3/4Ai9//AIrf/gCK3/4Ai9//AIrf/gCK3/4Ai9//AIvfqwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADHnU2bx51N/sedTf7HnU3+x51N/8ed + Tf7HnU3+x51N/8edTf7HnU3+x51N/8edTf7HnU3+x51N/8edTf7HnU3+x51N/8edTf7HnU3+x51N/8ed + Tf7HnU3/x51N/sedTf7HnU3/jJl5/gCO4f4AjuH/AI7h/gCO4f4AjuH/AI7h/gCO4f4AjuH/AI7h8QCO + 4QcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADKoFCbyqBQ/8qg + UP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qg + UP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/jpx8/wCR4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR + 4/8AkeP/AJHj9wCR4w8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADOo1SbzqNT/s6jU/7Oo1P+zqNT/86jU/7Oo1P+zqNT/86jU/7Oo1P+zqNT/86jU/7Oo1P+zqNT/86j + U/7Oo1P+zqNT/86jU/7Oo1P+zqNT/86jU/7Oo1P/zqNT/s6jU/7Oo1P/kZ+A/gCV5f4Aleb/AJXl/gCV + 5f4Aleb/AJXl/gCV5f4Aleb/AJXl9wCU5Q8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADUq1+T0aZX/tGmVv7Rplb+0aZW/9GmVv7Rplb+0aZW/9GmVv7Rplb+0aZW/9Gm + Vv7Rplb+0aZW/9GmVv7Rplb+0aZW/9GmVv7Rplb+0aZW/9GmVv7Rplb/0aZW/tGmVv7Rplb/jKeQ/gCY + 6P4AmOj/AJjo/gCY6P4AmOj/AJjo/gCY6P4AmOj/AJjo9wCY5w8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADVrF9J27Vs/tSoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9So + Wf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9So + Wf/atGv/TaK4/wCc6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc6v8AnOr/AJzq9wCb6Q8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA27Nojt+7dvzeuXL+3rly/965 + cv7euXL+3rly/965cv7euXL+3rly/965cv7euXL+3rly/965cv7euXL+3rly/965cv7euXL+3rly/965 + cv7euXL/3rly/t+7d/6Irp7/AZ/r/gCf7P4An+z/AJ/s/gCf7P4An+z/AJ/s/gCf7P4An+z/AJ/s9wCf + 6w8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANy0 + ajPdtWxr3bVsb921bG/dtWxv3bVsb8+0dG+Vr5WXYKqz/2Cqs/9gqrP/YKqz/2Cqs/9gqrP/YKqz/2Cq + s/9gqrP/YKqz/2Cqs/9gqrP/Xqq0/zCmzv8Bo+3/AKPu/wCj7v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj + 7v8Ao+7/AKPu9wCi7g8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwqtRHAKbw/wCm8P4ApvD+AKbw/wCm + 8P4ApvD+AKbw/wCm8P4ApvD+AKbw/wCm8P4ApvD/AKbw/gCm8P4ApvD/AKbw/gCm8P4ApvD/AKbw/gCm + 8P4ApvD/AKbw/gCm8P4ApvD/AKbw9wCl7w8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqfJHAKry/wCp + 8v4AqfL+AKry/wCp8v4AqfL+AKry/wCp8v4AqfL+AKry/wCp8v4AqvL/AKny/gCp8v4AqvL/AKny/gCp + 8v4AqvL/AKny/gCp8v4AqvL/AKny/gCp8v4AqvL/AKny9wCp8g8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAArPRHAK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt + 9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK309wCs9A8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAsPZHALD2/wCw9v4AsPb+ALD2/wCw9v4AsPb+ALD2/wCw9v4AsPb+ALD2/wCw + 9v4AsPb/ALD2/gCw9v4AsPb/ALD2/gCw9v4AsPb/ALD2/gCw9v4AsPb/ALD2/gCw9v4AsPb/ALD29wCw + 9g8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtPhHALX5/wC0+P4AtPj+ALT5/wC0+P4AtPj+ALT5/wC0 + +P4AtPj+ALT5/wC0+P4AtPn/ALT4/gC0+P4AtPn/ALT4/gC0+P4AtPn/ALT4/gC0+P4AtPn/ALT4/gC0 + +P4AtPn/ALX59wC0+A8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAufo6ALz7/wC3+v8At/r/ALf7/wC3 + +v8At/r/ALf7/wC3+v8At/r/ALf7/wC3+v8At/v/ALf6/wC3+v8At/v/ALf6/wC3+v8At/v/ALf6/wC3 + +v8At/v/ALf6/wC3+v8At/v/AL377QC5+gUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvfsEAMT92gC9 + /f4Auv3+ALr9/wC6/f4Auv3+ALr9/wC6/f4Auv3+ALr9/wC6/f4Auv3/ALr9/gC6/f4Auv3/ALr9/gC6 + /f4Auv3/ALr9/gC6/f4Auv3/ALr9/gC6/f4Awf3/AMD8mAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAMH9LQDJ/tkAyv7+AMr+/wDK/v4Ayv7+AMr+/wDK/v4Ayv7+AMr+/wDK/v4Ayv7/AMr+/gDK + /v4Ayv7/AMr+/gDK/v4Ayv7/AMr+/gDK/v4Ayv7/AMr+/gDL/v0Axv61AMH9DgAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAADG/gYAxP47AMT+SwDE/ksAxP5LAMT+SwDE/ksAxP5LAMT+SwDE + /ksAxP5LAMT+SwDE/ksAxP5LAMT+SwDE/ksAxP5LAMT+SwDE/ksAxP5LAMT+SwDF/iwAxv4BAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA////////AAD4AAAAAA8AAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAA + AAAAAAAA4AAAAAB/AADAAAAf//8AAMAAAA///wAAwAAAD///AADAAAAP//8AAMAAAA///wAAwAAAD/// + AADAAAAP//8AAMAAAAAf/wAAwAAAAA//AADAAAAAB/8AAMAAAAAH/wAAwAAAAAf/AADAAAAAB/8AAMAA + AAAH/wAAwAAAAAf/AADAAAAAB/8AAOAAAAAABwAA/+AAAAADAAD/4AAAAAMAAP/gAAAAAQAA/+AAAAAB + AAD/4AAAAAEAAP/gAAAAAQAA/+AAAAABAAD/8AAAAAEAAP/4AAAAAQAA///wAAABAAD///AAAAEAAP// + 8AAAAQAA///wAAABAAD///AAAAEAAP//8AAAAQAA///wAAADAAD///gAAAMAAP///AAABwAA//////// + AAD///////8AAP///////wAA////////AAD///////8AAP///////wAAKAAAACAAAABAAAAAAQAgAAAA + AACAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAj4+PAY+PjwGPj48Bj4+PAY+PjwGPj48Bj4+PAY+PjwGPj48Bj4+PAY+PjwEAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKSkpAqkpKQVpKSkIKSkpCqkpKQ2pKSkO6Sk + pEqkpKRMpKSkTaSkpFikpKRkpKSkZaSkpGWkpKRlpKSkZaSkpGWkpKRlpKSkZaSkpGWkpKRlpKSkYaSk + pFCkpKRMpKSkTKSkpEGkpKQ3pKSkMaSkpCWkpKQapKSkD6SkpAOkpKQNpKSkaaSkpKekpKTBpKSk0KSk + pN2kpKThpKSk6qSkpO2kpKTtpKSk8KSkpPSkpKT2pKSk9qSkpPakpKT2pKSk9qSkpPakpKT2pKSk9qSk + pPWkpKTzpKSk7qSkpO2kpKTspKSk5aSkpN+kpKTXpKSkyaSkpLOkpKSLpKSkMaSkpAKhpKIanKWgMZ2l + oUOhpKJQpKSkYaSkpGWkpKR0pKSkf6SkpH+kpKR/pKSki6SkpJmkpKSZpKSkmaSkpJmkpKSZpKSkmaSk + pJmkpKSZpKSklaSkpIKkpKR/pKSkf6SkpHykpKRqpKSkZKSkpFakpKRJpKSkOKSkpCSkpKQKAAAAAFm0 + hQJEt3t/NLp0zDW6dM81unTQN7p10Dy5d9E8uXfRPLl30Ty5d9E8uXfSPbl30z25d9Q9uXfUPbl31EO4 + esRnsIpHjaibB6OkowekpKQGpKSkA6SkpAOkpKQDpKSkA6SkpAGkpKQBAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAKsB1ZivAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvA + df8rwHX/K8B1/yvAdfI0vnkSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAow3meKMN5/yjDef8ow3n/KMN5/yjDef8ow3n/KMN5/yjDef8ow3n/KMN5/yjD + ef8ow3n/KMN5/yjDef8ow3n/KMN5/yjDeT4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAACbHfZ8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybI + ff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsd9PwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJMuBnyTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTL + gf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8lyn8/AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAizoSfIs6F/yLOhf8izoX/Is6F/yLO + hf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/1OuYWOagTAvoX0rL6F9 + Ky+hfSsmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACDRiJ8g0Yj/INGI/yDR + iP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/g5NE/6R/ + Lf+kfy3/pH8t/6R/Lf+kfy29pYAvBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHtOLnx7T + i/8e04v/HtOL/x7Ti/8e04v/HtOL/x7Ti/8e04v/HtOL/x7Ti/8e04v/HtOL/x7Ti/8e04v/HtOL/x7T + i/+Gl0j/qIMy/6iDMv+ogzL/qIMy/6iDMv+ogzJdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAd1Y2fHdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/4mbTP+tiDb/rYg2/62INv+tiDb/rYg2/62HNncAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAB7Ykp8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzY + kP8c2JD/HNiQ/xzYkP8d2JH/jZ5Q/7KMO/+yjDv/sow7/7KMO/+yjDv/sos6dwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAJNyaeB7alf8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/yfbmf+mmEj/t5A//7eQP/+3kD//t5A//7eQP/+0j0F3AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAk3ZsJKt+hqCjfoPko36D/KN+g/yjfoP8o36D/KN+g/yjf + oP8o36D/KN+g/yjfoP8o36D/KN+g/yjfoP832Zr/hbFo/7yURP+8lET/vJRE/7yURP+8lET/vJRE/4SQ + cJ0UiMtHAIfdRwCH3UcAh91FAIfdEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJuq + X2fBmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GY + SP/BmEj/WpCX/wCI3f8AiN3/AIjd/wCI3f8AiN3sAIneKgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAxpxMZ8adTP/GnUz/xp1M/8adTP/GnUz/xp1M/8adTP/GnUz/xp1M/8adTP/GnUz/xp1M/8ad + TP/GnUz/xp1M/8adTP9dlJv/AI3h/wCN4f8AjeH/AI3h/wCN4f8AjeCbAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADLoFFny6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uh + Uf/LoVH/y6FR/8uhUf/LoVH/y6FR/1+Zn/8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS5K8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAANKpW2TQpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9Cl + Vf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/XqCq/wCY5/8AmOf/AJjn/wCY5/8AmOf/AJfnrwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1q1gINq0avTVqVr/1ala/9WpWv/VqVr/1ala/9Wp + Wv/VqVr/1ala/9WpWv/VqVr/1ala/9WpWv/VqVr/1ala/9Szbf8jn9T/AJ3q/wCd6v8Aner/AJ3q/wCd + 6v8AneqvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3LRqMuC7dZXgu3af4Lt2n9+7 + dp+7uIuxjLSl/4y0pf+MtKX/jLSl/4y0pf+MtKX/jLSl/4y0pf+Gs6n/MKbR/wCi7v8Aou7/AKLu/wCi + 7v8Aou7/AKLu/wCi7a8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAC6r1i8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn + 8f8Ap/H/AKfx/wCn8f8Ap/H/AKfwrwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAKvzLwCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs + 9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPSvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsfYvALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx + 9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx968AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC3+SoAufr/ALb6/wC2+v8Atvr/ALb6/wC2 + +v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALr6pgAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALz7AgDD/ckAvv3/ALv9/wC7 + /f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALz9/wDD/f0AwPxKAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMT+DgDI + /nAAyv6HAMr+hwDK/ocAyv6HAMr+hwDK/ocAyv6HAMr+hwDK/ocAyv6HAMr+hwDK/ocAyv6EAMX+PAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/4AP/gAAAAAAAAAAAAAAAgAAAH4AA + H/+AAB//gAAf/4AAH/+AAAH/gAAAf4AAAH+AAAB/gAAAf4AAAH+AAAAD/gAAAf4AAAH+AAAB/gAAAf4A + AAH/AAAB//gAAf/4AAH/+AAB//gAAf/4AAH//AAD/////////////////////ygAAAAYAAAAMAAAAAEA + IAAAAAAAYAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1dXUBhISEAoWFhQOJiYkElJSUBZSU + lAiUlJQIlJSUCJSUlAiUlJQIlJSUCJSUlAiUlJQIlJSUBpCQkASFhYUEhYWFAnt7ewEAAAAAAAAAAAAA + AACkpKQOpKSkUKOjo3KkpKSHpKSklaOjo6WkpKSqpKSkraOjo7ykpKS+pKSkvqSkpL6jo6O+pKSkvqOj + o76kpKS+pKSktKOjo6qkpKSppKSkmKOjo4+kpKR6pKSkXaOjoySjpKMMn6SiQ5+koWKipKN1o6OjhaOj + o5Cjo6Oco6OjnKOjo6Sjo6Oxo6OjsaOjo7Gjo6Oxo6OjsaOjo7Gjo6Oro6OjnaOjo5yjo6OXo6Ojh6Oj + o3ujo6Npo6OjTqOjox0AAAAARrh9UzS7dNMyu3TbM7t02zi6dtw4unbcOLp23Di6dt04unbeOLp23ji6 + dt5BuHrHa7CNK5WgmgWZmZkEmZmZAoqKigKKiooCioqKAQAAAAAAAAAAAAAAAAAAAAAAAAAAKcJ36CnC + d/4pwnf/KcJ3/ynCd/4pwnf/KcJ3/ynCd/4pwnf/KcJ3/ynCd/8pwnf+KcF3oAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJsd89ybHfP4mx3z+Jsd8/ibHfP4mx3z+Jsd8/ibH + fP4mx3z+Jsd8/ibHfP4mx3z+Jsd8rwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + 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 + AAD+AAAA//8AAP//AAA= + + + \ No newline at end of file diff --git a/Themenmanagement/Kernbotschaften/Form1.vb b/Themenmanagement/Kernbotschaften/Form1.vb new file mode 100644 index 0000000..93f2013 --- /dev/null +++ b/Themenmanagement/Kernbotschaften/Form1.vb @@ -0,0 +1,9 @@ +Public Class frmBegrüssung + Private Sub frmBegrüssung_Load(sender As Object, e As EventArgs) Handles MyBase.Load + Me.RichTextBox1.LoadFile(Application.StartupPath + "\text_kb.rtf") + End Sub + + Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click + Me.Close() + End Sub +End Class \ No newline at end of file diff --git a/Themenmanagement/Kernbotschaften/clsLayout.vb b/Themenmanagement/Kernbotschaften/clsLayout.vb new file mode 100644 index 0000000..e3148b8 --- /dev/null +++ b/Themenmanagement/Kernbotschaften/clsLayout.vb @@ -0,0 +1,421 @@ +Imports System.Xml +Imports System.IO + +Public Class clsLayout + + Public Background_From As Color + Public Background_to As Color + Public TileAbsender_Background_From As Color + Public TileAbsender_Background_To As Color + Public TileAbsender_Fontcolor As Color + Public TileAbsender_Fontsize As Double + Public TileAbsender_Height As Integer + Public TileAbsender_Width As Integer + Public TileAbsender_Header_FontColor As Color + Public TileAbsender_Header_FontSize As Double + Public TileAbsender_SelectionColor As Color + + Public TileAnspruchgruppe_Background_From As Color + Public TileAnspruchgruppe_Background_To As Color + Public TileAnspruchgruppe_Fontcolor As Color + Public TileAnspruchgruppe_Fontsize As Double + Public TileAnspruchgruppe_Height As Integer + Public TileAnspruchgruppe_Width As Integer + Public TileAnspruchgruppe_Header_FontColor As Color + Public TileAnspruchgruppe_Header_FontSize As Double + Public TileAnspruchgruppe_SelectionColor As Color + + Public TileThemenGruppe_Background_From As Color + Public TileThemenGruppe_Background_To As Color + Public TileThemenGruppe_Fontcolor As Color + Public TileThemenGruppe_Fontsize As Double + Public TileThemenGruppe_Height As Integer + Public TileThemenGruppe_Width As Integer + Public TileThemenGruppe_Header_FontColor As Color + Public TileThemenGruppe_Header_FontSize As Double + Public TileThemenGruppe_SelectionColor As Color + + Public TileExport_Background_From As Color + Public TileExport_Background_To As Color + Public TileExport_FontColor As Color + Public TileExport_Fontsize As Double + Public TileExport_Height As Integer + Public TileExport_Width As Integer + Public TileExport_Header_Fontcolor As Color + Public TileExport_Header_Fontsize As Double + Public TileExport_SelectionColor As Color + + Public TileSelection_Background_From As Color + Public TileSelection_Background_To As Color + Public TileSelection_FontColor As Color + Public TileSelection_Fontsize As Double + Public TileSelection_Height As Integer + Public TileSelection_Width As Integer + Public TileSelection_Header_Fontcolor As Color + Public TileSelection_Header_Fontsize As Double + Public TileSelection_SelectionColor As Color + + Public TileAktiv_Background_From As Color + Public TileAktiv_Background_To As Color + Public TileAktiv_FontColor As Color + Public TileAktiv_Fontsize As Double + Public TileAktiv_Height As Integer + Public TileAktiv_Width As Integer + Public TileAktiv_Text As String + Public TileAktiv_SelectionColor As Color + + Public TileReaktiv_Background_From As Color + Public TileReaktiv_Background_To As Color + Public TileReaktiv_FontColor As Color + Public TileReaktiv_Fontsize As Double + Public TileReaktiv_Height As Integer + Public TileReaktiv_Width As Integer + Public TileReaktiv_Text As String + Public TileReaktiv_SelectionColor As Color + + Public TileHelp_Background_From As Color + Public TileHelp_Background_To As Color + Public TileHelp_FontColor As Color + Public TileHelp_Fontsize As Double + Public TileHelp_Height As Integer + Public TileHelp_Width As Integer + Public TileHelp_Text As String + Public TileHelp_SelectionColor As Color + + + + Private _doc As New XmlDocument + Dim XMLNode As String + Sub New() + + End Sub + + Sub Load_Layoutfile(ByVal filename As String) + _doc.Load(Application.StartupPath + "\" + filename) + Dim s As String + Dim s1 As String + Dim s2 As String + XMLNode = "Layout/BackgroundFrom" + s = ReadSingleNode(XMLNode + "/R") + s1 = ReadSingleNode(XMLNode + "/G") + s2 = ReadSingleNode(XMLNode + "/B") + Me.Background_From= Color.FromArgb(s, s1, s2) + + XMLNode = "Layout/BackgroundTo" + s = ReadSingleNode(XMLNode + "/R") + s1 = ReadSingleNode(XMLNode + "/G") + s2 = ReadSingleNode(XMLNode + "/B") + Me.Background_to = Color.FromArgb(s, s1, s2) + + 'TileAbsender + XMLNode = "Layout/TileAbsender/BackgroundFrom" + s = ReadSingleNode(XMLNode + "/R") + s1 = ReadSingleNode(XMLNode + "/G") + s2 = ReadSingleNode(XMLNode + "/B") + Me.TileAbsender_Background_From = Color.FromArgb(s, s1, s2) + + XMLNode = "Layout/TileAbsender/BackgroundTo" + s = ReadSingleNode(XMLNode + "/R") + s1 = ReadSingleNode(XMLNode + "/G") + s2 = ReadSingleNode(XMLNode + "/B") + Me.TileAbsender_Background_To = Color.FromArgb(s, s1, s2) + + XMLNode = "Layout/TileAbsender/Font" + s = ReadSingleNode(XMLNode + "/Color/R") + s1 = ReadSingleNode(XMLNode + "/Color/G") + s2 = ReadSingleNode(XMLNode + "/Color/B") + Me.TileAbsender_Fontcolor = Color.FromArgb(s, s1, s2) + Me.TileAbsender_Fontsize = ReadSingleNode(XMLNode + "/Size") + + XMLNode = "Layout/TileAbsender" + Me.TileAbsender_Width = ReadSingleNode(XMLNode + "/Width") + Me.TileAbsender_Height = ReadSingleNode(XMLNode + "/Height") + + XMLNode = "Layout/TileAbsender/HeaderFont" + s = ReadSingleNode(XMLNode + "/Color/R") + s1 = ReadSingleNode(XMLNode + "/Color/G") + Me.TileAbsender_Header_FontColor = Color.FromArgb(s, s1, s2) + Me.TileAbsender_Header_FontSize = ReadSingleNode(XMLNode + "/Size") + + XMLNode = "Layout/TileAbsender/SelectionColor" + s = ReadSingleNode(XMLNode + "/R") + s1 = ReadSingleNode(XMLNode + "/G") + s2 = ReadSingleNode(XMLNode + "/B") + Me.TileAbsender_SelectionColor = Color.FromArgb(s, s1, s2) + + + 'TileAnspruchgruppe + XMLNode = "Layout/TileAnspruchsgruppe/BackgroundFrom" + s = ReadSingleNode(XMLNode + "/R") + s1 = ReadSingleNode(XMLNode + "/G") + s2 = ReadSingleNode(XMLNode + "/B") + Me.TileAnspruchgruppe_Background_From = Color.FromArgb(s, s1, s2) + + XMLNode = "Layout/TileAnspruchsgruppe/BackgroundTo" + s = ReadSingleNode(XMLNode + "/R") + s1 = ReadSingleNode(XMLNode + "/G") + s2 = ReadSingleNode(XMLNode + "/B") + Me.TileAnspruchgruppe_Background_To = Color.FromArgb(s, s1, s2) + + XMLNode = "Layout/TileAnspruchsgruppe/Font" + s = ReadSingleNode(XMLNode + "/Color/R") + s1 = ReadSingleNode(XMLNode + "/Color/G") + s2 = ReadSingleNode(XMLNode + "/Color/B") + Me.TileAnspruchgruppe_Fontcolor = Color.FromArgb(s, s1, s2) + Me.TileAnspruchgruppe_Fontsize = ReadSingleNode(XMLNode + "/Size") + + XMLNode = "Layout/TileAnspruchsgruppe" + Me.TileAnspruchgruppe_Width = ReadSingleNode(XMLNode + "/Width") + Me.TileAnspruchgruppe_Height = ReadSingleNode(XMLNode + "/Height") + + XMLNode = "Layout/TileAnspruchsgruppe/HeaderFont" + s = ReadSingleNode(XMLNode + "/Color/R") + s1 = ReadSingleNode(XMLNode + "/Color/G") + s2 = ReadSingleNode(XMLNode + "/Color/B") + Me.TileAnspruchgruppe_Header_FontColor = Color.FromArgb(s, s1, s2) + Me.TileAnspruchgruppe_Header_FontSize = ReadSingleNode(XMLNode + "/Size") + + XMLNode = "Layout/TileAnspruchsgruppe/SelectionColor" + s = ReadSingleNode(XMLNode + "/R") + s1 = ReadSingleNode(XMLNode + "/G") + s2 = ReadSingleNode(XMLNode + "/B") + Me.TileAnspruchgruppe_SelectionColor = Color.FromArgb(s, s1, s2) + + + 'TileThemengruppe + XMLNode = "Layout/TileThemengruppe/BackgroundFrom" + s = ReadSingleNode(XMLNode + "/R") + s1 = ReadSingleNode(XMLNode + "/G") + s2 = ReadSingleNode(XMLNode + "/B") + Me.TileThemenGruppe_Background_From = Color.FromArgb(s, s1, s2) + + XMLNode = "Layout/TileThemengruppe/BackgroundTo" + s = ReadSingleNode(XMLNode + "/R") + s1 = ReadSingleNode(XMLNode + "/G") + s2 = ReadSingleNode(XMLNode + "/B") + Me.TileThemenGruppe_Background_To = Color.FromArgb(s, s1, s2) + + XMLNode = "Layout/TileThemengruppe/Font" + s = ReadSingleNode(XMLNode + "/Color/R") + s1 = ReadSingleNode(XMLNode + "/Color/G") + s2 = ReadSingleNode(XMLNode + "/Color/B") + Me.TileThemenGruppe_Fontcolor = Color.FromArgb(s, s1, s2) + Me.TileThemenGruppe_Fontsize = ReadSingleNode(XMLNode + "/Size") + + XMLNode = "Layout/TileThemengruppe" + Me.TileThemenGruppe_Width = ReadSingleNode(XMLNode + "/Width") + Me.TileThemenGruppe_Height = ReadSingleNode(XMLNode + "/Height") + + XMLNode = "Layout/TileThemengruppe/HeaderFont" + s = ReadSingleNode(XMLNode + "/Color/R") + s1 = ReadSingleNode(XMLNode + "/Color/G") + s2 = ReadSingleNode(XMLNode + "/Color/B") + Me.TileThemenGruppe_Header_FontColor = Color.FromArgb(s, s1, s2) + Me.TileThemenGruppe_Header_FontSize = ReadSingleNode(XMLNode + "/Size") + + XMLNode = "Layout/TileThemengruppe/SelectionColor" + s = ReadSingleNode(XMLNode + "/R") + s1 = ReadSingleNode(XMLNode + "/G") + s2 = ReadSingleNode(XMLNode + "/B") + Me.TileThemenGruppe_SelectionColor = Color.FromArgb(s, s1, s2) + + + 'Tile Export + + XMLNode = "Layout/TileExport/BackgroundFrom" + s = ReadSingleNode(XMLNode + "/R") + s1 = ReadSingleNode(XMLNode + "/G") + s2 = ReadSingleNode(XMLNode + "/B") + Me.TileExport_Background_From = Color.FromArgb(s, s1, s2) + + XMLNode = "Layout/TileExport/BackgroundTo" + s = ReadSingleNode(XMLNode + "/R") + s1 = ReadSingleNode(XMLNode + "/G") + s2 = ReadSingleNode(XMLNode + "/B") + Me.TileExport_Background_To = Color.FromArgb(s, s1, s2) + + XMLNode = "Layout/TileExport/Font" + s = ReadSingleNode(XMLNode + "/Color/R") + s1 = ReadSingleNode(XMLNode + "/Color/G") + s2 = ReadSingleNode(XMLNode + "/Color/B") + Me.TileExport_FontColor = Color.FromArgb(s, s1, s2) + Me.TileExport_Fontsize = ReadSingleNode(XMLNode + "/Size") + + XMLNode = "Layout/TileExport" + Me.TileExport_Width = ReadSingleNode(XMLNode + "/Width") + Me.TileExport_Height = ReadSingleNode(XMLNode + "/Height") + + XMLNode = "Layout/TileExport/HeaderFont" + s = ReadSingleNode(XMLNode + "/Color/R") + s1 = ReadSingleNode(XMLNode + "/Color/G") + s2 = ReadSingleNode(XMLNode + "/Color/B") + Me.TileExport_Header_Fontcolor = Color.FromArgb(s, s1, s2) + Me.TileExport_Header_Fontsize = ReadSingleNode(XMLNode + "/Size") + + XMLNode = "Layout/TileExport/SelectionColor" + s = ReadSingleNode(XMLNode + "/R") + s1 = ReadSingleNode(XMLNode + "/G") + s2 = ReadSingleNode(XMLNode + "/B") + Me.TileExport_SelectionColor = Color.FromArgb(s, s1, s2) + + 'Tile Selection + XMLNode = "Layout/TileSelection/BackgroundFrom" + s = ReadSingleNode(XMLNode + "/R") + s1 = ReadSingleNode(XMLNode + "/G") + s2 = ReadSingleNode(XMLNode + "/B") + Me.TileSelection_Background_From = Color.FromArgb(s, s1, s2) + + XMLNode = "Layout/TileSelection/BackgroundTo" + s = ReadSingleNode(XMLNode + "/R") + s1 = ReadSingleNode(XMLNode + "/G") + s2 = ReadSingleNode(XMLNode + "/B") + Me.TileSelection_Background_To = Color.FromArgb(s, s1, s2) + + XMLNode = "Layout/TileSelection/Font" + s = ReadSingleNode(XMLNode + "/Color/R") + s1 = ReadSingleNode(XMLNode + "/Color/G") + s2 = ReadSingleNode(XMLNode + "/Color/B") + Me.TileSelection_FontColor = Color.FromArgb(s, s1, s2) + Me.TileSelection_Fontsize = ReadSingleNode(XMLNode + "/Size") + + XMLNode = "Layout/TileSelection" + Me.TileSelection_Width = ReadSingleNode(XMLNode + "/Width") + Me.TileSelection_Height = ReadSingleNode(XMLNode + "/Height") + + XMLNode = "Layout/TileSelection/HeaderFont" + s = ReadSingleNode(XMLNode + "/Color/R") + s1 = ReadSingleNode(XMLNode + "/Color/G") + s2 = ReadSingleNode(XMLNode + "/Color/B") + Me.TileSelection_Header_Fontcolor = Color.FromArgb(s, s1, s2) + Me.TileSelection_Header_Fontsize = ReadSingleNode(XMLNode + "/Size") + + XMLNode = "Layout/TileSelection/SelectionColor" + s = ReadSingleNode(XMLNode + "/R") + s1 = ReadSingleNode(XMLNode + "/G") + s2 = ReadSingleNode(XMLNode + "/B") + Me.TileSelection_SelectionColor = Color.FromArgb(s, s1, s2) + + 'TileAktiv + XMLNode = "Layout/TileAktiv/BackgroundFrom" + s = ReadSingleNode(XMLNode + "/R") + s1 = ReadSingleNode(XMLNode + "/G") + s2 = ReadSingleNode(XMLNode + "/B") + Me.TileAktiv_Background_From = Color.FromArgb(s, s1, s2) + + XMLNode = "Layout/TileAktiv/BackgroundTo" + s = ReadSingleNode(XMLNode + "/R") + s1 = ReadSingleNode(XMLNode + "/G") + s2 = ReadSingleNode(XMLNode + "/B") + Me.TileAktiv_Background_To = Color.FromArgb(s, s1, s2) + + XMLNode = "Layout/TileAktiv/Font" + s = ReadSingleNode(XMLNode + "/Color/R") + s1 = ReadSingleNode(XMLNode + "/Color/G") + s2 = ReadSingleNode(XMLNode + "/Color/B") + Me.TileAktiv_FontColor = Color.FromArgb(s, s1, s2) + Me.TileAktiv_Fontsize = ReadSingleNode(XMLNode + "/Size") + + XMLNode = "Layout/TileAktiv" + Me.TileAktiv_Width = ReadSingleNode(XMLNode + "/Width") + Me.TileAktiv_Height = ReadSingleNode(XMLNode + "/Height") + Me.TileAktiv_Text = ReadSingleNode(XMLNode + "/Text") + + XMLNode = "Layout/TileAktiv/SelectionColor" + s = ReadSingleNode(XMLNode + "/R") + s1 = ReadSingleNode(XMLNode + "/G") + s2 = ReadSingleNode(XMLNode + "/B") + Me.TileAktiv_SelectionColor = Color.FromArgb(s, s1, s2) + + 'TileReAktiv + XMLNode = "Layout/TileReAktiv/BackgroundFrom" + s = ReadSingleNode(XMLNode + "/R") + s1 = ReadSingleNode(XMLNode + "/G") + s2 = ReadSingleNode(XMLNode + "/B") + Me.TileReaktiv_Background_From = Color.FromArgb(s, s1, s2) + + XMLNode = "Layout/TileReAktiv/BackgroundTo" + s = ReadSingleNode(XMLNode + "/R") + s1 = ReadSingleNode(XMLNode + "/G") + s2 = ReadSingleNode(XMLNode + "/B") + Me.TileReaktiv_Background_To = Color.FromArgb(s, s1, s2) + + XMLNode = "Layout/TileReAktiv/Font" + s = ReadSingleNode(XMLNode + "/Color/R") + s1 = ReadSingleNode(XMLNode + "/Color/G") + s2 = ReadSingleNode(XMLNode + "/Color/B") + Me.TileReaktiv_FontColor = Color.FromArgb(s, s1, s2) + Me.TileReaktiv_Fontsize = ReadSingleNode(XMLNode + "/Size") + + XMLNode = "Layout/TileReAktiv" + Me.TileReaktiv_Width = ReadSingleNode(XMLNode + "/Width") + Me.TileReaktiv_Height = ReadSingleNode(XMLNode + "/Height") + Me.TileReaktiv_Text = ReadSingleNode(XMLNode + "/Text") + + XMLNode = "Layout/TileReAktiv/SelectionColor" + s = ReadSingleNode(XMLNode + "/R") + s1 = ReadSingleNode(XMLNode + "/G") + s2 = ReadSingleNode(XMLNode + "/B") + Me.TileReaktiv_SelectionColor = Color.FromArgb(s, s1, s2) + + 'TileHelp + XMLNode = "Layout/TileHelp/BackgroundFrom" + s = ReadSingleNode(XMLNode + "/R") + s1 = ReadSingleNode(XMLNode + "/G") + s2 = ReadSingleNode(XMLNode + "/B") + Me.TileHelp_Background_From = Color.FromArgb(s, s1, s2) + + XMLNode = "Layout/TileHelp/BackgroundTo" + s = ReadSingleNode(XMLNode + "/R") + s1 = ReadSingleNode(XMLNode + "/G") + s2 = ReadSingleNode(XMLNode + "/B") + Me.TileHelp_Background_To = Color.FromArgb(s, s1, s2) + + XMLNode = "Layout/TileHelp/Font" + s = ReadSingleNode(XMLNode + "/Color/R") + s1 = ReadSingleNode(XMLNode + "/Color/G") + s2 = ReadSingleNode(XMLNode + "/Color/B") + Me.TileHelp_FontColor = Color.FromArgb(s, s1, s2) + Me.TileHelp_Fontsize = ReadSingleNode(XMLNode + "/Size") + + XMLNode = "Layout/TileHelp" + Me.TileHelp_Width = ReadSingleNode(XMLNode + "/Width") + Me.TileHelp_Height = ReadSingleNode(XMLNode + "/Height") + Me.TileHelp_Text = ReadSingleNode(XMLNode + "/Text") + + XMLNode = "Layout/TileHelp/SelectionColor" + s = ReadSingleNode(XMLNode + "/R") + s1 = ReadSingleNode(XMLNode + "/G") + s2 = ReadSingleNode(XMLNode + "/B") + Me.TileHelp_SelectionColor = Color.FromArgb(s, s1, s2) + End Sub + + Private Function ReadSingleNode(ByVal NodeNameXML As String) As String + Dim result As String = "" + Try + result = _doc.SelectSingleNode(NodeNameXML).InnerText + Catch ex As Exception + MsgBox(ex.Message) + 'Absichtliches leeres Catch! + 'Form1.Log("Read: Node nicht gefunden:" & NodeNameXML) + End Try + Return result + End Function + + Private Function ExistsNode(ByVal NodeNameXML As String) As Boolean + Dim result As Boolean + Try + Dim test As XmlNode + test = _doc.SelectSingleNode(NodeNameXML) + If test Is Nothing Then + 'Form1.Log("Exists: Node nicht gefunden:" & NodeNameXML) + result = False + Else + 'm_log.Log("EDKB04: Exists: " & NodeNameXML, Common.Common.JournalEntryType.Information) + result = True + End If + Catch ex As Exception + + End Try + Return result + End Function +End Class diff --git a/Themenmanagement/Kernbotschaften/clskbdb.vb b/Themenmanagement/Kernbotschaften/clskbdb.vb new file mode 100644 index 0000000..980c5a5 --- /dev/null +++ b/Themenmanagement/Kernbotschaften/clskbdb.vb @@ -0,0 +1,3 @@ +Public Class clskbdb + +End Class diff --git a/Themenmanagement/Kernbotschaften/frmKB_Presentation.Designer.vb b/Themenmanagement/Kernbotschaften/frmKB_Presentation.Designer.vb new file mode 100644 index 0000000..fa487da --- /dev/null +++ b/Themenmanagement/Kernbotschaften/frmKB_Presentation.Designer.vb @@ -0,0 +1,884 @@ + _ +Partial Class frmKB_Presentation + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmKB_Presentation)) + Me.SplitContainer1 = New System.Windows.Forms.SplitContainer() + Me.Panel3 = New System.Windows.Forms.Panel() + Me.tilePanelApps = New CG.Controls.Grid.Container.StackPanelItem() + Me.ctxMenuGruppenansicht = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.AbsenderAnzeigenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.AbsenderAusblendenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItem2 = New System.Windows.Forms.ToolStripSeparator() + Me.AllgemeineEinstellungenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.TileFlowStackAbsender = New CG.Controls.Grid.Container.TileFlowLayoutPanel() + Me.StackPanelItem2 = New CG.Controls.Grid.Container.StackPanelItem() + Me.TileFlowLayoutThemengruppe = New CG.Controls.Grid.Container.TileFlowLayoutPanel() + Me.StackPanelItem5 = New CG.Controls.Grid.Container.StackPanelItem() + Me.TileFlowLayoutPanel2 = New CG.Controls.Grid.Container.TileFlowLayoutPanel() + Me.TextImageTile1 = New CG.Controls.Grid.Container.TextImageTile() + Me.TextImageTile2 = New CG.Controls.Grid.Container.TextImageTile() + Me.TileNurAktiv = New CG.Controls.Grid.Container.TextImageTile() + Me.TileReaktiveBotschaften = New CG.Controls.Grid.Container.TextImageTile() + Me.TileHelp = New CG.Controls.Grid.Container.TextImageTile() + Me.StackPanelItem1 = New CG.Controls.Grid.Container.StackPanelItem() + Me.TileFlowLayoutAnspruchsgruppe = New CG.Controls.Grid.Container.TileFlowLayoutPanel() + Me.Panel1 = New System.Windows.Forms.Panel() + Me.C1Truedbgrid1 = New C1.Win.C1TrueDBGrid.C1TrueDBGrid() + Me.ctxMenuEinträge = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.EintragBearbeitenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.NeuerEintragToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.StackPanelItem4 = New CG.Controls.Grid.Container.StackPanelItem() + Me.Panel5 = New System.Windows.Forms.Panel() + Me.StackPanelItem3 = New CG.Controls.Grid.Container.StackPanelItem() + Me.TileFlowLayoutPanel1 = New CG.Controls.Grid.Container.TileFlowLayoutPanel() + Me.TileReport = New CG.Controls.Grid.Container.TextImageTile() + Me.ctxMenuReport = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.ReportBearbeitenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.TileExcel = New CG.Controls.Grid.Container.TextImageTile() + Me.Panel4 = New System.Windows.Forms.Panel() + Me.PanelBotschaft = New System.Windows.Forms.Panel() + Me.PnlAdmin = New System.Windows.Forms.Panel() + Me.cbboxTabelle = New System.Windows.Forms.CheckBox() + Me.cbboxShowGueltigkeit = New System.Windows.Forms.CheckBox() + Me.cbboxNurGueltige = New System.Windows.Forms.CheckBox() + Me.cbboxNurAktive = New System.Windows.Forms.CheckBox() + Me.Panel6 = New System.Windows.Forms.Panel() + Me.btnDelSuche = New System.Windows.Forms.Button() + Me.txtsuche = New System.Windows.Forms.TextBox() + Me.lblSuche = New System.Windows.Forms.Label() + Me.btnSuche = New System.Windows.Forms.Button() + Me.ToolTip1 = New System.Windows.Forms.ToolTip(Me.components) + CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SplitContainer1.Panel1.SuspendLayout() + Me.SplitContainer1.Panel2.SuspendLayout() + Me.SplitContainer1.SuspendLayout() + Me.Panel3.SuspendLayout() + Me.tilePanelApps.SuspendLayout() + Me.ctxMenuGruppenansicht.SuspendLayout() + Me.StackPanelItem2.SuspendLayout() + Me.StackPanelItem5.SuspendLayout() + Me.TileFlowLayoutPanel2.SuspendLayout() + Me.StackPanelItem1.SuspendLayout() + Me.Panel1.SuspendLayout() + CType(Me.C1Truedbgrid1, System.ComponentModel.ISupportInitialize).BeginInit() + Me.ctxMenuEinträge.SuspendLayout() + Me.StackPanelItem3.SuspendLayout() + Me.TileFlowLayoutPanel1.SuspendLayout() + Me.ctxMenuReport.SuspendLayout() + Me.PanelBotschaft.SuspendLayout() + Me.PnlAdmin.SuspendLayout() + Me.Panel6.SuspendLayout() + Me.SuspendLayout() + ' + 'SplitContainer1 + ' + Me.SplitContainer1.Dock = System.Windows.Forms.DockStyle.Fill + Me.SplitContainer1.Location = New System.Drawing.Point(0, 0) + Me.SplitContainer1.Name = "SplitContainer1" + Me.SplitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal + ' + 'SplitContainer1.Panel1 + ' + Me.SplitContainer1.Panel1.BackColor = System.Drawing.SystemColors.ControlDark + Me.SplitContainer1.Panel1.Controls.Add(Me.Panel3) + ' + 'SplitContainer1.Panel2 + ' + Me.SplitContainer1.Panel2.Controls.Add(Me.Panel1) + Me.SplitContainer1.Panel2.Controls.Add(Me.PanelBotschaft) + Me.SplitContainer1.Size = New System.Drawing.Size(1130, 882) + Me.SplitContainer1.SplitterDistance = 380 + Me.SplitContainer1.TabIndex = 0 + ' + 'Panel3 + ' + Me.Panel3.BackColor = System.Drawing.Color.Gray + Me.Panel3.Controls.Add(Me.tilePanelApps) + Me.Panel3.Controls.Add(Me.StackPanelItem2) + Me.Panel3.Controls.Add(Me.StackPanelItem5) + Me.Panel3.Controls.Add(Me.StackPanelItem1) + Me.Panel3.Dock = System.Windows.Forms.DockStyle.Fill + Me.Panel3.ForeColor = System.Drawing.SystemColors.ControlText + Me.Panel3.Location = New System.Drawing.Point(0, 0) + Me.Panel3.Name = "Panel3" + Me.Panel3.Size = New System.Drawing.Size(1130, 380) + Me.Panel3.TabIndex = 5 + ' + 'tilePanelApps + ' + Me.tilePanelApps.BackColor = System.Drawing.Color.Transparent + Me.tilePanelApps.Caption = "Absender" + Me.tilePanelApps.CaptionLocation = New System.Drawing.Point(0, 0) + Me.tilePanelApps.ContextMenuStrip = Me.ctxMenuGruppenansicht + Me.tilePanelApps.Controls.Add(Me.TileFlowStackAbsender) + Me.tilePanelApps.Dock = System.Windows.Forms.DockStyle.Left + Me.tilePanelApps.FitParentSize = False + Me.tilePanelApps.Font = New System.Drawing.Font("Segoe UI", 15.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.tilePanelApps.ForeColor = System.Drawing.Color.Blue + Me.tilePanelApps.Location = New System.Drawing.Point(284, 0) + Me.tilePanelApps.Name = "tilePanelApps" + Me.tilePanelApps.Padding = New System.Windows.Forms.Padding(0, 60, 0, 0) + Me.tilePanelApps.Size = New System.Drawing.Size(272, 380) + Me.tilePanelApps.TabIndex = 14 + Me.tilePanelApps.Text = "stackPanelItem1" + ' + 'ctxMenuGruppenansicht + ' + Me.ctxMenuGruppenansicht.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.AbsenderAnzeigenToolStripMenuItem, Me.AbsenderAusblendenToolStripMenuItem, Me.ToolStripMenuItem2, Me.AllgemeineEinstellungenToolStripMenuItem}) + Me.ctxMenuGruppenansicht.Name = "ctxMenuGruppenansicht" + Me.ctxMenuGruppenansicht.Size = New System.Drawing.Size(209, 76) + ' + 'AbsenderAnzeigenToolStripMenuItem + ' + Me.AbsenderAnzeigenToolStripMenuItem.Name = "AbsenderAnzeigenToolStripMenuItem" + Me.AbsenderAnzeigenToolStripMenuItem.Size = New System.Drawing.Size(208, 22) + Me.AbsenderAnzeigenToolStripMenuItem.Text = "&Absender anzeigen" + ' + 'AbsenderAusblendenToolStripMenuItem + ' + Me.AbsenderAusblendenToolStripMenuItem.Name = "AbsenderAusblendenToolStripMenuItem" + Me.AbsenderAusblendenToolStripMenuItem.Size = New System.Drawing.Size(208, 22) + Me.AbsenderAusblendenToolStripMenuItem.Text = "&Absender ausblenden" + ' + 'ToolStripMenuItem2 + ' + Me.ToolStripMenuItem2.Name = "ToolStripMenuItem2" + Me.ToolStripMenuItem2.Size = New System.Drawing.Size(205, 6) + ' + 'AllgemeineEinstellungenToolStripMenuItem + ' + Me.AllgemeineEinstellungenToolStripMenuItem.Name = "AllgemeineEinstellungenToolStripMenuItem" + Me.AllgemeineEinstellungenToolStripMenuItem.Size = New System.Drawing.Size(208, 22) + Me.AllgemeineEinstellungenToolStripMenuItem.Text = "Allgemeine Einstellungen" + ' + 'TileFlowStackAbsender + ' + Me.TileFlowStackAbsender.AutoScroll = True + Me.TileFlowStackAbsender.BackColor = System.Drawing.Color.Transparent + Me.TileFlowStackAbsender.Dock = System.Windows.Forms.DockStyle.Fill + Me.TileFlowStackAbsender.Location = New System.Drawing.Point(0, 60) + Me.TileFlowStackAbsender.Name = "TileFlowStackAbsender" + Me.TileFlowStackAbsender.Size = New System.Drawing.Size(272, 320) + Me.TileFlowStackAbsender.SuspendAutoArrange = False + Me.TileFlowStackAbsender.TabIndex = 5 + ' + 'StackPanelItem2 + ' + Me.StackPanelItem2.BackColor = System.Drawing.Color.Transparent + Me.StackPanelItem2.Caption = "Themengruppe" + Me.StackPanelItem2.CaptionLocation = New System.Drawing.Point(0, 0) + Me.StackPanelItem2.ContextMenuStrip = Me.ctxMenuGruppenansicht + Me.StackPanelItem2.Controls.Add(Me.TileFlowLayoutThemengruppe) + Me.StackPanelItem2.Dock = System.Windows.Forms.DockStyle.Fill + Me.StackPanelItem2.FitParentSize = False + Me.StackPanelItem2.Font = New System.Drawing.Font("Segoe UI", 15.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.StackPanelItem2.ForeColor = System.Drawing.Color.Blue + Me.StackPanelItem2.Location = New System.Drawing.Point(284, 0) + Me.StackPanelItem2.Name = "StackPanelItem2" + Me.StackPanelItem2.Padding = New System.Windows.Forms.Padding(0, 60, 0, 0) + Me.StackPanelItem2.Size = New System.Drawing.Size(714, 380) + Me.StackPanelItem2.TabIndex = 12 + Me.StackPanelItem2.Text = "stackPanelItem1" + ' + 'TileFlowLayoutThemengruppe + ' + Me.TileFlowLayoutThemengruppe.AutoScroll = True + Me.TileFlowLayoutThemengruppe.BackColor = System.Drawing.Color.Transparent + Me.TileFlowLayoutThemengruppe.Dock = System.Windows.Forms.DockStyle.Fill + Me.TileFlowLayoutThemengruppe.Location = New System.Drawing.Point(0, 60) + Me.TileFlowLayoutThemengruppe.Name = "TileFlowLayoutThemengruppe" + Me.TileFlowLayoutThemengruppe.Size = New System.Drawing.Size(714, 320) + Me.TileFlowLayoutThemengruppe.SuspendAutoArrange = False + Me.TileFlowLayoutThemengruppe.TabIndex = 5 + ' + 'StackPanelItem5 + ' + Me.StackPanelItem5.BackColor = System.Drawing.Color.Transparent + Me.StackPanelItem5.Caption = "Selektion" + Me.StackPanelItem5.CaptionLocation = New System.Drawing.Point(0, 0) + Me.StackPanelItem5.Controls.Add(Me.TileFlowLayoutPanel2) + Me.StackPanelItem5.Dock = System.Windows.Forms.DockStyle.Right + Me.StackPanelItem5.FitParentSize = False + Me.StackPanelItem5.Font = New System.Drawing.Font("Segoe UI", 15.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.StackPanelItem5.ForeColor = System.Drawing.Color.Blue + Me.StackPanelItem5.Location = New System.Drawing.Point(998, 0) + Me.StackPanelItem5.Name = "StackPanelItem5" + Me.StackPanelItem5.Padding = New System.Windows.Forms.Padding(0, 60, 0, 0) + Me.StackPanelItem5.Size = New System.Drawing.Size(132, 380) + Me.StackPanelItem5.TabIndex = 13 + Me.StackPanelItem5.Text = "stackPanelItem1" + ' + 'TileFlowLayoutPanel2 + ' + Me.TileFlowLayoutPanel2.AutoScroll = True + Me.TileFlowLayoutPanel2.BackColor = System.Drawing.Color.Transparent + Me.TileFlowLayoutPanel2.Controls.Add(Me.TextImageTile1) + Me.TileFlowLayoutPanel2.Controls.Add(Me.TextImageTile2) + Me.TileFlowLayoutPanel2.Controls.Add(Me.TileNurAktiv) + Me.TileFlowLayoutPanel2.Controls.Add(Me.TileReaktiveBotschaften) + Me.TileFlowLayoutPanel2.Controls.Add(Me.TileHelp) + Me.TileFlowLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill + Me.TileFlowLayoutPanel2.Location = New System.Drawing.Point(0, 60) + Me.TileFlowLayoutPanel2.Name = "TileFlowLayoutPanel2" + Me.TileFlowLayoutPanel2.Size = New System.Drawing.Size(132, 320) + Me.TileFlowLayoutPanel2.SuspendAutoArrange = False + Me.TileFlowLayoutPanel2.TabIndex = 5 + ' + 'TextImageTile1 + ' + Me.TextImageTile1.AnimateParts = True + Me.TextImageTile1.AnimationInterval = 3000 + Me.TextImageTile1.AnimationSpeed = 15 + Me.TextImageTile1.BackColor = System.Drawing.Color.Transparent + Me.TextImageTile1.BackColorFrom = System.Drawing.Color.FromArgb(CType(CType(19, Byte), Integer), CType(CType(64, Byte), Integer), CType(CType(109, Byte), Integer)) + Me.TextImageTile1.BackColorTo = System.Drawing.Color.FromArgb(CType(CType(31, Byte), Integer), CType(CType(77, Byte), Integer), CType(CType(154, Byte), Integer)) + Me.TextImageTile1.Description = "Alle Elemente auswählen" + Me.TextImageTile1.DockImage = False + Me.TextImageTile1.FixedTitle = False + Me.TextImageTile1.FontText = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.TextImageTile1.FontTitle = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.TextImageTile1.ForeColor = System.Drawing.Color.White + Me.TextImageTile1.GradientAngle = 10 + Me.TextImageTile1.Icon = CType(resources.GetObject("TextImageTile1.Icon"), System.Drawing.Image) + Me.TextImageTile1.IconicText = "" + Me.TextImageTile1.ImageSize = New System.Drawing.Size(0, 0) + Me.TextImageTile1.IsHtmlDescription = False + Me.TextImageTile1.Location = New System.Drawing.Point(3, 3) + Me.TextImageTile1.MarginDescriptionLeftTop = New System.Drawing.Point(10, 10) + Me.TextImageTile1.MarginImageLeftTop = New System.Drawing.Point(10, 10) + Me.TextImageTile1.MarginImageRightBottom = New System.Drawing.Point(0, 0) + Me.TextImageTile1.MarginTitleLeftBottom = New System.Drawing.Point(10, 5) + Me.TextImageTile1.Name = "TextImageTile1" + Me.TextImageTile1.OffSet = 1 + Me.TextImageTile1.Selected = False + Me.TextImageTile1.SelectionColor = System.Drawing.Color.Blue + Me.TextImageTile1.ShowCloseButton = True + Me.TextImageTile1.ShowHelpButton = False + Me.TextImageTile1.ShowHover = True + Me.TextImageTile1.ShowSettingsButton = False + Me.TextImageTile1.Size = New System.Drawing.Size(100, 50) + Me.TextImageTile1.TabIndex = 0 + Me.TextImageTile1.TileColor = CG.Controls.Grid.Container.EnTileColor.Blue + Me.TextImageTile1.Title = "" + Me.ToolTip1.SetToolTip(Me.TextImageTile1, "Alle Elemente auswählen") + ' + 'TextImageTile2 + ' + Me.TextImageTile2.AnimateParts = True + Me.TextImageTile2.AnimationInterval = 3000 + Me.TextImageTile2.AnimationSpeed = 15 + Me.TextImageTile2.BackColor = System.Drawing.Color.Transparent + Me.TextImageTile2.BackColorFrom = System.Drawing.Color.FromArgb(CType(CType(19, Byte), Integer), CType(CType(64, Byte), Integer), CType(CType(109, Byte), Integer)) + Me.TextImageTile2.BackColorTo = System.Drawing.Color.FromArgb(CType(CType(31, Byte), Integer), CType(CType(77, Byte), Integer), CType(CType(154, Byte), Integer)) + Me.TextImageTile2.Description = "Auswahl aufheben" + Me.TextImageTile2.DockImage = False + Me.TextImageTile2.FixedTitle = False + Me.TextImageTile2.FontText = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.TextImageTile2.FontTitle = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.TextImageTile2.ForeColor = System.Drawing.Color.White + Me.TextImageTile2.GradientAngle = 10 + Me.TextImageTile2.Icon = CType(resources.GetObject("TextImageTile2.Icon"), System.Drawing.Image) + Me.TextImageTile2.IconicText = "" + Me.TextImageTile2.ImageSize = New System.Drawing.Size(0, 0) + Me.TextImageTile2.IsHtmlDescription = False + Me.TextImageTile2.Location = New System.Drawing.Point(3, 59) + Me.TextImageTile2.MarginDescriptionLeftTop = New System.Drawing.Point(10, 10) + Me.TextImageTile2.MarginImageLeftTop = New System.Drawing.Point(10, 10) + Me.TextImageTile2.MarginImageRightBottom = New System.Drawing.Point(0, 0) + Me.TextImageTile2.MarginTitleLeftBottom = New System.Drawing.Point(10, 5) + Me.TextImageTile2.Name = "TextImageTile2" + Me.TextImageTile2.OffSet = 1 + Me.TextImageTile2.Selected = False + Me.TextImageTile2.SelectionColor = System.Drawing.Color.Blue + Me.TextImageTile2.ShowCloseButton = True + Me.TextImageTile2.ShowHelpButton = False + Me.TextImageTile2.ShowHover = True + Me.TextImageTile2.ShowSettingsButton = False + Me.TextImageTile2.Size = New System.Drawing.Size(100, 50) + Me.TextImageTile2.TabIndex = 1 + Me.TextImageTile2.TileColor = CG.Controls.Grid.Container.EnTileColor.Blue + Me.TextImageTile2.Title = "" + Me.ToolTip1.SetToolTip(Me.TextImageTile2, "Auswahl aufheben") + ' + 'TileNurAktiv + ' + Me.TileNurAktiv.AccessibleDescription = "" + Me.TileNurAktiv.AnimateParts = True + Me.TileNurAktiv.AnimationInterval = 3000 + Me.TileNurAktiv.AnimationSpeed = 15 + Me.TileNurAktiv.BackColor = System.Drawing.Color.Transparent + Me.TileNurAktiv.BackColorFrom = System.Drawing.Color.Gray + Me.TileNurAktiv.BackColorTo = System.Drawing.Color.Black + Me.TileNurAktiv.Description = "Aktive Botschaften" + Me.TileNurAktiv.DockImage = False + Me.TileNurAktiv.FixedTitle = False + Me.TileNurAktiv.FontText = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.TileNurAktiv.FontTitle = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.TileNurAktiv.ForeColor = System.Drawing.Color.White + Me.TileNurAktiv.GradientAngle = 10 + Me.TileNurAktiv.Icon = CType(resources.GetObject("TileNurAktiv.Icon"), System.Drawing.Image) + Me.TileNurAktiv.IconicText = "" + Me.TileNurAktiv.ImageSize = New System.Drawing.Size(0, 0) + Me.TileNurAktiv.IsHtmlDescription = False + Me.TileNurAktiv.Location = New System.Drawing.Point(3, 115) + Me.TileNurAktiv.MarginDescriptionLeftTop = New System.Drawing.Point(10, 10) + Me.TileNurAktiv.MarginImageLeftTop = New System.Drawing.Point(10, 10) + Me.TileNurAktiv.MarginImageRightBottom = New System.Drawing.Point(0, 0) + Me.TileNurAktiv.MarginTitleLeftBottom = New System.Drawing.Point(10, 5) + Me.TileNurAktiv.Name = "TileNurAktiv" + Me.TileNurAktiv.OffSet = 1 + Me.TileNurAktiv.Selected = False + Me.TileNurAktiv.SelectionColor = System.Drawing.Color.Blue + Me.TileNurAktiv.ShowCloseButton = True + Me.TileNurAktiv.ShowHelpButton = False + Me.TileNurAktiv.ShowHover = True + Me.TileNurAktiv.ShowSettingsButton = False + Me.TileNurAktiv.Size = New System.Drawing.Size(100, 50) + Me.TileNurAktiv.TabIndex = 3 + Me.TileNurAktiv.TileColor = CG.Controls.Grid.Container.EnTileColor.Blue + Me.TileNurAktiv.Title = "" + Me.ToolTip1.SetToolTip(Me.TileNurAktiv, "Botschaften, die Sie aktiv verbreiten sollten") + Me.TileNurAktiv.Visible = False + ' + 'TileReaktiveBotschaften + ' + Me.TileReaktiveBotschaften.AnimateParts = True + Me.TileReaktiveBotschaften.AnimationInterval = 3000 + Me.TileReaktiveBotschaften.AnimationSpeed = 15 + Me.TileReaktiveBotschaften.BackColor = System.Drawing.Color.Transparent + Me.TileReaktiveBotschaften.BackColorFrom = System.Drawing.Color.Gray + Me.TileReaktiveBotschaften.BackColorTo = System.Drawing.Color.Black + Me.TileReaktiveBotschaften.Description = "Reaktivie Botschaften" + Me.TileReaktiveBotschaften.DockImage = False + Me.TileReaktiveBotschaften.FixedTitle = False + Me.TileReaktiveBotschaften.FontText = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.TileReaktiveBotschaften.FontTitle = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.TileReaktiveBotschaften.ForeColor = System.Drawing.Color.White + Me.TileReaktiveBotschaften.GradientAngle = 10 + Me.TileReaktiveBotschaften.Icon = CType(resources.GetObject("TileReaktiveBotschaften.Icon"), System.Drawing.Image) + Me.TileReaktiveBotschaften.IconicText = "" + Me.TileReaktiveBotschaften.ImageSize = New System.Drawing.Size(0, 0) + Me.TileReaktiveBotschaften.IsHtmlDescription = False + Me.TileReaktiveBotschaften.Location = New System.Drawing.Point(3, 171) + Me.TileReaktiveBotschaften.MarginDescriptionLeftTop = New System.Drawing.Point(10, 10) + Me.TileReaktiveBotschaften.MarginImageLeftTop = New System.Drawing.Point(10, 10) + Me.TileReaktiveBotschaften.MarginImageRightBottom = New System.Drawing.Point(0, 0) + Me.TileReaktiveBotschaften.MarginTitleLeftBottom = New System.Drawing.Point(10, 5) + Me.TileReaktiveBotschaften.Name = "TileReaktiveBotschaften" + Me.TileReaktiveBotschaften.OffSet = 1 + Me.TileReaktiveBotschaften.Selected = False + Me.TileReaktiveBotschaften.SelectionColor = System.Drawing.Color.Blue + Me.TileReaktiveBotschaften.ShowCloseButton = True + Me.TileReaktiveBotschaften.ShowHelpButton = False + Me.TileReaktiveBotschaften.ShowHover = True + Me.TileReaktiveBotschaften.ShowSettingsButton = False + Me.TileReaktiveBotschaften.Size = New System.Drawing.Size(100, 50) + Me.TileReaktiveBotschaften.TabIndex = 2 + Me.TileReaktiveBotschaften.TileColor = CG.Controls.Grid.Container.EnTileColor.Blue + Me.TileReaktiveBotschaften.Title = "" + Me.ToolTip1.SetToolTip(Me.TileReaktiveBotschaften, "Botschaften, die sie nur auf Nachfrage und eher zurückhaltend verbreiten sollten") + Me.TileReaktiveBotschaften.Visible = False + ' + 'TileHelp + ' + Me.TileHelp.AnimateParts = True + Me.TileHelp.AnimationInterval = 3000 + Me.TileHelp.AnimationSpeed = 15 + Me.TileHelp.BackColor = System.Drawing.Color.Transparent + Me.TileHelp.BackColorFrom = System.Drawing.Color.White + Me.TileHelp.BackColorTo = System.Drawing.Color.White + Me.TileHelp.Description = "Hilfe" + Me.TileHelp.DockImage = False + Me.TileHelp.FixedTitle = False + Me.TileHelp.FontText = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.TileHelp.FontTitle = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.TileHelp.ForeColor = System.Drawing.Color.Black + Me.TileHelp.GradientAngle = 10 + Me.TileHelp.Icon = CType(resources.GetObject("TileHelp.Icon"), System.Drawing.Image) + Me.TileHelp.IconicText = "" + Me.TileHelp.Image = CType(resources.GetObject("TileHelp.Image"), System.Drawing.Image) + Me.TileHelp.ImageSize = New System.Drawing.Size(0, 0) + Me.TileHelp.IsHtmlDescription = False + Me.TileHelp.Location = New System.Drawing.Point(3, 227) + Me.TileHelp.MarginDescriptionLeftTop = New System.Drawing.Point(10, 10) + Me.TileHelp.MarginImageLeftTop = New System.Drawing.Point(10, 10) + Me.TileHelp.MarginImageRightBottom = New System.Drawing.Point(0, 0) + Me.TileHelp.MarginTitleLeftBottom = New System.Drawing.Point(10, 5) + Me.TileHelp.Name = "TileHelp" + Me.TileHelp.OffSet = 1 + Me.TileHelp.Selected = False + Me.TileHelp.SelectionColor = System.Drawing.Color.Blue + Me.TileHelp.ShowCloseButton = True + Me.TileHelp.ShowHelpButton = False + Me.TileHelp.ShowHover = True + Me.TileHelp.ShowSettingsButton = False + Me.TileHelp.Size = New System.Drawing.Size(100, 50) + Me.TileHelp.TabIndex = 4 + Me.TileHelp.TileColor = CG.Controls.Grid.Container.EnTileColor.Blue + Me.TileHelp.Title = "" + ' + 'StackPanelItem1 + ' + Me.StackPanelItem1.BackColor = System.Drawing.Color.Transparent + Me.StackPanelItem1.Caption = "Anspruchsgruppe" + Me.StackPanelItem1.CaptionLocation = New System.Drawing.Point(0, 0) + Me.StackPanelItem1.Controls.Add(Me.TileFlowLayoutAnspruchsgruppe) + Me.StackPanelItem1.Dock = System.Windows.Forms.DockStyle.Left + Me.StackPanelItem1.FitParentSize = False + Me.StackPanelItem1.Font = New System.Drawing.Font("Segoe UI", 15.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.StackPanelItem1.ForeColor = System.Drawing.Color.Blue + Me.StackPanelItem1.Location = New System.Drawing.Point(0, 0) + Me.StackPanelItem1.Name = "StackPanelItem1" + Me.StackPanelItem1.Padding = New System.Windows.Forms.Padding(0, 60, 0, 0) + Me.StackPanelItem1.Size = New System.Drawing.Size(284, 380) + Me.StackPanelItem1.TabIndex = 7 + Me.StackPanelItem1.Text = "stackPanelItem1" + ' + 'TileFlowLayoutAnspruchsgruppe + ' + Me.TileFlowLayoutAnspruchsgruppe.AutoScroll = True + Me.TileFlowLayoutAnspruchsgruppe.BackColor = System.Drawing.Color.Transparent + Me.TileFlowLayoutAnspruchsgruppe.Dock = System.Windows.Forms.DockStyle.Fill + Me.TileFlowLayoutAnspruchsgruppe.Location = New System.Drawing.Point(0, 60) + Me.TileFlowLayoutAnspruchsgruppe.Name = "TileFlowLayoutAnspruchsgruppe" + Me.TileFlowLayoutAnspruchsgruppe.Size = New System.Drawing.Size(284, 320) + Me.TileFlowLayoutAnspruchsgruppe.SuspendAutoArrange = False + Me.TileFlowLayoutAnspruchsgruppe.TabIndex = 5 + ' + 'Panel1 + ' + Me.Panel1.Controls.Add(Me.C1Truedbgrid1) + Me.Panel1.Controls.Add(Me.StackPanelItem4) + Me.Panel1.Controls.Add(Me.Panel5) + Me.Panel1.Controls.Add(Me.StackPanelItem3) + Me.Panel1.Controls.Add(Me.Panel4) + Me.Panel1.Dock = System.Windows.Forms.DockStyle.Fill + Me.Panel1.Location = New System.Drawing.Point(0, 43) + Me.Panel1.Name = "Panel1" + Me.Panel1.Size = New System.Drawing.Size(1130, 455) + Me.Panel1.TabIndex = 1 + ' + 'C1Truedbgrid1 + ' + Me.C1Truedbgrid1.AllowFilter = False + Me.C1Truedbgrid1.AllowRowSizing = C1.Win.C1TrueDBGrid.RowSizingEnum.IndividualRows + Me.C1Truedbgrid1.AlternatingRows = True + Me.C1Truedbgrid1.CaptionHeight = 17 + Me.C1Truedbgrid1.CellTips = C1.Win.C1TrueDBGrid.CellTipEnum.Floating + Me.C1Truedbgrid1.ContextMenuStrip = Me.ctxMenuEinträge + Me.C1Truedbgrid1.Dock = System.Windows.Forms.DockStyle.Fill + Me.C1Truedbgrid1.EmptyRows = True + Me.C1Truedbgrid1.FetchRowStyles = True + Me.C1Truedbgrid1.FilterBar = True + Me.C1Truedbgrid1.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.C1Truedbgrid1.GroupByAreaVisible = False + Me.C1Truedbgrid1.GroupByCaption = "Drag a column header here to group by that column" + Me.C1Truedbgrid1.Images.Add(CType(resources.GetObject("C1Truedbgrid1.Images"), System.Drawing.Image)) + Me.C1Truedbgrid1.Location = New System.Drawing.Point(109, 0) + Me.C1Truedbgrid1.Name = "C1Truedbgrid1" + Me.C1Truedbgrid1.PreviewInfo.Location = New System.Drawing.Point(0, 0) + Me.C1Truedbgrid1.PreviewInfo.Size = New System.Drawing.Size(0, 0) + Me.C1Truedbgrid1.PreviewInfo.ZoomFactor = 75.0R + Me.C1Truedbgrid1.PrintInfo.PageSettings = CType(resources.GetObject("C1Truedbgrid1.PrintInfo.PageSettings"), System.Drawing.Printing.PageSettings) + Me.C1Truedbgrid1.RowHeight = 15 + Me.C1Truedbgrid1.Size = New System.Drawing.Size(1021, 455) + Me.C1Truedbgrid1.TabAction = C1.Win.C1TrueDBGrid.TabActionEnum.ColumnNavigation + Me.C1Truedbgrid1.TabIndex = 15 + Me.C1Truedbgrid1.Text = "C1TrueDBGrid1" + Me.C1Truedbgrid1.VisualStyle = C1.Win.C1TrueDBGrid.VisualStyle.Office2010Silver + Me.C1Truedbgrid1.PropBag = resources.GetString("C1Truedbgrid1.PropBag") + ' + 'ctxMenuEinträge + ' + Me.ctxMenuEinträge.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.EintragBearbeitenToolStripMenuItem, Me.NeuerEintragToolStripMenuItem}) + Me.ctxMenuEinträge.Name = "ContextMenuStrip2" + Me.ctxMenuEinträge.Size = New System.Drawing.Size(171, 48) + ' + 'EintragBearbeitenToolStripMenuItem + ' + Me.EintragBearbeitenToolStripMenuItem.Name = "EintragBearbeitenToolStripMenuItem" + Me.EintragBearbeitenToolStripMenuItem.Size = New System.Drawing.Size(170, 22) + Me.EintragBearbeitenToolStripMenuItem.Text = "Eintrag bearbeiten" + ' + 'NeuerEintragToolStripMenuItem + ' + Me.NeuerEintragToolStripMenuItem.Name = "NeuerEintragToolStripMenuItem" + Me.NeuerEintragToolStripMenuItem.Size = New System.Drawing.Size(170, 22) + Me.NeuerEintragToolStripMenuItem.Text = "&Neuer Eintrag" + ' + 'StackPanelItem4 + ' + Me.StackPanelItem4.BackColor = System.Drawing.Color.Transparent + Me.StackPanelItem4.Caption = "Botschaften" + Me.StackPanelItem4.CaptionLocation = New System.Drawing.Point(0, 0) + Me.StackPanelItem4.Dock = System.Windows.Forms.DockStyle.Fill + Me.StackPanelItem4.FitParentSize = False + Me.StackPanelItem4.Font = New System.Drawing.Font("Segoe UI", 15.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.StackPanelItem4.ForeColor = System.Drawing.Color.Blue + Me.StackPanelItem4.Location = New System.Drawing.Point(109, 0) + Me.StackPanelItem4.Name = "StackPanelItem4" + Me.StackPanelItem4.Padding = New System.Windows.Forms.Padding(0, 60, 0, 0) + Me.StackPanelItem4.Size = New System.Drawing.Size(1021, 455) + Me.StackPanelItem4.TabIndex = 14 + Me.StackPanelItem4.Text = "stackPanelItem1" + ' + 'Panel5 + ' + Me.Panel5.BackColor = System.Drawing.Color.Transparent + Me.Panel5.Dock = System.Windows.Forms.DockStyle.Left + Me.Panel5.Location = New System.Drawing.Point(96, 0) + Me.Panel5.Name = "Panel5" + Me.Panel5.Size = New System.Drawing.Size(13, 455) + Me.Panel5.TabIndex = 13 + ' + 'StackPanelItem3 + ' + Me.StackPanelItem3.BackColor = System.Drawing.Color.Transparent + Me.StackPanelItem3.Caption = "Export" + Me.StackPanelItem3.CaptionLocation = New System.Drawing.Point(0, 0) + Me.StackPanelItem3.Controls.Add(Me.TileFlowLayoutPanel1) + Me.StackPanelItem3.Dock = System.Windows.Forms.DockStyle.Left + Me.StackPanelItem3.FitParentSize = False + Me.StackPanelItem3.Font = New System.Drawing.Font("Segoe UI", 15.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.StackPanelItem3.ForeColor = System.Drawing.Color.Blue + Me.StackPanelItem3.Location = New System.Drawing.Point(13, 0) + Me.StackPanelItem3.Name = "StackPanelItem3" + Me.StackPanelItem3.Padding = New System.Windows.Forms.Padding(0, 60, 0, 0) + Me.StackPanelItem3.Size = New System.Drawing.Size(83, 455) + Me.StackPanelItem3.TabIndex = 12 + Me.StackPanelItem3.Text = "stackPanelItem1" + ' + 'TileFlowLayoutPanel1 + ' + Me.TileFlowLayoutPanel1.AutoScroll = True + Me.TileFlowLayoutPanel1.BackColor = System.Drawing.Color.Transparent + Me.TileFlowLayoutPanel1.Controls.Add(Me.TileReport) + Me.TileFlowLayoutPanel1.Controls.Add(Me.TileExcel) + Me.TileFlowLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill + Me.TileFlowLayoutPanel1.FlowDirection = System.Windows.Forms.FlowDirection.TopDown + Me.TileFlowLayoutPanel1.Location = New System.Drawing.Point(0, 60) + Me.TileFlowLayoutPanel1.Name = "TileFlowLayoutPanel1" + Me.TileFlowLayoutPanel1.Size = New System.Drawing.Size(83, 395) + Me.TileFlowLayoutPanel1.SuspendAutoArrange = False + Me.TileFlowLayoutPanel1.TabIndex = 5 + ' + 'TileReport + ' + Me.TileReport.AnimateParts = True + Me.TileReport.AnimationInterval = 3000 + Me.TileReport.AnimationSpeed = 15 + Me.TileReport.BackColor = System.Drawing.Color.Transparent + Me.TileReport.BackColorFrom = System.Drawing.Color.FromArgb(CType(CType(19, Byte), Integer), CType(CType(64, Byte), Integer), CType(CType(109, Byte), Integer)) + Me.TileReport.BackColorTo = System.Drawing.Color.FromArgb(CType(CType(31, Byte), Integer), CType(CType(77, Byte), Integer), CType(CType(154, Byte), Integer)) + Me.TileReport.ContextMenuStrip = Me.ctxMenuReport + Me.TileReport.Description = "PDF-Export" + Me.TileReport.DockImage = False + Me.TileReport.FixedTitle = False + Me.TileReport.FontText = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.TileReport.FontTitle = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.TileReport.ForeColor = System.Drawing.Color.White + Me.TileReport.GradientAngle = 10 + Me.TileReport.Icon = CType(resources.GetObject("TileReport.Icon"), System.Drawing.Image) + Me.TileReport.IconicText = "" + Me.TileReport.Image = CType(resources.GetObject("TileReport.Image"), System.Drawing.Image) + Me.TileReport.ImageSize = New System.Drawing.Size(50, 50) + Me.TileReport.IsHtmlDescription = False + Me.TileReport.Location = New System.Drawing.Point(3, 3) + Me.TileReport.MarginDescriptionLeftTop = New System.Drawing.Point(10, 10) + Me.TileReport.MarginImageLeftTop = New System.Drawing.Point(10, 10) + Me.TileReport.MarginImageRightBottom = New System.Drawing.Point(0, 0) + Me.TileReport.MarginTitleLeftBottom = New System.Drawing.Point(10, 5) + Me.TileReport.Name = "TileReport" + Me.TileReport.OffSet = 1 + Me.TileReport.Selected = False + Me.TileReport.SelectionColor = System.Drawing.Color.Blue + Me.TileReport.ShowCloseButton = True + Me.TileReport.ShowHelpButton = False + Me.TileReport.ShowHover = True + Me.TileReport.ShowSettingsButton = False + Me.TileReport.Size = New System.Drawing.Size(150, 70) + Me.TileReport.TabIndex = 0 + Me.TileReport.TileColor = CG.Controls.Grid.Container.EnTileColor.Blue + Me.TileReport.Title = "" + Me.ToolTip1.SetToolTip(Me.TileReport, "Auswertung als PDF erstellen") + ' + 'ctxMenuReport + ' + Me.ctxMenuReport.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ReportBearbeitenToolStripMenuItem}) + Me.ctxMenuReport.Name = "ctxMenuReport" + Me.ctxMenuReport.Size = New System.Drawing.Size(169, 26) + ' + 'ReportBearbeitenToolStripMenuItem + ' + Me.ReportBearbeitenToolStripMenuItem.Name = "ReportBearbeitenToolStripMenuItem" + Me.ReportBearbeitenToolStripMenuItem.Size = New System.Drawing.Size(168, 22) + Me.ReportBearbeitenToolStripMenuItem.Text = "&Report bearbeiten" + ' + 'TileExcel + ' + Me.TileExcel.AnimateParts = True + Me.TileExcel.AnimationInterval = 3000 + Me.TileExcel.AnimationSpeed = 15 + Me.TileExcel.BackColor = System.Drawing.Color.Transparent + Me.TileExcel.BackColorFrom = System.Drawing.Color.FromArgb(CType(CType(19, Byte), Integer), CType(CType(64, Byte), Integer), CType(CType(109, Byte), Integer)) + Me.TileExcel.BackColorTo = System.Drawing.Color.FromArgb(CType(CType(31, Byte), Integer), CType(CType(77, Byte), Integer), CType(CType(154, Byte), Integer)) + Me.TileExcel.Description = "Excel-Export" + Me.TileExcel.DockImage = False + Me.TileExcel.FixedTitle = False + Me.TileExcel.FontText = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.TileExcel.FontTitle = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.TileExcel.ForeColor = System.Drawing.Color.White + Me.TileExcel.GradientAngle = 10 + Me.TileExcel.Icon = CType(resources.GetObject("TileExcel.Icon"), System.Drawing.Image) + Me.TileExcel.IconicText = "" + Me.TileExcel.Image = CType(resources.GetObject("TileExcel.Image"), System.Drawing.Image) + Me.TileExcel.ImageSize = New System.Drawing.Size(50, 50) + Me.TileExcel.IsHtmlDescription = False + Me.TileExcel.Location = New System.Drawing.Point(3, 79) + Me.TileExcel.MarginDescriptionLeftTop = New System.Drawing.Point(10, 10) + Me.TileExcel.MarginImageLeftTop = New System.Drawing.Point(10, 10) + Me.TileExcel.MarginImageRightBottom = New System.Drawing.Point(0, 0) + Me.TileExcel.MarginTitleLeftBottom = New System.Drawing.Point(10, 5) + Me.TileExcel.Name = "TileExcel" + Me.TileExcel.OffSet = 1 + Me.TileExcel.Selected = False + Me.TileExcel.SelectionColor = System.Drawing.Color.Blue + Me.TileExcel.ShowCloseButton = True + Me.TileExcel.ShowHelpButton = False + Me.TileExcel.ShowHover = True + Me.TileExcel.ShowSettingsButton = False + Me.TileExcel.Size = New System.Drawing.Size(150, 70) + Me.TileExcel.TabIndex = 1 + Me.TileExcel.TileColor = CG.Controls.Grid.Container.EnTileColor.Blue + Me.TileExcel.Title = "" + Me.ToolTip1.SetToolTip(Me.TileExcel, "Daten nach Excel esportieren") + ' + 'Panel4 + ' + Me.Panel4.BackColor = System.Drawing.Color.Transparent + Me.Panel4.Dock = System.Windows.Forms.DockStyle.Left + Me.Panel4.Location = New System.Drawing.Point(0, 0) + Me.Panel4.Name = "Panel4" + Me.Panel4.Size = New System.Drawing.Size(13, 455) + Me.Panel4.TabIndex = 11 + ' + 'PanelBotschaft + ' + Me.PanelBotschaft.BackColor = System.Drawing.Color.Transparent + Me.PanelBotschaft.Controls.Add(Me.PnlAdmin) + Me.PanelBotschaft.Controls.Add(Me.Panel6) + Me.PanelBotschaft.Dock = System.Windows.Forms.DockStyle.Top + Me.PanelBotschaft.Location = New System.Drawing.Point(0, 0) + Me.PanelBotschaft.Name = "PanelBotschaft" + Me.PanelBotschaft.Size = New System.Drawing.Size(1130, 43) + Me.PanelBotschaft.TabIndex = 0 + ' + 'PnlAdmin + ' + Me.PnlAdmin.BackColor = System.Drawing.Color.Transparent + Me.PnlAdmin.Controls.Add(Me.cbboxTabelle) + Me.PnlAdmin.Controls.Add(Me.cbboxShowGueltigkeit) + Me.PnlAdmin.Controls.Add(Me.cbboxNurGueltige) + Me.PnlAdmin.Controls.Add(Me.cbboxNurAktive) + Me.PnlAdmin.Dock = System.Windows.Forms.DockStyle.Right + Me.PnlAdmin.Location = New System.Drawing.Point(0, 0) + Me.PnlAdmin.Name = "PnlAdmin" + Me.PnlAdmin.Size = New System.Drawing.Size(729, 43) + Me.PnlAdmin.TabIndex = 3 + ' + 'cbboxTabelle + ' + Me.cbboxTabelle.AutoSize = True + Me.cbboxTabelle.Location = New System.Drawing.Point(587, 10) + Me.cbboxTabelle.Name = "cbboxTabelle" + Me.cbboxTabelle.Size = New System.Drawing.Size(127, 17) + Me.cbboxTabelle.TabIndex = 21 + Me.cbboxTabelle.Text = "Tabellarische Ansicht" + Me.cbboxTabelle.UseVisualStyleBackColor = True + ' + 'cbboxShowGueltigkeit + ' + Me.cbboxShowGueltigkeit.AutoSize = True + Me.cbboxShowGueltigkeit.Location = New System.Drawing.Point(458, 10) + Me.cbboxShowGueltigkeit.Name = "cbboxShowGueltigkeit" + Me.cbboxShowGueltigkeit.Size = New System.Drawing.Size(132, 17) + Me.cbboxShowGueltigkeit.TabIndex = 20 + Me.cbboxShowGueltigkeit.Text = "Zus. Spalten anzeigen" + Me.cbboxShowGueltigkeit.UseVisualStyleBackColor = True + ' + 'cbboxNurGueltige + ' + Me.cbboxNurGueltige.AutoSize = True + Me.cbboxNurGueltige.Location = New System.Drawing.Point(373, 9) + Me.cbboxNurGueltige.Name = "cbboxNurGueltige" + Me.cbboxNurGueltige.Size = New System.Drawing.Size(79, 17) + Me.cbboxNurGueltige.TabIndex = 19 + Me.cbboxNurGueltige.Text = "Nur Gültige" + Me.cbboxNurGueltige.UseVisualStyleBackColor = True + ' + 'cbboxNurAktive + ' + Me.cbboxNurAktive.AutoSize = True + Me.cbboxNurAktive.Location = New System.Drawing.Point(291, 10) + Me.cbboxNurAktive.Name = "cbboxNurAktive" + Me.cbboxNurAktive.Size = New System.Drawing.Size(76, 17) + Me.cbboxNurAktive.TabIndex = 18 + Me.cbboxNurAktive.Text = "Nur Aktive" + Me.cbboxNurAktive.UseVisualStyleBackColor = True + ' + 'Panel6 + ' + Me.Panel6.BackColor = System.Drawing.Color.Transparent + Me.Panel6.Controls.Add(Me.btnDelSuche) + Me.Panel6.Controls.Add(Me.txtsuche) + Me.Panel6.Controls.Add(Me.lblSuche) + Me.Panel6.Controls.Add(Me.btnSuche) + Me.Panel6.Dock = System.Windows.Forms.DockStyle.Right + Me.Panel6.Location = New System.Drawing.Point(729, 0) + Me.Panel6.Name = "Panel6" + Me.Panel6.Size = New System.Drawing.Size(401, 43) + Me.Panel6.TabIndex = 4 + ' + 'btnDelSuche + ' + Me.btnDelSuche.Image = CType(resources.GetObject("btnDelSuche.Image"), System.Drawing.Image) + Me.btnDelSuche.Location = New System.Drawing.Point(354, 10) + Me.btnDelSuche.Name = "btnDelSuche" + Me.btnDelSuche.Size = New System.Drawing.Size(30, 23) + Me.btnDelSuche.TabIndex = 18 + Me.ToolTip1.SetToolTip(Me.btnDelSuche, "Suchefilter löschen") + Me.btnDelSuche.UseVisualStyleBackColor = True + ' + 'txtsuche + ' + Me.txtsuche.Location = New System.Drawing.Point(75, 11) + Me.txtsuche.Name = "txtsuche" + Me.txtsuche.Size = New System.Drawing.Size(244, 20) + Me.txtsuche.TabIndex = 16 + ' + 'lblSuche + ' + Me.lblSuche.AutoSize = True + Me.lblSuche.Location = New System.Drawing.Point(25, 15) + Me.lblSuche.Name = "lblSuche" + Me.lblSuche.Size = New System.Drawing.Size(44, 13) + Me.lblSuche.TabIndex = 15 + Me.lblSuche.Text = "Suchen" + ' + 'btnSuche + ' + Me.btnSuche.Image = CType(resources.GetObject("btnSuche.Image"), System.Drawing.Image) + Me.btnSuche.Location = New System.Drawing.Point(322, 10) + Me.btnSuche.Name = "btnSuche" + Me.btnSuche.Size = New System.Drawing.Size(30, 23) + Me.btnSuche.TabIndex = 17 + Me.ToolTip1.SetToolTip(Me.btnSuche, "Suchen") + Me.btnSuche.UseVisualStyleBackColor = True + ' + 'ToolTip1 + ' + Me.ToolTip1.IsBalloon = True + ' + 'frmKB_Presentation + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(1130, 882) + Me.Controls.Add(Me.SplitContainer1) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.Name = "frmKB_Presentation" + Me.Text = "Kernbotschaften" + Me.SplitContainer1.Panel1.ResumeLayout(False) + Me.SplitContainer1.Panel2.ResumeLayout(False) + CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).EndInit() + Me.SplitContainer1.ResumeLayout(False) + Me.Panel3.ResumeLayout(False) + Me.tilePanelApps.ResumeLayout(False) + Me.ctxMenuGruppenansicht.ResumeLayout(False) + Me.StackPanelItem2.ResumeLayout(False) + Me.StackPanelItem5.ResumeLayout(False) + Me.TileFlowLayoutPanel2.ResumeLayout(False) + Me.StackPanelItem1.ResumeLayout(False) + Me.Panel1.ResumeLayout(False) + CType(Me.C1Truedbgrid1, System.ComponentModel.ISupportInitialize).EndInit() + Me.ctxMenuEinträge.ResumeLayout(False) + Me.StackPanelItem3.ResumeLayout(False) + Me.TileFlowLayoutPanel1.ResumeLayout(False) + Me.ctxMenuReport.ResumeLayout(False) + Me.PanelBotschaft.ResumeLayout(False) + Me.PnlAdmin.ResumeLayout(False) + Me.PnlAdmin.PerformLayout() + Me.Panel6.ResumeLayout(False) + Me.Panel6.PerformLayout() + Me.ResumeLayout(False) + + End Sub + Friend WithEvents SplitContainer1 As System.Windows.Forms.SplitContainer + Friend WithEvents PanelBotschaft As System.Windows.Forms.Panel + Friend WithEvents ctxMenuGruppenansicht As System.Windows.Forms.ContextMenuStrip + Friend WithEvents AbsenderAnzeigenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents AbsenderAusblendenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ctxMenuReport As System.Windows.Forms.ContextMenuStrip + Friend WithEvents ReportBearbeitenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ctxMenuEinträge As System.Windows.Forms.ContextMenuStrip + Friend WithEvents EintragBearbeitenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents NeuerEintragToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents Panel3 As System.Windows.Forms.Panel + Private WithEvents StackPanelItem2 As CG.Controls.Grid.Container.StackPanelItem + Private WithEvents TileFlowLayoutThemengruppe As CG.Controls.Grid.Container.TileFlowLayoutPanel + Private WithEvents StackPanelItem1 As CG.Controls.Grid.Container.StackPanelItem + Private WithEvents TileFlowLayoutAnspruchsgruppe As CG.Controls.Grid.Container.TileFlowLayoutPanel + Friend WithEvents Panel1 As System.Windows.Forms.Panel + Private WithEvents StackPanelItem4 As CG.Controls.Grid.Container.StackPanelItem + Friend WithEvents Panel5 As System.Windows.Forms.Panel + Private WithEvents StackPanelItem3 As CG.Controls.Grid.Container.StackPanelItem + Private WithEvents TileFlowLayoutPanel1 As CG.Controls.Grid.Container.TileFlowLayoutPanel + Friend WithEvents TileReport As CG.Controls.Grid.Container.TextImageTile + Friend WithEvents TileExcel As CG.Controls.Grid.Container.TextImageTile + Friend WithEvents Panel4 As System.Windows.Forms.Panel + Friend WithEvents C1Truedbgrid1 As C1.Win.C1TrueDBGrid.C1TrueDBGrid + Private WithEvents StackPanelItem5 As CG.Controls.Grid.Container.StackPanelItem + Private WithEvents TileFlowLayoutPanel2 As CG.Controls.Grid.Container.TileFlowLayoutPanel + Friend WithEvents TextImageTile1 As CG.Controls.Grid.Container.TextImageTile + Friend WithEvents TextImageTile2 As CG.Controls.Grid.Container.TextImageTile + Friend WithEvents TileNurAktiv As CG.Controls.Grid.Container.TextImageTile + Friend WithEvents TileReaktiveBotschaften As CG.Controls.Grid.Container.TextImageTile + Friend WithEvents TileHelp As CG.Controls.Grid.Container.TextImageTile + Friend WithEvents AllgemeineEinstellungenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem2 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents ToolTip1 As System.Windows.Forms.ToolTip + Friend WithEvents PnlAdmin As System.Windows.Forms.Panel + Friend WithEvents cbboxShowGueltigkeit As System.Windows.Forms.CheckBox + Friend WithEvents cbboxNurGueltige As System.Windows.Forms.CheckBox + Friend WithEvents cbboxNurAktive As System.Windows.Forms.CheckBox + Friend WithEvents Panel6 As System.Windows.Forms.Panel + Friend WithEvents txtsuche As System.Windows.Forms.TextBox + Friend WithEvents lblSuche As System.Windows.Forms.Label + Friend WithEvents btnSuche As System.Windows.Forms.Button + Friend WithEvents btnDelSuche As System.Windows.Forms.Button + Friend WithEvents cbboxTabelle As CheckBox + Private WithEvents tilePanelApps As CG.Controls.Grid.Container.StackPanelItem + Private WithEvents TileFlowStackAbsender As CG.Controls.Grid.Container.TileFlowLayoutPanel +End Class diff --git a/Themenmanagement/Kernbotschaften/frmKB_Presentation.resx b/Themenmanagement/Kernbotschaften/frmKB_Presentation.resx new file mode 100644 index 0000000..52509e4 --- /dev/null +++ b/Themenmanagement/Kernbotschaften/frmKB_Presentation.resx @@ -0,0 +1,760 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 116, 17 + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAGXRFWHRTb2Z0d2FyZQBQYWludC5ORVQg + djMuNS44NzuAXQAAAFdJREFUWEft0TEKgEAQQ9G5/6XV4hdiWGyMgvzXLRlIYEc6215CXSKvoy6Rrw8u + OH/untwBDnCAA+qoS+R11CXy77+A5y3OHeAAB/xwQBt1ibyOOukwswO/HhwddTfzUQAAAABJRU5ErkJg + gg== + + + + 17, 17 + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAGXRFWHRTb2Z0d2FyZQBQYWludC5ORVQg + djMuNS44NzuAXQAAAFdJREFUWEft0TEKgEAQQ9G5/6XV4hdiWGyMgvzXLRlIYEc6215CXSKvoy6Rrw8u + OH/untwBDnCAA+qoS+R11CXy77+A5y3OHeAAB/xwQBt1ibyOOukwswO/HhwddTfzUQAAAABJRU5ErkJg + gg== + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAGXRFWHRTb2Z0d2FyZQBQYWludC5ORVQg + djMuNS44NzuAXQAAAFdJREFUWEft0TEKgEAQQ9G5/6XV4hdiWGyMgvzXLRlIYEc6215CXSKvoy6Rrw8u + OH/untwBDnCAA+qoS+R11CXy77+A5y3OHeAAB/xwQBt1ibyOOukwswO/HhwddTfzUQAAAABJRU5ErkJg + gg== + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAGXRFWHRTb2Z0d2FyZQBQYWludC5ORVQg + djMuNS44NzuAXQAAAFdJREFUWEft0TEKgEAQQ9G5/6XV4hdiWGyMgvzXLRlIYEc6215CXSKvoy6Rrw8u + OH/untwBDnCAA+qoS+R11CXy77+A5y3OHeAAB/xwQBt1ibyOOukwswO/HhwddTfzUQAAAABJRU5ErkJg + gg== + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAGXRFWHRTb2Z0d2FyZQBQYWludC5ORVQg + djMuNS44NzuAXQAAAFdJREFUWEft0TEKgEAQQ9G5/6XV4hdiWGyMgvzXLRlIYEc6215CXSKvoy6Rrw8u + OH/untwBDnCAA+qoS+R11CXy77+A5y3OHeAAB/xwQBt1ibyOOukwswO/HhwddTfzUQAAAABJRU5ErkJg + gg== + + + + + /9j/4AAQSkZJRgABAQEAAAAAAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwg + JC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIy + MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAkACQDASIAAhEBAxEB/8QA + HwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIh + MUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVW + V1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXG + x8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQF + BgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAV + YnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOE + hYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq + 8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3m6uorO3aaZsIOOBkk9gB3J9K47WvGbWRw0y23cRRqJJSPcn5 + V/I/WmeN9dNi74IzCAkQPeRhkn8FKj/gRrznRNX0611pr3W4GvIgjN5ZXdvk7Zzx69a9DCYNVYOrPZdF + uznrVuVqK3Ori+JLLL81zehc9ZUhkA/BVQ/rXb6H4nttXjj+eMl+EkjJKOf7vPKt/sn8M1zOmXHhnx5p + F7H/AGRFYyQnaHCqGXIyGDL6dxXlfhrXv7L1qIG4Itp2EcxHQDPDj3U4YfTHernhadSMvZpxlHo9SVVl + Frmd0z6Yoqppd017psE8gAkZcSAdnBw36g0V5h1HlnxTSSF5Zv4FuQ7H0DxIq/rE1eSSXj3EoQMUQnBx + 2HrX0x4s8PRa7p0kbRGTdGY5EBwzLnPy/wC0DyPxHevBLjwjqOgan57W/wBss4ZA3mqpK4BztcdUPsf1 + r2cvxUY0/ZvfocWIpNy5kbmr6ta2GnR6T4bnUW0kRE8yAhjngjnue5rlrfS2uLmG3hXMsrrGg9STgV0m + taofEU1tFp+mSiSMEbUHmOxOOOB0GP1rpfBXgu5e6F1dgCQAj5TkQg8HJHBfHAA+7nJ5wK2UoYehzS+J + 9L3bYcrnOy2PTdA50hJB92aWWZf915GYfoRRWjGixRrGihUUBVA7AUV4B2jqqXWl2V64knt1aQDAkGVc + f8CGDRRQBX/sDTjxJHNMv92e5klX8mYitFI0iQJGioijAVRgCiigB1FFFAH/2Q== + + + + 436, 17 + + + + iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAA0SURBVChTdYkBCgAgDAL9/6eLIsd0eSCKhw/r9aCLtC88 + vAdHMEIXKUIUhMK76EfagglgA6CqHOQpL6GyAAAAAElFTkSuQmCC + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0 + dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACRTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5QYWdlU2V0dGluZ3MHAAAAD3ByaW50ZXJTZXR0aW5ncwVjb2xvcglwYXBlclNp + emULcGFwZXJTb3VyY2URcHJpbnRlclJlc29sdXRpb24JbGFuZHNjYXBlB21hcmdpbnMEBAQEBAQEJ1N5 + c3RlbS5EcmF3aW5nLlByaW50aW5nLlByaW50ZXJTZXR0aW5ncwIAAAAgU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuVHJpU3RhdGUCAAAAIVN5c3RlbS5EcmF3aW5nLlByaW50aW5nLlBhcGVyU2l6ZQIAAAAjU3lz + dGVtLkRyYXdpbmcuUHJpbnRpbmcuUGFwZXJTb3VyY2UCAAAAKVN5c3RlbS5EcmF3aW5nLlByaW50aW5n + LlByaW50ZXJSZXNvbHV0aW9uAgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAf + U3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuTWFyZ2lucwIAAAACAAAACQMAAAAF/P///yBTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5UcmlTdGF0ZQEAAAAFdmFsdWUAAgIAAAAACgoKAfv////8////AAkGAAAABQMA + AAAnU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRlclNldHRpbmdzEgAAAAtwcmludGVyTmFtZQpk + cml2ZXJOYW1lCm91dHB1dFBvcnQLcHJpbnRUb0ZpbGUUcHJpbnREaWFsb2dEaXNwbGF5ZWQKZXh0cmFi + eXRlcwlleHRyYWluZm8GY29waWVzBmR1cGxleAdjb2xsYXRlE2RlZmF1bHRQYWdlU2V0dGluZ3MIZnJv + bVBhZ2UGdG9QYWdlB21heFBhZ2UHbWluUGFnZQpwcmludFJhbmdlDGRldm1vZGVieXRlcw1jYWNoZWRE + ZXZtb2RlAQEBAAAABwAEBAQAAAAABAAHAQEHAgceU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuRHVwbGV4 + AgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAkU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuUGFnZVNldHRpbmdzAgAAAAgICAgiU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRSYW5n + ZQIAAAAHAgIAAAAKBgcAAAAACQcAAAAAAAAACv//Bfj///8eU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcu + RHVwbGV4AQAAAAd2YWx1ZV9fAAgCAAAA/////wH3/////P///wAJCgAAAAAAAAAAAAAADycAAAAAAAAF + 9f///yJTeXN0ZW0uRHJhd2luZy5QcmludGluZy5QcmludFJhbmdlAQAAAAd2YWx1ZV9fAAgCAAAAAAAA + AAAACgUGAAAAH1N5c3RlbS5EcmF3aW5nLlByaW50aW5nLk1hcmdpbnMIAAAABGxlZnQFcmlnaHQDdG9w + BmJvdHRvbQpkb3VibGVMZWZ0C2RvdWJsZVJpZ2h0CWRvdWJsZVRvcAxkb3VibGVCb3R0b20AAAAAAAAA + AAgICAgGBgYGAgAAAGQAAABkAAAAZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZ + QAEKAAAAAQAAAAkDAAAAAfP////8////AAoKCgHy/////P///wAJDwAAAAEPAAAABgAAAGQAAABkAAAA + ZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAs= + + + + <?xml version="1.0"?><Blob><Styles type="C1.Win.C1TrueDBGrid.Design.ContextWrapper"><Data>HighlightRow{ForeColor:HighlightText;BackColor:Highlight;}Style8{}Style7{}Style2{}EvenRow{Padding:0, 0, 0, 0;BackColor:White;}Normal{Font:Microsoft Sans Serif, 9.75pt;}RecordSelector{AlignImage:Center;}Style4{}OddRow{AlignVert:Center;BackColor:224, 224, 224;}Style3{}Footer{}Style14{}FilterBar{BackColor:255, 255, 192;}Heading{AlignVert:Center;Border:Flat,ControlDark,0, 1, 0, 1;ForeColor:ControlText;BackColor:Control;Wrap:True;}Style5{}Editor{}Style10{AlignHorz:Near;}Style16{}Selected{ForeColor:HighlightText;BackColor:Highlight;}Style15{}Style13{}Style12{}Style11{}Group{ForeColor:ActiveBorder;Border:None,,0, 0, 0, 0;AlignVert:Center;Font:Microsoft Sans Serif, 9.75pt, style=Bold;BackColor:ControlDark;}Style9{}FilterWatermark{ForeColor:InfoText;BackColor:Info;}Style1{}Caption{AlignHorz:Center;}Style6{}Inactive{ForeColor:InactiveCaptionText;BackColor:InactiveCaption;}</Data></Styles><Splits><C1.Win.C1TrueDBGrid.MergeView Name="" AllowRowSizing="IndividualRows" AlternatingRowStyle="True" CaptionHeight="17" ColumnCaptionHeight="17" ColumnFooterHeight="17" FetchRowStyles="True" FilterBar="True" MarqueeStyle="DottedCellBorder" RecordSelectorWidth="17" DefRecSelWidth="17" VerticalScrollGroup="1" HorizontalScrollGroup="1"><CaptionStyle parent="Style2" me="Style10" /><EditorStyle parent="Editor" me="Style5" /><EvenRowStyle parent="EvenRow" me="Style8" /><FilterBarStyle parent="FilterBar" me="Style13" /><FilterWatermarkStyle parent="FilterWatermark" me="Style14" /><FooterStyle parent="Footer" me="Style3" /><GroupStyle parent="Group" me="Style12" /><HeadingStyle parent="Heading" me="Style2" /><HighLightRowStyle parent="HighlightRow" me="Style7" /><InactiveStyle parent="Inactive" me="Style4" /><OddRowStyle parent="OddRow" me="Style9" /><RecordSelectorStyle parent="RecordSelector" me="Style11" /><SelectedStyle parent="Selected" me="Style6" /><Style parent="Normal" me="Style1" /><ClientRect>0, 0, 1019, 453</ClientRect><BorderSide>0</BorderSide></C1.Win.C1TrueDBGrid.MergeView></Splits><NamedStyles><Style parent="" me="Normal" /><Style parent="Normal" me="Heading" /><Style parent="Heading" me="Footer" /><Style parent="Heading" me="Caption" /><Style parent="Heading" me="Inactive" /><Style parent="Normal" me="Selected" /><Style parent="Normal" me="Editor" /><Style parent="Normal" me="HighlightRow" /><Style parent="Normal" me="EvenRow" /><Style parent="Normal" me="OddRow" /><Style parent="Heading" me="RecordSelector" /><Style parent="Normal" me="FilterBar" /><Style parent="FilterBar" me="FilterWatermark" /><Style parent="Caption" me="Group" /></NamedStyles><vertSplits>1</vertSplits><horzSplits>1</horzSplits><Layout>None</Layout><DefaultRecSelWidth>17</DefaultRecSelWidth><ClientArea>0, 0, 1019, 453</ClientArea><PrintPageHeaderStyle parent="" me="Style15" /><PrintPageFooterStyle parent="" me="Style16" /></Blob> + + + 301, 17 + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAGXRFWHRTb2Z0d2FyZQBQYWludC5ORVQg + djMuNS44NzuAXQAAAFdJREFUWEft0TEKgEAQQ9G5/6XV4hdiWGyMgvzXLRlIYEc6215CXSKvoy6Rrw8u + OH/untwBDnCAA+qoS+R11CXy77+A5y3OHeAAB/xwQBt1ibyOOukwswO/HhwddTfzUQAAAABJRU5ErkJg + gg== + + + + + /9j/4AAQSkZJRgABAQEAYABgAAD/4QDERXhpZgAATU0AKgAAAAgAAwE7AAIAAAAOAAAAModpAAQAAAAB + AAAAQJydAAEAAAAcAAAAoAAAAABTdGVmYW4gSHV0dGVyAAAEkAMAAgAAABQAAAB2kAQAAgAAABQAAACK + kpEAAgAAAAMyNgAAkpIAAgAAAAMyNgAAAAAAADIwMTQ6MDI6MTkgMjA6NTI6MDQAMjAxNDowMjoxOSAy + MDo1MjowNAAAAFMAdABlAGYAYQBuACAASAB1AHQAdABlAHIAAAD/2wBDAAcFBQYFBAcGBQYIBwcIChEL + CgkJChUPEAwRGBUaGRgVGBcbHichGx0lHRcYIi4iJSgpKywrGiAvMy8qMicqKyr/2wBDAQcICAoJChQL + CxQqHBgcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKir/wAAR + CAA3ADYDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIE + AwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0 + NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm + p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEB + AQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdh + cRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpj + ZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK + 0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD6RpHdY0LOcAdTXlHxu17U9Fk0 + QaXqF1ZeaJ9/2eZk348vGcHnGT+ZrgNB17XNdkvI7/xVq1vb28CyuUZ5y2ZY4wNm8d5Afw6GsZVbS5bH + sUMrlWoKvzpJ+ve3Q+kPttv/AM9P/HTR9tt/+en/AI6a+e9XtdW0rTbqQ+J7qW9tFeWa3+YKY1unttyv + u5O9QcEDhupqh4quda8M60+nnVtYbYWXzLqJrcSYYruT523IccNx9KTrW6GsMo53aNVdej6f8OfSYvbc + sF80AnpkYqevBfhnrl/eTXr3t7LOsMtuf38hZVBLhuvQEDmvb7O5gkG22uI7iIfdZHDbfYkfp/nOsZcy + ueXisO8NWdJu9v8AK5boooqjmPKPjZ4V13xLJop0DT2vBbicTbZEXbu8vb94jP3T09K850zwb8RfD63k + mnaRPayXUAt2nju41dF8xH+VlkBBJQD6Eivp2q99/wAeh/3l/wDQhWbppu56NHMatKkqSSaXf7+584za + D4/m8OppB8ORKoj8p7oSoZpY/OabYzGQjG9ieACcDOcVl6v4N8Z6hrNzf3uirDPf3DylFuIlUu7FiFBf + PU9Oa+l9lcD8RoT/AMJJ4Sd4fNilvHtDkfdaQx7W+o2k/hWdSCjG53YLHVa1ZQ0V7u9vK/frYw/hZ4M1 + jTI9Zj1+wa0W4WERbpEbdjfn7pPqOvrXY2HhD+zdUW8s3McinOQevsfautC08LW8UoqyPGr1pV6jqS3Z + ZhcyQRuerKD+lFNtP+POH/rmv8qKZiS1Bef8e3/A0/8AQhU9Q3f+o/4Gn/oQoAg215Z40nsfFXiC6s7r + XYdH0/QU/d3bzBA2oHBXGT82xRyBzlsVp/EDxJ4n/t2Hwx4RsbiO5uYgxvvJJXk4wHI2qqgEsx56AAE5 + HT+F/BOleGdPgSK2hnvwN1xqEkYM08h5Zy555JPGeKzkuf3T0aDWFSrN+89rfn+hx+l/GXSoNNhTxNBd + W2objF+4tneO5I43xHHKnrg8jNd3oPiCy8QwSPZJcxPEV8yG6t3hkXIyDtYDgjoRxWheabZ6lbG31G0g + u4G+9FPGHU/geKi0jQdK0G3eDRdPtrGKRt7rbxhAx6ZOOtNKS3ZjVnh5xbhFxfrdFu0/484f+ua/yoot + P+POH/rmv8qKs5CWormN5bdliZVfgqWGQCDkZH4UUUAZvk+If+frTP8AwGk/+OUvleIf+frTP/AaT/45 + RRQAeX4h/wCfrTP/AAGk/wDjlKI/EG4brrTcZ5xbSf8AxdFFAGlEnlQpHnO1QufpRRRQB//Z + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAGXRFWHRTb2Z0d2FyZQBQYWludC5ORVQg + djMuNS44NzuAXQAAAFdJREFUWEft0TEKgEAQQ9G5/6XV4hdiWGyMgvzXLRlIYEc6215CXSKvoy6Rrw8u + OH/untwBDnCAA+qoS+R11CXy77+A5y3OHeAAB/xwQBt1ibyOOukwswO/HhwddTfzUQAAAABJRU5ErkJg + gg== + + + + + /9j/4AAQSkZJRgABAQEAYABgAAD/4QDERXhpZgAATU0AKgAAAAgAAwE7AAIAAAAOAAAAModpAAQAAAAB + AAAAQJydAAEAAAAcAAAAoAAAAABTdGVmYW4gSHV0dGVyAAAEkAMAAgAAABQAAAB2kAQAAgAAABQAAACK + kpEAAgAAAAM0NQAAkpIAAgAAAAM0NQAAAAAAADIwMTQ6MDI6MTkgMjA6NDk6NDYAMjAxNDowMjoxOSAy + MDo0OTo0NgAAAFMAdABlAGYAYQBuACAASAB1AHQAdABlAHIAAAD/2wBDAAcFBQYFBAcGBQYIBwcIChEL + CgkJChUPEAwRGBUaGRgVGBcbHichGx0lHRcYIi4iJSgpKywrGiAvMy8qMicqKyr/2wBDAQcICAoJChQL + CxQqHBgcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKir/wAAR + CABbAFIDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIE + AwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0 + NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm + p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEB + AQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdh + cRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpj + ZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK + 0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD6RqG7uBaWU9wV3CGNpCo74GcV + NVLWf+QFf/8AXtJ/6CaAE+1ah/0DR/4ED/Cj7VqH/QNH/gQP8KnvLpbHT5rp1LLDGZCo6kAZrlP+Fj2P + /PlcfmtAHSfatQ/6Bo/8CB/hR9q1D/oGj/wIH+FUND8U2+uNcCC3li8hA53kc/l9Kyv+Fj2P/PlcfmtA + HSfatQ/6Bo/8CB/hUcGrE3zWt5bm2YbQG3hlJPQZ7GqOh+LrbXb9rWC2liYRl9zkYwCB2+tJo2o2+u6l + rMZgYRxukTq+PmwDz+lAHQ0VQhmkspltbty8bHEM7d/9lv8Aa9D3+tX6ACiiigAqlrP/ACAr/wD69pP/ + AEE1dqlrP/ICv/8Ar2k/9BNAD9Riin0m5iuZPKheFleTP3QRya4X/hG/DH/QwL/32ldxqtvJeaLd20OP + MlgZFycDJGK8vufDF1Zgm8vNPgA6+bdov86BNpbna+GdK0mxe7/szUxdmSMCQBlOwc88Vi/8Ir4d/wCg + 7/4+lVPCGq6TpOozWtxrFhLPe7IIEt5vN3OTgD5cgckVZ/4QzVv7kP8A38qW+xhUqyX8NXNnw1omk6dq + jTadqf2qUxFSm5TgZHPH0qHSLvQ/D2s6skurQKbiRHIlkAwecgfnUvhnw9faVqjT3axhDEV+V885H+FZ + l14Q1Wa8mkRYtryMwzJ2Jou7C9rU5U+XU6VvEfh69U2x1OzmEgwU80HNO0/VYPti2H2tLncCYZFbJIHO + 1vcDv3+tYeg+GNR0/W7e6uFjEce7dtfJ5Uj+tdLf/wDIQ0z/AK+G/wDRT01dmtOUpK8lYvUUUUzQ5X4j + 65f+HvBc9/pUohuVkRVcoGwC2DweK8JvviD4q1GN47rW7ko4IZY8Rgg9vlAr2b4xf8k5uf8ArtF/6FXz + tWU27njY6pNVLJ6WLt1rOp3wIvdRu7gHqJZ2b+ZqlWjd6BqlhpVtqV3ZvHZXWPJnyCr5Gex9j+VJq2g6 + noRgGrWjWrXCeZGrsMsvrgHI/Gs9Tz2pbsm8KZ/4TLRcdft8GMf9dFr1r7Zq/wDz8Xv/AH29eS+E2K+N + NEYdRqEB/wDIi17h/wAJ1qf/ADwtP++G/wDiqqJ14fl5Xd2LHhC4v5dZdbuW5dPJYgSsxGcj1rIvbvVR + f3AS4vAolbADvjGa6Xw54lvNX1Nre5jgVBEXzGpByCPUn1rOufGuow3c0Sw2pVHZRlGzgH/eq9LHa+T2 + a95kHhu51KTxDbLczXTRHduEjsVPyn1rsb//AJCGmf8AXw3/AKKeuf0TxZfalrEFpPFbrHJuyUVgeFJ7 + n2roL/8A5CGmf9fDf+inqo7HTh7cmjuXqKKKo6DhfjF/yTm5/wCu0X/oVfO1fRPxi/5Jzc/9dov/AEKv + nasZ7nh4/wDi/I9h+FaQ+K/CVx4f1aNpINNu4rqFiMgAsWKfo34Oa4Hx9rc+veNdQuZwyLFIYIo26oiE + gDHbnJPuTXR2fjLTvCXgTTLLw5dfaNTlu0utQIjZAACD5eSBnoq8ZHDetY/xIutD1PxN/avh27WaO9jD + zxhGUxyDg9QOoweO+aHsTVknRUU9Va/6fcY/hMgeNNELDI/tCDI/7aLXuf8AaXhT/oF3H5f/AGdeGeEx + u8aaICcA6hAM+n7xa9z/AOEV03/oP2/5L/8AFURuVheblfKl8zV8PXmhz6kyaVZSwT+WSWccbcjj7x9q + z7nUfC63Uom02dpA5DEDqc8/xVoeHtEtNO1JprbVIrtzGV8tMZAyOeCfSs+58MafLdSyNrkCMzlip28Z + PT71XrY7mp8i0X4FrRr7w9Nq8CafYTRXJ3bHYcD5Tn+I9s1u3/8AyENM/wCvhv8A0U9YWjeH7Ky1eC4g + 1eG4dN2Il25bKkdmPrW7f/8AIQ0z/r4b/wBFPTjsb0ebl95F6iiiqNzhfjF/yTm5/wCu0X/oVfO1fWeu + aHY+ItKfTtVjaS3chiquVOQcjkVwGr/Bjw5Fp11c2txfwvFE0ir5qsuQCe65/Ws5RbZ5mLw1SrPmieF0 + V63rHwQSy0+4vLTXGYQxtJ5ctt1wM43Bv6VwUnhK9X/VzQv9SR/So5WcDwlZfZK/hQFvGeigdTqEAH/f + xa9j/wCET1r/AJ8v/Iqf415v4R8Ia5J4osLqC08yKzu4ZpnWRfkUOCTgnJ6HpXoP9v6t/wA/8/8A31TS + tubUoKEbVE0dF4V0PUdN1Zpr238uMxFQd6nnI9D7VlXfhbWJb2eRLPKtIzKfNTkE/WtDwjql9e6y8d1d + SSoIWO1myM5FZF5ruqJfXCJfTBVlYABugzVaWOp+y9mt7Gn4f8PapY69b3F1a7Ik3bm8xTjKkdAfeuqv + /wDkIaZ/18N/6KeuQ8N6xqF14gtobi8lkjbduVm4Pyk119//AMhDTP8Ar4b/ANFPVRtY6cNy8nul6iii + qOkKqasjSaLeoilma3kAUDJJ2nirdFAFAaxaY6XP/gJL/wDE0f2vZ/3bj/wEl/8Aiav0UAUf7YtPS4/8 + BJf/AImk/tez/u3H/gJL/wDE1fooAo/2vaelx/4CS/8AxNJ/a9n/AHbj/wABJf8A4mr9FAFD+17T0uP/ + AAEl/wDiahlvI7zUtPFuk58uZmYtA6ADy3HUgDqRWrRQAUUUUAf/2Q== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAAQ5JREFUOE+tU7sNwjAQ9QChhnRpYIEs4C0okglgAliBBZCgpIWU9OxAAQuwBea9 + y8VxcKIIiSc93fndx/bFMX/D25iLM8bBlip1AD3V+BM2UblFk6BJqcoe0GQDMFcpBoKWSWdxW6zqQjZe + qzSMQ5ssV4Gfc30TdwRZljlcThoo89dkIv6sbkD2w1rrqqqSJFsXe17L0rE5Y8oYYQOSc4DTzOObvfAJ + cxCOJ9dhHIwRnoADg8NBbmm5Pu334TViNA02QTF12B3X96JwzIHU3wBwy+lUisNPBid5wFDHC6LuYx0w + kUkkdl2oLIAmbwF6/zMmEBz7F2QetCq1YJEGjypF4M6I8wQ85fD/8BuM+QDrVr1ycfTWoQAAAABJRU5E + rkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAG5JREFUOE/l + kNEJwCAMRB0loziKo2QER3CDuKEl0soVzwr9bB8cweM8NOGbtFMI85a8LxCRK9hSSv2Czxjj8N2jeMjM + MNjlpTnnPsGfYQWqejuDKCy40gx5AdJKKfiNmV1BrRWXSXla1H6JvyWEA6k9YQwk0pFmAAAAAElFTkSu + QmCC + + + + + AAABAAgAICAQAAEABADoAgAAhgAAABAQEAABAAQAKAEAAG4DAAAwMAAAAQAIAKgOAACWBAAAICAAAAEA + CACoCAAAPhMAABAQAAABAAgAaAUAAOYbAAAwMAAAAQAgAKglAABOIQAAICAAAAEAIACoEAAA9kYAABAQ + AAABACAAaAQAAJ5XAAAoAAAAIAAAAEAAAAABAAQAAAAAAIACAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAA + gAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////APiH + eXV5dXl1eXV5dXl3mI+HERERERERERERERERERF/iRGREREZERGRkREZERGRGHEREXkZERGREREZEReR + ERdxkZiHERkRGRGREZGYhZGVkZeP+HmReRkRlxkXj/iRF3GV//+HGYcZEZiZeP//eRl5GX//+Hj5kRl/ + h4//95EXcZGX////95GRn////3WRl5GRkX////eRkY////eRkZdxkZmY///4GRmP//+FGRkZWZGReP// + +JkZj///iZkZWTWVmY////h5GY////h5GZeZkZOXiIj4mRmPiIiXmVkXcZlZWRkZl5WZeXkZWRmRmXmV + kZkZmVmRkZkZmRmVlZdxmZGVlZGVlZlZGVlZGZmZmZWVmZmZmZmRmZmZmZlZF3mZmZl5eIiVmYiIl5eZ + mZeZlZmP///4mZmP//+ImVlZeZlZmP//+JWZj///95mZmZmVmZj///iZmY///4mZWZd5mZmf///4lZmP + //+HmZmZmZmYj///+ZmZf////5mZl3mZmP/4j/eZmZ+I//+ImZmZl///h5iJmZl4eY//+JmXeZmP/4lZ + l5mZl5mZ//+ZmZmZePiZmZmZmZmZmY+JmZd5mZl5mZmZmZmZmZmXeZmZiZmZmZmZmZmZmZmZmZmZmIeZ + mZmZmZmZmZmZmZmZmZ//eZeZl5mXmZeZl5mXmXiPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAEAAAACAAAAABAAQAAAAAAMAA + AAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAAAAD/AAD/ + AAAA//8A/wAAAP8A/wD//wAA////AIdXl1eXU5eYeRkRERERURdxiJkZGRmIlVmPh3kYePiXcZj/gZj/ + +RmRmP+JeP95F1mYiImY+ImXeRlZeReVmRd5mZl5mZlZmZmYiImYiHmXeZj/+Zj/iZmZeP+JmP+JmZmP + iImXiP+ZmY95mZeX+Jl5mZmZmZmZmYmXmZeZl5l4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAwAAAAYAAAAAEACAAAAAAAgAoAAAAA + AAAAAAAAAAEAAAAAAAAZFZcAFxWZABkUmQAcFpkAGhOdABoVnQAcFp0AFxieABsanQAdGJ0AIR+fACsq + nwAaE6EAGhWhABwWoQAaFqUAHBalABgYoQAdGKEAGhilAB0ZpgAaFqgAHBaoABoWrQAdFq0AFxirABwY + qwAdFrIAHBmzAB4XvAAeGboAIRmgACAYpQAgGaoAIh6pACIerQAgF7QAIRqzACEXuAAgGbwAIiCgACEg + pgAnKaAAJSCsACkmqQAtKakAMi2vADUsrwA5NaYAOzmnAD06pgAyMKsAOjaoACUgswAoIrcAIiC/AC8q + uwAzLLMAMiu7ADg0swA7ObUANjK5ADg1uwA8OboAS0ixAE5JsQBIRrgAUky8AFZVuQBZV7sAHhrCAB4b + ygAeHNUAHhzdACEaxAAhGswAIBfTACIa0wAjG9sAJSLIACoiywAyK8MANC3KADgvzAA6NcIAPTnCADcx + yQA8NcwAPzrIACUh0wAqJNcAKSTZADAn1wA0KtAAMyraADw10gA9NdsAHxvkAB8Z6gAjG+MAKR3mACQb + 6wApHO0ALB3wACch4wAqIuIALiLoADYs4wA6LucANCvrADou6QA9NuAAPjjkAD027QA/OOkAQDrNAEE7 + 0wBBO9sAQjzjAEg+5ABCO+oAT0nGAE5HyABNRNIASULaAFNM0wBRSt4AYlvNAHFuxQBybMkAc3DBAHdy + wgB6e8QAd3PLAHt1yAB6ecgAe37LAH1+yQB8eM8AfX7OAGRg1gBmYtgAeW/WAHZ30gB+ddYAe3zRAHp2 + 3QB7eN4ATUTmAE5E6QBRRuQAU0vkAFBG6gBTSesAV1HjAFBH8QBnX+EAaWPkAGxi6wB1ae4AeG/vAHx3 + 5QB8eOQAfnbsAH557AB5b/IAfXLxAHx58ACAf8oAgXzQAIJ95wCCfOoAgnzyAH+AxgB8gMoAgYHKAIqN + 0wCMht4AkY3eAJeW3ACendsApKLbAKil3QCtqt0AhYHmAI+P5wCEge0AjIjtAJCL4ACRjuwAj5DmAJeV + 5ACYluQAnp3jAJaV7ACZmesAiYPwAKSf4QChnu0AoZzyAKWj4wCopOQArKvkAKSj6QCpq+8Asq/rALa2 + 4QCxseUAt7fkALe54AC6ueAAvbvjALW17AC6vOwApaLyAKqk8gC1tPMAubb1ALy68wDBvvAAxsjrAMzM + 7QDExPMAyMbyAMXI8wDLy/MA19jyANrb9ADb3PkA3+LxAOXi7gDo5u8A5OX0AOnq8gDp7PEA6er2AOrs + 9gDt7vUA5uj6AOrr+ADu8PQA8/L2APf69wD6+vYA9PP5APj2+QD3+PoA+fn5APz6+gD5/PkA/Pz6APr5 + /AD8+vwA+fz8AP7+/gAAAAAA+Pjw0YJAMTEwNDAwNDAwMDQ0NDEwMTQ0NDQwMDA0NDQwMDA0NDQ0MTQy + QYPS8Pr88+aEKgEGAwAAAwYGAwkDCQICAgIAAAICAgUGBgMCAgIGBgYDAgICAAADCQMLref78IcSEgQE + BQMGBgYGBgMGBgYGBQMGBgYGBgUFBgYEBgYFBQYFBQUGBgMFAwYOH6/tziwJBg0NERISEhIODgYOBhIS + EhISDg4SEg4GDg4OEg4GDg4ODg4JDgYPBg4JDi3TgA8SDg4ODAUHFg4SFhIQDg4ODg4ODg4SDg4QDhAO + Dg4SDhIWEg4UEQgQDg4OEhCGQhMTExQQHxUzRCghEBYQEBQQFBQQFBQQEBAgFBAUFBQQFBAUFihFLhQg + EBQUDxRDOxMVFCAWFC+25agjIBAWFBQWGiEaIRYUFBoVFBoUFhQSFSEgK6/mtS8WFhQaDxQ8OxgaFxQZ + L7f0+umKIxcaIRgaFBUaFBoaGhoaFBUaGhwbExQrqe369LYvGhQaGho8OxoYGhk9tvX4+vjpiykjGBoX + OT4YIRoaGhoUFzw5GSEhGiuL6vj6+PS1PRwaIRo/PhwYHCOF8P3z+f7664g1GBw5tY8bGBwaIxwhG5G1 + ORslNa7v+v758/3tgRkcGho/PhwcJRw4tvH9/f7+/uqRNT229LMcJSUcHBwlJbTxtjo1ker+/v79/fS1 + OiUjHBw/PhweJBwcOrb2/f7+/vjpsLf1+882JBwcHBwlNtD78bew6fr+/v799LU4HCUeJRxVPiUcJSUm + HFG29v7+/v789v38/dw4JR4lJRwcON36/vv2+v76/v70tVElJSYcHhxVVB4eHh4mHh46yPL9/f7+/v7+ + /uJVHh4eHh4eVeP+/v7+/v79/fS0URweJh4eHiZVVCcnJycnJx4eUcn0/f7+/v7+/uh6HiceJyceeev+ + /v7+/v769MVRJycnJycmJx1VVCcnJycnJycnJ1LP+/7+/v7+/vF/HScnJycnf/H+/v7+/v77ylInJ0Yn + JycnJydYWCcnSkonSicnJ1PP+/7+/v7+/vaOJ0onSidGkPv+/v7+/v77z1NGJ0o3Sic3SidYV0pKSkpK + SjdKVsr0/f7+/v7+/vyxRkpKSko3sv7+/v7+/v798clSRzdKSkpKN0pYV0pKSkpKSkpTyfT2+f7+/v7+ + /vzGSkpKSkpKyP7+/v7+/v79/fTJXUpKSkpKSkpzV0pKSkdKSkp7wNTh4+/09v3++vrUUEdKSktP1fr+ + /vn29Ovj3dTAe0pKSktKSkp0c0tKT0tPS0pKT09Se32Nk7LL1d3NUUtKS0tR1N3Vy7ySjH10Uk9PSk9L + Sk9KS0p0X0tLT0tLS0tLS0tZS0dLUEtQWVNfS0tLS0tLX11QWUtZS0dHS0tLS0tLS0tLS0t0dEtLS0tL + S0tLT0tLR0tLS0dLS0tLT0tLT0dZS0tLS0tLS0tHS0tZS0tLS0tLS0t0X0tLTUtLTUtNS01LS01LTUtN + S01LTUtNS01NS0tLS0tNS1lLTUtNS0tNS1lNTUt0YE1NTU1NTU1NTU1NTU1NTU1ZTU1NTU1NTU1NTU1N + WU1NTU1ZTU1NTU1NTU1NTU11YFlNTk1OTU1ZTU1NTU1ISE1NTU1NWU1NTU1ZTk1NTU1NTU1NTU1NTU1N + TU1NTU11YE1NTUhITU5NTE5OTU1NTUhOTUhZSE1OTU1IWU5OTk5NTUxNTk5MWU1NTk1OTU11YE5OTk5O + SFlNTU5OW2t3mpyhucvDXE5OTk5ew8u5oZyXdV5bWU5NTk5NTk5OTU11b05OTk5OTk5gnbjG2uHk7/T7 + /fraW0hOTk5b2/r89vTv5OHZxqqdYE1OTk5OTk51b05OTk5OTk582/X4+f7+/v7+/v7LaE5OTk5ozPz+ + /v7+/v79+PXbfE5OTk5OTk51cE5OaE5oTk5jlt/1/v7+/v7+/v69SU5OaE5Jwvz+/v7+/v769d+WY2hO + aGNOTk52cE5oTk5OY05jTpnh+P7+/v7+/vujSU5OY05Jq/n+/v7+/v7435ZpY05OY05OTk52cGNjY2hj + Y2ROTmnD+/7+/v7+/vSeSWNjY05onvT+/v7+/v71wmlOTmNJaGNjY2N2cGNjSWNOY05laavs+v7+/v7+ + /u6XYWNJY2hJmu/+/v7+/v7676RpY05jY2NJaE54cGNjY2NoY0lqquz4/P7+/v7+/uR3Y2hjY2NhlOT+ + /v7+/v74/O+qakloY2NjY054cGNjaGVjY2jE7/7+/vj5+/v+/OFrY2NjY2NjbuH+/vf7/f7+/v7rumhj + Y2VlY2N4cmhjZWFhaazt+v7+/vf02OH7/NlqY2hkY2Vjatr7/eHZ9Pn+/v7676xqYUlhZWN4cmNlYWNn + uu/z+v7++vTWbpng9cdjaGNlY2NoZcz23phu1/T+/v76+O+ramhlY2N4cmNkYWSf6/n4+P399MduaGWZ + 3sRlZWVoZWhlYbvemGRjbtb0+fr4+vnonmRlZWV4cmVlZWiX3v36+vj01m1iaGhllZtlYWhlZWVlaJmY + ZWhlYm7X9Pj9+vbelGhlZGN4eGRlZWVlmOD29vTWbWVoZWZoZWhlYmhlaGVlZWZoaGZlZWVu1/Ty+eCY + ZWVlZWV4cmVoZWVoZZnh8NZxZWZlZWVmZWVlZWVmZWZlZWVmZWVmZmVlcdb04JtlZmVlZWV4mWVmZWVl + ZWaZxG1iZmZlZWVlZWVlZWVlZWVlZWVlZWVlZWVmYnHEmWVmZWVlZmaZoGVlZWVlZWVlZWViZWVlZWVl + ZWVlZWVlZWVlZWVlZWVlZWVmYmVlZWVlZWVlZWWm2W1lZWVlZWdlZ2VnZWVmZWZlZmVmZWZlZmVmZWZl + ZmVmZWZlZWVlZmVlZWVlZW3a7adnZWZlZmVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZmVn + Z2ZmZ6z0+OinbWZlZWVmZWZlZmVmZWZlZmVmZWZlZmVmZWZlZmVmZWZlZmVmZWVlZWVtrOjz9/Pv2aWb + eHFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXF4m6Xa9Pf4AAAAAAAAcXEAAAAAAABxcQAA + AAAAAHFxAAAAAAAAcXEAAAAAAABxcQAAAAAAAHFxAAAAAAAAcXEAAAAAAABxcQAAAAAAAHFxAAAAAAAA + cXEAAAAAAABxcQAAAAAAAHFxAAAAAAAAcXEAAAAAAABxcQAAAAAAAHFxAAAAAAAAcXEAAAAAAABxcQAA + AAAAAHFxAAAAAAAAcXEAAAAAAABxcQAAAAAAAHFxAAAAAAAAcXEAAAAAAABxcQAAAAAAAHFxAAAAAAAA + cXEAAAAAAABxcQAAAAAAAHFxAAAAAAAAcXEAAAAAAABxcQAAAAAAAHFxAAAAAAAAcXEAAAAAAABxcQAA + AAAAAHFxAAAAAAAAcXEAAAAAAABxcQAAAAAAAHFxAAAAAAAAcXEAAAAAAABxcQAAAAAAAHFxAAAAAAAA + cXEAAAAAAABxcQAAAAAAAHFxAAAAAAAAcXEAAAAAAABxcQAAAAAAAHFxAAAAAAAAcXEAAAAAAABxcQAA + AAAAAHFxKAAAACAAAABAAAAAAQAIAAAAAACABAAAAAAAAAAAAAAAAQAAAAAAABsVmgAcFpsAGhWcABwX + ngAdGZ0AGhWgABwWoQAbFqUAHBakAB4YoQAdGKUAHBaoAB0WrAAaGKoAHBipABsZrwAcGK0AHRmxAB4Z + tQAfHLUAHhi6AB8avQAgGqgAIRytACAYtgAiHbYAIBm6ACAduQAgGb0AIRy+AC4nrgApKKoALyiuADk0 + pgA7Oa4APTuvACwosQAsKLQAMC6zADAttAA4NbEAODO2ADs3twA7OLMANDG6ADgzuQA5NbkAODa9ADs4 + ugA7OL4ATEavAEZEtgBIRbAAR0G9AEhDvABMRr8ATki5AFBLtABTT7UAU1G9AFVUvgBYVL0AIRrBACId + wQAkHsAAIRrGACEaygAhGs0AJB3MACIa0gAhGtUAIhzUACUd1gAiGtkAJBrZACIa3AAkGt4AIhzfACQc + 3gAmIsgAJyHNACojygArJMoALibLAC4ozgAwKMoAOjXCADw3wwA7NcUAPDjAAD04xwA8NsgAOTLMADw2 + zAA/OckAPznOACUg0wAnI9UAKSPUACUg3QAuJ9kAKCHdACol3QA3LtEAMijaADQs2wA4MNAAPDfSAD03 + 1wA/OtQAPjfaAD423QA/OtgAPzjdACMb4wAkG+sAKB7qACog5wAsIuoAPjbgADw05wA+OOQAPjbtAD84 + 6wBAOdMAQDrbAEA53gBDPNwAQDrlAEA36wBCO+kASETCAExHwgBPSsAASUPNAEtFzQBUVMAAXlnKAEVB + 0ABaVtUAYV3LAGpozgBta80Ad3XOAG1n0gBubNEAdG/cAHZy0gB4ddMAdnHdAE1E7QBPSO0AVU/gAFBE + 6wBSSuwAVlDhAFlT5gBaVeoAWVDxAGJZ5gBjWusAamXjAGxo5QBpYesAb2ruAHJr7gB8d+sAgH7LAIN+ + 5wCAfOoAhX/zAICAxwCEgscAh4PNAImG3ACMid4AkYvbAJ6a1wCfndcAlJDbAJ6Z2ACgnNkAqajeAIuI + 4ACNiuIAhYHpAIiF6gCWke8AmJXuAJ2a6wCcmOwAhoDxAIiC8gCalfIAo6HnAKmk5QCtquUAoaHrAKSh + 6QCxru4As7LqALSy6gC1tOoAsLDtAL696wC5uOwAravxALa08QC4tvMAv73yAMrH7QDKyOgAzs/pAMzJ + 7gDMze8A0NHoANXW7QDY1+0A1tjvANna6wDb3OsA2trtAMHC8gDLzPAA1dT0ANjW9QDX2PYA3d3wANnZ + 9gDk4/IA5eTzAOHg9gDl4/UA5eT1AOno9ADk4/gA6+n6AOzq+ADt7/kA7/D5APr69wDz9PoA9fX5APX0 + /AD49/sA9/j5APf4/AD6+fkA/Pr6APv8+gD8/PoA+fr8AP37/AD6/PwA/f39AAAAAAD326s0ISEhISEh + ISEhISEhISEhISEhISEhISEhMqzc+Ns5AwEBAQIDAgEBAQEBAQECAQIBAQEBAQIBAAEBBDrjpwkDBgUD + BgYGBgYGBgYGBgYGBgYGBgYGCAMDBgYDCa0zBwcHCB8iFgcICAcICAoICgcKCAgICAoKIx8KCgcKOCgL + DgogstQ7Fg4KDA4WDg4ODg4WDg4LFj3XsSALDgsrKQwNJLXy/NiIFgwPJxcODBYOFyYQERY83frysSUQ + DiouERGF4/D6/tqIFza2LBERDxEutjYRiNr+/vDjNw8PMC8REhOO5v7+/tqP1eqDEhIREoTq04/a/v7+ + 5o0ZExExLxMSGhuR6f7+/vb88YkUEhMTjPP+9v7+/emNGRgUEllWGhoaFRuR6f7+/v7+kxQaGhqU/v7+ + /v7pkD8aGhUaV1gcHBwVGkCv+/7+/v6wFT4VP7P+/v7+9q5AFT4cHRVaWz4+Pz8dh9X9/v7+/sNAPz5A + xP7+/v7+0oY/Pz4/P15fQUFBQV3K7vX+/v7+zU9BQVHM/v7+/vXvyFxBQUE+X11BQUFCUoqLlbjGzdbK + U0FCVcrfzcK3kouKUkJBQUFfa0NEREJCQ0RDQ1BQVGpEREREZ1RQUEJDREJCREJEQnxrQ0NEQ0VDREND + RENDREVDRENDRENEQ0NEQ0VDQ0NFbWxHRUdFR0VFR0VHRUVHR0VHRUdHRUVFRUVHRUVHRUVwbkdGSUdI + RkpGSUZIYGFHSUZHYkhISUZGSkVIRkpKRXBxSklJSEhpf5uiub3LxWRJSWnGx765oZt/aWFISkpJfXdL + TktKfsfo7/v+/v7eZU5LZt7+/v727+vHcU5OTkl+gE5OTk5joOT+/v7+/s5jTmNjx/7+/v7+5J9OTk5O + S355TU1yY3Jluvv+/v7+u01NcmO8/v7+/vu5ZUxNTnJNgIBNTXJOcpzh/v7+/v2mck1yTan+/v7+/uGc + ck1NTU2AeXJycmOd5P78/f3+86BycnJyo/P++/7+/uGdcnJzcoKAc3JzneL+/vnrweTsmnJycnOa7uTB + 6/7++uGdcnJygntycpfg+fz+66R2oNF6cnRydIDeoHal6/7++eCWdHOCe3NyeND2+eukdHVzlnZzdHN0 + doJ0c3Sl6/320Hhzc4J7dHNze9DrpXZzc3Rzc3NzdHNzdHN0c3al69B7dHNzgpdzc3N0e55zc3Nzc3Nz + c3Nzc3Nzc3Nzc3SeenNzc3Oav3Rzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc8DinnRzc3Nzc3Nz + c3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Se5PfiqpZ7enp6enp6enp6enp6enp6enp6enp6enqXwOT4AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAoAAAAEAAAACAAAAABAAgAAAAAAEABAAAAAAAAAAAAAAABAAAAAAAAHBaiAB0XqQAeGaoAHhmxAB8Z + uAAiHLkAIx2/ACUgpQAqJacAJiKtADgzpwA4NKcAODOoAC8ruAAwLLgANjKyADk1tAA5NroATkuyAE1K + twBQTLIAUU24ACEawAAjHcAAIhvGACEbzAAjHM0AJB7NACIb0wAkHdMAIhrUACMd1AAkHdQAIhvaACMc + 3wAoH98AKSPCACokwgAnIM0ALSbJADAqygA6NsAAOzbHAD03xwA/O8MAPTfMAD44zQApItQALifVAC4o + 0AAtKNUALibaACgg3wAsJt8ANC7RADAq2wAyK9wAPTfSAD440wA9N9gAPjbeAD442AA/ON0AIxziACQc + 5QAkHOoAJyDiAC4n4AApIOkAMyvnADMs5wAwKekAMinsADw25AA+OOEAPjjkADcw7AA+N+gAODDsAD43 + 7gA/OOoAQD3DAEA56gBGPusARD3sAHh1zgB5d9AAfHrQAH562QBVTe4AV1DuAHp15gCAfdoAko/TAJOQ + 0wCvrd4AsK/dALm43wCGg+AAh4TgAIaB6wCGge8AjIbwAKGe8QCsquQArq3kAKek7gCope4Arq3uALCu + 7wC2tuMAvLvgALq55QC3tesAt7bsALi27ACwrfMAs7DyALSy8gC5tvIAurjyAL+98gC6uPUAvbr1AL+9 + 9QDCwesAxMPrAMTC7ADHxO0Aw8H1AMXD9gDGxPYAyMf1AMzL8gD39/sA+Pj6APn5/AD+/v4A/91RAP/k + cQD/6pEA//CxAP/20QD///8AAAAAAC8UAABQIgAAcDAAAJA+AACwTQAAz1sAAPBpAAD/eREA/4oxAP+d + UQD/r3EA/8GRAP/SsQD/5dEA////AAAAAAAvAwAAUAQAAHAGAACQCQAAsAoAAM8MAADwDgAA/yASAP8+ + MQD/XFEA/3pxAP+XkQD/trEA/9TRAP///wAAAAAALwAOAFAAFwBwACEAkAArALAANgDPAEAA8ABJAP8R + WgD/MXAA/1GGAP9xnAD/kbIA/7HIAP/R3wD///8AAAAAAC8AIABQADYAcABMAJAAYgCwAHgAzwCOAPAA + pAD/EbMA/zG+AP9RxwD/cdEA/5HcAP+x5QD/0fAA////AAAAAAAsAC8ASwBQAGkAcACHAJAApQCwAMQA + zwDhAPAA8BH/APIx/wD0Uf8A9nH/APeR/wD5sf8A+9H/AP///wAAAAAAGwAvAC0AUAA/AHAAUgCQAGMA + sAB2AM8AiADwAJkR/wCmMf8AtFH/AMJx/wDPkf8A3LH/AOvR/wD///8AAAAAAAgALwAOAFAAFQBwABsA + kAAhALAAJgDPACwA8AA+Ef8AWDH/AHFR/wCMcf8AppH/AL+x/wDa0f8A////AGESDAwLDAwLDAwMDAsL + FG8TAAcIAAAAAAAAAAAIBwAVEAleXw8CCQICCQIQYF4JEBEOcIhuVlYDA1dWbodwDREpBFF+iIZoBQVp + hoh9LAQpKhYXXIiPfyQlgI+IWBcWKy4YKGNzhXMoKHOFc2InGC45GRkaJjE2Gxs2MSYaGRo6Ox4cICAv + Mh8gMC8gHB8ePTwhM1treW03OG18alszIT5KIjRkiI+DQ0OEj4hkNCJKSz9JeIiIdEJCdYiId0k/S01G + doeBZmVAQGVmgoh1RVJQR2d8VERHQUFFRFN8Z0dSWUFITEFBQUFBQUFBTkhBWnpZT09PT09PT09PT09P + WXsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAKAAAADAAAABgAAAAAQAgAAAAAACAJQAAAAAAAAAAAAAAAAAAAAAAAPv5+ML6+fne7O7z3q2v + 3N5fW7jeMS2m3h8cm94dGpneHRqZ3h0Zm94cGJveHBib3hwYm94cGZjeHBmY3hwZmd4dGZveHRmc3h0Z + nN4dGpveHRqZ3h0amd4dGZveHRmc3h0ZnN4dGJveHBib3hwYm94cGJveHRmc3h0ZnN4dGZzeHBib3hwY + m94cGJveHRib3h0ZnN4dGZzeHRmb3h0amd4dGpneIR2Z3jQvpt5jXrresK/c3u3w8977+/ne/Pv8wfv6 + +N/l4u7/envE/ycpoP8XFZn/Gxae/xoWmf8ZFZf/GRWX/xoVmf8cFpz/HBac/xwWm/8cF5r/HBea/xwX + mv8ZFJn/GRSZ/xkUmf8ZFZj/GRWX/xkVl/8ZFJn/GRSZ/xkUmf8aFZr/HBac/xwWnP8bFpv/GRSZ/xkU + mf8ZFJn/HBac/xwWnP8cFpz/GhWa/xkUmf8ZFJn/GRWY/xkVl/8ZFZf/HBaZ/x8Ynf8cFpn/Kyqf/3+A + xv/o5u//+vn63uzt9N96ecj/Hxah/xwVn/8aE53/GhSc/xsVnP8bFpz/Gxac/xwWnP8bFJ3/GxSd/xsV + nP8bFpv/Gxab/xsWm/8bFZ3/GxWd/xsVnf8bFpv/Gxab/xsWm/8bFZz/GxWd/xsVnf8bFZ3/GxWd/xsV + nf8bFZ3/GxWd/xsVnf8bFZ3/GxWd/xsVnf8bFZ3/GxWd/xsVnf8bFZ3/Gxac/xsWnP8bFpv/GxWc/xsW + m/8bFZz/HRaf/yEZoP+Af8r/7e323qys3d8pJqn/HRad/xsXnf8aFqD/GRag/xkWoP8dF6H/Hheh/x4Y + of8bFqD/GxWi/xsWn/8bFp//Gxaf/xsWn/8cF6D/HBeg/xwXoP8cF6D/HBeg/xwXoP8cF6D/HBeg/xwX + oP8bFqD/Gxaf/xsWn/8bFqD/HBeg/xwXoP8cF6D/Gxaf/xsWn/8bFp//Gxaf/xwVov8bFqD/HBie/xwU + oP8cF5//GhSi/xsWn/8cFp//HRid/xwUoP8tKan/tLLf3l1avd8aFaT/HRih/xsXov8cFqL/HBai/xoT + of8YFp3/Fxie/xsWpf8cFqP/Hhmi/x0Wpf8bFqP/HBai/xwWov8cFqL/HBai/xwWov8cFqL/HBai/xwW + ov8cFqL/HBai/xwWov8cFqL/HBai/xwWov8cFqL/HBai/xwWov8cFqL/HBai/xwWov8cFqP/HRem/xwY + of8bFaP/HBik/xgYof8bGp3/HBSk/xwWov8cFqL/Gxei/x0Xo/8dFqT/aGHA3i4srt8aGKX/Ghal/xsZ + pf8dF6X/HRel/x8Xo/8bFqn/MjCr/1ZVuf8hH5//IBmq/xwVpf8dFqX/HRel/x0Xpf8dF6X/HRel/x0X + pf8dF6X/HRel/x0Xpf8dF6X/HRel/x0Xpf8dF6X/HRel/x0Xpf8dF6X/HRel/x0Xpf8dF6X/HRel/x0X + pf8dFqX/Hheo/x0Wp/8iIKD/WVe7/zItr/8cGaf/IBik/x0Xpf8dF6X/Gxin/xoXpf8dF6b/OTKz3hwa + pd8aGKX/GhWn/xwZpv8fGab/HRWn/x4Yp/82La//p6fZ/9/i8f99fsn/Ih6t/x8Yp/8cF6X/HBap/xwX + pf8bGKb/HRSp/x4Wqf8eGKn/HRep/x0YqP8cFqn/HBen/xwXp/8cF6j/GxSp/xwYpv8eGKn/Hhao/x0V + qP8cGaX/HBij/xsUp/8dF6j/IRmm/yYhrf+Bgcr/4ePw/6Wj2v81LK//HBam/x0Vqf8eGKb/Gxeo/xoW + pv8bF6X/Ih+p3hwWqt8cF6r/HBeq/xsUqv8bG6T/GReo/zQssP+rqNz/9fX4//z7+//o6vL/fHjP/yMe + sP8aFar/HRmp/x4YrP8dFqz/Gxqp/xsaqf8ZFqb/HBat/x0bp/8cF6n/HBip/xwYqf8cGKn/Gxeo/xsX + qP8aF6f/Gxir/xsZrP8eFrH/Hhex/xsXp/8bGKb/JCCs/4F80P/r7fD//Pz5//Tz+P+ppd7/Myqx/xsY + q/8cG6b/Hhet/xwYqf8bF6j/IBus3h0WrN8dF63/HRet/xsYq/8XGKv/Ni61/6il3f/29vf//fj7//z7 + /P/++vv/6ery/3x+zf8hIKb/Hhqs/x0Wrv8eF6z/GRit/zIstv83Nbj/HRav/x0Zqv8dGaz/HRir/x0Y + q/8dGK3/HRun/xsVrP85ObX/Mi20/xkZqv8fGar/Hhmr/x0Yqv8iHqn/fn/P/+rr8//++/v//fz5//35 + +//19Pf/pqHb/zYuuP8aGq//HBis/x0Yq/8cGKr/IBuu3h0YsN8eGLD/HRiw/x0Zsf8dHLH/d3PL/+3t + 9P/6+vv/+Pzz//v8+P/+/fv//f38/+jp9/97fsv/JSGy/x4Yrf8cGK7/NC20/6Sh2v92d9L/Gxax/x4X + rv8eGbD/Hhmu/x4Zrv8eGLH/Hxms/x0WsP97fND/o6Db/zMrtP8cF7D/Hxix/yQgsf98gMr/6er3//z9 + /P/9/Pz/+/z4//n99P/6+/v/7O30/3Jsyf8ZF67/Gxiv/x0Zrv8dGK7/IRyy3hwasd8cGrH/HRqx/yAZ + sv8aGrH/MSq6/6Sk3f/09fb/+vn7//n8/P/+/v7//v7+//39/f/o7PL/e3zR/yMetf82MLv/qafd//T1 + 9/+Xltz/Gxm1/yAYsP8eGrL/HBqx/xwasf8dGrH/IBmx/yAbtf+em9v/9PX2/6el3P80Lbv/Ix61/319 + 0v/p7PL//f39//7+/v/+/v7/+fz7//r5+//z8/b/n5/c/zIovP8fHLP/Hxux/xwasf8bGbD/IB203hwZ + tN8dGbT/HRm0/x4WtP8bGrH/Ghiz/zEtu/+mo9z/9PT4//r9/f/+/v7//v7+//3+/f/9+/v/6enz/4qN + 0/+vrd//9PT1//r3+/+ysuT/JiC3/yAXtP8eGrX/HRm0/x0ZtP8cGrP/Hhmz/ygit/+3t+T/+/j7//Pz + 9P+tqt7/io3T/+np8//9+/v//f79//7+/v/+/v7/+v77//Tz9/+joNz/Lyy9/xwatP8fG7L/Hxm3/x0Z + tP8cGbP/IBy33h0atd8eGrb/Hhq1/x8ctP8gGLf/Ihm4/x0Ytv8yLMH/pKXe//X1+v/9/f3//P78//3+ + /P/+/Pz/+/v7//b3+v/5+vr//fr7//v8/f/GyOv/Lyi6/x8Xt/8eGrf/Hhq2/x4atv8cG7T/HBq0/zAr + u//KzOv/+/38//77/P/6+fv/9vf6//v8+//9/Pz//f78//z+/P/9/v3/8/T7/56f3P8xLb//HBu1/yEZ + tf8hF7j/HBq1/x4atv8dGbX/IR263h0ZuN8eGbj/Hhm4/x4ZuP8eGbj/Hhm4/yAYuv8cG7j/Mi2//6Sj + 4P/09fn/+fv7//r+/P/+//7////////////////////////////X2PL/PDXC/xsZt/8gGrj/Hhm4/x4Z + uP8gGbn/HBq3/z44wf/Z2vT////////////////////////////+//7/+fz6//r6+//z9fj/n53g/zEq + wv8aG7b/IBq4/x4ZuP8fGbj/Hhm3/x8auf8dGLf/IRy73h4Zut8fGbr/Hxm6/x8Zuv8fGbr/Hxm6/yEY + vf8dHLn/HBy8/zMvwP+npOP/9fL5//n8/P/+///////////////////////////////l5vT/TkfI/xwZ + uv8gGrr/Hxm6/x8Zuv8hGrz/HBm6/09Jxv/n5vX////////////////////////////+////+v37//Xy + 9/+kn+H/MyvC/x4Zvv8hHLr/Ixi+/x8Zuv8fGbr/Hxm6/yAau/8eGLn/Ihy93iAZvN8gGb3/IBm9/yAZ + vf8gGb3/IBm9/x4au/8eF7z/IBq6/x8avP81LMj/rq3l//n6+/////////////////////////////// + ///x8PX/YFnN/xwZvP8gGr3/IBm9/yAZvf8fGb3/HRq9/2Rezv/x8PX///////////////////////// + ////////+fn7/6qp4v80K8f/IBy9/x8Zu/8fGMD/Hxu9/yAZvf8gGb3/IBm9/yEavv8fGLz/IxzA3iAa + vt8gGr//IBq//yAav/8gGr//IBq//yAbv/8fGL7/IBm5/x8avv84L8z/sLHm//r5/P/+/v7//v7+//7+ + /v/+/v7//v7+//7+/v/49vr/eW/W/x0bvf8hGr//IBq//yAav/8gGL//Hh29/3511v/5+fr///////// + /////////v7+//7+/v/+/v7/+vn7/66u5P83Lsv/HxrA/yAZvP8hGcH/IBvA/yAav/8gGr//IBu//yAb + v/8gGr7/Ix/C3iEawt8hGsL/IRrC/yEawv8hGsL/IRrC/yMawv8iIL//HhvD/zcxyf+sqeb/9vL3//n8 + /P/+/v7//v7+//7+/v/+/v7//v7+//7+/v/7+fz/jIbe/x8cwf8iGsL/IRrC/yEawv8hGcP/IB7C/5GN + 3v/8/Pz//////////////////v7+//7+/v/9/v7/+f38//Xx9/+opOT/NC7I/x8cxv8gHr//JBrE/yEa + wv8hGsL/IRvC/yEbwP8gGsD/JB/E3iIaxd8iGsX/IhrF/yIaxf8iGsX/IhrF/yQZxf8gHMP/Ni7L/6el + 5f/09fr/+Pn6//n7+P/+/v3//v7+//7+/v/+/v7//v7+//7+/v/8+/z/np3n/yAcxv8kG8X/IhrF/yIa + xf8jGsX/Ih7H/6Oi5f/9/fz//////////////////v7+//7+/v/+/v3/+v76//n6/P/z9fn/pqTm/zUs + zP8gG8T/IxnF/yIaxf8iGsX/IhvF/yIbw/8hG8P/JR/G3iEaxd8hGsb/IRrG/yEaxv8hGsb/IRrG/yAa + xv8gGMb/TkXT/5iW5P+2tuz/y8vw/9vZ8v/q6/j/8fL7//f2+//6/Pv//P38//38+v/8/Pj/trbt/yIe + yv8gGsb/IRrG/yEaxv8gG8f/JCHI/7i66v/8/Pv//fz8//z9/P/6/fr/9vb7//Dx+v/p6vf/2trx/8rK + 8P+2tu3/l5Xk/01D0v8gGMf/IBrG/yEaxv8hGsb/IRvG/yEaxf8gGsX/JB3J3iEbyN8hG8j/IRvI/yEb + yP8hG8j/IRvI/yIbyv8hHMj/IRzE/yIex/8mI8j/Mi3K/0Q90v9VTtX/ZmLY/3t43v+Ri+H/pqTo/7q+ + 7P/Ozu7/sq/r/y8lyP8kGcn/IRvI/yEbyP8kGcr/MSnG/7Oy6v/MzO//ur3u/6ak6P+Qi+D/enbd/2Rg + 1v9SS9L/QzzS/zIty/8mI8j/Ih7H/yAcxP8hHMf/IhvK/yEbyP8hG8j/IRvI/yEbyP8hGsf/JB/L3iIb + y98iG8v/IhvL/yIby/8iG8v/IhvL/yIay/8hGcn/IBrL/yEZzP8jGs3/JBzN/yEby/8fG8r/IRrM/yMa + zf8hHcz/JB7N/yghzv81K9D/OzLP/yEdzv8iGcz/IhvL/yIby/8iGcv/Ih3O/zow0P8zKdD/KCLN/yQe + zf8hHM7/JBvO/yEazP8eG8r/IBrK/yMbzP8jGcz/IRnM/yAay/8hGcn/IhrL/yIby/8iG8v/IhvL/yIb + y/8iGsr/JR/O3iIbzN8iG8z/IhvM/yIbzP8iG8z/IhvM/yIczP8hGsz/IhnM/yQczP8iG8z/IBvK/yAb + yv8hGs3/IxzN/yMby/8hHMr/IRvL/yIay/8iG8v/JBvM/yIdzP8iG8r/IhvM/yIbzP8iG8r/IhzM/yMZ + zf8hGsv/IhvK/yEby/8hG8v/IhvL/yIbzP8gGcv/IBvK/yEcy/8iG83/JBzM/yIZzP8hGsz/IhzM/yIb + zP8iG8z/IhvN/yIazf8hGsz/JR/O3iEbzt8hG8//IRvP/yEbz/8hG8//IRvP/yEbz/8hG8//IRvP/yEb + z/8hG8//IRvP/yEbz/8hG8//IRvP/yEbz/8hG8//IRvP/yEbz/8hG8//IRvP/yEbz/8hG8//IRvP/yEb + z/8hG8//IRvP/yEbz/8hG8//IRvP/yEbz/8hG8//IRvP/yEbz/8hG8//IRvP/yEbz/8hG8//IRvP/yEb + z/8hG8//IRvP/yEbz/8hG8//IRvQ/yAa0P8gGs7/JB/P3iIb0t8iG9L/IhvS/yIb0v8iG9L/IhvS/yIb + 0v8iG9L/IhvS/yIb0v8iG9L/IhvS/yIb0v8iG9L/IhvS/yIb0v8iG9L/IhvS/yIb0v8iG9L/IhvS/yIb + 0v8iG9L/IhvS/yIb0v8iG9L/IhvS/yIb0v8iG9L/IhvS/yIb0v8iG9L/IhvS/yIb0v8iG9L/IhvS/yIb + 0v8iG9L/IhvS/yIb0v8iG9L/IhvS/yIb0v8iG9L/IhvT/yEa0/8hG9H/JCDT3iMb1N8jG9T/IxvU/yIb + 1f8iG9X/IhvV/yMb1f8jG9T/JBzV/yIb1P8hG9P/IRvS/yIb0v8hGtP/IRvU/yEc1P8hG9T/IRvS/yIc + 0f8hHNL/IxrW/yMd1P8jG9L/IhvV/yIb1f8jG9P/IxzU/yMa1f8iHNT/IhzS/yIb0/8hG9T/IRzU/yIc + 1P8iG9T/IxzT/yIb0/8hG9T/IhrU/yMb1P8iGtP/IxrU/yMa1f8jGtX/IxrV/yMa1P8iGtL/Jx/U3iMb + 1N8jG9X/IxvV/yEa1/8gGtf/IBrX/yEa1f8iGtX/IxvV/yAX0/8kGdj/Ixna/yEY2P8iGtb/IhrV/yEa + 1f8gGtb/IhrW/yQa1f8fHdX/Ix/S/x0c1f8jG9X/IBrX/yAa1/8jGtX/IBvV/yYg0P8iHNj/JRrY/yMa + 2P8hGtf/IRrU/yEZ0/8gF9P/IRjX/yQb2f8lG9f/IRjT/yQb1v8jG9X/IhrW/yMZ1/8jGdf/IxnX/yIa + 1P8hGtL/JR/U3iMb2N8jG9j/IxvY/yIb2P8hG9j/IRvY/yEb1v8jHNX/IRrU/yEZ1v8iGtn/JR7Y/yok + 2f81Ld3/RT3g/1VO4v9oYeH/fHjk/4+Q5v+ipej/l5fq/zAn1/8lGtn/IRvY/yEb2P8nGtv/NCjY/5ua + 6v+jouj/j4/n/3x35f9nX+H/UUre/0I63f8yK9v/KiTX/yQe1v8iGtf/IhrX/yMc1v8lHdf/IxzX/yMb + 2P8jG9j/IxvY/yIa1/8hGtX/JR/X3iQa298kGtv/JBrb/yMc2v8iHNr/Ihza/yMa2P8jG9f/PDXc/2lk + 5v+Fgeb/oZ/t/7q48f/MzfT/3N33/+nq+f/x8fz/9/f9//v9/f/9/Pn/u7vx/yUi1/8fG9j/Ihza/yIc + 2v8iG9v/KCTZ/7698P/9+/n/+/v9//b2/v/x8P3/6Or4/9vd9//MzvT/ubf0/6Gd7v+Df+f/aGLl/zoz + 2/8iGtb/IxrY/yQb2v8kG9r/JBva/yMZ2v8iGdf/Jx/a3iIa3N8jGtz/Ixrc/yIa3P8iGtz/Ihrc/yMa + 2v8jHNz/SkPb/8G+8P/29fj/+vn7//n7+f////7////////////////////////////9/Pz/pKbs/yQf + 3v8jGtv/Ihrc/yIa3P8kG93/Ix/e/6mr7//9+/z//////////////////v7+//7+/v/+/v7/+fr7//v6 + +v/29/j/vrzv/0hB2v8kHd3/JBvb/yMa3P8jGtz/Ixrc/yEZ2/8hGdj/JR/b3iQc3d8kHN7/JBze/yQc + 3v8kHN7/JBze/yUa3v8kHt3/Ixrg/1JH4//Hx/X/9/b6//38+/////////////////////////////// + ///7+/3/kY7s/yEd3v8iG9v/JBze/yQc3v8kHN3/IB3d/5aT7v/7+/z//////////////////v7+//7+ + /v/+/v7//f35//f3+//GxPb/UEXj/yMa4P8kHt3/JRre/yQc3v8kHN7/JBze/yIb3P8iG9r/JSDc3iQc + 3t8kHN//JBzf/yQc3/8kHN//JBzf/yQc4P8mHd7/JBjg/yUc3P9TR+b/yMjy//v5+f////////////// + ///////////////////4+fz/fnbs/x8c3/8iG9v/JBzf/yQc3/8jHd3/Hx3d/4N97P/4+fr///////// + /////////v7+//7+/v/+/v7/+/r5/8bE8/9SReT/Jx/d/yUa4f8lG93/Ixve/yQc3/8kHN//JBzf/yMb + 3v8jHNv/JyHe3iMc4d8jHOH/Ixzh/yMc4f8jHOH/Ixzh/yId4P8mGuL/Jhve/yIc3f8tI+D/mJns//n4 + +v/////////////////////////////////y8vn/aWHq/yAb4P8iG9//Ixzh/yMc4f8jGuD/Ixzf/2tn + 5//y9Pn///////////////////////////////7/+Pf5/5aV7P8tI+L/Ix3e/ycc3/8kGeD/IBvg/yMc + 4f8jHOH/Ixzh/yIb4P8iG9//JR/j3iIc4N8iHOD/Ihzg/yIc4P8iHOD/Ihzg/yUb4/8kG93/JBrm/yki + 4f+BfOz/6evz//39+//////////////////////////////////m6Pr/VU3l/yAa4P8kHeH/Ihzg/yIc + 4P8kHOH/IRvg/1dR4//q7Pv//////////////////////////////////Pv6/+nr+P9+eez/KSLg/yMb + 4f8kHNn/JRri/yIc4P8iHOD/Ihzg/yIc3/8iHN//JSDj3iMc4d8jHOH/Ixzh/yMc4f8jHOH/Ixzh/yEc + 4P8fHd//LiHp/4R96P/r6/b//Pr6//37/P///////v/+//////////////////7////Y2/r/RTzj/yEb + 4P8lHOL/Ixzh/yMc4f8iHOD/Hxvh/0g+5P/e3vn//////////////v////////////////7//vv7//z6 + /P/q6vb/gnzn/y0h6P8hH+D/Ix3j/yMc4f8jHOH/Ixzh/yIb4P8iG+D/JR/k3iQc498kHOT/JBzk/yMd + 5P8jG+f/Ixvh/yQc4/8oIuT/hYLt/+vr+f/+/P3//v39//79/P/7+/v/+fz5//r5/P/6+vv//vz8//z7 + /P/My/f/Nizj/yMa5f8kHeP/JBzk/yQc5P8jHOP/Ixrm/zov5//PzvX//fr9//79+//6+fr/+vj9//n9 + +v/8/P3//v38//79/v/+/P3/6un3/4OA7P8nIeP/JBzl/yMd5f8lHOj/JBvl/yMb5f8jG+P/JyDl3iQc + 5N8kHOX/JBzm/yMb6P8fG+L/Hxzn/yol5f+DfvD/6uz2//z8+v/+/v7//v7+//z9+//6+vj/9fD5/7Sz + 8f/LzPX/+Pn5//z5/P+6tvf/LCPj/yQb5v8kHeT/JBzl/yQc5f8jG+X/JRvm/y8l6P+9u/L//Pn6//j5 + +P/Ly/f/t7X1//by+f/6+/r//P38//7+/v/+/v7/+/v5/+nq+P+Be/L/KiPl/yEc5P8dHN7/Hxrn/yMa + 5/8jG+T/JyDm3iQc5N8kHOX/JBzl/yAc4v8jGub/LR/s/4SA7f/q6/f//fv3//77+//+/v7//v7+//z9 + /P/y9Pn/p6Dz/zot5/9TSOv/x8f1//j2+f+jnPT/JB3j/yUd5f8kG+X/JBzl/yQc5f8kG+X/JRzl/yUc + 6P+no/D/+Pf5/8LE9f9QRun/PC7p/6mk8v/z9Pr//f39//7+/v/+/v7//fv6//36+P/p6vj/gX3r/y0e + 6/8kHeX/IRzm/yMa5/8jG+T/JyDm3iQc5t8lHOf/JRzn/yMb5f8pHub/dWnu/+fn9f/6+vr//Pr5//36 + +v/7+vr/+v35//Ly/f+gnfH/OS/q/yUd5v8mHOn/VUnq/8XD8f+IgfH/Ihvm/yQd6f8lG+j/JRzn/yUc + 5/8mHOf/JB3m/yIb5f+MiO3/wsLy/1BF6f8mHej/Ixrm/zkw6f+jou//8/P9//n8+P/7+/r//fv5//z6 + +f/6+/n/5Obz/29k7P8pHef/Jhzp/yQb6f8kG+b/KCDp3iQc6N8lHOj/JRzo/yUb6f8jHOT/UUjn/8bF + 8v/3+Pr//fz7//v79//9+ff/8/L5/6Gi8/83Ler/Hxno/yYd4v8nHeT/JBvo/05E6P9RRu3/IRno/yEb + 5/8mHef/JRzo/yUc6P8lHOf/IRzo/yMb6P9TSev/TUPn/yQc6f8lHOT/JRrl/x8Y6v85L+n/p6bz//Tz + +P/7+vj/+/z5//38+//4+Pr/xMTx/05G5v8kHeX/Jx3r/yUb6f8kG+f/KCDq3iQc6N8lHOj/JRzo/yIb + 6P8iG+j/Ihnn/09F6P/FyPP/9/f6//j69v/08/n/p6Dz/zYt6v8iHOf/Ix3n/yUa6P8nG+r/JBzn/yUe + 5v8lHen/IRro/yEa5v8kHef/JRzo/yUc6P8kG+j/Ihrp/yMc6v8mH+j/JR/m/yUe6P8nG+r/Jhrr/yQc + 6f8iGuf/Oy/q/6uk8//09Pn/9/r3//j4+v/CxfH/TkTo/yMZ6P8iHOj/Ihro/yQb6f8kG+f/KCDq3iQe + 5t8jHOn/Jhzo/yMc6v8kG+z/Jh3p/yQe6v9SSO3/ycjy/+/w9v+ioPD/OTDt/yMb6/8nHOv/Jhrs/yQb + 6v8jGur/Jhrs/yUb6v8iGuv/JB3p/yMa6/8kHOr/JRzp/yUc6f8lHOv/JBvr/yMd6P8kHev/Jhzq/yYa + 6/8kG+v/Jh7q/yca6/8mGun/JBno/zwx6/+mpPL/8PH3/8jG8v9RR+3/Ix7q/ycd6v8kG+v/Ihvq/yQb + 6f8jG+j/KSLo3jgw698kHuv/Jxzr/yQd7P8kHOv/JBzr/yQc7P8mHO//U0no/4eE7v80LOn/Hxrs/yYd + 7P8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc + 6/8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc6/8kHOv/Jhrq/yEa6/85L+v/ioXw/1JH6f8lHe7/JR3r/yQc + 6/8kHOv/Ixzr/ycd7v8jHev/PjPt3mVb7d8kHOr/Jhvq/yQd6v8kHer/JB3q/yQc5/8jGuz/JB7n/yYd + 6v8hHO3/IRzr/yUb7f8kHev/JB3q/yQd6v8kHer/JB3q/yQd6v8kHer/JB3q/yQd6v8kHer/JB3q/yQd + 6v8kHer/JB3q/yQd6v8kHer/JB3q/yQd6v8kHer/JB3q/yQd6v8kHOv/JRvt/yAc6v8gHO3/JRzr/yQd + 5/8jHOr/JB3m/yQd6v8kHer/Ixzr/yQb7P8jG+n/bWDw3rGu9N8zK+3/JBvn/yIZ6v8kHOv/Ixvr/yQb + 7f8mHOz/JRzt/yUd7f8mHOv/JRvu/yMc6v8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc + 6/8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc6/8kHOv/Ih3r/yMb + 7v8jG+n/Ixzt/yUb7v8mHOv/JBzt/yQb7P8kHev/Ixrs/yQc6v80Kuz/ta/13uvt+t98efD/KRzu/yQb + 6P8oHe7/Jhrs/yYb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb + 7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb + 7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/Jxzv/yga7v8oHe3/Jx7q/ywd8P+CffP/7u773vr6 + 9t/j4/b/fHrx/zMq7/8mHe3/Ixzs/yMb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb + 7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb + 7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBzu/yEZ7P8jGen/Myvs/4J9 + 8//l5Pb/+/r23vv498P5+vbf6uz5366r9d9mW/HfNSzs3yUe6t8jG+zfIxvs3yMb7N8jG+zfIxvs3yMb + 7N8jG+zfIxvs3yMb7N8jG+zfIxvs3yMb7N8jG+zfIxvs3yMb7N8jG+zfIxvs3yMb7N8jG+zfIxvs3yMb + 7N8jG+zfIxvs3yMb7N8jG+zfIxvs3yMb7N8jG+zfIxvs3yMb7N8jG+zfIxvs3yMb7N8jG+zfJiDs3zgt + 8N9pXfHftLH23+3t+d/7+vbf/Pf4wgAAAAAAAFUKAAAAAAAAVQoAAAAAAABVCgAAAAAAAFUKAAAAAAAA + VQoAAAAAAABVCgAAAAAAAFUKAAAAAAAAVQoAAAAAAABVCgAAAAAAAFUKAAAAAAAAVQoAAAAAAABVCgAA + AAAAAFUKAAAAAAAAVQoAAAAAAABVCgAAAAAAAFUKAAAAAAAAVQoAAAAAAABVCgAAAAAAAFUKAAAAAAAA + VQoAAAAAAABVCgAAAAAAAFUKAAAAAAAAVQoAAAAAAABVCgAAAAAAAFUKAAAAAAAAVQoAAAAAAABVCgAA + AAAAAFUKAAAAAAAAVQoAAAAAAABVCgAAAAAAAFUKAAAAAAAAVQoAAAAAAABVCgAAAAAAAFUKAAAAAAAA + VQoAAAAAAABVCgAAAAAAAFUKAAAAAAAAVQoAAAAAAABVCgAAAAAAAFUKAAAAAAAAVQoAAAAAAABVCgAA + AAAAAFUKAAAAAAAAVQoAAAAAAABVCgAAAAAAAFUKAAAAAAAAVQoAAAAAAABVCigAAAAgAAAAQAAAAAEA + IAAAAAAAgBAAAAAAAAAAAAAAAAAAAAAAAAD7+PjC1NXp3m5uv94tKqXeHBmZ3hwYmN4cGJneHBab3hwW + m94cGJneHBiZ3hwWm94cFpveHBiY3hwYmN4cFpveHBab3hwWm94cFpveHBab3hwWm94cFpveHBab3hwW + m94cFpveHBaZ3hwYmN4fGpneMiuk3nJwv97W1+ne+/n7wdTU6t9QS7T/HBee/xsVnP8bFpv/GxWb/xsV + nP8bFZ3/GxWc/xsWm/8bFpv/GxWc/xsVnP8bFpr/Gxaa/xsVnP8bFZz/GxWc/xsVnP8bFZz/GxWc/xsV + nP8bFZz/GxWc/xoUnP8bFZv/GxWa/xsWm/8cFpv/HRmd/1NPtf/W1uzebmzE3x4YoP8bFp//Ghag/xoV + oP8bF5//HBai/xwWov8cFqH/Gxag/xsWoP8cFqH/HBah/xwXoP8cF6D/HBah/xwWof8bFqD/Gxag/xsW + oP8cFqH/Gxag/xsWoP8cFqH/HBai/xwXoP8bF57/GxWh/xsWoP8cF5//Hxii/3Zxxt4sKqzfGxek/xsX + pP8cFqX/HRaj/ykoqf87Oa7/Hxql/xwWpf8cFqT/HBak/xwWpf8dFqX/HBal/xwWpf8cFqX/HBal/xwW + pf8cF6X/HRal/xwWpP8cF6T/HBak/x0Wpv8eGaT/PTuv/yooq/8eGKT/HBal/xsXpf8cF6X/NC2v3hwZ + pt8bFqf/HRin/xwYpv8vKK7/n53X/87P6f9TUL3/Hhmp/xwXqP8cGKf/HBao/x0YqP8dF6n/HRio/xwX + qP8cGKj/HBap/xwYp/8dF6j/HRep/x0YqP8bFqf/IBqo/1hUvf/Q0ej/nprX/y4nrv8cF6j/HBio/xsX + p/8fG6jeHBas3x0XrP8aGKr/LCix/6Cc2f/29Pj//Pr7/9bV7f9TUr7/Hhqq/x0Wrf8cGaz/MC20/yEc + r/8dGar/HRir/x0Yq/8dGan/IR2s/zAus/8cGaz/Hhiu/x0Zqf9VVL7/2Nft//z8+f/19Pj/npnY/ywo + tP8cGK3/HBiq/x8ard4dGbDfHRmw/xwZsP9PSsD/3t7w//n69//8/Pr//f39/9XW7v9UVMH/Hxqw/0hD + vP+pqN//NDG6/x4YsP8dGbD/HRmv/x8Zr/84M7n/qqne/0dBvf8fGbH/VVTA/9bY7//9/f3//Pz6//r7 + +P/c3fD/TEa//xsZr/8cGa7/Hxuw3hwas98dGbP/HRiy/x8ctf9ta83/5eTz//v9/f/+/v7//Pz8/9bW + 7v93ds7/y8np/+fm9f9IRML/Hxiz/x0as/8cGrL/HRmz/0xHwv/p6PT/ysjo/3d1zv/W1+3//Pz8//7+ + /v/7/fz/5OPy/2pozf8iHbb/Hxq0/x0Zs/8fG7XeHRq13x4atv8fGrX/IBm3/yEcuf9ubND/5ub1//v9 + /P/9/vz//Pz8//b2+v/9+/z/8/T6/15Zyv8fGLf/Hhq2/x4atv8cGrb/YV3L//T1+v/9/P3/9vb6//z8 + /P/9/fz/+/38/+Tk9f9qac//IR64/yAYtv8eGbf/Hhm2/yAbt94eGbrfHxm6/x8Zuv8fGbr/Hxm7/yAf + u/9vbNL/5uT1//v9/f/////////////////6+v3/dnLS/x0Zuv8fGbr/IBm6/x4Zuv94ddP/+vv9//// + //////////////v9/P/l4/T/bWfS/yIdvv8hGrv/Hxm6/x8Zuv8fGbr/IBq73iAZvd8gGb7/IBm+/yAZ + vv8fGrz/Hxi7/yQewP+Mid7/+fj7//////////////////39/f+Ri9v/Hxq9/yAZvv8gGb7/IBu+/5SQ + 2//+/f3/////////////////+Pj7/4mG3P8kH8D/IBm9/x8av/8gGb7/IBq+/yAavf8hG7/eIRrB3yEa + wf8hGsH/IRrB/yIbwP8gHL//S0XN/8zJ7v/6/Pz//v7+//7+/v/+/v7//f39/6mk5f8jHsH/IhrB/yEa + wf8jHsL/rarl/////v///////v7+//7+/v/6/Pz/ysft/0lDzf8gHMH/IhvC/yEawf8hG8H/IRvA/yMc + wt4iGsXfIhrG/yIaxv8iGsb/IRrE/zozzP+1tOr/7e/4//b3+f/8/P3//f39//3+/f/+/fz/urrs/yYi + yP8iGsX/IhrG/ycjyP++vev//v39//7//v/9/f3//Pz9//f5+f/u7/n/s7Lq/zgxzP8hGcX/IhrG/yIb + xv8hG8P/IxzG3iEbxt8hG8f/IRvH/yEbx/8hG8j/KyTK/0ZB0P9bVtX/dnHd/42K4v+koej/ubjs/8zN + 7/+0sur/LibL/yIayP8iGsj/MCjK/7W06v/LzPD/ubjs/6Oh5/+LiOD/dG/c/1pW1f9FQdH/KiPK/yEb + yf8hG8f/IRvH/yEbx/8jHMneIhvL3yIby/8iG8v/IhvL/yIay/8hGsr/IhrM/yMbzP8gG8v/IhvM/yUe + zP8nIs3/LyjP/zgw0P8kHc3/IhvL/yIby/8kHcz/Ny7R/y4pzv8nIc3/JR3N/yIby/8gGsr/IhvM/yIa + y/8hGsr/IhrL/yIby/8iG8v/IhvL/yQczd4hG83fIRvO/yEbzv8hG87/IRvO/yEbzv8hG87/IRvO/yAb + zv8hG87/IRvO/yEbzv8hG87/IRvO/yEbzv8hG87/IRvO/yEbzv8hG87/IRvO/yEbzv8hG87/IRvO/yAb + zf8hG87/IRvO/yEbzv8hG87/IRvO/yEbz/8hGs//Ix3O3iIb0t8iG9L/IhvS/yIb0/8iG9L/IhvT/yIb + 0v8iG9L/IhvS/yIb0v8iG9L/IhvS/yIb0v8iG9P/IhvS/yIb0v8iG9L/IhvS/yIb0/8iG9L/IhvS/yIb + 0v8iG9L/IhvS/yIb0v8iG9L/IhvS/yIb0v8iG9P/IhvT/yIa0/8jHdPeIxvU3yMb1f8hGtb/IRrX/yIa + 1f8jG9X/IhnV/yIZ1/8hGdX/IRvV/yEb1f8jHNT/JSDT/ycj1f8iHdX/IRrW/yEa1v8jHNX/KSPU/yYf + 1v8kHNb/IRvV/yAZ1P8hGdX/IxvW/yIa1P8jG9X/IhrV/yMa1/8jGtf/IhrT/yMd094jGtnfJBrZ/yIb + 2f8iG9n/IxvX/ycf1v80LNv/Qzzd/1ZQ4f9saOX/hYHo/52a6/+wse3/oaHr/y4n2f8iG9n/IhvZ/zIo + 2v+kour/sLDu/5yY7P+Dfuf/amXj/1VP4P9DPNz/NCzb/ycf1/8kHNf/JBvZ/yQb2f8jGdf/JB3W3iMa + 3N8jGtz/Ixvc/yIb3P8jGtr/Pzjd/7Kv7v/i4fb/7/D5//j4/f/8/P7//v3+//7+/f+/v/H/KCPc/yIb + 2/8jG9z/KiXd/8HC8v/+/f3//v3///v7/f/3+Pz/7u/6/+Lh9/+wru7/Pjfb/yMb2/8jG9z/Ixvc/yIZ + 2v8kHNreJBzd3yQc3v8kHN7/JBze/yUc3v8lHd7/Y1rn/9rZ9//9/Pz//////////////////v7//6yq + 8f8kH97/JBzd/yQc3v8lIN3/r63y//7+/v///////v7+//7+/v/9/Pv/2tj3/2FY5v8mHd//JBvd/yQc + 3v8kHN7/Ihvc/yQd294jHODfIxzg/yMc4P8jHOD/JB3g/yUa3/8nH97/iIXq//j3+/////////////// + ///9/f7/lpHv/yIc3/8jHOD/JBzg/yQd3/+Ylu3//f39//////////////////j3+/+Ggev/KCDf/yYb + 4P8iG9//Ixzg/yMc4P8iG9//JB3f3iMc4N8jHOD/Ixzg/yMc4P8jG+D/JRvk/1pU5v/X1/T//fz8//// + //////////////r7/v98d+v/Ihvh/yMc4P8jHOD/Ihzg/4B86v/7/P7//////////////////fz8/9bV + 9v9ZU+b/JR3h/yMc3/8jHOD/Ixzg/yIb4P8kHeLeJBzj3yQc4/8jHOT/Ixvi/yMd4v9cV+n/2tj2//38 + /P/9/Pz/+/z7//n6/P/9/P3/9PT8/2Vd6v8jG+P/JBzj/yMc4/8iG+T/aWHr//b1/P/+/Pz/+vn8//z9 + /P/9/f3//fz8/9jW9f9aVej/JB7j/yMd5P8kG+X/Ixvj/yUf5N4kHOTfJBzl/yEc5P8jHOf/W1br/9jY + 9f/9/Pz//v7+//v8+v/l4vj/mJTv/9vb9//r6fr/UEjp/yQc5f8kHOX/JBzl/yQb5v9TS+r/7Or4/9ra + 9/+alfL/5uT4//v9/P/+/v7//Pz7/9fV9v9aVOv/JB3l/yAc5P8jGub/JR/l3iQc5d8kHOb/Ixzk/1BE + 6//V0/X/+/r5//37+//8/fv/4+P6/3Bp7v8rIef/ZFvt/7+78/8+Nur/JBzn/yUc5v8lHOb/JBzm/0A5 + 6P+/vfL/YFjr/yog5/9ybO3/5eX5//v8+//9+/r/+/r5/9LS8/9NQur/JRzn/yQb5/8lH+beJBzo3yUc + 6P8jG+f/PTXn/7e18f/4+Pr/+/r3/+Xj9/9vau7/JR7o/yYd5f8mHuf/Rz7p/ysh6v8jHOb/JRzo/yUc + 6P8jHOf/LSTq/0Y/6P8mHuf/Jhrn/yUe6f9zbu7/5uT3//r7+P/3+Pr/trPx/zw05/8kHOj/JRvp/ycf + 6d4kHejfJRzo/yMc6v8kG+r/Pzjr/7m38//g4PX/cWrv/ygf6/8mG+r/JBvq/yYb6v8kHOn/Ihvp/yMb + 6v8lHOn/JRzp/yMb6v8jHen/JR3q/yYb6v8lHOv/JRvq/yke6f90be//4OH2/7i18/8+N+v/JBzq/yIb + 6v8kG+n/JyDp3jYu698mHOv/JB3r/yQc6v8kHOz/QDjr/1lT6/8kHuz/JRzs/yQc6/8kHOv/JBzr/yQc + 6/8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc6v8kHOv/JBzr/yQc6/8kHOv/JRvr/yYe7P9bVe3/QDfr/yQc + 6/8kHOr/Ixzr/yUc7f85MOzedW7w3yYd6f8jG+r/JBzq/yQb6/8lHOz/JBzs/yQb7P8kHOz/JBzr/yQc + 6/8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc6/8jHOz/Ihvs/yIb + 7P8kHOz/JBzq/yQc6/8kHOv/JR3r/3hw8d7T1PbfVU3v/ycd7P8mG+3/JRvt/yQb7f8kG+3/JBvt/yQb + 7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb + 7f8kG+3/JBvt/yQb7f8mHO7/JRvu/yge6/9ZUPH/1tX23vn498PS0/XfdG3y3zUs7N8kHOvfJBvs3yQb + 7N8kG+zfJBvs3yQb7N8kG+zfJBvs3yQb7N8kG+zfJBvs3yQb7N8kG+zfJBvs3yQb7N8kG+zfJBvs3yQb + 7N8kG+zfJBvs3yQb7N8kG+zfJBvs3yQc7d81LO3feHHy39bV9t/7+PfCAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAEAAAACAA + AAABACAAAAAAAEAEAAAAAAAAAAAAAAAAAAAAAAAApKLWwjQxp94cFpveGxWc3hsWm94bFZveGxab3hsV + m94bFZzeGxWc3hsVnN4bFZzeGxWb3hwWm943Mqfep6bXwTQxrd8cFqL/JSCl/yolp/8cFqP/HBai/xwW + ov8cFqL/HBai/xwWov8cFqL/HBaj/yomp/8lIKX/HBei/zgzrt4cGKrfJiKs/5OQ0/+vrd7/NjKy/x8a + q/8mIq7/HRiq/x0Xqf8mIq3/Hxqr/zczsv+wr93/ko/T/yYirf8dGaneHBmx3zAsuP+7uuX/+Pn7/7a2 + 4/95ds7/eXfQ/x4Zsv8eGrH/fHrQ/3h1zv+3t+P/+Pn6/7q45f8vK7j/HRqy3h0ZuN8fGbj/QD3D/8TD + 6//6+vz/9/f7/6yq5P8iHLn/Ih25/66t5P/39/v/+vr8/8LB6/8/O8P/Hxm4/x8auN4gGsDfIRrA/yMd + v/+Afdr/+Pj8//7+/v/Ewuz/KSPC/yokwv/HxO3///////j4+/9+etn/Ix3A/yEawP8hGr/eIhvF3yIb + xv8uJ8n/h4Tg/7i27P/My/L/t7Xr/zAqyv8xK8r/uLfs/8zL8v+3tuz/hoPg/y0myf8iG8b/IhvG3iIb + zN8iG83/IRvM/yMczf8nIc7/LijQ/zQu0f8kHs3/JR7N/zQu0f8uKND/JyDN/yMczf8hG8z/IhvN/yIb + zd4iG9PfIhvU/yIb0/8iG9T/JB3U/ykj1P8tKNX/Ix3U/yQd1P8uJ9X/KSLV/yQd0/8iG9P/IhvT/yIa + 1P8iG9PeIxra3yIb2v8uJtr/e3bm/6il7v+/vvL/rq3u/zAq2/8yK9z/sK7v/7+98v+npO7/enXm/y4m + 2v8jG9r/IxvZ3iMc3t8jHN//KCDf/4eC6//5+fz//////8bE9v8sJt//Lifg/8jH9f//////+Pj8/4aB + 6/8oH9//Ixzf/yMc3d4jHOHfIxzi/z025P+6uPL/+vr8//r6/f+wrfP/JyDi/ycg4v+zsPP/+vr9//r6 + /f+5tvL/PDbk/yMc4v8jHOLeIxvl3zMs5/+0svL/+fj7/8PB9f+Nh/D/hYDv/yQc5f8lHOb/h4Lv/4yG + 8P/Fw/b/+fj7/7Ow8v8zK+f/JBzm3iQc6N8wKOn/op/y/7679P9EPez/KSDp/zEp6f8kHOj/JBzp/zIr + 6f8pIOn/Rj7r/7+99f+hnvH/MCjp/yUd6d48NevfJBzq/zIp7P83MOz/JBzr/yQc6/8kHOv/JBzr/yQc + 6/8kHOv/JBzr/yQc6/84MOz/MSnr/yQc6/8/N+zepqPzwz007d8kG+zfJBvs3yMb7N8jG+zfIxvs3yMb + 7N8jG+zfIxvs3yMb7N8jG+zfIxvs3yQb7N8+Ne3fqaX0wgAAJgAAACYAAAAmAAAAJgAAACYAAAAmAAAA + JgAAACYAAAAmAAAAJgAAACYAAAAmAAAAJgAAACYAAAAmAAAAJgA= + + + \ No newline at end of file diff --git a/Themenmanagement/Kernbotschaften/frmKB_Presentation.vb b/Themenmanagement/Kernbotschaften/frmKB_Presentation.vb new file mode 100644 index 0000000..083c18a --- /dev/null +++ b/Themenmanagement/Kernbotschaften/frmKB_Presentation.vb @@ -0,0 +1,1180 @@ +Imports System.IO +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient +Imports CG.Controls.Grid.Container.TextImageTile +Imports System.Drawing +Imports System.Security.Principal +Imports C1.Win.C1TrueDBGrid + +Public Class frmKB_Presentation + Dim kb As New clsKB + Dim tblkb As New DataTable + Dim kbtblkb As New DB.clsKB + Dim tbltemp As New DataTable() + Dim tbltemp1 As New DataTable() + Dim Show_Absender As Boolean = False + Dim Show_Anspruchgsgruppe As Boolean = False + + + Dim sec As New Utils.MySecurity + Dim TileW As Integer = 120 + Dim TileH As Integer = 70 + Dim layout As New clsLayout + + Private Sub frmKB_Presentation_Resize(sender As Object, e As EventArgs) Handles Me.Resize + Me.Panel3.Visible = False + 'Me.PlaceHolder.Enabled = False + 'Me.PlaceHolder1.Enabled = False + 'Me.PlaceHolder2.Enabled = False + 'Panel3.Visible = False + + 'format_grid() + 'Me.PlaceHolder.Enabled = True + 'Me.PlaceHolder1.Enabled = True + 'Me.PlaceHolder2.Enabled = True + 'Panel3.Visible = True + format_grid() + End Sub + + Public Sub Login_log(ByVal username As String) + kb.Insert_userlog(username, "Login", "") + End Sub + + + + Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load + 'Me.C1Truedbgrid1.CellTips = C1.Win.C1TrueDBGrid.CellTipEnum.Floating + Me.Text = Globals.Get_Paramvalue(2) + Me.StackPanelItem2.Caption = Get_Paramvalue(3) + Try + + Catch ex As Exception + + End Try + Me.Cursor = Cursors.WaitCursor + Application.DoEvents() + + Me.Cursor = Cursors.Default + + kb.Get_Stammdaten() + layout.Load_Layoutfile(kb.Get_Parameter(4)) + Load_Data() + Update_view() + kb.Insert_userlog(Get_Username, "Login", "") + Me.Enabled = True + Application.DoEvents() + If kb.Check_User_No_Message(Get_Username) = False Then + Dim f As New frmBegrüssung + f.ShowDialog() + If f.CheckBox1.Checked Then + kb.User_No_Message(Get_Username) + End If + End If + + + End Sub + + Dim ouser As New WindowsPrincipal(WindowsIdentity.GetCurrent) + ''' + ''' Windows-User auslesen + ''' + ''' + ''' + Private Function Get_Username() As String + With ouser.Identity.Name + Return (.Substring(.IndexOf("\") + 1)) + End With + End Function + Public Sub refresh_view() + Dim t As CG.Controls.Grid.Container.TextImageTile + t = TileFlowLayoutAnspruchsgruppe.Controls(0) + TileNewClick(t, Nothing) + TileNewClick(t, Nothing) + End Sub + + Sub Load_Data() + kb.Get_Stammdaten() + + + Dim c As Integer = 0 + For Each r As DataRow In kb.absender.Rows + If r("Aktiv") = True Then c = c + 1 + Next + c = c / 2 + c = c * (TileW + 20) + ' PanelAbsender.Width = c + Dim fontName As FontFamily + For Each r As DataRow In kb.absender.Rows + If r("Aktiv") = True Then + Dim tilenew As New CG.Controls.Grid.Container.TextImageTile + tilenew.Description = r.Item("Bezeichnung") + tilenew.Tag = r.Item("Absendernr") + tilenew.BackColorFrom = layout.TileAbsender_Background_From + tilenew.BackColorTo = layout.TileAbsender_Background_To + tilenew.Height = layout.TileAbsender_Height + tilenew.Width = layout.TileAbsender_Width + fontName = tilenew.Font.FontFamily + tilenew.Font = New Font(fontName, layout.TileAbsender_Fontsize) + tilenew.ForeColor = layout.TileAbsender_Fontcolor + tilenew.SelectionColor = layout.TileAbsender_SelectionColor + Me.TileFlowStackAbsender.Controls.Add(tilenew) + AddHandler tilenew.Click, AddressOf TileNewClick + End If + Next + fontName = tilePanelApps.Font.FontFamily + Me.tilePanelApps.Font = New Font(fontName, layout.TileAbsender_Header_FontSize) + Me.tilePanelApps.ForeColor = layout.TileAbsender_Header_FontColor + + Me.SplitContainer1.Panel1.BackColor = layout.TileSelection_Header_Fontcolor + Me.Panel3.BackColor = layout.TileSelection_Header_Fontcolor + Me.SplitContainer1.Panel1.ForeColor = layout.TileSelection_Header_Fontcolor + Me.Panel3.ForeColor = layout.TileSelection_Header_Fontcolor + tilePanelApps.ForeColor = layout.TileSelection_Header_Fontcolor + 'StackPanelItem1.BackColor = layout.TileSelection_Header_Fontcolor + 'StackPanelItem2.BackColor = layout.TileSelection_Header_Fontcolor + 'StackPanelItem3.BackColor = layout.TileSelection_Header_Fontcolor + 'StackPanelItem4.BackColor = layout.TileSelection_Header_Fontcolor + StackPanelItem1.ForeColor = layout.TileSelection_Header_Fontcolor + StackPanelItem2.ForeColor = layout.TileSelection_Header_Fontcolor + StackPanelItem3.ForeColor = layout.TileSelection_Header_Fontcolor + StackPanelItem4.ForeColor = layout.TileSelection_Header_Fontcolor + StackPanelItem5.ForeColor = layout.TileSelection_Header_Fontcolor + + c = 0 + For Each r As DataRow In kb.Anspruchsgruppe.Rows + If r("Aktiv") = True Then c = c + 1 + Next + c = c / 3 + c = c + 1 + c = c * (TileW + 20) + ' PanelAnsprchsgruppe.Width = c + + For Each r As DataRow In kb.Anspruchsgruppe.Rows + If r("Aktiv") = True Then + Dim tilenew As New CG.Controls.Grid.Container.TextImageTile + tilenew.Description = r.Item("Bezeichnung") + tilenew.Tag = r.Item("anspruchgruppenr") + tilenew.BackColorFrom = layout.TileAnspruchgruppe_Background_From + tilenew.BackColorTo = layout.TileAnspruchgruppe_Background_To + tilenew.Height = layout.TileAnspruchgruppe_Height + tilenew.Width = layout.TileAnspruchgruppe_Width + fontName = tilenew.Font.FontFamily + tilenew.Font = New Font(fontName, layout.TileAnspruchgruppe_Fontsize) + tilenew.ForeColor = layout.TileAnspruchgruppe_Fontcolor + tilenew.SelectionColor = layout.TileAnspruchgruppe_SelectionColor + Me.TileFlowLayoutAnspruchsgruppe.Controls.Add(tilenew) + AddHandler tilenew.Click, AddressOf TileNewClick + End If + Next + fontName = TileFlowLayoutAnspruchsgruppe.Font.FontFamily + Me.StackPanelItem1.Font = New Font(fontName, layout.TileAnspruchgruppe_Header_FontSize) + Me.StackPanelItem1.ForeColor = layout.TileAnspruchgruppe_Header_FontColor + + For Each r As DataRow In kb.Themengruppe.Rows + If r("Aktiv") = True Then + Dim tilenew As New CG.Controls.Grid.Container.TextImageTile + tilenew.Description = r.Item("Bezeichnung") + tilenew.Tag = r.Item("Themengruppenr") + tilenew.BackColorFrom = layout.TileThemenGruppe_Background_From + tilenew.BackColorTo = layout.TileThemenGruppe_Background_To + tilenew.Height = layout.TileThemenGruppe_Height + tilenew.Width = layout.TileThemenGruppe_Width + fontName = tilenew.Font.FontFamily + tilenew.Font = New Font(fontName, layout.TileThemenGruppe_Fontsize) + tilenew.ForeColor = layout.TileThemenGruppe_Fontcolor + tilenew.SelectionColor = layout.TileThemenGruppe_SelectionColor + Me.TileFlowLayoutThemengruppe.Controls.Add(tilenew) + AddHandler tilenew.Click, AddressOf TileNewClick + End If + Next + fontName = TileFlowLayoutThemengruppe.Font.FontFamily + Me.StackPanelItem2.Font = New Font(fontName, layout.TileThemenGruppe_Header_FontSize) + Me.StackPanelItem2.ForeColor = layout.TileThemenGruppe_Header_FontColor + + fontName = TileFlowLayoutPanel1.Font.FontFamily + Me.StackPanelItem3.Font = New Font(fontName, layout.TileExport_Header_Fontsize) + Me.StackPanelItem3.ForeColor = layout.TileExport_Header_Fontcolor + + fontName = TileFlowLayoutPanel1.Font.FontFamily + Me.StackPanelItem4.Font = New Font(fontName, layout.TileExport_Header_Fontsize) + Me.StackPanelItem4.ForeColor = layout.TileExport_Header_Fontcolor + + + Me.TileReport.BackColorFrom = layout.TileExport_Background_From + Me.TileReport.BackColorTo = layout.TileExport_Background_To + Me.TileReport.Height = layout.TileExport_Height + Me.TileReport.Width = layout.TileExport_Width + fontName = TileReport.Font.FontFamily + TileReport.Font = New Font(fontName, layout.TileExport_Fontsize) + TileReport.ForeColor = layout.TileExport_FontColor + + Me.TileExcel.BackColorFrom = layout.TileExport_Background_From + Me.TileExcel.BackColorTo = layout.TileExport_Background_To + Me.TileExcel.Height = layout.TileExport_Height + Me.TileExcel.Width = layout.TileExport_Width + fontName = TileExcel.Font.FontFamily + TileExcel.Font = New Font(fontName, layout.TileExport_Fontsize) + TileExcel.ForeColor = layout.TileExport_FontColor + + + fontName = TileFlowLayoutPanel2.Font.FontFamily + Me.StackPanelItem5.Font = New Font(fontName, layout.TileSelection_Header_Fontsize) + Me.StackPanelItem5.ForeColor = layout.TileSelection_Header_Fontcolor + + Me.TextImageTile1.BackColorFrom = layout.TileSelection_Background_From + Me.TextImageTile1.BackColorTo = layout.TileSelection_Background_To + Me.TextImageTile1.Height = layout.TileSelection_Height + Me.TextImageTile1.Width = layout.TileSelection_Width + fontName = TextImageTile1.Font.FontFamily + TextImageTile1.Font = New Font(fontName, layout.TileSelection_Fontsize) + TextImageTile1.ForeColor = layout.TileSelection_FontColor + + Me.TextImageTile2.BackColorFrom = layout.TileSelection_Background_From + Me.TextImageTile2.BackColorTo = layout.TileSelection_Background_To + Me.TextImageTile2.Height = layout.TileSelection_Height + Me.TextImageTile2.Width = layout.TileSelection_Width + fontName = TextImageTile2.Font.FontFamily + TextImageTile2.Font = New Font(fontName, layout.TileSelection_Fontsize) + TextImageTile2.ForeColor = layout.TileSelection_FontColor + + Me.TileNurAktiv.BackColorFrom = layout.TileAktiv_Background_From + Me.TileNurAktiv.BackColorTo = layout.TileAktiv_Background_To + Me.TileNurAktiv.Height = layout.TileAktiv_Height + Me.TileNurAktiv.Width = layout.TileAktiv_Width + fontName = TileNurAktiv.Font.FontFamily + TileNurAktiv.Font = New Font(fontName, layout.TileAktiv_Fontsize) + TileNurAktiv.ForeColor = layout.TileAktiv_FontColor + TileNurAktiv.Description = layout.TileAktiv_Text + TileNurAktiv.SelectionColor = layout.TileAktiv_SelectionColor + + + + Me.TileReaktiveBotschaften.BackColorFrom = layout.TileReaktiv_Background_From + Me.TileReaktiveBotschaften.BackColorTo = layout.TileReaktiv_Background_To + Me.TileReaktiveBotschaften.Height = layout.TileReaktiv_Height + Me.TileReaktiveBotschaften.Width = layout.TileReaktiv_Width + fontName = TileReaktiveBotschaften.Font.FontFamily + TileReaktiveBotschaften.Font = New Font(fontName, layout.TileReaktiv_Fontsize) + TileReaktiveBotschaften.ForeColor = layout.TileReaktiv_FontColor + TileReaktiveBotschaften.Description = layout.TileReaktiv_Text + TileReaktiveBotschaften.SelectionColor = layout.TileReaktiv_SelectionColor + + Me.TileHelp.BackColorFrom = layout.TileHelp_Background_From + Me.TileHelp.BackColorTo = layout.TileHelp_Background_To + Me.TileHelp.Height = layout.TileHelp_Height + Me.TileHelp.Width = layout.TileHelp_Width + fontName = TileHelp.Font.FontFamily + TileHelp.Font = New Font(fontName, layout.TileHelp_Fontsize) + TileHelp.ForeColor = layout.TileHelp_FontColor + TileHelp.Description = layout.TileHelp_Text + + If sec.Check_DataObjectReadonly("Show_Anspruchsgruppe") Then + Me.Show_Anspruchgsgruppe = False + Else + Me.Show_Anspruchgsgruppe = True + End If + + + Me.C1Truedbgrid1.DataSource = Nothing + kbtblkb.cpMainConnectionProvider = Globals.conn + If Show_Anspruchgsgruppe = True Then + tblkb = kbtblkb.SelectAll + Else + tblkb = kbtblkb.SelectAll1 + End If + + + If sec.Check_DataObjectReadonly("Show_Absender") Then + Me.Show_Absender = False + Else + Me.Show_Absender = True + End If + If sec.Check_DataObjectReadonly("Show_Anspruchsgruppe") Then + Me.Show_Anspruchgsgruppe = False + Else + Me.Show_Anspruchgsgruppe = True + End If + + If Show_Absender = True Then + 'Me.PlaceHolder.Visible = True + Me.tilePanelApps.Visible = True + 'Me.PanelBotschaft.Visible = True + 'Me.PanelAbsender.Visible = True + Else + 'Me.PanelBotschaft.Visible = False + 'Me.PlaceHolder.Visible = False + Me.tilePanelApps.Visible = False + ' For Each t As Control In TileFlowStackAbsender.Controls + ' Dim tt As CG.Controls.Grid.Container.TextImageTile + ' tt = t + ' tt.Selected = True + + 'Next + End If + + If Show_Anspruchgsgruppe = False Then + Me.StackPanelItem1.Visible = False + End If + + Me.cbboxNurAktive.Checked = True + Me.cbboxNurGueltige.Checked = True + Me.cbboxShowGueltigkeit.Checked = False + sec.Set_Form_Security(Me) + If Globals.clsmitarbeiter.iMitarbeiternr = -1 Then + 'Me.PnlAdmin.Visible = False + End If + + Dim c1 As New Collection + Dim c2 As New Collection + Dim c3 As New Collection + Dim i As Integer + i = kb.Get_CurrentRolle(Globals.clsmitarbeiter.iMitarbeiternr.Value) + kb.Get_Rollenparameter(i, c1, c2, c3) + + For i = 1 To c1.Count + For Each ctl As Control In TileFlowStackAbsender.Controls + Dim t As CG.Controls.Grid.Container.TextImageTile + t = ctl + If t.Tag = c1(i) Then + t.Selected = True + Exit For + End If + Next + Next + + For i = 1 To c2.Count + For Each ctl As Control In TileFlowLayoutAnspruchsgruppe.Controls + Dim t As CG.Controls.Grid.Container.TextImageTile + t = ctl + If t.Tag = c2(i) Then + t.Selected = True + Exit For + End If + Next + Next + + For i = 1 To c3.Count + For Each ctl As Control In TileFlowLayoutThemengruppe.Controls + Dim t As CG.Controls.Grid.Container.TextImageTile + t = ctl + If t.Tag = c3(i) Then + t.Selected = True + Exit For + End If + Next + Next + 'Update_view() + 'format_grid() + ' Me.PlaceHolder.BackColor = TileFlowLayoutAnspruchsgruppe.BackColor + ' Me.PlaceHolder1.BackColor = TileFlowLayoutAnspruchsgruppe.BackColor + ' Me.PlaceHolder2.BackColor = TileFlowLayoutAnspruchsgruppe.BackColor + 'Panel2.BackColor = TileFlowLayoutAnspruchsgruppe.BackColor + + End Sub + + + + Private Sub TileNewClick(ByVal sender As Object, e As MouseEventArgs) + Dim t As New CG.Controls.Grid.Container.TextImageTile + Try + t = sender + If t.Selected Then t.Selected = False Else t.Selected = True + Update_view() + Catch ex As Exception + + End Try + End Sub + + Sub Update_view() + Cursor = Cursors.WaitCursor + + ' If Me.txtsuche.Text <> "" Then suchen() + + Dim s As String + Dim s1 As String + Dim s2 As String + Dim s3 As String + Dim s4 As String + Dim s5 As String = "" + + + Me.C1Truedbgrid1.DataSource = Nothing + + For Each c As Control In TileFlowStackAbsender.Controls + Dim t As CG.Controls.Grid.Container.TextImageTile + t = c + If t.Selected = True Then + If s <> "" Then s = s + " or " + s = s + "absendernr=" + t.Tag.ToString + End If + Next + s = "(" + s + ")" + 'If s = "()" Then Exit Sub + + For Each c As Control In TileFlowLayoutAnspruchsgruppe.Controls + Dim t As CG.Controls.Grid.Container.TextImageTile + t = c + If t.Selected = True Then + If s1 <> "" Then s1 = s1 + " or " + s1 = s1 + "anspruchgruppenr=" + t.Tag.ToString + End If + Next + s1 = "(" + s1 + ")" + + For Each c As Control In TileFlowLayoutThemengruppe.Controls + Dim t As CG.Controls.Grid.Container.TextImageTile + t = c + If t.Selected = True Then + If s2 <> "" Then s2 = s2 + " or " + s2 = s2 + "Themengruppenr=" + t.Tag.ToString + End If + + Next + s2 = "(" + s2 + ")" + s3 = "" + s4 = "" + If cbboxNurAktive.Checked = True Then s3 = " aktiv=1 " + If cbboxNurGueltige.Checked = True Then s4 = "gueltig_ab <='" + Now.ToShortDateString + "' and (gueltig_bis >= '" + Now.ToShortDateString + "' or gueltig_bis='1900-01-01')" + + 'If Me.TileNurAktiv.Selected = True And Me.TileReaktiveBotschaften.Selected = False Then + ' s5 = "Aktiv_Reaktiv=1" + 'End If + 'If Me.TileNurAktiv.Selected = False And Me.TileReaktiveBotschaften.Selected = True Then + ' s5 = "Aktiv_Reaktiv=0" + 'End If + + 'If s3 <> "" Then s2 = s2 + " and (" + s3 + ")" + 'If s4 <> "" Then s2 = s2 + " and (" + s4 + ")" + 'If s5 <> "" Then s2 = s2 + " and (" + s5 + ")" + Try + If Show_Absender = True Then + Dim dview As New DataView(tblkb, s + " and " + s1 + " and " + s2, "", DataViewRowState.CurrentRows) + tbltemp.Rows.Clear() + tbltemp1.Rows.Clear() + tbltemp = dview.Table.Clone + Dim drv As DataRowView + For Each drv In dview + tbltemp.ImportRow(drv.Row) + Next + Else + If Show_Anspruchgsgruppe = True Then + + Dim sx As String + If s <> "" Then sx = s + If s1 <> "()" Then + If sx <> "" Then sx = sx + " and " + sx = sx + s1 + End If + If s2 <> "()" Then + If sx <> "" Then sx = sx + " and " + sx = sx + s2 + End If + + If s3 <> "" Then sx = sx + " and (" + s3 + ")" + If s4 <> "" Then sx = sx + " and (" + s4 + ")" + If s5 <> "" Then sx = sx + " and (" + s5 + ")" + If s1 = "()" And s2 = "()" Then + Cursor = Cursors.Default + Exit Sub + End If + Dim dv As New DataView(tblkb, sx, "", DataViewRowState.CurrentRows) + 'Dim dv As New DataView(tblkb, s + " and " + s1 + " and " + s2, "", DataViewRowState.CurrentRows) + Try + tbltemp.Rows.Clear() + tbltemp = dv.Table.Clone + tbltemp.Columns.Remove("Absendernr") + tbltemp.Columns.Remove("Absender") + If Show_Anspruchgsgruppe = False Then + tbltemp.Columns.Remove("Anspruchsgruppe") + End If + For Each drv In dv + tbltemp.ImportRow(drv.Row) + Next + tbltemp = tbltemp.DefaultView.ToTable(True) + Catch ex As Exception + MsgBox(ex.Message) + End Try + + Else + Dim sx As String + tbltemp.Rows.Clear() + If s2 <> "()" Then + + If sx <> "" Then sx = sx + " and " + sx = sx + s2 + If s3 <> "" Then sx = sx + " and (" + s3 + ")" + If s4 <> "" Then sx = sx + " and (" + s4 + ")" + Dim dv As New DataView(tblkb, sx, "", DataViewRowState.CurrentRows) + 'Dim dv As New DataView(tblkb, s + " and " + s1 + " and " + s2, "", DataViewRowState.CurrentRows) + Try + tbltemp.Rows.Clear() + tbltemp = dv.Table.Clone + tbltemp.Columns.Remove("Absendernr") + tbltemp.Columns.Remove("Absender") + If Show_Anspruchgsgruppe = False Then + tbltemp.Columns.Remove("Anspruchsgruppe") + End If + For Each drv In dv + tbltemp.ImportRow(drv.Row) + Next + tbltemp = tbltemp.DefaultView.ToTable(True) + Catch ex As Exception + MsgBox(ex.Message) + End Try + End If + + + End If + End If + + + format_grid() + 'If Me.txtsuche.Text.Trim <> "" Then suchen() + Catch ex As Exception + 'MsgBox(ex.Message) + Finally + 'format_grid() + 'MsgBox(ex.Message) + End Try + + Cursor = Cursors.Default + + End Sub + Sub format_grid() + Try + + Me.C1Truedbgrid1.DataSource = Nothing + If Me.txtsuche.Text <> "" Then + Try + Dim dview As New DataView(tbltemp, "Artikel like '%" + Me.txtsuche.Text + "%'", "", DataViewRowState.CurrentRows) + tbltemp1 = dview.Table.Clone + Dim drv As DataRowView + tbltemp1.Rows.Clear() + For Each drv In dview + tbltemp1.ImportRow(drv.Row) + Next + Catch ex As Exception + MsgBox(ex.Message) + End Try + End If + + + + Me.C1Truedbgrid1.FetchRowStyles = True + + + + If Me.txtsuche.Text <> "" Then + tbltemp.Rows.Clear() + For Each r In tbltemp1.Rows + tbltemp.ImportRow(r) + Next + Me.C1Truedbgrid1.DataSource = tbltemp + Me.C1Truedbgrid1.DataMember = tbltemp.TableName + Else + Me.C1Truedbgrid1.DataSource = tbltemp + Me.C1Truedbgrid1.DataMember = tbltemp.TableName + End If + + 'For i As Integer = 0 To C1Truedbgrid1.Splits(0).Rows.Count - 1 + ' C1Truedbgrid1.Splits(0).Rows(i).AutoSize() + 'Next + + Me.C1Truedbgrid1.ColumnHeaders = True + + 'Me.C1Truedbgrid1.Columns("Aktiv_Reaktiv").Caption = "A/Re" + 'Me.C1Truedbgrid1.Splits(0).DisplayColumns("Aktiv_Reaktiv").Width = 60 + If Show_Absender = True Then + Me.C1Truedbgrid1.Splits(0).DisplayColumns(0).Visible = False + Me.C1Truedbgrid1.Splits(0).DisplayColumns(2).Visible = False + Me.C1Truedbgrid1.Splits(0).DisplayColumns(4).Visible = False + Me.C1Truedbgrid1.Splits(0).DisplayColumns(6).Visible = False + Me.C1Truedbgrid1.GroupedColumns.Add(Me.C1Truedbgrid1.Columns("Absender")) + Me.C1Truedbgrid1.GroupedColumns.Add(Me.C1Truedbgrid1.Columns("Anspruchsgruppe")) + Me.C1Truedbgrid1.GroupedColumns.Add(Me.C1Truedbgrid1.Columns("Themengruppe")) + Me.C1Truedbgrid1.DataView = C1.Win.C1TrueDBGrid.DataViewEnum.GroupBy + Me.C1Truedbgrid1.ExpandGroupRow(-1, True) + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Artikel").Width = Me.C1Truedbgrid1.Width - (50 + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Stichwort").Width) + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Artikel").FetchStyle = True + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Absender").FetchStyle = True + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Anspruchsgruppe").FetchStyle = True + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Themengruppe").FetchStyle = True + Else + Me.C1Truedbgrid1.Splits(0).DisplayColumns(0).Visible = False + Me.C1Truedbgrid1.Splits(0).DisplayColumns(2).Visible = False + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Artikelnr").Visible = False + If Show_Anspruchgsgruppe = True Then Me.C1Truedbgrid1.GroupedColumns.Add(Me.C1Truedbgrid1.Columns("Anspruchsgruppe")) + Me.C1Truedbgrid1.GroupedColumns.Add(Me.C1Truedbgrid1.Columns("Themengruppe")) + Me.C1Truedbgrid1.Splits(0).DisplayColumns("ThemengruppeNr").Width = 0 + Me.C1Truedbgrid1.DataView = C1.Win.C1TrueDBGrid.DataViewEnum.GroupBy + Me.C1Truedbgrid1.ExpandGroupRow(-1, True) + ' Me.C1Truedbgrid1.Splits(0).DisplayColumns("Artikel").Width = Me.C1Truedbgrid1.Width - (100 + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Aktiv_Reaktiv").Width) + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Artikel").Width = Me.C1Truedbgrid1.Width - (50 + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Stichwort").Width) + + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Artikel").FetchStyle = True + If Me.Show_Anspruchgsgruppe = True Then Me.C1Truedbgrid1.Splits(0).DisplayColumns("Anspruchsgruppe").FetchStyle = True + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Themengruppe").FetchStyle = True + + + End If + If cbboxTabelle.Checked = True Then + Me.C1Truedbgrid1.DataView = C1.Win.C1TrueDBGrid.DataViewEnum.Normal + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Stichwort").Visible = True + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Stichwort").AutoSize() + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Artikel").AutoSize() + Me.C1Truedbgrid1.Style.WrapText = True + + End If + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Bezeichnung").Visible = False + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Beschreibung").Visible = False + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Suchbegriffe").Visible = False + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Gueltig_Ab").Visible = False + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Gueltig_Bis").Visible = False + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Aktiv").Visible = False + 'Me.C1Truedbgrid1.Splits(0).DisplayColumns("Aktiv_Reaktiv").Visible = False + If Me.cbboxShowGueltigkeit.Checked Then + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Gueltig_Ab").Visible = True + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Gueltig_Bis").Visible = True + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Aktiv").Visible = True + 'For i As Integer = 0 To C1Truedbgrid1.Splits(0).Rows.Count - 1 + ' C1Truedbgrid1.Splits(0).Rows(i).AutoSize() + ' Next + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Gueltig_Ab").Width = 80 + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Gueltig_Bis").Width = 80 + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Aktiv").Width = 50 + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Stichwort").Width = 100 + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Artikel").Width = Me.C1Truedbgrid1.Width - 400 + + End If + + For i As Integer = 0 To C1Truedbgrid1.Splits(0).Rows.Count - 1 + C1Truedbgrid1.Splits(0).Rows(i).AutoSize() + Next + + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Stichwort").Width = 150 + + + If cbboxTabelle.Checked Then + + 'For i As Integer = 0 To C1Truedbgrid1.Splits(0).DisplayColumns.Count - 1 + If Me.Show_Anspruchgsgruppe = True Then + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Anspruchsgruppe").Width = 100 + + End If + Me.C1Truedbgrid1.Splits(0).DisplayColumns("ThemengruppeNr").Width = 0 + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Themengruppe").Width = 100 + Me.C1Truedbgrid1.Splits(0).DisplayColumns("ThemengruppeNr").Width = 0 + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Stichwort").Width = 150 + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Artikel").Width = Me.C1Truedbgrid1.Width - 350 + If Me.cbboxShowGueltigkeit.Checked = True Then + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Gueltig_Ab").Width = 80 + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Gueltig_Bis").Width = 80 + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Aktiv").Width = 50 + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Artikel").Width = Me.C1Truedbgrid1.Width - 560 + + End If + + + + 'C1Truedbgrid1.Splits(0).DisplayColumns(i).AutoSize() + 'Next + Else + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Artikel").Width = Me.C1Truedbgrid1.Width - Me.C1Truedbgrid1.Splits(0).DisplayColumns("stichwort").Width - 60 + End If + + 'For i As Integer = 0 To C1Truedbgrid1.Splits(0).DisplayColumns.Count - 1 + ' C1Truedbgrid1.Splits(0).DisplayColumns(i).AutoSize() + 'Next + C1Truedbgrid1.Style.WrapText = True + For I As Integer = 0 To C1Truedbgrid1.Splits(0).Rows.Count - 1 + C1Truedbgrid1.Splits(0).Rows(I).AutoSize() + If C1Truedbgrid1.Splits(0).Rows(I).Height < C1Truedbgrid1.RowHeight Then + C1Truedbgrid1.Splits(0).Rows(I).Height = C1Truedbgrid1.RowHeight + End If + Next + + Try + C1Truedbgrid1.Columns("Themengruppe").Caption = Get_Paramvalue(3) + C1Truedbgrid1.Columns("Themengruppenr").Caption = "" + Me.C1Truedbgrid1.Enabled = False + Me.C1Truedbgrid1.Enabled = True + Catch ex As Exception + + End Try + + + Catch ex As Exception + 'MsgBox(ex.Message) + Finally + C1Truedbgrid1.ResumeLayout(True) + End Try + + End Sub + + Private Sub C1Truedbgrid1_AfterFilter(sender As Object, e As C1.Win.C1TrueDBGrid.FilterEventArgs) Handles C1Truedbgrid1.AfterFilter + Me.C1Truedbgrid1.BackColor = layout.TileAbsender_Header_FontColor + End Sub + + Private Sub C1Truedbgrid1_FetchCellTips(sender As Object, e As C1.Win.C1TrueDBGrid.FetchCellTipsEventArgs) Handles C1Truedbgrid1.FetchCellTips + Me.ToolTip1.SetToolTip(sender, e.CellTip) + e.CellTip = "" + End Sub + + Private Sub C1TrueDBGrid1_FetchGroupCellStyle(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.FetchCellStyleEventArgs) Handles C1Truedbgrid1.FetchGroupCellStyle + + Dim FNT As Font = e.CellStyle.Font + e.CellStyle.Font = New Font(FNT, FontStyle.Bold) + e.CellStyle.ForeColor = Color.Blue + e.CellStyle.Padding.Top = 0 + e.CellStyle.Padding.Bottom = 0 + End Sub + + Private Sub C1Truedbgrid1_FetchRowStyle(sender As Object, e As FetchRowStyleEventArgs) Handles C1Truedbgrid1.FetchRowStyle + e.CellStyle.Padding.Top = 10 + e.CellStyle.Padding.Bottom = 10 + End Sub + + Private Sub Panel1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Panel3.Paint, PanelBotschaft.Paint, Panel1.Paint + Dim TheControl As Control = CType(sender, Control) + Dim oRAngle As Rectangle = New Rectangle(0, 0, TheControl.Width, TheControl.Height) + Dim oGradientBrush As Brush = New Drawing.Drawing2D.LinearGradientBrush( + oRAngle, + layout.Background_From, layout.Background_to, + Drawing.Drawing2D _ + .LinearGradientMode.ForwardDiagonal) + e.Graphics.FillRectangle(oGradientBrush, oRAngle) + + 'Color.White, + 'Color.SteelBlue, + End Sub + + Private Sub TileReport_Click(sender As Object, e As EventArgs) Handles TileReport.Click + Insert_Report_log("Report") + Me.SuspendLayout() + Dim i As Integer + i = Me.WindowState + Show_Report(False) + Me.WindowState = i + Me.ResumeLayout() + End Sub + + Sub Show_Report(ByVal design As Boolean) + Try + Dim t As DataTable + t = Me.C1Truedbgrid1.DataSource + If t.Rows.Count < 1 Then + MsgBox("Bitte zuerst eine Auswahl treffen.", MsgBoxStyle.Information) + Exit Sub + + End If + Catch ex As Exception + MsgBox("Bitte zuerst eine Auswahl treffen.", MsgBoxStyle.Information) + Exit Sub + End Try + If Show_Absender = True Then + Dim rpt As New _FRReporting._FRReporting + rpt.ConnectionString = Globals.sConnectionString + rpt.Mitarbeiternr = Globals.clsmitarbeiter.iMitarbeiternr.Value + rpt.TempFilePath = Globals.clsapplication.sTmp_filepath.Value + Dim ds As New DataSet + ds.Tables.Clear() + ds.Tables.Add(tbltemp.Copy) + rpt.Print_Report_With_Data(kb.Get_Parameter(1), "", "", Me.ParentForm, ds, design, True) + Else + If Show_Anspruchgsgruppe = True Then + Dim rpt As New _FRReporting._FRReporting + rpt.ConnectionString = Globals.sConnectionString + rpt.Mitarbeiternr = Globals.clsmitarbeiter.iMitarbeiternr.Value + rpt.TempFilePath = Globals.clsapplication.sTmp_filepath.Value + Dim ds As New DataSet + ds.Tables.Clear() + ds.Tables.Add(tbltemp.Copy) + rpt.Print_Report_With_Data(kb.Get_Parameter(2), "", "", Me, ds, design, True) + Else + Dim rpt As New _FRReporting._FRReporting + rpt.ConnectionString = Globals.sConnectionString + rpt.Mitarbeiternr = Globals.clsmitarbeiter.iMitarbeiternr.Value + rpt.TempFilePath = Globals.clsapplication.sTmp_filepath.Value + Dim ds As New DataSet + ds.Tables.Clear() + ds.Tables.Add(tbltemp.Copy) + rpt.Print_Report_With_Data(kb.Get_Parameter(10), "", "", Me, ds, design, True) + End If + + End If + End Sub + + Sub Insert_Report_log(ByVal typ As String) + Dim s As String = "" + Dim s1 As String = "" + Dim s2 As String = "" + For Each c As Control In TileFlowStackAbsender.Controls + Dim t As CG.Controls.Grid.Container.TextImageTile + t = c + If t.Selected = True Then + If s <> "" Then s = s + " / " + s = s + t.Description + End If + Next + s = "Absender: " + s + vbCrLf + + For Each c As Control In TileFlowLayoutAnspruchsgruppe.Controls + Dim t As CG.Controls.Grid.Container.TextImageTile + t = c + If t.Selected = True Then + If s1 <> "" Then s1 = s1 + " / " + s1 = s1 + t.Description + End If + Next + s1 = "Themengruppe: " + s1 + vbCrLf + + For Each c As Control In TileFlowLayoutThemengruppe.Controls + Dim t As CG.Controls.Grid.Container.TextImageTile + t = c + If t.Selected = True Then + If s2 <> "" Then s2 = s2 + " / " + s2 = s2 + t.Description + End If + Next + s2 = "Themengruppe: " + s2 + + kb.Insert_userlog(Get_Username, typ, s + s1 + s2) + End Sub + + Private Sub TileExcel_Click(sender As Object, e As EventArgs) Handles TileExcel.Click + Insert_Report_log("Excel") + Try + Dim t As DataTable + t = Me.C1Truedbgrid1.DataSource + If t.Rows.Count < 1 Then + MsgBox("Bitte zuerst eine Auswahl treffen.", MsgBoxStyle.Information) + Exit Sub + + End If + Catch ex As Exception + MsgBox("Bitte zuerst eine Auswahl treffen.", MsgBoxStyle.Information) + Exit Sub + End Try + Me.C1Truedbgrid1.BeginInit() + Me.C1Truedbgrid1.DataView = C1.Win.C1TrueDBGrid.DataViewEnum.Normal + Dim fn As String + fn = Globals.clsapplication.sTmp_filepath + "\" + System.IO.Path.GetRandomFileName + ".xlsx" + Me.C1Truedbgrid1.ExportTo(fn) + If Me.Show_Absender = True Then + Me.C1Truedbgrid1.GroupedColumns.Add(Me.C1Truedbgrid1.Columns("Absender")) + Me.C1Truedbgrid1.GroupedColumns.Add(Me.C1Truedbgrid1.Columns("Anspruchsgruppe")) + Me.C1Truedbgrid1.GroupedColumns.Add(Me.C1Truedbgrid1.Columns("Themengruppe")) + Else + Me.C1Truedbgrid1.GroupedColumns.Add(Me.C1Truedbgrid1.Columns("Anspruchsgruppe")) + Me.C1Truedbgrid1.GroupedColumns.Add(Me.C1Truedbgrid1.Columns("Themengruppe")) + End If + Me.C1Truedbgrid1.DataView = C1.Win.C1TrueDBGrid.DataViewEnum.GroupBy + Me.C1Truedbgrid1.ExpandGroupRow(-1, True) + Me.C1Truedbgrid1.EndInit() + Process.Start(fn) + 'Me.C1Truedbgrid1.ExportTo("h:\tssettings\test.pdf") + 'Process.Start("h:\tssettings\test.pdf") + End Sub + + Private Sub EintragBearbeitenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles EintragBearbeitenToolStripMenuItem.Click + Dim f As New frmKernbotschaft(Me.C1Truedbgrid1.Columns("Artikelnr").Value) + 'f.MdiParent = Me.MdiParent + f.ShowDialog() + kbtblkb.cpMainConnectionProvider = Globals.conn + tblkb = kbtblkb.SelectAll + Update_view() + + End Sub + + Private Sub NeuerEintragToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles NeuerEintragToolStripMenuItem.Click + Dim f As New frmKernbotschaft(0, True) + 'f.MdiParent = Me.MdiParent + f.ShowDialog() + kbtblkb.cpMainConnectionProvider = Globals.conn + tblkb = kbtblkb.SelectAll + Update_view() + + End Sub + + Private Sub AbsenderAnzeigenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles AbsenderAnzeigenToolStripMenuItem.Click + Me.Show_Absender = True + ' Me.PlaceHolder.Visible = True + Me.tilePanelApps.Visible = True + Me.Update_view() + End Sub + + Private Sub AbsenderAusblendenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles AbsenderAusblendenToolStripMenuItem.Click + Me.Show_Absender = False + ' Me.PlaceHolder.Visible = False + Me.tilePanelApps.Visible = False + For Each t As Control In TileFlowStackAbsender.Controls + Dim tt As CG.Controls.Grid.Container.TextImageTile + tt = t + tt.Selected = True + + Next + Me.Update_view() + End Sub + + Private Sub ReportBearbeitenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ReportBearbeitenToolStripMenuItem.Click + Show_Report(True) + End Sub + + Private Sub cbboxNurAktive_CheckedChanged(sender As Object, e As EventArgs) Handles cbboxNurAktive.CheckedChanged + Update_view() + End Sub + + Private Sub cbboxNurGueltige_CheckedChanged(sender As Object, e As EventArgs) Handles cbboxNurGueltige.CheckedChanged + Update_view() + End Sub + + Private Sub cbboxShowGueltigkeit_CheckedChanged(sender As Object, e As EventArgs) Handles cbboxShowGueltigkeit.CheckedChanged + Update_view() + End Sub + + Private Sub btnSuche_Click(sender As Object, e As EventArgs) Handles btnSuche.Click + Update_view_Suche() + 'suchen() + End Sub + + Private Sub Update_View_Suche() + Dim s2 As String = "" + For Each c As Control In TileFlowLayoutThemengruppe.Controls + Dim t As CG.Controls.Grid.Container.TextImageTile + t = c + If t.Selected = True Then + If s2 <> "" Then s2 = s2 + " or " + s2 = s2 + "Themengruppenr=" + t.Tag.ToString + End If + Next + If s2 = "" Then + If Me.Show_Absender = True Then + For Each t As Control In TileFlowStackAbsender.Controls + Dim tt As CG.Controls.Grid.Container.TextImageTile + tt = t + tt.Selected = True + Next + End If + + For Each t As Control In TileFlowLayoutAnspruchsgruppe.Controls + Dim tt As CG.Controls.Grid.Container.TextImageTile + tt = t + tt.Selected = True + Next + + For Each t As Control In TileFlowLayoutThemengruppe.Controls + Dim tt As CG.Controls.Grid.Container.TextImageTile + tt = t + tt.Selected = True + Next + End If + Update_view() + + End Sub + Sub suchen() + + Dim dview As New DataView(tblkb, "artikel like '%" + Me.txtsuche.Text + "%'", "", DataViewRowState.CurrentRows) + tbltemp.Rows.Clear() + tbltemp1.Rows.Clear() + tbltemp = dview.Table.Clone + Dim drv As DataRowView + For Each drv In dview + tbltemp.ImportRow(drv.Row) + Next + + Me.C1Truedbgrid1.FetchRowStyles = True + + + Me.C1Truedbgrid1.DataSource = Nothing + + format_grid() + Exit Sub + + Me.C1Truedbgrid1.DataSource = tbltemp + Me.C1Truedbgrid1.DataMember = tbltemp.TableName + For i As Integer = 0 To C1Truedbgrid1.Splits(0).Rows.Count - 1 + C1Truedbgrid1.Splits(0).Rows(i).AutoSize() + Next + + Me.C1Truedbgrid1.ColumnHeaders = True + + If Show_Absender = True Then + Me.C1Truedbgrid1.Splits(0).DisplayColumns(0).Visible = False + Me.C1Truedbgrid1.Splits(0).DisplayColumns(2).Visible = False + Me.C1Truedbgrid1.Splits(0).DisplayColumns(4).Visible = False + Me.C1Truedbgrid1.Splits(0).DisplayColumns(6).Visible = False + Me.C1Truedbgrid1.GroupedColumns.Add(Me.C1Truedbgrid1.Columns("Absender")) + Me.C1Truedbgrid1.GroupedColumns.Add(Me.C1Truedbgrid1.Columns("Anspruchsgruppe")) + Me.C1Truedbgrid1.GroupedColumns.Add(Me.C1Truedbgrid1.Columns("Themengruppe")) + Me.C1Truedbgrid1.DataView = C1.Win.C1TrueDBGrid.DataViewEnum.GroupBy + Me.C1Truedbgrid1.ExpandGroupRow(-1, True) + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Artikel").Width = Me.C1Truedbgrid1.Width - 100 + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Artikel").FetchStyle = True + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Absender").FetchStyle = True + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Anspruchsgruppe").FetchStyle = True + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Themengruppe").FetchStyle = True + Else + Me.C1Truedbgrid1.Splits(0).DisplayColumns(0).Visible = False + Me.C1Truedbgrid1.Splits(0).DisplayColumns(2).Visible = False + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Artikelnr").Visible = False + Me.C1Truedbgrid1.GroupedColumns.Add(Me.C1Truedbgrid1.Columns("Anspruchsgruppe")) + Me.C1Truedbgrid1.GroupedColumns.Add(Me.C1Truedbgrid1.Columns("Themengruppe")) + Me.C1Truedbgrid1.DataView = C1.Win.C1TrueDBGrid.DataViewEnum.GroupBy + Me.C1Truedbgrid1.ExpandGroupRow(-1, True) + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Artikel").Width = Me.C1Truedbgrid1.Width - 100 + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Artikel").FetchStyle = True + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Anspruchsgruppe").FetchStyle = True + Me.C1Truedbgrid1.Splits(0).DisplayColumns("Themengruppe").FetchStyle = True + + End If + For i As Integer = 0 To C1Truedbgrid1.Splits(0).Rows.Count - 1 + C1Truedbgrid1.Splits(0).Rows(i).AutoSize() + Next + + + End Sub + + + Private Sub txtsuche_KeyDown(sender As Object, e As KeyEventArgs) Handles txtsuche.KeyDown + If e.KeyCode = Keys.Enter Then Update_view_suche() + If e.KeyCode = Keys.Escape Then + Me.txtsuche.Text = "" + Update_view_Suche() + End If + End Sub + + Private Sub ctxMenuReport_Opening(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles ctxMenuReport.Opening + If Me.PnlAdmin.Visible = False Then e.Cancel = True + End Sub + + Private Sub ctxMenuGruppenansicht_Opening(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles ctxMenuGruppenansicht.Opening + If Me.PnlAdmin.Visible = False Then e.Cancel = True + + End Sub + + Private Sub ctxMenuEinträge_Opening(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles ctxMenuEinträge.Opening + If Me.PnlAdmin.Visible = False Then e.Cancel = True + End Sub + + Private Sub TextImageTile1_Click(sender As Object, e As EventArgs) Handles TextImageTile1.Click + If Me.Show_Absender = True Then + For Each t As Control In TileFlowStackAbsender.Controls + Dim tt As CG.Controls.Grid.Container.TextImageTile + tt = t + tt.Selected = True + Next + End If + + For Each t As Control In TileFlowLayoutAnspruchsgruppe.Controls + Dim tt As CG.Controls.Grid.Container.TextImageTile + tt = t + tt.Selected = True + Next + + For Each t As Control In TileFlowLayoutThemengruppe.Controls + Dim tt As CG.Controls.Grid.Container.TextImageTile + tt = t + tt.Selected = True + Next + Update_view() + End Sub + + Private Sub TextImageTile2_Click(sender As Object, e As EventArgs) Handles TextImageTile2.Click + If Me.Show_Absender = True Then + For Each t As Control In TileFlowStackAbsender.Controls + Dim tt As CG.Controls.Grid.Container.TextImageTile + tt = t + tt.Selected = False + Next + End If + + For Each t As Control In TileFlowLayoutAnspruchsgruppe.Controls + Dim tt As CG.Controls.Grid.Container.TextImageTile + tt = t + tt.Selected = False + Next + + For Each t As Control In TileFlowLayoutThemengruppe.Controls + Dim tt As CG.Controls.Grid.Container.TextImageTile + tt = t + tt.Selected = False + Next + Update_view() + End Sub + + Private Sub TileNurAktiv_Click(sender As Object, e As EventArgs) Handles TileNurAktiv.Click + If TileNurAktiv.Selected Then TileNurAktiv.Selected = False Else TileNurAktiv.Selected = True + Update_view() + End Sub + + Private Sub TileReaktiveBotschaften_Click(sender As Object, e As EventArgs) Handles TileReaktiveBotschaften.Click + If TileReaktiveBotschaften.Selected Then TileReaktiveBotschaften.Selected = False Else TileReaktiveBotschaften.Selected = True + Update_view() + End Sub + + Private Sub AllgemeineEinstellungenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles AllgemeineEinstellungenToolStripMenuItem.Click + Dim f As New frm_KBParam + f.ShowDialog() + End Sub + + Private Sub btnDelSuche_Click(sender As Object, e As EventArgs) Handles btnDelSuche.Click + Me.txtsuche.Text = "" + Update_view() + End Sub + + Private Sub btnSuche_VisibleChanged(sender As Object, e As EventArgs) Handles btnSuche.VisibleChanged + Me.btnDelSuche.Visible = Me.btnSuche.Visible + End Sub + + Private Sub cbboxTabelle_CheckedChanged(sender As Object, e As EventArgs) Handles cbboxTabelle.CheckedChanged + Update_view() + End Sub + + Private Sub PnlAdmin_VisibleChanged(sender As Object, e As EventArgs) Handles PnlAdmin.VisibleChanged + TileExcel.Visible = PnlAdmin.Visible + End Sub + + Private Sub TileHelp_Click(sender As Object, e As EventArgs) Handles TileHelp.Click + Try + Process.Start(Application.StartupPath + "\Tim_KB_Help.pdf") + Catch + End Try + + End Sub + + Private Sub frmKB_Presentation_ResizeBegin(sender As Object, e As EventArgs) Handles Me.ResizeBegin + 'Me.PlaceHolder.Visible = False + 'Me.PlaceHolder1.Visible = False + 'Me.PlaceHolder2.Visible = False + 'Panel2.Visible = False + ''Panel3.Enabled = False + 'StackPanelItem5.Enabled = False + 'Panel3.Visible = False + + + + End Sub + + Private Sub frmBG_ResizeEnd(sender As Object, e As System.EventArgs) Handles Me.ResizeEnd + ' Me.Invalidate() + format_grid() + + 'Me.PlaceHolder.Enabled = True + 'Me.PlaceHolder1.Enabled = True + 'Me.PlaceHolder2.Enabled = True + 'Panel3.Enabled = True + 'sackPanelItem5.Enabled = True + 'Me.Panel3.Visible = True + End Sub + + Private Sub frmKB_Presentation_Shown(sender As Object, e As EventArgs) Handles Me.Shown + 'Me.Panel3.Visible = True + End Sub + + Private Sub frmKB_Presentation_SizeChanged(sender As Object, e As EventArgs) Handles Me.SizeChanged + Me.Panel3.Visible = True + End Sub + + +End Class \ No newline at end of file diff --git a/Themenmanagement/Kernbotschaften/frmKernbotschaft.Designer.vb b/Themenmanagement/Kernbotschaften/frmKernbotschaft.Designer.vb new file mode 100644 index 0000000..3902fa4 --- /dev/null +++ b/Themenmanagement/Kernbotschaften/frmKernbotschaft.Designer.vb @@ -0,0 +1,658 @@ + _ +Partial Class frmKernbotschaft + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmKernbotschaft)) + Me.MenuStrip1 = New System.Windows.Forms.MenuStrip() + Me.DateiToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.KommunikationToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.NeuerEintragToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.EintragLöschenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStrip1 = New System.Windows.Forms.ToolStrip() + Me.TSBtnQuit = New System.Windows.Forms.ToolStripButton() + Me.TSBtnSave = New System.Windows.Forms.ToolStripButton() + Me.ToolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator() + Me.TSBtnNew = New System.Windows.Forms.ToolStripButton() + Me.TSBtnCopy = New System.Windows.Forms.ToolStripButton() + Me.TSBtnDelete = New System.Windows.Forms.ToolStripButton() + Me.TabControl1 = New System.Windows.Forms.TabControl() + Me.TabPage1 = New System.Windows.Forms.TabPage() + Me.SplitContainer1 = New System.Windows.Forms.SplitContainer() + Me.GroupBox3 = New System.Windows.Forms.GroupBox() + Me.clbThemengruppe = New System.Windows.Forms.CheckedListBox() + Me.GroupBox2 = New System.Windows.Forms.GroupBox() + Me.clbAnspruchsgruppe = New System.Windows.Forms.CheckedListBox() + Me.GroupBox1 = New System.Windows.Forms.GroupBox() + Me.clbAbsender = New System.Windows.Forms.CheckedListBox() + Me.GroupBox4 = New System.Windows.Forms.GroupBox() + Me.txtArtikel = New System.Windows.Forms.TextBox() + Me.ShurtfEditor1 = New RTFEditor.SHURTFEditor() + Me.Allgemein = New System.Windows.Forms.GroupBox() + Me.rbReaktiveBotschaft = New System.Windows.Forms.RadioButton() + Me.rbaktiveBotschaft = New System.Windows.Forms.RadioButton() + Me.txtGueltigbis = New System.Windows.Forms.MaskedTextBox() + Me.txtGueltigab = New System.Windows.Forms.MaskedTextBox() + Me.txtMutierer = New System.Windows.Forms.TextBox() + Me.dtGueltigBis = New System.Windows.Forms.DateTimePicker() + Me.Label5 = New System.Windows.Forms.Label() + Me.Label7 = New System.Windows.Forms.Label() + Me.dtGueltigAb = New System.Windows.Forms.DateTimePicker() + Me.Label8 = New System.Windows.Forms.Label() + Me.cbAktiv = New System.Windows.Forms.CheckBox() + Me.Label6 = New System.Windows.Forms.Label() + Me.txtErstellt_am = New System.Windows.Forms.TextBox() + Me.Label11 = New System.Windows.Forms.Label() + Me.Label9 = New System.Windows.Forms.Label() + Me.txtMutiert_am = New System.Windows.Forms.TextBox() + Me.txtBeschreibung = New System.Windows.Forms.TextBox() + Me.txtSuchbegriffe = New System.Windows.Forms.TextBox() + Me.Label2 = New System.Windows.Forms.Label() + Me.Label3 = New System.Windows.Forms.Label() + Me.txtTitel = New System.Windows.Forms.TextBox() + Me.Label1 = New System.Windows.Forms.Label() + Me.Label4 = New System.Windows.Forms.Label() + Me.txtSchlagwort = New System.Windows.Forms.TextBox() + Me.MenuStrip1.SuspendLayout() + Me.ToolStrip1.SuspendLayout() + Me.TabControl1.SuspendLayout() + Me.TabPage1.SuspendLayout() + CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SplitContainer1.Panel1.SuspendLayout() + Me.SplitContainer1.Panel2.SuspendLayout() + Me.SplitContainer1.SuspendLayout() + Me.GroupBox3.SuspendLayout() + Me.GroupBox2.SuspendLayout() + Me.GroupBox1.SuspendLayout() + Me.GroupBox4.SuspendLayout() + Me.Allgemein.SuspendLayout() + Me.SuspendLayout() + ' + 'MenuStrip1 + ' + Me.MenuStrip1.AllowMerge = False + Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DateiToolStripMenuItem, Me.KommunikationToolStripMenuItem}) + Me.MenuStrip1.Location = New System.Drawing.Point(0, 0) + Me.MenuStrip1.Name = "MenuStrip1" + Me.MenuStrip1.Size = New System.Drawing.Size(873, 24) + Me.MenuStrip1.TabIndex = 7 + Me.MenuStrip1.Text = "MenuStrip1" + ' + 'DateiToolStripMenuItem + ' + Me.DateiToolStripMenuItem.Name = "DateiToolStripMenuItem" + Me.DateiToolStripMenuItem.Size = New System.Drawing.Size(46, 20) + Me.DateiToolStripMenuItem.Text = "&Datei" + ' + 'KommunikationToolStripMenuItem + ' + Me.KommunikationToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.NeuerEintragToolStripMenuItem, Me.EintragLöschenToolStripMenuItem}) + Me.KommunikationToolStripMenuItem.Name = "KommunikationToolStripMenuItem" + Me.KommunikationToolStripMenuItem.Size = New System.Drawing.Size(105, 20) + Me.KommunikationToolStripMenuItem.Text = "&Kommunikation" + Me.KommunikationToolStripMenuItem.Visible = False + ' + 'NeuerEintragToolStripMenuItem + ' + Me.NeuerEintragToolStripMenuItem.Name = "NeuerEintragToolStripMenuItem" + Me.NeuerEintragToolStripMenuItem.Size = New System.Drawing.Size(155, 22) + Me.NeuerEintragToolStripMenuItem.Text = "&Neuer Eintrag" + ' + 'EintragLöschenToolStripMenuItem + ' + Me.EintragLöschenToolStripMenuItem.Name = "EintragLöschenToolStripMenuItem" + Me.EintragLöschenToolStripMenuItem.Size = New System.Drawing.Size(155, 22) + Me.EintragLöschenToolStripMenuItem.Text = "&Eintrag löschen" + ' + 'ToolStrip1 + ' + Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.TSBtnQuit, Me.TSBtnSave, Me.ToolStripSeparator1, Me.TSBtnNew, Me.TSBtnCopy, Me.TSBtnDelete}) + Me.ToolStrip1.Location = New System.Drawing.Point(0, 24) + Me.ToolStrip1.Name = "ToolStrip1" + Me.ToolStrip1.Size = New System.Drawing.Size(873, 25) + Me.ToolStrip1.TabIndex = 8 + Me.ToolStrip1.Text = "ToolStrip1" + ' + 'TSBtnQuit + ' + Me.TSBtnQuit.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnQuit.Image = CType(resources.GetObject("TSBtnQuit.Image"), System.Drawing.Image) + Me.TSBtnQuit.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnQuit.Name = "TSBtnQuit" + Me.TSBtnQuit.Size = New System.Drawing.Size(23, 22) + Me.TSBtnQuit.Text = "ToolStripButton1" + Me.TSBtnQuit.ToolTipText = "Anwendung beenden" + ' + 'TSBtnSave + ' + Me.TSBtnSave.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnSave.Image = CType(resources.GetObject("TSBtnSave.Image"), System.Drawing.Image) + Me.TSBtnSave.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnSave.Name = "TSBtnSave" + Me.TSBtnSave.Size = New System.Drawing.Size(23, 22) + Me.TSBtnSave.Text = "ToolStripButton1" + Me.TSBtnSave.ToolTipText = "Daten speichern" + ' + 'ToolStripSeparator1 + ' + Me.ToolStripSeparator1.Name = "ToolStripSeparator1" + Me.ToolStripSeparator1.Size = New System.Drawing.Size(6, 25) + ' + 'TSBtnNew + ' + Me.TSBtnNew.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnNew.Image = CType(resources.GetObject("TSBtnNew.Image"), System.Drawing.Image) + Me.TSBtnNew.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnNew.Name = "TSBtnNew" + Me.TSBtnNew.Size = New System.Drawing.Size(23, 22) + Me.TSBtnNew.Text = "Neues Thema" + Me.TSBtnNew.ToolTipText = "Neuer Datensatz" + Me.TSBtnNew.Visible = False + ' + 'TSBtnCopy + ' + Me.TSBtnCopy.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnCopy.Image = CType(resources.GetObject("TSBtnCopy.Image"), System.Drawing.Image) + Me.TSBtnCopy.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnCopy.Name = "TSBtnCopy" + Me.TSBtnCopy.Size = New System.Drawing.Size(23, 22) + Me.TSBtnCopy.Text = "ToolStripButton2" + Me.TSBtnCopy.ToolTipText = "Datensatz kopieren" + Me.TSBtnCopy.Visible = False + ' + 'TSBtnDelete + ' + Me.TSBtnDelete.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnDelete.Image = CType(resources.GetObject("TSBtnDelete.Image"), System.Drawing.Image) + Me.TSBtnDelete.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnDelete.Name = "TSBtnDelete" + Me.TSBtnDelete.Size = New System.Drawing.Size(23, 22) + Me.TSBtnDelete.Text = "Thema inaktivieren" + Me.TSBtnDelete.ToolTipText = "Datensatz inaktivieren" + Me.TSBtnDelete.Visible = False + ' + 'TabControl1 + ' + Me.TabControl1.Controls.Add(Me.TabPage1) + Me.TabControl1.Dock = System.Windows.Forms.DockStyle.Fill + Me.TabControl1.Location = New System.Drawing.Point(0, 49) + Me.TabControl1.Name = "TabControl1" + Me.TabControl1.SelectedIndex = 0 + Me.TabControl1.Size = New System.Drawing.Size(873, 502) + Me.TabControl1.TabIndex = 9 + ' + 'TabPage1 + ' + Me.TabPage1.BackColor = System.Drawing.SystemColors.Control + Me.TabPage1.Controls.Add(Me.SplitContainer1) + Me.TabPage1.Location = New System.Drawing.Point(4, 22) + Me.TabPage1.Name = "TabPage1" + Me.TabPage1.Padding = New System.Windows.Forms.Padding(3) + Me.TabPage1.Size = New System.Drawing.Size(865, 476) + Me.TabPage1.TabIndex = 0 + Me.TabPage1.Text = "Kernbotschaft" + ' + 'SplitContainer1 + ' + Me.SplitContainer1.Dock = System.Windows.Forms.DockStyle.Fill + Me.SplitContainer1.Location = New System.Drawing.Point(3, 3) + Me.SplitContainer1.Name = "SplitContainer1" + ' + 'SplitContainer1.Panel1 + ' + Me.SplitContainer1.Panel1.Controls.Add(Me.GroupBox3) + Me.SplitContainer1.Panel1.Controls.Add(Me.GroupBox2) + Me.SplitContainer1.Panel1.Controls.Add(Me.GroupBox1) + ' + 'SplitContainer1.Panel2 + ' + Me.SplitContainer1.Panel2.Controls.Add(Me.GroupBox4) + Me.SplitContainer1.Panel2.Controls.Add(Me.Allgemein) + Me.SplitContainer1.Size = New System.Drawing.Size(859, 470) + Me.SplitContainer1.SplitterDistance = 286 + Me.SplitContainer1.TabIndex = 0 + ' + 'GroupBox3 + ' + Me.GroupBox3.Controls.Add(Me.clbThemengruppe) + Me.GroupBox3.Dock = System.Windows.Forms.DockStyle.Fill + Me.GroupBox3.Location = New System.Drawing.Point(0, 264) + Me.GroupBox3.Name = "GroupBox3" + Me.GroupBox3.Size = New System.Drawing.Size(286, 206) + Me.GroupBox3.TabIndex = 13 + Me.GroupBox3.TabStop = False + Me.GroupBox3.Text = "Themengruppen" + ' + 'clbThemengruppe + ' + Me.clbThemengruppe.Dock = System.Windows.Forms.DockStyle.Fill + Me.clbThemengruppe.FormattingEnabled = True + Me.clbThemengruppe.Items.AddRange(New Object() {"Unsere Bank allgemein / Zahlen, Fakten", "Wirtschaftsthemen", "Gesellschaftliches Engagement, Sponsoring", "Geweinnbeteilugung Kanton / Steuern", "Staatsgarantie / politische Aufsicht", "Produkte / Dienstleistungen", "TKB als Arbeitgeberin / Ausbildnerin", "Sicherheit", "Politische Themen im Bereich Bank", "Nachhaltigkeit / Umweltschutz"}) + Me.clbThemengruppe.Location = New System.Drawing.Point(3, 16) + Me.clbThemengruppe.Name = "clbThemengruppe" + Me.clbThemengruppe.Size = New System.Drawing.Size(280, 187) + Me.clbThemengruppe.TabIndex = 0 + ' + 'GroupBox2 + ' + Me.GroupBox2.Controls.Add(Me.clbAnspruchsgruppe) + Me.GroupBox2.Dock = System.Windows.Forms.DockStyle.Top + Me.GroupBox2.Location = New System.Drawing.Point(0, 132) + Me.GroupBox2.Name = "GroupBox2" + Me.GroupBox2.Size = New System.Drawing.Size(286, 132) + Me.GroupBox2.TabIndex = 12 + Me.GroupBox2.TabStop = False + Me.GroupBox2.Text = "Anspruchsgruppen" + ' + 'clbAnspruchsgruppe + ' + Me.clbAnspruchsgruppe.Dock = System.Windows.Forms.DockStyle.Fill + Me.clbAnspruchsgruppe.FormattingEnabled = True + Me.clbAnspruchsgruppe.Items.AddRange(New Object() {"Unternehmenr / Unternehmensleiter", "Vertreter aus Wirtschaftverband", "Vertreter aus Gewerbeverband", "Kantonsrat / Regierungsrat", "Vertreter aus Kantonsverwaltung", "Vertreter aus Gemeindebehörde", "Vertreter aus Schulberhörde"}) + Me.clbAnspruchsgruppe.Location = New System.Drawing.Point(3, 16) + Me.clbAnspruchsgruppe.Name = "clbAnspruchsgruppe" + Me.clbAnspruchsgruppe.Size = New System.Drawing.Size(280, 113) + Me.clbAnspruchsgruppe.TabIndex = 0 + ' + 'GroupBox1 + ' + Me.GroupBox1.Controls.Add(Me.clbAbsender) + Me.GroupBox1.Dock = System.Windows.Forms.DockStyle.Top + Me.GroupBox1.Location = New System.Drawing.Point(0, 0) + Me.GroupBox1.Name = "GroupBox1" + Me.GroupBox1.Size = New System.Drawing.Size(286, 132) + Me.GroupBox1.TabIndex = 11 + Me.GroupBox1.TabStop = False + Me.GroupBox1.Text = "Absender" + ' + 'clbAbsender + ' + Me.clbAbsender.Dock = System.Windows.Forms.DockStyle.Fill + Me.clbAbsender.FormattingEnabled = True + Me.clbAbsender.Items.AddRange(New Object() {"Bankrat", "Geschäftsleitung", "Leadership-Team", "Direktion / Kader"}) + Me.clbAbsender.Location = New System.Drawing.Point(3, 16) + Me.clbAbsender.Name = "clbAbsender" + Me.clbAbsender.Size = New System.Drawing.Size(280, 113) + Me.clbAbsender.TabIndex = 0 + ' + 'GroupBox4 + ' + Me.GroupBox4.Controls.Add(Me.txtArtikel) + Me.GroupBox4.Controls.Add(Me.ShurtfEditor1) + Me.GroupBox4.Dock = System.Windows.Forms.DockStyle.Fill + Me.GroupBox4.Location = New System.Drawing.Point(0, 243) + Me.GroupBox4.Name = "GroupBox4" + Me.GroupBox4.Size = New System.Drawing.Size(569, 227) + Me.GroupBox4.TabIndex = 12 + Me.GroupBox4.TabStop = False + Me.GroupBox4.Text = "Artikel" + ' + 'txtArtikel + ' + Me.txtArtikel.Dock = System.Windows.Forms.DockStyle.Fill + Me.txtArtikel.Location = New System.Drawing.Point(3, 16) + Me.txtArtikel.Multiline = True + Me.txtArtikel.Name = "txtArtikel" + Me.txtArtikel.Size = New System.Drawing.Size(563, 208) + Me.txtArtikel.TabIndex = 14 + ' + 'ShurtfEditor1 + ' + Me.ShurtfEditor1.Dock = System.Windows.Forms.DockStyle.Fill + Me.ShurtfEditor1.Document = Nothing + Me.ShurtfEditor1.Font = New System.Drawing.Font("Futura Book", 9.749999!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.ShurtfEditor1.Location = New System.Drawing.Point(3, 16) + Me.ShurtfEditor1.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4) + Me.ShurtfEditor1.Name = "ShurtfEditor1" + Me.ShurtfEditor1.Show_Filefunctions = False + Me.ShurtfEditor1.Size = New System.Drawing.Size(563, 208) + Me.ShurtfEditor1.TabIndex = 13 + ' + 'Allgemein + ' + Me.Allgemein.Controls.Add(Me.txtSchlagwort) + Me.Allgemein.Controls.Add(Me.Label4) + Me.Allgemein.Controls.Add(Me.rbReaktiveBotschaft) + Me.Allgemein.Controls.Add(Me.rbaktiveBotschaft) + Me.Allgemein.Controls.Add(Me.txtGueltigbis) + Me.Allgemein.Controls.Add(Me.txtGueltigab) + Me.Allgemein.Controls.Add(Me.txtMutierer) + Me.Allgemein.Controls.Add(Me.dtGueltigBis) + Me.Allgemein.Controls.Add(Me.Label5) + Me.Allgemein.Controls.Add(Me.Label7) + Me.Allgemein.Controls.Add(Me.dtGueltigAb) + Me.Allgemein.Controls.Add(Me.Label8) + Me.Allgemein.Controls.Add(Me.cbAktiv) + Me.Allgemein.Controls.Add(Me.Label6) + Me.Allgemein.Controls.Add(Me.txtErstellt_am) + Me.Allgemein.Controls.Add(Me.Label11) + Me.Allgemein.Controls.Add(Me.Label9) + Me.Allgemein.Controls.Add(Me.txtMutiert_am) + Me.Allgemein.Controls.Add(Me.txtBeschreibung) + Me.Allgemein.Controls.Add(Me.txtSuchbegriffe) + Me.Allgemein.Controls.Add(Me.Label2) + Me.Allgemein.Controls.Add(Me.Label3) + Me.Allgemein.Controls.Add(Me.txtTitel) + Me.Allgemein.Controls.Add(Me.Label1) + Me.Allgemein.Dock = System.Windows.Forms.DockStyle.Top + Me.Allgemein.Location = New System.Drawing.Point(0, 0) + Me.Allgemein.Name = "Allgemein" + Me.Allgemein.Size = New System.Drawing.Size(569, 243) + Me.Allgemein.TabIndex = 11 + Me.Allgemein.TabStop = False + Me.Allgemein.Text = "Allgemein" + ' + 'rbReaktiveBotschaft + ' + Me.rbReaktiveBotschaft.AutoSize = True + Me.rbReaktiveBotschaft.Location = New System.Drawing.Point(349, 178) + Me.rbReaktiveBotschaft.Name = "rbReaktiveBotschaft" + Me.rbReaktiveBotschaft.Size = New System.Drawing.Size(116, 17) + Me.rbReaktiveBotschaft.TabIndex = 44 + Me.rbReaktiveBotschaft.TabStop = True + Me.rbReaktiveBotschaft.Text = "Reaktive Botschaft" + Me.rbReaktiveBotschaft.UseVisualStyleBackColor = True + Me.rbReaktiveBotschaft.Visible = False + ' + 'rbaktiveBotschaft + ' + Me.rbaktiveBotschaft.AutoSize = True + Me.rbaktiveBotschaft.Location = New System.Drawing.Point(349, 155) + Me.rbaktiveBotschaft.Name = "rbaktiveBotschaft" + Me.rbaktiveBotschaft.Size = New System.Drawing.Size(103, 17) + Me.rbaktiveBotschaft.TabIndex = 43 + Me.rbaktiveBotschaft.TabStop = True + Me.rbaktiveBotschaft.Text = "Aktive Botschaft" + Me.rbaktiveBotschaft.UseVisualStyleBackColor = True + Me.rbaktiveBotschaft.Visible = False + ' + 'txtGueltigbis + ' + Me.txtGueltigbis.Location = New System.Drawing.Point(238, 174) + Me.txtGueltigbis.Mask = "00/00/0000" + Me.txtGueltigbis.Name = "txtGueltigbis" + Me.txtGueltigbis.Size = New System.Drawing.Size(61, 20) + Me.txtGueltigbis.TabIndex = 42 + Me.txtGueltigbis.ValidatingType = GetType(Date) + ' + 'txtGueltigab + ' + Me.txtGueltigab.Location = New System.Drawing.Point(84, 173) + Me.txtGueltigab.Mask = "00/00/0000" + Me.txtGueltigab.Name = "txtGueltigab" + Me.txtGueltigab.Size = New System.Drawing.Size(73, 20) + Me.txtGueltigab.TabIndex = 41 + Me.txtGueltigab.ValidatingType = GetType(Date) + ' + 'txtMutierer + ' + Me.txtMutierer.Location = New System.Drawing.Point(418, 95) + Me.txtMutierer.Name = "txtMutierer" + Me.txtMutierer.ReadOnly = True + Me.txtMutierer.Size = New System.Drawing.Size(91, 20) + Me.txtMutierer.TabIndex = 40 + ' + 'dtGueltigBis + ' + Me.dtGueltigBis.Format = System.Windows.Forms.DateTimePickerFormat.[Short] + Me.dtGueltigBis.Location = New System.Drawing.Point(238, 174) + Me.dtGueltigBis.Name = "dtGueltigBis" + Me.dtGueltigBis.Size = New System.Drawing.Size(91, 20) + Me.dtGueltigBis.TabIndex = 31 + Me.dtGueltigBis.TabStop = False + ' + 'Label5 + ' + Me.Label5.AutoSize = True + Me.Label5.Location = New System.Drawing.Point(346, 98) + Me.Label5.Name = "Label5" + Me.Label5.Size = New System.Drawing.Size(69, 13) + Me.Label5.TabIndex = 39 + Me.Label5.Text = "Mutiert durch" + ' + 'Label7 + ' + Me.Label7.AutoSize = True + Me.Label7.Location = New System.Drawing.Point(212, 176) + Me.Label7.Name = "Label7" + Me.Label7.Size = New System.Drawing.Size(20, 13) + Me.Label7.TabIndex = 32 + Me.Label7.Text = "bis" + ' + 'dtGueltigAb + ' + Me.dtGueltigAb.Format = System.Windows.Forms.DateTimePickerFormat.[Short] + Me.dtGueltigAb.Location = New System.Drawing.Point(84, 174) + Me.dtGueltigAb.Name = "dtGueltigAb" + Me.dtGueltigAb.Size = New System.Drawing.Size(100, 20) + Me.dtGueltigAb.TabIndex = 30 + Me.dtGueltigAb.TabStop = False + ' + 'Label8 + ' + Me.Label8.AutoSize = True + Me.Label8.Location = New System.Drawing.Point(346, 47) + Me.Label8.Name = "Label8" + Me.Label8.Size = New System.Drawing.Size(55, 13) + Me.Label8.TabIndex = 33 + Me.Label8.Text = "Erstellt am" + ' + 'cbAktiv + ' + Me.cbAktiv.AutoSize = True + Me.cbAktiv.Location = New System.Drawing.Point(418, 24) + Me.cbAktiv.Name = "cbAktiv" + Me.cbAktiv.Size = New System.Drawing.Size(15, 14) + Me.cbAktiv.TabIndex = 38 + Me.cbAktiv.UseVisualStyleBackColor = True + ' + 'Label6 + ' + Me.Label6.AutoSize = True + Me.Label6.Location = New System.Drawing.Point(12, 177) + Me.Label6.Name = "Label6" + Me.Label6.Size = New System.Drawing.Size(49, 13) + Me.Label6.TabIndex = 29 + Me.Label6.Text = "Gültig ab" + ' + 'txtErstellt_am + ' + Me.txtErstellt_am.Location = New System.Drawing.Point(418, 44) + Me.txtErstellt_am.Name = "txtErstellt_am" + Me.txtErstellt_am.ReadOnly = True + Me.txtErstellt_am.Size = New System.Drawing.Size(91, 20) + Me.txtErstellt_am.TabIndex = 34 + ' + 'Label11 + ' + Me.Label11.AutoSize = True + Me.Label11.Location = New System.Drawing.Point(346, 24) + Me.Label11.Name = "Label11" + Me.Label11.Size = New System.Drawing.Size(31, 13) + Me.Label11.TabIndex = 37 + Me.Label11.Text = "Aktiv" + ' + 'Label9 + ' + Me.Label9.AutoSize = True + Me.Label9.Location = New System.Drawing.Point(346, 70) + Me.Label9.Name = "Label9" + Me.Label9.Size = New System.Drawing.Size(56, 13) + Me.Label9.TabIndex = 35 + Me.Label9.Text = "Mutiert am" + ' + 'txtMutiert_am + ' + Me.txtMutiert_am.Location = New System.Drawing.Point(418, 70) + Me.txtMutiert_am.Name = "txtMutiert_am" + Me.txtMutiert_am.ReadOnly = True + Me.txtMutiert_am.Size = New System.Drawing.Size(91, 20) + Me.txtMutiert_am.TabIndex = 36 + ' + 'txtBeschreibung + ' + Me.txtBeschreibung.Location = New System.Drawing.Point(84, 45) + Me.txtBeschreibung.Multiline = True + Me.txtBeschreibung.Name = "txtBeschreibung" + Me.txtBeschreibung.Size = New System.Drawing.Size(245, 66) + Me.txtBeschreibung.TabIndex = 12 + ' + 'txtSuchbegriffe + ' + Me.txtSuchbegriffe.Location = New System.Drawing.Point(84, 115) + Me.txtSuchbegriffe.Multiline = True + Me.txtSuchbegriffe.Name = "txtSuchbegriffe" + Me.txtSuchbegriffe.Size = New System.Drawing.Size(245, 53) + Me.txtSuchbegriffe.TabIndex = 14 + ' + 'Label2 + ' + Me.Label2.AutoSize = True + Me.Label2.Location = New System.Drawing.Point(12, 47) + Me.Label2.Name = "Label2" + Me.Label2.Size = New System.Drawing.Size(72, 13) + Me.Label2.TabIndex = 11 + Me.Label2.Text = "Beschreibung" + ' + 'Label3 + ' + Me.Label3.AutoSize = True + Me.Label3.Location = New System.Drawing.Point(12, 117) + Me.Label3.Name = "Label3" + Me.Label3.Size = New System.Drawing.Size(67, 13) + Me.Label3.TabIndex = 13 + Me.Label3.Text = "Suchbegriffe" + ' + 'txtTitel + ' + Me.txtTitel.Location = New System.Drawing.Point(84, 19) + Me.txtTitel.Name = "txtTitel" + Me.txtTitel.Size = New System.Drawing.Size(245, 20) + Me.txtTitel.TabIndex = 8 + ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.Location = New System.Drawing.Point(12, 22) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(27, 13) + Me.Label1.TabIndex = 7 + Me.Label1.Text = "Titel" + ' + 'Label4 + ' + Me.Label4.AutoSize = True + Me.Label4.Location = New System.Drawing.Point(12, 210) + Me.Label4.Name = "Label4" + Me.Label4.Size = New System.Drawing.Size(60, 13) + Me.Label4.TabIndex = 45 + Me.Label4.Text = "Schlagwort" + ' + 'txtSchlagwort + ' + Me.txtSchlagwort.Location = New System.Drawing.Point(84, 207) + Me.txtSchlagwort.Name = "txtSchlagwort" + Me.txtSchlagwort.Size = New System.Drawing.Size(245, 20) + Me.txtSchlagwort.TabIndex = 46 + ' + 'frmKernbotschaft + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(873, 551) + Me.Controls.Add(Me.TabControl1) + Me.Controls.Add(Me.ToolStrip1) + Me.Controls.Add(Me.MenuStrip1) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.Name = "frmKernbotschaft" + Me.Text = "Kernbotschaft" + Me.MenuStrip1.ResumeLayout(False) + Me.MenuStrip1.PerformLayout() + Me.ToolStrip1.ResumeLayout(False) + Me.ToolStrip1.PerformLayout() + Me.TabControl1.ResumeLayout(False) + Me.TabPage1.ResumeLayout(False) + Me.SplitContainer1.Panel1.ResumeLayout(False) + Me.SplitContainer1.Panel2.ResumeLayout(False) + CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).EndInit() + Me.SplitContainer1.ResumeLayout(False) + Me.GroupBox3.ResumeLayout(False) + Me.GroupBox2.ResumeLayout(False) + Me.GroupBox1.ResumeLayout(False) + Me.GroupBox4.ResumeLayout(False) + Me.GroupBox4.PerformLayout() + Me.Allgemein.ResumeLayout(False) + Me.Allgemein.PerformLayout() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents MenuStrip1 As System.Windows.Forms.MenuStrip + Friend WithEvents DateiToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents KommunikationToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents NeuerEintragToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents EintragLöschenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStrip1 As System.Windows.Forms.ToolStrip + Friend WithEvents TSBtnQuit As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnSave As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripSeparator1 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents TSBtnCopy As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnNew As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnDelete As System.Windows.Forms.ToolStripButton + Friend WithEvents TabControl1 As System.Windows.Forms.TabControl + Friend WithEvents TabPage1 As System.Windows.Forms.TabPage + Friend WithEvents SplitContainer1 As System.Windows.Forms.SplitContainer + Friend WithEvents GroupBox3 As System.Windows.Forms.GroupBox + Friend WithEvents clbThemengruppe As System.Windows.Forms.CheckedListBox + Friend WithEvents GroupBox2 As System.Windows.Forms.GroupBox + Friend WithEvents clbAnspruchsgruppe As System.Windows.Forms.CheckedListBox + Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox + Friend WithEvents clbAbsender As System.Windows.Forms.CheckedListBox + Friend WithEvents Allgemein As System.Windows.Forms.GroupBox + Friend WithEvents txtTitel As System.Windows.Forms.TextBox + Friend WithEvents Label1 As System.Windows.Forms.Label + Friend WithEvents txtBeschreibung As System.Windows.Forms.TextBox + Friend WithEvents txtSuchbegriffe As System.Windows.Forms.TextBox + Friend WithEvents Label2 As System.Windows.Forms.Label + Friend WithEvents Label3 As System.Windows.Forms.Label + Friend WithEvents GroupBox4 As System.Windows.Forms.GroupBox + Friend WithEvents ShurtfEditor1 As RTFEditor.SHURTFEditor + Friend WithEvents txtGueltigbis As System.Windows.Forms.MaskedTextBox + Friend WithEvents txtGueltigab As System.Windows.Forms.MaskedTextBox + Friend WithEvents txtMutierer As System.Windows.Forms.TextBox + Friend WithEvents dtGueltigBis As System.Windows.Forms.DateTimePicker + Friend WithEvents Label5 As System.Windows.Forms.Label + Friend WithEvents Label7 As System.Windows.Forms.Label + Friend WithEvents dtGueltigAb As System.Windows.Forms.DateTimePicker + Friend WithEvents Label8 As System.Windows.Forms.Label + Friend WithEvents cbAktiv As System.Windows.Forms.CheckBox + Friend WithEvents Label6 As System.Windows.Forms.Label + Friend WithEvents txtErstellt_am As System.Windows.Forms.TextBox + Friend WithEvents Label11 As System.Windows.Forms.Label + Friend WithEvents Label9 As System.Windows.Forms.Label + Friend WithEvents txtMutiert_am As System.Windows.Forms.TextBox + Friend WithEvents txtArtikel As System.Windows.Forms.TextBox + Friend WithEvents rbReaktiveBotschaft As System.Windows.Forms.RadioButton + Friend WithEvents rbaktiveBotschaft As System.Windows.Forms.RadioButton + Friend WithEvents txtSchlagwort As TextBox + Friend WithEvents Label4 As Label +End Class diff --git a/Themenmanagement/Kernbotschaften/frmKernbotschaft.resx b/Themenmanagement/Kernbotschaften/frmKernbotschaft.resx new file mode 100644 index 0000000..4429959 --- /dev/null +++ b/Themenmanagement/Kernbotschaften/frmKernbotschaft.resx @@ -0,0 +1,598 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 461, 17 + + + 576, 17 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAK2SURBVDhPnZLdS1NhHMcfCPoDuummi+gyunJg0QviNrd5 + PDtzc7Z5ztl20pUzo6I3yFIrS9N8K7Qih6lUFJVaGWXZi6KRoZSFmCuyi+iiiCKILgo+HTUWu7QffOD5 + PfB8eL6/5xH/U1+mh4IzM+O/Ovdm8Hdrvi5X5PR2H86ht2oWKUnPEYkr5XYexXfyebKfTxO3+P5mkIv7 + ramCngqZtDV2Vq+zsWbDP9LXWVllWc+PRD+J3krGWv18TTzm8kFHqqC7TCbD6sRml7A7XEmsWU7S19t4 + 3Rlh7JzO6Okgn1/d5dqh7FSBo1kg1Swi2+5DcilI2W4kScblktlglZjsMBg9G+JJS5CPYz1zUf8eFcJ2 + XJD42IXTlORkaridARTJjyJ7kd0eMh1uXsbDjLTqDDYXMDN8idvVyrzAViOYeN9Gx6Ago1pgbxA4Twnk + sqV4lSCeXD9ZOT7Gz2kMntT5cWc5UwPt3K31Ilx1gqfvqomPCNqGzfXbIp69i/D8Q3hOku8Jk5cXRPIE + eHZa5WGTxs/+Fby63cpAg39e8CCxh/i4ID4maH8p6JgUvPgWwXFSEMwrYmMghDtPY6QlwEBjkLY9Tp73 + HOdxc2AugsVuRuib2kxXQpA5G+GEwNEkyC1fhq5GUXUDX9BgqNnPvfp8rh9WeHqpguEWNTlES1atoPet + D2ejwAjswtBKMcLFGEaUiFFIIBTlYYOXO3U++mq8DJ3fzeiZUMozWpzmlZW6xUSN7USLSiiKFs9RaKJt + inG/zkNfdS43jnrob40x3hZJEYjO0rVsKSmlJLaDkq3bksRMCou3c69W5uYxhe4qNzfrQ0y0FyJ0XUfX + QmhaGFWdxVyrmtmrSVSz31igsy8W4EKFYv5AmatHcpns2jw/xIVSpqfvrzyw8vf0hVhqhAXUEpM0IYTl + DzXbwlLPDlfpAAAAAElFTkSuQmCC + + + + + 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 + ovwBHtVvxMSvxBEAAAAASUVORK5CYII= + + + + + AAABAAgAICAQAAEABADoAgAAhgAAABAQEAABAAQAKAEAAG4DAAAwMAAAAQAIAKgOAACWBAAAICAAAAEA + CACoCAAAPhMAABAQAAABAAgAaAUAAOYbAAAwMAAAAQAgAKglAABOIQAAICAAAAEAIACoEAAA9kYAABAQ + AAABACAAaAQAAJ5XAAAoAAAAIAAAAEAAAAABAAQAAAAAAIACAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAA + gAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////APiH + eXV5dXl1eXV5dXl3mI+HERERERERERERERERERF/iRGREREZERGRkREZERGRGHEREXkZERGREREZEReR + ERdxkZiHERkRGRGREZGYhZGVkZeP+HmReRkRlxkXj/iRF3GV//+HGYcZEZiZeP//eRl5GX//+Hj5kRl/ + h4//95EXcZGX////95GRn////3WRl5GRkX////eRkY////eRkZdxkZmY///4GRmP//+FGRkZWZGReP// + +JkZj///iZkZWTWVmY////h5GY////h5GZeZkZOXiIj4mRmPiIiXmVkXcZlZWRkZl5WZeXkZWRmRmXmV + kZkZmVmRkZkZmRmVlZdxmZGVlZGVlZlZGVlZGZmZmZWVmZmZmZmRmZmZmZlZF3mZmZl5eIiVmYiIl5eZ + mZeZlZmP///4mZmP//+ImVlZeZlZmP//+JWZj///95mZmZmVmZj///iZmY///4mZWZd5mZmf///4lZmP + //+HmZmZmZmYj///+ZmZf////5mZl3mZmP/4j/eZmZ+I//+ImZmZl///h5iJmZl4eY//+JmXeZmP/4lZ + l5mZl5mZ//+ZmZmZePiZmZmZmZmZmY+JmZd5mZl5mZmZmZmZmZmXeZmZiZmZmZmZmZmZmZmZmZmZmIeZ + mZmZmZmZmZmZmZmZmZ//eZeZl5mXmZeZl5mXmXiPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAEAAAACAAAAABAAQAAAAAAMAA + AAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAAAAD/AAD/ + AAAA//8A/wAAAP8A/wD//wAA////AIdXl1eXU5eYeRkRERERURdxiJkZGRmIlVmPh3kYePiXcZj/gZj/ + +RmRmP+JeP95F1mYiImY+ImXeRlZeReVmRd5mZl5mZlZmZmYiImYiHmXeZj/+Zj/iZmZeP+JmP+JmZmP + iImXiP+ZmY95mZeX+Jl5mZmZmZmZmYmXmZeZl5l4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAwAAAAYAAAAAEACAAAAAAAgAoAAAAA + AAAAAAAAAAEAAAAAAAAZFZcAFxWZABkUmQAcFpkAGhOdABoVnQAcFp0AFxieABsanQAdGJ0AIR+fACsq + nwAaE6EAGhWhABwWoQAaFqUAHBalABgYoQAdGKEAGhilAB0ZpgAaFqgAHBaoABoWrQAdFq0AFxirABwY + qwAdFrIAHBmzAB4XvAAeGboAIRmgACAYpQAgGaoAIh6pACIerQAgF7QAIRqzACEXuAAgGbwAIiCgACEg + pgAnKaAAJSCsACkmqQAtKakAMi2vADUsrwA5NaYAOzmnAD06pgAyMKsAOjaoACUgswAoIrcAIiC/AC8q + uwAzLLMAMiu7ADg0swA7ObUANjK5ADg1uwA8OboAS0ixAE5JsQBIRrgAUky8AFZVuQBZV7sAHhrCAB4b + ygAeHNUAHhzdACEaxAAhGswAIBfTACIa0wAjG9sAJSLIACoiywAyK8MANC3KADgvzAA6NcIAPTnCADcx + yQA8NcwAPzrIACUh0wAqJNcAKSTZADAn1wA0KtAAMyraADw10gA9NdsAHxvkAB8Z6gAjG+MAKR3mACQb + 6wApHO0ALB3wACch4wAqIuIALiLoADYs4wA6LucANCvrADou6QA9NuAAPjjkAD027QA/OOkAQDrNAEE7 + 0wBBO9sAQjzjAEg+5ABCO+oAT0nGAE5HyABNRNIASULaAFNM0wBRSt4AYlvNAHFuxQBybMkAc3DBAHdy + wgB6e8QAd3PLAHt1yAB6ecgAe37LAH1+yQB8eM8AfX7OAGRg1gBmYtgAeW/WAHZ30gB+ddYAe3zRAHp2 + 3QB7eN4ATUTmAE5E6QBRRuQAU0vkAFBG6gBTSesAV1HjAFBH8QBnX+EAaWPkAGxi6wB1ae4AeG/vAHx3 + 5QB8eOQAfnbsAH557AB5b/IAfXLxAHx58ACAf8oAgXzQAIJ95wCCfOoAgnzyAH+AxgB8gMoAgYHKAIqN + 0wCMht4AkY3eAJeW3ACendsApKLbAKil3QCtqt0AhYHmAI+P5wCEge0AjIjtAJCL4ACRjuwAj5DmAJeV + 5ACYluQAnp3jAJaV7ACZmesAiYPwAKSf4QChnu0AoZzyAKWj4wCopOQArKvkAKSj6QCpq+8Asq/rALa2 + 4QCxseUAt7fkALe54AC6ueAAvbvjALW17AC6vOwApaLyAKqk8gC1tPMAubb1ALy68wDBvvAAxsjrAMzM + 7QDExPMAyMbyAMXI8wDLy/MA19jyANrb9ADb3PkA3+LxAOXi7gDo5u8A5OX0AOnq8gDp7PEA6er2AOrs + 9gDt7vUA5uj6AOrr+ADu8PQA8/L2APf69wD6+vYA9PP5APj2+QD3+PoA+fn5APz6+gD5/PkA/Pz6APr5 + /AD8+vwA+fz8AP7+/gAAAAAA+Pjw0YJAMTEwNDAwNDAwMDQ0NDEwMTQ0NDQwMDA0NDQwMDA0NDQ0MTQy + QYPS8Pr88+aEKgEGAwAAAwYGAwkDCQICAgIAAAICAgUGBgMCAgIGBgYDAgICAAADCQMLref78IcSEgQE + BQMGBgYGBgMGBgYGBQMGBgYGBgUFBgYEBgYFBQYFBQUGBgMFAwYOH6/tziwJBg0NERISEhIODgYOBhIS + EhISDg4SEg4GDg4OEg4GDg4ODg4JDgYPBg4JDi3TgA8SDg4ODAUHFg4SFhIQDg4ODg4ODg4SDg4QDhAO + Dg4SDhIWEg4UEQgQDg4OEhCGQhMTExQQHxUzRCghEBYQEBQQFBQQFBQQEBAgFBAUFBQQFBAUFihFLhQg + EBQUDxRDOxMVFCAWFC+25agjIBAWFBQWGiEaIRYUFBoVFBoUFhQSFSEgK6/mtS8WFhQaDxQ8OxgaFxQZ + L7f0+umKIxcaIRgaFBUaFBoaGhoaFBUaGhwbExQrqe369LYvGhQaGho8OxoYGhk9tvX4+vjpiykjGBoX + OT4YIRoaGhoUFzw5GSEhGiuL6vj6+PS1PRwaIRo/PhwYHCOF8P3z+f7664g1GBw5tY8bGBwaIxwhG5G1 + ORslNa7v+v758/3tgRkcGho/PhwcJRw4tvH9/f7+/uqRNT229LMcJSUcHBwlJbTxtjo1ker+/v79/fS1 + OiUjHBw/PhweJBwcOrb2/f7+/vjpsLf1+882JBwcHBwlNtD78bew6fr+/v799LU4HCUeJRxVPiUcJSUm + HFG29v7+/v789v38/dw4JR4lJRwcON36/vv2+v76/v70tVElJSYcHhxVVB4eHh4mHh46yPL9/f7+/v7+ + /uJVHh4eHh4eVeP+/v7+/v79/fS0URweJh4eHiZVVCcnJycnJx4eUcn0/f7+/v7+/uh6HiceJyceeev+ + /v7+/v769MVRJycnJycmJx1VVCcnJycnJycnJ1LP+/7+/v7+/vF/HScnJycnf/H+/v7+/v77ylInJ0Yn + JycnJydYWCcnSkonSicnJ1PP+/7+/v7+/vaOJ0onSidGkPv+/v7+/v77z1NGJ0o3Sic3SidYV0pKSkpK + SjdKVsr0/f7+/v7+/vyxRkpKSko3sv7+/v7+/v798clSRzdKSkpKN0pYV0pKSkpKSkpTyfT2+f7+/v7+ + /vzGSkpKSkpKyP7+/v7+/v79/fTJXUpKSkpKSkpzV0pKSkdKSkp7wNTh4+/09v3++vrUUEdKSktP1fr+ + /vn29Ovj3dTAe0pKSktKSkp0c0tKT0tPS0pKT09Se32Nk7LL1d3NUUtKS0tR1N3Vy7ySjH10Uk9PSk9L + Sk9KS0p0X0tLT0tLS0tLS0tZS0dLUEtQWVNfS0tLS0tLX11QWUtZS0dHS0tLS0tLS0tLS0t0dEtLS0tL + S0tLT0tLR0tLS0dLS0tLT0tLT0dZS0tLS0tLS0tHS0tZS0tLS0tLS0t0X0tLTUtLTUtNS01LS01LTUtN + S01LTUtNS01NS0tLS0tNS1lLTUtNS0tNS1lNTUt0YE1NTU1NTU1NTU1NTU1NTU1ZTU1NTU1NTU1NTU1N + WU1NTU1ZTU1NTU1NTU1NTU11YFlNTk1OTU1ZTU1NTU1ISE1NTU1NWU1NTU1ZTk1NTU1NTU1NTU1NTU1N + TU1NTU11YE1NTUhITU5NTE5OTU1NTUhOTUhZSE1OTU1IWU5OTk5NTUxNTk5MWU1NTk1OTU11YE5OTk5O + SFlNTU5OW2t3mpyhucvDXE5OTk5ew8u5oZyXdV5bWU5NTk5NTk5OTU11b05OTk5OTk5gnbjG2uHk7/T7 + /fraW0hOTk5b2/r89vTv5OHZxqqdYE1OTk5OTk51b05OTk5OTk582/X4+f7+/v7+/v7LaE5OTk5ozPz+ + /v7+/v79+PXbfE5OTk5OTk51cE5OaE5oTk5jlt/1/v7+/v7+/v69SU5OaE5Jwvz+/v7+/v769d+WY2hO + aGNOTk52cE5oTk5OY05jTpnh+P7+/v7+/vujSU5OY05Jq/n+/v7+/v7435ZpY05OY05OTk52cGNjY2hj + Y2ROTmnD+/7+/v7+/vSeSWNjY05onvT+/v7+/v71wmlOTmNJaGNjY2N2cGNjSWNOY05laavs+v7+/v7+ + /u6XYWNJY2hJmu/+/v7+/v7676RpY05jY2NJaE54cGNjY2NoY0lqquz4/P7+/v7+/uR3Y2hjY2NhlOT+ + /v7+/v74/O+qakloY2NjY054cGNjaGVjY2jE7/7+/vj5+/v+/OFrY2NjY2NjbuH+/vf7/f7+/v7rumhj + Y2VlY2N4cmhjZWFhaazt+v7+/vf02OH7/NlqY2hkY2Vjatr7/eHZ9Pn+/v7676xqYUlhZWN4cmNlYWNn + uu/z+v7++vTWbpng9cdjaGNlY2NoZcz23phu1/T+/v76+O+ramhlY2N4cmNkYWSf6/n4+P399MduaGWZ + 3sRlZWVoZWhlYbvemGRjbtb0+fr4+vnonmRlZWV4cmVlZWiX3v36+vj01m1iaGhllZtlYWhlZWVlaJmY + ZWhlYm7X9Pj9+vbelGhlZGN4eGRlZWVlmOD29vTWbWVoZWZoZWhlYmhlaGVlZWZoaGZlZWVu1/Ty+eCY + ZWVlZWV4cmVoZWVoZZnh8NZxZWZlZWVmZWVlZWVmZWZlZWVmZWVmZmVlcdb04JtlZmVlZWV4mWVmZWVl + ZWaZxG1iZmZlZWVlZWVlZWVlZWVlZWVlZWVlZWVmYnHEmWVmZWVlZmaZoGVlZWVlZWVlZWViZWVlZWVl + ZWVlZWVlZWVlZWVlZWVlZWVmYmVlZWVlZWVlZWWm2W1lZWVlZWdlZ2VnZWVmZWZlZmVmZWZlZmVmZWZl + ZmVmZWZlZWVlZmVlZWVlZW3a7adnZWZlZmVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZmVn + Z2ZmZ6z0+OinbWZlZWVmZWZlZmVmZWZlZmVmZWZlZmVmZWZlZmVmZWZlZmVmZWVlZWVtrOjz9/Pv2aWb + eHFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXF4m6Xa9Pf4AAAAAAAAcXEAAAAAAABxcQAA + AAAAAHFxAAAAAAAAcXEAAAAAAABxcQAAAAAAAHFxAAAAAAAAcXEAAAAAAABxcQAAAAAAAHFxAAAAAAAA + cXEAAAAAAABxcQAAAAAAAHFxAAAAAAAAcXEAAAAAAABxcQAAAAAAAHFxAAAAAAAAcXEAAAAAAABxcQAA + AAAAAHFxAAAAAAAAcXEAAAAAAABxcQAAAAAAAHFxAAAAAAAAcXEAAAAAAABxcQAAAAAAAHFxAAAAAAAA + cXEAAAAAAABxcQAAAAAAAHFxAAAAAAAAcXEAAAAAAABxcQAAAAAAAHFxAAAAAAAAcXEAAAAAAABxcQAA + AAAAAHFxAAAAAAAAcXEAAAAAAABxcQAAAAAAAHFxAAAAAAAAcXEAAAAAAABxcQAAAAAAAHFxAAAAAAAA + cXEAAAAAAABxcQAAAAAAAHFxAAAAAAAAcXEAAAAAAABxcQAAAAAAAHFxAAAAAAAAcXEAAAAAAABxcQAA + AAAAAHFxKAAAACAAAABAAAAAAQAIAAAAAACABAAAAAAAAAAAAAAAAQAAAAAAABsVmgAcFpsAGhWcABwX + ngAdGZ0AGhWgABwWoQAbFqUAHBakAB4YoQAdGKUAHBaoAB0WrAAaGKoAHBipABsZrwAcGK0AHRmxAB4Z + tQAfHLUAHhi6AB8avQAgGqgAIRytACAYtgAiHbYAIBm6ACAduQAgGb0AIRy+AC4nrgApKKoALyiuADk0 + pgA7Oa4APTuvACwosQAsKLQAMC6zADAttAA4NbEAODO2ADs3twA7OLMANDG6ADgzuQA5NbkAODa9ADs4 + ugA7OL4ATEavAEZEtgBIRbAAR0G9AEhDvABMRr8ATki5AFBLtABTT7UAU1G9AFVUvgBYVL0AIRrBACId + wQAkHsAAIRrGACEaygAhGs0AJB3MACIa0gAhGtUAIhzUACUd1gAiGtkAJBrZACIa3AAkGt4AIhzfACQc + 3gAmIsgAJyHNACojygArJMoALibLAC4ozgAwKMoAOjXCADw3wwA7NcUAPDjAAD04xwA8NsgAOTLMADw2 + zAA/OckAPznOACUg0wAnI9UAKSPUACUg3QAuJ9kAKCHdACol3QA3LtEAMijaADQs2wA4MNAAPDfSAD03 + 1wA/OtQAPjfaAD423QA/OtgAPzjdACMb4wAkG+sAKB7qACog5wAsIuoAPjbgADw05wA+OOQAPjbtAD84 + 6wBAOdMAQDrbAEA53gBDPNwAQDrlAEA36wBCO+kASETCAExHwgBPSsAASUPNAEtFzQBUVMAAXlnKAEVB + 0ABaVtUAYV3LAGpozgBta80Ad3XOAG1n0gBubNEAdG/cAHZy0gB4ddMAdnHdAE1E7QBPSO0AVU/gAFBE + 6wBSSuwAVlDhAFlT5gBaVeoAWVDxAGJZ5gBjWusAamXjAGxo5QBpYesAb2ruAHJr7gB8d+sAgH7LAIN+ + 5wCAfOoAhX/zAICAxwCEgscAh4PNAImG3ACMid4AkYvbAJ6a1wCfndcAlJDbAJ6Z2ACgnNkAqajeAIuI + 4ACNiuIAhYHpAIiF6gCWke8AmJXuAJ2a6wCcmOwAhoDxAIiC8gCalfIAo6HnAKmk5QCtquUAoaHrAKSh + 6QCxru4As7LqALSy6gC1tOoAsLDtAL696wC5uOwAravxALa08QC4tvMAv73yAMrH7QDKyOgAzs/pAMzJ + 7gDMze8A0NHoANXW7QDY1+0A1tjvANna6wDb3OsA2trtAMHC8gDLzPAA1dT0ANjW9QDX2PYA3d3wANnZ + 9gDk4/IA5eTzAOHg9gDl4/UA5eT1AOno9ADk4/gA6+n6AOzq+ADt7/kA7/D5APr69wDz9PoA9fX5APX0 + /AD49/sA9/j5APf4/AD6+fkA/Pr6APv8+gD8/PoA+fr8AP37/AD6/PwA/f39AAAAAAD326s0ISEhISEh + ISEhISEhISEhISEhISEhISEhMqzc+Ns5AwEBAQIDAgEBAQEBAQECAQIBAQEBAQIBAAEBBDrjpwkDBgUD + BgYGBgYGBgYGBgYGBgYGBgYGCAMDBgYDCa0zBwcHCB8iFgcICAcICAoICgcKCAgICAoKIx8KCgcKOCgL + DgogstQ7Fg4KDA4WDg4ODg4WDg4LFj3XsSALDgsrKQwNJLXy/NiIFgwPJxcODBYOFyYQERY83frysSUQ + DiouERGF4/D6/tqIFza2LBERDxEutjYRiNr+/vDjNw8PMC8REhOO5v7+/tqP1eqDEhIREoTq04/a/v7+ + 5o0ZExExLxMSGhuR6f7+/vb88YkUEhMTjPP+9v7+/emNGRgUEllWGhoaFRuR6f7+/v7+kxQaGhqU/v7+ + /v7pkD8aGhUaV1gcHBwVGkCv+/7+/v6wFT4VP7P+/v7+9q5AFT4cHRVaWz4+Pz8dh9X9/v7+/sNAPz5A + xP7+/v7+0oY/Pz4/P15fQUFBQV3K7vX+/v7+zU9BQVHM/v7+/vXvyFxBQUE+X11BQUFCUoqLlbjGzdbK + U0FCVcrfzcK3kouKUkJBQUFfa0NEREJCQ0RDQ1BQVGpEREREZ1RQUEJDREJCREJEQnxrQ0NEQ0VDREND + RENDREVDRENDRENEQ0NEQ0VDQ0NFbWxHRUdFR0VFR0VHRUVHR0VHRUdHRUVFRUVHRUVHRUVwbkdGSUdI + RkpGSUZIYGFHSUZHYkhISUZGSkVIRkpKRXBxSklJSEhpf5uiub3LxWRJSWnGx765oZt/aWFISkpJfXdL + TktKfsfo7/v+/v7eZU5LZt7+/v727+vHcU5OTkl+gE5OTk5joOT+/v7+/s5jTmNjx/7+/v7+5J9OTk5O + S355TU1yY3Jluvv+/v7+u01NcmO8/v7+/vu5ZUxNTnJNgIBNTXJOcpzh/v7+/v2mck1yTan+/v7+/uGc + ck1NTU2AeXJycmOd5P78/f3+86BycnJyo/P++/7+/uGdcnJzcoKAc3JzneL+/vnrweTsmnJycnOa7uTB + 6/7++uGdcnJygntycpfg+fz+66R2oNF6cnRydIDeoHal6/7++eCWdHOCe3NyeND2+eukdHVzlnZzdHN0 + doJ0c3Sl6/320Hhzc4J7dHNze9DrpXZzc3Rzc3NzdHNzdHN0c3al69B7dHNzgpdzc3N0e55zc3Nzc3Nz + c3Nzc3Nzc3Nzc3SeenNzc3Oav3Rzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc8DinnRzc3Nzc3Nz + c3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Se5PfiqpZ7enp6enp6enp6enp6enp6enp6enp6enqXwOT4AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAoAAAAEAAAACAAAAABAAgAAAAAAEABAAAAAAAAAAAAAAABAAAAAAAAHBaiAB0XqQAeGaoAHhmxAB8Z + uAAiHLkAIx2/ACUgpQAqJacAJiKtADgzpwA4NKcAODOoAC8ruAAwLLgANjKyADk1tAA5NroATkuyAE1K + twBQTLIAUU24ACEawAAjHcAAIhvGACEbzAAjHM0AJB7NACIb0wAkHdMAIhrUACMd1AAkHdQAIhvaACMc + 3wAoH98AKSPCACokwgAnIM0ALSbJADAqygA6NsAAOzbHAD03xwA/O8MAPTfMAD44zQApItQALifVAC4o + 0AAtKNUALibaACgg3wAsJt8ANC7RADAq2wAyK9wAPTfSAD440wA9N9gAPjbeAD442AA/ON0AIxziACQc + 5QAkHOoAJyDiAC4n4AApIOkAMyvnADMs5wAwKekAMinsADw25AA+OOEAPjjkADcw7AA+N+gAODDsAD43 + 7gA/OOoAQD3DAEA56gBGPusARD3sAHh1zgB5d9AAfHrQAH562QBVTe4AV1DuAHp15gCAfdoAko/TAJOQ + 0wCvrd4AsK/dALm43wCGg+AAh4TgAIaB6wCGge8AjIbwAKGe8QCsquQArq3kAKek7gCope4Arq3uALCu + 7wC2tuMAvLvgALq55QC3tesAt7bsALi27ACwrfMAs7DyALSy8gC5tvIAurjyAL+98gC6uPUAvbr1AL+9 + 9QDCwesAxMPrAMTC7ADHxO0Aw8H1AMXD9gDGxPYAyMf1AMzL8gD39/sA+Pj6APn5/AD+/v4A/91RAP/k + cQD/6pEA//CxAP/20QD///8AAAAAAC8UAABQIgAAcDAAAJA+AACwTQAAz1sAAPBpAAD/eREA/4oxAP+d + UQD/r3EA/8GRAP/SsQD/5dEA////AAAAAAAvAwAAUAQAAHAGAACQCQAAsAoAAM8MAADwDgAA/yASAP8+ + MQD/XFEA/3pxAP+XkQD/trEA/9TRAP///wAAAAAALwAOAFAAFwBwACEAkAArALAANgDPAEAA8ABJAP8R + WgD/MXAA/1GGAP9xnAD/kbIA/7HIAP/R3wD///8AAAAAAC8AIABQADYAcABMAJAAYgCwAHgAzwCOAPAA + pAD/EbMA/zG+AP9RxwD/cdEA/5HcAP+x5QD/0fAA////AAAAAAAsAC8ASwBQAGkAcACHAJAApQCwAMQA + zwDhAPAA8BH/APIx/wD0Uf8A9nH/APeR/wD5sf8A+9H/AP///wAAAAAAGwAvAC0AUAA/AHAAUgCQAGMA + sAB2AM8AiADwAJkR/wCmMf8AtFH/AMJx/wDPkf8A3LH/AOvR/wD///8AAAAAAAgALwAOAFAAFQBwABsA + kAAhALAAJgDPACwA8AA+Ef8AWDH/AHFR/wCMcf8AppH/AL+x/wDa0f8A////AGESDAwLDAwLDAwMDAsL + FG8TAAcIAAAAAAAAAAAIBwAVEAleXw8CCQICCQIQYF4JEBEOcIhuVlYDA1dWbodwDREpBFF+iIZoBQVp + hoh9LAQpKhYXXIiPfyQlgI+IWBcWKy4YKGNzhXMoKHOFc2InGC45GRkaJjE2Gxs2MSYaGRo6Ox4cICAv + Mh8gMC8gHB8ePTwhM1treW03OG18alszIT5KIjRkiI+DQ0OEj4hkNCJKSz9JeIiIdEJCdYiId0k/S01G + doeBZmVAQGVmgoh1RVJQR2d8VERHQUFFRFN8Z0dSWUFITEFBQUFBQUFBTkhBWnpZT09PT09PT09PT09P + WXsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAKAAAADAAAABgAAAAAQAgAAAAAACAJQAAAAAAAAAAAAAAAAAAAAAAAPv5+ML6+fne7O7z3q2v + 3N5fW7jeMS2m3h8cm94dGpneHRqZ3h0Zm94cGJveHBib3hwYm94cGZjeHBmY3hwZmd4dGZveHRmc3h0Z + nN4dGpveHRqZ3h0amd4dGZveHRmc3h0ZnN4dGJveHBib3hwYm94cGJveHRmc3h0ZnN4dGZzeHBib3hwY + m94cGJveHRib3h0ZnN4dGZzeHRmb3h0amd4dGpneIR2Z3jQvpt5jXrresK/c3u3w8977+/ne/Pv8wfv6 + +N/l4u7/envE/ycpoP8XFZn/Gxae/xoWmf8ZFZf/GRWX/xoVmf8cFpz/HBac/xwWm/8cF5r/HBea/xwX + mv8ZFJn/GRSZ/xkUmf8ZFZj/GRWX/xkVl/8ZFJn/GRSZ/xkUmf8aFZr/HBac/xwWnP8bFpv/GRSZ/xkU + mf8ZFJn/HBac/xwWnP8cFpz/GhWa/xkUmf8ZFJn/GRWY/xkVl/8ZFZf/HBaZ/x8Ynf8cFpn/Kyqf/3+A + xv/o5u//+vn63uzt9N96ecj/Hxah/xwVn/8aE53/GhSc/xsVnP8bFpz/Gxac/xwWnP8bFJ3/GxSd/xsV + nP8bFpv/Gxab/xsWm/8bFZ3/GxWd/xsVnf8bFpv/Gxab/xsWm/8bFZz/GxWd/xsVnf8bFZ3/GxWd/xsV + nf8bFZ3/GxWd/xsVnf8bFZ3/GxWd/xsVnf8bFZ3/GxWd/xsVnf8bFZ3/Gxac/xsWnP8bFpv/GxWc/xsW + m/8bFZz/HRaf/yEZoP+Af8r/7e323qys3d8pJqn/HRad/xsXnf8aFqD/GRag/xkWoP8dF6H/Hheh/x4Y + of8bFqD/GxWi/xsWn/8bFp//Gxaf/xsWn/8cF6D/HBeg/xwXoP8cF6D/HBeg/xwXoP8cF6D/HBeg/xwX + oP8bFqD/Gxaf/xsWn/8bFqD/HBeg/xwXoP8cF6D/Gxaf/xsWn/8bFp//Gxaf/xwVov8bFqD/HBie/xwU + oP8cF5//GhSi/xsWn/8cFp//HRid/xwUoP8tKan/tLLf3l1avd8aFaT/HRih/xsXov8cFqL/HBai/xoT + of8YFp3/Fxie/xsWpf8cFqP/Hhmi/x0Wpf8bFqP/HBai/xwWov8cFqL/HBai/xwWov8cFqL/HBai/xwW + ov8cFqL/HBai/xwWov8cFqL/HBai/xwWov8cFqL/HBai/xwWov8cFqL/HBai/xwWov8cFqP/HRem/xwY + of8bFaP/HBik/xgYof8bGp3/HBSk/xwWov8cFqL/Gxei/x0Xo/8dFqT/aGHA3i4srt8aGKX/Ghal/xsZ + pf8dF6X/HRel/x8Xo/8bFqn/MjCr/1ZVuf8hH5//IBmq/xwVpf8dFqX/HRel/x0Xpf8dF6X/HRel/x0X + pf8dF6X/HRel/x0Xpf8dF6X/HRel/x0Xpf8dF6X/HRel/x0Xpf8dF6X/HRel/x0Xpf8dF6X/HRel/x0X + pf8dFqX/Hheo/x0Wp/8iIKD/WVe7/zItr/8cGaf/IBik/x0Xpf8dF6X/Gxin/xoXpf8dF6b/OTKz3hwa + pd8aGKX/GhWn/xwZpv8fGab/HRWn/x4Yp/82La//p6fZ/9/i8f99fsn/Ih6t/x8Yp/8cF6X/HBap/xwX + pf8bGKb/HRSp/x4Wqf8eGKn/HRep/x0YqP8cFqn/HBen/xwXp/8cF6j/GxSp/xwYpv8eGKn/Hhao/x0V + qP8cGaX/HBij/xsUp/8dF6j/IRmm/yYhrf+Bgcr/4ePw/6Wj2v81LK//HBam/x0Vqf8eGKb/Gxeo/xoW + pv8bF6X/Ih+p3hwWqt8cF6r/HBeq/xsUqv8bG6T/GReo/zQssP+rqNz/9fX4//z7+//o6vL/fHjP/yMe + sP8aFar/HRmp/x4YrP8dFqz/Gxqp/xsaqf8ZFqb/HBat/x0bp/8cF6n/HBip/xwYqf8cGKn/Gxeo/xsX + qP8aF6f/Gxir/xsZrP8eFrH/Hhex/xsXp/8bGKb/JCCs/4F80P/r7fD//Pz5//Tz+P+ppd7/Myqx/xsY + q/8cG6b/Hhet/xwYqf8bF6j/IBus3h0WrN8dF63/HRet/xsYq/8XGKv/Ni61/6il3f/29vf//fj7//z7 + /P/++vv/6ery/3x+zf8hIKb/Hhqs/x0Wrv8eF6z/GRit/zIstv83Nbj/HRav/x0Zqv8dGaz/HRir/x0Y + q/8dGK3/HRun/xsVrP85ObX/Mi20/xkZqv8fGar/Hhmr/x0Yqv8iHqn/fn/P/+rr8//++/v//fz5//35 + +//19Pf/pqHb/zYuuP8aGq//HBis/x0Yq/8cGKr/IBuu3h0YsN8eGLD/HRiw/x0Zsf8dHLH/d3PL/+3t + 9P/6+vv/+Pzz//v8+P/+/fv//f38/+jp9/97fsv/JSGy/x4Yrf8cGK7/NC20/6Sh2v92d9L/Gxax/x4X + rv8eGbD/Hhmu/x4Zrv8eGLH/Hxms/x0WsP97fND/o6Db/zMrtP8cF7D/Hxix/yQgsf98gMr/6er3//z9 + /P/9/Pz/+/z4//n99P/6+/v/7O30/3Jsyf8ZF67/Gxiv/x0Zrv8dGK7/IRyy3hwasd8cGrH/HRqx/yAZ + sv8aGrH/MSq6/6Sk3f/09fb/+vn7//n8/P/+/v7//v7+//39/f/o7PL/e3zR/yMetf82MLv/qafd//T1 + 9/+Xltz/Gxm1/yAYsP8eGrL/HBqx/xwasf8dGrH/IBmx/yAbtf+em9v/9PX2/6el3P80Lbv/Ix61/319 + 0v/p7PL//f39//7+/v/+/v7/+fz7//r5+//z8/b/n5/c/zIovP8fHLP/Hxux/xwasf8bGbD/IB203hwZ + tN8dGbT/HRm0/x4WtP8bGrH/Ghiz/zEtu/+mo9z/9PT4//r9/f/+/v7//v7+//3+/f/9+/v/6enz/4qN + 0/+vrd//9PT1//r3+/+ysuT/JiC3/yAXtP8eGrX/HRm0/x0ZtP8cGrP/Hhmz/ygit/+3t+T/+/j7//Pz + 9P+tqt7/io3T/+np8//9+/v//f79//7+/v/+/v7/+v77//Tz9/+joNz/Lyy9/xwatP8fG7L/Hxm3/x0Z + tP8cGbP/IBy33h0atd8eGrb/Hhq1/x8ctP8gGLf/Ihm4/x0Ytv8yLMH/pKXe//X1+v/9/f3//P78//3+ + /P/+/Pz/+/v7//b3+v/5+vr//fr7//v8/f/GyOv/Lyi6/x8Xt/8eGrf/Hhq2/x4atv8cG7T/HBq0/zAr + u//KzOv/+/38//77/P/6+fv/9vf6//v8+//9/Pz//f78//z+/P/9/v3/8/T7/56f3P8xLb//HBu1/yEZ + tf8hF7j/HBq1/x4atv8dGbX/IR263h0ZuN8eGbj/Hhm4/x4ZuP8eGbj/Hhm4/yAYuv8cG7j/Mi2//6Sj + 4P/09fn/+fv7//r+/P/+//7////////////////////////////X2PL/PDXC/xsZt/8gGrj/Hhm4/x4Z + uP8gGbn/HBq3/z44wf/Z2vT////////////////////////////+//7/+fz6//r6+//z9fj/n53g/zEq + wv8aG7b/IBq4/x4ZuP8fGbj/Hhm3/x8auf8dGLf/IRy73h4Zut8fGbr/Hxm6/x8Zuv8fGbr/Hxm6/yEY + vf8dHLn/HBy8/zMvwP+npOP/9fL5//n8/P/+///////////////////////////////l5vT/TkfI/xwZ + uv8gGrr/Hxm6/x8Zuv8hGrz/HBm6/09Jxv/n5vX////////////////////////////+////+v37//Xy + 9/+kn+H/MyvC/x4Zvv8hHLr/Ixi+/x8Zuv8fGbr/Hxm6/yAau/8eGLn/Ihy93iAZvN8gGb3/IBm9/yAZ + vf8gGb3/IBm9/x4au/8eF7z/IBq6/x8avP81LMj/rq3l//n6+/////////////////////////////// + ///x8PX/YFnN/xwZvP8gGr3/IBm9/yAZvf8fGb3/HRq9/2Rezv/x8PX///////////////////////// + ////////+fn7/6qp4v80K8f/IBy9/x8Zu/8fGMD/Hxu9/yAZvf8gGb3/IBm9/yEavv8fGLz/IxzA3iAa + vt8gGr//IBq//yAav/8gGr//IBq//yAbv/8fGL7/IBm5/x8avv84L8z/sLHm//r5/P/+/v7//v7+//7+ + /v/+/v7//v7+//7+/v/49vr/eW/W/x0bvf8hGr//IBq//yAav/8gGL//Hh29/3511v/5+fr///////// + /////////v7+//7+/v/+/v7/+vn7/66u5P83Lsv/HxrA/yAZvP8hGcH/IBvA/yAav/8gGr//IBu//yAb + v/8gGr7/Ix/C3iEawt8hGsL/IRrC/yEawv8hGsL/IRrC/yMawv8iIL//HhvD/zcxyf+sqeb/9vL3//n8 + /P/+/v7//v7+//7+/v/+/v7//v7+//7+/v/7+fz/jIbe/x8cwf8iGsL/IRrC/yEawv8hGcP/IB7C/5GN + 3v/8/Pz//////////////////v7+//7+/v/9/v7/+f38//Xx9/+opOT/NC7I/x8cxv8gHr//JBrE/yEa + wv8hGsL/IRvC/yEbwP8gGsD/JB/E3iIaxd8iGsX/IhrF/yIaxf8iGsX/IhrF/yQZxf8gHMP/Ni7L/6el + 5f/09fr/+Pn6//n7+P/+/v3//v7+//7+/v/+/v7//v7+//7+/v/8+/z/np3n/yAcxv8kG8X/IhrF/yIa + xf8jGsX/Ih7H/6Oi5f/9/fz//////////////////v7+//7+/v/+/v3/+v76//n6/P/z9fn/pqTm/zUs + zP8gG8T/IxnF/yIaxf8iGsX/IhvF/yIbw/8hG8P/JR/G3iEaxd8hGsb/IRrG/yEaxv8hGsb/IRrG/yAa + xv8gGMb/TkXT/5iW5P+2tuz/y8vw/9vZ8v/q6/j/8fL7//f2+//6/Pv//P38//38+v/8/Pj/trbt/yIe + yv8gGsb/IRrG/yEaxv8gG8f/JCHI/7i66v/8/Pv//fz8//z9/P/6/fr/9vb7//Dx+v/p6vf/2trx/8rK + 8P+2tu3/l5Xk/01D0v8gGMf/IBrG/yEaxv8hGsb/IRvG/yEaxf8gGsX/JB3J3iEbyN8hG8j/IRvI/yEb + yP8hG8j/IRvI/yIbyv8hHMj/IRzE/yIex/8mI8j/Mi3K/0Q90v9VTtX/ZmLY/3t43v+Ri+H/pqTo/7q+ + 7P/Ozu7/sq/r/y8lyP8kGcn/IRvI/yEbyP8kGcr/MSnG/7Oy6v/MzO//ur3u/6ak6P+Qi+D/enbd/2Rg + 1v9SS9L/QzzS/zIty/8mI8j/Ih7H/yAcxP8hHMf/IhvK/yEbyP8hG8j/IRvI/yEbyP8hGsf/JB/L3iIb + y98iG8v/IhvL/yIby/8iG8v/IhvL/yIay/8hGcn/IBrL/yEZzP8jGs3/JBzN/yEby/8fG8r/IRrM/yMa + zf8hHcz/JB7N/yghzv81K9D/OzLP/yEdzv8iGcz/IhvL/yIby/8iGcv/Ih3O/zow0P8zKdD/KCLN/yQe + zf8hHM7/JBvO/yEazP8eG8r/IBrK/yMbzP8jGcz/IRnM/yAay/8hGcn/IhrL/yIby/8iG8v/IhvL/yIb + y/8iGsr/JR/O3iIbzN8iG8z/IhvM/yIbzP8iG8z/IhvM/yIczP8hGsz/IhnM/yQczP8iG8z/IBvK/yAb + yv8hGs3/IxzN/yMby/8hHMr/IRvL/yIay/8iG8v/JBvM/yIdzP8iG8r/IhvM/yIbzP8iG8r/IhzM/yMZ + zf8hGsv/IhvK/yEby/8hG8v/IhvL/yIbzP8gGcv/IBvK/yEcy/8iG83/JBzM/yIZzP8hGsz/IhzM/yIb + zP8iG8z/IhvN/yIazf8hGsz/JR/O3iEbzt8hG8//IRvP/yEbz/8hG8//IRvP/yEbz/8hG8//IRvP/yEb + z/8hG8//IRvP/yEbz/8hG8//IRvP/yEbz/8hG8//IRvP/yEbz/8hG8//IRvP/yEbz/8hG8//IRvP/yEb + z/8hG8//IRvP/yEbz/8hG8//IRvP/yEbz/8hG8//IRvP/yEbz/8hG8//IRvP/yEbz/8hG8//IRvP/yEb + z/8hG8//IRvP/yEbz/8hG8//IRvQ/yAa0P8gGs7/JB/P3iIb0t8iG9L/IhvS/yIb0v8iG9L/IhvS/yIb + 0v8iG9L/IhvS/yIb0v8iG9L/IhvS/yIb0v8iG9L/IhvS/yIb0v8iG9L/IhvS/yIb0v8iG9L/IhvS/yIb + 0v8iG9L/IhvS/yIb0v8iG9L/IhvS/yIb0v8iG9L/IhvS/yIb0v8iG9L/IhvS/yIb0v8iG9L/IhvS/yIb + 0v8iG9L/IhvS/yIb0v8iG9L/IhvS/yIb0v8iG9L/IhvT/yEa0/8hG9H/JCDT3iMb1N8jG9T/IxvU/yIb + 1f8iG9X/IhvV/yMb1f8jG9T/JBzV/yIb1P8hG9P/IRvS/yIb0v8hGtP/IRvU/yEc1P8hG9T/IRvS/yIc + 0f8hHNL/IxrW/yMd1P8jG9L/IhvV/yIb1f8jG9P/IxzU/yMa1f8iHNT/IhzS/yIb0/8hG9T/IRzU/yIc + 1P8iG9T/IxzT/yIb0/8hG9T/IhrU/yMb1P8iGtP/IxrU/yMa1f8jGtX/IxrV/yMa1P8iGtL/Jx/U3iMb + 1N8jG9X/IxvV/yEa1/8gGtf/IBrX/yEa1f8iGtX/IxvV/yAX0/8kGdj/Ixna/yEY2P8iGtb/IhrV/yEa + 1f8gGtb/IhrW/yQa1f8fHdX/Ix/S/x0c1f8jG9X/IBrX/yAa1/8jGtX/IBvV/yYg0P8iHNj/JRrY/yMa + 2P8hGtf/IRrU/yEZ0/8gF9P/IRjX/yQb2f8lG9f/IRjT/yQb1v8jG9X/IhrW/yMZ1/8jGdf/IxnX/yIa + 1P8hGtL/JR/U3iMb2N8jG9j/IxvY/yIb2P8hG9j/IRvY/yEb1v8jHNX/IRrU/yEZ1v8iGtn/JR7Y/yok + 2f81Ld3/RT3g/1VO4v9oYeH/fHjk/4+Q5v+ipej/l5fq/zAn1/8lGtn/IRvY/yEb2P8nGtv/NCjY/5ua + 6v+jouj/j4/n/3x35f9nX+H/UUre/0I63f8yK9v/KiTX/yQe1v8iGtf/IhrX/yMc1v8lHdf/IxzX/yMb + 2P8jG9j/IxvY/yIa1/8hGtX/JR/X3iQa298kGtv/JBrb/yMc2v8iHNr/Ihza/yMa2P8jG9f/PDXc/2lk + 5v+Fgeb/oZ/t/7q48f/MzfT/3N33/+nq+f/x8fz/9/f9//v9/f/9/Pn/u7vx/yUi1/8fG9j/Ihza/yIc + 2v8iG9v/KCTZ/7698P/9+/n/+/v9//b2/v/x8P3/6Or4/9vd9//MzvT/ubf0/6Gd7v+Df+f/aGLl/zoz + 2/8iGtb/IxrY/yQb2v8kG9r/JBva/yMZ2v8iGdf/Jx/a3iIa3N8jGtz/Ixrc/yIa3P8iGtz/Ihrc/yMa + 2v8jHNz/SkPb/8G+8P/29fj/+vn7//n7+f////7////////////////////////////9/Pz/pKbs/yQf + 3v8jGtv/Ihrc/yIa3P8kG93/Ix/e/6mr7//9+/z//////////////////v7+//7+/v/+/v7/+fr7//v6 + +v/29/j/vrzv/0hB2v8kHd3/JBvb/yMa3P8jGtz/Ixrc/yEZ2/8hGdj/JR/b3iQc3d8kHN7/JBze/yQc + 3v8kHN7/JBze/yUa3v8kHt3/Ixrg/1JH4//Hx/X/9/b6//38+/////////////////////////////// + ///7+/3/kY7s/yEd3v8iG9v/JBze/yQc3v8kHN3/IB3d/5aT7v/7+/z//////////////////v7+//7+ + /v/+/v7//f35//f3+//GxPb/UEXj/yMa4P8kHt3/JRre/yQc3v8kHN7/JBze/yIb3P8iG9r/JSDc3iQc + 3t8kHN//JBzf/yQc3/8kHN//JBzf/yQc4P8mHd7/JBjg/yUc3P9TR+b/yMjy//v5+f////////////// + ///////////////////4+fz/fnbs/x8c3/8iG9v/JBzf/yQc3/8jHd3/Hx3d/4N97P/4+fr///////// + /////////v7+//7+/v/+/v7/+/r5/8bE8/9SReT/Jx/d/yUa4f8lG93/Ixve/yQc3/8kHN//JBzf/yMb + 3v8jHNv/JyHe3iMc4d8jHOH/Ixzh/yMc4f8jHOH/Ixzh/yId4P8mGuL/Jhve/yIc3f8tI+D/mJns//n4 + +v/////////////////////////////////y8vn/aWHq/yAb4P8iG9//Ixzh/yMc4f8jGuD/Ixzf/2tn + 5//y9Pn///////////////////////////////7/+Pf5/5aV7P8tI+L/Ix3e/ycc3/8kGeD/IBvg/yMc + 4f8jHOH/Ixzh/yIb4P8iG9//JR/j3iIc4N8iHOD/Ihzg/yIc4P8iHOD/Ihzg/yUb4/8kG93/JBrm/yki + 4f+BfOz/6evz//39+//////////////////////////////////m6Pr/VU3l/yAa4P8kHeH/Ihzg/yIc + 4P8kHOH/IRvg/1dR4//q7Pv//////////////////////////////////Pv6/+nr+P9+eez/KSLg/yMb + 4f8kHNn/JRri/yIc4P8iHOD/Ihzg/yIc3/8iHN//JSDj3iMc4d8jHOH/Ixzh/yMc4f8jHOH/Ixzh/yEc + 4P8fHd//LiHp/4R96P/r6/b//Pr6//37/P///////v/+//////////////////7////Y2/r/RTzj/yEb + 4P8lHOL/Ixzh/yMc4f8iHOD/Hxvh/0g+5P/e3vn//////////////v////////////////7//vv7//z6 + /P/q6vb/gnzn/y0h6P8hH+D/Ix3j/yMc4f8jHOH/Ixzh/yIb4P8iG+D/JR/k3iQc498kHOT/JBzk/yMd + 5P8jG+f/Ixvh/yQc4/8oIuT/hYLt/+vr+f/+/P3//v39//79/P/7+/v/+fz5//r5/P/6+vv//vz8//z7 + /P/My/f/Nizj/yMa5f8kHeP/JBzk/yQc5P8jHOP/Ixrm/zov5//PzvX//fr9//79+//6+fr/+vj9//n9 + +v/8/P3//v38//79/v/+/P3/6un3/4OA7P8nIeP/JBzl/yMd5f8lHOj/JBvl/yMb5f8jG+P/JyDl3iQc + 5N8kHOX/JBzm/yMb6P8fG+L/Hxzn/yol5f+DfvD/6uz2//z8+v/+/v7//v7+//z9+//6+vj/9fD5/7Sz + 8f/LzPX/+Pn5//z5/P+6tvf/LCPj/yQb5v8kHeT/JBzl/yQc5f8jG+X/JRvm/y8l6P+9u/L//Pn6//j5 + +P/Ly/f/t7X1//by+f/6+/r//P38//7+/v/+/v7/+/v5/+nq+P+Be/L/KiPl/yEc5P8dHN7/Hxrn/yMa + 5/8jG+T/JyDm3iQc5N8kHOX/JBzl/yAc4v8jGub/LR/s/4SA7f/q6/f//fv3//77+//+/v7//v7+//z9 + /P/y9Pn/p6Dz/zot5/9TSOv/x8f1//j2+f+jnPT/JB3j/yUd5f8kG+X/JBzl/yQc5f8kG+X/JRzl/yUc + 6P+no/D/+Pf5/8LE9f9QRun/PC7p/6mk8v/z9Pr//f39//7+/v/+/v7//fv6//36+P/p6vj/gX3r/y0e + 6/8kHeX/IRzm/yMa5/8jG+T/JyDm3iQc5t8lHOf/JRzn/yMb5f8pHub/dWnu/+fn9f/6+vr//Pr5//36 + +v/7+vr/+v35//Ly/f+gnfH/OS/q/yUd5v8mHOn/VUnq/8XD8f+IgfH/Ihvm/yQd6f8lG+j/JRzn/yUc + 5/8mHOf/JB3m/yIb5f+MiO3/wsLy/1BF6f8mHej/Ixrm/zkw6f+jou//8/P9//n8+P/7+/r//fv5//z6 + +f/6+/n/5Obz/29k7P8pHef/Jhzp/yQb6f8kG+b/KCDp3iQc6N8lHOj/JRzo/yUb6f8jHOT/UUjn/8bF + 8v/3+Pr//fz7//v79//9+ff/8/L5/6Gi8/83Ler/Hxno/yYd4v8nHeT/JBvo/05E6P9RRu3/IRno/yEb + 5/8mHef/JRzo/yUc6P8lHOf/IRzo/yMb6P9TSev/TUPn/yQc6f8lHOT/JRrl/x8Y6v85L+n/p6bz//Tz + +P/7+vj/+/z5//38+//4+Pr/xMTx/05G5v8kHeX/Jx3r/yUb6f8kG+f/KCDq3iQc6N8lHOj/JRzo/yIb + 6P8iG+j/Ihnn/09F6P/FyPP/9/f6//j69v/08/n/p6Dz/zYt6v8iHOf/Ix3n/yUa6P8nG+r/JBzn/yUe + 5v8lHen/IRro/yEa5v8kHef/JRzo/yUc6P8kG+j/Ihrp/yMc6v8mH+j/JR/m/yUe6P8nG+r/Jhrr/yQc + 6f8iGuf/Oy/q/6uk8//09Pn/9/r3//j4+v/CxfH/TkTo/yMZ6P8iHOj/Ihro/yQb6f8kG+f/KCDq3iQe + 5t8jHOn/Jhzo/yMc6v8kG+z/Jh3p/yQe6v9SSO3/ycjy/+/w9v+ioPD/OTDt/yMb6/8nHOv/Jhrs/yQb + 6v8jGur/Jhrs/yUb6v8iGuv/JB3p/yMa6/8kHOr/JRzp/yUc6f8lHOv/JBvr/yMd6P8kHev/Jhzq/yYa + 6/8kG+v/Jh7q/yca6/8mGun/JBno/zwx6/+mpPL/8PH3/8jG8v9RR+3/Ix7q/ycd6v8kG+v/Ihvq/yQb + 6f8jG+j/KSLo3jgw698kHuv/Jxzr/yQd7P8kHOv/JBzr/yQc7P8mHO//U0no/4eE7v80LOn/Hxrs/yYd + 7P8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc + 6/8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc6/8kHOv/Jhrq/yEa6/85L+v/ioXw/1JH6f8lHe7/JR3r/yQc + 6/8kHOv/Ixzr/ycd7v8jHev/PjPt3mVb7d8kHOr/Jhvq/yQd6v8kHer/JB3q/yQc5/8jGuz/JB7n/yYd + 6v8hHO3/IRzr/yUb7f8kHev/JB3q/yQd6v8kHer/JB3q/yQd6v8kHer/JB3q/yQd6v8kHer/JB3q/yQd + 6v8kHer/JB3q/yQd6v8kHer/JB3q/yQd6v8kHer/JB3q/yQd6v8kHOv/JRvt/yAc6v8gHO3/JRzr/yQd + 5/8jHOr/JB3m/yQd6v8kHer/Ixzr/yQb7P8jG+n/bWDw3rGu9N8zK+3/JBvn/yIZ6v8kHOv/Ixvr/yQb + 7f8mHOz/JRzt/yUd7f8mHOv/JRvu/yMc6v8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc + 6/8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc6/8kHOv/Ih3r/yMb + 7v8jG+n/Ixzt/yUb7v8mHOv/JBzt/yQb7P8kHev/Ixrs/yQc6v80Kuz/ta/13uvt+t98efD/KRzu/yQb + 6P8oHe7/Jhrs/yYb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb + 7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb + 7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/Jxzv/yga7v8oHe3/Jx7q/ywd8P+CffP/7u773vr6 + 9t/j4/b/fHrx/zMq7/8mHe3/Ixzs/yMb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb + 7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb + 7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBzu/yEZ7P8jGen/Myvs/4J9 + 8//l5Pb/+/r23vv498P5+vbf6uz5366r9d9mW/HfNSzs3yUe6t8jG+zfIxvs3yMb7N8jG+zfIxvs3yMb + 7N8jG+zfIxvs3yMb7N8jG+zfIxvs3yMb7N8jG+zfIxvs3yMb7N8jG+zfIxvs3yMb7N8jG+zfIxvs3yMb + 7N8jG+zfIxvs3yMb7N8jG+zfIxvs3yMb7N8jG+zfIxvs3yMb7N8jG+zfIxvs3yMb7N8jG+zfJiDs3zgt + 8N9pXfHftLH23+3t+d/7+vbf/Pf4wgAAAAAAAFUKAAAAAAAAVQoAAAAAAABVCgAAAAAAAFUKAAAAAAAA + VQoAAAAAAABVCgAAAAAAAFUKAAAAAAAAVQoAAAAAAABVCgAAAAAAAFUKAAAAAAAAVQoAAAAAAABVCgAA + AAAAAFUKAAAAAAAAVQoAAAAAAABVCgAAAAAAAFUKAAAAAAAAVQoAAAAAAABVCgAAAAAAAFUKAAAAAAAA + VQoAAAAAAABVCgAAAAAAAFUKAAAAAAAAVQoAAAAAAABVCgAAAAAAAFUKAAAAAAAAVQoAAAAAAABVCgAA + AAAAAFUKAAAAAAAAVQoAAAAAAABVCgAAAAAAAFUKAAAAAAAAVQoAAAAAAABVCgAAAAAAAFUKAAAAAAAA + VQoAAAAAAABVCgAAAAAAAFUKAAAAAAAAVQoAAAAAAABVCgAAAAAAAFUKAAAAAAAAVQoAAAAAAABVCgAA + AAAAAFUKAAAAAAAAVQoAAAAAAABVCgAAAAAAAFUKAAAAAAAAVQoAAAAAAABVCigAAAAgAAAAQAAAAAEA + IAAAAAAAgBAAAAAAAAAAAAAAAAAAAAAAAAD7+PjC1NXp3m5uv94tKqXeHBmZ3hwYmN4cGJneHBab3hwW + m94cGJneHBiZ3hwWm94cFpveHBiY3hwYmN4cFpveHBab3hwWm94cFpveHBab3hwWm94cFpveHBab3hwW + m94cFpveHBaZ3hwYmN4fGpneMiuk3nJwv97W1+ne+/n7wdTU6t9QS7T/HBee/xsVnP8bFpv/GxWb/xsV + nP8bFZ3/GxWc/xsWm/8bFpv/GxWc/xsVnP8bFpr/Gxaa/xsVnP8bFZz/GxWc/xsVnP8bFZz/GxWc/xsV + nP8bFZz/GxWc/xoUnP8bFZv/GxWa/xsWm/8cFpv/HRmd/1NPtf/W1uzebmzE3x4YoP8bFp//Ghag/xoV + oP8bF5//HBai/xwWov8cFqH/Gxag/xsWoP8cFqH/HBah/xwXoP8cF6D/HBah/xwWof8bFqD/Gxag/xsW + oP8cFqH/Gxag/xsWoP8cFqH/HBai/xwXoP8bF57/GxWh/xsWoP8cF5//Hxii/3Zxxt4sKqzfGxek/xsX + pP8cFqX/HRaj/ykoqf87Oa7/Hxql/xwWpf8cFqT/HBak/xwWpf8dFqX/HBal/xwWpf8cFqX/HBal/xwW + pf8cF6X/HRal/xwWpP8cF6T/HBak/x0Wpv8eGaT/PTuv/yooq/8eGKT/HBal/xsXpf8cF6X/NC2v3hwZ + pt8bFqf/HRin/xwYpv8vKK7/n53X/87P6f9TUL3/Hhmp/xwXqP8cGKf/HBao/x0YqP8dF6n/HRio/xwX + qP8cGKj/HBap/xwYp/8dF6j/HRep/x0YqP8bFqf/IBqo/1hUvf/Q0ej/nprX/y4nrv8cF6j/HBio/xsX + p/8fG6jeHBas3x0XrP8aGKr/LCix/6Cc2f/29Pj//Pr7/9bV7f9TUr7/Hhqq/x0Wrf8cGaz/MC20/yEc + r/8dGar/HRir/x0Yq/8dGan/IR2s/zAus/8cGaz/Hhiu/x0Zqf9VVL7/2Nft//z8+f/19Pj/npnY/ywo + tP8cGK3/HBiq/x8ard4dGbDfHRmw/xwZsP9PSsD/3t7w//n69//8/Pr//f39/9XW7v9UVMH/Hxqw/0hD + vP+pqN//NDG6/x4YsP8dGbD/HRmv/x8Zr/84M7n/qqne/0dBvf8fGbH/VVTA/9bY7//9/f3//Pz6//r7 + +P/c3fD/TEa//xsZr/8cGa7/Hxuw3hwas98dGbP/HRiy/x8ctf9ta83/5eTz//v9/f/+/v7//Pz8/9bW + 7v93ds7/y8np/+fm9f9IRML/Hxiz/x0as/8cGrL/HRmz/0xHwv/p6PT/ysjo/3d1zv/W1+3//Pz8//7+ + /v/7/fz/5OPy/2pozf8iHbb/Hxq0/x0Zs/8fG7XeHRq13x4atv8fGrX/IBm3/yEcuf9ubND/5ub1//v9 + /P/9/vz//Pz8//b2+v/9+/z/8/T6/15Zyv8fGLf/Hhq2/x4atv8cGrb/YV3L//T1+v/9/P3/9vb6//z8 + /P/9/fz/+/38/+Tk9f9qac//IR64/yAYtv8eGbf/Hhm2/yAbt94eGbrfHxm6/x8Zuv8fGbr/Hxm7/yAf + u/9vbNL/5uT1//v9/f/////////////////6+v3/dnLS/x0Zuv8fGbr/IBm6/x4Zuv94ddP/+vv9//// + //////////////v9/P/l4/T/bWfS/yIdvv8hGrv/Hxm6/x8Zuv8fGbr/IBq73iAZvd8gGb7/IBm+/yAZ + vv8fGrz/Hxi7/yQewP+Mid7/+fj7//////////////////39/f+Ri9v/Hxq9/yAZvv8gGb7/IBu+/5SQ + 2//+/f3/////////////////+Pj7/4mG3P8kH8D/IBm9/x8av/8gGb7/IBq+/yAavf8hG7/eIRrB3yEa + wf8hGsH/IRrB/yIbwP8gHL//S0XN/8zJ7v/6/Pz//v7+//7+/v/+/v7//f39/6mk5f8jHsH/IhrB/yEa + wf8jHsL/rarl/////v///////v7+//7+/v/6/Pz/ysft/0lDzf8gHMH/IhvC/yEawf8hG8H/IRvA/yMc + wt4iGsXfIhrG/yIaxv8iGsb/IRrE/zozzP+1tOr/7e/4//b3+f/8/P3//f39//3+/f/+/fz/urrs/yYi + yP8iGsX/IhrG/ycjyP++vev//v39//7//v/9/f3//Pz9//f5+f/u7/n/s7Lq/zgxzP8hGcX/IhrG/yIb + xv8hG8P/IxzG3iEbxt8hG8f/IRvH/yEbx/8hG8j/KyTK/0ZB0P9bVtX/dnHd/42K4v+koej/ubjs/8zN + 7/+0sur/LibL/yIayP8iGsj/MCjK/7W06v/LzPD/ubjs/6Oh5/+LiOD/dG/c/1pW1f9FQdH/KiPK/yEb + yf8hG8f/IRvH/yEbx/8jHMneIhvL3yIby/8iG8v/IhvL/yIay/8hGsr/IhrM/yMbzP8gG8v/IhvM/yUe + zP8nIs3/LyjP/zgw0P8kHc3/IhvL/yIby/8kHcz/Ny7R/y4pzv8nIc3/JR3N/yIby/8gGsr/IhvM/yIa + y/8hGsr/IhrL/yIby/8iG8v/IhvL/yQczd4hG83fIRvO/yEbzv8hG87/IRvO/yEbzv8hG87/IRvO/yAb + zv8hG87/IRvO/yEbzv8hG87/IRvO/yEbzv8hG87/IRvO/yEbzv8hG87/IRvO/yEbzv8hG87/IRvO/yAb + zf8hG87/IRvO/yEbzv8hG87/IRvO/yEbz/8hGs//Ix3O3iIb0t8iG9L/IhvS/yIb0/8iG9L/IhvT/yIb + 0v8iG9L/IhvS/yIb0v8iG9L/IhvS/yIb0v8iG9P/IhvS/yIb0v8iG9L/IhvS/yIb0/8iG9L/IhvS/yIb + 0v8iG9L/IhvS/yIb0v8iG9L/IhvS/yIb0v8iG9P/IhvT/yIa0/8jHdPeIxvU3yMb1f8hGtb/IRrX/yIa + 1f8jG9X/IhnV/yIZ1/8hGdX/IRvV/yEb1f8jHNT/JSDT/ycj1f8iHdX/IRrW/yEa1v8jHNX/KSPU/yYf + 1v8kHNb/IRvV/yAZ1P8hGdX/IxvW/yIa1P8jG9X/IhrV/yMa1/8jGtf/IhrT/yMd094jGtnfJBrZ/yIb + 2f8iG9n/IxvX/ycf1v80LNv/Qzzd/1ZQ4f9saOX/hYHo/52a6/+wse3/oaHr/y4n2f8iG9n/IhvZ/zIo + 2v+kour/sLDu/5yY7P+Dfuf/amXj/1VP4P9DPNz/NCzb/ycf1/8kHNf/JBvZ/yQb2f8jGdf/JB3W3iMa + 3N8jGtz/Ixvc/yIb3P8jGtr/Pzjd/7Kv7v/i4fb/7/D5//j4/f/8/P7//v3+//7+/f+/v/H/KCPc/yIb + 2/8jG9z/KiXd/8HC8v/+/f3//v3///v7/f/3+Pz/7u/6/+Lh9/+wru7/Pjfb/yMb2/8jG9z/Ixvc/yIZ + 2v8kHNreJBzd3yQc3v8kHN7/JBze/yUc3v8lHd7/Y1rn/9rZ9//9/Pz//////////////////v7//6yq + 8f8kH97/JBzd/yQc3v8lIN3/r63y//7+/v///////v7+//7+/v/9/Pv/2tj3/2FY5v8mHd//JBvd/yQc + 3v8kHN7/Ihvc/yQd294jHODfIxzg/yMc4P8jHOD/JB3g/yUa3/8nH97/iIXq//j3+/////////////// + ///9/f7/lpHv/yIc3/8jHOD/JBzg/yQd3/+Ylu3//f39//////////////////j3+/+Ggev/KCDf/yYb + 4P8iG9//Ixzg/yMc4P8iG9//JB3f3iMc4N8jHOD/Ixzg/yMc4P8jG+D/JRvk/1pU5v/X1/T//fz8//// + //////////////r7/v98d+v/Ihvh/yMc4P8jHOD/Ihzg/4B86v/7/P7//////////////////fz8/9bV + 9v9ZU+b/JR3h/yMc3/8jHOD/Ixzg/yIb4P8kHeLeJBzj3yQc4/8jHOT/Ixvi/yMd4v9cV+n/2tj2//38 + /P/9/Pz/+/z7//n6/P/9/P3/9PT8/2Vd6v8jG+P/JBzj/yMc4/8iG+T/aWHr//b1/P/+/Pz/+vn8//z9 + /P/9/f3//fz8/9jW9f9aVej/JB7j/yMd5P8kG+X/Ixvj/yUf5N4kHOTfJBzl/yEc5P8jHOf/W1br/9jY + 9f/9/Pz//v7+//v8+v/l4vj/mJTv/9vb9//r6fr/UEjp/yQc5f8kHOX/JBzl/yQb5v9TS+r/7Or4/9ra + 9/+alfL/5uT4//v9/P/+/v7//Pz7/9fV9v9aVOv/JB3l/yAc5P8jGub/JR/l3iQc5d8kHOb/Ixzk/1BE + 6//V0/X/+/r5//37+//8/fv/4+P6/3Bp7v8rIef/ZFvt/7+78/8+Nur/JBzn/yUc5v8lHOb/JBzm/0A5 + 6P+/vfL/YFjr/yog5/9ybO3/5eX5//v8+//9+/r/+/r5/9LS8/9NQur/JRzn/yQb5/8lH+beJBzo3yUc + 6P8jG+f/PTXn/7e18f/4+Pr/+/r3/+Xj9/9vau7/JR7o/yYd5f8mHuf/Rz7p/ysh6v8jHOb/JRzo/yUc + 6P8jHOf/LSTq/0Y/6P8mHuf/Jhrn/yUe6f9zbu7/5uT3//r7+P/3+Pr/trPx/zw05/8kHOj/JRvp/ycf + 6d4kHejfJRzo/yMc6v8kG+r/Pzjr/7m38//g4PX/cWrv/ygf6/8mG+r/JBvq/yYb6v8kHOn/Ihvp/yMb + 6v8lHOn/JRzp/yMb6v8jHen/JR3q/yYb6v8lHOv/JRvq/yke6f90be//4OH2/7i18/8+N+v/JBzq/yIb + 6v8kG+n/JyDp3jYu698mHOv/JB3r/yQc6v8kHOz/QDjr/1lT6/8kHuz/JRzs/yQc6/8kHOv/JBzr/yQc + 6/8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc6v8kHOv/JBzr/yQc6/8kHOv/JRvr/yYe7P9bVe3/QDfr/yQc + 6/8kHOr/Ixzr/yUc7f85MOzedW7w3yYd6f8jG+r/JBzq/yQb6/8lHOz/JBzs/yQb7P8kHOz/JBzr/yQc + 6/8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc6/8kHOv/JBzr/yQc6/8jHOz/Ihvs/yIb + 7P8kHOz/JBzq/yQc6/8kHOv/JR3r/3hw8d7T1PbfVU3v/ycd7P8mG+3/JRvt/yQb7f8kG+3/JBvt/yQb + 7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb7f8kG+3/JBvt/yQb + 7f8kG+3/JBvt/yQb7f8mHO7/JRvu/yge6/9ZUPH/1tX23vn498PS0/XfdG3y3zUs7N8kHOvfJBvs3yQb + 7N8kG+zfJBvs3yQb7N8kG+zfJBvs3yQb7N8kG+zfJBvs3yQb7N8kG+zfJBvs3yQb7N8kG+zfJBvs3yQb + 7N8kG+zfJBvs3yQb7N8kG+zfJBvs3yQc7d81LO3feHHy39bV9t/7+PfCAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAEAAAACAA + AAABACAAAAAAAEAEAAAAAAAAAAAAAAAAAAAAAAAApKLWwjQxp94cFpveGxWc3hsWm94bFZveGxab3hsV + m94bFZzeGxWc3hsVnN4bFZzeGxWb3hwWm943Mqfep6bXwTQxrd8cFqL/JSCl/yolp/8cFqP/HBai/xwW + ov8cFqL/HBai/xwWov8cFqL/HBaj/yomp/8lIKX/HBei/zgzrt4cGKrfJiKs/5OQ0/+vrd7/NjKy/x8a + q/8mIq7/HRiq/x0Xqf8mIq3/Hxqr/zczsv+wr93/ko/T/yYirf8dGaneHBmx3zAsuP+7uuX/+Pn7/7a2 + 4/95ds7/eXfQ/x4Zsv8eGrH/fHrQ/3h1zv+3t+P/+Pn6/7q45f8vK7j/HRqy3h0ZuN8fGbj/QD3D/8TD + 6//6+vz/9/f7/6yq5P8iHLn/Ih25/66t5P/39/v/+vr8/8LB6/8/O8P/Hxm4/x8auN4gGsDfIRrA/yMd + v/+Afdr/+Pj8//7+/v/Ewuz/KSPC/yokwv/HxO3///////j4+/9+etn/Ix3A/yEawP8hGr/eIhvF3yIb + xv8uJ8n/h4Tg/7i27P/My/L/t7Xr/zAqyv8xK8r/uLfs/8zL8v+3tuz/hoPg/y0myf8iG8b/IhvG3iIb + zN8iG83/IRvM/yMczf8nIc7/LijQ/zQu0f8kHs3/JR7N/zQu0f8uKND/JyDN/yMczf8hG8z/IhvN/yIb + zd4iG9PfIhvU/yIb0/8iG9T/JB3U/ykj1P8tKNX/Ix3U/yQd1P8uJ9X/KSLV/yQd0/8iG9P/IhvT/yIa + 1P8iG9PeIxra3yIb2v8uJtr/e3bm/6il7v+/vvL/rq3u/zAq2/8yK9z/sK7v/7+98v+npO7/enXm/y4m + 2v8jG9r/IxvZ3iMc3t8jHN//KCDf/4eC6//5+fz//////8bE9v8sJt//Lifg/8jH9f//////+Pj8/4aB + 6/8oH9//Ixzf/yMc3d4jHOHfIxzi/z025P+6uPL/+vr8//r6/f+wrfP/JyDi/ycg4v+zsPP/+vr9//r6 + /f+5tvL/PDbk/yMc4v8jHOLeIxvl3zMs5/+0svL/+fj7/8PB9f+Nh/D/hYDv/yQc5f8lHOb/h4Lv/4yG + 8P/Fw/b/+fj7/7Ow8v8zK+f/JBzm3iQc6N8wKOn/op/y/7679P9EPez/KSDp/zEp6f8kHOj/JBzp/zIr + 6f8pIOn/Rj7r/7+99f+hnvH/MCjp/yUd6d48NevfJBzq/zIp7P83MOz/JBzr/yQc6/8kHOv/JBzr/yQc + 6/8kHOv/JBzr/yQc6/84MOz/MSnr/yQc6/8/N+zepqPzwz007d8kG+zfJBvs3yMb7N8jG+zfIxvs3yMb + 7N8jG+zfIxvs3yMb7N8jG+zfIxvs3yQb7N8+Ne3fqaX0wgAAJgAAACYAAAAmAAAAJgAAACYAAAAmAAAA + JgAAACYAAAAmAAAAJgAAACYAAAAmAAAAJgAAACYAAAAmAAAAJgA= + + + \ No newline at end of file diff --git a/Themenmanagement/Kernbotschaften/frmKernbotschaft.vb b/Themenmanagement/Kernbotschaften/frmKernbotschaft.vb new file mode 100644 index 0000000..380a3c6 --- /dev/null +++ b/Themenmanagement/Kernbotschaften/frmKernbotschaft.vb @@ -0,0 +1,515 @@ +Imports System.Data.SqlClient +Imports System.Data.SqlTypes + +Public Class frmKernbotschaft + + Dim kb As New clsKB + Dim sec As New Utils.MySecurity + Dim msg As New Utils.MyMessage + Dim FormReadonly As Boolean = False + Dim FormDataChanged As Boolean = False + Dim SpaltenTitel As New Utils.Tabellenspalte + + Dim m_artikelnr As Integer + Property Artikelnr As Integer + Get + Return m_artikelnr + End Get + Set(value As Integer) + m_artikelnr = value + End Set + End Property + + + Sub New(ByVal artikelnr As Integer, Optional create_new As Boolean = False) + + InitializeComponent() + If create_new Then Me.Artikelnr = kb.Add_New() Else Me.Artikelnr = artikelnr + End Sub + + Sub New() + InitializeComponent() + Me.Artikelnr = 5 + End Sub + + Private Sub frmKernbotschaft_Load(sender As Object, e As EventArgs) Handles MyBase.Load + Dim sel As Boolean + kb.Get_Stammdaten() + kb.Get_Beziehungen(Me.Artikelnr) + AddChanges(Me) + + + clbAbsender.Items.Clear() + For Each r As DataRow In kb.absender.Rows + sel = False + For Each r1 As DataRow In kb.Absender_Artikel.Rows + If r1("absendernr") = r("absendernr") Then + sel = True + Exit For + End If + Next + If sel Then clbAbsender.Items.Add(r("Bezeichnung"), True) Else clbAbsender.Items.Add(r("Bezeichnung"), False) + Next + + + clbAnspruchsgruppe.Items.Clear() + For Each r As DataRow In kb.Anspruchsgruppe.Rows + sel = False + For Each r1 As DataRow In kb.Anspuchgruppe_Artikel.Rows + If r1("anspruchgruppenr") = r("anspruchgruppenr") Then + sel = True + Exit For + End If + Next + If sel Then clbAnspruchsgruppe.Items.Add(r("Bezeichnung"), True) Else clbAnspruchsgruppe.Items.Add(r("Bezeichnung"), False) + Next + + clbThemengruppe.Items.Clear() + For Each r As DataRow In kb.Themengruppe.Rows + sel = False + For Each r1 As DataRow In kb.Themengruppe_Artikel.Rows + If r1("themengruppenr") = r("themengruppenr") Then + sel = True + Exit For + End If + Next + If sel Then clbThemengruppe.Items.Add(r("Bezeichnung"), True) Else clbThemengruppe.Items.Add(r("Bezeichnung"), False) + Next + + 'Me.txtTitel.Text = kb.sBezeichnung.Value + 'Me.txtBeschreibung.Text = kb.sBeschreibung.Value + + Me.Get_Data(Me.Artikelnr) + Me.FormDataChanged = False + + End Sub + + +#Region "Eventhandler ChangeEreignisse" + ''' + ''' Allg Eventhandler für Chanage-Ereignise festlegen + ''' + ''' + ''' + Private Sub AddChanges(ByVal Container As Control) + Dim l As New List(Of Control) + Me.GetControl(Me, "*", l) + Dim evh As EventHandler = AddressOf ChangesMade + For Each c As Control In l + If TypeOf c Is TextBox Then + Dim ctl As TextBox = c + AddHandler ctl.TextChanged, evh + End If + If TypeOf c Is MaskedTextBox Then + Dim ctl As MaskedTextBox = c + AddHandler ctl.TextChanged, evh + End If + If TypeOf c Is ComboBox Then + Dim ctl As ComboBox = c + AddHandler ctl.SelectedValueChanged, evh + End If + If TypeOf c Is CheckBox Then + Dim ctl As CheckBox = c + AddHandler ctl.CheckedChanged, evh + End If + Next + AddHandler txtBeschreibung.TextChanged, evh + AddHandler txtSuchbegriffe.TextChanged, evh + End Sub + ''' + ''' Envent-Handler für Change-Ereignisse + ''' + ''' + ''' + ''' + Private Sub ChangesMade(ByVal sender As Object, ByVal e As System.EventArgs) + Me.FormDataChanged = True + Dim objtype As System.Type = sender.GetType + If objtype.Name = "MaskedTextBox" Then + Dim o As MaskedTextBox = sender + If o.Text = "01.01.1900" Then o.Text = " . . " + End If + End Sub + + ''' + ''' Sucht in den Base-Controls sämtliche Controls mit dem Namen in "Key" (Wildcards * möglich) und listet + ''' die gefundnen Controls in der Liste L zur weiteren Bearbeitung + ''' + ''' Base-Contrlo (z.B. aktuelles Formular + ''' Schlüssel welcher gesucht werden soll + ''' Liste der gefundenen Objekte + ''' True wenn eines oder mehr Controls gefunden wurden, false wenn kein Control gefunden wurde. + ''' + ''' + Private Function GetControl(ByVal BaseControl As Control, ByVal Key As String, ByRef L As List(Of Control), Optional ByVal ReturnAtFirstElement As Boolean = False) As Boolean + If L Is Nothing Then L = New List(Of Control) + Dim Gut As Boolean + Dim ReturnFlag As Boolean = False + If Key IsNot Nothing Then Key = Key.ToLower + + If BaseControl.HasChildren = True Then + For Each ctl As Control In BaseControl.Controls + Gut = False + If Key Is Nothing Then + Gut = True + Else + If ctl.Name.Length >= Key.Length Then + Key = Key.ToLower + If Key.StartsWith("*") Then + If Key.Substring(1) = ctl.Name.ToLower.Substring(ctl.Name.Length - (Key.Length - 1), Key.Length - 1) Then Gut = True + ElseIf Key.EndsWith("*") Then + If Key.Substring(0, Key.Length - 1) = ctl.Name.ToLower.Substring(0, Key.Length - 1) Then Gut = True + Else + If Key = ctl.Name.ToLower Then Gut = True + End If + End If + End If + + If Gut = True Then + L.Add(ctl) + If ReturnAtFirstElement = True Then ReturnFlag = True + End If + If ReturnFlag = False Then + Call GetControl(ctl, Key, L) + End If + Next + End If + + If L.Count - 1 > -1 Then + Return True + Else + Return False + End If + End Function + + Private Sub dtGueltigAb_Enter(sender As Object, e As EventArgs) Handles dtGueltigAb.Enter + If Me.txtGueltigab.Text = " . ." Then Me.dtGueltigAb.Value = Now.ToShortDateString Else Me.dtGueltigAb.Value = Me.txtGueltigab.Text + End Sub + + Private Sub dtGueltigBis_Enter(sender As Object, e As EventArgs) Handles dtGueltigBis.Enter + If Me.txtGueltigbis.Text = " . ." Then Me.dtGueltigBis.Value = Now.ToShortDateString Else Me.dtGueltigBis.Value = Me.txtGueltigbis.Text + End Sub + Private Sub dtPicker_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles _ + dtGueltigAb.Leave, dtGueltigBis.Leave + Dim s As String + Dim obj As DateTimePicker = sender + s = obj.Name + Check_Datum(Me.kb.iArtikelnr.Value, obj.Value, obj.Name) + End Sub + + ''' + ''' Handelt das Change-Ereignis eines Datetimepckers und stellt das ausgewählte Datum in das entsprechende Textfeld + ''' + ''' + ''' + ''' + Private Sub DateTimePicker_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles _ + dtGueltigAb.ValueChanged, dtGueltigBis.ValueChanged + Dim s As String + Dim obj As DateTimePicker = sender + s = obj.Name + If UCase(s) = "DTGUELTIGAB" Then s = "txtGueltigab" + If UCase(s) = "DTGUELTIGBIS" Then s = "txtGueltigbis" + Dim l As New List(Of Control) + Dim txtb As MaskedTextBox + GetControl(Me, s, l) + For Each ctl As Control In l + txtb = CType(ctl, MaskedTextBox) + txtb.Text = obj.Value + Next + + 'If obj.Name = "dtPickerVertragsende" Then + ' txtVertragsende_Leave(sender, e) + 'End If + + + + End Sub + + Private Sub Check_Datum(ByVal Vertragselementnr As Integer, ByVal Datum As String, ByVal element As String) + 'Dim dt As New DataTable + 'If Not IsDate(Datum) Then Datum = "01.01.1900" + 'dt = Me.Vertragselement.Datumscheck(Me.Vertragselement.iVertragselementnr.Value, Datum, element, Me.cbboxParentTree.SelectedNode.Tag) + 'Dim titel As String = "Datumsprüfung Vertragselement: " + Me.Vertragselement.sBezeichnung.ToString + 'Try + ' Dim formopen As Boolean = False + ' Dim dtpform As frmDatumspruefung + ' Dim p As Form = Me.ParentForm + ' For Each windows As Form In p.MdiChildren + ' If windows.Name = "frmDatumspruefung" Then + ' formopen = True + ' dtpform = windows + ' End If + ' Next + ' If formopen = True And dt.Rows.Count > 0 Then + ' dtpform.C1Pruefresultate.DataSource = dt + ' dtpform.Text = titel + ' dtpform.C1Pruefresultate.DataMember = dt.TableName + ' dtpform.Spalten_Aktualisieren() + ' dtpform.TopMost = True + ' dtpform.BringToFront() + ' dtpform.Show() + ' Exit Sub + ' End If + ' If dt.Rows.Count > 0 Then + ' Dim f As New frmDatumspruefung + ' f.C1Pruefresultate.DataSource = dt + ' f.C1Pruefresultate.DataMember = dt.TableName + ' f.MdiParent = Me.MdiParent + ' f.Text = titel + ' f.Spalten_Aktualisieren() + ' 'Me.SpaltenTitel.Spaltentitel_aktualisieren(f.C1Pruefresultate, "Datumspruefung", dt) + ' f.Show() + ' End If + ' 'dt.Dispose() + 'Catch ex As Exception + 'End Try + End Sub + +#End Region + + +#Region "Closing / Check_Changes" + + ''' + ''' Schliessen des Formulars + ''' + ''' + ''' + ''' + Private Sub ClosingForm(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing + If Me.FormReadonly = True Then Exit Sub + If Check_Changes() = False Then + e.Cancel = True + Else + If Me.kb.Neuer_Datensatz = True Then Me.kb.Delete(Me.kb.iArtikelnr.Value) + Me.kb.dispose() + Me.msg.dispose() + Me.SpaltenTitel = Nothing + Me.sec = Nothing + Delete_Temp_Files() + + Me.Dispose() + End If + End Sub + + Private Sub Delete_Temp_Files() + Dim s As String + For Each s In System.IO.Directory.GetFiles(Globals.clsapplication.sTmp_filepath) + Try + System.IO.File.Delete(s) + Catch + End Try + Next s + End Sub + ''' + ''' Prüfung, ob Datenänderungen vorgenommen wurden. + ''' + ''' + Private Function Check_Changes(Optional ByVal reload As Boolean = False) As Boolean + If Me.FormReadonly Then Return True + Dim msgres As MsgBoxResult + If Me.FormDataChanged Then + msgres = msg.Show_MessageYesNoCancel(3) + Select Case msgres + Case MsgBoxResult.Yes + Save_data() + Return True + Case MsgBoxResult.Cancel + Return False + Case MsgBoxResult.No + If reload = True Then + Me.Get_Data(Me.Artikelnr) + End If + Me.FormDataChanged = False + Return True + End Select + Else + Return True + End If + End Function + +#End Region + + + +#Region "Daten" + ''' + ''' Daten ab DB laden uns ins Form befüllen + ''' + ''' + ''' + Private Sub Get_Data(ByVal Artikelnr As Integer) + Try + kb.Get_Artikel(Artikelnr) + Me.txtTitel.Text = Me.kb.sBezeichnung.Value.ToString + Me.txtBeschreibung.Text = Me.kb.sBeschreibung.Value.ToString + Me.txtSuchbegriffe.Text = Me.kb.sSuchbegriffe.Value.ToString + Me.dtGueltigAb.Value = Me.kb.daGueltig_ab.Value + Me.dtGueltigBis.Value = Me.kb.daGueltig_bis.Value + Me.cbAktiv.Checked = Me.kb.bAktiv.Value = True + Me.txtErstellt_am.Text = Me.kb.daErstellt_am.ToString + Me.txtMutiert_am.Text = Me.kb.daMutiert_am.ToString + Me.txtMutierer.Text = Me.kb.MutiererText.ToString + Me.txtArtikel.Text = Me.kb.sArtikel.ToString + Me.rbaktiveBotschaft.Checked = Me.kb.bAktiv_Reaktiv.Value = True + Me.rbReaktiveBotschaft.Checked = Me.kb.bAktiv_Reaktiv.Value = False + Me.txtSchlagwort.Text = Me.kb.sSchlagwort.Value.ToString + ChangesMade(Me.txtGueltigab, Nothing) + ChangesMade(Me.txtGueltigbis, Nothing) + + + sec.Set_Form_Security(Me) + Me.FormDataChanged = False + 'shu Set_Titel() + Catch ex As Exception + For Each ctl As ToolStripButton In Me.ToolStrip1.Items + ctl.Enabled = False + Next + Me.TSBtnQuit.Enabled = True + 'shu Me.TSBtnSuche.Enabled = True + Me.TSBtnNew.Enabled = True + sec.Set_Form_Security(Me) + End Try + Me.FormDataChanged = False + End Sub + ''' + ''' Daten ab Form speichern + ''' + ''' + Private Sub Save_data() + kb.sBezeichnung = New SqlString(CType(txtTitel.Text, String)) + kb.sBeschreibung = New SqlString(CType(txtBeschreibung.Text, String)) + kb.sArtikel = New SqlString(CType(txtArtikel.Text, String)) + kb.sSuchbegriffe = New SqlString(CType(txtSuchbegriffe.Text, String)) + kb.bAktiv = New SqlBoolean(CType(cbAktiv.Checked, Boolean)) + kb.sSchlagwort = New SqlString(CType(txtSchlagwort.Text, String)) + If IsDate(Me.txtGueltigab.Text) Then + kb.daGueltig_ab = New SqlDateTime(CType(Me.txtGueltigab.Text, DateTime)) + Else + kb.daGueltig_ab = New SqlDateTime(CType(SqlDateTime.Null, DateTime)) + End If + If IsDate(Me.txtGueltigbis.Text) Then + kb.daGueltig_bis = New SqlDateTime(CType(Me.txtGueltigbis.Text, DateTime)) + Else + kb.daGueltig_bis = New SqlDateTime(CType(SqlDateTime.Null, DateTime)) + End If + kb.bAktiv_Reaktiv = New SqlBoolean(CType(Me.rbaktiveBotschaft.Checked, Boolean)) + + kb.Save_Data() + Dim updated As Boolean + Dim Beziehungnr As Integer = 0 + Dim i As Integer + + For i = 0 To Me.clbAbsender.Items.Count - 1 + If clbAbsender.GetItemChecked(i) Then + updated = False + For Each r As DataRow In kb.Absender_Artikel.Rows + If r("Bezeichnung") = clbAbsender.Items(i) Then + kb.Update_Beziehungen(Me.Artikelnr, r("absendernr"), 1, Globals.clsmitarbeiter.iMitarbeiternr.Value, 1) + updated = True + End If + Next + + If updated = False Then + For Each r In kb.absender.Rows + If r("Bezeichnung") = clbAbsender.Items(i) Then Beziehungnr = r("Absendernr") + Next + kb.Update_Beziehungen(Me.Artikelnr, Beziehungnr, 1, Globals.clsmitarbeiter.iMitarbeiternr.Value, 1) + End If + End If + Next + + For i = 0 To Me.clbAbsender.Items.Count - 1 + If clbAbsender.GetItemChecked(i) = False Then + For Each r As DataRow In kb.Absender_Artikel.Rows + If r("Bezeichnung") = clbAbsender.Items(i) Then + kb.Update_Beziehungen(Me.Artikelnr, r("absendernr"), 0, Globals.clsmitarbeiter.iMitarbeiternr.Value, 1) + End If + Next + End If + Next + + + For i = 0 To Me.clbAnspruchsgruppe.Items.Count - 1 + If clbAnspruchsgruppe.GetItemChecked(i) Then + updated = False + For Each r As DataRow In kb.Anspuchgruppe_Artikel.Rows + If r("Bezeichnung") = clbAnspruchsgruppe.Items(i) Then + kb.Update_Beziehungen(Me.Artikelnr, r("Anspruchgruppenr"), 1, Globals.clsmitarbeiter.iMitarbeiternr.Value, 2) + updated = True + End If + Next + + If updated = False Then + For Each r In kb.Anspruchsgruppe.Rows + If r("Bezeichnung") = clbAnspruchsgruppe.Items(i) Then Beziehungnr = r("Anspruchgruppenr") + Next + kb.Update_Beziehungen(Me.Artikelnr, Beziehungnr, 1, Globals.clsmitarbeiter.iMitarbeiternr.Value, 2) + End If + End If + Next + + For i = 0 To Me.clbAnspruchsgruppe.Items.Count - 1 + If clbAnspruchsgruppe.GetItemChecked(i) = False Then + For Each r As DataRow In kb.Anspuchgruppe_Artikel.Rows + If r("Bezeichnung") = clbAnspruchsgruppe.Items(i) Then + kb.Update_Beziehungen(Me.Artikelnr, r("Anspruchgruppenr"), 0, Globals.clsmitarbeiter.iMitarbeiternr.Value, 2) + End If + Next + End If + Next + + + For i = 0 To Me.clbThemengruppe.Items.Count - 1 + If clbThemengruppe.GetItemChecked(i) Then + updated = False + For Each r As DataRow In kb.Themengruppe_Artikel.Rows + If r("Bezeichnung") = clbThemengruppe.Items(i) Then + kb.Update_Beziehungen(Me.Artikelnr, r("themengruppenr"), 1, Globals.clsmitarbeiter.iMitarbeiternr.Value, 3) + updated = True + End If + Next + + If updated = False Then + For Each r In kb.Themengruppe.Rows + If r("Bezeichnung") = clbThemengruppe.Items(i) Then Beziehungnr = r("themengruppenr") + Next + kb.Update_Beziehungen(Me.Artikelnr, Beziehungnr, 1, Globals.clsmitarbeiter.iMitarbeiternr.Value, 3) + End If + End If + Next + + For i = 0 To Me.clbThemengruppe.Items.Count - 1 + If clbThemengruppe.GetItemChecked(i) = False Then + For Each r As DataRow In kb.Themengruppe_Artikel.Rows + If r("Bezeichnung") = clbThemengruppe.Items(i) Then + kb.Update_Beziehungen(Me.Artikelnr, r("themengruppenr"), 0, Globals.clsmitarbeiter.iMitarbeiternr.Value, 3) + End If + Next + End If + Next + + + + Me.FormDataChanged = False + + + End Sub + + +#End Region + + + Private Sub TSBtnQuit_Click(sender As Object, e As EventArgs) Handles TSBtnQuit.Click + Me.Close() + End Sub + + Private Sub TSBtnSave_Click(sender As Object, e As EventArgs) Handles TSBtnSave.Click + Me.Save_data() + End Sub + + Private Sub Label4_Click(sender As Object, e As EventArgs) + + End Sub +End Class \ No newline at end of file diff --git a/Themenmanagement/Kernbotschaften/frmKernbotschaften.Designer.vb b/Themenmanagement/Kernbotschaften/frmKernbotschaften.Designer.vb new file mode 100644 index 0000000..a413462 --- /dev/null +++ b/Themenmanagement/Kernbotschaften/frmKernbotschaften.Designer.vb @@ -0,0 +1,372 @@ + _ +Partial Class frmKernbotschaften + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmKernbotschaften)) + Dim TreeNode1 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Bankrat") + Dim TreeNode2 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Geschäftsleitung") + Dim TreeNode3 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Leadership-Team") + Dim TreeNode4 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Direktion / Kader") + Dim TreeNode5 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Absender", New System.Windows.Forms.TreeNode() {TreeNode1, TreeNode2, TreeNode3, TreeNode4}) + Dim TreeNode6 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Anspruchsgruppen") + Dim TreeNode7 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Themengruppen") + Me.MenuStrip1 = New System.Windows.Forms.MenuStrip() + Me.DateiToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStrip1 = New System.Windows.Forms.ToolStrip() + Me.TSBtnQuit = New System.Windows.Forms.ToolStripButton() + Me.tsbtnrefresh = New System.Windows.Forms.ToolStripButton() + Me.ToolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator() + Me.TsBtnSuchArt = New System.Windows.Forms.ToolStripDropDownButton() + Me.ApplikationSucheToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.tstxtsuche = New System.Windows.Forms.ToolStripTextBox() + Me.TSBtnSuche = New System.Windows.Forms.ToolStripButton() + Me.TSBtnFilterAufheben = New System.Windows.Forms.ToolStripButton() + Me.ToolStripButton2 = New System.Windows.Forms.ToolStripButton() + Me.TSBtnFirst = New System.Windows.Forms.ToolStripButton() + Me.TSBtnNext = New System.Windows.Forms.ToolStripButton() + Me.TSBtnPrevious = New System.Windows.Forms.ToolStripButton() + Me.TSBtnLast = New System.Windows.Forms.ToolStripButton() + Me.ToolStripSeparator2 = New System.Windows.Forms.ToolStripSeparator() + Me.TSBtnNew = New System.Windows.Forms.ToolStripButton() + Me.SplitContainer1 = New System.Windows.Forms.SplitContainer() + Me.TreeKategorien = New System.Windows.Forms.TreeView() + Me.ImageList1 = New System.Windows.Forms.ImageList(Me.components) + Me.SplitContainer2 = New System.Windows.Forms.SplitContainer() + Me.C1Themen = New C1.Win.C1TrueDBGrid.C1TrueDBGrid() + Me.ShurtfEditor1 = New RTFEditor.SHURTFEditor() + Me.MenuStrip1.SuspendLayout() + Me.ToolStrip1.SuspendLayout() + CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SplitContainer1.Panel1.SuspendLayout() + Me.SplitContainer1.Panel2.SuspendLayout() + Me.SplitContainer1.SuspendLayout() + CType(Me.SplitContainer2, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SplitContainer2.Panel1.SuspendLayout() + Me.SplitContainer2.Panel2.SuspendLayout() + Me.SplitContainer2.SuspendLayout() + CType(Me.C1Themen, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'MenuStrip1 + ' + Me.MenuStrip1.AllowMerge = False + Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DateiToolStripMenuItem}) + Me.MenuStrip1.Location = New System.Drawing.Point(0, 0) + Me.MenuStrip1.Name = "MenuStrip1" + Me.MenuStrip1.Size = New System.Drawing.Size(1077, 24) + Me.MenuStrip1.TabIndex = 4 + Me.MenuStrip1.Text = "MenuStrip1" + ' + 'DateiToolStripMenuItem + ' + Me.DateiToolStripMenuItem.Name = "DateiToolStripMenuItem" + Me.DateiToolStripMenuItem.Size = New System.Drawing.Size(46, 20) + Me.DateiToolStripMenuItem.Text = "&Datei" + ' + 'ToolStrip1 + ' + Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.TSBtnQuit, Me.tsbtnrefresh, Me.ToolStripSeparator1, Me.TsBtnSuchArt, Me.tstxtsuche, Me.TSBtnSuche, Me.TSBtnFilterAufheben, Me.ToolStripButton2, Me.TSBtnFirst, Me.TSBtnNext, Me.TSBtnPrevious, Me.TSBtnLast, Me.ToolStripSeparator2, Me.TSBtnNew}) + Me.ToolStrip1.Location = New System.Drawing.Point(0, 24) + Me.ToolStrip1.Name = "ToolStrip1" + Me.ToolStrip1.Size = New System.Drawing.Size(1077, 25) + Me.ToolStrip1.TabIndex = 5 + Me.ToolStrip1.Text = "ToolStrip1" + ' + 'TSBtnQuit + ' + Me.TSBtnQuit.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnQuit.Image = CType(resources.GetObject("TSBtnQuit.Image"), System.Drawing.Image) + Me.TSBtnQuit.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnQuit.Name = "TSBtnQuit" + Me.TSBtnQuit.Size = New System.Drawing.Size(23, 22) + Me.TSBtnQuit.Text = "Schliessen" + Me.TSBtnQuit.ToolTipText = "Anwendung beenden" + ' + 'tsbtnrefresh + ' + Me.tsbtnrefresh.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tsbtnrefresh.Image = CType(resources.GetObject("tsbtnrefresh.Image"), System.Drawing.Image) + Me.tsbtnrefresh.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tsbtnrefresh.Name = "tsbtnrefresh" + Me.tsbtnrefresh.Size = New System.Drawing.Size(23, 22) + Me.tsbtnrefresh.Text = "Aktualisieren" + ' + 'ToolStripSeparator1 + ' + Me.ToolStripSeparator1.Name = "ToolStripSeparator1" + Me.ToolStripSeparator1.Size = New System.Drawing.Size(6, 25) + ' + 'TsBtnSuchArt + ' + Me.TsBtnSuchArt.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text + Me.TsBtnSuchArt.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ApplikationSucheToolStripMenuItem}) + Me.TsBtnSuchArt.Image = CType(resources.GetObject("TsBtnSuchArt.Image"), System.Drawing.Image) + Me.TsBtnSuchArt.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TsBtnSuchArt.Name = "TsBtnSuchArt" + Me.TsBtnSuchArt.Size = New System.Drawing.Size(59, 22) + Me.TsBtnSuchArt.Text = "Suchen" + ' + 'ApplikationSucheToolStripMenuItem + ' + Me.ApplikationSucheToolStripMenuItem.Name = "ApplikationSucheToolStripMenuItem" + Me.ApplikationSucheToolStripMenuItem.Size = New System.Drawing.Size(107, 22) + Me.ApplikationSucheToolStripMenuItem.Text = "Filtern" + ' + 'tstxtsuche + ' + Me.tstxtsuche.Name = "tstxtsuche" + Me.tstxtsuche.Size = New System.Drawing.Size(100, 25) + ' + 'TSBtnSuche + ' + Me.TSBtnSuche.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnSuche.Image = CType(resources.GetObject("TSBtnSuche.Image"), System.Drawing.Image) + Me.TSBtnSuche.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnSuche.Name = "TSBtnSuche" + Me.TSBtnSuche.Size = New System.Drawing.Size(23, 22) + Me.TSBtnSuche.Text = "Suchen" + ' + 'TSBtnFilterAufheben + ' + Me.TSBtnFilterAufheben.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnFilterAufheben.Image = CType(resources.GetObject("TSBtnFilterAufheben.Image"), System.Drawing.Image) + Me.TSBtnFilterAufheben.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnFilterAufheben.Name = "TSBtnFilterAufheben" + Me.TSBtnFilterAufheben.Size = New System.Drawing.Size(23, 22) + Me.TSBtnFilterAufheben.Text = "Filter aufheben" + ' + 'ToolStripButton2 + ' + Me.ToolStripButton2.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton2.Image = CType(resources.GetObject("ToolStripButton2.Image"), System.Drawing.Image) + Me.ToolStripButton2.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton2.Name = "ToolStripButton2" + Me.ToolStripButton2.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton2.Text = "Suchdialog" + ' + 'TSBtnFirst + ' + Me.TSBtnFirst.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnFirst.Image = CType(resources.GetObject("TSBtnFirst.Image"), System.Drawing.Image) + Me.TSBtnFirst.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnFirst.Name = "TSBtnFirst" + Me.TSBtnFirst.Size = New System.Drawing.Size(23, 22) + Me.TSBtnFirst.Text = "Erster Datensatz" + ' + 'TSBtnNext + ' + Me.TSBtnNext.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnNext.Image = CType(resources.GetObject("TSBtnNext.Image"), System.Drawing.Image) + Me.TSBtnNext.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnNext.Name = "TSBtnNext" + Me.TSBtnNext.Size = New System.Drawing.Size(23, 22) + Me.TSBtnNext.Text = "Nächster Datensatz" + ' + 'TSBtnPrevious + ' + Me.TSBtnPrevious.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnPrevious.Image = CType(resources.GetObject("TSBtnPrevious.Image"), System.Drawing.Image) + Me.TSBtnPrevious.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnPrevious.Name = "TSBtnPrevious" + Me.TSBtnPrevious.Size = New System.Drawing.Size(23, 22) + Me.TSBtnPrevious.Text = "Vorheriger Datensatz" + ' + 'TSBtnLast + ' + Me.TSBtnLast.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnLast.Image = CType(resources.GetObject("TSBtnLast.Image"), System.Drawing.Image) + Me.TSBtnLast.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnLast.Name = "TSBtnLast" + Me.TSBtnLast.Size = New System.Drawing.Size(23, 22) + Me.TSBtnLast.Text = "Letzter Datensatz" + ' + 'ToolStripSeparator2 + ' + Me.ToolStripSeparator2.Name = "ToolStripSeparator2" + Me.ToolStripSeparator2.Size = New System.Drawing.Size(6, 25) + ' + 'TSBtnNew + ' + Me.TSBtnNew.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnNew.Image = CType(resources.GetObject("TSBtnNew.Image"), System.Drawing.Image) + Me.TSBtnNew.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnNew.Name = "TSBtnNew" + Me.TSBtnNew.Size = New System.Drawing.Size(23, 22) + Me.TSBtnNew.Text = "Neues Thema" + Me.TSBtnNew.ToolTipText = "Neuer Datensatz" + ' + 'SplitContainer1 + ' + Me.SplitContainer1.Dock = System.Windows.Forms.DockStyle.Fill + Me.SplitContainer1.Location = New System.Drawing.Point(0, 49) + Me.SplitContainer1.Name = "SplitContainer1" + ' + 'SplitContainer1.Panel1 + ' + Me.SplitContainer1.Panel1.Controls.Add(Me.TreeKategorien) + ' + 'SplitContainer1.Panel2 + ' + Me.SplitContainer1.Panel2.Controls.Add(Me.SplitContainer2) + Me.SplitContainer1.Size = New System.Drawing.Size(1077, 613) + Me.SplitContainer1.SplitterDistance = 358 + Me.SplitContainer1.TabIndex = 6 + ' + 'TreeKategorien + ' + Me.TreeKategorien.Dock = System.Windows.Forms.DockStyle.Fill + Me.TreeKategorien.ImageIndex = 0 + Me.TreeKategorien.ImageList = Me.ImageList1 + Me.TreeKategorien.Location = New System.Drawing.Point(0, 0) + Me.TreeKategorien.Name = "TreeKategorien" + TreeNode1.Name = "Knoten5" + TreeNode1.Text = "Bankrat" + TreeNode2.Name = "Knoten7" + TreeNode2.Text = "Geschäftsleitung" + TreeNode3.Name = "Knoten8" + TreeNode3.Text = "Leadership-Team" + TreeNode4.Name = "Knoten9" + TreeNode4.Text = "Direktion / Kader" + TreeNode5.Name = "Knoten2" + TreeNode5.Text = "Absender" + TreeNode6.Name = "Knoten3" + TreeNode6.Text = "Anspruchsgruppen" + TreeNode7.Name = "Knoten4" + TreeNode7.Text = "Themengruppen" + Me.TreeKategorien.Nodes.AddRange(New System.Windows.Forms.TreeNode() {TreeNode5, TreeNode6, TreeNode7}) + Me.TreeKategorien.SelectedImageIndex = 0 + Me.TreeKategorien.Size = New System.Drawing.Size(358, 613) + Me.TreeKategorien.TabIndex = 1 + ' + 'ImageList1 + ' + Me.ImageList1.ImageStream = CType(resources.GetObject("ImageList1.ImageStream"), System.Windows.Forms.ImageListStreamer) + Me.ImageList1.TransparentColor = System.Drawing.Color.Transparent + Me.ImageList1.Images.SetKeyName(0, "Theme-icon.png") + Me.ImageList1.Images.SetKeyName(1, "Theme-icon.png") + Me.ImageList1.Images.SetKeyName(2, "Actions-layer-visible-on-icon.png") + ' + 'SplitContainer2 + ' + Me.SplitContainer2.Dock = System.Windows.Forms.DockStyle.Fill + Me.SplitContainer2.Location = New System.Drawing.Point(0, 0) + Me.SplitContainer2.Name = "SplitContainer2" + Me.SplitContainer2.Orientation = System.Windows.Forms.Orientation.Horizontal + ' + 'SplitContainer2.Panel1 + ' + Me.SplitContainer2.Panel1.Controls.Add(Me.C1Themen) + ' + 'SplitContainer2.Panel2 + ' + Me.SplitContainer2.Panel2.Controls.Add(Me.ShurtfEditor1) + Me.SplitContainer2.Size = New System.Drawing.Size(715, 613) + Me.SplitContainer2.SplitterDistance = 328 + Me.SplitContainer2.TabIndex = 0 + ' + 'C1Themen + ' + Me.C1Themen.AllowDrop = True + Me.C1Themen.AlternatingRows = True + Me.C1Themen.Dock = System.Windows.Forms.DockStyle.Fill + Me.C1Themen.FetchRowStyles = True + Me.C1Themen.FilterBar = True + Me.C1Themen.GroupByCaption = "Drag a column header here to group by that column" + Me.C1Themen.Images.Add(CType(resources.GetObject("C1Themen.Images"), System.Drawing.Image)) + Me.C1Themen.Location = New System.Drawing.Point(0, 0) + Me.C1Themen.Name = "C1Themen" + Me.C1Themen.PreviewInfo.Location = New System.Drawing.Point(0, 0) + Me.C1Themen.PreviewInfo.Size = New System.Drawing.Size(0, 0) + Me.C1Themen.PreviewInfo.ZoomFactor = 75.0R + Me.C1Themen.PrintInfo.PageSettings = CType(resources.GetObject("C1Themen.PrintInfo.PageSettings"), System.Drawing.Printing.PageSettings) + Me.C1Themen.Size = New System.Drawing.Size(715, 328) + Me.C1Themen.TabAction = C1.Win.C1TrueDBGrid.TabActionEnum.ColumnNavigation + Me.C1Themen.TabIndex = 11 + Me.C1Themen.Text = "C1TrueDBGrid1" + Me.C1Themen.PropBag = resources.GetString("C1Themen.PropBag") + ' + 'ShurtfEditor1 + ' + Me.ShurtfEditor1.Dock = System.Windows.Forms.DockStyle.Fill + Me.ShurtfEditor1.Document = Nothing + Me.ShurtfEditor1.Font = New System.Drawing.Font("Futura Book", 9.749999!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.ShurtfEditor1.Location = New System.Drawing.Point(0, 0) + Me.ShurtfEditor1.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4) + Me.ShurtfEditor1.Name = "ShurtfEditor1" + Me.ShurtfEditor1.Show_Filefunctions = False + Me.ShurtfEditor1.Size = New System.Drawing.Size(715, 281) + Me.ShurtfEditor1.TabIndex = 14 + ' + 'frmKernbotschaften + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(1077, 662) + Me.Controls.Add(Me.SplitContainer1) + Me.Controls.Add(Me.ToolStrip1) + Me.Controls.Add(Me.MenuStrip1) + Me.Name = "frmKernbotschaften" + Me.Text = "frmKernbotschaften" + Me.MenuStrip1.ResumeLayout(False) + Me.MenuStrip1.PerformLayout() + Me.ToolStrip1.ResumeLayout(False) + Me.ToolStrip1.PerformLayout() + Me.SplitContainer1.Panel1.ResumeLayout(False) + Me.SplitContainer1.Panel2.ResumeLayout(False) + CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).EndInit() + Me.SplitContainer1.ResumeLayout(False) + Me.SplitContainer2.Panel1.ResumeLayout(False) + Me.SplitContainer2.Panel2.ResumeLayout(False) + CType(Me.SplitContainer2, System.ComponentModel.ISupportInitialize).EndInit() + Me.SplitContainer2.ResumeLayout(False) + CType(Me.C1Themen, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents MenuStrip1 As System.Windows.Forms.MenuStrip + Friend WithEvents DateiToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStrip1 As System.Windows.Forms.ToolStrip + Friend WithEvents TSBtnQuit As System.Windows.Forms.ToolStripButton + Friend WithEvents tsbtnrefresh As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripSeparator1 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents TsBtnSuchArt As System.Windows.Forms.ToolStripDropDownButton + Friend WithEvents ApplikationSucheToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents tstxtsuche As System.Windows.Forms.ToolStripTextBox + Friend WithEvents TSBtnSuche As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnFilterAufheben As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripButton2 As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnFirst As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnNext As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnPrevious As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnLast As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripSeparator2 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents TSBtnNew As System.Windows.Forms.ToolStripButton + Friend WithEvents SplitContainer1 As System.Windows.Forms.SplitContainer + Friend WithEvents TreeKategorien As System.Windows.Forms.TreeView + Friend WithEvents ImageList1 As System.Windows.Forms.ImageList + Friend WithEvents SplitContainer2 As System.Windows.Forms.SplitContainer + Friend WithEvents C1Themen As C1.Win.C1TrueDBGrid.C1TrueDBGrid + Friend WithEvents ShurtfEditor1 As RTFEditor.SHURTFEditor +End Class diff --git a/Themenmanagement/Kernbotschaften/frmKernbotschaften.resx b/Themenmanagement/Kernbotschaften/frmKernbotschaften.resx new file mode 100644 index 0000000..ebc72d9 --- /dev/null +++ b/Themenmanagement/Kernbotschaften/frmKernbotschaften.resx @@ -0,0 +1,383 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 17, 17 + + + 346, 17 + + + + + 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 + TgDQASA1MVpwzwAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACpSURBVFhH7ZLhCoQwDIP36Hu0vdl5DU7GbFx6KtyPfhBQ + 26aBWpIkEfhMYqh9YVRjtS+Maqz2hVGN1T6Z2RCqtULfZzC8M/0GMx2+d45QZCYMjFprzPCkvnwxIwMT + Qw1g6iG82i4ZKYCwcJYMjFcneDXAS5Lxhp+QzOoEDNQvTiMDg4ufkIG6BSfhZf4jwJ0T3A5gIstNjKMn + GPyENzyK4fWOSpIkcShlA/2ShGAugX0dAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEeSURBVFhH7ZJbEoMwCEVduktzZy0XIRKCkSbt9CdnPIyG + R+LotlhkedFlleUUo30NdlB22EiPB02sDlE5e4FnK0KvPg0aWR2kcvYCz0XkrSgYBc1FDLOiQMA9qzmV + sxNgQBEDrSgQcN/LfwyaGylU7vvORjnpGUOHerFON5XRmun5GB54HEd5My+FrlEPmeZ8I2LkAFG9mObx + AJBCdmM1DW/c+wSQwu8O8CSF0KjWmCZqZil0jXqMacJPQMFvhuDXuOfm06XhAfYnpOA3KvgcDn7z/6Sp + DoChVqkp+PzXDoAhGGhF7iy5sHmovVMHgBQqdR0FHq1Rg81hmmoYxJqxATXWc6kxB1X6YY+M9ITMDJrp + bZqhpNLM9i8Wf2Lb3g1pbK07+OH0AAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHxSURBVDhPYxgFGICxpbF5o6ur6wNjY2MuqBiDhYWFkI+3 + 94PO9vYFUCFMkJ+fr1BUUNCVlJD439zM/L+ZsXGAoaGhr5ubmwfQgGgLoFhaSsr/6srKtubqZlmoNghY + PG+x0bIlS79ER0b9t7e1++/u6vbfzMT0X3BwyP+4uASQgf9AYiC5/Ny8/2vXrv24bNkybah2BoaF8xau + q6+t+29na/tfQ139P8g2K0ur/yUlJZ+Li4q/wvi21jb/y0pK/q9cvuL/7h27FoM1L5o717ykuPhPVVnJ + /+DAgP/iYmL/tTQ0wYpNDA13AvEROxvb/04Ojv9NjU3+JyfE/6+tKP9fWlLyZ9miReYMzg726wIMFf/n + e5r8b0iP/G9jpPffxsr6f3dn139zE/OF1hYWa6ZMmvw/LCT0v5m26v8wE6X/1RFu/2szY//b2FiuZTCT + Ef2ZZybxv99H43+bt/b/aDOF/5qamjuszK0y9fT0xLS0tCQszCzS9bS1twXoy/5vcFX9PznY4H+dm9p/ + XVHRnwyaKipHOtwU/+9LNfm/KETzv5+BIsiAALD/kICamlpAoLEyWA1IbYer4n9VBfmjDOrq6lKOpvpr + CpyN3uX629/z9vAogOrBADZWVoVp3tYP6kOtPwS7OazT19eXhkoNXcDAAABOd8o32QfH6gAAAABJRU5E + rkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAK9SURBVDhPfVNtSFNRGL53OmHsQ93mds3pnUkR/VCIojDF + SoxULOpXmh+VEFb0IZmpQQlGmSnkx0yaTQ3SsnLOhHD50ZaSWX8KUSE/CiLQsj/9CFrep3PONjSyHng5 + 5z3v87z3vO97LrcKEjmlrkUWlzQjS8nzyHYTI3t6xmL/gY5X6+3y1EJJdbEH2spB6Gvc0Fe7EHrFCVVx + F+R7zkqE0025XskyDDLDhklNgQ0RN4Yg3nQjqmYIkVUDMF11IqLiKSLKe2Es6YIq1wKZIWaKarxSAl4t + 9GtPtkGsH4FY64a5YQTRTWOItr5hZm4cZcnCy7ohFD9CcFYdeLWx3yfn9qkzSn3iF4zMxKuYWDcM4cJj + GM60Q7njFKiW45WCg16TXlusHUbGg7coGZyGmSYkAr/l9Uwg0z5OSnsOw+l70OU3g1eSfgRt3LXgrzmq + egiuuUVQJDS/ZH5yyxhcHxYhSRLcZKVn4WV26I/ZIDfFz3Oa5ByJik3XnKRhfXDPfmUJ0myjuPP6I37+ + WmI+BY1RDm2o7qgVitikJU6TkivRBq253MvMPf2FkdtezbF1JWiM8S49gS6viSRIlzj55vR52oPwUjsE + MibX+3lGTqzuQ2nnGL59/8F8ChqjHOH8Q2izGxG0LnGBCwwTHXTOdDzGwg44xz+xejeVO5i/vug+rM53 + 8JBSBiY+s7Ow420IPVgPXiM42Bj1hyvZDWgg9lw79laQJhW0Mp8a3W8tbkd8WSfztdkWqHb6xkjAB4aZ + BoSiDu94jliJ3f6n0auHHKgiD0l4RsV+GAMi46YMp8hXT9yFNucWtJkNf1oWXesRsv86Agwxk0Sz/JR9 + 0PMaoyM4rVDSF7Swh8ISHbIQsYXUXAfl9nyJV+q6CPevn2klknhlaGvA2m2zCjHNoxBTPQHmLTO8QmMj + sQQvxQ+O+w0UG9zYwCvIHAAAAABJRU5ErkJggg== + + + + + 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 + Bsf9BvJ9y/Q7+ip/AAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAK7SURBVDhPfVNtSFNRGL53OmHsQ93mds3pnUkR/UiIojDF + SoxULOpXmh+VEFZYSWZqUIJRZgr5MZNmU4O0rJwzIVx+tKVk1p9CVMiPggi07E8/gpb36ZyzDY2sBx7O + fc/7PGfved8zbhUkcEpdiyw2cUaWnOuR7SEk33SP5f4DHa/W2+UphZLqYg+0lYPQ17ihr3Yh9IoTquIu + yPeelYimm2q9lmUYZIYNk5p8GyJuDEG86UZUzRAiqwZguupERMVTRJT3wljSBVWOBTJDzBT1eK0EvFro + 155qg1g/ArHWDXPDCKKbxhBtfcNobhxlh4WXdUMofoTgzDrwamO/z87tV6eX+swvmJiZV6FYNwzhwmMY + zrRDubMA1MvxSsFBy6Rli7XDyLCPI7dngon9NJPDSwankf7gLbnacxhO34Murxm8kvQjaOPuBf+do6qH + 4P6wCEmS4CJrUssY24tvfgkK19wii8PL7NAft0FuipvnNEnZEjWbrjlJw/rgnv3KxBQ/fy3hzuuPSLWN + spjmqIY2VHfMCsWmxCVOk5wj0QatudzL6J7+wsQr0fZqjq00x3SXnkCX20QOSJM4+Za0edqD8FI7BDIm + 1/t5Jqb49v0HSjvHkFDdx2Kaoxrh/ENosxoRtC5hgQsMEx10znQ8xsIODEx8hoeUbnW+w/qi+2xvc7mD + 9cU5/onFYSfaEHqoHrxGcLAx6o9UsgpoIq6sE9uK26HPb2UxJf3eV2FH7Ll2FmuzLFDt8o2RgA8MMw0I + RR3e8Ry1Et7+J2npIQeryEMSnlGzH8aAyNgpQwH51ZN3oc2+BW1Gw5/MpGs9Qg5cR4AhZpJ4lp+yD3pe + Y3QEpxZK+vwW9lDYQYctxGwhd66DckeexCt1XUT7159pJRJ5ZWhrwNrtswox1aMQUzwB5q0zvEJjI7l4 + r8QPjvsNWSfc2bvcdIgAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAINSURBVDhPY6AVYAyc67K/+XD1/SYg9p3quAQqTiQIZWAO + Wu75Zu6Nuf9nX5/9322S/TmoDJEAaIDnctc3k69M/D/hSt9/p0nm56EyRAKwATZveq+0/O++0gg0wAiP + AfUMTOYLtWx81tnYB0CxZZ+ak88myw9dV8v/d1wp+e88T++2/XxtB591FvYeQOyyzsTeYJGyFVi/cAGn + Se6J5P99V5v+T7ze8H/Szbr/U27V/O++kfe/43rm/9Zr6f87r+f+775e9L/tSsH/hot5/yvPZf8P2Ov6 + ny+OXZlBLJfTogoo0H+9Fqi56v+U2xX/p94p/d9+M+5/283o/y03I/533Ur+33Mz63/79fT/DZdT/1ee + T/4fdtD5P28ImzqDUAaLRcQOwf9ph4T/554U+l94Ruh/wRnB/zXXzP633/H533rH83/5ZZ3/+af5/+cB + cdZx/v9JB/j++27lAhrAoM7A6cQgLRnPsFk2mWGbYhrDNuV0IA3EaftFf3Y+sP3f/sDqf9gm8Q8gMRgG + qRWPZ9jAZ8EgBA4HIGBEwfYMLOGHmN7UPeb4X/eY67/7ciZQLKCqgWAcABiNiecY3nS8YvgPwj5rGEhP + B7kXBN4s+CT/f/5H+f9hG3lJNyBpr+6bOQ89/oNwwCJ1Eg1gYGCSymXYYdjGcAOExeIZ5kHFSQIsDCoM + 7GDMwMAMEUIHDAwArmHzT5KTHe0AAAAASUVORK5CYII= + + + + 571, 17 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w + LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 + ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAO + CgAAAk1TRnQBSQFMAgEBAwEAAcABAAHAAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo + AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA + AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 + AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA + AWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYCAAFm + AZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHMATMCAAHM + AWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEzAQABZgEA + ATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIzAf8BAAEz + AWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEzAQABMwGZ + AWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZAQABMwLM + AQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFmAQABMwEA + AWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFmATMBmQEA + AWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEzAQABZgGZ + AWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEAAWYBzAH/ + AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZATMBmQEA + AZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFmAgABmQFm + ATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZAcwBAAKZ + Af8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIAAZkB/wEz + AQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHMAQABmQEA + AcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHMAWYCAAHM + AWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZAWYBAAHM + ApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHMAf8CAAHM + Af8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/AQABmQEA + AcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFmATMBAAHM + AmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZAQAB/wGZ + AcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC/wEz + AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm + AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw + AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD/wEABP8I9Aj/CPQE/wkA + A/8UAAH/AfIB8AG8CAcBvAHwAfEB9AH/AfIB8AG8CAcBvAHwAfEB9AQAAv8B8wG8AgcC7wHxAv8RAAH/ + B3gBmAT/AwAB/wd4AZgE/wYAAf8BBwHtAa4BiwGSAvIB8AH3Ae0B8gH/EAAB8whWAfYGAAHzCFYB9gcA + Af8B8wHsAe8BtAGzAa0BiwH3AfMB8gG8ApIB/xAAAfMIVwH0Av8EAAHzCFcB9AL/BQAB8wHsAgcBtAFs + AWsBswGRAfMB8gEHAewBvAH/EAABGwhXA5AB/wMAARsIVwOQAf8DAAH/Au0B8gG7AZABbQEUAbMBtAHx + AQcB7AHvAf8RAAEbCFcBkAKzAfQDAAEbCFcBkAKzAfQDAAH/Ae8B7AHwAQkBuwHvAewBtAGRAQcB7AGS + Av8RAAH2CFcDswHyAv8BAAH2CFcDswHyAv8CAAH/Ae0B6wEHAwkBuwLrAe0B9AH/AfQUAAH0CLMBUgIx + AfQDAAH0CLMBUgIxAfQCAAH/AZIBbQHrAuwB6gFtAZIB9AH/AfAB/xQAAfQItAFSAjEBGwMAAfQItAFS + AjEBGwL/AQAB/wG8AewCbQHsAbwC/wG8AfMVAAH/AgkBuwS0AfcBMQIyARsDAAH/AgkBuwS0AfcBMQIy + ARsBAAHyAf8BAAL/AvQD/wIHAf8YAAH/CDIBGwYAAf8IMgEbAQAB/wHvAfQB/wMAAf8B9AH3Ae8B/xkA + Af8IOAEbBgAB/wg4ARsCAAH/Ae0B7wHyAfMB8gHvAW0B7wH/GwABmgd6Af8HAAGaB3oB/wMAAf8B7wFt + AeoBbQHsAbwB/zkAAf8B9AHxAfIB/1cAAUIBTQE+BwABPgMAASgDAAFAAwABEAMAAQEBAAEBBQABgBcA + A/8FAAH/AY8GAAHwAQEDAAEHAQABBwHgBAABPwEAAT8BgAQAAQ8BAAEPAYAEAAEHAQABBwEAAQEDAAEH + AQABBwEAAQEDAAEBAQABAQGAAQECAAHgAQAB4AEAAcABAQIAAeABAAHgAQABIAEDAgAB4AEAAeABAAGQ + AQMCAAH8AQAB/AEAAYcBBwIAAfwBAAH8AQABwAEPAgAB/gEAAf4BAAHgAR8CAAT/AfABfwIABv8CAAs= + + + + + iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAA0SURBVChTdYkBCgAgDAL9/6eLIsd0eSCKhw/r9aCLtC88 + vAdHMEIXKUIUhMK76EfagglgA6CqHOQpL6GyAAAAAElFTkSuQmCC + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0 + dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACRTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5QYWdlU2V0dGluZ3MHAAAAD3ByaW50ZXJTZXR0aW5ncwVjb2xvcglwYXBlclNp + emULcGFwZXJTb3VyY2URcHJpbnRlclJlc29sdXRpb24JbGFuZHNjYXBlB21hcmdpbnMEBAQEBAQEJ1N5 + c3RlbS5EcmF3aW5nLlByaW50aW5nLlByaW50ZXJTZXR0aW5ncwIAAAAgU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuVHJpU3RhdGUCAAAAIVN5c3RlbS5EcmF3aW5nLlByaW50aW5nLlBhcGVyU2l6ZQIAAAAjU3lz + dGVtLkRyYXdpbmcuUHJpbnRpbmcuUGFwZXJTb3VyY2UCAAAAKVN5c3RlbS5EcmF3aW5nLlByaW50aW5n + LlByaW50ZXJSZXNvbHV0aW9uAgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAf + U3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuTWFyZ2lucwIAAAACAAAACQMAAAAF/P///yBTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5UcmlTdGF0ZQEAAAAFdmFsdWUAAgIAAAAACgoKAfv////8////AAkGAAAABQMA + AAAnU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRlclNldHRpbmdzEgAAAAtwcmludGVyTmFtZQpk + cml2ZXJOYW1lCm91dHB1dFBvcnQLcHJpbnRUb0ZpbGUUcHJpbnREaWFsb2dEaXNwbGF5ZWQKZXh0cmFi + eXRlcwlleHRyYWluZm8GY29waWVzBmR1cGxleAdjb2xsYXRlE2RlZmF1bHRQYWdlU2V0dGluZ3MIZnJv + bVBhZ2UGdG9QYWdlB21heFBhZ2UHbWluUGFnZQpwcmludFJhbmdlDGRldm1vZGVieXRlcw1jYWNoZWRE + ZXZtb2RlAQEBAAAABwAEBAQAAAAABAAHAQEHAgceU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuRHVwbGV4 + AgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAkU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuUGFnZVNldHRpbmdzAgAAAAgICAgiU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRSYW5n + ZQIAAAAHAgIAAAAKBgcAAAAACQcAAAAAAAAACv//Bfj///8eU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcu + RHVwbGV4AQAAAAd2YWx1ZV9fAAgCAAAA/////wH3/////P///wAJCgAAAAAAAAAAAAAADycAAAAAAAAF + 9f///yJTeXN0ZW0uRHJhd2luZy5QcmludGluZy5QcmludFJhbmdlAQAAAAd2YWx1ZV9fAAgCAAAAAAAA + AAAACgUGAAAAH1N5c3RlbS5EcmF3aW5nLlByaW50aW5nLk1hcmdpbnMIAAAABGxlZnQFcmlnaHQDdG9w + BmJvdHRvbQpkb3VibGVMZWZ0C2RvdWJsZVJpZ2h0CWRvdWJsZVRvcAxkb3VibGVCb3R0b20AAAAAAAAA + AAgICAgGBgYGAgAAAGQAAABkAAAAZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZ + QAEKAAAAAQAAAAkDAAAAAfP////8////AAoKCgHy/////P///wAJDwAAAAEPAAAABgAAAGQAAABkAAAA + ZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAs= + + + + <?xml version="1.0"?><Blob><Styles type="C1.Win.C1TrueDBGrid.Design.ContextWrapper"><Data>HighlightRow{ForeColor:HighlightText;BackColor:Highlight;}Style8{}Style7{}Style2{}EvenRow{BackColor:White;}Normal{}RecordSelector{AlignImage:Center;}Style4{}OddRow{BackColor:224, 224, 224;}Style3{}Footer{}Style14{}FilterBar{BackColor:255, 255, 192;}Heading{AlignVert:Center;Border:Flat,ControlDark,0, 1, 0, 1;Wrap:True;BackColor:Control;ForeColor:ControlText;}Style5{}Editor{}Style10{AlignHorz:Near;}Style16{}Selected{ForeColor:HighlightText;BackColor:Highlight;}Style15{}Style13{}Style12{}Style11{}Group{Border:None,,0, 0, 0, 0;AlignVert:Center;BackColor:ControlDark;}Style9{}FilterWatermark{ForeColor:InfoText;BackColor:Info;}Style1{}Caption{AlignHorz:Center;}Style6{}Inactive{ForeColor:InactiveCaptionText;BackColor:InactiveCaption;}</Data></Styles><Splits><C1.Win.C1TrueDBGrid.MergeView Name="" AlternatingRowStyle="True" CaptionHeight="17" ColumnCaptionHeight="17" ColumnFooterHeight="17" FetchRowStyles="True" FilterBar="True" MarqueeStyle="DottedCellBorder" RecordSelectorWidth="17" DefRecSelWidth="17" VerticalScrollGroup="1" HorizontalScrollGroup="1"><CaptionStyle parent="Style2" me="Style10" /><EditorStyle parent="Editor" me="Style5" /><EvenRowStyle parent="EvenRow" me="Style8" /><FilterBarStyle parent="FilterBar" me="Style13" /><FilterWatermarkStyle parent="FilterWatermark" me="Style14" /><FooterStyle parent="Footer" me="Style3" /><GroupStyle parent="Group" me="Style12" /><HeadingStyle parent="Heading" me="Style2" /><HighLightRowStyle parent="HighlightRow" me="Style7" /><InactiveStyle parent="Inactive" me="Style4" /><OddRowStyle parent="OddRow" me="Style9" /><RecordSelectorStyle parent="RecordSelector" me="Style11" /><SelectedStyle parent="Selected" me="Style6" /><Style parent="Normal" me="Style1" /><ClientRect>0, 0, 713, 326</ClientRect><BorderSide>0</BorderSide></C1.Win.C1TrueDBGrid.MergeView></Splits><NamedStyles><Style parent="" me="Normal" /><Style parent="Normal" me="Heading" /><Style parent="Heading" me="Footer" /><Style parent="Heading" me="Caption" /><Style parent="Heading" me="Inactive" /><Style parent="Normal" me="Selected" /><Style parent="Normal" me="Editor" /><Style parent="Normal" me="HighlightRow" /><Style parent="Normal" me="EvenRow" /><Style parent="Normal" me="OddRow" /><Style parent="Heading" me="RecordSelector" /><Style parent="Normal" me="FilterBar" /><Style parent="FilterBar" me="FilterWatermark" /><Style parent="Caption" me="Group" /></NamedStyles><vertSplits>1</vertSplits><horzSplits>1</horzSplits><Layout>None</Layout><DefaultRecSelWidth>17</DefaultRecSelWidth><ClientArea>0, 0, 713, 326</ClientArea><PrintPageHeaderStyle parent="" me="Style15" /><PrintPageFooterStyle parent="" me="Style16" /></Blob> + + \ No newline at end of file diff --git a/Themenmanagement/Kernbotschaften/frmKernbotschaften.vb b/Themenmanagement/Kernbotschaften/frmKernbotschaften.vb new file mode 100644 index 0000000..c294c0e --- /dev/null +++ b/Themenmanagement/Kernbotschaften/frmKernbotschaften.vb @@ -0,0 +1,3 @@ +Public Class frmKernbotschaften + +End Class \ No newline at end of file diff --git a/Themenmanagement/Kernbotschaften/frm_KBParam.Designer.vb b/Themenmanagement/Kernbotschaften/frm_KBParam.Designer.vb new file mode 100644 index 0000000..aec9bd7 --- /dev/null +++ b/Themenmanagement/Kernbotschaften/frm_KBParam.Designer.vb @@ -0,0 +1,275 @@ + _ +Partial Class frm_KBParam + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frm_KBParam)) + Me.ToolStrip1 = New System.Windows.Forms.ToolStrip() + Me.TSBtnQuit = New System.Windows.Forms.ToolStripButton() + Me.ToolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator() + Me.TSBtnNew = New System.Windows.Forms.ToolStripButton() + Me.TSBtnCopy = New System.Windows.Forms.ToolStripButton() + Me.TSBtnDelete = New System.Windows.Forms.ToolStripButton() + Me.MenuStrip1 = New System.Windows.Forms.MenuStrip() + Me.DateiToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.BeendenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.KommunikationToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.NeuerEintragToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.EintragLöschenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.LBRolle = New System.Windows.Forms.ListBox() + Me.Label1 = New System.Windows.Forms.Label() + Me.clbAbsender = New System.Windows.Forms.CheckedListBox() + Me.clbAnspruchsgruppe = New System.Windows.Forms.CheckedListBox() + Me.clbThemengruppe = New System.Windows.Forms.CheckedListBox() + Me.Label2 = New System.Windows.Forms.Label() + Me.Label3 = New System.Windows.Forms.Label() + Me.Label4 = New System.Windows.Forms.Label() + Me.BtnSpeichern = New System.Windows.Forms.Button() + Me.ToolStrip1.SuspendLayout() + Me.MenuStrip1.SuspendLayout() + Me.SuspendLayout() + ' + 'ToolStrip1 + ' + Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.TSBtnQuit, Me.ToolStripSeparator1, Me.TSBtnNew, Me.TSBtnCopy, Me.TSBtnDelete}) + Me.ToolStrip1.Location = New System.Drawing.Point(0, 24) + Me.ToolStrip1.Name = "ToolStrip1" + Me.ToolStrip1.Size = New System.Drawing.Size(948, 25) + Me.ToolStrip1.TabIndex = 10 + Me.ToolStrip1.Text = "ToolStrip1" + ' + 'TSBtnQuit + ' + Me.TSBtnQuit.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnQuit.Image = CType(resources.GetObject("TSBtnQuit.Image"), System.Drawing.Image) + Me.TSBtnQuit.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnQuit.Name = "TSBtnQuit" + Me.TSBtnQuit.Size = New System.Drawing.Size(23, 22) + Me.TSBtnQuit.Text = "ToolStripButton1" + Me.TSBtnQuit.ToolTipText = "Anwendung beenden" + ' + 'ToolStripSeparator1 + ' + Me.ToolStripSeparator1.Name = "ToolStripSeparator1" + Me.ToolStripSeparator1.Size = New System.Drawing.Size(6, 25) + ' + 'TSBtnNew + ' + Me.TSBtnNew.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnNew.Image = CType(resources.GetObject("TSBtnNew.Image"), System.Drawing.Image) + Me.TSBtnNew.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnNew.Name = "TSBtnNew" + Me.TSBtnNew.Size = New System.Drawing.Size(23, 22) + Me.TSBtnNew.Text = "Neues Thema" + Me.TSBtnNew.ToolTipText = "Neuer Datensatz" + Me.TSBtnNew.Visible = False + ' + 'TSBtnCopy + ' + Me.TSBtnCopy.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnCopy.Image = CType(resources.GetObject("TSBtnCopy.Image"), System.Drawing.Image) + Me.TSBtnCopy.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnCopy.Name = "TSBtnCopy" + Me.TSBtnCopy.Size = New System.Drawing.Size(23, 22) + Me.TSBtnCopy.Text = "ToolStripButton2" + Me.TSBtnCopy.ToolTipText = "Datensatz kopieren" + Me.TSBtnCopy.Visible = False + ' + 'TSBtnDelete + ' + Me.TSBtnDelete.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnDelete.Image = CType(resources.GetObject("TSBtnDelete.Image"), System.Drawing.Image) + Me.TSBtnDelete.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnDelete.Name = "TSBtnDelete" + Me.TSBtnDelete.Size = New System.Drawing.Size(23, 22) + Me.TSBtnDelete.Text = "Thema inaktivieren" + Me.TSBtnDelete.ToolTipText = "Datensatz inaktivieren" + Me.TSBtnDelete.Visible = False + ' + 'MenuStrip1 + ' + Me.MenuStrip1.AllowMerge = False + Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DateiToolStripMenuItem, Me.KommunikationToolStripMenuItem}) + Me.MenuStrip1.Location = New System.Drawing.Point(0, 0) + Me.MenuStrip1.Name = "MenuStrip1" + Me.MenuStrip1.Size = New System.Drawing.Size(948, 24) + Me.MenuStrip1.TabIndex = 9 + Me.MenuStrip1.Text = "MenuStrip1" + ' + 'DateiToolStripMenuItem + ' + Me.DateiToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.BeendenToolStripMenuItem}) + Me.DateiToolStripMenuItem.Name = "DateiToolStripMenuItem" + Me.DateiToolStripMenuItem.Size = New System.Drawing.Size(46, 20) + Me.DateiToolStripMenuItem.Text = "&Datei" + ' + 'BeendenToolStripMenuItem + ' + Me.BeendenToolStripMenuItem.Name = "BeendenToolStripMenuItem" + Me.BeendenToolStripMenuItem.Size = New System.Drawing.Size(120, 22) + Me.BeendenToolStripMenuItem.Text = "&Beenden" + ' + 'KommunikationToolStripMenuItem + ' + Me.KommunikationToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.NeuerEintragToolStripMenuItem, Me.EintragLöschenToolStripMenuItem}) + Me.KommunikationToolStripMenuItem.Name = "KommunikationToolStripMenuItem" + Me.KommunikationToolStripMenuItem.Size = New System.Drawing.Size(105, 20) + Me.KommunikationToolStripMenuItem.Text = "&Kommunikation" + Me.KommunikationToolStripMenuItem.Visible = False + ' + 'NeuerEintragToolStripMenuItem + ' + Me.NeuerEintragToolStripMenuItem.Name = "NeuerEintragToolStripMenuItem" + Me.NeuerEintragToolStripMenuItem.Size = New System.Drawing.Size(155, 22) + Me.NeuerEintragToolStripMenuItem.Text = "&Neuer Eintrag" + ' + 'EintragLöschenToolStripMenuItem + ' + Me.EintragLöschenToolStripMenuItem.Name = "EintragLöschenToolStripMenuItem" + Me.EintragLöschenToolStripMenuItem.Size = New System.Drawing.Size(155, 22) + Me.EintragLöschenToolStripMenuItem.Text = "&Eintrag löschen" + ' + 'LBRolle + ' + Me.LBRolle.FormattingEnabled = True + Me.LBRolle.Location = New System.Drawing.Point(12, 83) + Me.LBRolle.Name = "LBRolle" + Me.LBRolle.Size = New System.Drawing.Size(188, 147) + Me.LBRolle.TabIndex = 11 + ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.Location = New System.Drawing.Point(13, 64) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(31, 13) + Me.Label1.TabIndex = 12 + Me.Label1.Text = "Rolle" + ' + 'clbAbsender + ' + Me.clbAbsender.FormattingEnabled = True + Me.clbAbsender.Location = New System.Drawing.Point(218, 83) + Me.clbAbsender.Name = "clbAbsender" + Me.clbAbsender.Size = New System.Drawing.Size(188, 154) + Me.clbAbsender.TabIndex = 13 + ' + 'clbAnspruchsgruppe + ' + Me.clbAnspruchsgruppe.FormattingEnabled = True + Me.clbAnspruchsgruppe.Location = New System.Drawing.Point(412, 83) + Me.clbAnspruchsgruppe.Name = "clbAnspruchsgruppe" + Me.clbAnspruchsgruppe.Size = New System.Drawing.Size(188, 154) + Me.clbAnspruchsgruppe.TabIndex = 14 + ' + 'clbThemengruppe + ' + Me.clbThemengruppe.FormattingEnabled = True + Me.clbThemengruppe.Location = New System.Drawing.Point(606, 83) + Me.clbThemengruppe.Name = "clbThemengruppe" + Me.clbThemengruppe.Size = New System.Drawing.Size(188, 154) + Me.clbThemengruppe.TabIndex = 15 + ' + 'Label2 + ' + Me.Label2.AutoSize = True + Me.Label2.Location = New System.Drawing.Point(215, 67) + Me.Label2.Name = "Label2" + Me.Label2.Size = New System.Drawing.Size(52, 13) + Me.Label2.TabIndex = 16 + Me.Label2.Text = "Absender" + ' + 'Label3 + ' + Me.Label3.AutoSize = True + Me.Label3.Location = New System.Drawing.Point(409, 67) + Me.Label3.Name = "Label3" + Me.Label3.Size = New System.Drawing.Size(85, 13) + Me.Label3.TabIndex = 17 + Me.Label3.Text = "Anspruchgruppe" + ' + 'Label4 + ' + Me.Label4.AutoSize = True + Me.Label4.Location = New System.Drawing.Point(603, 67) + Me.Label4.Name = "Label4" + Me.Label4.Size = New System.Drawing.Size(79, 13) + Me.Label4.TabIndex = 18 + Me.Label4.Text = "Themengruppe" + ' + 'BtnSpeichern + ' + Me.BtnSpeichern.Location = New System.Drawing.Point(800, 83) + Me.BtnSpeichern.Name = "BtnSpeichern" + Me.BtnSpeichern.Size = New System.Drawing.Size(75, 23) + Me.BtnSpeichern.TabIndex = 19 + Me.BtnSpeichern.Text = "Speichern" + Me.BtnSpeichern.UseVisualStyleBackColor = True + ' + 'frm_KBParam + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(948, 247) + Me.Controls.Add(Me.BtnSpeichern) + Me.Controls.Add(Me.Label4) + Me.Controls.Add(Me.Label3) + Me.Controls.Add(Me.Label2) + Me.Controls.Add(Me.clbThemengruppe) + Me.Controls.Add(Me.clbAnspruchsgruppe) + Me.Controls.Add(Me.clbAbsender) + Me.Controls.Add(Me.Label1) + Me.Controls.Add(Me.LBRolle) + Me.Controls.Add(Me.ToolStrip1) + Me.Controls.Add(Me.MenuStrip1) + Me.Name = "frm_KBParam" + Me.Text = "KB_Parameter" + Me.ToolStrip1.ResumeLayout(False) + Me.ToolStrip1.PerformLayout() + Me.MenuStrip1.ResumeLayout(False) + Me.MenuStrip1.PerformLayout() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents ToolStrip1 As System.Windows.Forms.ToolStrip + Friend WithEvents TSBtnQuit As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripSeparator1 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents TSBtnNew As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnCopy As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnDelete As System.Windows.Forms.ToolStripButton + Friend WithEvents MenuStrip1 As System.Windows.Forms.MenuStrip + Friend WithEvents DateiToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents KommunikationToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents NeuerEintragToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents EintragLöschenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents LBRolle As System.Windows.Forms.ListBox + Friend WithEvents Label1 As System.Windows.Forms.Label + Friend WithEvents clbAbsender As System.Windows.Forms.CheckedListBox + Friend WithEvents clbAnspruchsgruppe As System.Windows.Forms.CheckedListBox + Friend WithEvents clbThemengruppe As System.Windows.Forms.CheckedListBox + Friend WithEvents Label2 As System.Windows.Forms.Label + Friend WithEvents Label3 As System.Windows.Forms.Label + Friend WithEvents Label4 As System.Windows.Forms.Label + Friend WithEvents BtnSpeichern As System.Windows.Forms.Button + Friend WithEvents BeendenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem +End Class diff --git a/Themenmanagement/Kernbotschaften/frm_KBParam.resx b/Themenmanagement/Kernbotschaften/frm_KBParam.resx new file mode 100644 index 0000000..d692b25 --- /dev/null +++ b/Themenmanagement/Kernbotschaften/frm_KBParam.resx @@ -0,0 +1,184 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 683, 17 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAK2SURBVDhPnZLdS1NhHMcfCPoDuummi+gyunJg0QviNrd5 + PDtzc7Z5ztl20pUzo6I3yFIrS9N8K7Qih6lUFJVaGWXZi6KRoZSFmCuyi+iiiCKILgo+HTUWu7QffOD5 + PfB8eL6/5xH/U1+mh4IzM+O/Ovdm8Hdrvi5X5PR2H86ht2oWKUnPEYkr5XYexXfyebKfTxO3+P5mkIv7 + ramCngqZtDV2Vq+zsWbDP9LXWVllWc+PRD+J3krGWv18TTzm8kFHqqC7TCbD6sRml7A7XEmsWU7S19t4 + 3Rlh7JzO6Okgn1/d5dqh7FSBo1kg1Swi2+5DcilI2W4kScblktlglZjsMBg9G+JJS5CPYz1zUf8eFcJ2 + XJD42IXTlORkaridARTJjyJ7kd0eMh1uXsbDjLTqDDYXMDN8idvVyrzAViOYeN9Gx6Ago1pgbxA4Twnk + sqV4lSCeXD9ZOT7Gz2kMntT5cWc5UwPt3K31Ilx1gqfvqomPCNqGzfXbIp69i/D8Q3hOku8Jk5cXRPIE + eHZa5WGTxs/+Fby63cpAg39e8CCxh/i4ID4maH8p6JgUvPgWwXFSEMwrYmMghDtPY6QlwEBjkLY9Tp73 + HOdxc2AugsVuRuib2kxXQpA5G+GEwNEkyC1fhq5GUXUDX9BgqNnPvfp8rh9WeHqpguEWNTlES1atoPet + D2ejwAjswtBKMcLFGEaUiFFIIBTlYYOXO3U++mq8DJ3fzeiZUMozWpzmlZW6xUSN7USLSiiKFs9RaKJt + inG/zkNfdS43jnrob40x3hZJEYjO0rVsKSmlJLaDkq3bksRMCou3c69W5uYxhe4qNzfrQ0y0FyJ0XUfX + QmhaGFWdxVyrmtmrSVSz31igsy8W4EKFYv5AmatHcpns2jw/xIVSpqfvrzyw8vf0hVhqhAXUEpM0IYTl + DzXbwlLPDlfpAAAAAElFTkSuQmCC + + + + + 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 + ovwBHtVvxMSvxBEAAAAASUVORK5CYII= + + + + 790, 17 + + \ No newline at end of file diff --git a/Themenmanagement/Kernbotschaften/frm_KBParam.vb b/Themenmanagement/Kernbotschaften/frm_KBParam.vb new file mode 100644 index 0000000..5c78729 --- /dev/null +++ b/Themenmanagement/Kernbotschaften/frm_KBParam.vb @@ -0,0 +1,194 @@ +Public Class frm_KBParam + + + Dim c1 As Color + Dim c2 As Color + Dim SelectedObjectName As String + Dim kb As New clsKB + Dim col1 As New Collection + Dim col2 As New Collection + Dim col3 As New Collection + Dim RolleNr As Integer + + + Sub New() + + ' Dieser Aufruf ist für den Designer erforderlich. + InitializeComponent() + + ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. + + End Sub + + Private Sub Panel1_MouseLeave(sender As Object, e As EventArgs) + SelectedObjectName = sender.name + MsgBox(SelectedObjectName) + End Sub + + + + Private Sub Panel1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) + Try + Dim TheControl As Control = CType(sender, Control) + Dim oRAngle As Rectangle = New Rectangle(0, 0, TheControl.Width, TheControl.Height) + Dim oGradientBrush As Brush = New Drawing.Drawing2D.LinearGradientBrush( + oRAngle, c1, + c2, + Drawing.Drawing2D _ + .LinearGradientMode.ForwardDiagonal) + e.Graphics.FillRectangle(oGradientBrush, oRAngle) + Catch + End Try + End Sub + + + + Private Sub frm_KBParam_Load(sender As Object, e As EventArgs) Handles MyBase.Load + Dim sel As Boolean + + kb.Get_Stammdaten() + For Each r As DataRow In kb.ROlle.Rows + If r("Aktiv") = True Then + Me.LBRolle.Items.Add(r("Bezeichnung")) + End If + Next + + clbAbsender.Items.Clear() + For Each r As DataRow In kb.absender.Rows + sel = False + clbAbsender.Items.Add(r("Bezeichnung"), False) + Next + + clbAnspruchsgruppe.Items.Clear() + For Each r As DataRow In kb.Anspruchsgruppe.Rows + sel = False + clbAnspruchsgruppe.Items.Add(r("Bezeichnung"), False) + Next + + clbThemengruppe.Items.Clear() + For Each r As DataRow In kb.Themengruppe.Rows + sel = False + clbThemengruppe.Items.Add(r("Bezeichnung"), False) + Next + + + End Sub + + Private Sub LBRolle_SelectedIndexChanged(sender As Object, e As EventArgs) Handles LBRolle.SelectedIndexChanged + Try + For Each r In kb.ROlle.Rows + If r("Bezeichnung") = LBRolle.SelectedItem Then + RolleNr = r("RolleNr") + kb.Get_Rollenparameter(r("RolleNr"), col1, col2, col3) + For i As Integer = 0 To Me.clbAbsender.Items.Count - 1 + Me.clbAbsender.SetItemChecked(i, False) + Next + For i As Integer = 0 To Me.clbAnspruchsgruppe.Items.Count - 1 + Me.clbAnspruchsgruppe.SetItemChecked(i, False) + Next + For i As Integer = 0 To Me.clbThemengruppe.Items.Count - 1 + Me.clbThemengruppe.SetItemChecked(i, False) + Next + + + For i As Integer = 1 To Me.col1.Count + For Each r1 As DataRow In kb.absender.Rows + If r1("absendernr") = col1.Item(i) Then + For i1 As Integer = 0 To Me.clbAbsender.Items.Count - 1 + If r1("Bezeichnung") = Me.clbAbsender.Items(i1) Then + Me.clbAbsender.SetItemChecked(i1, True) + End If + Next + End If + Next + Next + + For i As Integer = 1 To Me.col2.Count + For Each r1 As DataRow In kb.Anspruchsgruppe.Rows + If r1("Anspruchgruppenr") = col2.Item(i) Then + For i1 As Integer = 0 To Me.clbAnspruchsgruppe.Items.Count - 1 + If r1("Bezeichnung") = Me.clbAnspruchsgruppe.Items(i1) Then + Me.clbAnspruchsgruppe.SetItemChecked(i1, True) + End If + Next + End If + Next + Next + + + For i As Integer = 1 To Me.col3.Count + For Each r1 As DataRow In kb.Themengruppe.Rows + If r1("Themengruppenr") = col3.Item(i) Then + For i1 As Integer = 0 To Me.clbThemengruppe.Items.Count - 1 + If r1("Bezeichnung") = Me.clbThemengruppe.Items(i1) Then + Me.clbThemengruppe.SetItemChecked(i1, True) + End If + Next + End If + Next + Next + + + End If + Next + Catch + For i As Integer = 0 To Me.clbAbsender.Items.Count - 1 + Me.clbAbsender.SetItemChecked(i, False) + Next + For i As Integer = 0 To Me.clbAnspruchsgruppe.Items.Count - 1 + Me.clbAnspruchsgruppe.SetItemChecked(i, False) + Next + For i As Integer = 0 To Me.clbThemengruppe.Items.Count - 1 + Me.clbThemengruppe.SetItemChecked(i, False) + Next + End Try + End Sub + + Private Sub BtnSpeichern_Click(sender As Object, e As EventArgs) Handles BtnSpeichern.Click + Dim s As String + Dim key As Integer = kb.Check_Rollenparameter(Me.RolleNr) + + s = "R:" + Me.RolleNr.ToString.Trim + "@A:" + For i = 0 To Me.clbAbsender.Items.Count - 1 + If Me.clbAbsender.GetItemChecked(i) = True Then + For Each r As DataRow In kb.absender.Rows + If clbAbsender.Items(i) = r("Bezeichnung") Then + s = s + r("Absendernr").ToString.Trim + ";" + End If + Next + End If + Next + s = s.Substring(0, Len(s) - 1) + s = s + "@B:" + For i = 0 To Me.clbAnspruchsgruppe.Items.Count - 1 + If Me.clbAnspruchsgruppe.GetItemChecked(i) = True Then + For Each r As DataRow In kb.Anspruchsgruppe.Rows + If clbAnspruchsgruppe.Items(i) = r("Bezeichnung") Then + s = s + r("Anspruchgruppenr").ToString.Trim + ";" + End If + Next + End If + Next + s = s.Substring(0, Len(s) - 1) + s = s + "@C:" + For i = 0 To Me.clbThemengruppe.Items.Count - 1 + If Me.clbThemengruppe.GetItemChecked(i) = True Then + For Each r As DataRow In kb.Themengruppe.Rows + If clbThemengruppe.Items(i) = r("Bezeichnung") Then + s = s + r("Themengruppenr").ToString.Trim + ";" + End If + Next + End If + Next + s = s.Substring(0, Len(s) - 1) + kb.Save_Rollenparameter(key, s) + End Sub + + Private Sub TSBtnQuit_Click(sender As Object, e As EventArgs) Handles TSBtnQuit.Click + Me.Close() + End Sub + + Private Sub BeendenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles BeendenToolStripMenuItem.Click + Me.Close() + End Sub +End Class \ No newline at end of file diff --git a/Themenmanagement/Klassen/CoolTrackBar.vb b/Themenmanagement/Klassen/CoolTrackBar.vb new file mode 100644 index 0000000..f176d90 --- /dev/null +++ b/Themenmanagement/Klassen/CoolTrackBar.vb @@ -0,0 +1,190 @@ +Imports System.Drawing.Drawing2D + +Public Class CoolTrackBar + Inherits TrackBar + + Private thumbRect As Rectangle = New Rectangle(0, 0, 19, 19) + Private isOverThumb As Boolean + Private cachedValue As Integer + Private rangeRect As Rectangle = Rectangle.Empty + + Private mGrooveSize As Integer = 6 + Private mGrooveBorderColor As Color = Color.Gray + Private mGrooveColor As Color = Color.LightGray + + Private mSelStartColor As Color = Color.Blue + Private mSelEndColor As Color = Color.Red + + Public Sub New() + Me.SetStyle(ControlStyles.AllPaintingInWmPaint, True) + Me.SetStyle(ControlStyles.OptimizedDoubleBuffer, True) + Me.SetStyle(ControlStyles.ResizeRedraw, True) + Me.SetStyle(ControlStyles.UserPaint, True) + Me.SetStyle(ControlStyles.SupportsTransparentBackColor, True) + End Sub + + Public Property GrooveSize As Integer + Get + Return mGrooveSize + End Get + Set(value As Integer) + mGrooveSize = value + Me.Invalidate() + End Set + End Property + + Public Property GrooveColor As Color + Get + Return mGrooveColor + End Get + Set(value As Color) + mGrooveColor = value + Me.Invalidate() + End Set + End Property + + Public Property GrooveBorderColor As Color + Get + Return mGrooveBorderColor + End Get + Set(value As Color) + mGrooveBorderColor = value + Me.Invalidate() + End Set + End Property + + Public Overloads Property TickStyle As TickStyle + Get + Return Windows.Forms.TickStyle.Both + End Get + Set(value As TickStyle) + MyBase.TickStyle = Windows.Forms.TickStyle.Both + End Set + End Property + + Protected Overrides Sub OnPaintBackground(pevent As PaintEventArgs) + Dim g As Graphics = pevent.Graphics + Dim r As Rectangle = Me.DisplayRectangle + + Select Case MyBase.Orientation + Case Orientation.Horizontal + rangeRect = New Rectangle(r.X + 14, r.Top, r.Width - 30, r.Height) + Case Orientation.Vertical + rangeRect = New Rectangle(r.X + 5, r.Y + 14, r.Width, r.Height - 29) + End Select + + MyBase.OnPaintBackground(pevent) + + DrawGroove(g) + End Sub + + Protected Overrides Sub OnPaint(e As PaintEventArgs) + Dim g As Graphics = e.Graphics + + DrawThumb(g) + End Sub + + Private Sub DrawGroove(g As Graphics) + Dim r1 As Rectangle + Dim r2 As Rectangle + + Select Case Orientation + Case Windows.Forms.Orientation.Horizontal + r1 = New Rectangle(rangeRect.X, rangeRect.Y + (rangeRect.Height - mGrooveSize) \ 2, rangeRect.Width, mGrooveSize) + r2 = New Rectangle(r1.X, r1.Y, r1.Width * ValueToPercentage(cachedValue), r1.Height) + Case Windows.Forms.Orientation.Vertical + r1 = New Rectangle(rangeRect.X + (rangeRect.Width - mGrooveSize) / 2 - mGrooveSize \ 2, rangeRect.Y, mGrooveSize, rangeRect.Height) + r2 = New Rectangle(r1.X, r1.Y, r1.Width, r1.Height * ValueToPercentage(cachedValue)) + End Select + + Using b As New SolidBrush(mGrooveColor) + g.FillRectangle(b, r1) + End Using + + Using p As New Pen(mGrooveBorderColor) + g.DrawRectangle(p, r1) + End Using + + Using lgb As New LinearGradientBrush(r1.Location, New Point(r1.Right, r1.Bottom), mSelStartColor, mSelEndColor) + g.FillRectangle(lgb, r2) + End Using + End Sub + + Private Sub DrawThumb(g As Graphics) + Dim thumb As VisualStyles.VisualStyleElement = Nothing + + Select Case MyBase.Orientation + Case Orientation.Horizontal + If MyBase.Enabled Then + If isOverThumb Then + thumb = VisualStyles.VisualStyleElement.TrackBar.ThumbTop.Hot + Else + If MyBase.Focused Then + thumb = VisualStyles.VisualStyleElement.TrackBar.ThumbTop.Focused + Else + thumb = VisualStyles.VisualStyleElement.TrackBar.ThumbTop.Normal + End If + End If + Else + thumb = VisualStyles.VisualStyleElement.TrackBar.ThumbTop.Disabled + End If + Case Orientation.Vertical + If MyBase.Enabled Then + If isOverThumb Then + thumb = VisualStyles.VisualStyleElement.TrackBar.ThumbRight.Hot + Else + If MyBase.Focused Then + thumb = VisualStyles.VisualStyleElement.TrackBar.ThumbRight.Focused + Else + thumb = VisualStyles.VisualStyleElement.TrackBar.ThumbRight.Normal + End If + End If + Else + thumb = VisualStyles.VisualStyleElement.TrackBar.ThumbRight.Disabled + End If + End Select + + Dim valuePercentage As Single = ValueToPercentage(cachedValue) + Dim vsr = New VisualStyles.VisualStyleRenderer(thumb) + thumbRect.Size = vsr.GetPartSize(g, VisualStyles.ThemeSizeType.Draw) + + Dim pos As Integer + Select Case MyBase.Orientation + Case Orientation.Horizontal + pos = valuePercentage * rangeRect.Width + thumbRect.Location = New Point(pos + thumbRect.Width / 2 + 3, rangeRect.Y + thumbRect.Height / 2 + mGrooveSize / 4) + Case Orientation.Vertical + pos = valuePercentage * rangeRect.Height + thumbRect.Location = New Point(rangeRect.X + thumbRect.Width / 2 + mGrooveSize / 4, pos + thumbRect.Height / 2 + 3) + End Select + + vsr.DrawBackground(g, thumbRect) + End Sub + + Private Function ValueToPercentage(value As Integer) As Single + Dim w As Integer = MyBase.Maximum - MyBase.Minimum + Dim min = MyBase.Minimum + Dim max = MyBase.Maximum + + If MyBase.Orientation = Orientation.Horizontal Then + Return (value - min) / (max - min) + Else + Return 1 - (value - min) / (max - min) + End If + End Function + + Private Sub CoolTrackBar_MouseMove(sender As Object, e As MouseEventArgs) Handles Me.MouseMove + If thumbRect.IntersectsWith(New Rectangle(e.Location, New Size(1, 1))) Then + isOverThumb = True + Me.Invalidate() + ElseIf isOverThumb Then + isOverThumb = False + Me.Invalidate() + End If + End Sub + + Private Sub CoolTrackBar_ValueChanged(sender As Object, e As EventArgs) Handles Me.ValueChanged + cachedValue = MyBase.Value + Me.Invalidate() + End Sub +End Class diff --git a/Themenmanagement/Klassen/FilterClass.vb b/Themenmanagement/Klassen/FilterClass.vb new file mode 100644 index 0000000..83b8087 --- /dev/null +++ b/Themenmanagement/Klassen/FilterClass.vb @@ -0,0 +1,37 @@ +Public Class FilterClass + + Dim m_columname As String + Dim m_filtervalue As String + Property Columname() As String + Get + Return m_columname + End Get + Set(ByVal value As String) + m_columname = value + End Set + End Property + + Property FilterValue() As String + Get + Return m_filtervalue + End Get + Set(ByVal value As String) + m_filtervalue = value + End Set + End Property + + Sub New(ByVal columname As String, ByVal filtervalue As String) + MyBase.New() + Me.Columname = columname + Me.FilterValue = filtervalue + End Sub + + Sub New() + MyBase.New() + End Sub + Public Sub add(ByVal columname As String, ByVal filtervalue As String) + Me.Columname = columname + Me.FilterValue = filtervalue + End Sub +End Class + diff --git a/Themenmanagement/Klassen/MyDocMgmt.vb b/Themenmanagement/Klassen/MyDocMgmt.vb new file mode 100644 index 0000000..6d738d5 --- /dev/null +++ b/Themenmanagement/Klassen/MyDocMgmt.vb @@ -0,0 +1,427 @@ +Imports C1.Win.C1TrueDBGrid +Imports System +Imports System.IO +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient +Imports System.Diagnostics + +''' +''' Namesace TKB.VV.Utils fasst die Utility-Klassen fr die Vertragsverwaltung +''' zusammen. +''' +''' yes +''' +''' +''' +''' +''' +''' +''' +''' +Namespace TKB.VV.Utils + ''' + ''' Klasse fr das Speichern bzw. Auslesen von Image-Dateien in der Datenbank + ''' + ''' + ''' Es werden folgende Datebanktabellen bercksichtigt: + ''' + ''' + ''' Dokument Attribut DocImage + ''' + ''' Profile Attribut V_Uebersicht (Profillayout des C1TrueDBGrids der + ''' Vertragsbersicht|Vertragselemente + ''' + ''' yes + Public Class MyDocMgmt + ''' + ''' Grid-Layoutfile speichern + ''' + ''' C1Truedbgrind, von welchem das Layout gespeichert werden soll + ''' Nummer des Grids: 1=Vertragsbersicht... + ''' + ''' + Public Function Save_LayoutFile(ByRef c1data As C1TrueDBGrid, ByVal GridNo As Integer, ByVal Profilnr As Integer) As Boolean + Dim filename As String = Globals.clsapplication.sTmp_filepath + Trim(Str(Profilnr)) + Trim(Str(GridNo)) + ".lyt" + c1data.SaveLayout(filename) + + Dim Connection As New SqlConnection() + Dim DA As New SqlDataAdapter("select * from profil where profilnr = " & Str(Profilnr), Connection) + 'mitarbeiternr=" + Str(Globals.clsmitarbeiter.iMitarbeiternr.Value) + Dim cb As SqlCommandBuilder = New SqlCommandBuilder(DA) + Dim ds As New DataSet() + Dim fs As New FileStream(filename, FileMode.OpenOrCreate, FileAccess.Read) + Dim mydata(fs.Length) As Byte + fs.Read(mydata, 0, fs.Length) + fs.Close() + Try + Connection.ConnectionString = Globals.sConnectionString + Connection.Open() + DA.Fill(ds, "profil") + Dim myRow As DataRow + If ds.Tables(0).Rows.Count = 0 Then + ' Neues Profil sepeichern + myRow = ds.Tables(0).NewRow + myRow.Item(1) = Globals.clsmitarbeiter.iMitarbeiternr.Value + myRow.Item(2) = "" + Select Case GridNo + Case 1 + myRow.Item(3) = mydata + End Select + ds.Tables(0).Rows.Add(myRow) + DA.Update(ds, "profil") + Else + myRow = ds.Tables(0).Rows(0) + Select Case GridNo + Case 1 + myRow.Item(3) = mydata + End Select + DA.Update(ds, "profil") + End If + Catch ex As Exception + MsgBox(ex.Message) + Return False + End Try + fs = Nothing + cb = Nothing + ds = Nothing + DA = Nothing + Connection.Close() + Connection = Nothing + Return True + + End Function + + Private Function Get_Layoutfile_from_db(ByVal filename As String, ByVal GridNo As Integer, ByVal Profilnr As Integer) As Boolean + 'Exit Function + Dim connection As New SqlConnection() + Dim da As New SqlDataAdapter("Select * From profil where profilnr=" & Str(Profilnr), connection) + 'mitarbeiternr=" + Str(Globals.clsmitarbeiter.iMitarbeiternr.Value) + Dim CB As SqlCommandBuilder = New SqlCommandBuilder(da) + Dim ds As New DataSet() + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.Fill(ds, "docs") + Dim myRow As DataRow + myRow = ds.Tables(0).Rows(0) + Dim MyData() As Byte + Select Case GridNo + Case 1 + MyData = myRow.Item(3) + + End Select + + Dim K As Long + K = UBound(MyData) + Dim fs As New FileStream(filename, FileMode.OpenOrCreate, FileAccess.Write) + fs.Write(MyData, 0, K) + fs.Close() + fs = Nothing + Return True + Catch ex As Exception + Return False + End Try + CB = Nothing + ds = Nothing + da = Nothing + connection.Close() + connection = Nothing + Return True + End Function + + Public Function Get_Layout(ByRef c1data As C1TrueDBGrid, ByVal GridNo As Integer, ByVal Profilnr As Integer) As Boolean + Dim filename As String = Globals.clsapplication.sTmp_filepath + Trim(Str(Profilnr)) + Trim(Str(GridNo)) + ".lyt" + If File.Exists(filename) Then + c1data.LoadLayout(filename) + Return True + End If + If Get_Layoutfile_from_db(filename, GridNo, Profilnr) Then + c1data.LoadLayout(filename) + Return True + End If + Return False + End Function + + ''' + ''' Dokument in der Tabelle Dokument speichern + ''' + ''' Nummer des Dokument-Datensatzes + ''' Zu speichender Dateiname + ''' + ''' + + Public Function Save_Document(ByVal Dokumentnr As Integer, ByVal Filename As String) As Boolean + Dim Connection As New SqlConnection() + Dim DA As New SqlDataAdapter("select * from dokument where dokumentnr =" + Str(dokumentnr), Connection) + Dim cb As SqlCommandBuilder = New SqlCommandBuilder(DA) + Dim ds As New DataSet() + Dim fs As New FileStream(filename, FileMode.OpenOrCreate, FileAccess.Read) + Dim mydata(fs.Length) As Byte + fs.Read(mydata, 0, fs.Length) + fs.Close() + Try + Connection.ConnectionString = Globals.sConnectionString + Connection.Open() + DA.Fill(ds, "Dokument") + Dim myRow As DataRow + If ds.Tables(0).Rows.Count = 0 Then + Return False + Else + myRow = ds.Tables(0).Rows(0) + myRow.Item(16) = mydata + DA.Update(ds, "Dokument") + End If + Catch ex As Exception + MsgBox(ex.Message) + Return False + End Try + fs = Nothing + cb = Nothing + ds = Nothing + DA = Nothing + Connection.Close() + Connection = Nothing + Return True + End Function + + ''' + ''' Liest das Dokument aus der DB und speichert dieses unter einem temporren Filenamen ab + ''' + ''' + ''' + ''' + Public Function Get_Dokument(ByVal DokumentNr As Integer) As String + Dim Filename As String = Globals.clsapplication.sTmp_filepath + If Right(Filename, 1) <> "\" Then Filename = Filename + "\" + + Dim connection As New SqlConnection() + Dim da As New SqlDataAdapter("Select * From Dokument where DokumentNr=" + Str(DokumentNr), connection) + Dim CB As SqlCommandBuilder = New SqlCommandBuilder(da) + Dim ds As New DataSet() + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.Fill(ds, "Dokument") + Dim myRow As DataRow + myRow = ds.Tables(0).Rows(0) + Dim MyData() As Byte + MyData = myRow.Item(16) + + Dim K As Long + K = UBound(MyData) + Filename = Filename + myRow.Item(6) + Dim fs As New FileStream(Filename, FileMode.OpenOrCreate, FileAccess.Write) + fs.Write(MyData, 0, K) + fs.Close() + fs = Nothing + Catch ex As Exception + MsgBox(ex.Message, MsgBoxStyle.Critical) + Return "" + Finally + connection.Close() + connection = Nothing + End Try + CB = Nothing + ds = Nothing + da = Nothing + Return Filename + End Function + + Public Function Show_Document(ByVal Dokumentnr As Integer) As Boolean + Dim tmpfilename As String = Me.Get_Dokument(Dokumentnr) + If tmpfilename <> "" Then + OpenSystemFile(tmpfilename) + Return True + End If + Return False + End Function + + Public Function OpenSystemFile(ByVal sFileName As String) As Boolean + If Len(sFileName) > 0 Then + System.Diagnostics.Process.Start(sFileName) + ' + ' ShellExecute(GetDesktopWindow(), vbNullString, sFileName, vbNullString, vbNullString, vbNormalFocus) + Return True + End If + End Function + + Public Function Save_RptDatei(ByVal Auswertungnr As Integer, ByVal AuswertungName As String) As String + Dim filename As String = AuswertungName + Dim Connection As New SqlConnection() + Dim DA As New SqlDataAdapter("select * from AuswertungRptDatei where AuswertungDateiNr = " & Str(Auswertungnr), Connection) + Dim cb As SqlCommandBuilder = New SqlCommandBuilder(DA) + Dim ds As New DataSet() + Dim fs As New FileStream(filename, FileMode.OpenOrCreate, FileAccess.Read) + Dim mydata(fs.Length) As Byte + fs.Read(mydata, 0, fs.Length) + fs.Close() + Try + Connection.ConnectionString = Globals.sConnectionString + Connection.Open() + DA.Fill(ds, "RptFile") + Dim myRow As DataRow + If ds.Tables(0).Rows.Count = 0 Then + ' Neues Datei speichern + myRow = ds.Tables(0).NewRow + myRow.Item(0) = Auswertungnr + myRow.Item(1) = AuswertungName + myRow.Item(2) = RptName(AuswertungName) + myRow.Item(3) = mydata + myRow.Item(4) = Now + myRow.Item(5) = Now + myRow.Item(6) = Globals.clsmitarbeiter.iMitarbeiternr.Value + ds.Tables(0).Rows.Add(myRow) + DA.Update(ds, "RptFile") + Else + myRow = ds.Tables(0).Rows(0) + myRow.Item(1) = AuswertungName + myRow.Item(2) = RptName(AuswertungName) + myRow.Item(3) = mydata + myRow.Item(5) = Now + myRow.Item(6) = Globals.clsmitarbeiter.iMitarbeiternr.Value + DA.Update(ds, "RptFile") + End If + Catch ex As Exception + MsgBox(ex.Message) + Return False + End Try + fs = Nothing + cb = Nothing + ds = Nothing + DA = Nothing + Connection.Close() + Connection = Nothing + Return RptName(AuswertungName) + End Function + + Public Function RptName(ByVal path As String) As String + Dim i As Integer + Dim file As String = path + i = InStrRev(file.Trim, "\") + If i = 0 Then + Return file.Trim + Else + Return Right(file.Trim, Len(file.Trim) - i) + End If + End Function + + Public Function Get_RptDatei(ByVal Auswertungnr As String, Optional ByVal fname As String = "") As String + Dim connection As New SqlConnection() + Dim DA As New SqlDataAdapter("select * from AuswertungRptDatei where AuswertungDateiNr = " & Str(Auswertungnr), connection) + Dim CB As SqlCommandBuilder = New SqlCommandBuilder(DA) + Dim ds As New DataSet() + Dim Filename As String = "" + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + DA.Fill(ds, "RptFile") + Dim myRow As DataRow + myRow = ds.Tables(0).Rows(0) + Dim MyData() As Byte + Filename = Globals.clsapplication.sTmp_filepath + "\" + myRow.Item(2).ToString + If fname <> "" Then + Filename = fname + End If + MyData = myRow.Item(3) + Dim K As Long + K = UBound(MyData) + Dim fs As New FileStream(Filename, FileMode.OpenOrCreate, FileAccess.Write) + fs.Write(MyData, 0, K) + fs.Close() + fs = Nothing + Catch ex As Exception + Return "" + End Try + CB = Nothing + ds = Nothing + DA = Nothing + connection.Close() + connection = Nothing + Return filename + End Function + + Public Function Save_Architekturfile(ByVal Applikationnr As Integer, ByVal iFilename As String) + Dim filename As String = iFilename + Dim Connection As New SqlConnection() + Dim DA As New SqlDataAdapter("select * from ApplikationArchitektur where applikationnr = " & Str(Applikationnr), Connection) + Dim cb As SqlCommandBuilder = New SqlCommandBuilder(DA) + Dim ds As New DataSet() + Dim fs As New FileStream(filename, FileMode.OpenOrCreate, FileAccess.Read) + Dim mydata(fs.Length) As Byte + fs.Read(mydata, 0, fs.Length) + fs.Close() + Try + Connection.ConnectionString = Globals.sConnectionString + Connection.Open() + DA.Fill(ds, "RptFile") + Dim myRow As DataRow + If ds.Tables(0).Rows.Count = 0 Then + ' Neues Datei speichern + myRow = ds.Tables(0).NewRow + myRow.Item(0) = Applikationnr + myRow.Item(1) = mydata + ' myRow.Item(4) = Now + ' myRow.Item(5) = Now + ' myRow.Item(6) = Globals.clsmitarbeiter.iMitarbeiternr.Value + ds.Tables(0).Rows.Add(myRow) + DA.Update(ds, "RptFile") + Else + myRow = ds.Tables(0).Rows(0) + myRow.Item(1) = mydata + ' myRow.Item(2) = RptName(AuswertungName) + ' myRow.Item(3) = mydata + ' myRow.Item(5) = Now + ' myRow.Item(6) = Globals.clsmitarbeiter.iMitarbeiternr.Value + DA.Update(ds, "RptFile") + End If + Catch ex As Exception + MsgBox(ex.Message) + Return False + End Try + fs = Nothing + cb = Nothing + ds = Nothing + DA = Nothing + Connection.Close() + Connection = Nothing + End Function + + Public Function Get_Architekturfile(ByVal Applikationnr As String, Optional ByVal fname As String = "") As String + Dim connection As New SqlConnection() + Dim DA As New SqlDataAdapter("select * from ApplikationArchitektur where applikationnr = " & Str(Applikationnr), connection) + Dim CB As SqlCommandBuilder = New SqlCommandBuilder(DA) + Dim ds As New DataSet() + Dim Filename As String = "" + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + DA.Fill(ds, "RptFile") + Dim myRow As DataRow + myRow = ds.Tables(0).Rows(0) + Dim MyData() As Byte + Filename = Globals.clsapplication.sTmp_filepath + "\architekturfile.xml" + If fname <> "" Then + Filename = fname + End If + MyData = myRow.Item(1) + Dim K As Long + K = UBound(MyData) + Dim fs As New FileStream(Filename, FileMode.OpenOrCreate, FileAccess.Write) + fs.Write(MyData, 0, K) + fs.Close() + fs = Nothing + Catch ex As Exception + Return "" + End Try + CB = Nothing + ds = Nothing + DA = Nothing + connection.Close() + connection = Nothing + Return Filename + End Function + + End Class + +End Namespace diff --git a/Themenmanagement/Klassen/MyGenericEventHandler.vb b/Themenmanagement/Klassen/MyGenericEventHandler.vb new file mode 100644 index 0000000..eded68d --- /dev/null +++ b/Themenmanagement/Klassen/MyGenericEventHandler.vb @@ -0,0 +1,266 @@ +Public Class MyGenericEventHandler + Public Event FormularVertragelement_Closed(ByVal Vertragspartnernr As Integer, ByVal Vertragselementnr As Integer) + Public Event FormularVertragspartner_Closed(ByVal Vertragspartnernr As Integer) + + Public Event FormularPendenz_Closed() + Public Event Pendenz_Deleted() + + Public Event FormularKuendigungsfrist_Closed() + Public Event Kuendigungsfrist_Deleted() + + Public Event FormularKontakte_Closed() + Public Event Kontakt_Deleted() + + Public Event FormularDokument_Closed() + Public Event Dokument_Deleted() + + Public Event FormularServices_Closed() + Public Event Service_Deleted() + + Public Event FormularEreignis_Closed() + Public Event Ereignis_Deleted() + + Public Event FormularAktivitaet_Cloesd() + Public Event Aktivitaet_Deleted() + + Public Event FormularReferenzvertrag_Closed() + Public Event Referenzvertrag_Deleted() + + Public Event Update_Uebersicht() + + Public Event LeistungSelektiert(ByVal Vertragsleistungsnr As Integer, ByVal Servicekatalognr As Integer) + Public Event KeineLeistungSelektiert(ByVal Vertragsleistungsnr As Integer) + + Public Event FormularVertragsapplikation_Closed() + Public Event Vertragsapplikation_Deleted() + + Public Event Set_ToolTip(ByVal formname As String, ByVal ctlname As String) + Public Event FormularReleaseLogbuchClosed() + Public Event FormularApplikationVersionClosed() + Public Event FormualrIKVTestClosed() + + Public Event Thema_Closed() + + Public Event Pendenz_Closed() + +#Region "Tham" + Public Function ThemaClosed() + RaiseEvent Thema_Closed() + End Function + + Public Function PendenzClosed() + RaiseEvent Pendenz_Closed() + End Function +#End Region + +#Region "Vertragselement" + + ''' + ''' Event Formular "Vertragselement" Closed absetzen + ''' + ''' + ''' + ''' + ''' + Public Function Vertragselement_Closed(ByVal Vertragspartnernr As Integer, ByVal Vertragselementnr As Integer) + RaiseEvent FormularVertragelement_Closed(Vertragspartnernr, Vertragselementnr) + RaiseEvent Update_Uebersicht() + End Function +#End Region + +#Region "Vertragspartner" + ''' + ''' Event Formular Vertragsparter Closed absetzen + ''' + ''' + ''' + ''' + Public Function Vertragspartner_Closed(ByVal Vertragspartnernr As Integer) + RaiseEvent FormularVertragspartner_Closed(Vertragspartnernr) + RaiseEvent Update_Uebersicht() + End Function +#End Region + +#Region "Pendenzen" + ''' + ''' Event Formular Pendenz Closed absetzen + ''' + ''' + ''' + ''' + + ''' + ''' Event Pendent Deleted absetzen + ''' + ''' + ''' + ''' + Public Function Pendenz_Geloescht() + RaiseEvent Pendenz_Deleted() + RaiseEvent Update_Uebersicht() + End Function + +#End Region + +#Region "Kuendigungsfrist" + ''' + ''' Event Formular Kontakte Closed absetzen + ''' + ''' + ''' + ''' + Public Function Kuendigungsfrist_Closed() + RaiseEvent FormularKuendigungsfrist_Closed() + RaiseEvent Update_Uebersicht() + End Function + Public Function Kuendigungsfrist_Geloescht() + RaiseEvent Kuendigungsfrist_Deleted() + RaiseEvent Update_Uebersicht() + End Function + + ''' + ''' Event Formular Kuendigungsfrist Closed absetzen + ''' + ''' + ''' + ''' + Public Function Kontakte_Closed() + RaiseEvent FormularKontakte_Closed() + RaiseEvent Update_Uebersicht() + End Function + Public Function Kontakte_Geloescht() + RaiseEvent Kontakt_Deleted() + RaiseEvent Update_Uebersicht() + End Function + ''' + ''' Event Formular Dokumente Closed absetzen + ''' + ''' + ''' + ''' + Public Function Dokumente_Closed() + RaiseEvent FormularDokument_Closed() + RaiseEvent Update_Uebersicht() + End Function + Public Function Dokumente_Geloscht() + RaiseEvent Dokument_Deleted() + RaiseEvent Update_Uebersicht() + End Function + ''' + ''' Event Formular Services Closed absetzen + ''' + ''' + ''' + ''' + Public Function Services_Closed() + RaiseEvent FormularServices_Closed() + RaiseEvent Update_Uebersicht() + End Function + Public Function Service_Geloescht() + RaiseEvent Service_Deleted() + RaiseEvent Update_Uebersicht() + End Function + ''' + ''' Event Formular Ereignis Closed absetzen + ''' + ''' + ''' + ''' + Public Function Ereignis_Closed() + RaiseEvent FormularEreignis_Closed() + RaiseEvent Update_Uebersicht() + End Function + Public Function Ereignis_Geloescht() + RaiseEvent Ereignis_Deleted() + RaiseEvent Update_Uebersicht() + End Function + ''' + ''' Event Formular Aktivitaet Closed absetzen + ''' + ''' + ''' + ''' + Public Function Aktivitaet_Closed() + RaiseEvent FormularAktivitaet_Cloesd() + RaiseEvent Update_Uebersicht() + End Function + Public Function Aktivitaet_Geloescht() + RaiseEvent Aktivitaet_Deleted() + RaiseEvent Update_Uebersicht() + End Function + ''' + ''' Event Formular Refernzvertrag Closed absetzen + ''' + ''' + ''' + ''' + Public Function Refernzvertrag_Closed() + RaiseEvent FormularReferenzvertrag_Closed() + RaiseEvent Update_Uebersicht() + End Function + Public Function Refernzvertrag_Geloescht() + RaiseEvent Referenzvertrag_Deleted() + RaiseEvent Update_Uebersicht() + End Function + + +#End Region + +#Region "Servicekatalog" + Public Function Leistung_Selektiert(ByVal Vertragsleistungsnr As Integer, ByVal Servicekatalognr As Integer) + RaiseEvent LeistungSelektiert(Vertragsleistungsnr, Servicekatalognr) + RaiseEvent Update_Uebersicht() + End Function + + Public Function Keine_Leistung_Selektiert(ByVal Vertragsleistungsnr As Integer) + RaiseEvent KeineLeistungSelektiert(Vertragsleistungsnr) + End Function +#End Region + + +#Region "Pendenzen" + ''' + ''' Event Formular Pendenz Closed absetzen + ''' + ''' + ''' + ''' + Public Function Vertragsapplikation_Closed() + RaiseEvent FormularVertragsapplikation_Closed() + RaiseEvent Update_Uebersicht() + End Function + ''' + ''' Event Pendent Deleted absetzen + ''' + ''' + ''' + ''' + Public Function Vertragsapplikation_Geloescht() + RaiseEvent Vertragsapplikation_Deleted() + RaiseEvent Update_Uebersicht() + End Function + +#End Region + + Public Function Edit_Tooltip(ByVal formname As String, ByVal ctlname As String) + RaiseEvent Set_ToolTip(formname, ctlname) + End Function +#Region "ReleaseLogbuch" + Public Function ReleaseLobuchClosed() + RaiseEvent FormularReleaseLogbuchClosed() + End Function + +#End Region + +#Region "IKV_Tests" + Public Function IKVDetailsClosed() + RaiseEvent FormualrIKVTestClosed() + End Function +#End Region + +#Region "ApplikationVersion" + Public Function ApplikationVersionClosed() + RaiseEvent FormularApplikationVersionClosed() + End Function +#End Region +End Class diff --git a/Themenmanagement/Klassen/MyMessage.vb b/Themenmanagement/Klassen/MyMessage.vb new file mode 100644 index 0000000..f886e54 --- /dev/null +++ b/Themenmanagement/Klassen/MyMessage.vb @@ -0,0 +1,228 @@ +Imports System.IO +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace Utils + ''' + ''' Standard-Messages in div. Formatenm + ''' + ''' + Public Class MyMessage +#Region "Deklarationen" + ''' + ''' Dataview Meldungstexte um Textelemente fr die Ausgabe zu suchen + ''' + ''' + Private meldungstexte As New DataView() +#End Region + +#Region "Dispose" + Sub dispose() + meldungstexte.Dispose() + End Sub +#End Region + +#Region "DBZugriffe" + ''' + ''' Meldungen aus der Datenbanklesen, sofern diese noch nicht ausgelesen worden sind. Nach dem ersten Lesen werden + ''' die Daten aus der Tabelle Meldungstexte ohne erneutem DB-Zugriff verwendet + ''' + ''' + ''' + ''' + Public Function Get_Meldungstext(ByVal i As Integer) As String + Dim meldungen As New DB.clsMeldungstexte + Dim res As Integer + meldungen.cpMainConnectionProvider = conn + If Me.meldungstexte.Count = 0 Then + Me.meldungstexte.Table = meldungen.SelectAll + End If + meldungstexte.Sort = "meldungstextnr" + res = meldungstexte.Find(i) + Try + Get_Meldungstext = Me.meldungstexte(res).Item(2) + Catch + Get_Meldungstext = "" + End Try + meldungen.Dispose() + End Function + + +#End Region +#Region "Meldungen" + ''' + ''' Standardmessage + ''' + ''' Messagenr + ''' Messagetyp + ''' + ''' + Public Function show_standardmessage(ByVal i As Integer, ByVal typ As MsgBoxStyle) As Integer + Me.ShowMyDialog(Get_Meldungstext(i), typ, MsgBoxStyle.OkOnly) + 'MsgBox(Get_Meldungstext(i), typ) + End Function + ''' + ''' Yes-No-Meldung + ''' + ''' Meldungsnr + ''' MsgboxResult + ''' + Public Function Show_MessageYesNo(ByVal i As Integer) As MsgBoxResult + Return Me.ShowMyDialog(Get_Meldungstext(i), MsgBoxStyle.Question, MsgBoxStyle.YesNo) + 'Show_MessageYesNo = MsgBox(Get_Meldungstext(i), MsgBoxStyle.YesNo + MsgBoxStyle.Question) + End Function + ''' + ''' Standard-Meldung, welcher 2 Strings als Parameter bergeben werden, damit diese im Meldungstext ersetzt werden knnen. + ''' Parameter im Meldungstext #1 oder #2 + ''' + ''' + ''' + ''' + ''' + ''' + ''' + Public Function show_standardmessage_ReplaceText(ByVal i As Integer, ByVal typ As MsgBoxStyle, ByVal Text1 As String, ByVal Text2 As String) As Integer + Dim s As String + s = Get_Meldungstext(i) + s = s.Replace("#1", Text1) + s = s.Replace("#2", Text2) + Return Me.ShowMyDialog(s, typ, MsgBoxStyle.OkOnly) + ' MsgBox(s, typ) + End Function + ''' + ''' Yes-No-Meldung, welcher 2 Strings als Parameter bergeben werden, damit diese im Meldungstext ersetzt werden knnen. + ''' Parameter im Meldungstext #1 oder #2 + ''' + ''' MeldungsNr + ''' erster Text zum ersetzen + ''' zweiter Text zum ersetzen + ''' + ''' + Public Function show_MessageYesNo_ReplaceText(ByVal i As Integer, ByVal Text1 As String, ByVal Text2 As String) As MsgBoxResult + Dim s As String + s = Get_Meldungstext(i) + s = s.Replace("#1", Text1) + s = s.Replace("#2", Text2) + Return Me.ShowMyDialog(s, MsgBoxStyle.Question, MsgBoxStyle.YesNo) + 'show_MessageYesNo_ReplaceText = MsgBox(s, MsgBoxStyle.YesNo + MsgBoxStyle.Question) + End Function + ''' + ''' Ausgabe der Meldung, welche bergeben wird. Als Option knnen 2 Texte zum Ersetzen bergeben werden. + ''' Parameter im Meldungstext #1 oder #2 + ''' + ''' Meldungstext + ''' erster Text zum ersetzen + ''' zweiter Text zum ersetzen + ''' + ''' + Public Function ReplaceTextinMSG(ByVal OrgText As String, ByVal Text1 As String, ByVal Text2 As String) As String + OrgText = OrgText.Replace("#1", Text1) + OrgText = OrgText.Replace("#2", Text2) + ReplaceTextinMSG = OrgText + End Function + + ''' + ''' Meldung Yes-No-Cancel + ''' + ''' + ''' + ''' + Public Function Show_MessageYesNoCancel(ByVal i As Integer) As MsgBoxResult + Return Me.ShowMyDialog(Get_Meldungstext(i), MsgBoxStyle.Question, MsgBoxStyle.YesNoCancel) + 'Show_MessageYesNoCancel = MsgBox(Get_Meldungstext(i), MsgBoxStyle.YesNoCancel + MsgBoxStyle.Question) + End Function + + + 'Private Function ShowMessage(ByVal profilnr As Integer, ByVal messagenr As Integer, ByVal fnkt As Integer, ByVal style As Integer) As Boolean + ' Dim scmCmdToExecute As SqlCommand = New SqlCommand() + ' Dim i As Integer + ' Dim dtToReturn As DataTable = New DataTable() + ' Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute) + ' scmCmdToExecute.CommandText = "dbo.sp_show_hinweismeldung" + ' scmCmdToExecute.CommandType = CommandType.StoredProcedure + ' scmCmdToExecute.Connection = conn.scoDBConnection + ' Try + ' scmCmdToExecute.Parameters.Add(New SqlParameter("@profilnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, profilnr)) + ' scmCmdToExecute.Parameters.Add(New SqlParameter("@hinweisnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, messagenr)) + ' scmCmdToExecute.Parameters.Add(New SqlParameter("@fnkt", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, fnkt)) + ' scmCmdToExecute.Parameters.Add(New SqlParameter("@showit", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, 0)) + ' sdaAdapter.Fill(dtToReturn) + ' i = scmCmdToExecute.Parameters.Item("@showit").Value + ' If i <> 0 Then + ' ShowMessage = True + ' Else + ' ShowMessage = False + ' End If + ' Catch ex As Exception + ' ' // some error occured. Bubble it to caller and encapsulate Exception object + ' Throw New Exception("Dokument_Information_Wert::" & scmCmdToExecute.CommandText & "::Error occured." & ex.Message, ex) + ' Finally + ' scmCmdToExecute.Dispose() + ' sdaAdapter.Dispose() + ' End Try + 'End Function + ''' + ''' Zeig den eigenen Messagebox-Dialog + ''' + ''' + ''' + ''' + ''' + Public Function ShowMyDialog(ByVal msgtext As String, ByVal ImageStyle As MsgBoxStyle, ByVal Buttons As MsgBoxStyle) As MsgBoxResult + Dim f As New frmMsgBox + f.btnno.Visible = False + f.btnAbbruch.Visible = False + f.btnYes.Visible = False + f.btnOK.Visible = False + Select Case Buttons + Case MsgBoxStyle.OkCancel + f.btnYes.Visible = True + f.btnAbbruch.Visible = True + Case MsgBoxStyle.YesNo + f.btnYes.Visible = True + f.btnno.Visible = True + Case MsgBoxStyle.YesNoCancel + f.btnYes.Visible = True + f.btnno.Visible = True + f.btnAbbruch.Visible = True + Case MsgBoxStyle.OkOnly + f.btnOK.Visible = True + End Select + f.imgCritical.Visible = False + f.imgExclamation.Visible = False + f.imgInformation.Visible = False + f.imgQuestion.Visible = False + Select Case ImageStyle + Case MsgBoxStyle.Critical + f.imgCritical.Visible = True + Case MsgBoxStyle.Exclamation + f.imgExclamation.Visible = True + Case MsgBoxStyle.Information + f.imgInformation.Visible = True + Case MsgBoxStyle.Question + f.imgQuestion.Visible = True + End Select + f.txtmsg.Text = msgtext + 'f.btnYes.Visible = True + 'f.btnno.Visible = True + f.ShowDialog() + Select Case f.DialogResult + Case DialogResult.Abort, DialogResult.Cancel + Return MsgBoxResult.Cancel + Case DialogResult.No + Return MsgBoxResult.No + Case DialogResult.Yes + Return MsgBoxResult.Yes + Case Else + + End Select + End Function + + + + +#End Region + + End Class +End Namespace diff --git a/Themenmanagement/Klassen/MySecurity.vb b/Themenmanagement/Klassen/MySecurity.vb new file mode 100644 index 0000000..ede1a05 --- /dev/null +++ b/Themenmanagement/Klassen/MySecurity.vb @@ -0,0 +1,832 @@ +Imports C1.Win.C1TrueDBGrid +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient +Namespace Utils + ''' + ''' Formular-Security-Objekte auslesen und auf DB schreiben bzw. Formular-Security zur Laufzeit setzen + ''' + ''' + + Public Class MySecurity + Dim tt As New TKB.VV.Utils.clsToolTips + Dim SecurityData As DataSet = Globals.SecurityDaten + Dim connection As New SqlConnection() + Dim da As New SqlDataAdapter("", connection) + + Dim IntForm As Form + Dim ctlcol As New Collection + Dim formname As String = "" + + + + ''' + ''' Formularsecurity setzen + ''' + ''' Aktuelles Formular + ''' + ''' + Public Function Set_Form_Security(ByRef f As Form) + IntForm = f + formname = f.Name + 'Load form DB + Load_Data(f.Name) + 'Load FormObjects + Me.ctlcol.Clear() + formname = f.Name + For Each ctl As Control In f.Controls + Objectanalysis(ctl) + ' AddHandler ctl.HelpRequested, AddressOf Object_MouseDown + 'ctl.ContextMenuStrip = Globals.TTContextMenuStrip + 'AddHandler ctl.KeyDown, AddressOf Object_MouseDown + Next + Set_Security() + If Globals.Set_ToolTips = True Then + tt.Edit_ToolTips(f, ctlcol) + Else + tt.Set_ToolTips(f) + End If + End Function + + Public Function Set_Menu_Security(ByRef f As Form, ByRef menu As ToolStripMenuItem, ByVal Menuname As String) + IntForm = f + formname = f.Name + Load_Data(f.Name) + Me.ctlcol.Clear() + formname = f.Name + Dim ctl As Object = menu + Dim typ As System.Type = ctl.GetType + ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, Menuname, ctl.Name)) + + Set_Security() + 'If Globals.Set_ToolTips = True Then + ' tt.Edit_ToolTips(f, ctlcol) + 'Else + ' tt.Set_ToolTips(f) + 'End If + + End Function + + + Public Function Set_Form_Readonly(ByRef f As Form) + IntForm = f + Me.formname = f.Name + Load_Data(f.Name) + Me.ctlcol.Clear() + For Each ctl As Control In f.Controls + Objectanalysis_readonly(ctl) + Next + End Function + Public Function Set_Form_Default(ByRef f As Form) + IntForm = f + Me.formname = f.Name + Load_Data(f.Name) + Me.ctlcol.Clear() + For Each ctl As Control In f.Controls + Objectanalysis_default(ctl) + Next + End Function + + Private Function Objectanalysis_readonly(ByRef ctl As Object) As String + Dim typ As System.Type = ctl.GetType + Select Case LCase(typ.Name) + Case "splitcontainer" + ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, "")) + Dim tmpsplit As SplitContainer = ctl + For Each ctrl As Object In tmpsplit.Panel1.Controls + Objectanalysis_readonly(ctrl) + Next + For Each ctrl As Object In tmpsplit.Panel2.Controls + Objectanalysis_readonly(ctrl) + Next + Case "tabcontrol", "clsmytabcontrol" + ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, "")) + Dim tmptabcontrol As TabControl = ctl + For Each ctl In tmptabcontrol.TabPages + Objectanalysis_readonly(ctl) + Next + Case "tabpage" + Dim tmptabpage As TabPage = ctl + ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, tmptabpage.Parent.Name, 1)) + + For Each ctl In tmptabpage.Controls + Objectanalysis_readonly(ctl) + Next + Case "groupbox" + ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, "")) + Dim tmptabpage As GroupBox = ctl + For Each ctl In tmptabpage.Controls + Objectanalysis_readonly(ctl) + Next + Case "panel" + ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, "")) + Dim tmppanel As Panel = ctl + For Each ctl In tmppanel.Controls + Objectanalysis_readonly(ctl) + Next + Case "textbox" + Dim x As TextBox = ctl + x.BackColor = Color.LightGray + x.ForeColor = Color.Black + x.ReadOnly = True + Case "maskedtextbox" + Dim x As MaskedTextBox = ctl + x.BackColor = Color.LightGray + x.ForeColor = Color.Black + x.ReadOnly = True + Case "combobox" + Dim x As ComboBox = ctl + x.Enabled = False + x.BackColor = Color.LightGray + x.ForeColor = Color.Black + Case "checkbox" + Dim x As CheckBox = ctl + x.Enabled = False + Case "radiobutton" + Dim x As RadioButton = ctl + x.Enabled = False + Case "comboboxtree" + Dim x As Object = ctl + x.enabled = False + x.BackColor = Color.LightGray + x.ForeColor = Color.Black + Case "richtextbox" + Dim x As Object = ctl + x.BackColor = Color.LightGray + x.ForeColor = Color.Black + x.ReadOnly = True + Case "button" + Dim x As Button = ctl + x.Enabled = False + Case "listbox" + Dim x As Object = ctl + ctl.enabled = False + Case "checkedlistbox" + Dim x As Object = ctl + ctl.enabled = False + Case "datetimepicker" + Dim x As Object = ctl + ctl.enabled = False + + Case Else + End Select + End Function + + Private Function Objectanalysis_default(ByRef ctl As Object) As String + Dim typ As System.Type = ctl.GetType + Select Case LCase(typ.Name) + Case "splitcontainer" + ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, "")) + Dim tmpsplit As SplitContainer = ctl + For Each ctrl As Object In tmpsplit.Panel1.Controls + Objectanalysis_default(ctrl) + Next + For Each ctrl As Object In tmpsplit.Panel2.Controls + Objectanalysis_default(ctrl) + Next + Case "tabcontrol", "clsmytabcontrol" + ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, "")) + Dim tmptabcontrol As TabControl = ctl + For Each ctl In tmptabcontrol.TabPages + Objectanalysis_default(ctl) + Next + Case "tabpage" + Dim tmptabpage As TabPage = ctl + ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, tmptabpage.Parent.Name, 1)) + For Each ctl In tmptabpage.Controls + Objectanalysis_default(ctl) + Next + Case "groupbox" + ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, "")) + Dim tmptabpage As GroupBox = ctl + For Each ctl In tmptabpage.Controls + Objectanalysis_default(ctl) + Next + Case "panel" + ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, "")) + Dim tmppanel As Panel = ctl + For Each ctl In tmppanel.Controls + Objectanalysis_default(ctl) + Next + Case "textbox" + Dim x As TextBox = ctl + x.BackColor = Color.White + x.ForeColor = Color.Black + x.Enabled = True + Case "maskedtextbox" + Dim x As MaskedTextBox = ctl + x.BackColor = Color.White + x.ForeColor = Color.Black + x.Enabled = True + Case "combobox" + Dim x As ComboBox = ctl + x.Enabled = True + x.BackColor = Color.White + x.ForeColor = Color.Black + + Case "checkbox" + Dim x As CheckBox = ctl + x.Enabled = True + Case "radiobutton" + Dim x As RadioButton = ctl + x.Enabled = True + Case "comboboxtree" + Dim x As Object = ctl + x.enabled = True + x.BackColor = Color.White + x.ForeColor = Color.Black + Case "richtextbox" + Dim x As Object = ctl + x.BackColor = Color.White + x.ForeColor = Color.Black + x.readonly = True + Case "button" + Dim x As Button = ctl + x.Enabled = True + Case "listbox" + Dim x As Object = ctl + ctl.enabled = True + Case "checkedlistbox" + Dim x As Object = ctl + ctl.enabled = True + Case "datetimepicker" + Dim x As Object = ctl + ctl.enabled = True + Case Else + End Select + End Function + + + + ''' + ''' Daten ab Datenbank laden + ''' + ''' + Private Sub Load_Data(ByVal Formname As String) + Try + 'xxx + If SecurityData.Tables.Count > 0 Then + SecurityData.Tables.Clear() + End If + ' Exit Sub + Catch ex As Exception + End Try + SecurityData.Tables.Clear() + Dim sqlcmd As New SqlCommand + + sqlcmd.CommandText = "dbo.my_security_get_data" + sqlcmd.Parameters.Add("@FormName", SqlDbType.VarChar, 255) + sqlcmd.Parameters.Add("@Mitarbeiternr", SqlDbType.Int, 4) + sqlcmd.Parameters(0).Value = Formname + sqlcmd.Parameters(1).Value = Globals.clsmitarbeiter.iMitarbeiternr.Value + + sqlcmd.CommandType = CommandType.StoredProcedure + sqlcmd.Connection = connection + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.SelectCommand = sqlcmd + da.Fill(SecurityData, "SecurityTable") + Globals.SecurityDaten.Tables.Add(SecurityData.Tables(0).Copy) + Catch ex As Exception + Finally + connection.Close() + da.Dispose() + sqlcmd.Dispose() + End Try + End Sub + ''' + ''' Prft die DB-Eintrge mit den Formcontrols und bei bereinstimmung werden die Security-Einstellungen gesetzt + ''' + ''' + Private Sub Set_Security() + Dim i As Integer + For i = 0 To Me.SecurityData.Tables(0).Rows.Count - 1 + Dim SecurityObject As String = Me.SecurityData.Tables(0).Rows(i).Item("SecurityObject") + Dim SecurityObjectitem As String = Me.SecurityData.Tables(0).Rows(i).Item("SecurityObjectItem") + Dim read_only As Boolean = Me.SecurityData.Tables(0).Rows(i).Item("readonly") + Dim invisible As Boolean = Me.SecurityData.Tables(0).Rows(i).Item("invisible") + Dim ii As Integer + For ii = 1 To ctlcol.Count + Dim secobj As MyFormControls = ctlcol(ii) + If secobj.MySecurityObject = SecurityObject And secobj.MySecurityObjectItem = SecurityObjectitem Then + Set_Preferences(secobj.MyControl, read_only, invisible, SecurityObjectitem) + End If + Next + Next + End Sub + + ''' + ''' Security-Einstellungen setzen + ''' + ''' Betroffenes Objeckt (Menuitem, Conrol usw.) + ''' Readonly ja/nein + ''' Sichtbar ja/nein + ''' Name des Unterobjektes - wird fr die Spalteneinstellungen von C1TruedbGrids verwendet + ''' + Private Sub Set_Preferences(ByRef obj As Object, ByVal read_only As Boolean, ByVal invisible As Boolean, ByVal SecurityObjectItem As String) + Dim objtype As System.Type = obj.GetType + Select Case LCase(objtype.Name) + Case "button" + Dim ctl As Button = obj + If read_only Then ctl.Enabled = False + If invisible Then + ctl.Visible = False + ctl.Enabled = False + End If + Case "toolstripmenuitem" + Dim ctl As ToolStripMenuItem = obj + If read_only Then ctl.Enabled = False + If invisible Then + ctl.Visible = False + ctl.Enabled = False + End If + Case "textbox", "label", "combobox", "checkbox", "toolstripbutton", "panel", "datetimepicker" + If read_only Then obj.Enabled = False + If invisible Then obj.Visible = False + Case "richtextbox" + If read_only Then obj.Enabled = False + Try + obj.readonly = True + obj.enabled = True + Catch ex As Exception + End Try + If invisible Then obj.Visible = False + Case "tabpage" + If invisible Then + Dim tbp As TabPage = obj + For Each x As MyFormControls In Me.ctlcol + If x.MySecurityObject = tbp.Parent.Name Then + Dim tb As TabControl = x.MyControl + tb.TabPages.Remove(tbp) + Exit Sub + End If + Next + End If + '20100406 - TabPageHandling + If read_only Then + 'obj.enabled = False + For Each CTLX As Control In obj.CONTROLS + Me.Objectanalysis_readonly(CTLX) + Next + End If + Case "c1truedbgrid" + Dim ctl As C1TrueDBGrid = obj + If SecurityObjectItem = "" Then + If read_only Then ctl.Enabled = False + If invisible Then obj.Visible = False + Else + If read_only Then ctl.Splits(0).DisplayColumns(SecurityObjectItem).Locked = True + If invisible Then ctl.Splits(0).DisplayColumns(SecurityObjectItem).Visible = False + End If + + End Select + End Sub + + +#Region "Read Objects from Form and save to Database" + Dim tmpmenuname As String + ''' + ''' Alle Controls des Formulars zusammensuchen und auf der DB speichern + ''' + ''' Betroffenes Formular + ''' + ''' + + Public Function List_Form_Controls(ByRef f As Form) + Me.ctlcol.Clear() + formname = f.Name + For Each ctl As Control In f.Controls + Objectanalysis(ctl) + Next + Dim i As Integer + For i = 1 To ctlcol.Count + Dim secobj As MyFormControls = ctlcol(i) + secobj.Write_Object_to_DB() + Next + End Function + + ''' + ''' Smtliche Controls vom Formular auslesen + ''' + ''' + ''' + ''' + Private Function Objectanalysis(ByRef ctl As Object) As String + Dim typ As System.Type = ctl.GetType + Select Case LCase(typ.Name) + Case "menustrip" + ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, "")) + tmpmenuname = ctl.name + ReadMenu(ctl) + Case "contextmenustrip" + ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, "")) + tmpmenuname = ctl.name + ReadContextMenu(ctl) + Case "toolstrip" + ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, "")) + Dim tmptoolstrop As ToolStrip = ctl + Try + Dim ic As Integer + For ic = 0 To tmptoolstrop.Items.Count - 1 + Try + Dim subobj As ToolStripButton + subobj = tmptoolstrop.Items(ic) + ctlcol.Add(New MyFormControls(subobj, formname, typ.Name, ctl.Name, subobj.Name, 1)) + Catch ex As Exception + + End Try + + Next + 'For Each subobj As ToolStripButton In tmptoolstrop.Items + 'ctlcol.Add(New MyFormControls(subobj, formname, typ.Name, ctl.Name, subobj.Name, 1)) + 'Next + Catch + End Try + Case "splitcontainer" + ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, "")) + Dim tmpsplit As SplitContainer = ctl + For Each ctrl As Object In tmpsplit.Panel1.Controls + Objectanalysis(ctrl) + Next + For Each ctrl As Object In tmpsplit.Panel2.Controls + Objectanalysis(ctrl) + Next + Case "tabcontrol", "clsmytabcontrol" + ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, "")) + Dim tmptabcontrol As TabControl = ctl + For Each ctl In tmptabcontrol.TabPages + Objectanalysis(ctl) + Next + Case "tabpage" + Dim tmptabpage As TabPage = ctl + ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, tmptabpage.Parent.Name, 1)) + + For Each ctl In tmptabpage.Controls + Objectanalysis(ctl) + Next + Case "groupbox" + ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, "")) + Dim tmptabpage As GroupBox = ctl + For Each ctl In tmptabpage.Controls + Objectanalysis(ctl) + Next + Case "panel" + ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, "")) + Dim tmppanel As Panel = ctl + For Each ctl In tmppanel.Controls + Objectanalysis(ctl) + Next + Case "c1truedbgrid" + ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, "")) + Dim ctrl As C1TrueDBGrid = ctl + Dim i As Integer + For i = 0 To ctrl.Columns.Count - 1 + ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, ctrl.Columns(i).Caption, 0, ctrl.Columns(i).Caption)) + Next + Try + If ctrl.ContextMenuStrip.Name <> "" Then + Dim x As ContextMenuStrip = ctrl.ContextMenuStrip + Objectanalysis(x) + End If + Catch ex As Exception + + End Try + For Each xctl As Object In ctrl.Controls + Objectanalysis(xctl) + Next + Case "treeview" + ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, "")) + Dim ctrl As TreeView = ctl + Try + + If ctrl.ContextMenuStrip.Name <> "" Then + Dim x As ContextMenuStrip = ctrl.ContextMenuStrip + Objectanalysis(x) + End If + + Catch ex As Exception + + End Try + + Case Else + If ctl.name = "TreeStruktur" Then + End If + ctlcol.Add(New MyFormControls(ctl, formname, typ.Name, ctl.Name, "")) + End Select + End Function + + ''' + ''' Auslesen von MenuItems + ''' + ''' + ''' + ''' + ''' + Dim level As Integer = 0 + Private Function ReadMenu(ByRef x As Object) + Dim tmpmnu As MenuStrip = x + level = 0 + For Each xx As Object In tmpmnu.Items + Dim objtype As System.Type = xx.GetType + If LCase(objtype.Name) = "toolstripmenuitem" Then + ctlcol.Add(New MyFormControls(xx, formname, "menustrip", tmpmenuname, xx.Name, level)) + get_all_menus(xx) + End If + Next + End Function + ''' + ''' Auslesen von ContextMenuItems + ''' + ''' + ''' + ''' + ''' + + Private Function ReadContextMenu(ByRef x As Object) + Dim tmpmnu As ContextMenuStrip = x + level = 0 + Try + For Each xx As Object In tmpmnu.Items + Dim objtype As System.Type = xx.GetType + If LCase(objtype.Name) = "toolstripmenuitem" Then + ctlcol.Add(New MyFormControls(xx, formname, "menustrip", tmpmenuname, xx.Name, level)) + get_all_menus(xx) + End If + ' ctlcol.Add(New MyFormControls(xx, formname, "contextmenustrip", tmpmenuname, xx.Name, level)) + ' get_all_menus(xx) + Next + Catch ex As Exception + End Try + End Function + ''' + ''' Auslesen von Menu-Subitems + ''' + ''' + ''' + ''' + Private Function get_all_menus(ByRef xx As ToolStripMenuItem) + level = level + 1 + For Each subobj As Object In xx.DropDownItems + If LCase(subobj.GetType.Name) = "toolstripmenuitem" Then + ctlcol.Add(New MyFormControls(subobj, formname, "menustrip", tmpmenuname, subobj.Name, level)) + get_all_menus(subobj) + End If + Next + level = level - 1 + End Function + + + + ''' + ''' Prft, ob das Security-Objekt bereits auf der DB vorhanden ist + ''' + ''' Formular + ''' Objekttyp + ''' Objektname + ''' Objektitem + ''' + ''' + Private Function Objexists(ByVal securityform As String, ByVal securityobjecttype As String, ByVal securityobject As String, ByVal securityobjectitem As String) As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[my_security_check_entry]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + scmCmdToExecute.Connection = conn.scoDBConnection + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@form", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, securityform)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@objecttype", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, securityobjecttype)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@object", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, securityobject)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@objectitem", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, securityobjectitem)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@objexists", SqlDbType.Int, 4, ParameterDirection.Output, True, 0, 0, "", DataRowVersion.Proposed, 0)) + scmCmdToExecute.Connection.Open() + scmCmdToExecute.ExecuteNonQuery() + If scmCmdToExecute.Parameters("@objexists").Value > 0 Then + Return True + Else + Return False + End If + Catch ex As Exception + Finally + scmCmdToExecute.Connection.Close() + End Try + End Function + +#End Region + +#Region "ScreenDoku" + + Public Function Print_Screen(ByRef ctl As Control) + saveasbitmap(ctl, ctl.Name) + End Function + Public Function Generate_HTML() + saveasbitmap(Me.IntForm, "testform") + 'Exit Function + 'Dim x As MyFormControls + 'For Each x In ctlcol + ' Try + ' saveasbitmap(x.MyControl, x.MyFormname & "_" & x.MySecurityObject & "_" & x.MySecurityObjectItem) + ' If x.MySecurityObjecttype = "ToolStrip" And x.MySecurityObjectItem = "" Then + ' Dim gaga As ToolStrip = x.MyControl + ' For Each c As ToolStripButton In gaga.Items + ' Dim xxx As Control = CType(c, Control) + + ' xxx = CType(c, Control) + ' saveasbitmap(xxx, "xxx") + ' Next + ' End If + ' Catch ex As Exception + ' MsgBox(ex.Message) + ' End Try + 'Next + End Function + + Public Function saveasbitmap(ByRef ctl As Control, ByVal filename As String) + Dim g As Graphics = ctl.CreateGraphics + Dim b As New Bitmap(ctl.Width, ctl.Height) + ctl.DrawToBitmap(b, New Rectangle(0, 0, ctl.Width, ctl.Height)) + 'b.Save("E:\Software-Projekte\Vertragsverwaltung\Screens\" & filename & ".jpg", System.Drawing.Imaging.ImageFormat.Jpeg) + End Function + + +#End Region + +#Region "Dataobject" + Function Check_DataObjectReadonly(Objectname) As Boolean + Dim i As Integer = 0 + Load_Data("DataObject") + Dim dv As New DataView(SecurityData.Tables(0), "SecurityForm='DataObject' and SecurityObjectType='" + Objectname + "'", "", DataViewRowState.CurrentRows) + For Each row As DataRowView In dv + i = i + 1 + Next + If i > 0 Then Return True Else Return False + + End Function + +#End Region + + + End Class + ''' + ''' Klasse fr ein Control-Objekt + ''' + ''' + Public Class MyFormControls + + Public MyControl As Object + Public MyFormname As String + Public MySecurityObjecttype As String + Public MySecurityObject As String + Public MySecurityObjectItem As String + Public MyDescription As String + Public MyLevel As Integer + + ''' + ''' Neue Instanz erstellen + ''' + ''' Control-Objekt + ''' Betroffenes Formular + ''' Objekttyp + ''' Objektname + ''' Unterobjekt (z.B. bei Menus, Spalten von C1TrueDBGrids) + ''' + Sub New(ByVal ctl As Object, ByVal Formname As String, ByVal securityobjecttype As String, ByVal Securityobject As String, ByVal SecurityObjectItem As String, Optional ByVal level As Integer = 0, Optional ByVal desc As String = "") + MyControl = ctl + MySecurityObjecttype = securityobjecttype + MyFormname = Formname + MySecurityObject = Securityobject + MySecurityObjectItem = SecurityObjectItem + If desc = "" Then + MyDescription = Get_Description(ctl) + Else + MyDescription = desc + End If + Try + MyDescription = MyDescription.Replace("&", "") + Catch ex As Exception + End Try + MyLevel = level + End Sub + + Private Function Get_Description(ByRef ctl As Object) As String + Dim typ As System.Type = ctl.GetType + Select Case LCase(typ.Name) + Case "menustrip", "toolstripmenuitem", "toolstrip", "toolstripbutton", "contextmenustrip", "tabpage", "c1truedbgrid", "label" + Return ctl.Text + Case Else + Return ctl.Name + End Select + + End Function + + ''' + ''' Schreibt einen Datnsatz in die Tabelle SecurityObjects + ''' + ''' + ''' + Public Function Write_Object_to_DB() + If Objexists() Then Exit Function + Dim sectbl As New DB.clsSecurityObject + Dim dbkey As New DB.clsMyKey_Tabelle + dbkey.cpMainConnectionProvider = Globals.conn + Dim newkey As Integer = dbkey.get_dbkey("SecurityObject") + + sectbl.cpMainConnectionProvider = Globals.conn + conn.OpenConnection() + sectbl.iSecurityObjectNr = New SqlInt32(CType(newkey, Int32)) + sectbl.sSecurityForm = New SqlString(CType(MyFormname, String)) + sectbl.sSecurityObjectType = New SqlString(CType(Me.MySecurityObjecttype, String)) + sectbl.sSecurityObject = New SqlString(CType(Me.MySecurityObject, String)) + sectbl.sSecurityObjectItem = New SqlString(CType(Me.MySecurityObjectItem, String)) + sectbl.bAktiv = New SqlBoolean(CType(True, Boolean)) + sectbl.daErstellt_am = New SqlDateTime(CType(Now, DateTime)) + sectbl.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) + sectbl.sSecurityObjectDescriotion = New SqlString(CType(Me.MyDescription, String)) + sectbl.iLevel = New SqlInt32(CType(Me.MyLevel, Int32)) + sectbl.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) + sectbl.iMandantnr = New SqlInt32(CType(Globals.clsmitarbeiter.iMandantnr.Value, Int32)) + sectbl.Insert() + conn.CloseConnection(True) + sectbl.Dispose() + dbkey.Dispose() + End Function + + + ''' + '''Prft, ob das Security-Objekt bereits auf der DB vorhanden ist + ''' + ''' + ''' + Private Function Objexists() As Boolean + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[my_security_check_entry]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + scmCmdToExecute.Connection = conn.scoDBConnection + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@form", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, Me.MyFormname)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@objecttype", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, Me.MySecurityObjecttype)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@object", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, Me.MySecurityObject)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@objectitem", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, Me.MySecurityObjectItem)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@objexists", SqlDbType.Int, 4, ParameterDirection.Output, True, 0, 0, "", DataRowVersion.Proposed, 0)) + scmCmdToExecute.Connection.Open() + scmCmdToExecute.ExecuteNonQuery() + If scmCmdToExecute.Parameters("@objexists").Value > 0 Then + Return True + Else + Return False + End If + Catch ex As Exception + Finally + scmCmdToExecute.Connection.Close() + End Try + End Function + + + End Class + + Public Class ControlsCollection + Private Shared m_controls As Collection + Public Sub New(ByVal myForm As Form) + m_controls = New Collection + 'create a control walker to get + 'all controls on the form + Dim aControlWalker As New ControlWalker(myForm) + End Sub + 'This property returns the collection of all controls + 'on the form + ReadOnly Property Controls() As Collection + Get + Return m_controls + End Get + End Property + + Public Function FindControl(ByVal ctlname As String) As Boolean + Dim i As Integer + For i = 1 To Me.m_controls.Count + Dim ctl As Control = m_controls(i) + If UCase(ctl.Name) = UCase(ctlname) Then MsgBox("found") + Next + End Function + Private Class ControlWalker + ' This class recursively walks through all controls + ' in a container, and all containers contained in + ' this container, visiting all controls throughout + ' the hierarchy + Private mContainer As Object + Public Sub New(ByVal Container As Object) + Dim cControl As Control + If Container.haschildren Then + For Each cControl In Container.controls + 'add this control to the controls collection + m_controls.Add(cControl) + If cControl.HasChildren Then + 'This control has children, create another + 'ControlWalk go visit each of them + Dim cWalker As New ControlWalker(cControl) + End If + Next cControl + End If + End Sub + End Class + End Class +End Namespace diff --git a/Themenmanagement/Klassen/MySpalten.vb b/Themenmanagement/Klassen/MySpalten.vb new file mode 100644 index 0000000..4ca16cd --- /dev/null +++ b/Themenmanagement/Klassen/MySpalten.vb @@ -0,0 +1,432 @@ +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient +'* +' Object MyspaltenTitel +' +' Dieses Objekt liest die Daten aus der Tabelle Spalten und speichert diese in spaltendaten +' Die Daten werden fr die Spaltenbezeichnung der C1Datagrids verwendet +' +' Autor: Stefan Hutter +' Datum: 2.12.2002 +'* +Imports C1.Win.C1TrueDBGrid +Namespace Utils + + Public Class Tabellenspalte + Private m_table As String + Private m_field As String + Private m_spaltenname As String + Private m_locked As Boolean + Private m_Width As Integer + Private m_Order As Integer + Private m_alsHacken As Boolean + Private m_tiptext As String + Private m_numberformat As String + + Property ColWith() As Integer + Get + Return m_Width + End Get + Set(ByVal Value As Integer) + m_Width = Value + End Set + End Property + Property Order() As Integer + Get + Return m_Order + End Get + Set(ByVal Value As Integer) + m_Order = Value + End Set + End Property + Property Tabelle() As String + Get + Return m_table + End Get + Set(ByVal Value As String) + m_table = Value + End Set + End Property + Property Feld() As String + Get + Return m_field + End Get + Set(ByVal Value As String) + m_field = Value + End Set + End Property + Property spaltenname() As String + Get + Return m_spaltenname + End Get + Set(ByVal Value As String) + m_spaltenname = Value + End Set + End Property + Property locked() As Boolean + Get + Return m_locked + End Get + Set(ByVal Value As Boolean) + m_locked = Value + End Set + End Property + Property AlsHacken() As Boolean + Get + Return m_alsHacken + End Get + Set(ByVal Value As Boolean) + m_alsHacken = Value + End Set + End Property + Property TipText() As String + Get + Return m_tiptext + End Get + Set(ByVal Value As String) + m_tiptext = Value + End Set + End Property + Property Numberformat() As String + Get + Return m_numberformat + End Get + Set(ByVal value As String) + m_numberformat = value + End Set + End Property + Public Sub New() + + End Sub + Public Sub New(ByRef daten As Object, ByRef tablename As String, ByRef ds As DataSet) + Spaltentitel_aktualisieren(daten, tablename, ds) + End Sub + Public Function getspalte() + Try + Dim myspalten As New MySpaltenTitel() + myspalten.getspalte(Me.Tabelle, Me.Feld, Me.spaltenname, Me.locked, Me.ColWith, Me.Order, Me.AlsHacken, Me.TipText, Me.Numberformat) + Catch ex As Exception + MsgBox(ex.Message) + + End Try + End Function + + Public Function Spaltentitel_aktualisieren(ByRef daten As Object, ByRef tablename As String, ByRef ds As DataSet) + Dim anzcols As Integer + Dim i As Integer + Dim s As String + anzcols = daten.Splits(0).DisplayColumns.Count + Me.Tabelle = tablename + For i = 0 To daten.Columns.Count - 1 + s = daten.Columns(i).DataField + Me.Feld = s + Me.getspalte() + daten.Columns(i).Caption = Me.spaltenname + + If Me.ColWith = 0 Then + daten.Splits(0).DisplayColumns(i).Width = 0 + daten.Splits(0).DisplayColumns(i).Visible = False + Else + daten.Splits(0).DisplayColumns(i).Width = Me.ColWith + End If + + If Me.locked Then + daten.Splits(0).DisplayColumns(i).Locked = True + End If + + If Me.AlsHacken Then + daten.Columns(i).ValueItems.Presentation = C1.Win.C1TrueDBGrid.PresentationEnum.CheckBox + End If + + 'Prsentation von aktiv + If LCase(daten.Columns(i).DataField) = "aktiv" Then + daten.Columns(i).ValueItems.Presentation = C1.Win.C1TrueDBGrid.PresentationEnum.CheckBox + daten.Columns(i).ValueItems.DefaultItem = True + daten.Columns(i).DefaultValue = True + daten.Columns(i).FilterText = True + 'Dim items As C1.Win.C1TrueDBGrid.ValueItems = daten.Columns("aktiv").ValueItems + 'items.Values.Clear() + 'items.Values.Add(New C1.Win.C1TrueDBGrid.ValueItem("False", False)) ' unchecked + 'items.Values.Add(New C1.Win.C1TrueDBGrid.ValueItem("True", True)) ' checked + 'items.Values.Add(New C1.Win.C1TrueDBGrid.ValueItem("", "INDETERMINATE")) ' indeterminate state + + + End If + Select Case LCase(daten.Columns(i).DataField) + Case "erstellt_am", "erstelltam" + daten.Columns(i).DefaultValue = Now + End Select + If daten.Columns(i).DataType.Name = "DateTime" Then + daten.Columns(i).NumberFormat = "dd.MM.yyyy HH:mm:ss" + End If + If Me.Numberformat <> "" Then + daten.columns(i).numberformat = Me.Numberformat + End If + Next + ColumnOrder(tablename, daten) + daten.HeadingStyle.WrapText = False + End Function + + Public Function Spaltentitel_aktualisieren(ByRef daten As Object, ByRef tablename As String, ByRef dt As DataTable, Optional ByVal Aktiv_Spalte_True_Setzen As Boolean = True) + Dim anzcols As Integer + Dim i As Integer + Dim t As New DataTable() + Dim s As String + anzcols = daten.Splits(0).DisplayColumns.Count + t = dt + Me.Tabelle = tablename + For i = 0 To daten.Columns.Count - 1 + s = daten.Columns(i).DataField + 'If s = "ApplikationNr" Then + ' MsgBox("Hallo") + + 'End If + Me.Feld = s + Me.getspalte() + daten.Columns(i).Caption = Me.spaltenname + + If Me.ColWith = 0 Then + daten.Splits(0).DisplayColumns(i).Width = 0 + daten.Splits(0).DisplayColumns(i).Visible = False + Else + daten.Splits(0).DisplayColumns(i).Width = Me.ColWith + End If + + If Me.locked Then + daten.Splits(0).DisplayColumns(i).Locked = True + End If + + If Me.AlsHacken Then + daten.Columns(i).ValueItems.Presentation = C1.Win.C1TrueDBGrid.PresentationEnum.CheckBox + End If + + 'Prsentation von aktiv + If LCase(daten.Columns(i).DataField) = "aktiv" And Aktiv_Spalte_True_Setzen = True Then + daten.Columns(i).ValueItems.Presentation = C1.Win.C1TrueDBGrid.PresentationEnum.CheckBox + daten.Columns(i).ValueItems.DefaultItem = True + daten.Columns(i).DefaultValue = True + daten.Columns(i).FilterText = True + End If + Select Case LCase(daten.Columns(i).DataField) + Case "erstellt_am", "erstelltam" + daten.Columns(i).DefaultValue = Now + End Select + If daten.Columns(i).DataType.Name = "DateTime" Then + daten.Columns(i).NumberFormat = "dd.MM.yyyy HH:mm:ss" + End If + If Me.Numberformat <> "" Then + daten.columns(i).numberformat = Me.Numberformat + End If + Next + ColumnOrder(tablename, daten) + daten.HeadingStyle.WrapText = False + End Function + + Public Function Spaltentitel_aktualisieren_Optionaler_Aktiv_Filer(ByRef daten As Object, ByRef tablename As String, ByRef dt As DataTable, Optional ByVal Aktiv_Filter As String = "") + Dim anzcols As Integer + Dim i As Integer + Dim t As New DataTable() + Dim s As String + anzcols = daten.Splits(0).DisplayColumns.Count + t = dt + Me.Tabelle = tablename + For i = 0 To daten.Columns.Count - 1 + s = daten.Columns(i).DataField + + Me.Feld = s + Me.getspalte() + If Me.spaltenname = "" Then + daten.Splits(0).DisplayColumns(i).Width = 0 + Else + daten.Columns(i).Caption = Me.spaltenname + + If Me.ColWith = 0 Then + daten.Splits(0).DisplayColumns(i).Width = 0 + daten.Splits(0).DisplayColumns(i).Visible = False + Else + daten.Splits(0).DisplayColumns(i).Width = Me.ColWith + End If + + If Me.locked Then + daten.Splits(0).DisplayColumns(i).Locked = True + End If + + If Me.AlsHacken Then + daten.Columns(i).ValueItems.Presentation = C1.Win.C1TrueDBGrid.PresentationEnum.CheckBox + End If + + 'Prsentation von aktiv + If LCase(daten.Columns(i).DataField) = "aktiv" And Aktiv_Filter <> "" Then + daten.Columns(i).ValueItems.Presentation = C1.Win.C1TrueDBGrid.PresentationEnum.CheckBox + daten.Columns(i).ValueItems.DefaultItem = True + daten.Columns(i).DefaultValue = True + daten.Columns(i).FilterText = Aktiv_Filter + End If + Select Case LCase(daten.Columns(i).DataField) + Case "erstellt_am", "erstelltam" + daten.Columns(i).DefaultValue = Now + End Select + If daten.Columns(i).DataType.Name = "DateTime" Then + daten.Columns(i).NumberFormat = "dd.MM.yyyy HH:mm:ss" + End If + If Me.Numberformat <> "" Then + daten.columns(i).numberformat = Me.Numberformat + End If + End If + Next + ColumnOrder(tablename, daten) + daten.HeadingStyle.WrapText = False + End Function + ''' + ''' Sortierung der in der DB-Tabelle Spalaten festgelegten Reihenfolge + ''' + ''' + ''' + ''' + ''' + Public Function ColumnOrder(ByVal Tablename As String, ByRef Data As C1TrueDBGrid) + Dim spaltendata As DataTable = Globals.Spaltendaten + Dim dv() As DataRow + Dim dr As DataRow + Dim dc As New Collection + dv = spaltendata.Select("Tabelle='" & Tablename & "'", "Reihenfolge desc, Eintragnr") + For Each c As C1DisplayColumn In Data.Splits(0).DisplayColumns + dc.Add(c) + Next + While Data.Splits(0).DisplayColumns.Count > 0 + Data.Splits(0).DisplayColumns.RemoveAt(0) + End While + + For Each dr In dv + For Each e As C1DisplayColumn In dc + If e.Name = dr.Item(3) Then + Data.Splits(0).DisplayColumns.Insert(0, e) + End If + Next + Next + + End Function + End Class + + Public Class MySpaltenTitel + Private spaltendata As DataTable = Globals.Spaltendaten + Sub New() + load_data() + End Sub + + Sub dispose() + spaltendata.Dispose() + Me.dispose() + End Sub + + Public Function getspalte(ByVal tabelle As String, ByVal feld As String, ByRef spaltenname As String, ByRef locked As Boolean, _ + ByRef colwidth As Integer, ByRef order As Integer, ByRef alshacken As Boolean, ByRef tiptext As String, ByRef numberformat As String) + If spaltendata.Rows.Count = 0 Then load_data() + Dim dv() As DataRow + Dim dr As DataRow + dv = spaltendata.Select("Tabelle='" & tabelle & "' and tabellenspalte='" & feld & "'", "Reihenfolge, Eintragnr") + If dv.Length = 0 Then + spaltenname = "" + locked = True + colwidth = 0 + order = 0 + alshacken = False + tiptext = "" + numberformat = "" + End If + For Each dr In dv + spaltenname = dr.Item(3) + locked = dr.Item(4) + colwidth = dr.Item(6) + order = dr.Item(7) + alshacken = dr.Item(5) + tiptext = dr.Item(8) + numberformat = dr.Item(14).ToString + Next + 'Dim i As Integer + 'For i = 0 To spaltendata.Rows.Count - 1 + + ' If UCase(spaltendata.Rows(i).Item(1)) = UCase(tabelle) And UCase(spaltendata.Rows(i).Item(2)) = UCase(feld) Then + ' spaltenname = spaltendata.Rows(i).Item(3) + ' locked = spaltendata.Rows(i).Item(4) + ' colwidth = spaltendata.Rows(i).Item(6) + ' order = spaltendata.Rows(i).Item(7) + ' alshacken = spaltendata.Rows(i).Item(5) + ' tiptext = spaltendata.Rows(i).Item(8) + ' Exit Function + ' End If + 'Next + + End Function + + Public Sub load_data() + If Me.spaltendata.Rows.Count > 0 Then Exit Sub + Dim spalten As New Utils.clsSpalten() + spaltendata.Rows.Clear() + spalten.cpMainConnectionProvider = conn + spaltendata = spalten.Select_All_Aktiv + Globals.Spaltendaten = spaltendata + End Sub + End Class + + Public Class clsSpalten + Inherits DB.clsSpalten + ''' + ''' Purpose: SelectAll method. This method will Select all rows from the table. + ''' + ''' DataTable object if succeeded, otherwise an Exception is thrown. + ''' + ''' Properties set after a succesful call of this method: + '''
    + '''
  • iErrorCode
  • + '''
+ '''
+ Public Function Select_All_Aktiv() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[pr_spalten_SelectAll_Aktiv]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = New DataTable("spalten") + Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(0)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_spalten_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSpalten::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + End Class +End Namespace \ No newline at end of file diff --git a/Themenmanagement/Klassen/clsStammdaten.vb b/Themenmanagement/Klassen/clsStammdaten.vb new file mode 100644 index 0000000..e0dbee5 --- /dev/null +++ b/Themenmanagement/Klassen/clsStammdaten.vb @@ -0,0 +1,74 @@ +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace DB + + Public Class clsStammdaten + Public Function Get_Stammdaten(ByVal Tabelle As String, ByVal orderby As String) As DataTable + Dim selectcommand As New SqlCommand + Dim connection As New SqlConnection() + Dim da As New SqlDataAdapter("", connection) + Dim ds As New DataSet + selectcommand.CommandText = "sp_get_stammdaten" + selectcommand.Parameters.Add("@Mitarbeiternr", SqlDbType.Int, 4) + selectcommand.Parameters.Add("@Tabelle", SqlDbType.VarChar, 255) + selectcommand.Parameters.Add("@Orderby", SqlDbType.VarChar, 255) + selectcommand.Parameters(0).Value = Globals.clsmitarbeiter.iMitarbeiternr.Value + selectcommand.Parameters(1).Value = Tabelle + selectcommand.Parameters(2).Value = orderby + + selectcommand.CommandType = CommandType.StoredProcedure + selectcommand.Connection = connection + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.SelectCommand = selectcommand + da.Fill(ds) + Return ds.Tables(0) + Catch ex As Exception + MsgBox(ex.Message) + Finally + connection.Close() + da.Dispose() + ds.Dispose() + selectcommand.Dispose() + End Try + End Function + + Public Function Get_Gremium(ByVal type As Integer, ByVal subtype As Integer) As DataTable + Dim selectcommand As New SqlCommand + Dim connection As New SqlConnection() + Dim da As New SqlDataAdapter("", connection) + Dim ds As New DataSet + selectcommand.CommandText = "dbo.sp_get_gremium" + selectcommand.Parameters.Add("@type", SqlDbType.Int, 4) + selectcommand.Parameters.Add("@subtype", SqlDbType.Int, 4) + selectcommand.Parameters(0).Value = type + selectcommand.Parameters(1).Value = subtype + + selectcommand.CommandType = CommandType.StoredProcedure + selectcommand.Connection = connection + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.SelectCommand = selectcommand + da.Fill(ds) + Return ds.Tables(0) + Catch ex As Exception + Finally + connection.Close() + da.Dispose() + ds.Dispose() + selectcommand.Dispose() + End Try + + End Function + + + + + End Class +End Namespace + diff --git a/Themenmanagement/Klassen/clsToolTips.vb b/Themenmanagement/Klassen/clsToolTips.vb new file mode 100644 index 0000000..348c2f6 --- /dev/null +++ b/Themenmanagement/Klassen/clsToolTips.vb @@ -0,0 +1,159 @@ +Imports C1.Win.C1TrueDBGrid +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient +Namespace TKB.VV.Utils + + Public Class clsToolTips + Public WithEvents MyTooltip As New ToolTip + Dim ToolTipData As DataSet = Globals.ToolTipDaten + Dim connection As New SqlConnection() + Dim da As New SqlDataAdapter("", connection) + Dim l As New List(Of Control) + Dim WithEvents evh As MyGenericEventHandler = Globals.MyEventHanlder + + Public Function Edit_ToolTips(ByRef frm As Form, ByRef ctlcol As Collection) + Me.Load_Data() + l.Clear() + Me.GetControl(frm, "*", l) + For Each s As Control In l + Try + MyTooltip.SetToolTip(s, frm.Name + "|" + s.Name) + MyTooltip.Tag = frm.Name + Catch ex As Exception + MsgBox(ex.Message) + End Try + Next + 'For Each ctl As Control In ctlcol + ' Try + ' MyTooltip.SetToolTip(ctl, "SetToolTip") + ' MyTooltip.Tag = frm.Name + "|" + ctl.Name + ' Catch ex As Exception + ' End Try + 'Next + End Function + Private Sub MyTooltip_Popup(ByVal sender As Object, ByVal e As System.Windows.Forms.PopupEventArgs) Handles MyTooltip.Popup + 'MsgBox(e.AssociatedControl.Name) + evh.Edit_Tooltip(MyTooltip.Tag, e.AssociatedControl.Name) + 'Dim s As String = MyTooltip.Tag + 'Dim sp() As String + 'sp = s.Split("|") + 'evh.Edit_Tooltip(sp(0), sp(1)) + + End Sub + + Public Function Set_ToolTips(ByRef frm As Form) + Me.Load_Data() + 'MyTooltip.ToolTipIcon = ToolTipIcon.Info + MyTooltip.IsBalloon = True + MyTooltip.UseFading = True + MyTooltip.UseAnimation = True + Dim dv As New DataView(ToolTipData.Tables(0), "Aktiv = 1 and (Formularname='" & frm.Name & "' or Formularname='Allgemein')", "", DataViewRowState.CurrentRows) + For Each dr As DataRowView In dv + l.Clear() + Me.GetControl(frm, dr.Item("Controlname"), l) + Try + For Each ctl As Control In l + Try + MyTooltip.SetToolTip(ctl, dr.Item("ToolTip")) + Catch + End Try + Next + Catch ex As Exception + End Try + Next + End Function + + + ''' + ''' Daten ab Datenbank laden + ''' + ''' + Private Sub Load_Data() + Try + If ToolTipData.Tables.Count < 1 Then + ToolTipData.Tables.Clear() + Else + Exit Sub + End If + Catch ex As Exception + End Try + ToolTipData.Tables.Clear() + Dim sqlcmd As New SqlCommand + + sqlcmd.CommandText = "dbo.my_tooltip_get_data" + 'sqlcmd.Parameters(1).Value = Globals.clsmitarbeiter.iMitarbeiternr.Value + + sqlcmd.CommandType = CommandType.StoredProcedure + sqlcmd.Connection = connection + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.SelectCommand = sqlcmd + da.Fill(ToolTipData, "Tooltips") + Globals.SecurityDaten.Tables.Add(ToolTipData.Tables(0).Copy) + Catch ex As Exception + Finally + connection.Close() + da.Dispose() + sqlcmd.Dispose() + End Try + End Sub + +#Region "Utils" + ''' + ''' Sucht in den Base-Controls smtliche Controls mit dem Namen in "Key" (Wildcards * mglich) und listet + ''' die gefundnen Controls in der Liste L zur weiteren Bearbeitung + ''' + ''' Base-Contrlo (z.B. aktuelles Formular + ''' Schlssel welcher gesucht werden soll + ''' Liste der gefundenen Objekte + ''' True wenn eines oder mehr Controls gefunden wurden, false wenn kein Control gefunden wurde. + ''' + ''' + Private Function GetControl(ByVal BaseControl As Control, ByVal Key As String, ByRef L As List(Of Control), Optional ByVal ReturnAtFirstElement As Boolean = False) As Boolean + If L Is Nothing Then L = New List(Of Control) + Dim Gut As Boolean + Dim ReturnFlag As Boolean = False + If Key IsNot Nothing Then Key = Key.ToLower + + If BaseControl.HasChildren = True Then + For Each ctl As Control In BaseControl.Controls + Gut = False + If Key Is Nothing Then + Gut = True + Else + If ctl.Name.Length >= Key.Length Then + Key = Key.ToLower + If Key.StartsWith("*") Then + If Key.Substring(1) = ctl.Name.ToLower.Substring(ctl.Name.Length - (Key.Length - 1), Key.Length - 1) Then Gut = True + ElseIf Key.EndsWith("*") Then + If Key.Substring(0, Key.Length - 1) = ctl.Name.ToLower.Substring(0, Key.Length - 1) Then Gut = True + Else + If Key = ctl.Name.ToLower Then Gut = True + End If + End If + End If + + If Gut = True Then + L.Add(ctl) + If ReturnAtFirstElement = True Then ReturnFlag = True + End If + If ReturnFlag = False Then + Call GetControl(ctl, Key, L) + End If + Next + End If + + If L.Count - 1 > -1 Then + Return True + Else + Return False + End If + End Function +#End Region + + + End Class +End Namespace diff --git a/Themenmanagement/My Project/Application.Designer.vb b/Themenmanagement/My Project/Application.Designer.vb new file mode 100644 index 0000000..49d7022 --- /dev/null +++ b/Themenmanagement/My Project/Application.Designer.vb @@ -0,0 +1,38 @@ +'------------------------------------------------------------------------------ +' +' Dieser Code wurde von einem Tool generiert. +' Laufzeitversion:4.0.30319.42000 +' +' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +' der Code erneut generiert wird. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + 'HINWEIS: Diese Datei wird automatisch generiert und darf nicht direkt bearbeitet werden. Wenn Sie Änderungen vornehmen möchten + ' oder in dieser Datei Buildfehler auftreten, wechseln Sie zum Projekt-Designer. + ' (Wechseln Sie dazu zu den Projekteigenschaften, oder doppelklicken Sie auf den Knoten "Mein Projekt" im + ' Projektmappen-Explorer). Nehmen Sie auf der Registerkarte "Anwendung" entsprechende Änderungen vor. + ' + Partial Friend Class MyApplication + + _ + Public Sub New() + MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows) + Me.IsSingleInstance = false + Me.EnableVisualStyles = true + Me.SaveMySettingsOnExit = true + Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses + End Sub + + _ + Protected Overrides Sub OnCreateMainForm() + Me.MainForm = Global.Themenmanagement.frmMain + End Sub + End Class +End Namespace diff --git a/Themenmanagement/My Project/Application.myapp b/Themenmanagement/My Project/Application.myapp new file mode 100644 index 0000000..739ea6f --- /dev/null +++ b/Themenmanagement/My Project/Application.myapp @@ -0,0 +1,10 @@ + + + true + frmMain + false + 0 + true + 0 + true + \ No newline at end of file diff --git a/Themenmanagement/My Project/AssemblyInfo.vb b/Themenmanagement/My Project/AssemblyInfo.vb new file mode 100644 index 0000000..eacaf90 --- /dev/null +++ b/Themenmanagement/My Project/AssemblyInfo.vb @@ -0,0 +1,35 @@ +Imports System +Imports System.Reflection +Imports System.Runtime.InteropServices + +' Allgemeine Informationen über eine Assembly werden über die folgenden +' Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern, +' die mit einer Assembly verknüpft sind. + +' Die Werte der Assemblyattribute überprüfen + + + + + + + + + + +'Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird + + +' Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten: +' +' Hauptversion +' Nebenversion +' Buildnummer +' Revision +' +' Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern +' übernehmen, indem Sie "*" eingeben: +' + + + diff --git a/Themenmanagement/My Project/Resources.Designer.vb b/Themenmanagement/My Project/Resources.Designer.vb new file mode 100644 index 0000000..a3531f9 --- /dev/null +++ b/Themenmanagement/My Project/Resources.Designer.vb @@ -0,0 +1,63 @@ +'------------------------------------------------------------------------------ +' +' Dieser Code wurde von einem Tool generiert. +' Laufzeitversion:4.0.30319.42000 +' +' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +' der Code erneut generiert wird. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + +Imports System + +Namespace My.Resources + + 'Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert + '-Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert. + 'Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen + 'mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu. + ''' + ''' Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + ''' + _ + Friend Module Resources + + Private resourceMan As Global.System.Resources.ResourceManager + + Private resourceCulture As Global.System.Globalization.CultureInfo + + ''' + ''' Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + ''' + _ + Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager + Get + If Object.ReferenceEquals(resourceMan, Nothing) Then + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("Themenmanagement.Resources", GetType(Resources).Assembly) + resourceMan = temp + End If + Return resourceMan + End Get + End Property + + ''' + ''' Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + ''' Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. + ''' + _ + Friend Property Culture() As Global.System.Globalization.CultureInfo + Get + Return resourceCulture + End Get + Set + resourceCulture = value + End Set + End Property + End Module +End Namespace diff --git a/Themenmanagement/My Project/Resources.resx b/Themenmanagement/My Project/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/Themenmanagement/My Project/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Themenmanagement/My Project/Settings.Designer.vb b/Themenmanagement/My Project/Settings.Designer.vb new file mode 100644 index 0000000..5e64912 --- /dev/null +++ b/Themenmanagement/My Project/Settings.Designer.vb @@ -0,0 +1,73 @@ +'------------------------------------------------------------------------------ +' +' Dieser Code wurde von einem Tool generiert. +' Laufzeitversion:4.0.30319.42000 +' +' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +' der Code erneut generiert wird. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + _ + Partial Friend NotInheritable Class MySettings + Inherits Global.System.Configuration.ApplicationSettingsBase + + Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings) + +#Region "Automatische My.Settings-Speicherfunktion" +#If _MyType = "WindowsForms" Then + Private Shared addedHandler As Boolean + + Private Shared addedHandlerLockObject As New Object + + _ + Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs) + If My.Application.SaveMySettingsOnExit Then + My.Settings.Save() + End If + End Sub +#End If +#End Region + + Public Shared ReadOnly Property [Default]() As MySettings + Get + +#If _MyType = "WindowsForms" Then + If Not addedHandler Then + SyncLock addedHandlerLockObject + If Not addedHandler Then + AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings + addedHandler = True + End If + End SyncLock + End If +#End If + Return defaultInstance + End Get + End Property + End Class +End Namespace + +Namespace My + + _ + Friend Module MySettingsProperty + + _ + Friend ReadOnly Property Settings() As Global.Themenmanagement.My.MySettings + Get + Return Global.Themenmanagement.My.MySettings.Default + End Get + End Property + End Module +End Namespace diff --git a/Themenmanagement/My Project/Settings.settings b/Themenmanagement/My Project/Settings.settings new file mode 100644 index 0000000..85b890b --- /dev/null +++ b/Themenmanagement/My Project/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Themenmanagement/My Project/licenses.licx b/Themenmanagement/My Project/licenses.licx new file mode 100644 index 0000000..4fdb81e --- /dev/null +++ b/Themenmanagement/My Project/licenses.licx @@ -0,0 +1,7 @@ +C1.Win.C1Preview.C1PreviewPane, C1.Win.C1Report.2, Version=2.6.20123.54601, Culture=neutral, PublicKeyToken=41780e2fc605e636 +C1.Win.C1Preview.C1PrintPreviewControl, C1.Win.C1Report.2, Version=2.6.20123.54601, Culture=neutral, PublicKeyToken=41780e2fc605e636 +C1.Win.C1Preview.C1PreviewTextSearchPanel, C1.Win.C1Report.2, Version=2.6.20123.54601, Culture=neutral, PublicKeyToken=41780e2fc605e636 +C1.Win.C1Preview.C1PreviewThumbnailView, C1.Win.C1Report.2, Version=2.6.20123.54601, Culture=neutral, PublicKeyToken=41780e2fc605e636 +C1.Win.C1Preview.C1PreviewOutlineView, C1.Win.C1Report.2, Version=2.6.20123.54601, Culture=neutral, PublicKeyToken=41780e2fc605e636 +C1.C1Report.C1Report, C1.C1Report.2, Version=2.6.20123.54601, Culture=neutral, PublicKeyToken=594a0605db190bb9 +C1.Win.C1TrueDBGrid.C1TrueDBGrid, C1.Win.C1TrueDBGrid.2, Version=2.0.20123.61277, Culture=neutral, PublicKeyToken=75ae3fb0e2b1e0da \ No newline at end of file diff --git a/Themenmanagement/Pendenzenmanagement/clsPendenz.vb b/Themenmanagement/Pendenzenmanagement/clsPendenz.vb new file mode 100644 index 0000000..0ecadf6 --- /dev/null +++ b/Themenmanagement/Pendenzenmanagement/clsPendenz.vb @@ -0,0 +1,198 @@ +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient +Namespace TKB.VV.Vertrag + + Public Class clsPendenz + Inherits DB.clsPendenz +#Region "Deklarationen" + Public Pendenzstatus As New Sysadmin.DomainTable("Pendenzstatus") + Public Thema As New DB.clsThema + Public Neuer_Datensatz As Boolean = False +#End Region + + + ''' + ''' Pendenz lesen lesen + ''' + ''' + ''' + ''' + Public Function Get_Pendenz(ByVal Nr As Integer) + Me.cpMainConnectionProvider = Globals.conn + Me.iPendenzNr = New SqlInt32(CType(Nr, Int32)) + Globals.conn.OpenConnection() + Me.SelectOne() + Thema.iThemanNr = Me.iThemanr.Value + Thema.cpMainConnectionProvider = Globals.conn + Thema.SelectOne() + Globals.conn.CloseConnection(True) + End Function + ''' + ''' Daten sichern + ''' + ''' + ''' + Public Function Save_Data() As Integer + Me.cpMainConnectionProvider = Globals.conn + Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) + Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) + Globals.conn.OpenConnection() + Me.Update() + Globals.conn.CloseConnection(True) + Me.Neuer_Datensatz = False + Return Me.iPendenzNr.Value + End Function + + ''' + ''' Kopie eines Datensatzes erstellen. + ''' + ''' Ursprungs-Person: Ist dieser Wert nicht 0, werden die Daten mit BaseNr zuerst gelesen + ''' + ''' + Public Function Create_Copy(Optional ByVal Basenr As Integer = 0) As Integer + If Basenr <> 0 Then + Me.Get_Pendenz(Basenr) + End If + Dim db As New db.clsMyKey_Tabelle + db.cpMainConnectionProvider = Globals.conn + Dim newkey = db.get_dbkey("Pendenz") + db.Dispose() + + Me.cpMainConnectionProvider = Globals.conn + Me.iPendenzNr = New SqlInt32(CType(newkey, Int32)) + Me.daErstellt_am = New SqlDateTime(CType(Now, DateTime)) + Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) + Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) + Globals.conn.OpenConnection() + Me.Insert() + Globals.conn.CloseConnection(True) + Me.Neuer_Datensatz = True + Return newkey + End Function + + ''' + ''' Datensatz lschen. + ''' + ''' + ''' + ''' + Public Function Delete_Pendenz(Optional ByVal Basenr As Integer = 0) As Integer + If Basenr <> 0 Then + Me.Get_Pendenz(Basenr) + End If + Me.cpMainConnectionProvider = Globals.conn + Me.bAktiv = New SqlBoolean(CType(False, Boolean)) + Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) + Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) + Me.iPendenzStatusNr = New SqlInt32(CType(4, Int32)) + Globals.conn.OpenConnection() + Me.Update() + Globals.conn.CloseConnection(True) + End Function + ''' + ''' Datensatz physisch lschen + ''' + ''' + ''' + ''' + Public Overloads Function Delete(Optional ByVal Basenr As Integer = 0) As Integer + If Basenr <> 0 Then + Me.Get_Pendenz(Basenr) + End If + Me.cpMainConnectionProvider = Globals.conn + Globals.conn.OpenConnection() + MyBase.Delete() + Globals.conn.CloseConnection(True) + Me.Neuer_Datensatz = False + End Function + + ''' + ''' Neue Kuendigungsfrist einfgen + ''' + ''' + ''' + Public Function Add_New(ByVal Vertragselementnr As Integer) As Integer + Dim db As New db.clsMyKey_Tabelle + db.cpMainConnectionProvider = Globals.conn + Dim newkey = db.get_dbkey("Pendenz") + db.Dispose() + Me.iPendenzNr = New SqlInt32(CType(newkey, Int32)) + Me.iThemanr = New SqlInt32(CType(Vertragselementnr, Int32)) + Me.iPendenzStatusNr = New SqlInt32(CType(1, Int32)) + Me.sVerantwortlich = New SqlString(CType("", String)) + Me.sBeschreibung = New SqlString(CType("", String)) + Me.sBezeichnung = New SqlString(CType("", String)) + Me.bAktiv = New SqlBoolean(CType(True, Boolean)) + Me.daErstellt_am = New SqlDateTime(CType(Now, DateTime)) + Me.daTermin = New SqlDateTime(CType(Now, DateTime)) + Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) + Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) + Me.cpMainConnectionProvider = Globals.conn + Globals.conn.OpenConnection() + Me.Insert() + Globals.conn.CloseConnection(True) + Me.Neuer_Datensatz = True + Return newkey + End Function + + End Class + + + Public Class clsPendenzUebersicht + + ''' + ''' Liefert smtrliche gem. Param. Pendenzstatus gewhlten Pendenzen + ''' + ''' + ''' + ''' + ''' + Public Function Get_Pendenzuebersicht(ByVal PendenzStatusNr As Integer, ByVal pendenzstatus As String, Optional Themanr As Integer = 0) As DataTable + Dim PendStatusnr As Integer = 0 + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + Dim dtToReturn As DataTable = New DataTable() + Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute) + scmCmdToExecute.CommandText = "dbo.sp_pendenzenliste" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + scmCmdToExecute.Connection = conn.scoDBConnection + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@mitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Globals.clsmitarbeiter.iMitarbeiternr.Value)) + If pendenzstatus = "Alle" Then + PendStatusnr = -1 + Else + PendStatusnr = pendenzstatus + End If + + 'Select Case pendenzstatus + ' Case "Alle Pendenzen" + ' PendStatusnr = -1 + ' Case "Offen/In Bearbeitung" + ' PendStatusnr = -2 + ' Case "In Bearbeitung" + ' PendStatusnr = 2 + ' Case "Offen" + ' PendStatusnr = 1 + ' Case "Erledigt" + ' PendStatusnr = 3 + ' Case "Hinfllig" + ' PendStatusnr = 4 + ' Case Else + ' PendStatusnr = -1 + 'End Select + scmCmdToExecute.Parameters.Add(New SqlParameter("@pendenzstatusnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, PendStatusnr)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@themanr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Themanr)) + sdaAdapter.Fill(dtToReturn) + Return dtToReturn + Catch ex As Exception + Throw New Exception("clsPendenzbersicht::" & scmCmdToExecute.CommandText & "::Error occured." & ex.Message, ex) + Finally + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + End Class + + +End Namespace diff --git a/Themenmanagement/Pendenzenmanagement/frmPendenz.designer.vb b/Themenmanagement/Pendenzenmanagement/frmPendenz.designer.vb new file mode 100644 index 0000000..f97cd41 --- /dev/null +++ b/Themenmanagement/Pendenzenmanagement/frmPendenz.designer.vb @@ -0,0 +1,423 @@ + _ +Partial Class frmPendenz + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmPendenz)) + Me.MenuStrip1 = New System.Windows.Forms.MenuStrip() + Me.DateiToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.BeendenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStrip1 = New System.Windows.Forms.ToolStrip() + Me.TSBtnQuit = New System.Windows.Forms.ToolStripButton() + Me.TSBtnSave = New System.Windows.Forms.ToolStripButton() + Me.TSBtnCopy = New System.Windows.Forms.ToolStripButton() + Me.TSBtnNew = New System.Windows.Forms.ToolStripButton() + Me.TSBtnDelete = New System.Windows.Forms.ToolStripButton() + Me.TSBtnSuche = New System.Windows.Forms.ToolStripButton() + Me.lblVertragselement = New System.Windows.Forms.Label() + Me.txtBezeichnung = New System.Windows.Forms.TextBox() + Me.lblBezeichnung = New System.Windows.Forms.Label() + Me.txtBeschreibung = New System.Windows.Forms.TextBox() + Me.lblBeschreibung = New System.Windows.Forms.Label() + Me.dtPickerTermin = New System.Windows.Forms.DateTimePicker() + Me.txtTermin = New System.Windows.Forms.MaskedTextBox() + Me.lblTermin = New System.Windows.Forms.Label() + Me.lblStatus = New System.Windows.Forms.Label() + Me.cboxStatus = New System.Windows.Forms.ComboBox() + Me.Label1 = New System.Windows.Forms.Label() + Me.txtMutierer = New System.Windows.Forms.TextBox() + Me.txtMutiert_am = New System.Windows.Forms.TextBox() + Me.txtErstellt_am = New System.Windows.Forms.TextBox() + Me.lblMutierer = New System.Windows.Forms.Label() + Me.lblMutiertam = New System.Windows.Forms.Label() + Me.lblErstelltam = New System.Windows.Forms.Label() + Me.cbaktiv = New System.Windows.Forms.CheckBox() + Me.txtVerantwortlich = New System.Windows.Forms.TextBox() + Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.cbboxthema = New System.Windows.Forms.ComboBox() + Me.cbboxverantwortlich = New System.Windows.Forms.ComboBox() + Me.MenuStrip1.SuspendLayout() + Me.ToolStrip1.SuspendLayout() + Me.SuspendLayout() + ' + 'MenuStrip1 + ' + Me.MenuStrip1.AllowMerge = False + Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DateiToolStripMenuItem}) + Me.MenuStrip1.Location = New System.Drawing.Point(0, 0) + Me.MenuStrip1.Name = "MenuStrip1" + Me.MenuStrip1.Size = New System.Drawing.Size(642, 24) + Me.MenuStrip1.TabIndex = 5 + Me.MenuStrip1.Tag = "" + Me.MenuStrip1.Text = "Hauptmenu" + ' + 'DateiToolStripMenuItem + ' + Me.DateiToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.BeendenToolStripMenuItem}) + Me.DateiToolStripMenuItem.Name = "DateiToolStripMenuItem" + Me.DateiToolStripMenuItem.Size = New System.Drawing.Size(46, 20) + Me.DateiToolStripMenuItem.Tag = "" + Me.DateiToolStripMenuItem.Text = "&Datei" + ' + 'BeendenToolStripMenuItem + ' + Me.BeendenToolStripMenuItem.Name = "BeendenToolStripMenuItem" + Me.BeendenToolStripMenuItem.Size = New System.Drawing.Size(120, 22) + Me.BeendenToolStripMenuItem.Tag = "" + Me.BeendenToolStripMenuItem.Text = "&Beenden" + ' + 'ToolStrip1 + ' + Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.TSBtnQuit, Me.TSBtnSave, Me.TSBtnCopy, Me.TSBtnNew, Me.TSBtnDelete, Me.TSBtnSuche}) + Me.ToolStrip1.Location = New System.Drawing.Point(0, 24) + Me.ToolStrip1.Name = "ToolStrip1" + Me.ToolStrip1.Size = New System.Drawing.Size(642, 25) + Me.ToolStrip1.TabIndex = 12 + Me.ToolStrip1.Text = "Toolstrip Vertragspartner" + ' + 'TSBtnQuit + ' + Me.TSBtnQuit.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnQuit.Image = CType(resources.GetObject("TSBtnQuit.Image"), System.Drawing.Image) + Me.TSBtnQuit.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnQuit.Name = "TSBtnQuit" + Me.TSBtnQuit.Size = New System.Drawing.Size(23, 22) + Me.TSBtnQuit.Text = "Fenster schliessen" + Me.TSBtnQuit.ToolTipText = "Fenster schliessen" + ' + 'TSBtnSave + ' + Me.TSBtnSave.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnSave.Image = CType(resources.GetObject("TSBtnSave.Image"), System.Drawing.Image) + Me.TSBtnSave.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnSave.Name = "TSBtnSave" + Me.TSBtnSave.Size = New System.Drawing.Size(23, 22) + Me.TSBtnSave.Text = "Daten speichern" + Me.TSBtnSave.ToolTipText = "Daten speichern" + ' + 'TSBtnCopy + ' + Me.TSBtnCopy.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnCopy.Image = CType(resources.GetObject("TSBtnCopy.Image"), System.Drawing.Image) + Me.TSBtnCopy.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnCopy.Name = "TSBtnCopy" + Me.TSBtnCopy.Size = New System.Drawing.Size(23, 22) + Me.TSBtnCopy.Text = "Datensatz kopieren" + Me.TSBtnCopy.ToolTipText = "Datensatz kopieren" + Me.TSBtnCopy.Visible = False + ' + 'TSBtnNew + ' + Me.TSBtnNew.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnNew.Image = CType(resources.GetObject("TSBtnNew.Image"), System.Drawing.Image) + Me.TSBtnNew.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnNew.Name = "TSBtnNew" + Me.TSBtnNew.Size = New System.Drawing.Size(23, 22) + Me.TSBtnNew.Text = "Neuer Datensatz" + Me.TSBtnNew.ToolTipText = "Neuer Datensatz" + ' + 'TSBtnDelete + ' + Me.TSBtnDelete.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnDelete.Image = CType(resources.GetObject("TSBtnDelete.Image"), System.Drawing.Image) + Me.TSBtnDelete.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnDelete.Name = "TSBtnDelete" + Me.TSBtnDelete.Size = New System.Drawing.Size(23, 22) + Me.TSBtnDelete.Text = "Datensatz inaktivieren" + Me.TSBtnDelete.ToolTipText = "Datensatz inaktivieren" + ' + 'TSBtnSuche + ' + Me.TSBtnSuche.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnSuche.Image = CType(resources.GetObject("TSBtnSuche.Image"), System.Drawing.Image) + Me.TSBtnSuche.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnSuche.Name = "TSBtnSuche" + Me.TSBtnSuche.Size = New System.Drawing.Size(23, 22) + Me.TSBtnSuche.Text = "ToolStripButton1" + Me.TSBtnSuche.Visible = False + ' + 'lblVertragselement + ' + Me.lblVertragselement.AutoSize = True + Me.lblVertragselement.Location = New System.Drawing.Point(11, 55) + Me.lblVertragselement.Name = "lblVertragselement" + Me.lblVertragselement.Size = New System.Drawing.Size(40, 13) + Me.lblVertragselement.TabIndex = 152 + Me.lblVertragselement.Text = "Thema" + ' + 'txtBezeichnung + ' + Me.txtBezeichnung.Location = New System.Drawing.Point(142, 78) + Me.txtBezeichnung.Name = "txtBezeichnung" + Me.txtBezeichnung.Size = New System.Drawing.Size(268, 20) + Me.txtBezeichnung.TabIndex = 1 + ' + 'lblBezeichnung + ' + Me.lblBezeichnung.AutoSize = True + Me.lblBezeichnung.Location = New System.Drawing.Point(11, 81) + Me.lblBezeichnung.Name = "lblBezeichnung" + Me.lblBezeichnung.Size = New System.Drawing.Size(69, 13) + Me.lblBezeichnung.TabIndex = 151 + Me.lblBezeichnung.Text = "Bezeichnung" + ' + 'txtBeschreibung + ' + Me.txtBeschreibung.Location = New System.Drawing.Point(142, 104) + Me.txtBeschreibung.Multiline = True + Me.txtBeschreibung.Name = "txtBeschreibung" + Me.txtBeschreibung.Size = New System.Drawing.Size(268, 75) + Me.txtBeschreibung.TabIndex = 2 + ' + 'lblBeschreibung + ' + Me.lblBeschreibung.AutoSize = True + Me.lblBeschreibung.Location = New System.Drawing.Point(11, 107) + Me.lblBeschreibung.Name = "lblBeschreibung" + Me.lblBeschreibung.Size = New System.Drawing.Size(61, 13) + Me.lblBeschreibung.TabIndex = 155 + Me.lblBeschreibung.Text = "Bemerkung" + ' + 'dtPickerTermin + ' + Me.dtPickerTermin.Location = New System.Drawing.Point(205, 185) + Me.dtPickerTermin.Name = "dtPickerTermin" + Me.dtPickerTermin.Size = New System.Drawing.Size(21, 20) + Me.dtPickerTermin.TabIndex = 4 + ' + 'txtTermin + ' + Me.txtTermin.Location = New System.Drawing.Point(142, 185) + Me.txtTermin.Mask = "00/00/0000" + Me.txtTermin.Name = "txtTermin" + Me.txtTermin.Size = New System.Drawing.Size(66, 20) + Me.txtTermin.TabIndex = 3 + Me.txtTermin.ValidatingType = GetType(Date) + ' + 'lblTermin + ' + Me.lblTermin.AutoSize = True + Me.lblTermin.Location = New System.Drawing.Point(11, 188) + Me.lblTermin.Name = "lblTermin" + Me.lblTermin.Size = New System.Drawing.Size(39, 13) + Me.lblTermin.TabIndex = 158 + Me.lblTermin.Text = "Termin" + ' + 'lblStatus + ' + Me.lblStatus.AutoSize = True + Me.lblStatus.Location = New System.Drawing.Point(12, 214) + Me.lblStatus.Name = "lblStatus" + Me.lblStatus.Size = New System.Drawing.Size(37, 13) + Me.lblStatus.TabIndex = 160 + Me.lblStatus.Text = "Status" + ' + 'cboxStatus + ' + Me.cboxStatus.FormattingEnabled = True + Me.cboxStatus.Location = New System.Drawing.Point(142, 211) + Me.cboxStatus.Name = "cboxStatus" + Me.cboxStatus.Size = New System.Drawing.Size(268, 21) + Me.cboxStatus.TabIndex = 5 + ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.Location = New System.Drawing.Point(12, 241) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(74, 13) + Me.Label1.TabIndex = 162 + Me.Label1.Text = "Verantwortlich" + ' + 'txtMutierer + ' + Me.txtMutierer.BackColor = System.Drawing.SystemColors.InactiveBorder + Me.txtMutierer.Location = New System.Drawing.Point(535, 100) + Me.txtMutierer.Name = "txtMutierer" + Me.txtMutierer.ReadOnly = True + Me.txtMutierer.Size = New System.Drawing.Size(78, 20) + Me.txtMutierer.TabIndex = 9 + Me.txtMutierer.TabStop = False + ' + 'txtMutiert_am + ' + Me.txtMutiert_am.BackColor = System.Drawing.SystemColors.InactiveBorder + Me.txtMutiert_am.Location = New System.Drawing.Point(535, 77) + Me.txtMutiert_am.Name = "txtMutiert_am" + Me.txtMutiert_am.ReadOnly = True + Me.txtMutiert_am.Size = New System.Drawing.Size(79, 20) + Me.txtMutiert_am.TabIndex = 8 + Me.txtMutiert_am.TabStop = False + ' + 'txtErstellt_am + ' + Me.txtErstellt_am.BackColor = System.Drawing.SystemColors.InactiveBorder + Me.txtErstellt_am.Location = New System.Drawing.Point(535, 53) + Me.txtErstellt_am.Name = "txtErstellt_am" + Me.txtErstellt_am.ReadOnly = True + Me.txtErstellt_am.Size = New System.Drawing.Size(79, 20) + Me.txtErstellt_am.TabIndex = 7 + Me.txtErstellt_am.TabStop = False + ' + 'lblMutierer + ' + Me.lblMutierer.AccessibleDescription = "Name" + Me.lblMutierer.AutoSize = True + Me.lblMutierer.Location = New System.Drawing.Point(457, 104) + Me.lblMutierer.Name = "lblMutierer" + Me.lblMutierer.Size = New System.Drawing.Size(69, 13) + Me.lblMutierer.TabIndex = 171 + Me.lblMutierer.Text = "Mutiert durch" + ' + 'lblMutiertam + ' + Me.lblMutiertam.AccessibleDescription = "Name" + Me.lblMutiertam.AutoSize = True + Me.lblMutiertam.Location = New System.Drawing.Point(457, 81) + Me.lblMutiertam.Name = "lblMutiertam" + Me.lblMutiertam.Size = New System.Drawing.Size(56, 13) + Me.lblMutiertam.TabIndex = 170 + Me.lblMutiertam.Text = "Mutiert am" + ' + 'lblErstelltam + ' + Me.lblErstelltam.AccessibleDescription = "Name" + Me.lblErstelltam.AutoSize = True + Me.lblErstelltam.Location = New System.Drawing.Point(458, 56) + Me.lblErstelltam.Name = "lblErstelltam" + Me.lblErstelltam.Size = New System.Drawing.Size(55, 13) + Me.lblErstelltam.TabIndex = 169 + Me.lblErstelltam.Text = "Erstellt am" + ' + 'cbaktiv + ' + Me.cbaktiv.Enabled = False + Me.cbaktiv.Location = New System.Drawing.Point(455, 131) + Me.cbaktiv.Name = "cbaktiv" + Me.cbaktiv.RightToLeft = System.Windows.Forms.RightToLeft.Yes + Me.cbaktiv.Size = New System.Drawing.Size(94, 15) + Me.cbaktiv.TabIndex = 10 + Me.cbaktiv.Text = "Aktiv" + Me.cbaktiv.TextAlign = System.Drawing.ContentAlignment.MiddleRight + Me.cbaktiv.UseVisualStyleBackColor = True + ' + 'txtVerantwortlich + ' + Me.txtVerantwortlich.Location = New System.Drawing.Point(142, 238) + Me.txtVerantwortlich.Name = "txtVerantwortlich" + Me.txtVerantwortlich.Size = New System.Drawing.Size(268, 20) + Me.txtVerantwortlich.TabIndex = 6 + ' + 'ContextMenuStrip1 + ' + Me.ContextMenuStrip1.Name = "ContextMenuStrip1" + Me.ContextMenuStrip1.Size = New System.Drawing.Size(61, 4) + ' + 'cbboxthema + ' + Me.cbboxthema.FormattingEnabled = True + Me.cbboxthema.Location = New System.Drawing.Point(142, 55) + Me.cbboxthema.Name = "cbboxthema" + Me.cbboxthema.Size = New System.Drawing.Size(268, 21) + Me.cbboxthema.TabIndex = 175 + ' + 'cbboxverantwortlich + ' + Me.cbboxverantwortlich.FormattingEnabled = True + Me.cbboxverantwortlich.Location = New System.Drawing.Point(142, 237) + Me.cbboxverantwortlich.Name = "cbboxverantwortlich" + Me.cbboxverantwortlich.Size = New System.Drawing.Size(268, 21) + Me.cbboxverantwortlich.TabIndex = 176 + ' + 'frmPendenz + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(642, 277) + Me.Controls.Add(Me.cbboxverantwortlich) + Me.Controls.Add(Me.cbboxthema) + Me.Controls.Add(Me.txtVerantwortlich) + Me.Controls.Add(Me.txtMutierer) + Me.Controls.Add(Me.txtMutiert_am) + Me.Controls.Add(Me.txtErstellt_am) + Me.Controls.Add(Me.lblMutierer) + Me.Controls.Add(Me.lblMutiertam) + Me.Controls.Add(Me.lblErstelltam) + Me.Controls.Add(Me.cbaktiv) + Me.Controls.Add(Me.Label1) + Me.Controls.Add(Me.lblStatus) + Me.Controls.Add(Me.cboxStatus) + Me.Controls.Add(Me.dtPickerTermin) + Me.Controls.Add(Me.txtTermin) + Me.Controls.Add(Me.lblTermin) + Me.Controls.Add(Me.txtBeschreibung) + Me.Controls.Add(Me.lblBeschreibung) + Me.Controls.Add(Me.lblVertragselement) + Me.Controls.Add(Me.txtBezeichnung) + Me.Controls.Add(Me.lblBezeichnung) + Me.Controls.Add(Me.ToolStrip1) + Me.Controls.Add(Me.MenuStrip1) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.Name = "frmPendenz" + Me.Text = "Pendenzen" + Me.MenuStrip1.ResumeLayout(False) + Me.MenuStrip1.PerformLayout() + Me.ToolStrip1.ResumeLayout(False) + Me.ToolStrip1.PerformLayout() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents MenuStrip1 As System.Windows.Forms.MenuStrip + Friend WithEvents DateiToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents BeendenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStrip1 As System.Windows.Forms.ToolStrip + Friend WithEvents TSBtnQuit As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnCopy As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnNew As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnDelete As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnSuche As System.Windows.Forms.ToolStripButton + Friend WithEvents lblVertragselement As System.Windows.Forms.Label + Friend WithEvents txtBezeichnung As System.Windows.Forms.TextBox + Friend WithEvents lblBezeichnung As System.Windows.Forms.Label + Friend WithEvents txtBeschreibung As System.Windows.Forms.TextBox + Friend WithEvents lblBeschreibung As System.Windows.Forms.Label + Friend WithEvents dtPickerTermin As System.Windows.Forms.DateTimePicker + Friend WithEvents txtTermin As System.Windows.Forms.MaskedTextBox + Friend WithEvents lblTermin As System.Windows.Forms.Label + Friend WithEvents lblStatus As System.Windows.Forms.Label + Friend WithEvents cboxStatus As System.Windows.Forms.ComboBox + Friend WithEvents Label1 As System.Windows.Forms.Label + Friend WithEvents txtMutierer As System.Windows.Forms.TextBox + Friend WithEvents txtMutiert_am As System.Windows.Forms.TextBox + Friend WithEvents txtErstellt_am As System.Windows.Forms.TextBox + Friend WithEvents lblMutierer As System.Windows.Forms.Label + Friend WithEvents lblMutiertam As System.Windows.Forms.Label + Friend WithEvents lblErstelltam As System.Windows.Forms.Label + Friend WithEvents cbaktiv As System.Windows.Forms.CheckBox + Friend WithEvents txtVerantwortlich As System.Windows.Forms.TextBox + Friend WithEvents ContextMenuStrip1 As System.Windows.Forms.ContextMenuStrip + Friend WithEvents cbboxthema As System.Windows.Forms.ComboBox + Friend WithEvents TSBtnSave As System.Windows.Forms.ToolStripButton + Friend WithEvents cbboxverantwortlich As System.Windows.Forms.ComboBox +End Class diff --git a/Themenmanagement/Pendenzenmanagement/frmPendenz.resx b/Themenmanagement/Pendenzenmanagement/frmPendenz.resx new file mode 100644 index 0000000..701bcfe --- /dev/null +++ b/Themenmanagement/Pendenzenmanagement/frmPendenz.resx @@ -0,0 +1,212 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 17, 17 + + + 513, 17 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACkSURBVDhPlZALDsMwCEM5OkfLzbIaMGH5dJkligL2a1o5 + qP9RW3VVXYpzqLV2D+CZQVU/Y27uIg4OQQAJXz+hDsyEDtVQ7dib+1GH1fpUDljD6OF5HgjvKgHvN+iC + A0O1EvB+A8ghPvgqB4j9xPlHhidVB2lwwICfbkBxMAFGqHbszb1RGhywhtGxN/dGXAbgGD4CqACMMGZR + VwrA/Rtn/QiKfADckGXYsnwKqAAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABSSURBVDhP3YxbCgAgCAQ9ukfzZkXBlkIv7Sf6GNB1HRKR + dEMVEFEII2Du4Yr2eCMAdUfoEejubwIcVujeUHDKVFDmHSFB6ekuskcEOHgxghiSMjk0Kh+omBHQAAAA + AElFTkSuQmCC + + + + + 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 + bixlQRD+ADTSb9JqiJSxAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACpSURBVFhH7ZLhCoQwDIP36Hu0vdl5DU7GbFx6KtyPfhBQ + 26aBWpIkEfhMYqh9YVRjtS+Maqz2hVGN1T6Z2RCqtULfZzC8M/0GMx2+d45QZCYMjFprzPCkvnwxIwMT + Qw1g6iG82i4ZKYCwcJYMjFcneDXAS5Lxhp+QzOoEDNQvTiMDg4ufkIG6BSfhZf4jwJ0T3A5gIstNjKMn + GPyENzyK4fWOSpIkcShlA/2ShGAugX0dAAAAAElFTkSuQmCC + + + + 620, 17 + + + + AAABAAEAICAEAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP// + AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAAAAAA + AABwAIBwAAAAAAAAAAAAAABwAI/wAAAAAAAAAAAAAABwAI//+AcAAAAAAAAAAABwAI////8AAAAAAAAA + AABwAI//////gHAAAAAAAABwAI/4iIiIiIAHAAAAAABwAI//AAAAAAAAAAAAAABwAI/4iHiIiIiIiIiI + iAAAAI/4gAAAiIj///////gAAA//gAiIiwCIiP/////4AAcI+HiIiIiLCER0SE//+AAAAIeIuIuIiLCI + j/////gAAHB4v/+/i4iLBHRIRP/4AAAAf/////+IiAiI////+AAAB4////+/+4iwiP//lpgAAAeL/7/w + f7iIgIj//5aYAAAHj///cAf/uICI////+AAAB4//9w/wf4iAd3d3d3cAAAeL/4D/vwj4gP////9wAAAA + eP8P///wiA////+AAAAAAHiw//////h///+AAHAAAAAHi//7//+H//+AAHAAAAAAAHj7//+4f/+AAHAA + AAAAAAAHj///d/+AAHAAAAAAAAAAAHd3d/+AAHAAAAAAAAAAAAAAD/+AAHAAAAAAAAAAAAAAAAfwAHAA + AAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAD////////z////w////wH///wB///w + AP//wAD//wAAf/wAAD/wAAABwAAAAYAAAAGAAAABgAAAAcAAAAHAAAAB4AAAAeAAAAHgAAAB4AAAAeAA + AAHgAAAD8AAAA/AAAAf4AAAf/AAAf/4AAf//AAf//4Af///Af///wf///+f//w== + + + \ No newline at end of file diff --git a/Themenmanagement/Pendenzenmanagement/frmPendenz.vb b/Themenmanagement/Pendenzenmanagement/frmPendenz.vb new file mode 100644 index 0000000..3581663 --- /dev/null +++ b/Themenmanagement/Pendenzenmanagement/frmPendenz.vb @@ -0,0 +1,467 @@ +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient +Imports System.Text.RegularExpressions +Public Class frmPendenz + +#Region "Deklarationen" + Dim Pendenz As New TKB.VV.Vertrag.clsPendenz + + Dim sec As New Utils.MySecurity + Dim msg As New Utils.MyMessage + Dim FormReadonly As Boolean = False + Dim FormDataChanged As Boolean = False + Dim SpaltenTitel As New Utils.Tabellenspalte + + Private Aktuelle_Pendenz As Integer + Private Aktuelles_thema As Integer = 0 + Private PendenzStatus As New DB.clsPendenzstatus + + Private Anzeige As Boolean = False + Dim Neuer_Datensatz As Boolean = False + Dim themen As New DataTable + Dim WithEvents evh As MyGenericEventHandler = Globals.MyEventHanlder + Dim mitarbeiter As New DataTable + Dim stammdaten As New db.clsStammdaten + +#End Region + +#Region "Closing / Check_Changes" + + ''' + ''' Schliessen des Formulars + ''' + ''' + ''' + ''' + Private Sub FormularClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing + If Me.FormReadonly = True Then Exit Sub + If check_changes() = False Then + e.Cancel = True + Else + If Me.Pendenz.Neuer_Datensatz = True Then Me.Pendenz.Delete(Me.Pendenz.iPendenzNr.Value) + Globals.MyEventHanlder.PendenzClosed() + 'Me.dispose() + End If + End Sub + + ''' + ''' Prfung, ob Datennderungen vorgenommen wurden. + ''' + ''' + Private Function Check_Changes() As Boolean + If Me.FormReadonly Then Exit Function + Dim msgres As MsgBoxResult + If Me.FormDataChanged Then + msgres = msg.Show_MessageYesNoCancel(3) + Select Case msgres + Case MsgBoxResult.Yes + Save_data() + Return True + Case MsgBoxResult.Cancel + Return False + Case MsgBoxResult.No + Return True + End Select + Else + Return True + End If + End Function + +#End Region + +#Region "Eventhandler ChangeEreignisse" + ''' + ''' Allg Eventhandler fr Chanage-Ereignise festlegen + ''' + ''' + ''' + Private Sub AddChanges(ByVal Container As Control) + Dim l As New List(Of Control) + Me.GetControl(Me, "*", l) + Dim evh As EventHandler = AddressOf ChangesMade + For Each c As Control In l + If TypeOf c Is TextBox Then + Dim ctl As TextBox = c + AddHandler ctl.TextChanged, evh + End If + If TypeOf c Is MaskedTextBox Then + Dim ctl As MaskedTextBox = c + AddHandler ctl.TextChanged, evh + End If + If TypeOf c Is ComboBox Then + Dim ctl As ComboBox = c + AddHandler ctl.SelectedValueChanged, evh + End If + If TypeOf c Is CheckBox Then + Dim ctl As CheckBox = c + AddHandler ctl.CheckedChanged, evh + End If + Next + End Sub + ''' + ''' Envent-Handler fr Change-Ereignisse + ''' + ''' + ''' + ''' + Private Sub ChangesMade(ByVal sender As Object, ByVal e As System.EventArgs) + Me.FormDataChanged = True + Dim objtype As System.Type = sender.GetType + If objtype.Name = "MaskedTextBox" Then + Dim o As MaskedTextBox = sender + If o.Text = "01.01.1900" Then o.Text = " . . " + End If + + End Sub + + ''' + ''' Sucht in den Base-Controls smtliche Controls mit dem Namen in "Key" (Wildcards * mglich) und listet + ''' die gefundnen Controls in der Liste L zur weiteren Bearbeitung + ''' + ''' Base-Contrlo (z.B. aktuelles Formular + ''' Schlssel welcher gesucht werden soll + ''' Liste der gefundenen Objekte + ''' True wenn eines oder mehr Controls gefunden wurden, false wenn kein Control gefunden wurde. + ''' + ''' + Private Function GetControl(ByVal BaseControl As Control, ByVal Key As String, ByRef L As List(Of Control), Optional ByVal ReturnAtFirstElement As Boolean = False) As Boolean + If L Is Nothing Then L = New List(Of Control) + Dim Gut As Boolean + Dim ReturnFlag As Boolean = False + If Key IsNot Nothing Then Key = Key.ToLower + + If BaseControl.HasChildren = True Then + For Each ctl As Control In BaseControl.Controls + Gut = False + If Key Is Nothing Then + Gut = True + Else + If ctl.Name.Length >= Key.Length Then + Key = Key.ToLower + If Key.StartsWith("*") Then + If Key.Substring(1) = ctl.Name.ToLower.Substring(ctl.Name.Length - (Key.Length - 1), Key.Length - 1) Then Gut = True + ElseIf Key.EndsWith("*") Then + If Key.Substring(0, Key.Length - 1) = ctl.Name.ToLower.Substring(0, Key.Length - 1) Then Gut = True + Else + If Key = ctl.Name.ToLower Then Gut = True + End If + End If + End If + + If Gut = True Then + L.Add(ctl) + If ReturnAtFirstElement = True Then ReturnFlag = True + End If + If ReturnFlag = False Then + Call GetControl(ctl, Key, L) + End If + Next + End If + + If L.Count - 1 > -1 Then + Return True + Else + Return False + End If + End Function + +#End Region + + +#Region "Formular" + ''' + ''' Standard Constructore New + ''' + ''' + Sub New() + InitializeComponent() + Me.Aktuelle_Pendenz = -1 + End Sub + + Sub New(ByVal pendenznr As Integer) + InitializeComponent() + Me.Aktuelle_Pendenz = pendenznr + End Sub + + ''' + ''' Formualr mit Vertragselementnr und Anzeigestatus ffnen + ''' + ''' Nr des Vertragspartners + ''' True=Readonly, False=normal + ''' + Sub New(ByVal Pendenznr As Integer, ByVal Themanr As Integer, ByVal Anzeige As Boolean, Optional ByVal CreateNew As Boolean = False) + MyBase.New() + InitializeComponent() + If CreateNew Then + Me.Aktuelle_Pendenz = Me.Pendenz.Add_New(Themanr) + Me.Pendenz.Neuer_Datensatz = True + Else + Me.Aktuelle_Pendenz = Pendenznr + End If + Aktuelles_thema = themanr + Me.Anzeige = Anzeige + End Sub + + + Public Overloads Sub dispose() + Me.Pendenz.Dispose() + sec = Nothing + msg = Nothing + MyBase.Dispose() + End Sub + + ''' + ''' Load-Methode + ''' + ''' + ''' + ''' + + Private Sub frmPendenz_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + If Anzeige = True Then + Me.TSBtnSuche.Enabled = False + Me.TSBtnSave.Enabled = False + Else + Me.TSBtnSuche.Enabled = True + End If + If Me.TSBtnSave.Enabled = False Or Me.TSBtnSave.Visible = False Then + Me.FormReadonly = True + Me.TSBtnCopy.Enabled = False + Me.TSBtnNew.Enabled = False + Me.TSBtnDelete.Enabled = False + Else + Me.FormReadonly = False + End If + + Load_Securitylevel() + Dim thema As New db.clsThema + thema.cpMainConnectionProvider = Globals.conn + Me.themen = thema.SelectAll() + Me.cbboxthema.DataSource = Me.themen + Me.cbboxthema.DisplayMember = "Titel" + Me.cbboxthema.ValueMember = "Themannr" + + 'Pendenzstatus laden + Me.cboxStatus.Items.Clear() + Me.cboxStatus.DataSource = Me.Pendenz.Pendenzstatus.Tabledata.Tables(0) + Me.cboxStatus.DisplayMember = "Bezeichnung" + Try + Me.cboxStatus.ValueMember = "PendenzStatusnr" + Catch ex As Exception + End Try + 'Personen laden + + mitarbeiter = stammdaten.Get_Stammdaten("mitarbeiter", "") + Me.cbboxverantwortlich.DataSource = mitarbeiter + Me.cbboxverantwortlich.ValueMember = "keyvalue" + Me.cbboxverantwortlich.DisplayMember = "Bezeichnung" + + AddChanges(Me) + Get_Data(Me.Aktuelle_Pendenz) + If Me.Neuer_Datensatz Then + Me.Pendenz.Neuer_Datensatz = True + Me.Neuer_Datensatz = False + End If + If Me.FormReadonly Then sec.Set_Form_Readonly(Me) + If Me.Aktuelles_thema <> 0 Then Me.cbboxthema.SelectedValue = Me.Aktuelles_thema + + End Sub +#End Region + + +#Region "Buttons/Menu" + + ''' + ''' Formular schliessen + ''' + ''' + ''' + ''' + Private Sub TSBtnQuit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnQuit.Click + Me.Close() + End Sub + + ''' + ''' Sicherungs-Button bettigt + ''' + ''' + ''' + ''' + Private Sub TSBtnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnSave.Click + Me.Save_Data() + Me.txtMutiert_am.Text = Me.Pendenz.daMutiert_am.ToString + Me.FormDataChanged = False + End Sub + + ''' + ''' Datensatz kopieren + ''' + ''' + ''' + ''' + Private Sub TSBtnCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnCopy.Click + If Me.Check_Changes = False Then Exit Sub + Me.Get_Data(Pendenz.Create_Copy(Me.Pendenz.iPendenzNr.Value)) + Me.Pendenz.Neuer_Datensatz = True + End Sub + ''' + ''' Neuer Datensatz erstellen + ''' + ''' + ''' + ''' + Private Sub TSBtnNew_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnNew.Click + If Me.Check_Changes = False Then Exit Sub + Me.Get_Data(Me.Pendenz.Add_New(Me.Aktuelles_thema)) + Me.Pendenz.Neuer_Datensatz = True + End Sub + ''' + ''' Aktueller Datensatz inaktivieren + ''' + ''' + ''' + ''' + Private Sub TSBtnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnDelete.Click + If msg.Show_MessageYesNo(290) = MsgBoxResult.Yes Then + Me.Pendenz.Delete_Pendenz(Me.Pendenz.iPendenzNr.Value) + Me.Close() + End If + End Sub + + ''' + ''' Menu Beenden + ''' + ''' + ''' + ''' + Private Sub BeendenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BeendenToolStripMenuItem.Click + Me.TSBtnQuit_Click(sender, e) + End Sub + + +#End Region + +#Region "Daten" + ''' + ''' Daten ab DB laden uns ins Form befllen + ''' + ''' + ''' + Private Sub Get_Data(ByVal Pendenznr As Integer) + Try + Pendenz.Get_Pendenz(Pendenznr) + + Me.txtVerantwortlich.Text = Pendenz.sVerantwortlich.Value + Me.cbboxverantwortlich.Text = Pendenz.sVerantwortlich.Value + Me.Aktuelles_thema = Me.Pendenz.iThemanr.Value + Me.cbboxthema.SelectedValue = Me.Pendenz.iThemanr.Value + Me.Aktuelle_Pendenz = Me.Pendenz.iPendenzNr.Value + Me.txtBezeichnung.Text = Me.Pendenz.sBezeichnung.Value + Me.txtBeschreibung.Text = Me.Pendenz.sBeschreibung.Value + Me.txtTermin.Text = Me.Pendenz.daTermin.ToString + Me.cboxStatus.SelectedValue = Me.Pendenz.iPendenzStatusNr.Value + Me.txtErstellt_am.Text = Pendenz.daErstellt_am.ToString + Me.txtMutiert_am.Text = Pendenz.daMutiert_am.ToString + Me.txtMutierer.Text = Pendenz.iMutierer.ToString + Me.cbaktiv.Checked = Me.Pendenz.bAktiv.Value = True + sec.Set_Form_Security(Me) + Me.FormDataChanged = False + Catch ex As Exception + For Each ctl As ToolStripButton In Me.ToolStrip1.Items + ctl.Enabled = False + Next + Me.TSBtnQuit.Enabled = True + Me.TSBtnSuche.Enabled = True + End Try + Me.FormDataChanged = False + + End Sub + + ''' + ''' Daten ab Form speichern + ''' + ''' + Private Sub Save_data() + Me.Pendenz.iPendenzStatusNr = New SqlInt32(CType(Me.cboxStatus.SelectedValue, Int32)) + Me.Pendenz.iThemanr = New SqlInt32(CType(Me.Aktuelles_thema, Int32)) + Me.Pendenz.sVerantwortlich = New SqlString(CType(Me.cbboxverantwortlich.Text, String)) + Me.Pendenz.sBezeichnung = New SqlString(CType(Me.txtBezeichnung.Text, String)) + Me.Pendenz.sBeschreibung = New SqlString(CType(Me.txtBeschreibung.Text, String)) + If IsDate(Me.txtTermin.Text) Then + Me.Pendenz.daTermin = New SqlDateTime(CType(Me.txtTermin.Text, DateTime)) + Else + Me.Pendenz.daTermin = New SqlDateTime(CType(SqlDateTime.Null, DateTime)) + End If + Me.PendenzStatus.cpMainConnectionProvider = Globals.conn + Me.PendenzStatus.iPendenzStatusNr = New SqlInt32(CType(Me.cboxStatus.SelectedValue, Int32)) + Me.PendenzStatus.SelectOne() + ' Me.Pendenz.bAktiv = New SqlBoolean(CType(Me.cbaktiv.Checked = True, Boolean)) + If Me.PendenzStatus.bPendenz_Inaktivieren.Value = True Then + Me.Pendenz.bAktiv = New SqlBoolean(CType(False, Boolean)) + Me.cbaktiv.Checked = False + ' Me.Pendenz.bAktiv = New SqlBoolean(CType(Me.cbaktiv.Checked = True, Boolean)) + Else + Me.Pendenz.bAktiv = New SqlBoolean(CType(True, Boolean)) + Me.cbaktiv.Checked = True + End If + 'Me.Pendenz.iSecurityLevelNr = New SqlInt32(CType(Me.cboxSecurityLevel.SelectedValue, Int32)) + Me.Pendenz.Save_Data() + Me.FormDataChanged = False + End Sub +#End Region + +#Region "Security" + ''' + ''' Laden der Securitylevel-Daten in die Combobox + ''' + ''' + Private Sub Load_Securitylevel() + ' Dim seclevel As New TKB.VV.DB.clsSecurityLevel + 'Dim secleveldata As New DataTable + + 'seclevel.cpMainConnectionProvider = Globals.conn + 'Globals.conn.OpenConnection() + 'secleveldata = seclevel.SelectAll + 'Globals.conn.CloseConnection(True) + + 'Me.cboxSecurityLevel.DataSource = secleveldata + 'Me.cboxSecurityLevel.DisplayMember = "Bezeichnung" + 'Me.cboxSecurityLevel.ValueMember = "SecurityLevelNr" + + 'seclevel.Dispose() + + End Sub +#End Region + + ''' + ''' Handelt das Change-Ereignis eines Datetimepckers und stellt das ausgewhlte Datum in das entsprechende Textfeld + ''' + ''' + ''' + ''' + Private Sub DateTimePicker_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles _ + dtPickerTermin.ValueChanged + Dim s As String + Dim obj As DateTimePicker = sender + s = obj.Name + s = "txt" + s.Substring(8, s.Length - 8) + Dim l As New List(Of Control) + Dim txtb As MaskedTextBox + GetControl(Me, s, l) + For Each ctl As Control In l + txtb = CType(ctl, MaskedTextBox) + txtb.Text = obj.Value + Next + + End Sub + + Private Sub cbboxthema_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cbboxthema.SelectedIndexChanged + Try + Me.Aktuelles_thema = Me.cbboxthema.SelectedValue + Catch + End Try + End Sub +End Class \ No newline at end of file diff --git a/Themenmanagement/Pendenzenmanagement/frmPendenzübersicht.designer.vb b/Themenmanagement/Pendenzenmanagement/frmPendenzübersicht.designer.vb new file mode 100644 index 0000000..71a3072 --- /dev/null +++ b/Themenmanagement/Pendenzenmanagement/frmPendenzübersicht.designer.vb @@ -0,0 +1,447 @@ + _ +Partial Class frmPendenzübersicht + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmPendenzübersicht)) + Me.MenuStrip1 = New System.Windows.Forms.MenuStrip() + Me.DateiToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.BeendenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStrip1 = New System.Windows.Forms.ToolStrip() + Me.ToolStripButton1 = New System.Windows.Forms.ToolStripButton() + Me.TSBtnQuit = New System.Windows.Forms.ToolStripButton() + Me.TSBtnSave = New System.Windows.Forms.ToolStripButton() + Me.TSBtnNew = New System.Windows.Forms.ToolStripButton() + Me.TSBtnDelete = New System.Windows.Forms.ToolStripButton() + Me.StatusToolStripComboBox = New System.Windows.Forms.ToolStripComboBox() + Me.tsbtnprint = New System.Windows.Forms.ToolStripButton() + Me.ToolStripButton2 = New System.Windows.Forms.ToolStripButton() + Me.PendenzenContextMenuStrip = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.AnzeigenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.NeuToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.LöschenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.C1Pendenzen = New C1.Win.C1TrueDBGrid.C1TrueDBGrid() + Me.C1PrintPreviewControl1 = New C1.Win.C1Preview.C1PrintPreviewControl() + Me.MenuStrip1.SuspendLayout() + Me.ToolStrip1.SuspendLayout() + Me.PendenzenContextMenuStrip.SuspendLayout() + CType(Me.C1Pendenzen, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.C1PrintPreviewControl1, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.C1PrintPreviewControl1.PreviewPane, System.ComponentModel.ISupportInitialize).BeginInit() + Me.C1PrintPreviewControl1.SuspendLayout() + Me.SuspendLayout() + ' + 'MenuStrip1 + ' + Me.MenuStrip1.AllowMerge = False + Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DateiToolStripMenuItem}) + Me.MenuStrip1.Location = New System.Drawing.Point(0, 0) + Me.MenuStrip1.Name = "MenuStrip1" + Me.MenuStrip1.Size = New System.Drawing.Size(832, 24) + Me.MenuStrip1.TabIndex = 6 + Me.MenuStrip1.Tag = "" + Me.MenuStrip1.Text = "Hauptmenu" + ' + 'DateiToolStripMenuItem + ' + Me.DateiToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.BeendenToolStripMenuItem}) + Me.DateiToolStripMenuItem.Name = "DateiToolStripMenuItem" + Me.DateiToolStripMenuItem.Size = New System.Drawing.Size(46, 20) + Me.DateiToolStripMenuItem.Tag = "" + Me.DateiToolStripMenuItem.Text = "&Datei" + ' + 'BeendenToolStripMenuItem + ' + Me.BeendenToolStripMenuItem.Name = "BeendenToolStripMenuItem" + Me.BeendenToolStripMenuItem.Size = New System.Drawing.Size(120, 22) + Me.BeendenToolStripMenuItem.Tag = "" + Me.BeendenToolStripMenuItem.Text = "&Beenden" + ' + 'ToolStrip1 + ' + Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripButton1, Me.TSBtnQuit, Me.TSBtnSave, Me.TSBtnNew, Me.TSBtnDelete, Me.StatusToolStripComboBox, Me.tsbtnprint, Me.ToolStripButton2}) + Me.ToolStrip1.Location = New System.Drawing.Point(0, 24) + Me.ToolStrip1.Name = "ToolStrip1" + Me.ToolStrip1.Size = New System.Drawing.Size(832, 25) + Me.ToolStrip1.TabIndex = 7 + Me.ToolStrip1.Text = "Toolstrip Vertragspartner" + ' + 'ToolStripButton1 + ' + Me.ToolStripButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton1.Image = CType(resources.GetObject("ToolStripButton1.Image"), System.Drawing.Image) + Me.ToolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton1.Name = "ToolStripButton1" + Me.ToolStripButton1.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton1.Text = "Fenster schliessen" + Me.ToolStripButton1.ToolTipText = "Fenster schliessen" + ' + 'TSBtnQuit + ' + Me.TSBtnQuit.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnQuit.Image = CType(resources.GetObject("TSBtnQuit.Image"), System.Drawing.Image) + Me.TSBtnQuit.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnQuit.Name = "TSBtnQuit" + Me.TSBtnQuit.Size = New System.Drawing.Size(23, 22) + Me.TSBtnQuit.Text = "Fenster schliessen" + Me.TSBtnQuit.ToolTipText = "Fenster schliessen" + Me.TSBtnQuit.Visible = False + ' + 'TSBtnSave + ' + Me.TSBtnSave.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnSave.Image = CType(resources.GetObject("TSBtnSave.Image"), System.Drawing.Image) + Me.TSBtnSave.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnSave.Name = "TSBtnSave" + Me.TSBtnSave.Size = New System.Drawing.Size(23, 22) + Me.TSBtnSave.Text = "Daten speichern" + Me.TSBtnSave.ToolTipText = "Daten speichern" + Me.TSBtnSave.Visible = False + ' + 'TSBtnNew + ' + Me.TSBtnNew.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnNew.Image = CType(resources.GetObject("TSBtnNew.Image"), System.Drawing.Image) + Me.TSBtnNew.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnNew.Name = "TSBtnNew" + Me.TSBtnNew.Size = New System.Drawing.Size(23, 22) + Me.TSBtnNew.Text = "Neuer Datensatz" + Me.TSBtnNew.ToolTipText = "Neuer Datensatz" + ' + 'TSBtnDelete + ' + Me.TSBtnDelete.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnDelete.Image = CType(resources.GetObject("TSBtnDelete.Image"), System.Drawing.Image) + Me.TSBtnDelete.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnDelete.Name = "TSBtnDelete" + Me.TSBtnDelete.Size = New System.Drawing.Size(23, 22) + Me.TSBtnDelete.Text = "Datensatz inaktivieren" + Me.TSBtnDelete.ToolTipText = "Datensatz inaktivieren" + ' + 'StatusToolStripComboBox + ' + Me.StatusToolStripComboBox.Items.AddRange(New Object() {"Alle Pendenzen", "Offen/In Bearbeitung", "Offen", "In Bearbeitung", "Erledigt", "Hinfällig"}) + Me.StatusToolStripComboBox.Name = "StatusToolStripComboBox" + Me.StatusToolStripComboBox.Size = New System.Drawing.Size(121, 25) + ' + 'tsbtnprint + ' + Me.tsbtnprint.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tsbtnprint.Image = CType(resources.GetObject("tsbtnprint.Image"), System.Drawing.Image) + Me.tsbtnprint.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tsbtnprint.Name = "tsbtnprint" + Me.tsbtnprint.Size = New System.Drawing.Size(23, 22) + Me.tsbtnprint.Text = "Drucken" + ' + 'ToolStripButton2 + ' + Me.ToolStripButton2.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton2.Image = CType(resources.GetObject("ToolStripButton2.Image"), System.Drawing.Image) + Me.ToolStripButton2.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton2.Name = "ToolStripButton2" + Me.ToolStripButton2.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton2.Text = "Excel-Export" + ' + 'PendenzenContextMenuStrip + ' + Me.PendenzenContextMenuStrip.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.AnzeigenToolStripMenuItem, Me.NeuToolStripMenuItem, Me.LöschenToolStripMenuItem}) + Me.PendenzenContextMenuStrip.Name = "PendenzenContextMenuStrip" + Me.PendenzenContextMenuStrip.Size = New System.Drawing.Size(124, 70) + ' + 'AnzeigenToolStripMenuItem + ' + Me.AnzeigenToolStripMenuItem.Name = "AnzeigenToolStripMenuItem" + Me.AnzeigenToolStripMenuItem.Size = New System.Drawing.Size(123, 22) + Me.AnzeigenToolStripMenuItem.Text = "&Anzeigen" + ' + 'NeuToolStripMenuItem + ' + Me.NeuToolStripMenuItem.Name = "NeuToolStripMenuItem" + Me.NeuToolStripMenuItem.Size = New System.Drawing.Size(123, 22) + Me.NeuToolStripMenuItem.Text = "&Neu" + ' + 'LöschenToolStripMenuItem + ' + Me.LöschenToolStripMenuItem.Name = "LöschenToolStripMenuItem" + Me.LöschenToolStripMenuItem.Size = New System.Drawing.Size(123, 22) + Me.LöschenToolStripMenuItem.Text = "&Löschen" + Me.LöschenToolStripMenuItem.Visible = False + ' + 'C1Pendenzen + ' + Me.C1Pendenzen.AlternatingRows = True + Me.C1Pendenzen.ContextMenuStrip = Me.PendenzenContextMenuStrip + Me.C1Pendenzen.Dock = System.Windows.Forms.DockStyle.Fill + Me.C1Pendenzen.FetchRowStyles = True + Me.C1Pendenzen.FilterBar = True + Me.C1Pendenzen.GroupByCaption = "Drag a column header here to group by that column" + Me.C1Pendenzen.Images.Add(CType(resources.GetObject("C1Pendenzen.Images"), System.Drawing.Image)) + Me.C1Pendenzen.Location = New System.Drawing.Point(0, 49) + Me.C1Pendenzen.Name = "C1Pendenzen" + Me.C1Pendenzen.PreviewInfo.Location = New System.Drawing.Point(0, 0) + Me.C1Pendenzen.PreviewInfo.Size = New System.Drawing.Size(0, 0) + Me.C1Pendenzen.PreviewInfo.ZoomFactor = 75.0R + Me.C1Pendenzen.PrintInfo.PageSettings = CType(resources.GetObject("C1Pendenzen.PrintInfo.PageSettings"), System.Drawing.Printing.PageSettings) + Me.C1Pendenzen.Size = New System.Drawing.Size(832, 469) + Me.C1Pendenzen.TabAction = C1.Win.C1TrueDBGrid.TabActionEnum.ColumnNavigation + Me.C1Pendenzen.TabIndex = 12 + Me.C1Pendenzen.Text = "C1TrueDBGrid1" + Me.C1Pendenzen.PropBag = resources.GetString("C1Pendenzen.PropBag") + ' + 'C1PrintPreviewControl1 + ' + Me.C1PrintPreviewControl1.Location = New System.Drawing.Point(90, 85) + Me.C1PrintPreviewControl1.Name = "C1PrintPreviewControl1" + ' + 'C1PrintPreviewControl1.OutlineView + ' + Me.C1PrintPreviewControl1.PreviewOutlineView.Dock = System.Windows.Forms.DockStyle.Fill + Me.C1PrintPreviewControl1.PreviewOutlineView.Location = New System.Drawing.Point(0, 0) + Me.C1PrintPreviewControl1.PreviewOutlineView.Name = "OutlineView" + Me.C1PrintPreviewControl1.PreviewOutlineView.Size = New System.Drawing.Size(165, 427) + Me.C1PrintPreviewControl1.PreviewOutlineView.TabIndex = 0 + ' + 'C1PrintPreviewControl1.PreviewPane + ' + Me.C1PrintPreviewControl1.PreviewPane.IntegrateExternalTools = True + Me.C1PrintPreviewControl1.PreviewPane.TabIndex = 0 + ' + 'C1PrintPreviewControl1.PreviewTextSearchPanel + ' + Me.C1PrintPreviewControl1.PreviewTextSearchPanel.Dock = System.Windows.Forms.DockStyle.Right + Me.C1PrintPreviewControl1.PreviewTextSearchPanel.Location = New System.Drawing.Point(530, 0) + Me.C1PrintPreviewControl1.PreviewTextSearchPanel.MinimumSize = New System.Drawing.Size(200, 240) + Me.C1PrintPreviewControl1.PreviewTextSearchPanel.Name = "PreviewTextSearchPanel" + Me.C1PrintPreviewControl1.PreviewTextSearchPanel.Size = New System.Drawing.Size(200, 453) + Me.C1PrintPreviewControl1.PreviewTextSearchPanel.TabIndex = 0 + Me.C1PrintPreviewControl1.PreviewTextSearchPanel.Visible = False + ' + 'C1PrintPreviewControl1.ThumbnailView + ' + Me.C1PrintPreviewControl1.PreviewThumbnailView.Dock = System.Windows.Forms.DockStyle.Fill + Me.C1PrintPreviewControl1.PreviewThumbnailView.Location = New System.Drawing.Point(0, 0) + Me.C1PrintPreviewControl1.PreviewThumbnailView.Name = "ThumbnailView" + Me.C1PrintPreviewControl1.PreviewThumbnailView.Size = New System.Drawing.Size(165, 348) + Me.C1PrintPreviewControl1.PreviewThumbnailView.TabIndex = 0 + Me.C1PrintPreviewControl1.PreviewThumbnailView.UseImageAsThumbnail = False + Me.C1PrintPreviewControl1.Size = New System.Drawing.Size(617, 421) + Me.C1PrintPreviewControl1.TabIndex = 13 + Me.C1PrintPreviewControl1.Text = "C1PrintPreviewControl1" + ' + ' + ' + Me.C1PrintPreviewControl1.ToolBars.File.Open.Name = "btnFileOpen" + Me.C1PrintPreviewControl1.ToolBars.File.Open.Size = New System.Drawing.Size(16, 22) + ' + ' + ' + Me.C1PrintPreviewControl1.ToolBars.File.PageSetup.Name = "btnPageSetup" + Me.C1PrintPreviewControl1.ToolBars.File.PageSetup.Size = New System.Drawing.Size(23, 22) + ' + ' + ' + Me.C1PrintPreviewControl1.ToolBars.File.Print.Name = "btnPrint" + Me.C1PrintPreviewControl1.ToolBars.File.Print.Size = New System.Drawing.Size(23, 22) + ' + ' + ' + Me.C1PrintPreviewControl1.ToolBars.File.Reflow.Name = "btnReflow" + Me.C1PrintPreviewControl1.ToolBars.File.Reflow.Size = New System.Drawing.Size(23, 22) + ' + ' + ' + Me.C1PrintPreviewControl1.ToolBars.File.Save.Name = "btnFileSave" + Me.C1PrintPreviewControl1.ToolBars.File.Save.Size = New System.Drawing.Size(23, 22) + Me.C1PrintPreviewControl1.ToolBars.File.ToolTipFileOpen = "" + Me.C1PrintPreviewControl1.ToolBars.File.ToolTipFileSave = "" + Me.C1PrintPreviewControl1.ToolBars.File.ToolTipPageSetup = "" + Me.C1PrintPreviewControl1.ToolBars.File.ToolTipPrint = "" + Me.C1PrintPreviewControl1.ToolBars.File.ToolTipReflow = "" + ' + ' + ' + Me.C1PrintPreviewControl1.ToolBars.Navigation.GoFirst.Name = "btnGoFirst" + Me.C1PrintPreviewControl1.ToolBars.Navigation.GoFirst.Size = New System.Drawing.Size(23, 22) + ' + ' + ' + Me.C1PrintPreviewControl1.ToolBars.Navigation.GoLast.Name = "btnGoLast" + Me.C1PrintPreviewControl1.ToolBars.Navigation.GoLast.Size = New System.Drawing.Size(23, 22) + ' + ' + ' + Me.C1PrintPreviewControl1.ToolBars.Navigation.GoNext.Name = "btnGoNext" + Me.C1PrintPreviewControl1.ToolBars.Navigation.GoNext.Size = New System.Drawing.Size(23, 22) + ' + ' + ' + Me.C1PrintPreviewControl1.ToolBars.Navigation.GoPrev.Name = "btnGoPrev" + Me.C1PrintPreviewControl1.ToolBars.Navigation.GoPrev.Size = New System.Drawing.Size(23, 22) + ' + ' + ' + Me.C1PrintPreviewControl1.ToolBars.Navigation.HistoryNext.Name = "btnHistoryNext" + Me.C1PrintPreviewControl1.ToolBars.Navigation.HistoryNext.Size = New System.Drawing.Size(16, 22) + ' + ' + ' + Me.C1PrintPreviewControl1.ToolBars.Navigation.HistoryPrev.Name = "btnHistoryPrev" + Me.C1PrintPreviewControl1.ToolBars.Navigation.HistoryPrev.Size = New System.Drawing.Size(16, 22) + ' + ' + ' + Me.C1PrintPreviewControl1.ToolBars.Navigation.LblOfPages.Name = "lblOfPages" + Me.C1PrintPreviewControl1.ToolBars.Navigation.LblOfPages.Size = New System.Drawing.Size(0, 22) + ' + ' + ' + Me.C1PrintPreviewControl1.ToolBars.Navigation.LblPage.Name = "lblPage" + Me.C1PrintPreviewControl1.ToolBars.Navigation.LblPage.Size = New System.Drawing.Size(0, 22) + Me.C1PrintPreviewControl1.ToolBars.Navigation.ToolTipGoToFirstPage = "" + Me.C1PrintPreviewControl1.ToolBars.Navigation.ToolTipGoToLastPage = "" + Me.C1PrintPreviewControl1.ToolBars.Navigation.ToolTipGoToNextPage = "" + Me.C1PrintPreviewControl1.ToolBars.Navigation.ToolTipGoToPrevPage = "" + Me.C1PrintPreviewControl1.ToolBars.Navigation.ToolTipHistoryNext = "" + Me.C1PrintPreviewControl1.ToolBars.Navigation.ToolTipHistoryPrev = "" + Me.C1PrintPreviewControl1.ToolBars.Navigation.ToolTipPageNo = Nothing + ' + ' + ' + Me.C1PrintPreviewControl1.ToolBars.Page.Continuous.Name = "btnPageContinuous" + Me.C1PrintPreviewControl1.ToolBars.Page.Continuous.Size = New System.Drawing.Size(23, 22) + ' + ' + ' + Me.C1PrintPreviewControl1.ToolBars.Page.Facing.Name = "btnPageFacing" + Me.C1PrintPreviewControl1.ToolBars.Page.Facing.Size = New System.Drawing.Size(23, 22) + ' + ' + ' + Me.C1PrintPreviewControl1.ToolBars.Page.FacingContinuous.Name = "btnPageFacingContinuous" + Me.C1PrintPreviewControl1.ToolBars.Page.FacingContinuous.Size = New System.Drawing.Size(23, 22) + ' + ' + ' + Me.C1PrintPreviewControl1.ToolBars.Page.Single.Name = "btnPageSingle" + Me.C1PrintPreviewControl1.ToolBars.Page.Single.Size = New System.Drawing.Size(23, 22) + Me.C1PrintPreviewControl1.ToolBars.Page.ToolTipViewContinuous = "" + Me.C1PrintPreviewControl1.ToolBars.Page.ToolTipViewFacing = "" + Me.C1PrintPreviewControl1.ToolBars.Page.ToolTipViewFacingContinuous = "" + Me.C1PrintPreviewControl1.ToolBars.Page.ToolTipViewSinglePage = "" + ' + ' + ' + Me.C1PrintPreviewControl1.ToolBars.Text.Find.Name = "btnFind" + Me.C1PrintPreviewControl1.ToolBars.Text.Find.Size = New System.Drawing.Size(23, 22) + ' + ' + ' + Me.C1PrintPreviewControl1.ToolBars.Text.Hand.Name = "btnHandTool" + Me.C1PrintPreviewControl1.ToolBars.Text.Hand.Size = New System.Drawing.Size(23, 22) + ' + ' + ' + Me.C1PrintPreviewControl1.ToolBars.Text.SelectText.Name = "btnSelectTextTool" + Me.C1PrintPreviewControl1.ToolBars.Text.SelectText.Size = New System.Drawing.Size(23, 22) + Me.C1PrintPreviewControl1.ToolBars.Text.ToolTipFind = "" + Me.C1PrintPreviewControl1.ToolBars.Text.ToolTipToolHand = "" + Me.C1PrintPreviewControl1.ToolBars.Text.ToolTipToolTextSelect = "" + Me.C1PrintPreviewControl1.ToolBars.Zoom.ToolTipToolZoomIn = Nothing + Me.C1PrintPreviewControl1.ToolBars.Zoom.ToolTipToolZoomOut = Nothing + Me.C1PrintPreviewControl1.ToolBars.Zoom.ToolTipZoomFactor = Nothing + Me.C1PrintPreviewControl1.ToolBars.Zoom.ToolTipZoomIn = "" + Me.C1PrintPreviewControl1.ToolBars.Zoom.ToolTipZoomOut = "" + Me.C1PrintPreviewControl1.ToolBars.Zoom.ToolTipZoomTool = "" + ' + ' + ' + Me.C1PrintPreviewControl1.ToolBars.Zoom.ZoomIn.Name = "btnZoomIn" + Me.C1PrintPreviewControl1.ToolBars.Zoom.ZoomIn.Size = New System.Drawing.Size(23, 22) + ' + ' + ' + Me.C1PrintPreviewControl1.ToolBars.Zoom.ZoomInTool.Name = "itemZoomInTool" + Me.C1PrintPreviewControl1.ToolBars.Zoom.ZoomInTool.Size = New System.Drawing.Size(67, 22) + ' + ' + ' + Me.C1PrintPreviewControl1.ToolBars.Zoom.ZoomOut.Name = "btnZoomOut" + Me.C1PrintPreviewControl1.ToolBars.Zoom.ZoomOut.Size = New System.Drawing.Size(23, 22) + ' + ' + ' + Me.C1PrintPreviewControl1.ToolBars.Zoom.ZoomOutTool.Name = "itemZoomOutTool" + Me.C1PrintPreviewControl1.ToolBars.Zoom.ZoomOutTool.Size = New System.Drawing.Size(67, 22) + ' + ' + ' + Me.C1PrintPreviewControl1.ToolBars.Zoom.ZoomTool.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.C1PrintPreviewControl1.ToolBars.Zoom.ZoomInTool, Me.C1PrintPreviewControl1.ToolBars.Zoom.ZoomOutTool}) + Me.C1PrintPreviewControl1.ToolBars.Zoom.ZoomTool.Name = "btnZoomTool" + Me.C1PrintPreviewControl1.ToolBars.Zoom.ZoomTool.Size = New System.Drawing.Size(16, 22) + Me.C1PrintPreviewControl1.Visible = False + ' + 'frmPendenzübersicht + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(832, 518) + Me.Controls.Add(Me.C1PrintPreviewControl1) + Me.Controls.Add(Me.C1Pendenzen) + Me.Controls.Add(Me.ToolStrip1) + Me.Controls.Add(Me.MenuStrip1) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.Name = "frmPendenzübersicht" + Me.Text = "Pendenz-Übersicht" + Me.MenuStrip1.ResumeLayout(False) + Me.MenuStrip1.PerformLayout() + Me.ToolStrip1.ResumeLayout(False) + Me.ToolStrip1.PerformLayout() + Me.PendenzenContextMenuStrip.ResumeLayout(False) + CType(Me.C1Pendenzen, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.C1PrintPreviewControl1.PreviewPane, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.C1PrintPreviewControl1, System.ComponentModel.ISupportInitialize).EndInit() + Me.C1PrintPreviewControl1.ResumeLayout(False) + Me.C1PrintPreviewControl1.PerformLayout() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents MenuStrip1 As System.Windows.Forms.MenuStrip + Friend WithEvents DateiToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents BeendenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStrip1 As System.Windows.Forms.ToolStrip + Friend WithEvents TSBtnQuit As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnSave As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnNew As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnDelete As System.Windows.Forms.ToolStripButton + Friend WithEvents StatusToolStripComboBox As System.Windows.Forms.ToolStripComboBox + Friend WithEvents C1Pendenzen As C1.Win.C1TrueDBGrid.C1TrueDBGrid + Friend WithEvents PendenzenContextMenuStrip As System.Windows.Forms.ContextMenuStrip + Friend WithEvents AnzeigenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents NeuToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents LöschenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents tsbtnprint As System.Windows.Forms.ToolStripButton + Friend WithEvents C1PrintPreviewControl1 As C1.Win.C1Preview.C1PrintPreviewControl + Friend WithEvents ToolStripButton1 As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripButton2 As System.Windows.Forms.ToolStripButton +End Class diff --git a/Themenmanagement/Pendenzenmanagement/frmPendenzübersicht.resx b/Themenmanagement/Pendenzenmanagement/frmPendenzübersicht.resx new file mode 100644 index 0000000..223a4e2 --- /dev/null +++ b/Themenmanagement/Pendenzenmanagement/frmPendenzübersicht.resx @@ -0,0 +1,294 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 17, 17 + + + 615, 17 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACkSURBVDhPlZALDsMwCEM5OkfLzbIaMGH5dJkligL2a1o5 + qP9RW3VVXYpzqLV2D+CZQVU/Y27uIg4OQQAJXz+hDsyEDtVQ7dib+1GH1fpUDljD6OF5HgjvKgHvN+iC + A0O1EvB+A8ghPvgqB4j9xPlHhidVB2lwwICfbkBxMAFGqHbszb1RGhywhtGxN/dGXAbgGD4CqACMMGZR + VwrA/Rtn/QiKfADckGXYsnwKqAAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAK2SURBVDhPnZLdS1NhHMcfCPoDuummi+i6qwYWvSBuc5vH + szM3Z1vnnG0nXTkzKnqDrKysNC1rhVa0YSoVRaVWRlr2omhoTMpErBXVRXhR9EIQXRR8Omosdlk/+MDz + e+D58Hx/zyP+pz69HAh+fjv6s21HLn+2ZutydWFXx4FCug5OI2XorJG4stfOw+QWPk708mHsFt9e9XNx + lzVb0Fkts2SZnaUrbCxb9ZecFVYWW1byPd1LumsfqWY/X9KPuLzHkS3oqJLJtTqx2SXsDlcGa76TnJU2 + XrRFSJ3TGTkd5ON4D9f2F2QLHHGBVDeHArsPyaUgFbiRJBmXS2aVVWKi1WDkbIjHTUGmUp0zUf8cFcJ2 + RJCeasdpSgrzNNzOAIrkR5G9yG4PeQ43z5Nhhpp1+uNreDt4idu1yqzAVicYe5egtV+QWyuwNwqcpwRy + 1Xy8ShBPkZ/8Qh+j5zT6T+p8v7OQyb4Weuq9CFeDYPhNLckhQWLQXL8u48mbCE/fh2ckJZ4wxcVBJE+A + J6dVHpzQ+NG7iPHbzfQ1+mcF99PbSY4KkilBy3NB64Tg2dcIjpOCYHEZqwMh3MUaQ00B+o4HSWx38rTz + CI/igZkIFrsZoXtyHe1pQd50hKMCxwlB0d4F6GoUVTfwBQ0G4n7uHivh+gGF4UvVDDapmSFa8usFXa99 + OI8LjMBWDK0SI1yOYUSJGKUEQlEeNHq50+Cju87LwPltjJwJZT2jxWleWWmYS9TYRLSsgrJo+QylJtra + GPcaPHTXFnHjkIfe5hijiUiWQLRVLmd9RSUVsc1UbNiYIWZSWr6Ju/UyNw8rdBx0c/NYiLGWUoSu6+ha + CE0Lo6rTmGtVM3s1g2r2q9fo7IwFuFCtmD9Q5mpNERPt62aH+K9U6Tm7Erutv15eiGVH+IeaZ7JECGH5 + DX4YwpWqC/6hAAAAAElFTkSuQmCC + + + + + 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 + ovwBHtVvxMSvxBEAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIESURBVDhPrZI/bxNBEMXnI/BR+AiUlNdBeVVEeWXKaxLR + RDoJRUKI4gQUqdBFKYgQSCslkYxsiU0IxMHG3iSYc/wnPkxD95iZ80JsE0RxI/3s9d695zezSz+mE1QJ + Tb9PUCU0La5QJVRMRriJ45MuMmP/yaKGiqsh/sbxpy6Ojs6wVD8B1y+Q7VoEYYx2uzOno8l4gEXyb7kK + pIqigKlZRfayzMA2HcIoxr2V9SUtjUd9LPKmfqop5oqTsTes+5Nu6+XrJS2Nh7y4Rsc5pJxCSkzn0vHM + rOV0D2I1TB5nSNJsTk+jQQ7PXq2hZqbm1FBS+WSOPxynS7eMmsVJqu/K+roHDS97EPbr77Hx7BW/ZFUk + 30lqWJghilOeWaLiIIx0fpIsepjqnvcQaND/CkHEhSS6oeSZJJVDklHEbBauln/iPQS6zM8hxDwPvVs8 + K2lFEsieCKM40YR+dsH9qNzj33d47T0EynsOgrS2dLKzknTy7BZIoZRmI4hw+26oeg/1LjoQ1jZ39H4t + lh4IH4ZplobZzDCQdEFp6D0EujhrQdjefYvNJzucZJZIjHht2SizfLqmUCOPtCpmK6vrqvfQefczhIOD + PaxtvIDheybz+x/EsNGoq95D7ssJPPu1d9pKeT3KKyJJFG7Pt+h59PT5b62HOq2PqBJqn35AlVCreYjq + OMQvjpZMWrGxmEkAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAK5SURBVDhPhZNrSJNRHMbfdGubt9zVeclNw6GORmKilpiC + QV6Q7AJGXpIphilKWkJgX5TCKKXLJwkL6YtEdpMsy5AUtNJZ5KXC1NoKL7nt1dzWdO/T+74Otm74wAOH + 8/89zzkfziH+kJC2ZAMzzF+K8lD5jErz5VS4VortpUIknvBDWqUX9tJm1hp6j5nJaIZhmcx6lBZXKehv + /CTCMxsHXStc3Fviod0kQNt3b7TM+uHKV39c+CxC/ZQEZz7KkDugBJNxxgkiLZ9j7rV74NXPFLy1VWDI + UomB5Sq8IE+ix1SNx4s1eDh/Gh2ztWieykGBToFtWXyzM04Q2cWbyC4LFzZqHhvJ5pjHkSElgnMEpDNO + EBnFHmQHyaeHRsxZjbg41oqrH67DsGKAfkWPa/T60ngrFqwmljkwEI7g/W4FqVpP8taiN6wOEyiKQu3I + WcQ+UeP48EFoX6cj/mk0Gseb2BswzL6+CARme7kK9hRxyJY5P1jWTOvQmgVlIxko1IXi6JACDRMlcFBr + 7Ixhkp9HQprl41ZwjEteNvjjx+p6AXOLjrlqnHovR+VYEIbJ2+w+I4aJ61bDJ1PsKkgq4JHnZ8RYXjWz + kG7pJhqmJTg3rUTdpAyNM+Ew2qfYGcOoH2kgSJe4ChLyeGTdpBRLdjP0tkE0fwlDE229dRCdC1U4R5ff + +JaKVcrGMmH3YyBIlboKNIf5ZM2EHGY7yZ7iLrvDgl5TPXqMdTDYXrKM/M5O8FJkroLoXL65YjQI70zj + ztj/9cY4gS3t8fBMC3A9JHEkt79EF4JDgypk9sUirTcOyT3xSOhOREzXbqg7kxDxIBmKuykQtu/C5rYE + EAov11OmFSXZwRvVlAspdbkYqjIpwkplCCmRI0AbCFFREHwLQyDI2wpObihFqHx//0xuEtH+1xd2N8M4 + RRC/AM9ZCBr8m2J9AAAAAElFTkSuQmCC + + + + 717, 17 + + + + iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAA0SURBVChTdYkBCgAgDAL9/6eLIsd0eSCKhw/r9aCLtC88 + vAdHMEIXKUIUhMK76EfagglgA6CqHOQpL6GyAAAAAElFTkSuQmCC + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0 + dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACRTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5QYWdlU2V0dGluZ3MHAAAAD3ByaW50ZXJTZXR0aW5ncwVjb2xvcglwYXBlclNp + emULcGFwZXJTb3VyY2URcHJpbnRlclJlc29sdXRpb24JbGFuZHNjYXBlB21hcmdpbnMEBAQEBAQEJ1N5 + c3RlbS5EcmF3aW5nLlByaW50aW5nLlByaW50ZXJTZXR0aW5ncwIAAAAgU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuVHJpU3RhdGUCAAAAIVN5c3RlbS5EcmF3aW5nLlByaW50aW5nLlBhcGVyU2l6ZQIAAAAjU3lz + dGVtLkRyYXdpbmcuUHJpbnRpbmcuUGFwZXJTb3VyY2UCAAAAKVN5c3RlbS5EcmF3aW5nLlByaW50aW5n + LlByaW50ZXJSZXNvbHV0aW9uAgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAf + U3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuTWFyZ2lucwIAAAACAAAACQMAAAAF/P///yBTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5UcmlTdGF0ZQEAAAAFdmFsdWUAAgIAAAAACgoKAfv////8////AAkGAAAABQMA + AAAnU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRlclNldHRpbmdzEgAAAAtwcmludGVyTmFtZQpk + cml2ZXJOYW1lCm91dHB1dFBvcnQLcHJpbnRUb0ZpbGUUcHJpbnREaWFsb2dEaXNwbGF5ZWQKZXh0cmFi + eXRlcwlleHRyYWluZm8GY29waWVzBmR1cGxleAdjb2xsYXRlE2RlZmF1bHRQYWdlU2V0dGluZ3MIZnJv + bVBhZ2UGdG9QYWdlB21heFBhZ2UHbWluUGFnZQpwcmludFJhbmdlDGRldm1vZGVieXRlcw1jYWNoZWRE + ZXZtb2RlAQEBAAAABwAEBAQAAAAABAAHAQEHAgceU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuRHVwbGV4 + AgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAkU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuUGFnZVNldHRpbmdzAgAAAAgICAgiU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRSYW5n + ZQIAAAAHAgIAAAAKBgcAAAAACQcAAAAAAAAACv//Bfj///8eU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcu + RHVwbGV4AQAAAAd2YWx1ZV9fAAgCAAAA/////wH3/////P///wAJCgAAAAAAAAAAAAAADycAAAAAAAAF + 9f///yJTeXN0ZW0uRHJhd2luZy5QcmludGluZy5QcmludFJhbmdlAQAAAAd2YWx1ZV9fAAgCAAAAAAAA + AAAACgUGAAAAH1N5c3RlbS5EcmF3aW5nLlByaW50aW5nLk1hcmdpbnMIAAAABGxlZnQFcmlnaHQDdG9w + BmJvdHRvbQpkb3VibGVMZWZ0C2RvdWJsZVJpZ2h0CWRvdWJsZVRvcAxkb3VibGVCb3R0b20AAAAAAAAA + AAgICAgGBgYGAgAAAGQAAABkAAAAZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZ + QAEKAAAAAQAAAAkDAAAAAfP////8////AAoKCgHy/////P///wAJDwAAAAEPAAAABgAAAGQAAABkAAAA + ZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAs= + + + + <?xml version="1.0"?><Blob><Styles type="C1.Win.C1TrueDBGrid.Design.ContextWrapper"><Data>HighlightRow{ForeColor:HighlightText;BackColor:Highlight;}Style8{}Style7{}Style2{}EvenRow{BackColor:White;}Normal{}RecordSelector{AlignImage:Center;}Inactive{ForeColor:InactiveCaptionText;BackColor:InactiveCaption;}OddRow{BackColor:224, 224, 224;}Style3{}Footer{}Style14{}Heading{Wrap:True;Border:Flat,ControlDark,0, 1, 0, 1;AlignVert:Center;BackColor:Control;ForeColor:ControlText;}Style5{}Editor{}Style10{AlignHorz:Near;}FilterWatermark{ForeColor:InfoText;BackColor:Info;}Style16{}Selected{ForeColor:HighlightText;BackColor:Highlight;}Style15{}Style13{}Style12{}Style11{}Style4{}Style9{}Group{Border:None,,0, 0, 0, 0;AlignVert:Center;BackColor:ControlDark;}Style1{}Caption{AlignHorz:Center;}Style6{}FilterBar{ForeColor:Black;BackColor:255, 255, 192;}</Data></Styles><Splits><C1.Win.C1TrueDBGrid.MergeView Name="" AlternatingRowStyle="True" CaptionHeight="17" ColumnCaptionHeight="17" ColumnFooterHeight="17" FetchRowStyles="True" FilterBar="True" MarqueeStyle="DottedCellBorder" RecordSelectorWidth="17" DefRecSelWidth="17" VerticalScrollGroup="1" HorizontalScrollGroup="1"><CaptionStyle parent="Style2" me="Style10" /><EditorStyle parent="Editor" me="Style5" /><EvenRowStyle parent="EvenRow" me="Style8" /><FilterBarStyle parent="FilterBar" me="Style13" /><FilterWatermarkStyle parent="FilterWatermark" me="Style14" /><FooterStyle parent="Footer" me="Style3" /><GroupStyle parent="Group" me="Style12" /><HeadingStyle parent="Heading" me="Style2" /><HighLightRowStyle parent="HighlightRow" me="Style7" /><InactiveStyle parent="Inactive" me="Style4" /><OddRowStyle parent="OddRow" me="Style9" /><RecordSelectorStyle parent="RecordSelector" me="Style11" /><SelectedStyle parent="Selected" me="Style6" /><Style parent="Normal" me="Style1" /><ClientRect>0, 0, 830, 467</ClientRect><BorderSide>0</BorderSide></C1.Win.C1TrueDBGrid.MergeView></Splits><NamedStyles><Style parent="" me="Normal" /><Style parent="Normal" me="Heading" /><Style parent="Heading" me="Footer" /><Style parent="Heading" me="Caption" /><Style parent="Heading" me="Inactive" /><Style parent="Normal" me="Selected" /><Style parent="Normal" me="Editor" /><Style parent="Normal" me="HighlightRow" /><Style parent="Normal" me="EvenRow" /><Style parent="Normal" me="OddRow" /><Style parent="Heading" me="RecordSelector" /><Style parent="Normal" me="FilterBar" /><Style parent="FilterBar" me="FilterWatermark" /><Style parent="Caption" me="Group" /></NamedStyles><vertSplits>1</vertSplits><horzSplits>1</horzSplits><Layout>None</Layout><DefaultRecSelWidth>17</DefaultRecSelWidth><ClientArea>0, 0, 830, 467</ClientArea><PrintPageHeaderStyle parent="" me="Style15" /><PrintPageFooterStyle parent="" me="Style16" /></Blob> + + + + AAABAAEAICAEAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP// + AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAaGAAAAAAAAAAAAAAAAAABod2 + YAAAAAAAAAAAAAAAAAaH93ZgAAAAAAAAAAAAAABof/+HdmAAAAAAAAAAAAAAaH///4d2YAAAAAAAAAAA + Bof//4//93dgAAAAAAAAAAaH/4/////3dmAAAAAAAABof//4j///ePd2YAAAAAAAaH/4//iI/3//93Zg + AAAABof//4j///eP//93dmAAAAaH/4//iI/3/////3d2YABof//4j///eP+P/4//dwAAaH/4//iI/3// + +I////8ABof//4j///eP+P/4iP/wAACH+I//iI/3//+I//+I8AAAD//4j///eP+P/4AADwAAAAD///iI + /3//+Id4iHAAAAAAAP////eP+Ph4iIiIcAAAAAAA//8H//+HiP//iIcAAAAAAAAAAP+Ph/////+IAAAA + AAAAAAAP+H//////iHAAAAAAAAAAAP9///8AAPiAAAAAAAAAAAAAf///D//4gAAAAAAAAAAAAA///w// + +IAAAAAAAAAAAAAA//8P/4gAAAAAAAAAAAAAAP//D/+IAAAAAAAAAAAAAAAP///4gAAAAAAAAAAAAAAA + AA//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/P////g////4D///8AP///AA///gA + D//4AAP/8AAA//AAAD/gAAAP4AAAA8AAAADAAAAAgAAAAYAAAAEAAAADgAAAA8AAAAfgAAAH8AAAA/wA + AAH/CAAB//wAAP/+AAD//wAA///AAP//4AH//+AB///wA///+Af///4f/////w== + + + \ No newline at end of file diff --git a/Themenmanagement/Pendenzenmanagement/frmPendenzübersicht.vb b/Themenmanagement/Pendenzenmanagement/frmPendenzübersicht.vb new file mode 100644 index 0000000..404bfee --- /dev/null +++ b/Themenmanagement/Pendenzenmanagement/frmPendenzübersicht.vb @@ -0,0 +1,325 @@ +Imports C1.Win.C1TrueDBGrid +Public Class frmPendenzübersicht + +#Region "Deklarationen" + Dim Pendenzen As New TKB.VV.Vertrag.clsPendenzUebersicht + Dim Pendenz As New TKB.VV.Vertrag.clsPendenz + + Dim sec As New Utils.MySecurity + Dim msg As New Utils.MyMessage + Dim SpaltenTitel As New Utils.Tabellenspalte + Dim data As New DataTable + Dim FormReadOnly As Boolean = False + Dim Save_Status As String + ''' + ''' Generic Event-Handler + ''' + ''' + Dim WithEvents evh As MyGenericEventHandler = Globals.MyEventHanlder + Dim StatusTable As New DB.clsPendenzstatus + Dim Statusdata As New DataTable +#End Region + + ''' + ''' Laden des Formulars + ''' + ''' + ''' + ''' + Private Sub frmPendenzübersicht_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + Get_Load_Status() + Me.StatusToolStripComboBox.SelectedIndex = 1 + Refresh_Uebersicht() + End Sub + ''' + ''' Aktualisieren der Pendenz-Übersicht + ''' + ''' + Private Sub Refresh_Uebersicht() + Me.C1Pendenzen.Enabled = False + Try + Dim i As Integer = -1 + For Each dr As DataRow In Me.Statusdata.Rows + If dr.Item("Bezeichnung") = Me.StatusToolStripComboBox.SelectedItem Then i = dr.Item("Pendenzstatusnr") + Next + ' data = Pendenzen.Get_Pendenzuebersicht(0, Me.StatusToolStripComboBox.SelectedItem) + data = Pendenzen.Get_Pendenzuebersicht(0, i) + Me.Save_Status = Me.StatusToolStripComboBox.SelectedItem + Catch ex As Exception + Dim i1 As Integer = -1 + For Each dr As DataRow In Me.Statusdata.Rows + If dr.Item("Bezeichnung") = Me.Save_Status Then i1 = dr.Item("Pendenzstatusnr") + Next + data = Pendenzen.Get_Pendenzuebersicht(0, i1) + End Try + Dim filtertext As String = "" + Try + For Each c As C1DataColumn In Me.C1Pendenzen.Columns + If c.FilterText <> "" Then filtertext = filtertext + ";" + c.Caption + ":" + c.FilterText + Next + Catch ex As Exception + End Try + Me.C1Pendenzen.DataSource = data + Me.C1Pendenzen.DataMember = data.TableName + Me.SpaltenTitel.Spaltentitel_aktualisieren(Me.C1Pendenzen, "Pendenzuebersicht", data, False) + Try + Dim splitter() + splitter = filtertext.Split(";") + If splitter.Length > 1 Then + For Each s As String In splitter + Dim splitter1() As String + splitter1 = s.Split(":") + Try + Me.C1Pendenzen.Columns(splitter1(0)).FilterText = splitter1(1) + Catch ex As Exception + + End Try + Next + End If + Catch + End Try + Me.C1Pendenzen.Enabled = True + sec.Set_Form_Security(Me) + End Sub + Private Sub Get_Load_Status() + Me.StatusToolStripComboBox.Items.Clear() + Me.StatusToolStripComboBox.Items.Add("Alle") + Me.StatusTable.cpMainConnectionProvider = Globals.conn + Statusdata = Me.StatusTable.SelectAll() + For Each dr As DataRow In Me.Statusdata.Rows + If dr.Item("Aktiv") = True Then + Me.StatusToolStripComboBox.Items.Add(dr.Item("Bezeichnung")) + End If + Next + + End Sub + ''' + ''' Selektion nach Status ändern + ''' + ''' + ''' + ''' + Private Sub StatusToolStripComboBox_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles StatusToolStripComboBox.SelectedIndexChanged + Refresh_Uebersicht() + End Sub + + Private Sub evh_Pendenz_Closed() Handles evh.Pendenz_Closed + Me.Refresh_Uebersicht() + End Sub + + ''' + ''' Aktualisierung des Formulars + ''' + ''' + ''' + Private Sub evh_FormularPendenz_Closed() Handles evh.FormularPendenz_Closed, evh.Pendenz_Deleted + Refresh_Uebersicht() + End Sub + + ''' + ''' Formular schliessen + ''' + ''' + ''' + ''' + Private Sub TSBtnQuit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnQuit.Click + Me.Close() + End Sub + + ''' + ''' Neue Pendenz erstellen + ''' + ''' + ''' + ''' + Private Sub TSBtnNew_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnNew.Click + Dim f As New frmPendenz(Me.Pendenz.Add_New(0), 0, Me.FormReadOnly, False) + f.MdiParent = Me.MdiParent + f.Show() + End Sub + + ''' + ''' C1Pendenz-Doubleklick + ''' + ''' + ''' + ''' + Private Sub C1Pendenzen_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles C1Pendenzen.DoubleClick + Try + Dim f As New frmPendenz(Me.C1Pendenzen.Columns("Pendenznr").Value, 0, Me.FormReadOnly, False) + f.MdiParent = Me.MdiParent + f.Show() + Catch ex As Exception + + End Try + End Sub + ''' + ''' Mousedown im Grid + ''' + ''' + ''' + ''' + Private Sub C1Pendenzen_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles C1Pendenzen.MouseDown + Me.C1Pendenzen.Bookmark = Me.C1Pendenzen.RowContaining(e.Y) + End Sub + + ''' + ''' Pendenz inaktivieren + ''' + ''' + ''' + ''' + Private Sub TSBtnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnDelete.Click + If msg.Show_MessageYesNo(290) = MsgBoxResult.Yes Then + Me.Pendenz.Delete_Pendenz(Me.C1Pendenzen.Columns("Pendenznr").Value) + Me.Refresh_Uebersicht() + End If + + End Sub + ''' + ''' Rowstyle von inaktiven Pendenzen + ''' + ''' + ''' + ''' + Private Sub C1Pendenzen_FetchRowStyle(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.FetchRowStyleEventArgs) Handles C1Pendenzen.FetchRowStyle + Try + If Me.C1Pendenzen.Columns("aktiv").CellValue(e.Row) = False Then + Dim FNT As Font = e.CellStyle.Font + e.CellStyle.Font = New Font(FNT, FontStyle.Strikeout) + e.CellStyle.ForeColor = Color.Gray + End If + If Me.C1Pendenzen.Columns("PendenzStatusNr").CellValue(e.Row) < 3 Then + If Me.C1Pendenzen.Columns("Termin").CellValue(e.Row) < Now Then + Dim fnt As Font = e.CellStyle.Font + e.CellStyle.ForeColor = Color.Red + End If + End If + + Catch + End Try + End Sub + + + ''' + ''' Context-Menu anzeigen + ''' + ''' + ''' + ''' + Private Sub AnzeigenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AnzeigenToolStripMenuItem.Click + Me.C1Pendenzen_DoubleClick(sender, e) + End Sub + ''' + ''' Context-Menu Neu + ''' + ''' + ''' + ''' + Private Sub NeuToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NeuToolStripMenuItem.Click + Me.TSBtnNew_Click(sender, e) + End Sub + ''' + ''' Context-Menu Löschen/Inaktivieren + ''' + ''' + ''' + ''' + Private Sub LöschenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LöschenToolStripMenuItem.Click + Me.TSBtnDelete_Click(sender, e) + End Sub + +#Region "Context-Menu-Handling" + + ''' + ''' Enabling bzw. Disabling der Menu-Einträge aufgrund der angezeigten Rows im Truedbgrind + ''' + ''' Zu bearbeitendes Menu + ''' Betroffenes Grid + ''' + ''' Nach dem Setzen der Submenus wird sec.form_Security durchlaufen, damit allfällig standardmössig aktivierte Menueinträge + ''' aufgrund der Security-Einstellung wieder deaktiviert werden + Private Function Disable_Enable_Menu(ByRef menu As ContextMenuStrip, ByRef c1data As C1TrueDBGrid) + If c1data.Splits(0).Rows.Count = 0 Then + For Each obj As Object In menu.Items + Dim objtype As System.Type = obj.GetType + If LCase(objtype.Name) = "toolstripmenuitem" Then + Dim mnu As ToolStripMenuItem = obj + If mnu.Text.IndexOf("Neu") > 0 Then + mnu.Enabled = True + Else + mnu.Enabled = False + End If + End If + Next + Else + For Each obj As Object In menu.Items + Dim objtype As System.Type = obj.GetType + If LCase(objtype.Name) = "toolstripmenuitem" Then + Dim mnu As ToolStripMenuItem = obj + mnu.Enabled = True + End If + Next + End If + sec.Set_Form_Security(Me) + + End Function + + ''' + ''' Handelt das Opending-Ereignis des Context-Menus + ''' + ''' + ''' Überi Disable_Enable_Menu werden die Menueinträge aktiviert bzw. deaktiviert + ''' + ''' + ''' + ''' + Private Sub KontakteMenuStrip_Opening(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles PendenzenContextMenuStrip.Opening + Me.Disable_Enable_Menu(sender, Me.C1Pendenzen) + End Sub +#End Region + + + Private Sub tsbtnprint_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tsbtnprint.Click + Dim fontbold As New Font("Arial", 12, FontStyle.Bold) + Dim fontregular As New Font("Arial", 12, FontStyle.Regular) + + With Me.C1Pendenzen.PrintInfo + .PageHeaderStyle.Font = fontbold + .PageSettings.Margins.Bottom = 20 + .PageSettings.Margins.Top = 20 + .PageSettings.Landscape = True + .PageFooter = "Seite \p von \P" & vbLf & "Druckdatum " & Now() + .PageHeader = "Pendenzen" + .ShowProgressForm = True + .UseGridColors = True + .RepeatColumnHeaders = True + .VarRowHeight = .RowHeightEnum.StretchToFit + .WrapText = C1.Win.C1TrueDBGrid.PrintInfo.WrapTextEnum.NoWrap + .PageBreak = .PageBreaksEnum.OnColumn + .FillAreaWidth = .FillEmptyEnum.None + .PrintPreview() + End With + + + End Sub + + Private Sub BeendenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles BeendenToolStripMenuItem.Click + Me.Close() + End Sub + + Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ToolStripButton1.Click + Me.Close() + End Sub + + Private Sub StatusToolStripComboBox_Click(sender As Object, e As EventArgs) Handles StatusToolStripComboBox.Click + + End Sub + + Private Sub ToolStripButton2_Click(sender As Object, e As EventArgs) Handles ToolStripButton2.Click + Dim xls As New XLSLib.clsXLSLib + xls.Write_Excel(data, True) + + End Sub +End Class \ No newline at end of file diff --git a/Themenmanagement/Sysadmin/FrmToolTipEditor.designer.vb b/Themenmanagement/Sysadmin/FrmToolTipEditor.designer.vb new file mode 100644 index 0000000..ee01eae --- /dev/null +++ b/Themenmanagement/Sysadmin/FrmToolTipEditor.designer.vb @@ -0,0 +1,178 @@ + _ +Partial Class FrmToolTipEditor + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(FrmToolTipEditor)) + Me.MenuStrip1 = New System.Windows.Forms.MenuStrip + Me.DateiToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem + Me.BeendenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem + Me.ToolStrip1 = New System.Windows.Forms.ToolStrip + Me.TSBtnQuit = New System.Windows.Forms.ToolStripButton + Me.lblFormular = New System.Windows.Forms.Label + Me.txtFormularname = New System.Windows.Forms.TextBox + Me.txtControlname = New System.Windows.Forms.TextBox + Me.lblControl = New System.Windows.Forms.Label + Me.lblToolTip = New System.Windows.Forms.Label + Me.txtToolTip = New System.Windows.Forms.TextBox + Me.btnSave = New System.Windows.Forms.Button + Me.MenuStrip1.SuspendLayout() + Me.ToolStrip1.SuspendLayout() + Me.SuspendLayout() + ' + 'MenuStrip1 + ' + Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DateiToolStripMenuItem}) + Me.MenuStrip1.Location = New System.Drawing.Point(0, 0) + Me.MenuStrip1.Name = "MenuStrip1" + Me.MenuStrip1.Size = New System.Drawing.Size(587, 24) + Me.MenuStrip1.TabIndex = 1 + Me.MenuStrip1.Text = "MenuStrip1" + ' + 'DateiToolStripMenuItem + ' + Me.DateiToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.BeendenToolStripMenuItem}) + Me.DateiToolStripMenuItem.Name = "DateiToolStripMenuItem" + Me.DateiToolStripMenuItem.Size = New System.Drawing.Size(44, 20) + Me.DateiToolStripMenuItem.Text = "&Datei" + ' + 'BeendenToolStripMenuItem + ' + Me.BeendenToolStripMenuItem.Name = "BeendenToolStripMenuItem" + Me.BeendenToolStripMenuItem.Size = New System.Drawing.Size(152, 22) + Me.BeendenToolStripMenuItem.Text = "&Beenden" + ' + 'ToolStrip1 + ' + Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.TSBtnQuit}) + Me.ToolStrip1.Location = New System.Drawing.Point(0, 24) + Me.ToolStrip1.Name = "ToolStrip1" + Me.ToolStrip1.Size = New System.Drawing.Size(587, 25) + Me.ToolStrip1.TabIndex = 2 + Me.ToolStrip1.Text = "ToolStrip1" + ' + 'TSBtnQuit + ' + Me.TSBtnQuit.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnQuit.Image = CType(resources.GetObject("TSBtnQuit.Image"), System.Drawing.Image) + Me.TSBtnQuit.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnQuit.Name = "TSBtnQuit" + Me.TSBtnQuit.Size = New System.Drawing.Size(23, 22) + Me.TSBtnQuit.Text = "Fenster schliessen" + Me.TSBtnQuit.ToolTipText = "Fenster schliessen" + ' + 'lblFormular + ' + Me.lblFormular.AutoSize = True + Me.lblFormular.Location = New System.Drawing.Point(12, 61) + Me.lblFormular.Name = "lblFormular" + Me.lblFormular.Size = New System.Drawing.Size(73, 13) + Me.lblFormular.TabIndex = 3 + Me.lblFormular.Text = "Formularname" + ' + 'txtFormularname + ' + Me.txtFormularname.Location = New System.Drawing.Point(91, 61) + Me.txtFormularname.Name = "txtFormularname" + Me.txtFormularname.Size = New System.Drawing.Size(210, 20) + Me.txtFormularname.TabIndex = 4 + ' + 'txtControlname + ' + Me.txtControlname.Location = New System.Drawing.Point(91, 87) + Me.txtControlname.Name = "txtControlname" + Me.txtControlname.Size = New System.Drawing.Size(210, 20) + Me.txtControlname.TabIndex = 5 + ' + 'lblControl + ' + Me.lblControl.AutoSize = True + Me.lblControl.Location = New System.Drawing.Point(12, 90) + Me.lblControl.Name = "lblControl" + Me.lblControl.Size = New System.Drawing.Size(40, 13) + Me.lblControl.TabIndex = 6 + Me.lblControl.Text = "Control" + ' + 'lblToolTip + ' + Me.lblToolTip.AutoSize = True + Me.lblToolTip.Location = New System.Drawing.Point(12, 126) + Me.lblToolTip.Name = "lblToolTip" + Me.lblToolTip.Size = New System.Drawing.Size(43, 13) + Me.lblToolTip.TabIndex = 7 + Me.lblToolTip.Text = "ToolTip" + ' + 'txtToolTip + ' + Me.txtToolTip.Location = New System.Drawing.Point(91, 119) + Me.txtToolTip.Multiline = True + Me.txtToolTip.Name = "txtToolTip" + Me.txtToolTip.Size = New System.Drawing.Size(474, 75) + Me.txtToolTip.TabIndex = 8 + ' + 'btnSave + ' + Me.btnSave.Location = New System.Drawing.Point(91, 220) + Me.btnSave.Name = "btnSave" + Me.btnSave.Size = New System.Drawing.Size(75, 23) + Me.btnSave.TabIndex = 9 + Me.btnSave.Text = "Speichern" + Me.btnSave.UseVisualStyleBackColor = True + ' + 'FrmToolTipEditor + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(587, 262) + Me.Controls.Add(Me.btnSave) + Me.Controls.Add(Me.txtToolTip) + Me.Controls.Add(Me.lblToolTip) + Me.Controls.Add(Me.lblControl) + Me.Controls.Add(Me.txtControlname) + Me.Controls.Add(Me.txtFormularname) + Me.Controls.Add(Me.lblFormular) + Me.Controls.Add(Me.ToolStrip1) + Me.Controls.Add(Me.MenuStrip1) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.Name = "FrmToolTipEditor" + Me.Text = "ToolTipEditor" + Me.MenuStrip1.ResumeLayout(False) + Me.MenuStrip1.PerformLayout() + Me.ToolStrip1.ResumeLayout(False) + Me.ToolStrip1.PerformLayout() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents MenuStrip1 As System.Windows.Forms.MenuStrip + Friend WithEvents DateiToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents BeendenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStrip1 As System.Windows.Forms.ToolStrip + Friend WithEvents TSBtnQuit As System.Windows.Forms.ToolStripButton + Friend WithEvents lblFormular As System.Windows.Forms.Label + Friend WithEvents txtFormularname As System.Windows.Forms.TextBox + Friend WithEvents txtControlname As System.Windows.Forms.TextBox + Friend WithEvents lblControl As System.Windows.Forms.Label + Friend WithEvents lblToolTip As System.Windows.Forms.Label + Friend WithEvents txtToolTip As System.Windows.Forms.TextBox + Friend WithEvents btnSave As System.Windows.Forms.Button +End Class diff --git a/Themenmanagement/Sysadmin/FrmToolTipEditor.resx b/Themenmanagement/Sysadmin/FrmToolTipEditor.resx new file mode 100644 index 0000000..d685f9e --- /dev/null +++ b/Themenmanagement/Sysadmin/FrmToolTipEditor.resx @@ -0,0 +1,2163 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + 126, 17 + + + + + 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 + AAAAAAAHeLdzE0NSf4+P93iP/4+P////coAAAAAAAAAAAAAAAAAHiHd3NDUo//+Hf/j4//+Pj/h1cAAA + AAAAAAAAAAAAAAAHi3lxJTGPj4eI//+Pj///j3KAAAAAAAAAAAAAAAAAAAB4iHdzU3j/h///j//4/4/4 + dXAAAAAAAAAAAAAAAAAAAH+It5Mxd/h/j4//j/////hygAAAAAAAAAAAAAAAAAAAePiIg3Ewj4///4// + /4+P+HGAAAAAAAAAAAAAAAAAAAB/+P//j4cY/4////j////4cnAAAAAAAAAAAAAAAAAAAI+P+Pj4+Pj/ + /4/4//////h1gAAAAAAAAAAAAAAAAAAAiP+P//////j/////////+HCAAAAAAAAAAAAAAAAAAAB/j//4 + /4/4///////////4cwAAAAAAAAAAAAAAAAAAAI/4+P////////////////h0AAAAAAAAAAAAAAAAAAAA + iP//+Pj/////////////+HMAAAAAAAAAAAAAAAAAAACPj4//////////////////VgAAAAAAAAAAAAAA + AAAACI////////////////////hzAAAAAAAAAAAAAAAAAAAHZ4//////////////////+HUAAAAAAAAA + AAAAAAAAAAd2YHeP///////////////4JwAAAAAAAAAAAAAAAAAACH52ZiR3j/////////////gXAAAA + AAAAAAAAAAAAAAAAd3joZ2Zgd4//////////+GcAAAAAAAAAAAAAAAAAAAAAB3d+hmdmAleP///////4 + UwAAAAAAAAAAAAAAAAAAAAAAAId3jodnZmB4j/////glAAAAAAAAAAAAAAAAAAAAAAAAAAh3fo53ZwYG + WI//+DcAAAAAAAAAAAAAAAAAAAAAAAAAAAAHd46OhnYkIHiIZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + d3fo6OdmYAcHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACHd3jod2dgIAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAd36OjgdwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB3d3YHAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAId3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////////////////////////// + ///////j/////////gH////////wAf///////4AB///////8AAH//////+AAAf/////+AAAB+H////AA + AAHwD///gAAAAfAH//4AAAAB4AH//AAAAAHgAP/8AAAAAcAAf/wAAAABwAAf/AAAAAGAAB/8AAAAAcAA + D/wAAAAB4AAD/AAAAAHgAAH4AAAAAfAAAHgAAAAB/AAAOAAAAAH+AAAYAAAAAf+AAAAAAAAB/+AAAAAA + AAH//AAAAAAAAf/+AAAAAAAB//+AAAAAAAH//8AAAAAAAf//8AAAAAAB///8AAAAAAH///4AAAAAAf// + /4AAAAAB////4AAAAAH////wAAAAAf////AAAAAB////8AAAAAH////wAAAAAf////AAAAAB////8AAA + AAH////wAAAAA/////AAAAAD////8AAAAAP////wAAAAA////+AAAAAD////4AAAAAP////gAAAAA/// + /+AAAAAD////8AAAAAP////+AAAAA//////AAAAD//////gAAAP//////4AAA///////8AAD///////+ + AAP////////gA/////////wD/////////4f//////////////////////////////////////////ygA + AAAwAAAAYAAAAAEABAAAAAAAAAYAAAAAAAAAAAAAEAAAABAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAA + gACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD///8AAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAHcAAAAAAAAAAAAAAAAAAAAAAAAAAAAHdndwAAAAAAAAAAAAAAAAAAAAAAAA + B3dHF3ZwAAAAAAAAAAAAAAAAAAAAAAB3d3c3Z4FwAAAAAAAAAAAAAAAAAAAAB3d3iIdnGIdwAAAHAAAA + AAAAAAAAAAB3d4j4/3cXePBwAAB1N3AAAAAAAAAAB3d4j4+PiHZ3f4dwAAdzYTdwAAAAAAAHd4+P+P+P + h3F3iIdwAHd1MhJXAAAAAAB4+Pj4+Pj492d3j4BwAHNTEzEydwAAAAB/j4+Pj4+PcXV4+IdwB4dxMTIT + B3AAAAB4+Pj/j4+Pd3J4/4NwCI9zMzEzE3gAAAB/j/j4+P+IclePj4RwAHu3MxMSMFJwAAB/j4+Pj4+H + d3f4+IdwAAe7tzMzE2E3AACI+Pj4+PiHB3iP+INwAAB7u7MTNTQ0dwB/j4/4/4+Hd3/4/4VwAAAIe7uz + U0NDB3h/j4+Pj490d/j4+IJwAAAAB3u4NzFzQwd/+Pj4+PhzePj/j4VwAAAAAAd4iDU0M1J4+P+P+Ph3 + f4/4+INwAAAAAAAHeItTUHF4j4+Pj4d3iP+P+IZwAAAAAAAAB3h3NxYWiP+Pj/d4//j4/4FwAAAAAAAA + AAeIMzFjF4+P+Id/j4//j3aAAAAAAAAAAAB3iHU1JTj/j4ePj/j4/4NwAAAAAAAAAAAAd4tTUlf4+Hf/ + /4//+IVwAAAAAAAAAAAACHeDc1N/+H+Pj//4/3dwAAAAAAAAAAAAAAeINzF4+I//+Pj//3NwAAAAAAAA + AAAAAAf4h3MTiPj4///4/3dwAAAAAAAAAAAAAAf/j4+Hf///+P///3dwAAAAAAAAAAAAAAj4//j4/4/4 + /////3dwAAAAAAAAAAAAAAf4+P///////////3NwAAAAAAAAAAAAAAj///+Pj////////3WAAAAAAAAA + AAAAAHj4+P///////////4IAAAAAAAAAAAAAAIj//////////////3UAAAAAAAAAAAAAAHZ4//////// + /////3cAAAAAAAAAAAAAAIdmB3j//////////3MAAAAAAAAAAAAAAAd452cHeP///////3QAAAAAAAAA + AAAAAAAHd36Gdgd4/////3MAAAAAAAAAAAAAAAAAAHd36OZiR3iP/3cAAAAAAAAAAAAAAAAAAAAId3eO + d2ZneHEAAAAAAAAAAAAAAAAAAAAAAAd3fohmZgZwAAAAAAAAAAAAAAAAAAAAAAAAh3Z45wcAAAAAAAAA + AAAAAAAAAAAAAAAAAAh3d2cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB3AAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////// + ///////////////////////////////z/////////4H////////4Af///////8AB///////+AAH///v/ + //AAAf//8H//gAAB///gH/4AAAH//8AP/AAAAf//wAP8AAAB//+AAfwAAAH//4AA/AAAAf//wAB8AAAB + ///gADwAAAH///AADAAAAf//+AAAAAAB///+AAAAAAH///+AAAAAAf///+AAAAAB////+AAAAAH////+ + AAAAAf////8AAAAB/////8AAAAH/////4AAAAf/////4AAAB//////gAAAH/////+AAAAf/////4AAAB + //////gAAAH/////+AAAAf/////wAAAD//////AAAAP/////8AAAA//////wAAAD//////gAAAP///// + /gAAA///////wAAD///////4AAP///////+AAf////////AD/////////gP/////////5/////////// + ////////////////////////KAAAACAAAABAAAAAAQAEAAAAAACAAgAAAAAAAAAAAAAQAAAAEAAAAAAA + AAAAAIAAAIAAAACAgACAAAAAgACAAICAAACAgIAAwMDAAAAA/wAA/wAAAP//AP8AAAD/AP8A//8AAP// + /wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAd4AAAAAAAAAAAAAA + AAAHdhdAAAAAAAAAAAAAAAB3dzV4MAAAAAAAAAAAAAd3ePd2eEAAdwdwAAAAAHd4j4+Hd4gwAHcSFwAA + AAeI+Pj4g1eIQAc1MzBwAAAIj4/4+HZ49zAIgxMTBwAAePj4+Ph3ePhAB3szMTMIAIiPj4+HV4+IMAB7 + szMWEnB4+Pj49yf4+EAACHuzcWEHeP+P+Id/j4gwAAAHeLcTcA+Pj493iP/3UAAAAAd4dxYY+Pj4d4/4 + 92AAAAAAB3gxcHj/j3j/j/cwAAAAAAAHhzcHj4iI+Pj4UAAAAAAAAHeDc3j3j///iCAAAAAAAAAIeHE3 + +P+Pj/dwAAAAAAAAAH+Ih4j////3UAAAAAAAAACP//j/////9zAAAAAAAAAIiPj///////dwAAAAAAAA + B4/////////3cAAAAAAAAAd4////////9zAAAAAAAAAId2eI//////dwAAAAAAAAAHd2dmd4///3UAAA + AAAAAAAACHd3dmd493AAAAAAAAAAAAAAB3d+dmYwAAAAAAAAAAAAAAAAd3aAcAAAAAAAAAAAAAAAAAAI + dwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////////8f///4H///wB///gAcH/ + AAHA/gABgH4AAYA8AAGADAABwAQAAeAAAAH4AAAB/gAAAf+AAAH/4AAB//AAAf/4AAH//AAB//wAAf/4 + AAH/+AAB//gAAf/4AAH//AAB//+AAf//+AH///8B////4///////////KAAAABoAAAA0AAAAAQAEAAAA + AAAIAgAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAIAAAIAAAACAgACAAAAAgACAAICAAACAgIAAwMDAAAAA + /wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAA + AAAAAAAAAAAHcAcAAAAAAAAAAAAAAABzd3d3AAAAAHcAAAAAAHd3j4R4dwAAAAdwJwAAAHd4+PiDeHcA + AAAHUxA4AAB/+Pj4R4h3AAAACDMzAIAAiI+PiHePdwAAAAizMTcHAI/4/4d3+HcAAAAAe7MXAWCI+PiH + f493AAAAAAB7czQwj4+Pd4j4NwAAAAAAAIg1NH+Pj3f4/3cAAAAAAAAHhzNX+Ph4//h3AAAAAAAAAAh3 + M3j4j4/4dwAAAAAAAAAAB3cYiPj4/3cAAAAAAAAAAAiIc4j///hnAAAAAAAAAAAIj/+P////dwAAAAAA + AAAACPj//////1gAAAAAAAAAAAf///////83AAAAAAAAAAAHeI//////aAAAAAAAAAAACHZ2eI///xcA + AAAAAAAAAAAAh3Z2eI9oAAAAAAAAAAAAAAAIhodnBwAAAAAAAAAAAAAAAAAHd2AAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////9////4P///wD/P/AA/g/AAP4DwAD+AcAA/gDAAP8AQ + AD/wAAA//AAAP/4AAD//gAA//+AAP//gAD//4AA//+AAP//gAD//4AA//+AAP//8AD///4A////4f/// + ////////KAAAABgAAAAwAAAAAQAEAAAAAACAAQAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAIAAAIAAAACA + gACAAAAAgACAAICAAACAgIAAwMDAAAAA/wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAHUhcAAAAAAAAAAHd3Z3cANoAAAAB3d4+BeHcHcQcAAAd4+P93 + eHcDUzAwAAf4/4h3iHcIMxMEAAj4+Phnj3cIuzMzBwiPj4d4+HcAB7NxcFj4+Pd/+HcAAAh3NSiPj4eI + +HcAAACHc3GI+If/j3cAAAAAh3NX/3+P+HcAAAAAAHcziI/4/0gAAAAAAH+HePj//zcAAAAAAIj4//// + /3gAAAAAAH///////wAAAAAAAH///////3AAAAAAAHdnj////wAAAAAAAAB3dmiP/3AAAAAAAAAACHd3 + ZwAAAAAAAAAAAAB3d2AAAAAAAAAAAAAAB4AAAAAAAAAAAAAAAAD////////9////4P///wD/x/AA/4Pg + AP+B4AD/gOAA/4AgAP/gAAD/+AAA//wAAP//AAD//8AA///AAP//wAD//8AB///AAf//wAH///AB///+ + Af///8H////5//////8oAAAAFgAAACwAAAABAAQAAAAAAGABAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAA + gAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAAdzB3AAAAAAAAAAd3eHd3AAcScAAAB3j4h3h3AANT + BgAAiPj/h3h3AIgxMxAAiPj4d393AAezMWCAj4+PZ4iHAACDszUHiP+IeP93AAAAh3MwiPj3f493AAAA + AIdxeI/3+P93AAAAAAh3MYiIj/h3AAAAAAAHdziP+P93AAAAAAAI+IeP//93AAAAAAAH+P////93AAAA + AAAI//////93AAAAAAAHeP////93AAAAAAAAd2d4//93AAAAAAAAAHh3Z3h3AAAAAAAAAAAAeGcIAAAA + AAAAAAAAAAhwAAAAAAAAAAAAAAAAAP////////f///8D///4A/+H4AP/g8AD/wHAA/+AQAP/wAAD//AA + A//8AAP//gAD//+AA///gAP//4AD//+AA///gAP//8AD///wA////wP////n//////8oAAAAFAAAACgA + AAABAAQAAAAAAEABAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAICA + gADAwMAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAB3AAAAAA + AAAAAAB3Q3cAAABwAAAAB3eId3cAAAcQcAAHePj3eHcAAHczBgAIj4+HeIcAAAgxMSgI+PiHf3cAAAi7 + M1B4j493+IcAAAAIdzUn+Ph4j3cAAAAACHN1iPh//3cAAAAAAAhzGPiI+IcAAAAAAAB4c4j//3cAAAAA + AAB/iI///3cAAAAAAACP/////3gAAAAAAAB4/////3cAAAAAAACGd4///3cAAAAAAAAAh3Z3j3cAAAAA + AAAAAAB3dmcAAAAAAAAAAAAAB3AAAAAAAAAAAAAAAAAAAP///////5////wP/9/gD/+HgA//A4AP/4CA + D/+AAA//4AAP//gAD//+AA///wAP//8AD///AA///wAP//8AD///wA////wP////n///////KAAAABAA + AAAgAAAAAQAEAAAAAADAAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAIAAAIAAAACAgACAAAAAgACAAICA + AACAgIAAwMDAAAAA/wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAAAAAAAAAAAAAAAAAAAAd3AAAAAAB3 + d3cFJwAId/h3h3cxMAf4+HeHCzMUCI+IeIcAg3MH+PePhwAAdzePh/iHAAAIdziI+IcAAAAId4//hwAA + AAj///+HAAAAiP///4cAAAAHaI//hwAAAAAHd2d3AAAAAAAAh3gAAAAAAAAAAP//////+P///8D//44A + //8GAP//ggD//8AA///wAP//+AD///4A///+AP///AD///4A////gP////D///////+JUE5HDQoaCgAA + AA1JSERSAAABAAAAAQAIBgAAAFxyqGYAACAASURBVHic7b15eFzlmad9l0pSqbSUatEuqyRbXsALGAwN + GDBbAIcmAUIncccTO+k2YDqkM9PJl68nmcn0TDKT/tKm88XBExN8dcZ2m3aTIcv0hCEhQCBusmDAJjab + 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 + AAAAAAAA////////////////////////////////////////////////////4/////////4B//////// + 8AH///////+AAf///////AAB///////gAAH//////gAAAfh////wAAAB8A///4AAAAHwB//+AAAAAeAB + //wAAAAB4AD//AAAAAHAAH/8AAAAAcAAH/wAAAABgAAf/AAAAAHAAA/8AAAAAeAAA/wAAAAB4AAB+AAA + AAHwAAB4AAAAAfwAADgAAAAB/gAAGAAAAAH/gAAAAAAAAf/gAAAAAAAB//wAAAAAAAH//gAAAAAAAf// + gAAAAAAB///AAAAAAAH///AAAAAAAf///AAAAAAB///+AAAAAAH///+AAAAAAf///+AAAAAB////8AAA + AAH////wAAAAAf////AAAAAB////8AAAAAH////wAAAAAf////AAAAAB////8AAAAAP////wAAAAA/// + //AAAAAD////8AAAAAP////gAAAAA////+AAAAAD////4AAAAAP////gAAAAA/////AAAAAD/////gAA + AAP/////wAAAA//////4AAAD//////+AAAP///////AAA////////gAD////////4AP////////8A/// + //////+H//////////////////////////////////////////8oAAAAMAAAAGAAAAABAAgAAAAAAIAK + AAAAAAAAAAAAAAABAAAAAQAAAAAAAJeeoQBiYkYAG0RMACD0/QD+/v4AlJWVAIGCgQCcoqUAU1MhAJO6 + 1AC8vGUANUZTAJSUSQAAcocAoaKiAObm5gCNjXsAk5WFAKOkVgBnZH0AVVlbAA32+gCJiooA7u7uAG5y + dgDq6uoAUWl7AEVFHQCampoA8vLyAOzs7ABRTGcAra2tAPT09ADw8PAA6OjoAEZNUwA0PUQAzc3NAPj4 + +AC8ztwAh4psAIiOkAAAY3UAbYuiAGlpaQCrq1sAW1smAI2TlQBfYWIAUlVWAEpOUQC+vr4AcZGqAJGW + mADV1dUAcnV2AIqsxAAJS1cAfn5+AHuAgwBNVFkA9vb2APr6+gD8/PwAOTkYAHV6gQBsbGwAZWVIAFNj + agA4SFQAJ0tYALCwsAA0QUsA4ODgAHqGjQA8TloAJUVlAN7e3gChomIAfqG7AABcbABhZGYAZmZmAMDA + wADJyckAuLm5ALS0ZABbXl8AMkpiAIGGiQDAwLgAAFZmAGB8kQBOTiIAycltAKqrYwBjYyoAl5dRAF14 + jABFWWgAenp6AHFxcQBpbG0AlJqdAEhPVQCQt9MAQ1dlAMTExAB6foEAQUlQAKCmqQCqq6sAhouNAI62 + 0gCFobUAiqi6AHKDkwB6iZIAOklfAHB6gwBxfIYA5OTkAOXl5QCSmJsAlpyaAJOZnADHx2kAwcFtAMbG + bgAQrMgAD7PQACpKagBMT1AAc3M1AHd3OQB6ejgApaqwAKOuugCztLQAtbW1AHiSlAB+kZ0ABpGrAAeY + tADR0dEARFhnAEtZZABHRyAAAVNjAAZUYwCCgkAAiopFAImNjwCNjY0ATEweAJ+lqAB3d3cAWFdmAFBd + YQBaXmAAy8zMAIGlwQA7QUUAOUlMAJibnACbnZ4Anp6eAOLi4gDj4+MAQkRHAExORQBESUwAkJNyAJCQ + fwDZ2dkA2drcAJKVZwCWmGIAmptlAJOWawCbnWkAREtRAEVNVACCiIoAhouLAICIjACGjI4Ap6dZAJ6e + TAACfJMAKsjJADzI0QCIi3QAgoZ6AIaKfQBJrq8ARr2/AFhgaADn5+UAH8XdABnc3QCxsVoAC1lrABzK + 5AAc3/cAE+XpABDz/QAp4vMAM/P7AA1DTgACgpoAPj4iACQuNQA3SFQA0trfAH2fuABiZmgAZ2ttAG2d + yQBDo8UAPVJrACpReABzd3oAdHl7AJjB3QCiy+YAhIiEAGpqMAAfUmYApaipAJS0zgCCmqoAkYqzAJaR + sQDp6+wAVVZyAEJEOwBPZncAy8vEAMXIygAseY8APHKoALm5rgDRzdgAy9DVAHNzbABfnJ4AAAAAAIGB + OgBiXHsA8PDuAFrU7ADf1voA1ODtAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + 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 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEHKlALYIFjQqwAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ26KrMT1TkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAB9MQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////////////// + ////////////////////8/////////+B////////+AH////////AAf///////gAB///7///wAAH///B/ + /4AAAf//4B/+AAAB///AD/wAAAH//8AD/AAAAf//gAH8AAAB//+AAPwAAAH//8AAfAAAAf//4AA8AAAB + ///wAAwAAAH///gAAAAAAf///gAAAAAB////gAAAAAH////gAAAAAf////gAAAAB/////gAAAAH///// + AAAAAf/////AAAAB/////+AAAAH/////+AAAAf/////4AAAB//////gAAAH/////+AAAAf/////4AAAB + //////gAAAH/////8AAAA//////wAAAD//////AAAAP/////8AAAA//////4AAAD//////4AAAP///// + /8AAA///////+AAD////////gAH////////wA/////////4D/////////+f///////////////////// + /////////////ygAAAAgAAAAQAAAAAEACAAAAAAAgAQAAAAAAAAAAAAAAAEAAAABAAAAAAAAmqChAElM + TgCbm4oAjpKWAKysrADc3NwAwsLCAHyAhACioqIARlppAHh4eABwcHAA/Pz8AFpeYAA2R1QAyMjIAKOk + pQCGjI4APEJGADxNWgBkZmYAkZeZAJ2kpwDLy8MAQUdJAEJGSQBARkoAjZOWAEyXmwBKmZoAtLW1ALa2 + tgBYXF0AWV1eAFpdXwCYmZsAmpqaAJedoACZn6IAAkxbAABOXQCrq6sAvr6+AL+/vwC5ubkAu7u7APLy + 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 + 3wDx8fEApaWlAKenpwB7fX0AeH1/AE5kdABPZncAn6WoAPn5+QD7+/sA4uLiAOPj4wD09PQA9vb2AP7+ + /gD///8AwMDAAMHCwgDCwsMA1tbTAH+EhgC9vb0Av7+/AIGBgQCEhIQA5+fkAObm5gDY2NgA/Pz8AHd7 + fgC5u70AiYlXAIOFWwCHjZEAj4+QAABWZgAAXG4AaWlpAG9vbwCioqIAoaehAHWPoAB5k6oAt7m7ADdH + UwA9T1wArrCyAKe0vQCXmnEAnp5+AFxocgCJnaoAmp2lACYvNgAzOT0Ap6qrAKirrACnp4MAoKWWAHR0 + dAByd3kAj4+PANLV2QBQT10AQ1JfAFteXwBhYWEAYGZqAGdsbwCCg0kAkZFaAFJohABofZEAOUpOACJE + UABlgZUADJquAD6luQBtcnUAztDSAJ+ifwC8vKwAoayxAABIVQBZuLwAbG1MAAAAAAAzx9EAFzdAAH+B + dQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + 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 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAUAAAANAAAADQAAAAMAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAGAAAAFQAAAC0AAABMAQEB + ZQEBAVQAAAAjAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAACQAAABkAAAAyAAAA + UwICAn4eHh6wPT092mBgYPItOkfVAAAAUwAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAwAAAAdAAAA + NwAAAFwDAwOIJSUluUJCQt9cXFz4ZmZm/2ZmZv+VlZX/PEZR8gAAAG8AAAANAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAOAAAA + IQAAAD8AAABlBgYGkS8vL8FISEjmYGBg/GZmZv9mZmb/ZmZm/2ZmZv+UlJT/paWl/z9IUPQAAABzAAAA + DQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAA + EAAAACcAAABHAAAAbRAQEJlJSUnKioqK7MrKyv6np6f/ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv9mZmb/0dHR + /6Wlpf8/SFD0AAAAcwAAAA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAA + BwAAABUAAAAtAAAATQEBAXQaGhqkV1dX052dnfHS0tL+4uLi/+Li4v/h4eH/cnJy/2ZmZv9mZmb/ZmZm + /2ZmZv9mZmb/k5OT/+Li4v+lpaX/P0hQ9AAAAHMAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAA + EAAAAAsAAAACAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AgAAAAkAAAAZAAAAMgAAAFMDAwN+IyMjsGtra9qpqan009PT/+Li4v/i4uL/4uLi/+Li4v/i4uL/tra2 + /2ZmZv9mZmb/ZmZm/2ZmZv9mZmb/ZmZm/8LCwv/i4uL/paWl/z9IUPQAAABzAAAADQAAAAAAAAAAAAAA + AAAAAAAAAAAJAAAANwgICmEAAABWAAAAOwAAAC4AAAAdAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAMAAAAMAAAAHQAAADcAAABcBQUFiTMzM7l5eXnftra2+NnZ2f/i4uL/4uLi/+Li4v/i4uL/4uLi + /+Li4v/i4uL/4uLi/3p6ev9mZmb/ZmZm/2ZmZv9mZmb/ZmZm/4WFhf/h4eH/4uLi/6Wlpf8/SFD0AAAA + cwAAAA0AAAAAAAAAAAAAAAAAAAADAAAAMjw5S6ZSTWj6IB4p2wEMD8UAKTC3AAECgQAAAEAAAAAQAAAA + AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAABAAAACwAAACAAAAA/AAAAZQkJCZFCQkLAiIiI5sHBwfvf39//4uLi/+Li4v/i4uL/4uLi + /+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/8XFxf9nZ2f/ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv/CwsL/4uLi + /+Li4v+mpqb/P0hQ9AAAAHMAAAANAAAAAAAAAAAAAAAAAAAAGxsaIoBqZIX6UUxm/1FMZv8mTGD/AFZm + /wA/SvIACgy0AAAAXwAAACAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAGQAAAFMSEhKUVFRUyZOTk+zHx8f94uLi/+Li4v/i4uL/4uLi + /+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v+IiIj/ZmZm/2ZmZv9mZmb/ZmZm + /2ZmZv93d3f/4eHh/+Pj4//j4+P/jY2N/z9IUPQAAABzAAAADQAAAAAAAAAAAAAACgEBAlNlYIDiU05o + /1FMZv9QTGb/EFRm/wBWZv8AVmb/AFBf/AAcItUAAACCAAAANwAAAAwAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACC8vL1Gvr6/d0dHR/eHh4f/i4uL/4uLi + /+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/S0tL/aGho + /2ZmZv9mZmb/ZmZm/2ZmZv9mZmb/s7Oz/+Pj4//j4+P/4+Pj/4eHh/8/SFD0AAAAcgAAAA0AAAAAAAAA + AgAAAC5GQlixYVx7/1FMZv9RTGb/NlBm/wBWZv8AVmb/AFZm/wBWZv8AVWX+ADZB7QAJC6cAAABUAAAA + GgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBtbW2I4eHh + /+Hh4f/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi + /+Li4v/i4uL/l5eX/2ZmZv9mZmb/ZmZm/2ZmZv9mZmb/d3d3/+Hh4f/j4+P/4+Pj/+Pj4/+Hh4f/QEhR + 8QAAAGoAAAAMAAAAAAAAABIZFx9xa2WH9VFMZv9RTGb/SVBp/wdZa/8AVmb/AFZm/wBWZv8AVmb/AFZm + /wBWZv8AR1X6ABccygAAAHcAAAAwAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAUh4eHneLi4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi + /+Li4v/i4uL/4uLi/+Li4v/i4uL/29vb/2pqav9mZmb/ZmZm/2ZmZv9mZmb/ZmZm/7Gxsf/j4+P/4+Pj + /+Pj4//j4+P/h4eH/zxAROkAAABeAAAACAAAAAIAAAAxZmF/xZ2Vwf9qZIP/UExm/xhWav8AVmb/AFZm + /wBWZv8AVmb/AFZm/wBWZv8AVmb/AFZm/wBVZP4AMTrnAAQFkAAAADMAAAAEAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF4ODg6Li4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi + /+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4+Pj/6enp/9mZmb/ZmZm/2ZmZv9mZmb/ZmZm + /25ubv/a2tr/4+Pj/+Pj4//j4+P/5OTk/4eHh/80NzrhAAAAUwAAAAUAAAAFOTZITdrS6vnZz/v/vbTm + /0mAoP8AboP/AFxu/wBWZv8AVmb/AFZm/wBWZv8AVmb/AFZm/wBWZv8AVmb/AFZm/wA8R+wAAACCAAAA + JQAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB6RkZGy4uLi/+Li4v/i4uL/4uLi + /+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/j4+P/4+Pj/+Hh4f96enr/ZmZm + /2ZmZv9mZmb/ZmZm/2ZmZv+kpKT/4+Pj/+Tk5P/k5OT/5OTk/+Tk5P+Hh4f/KDE73wAAAFEAAAAFAAAA + AQMDAxyLi4uN2dbg8bTU8P8gudX/B5Ww/wF7kv8AZnn/AFhp/wBWZv8AVmb/AFZm/wBWZv8AVmb/AFZm + /wBWZv8GUWD+Ehcb3wAAAH4AAAAwAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlsbGx + yeLi4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4+Pj/+Pj4//j4+P/4+Pj + /+Pj4/+3t7f/ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv9ubm7/29vb/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/h4eH + /ygxO98AAABRAAAABQAAAAAAAAACAAAALRB3g8Ek8PX/OPj+/yvY7v8Pqcb/A4qj/wByh/8AX3H/AFZm + /wBWZv8AVmb/AFZm/wBWZv8AVmb/Ik1b/zdHU/4gKTDoAQEBmwAAAEkAAAAUAAAAAQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAK62trc3i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4+Pj + /+Pj4//j4+P/4+Pj/+Pj4//j4+P/e3t7/2ZmZv9mZmb/ZmZm/2ZmZv9mZmb/t7e3/+Tk5P/k5OT/5OTk + /+Tk5P/k5OT/5eXl/4eHh/8oMTvfAAAAUQAAAAUAAAAAAAAAAAAAABABq62JBfLz8A/7//8k+f//Mu77 + /xzD3v8Im7b/AYCX/wBqff8AWmv/AFZm/wBWZv8AVmb/BFRk/zZIVP84SFT/OEhU/ys4QfYMDxK9AAAA + ZgAAACMAAAAFAAAAAAAAAAAAAAAAAAAAAQAAADW4uLja4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi + /+Li4v/j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/0NDQ/2dnZ/9mZmb/ZmZm/2ZmZv9mZmb/kJCQ + /+Pj4//k5OT/5eXl/+Xl5f/l5eX/5eXl/+Xl5f+Hh4f/KDE73wAAAFEAAAAFAAAAAAAAAAAAAAACAAAA + GABDQ1UCvr67B/v8/BL4//8n9P7/J9zy/xCwzf8Ej6n/AHeN/wBidP8AV2f/AFVl/x9OW/84SFT/OEhU + /zhIVP84SFT/NEJO/RYdItkAAACFAAAAOAAAAAwAAAAAAAAAAAAAAAIAAAA+0tLS7uLi4v/i4uL/4uLi + /+Li4v/i4uL/4uLi/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/5OTk/6+vr/9mZmb/ZmZm + /2ZmZv9mZmb/bm5u/9TU1P/l5eX/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/l5eX/h4eH/ygxO98AAABRAAAA + BQAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAJgBubnED3NzZCPv//xb0//8m6vz/G8jk/wigvf8BhJ3/AG6C + /xFVZP84SFT/OEhU/zhIVP84SFT/OEhU/zhIVP83R1L+JC427gYICagAAABSAAAAGAAAAAIAAAADAAAA + RtDQ0O/i4uL/4uLi/+Li4v/i4uL/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//k5OT/5OTk + /+Tk5P+Li4v/ZmZm/2ZmZv9mZmb/ZmZm/6+vr//l5eX/5eXl/+Xl5f/l5eX/5ubm/+bm5v/m5ub/5ubm + /4eHh/8oMTvfAAAAUQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAOAAUFNAGJiYwD7/DtCvj/ + /xju/v8g2/b/ELbU/w+Npv9HZHX/QFJg/zhIVP84SFT/OEhU/zhIVP84SFT/OEhU/zhIVP8uPEb5DhIV + xwAAAHAAAAAqAAAADRsbG1XW1tb14uLi/+Li4v/i4uL/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/4+Pj + /+Tk5P/k5OT/5OTk/+Tk5P/i4uL/bm5u/2ZmZv9mZmb/ZmZm/4CAgP/j4+P/5eXl/+bm5v/m5ub/5ubm + /+bm5v/m5ub/5ubm/+bm5v+FhYX/KDE73wAAAFEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAMAAAAVACcnSAG2trAE9/n4DPP//zPk/f91utX/cpGo/1x1if9IXW3/O0xY/zhIVP84SFT/OEhU + /zhIVP84SFT/OEhU/zVET/4dJSvhAQECkQAAAEk4ODh24uLi/+Li4v/j4+P/4+Pj/+Pj4//j4+P/4+Pj + /+Pj4//j4+P/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/l5eX/w8PD/2ZmZv9mZmb/ZmZm/2hoaP/Gxsb/5ubm + /+bm5v/m5ub/5ubm/+bm5v/n5+f/5+fn/+fn5//n5+f/aGho/ygxO98AAABRAAAABQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAgAENDWAKur6dkiJnMqNLs/KDH4/9/obv/ZoOZ + /1Jpe/9AU2H/OEhU/zhIVP84SFT/OEhU/zhIVP84SFT/OEhU/yg0PfMFBwi7IyMjwOLi4v/j4+P/4+Pj + /+Pj4//j4+P/4+Pj/+Pj4//k5OT/5OTk/+Tk5P/k5OT/5OTk/+Xl5f/l5eX/5eXl/6Ojo/9mZmb/ZmZm + /2ZmZv+dnZ3/5ubm/+bm5v/n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//o6Oj/6Ojo/2hoaP8oMTvfAAAA + UQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAVAAAA + LzA+RnmNtMvkqNLv/46zz/9ykqn/XHaK/0ldbf87TFj/OEhU/zhIVP84SFT/OEhU/zhIVP84SFT/MT9K + /Tk9Qf3j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//k5OT/5OTk/+Tk5P/k5OT/5eXl/+Xl5f/l5eX/5eXl + /+Xl5f97e3v/ZmZm/2ZmZv9ycnL/3d3d/+fn5//n5+f/5+fn/+fn5//o6Oj/6Ojo/+jo6P/o6Oj/6Ojo + /+jo6P9oaGj/KDE73wAAAFEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAEAAAARCQsNQlZufqehy+j4ncXj/3+ivP9nhJr/Ump8/0BTYf84SFT/OEhU + /zhIVP84SFT/OEhU/zhIVP86Slb/iZKY/+Dg4P/j4+P/4+Pj/+Tk5P/k5OT/5OTk/+Tk5P/l5eX/5eXl + /+Xl5f/l5eX/5ubm/+bm5v/Y2Nj/aWlp/2ZmZv9mZmb/vr6+/+fn5//o6Oj/6Ojo/+jo6P/o6Oj/6Ojo + /+np6f/p6en/6enp/+np6f/p6en/aGho/ygyO90AAABOAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAfIiwyZ3aXrdCkz+7/jrPP + /3OTq/9deIv/SV5u/ztMWf84SFT/OEhU/zhIVP84SFT/OEhU/zhIVP9hbXb/x8rM/+Tk5P/k5OT/5OTk + /+Tk5P/l5eX/5eXl/+Xl5f/m5ub/5ubm/+bm5v/m5ub/vLy8/2ZmZv9mZmb/ioqK/+fn5//o6Oj/6Ojo + /+np6f/p6en/6enp/+np6f/p6en/6urq/+rq6v/q6ur/6urq/2hoaP8pMTrVAAAARAAAAAMAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAwCAwQzSV5rlI+20e6bxOL/gKO9/2iGnP9Ta33/QVNh/zhIVf84SFT/OEhU/zhIVP84SFT/OEhU + /0ZUX/+nrbH/5OTk/+Xl5f/l5eX/5eXl/+Xl5f/m5ub/5ubm/+bm5v/n5+f/5+fn/5SUlP9mZmb/aGho + /9TU1P/p6en/6enp/+np6f/q6ur/6urq/+rq6v/q6ur/6urq/+vr6//r6+v/6+vr/+vr6/9oaGj/Gh4i + xgAAADkAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAABgPExZPbYyfuZrE4vyOtNH/dJSt/155jf9JX2//O0xZ + /zhIVP84SFT/OEhU/zhIVP84SFT/OkpW/3qEi//Y2tr/5eXl/+bm5v/m5ub/5ubm/+fn5//n5+f/6Ojo + /+Xl5f9zc3P/ZmZm/6qqqv/p6en/6urq/+rq6v/q6ur/6+vr/+vr6//r6+v/6+vr/+vr6//s7Oz/7Ozs + /+zs7P/s7Oz/aGho/w0YI8EAAAA0AAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAACYyQEl2iK7H + 35jB4P+BpL//aYee/1Rsfv9BVGL/OEhV/zhIVP84SFT/OEhU/zhIVP84SFT/VmNt/9XW1//m5ub/5+fn + /+fn5//o6Oj/6Ojo/+jo6P/Ozs7/ZmZm/3l5ef/m5ub/6urq/+vr6//r6+v/6+vr/+zs7P/s7Oz/7Ozs + /+zs7P/t7e3/7e3t/+3t7f/t7e3/7e3t/2hoaP8NGCPBAAAANAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAABAAAAEAIDAzxXcIClmMLf94610/91lq//X3qP/0pgcP87TFn/OEhU/zhIVP84SFT/OEhU + /zhIVP9/jp3/5+fn/+jo6P/o6Oj/6Ojo/+np6f/p6en/lZWV/2ZmZv+4uLj/6+vr/+vr6//s7Oz/7Ozs + /+zs7P/t7e3/7e3t/+3t7f/u7u7/7u7u/+7u7v/u7u7/7+/v/+/v7/9oaGj/DRgjwQAAADQAAAABAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAHRsjKF10lavPmcPi/4Kmwv9riaD/VW6A + /0FUY/84SFX/OEhU/zhIVP84SFT/Mkle/7C5w//o6Oj/6enp/+np6f/q6ur/5+fn/3Nzc/+Hh4f/6+vr + /+zs7P/t7e3/7e3t/+3t7f/u7u7/7u7u/+7u7v/v7+//7+/v/+/v7//v7+//8PDw//Dw8P/w8PD/aGho + /w0YI8EAAAA0AAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAwQF + MUZaZouIr8rvj7jW/3eZsv9gfJH/S2Fx/ztMWf84SFT/M0dX/yZFZP80UnD/1tnc/+rq6v/q6ur/6+vr + /9DQ0P9paWn/y8vL/+3t7f/t7e3/7u7u/+7u7v/v7+//7+/v/+/v7//w8PD/8PDw//Dw8P/x8fH/8fHx + //Hx8f/x8fH/8fHx/2hoaP8NGCPBAAAANAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAIAAAAbERQWf6vBz/qWv9z/hKnF/2yLo/9Wb4L/QlVj/zFHW/8kRWb/JEVm + /1Rthv/o6en/7Ozs/+zs7P+vr6//l5eX/+7u7v/u7u7/7+/v/+/v7//w8PD/8PDw//Hx8f/x8fH/8fHx + //Ly8v/y8vL/8vLy//Ly8v/z8/P/8/Pz/+bm5v9nZ2f/DRgjwQAAADQAAAABAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACEBAQGfm5ub/zdPY/6fI3v+PuNb/eJq1 + /0ZvlP8sUXX/JEVn/yRFZv8kRWb/bn2M/+rq6v/t7e3/l5eX/+Tk5P/v7+//8PDw//Dw8P/x8fH/8fHx + //Ly8v/y8vL/8/Pz//Pz8//z8/P/9PT0//T09P/09PT/9PT0//T09P/T09P/ZmZm/w0YI8EAAAA0AAAA + AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAk9PT1s5+fn + /+jo6P/h4uT/prrM/6DA2/9xpNX/XZLG/0Jyov8rU3v/JEZn/xs0Tf+doaX/6+vr/8HBwf/w8PD/8fHx + //Hx8f/y8vL/8/Pz//Pz8//09PT/9PT0//T09P/19fX/9fX1//X19f/29vb/9vb2//b29v/29vb/1NTU + /2ZmZv8NGCPBAAAANAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAOSEhIe+jo6P/p6en/6enp/+rq6v/r6+v/6+vr/+zs7P/k6e7/3uXs/7jH1/9ueYX/Pj4+ + /8bGxv/t7e3/8vLy//Pz8//z8/P/9PT0//T09P/19fX/9fX1//b29v/29vb/9/f3//f39//39/f/+Pj4 + //j4+P/4+Pj/+Pj4/9bW1v9mZmb/DRgjwQAAADQAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE4yMjJnp6en/6urq/+rq6v/r6+v/7Ozs/+3t7f/t7e3/7u7u + /+/v7//w8PD/8fHx//Hx8f/y8vL/8/Pz//T09P/09PT/9fX1//b29v/29vb/9/f3//f39//4+Pj/+Pj4 + //n5+f/5+fn/+fn5//r6+v/6+vr/+vr6//r6+v/Y2Nj/ZmZm/w0YI8EAAAA0AAAAAQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABWIiIie6urq/+vr6//r6+v/7Ozs + /+3t7f/u7u7/7+/v//Dw8P/x8fH/8fHx//Ly8v/z8/P/9PT0//X19f/29vb/9vb2//f39//4+Pj/+Pj4 + //n5+f/5+fn/+vr6//r6+v/7+/v/+/v7//v7+//8/Pz//Pz8//z8/P/8/Pz/2dnZ/2ZmZv8NGCO+AAAA + MwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAagoKC + pevr6//s7Oz/7e3t/+7u7v/v7+//8PDw//Dw8P/x8fH/8vLy//Pz8//09PT/9fX1//b29v/39/f/+Pj4 + //j4+P/5+fn/+vr6//v7+//7+/v//Pz8//z8/P/9/f3//f39//7+/v/+/v7//v7+//7+/v/+/v7//v7+ + /9vb2/9mZmb/DhkltgAAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAIrW1tcPs7Oz/7e3t/+7u7v/v7+//8PDw//Hx8f/y8vL/8/Pz//T09P/19fX/9vb2 + //f39//4+Pj/+fn5//r6+v/7+/v/+/v7//z8/P/9/f3//v7+//7+/v/+/v7//v7+//////////////// + ///////////////////////b29v/Y2Rm/wIDBaMAAAAiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACi2trbK7u7u/+/v7//w8PD/8fHx//Ly8v/z8/P/9PT0 + //X19f/29vb/9/f3//j4+P/5+fn/+vr6//v7+//8/Pz//f39//7+/v/+/v7//v7+//////////////// + ////////////////////////////////////////////29vb/1ZeZv8AAQGaAAAAHgAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAws7Ozz+/v7//w8PD/8fHx + //Ly8v/09PT/9fX1//b29v/39/f/+Pj4//r6+v/7+/v//Pz8//39/f/+/v7//v7+//7+/v////////// + /////////////////////////////////////////////////////////////////9vb2/9WXmb/AAEB + mQAAAB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAA + Qdra2uvx8fH/8vLy//Pz8//09PT/9vb2//f39//4+Pj/+fn5//v7+//8/Pz//f39//7+/v/+/v7///// + //////////////////////////////////////////////////////////////////////////////// + ///////b29v/Vl5m/wABAZkAAAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAACAkJA1psbFP3kpKC/8HBuv/q6un/9vb2//j4+P/5+fn/+vr6//z8/P/9/f3//v7+ + //7+/v////////////////////////////////////////////////////////////////////////// + ////////////////////////////29vb/1ZeZv8AAQGZAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApCQh11cnIx/1xcJf9LSx3/SEgj/2hoT/+YmIr/ycnE + //Ly8v/+/v7//v7+//////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////8HBwf9WXmb/AAEBmQAAAB0AAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFPj4fR7q6XfKwsFj/mppK + /4ODPP9sbC7/V1ci/0hIHf9ISCX/ampT/5qajf/MzMb/9PT0//////////////////////////////// + //////////////////////////////////////////////////////////////////////+1tbX/Vl5m + /wABAZkAAAAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAABAeHg5HbW00mpqaTs23t1z1vr5i/6ysV/+VlUn/fn46/2ZmK/9SUiD/RkYb/0dHJP9qalP/mpqN + /8zMxv/09PT///////////////////////////////////////////////////////////////////// + ////////////tbW1/1ZeZv8AAQGZAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAABMAAAApDg4GSlhYKoWRkUi9sbFa7sfHaP+6umL/qKhX + /5GRR/94eDf/X18n/05OH/9DQxv/RUUk/2lpU/+amo3/zMzG//X19f////////////////////////// + /////////////////////////////////7W1tf9WXmb/AAEBmQAAAB0AAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAOAAAA + IAcHAj4+Phttfn4+q6urV9/Hx2f8xcVp/7i4Y/+kpFb/i4tF/3BwMv9aWiT/S0sd/0FBGv9ERCP/aWlS + /5qajf/MzMb/9fX1//////////////////////////////////////+1tbX/Vl5m/wABAZkAAAAdAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAACAAAACgAAABkAAAAyGxsMWmxsM52hoVDVvr5i9svLbf/Dw2v/tbVk + /5+fVP+EhEH/aWkt/1VVIv9JSRz/QEAZ/0NDIv9paVL/mpqN/8zMxv/19fX/////////////////tbW1 + /1ZeZv8AAQGZAAAAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAcAAAAUAAAA + KwwMBUxVVSeMj49GwrS0W+/NzWz/yclu/8LCbf+xsWL/mJhQ/3x8O/9iYin/UlIg/0ZGG/8+Phn/QkIi + /2xsV/+dnZL/2NjU/7S0tP9MU1T/AAEBnAAAAB8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAADwAAACIGBgJAPj4adnt7PK2np1Tkycln/8zMbv/IyHD/v79t + /6qqXv+QkEr/cnI0/1xcJv9PTx//REQa/z4+Gf9FRSr/Njgb/wABAKUAAAAlAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAsAAAAbAQEA + NRYWCV1qajGenp5M1by8X/fMzGz/yspv/8fHcv+6umr/oqJZ/4aGQ/9paS3/ODgW/zg4Fv8UFAitAAAA + JgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAEAAAAHAAAAFAAAACsJCQNLUVEkjoqKQcqxsVfwyspo/8rKbP/IyHD/xMRx + /zo6F/84OBb/AQEAjwAAAB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAABAAAAAkBAQB + Qjs7GHmAgDu2oaFN5sbGYv9RUSr/Ly8S5QAAAFsAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAMAAAAMAAAAHAEBADcoKBBnMzMUlhMTB2YAAAAgAAAAAQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAACAAAABAAAAANAAAA + AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//// + /////////////////////////////////////8H////////+AP////////AA////////gAD///////wA + AP//////wAAA//////4AAAD4P///8AAAAPAP//+AAAAA4AP//AAAAADgAf/4AAAAAMAA//gAAAAAgAA/ + +AAAAACAAB/4AAAAAAAAD/gAAAAAAAAH+AAAAAAAAAP4AAAAAIAAAPgAAAAAwAAAcAAAAADAAAAwAAAA + APAAAAAAAAAA+AAAAAAAAAD+AAAAAAAAAP+AAAAAAAAA/+AAAAAAAAD/+AAAAAAAAP/+AAAAAAAA//+A + AAAAAAD//8AAAAAAAP//8AAAAAAA///4AAAAAAD///4AAAAAAP///4AAAAAA////wAAAAAD////gAAAA + AP///+AAAAAA////4AAAAAD////gAAAAAP///+AAAAAA////4AAAAAH////gAAAAAf///+AAAAAB//// + wAAAAAH////AAAAAAf///8AAAAAB////wAAAAAH////AAAAAAf///+AAAAAB////8AAAAAH////+AAAA + Af/////AAAAB//////gAAAH//////4AAAf//////8AAB///////+AAH////////gAf////////wB//// + /////4P///////////////////////////////8oAAAAMAAAAGAAAAABACAAAAAAAIAlAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAGAAAAFAAAACsAAABCAAAAOgAAABgAAAACAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAJAAAAGAAAADEAAABTBAQEfCQkJK9HR0fSNj5H + wwAAAEcAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAALAAAAHAAAADcAAABaBgYGhSoqKrhFRUXfXV1d + +GZmZv+UlJT/SE9W8gAAAGoAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAOAAAAIQAAAD4AAABiDg4Oj01NTcGRkZHmaWlp + +2ZmZv9mZmb/ZmZm/2xsbP/MzMz/SU9V9QAAAHEAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAA + AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAARAAAAJQAAAEQAAABqEhISmV1dXcqenp7sz8/P + /eLi4v+/v7//ZmZm/2ZmZv9mZmb/ZmZm/56env/V1dX/SU9V9QAAAHEAAAAOAAAAAAAAAAAAAAAAAAAA + BQAAACAAAAAzAAAALQAAAB0AAAAOAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAcAAAAUAAAAKwAAAEsAAABzJSUlo2xsbNKpqanx2NjY + /uLi4v/i4uL/4uLi/+Hh4f+IiIj/ZmZm/2ZmZv9mZmb/aWlp/9HR0f/V1dX/SU9V9QAAAHEAAAAOAAAA + AAAAAAAAAAABAAAAJSknNIE5NkjHBAQGrgAYHJQAAABfAAAAKQAAAAcAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAASAAAALwAAAFMAAAB7NDQ0rn9/f9mzs7P13d3d + /+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/87Ozv9mZmb/ZmZm/2ZmZv9mZmb/lpaW/+Li4v/V1dX/SU9V + 9QAAAHEAAAAOAAAAAAAAAAAAAAATDAsPaV9aeO5RTGb/Oklf/gBVZf4AMzzeAAUGkQAAAEIAAAARAAAA + AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkKCgpdQ0NDsIyMjOC/v7/54ODg + /uLi4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/5SUlP9mZmb/ZmZm/2ZmZv9mZmb/ysrK + /+Pj4//ExMT/SU9V9QAAAHEAAAAOAAAAAAAAAAUAAABBUU1mylRPav9RTGb/H1Jm/wBWZv8AVmb/AEZT + 9QATFrYAAABhAAAAIgAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAD7ExMTk4eHh + /+Hh4f/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/1tbW/2xsbP9mZmb/ZmZm + /2ZmZv+Li4v/4+Pj/+Pj4/+/v7//SU9W9AAAAGwAAAANAAAAAAAAAB0pJzSOYVt6/FFMZv89Umv/AVZm + /wBWZv8AVmb/AFZm/wBTY/0AKTDYAAEBhAAAADYAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + BwICAlXh4eH/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/pKSk + /2ZmZv9mZmb/ZmZm/2ZmZv/IyMj/4+Pj/+Pj4/+/v7//SExP7wAAAGMAAAAKAAAABAAAADaOh6zakYqz + /1VWcv8LWWv/AFZm/wBWZv8AVmb/AFZm/wBWZv8AVmb/AENP7wARFZkAAAA3AAAABgAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAACQICAmHi4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi + /+Li4v/g4OD/cXFx/2ZmZv9mZmb/ZmZm/4CAgP/i4uL/4+Pj/+Pj4//AwMD/P0JG6AAAAFsAAAAHAAAA + AyYkMDfTzdne4Nf7/kOjxf8CfJP/AGFz/wBWZv8AVmb/AFZm/wBWZv8AVmb/AFZm/wI7RvAAAQGTAAAA + NwAAAAsAAAAAAAAAAAAAAAAAAAAAAAAADEVFRXfi4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi + /+Li4v/i4uL/4+Pj/+Pj4/+1tbX/ZmZm/2ZmZv9mZmb/ZmZm/76+vv/k5OT/5OTk/+Tk5P/AwMD/OUBG + 5gAAAFgAAAAHAAAAAAAAABAAAwNiN8jR9jPz+/8fxd3/BpGr/wBwhP8AW2v/AFZm/wBWZv8AVmb/AFZm + /yVMWf8pNT7wBQcIowAAAE8AAAAXAAAAAgAAAAAAAAAAAAAAEFBQUIXi4uL/4uLi/+Li4v/i4uL/4uLi + /+Li4v/i4uL/4uLi/+Pj4//j4+P/4+Pj/+Pj4/96enr/ZmZm/2ZmZv9mZmb/i4uL/+Tk5P/k5OT/5OTk + /+Tk5P/AwMD/OUBG5gAAAFgAAAAHAAAAAAAAAAIAGxwnArS0pwr2+Pgg+f7/KeLz/xCsyP8Cgpr/AGV4 + /wBXZ/8AVmb/BlRj/zdIVP84SFT/MkBL+hIYHMUAAABsAAAAJwAAAAYAAAAAAAAAFW5ubpfi4uL/4uLi + /+Li4v/i4uL/4uLi/+Li4v/j4+P/4+Pj/+Pj4//j4+P/4+Pj/87Ozv9mZmb/ZmZm/2ZmZv9sbGz/2dnZ + /+Tk5P/l5eX/5eXl/+Xl5f/AwMD/OUBG5gAAAFgAAAAHAAAAAAAAAAAAAAAFAAAAJAA0NGUDxsfMDPn+ + /iHw/f8cyuT/B5i0/wB1i/8AXW7/KUtY/zhIVP84SFT/OEhU/zdHU/4fKC/gAgMEjQAAAD0AAAAOAAAA + HH9/f6bi4uL/4uLi/+Li4v/i4uL/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//j4+P/5OTk/6ysrP9mZmb/ZmZm + /2ZmZv+ysrL/5eXl/+Xl5f/l5eX/5eXl/+Xl5f/BwcH/OUBG5gAAAFgAAAAHAAAAAAAAAAAAAAAAAAAA + AQAAAA4AAAA0AG1thQTe3+MQ9P7+HN/3/w+z0P8seY//Q1dl/zhJVf84SFT/OEhU/zhIVP84SFT/LTpD + 8wgLDa4AAABYAAAAPYqKirfi4uL/4uLi/+Li4v/j4+P/4+Pj/+Pj4//j4+P/4+Pj/+Tk5P/k5OT/5OTk + /4qKiv9mZmb/ZmZm/4GBgf/k5OT/5eXl/+bm5v/m5ub/5ubm/+bm5v+9vb3/OUBG5gAAAFgAAAAHAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAFgAAAEMBm5uiBefr7FnV7fuRudP/bIqg/09md/88Tlr/OEhU + /zhIVP84SFT/OEhU/zRDT/wXHiPQAAAAno6Ojt/i4uL/4+Pj/+Pj4//j4+P/4+Pj/+Pj4//k5OT/5OTk + /+Tk5P/k5OT/4ODg/2tra/9mZmb/Z2dn/8zMzP/m5ub/5ubm/+bm5v/n5+f/5+fn/+fn5/+rq6v/OUBG + 5gAAAFgAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAdAA0NQhkgJXp/obbWosvn + /n2fuP9deIv/RFdm/zhJVf84SFT/OEhU/zhIVP83R1P+ISsy+YiJif3j4+P/4+Pj/+Pj4//j4+P/5OTk + /+Tk5P/k5OT/5OTk/+Xl5f/l5eX/wMDA/2ZmZv9mZmb/np6e/+fn5//n5+f/5+fn/+fn5//o6Oj/6Ojo + /+jo6P+rq6v/OUBG5gAAAFgAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AwAAABEAAAA7QlRgmJW81/GRt9P/bYui/1Bnef88Tlv/OEhU/zhIVP84SFT/OEhU/1Nha//FyMr/4+Pj + /+Pj4//k5OT/5OTk/+Tk5P/l5eX/5eXl/+Xl5f/m5ub/oaGh/2ZmZv93d3f/4eHh/+jo6P/o6Oj/6Ojo + /+jo6P/p6en/6enp/+np6f+srKz/OkBH5AAAAFMAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAHg0RFFpsip7CmMHe/n6guv9eeY3/RFhn/zhJVf84SFT/OEhU + /zhIVP8+Tln/mZ+l/+Tk5P/k5OT/5eXl/+Xl5f/l5eX/5ubm/+bm5v/n5+f/e3t7/2ZmZv++vr7/6Ojo + /+np6f/p6en/6enp/+rq6v/q6ur/6urq/+rq6v+srKz/Nzs+3AAAAEsAAAAEAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAvMD1Gf4Wqw+KQt9T/bo2l + /1Foev88Tlv/OEhU/zhIVP84SFT/OEhU/3B6g//V1tf/5eXl/+bm5v/m5ub/5+fn/+fn5//Z2dn/Z2dn + /42Njf/o6Oj/6urq/+rq6v/q6ur/6+vr/+vr6//r6+v/7Ozs/+zs7P+tra3/Jy821AAAAEMAAAADAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAA + FQQGB0dac4OrkbjV+H+ivf9ge5D/RVlo/zhJVf84SFT/OEhU/zhIVP9LWWT/2drc/+fn5//n5+f/6Ojo + /+jo6P+wsLD/aGho/9nZ2f/r6+v/6+vr/+vr6//s7Oz/7Ozs/+3t7f/t7e3/7e3t/+3t7f+urq7/KC82 + 0gAAAEIAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAYAAAAkGyMnaXeYr9KOttP+cJCo/1JqfP89Tlv/OEhU/zhIVP84SFT/coOT + /+jo6P/o6Oj/6enp/+rq6v+Dg4P/oaGh/+zs7P/s7Oz/7e3t/+3t7f/u7u7/7u7u/+7u7v/v7+//7+/v + /+/v7/+vr6//KC820gAAAEIAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAADwAAADlFWWWXharF84Glwf9hfZL/Rlpp + /zhJVf80R1f/J0Zl/6Ouuv/q6ur/6+vr/+Dg4P9ycnL/4+Pj/+3t7f/u7u7/7u7u/+/v7//v7+//8PDw + //Dw8P/x8fH/8fHx//Hx8f+wsLD/KC820gAAAEIAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAApQURF + prnP3f+OttL/cpOs/1Jrfv8xSmL/JEVm/ypKav/L0NX/7Ozs/8HBwf+4uLj/7u7u/+/v7//w8PD/8PDw + //Hx8f/y8vL/8vLy//Ly8v/z8/P/8/Pz//Pz8/+hoaH/KC820gAAAEIAAAADAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAUbW1tl+fn5//S2t//lLTO/22dyf88cqj/KlF4/yRFZv80S2L/3t/f/8DAwP/u7u7/8PDw + //Hx8f/y8vL/8/Pz//Pz8//09PT/9PT0//X19f/19fX/9fX1//b29v+YmJj/KC820gAAAEIAAAADAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAZd3d3oujo6P/p6en/6urq/+rq6//p6+z/1ODt/7/N3P9xfIb/i4uL + /+Pj4//y8vL/8/Pz//T09P/09PT/9fX1//b29v/29vb/9/f3//f39//4+Pj/+Pj4//j4+P+ZmZn/KC82 + 0gAAAEIAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfmJiYterq6v/r6+v/7Ozs/+3t7f/u7u7/7+/v + //Dw8P/x8fH/8vLy//Pz8//09PT/9fX1//b29v/39/f/+Pj4//n5+f/5+fn/+vr6//r6+v/7+/v/+/v7 + //v7+/+ampr/KC830QAAAEEAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAllJSUu+vr6//s7Oz/7e3t + /+/v7//w8PD/8fHx//Ly8v/09PT/9fX1//b29v/39/f/+Pj4//n5+f/6+vr/+/v7//z8/P/8/Pz//f39 + //39/f/+/v7//v7+//7+/v+bm5v/KTA4zQAAADsAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAstbW1 + z+3t7f/u7u7/7+/v//Hx8f/y8vL/9PT0//X19f/29vb/+Pj4//n5+f/6+vr/+/v7//z8/P/9/f3//v7+ + //7+/v/+/v7///////////////////////////+bm5v/HyImwAAAADQAAAABAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAEAAAA1tra21u/v7//w8PD/8vLy//Pz8//19fX/9vb2//j4+P/5+fn/+/v7//z8/P/9/f3//v7+ + //7+/v////////////////////////////////////////////////+bm5v/FBwkugAAAC8AAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAMAAABEzMzM5/Hx8f/z8/P/9PT0//b29v/4+Pj/+fn5//v7+//9/f3//v7+ + //7+/v////////////////////////////////////////////////////////////////+bm5v/FBwk + uQAAAC4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcEBAFSZGRE+IyMeP+5ua7/5+fl//n5+f/7+/v//f39 + //7+/v/+/v7///////////////////////////////////////////////////////////////////// + //////+ampr/FBwkuQAAAC4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYhIQ9Lnp5M/4GBOv9kZCr/T08i + /2dnSP+QkH//wMC4/+/v7v////////////////////////////////////////////////////////// + //////////////////////9/f3//FBwkuQAAAC4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAbWFgr + c42NR8Cnp1TusbFa/peXSv96ejj/XV0n/01NIv9jY0b/kJB//8HBuf/v7+7//v7+//////////////// + //////////////////////////////////////9/f3//FBwkuQAAAC4AAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAACAAAAEAAAACcAAABGPT0ceH19P7KoqFXhu7ti/K2tWv+RkUj/c3M1/1ZWI/9HRx//ZGRI + /5CQf//AwLj/8PDu//////////////////////////////////////9/f3//FBwkuQAAAC4AAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADgAAACAAAAA7Hh4NZm9vN56amk/Vvb1j + +b+/Z/+np1n/iopF/2pqMP9QUCD/R0cg/2BgRv+Pj3//wcG5/+/v7//+/v7///////////9/f3//FBwk + uQAAAC4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAA + CgAAABkAAAAyAwMBVVZWKY+NjUbGtLRe78nJbP+6umb/oaFW/4KCQP9iYir/TEwe/0NDHf9hYUf/kpKE + /8vLxP9zc2z/EhohvAAAADEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAABAAAABwAAABQAAAAqBAQBSTY2GXp+fj23pqZV4sfHaf3Gxm7/s7Nj + /5iYUf93dzn/WVkl/0dHHP86Ohr/GBgKwQAAADQAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAA4AAAAhAAAA + PR8fDGhmZjGjmppM2Ly8YfjKym7/wcFt/5aWUf84OBb/GRkKtAAAAC0AAAABAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAgAAAAoAAAAaAAAANA0NBVlWViaViYlCx6WlUfM4OBr0CwsEcgAAABgAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAcAAAAUAAAAKwAAAEQQEAZQAAAA + IwAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAQAAAAGAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////////////// + ////////4f////////8A////////+AD////////AAP///////gAA///x///wAAD//+A//wAAAP//wB/8 + AAAA///AB/wAAAD//4AD+AAAAP//gAH4AAAA//8AAPgAAAD//wAAeAAAAP//gAAYAAAA//+AAAgAAAD/ + /8AAAAAAAP//4AAAAAAA///4AAAAAAD///4AAAAAAP///4AAAAAA////4AAAAAD////4AAAAAP////wA + AAAA/////wAAAAD/////gAAAAP/////gAAAA//////AAAAD/////8AAAAP/////wAAAA//////AAAAD/ + ////8AAAAP/////gAAAB/////+AAAAH/////4AAAAf/////gAAAB/////+AAAAH/////8AAAAf/////+ + AAAB///////AAAD///////gAAP///////4AA////////8AH////////+Af/////////j//////////// + ////////////KAAAACAAAABAAAAAAQAgAAAAAACAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAA + AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAASAAAA + NAAAAFgAAAA1AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAABgAAAA+AQEB + ehwcHLo6OjrnZGRk+hkgJ68AAAAVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAHQAAAEgEBASHPj4+ + xHJycu1bW1v+ZmZm/2dnZ/+rq6v/HSInzwAAABoAAAAAAAAAAAAAAAUAAAAeAAAAGwAAAAsAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAoAAAAkAAAAUwoKCpRNTU3Oi4uL + 88nJyf7i4uL/pKSk/2ZmZv9mZmb/jIyM/76+vv8dIifQAAAAGgAAAAAAAAACAQEBSTc0RsMKFhzLAAwP + lwAAADsAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAB4AAABeFhYWol1dXdiZmZn31NTU + /uLi4v/i4uL/4uLi/97e3v9xcXH/ZmZm/2ZmZv/IyMj/vr6+/x0iJ9AAAAAaAAAAAAAAACM5NUfFU05p + /yZRZv8ATl3+AB8k3QAAAGsAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVZWVlo6enp/jb29v/4uLi + /+Li4v/i4uL/4uLi/+Li4v/i4uL/srKy/2ZmZv9mZmb/g4OD/+Li4v+wsLD/HSInzgAAABoAAAAGFxYe + elxWc/xGTmf/A1Zm/wBWZv8AVWX/ADZA9QAHCJ8AAAAmAAAAAAAAAAAAAAAAAAAAAAAAACuysrLl4uLi + /+Li4v/i4uL/4uLi/+Li4v/i4uL/4uLi/+Hh4f98fHz/ZmZm/2ZmZv+/v7//4+Pj/7CwsP8cHyLGAAAA + FQAAAA6SjaCwuLHb/xVvhv8AWWr/AFZm/wBWZv8AVmb/AEta/AAFBqwAAAAlAAAAAQAAAAAAAAAAAAAA + N7i4uO/i4uL/4uLi/+Li4v/i4uL/4uLi/+Li4v/i4uL/w8PD/2ZmZv9mZmb/fHx8/+Li4v/j4+P/sLCw + /xEWGr0AAAAQAAAAAwYGBlU5ztb3Jdnp/wmTrP8AZXj/AFZm/wBWZv8HVGP/KzlC/QkMDr4AAABDAAAA + BwAAAAAAAABFxcXF9uLi4v/i4uL/4uLi/+Li4v/i4uL/4+Pj/+Pj4/+JiYn/ZmZm/2dnZ//CwsL/5OTk + /+Tk5P+xsbH/EBUbuwAAABAAAAAAAAAADgFZWXUIyMrjHfD7/xW60/8CfJL/AFxt/yJNW/84SFT/NERP + /hUbIOEAAABuAAAAFAAAAFXZ2dn84uLi/+Li4v/i4uL/4+Pj/+Pj4//j4+P/3Nzc/2lpaf9mZmb/l5eX + /+Xl5f/l5eX/5eXl/7Gxsf8QFRu7AAAAEAAAAAAAAAAAAAAABwABATYBeXmhC9/l8xbZ8P8qk6z/RVln + /zhIVP84SFT/N0dT/yMuNfYEBQagDw8Pkt7e3v7i4uL/4+Pj/+Pj4//j4+P/4+Pj/+Tk5P+/v7//ZmZm + /3BwcP/b29v/5ubm/+bm5v/m5ub/rKys/xAVG7sAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAA8AFRVNDHp+ + qH+it+qGqsP/Vm6B/zxNWv84SFT/OEhU/y89R/4eIST74uLi/+Pj4//j4+P/4+Pj/+Tk5P/k5OT/5eXl + /5qamv9mZmb/tra2/+fn5//n5+f/5+fn/+jo6P+jo6P/EBUbuwAAABAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAEAAAAMAQEBP1BmdLCLsMr5bYuh/0Zaaf84SFT/OEhU/zxLV/+ZoKX/4uLi/+Tk5P/k5OT/5eXl + /+Xl5f/m5ub/eXl5/4eHh//n5+f/6Ojo/+jo6P/p6en/6enp/6SkpP8QFhu1AAAADgAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFRggJGhujKHXgqbB/ldwg/88TVr/OEhU/zhIVP9rd3//1dfY + /+Xl5f/m5ub/5+fn/9bW1v9paWn/09PT/+np6f/q6ur/6urq/+vr6//r6+v/o6Sl/wcJDKkAAAAKAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAACw8TVeVf6K78W6Npf9HW2r/OEhU + /zhIVP9KWWT/293f/+fn5//o6Oj/ra2t/6Kiov/r6+v/7Ozs/+zs7P/t7e3/7e3t/+7u7v+jpab/BAgL + pAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ICgtOW3SG + xX6ivP5Zc4b/PE5b/zZHVf9ofZH/6enp/+rq6v+Ojo7/5eXl/+3t7f/u7u7/7+/v/+/v7//w8PD/8PDw + /6Smp/8ECAukAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAEAAAAyfIOH4qPA1f9wkan/NFNx/yRFZv+ToK3/5eXl/7u7u//v7+//8PDw//Hx8f/y8vL/8/Pz + //Pz8//09PT/mpud/wQIC6QAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAACCenp7Z5ufo/8vX4f+wx97/k6nA/1tsff/BwcH/8PDw//Pz8//09PT/9fX1 + //b29v/29vb/9/f3//f39/+WmJn/BAgLpAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKbKysuTr6+v/7Ozs/+7u7v/w8PD/8vLy//Pz8//19fX/9vb2 + //j4+P/5+fn/+vr6//v7+//7+/v//Pz8/5iZm/8ECAyhAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0v7+/7e3t7f/v7+//8fHx//T09P/29vb/9/f3 + //n5+f/7+/v//Pz8//39/f/+/v7//v7+//7+/v/+/v7/lpeZ/wEDBZUAAAAGAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAETMzMz18fHx//Pz8//19fX/+Pj4 + //r6+v/8/Pz//v7+//7+/v////////////////////////////////+Pk5f/AAAAiwAAAAQAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBgYCW5OTf/3Cwrn/7+/u + //r6+v/8/Pz//v7+/////////////////////////////////////////////////46Slv8AAACKAAAA + BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfHw9DkpJG + 7ImJQf9qajT/eHhW/5yciv/Ly8P/9/f2////////////////////////////////////////////fYGF + /wAAAIoAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAkCAgA7NTUagXV1O7+Wlk3roaFQ/oCAPv9iYjD/dHRU/5ubiv/Ly8P/9vb2//////////////// + //////99gYX/AAAAigAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEwAAADQfHw5rZ2c0rZKSTOCvr1v7nZ1R/3h4O/9aWiv/cHBS + /5qaiv/Ly8T/9/f2/3yAhP8AAACMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAANAAAAKAkJBFhSUiiaiIhG + 0q6uXfWzs2D/k5NM/21tNP9VVSv/Q0Qq/wICAI8AAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AQAAAAgAAAAdAgIARjY2GYV2djrEo6NV7b29Zv43Nxf7AQEAbwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAABUAAAA3ISEObiAgDncAAAAgAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAABAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAD/////////+f///8D///4A///wAMP/AACA/AAAgHwAAAA8AAAADAAAAAQAAIAAAADAAAAA8AAA + APgAAAD/AAAA/4AAAP/gAAD/8AAA//gAAP/4AAD/+AAA//gAAP/wAAD/+AAA//gAAP/+AAD//8AA///4 + AP///4H////z/////ygAAAAaAAAANAAAAAEAIAAAAAAA+AoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + 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 + //f39//6+vr//Pz8//7+/v/+/v7///////////////////////////9IS079AAAANwAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHZWU6y4mJZ/+qqpr/2trV//39/f////////// + /////////////////////////////////0BER/0AAAA3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAABrazVDhoZDqo+PRuaJiUP+dXVC/4eHaf+srJ3/3NzX//39/f////////// + ////////////ODw//QAAADcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAACAAAAE0FBH0eGhkWTmZlQ16CgUvyCgkH/bGw+/4ODZ/+rq53/3NzX//39/f84Oz/9AAAA + NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAALGxsMM3d3O3yZmVHDq6ta9J6eUv93dzz/ZGQ7/ycoGP4AAAA8AAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAUDAwEgXV0sZY+PSK+Wlk/pISEN2wAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AgAAABQBAQAZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//// + /////D///+A///8AP4P4AD+B8AA/AOAAPwBgAD8AAAA/gAAAP+AAAD/wAAA//AAAP/8AAD//wAA//+AA + P//gAD//4AA//8AAP//AAD//4AA///AAP///AD///+A////8f/////8oAAAAGAAAADAAAAABACAAAAAA + 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 + //4A////4P////3//w== + + + \ No newline at end of file diff --git a/Themenmanagement/Sysadmin/FrmToolTipEditor.vb b/Themenmanagement/Sysadmin/FrmToolTipEditor.vb new file mode 100644 index 0000000..d66d57e --- /dev/null +++ b/Themenmanagement/Sysadmin/FrmToolTipEditor.vb @@ -0,0 +1,95 @@ +Imports C1.Win.C1TrueDBGrid +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient +Public Class FrmToolTipEditor + Dim WithEvents evh As MyGenericEventHandler = Globals.MyEventHanlder + + Private Sub FrmToolTipEditor_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed + Globals.Set_ToolTips = False + Globals.ToolTipDaten.Tables.Clear() + End Sub + + Private Sub FrmToolTipEditor_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing + Globals.Set_ToolTips = False + Globals.ToolTipDaten.Tables.Clear() + End Sub + + Private Sub FrmToolTipEditor_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + Globals.Set_ToolTips = True + End Sub + + Private Sub evh_Set_ToolTip(ByVal formname As String, ByVal ctlname As String) Handles evh.Set_ToolTip + Me.txtFormularname.Text = formname + Me.txtControlname.Text = ctlname + Me.txtToolTip.Text = "" + Get_Data() + End Sub + + Private Function Get_Data() + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.sp_tooltips" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + scmCmdToExecute.Connection = conn.scoDBConnection + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@fnkt", SqlDbType.Int, 4, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, 1)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@formname", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, Me.txtFormularname.Text)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@controlname", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, Me.txtControlname.Text)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@Tooltip", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, "")) + scmCmdToExecute.Parameters.Add(New SqlParameter("@mitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, Globals.clsmitarbeiter.iMitarbeiternr.Value)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@outToolTipNr", SqlDbType.Int, 4, ParameterDirection.Output, True, 0, 0, "", DataRowVersion.Proposed, 0)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@outformname", SqlDbType.VarChar, 50, ParameterDirection.Output, True, 0, 0, "", DataRowVersion.Proposed, "")) + scmCmdToExecute.Parameters.Add(New SqlParameter("@outcontrolname", SqlDbType.VarChar, 50, ParameterDirection.Output, True, 0, 0, "", DataRowVersion.Proposed, "")) + scmCmdToExecute.Parameters.Add(New SqlParameter("@outtooltip", SqlDbType.VarChar, 1024, ParameterDirection.Output, True, 0, 0, "", DataRowVersion.Proposed, "")) + scmCmdToExecute.Connection.Open() + scmCmdToExecute.ExecuteNonQuery() + + If scmCmdToExecute.Parameters("@outtooltip").Value <> "" Then + Me.txtToolTip.Text = scmCmdToExecute.Parameters("@outtooltip").Value + Return True + Else + Return False + End If + Catch ex As Exception + Finally + scmCmdToExecute.Connection.Close() + End Try + End Function + Private Function Save_Data() + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.sp_tooltips" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + scmCmdToExecute.Connection = conn.scoDBConnection + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@fnkt", SqlDbType.Int, 4, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, 2)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@formname", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, Me.txtFormularname.Text)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@controlname", SqlDbType.VarChar, 50, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, Me.txtControlname.Text)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@Tooltip", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, Me.txtToolTip.Text)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@mitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, Globals.clsmitarbeiter.iMitarbeiternr.Value)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@outToolTipNr", SqlDbType.Int, 4, ParameterDirection.Output, True, 0, 0, "", DataRowVersion.Proposed, 0)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@outformname", SqlDbType.VarChar, 50, ParameterDirection.Output, True, 0, 0, "", DataRowVersion.Proposed, "")) + scmCmdToExecute.Parameters.Add(New SqlParameter("@outcontrolname", SqlDbType.VarChar, 50, ParameterDirection.Output, True, 0, 0, "", DataRowVersion.Proposed, "")) + scmCmdToExecute.Parameters.Add(New SqlParameter("@outtooltip", SqlDbType.VarChar, 1024, ParameterDirection.Output, True, 0, 0, "", DataRowVersion.Proposed, "")) + scmCmdToExecute.Connection.Open() + scmCmdToExecute.ExecuteNonQuery() + Return True + Catch ex As Exception + Finally + scmCmdToExecute.Connection.Close() + End Try + End Function + + + Private Sub BeendenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BeendenToolStripMenuItem.Click + Me.Close() + End Sub + + Private Sub TSBtnQuit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnQuit.Click + Me.Close() + End Sub + + Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click + Me.Save_Data() + End Sub +End Class \ No newline at end of file diff --git a/Themenmanagement/Sysadmin/MySysadmin.vb b/Themenmanagement/Sysadmin/MySysadmin.vb new file mode 100644 index 0000000..c64e3c7 --- /dev/null +++ b/Themenmanagement/Sysadmin/MySysadmin.vb @@ -0,0 +1,491 @@ +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace Sysadmin + + Public Class DomainTable + +#Region "Deklarationen" + + Dim UpdateCommand As New SqlCommand + Dim InsertCommand As New SqlCommand + Dim selectcommand As New SqlCommand + Dim BaseData As New DataSet + Dim connection As New SqlConnection() + Dim da As New SqlDataAdapter("", connection) + + Dim m_tablename As String + Property Tablename() As String + Get + Return m_tablename + End Get + Set(ByVal value As String) + m_tablename = value + End Set + End Property + + Dim m_selectproc As String + Property Select_Proc() As String + Get + Return "pr_" & Tablename & "_selectall" + End Get + Set(ByVal value As String) + m_selectproc = "pr_" & Tablename & "_selectall" + End Set + End Property + Property Update_Proc() As String + Get + Return "pr_" & Tablename & "_Update" + End Get + Set(ByVal value As String) + m_selectproc = "pr_" & Tablename & "_Update" + End Set + End Property + + Property Insert_Proc() As String + Get + Return "pr_" & Tablename & "_Insert" + End Get + Set(ByVal value As String) + m_selectproc = "pr_" & Tablename & "_Update" + End Set + End Property + + Property Select_Proc_Bottomtable() As String + Get + Return "pr_" & Tablename & "_selectall_bottomtable" + End Get + Set(ByVal value As String) + m_selectproc = "pr_" & Tablename & "_selectall_bottomtable" + End Set + End Property + Property Select_Proc_Bottomtable2() As String + Get + Return "pr_" & Tablename & "_selectall_bottomtable2" + End Get + Set(ByVal value As String) + m_selectproc = "pr_" & Tablename & "_selectall_bottomtable2" + End Set + End Property + Property Update_Proc_Bottomtable() As String + Get + Return "pr_" & Tablename & "_Update_bottomtable" + End Get + Set(ByVal value As String) + m_selectproc = "pr_" & Tablename & "_Update_bottomtable" + End Set + End Property + + Property Insert_Proc_Bottomtable() As String + Get + Return "pr_" & Tablename & "_Insert_bottomtable" + End Get + Set(ByVal value As String) + m_selectproc = "pr_" & Tablename & "_Update_bottomtable" + End Set + End Property + + Dim m_Tabledata As New DataSet + Property Tabledata() As DataSet + Get + Return m_Tabledata + End Get + Set(ByVal value As DataSet) + m_Tabledata = value + End Set + End Property + +#End Region + + ''' + ''' Tabellenname bernehmen und Daten ab DB laden + ''' + ''' + ''' + Sub New(ByVal tablename As String, Optional ByVal Fokus As Integer = 0, Optional ByVal Keyvalue As String = "") + Me.Tablename = tablename + If Keyvalue = "" Then + Load_Data() + Else + Load_Bootom_Table(tablename, Fokus, Keyvalue) + End If + End Sub + + Sub New(ByVal tablename As String, ByVal Fokus As Integer, ByVal Keyvalue As String, ByVal mitarbeiternr As Integer) + Me.Tablename = tablename + If Keyvalue = "" Then + Load_Data() + Else + Load_Data_MA_Fokus(tablename, Fokus, Keyvalue, mitarbeiternr) + End If + End Sub + + + Sub New(ByVal tablename As String, ByVal keyvalue As String, ByVal mitarbeiternr As Integer) + Me.Tablename = tablename + Load_Data_MA(tablename, keyvalue, mitarbeiternr) + End Sub + + Sub New(ByVal tablename As String, ByVal Focus As Integer, ByVal keyvalue As String, ByVal mitarbeiternr As Integer, ByVal Key2 As String) + Me.Tablename = tablename + Load_Data_2Key(tablename, keyvalue, mitarbeiternr, Key2) + End Sub + + + Public Sub Load_Data_MA(ByVal tablename As String, ByVal KeyValue As String, ByVal mitarbeiternr As Integer) + Tabledata.Tables.Clear() + Dim sqlcmd As New SqlCommand + sqlcmd.CommandText = Me.Select_Proc_Bottomtable + sqlcmd.Parameters.Add("@iErrorCode", SqlDbType.Int, 4) + sqlcmd.Parameters.Add("@Fokus", SqlDbType.Int, 4) + sqlcmd.Parameters.Add("@KeyValue", SqlDbType.VarChar, 255) + sqlcmd.Parameters.Add("@mitarbeiternr", SqlDbType.VarChar, 255) + sqlcmd.Parameters(0).Value = 0 + sqlcmd.Parameters(1).Value = 0 + sqlcmd.Parameters(2).Value = KeyValue + sqlcmd.Parameters(3).Value = Globals.clsmitarbeiter.iMitarbeiternr.Value + + sqlcmd.CommandType = CommandType.StoredProcedure + sqlcmd.Connection = connection + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.SelectCommand = sqlcmd + da.Fill(Tabledata, "Domaintable") + Catch ex As Exception + Finally + connection.Close() + da.Dispose() + sqlcmd.Dispose() + End Try + End Sub + + Public Sub Load_Data_2Key(ByVal tablename As String, ByVal KeyValue As String, ByVal mitarbeiternr As Integer, ByVal KeyValue2 As String) + Tabledata.Tables.Clear() + Dim sqlcmd As New SqlCommand + sqlcmd.CommandText = Me.Select_Proc_Bottomtable2 + sqlcmd.Parameters.Add("@iErrorCode", SqlDbType.Int, 4) + sqlcmd.Parameters.Add("@Fokus", SqlDbType.Int, 4) + sqlcmd.Parameters.Add("@KeyValue", SqlDbType.VarChar, 255) + sqlcmd.Parameters.Add("@KeyValue2", SqlDbType.VarChar, 255) + sqlcmd.Parameters.Add("@mitarbeiternr", SqlDbType.VarChar, 255) + sqlcmd.Parameters(0).Value = 0 + sqlcmd.Parameters(1).Value = 0 + sqlcmd.Parameters(2).Value = KeyValue + sqlcmd.Parameters(3).Value = KeyValue2 + sqlcmd.Parameters(4).Value = Globals.clsmitarbeiter.iMitarbeiternr.Value + + sqlcmd.CommandType = CommandType.StoredProcedure + sqlcmd.Connection = connection + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.SelectCommand = sqlcmd + da.Fill(Tabledata, "Domaintable") + Catch ex As Exception + Finally + connection.Close() + da.Dispose() + sqlcmd.Dispose() + End Try + End Sub + + Public Sub Load_Data_MA_Fokus(ByVal tablename As String, ByVal Fokus As Integer, ByVal KeyValue As String, ByVal mitarbeiternr As Integer) + Tabledata.Tables.Clear() + Dim sqlcmd As New SqlCommand + sqlcmd.CommandText = Me.Select_Proc_Bottomtable + sqlcmd.Parameters.Add("@iErrorCode", SqlDbType.Int, 4) + sqlcmd.Parameters.Add("@Fokus", SqlDbType.Int, 4) + sqlcmd.Parameters.Add("@KeyValue", SqlDbType.VarChar, 255) + sqlcmd.Parameters.Add("@mitarbeiternr", SqlDbType.VarChar, 255) + sqlcmd.Parameters(0).Value = 0 + sqlcmd.Parameters(1).Value = Fokus + sqlcmd.Parameters(2).Value = KeyValue + sqlcmd.Parameters(3).Value = Globals.clsmitarbeiter.iMitarbeiternr.Value + + sqlcmd.CommandType = CommandType.StoredProcedure + sqlcmd.Connection = connection + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.SelectCommand = sqlcmd + da.Fill(Tabledata, "Domaintable") + Catch ex As Exception + Finally + connection.Close() + da.Dispose() + sqlcmd.Dispose() + End Try + End Sub + + 'Sub New() + 'End Sub + ''' + ''' Daten ab Datenbank laden + ''' + ''' + Public Overridable Sub Load_Data() + Tabledata.Tables.Clear() + + selectcommand.CommandText = Me.Select_Proc + selectcommand.Parameters.Add("@iErrorCode", SqlDbType.Int, 4) + selectcommand.Parameters(0).Value = 0 + + selectcommand.CommandType = CommandType.StoredProcedure + selectcommand.Connection = connection + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.SelectCommand = selectcommand + da.Fill(Tabledata, "Domaintable") + Catch ex As Exception + Finally + connection.Close() + da.Dispose() + selectcommand.Dispose() + End Try + End Sub + ''' + ''' Basis-Datentabelle laden. Diese wird fr die dynamische Generierung der Insert- und Update-Statements bentigt + ''' + ''' + Private Sub Load_BaseData() + BaseData.Tables.Clear() + Dim sqlcmd As New SqlCommand + + sqlcmd.CommandText = Me.Select_Proc + sqlcmd.Parameters.Add("@iErrorCode", SqlDbType.Int, 4) + sqlcmd.Parameters(0).Value = 0 + + sqlcmd.CommandType = CommandType.StoredProcedure + sqlcmd.Connection = connection + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.SelectCommand = sqlcmd + da.Fill(BaseData, "Basedata") + Catch ex As Exception + Finally + connection.Close() + da.Dispose() + sqlcmd.Dispose() + End Try + End Sub + + ''' + ''' Update-Statement dynamisch fr das UpdateCommand generieren + ''' + ''' + Private Sub Generate_Update_Statement() + Dim col As DataColumn + Dim col1 As DataColumn + Dim UseCol As Boolean = False + + UpdateCommand.CommandText = Me.Update_Proc + UpdateCommand.CommandType = System.Data.CommandType.StoredProcedure + UpdateCommand.Connection = connection + + UpdateCommand.Parameters.Clear() + For Each col In Me.Tabledata.Tables(0).Columns + UseCol = False + For Each col1 In Me.BaseData.Tables(0).Columns + If col.ColumnName = col1.ColumnName Then + UseCol = True + Exit For + End If + Next + If UseCol Then UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter(Get_Prefix(col) & col.ColumnName, Get_SqlDBType(col), Get_Data_Fieldlen(col), col.ColumnName)) + Next + UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@iErrorcode", SqlDbType.Int, 4)) + UpdateCommand.Parameters("@iErrorcode").Value = 0 + da.UpdateCommand = UpdateCommand + End Sub + ''' + ''' Insert-Statement dynamisch fr das InsertCommand generieren + ''' + ''' + Private Sub Generate_Insert_Statement() + Dim col As DataColumn + Dim col1 As DataColumn + Dim UseCol As Boolean = False + + InsertCommand.CommandText = Me.Insert_Proc + InsertCommand.CommandType = System.Data.CommandType.StoredProcedure + InsertCommand.Connection = connection + + InsertCommand.Parameters.Clear() + For Each col In Me.Tabledata.Tables(0).Columns + UseCol = False + For Each col1 In Me.BaseData.Tables(0).Columns + If col.ColumnName = col1.ColumnName Then + UseCol = True + Exit For + End If + Next + If UseCol Then InsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter(Get_Prefix(col) & col.ColumnName, Get_SqlDBType(col), Get_Data_Fieldlen(col), col.ColumnName)) + Next + InsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@iErrorcode", SqlDbType.Int, 4)) + InsertCommand.Parameters("@iErrorcode").Value = 0 + da.InsertCommand = InsertCommand + End Sub + ''' + ''' Prefixt fr den SP-bergabeparameter generieren + ''' + ''' Aktuelle Columnt + ''' Prefis fr SP-bergabeparameter + ''' + Private Function Get_Prefix(ByVal col As DataColumn) As String + If col.DataType.Name = "DateTime" Then Return "@da" + If col.DataType.Name = "Double" Then Return "@f" + Return "@" & col.DataType.Name.Substring(0, 1) + End Function + ''' + ''' SQL-DB-Type fr den SP-bergabeparameter festlegen + ''' + ''' Aktuelle Column + ''' SQLDBType + ''' + Private Function Get_SqlDBType(ByVal col As DataColumn) As SqlDbType + If col.DataType.Name = "Integer" Then Return SqlDbType.Int + If col.DataType.Name = "Int32" Then Return SqlDbType.Int + If col.DataType.Name = "String" Then Return SqlDbType.VarChar + If col.DataType.Name = "Boolean" Then Return SqlDbType.Bit + If col.DataType.Name = "DateTime" Then Return SqlDbType.DateTime + If col.DataType.Name = "Double" Then Return SqlDbType.Float + MsgBox(col.DataType.Name) + End Function + + ''' + ''' Feldlnge fr den SP-bergabeparemter festlegen + ''' + ''' Aktulle Column + ''' Feldlnge + ''' + Private Function Get_Data_Fieldlen(ByVal col As DataColumn) As Integer + Return col.MaxLength + End Function + + ''' + ''' Datesichern. Dabei wird das Update- sowie das Insert-Statement dynamisch generiert + ''' + ''' + Public Sub Save_Data() + Load_BaseData() + Generate_Update_Statement() + Generate_Insert_Statement() + Try + da.Update(Me.Tabledata, Me.Tabledata.Tables(0).TableName) + + Catch ex As Exception + MsgBox(ex.Message) + End Try + End Sub + ''' + ''' Dispose von Tabledata + ''' + ''' + Public Sub dispose() + Me.Tabledata.Dispose() + End Sub + +#Region "Verknpfungseditor" + ''' + ''' Load der Verbindungstabelle + ''' + ''' + ''' + ''' + ''' + Public Sub Load_Bootom_Table(ByVal tablename As String, ByVal Fokus As Integer, ByVal KeyValue As String) + Tabledata.Tables.Clear() + Dim sqlcmd As New SqlCommand + sqlcmd.CommandText = Me.Select_Proc_Bottomtable + sqlcmd.Parameters.Add("@iErrorCode", SqlDbType.Int, 4) + sqlcmd.Parameters.Add("@Fokus", SqlDbType.Int, 4) + sqlcmd.Parameters.Add("@KeyValue", SqlDbType.VarChar, 255) + sqlcmd.Parameters(0).Value = 0 + sqlcmd.Parameters(1).Value = Fokus + sqlcmd.Parameters(2).Value = KeyValue + + sqlcmd.CommandType = CommandType.StoredProcedure + sqlcmd.Connection = connection + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.SelectCommand = sqlcmd + da.Fill(Tabledata, "Domaintable") + Catch ex As Exception + Finally + connection.Close() + da.Dispose() + sqlcmd.Dispose() + End Try + End Sub + ''' + ''' Neuer Eintrag in der Tabelle eintragen. Sind neben den Defaultwerten weitere Attribute vorhanden, werde diese abhngig vom Datentype mit Defaultwerten befllt. + ''' + ''' + ''' + ''' + ''' + ''' + Public Sub Insert_Bottom_Table(ByVal key1 As String, ByVal keyvalue1 As Integer, ByVal key2 As String, ByVal keyvalue2 As String) + Dim dbkey As New db.clsMyKey_Tabelle + dbkey.cpMainConnectionProvider = Globals.conn + conn.OpenConnection() + Dim newkey As Integer = dbkey.get_dbkey(Me.Tablename) + conn.CloseConnection(True) + dbkey.Dispose() + Dim dr As DataRow + dr = Me.Tabledata.Tables(0).NewRow + dr.Item(0) = newkey + Dim i As Integer + For i = 1 To Me.Tabledata.Tables(0).Columns.Count - 1 + Select Case UCase(Me.Tabledata.Tables(0).Columns(i).ColumnName) + Case "AKTIV" + dr.Item(i) = 1 + Case "ERSTELLT_AM" + dr.Item(i) = Now + Case "MUTIERT_AM" + dr.Item(i) = Now + Case "MUTIERER" + dr.Item(i) = Globals.clsmitarbeiter.iMitarbeiternr.Value + Case "MANDANTNR" + dr.Item(i) = Globals.clsmitarbeiter.iMandantnr.Value + Case "MANDANT" + dr.Item(i) = Globals.clsmitarbeiter.iMandantnr.Value + Case UCase(key1) + dr.Item(i) = keyvalue1 + Case UCase(key2) + dr.Item(i) = keyvalue2 + Case Else + Select Case Type.GetTypeCode(Me.Tabledata.Tables(0).Columns(i).DataType) + Case TypeCode.DateTime + dr.Item(i) = Now + Case TypeCode.Double + dr.Item(i) = 0 + Case TypeCode.String + dr.Item(i) = "" + Case TypeCode.Int32 + dr.Item(i) = 0 + Case TypeCode.Boolean + dr.Item(i) = True + Case TypeCode.Int16 + dr.Item(i) = 0 + Case TypeCode.Int32 + dr.Item(i) = 0 + Case TypeCode.Int64 + dr.Item(i) = 0 + End Select + End Select + Next + Me.Tabledata.Tables(0).Rows.Add(dr) + End Sub +#End Region + + + End Class + +End Namespace diff --git a/Themenmanagement/Sysadmin/MySysadminFunktion.vb b/Themenmanagement/Sysadmin/MySysadminFunktion.vb new file mode 100644 index 0000000..96a9c3e --- /dev/null +++ b/Themenmanagement/Sysadmin/MySysadminFunktion.vb @@ -0,0 +1,113 @@ +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace db + + Public Class clsMySysadminfunkion + Inherits clsSysadminfunktion + +#Region "Select Hierarchy" + Public Function SelectHierarchy() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + 'scmCmdToExecute.CommandText = "dbo.[sp_sysadminfunktion_hierarchie]" + scmCmdToExecute.CommandText = "dbo.[sp_get_sysadmin_tree]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = New DataTable("sysadminfunktion") + Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute) + + ' // Use base class' connection object + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@imitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Globals.clsmitarbeiter.iMitarbeiternr.Value)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iroot", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 0)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@isprache", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 1)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@imandant", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Globals.clsmitarbeiter.iMandantnr.Value)) + scmCmdToExecute.Parameters.Add(New SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode)) + + If m_bMainConnectionIsCreatedLocal Then + ' // Open connection. + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + ' // Execute query. + sdaAdapter.Fill(dtToReturn) + m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32)) + + If Not m_iErrorCode.Equals(New SqlInt32(db.LLBLError.AllOk)) Then + ' // Throw error. + Throw New Exception("Stored Procedure 'pr_sysadminfunktion_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString()) + End If + + Return dtToReturn + Catch ex As Exception + ' // some error occured. Bubble it to caller and encapsulate Exception object + Throw New Exception("clsSysadminfunktion::SelectAll::Error occured." + ex.Message, ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + +#End Region + +#Region "LoadTreeMenu" + Public Sub LoadTreeMenu(ByVal otv As TreeView) + Dim menueintraege As New clsMySysadminfunkion() + Dim menudata As DataTable + Dim i As Integer + Dim m_collDeletedNodes As Collection + Dim collNodeKeys As New Collection() + Dim tnNew As TreeNode + Dim tnParent As TreeNode + + m_collDeletedNodes = Nothing + m_collDeletedNodes = New Collection() + + menueintraege.cpMainConnectionProvider = conn + menudata = menueintraege.SelectHierarchy + + For i = 0 To menudata.Rows.Count - 1 + If menudata.Rows(i).Item("ParentID") = 0 Then + tnNew = otv.Nodes.Add(menudata.Rows(i).Item("bezeichnung")) + With tnNew + .Tag() = menudata.Rows(i).Item("sysadminfnktnr") + .ImageIndex() = menudata.Rows(i).Item("ImageIndex") + .SelectedImageIndex() = menudata.Rows(i).Item("ImageIndexOpen") + End With + Try + collNodeKeys.Add(tnNew, CType(menudata.Rows(i).Item("sysadminfnktnr"), String)) + Catch ex As Exception + MsgBox(ex.Message, MsgBoxStyle.Critical) + End Try + Else + Try + tnParent = CType(collNodeKeys.Item(CType(menudata.Rows(i).Item("ParentID"), String)), TreeNode) + tnNew = tnParent.Nodes.Add(CType(menudata.Rows(i).Item("bezeichnung"), String)) + With tnNew + .Tag() = CType(menudata.Rows(i).Item("sysadminfnktnr"), String) + .ImageIndex() = menudata.Rows(i).Item("ImageIndex") + .SelectedImageIndex() = menudata.Rows(i).Item("ImageIndexOpen") + End With + collNodeKeys.Add(tnNew, CType(menudata.Rows(i).Item("sysadminfnktnr"), String)) + Catch ex As Exception + MsgBox(ex.Message, MsgBoxStyle.Critical) + End Try + End If + Next + End Sub + +#End Region + + End Class +End Namespace diff --git a/Themenmanagement/Sysadmin/frmDomainEditor.designer.vb b/Themenmanagement/Sysadmin/frmDomainEditor.designer.vb new file mode 100644 index 0000000..43527db --- /dev/null +++ b/Themenmanagement/Sysadmin/frmDomainEditor.designer.vb @@ -0,0 +1,174 @@ + _ +Partial Class frmDomainEditor + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmDomainEditor)) + Me.MenuStrip1 = New System.Windows.Forms.MenuStrip() + Me.DateiToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.BeendenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStrip1 = New System.Windows.Forms.ToolStrip() + Me.TSBtnQuit = New System.Windows.Forms.ToolStripButton() + Me.TSBtnSave = New System.Windows.Forms.ToolStripButton() + Me.C1Daten = New C1.Win.C1TrueDBGrid.C1TrueDBGrid() + Me.ContextMenuStripAuswertung = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.ReportdateiDBToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ReportdateiFilesystemToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.OpenFileDialog1 = New System.Windows.Forms.OpenFileDialog() + Me.SaveFileDialog1 = New System.Windows.Forms.SaveFileDialog() + Me.MenuStrip1.SuspendLayout() + Me.ToolStrip1.SuspendLayout() + CType(Me.C1Daten, System.ComponentModel.ISupportInitialize).BeginInit() + Me.ContextMenuStripAuswertung.SuspendLayout() + Me.SuspendLayout() + ' + 'MenuStrip1 + ' + Me.MenuStrip1.AllowMerge = False + Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DateiToolStripMenuItem}) + Me.MenuStrip1.Location = New System.Drawing.Point(0, 0) + Me.MenuStrip1.Name = "MenuStrip1" + Me.MenuStrip1.Size = New System.Drawing.Size(556, 24) + Me.MenuStrip1.TabIndex = 0 + Me.MenuStrip1.Text = "MenuStrip1" + ' + 'DateiToolStripMenuItem + ' + Me.DateiToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.BeendenToolStripMenuItem}) + Me.DateiToolStripMenuItem.Name = "DateiToolStripMenuItem" + Me.DateiToolStripMenuItem.Size = New System.Drawing.Size(46, 20) + Me.DateiToolStripMenuItem.Text = "&Datei" + ' + 'BeendenToolStripMenuItem + ' + Me.BeendenToolStripMenuItem.Name = "BeendenToolStripMenuItem" + Me.BeendenToolStripMenuItem.Size = New System.Drawing.Size(120, 22) + Me.BeendenToolStripMenuItem.Text = "&Beenden" + ' + 'ToolStrip1 + ' + Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.TSBtnQuit, Me.TSBtnSave}) + Me.ToolStrip1.Location = New System.Drawing.Point(0, 24) + Me.ToolStrip1.Name = "ToolStrip1" + Me.ToolStrip1.Size = New System.Drawing.Size(556, 25) + Me.ToolStrip1.TabIndex = 1 + Me.ToolStrip1.Text = "ToolStrip1" + ' + 'TSBtnQuit + ' + Me.TSBtnQuit.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnQuit.Image = CType(resources.GetObject("TSBtnQuit.Image"), System.Drawing.Image) + Me.TSBtnQuit.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnQuit.Name = "TSBtnQuit" + Me.TSBtnQuit.Size = New System.Drawing.Size(23, 22) + Me.TSBtnQuit.Text = "ToolStripButton1" + Me.TSBtnQuit.ToolTipText = "Fenster schliessen" + ' + 'TSBtnSave + ' + Me.TSBtnSave.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnSave.Image = CType(resources.GetObject("TSBtnSave.Image"), System.Drawing.Image) + Me.TSBtnSave.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnSave.Name = "TSBtnSave" + Me.TSBtnSave.Size = New System.Drawing.Size(23, 22) + Me.TSBtnSave.Text = "ToolStripButton1" + Me.TSBtnSave.ToolTipText = "Daten speichern" + ' + 'C1Daten + ' + Me.C1Daten.AllowAddNew = True + Me.C1Daten.AlternatingRows = True + Me.C1Daten.CellTips = C1.Win.C1TrueDBGrid.CellTipEnum.Floating + Me.C1Daten.Dock = System.Windows.Forms.DockStyle.Fill + Me.C1Daten.FilterBar = True + Me.C1Daten.GroupByCaption = "Drag a column header here to group by that column" + Me.C1Daten.Images.Add(CType(resources.GetObject("C1Daten.Images"), System.Drawing.Image)) + Me.C1Daten.Location = New System.Drawing.Point(0, 49) + Me.C1Daten.Name = "C1Daten" + Me.C1Daten.PreviewInfo.Location = New System.Drawing.Point(0, 0) + Me.C1Daten.PreviewInfo.Size = New System.Drawing.Size(0, 0) + Me.C1Daten.PreviewInfo.ZoomFactor = 75.0R + Me.C1Daten.PrintInfo.PageSettings = CType(resources.GetObject("C1Daten.PrintInfo.PageSettings"), System.Drawing.Printing.PageSettings) + Me.C1Daten.Size = New System.Drawing.Size(556, 270) + Me.C1Daten.TabAction = C1.Win.C1TrueDBGrid.TabActionEnum.ColumnNavigation + Me.C1Daten.TabIndex = 4 + Me.C1Daten.Text = "C1TrueDBGrid1" + Me.C1Daten.PropBag = resources.GetString("C1Daten.PropBag") + ' + 'ContextMenuStripAuswertung + ' + Me.ContextMenuStripAuswertung.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ReportdateiDBToolStripMenuItem, Me.ReportdateiFilesystemToolStripMenuItem}) + Me.ContextMenuStripAuswertung.Name = "ContextMenuStripAuswertung" + Me.ContextMenuStripAuswertung.Size = New System.Drawing.Size(210, 48) + ' + 'ReportdateiDBToolStripMenuItem + ' + Me.ReportdateiDBToolStripMenuItem.Name = "ReportdateiDBToolStripMenuItem" + Me.ReportdateiDBToolStripMenuItem.Size = New System.Drawing.Size(209, 22) + Me.ReportdateiDBToolStripMenuItem.Text = "Reportdatei -> DB" + ' + 'ReportdateiFilesystemToolStripMenuItem + ' + Me.ReportdateiFilesystemToolStripMenuItem.Name = "ReportdateiFilesystemToolStripMenuItem" + Me.ReportdateiFilesystemToolStripMenuItem.Size = New System.Drawing.Size(209, 22) + Me.ReportdateiFilesystemToolStripMenuItem.Text = "Reportdatei -> Filesystem" + ' + 'OpenFileDialog1 + ' + Me.OpenFileDialog1.FileName = "OpenFileDialog1" + ' + 'frmDomainEditor + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(556, 319) + Me.Controls.Add(Me.C1Daten) + Me.Controls.Add(Me.ToolStrip1) + Me.Controls.Add(Me.MenuStrip1) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.MainMenuStrip = Me.MenuStrip1 + Me.Name = "frmDomainEditor" + Me.Text = "frmDomainEditor" + Me.MenuStrip1.ResumeLayout(False) + Me.MenuStrip1.PerformLayout() + Me.ToolStrip1.ResumeLayout(False) + Me.ToolStrip1.PerformLayout() + CType(Me.C1Daten, System.ComponentModel.ISupportInitialize).EndInit() + Me.ContextMenuStripAuswertung.ResumeLayout(False) + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents MenuStrip1 As System.Windows.Forms.MenuStrip + Friend WithEvents ToolStrip1 As System.Windows.Forms.ToolStrip + Friend WithEvents DateiToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents BeendenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents TSBtnQuit As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnSave As System.Windows.Forms.ToolStripButton + Friend WithEvents C1Daten As C1.Win.C1TrueDBGrid.C1TrueDBGrid + Friend WithEvents ContextMenuStripAuswertung As System.Windows.Forms.ContextMenuStrip + Friend WithEvents ReportdateiDBToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ReportdateiFilesystemToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents OpenFileDialog1 As System.Windows.Forms.OpenFileDialog + Friend WithEvents SaveFileDialog1 As System.Windows.Forms.SaveFileDialog +End Class diff --git a/Themenmanagement/Sysadmin/frmDomainEditor.resx b/Themenmanagement/Sysadmin/frmDomainEditor.resx new file mode 100644 index 0000000..d98551a --- /dev/null +++ b/Themenmanagement/Sysadmin/frmDomainEditor.resx @@ -0,0 +1,209 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 17, 17 + + + 125, 17 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACkSURBVDhPlZOBDoAgCET9dD7NPyNPgpAIzY21oTzPg1rL + F4/0aaQEJqJXAIo8Vu9dL9gDYiGRgG6VCwBJLDvgbxRVsodvBPiEASDXF3mIB3AbBzPjBLDeHBVIcRbj + KScKuMGQElArmKZNSNJ7VYC2Ib48EIjE0gX1QPerLigkATytqxT4gQht3HsQx9H8+OpCeHL+R+FQnIPT + QiXaHPwtNMCu8ALckGXYKNsEDQAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABeSURBVDhPYzhw4MB/SjADSDMDAwNZGKwXZkBDA8QQQq6B + qYHT5BgAczHZLkB2LVleGMQGwJyGL1pBanB6ASZJDI01GolxAUgjXhfgcj4sgQ1SA8jNUPCkTCgD4ZMH + ADk0Kh+zxKF0AAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAA3SURBVChTY2DABP+xiIGFkCVwsVEUwhThNREkiaEAJoiP + RnEmskKs7kd3C1YrYTrx+g6bIrAYAKCqHOQvFu6BAAAAAElFTkSuQmCC + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0 + dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACRTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5QYWdlU2V0dGluZ3MHAAAAD3ByaW50ZXJTZXR0aW5ncwVjb2xvcglwYXBlclNp + emULcGFwZXJTb3VyY2URcHJpbnRlclJlc29sdXRpb24JbGFuZHNjYXBlB21hcmdpbnMEBAQEBAQEJ1N5 + c3RlbS5EcmF3aW5nLlByaW50aW5nLlByaW50ZXJTZXR0aW5ncwIAAAAgU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuVHJpU3RhdGUCAAAAIVN5c3RlbS5EcmF3aW5nLlByaW50aW5nLlBhcGVyU2l6ZQIAAAAjU3lz + dGVtLkRyYXdpbmcuUHJpbnRpbmcuUGFwZXJTb3VyY2UCAAAAKVN5c3RlbS5EcmF3aW5nLlByaW50aW5n + LlByaW50ZXJSZXNvbHV0aW9uAgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAf + U3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuTWFyZ2lucwIAAAACAAAACQMAAAAF/P///yBTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5UcmlTdGF0ZQEAAAAFdmFsdWUAAgIAAAAACgoKAfv////8////AAkGAAAABQMA + AAAnU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRlclNldHRpbmdzEgAAAAtwcmludGVyTmFtZQpk + cml2ZXJOYW1lCm91dHB1dFBvcnQLcHJpbnRUb0ZpbGUUcHJpbnREaWFsb2dEaXNwbGF5ZWQKZXh0cmFi + eXRlcwlleHRyYWluZm8GY29waWVzBmR1cGxleAdjb2xsYXRlE2RlZmF1bHRQYWdlU2V0dGluZ3MIZnJv + bVBhZ2UGdG9QYWdlB21heFBhZ2UHbWluUGFnZQpwcmludFJhbmdlDGRldm1vZGVieXRlcw1jYWNoZWRE + ZXZtb2RlAQEBAAAABwAEBAQAAAAABAAHAQEHAgceU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuRHVwbGV4 + AgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAkU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuUGFnZVNldHRpbmdzAgAAAAgICAgiU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRSYW5n + ZQIAAAAHAgIAAAAKBgcAAAAACQcAAAAAAAAACv//Bfj///8eU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcu + RHVwbGV4AQAAAAd2YWx1ZV9fAAgCAAAA/////wH3/////P///wAJCgAAAAAAAAAAAAAADycAAAAAAAAF + 9f///yJTeXN0ZW0uRHJhd2luZy5QcmludGluZy5QcmludFJhbmdlAQAAAAd2YWx1ZV9fAAgCAAAAAAAA + AAAACgUGAAAAH1N5c3RlbS5EcmF3aW5nLlByaW50aW5nLk1hcmdpbnMIAAAABGxlZnQFcmlnaHQDdG9w + BmJvdHRvbQpkb3VibGVMZWZ0C2RvdWJsZVJpZ2h0CWRvdWJsZVRvcAxkb3VibGVCb3R0b20AAAAAAAAA + AAgICAgGBgYGAgAAAGQAAABkAAAAZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZ + QAEKAAAAAQAAAAkDAAAAAfP////8////AAoKCgHy/////P///wAJDwAAAAEPAAAABgAAAGQAAABkAAAA + ZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAs= + + + + <?xml version="1.0"?><Blob><Styles type="C1.Win.C1TrueDBGrid.Design.ContextWrapper"><Data>HighlightRow{ForeColor:HighlightText;BackColor:Highlight;}Style8{}Style7{}Style3{}EvenRow{BackColor:White;}Normal{}RecordSelector{AlignImage:Center;}OddRow{BackColor:224, 224, 224;}Style14{}Footer{}FilterBar{ForeColor:Black;BackColor:255, 255, 192;}Heading{ForeColor:ControlText;Wrap:True;AlignVert:Center;BackColor:Control;Border:Flat,ControlDark,0, 1, 0, 1;}Style5{}Editor{}Style10{AlignHorz:Near;}Style16{}Selected{ForeColor:HighlightText;BackColor:Highlight;}Style15{}Style13{}Style12{}Style11{}Style4{}Style9{}FilterWatermark{ForeColor:InfoText;BackColor:Info;}Style6{}Group{Border:None,,0, 0, 0, 0;AlignVert:Center;BackColor:ControlDark;}Style1{}Caption{AlignHorz:Center;}Style2{}Inactive{ForeColor:InactiveCaptionText;BackColor:InactiveCaption;}</Data></Styles><Splits><C1.Win.C1TrueDBGrid.MergeView Name="" AlternatingRowStyle="True" CaptionHeight="17" ColumnCaptionHeight="17" ColumnFooterHeight="17" FilterBar="True" MarqueeStyle="DottedCellBorder" RecordSelectorWidth="17" DefRecSelWidth="17" VerticalScrollGroup="1" HorizontalScrollGroup="1"><CaptionStyle parent="Style2" me="Style10" /><EditorStyle parent="Editor" me="Style5" /><EvenRowStyle parent="EvenRow" me="Style8" /><FilterBarStyle parent="FilterBar" me="Style13" /><FilterWatermarkStyle parent="FilterWatermark" me="Style14" /><FooterStyle parent="Footer" me="Style3" /><GroupStyle parent="Group" me="Style12" /><HeadingStyle parent="Heading" me="Style2" /><HighLightRowStyle parent="HighlightRow" me="Style7" /><InactiveStyle parent="Inactive" me="Style4" /><OddRowStyle parent="OddRow" me="Style9" /><RecordSelectorStyle parent="RecordSelector" me="Style11" /><SelectedStyle parent="Selected" me="Style6" /><Style parent="Normal" me="Style1" /><ClientRect>0, 0, 554, 268</ClientRect><BorderSide>0</BorderSide></C1.Win.C1TrueDBGrid.MergeView></Splits><NamedStyles><Style parent="" me="Normal" /><Style parent="Normal" me="Heading" /><Style parent="Heading" me="Footer" /><Style parent="Heading" me="Caption" /><Style parent="Heading" me="Inactive" /><Style parent="Normal" me="Selected" /><Style parent="Normal" me="Editor" /><Style parent="Normal" me="HighlightRow" /><Style parent="Normal" me="EvenRow" /><Style parent="Normal" me="OddRow" /><Style parent="Heading" me="RecordSelector" /><Style parent="Normal" me="FilterBar" /><Style parent="FilterBar" me="FilterWatermark" /><Style parent="Caption" me="Group" /></NamedStyles><vertSplits>1</vertSplits><horzSplits>1</horzSplits><Layout>None</Layout><DefaultRecSelWidth>17</DefaultRecSelWidth><ClientArea>0, 0, 554, 268</ClientArea><PrintPageHeaderStyle parent="" me="Style15" /><PrintPageFooterStyle parent="" me="Style16" /></Blob> + + + 228, 17 + + + 430, 17 + + + 566, 17 + + + + AAABAAEAICAEAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP// + AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHd3d3d3d3d3d3d3d3d3d3AAAAAAAA + AAAAAAAAAAAABw///////////////////wcP//////////////////8HD/d3d3f/d3d3f/d3d3f/Bw// + /////////////////wcP93d3d/93d3d/93d3d/8HD///////////////////Bw/3d3d3/3d3d3/3d3d3 + /wcP//////////////////8HD/d3d3f/d3d3f/d3d3f/Bw///////////////////wcP93d3d/93d3d/ + 93d3d/8HD///////////////////Bw/3d3d3/3d3d3/3d3d3/wcP//////////////////8HD/d3d3f/ + d3d3f/d3d3f/Bw///////////////////wcP93d3d/93d3d/93d3d/8HD///////////////////Bw// + /////////////////wcAAAAAAAAAAAAAAAAAAAAHDMzMzMzMzMzMzMzMzMzMBwz/zMzM/8zMzM/8zMzP + /AcM/8zMzP/MzMzP/MzMz/wHDMzMzMzMzMzMzMzMzMzMBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////4AAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf///////////////w== + + + \ No newline at end of file diff --git a/Themenmanagement/Sysadmin/frmDomainEditor.vb b/Themenmanagement/Sysadmin/frmDomainEditor.vb new file mode 100644 index 0000000..d5a4c43 --- /dev/null +++ b/Themenmanagement/Sysadmin/frmDomainEditor.vb @@ -0,0 +1,236 @@ +''' +''' Form mit generalisiertem Domain-Table-Editor. +''' +''' +''' +''' +''' Vertragsverwaltung.TKB.VV.Sysadmin.DomainTable +Public Class frmDomainEditor + +#Region "Deklarationen" + Dim Domaintable As Sysadmin.DomainTable + Dim tablename As String + Dim SpaltenTitel As New Utils.Tabellenspalte +#End Region + +#Region "Formular-Funktionen" + ''' + ''' Tabellenname bernehmen und Objekt DomainTable initialisieren + ''' Initialisierung der Komponenten + ''' + ''' Tabellenname der Tabelle, welche ber den Domaineditor editiert werden soll + ''' Bentigt werden entsprechende Stored_Procedures, welche mit LBLLGEN_2 generiert wurden + ''' pr_"Tablename"_SelectAll + ''' pr_"Tablename"_Update + ''' + Public Sub New(ByVal tblname As String) + Me.InitializeComponent() + Domaintable = New Sysadmin.DomainTable(tblname) + + Me.Text = "Domaineditor: " & tblname + Me.tablename = tblname + End Sub + ''' + ''' Zuordnung der Daten aus Domaintable und Spaltentitel des Grids setzen + ''' + ''' + ''' + ''' + Private Sub frmDomainEditor_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + If Me.Domaintable.Tablename = "Auswertung" Then + Me.C1Daten.ContextMenuStrip = Me.ContextMenuStripAuswertung + End If + Me.C1Daten.DataSource = Domaintable.Tabledata + Me.C1Daten.DataMember = Domaintable.Tabledata.Tables(0).TableName + SpaltenTitel.Spaltentitel_aktualisieren(Me.C1Daten, Me.tablename, Me.Domaintable.Tabledata.Tables(0)) + End Sub + + + ''' + ''' Schliessen des Formulars + ''' + ''' + ''' + ''' + Private Sub BeendenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BeendenToolStripMenuItem.Click + Me.Close() + End Sub + ''' + ''' Ruft BeendetnToolStipMenuItem_Click auf + ''' + ''' + ''' + ''' + Private Sub TSBtnQuit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnQuit.Click + BeendenToolStripMenuItem_Click(sender, e) + End Sub + ''' + ''' Prfung auf allfllige Daten-Changes. Wurden Daten verndert, kann der User entscheiden, ob gespeichert, nichtgespeichert oder + ''' das Formular nicht gespeichert werden soll. + ''' + ''' + ''' + ''' + Private Sub frmDomainEditor_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing + If Me.Domaintable.Tabledata.HasChanges Then + Dim msg As New Utils.MyMessage + Dim msgboxres As MsgBoxResult + msgboxres = msg.Show_MessageYesNoCancel(3) + If msgboxres = MsgBoxResult.Cancel Then + e.Cancel = True + Exit Sub + End If + If msgboxres = MsgBoxResult.Yes Then + Domaintable.Save_Data() + End If + End If + If UCase(Me.tablename) = "SPALTEN" Then + Globals.Spaltendaten.Rows.Clear() + End If + Domaintable.dispose() + + End Sub + + ''' + ''' Sichern der Daten + ''' + ''' + ''' + ''' + Private Sub TSBtnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnSave.Click + Try + Domaintable.Save_Data() + If UCase(Me.tablename) = "SPALTEN" Then + Globals.Spaltendaten.Rows.Clear() + End If + If UCase(Me.tablename) = "TOOLTIP" Then + Globals.ToolTipDaten.Tables.Clear() + End If + Catch ex As Exception + MsgBox(ex.Message) + End Try + End Sub +#End Region + +#Region "C1 Handling" + ''' + ''' Aktualisierung der Spalten mutiert_am und mutierern. Sofern noch kein Schlsselwert gesetzt ist (bei neuem Datensatz) + ''' wird dieser aus der Keytabelle ausgelesen und zugewiesen. + ''' + ''' + ''' + ''' Je Domaintable ist ein Eintrag in der Key-Tabelle notwendig + Private Sub C1Daten_AfterColUpdate(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.ColEventArgs) Handles C1Daten.AfterColUpdate + 'Aktualisieren von Mutierer und Mutiert_am + + Dim i As Integer + Try + For i = 0 To Me.C1Daten.Columns.Count - 1 + If LCase(Me.C1Daten.Columns(i).DataField) = "mutiert_am" Then Me.C1Daten.Columns(i).Value = Now + If LCase(Me.C1Daten.Columns(i).DataField) = "mutierer" Then Me.C1Daten.Columns(i).Value = Globals.clsmitarbeiter.iMitarbeiternr.Value + Next + + 'neuer DB-Key auslsen, sofern kein Key vorhanden ist + If Me.C1Daten.Columns(0).Value Is DBNull.Value Then + Dim dbkey As New db.clsMyKey_Tabelle() + Dim key As Long + dbkey.cpMainConnectionProvider = conn + key = dbkey.get_dbkey(tablename) + Me.C1Daten.Columns(0).Value = key + For i = 0 To Me.C1Daten.Columns.Count - 1 + If LCase(Me.C1Daten.Columns(i).DataField) = "mandantnr" Then + Me.C1Daten.Columns(i).Value = Globals.clsmitarbeiter.iMandantnr.Value + End If + If LCase(Me.C1Daten.Columns(i).DataField) = "erstellt_am" Then + Me.C1Daten.Columns(i).Value = Now + End If + If LCase(Me.C1Daten.Columns(i).DataField) = "aktiv" Then + Me.C1Daten.Columns(i).Value = 1 + End If + Next + dbkey.Dispose() + End If + Catch + End Try + + End Sub + + ''' + ''' Aktualisierung der Default-Werte + ''' + ''' + ''' + ''' + Private Sub C1Daten_AfterInsert(ByVal sender As Object, ByVal e As System.EventArgs) Handles C1Daten.AfterInsert + 'Dim i As Integer + ''Defaulwerte erstellt_am, mutiert_am, mutierer und aktiv setzen + 'Try + + ' For i = 0 To C1Daten.Columns.Count - 1 + ' If LCase(Me.C1Daten.Columns(i).DataField) = "aktiv" Then + ' Me.C1Daten.Columns(i).Value = 1 + ' End If + ' If LCase(Me.C1Daten.Columns(i).DataField) = "mutiert_am" Then + ' Me.C1Daten.Columns(i).Value = Now + ' End If + ' If LCase(Me.C1Daten.Columns(i).DataField) = "mutierer" Then + ' Me.C1Daten.Columns(i).Value = Globals.clsmitarbeiter.iMitarbeiternr.Value + ' End If + ' If LCase(Me.C1Daten.Columns(i).DataField) = "mandantnr" Then + ' Me.C1Daten.Columns(i).Value = Globals.clsmitarbeiter.iMandantnr.Value + ' End If + ' If LCase(Me.C1Daten.Columns(i).DataField) = "mandnat" Then + ' Me.C1Daten.Columns(i).Value = Globals.clsmitarbeiter.iMandantnr.Value + ' End If + ' Next + 'Catch + 'End Try + End Sub + + ''' + ''' Anzeige allflliger Cellen-Tips + ''' + ''' + ''' + ''' + Private Sub C1Daten_FetchCellTips(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.FetchCellTipsEventArgs) Handles C1Daten.FetchCellTips + Dim ts As New Utils.Tabellenspalte + ts.Tabelle = Me.tablename + Try + 'ts.Feld = Me.C1Daten.Splits(0).DisplayColumns(e.ColIndex).Name + ts.Feld = Me.C1Daten.Columns(e.ColIndex).DataField + ts.getspalte() + e.CellTip = ts.TipText + Catch + End Try + ts = Nothing + + End Sub + +#End Region + + + Private Sub ReportdateiDBToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ReportdateiDBToolStripMenuItem.Click + Me.OpenFileDialog1.Filter = "Report-Dateien|*.rpt|Alle Dateien|*.*" + Me.OpenFileDialog1.ShowDialog() + If Me.OpenFileDialog1.FileName <> "" Then + Dim dms As New TKB.VV.Utils.MyDocMgmt + Me.C1Daten.Columns("Filename").Value = dms.Save_RptDatei(Me.C1Daten.Columns("Auswertungnr").Value, Me.OpenFileDialog1.FileName) + dms = Nothing + + End If + End Sub + + Private Sub ReportdateiFilesystemToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ReportdateiFilesystemToolStripMenuItem.Click + Me.SaveFileDialog1.Filter = "Report-Dateien|*.rpt|Alle Dateien|*.*" + Me.SaveFileDialog1.ShowDialog() + If Me.SaveFileDialog1.FileName <> "" Then + Dim dms As New TKB.VV.Utils.MyDocMgmt + dms.Get_RptDatei(Me.C1Daten.Columns("Auswertungnr").Value, Me.SaveFileDialog1.FileName) + dms = Nothing + End If + + End Sub +End Class diff --git a/Themenmanagement/Sysadmin/frmDomainEditorExtTables.designer.vb b/Themenmanagement/Sysadmin/frmDomainEditorExtTables.designer.vb new file mode 100644 index 0000000..c3865ab --- /dev/null +++ b/Themenmanagement/Sysadmin/frmDomainEditorExtTables.designer.vb @@ -0,0 +1,174 @@ + _ +Partial Class frmDomainEditorExtTables + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmDomainEditorExtTables)) + Me.MenuStrip1 = New System.Windows.Forms.MenuStrip + Me.DateiToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem + Me.BeendenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem + Me.ToolStrip1 = New System.Windows.Forms.ToolStrip + Me.TSBtnQuit = New System.Windows.Forms.ToolStripButton + Me.TSBtnSave = New System.Windows.Forms.ToolStripButton + Me.C1Daten = New C1.Win.C1TrueDBGrid.C1TrueDBGrid + Me.ContextMenuStripAuswertung = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.ReportdateiDBToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem + Me.ReportdateiFilesystemToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem + Me.OpenFileDialog1 = New System.Windows.Forms.OpenFileDialog + Me.SaveFileDialog1 = New System.Windows.Forms.SaveFileDialog + Me.MenuStrip1.SuspendLayout() + Me.ToolStrip1.SuspendLayout() + CType(Me.C1Daten, System.ComponentModel.ISupportInitialize).BeginInit() + Me.ContextMenuStripAuswertung.SuspendLayout() + Me.SuspendLayout() + ' + 'MenuStrip1 + ' + Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DateiToolStripMenuItem}) + Me.MenuStrip1.Location = New System.Drawing.Point(0, 0) + Me.MenuStrip1.Name = "MenuStrip1" + Me.MenuStrip1.Size = New System.Drawing.Size(556, 24) + Me.MenuStrip1.TabIndex = 0 + Me.MenuStrip1.Text = "MenuStrip1" + ' + 'DateiToolStripMenuItem + ' + Me.DateiToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.BeendenToolStripMenuItem}) + Me.DateiToolStripMenuItem.Name = "DateiToolStripMenuItem" + Me.DateiToolStripMenuItem.Size = New System.Drawing.Size(44, 20) + Me.DateiToolStripMenuItem.Text = "&Datei" + ' + 'BeendenToolStripMenuItem + ' + Me.BeendenToolStripMenuItem.Name = "BeendenToolStripMenuItem" + Me.BeendenToolStripMenuItem.Size = New System.Drawing.Size(116, 22) + Me.BeendenToolStripMenuItem.Text = "&Beenden" + ' + 'ToolStrip1 + ' + Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.TSBtnQuit, Me.TSBtnSave}) + Me.ToolStrip1.Location = New System.Drawing.Point(0, 24) + Me.ToolStrip1.Name = "ToolStrip1" + Me.ToolStrip1.Size = New System.Drawing.Size(556, 25) + Me.ToolStrip1.TabIndex = 1 + Me.ToolStrip1.Text = "ToolStrip1" + ' + 'TSBtnQuit + ' + Me.TSBtnQuit.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnQuit.Image = CType(resources.GetObject("TSBtnQuit.Image"), System.Drawing.Image) + Me.TSBtnQuit.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnQuit.Name = "TSBtnQuit" + Me.TSBtnQuit.Size = New System.Drawing.Size(23, 22) + Me.TSBtnQuit.Text = "ToolStripButton1" + Me.TSBtnQuit.ToolTipText = "Fenster schliessen" + ' + 'TSBtnSave + ' + Me.TSBtnSave.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnSave.Image = CType(resources.GetObject("TSBtnSave.Image"), System.Drawing.Image) + Me.TSBtnSave.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnSave.Name = "TSBtnSave" + Me.TSBtnSave.Size = New System.Drawing.Size(23, 22) + Me.TSBtnSave.Text = "ToolStripButton1" + Me.TSBtnSave.ToolTipText = "Daten speichern" + ' + 'C1Daten + ' + Me.C1Daten.AllowAddNew = True + Me.C1Daten.AllowDelete = True + Me.C1Daten.AlternatingRows = True + Me.C1Daten.CellTips = C1.Win.C1TrueDBGrid.CellTipEnum.Floating + Me.C1Daten.Dock = System.Windows.Forms.DockStyle.Fill + Me.C1Daten.FilterBar = True + Me.C1Daten.GroupByCaption = "Drag a column header here to group by that column" + Me.C1Daten.Images.Add(CType(resources.GetObject("C1Daten.Images"), System.Drawing.Image)) + Me.C1Daten.Location = New System.Drawing.Point(0, 49) + Me.C1Daten.Name = "C1Daten" + Me.C1Daten.PreviewInfo.Location = New System.Drawing.Point(0, 0) + Me.C1Daten.PreviewInfo.Size = New System.Drawing.Size(0, 0) + Me.C1Daten.PreviewInfo.ZoomFactor = 75 + Me.C1Daten.PrintInfo.PageSettings = CType(resources.GetObject("C1Daten.PrintInfo.PageSettings"), System.Drawing.Printing.PageSettings) + Me.C1Daten.Size = New System.Drawing.Size(556, 270) + Me.C1Daten.TabAction = C1.Win.C1TrueDBGrid.TabActionEnum.ColumnNavigation + Me.C1Daten.TabIndex = 4 + Me.C1Daten.Text = "C1TrueDBGrid1" + Me.C1Daten.PropBag = resources.GetString("C1Daten.PropBag") + ' + 'ContextMenuStripAuswertung + ' + Me.ContextMenuStripAuswertung.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ReportdateiDBToolStripMenuItem, Me.ReportdateiFilesystemToolStripMenuItem}) + Me.ContextMenuStripAuswertung.Name = "ContextMenuStripAuswertung" + Me.ContextMenuStripAuswertung.Size = New System.Drawing.Size(200, 48) + ' + 'ReportdateiDBToolStripMenuItem + ' + Me.ReportdateiDBToolStripMenuItem.Name = "ReportdateiDBToolStripMenuItem" + Me.ReportdateiDBToolStripMenuItem.Size = New System.Drawing.Size(199, 22) + Me.ReportdateiDBToolStripMenuItem.Text = "Reportdatei -> DB" + ' + 'ReportdateiFilesystemToolStripMenuItem + ' + Me.ReportdateiFilesystemToolStripMenuItem.Name = "ReportdateiFilesystemToolStripMenuItem" + Me.ReportdateiFilesystemToolStripMenuItem.Size = New System.Drawing.Size(199, 22) + Me.ReportdateiFilesystemToolStripMenuItem.Text = "Reportdatei -> Filesystem" + ' + 'OpenFileDialog1 + ' + Me.OpenFileDialog1.FileName = "OpenFileDialog1" + ' + 'frmDomainEditorExtTables + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(556, 319) + Me.Controls.Add(Me.C1Daten) + Me.Controls.Add(Me.ToolStrip1) + Me.Controls.Add(Me.MenuStrip1) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.MainMenuStrip = Me.MenuStrip1 + Me.Name = "frmDomainEditorExtTables" + Me.Text = "frmDomainEditor" + Me.MenuStrip1.ResumeLayout(False) + Me.MenuStrip1.PerformLayout() + Me.ToolStrip1.ResumeLayout(False) + Me.ToolStrip1.PerformLayout() + CType(Me.C1Daten, System.ComponentModel.ISupportInitialize).EndInit() + Me.ContextMenuStripAuswertung.ResumeLayout(False) + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents MenuStrip1 As System.Windows.Forms.MenuStrip + Friend WithEvents ToolStrip1 As System.Windows.Forms.ToolStrip + Friend WithEvents DateiToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents BeendenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents TSBtnQuit As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnSave As System.Windows.Forms.ToolStripButton + Friend WithEvents C1Daten As C1.Win.C1TrueDBGrid.C1TrueDBGrid + Friend WithEvents ContextMenuStripAuswertung As System.Windows.Forms.ContextMenuStrip + Friend WithEvents ReportdateiDBToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ReportdateiFilesystemToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents OpenFileDialog1 As System.Windows.Forms.OpenFileDialog + Friend WithEvents SaveFileDialog1 As System.Windows.Forms.SaveFileDialog +End Class diff --git a/Themenmanagement/Sysadmin/frmDomainEditorExtTables.resx b/Themenmanagement/Sysadmin/frmDomainEditorExtTables.resx new file mode 100644 index 0000000..47c51c9 --- /dev/null +++ b/Themenmanagement/Sysadmin/frmDomainEditorExtTables.resx @@ -0,0 +1,208 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + 125, 17 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAKNJREFUOE+VkwEO + wCAIA93PeZo/cyKiiMDYEmNC7FGpe4r9NaeeLjcAuFZXjxp+tVZs4jY6xFoIQCALwMR1QHYkVyTGXQNk + YQHQrhRJiAS00g/OwrET4OysHZDYWn1IGQet4EBCQOwAsyUIxWJcoYzYcHkzIMjOVQ1xw6MUGDJ2zjkz + A+t5Xg6sKMOXyFfyHKgru//IjHGnkBUycb2Dv8IF+BK+MTpb49UVguoAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAF5JREFUOE9jPHDg + wH8GSgDUAJAhJGOwXpgBDQ0QA0B8fBimBk6TYwDMtWS7ANm1ZHlhEBsAcxq+KAWpwekFmCQxNNZoJMYF + II14XYDL+bDENUgNIDdDwZMyoQyETx4A+Fj5YOUZcUAAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAADdJREFUKFNjYMAE + /7GIgYWQJXCxURTCFOE1ESSJoQAmiI9GcSayQqzuR3cLVithOvH6DpsisBgAoKoc5C8W7oEAAAAASUVO + RK5CYII= + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj0yLjAuMC4wLCBDdWx0 + dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACRTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5QYWdlU2V0dGluZ3MHAAAAD3ByaW50ZXJTZXR0aW5ncwVjb2xvcglwYXBlclNp + emULcGFwZXJTb3VyY2URcHJpbnRlclJlc29sdXRpb24JbGFuZHNjYXBlB21hcmdpbnMEBAQEBAQEJ1N5 + c3RlbS5EcmF3aW5nLlByaW50aW5nLlByaW50ZXJTZXR0aW5ncwIAAAAgU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuVHJpU3RhdGUCAAAAIVN5c3RlbS5EcmF3aW5nLlByaW50aW5nLlBhcGVyU2l6ZQIAAAAjU3lz + dGVtLkRyYXdpbmcuUHJpbnRpbmcuUGFwZXJTb3VyY2UCAAAAKVN5c3RlbS5EcmF3aW5nLlByaW50aW5n + LlByaW50ZXJSZXNvbHV0aW9uAgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAf + U3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuTWFyZ2lucwIAAAACAAAACQMAAAAF/P///yBTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5UcmlTdGF0ZQEAAAAFdmFsdWUAAgIAAAAACgoKAfv////8////AAkGAAAABQMA + AAAnU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRlclNldHRpbmdzEgAAAAtwcmludGVyTmFtZQpk + cml2ZXJOYW1lCm91dHB1dFBvcnQLcHJpbnRUb0ZpbGUUcHJpbnREaWFsb2dEaXNwbGF5ZWQKZXh0cmFi + eXRlcwlleHRyYWluZm8GY29waWVzBmR1cGxleAdjb2xsYXRlE2RlZmF1bHRQYWdlU2V0dGluZ3MIZnJv + bVBhZ2UGdG9QYWdlB21heFBhZ2UHbWluUGFnZQpwcmludFJhbmdlDGRldm1vZGVieXRlcw1jYWNoZWRE + ZXZtb2RlAQEBAAAABwAEBAQAAAAABAAHAQEHAgceU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuRHVwbGV4 + AgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAkU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuUGFnZVNldHRpbmdzAgAAAAgICAgiU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRSYW5n + ZQIAAAAHAgIAAAAKBgcAAAAACQcAAAAAAAAACv//Bfj///8eU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcu + RHVwbGV4AQAAAAd2YWx1ZV9fAAgCAAAA/////wH3/////P///wAJCgAAAAAAAAAAAAAADycAAAAAAAAF + 9f///yJTeXN0ZW0uRHJhd2luZy5QcmludGluZy5QcmludFJhbmdlAQAAAAd2YWx1ZV9fAAgCAAAAAAAA + AAAACgUGAAAAH1N5c3RlbS5EcmF3aW5nLlByaW50aW5nLk1hcmdpbnMEAAAABGxlZnQFcmlnaHQDdG9w + BmJvdHRvbQAAAAAICAgIAgAAAGQAAABkAAAAZAAAAGQAAAABCgAAAAEAAAAJAwAAAAHz/////P///wAK + CgoB8v////z///8ACQ8AAAABDwAAAAYAAABkAAAAZAAAAGQAAABkAAAACw== + + + + <?xml version="1.0"?><Blob><Styles type="C1.Win.C1TrueDBGrid.Design.ContextWrapper"><Data>Inactive{ForeColor:InactiveCaptionText;BackColor:InactiveCaption;}OddRow{BackColor:224, 224, 224;}Style5{}RecordSelector{AlignImage:Center;}Heading{Wrap:True;AlignVert:Center;Border:Flat,ControlDark,0, 1, 0, 1;ForeColor:ControlText;BackColor:Control;}Style6{}Group{BackColor:ControlDark;Border:None,,0, 0, 0, 0;AlignVert:Center;}Style8{}Footer{}Style13{}FilterWatermark{ForeColor:InfoText;BackColor:Info;}Style12{}HighlightRow{ForeColor:HighlightText;BackColor:Highlight;}Editor{}Style4{}FilterBar{ForeColor:Black;BackColor:255, 255, 192;}EvenRow{BackColor:White;}Style11{}Style16{}Style1{}Caption{AlignHorz:Center;}Selected{ForeColor:HighlightText;BackColor:Highlight;}Style9{}Style2{}Style14{}Normal{}Style7{}Style15{}Style10{AlignHorz:Near;}Style3{}</Data></Styles><Splits><C1.Win.C1TrueDBGrid.MergeView Name="" AlternatingRowStyle="True" CaptionHeight="17" ColumnCaptionHeight="17" ColumnFooterHeight="17" FilterBar="True" MarqueeStyle="DottedCellBorder" RecordSelectorWidth="16" DefRecSelWidth="16" VerticalScrollGroup="1" HorizontalScrollGroup="1"><Height>268</Height><CaptionStyle parent="Style2" me="Style10" /><EditorStyle parent="Editor" me="Style5" /><EvenRowStyle parent="EvenRow" me="Style8" /><FilterBarStyle parent="FilterBar" me="Style13" /><FilterWatermarkStyle parent="FilterWatermark" me="Style14" /><FooterStyle parent="Footer" me="Style3" /><GroupStyle parent="Group" me="Style12" /><HeadingStyle parent="Heading" me="Style2" /><HighLightRowStyle parent="HighlightRow" me="Style7" /><InactiveStyle parent="Inactive" me="Style4" /><OddRowStyle parent="OddRow" me="Style9" /><RecordSelectorStyle parent="RecordSelector" me="Style11" /><SelectedStyle parent="Selected" me="Style6" /><Style parent="Normal" me="Style1" /><ClientRect>0, 0, 554, 268</ClientRect><BorderSide>0</BorderSide></C1.Win.C1TrueDBGrid.MergeView></Splits><NamedStyles><Style parent="" me="Normal" /><Style parent="Normal" me="Heading" /><Style parent="Heading" me="Footer" /><Style parent="Heading" me="Caption" /><Style parent="Heading" me="Inactive" /><Style parent="Normal" me="Selected" /><Style parent="Normal" me="Editor" /><Style parent="Normal" me="HighlightRow" /><Style parent="Normal" me="EvenRow" /><Style parent="Normal" me="OddRow" /><Style parent="Heading" me="RecordSelector" /><Style parent="Normal" me="FilterBar" /><Style parent="FilterBar" me="FilterWatermark" /><Style parent="Caption" me="Group" /></NamedStyles><vertSplits>1</vertSplits><horzSplits>1</horzSplits><Layout>None</Layout><DefaultRecSelWidth>16</DefaultRecSelWidth><ClientArea>0, 0, 554, 268</ClientArea><PrintPageHeaderStyle parent="" me="Style15" /><PrintPageFooterStyle parent="" me="Style16" /></Blob> + + + 228, 17 + + + 430, 17 + + + 566, 17 + + + + AAABAAEAICAEAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP// + AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHd3d3d3d3d3d3d3d3d3d3AAAAAAAA + AAAAAAAAAAAABw///////////////////wcP//////////////////8HD/d3d3f/d3d3f/d3d3f/Bw// + /////////////////wcP93d3d/93d3d/93d3d/8HD///////////////////Bw/3d3d3/3d3d3/3d3d3 + /wcP//////////////////8HD/d3d3f/d3d3f/d3d3f/Bw///////////////////wcP93d3d/93d3d/ + 93d3d/8HD///////////////////Bw/3d3d3/3d3d3/3d3d3/wcP//////////////////8HD/d3d3f/ + d3d3f/d3d3f/Bw///////////////////wcP93d3d/93d3d/93d3d/8HD///////////////////Bw// + /////////////////wcAAAAAAAAAAAAAAAAAAAAHDMzMzMzMzMzMzMzMzMzMBwz/zMzM/8zMzM/8zMzP + /AcM/8zMzP/MzMzP/MzMz/wHDMzMzMzMzMzMzMzMzMzMBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////4AAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf///////////////w== + + + \ No newline at end of file diff --git a/Themenmanagement/Sysadmin/frmDomainEditorExtTables.vb b/Themenmanagement/Sysadmin/frmDomainEditorExtTables.vb new file mode 100644 index 0000000..e3fdb4a --- /dev/null +++ b/Themenmanagement/Sysadmin/frmDomainEditorExtTables.vb @@ -0,0 +1,130 @@ +Imports System.IO +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient +''' +''' Form mit generalisiertem Domain-Table-Editor. +''' +''' +''' +''' +''' Vertragsverwaltung.TKB.VV.Sysadmin.DomainTable +Public Class frmDomainEditorExtTables + +#Region "Deklarationen" + Dim ds As New DataSet + Dim da As SqlDataAdapter + Dim co As New SqlConnection + Dim cb As SqlCommandBuilder + Dim tablename As String + Dim SpaltenTitel As New Utils.Tabellenspalte +#End Region + +#Region "Formular-Funktionen" + ''' + ''' Tabellenname bernehmen und Objekt DomainTable initialisieren + ''' Initialisierung der Komponenten + ''' + ''' Tabellenname der Tabelle, welche ber den Domaineditor editiert werden soll + ''' Bentigt werden entsprechende Stored_Procedures, welche mit LBLLGEN_2 generiert wurden + ''' pr_"Tablename"_SelectAll + ''' pr_"Tablename"_Update + ''' + Public Sub New(ByVal tblname As String, ByVal Connectionstring As String) + ' Domaintable = New TKB.VV.Sysadmin.DomainTable(tblname) + Me.InitializeComponent() + ' Me.Text = "Domaineditor: " & tblname + Me.tablename = tblname + Me.co.ConnectionString = Connectionstring + End Sub + ''' + ''' Zuordnung der Daten aus Domaintable und Spaltentitel des Grids setzen + ''' + ''' + ''' + ''' + Private Sub frmDomainEditor_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + Try + da = New SqlDataAdapter("Select * from " & Me.tablename, Me.co) + cb = New SqlCommandBuilder(da) + da.Fill(ds, "ExtTable") + Me.C1Daten.DataSource = ds.Tables(0) + Me.C1Daten.DataMember = ds.Tables(0).TableName + Catch ex As Exception + MsgBox(ex.Message) + End Try + End Sub + + + ''' + ''' Schliessen des Formulars + ''' + ''' + ''' + ''' + Private Sub BeendenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BeendenToolStripMenuItem.Click + Me.Close() + End Sub + ''' + ''' Ruft BeendetnToolStipMenuItem_Click auf + ''' + ''' + ''' + ''' + Private Sub TSBtnQuit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnQuit.Click + BeendenToolStripMenuItem_Click(sender, e) + End Sub + ''' + ''' Prfung auf allfllige Daten-Changes. Wurden Daten verndert, kann der User entscheiden, ob gespeichert, nichtgespeichert oder + ''' das Formular nicht gespeichert werden soll. + ''' + ''' + ''' + ''' + Private Sub frmDomainEditor_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing + If Me.ds.HasChanges Then + Dim msg As New Utils.MyMessage + Dim msgboxres As MsgBoxResult + msgboxres = msg.Show_MessageYesNoCancel(3) + If msgboxres = MsgBoxResult.Cancel Then + e.Cancel = True + Exit Sub + End If + If msgboxres = MsgBoxResult.Yes Then + Try + da.Update(ds, "ExtTable") + + Catch ex As Exception + MsgBox(ex.Message) + End Try + + End If + End If + Try + Me.co.Close() + da.Dispose() + co.Dispose() + cb.Dispose() + ds.Dispose() + Catch ex As Exception + MsgBox(ex.Message) + End Try + End Sub + + ''' + ''' Sichern der Daten + ''' + ''' + ''' + ''' + Private Sub TSBtnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnSave.Click + Try + da.Update(ds, "ExtTable") + Catch ex As Exception + MsgBox(ex.Message) + End Try + End Sub +#End Region + +End Class diff --git a/Themenmanagement/Sysadmin/frmFormSelector.designer.vb b/Themenmanagement/Sysadmin/frmFormSelector.designer.vb new file mode 100644 index 0000000..414ab22 --- /dev/null +++ b/Themenmanagement/Sysadmin/frmFormSelector.designer.vb @@ -0,0 +1,50 @@ + _ +Partial Class frmFormSelector + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmFormSelector)) + Me.ListForms = New System.Windows.Forms.ListBox + Me.SuspendLayout() + ' + 'ListForms + ' + Me.ListForms.FormattingEnabled = True + Me.ListForms.Location = New System.Drawing.Point(28, 36) + Me.ListForms.Name = "ListForms" + Me.ListForms.Size = New System.Drawing.Size(259, 199) + Me.ListForms.TabIndex = 0 + ' + 'frmFormSelector + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(315, 322) + Me.Controls.Add(Me.ListForms) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.Name = "frmFormSelector" + Me.Text = "Form-Selector" + Me.ResumeLayout(False) + + End Sub + Friend WithEvents ListForms As System.Windows.Forms.ListBox +End Class diff --git a/Themenmanagement/Sysadmin/frmFormSelector.resx b/Themenmanagement/Sysadmin/frmFormSelector.resx new file mode 100644 index 0000000..c3606d5 --- /dev/null +++ b/Themenmanagement/Sysadmin/frmFormSelector.resx @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + AAABAAEAICAEAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP// + AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB2 + ZnAAAAAABmZgAAAAAAAHh+6HAAAAAHjuhwAAAAAABojuhwAAAAB47odgAAAAAAbuiOYAAAAAbojuYAAA + AAAGZojmAAAAAGaI7mAAAAAAAADuhwAAAAAAbodgAAAAAAAAbocAAAAAAGaHYAAAAAAAAADmAAAAAAAA + bmAAAAAAAAAAZgAAAAAAAGZgAAAAAHAAAAAAAAAAAAAGZwAAAABwAAAAAAAAAAAAAAcAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////////// + ///A/wP/wP8D/wA8AP8APAD/ADwA/wA8AP8wPMD/MDzA/zw88P88PPD/AMMA/wDDAP/P//z8z//8/PPz + /zzz8/88/PP/zPzz/8z/M//z/zP/8//P////z////////////////////////w== + + + \ No newline at end of file diff --git a/Themenmanagement/Sysadmin/frmFormSelector.vb b/Themenmanagement/Sysadmin/frmFormSelector.vb new file mode 100644 index 0000000..66fffb7 --- /dev/null +++ b/Themenmanagement/Sysadmin/frmFormSelector.vb @@ -0,0 +1,11 @@ +Public Class frmFormSelector + + Private Sub ListForms_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListForms.DoubleClick + Me.DialogResult = Windows.Forms.DialogResult.OK + Me.Close() + End Sub + + Private Sub frmFormSelector_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + + End Sub +End Class \ No newline at end of file diff --git a/Themenmanagement/Sysadmin/frmSysadminMenu.designer.vb b/Themenmanagement/Sysadmin/frmSysadminMenu.designer.vb new file mode 100644 index 0000000..4daa16f --- /dev/null +++ b/Themenmanagement/Sysadmin/frmSysadminMenu.designer.vb @@ -0,0 +1,191 @@ + _ +Partial Class frmSysadminMenu + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmSysadminMenu)) + Me.MenuStrip1 = New System.Windows.Forms.MenuStrip() + Me.DateiToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.BeendenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.SpaltentitelGenerierenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStrip1 = New System.Windows.Forms.ToolStrip() + Me.TSBtnQuit = New System.Windows.Forms.ToolStripButton() + Me.SysMenuTree = New System.Windows.Forms.TreeView() + Me.ImageList1 = New System.Windows.Forms.ImageList(Me.components) + Me.ContextMenu1 = New System.Windows.Forms.ContextMenu() + Me.MnuNeuerKnoten = New System.Windows.Forms.MenuItem() + Me.MnuKnotenLoeschen = New System.Windows.Forms.MenuItem() + Me.MenuKnotenRename = New System.Windows.Forms.MenuItem() + Me.MenuItem4 = New System.Windows.Forms.MenuItem() + Me.MnuSave = New System.Windows.Forms.MenuItem() + Me.KBStartmeldungToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.MenuStrip1.SuspendLayout() + Me.ToolStrip1.SuspendLayout() + Me.SuspendLayout() + ' + 'MenuStrip1 + ' + Me.MenuStrip1.AllowMerge = False + Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DateiToolStripMenuItem, Me.SpaltentitelGenerierenToolStripMenuItem, Me.KBStartmeldungToolStripMenuItem}) + Me.MenuStrip1.Location = New System.Drawing.Point(0, 0) + Me.MenuStrip1.Name = "MenuStrip1" + Me.MenuStrip1.Size = New System.Drawing.Size(299, 24) + Me.MenuStrip1.TabIndex = 0 + Me.MenuStrip1.Text = "MenuStrip1" + ' + 'DateiToolStripMenuItem + ' + Me.DateiToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.BeendenToolStripMenuItem}) + Me.DateiToolStripMenuItem.Name = "DateiToolStripMenuItem" + Me.DateiToolStripMenuItem.Size = New System.Drawing.Size(46, 20) + Me.DateiToolStripMenuItem.Text = "&Datei" + ' + 'BeendenToolStripMenuItem + ' + Me.BeendenToolStripMenuItem.Name = "BeendenToolStripMenuItem" + Me.BeendenToolStripMenuItem.Size = New System.Drawing.Size(120, 22) + Me.BeendenToolStripMenuItem.Text = "&Beenden" + ' + 'SpaltentitelGenerierenToolStripMenuItem + ' + Me.SpaltentitelGenerierenToolStripMenuItem.Name = "SpaltentitelGenerierenToolStripMenuItem" + Me.SpaltentitelGenerierenToolStripMenuItem.Size = New System.Drawing.Size(78, 20) + Me.SpaltentitelGenerierenToolStripMenuItem.Text = "&Spaltentitel" + ' + 'ToolStrip1 + ' + Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.TSBtnQuit}) + Me.ToolStrip1.Location = New System.Drawing.Point(0, 24) + Me.ToolStrip1.Name = "ToolStrip1" + Me.ToolStrip1.Size = New System.Drawing.Size(299, 25) + Me.ToolStrip1.TabIndex = 1 + Me.ToolStrip1.Text = "ToolStrip1" + ' + 'TSBtnQuit + ' + Me.TSBtnQuit.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnQuit.Image = CType(resources.GetObject("TSBtnQuit.Image"), System.Drawing.Image) + Me.TSBtnQuit.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnQuit.Name = "TSBtnQuit" + Me.TSBtnQuit.Size = New System.Drawing.Size(23, 22) + Me.TSBtnQuit.Text = "ToolStripButton1" + Me.TSBtnQuit.ToolTipText = "Fenster schliessen" + ' + 'SysMenuTree + ' + Me.SysMenuTree.AllowDrop = True + Me.SysMenuTree.Dock = System.Windows.Forms.DockStyle.Fill + Me.SysMenuTree.ImageIndex = 0 + Me.SysMenuTree.ImageList = Me.ImageList1 + Me.SysMenuTree.Indent = 19 + Me.SysMenuTree.ItemHeight = 16 + Me.SysMenuTree.Location = New System.Drawing.Point(0, 49) + Me.SysMenuTree.Name = "SysMenuTree" + Me.SysMenuTree.SelectedImageIndex = 0 + Me.SysMenuTree.Size = New System.Drawing.Size(299, 521) + Me.SysMenuTree.TabIndex = 2 + ' + 'ImageList1 + ' + Me.ImageList1.ImageStream = CType(resources.GetObject("ImageList1.ImageStream"), System.Windows.Forms.ImageListStreamer) + Me.ImageList1.TransparentColor = System.Drawing.Color.Transparent + Me.ImageList1.Images.SetKeyName(0, "") + Me.ImageList1.Images.SetKeyName(1, "") + Me.ImageList1.Images.SetKeyName(2, "") + Me.ImageList1.Images.SetKeyName(3, "") + Me.ImageList1.Images.SetKeyName(4, "") + Me.ImageList1.Images.SetKeyName(5, "Kette3.ico") + ' + 'ContextMenu1 + ' + Me.ContextMenu1.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.MnuNeuerKnoten, Me.MnuKnotenLoeschen, Me.MenuKnotenRename, Me.MenuItem4, Me.MnuSave}) + ' + 'MnuNeuerKnoten + ' + Me.MnuNeuerKnoten.Index = 0 + Me.MnuNeuerKnoten.Text = "Neuer Eintrag " + ' + 'MnuKnotenLoeschen + ' + Me.MnuKnotenLoeschen.Index = 1 + Me.MnuKnotenLoeschen.Text = "Eintrag löschen" + ' + 'MenuKnotenRename + ' + Me.MenuKnotenRename.Index = 2 + Me.MenuKnotenRename.Text = "Eintrag umbenennen" + ' + 'MenuItem4 + ' + Me.MenuItem4.Index = 3 + Me.MenuItem4.Text = "-" + ' + 'MnuSave + ' + Me.MnuSave.Index = 4 + Me.MnuSave.Text = "Menu Speichern" + ' + 'KBStartmeldungToolStripMenuItem + ' + Me.KBStartmeldungToolStripMenuItem.Name = "KBStartmeldungToolStripMenuItem" + Me.KBStartmeldungToolStripMenuItem.Size = New System.Drawing.Size(145, 20) + Me.KBStartmeldungToolStripMenuItem.Text = "Startmeldung aktivieren" + ' + 'frmSysadminMenu + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(299, 570) + Me.Controls.Add(Me.SysMenuTree) + Me.Controls.Add(Me.ToolStrip1) + Me.Controls.Add(Me.MenuStrip1) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.MainMenuStrip = Me.MenuStrip1 + Me.MaximizeBox = False + Me.MinimizeBox = False + Me.Name = "frmSysadminMenu" + Me.Text = "FrmSysadminMenu" + Me.MenuStrip1.ResumeLayout(False) + Me.MenuStrip1.PerformLayout() + Me.ToolStrip1.ResumeLayout(False) + Me.ToolStrip1.PerformLayout() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents MenuStrip1 As System.Windows.Forms.MenuStrip + Friend WithEvents DateiToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents BeendenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStrip1 As System.Windows.Forms.ToolStrip + Friend WithEvents TSBtnQuit As System.Windows.Forms.ToolStripButton + Friend WithEvents SysMenuTree As System.Windows.Forms.TreeView + Friend WithEvents ImageList1 As System.Windows.Forms.ImageList + Friend WithEvents ContextMenu1 As System.Windows.Forms.ContextMenu + Friend WithEvents MnuNeuerKnoten As System.Windows.Forms.MenuItem + Friend WithEvents MnuKnotenLoeschen As System.Windows.Forms.MenuItem + Friend WithEvents MenuKnotenRename As System.Windows.Forms.MenuItem + Friend WithEvents MenuItem4 As System.Windows.Forms.MenuItem + Friend WithEvents MnuSave As System.Windows.Forms.MenuItem + Friend WithEvents SpaltentitelGenerierenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents KBStartmeldungToolStripMenuItem As ToolStripMenuItem +End Class diff --git a/Themenmanagement/Sysadmin/frmSysadminMenu.resx b/Themenmanagement/Sysadmin/frmSysadminMenu.resx new file mode 100644 index 0000000..ffc60bd --- /dev/null +++ b/Themenmanagement/Sysadmin/frmSysadminMenu.resx @@ -0,0 +1,580 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 17, 17 + + + 125, 17 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACkSURBVDhPlZALDsMwCEM5OkfLzbIaMGH5dJkligL2a1o5 + qP9RW3VVXYpzqLV2D+CZQVU/Y27uIg4OQQAJXz+hDsyEDtVQ7dib+1GH1fpUDljD6OF5HgjvKgHvN+iC + A0O1EvB+A8ghPvgqB4j9xPlHhidVB2lwwICfbkBxMAFGqHbszb1RGhywhtGxN/dGXAbgGD4CqACMMGZR + VwrA/Rtn/QiKfADckGXYsnwKqAAAAABJRU5ErkJggg== + + + + 227, 17 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w + LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 + ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAQ + DAAAAk1TRnQBSQFMAgEBBgEAASwBAAEsAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo + AwABQAMAASADAAEBAQABCAYAAQgYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA + AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 + AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA + AWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYCAAFm + AZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHMATMCAAHM + AWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEzAQABZgEA + ATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIzAf8BAAEz + AWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEzAQABMwGZ + AWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZAQABMwLM + AQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFmAQABMwEA + AWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFmATMBmQEA + AWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEzAQABZgGZ + AWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEAAWYBzAH/ + AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZATMBmQEA + AZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFmAgABmQFm + ATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZAcwBAAKZ + Af8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIAAZkB/wEz + AQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHMAQABmQEA + AcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHMAWYCAAHM + AWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZAWYBAAHM + ApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHMAf8CAAHM + Af8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/AQABmQEA + AcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFmATMBAAHM + AmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZAQAB/wGZ + AcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC/wEz + AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm + AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw + AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD//8ARAAF+QIABfwzAAH5 + BPQB/wH5AfwB/wT0AfwDAAUHAgAFByIAAfkC9AH5CAAB/AL0AfwBAAIHCgACByEAAfkB9AH5AgAB/wT0 + Af8CAAH8AfQB/AEAAQcDAAYHAwABByEAAfkC9AH5CAAB/AL0AfwBAAIHCgACByIAAfkE9AH/AfkB/AH/ + BPQB/AMABQcCAAUHJAAF+QIABfz/AHkAAQMB/wsAAf8eAAHsA/8BBwL/AQcC/wEHAf8GAAHsAQMB7AH/ + CwAB+wEAAfscAAHsA/8BBwL/AQcC/wEHAf8EAAEDAewBAwHsAQMB/wsAAf8BAAH/AQcB+w4AAf8B+woA + AewLBwMAAQMB7AEDAewBAwHsAf8BAAHsCQAB+wEAAfsBBwH/AQcB+woAAf8BAAH7Af8B+wH/CAAB7AH/ + AuwBBwLsAQcC7AEHAf8DAAHsAQMB7AEDAewBAwH/AQAB7AkAAf8BAAL/AfsBBwH/AQcB+wcAAfsCAAH/ + AfsB/wH7Af8B+wYAAewB/wLsAQcC7AEHAuwBBwH/AwABAwHsAQMCAAHsAf8BAAHsCQAB+wEAAfsC/wEH + AfsBBwH/BgAB/wEAAf8BAAH7Af8B+wH/AfsB/wH7Af8EAAHsCwcDAAHsAQMB7AIHAQMB/wEAAewBAAEG + BwAB/wEAAv8B+wEHAf8BBwH7BQAB+wEAAv8BAAH/AfsB/wH7Af8B+wH/AfsB/wMAAewB/wLsAQcC7AEH + AuwBBwH/AwABAwHsAQMB7AEDAewB/wIAAQYF/gMAAfsBAAH7A/8B+wEHAf8GAAP/AgAB/wH7Af8B+wH/ + AfsB/wH7AwAB7AH/AuwBBwLsAQcC7AEHAf8DAAHsAQMB7AEDAewBAwH/AQABbQb+AwAB/wEAAv8B+wL/ + AQcB+wgAA/8CAAH7Af8B+wH/AfsB/wMAAewLBwMAAQMB7AEDAewBAwHsAf8BAAHsAW0B/gRtAwAB+wH/ + AgAC/wH7AQcB/wYAAfsB/wIAAv8BAAH/AfsB/wH7Af8B+wMAAewB/wLsAQcC7AEHAuwBBwH/AwAB7AED + AewBAwHsAQMB/wEAAewBAAJtBwAB+wH/AfsCAAH/AQcB+wcAAfsB/wH7AQAC/wIAAfsB/wH7Af8DAAHs + Af8C7AEHAuwBBwLsAQcB/wMAAQMB7AEDAewBBwH/AewBAAHsAgABbQkAAf8B+wH/AgAB/wkAAf8B+wEA + Av8DAAH/AfsDAAHsCAcGAAHsAQMBBwH/AewBAAPsDAAB+wH/AfsB/wH7DwAB/wH7BgAB7Aj7AewB/wHs + AwABBwH/AewBAAXsDQAB+wH/GQAB7Aj7Auw1AArsBAABQgFNAT4HAAE+AwABKAMAAUADAAEgAwABAQEA + AQEGAAEBFgAD/wEABP8EAAT/BAAE/wQABP8EAAT/BAABwQGDAcEBgwQAAYABAQGAAQEMAAEQAQgBEAEI + DAABgAEBAYABAQQAAcEBgwHBAYMEAAT/BAAE/wQABP8EAAT/BAAB/AF/AecD/wHAAQEB8AF/AcMD/wHA + AQEBwAF/AcAB/wH4Af8BwAEBAQABHwHAAT8B8AE/AcABAQEAAR8BwAEPAeABDwHAAQEBAAEXAcABBwHA + AQMBwAEBAQABBwHAAQcBgAEAAcABAQIAAcABBwIAAcABAQIAAcABBwIAAcABAQIAAcABBwGAAQABwAEB + AgABwAEHAYABAAHAAQEBAAEHAcABBwHAAQABwAEBAQABFwHwAQcB4AEAAcABAQEAAR8B+AEHAfkBAAHA + AQMBAAEfAfgBBwH/Ac8BwAEHAQABHwH+AX8C/wHAAQ8L + + + + 354, 17 + + + + AAABAAYAMDAAAAEACACoDgAAZgAAACAgAAABAAgAqAgAAA4PAAAQEAAAAQAIAGgFAAC2FwAAMDAAAAEA + IACoJQAAHh0AACAgAAABACAAqBAAAMZCAAAQEAAAAQAgAGgEAABuUwAAKAAAADAAAABgAAAAAQAIAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADNZ2cA0WtrANRubgDWcHAA2XNzANt1dQDdd3cA4Hp6AOJ8 + fADlf38A54GBAOmDgwDshoYA5oSDAO6IiADJc3MA8IqKAPKMjADriYgA9Y+PAPeRkQD5k5MA2YCAAMt4 + eAD8lpYA/piYAM17ewD/mpoA/5ycAP+engDzlpYA/6CgAKlqagD/oqIA5pKSAI9cXAD/paUA0IeHAP+n + pwD/qakAmGVlAP+rqwD/rq4AxYaGAP+wsADnn58ArHd3AP+ysgD/tLQA6KSkAP+2tgD9tbQA+7SzAH5a + WgD/uLgAs4KCAKZ5eQD/u7sAq35+AP+9vQCYcXEA/7+/AP/BwQCziYkA/8TEAP/GxgDRoqIAgmVlANys + rACKbGwAt5CQAP/KygDEoKAA3ba2ALmamgBnVlYAdGNjAFxUVACwoaEAy7y8AFNNTQCemZkAqKSkAKGe + ngBqaWkA03FvANl5dwDlg4EA3H58AOmHhQDriYcA9JKQAPOSkADdj4wAtHVzAOucmQD0pqMA76WiAMCE + gwD2trQA56upAPy/vgD7wb8AzHFtANJ6dgDXfnoA24R/AOGHgwDiiYUAzH97APWalgDrlZAA86qmAPSt + qgD3sa4AuY2LAPW9ugDmtrQAzq2rAIt2dQB7a2oAloOCAM9+dwDlkIoA752XAOqjnQDzubUAvJWSALCQ + jQDajoYA7bu1AOSckwCojIgAxK6rAMiDeADMiX0A0o2CAN6ZjgDXlIkA3ZyQAOKroQDptKsA1pqNAN2l + mQC3j4cAwqKbAK+TjQDJq6UAya6pANKVhwDBmY8A0ZmKANSejwDbrJ8Ay6GVALmbkwDGp54Ay5eHAM+b + iwDRn48A1aSVALORhgDDn5QAvpuQAL+spgDGlIIAzZ6NANSqnADHppoAxKOYAMGhlgC+oJUAyaqfAMqs + ogDKrqQAyJyKAM2ikADPp5cAyaeZAMWjlgDJqJsArKCbAK+qqADFmYYAyZ+MANWyowDEpZcAza2fAM2w + owCompQAxZ2JAMmkkQDJqJgAza6eAKOKfgDPsaIAz7KkAJWRjwCWlJMAx6GNAMmjjwDHoo4AyKaTAMqp + lgDIp5UAza2bAMytnADLrJsAxqiXANCxoADQsqEA0LKiAM+xoQC4qJ8Awp+JAMShjADDoIsAw6GMAMak + jwDEoo0AxaOPAMalkADHppIAyqmVAMmolADLq5cAy6uYAMysmQDNrpsAza6cAM+wngDOr50A0bSiANO2 + pQB7cWoAmJiYAJSUlACSkpIAjo6OAIyMjACAgIAAfHx8AHp6egB3d3cAdHR0AG9vbwBjY2MAXl5eAFxc + XABbW1sAWFhYAFVVVQBTU1MATExMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVPX9+FXx7wAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7+/17u++w3ZKd0t6Ve8AAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAMesk3ZJ+5Po2UhISEhIee8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAC3rKh1QkJCeYXOwEJCQkJChe8A7+/08e8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKzR10JCQkJCdqPi + skJCQkJCgfW2w6RFTPfvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJLn3INBQUFBQYPhmkFBQUFBQ3nQsmdB + QXj77QAAAAAAAAAAAAAAAAAAAAAAAAAAAKzq35o/Pz8/Pz9mPz8/Pz8/drPAfz8/Pz9H+QAAAAAAAAAA + AAAAAAAAAAAAAKzs8ay14sk+Pj4+Pj4+Pj4+Pj4+Pj51Pj4+Pj4+eAAAAAAAAAAAAAAAAAAAAAAArKyi + Q03D6NpkPDw8PDw8PDw8PDw8PDw8PDw8PDxk7wAAAAAAAAAAAAAAAAAAAACswslkOjpluslkOjo6Ojo6 + Ojo6Ojo6Ojo6Ojo6OjqA7wAAAAAAAAAAAAAAAAAAAACs4I03Nzc3N2Q3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3 + Nzd4AAAAAAAAAAAAAAAAAAAAAIbSyjUzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzP+7wDv7/IAAAAA + AAAAAAAAAKvMoTExMTExMTExMTExMTE0jo6omo1zMTExMTExMTE7Tnh0MkT1AAAAAAAAAAAAAMXOynIw + MDAwMDAwMDAwMEoAAAAArdDLoXIwMDAwMDAwczAwMDL97wAAAAAAAAAAAAC148hyLS0tLS0tLS1yUAAA + AAAAAACp5d2QLS0tLS0tLS0tLS1G9QAAAAAAAAAAAAAAs+PIcSsrKysrKytPAAAAAAAAAAAAndLeoSsr + KysrKysrKysu+wAAAAAAAAAAAAAAANXMvyoqKioqKkAAAAAAAAAAAAAAAJ3S3ZAqKioqKioqKioqegAA + AAAAAAAAAAAAU5zjoCgoKCgoYVIAAAAAAAAAAAAAAACd5dliKCgoKCgoKChiAAAAAAAAAAAAxus7OX5h + YScnJycnOAAAAAAAAAAAAAAAAAAAxOCnJycnJycnJzIAAAAAAAAAAAAAztclJSUlJSUlJSUleQAAAAAA + AAAAAAAAAAAAgOfcfiUlJSUlYwAAAAAAAAAAAACR5LkiIiIiIiIiIiIi9gAAAAAAAAAAAAAAAAAAANXh + mSIiIiIiRO4AAAAAAAAAAACR46AgICAgICAgICBe8wAAAAAAAAAAAAAAAAAAAKrO1yAgICAgL/727AAA + AAAAAACR46AeHh4eHh4eHh4m9AAAAAAAAAAAAAAAAAAAAJXS3H0eHh4eHiMvTPz0AAAAAACR5NcdHR0d + HR0dHR0m9wAAAAAAAAAAAAAAAAAAAADp3oQdHR0dHR0dHR/7AAAAAACk5tyEbxwcHBwcHBwf+wAAAAAA + AAAAAAAAAAAAAADq34ocHBwcHBwcHBz7AAAAAAAApaXBzLGMbxoaGhoaTgAAAAAAAAAAAAAAAAAAAADq + y4oaGhoaGhoaGhr7AAAAAAAAAAAApbPgnxkZGRkZRPAAAAAAAAAAAAAAAAAAAADq3ooZGRkZGRkZGRn6 + AAAAAAAAAAAAAKTksBYWFhYWX/gAAAAAAAAAAAAAAAAAAADp23AWFhYWFhYWFhbyAAAAAAAAAAAAU6un + XBUVFRUVFVHsAAAAAAAAAAAAAAAAAADn2V0VFRUVFRUVXWAAAAAAAAAAAAC+448UFBQUFBQUFCH4AAAA + AAAAAAAAAAAAAKvjmBQUFBQUY9YAAAAAAAAAAAAAAKXNixISEhISEhISEhJM9AAAAAAAAAAAAAAAANDb + fBISEhISNvMAAAAAAAAAAAAAperflhEREREREREREREXUfEAAAAAAAAAAAAAnOSYERERERERG/7tAAAA + AAAAAAAAAKPjvxMPDw8PDw8PDw8PG1HyAAAAAAAAAAClz6dbDw8PDw8PDyH97QAAAAAAAAAAAJXS24IN + DQ0NDQ0NDQ0NDRhO+AAAAAAAALe7p1oNDQ0NDQ0NDQ0h/QAAAAAAAAAAAAC8zLgMDAwMbWwMDAwMDAwM + KU779e7seqSLDgwMDAwMDAwMDAwMIQAAAAAAAAAAAACU0tuJI6Wb4r9YCwsLCwsLCwsQKSlfXgsLCwsL + CwsLCwsLCwsLPQAAAAAAAAAAAAAA0tIjAACl0txrCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgpZVAAA + AAAAAAAAAAAAAAAAAACszrgJCQkJCQkJCQkJCQkJCQkJCQkJCQmCnmsJCQkvAAAAAAAAAAAAAAAAAAAA + AAC14YkICAgICAgICAgICAgICAgICAgICAiXnt6uWRcAAAAAAAAAAAAAAAAAAAAAAKXT3WoHBwcHBwcH + BwcHBwcHBwcHBwcHBwc2eq6urgAAAAAAAAAAAAAAAAAAAAAAAJLOuAYGBgYGBleIVwYGBgYGBgYGBgYG + BgYh+AAAAAAAAAAAAAAAAAAAAAAAAAAAAKPkv2kFBQUFBajLiAUFBQUFBYmIBQUFBQUFTgAAAAAAAAAA + AAAAAAAAAAAAAAAAAAC15L97BAQEO7TMpgQEBAQEauXZaQQEBAQERAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAArujdiFYsAKPkuAMDAwMDENTMpgMDAwMDbgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHe9vb0AAJLl + 1wICAgICJIHT3ocCAmhuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK/n2GgCAgICKYGdztlu + bgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK/T24doAQEBgQAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACvr6+vr6+vAAAAAAAAAAAAAAAAAAAAAAAAAAD///wH//8AAP// + AAP//wAA//wAA///AAD/8AACD/8AAP/gAAAH/wAA/+AAAAP/AAD/4AAAA/8AAP8AAAAD/wAA/gAAAAP/ + AAD8AAAAA/8AAPwAAAAH/wAA+AAAAAI/AAD4AAAAAB8AAPgAB4AADwAA/AAP4AAPAAD+AB/wAA8AAP8A + P/gADwAA/gA//AAfAADwAH/+AD8AAPAAf/4AfwAA4AB//wA/AADgAH//AA8AAOAAf/8AAwAA4AB//4AD + AADgAH//gAMAAPAAf/+AAwAA/gA//4ADAAD/AD//gAMAAP4AH/+ABwAA/AAf/wA/AAD4AA//AD8AAPAA + B/4AHwAA+AAD/AAPAAD4AAH4AA8AAPwAAAAADwAA/AAAAAAPAAD+MAAAAA8AAP/wAAAAHwAA//AAAAA/ + AAD/4AAAAH8AAP/gAAAD/wAA/+AAAAP/AAD/8AAAA/8AAP/4EAAD/wAA//wwAAf/AAD///AAH/8AAP// + 8Af//wAA///4D///AAAoAAAAIAAAAEAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH9s + bQDRZmcA2W9wANdubwDTbG0A13BxANtzdADfdncA43l6AOV9fgDmfn8A6oKDAO6FhgD3i40A9oyNAPWN + jgC6bG0A/JOUAPuTlAD9nZ4A/6GiAP+lpgD/tbYA/7m6AP+6uwD/vb4A/8PEAP/FxgDVa2sA2HFxANVx + cADgd3cA2nR0AN54eADie3sA4Xt7AOWAfwDlf38A439+AOmDgwDlgIAA7oaGAOWCgQDjgIAA3Hx8AOyG + hgDphIQA8ImJANt+fQDwiooA7YqJAOeGhQDIdHMA9I6OAOuIiAD4kZEA/JSUAPuUlAD3kZEA9pOSAP2Y + lwD+mJgA6oyMAP+bmwD/np4A/6GhALh0dAD/paUArG9vAP+npwCfaGgA/6ioAP+srAD+q6sA+qqpAP+u + rgCvd3cA/6+vANuWlgDChoYA/rCwAO2kpAD/srIA76moAIVdXQD/tLQA9q2tAP+1tQD/trYAoXNzAI9n + ZwD/ubkA1pubAK9/fwD/vLwApXp6AOWrqwDVn58A/8DAAP2+vgCGZWUAfl9fAP/DwwCogIAAtYuLAP3E + xAD/x8cAjG1tAHRbWwD/ysoA/83NAJN3dwB5ZGQAiHFxAN25uQCrkJAAdGVlAF5SUgCjkpIAqJmZAGxn + ZwBeWloAioWFAIOAgABnZmYAZmVlAFZVVQClpKQAzmxqANJvbQDYdXMA2Hh2AOWGgwDskY4A+52aAPaa + lwDqlZIA4JWSAPynpQDRjYsA252cAPazsQD4t7UAyJWUAP2+vQD+wL8A3KqpAPnFwwDgtLMArI2MANF5 + dADbhH8A44uGAPOWkgDyqqYA+K+sAPmzsADVgXsA3IuFAOqinADuqaMA7rizAPK9uQCIbmwAinx7AG9k + YwDgk4sA6JuTAPCzrQCNengA042DAMqGfQDRk4oAt5uXAJqTkgDSkIUAy4yCAOWtpADIpJ4A5rasAJR/ + ewDFrKcAuqypAN+rngC4kokAxqmiANihkgCXhH8AyZSEANSgkADMmooA1qOUAMKnnwCpmZQAyZiHANGf + jgDRoZEAz6KSAMegkgDUq5wA0LSqAKeUjQC+mowAzaueALOWiwDGp5oAyKyhAMqvpACjjYQAyqCNAM6l + kgDOqZgAwJ6PAMirngC+pJkAzaeUANCrmADLp5UAwqKSAMamlgCfhnkAs5iLAMClmADEqp0AZGJhAM6p + lQDEpJIAyq6eAM6tmQDLrZoAyauZAMeqmQDKrZwAwaaWAMOrnQDJqpYAy6+dAMGmkgDHrJgAwaqZAJKR + jwCbm5sAmJiYAJSUlACTk5MAjIyMAIaGhgCEhIQAfX19AGpqagBlZWUAYGBgAFxcXABYWFgAAAAAAAAA + AAAAAAAAAAAAAAAA8/P49vMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPN8+fPKrnS8efMAAAAAAAAAAAAA + AAAAAAAAAAAAAPO8s5WmzdSUbm619fPzAAAAAAAAAAAAAAAAAAAAAAAA3KNra5PcyGprb3B5vJZ1+gAA + AAAAAAAAAAAAAAAAANflohxnG7S0G2drkN20G6JyfQAAAAAAAAAAAAAAAAB7qu64Z2NjY2NjY2OSopFj + Y2SlAAAAAAAAAAAAAAAA3pNp3MgZX19fX19fX18aGl9fYa8AAAAAAAAAAAAAAOOyGBmPjlxcXFwYGBkY + XFxcXFxp9gAAAAAAAAAAAAC62Z1ZWFlZWFhZVo6pqZ1ZF1hYWGh6pXB+AAAAAAAAAM/Zm1ZTU1NTU1dz + AADJ1LicU1NTV41UUXH4AAAAAAAAAM7Ym05MTExStwAAAAAA0NihTkxMTE5MkH0AAAAAAAAAAODTS0lJ + SpYAAAAAAAAA5NibSUlJSUlLeAAAAAAAAK8BubiLSEhPgAAAAAAAAAAA6MBGSEhISGIAAAAAAAAAxUYW + FkRERGAAAAAAAAAAAADQ7KAWRERegAAAAAAAANvAQkJCQkJCcQAAAAAAAAAAAADmuxVCQmb79QAAAAAA + 1btBQUFBQUF1AAAAAAAAAAAAANbTFEFBiU1lfQAAAADOxYdAQEBAQG0AAAAAAAAAAAAAuuKIQEBAQED+ + AAAAAAAAzMCoPT4+W/YAAAAAAAAAAAC22Zo+Pj4+Pv0AAAAAAAAA19OaOTpD+wAAAAAAAAAAAMHiPDo6 + OhIT+AAAAAAAALfLiTs7Oz929AAAAAAAAAAA3744OziGiqAAAAAAAAAAx4YPNjY2NkX99AAAAAAAAADv + pxA2DqTxAAAAAAAAAOjEMDIyMjIyN1X89AAAAAAArsUzMjIwR3/yAAAAAAAAuuyZDSoNKi4uL1V/9wAA + AMLGmSouLi4qR/wAAAAAAAAA560MNKefDCgoKBFtf+G1rYUMKCgoKCgrbAAAAAAAAADk5OTk8L8nJiYm + KSwtMSsLCyYmJgoLJTF3AAAAAAAAAAAAAOTqsAkkJCQkJCQjIyQkJAmfXZgjUAAAAAAAAAAAAAAA5Nqe + CCIiCAgiIiIiCCIiIEPRXV0AAAAAAAAAAAAAAADP0oMHISGrniEhISGEISEhEXoAAAAAAAAAAAAAAAAA + AOTmsR8DQ+29BgYEntKXAwYepAAAAAAAAAAAAAAAAAAAAOTkv4wA68OCBR018L0FBTVdAAAAAAAAAAAA + AAAAAAAAAAAAAADg0oECAlq35qxdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOTpsbGtAAAAAAAAAAAAAAAA + AAD//B///8AP//8AA///AAD//gAAf/wAAH/4AAB/8AAAf+AAAA/gAwAH8AfAB/gP4AfgD/AP4B/wD8Af + +AfAH/gDwB/4A/AP+AP4D/gD8Af4B/AD+A/gAfAH4ADgB/AAAAfwAAAH/gAAD/4AAB/+AAB//gAAf/8I + AH//+AH///g//ygAAAAQAAAAIAAAAAEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzJmZAMSU + lADFlpYAw5SUAMycnAC7j48Auo6OALKIiADOnp4Av5OTALeNjQCziooAsomJALqQkADNoKAAu5KSAKuF + hQDQo6MAo4CAALWPjwCae3sAkXR0ANasrACYenoAk3Z2AI9zcwCnh4cAiG5uANOsrADOqKgAiG9vANCq + qgCJcHAAtZWVAMWlpQCzlpYAknt7AKeNjQCxmJgAppCQALegoACkkZEAuKSkAJyMjACYiIgAZ2FhAFJO + TgBjX18AYl5eAJ+fnwCYmJgAkZGRAImJiQCDg4MAgoKCAICAgAB5eXkAc3NzAG5ubgBtbW0AZ2dnAGVl + ZQBkZGQAX19fAF5eXgBWVlYAU1NTAE9PTwBNTU0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ADVDNAAAAAAAAAAAAAAtQCIBGT0sQTgAAAAAAAAPAR8MAQ0WAQY7AAAAAAA5EAEBAQEBAQEIRDw5AAAF + Cw0BAQEgAQEBAwgEMAAAAQEBASkAAAAAAQEBASoAACQBASUAAAAAAAABASE+Nx4OAQQ6AAAAAAAACQEN + E0MBAQERPwAAAAAAAB4BAQEzHh4BAkUyAAAAAAABAREmAAAjAQEcQjMAAAAnAQEVMQAAAQEBARovQi4Y + AQEBASgAABceDwEBAQEBAQEHGwEAAAAAABIBAQEBAQEBCjYAAAAAAAAXAR4dARQrAQEAAAAAAAAAAAAA + FwEBAAAAAAAAAP4/ALrwB1lY4AdYWMABjqmAAVkXg8FYaIfgcH4H4AAAB+AAzwPhVlOBwVNTgAEAAIAD + uJzgB1NX4A9Rcfx/AAAoAAAAMAAAAGAAAAABACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA + AAkAAAAPAAAAFQAAABAAAAADAAAAKgAAAGAAAACLAAAArAAAAKEAAACUAAAAfwAAAF0AAAAYAAAAAQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAMAAAAQAAAAJwAAAEwAAABxAAAAiwAAAG5ZRkJDhHFlr5Z8bOTnubT72a6u882kpO6xjo7lhWpq1hkU + FKYAAAA9AAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAADQAAADEdGRd3ZFRLxKODfeHjtLL2v5eX6gAAAKebeXLMzq+d/8Ogi///ysr//8rK///K + yv//ysr//8rK/1JBQcYAAABbAAAADAAAAAkAAAAPAAAAEwAAABMAAAAEAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAKOS0qaZF3bNjTq57/87+7///Hx///x8f//8fH/2JMTNGlhn3uza2b/8mk + kf//x8f//8fH///Hx///x8f//8fH/5Z1ddoAAABrAAAAHwAAAEsAAABwAAAAiAAAAH0AAAA9AAAADQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACjfnd7xKWU98Ofiv//xsb//8bG///Gxv//xsb//8bG/+ay + svfFn5X/y6uX/9Cnl///xsb//8bG///Gxv//xsb//8bG/6N+fuAAAACLemdfoJJ6bNy6lInx2qio8j0v + L8gAAACdAAAAVAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0jIXRz7Ce/8Sijf/vubT//8TE///E + xP//xMT//8TE///ExP/rvbb/yaiU/9ytof//xMT//8TE///ExP//xMT//8TE/82enu5XREDMy6yb/86n + lv/7wb///8TE///ExP9yV1fXAAAApwAAAGsAAAAVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAADQAAABKSZ2V80rWk/8em + kv/brKD//8HB///Bwf//wcH//8HB///Bwf//wcH//L++///Bwf//wcH//8HB///Bwf//wcH//8HB/+au + rvfMppr/yaWS//O5tf//wcH//8HB///Bwf//wcH/sIWF5wAAAKMAAAAwAAAABgAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAABDAAAAZwAA + AH8kGBiIyamb/8url//Joo///7+///+/v///v7///7+///+/v///v7///7+///+/v///v7///7+///+/ + v///v7///7+///+/v///v7//97q4//+/v///v7///7+///+/v///v7///7+//1xFRbIAAAAcAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACXNc + VoOIc2bUrYh87M6Zme1QOzvLoH938M6vnf/DoYz/87ay//+9vf//vb3//729//+9vf//vb3//729//+9 + vf//vb3//729//+9vf//vb3//729//+9vf//vb3//729//+9vf//vb3//729//+9vf//vb3/9LW1+gAA + AHEAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAABfFlXa82unv/Io5D/97a0//+7u///u7v/56up/9Wyo//Io4//97a0//+7u///u7v//7u7//+7 + u///u7v//7u7//+7u///u7v//7u7//+7u///u7v//7u7//+7u///u7v//7u7//+7u///u7v//7u7//+7 + u///u7v/tISE4QAAAEUAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAABYOjocuZiM68mplf/gqp///7i4//+4uP//uLj//7i4//+4uP/3tLL//7i4//+4 + uP//uLj//7i4//+4uP//uLj//7i4//+4uP//uLj//7i4//+4uP//uLj//7i4//+4uP//uLj//7i4//+4 + uP//uLj//7i4//+4uP//uLj/aUxMwwAAAC0AAAADAAAACQAAAA8AAAAVAAAABwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGWbmqPz7Gg/8eijv/7tLP//7a2//+2tv//trb//7a2//+2 + tv//trb//7a2//+2tv//trb//7a2//+2tv//trb//7a2//+2tv//trb//7a2//+2tv//trb//7a2//+2 + tv//trb//7a2//+2tv//trb//7a2//+2tv//trb/AAAAtQAAAGgAAAA6AAAATgAAAHEAAACCAAAASAAA + AAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIFWVhO+m5DxyqmW/9immP//tLT//7S0//+0 + tP//tLT//7S0//+0tP//tLT//7S0//+0tP//tLT//7S0//+0tP//tLT//bW0/++1r//jsqf/1qqb/9uq + nf/kq6L/97Gu//+0tP//tLT//7S0//+0tP//tLT//7S0//+0tP//tLT/oXJy4yMeG75rUUzKsH584eej + o/ZjRUXPAAAAiwAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJlmZiDMrZ7wzK2a/8ei + jv/zrqr//7Ky//+ysv//srL//7Ky//+ysv//srL//7Ky//+ysv//srL//7Ky//+ysv/Mj4+ghF1dHwAA + AAGZZmYwuZSLcsGekuDLrJv/yKeT/9KklP/zrqr//7Ky//+ysv//srL//7Ky//+ysv//srL//7Ky//ew + rf//srL//7Ky//+ysv/moaH3AAAArQAAAFEAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AACkdXJgyaib/8urmP/HoY3/86yo//+wsP//sLD//7Cw//+wsP//sLD//7Cw//+wsP//sLD/9amp+XpU + VGQAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAACug31gw6CU8M2um//Fo47/36ab//+wsP//sLD//7Cw//+w + sP//sLD//7Cw//+wsP//sLD//7Cw//+wsP//sLD/c09P1QAAAIwAAAAbAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAApHVyYMinmf/Lq5j/xqCM//Oqpv//rq7//66u//+urv//rq7//66u//+u + rv//rq7/YEJCfwAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmWZmELiSidDPsZ//xqWQ/9ej + lf//rq7//66u//+urv//rq7//66u//+urv//rq7//66u//+urv//rq7/5pyc9wAAAKcAAAA0AAAABgAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAB5hsaWfPsaH/yqqW/8Weiv//q6v//6ur//+r + q///q6v//6ur//+rq/+gbGzMAAAAKAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJlm + ZhC4konQz7Gf/8Wjj//fpJn//6ur//+rq///q6v//6ur//+rq///q6v//6ur//+rq///q6v//6ur/2JC + QqcAAAAtAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAAArAAAARQAAAFu0kojty6uY/9Cg + kP//qan//6mp//+pqf//qan//6mp//SiovokGBhxAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAACZZmYgxKKW8M2um//DoYv/76Wg//+pqf//qan//6mp//+pqf//qan//6mp//+p + qf//qan/7p6e75BfX1UAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEDEpJYNQQjnAmGRk15Zi + Ytnoo5//8qei//emo///p6f//6en//+np///p6f//6en/6dtbdsAAAA3AAAABAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApHVyYM+xov/JqZX/zJ+N//+np///p6f//6en//+n + p///p6f//6en//+np//nl5flTTIyNQAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvZyRt82t + m//Cnon//6Wl//+lpf//paX//6Wl//+lpf//paX//6Wl//+lpf//paX//6Wl/0QsLLQAAAAcAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALKJguDPsJ7/xKKN/+ui + m///paX//6Wl//+lpf//paX//6Wl/7R0dOEsHBxdAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAt4+H/8ysmf/Jn4z//6Ki//+iov//oqL//6Ki//+iov//oqL//6Ki//+iov//oqL//6Ki/wAA + AI8AAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKR1 + cmDPsaH/yaiU/9Sej///oqL//6Ki//+iov//oqL//6Ki/2RAQMwAAABtAAAAIgAAAA0AAAAEAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAt4+H/8urmP/Rn4///6Cg//+goP//oKD//6Cg//+goP//oKD//6Cg//+g + oP//oKD/2omJ8gAAAIUAAAASAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADAnZLwzK2a/8Kfif//oKD//6Cg//+goP//oKD//6Cg/6FlZeMAAACyAAAAkQAA + AGcAAAA3AAAAGwAAAAAAAAAAAAAAAAAAAAAAAAAAt4+H/8urmP/Rn4///56e//+env//np7//56e//+e + nv//np7//56e//+env//np7/zoCA7QAAAIgAAAASAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACxioOzz7Gf/8Sijf/vnZf//56e//+env//np7//56e//+e + nv/mj4/3oWRk4j8nJ8MAAACqAAAAiQAAABYAAAAAAAAAAAAAAAAAAAAAt4+H/8ysmf/Bnoj//5yc//+c + nP//nJz//5yc//+cnP//nJz//5yc//+cnP//nJz/zH197wAAAJsAAAAYAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACleXWD0bSi/8alkP/jm5L//5yc//+c + nP//nJz//5yc//+cnP//nJz//5yc//+cnP/zlZX7AAAApgAAABgAAAAAAAAAAAAAAAAAAAAAuZOK782u + nP/Eoo3/5JyT//Oalv//mpr//5qa//+amv//mpr//5qa//+amv//mpr/85KS+wAAAKcAAAAlAAAAAQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACSYWFU07al/8em + kv/fmo///5qa//+amv//mpr//5qa//+amv//mpr//5qa//+amv//mpr/AAAApwAAABgAAAAAAAAAAAAA + AAAAAAAAmWZmILCIgXLFpJiyyaiY/8qql//NopD/3ZyQ//eZlv/+mJj//piY//6YmP/+mJj//piY/xcO + DrQAAABGAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AACQYGBE07em/8imkv/fmo///piY//6YmP/+mJj//piY//6YmP/+mJj//piY//6YmP/+mJj/AAAApwAA + ABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmWZmEKh7d4DIp5n/yqmV/8+bi//8lpb//JaW//yW + lv/8lpb//JaW/2I6Os0AAABzAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAACKXFxH07al/8elkf/dmI3//JaW//yWlv/8lpb//JaW//yWlv/8lpb//JaW//yW + lv/8lpb/AAAApAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2+mpD/zKyZ/8ic + iv/5k5P/+ZOT//mTk//5k5P/+ZOT/6xlZecAAACgAAAAKwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYa2l30bSi/8Wkj//rlZD/+ZOT//mTk//5k5P/+ZOT//mT + k//5k5P/+ZOT//mTk//5k5P/AAAAgwAAABUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFkg2 + NHTAoJH5zp+O//SSkP/3kZH/95GR//eRkf/3kZH/95GR//eRkf8VDQ26AAAAZwAAABIAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACmgXubz7Ce/8Ogi//zkpD/95GR//eR + kf/3kZH/95GR//eRkf/3kZH/95GR//OSkP/pkI3kAAAAFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAWb1ZSn8urmf/Wmo3/9Y+P//WPj//1j4//9Y+P//WPj//1j4//9Y+P//WPj/+bWlrjAAAAoQAA + AD8AAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa5lozny6yY/9GZ + iv/1j4//9Y+P//WPj//1j4//9Y+P/756duuWf3Gto4N2XY13ahcAAAABAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAmhg3qryKeV/9eWiv/yjIz/8oyM//KMjP/yjIz/8oyM//KMjP/yjIz/8oyM//KM + jP/yjIz/OiEhyQAAAIkAAAAuAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHRO + TlTLq5z/xqSQ/+WQiv/yjIz/8oyM//KMjP/yjIz/8oyM/102NtAAAACFAAAAIgAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAJZkZGLStaT/x6aS/9KVh//wior/8IqK//CKiv/wior/8IqK//CK + iv/wior/8IqK//CKiv/wior/2Hx89xUMDLwAAACAAAAALQAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAADaqIf9TMrJn/0JiJ//CKiv/wior/8IqK//CKiv/wior/8IqK/8x1dfMAAACyAAAAawAA + AB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJlmZiDCnpP/y6yY/8Wdif/riYj/7oiI/+6I + iP/uiIj/7oiI/+6IiP/uiIj/7oiI/+6IiP/uiIj/7oiI/8pzc/MUDAy7AAAAgwAAAD0AAAAQAAAAAwAA + AAAAAAAAAAAAAAAAAAAAAAAMfF1Zh8ytnP/MnYz/64mH/+6IiP/uiIj/7oiI/+6IiP/uiIj/7oiI/+6I + iP+kXV3nAAAArQAAAGsAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACzi4Sx0LKg/8Wk + j//bjob/7IaG/+yGhv/shob/7IaG/+yGhv/shob/7IaG/+yGhv/shob/7IaG/+yGhv/IcXHzOCAgyAAA + AKAAAABjAAAAMAAAABYAAAANAAAADAAAABlLOTZuwqKU+Myejf/ph4X/7IaG/+yGhv/shob/7IaG/+yG + hv/shob/7IaG/+yGhv/shob/olxc5wAAAKwAAABWAAAADQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AACZZmZAza2f/8qql//Gmof/6YOD/+mDg//pg4P/6YOD/+KJhf/hh4P/6YOD/+mDg//pg4P/6YOD/+mD + g//pg4P/6YOD/4VKSt8nFha9AAAApgAAAIsAAABtAAAAZ1hHQqq+moz61pKI/+aEg//pg4P/6YOD/+mD + g//pg4P/6YOD/+mDg//pg4P/6YOD/+mDg//pg4P/6YOD/5dVVdwAAABLAAAACQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAt5CIwNCxoP/GpI//1o2D/+F9fdXKdXWXy6GV/8url//EnYn/5YOB/+eB + gf/ngYH/54GB/+eBgf/ngYH/54GB/+eBgf/ngYH/xW5u85JRUeGHS0varWto7N6OiP/ngYH/54GB/+eB + gf/ngYH/54GB/+eBgf/ngYH/54GB/+eBgf/ngYH/54GB/+eBgf/ngYH/54GB/3VBQb4AAAAlAAAAAQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmWZmMMmqnIKxlINJAAAABgAAAAAAAAAAr4yEmdCy + oP/Foo3/3YR//+V/f//lf3//5X9//+V/f//lf3//5X9//+V/f//lf3//5X9//+V/f//lf3//5X9//+V/ + f//lf3//5X9//+V/f//lf3//5X9//+V/f//lf3//5X9//+V/f//lf3//5X9//+V/f//lf3//23p6+iIT + E2oAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAADsY2E2M2tm//Fmof/4nx8/+J8fP/ifHz/4nx8/+J8fP/ifHz/4nx8/+J8fP/ifHz/4nx8/+J8 + fP/ifHz/4nx8/+J8fP/ifHz/4nx8/+J8fP/ifHz/4nx8/+J8fP/ifHz/2Y2G/8uXh//ZhH7/4nx8/+J8 + fP/ifHz/lFFRxAAAACcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAB3UFApyaia/8molP/OjYH/4Hp6/+B6ev/genr/4Hp6/+B6ev/genr/4Hp6/+B6 + ev/genr/4Hp6/+B6ev/genr/4Hp6/+B6ev/genr/4Hp6/+B6ev/genr/4Hp6/+B6ev/genr/wJeN+s6v + nf/GpZD/zZGD/9x+e//VdHTqPSEhOgAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACcdG970bOh/8Wjjv/Xfnr/3Xd3/913d//dd3f/3Xd3/913 + d//dd3f/3Xd3/913d//dd3f/3Xd3/913d//dd3f/3Xd3/913d//dd3f/3Xd3/913d//dd3f/3Xd3/913 + d//dd3f/ZTY202tPTLTEopbjw6WTtreWgoipW1sqAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC1kIfUza2b/8WZhv/bdXX/23V1/9t1 + df/bdXX/23V1/9t1df/Yenj/zol+/9l3dv/bdXX/23V1/9t1df/bdXX/23V1/9t1df/bdXX/23V1/9t1 + df/bdXX/23V1/9t1df/bdXX/olZW6wAAAKEAAAAlAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADCn5T/zKyZ/8Sd + if/Uenb/2XNz/9lzc//Zc3P/2XNz/9lzc//TqJr/yKeT/8uKfv/Zc3P/2XNz/9lzc//Zc3P/2XNz/9lz + c//RjYP/zId9/9lzc//Zc3P/2XNz/9lzc//Zc3P/2XNz/xQKCrQAAABCAAAABwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AACkdXJgyaib/8ysmf/Fnor/z353/9ZwcP/WcHD/1nBw/5FSUr/Fo5b/yqmW/8aSgf/WcHD/1nBw/9Zw + cP/WcHD/1nBw/9Z9ev/Nrpv/w6GL/9B6df/WcHD/1nBw/9ZwcP/WcHD/1nBw/1ovL74AAABJAAAACgAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAroN+MMKglODOr53/xaOP/8mIfP/TcW//sVxcvgAAAB/Cn5T/y6yZ/8SY + hf/Ubm7/1G5u/9Rubv/Ubm7/1G5u/8lxcP/QsqL/yqmW/8WVg//Ubm7/1G5u/9Rubv/Ubm7/1G5u/5lP + T5sAAAASAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJlmZhC1jIWvxqaX4b+fi6e4hXd4hkREGQAA + AAG7lYzhza6b/8Kfif/Ra2v/0Wtr/9Fra//Ra2v/0Wtr/3s/P9mhe3bV0LKh/8alkP/Ig3j/0Wtr/9Fr + a//MaGj1nVBQawAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAC1j4bCz7Ce/8ShjP/Mc27/0Gpq/9Bqav/Qamr/0Gpq/3U8PMY7JydTxKKW8M2t + m//DoIv/xnFs5b5hYYx8Pz8bAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0jIWQ0LKh/8akj//Hgnf/ynFs/81nZ//NZ2f/zWdn/39A + QGcAAAAKpnd0UMqunmSiiHkoAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC5koogvZmOgcSmlpS5lIjCw6OTxMWm + k7W2loN5pYZzOAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//4AAf//AAD/+AAB//8AAP/wAAAP/wAA/+AAAAf/ + AAD/4AAAA/8AAP/gAAAB/wAA/wAAAAD/AAD+AAAAAf8AAPwAAAAB/wAA+AAAAAH/AAD4AAAAAB8AAPAA + AAAADwAA8AAAAAAPAADwAAAAAAcAAPgAB8AABwAA/AAP4AADAAD4AA/wAAMAAPAAH/gABwAA4AAf/AAP + AADgAD/+AB8AAOAAP/4ABwAA4AA//wADAADgAD//AAEAAOAAP/8AAQAA4AAf/wABAADgAB//AAEAAPwA + H/8AAQAA/gAP/wABAAD8AA//AAMAAPgAB/4ABwAA8AAD/gAfAADwAAH8AA8AAPAAAHgABwAA+AAAAAAD + AAD4AAAAAAMAAPwAAAAAAwAA/DAAAAAHAAD/4AAAAAcAAP/gAAAADwAA/+AAAAAfAAD/4AAAAP8AAP/g + AAAA/wAA/+AAAAD/AAD/8AAAAf8AAP/4AAAD/wAA///wAAf/AAD///AAP/8AAP//8Af//wAAKAAAACAA + AABAAAAAAQAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAIAAAALAAAAEwAAABkAAAANAAAAPQAAAGcAAAB7AAAAcQAAAFgAAAAfAAAAAgAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAEAAAANAAAAKwAAAFkUEBCHAAAAgmFSSnyMc2rDsY6O4Z+AgN6AZmbTJB0drAAA + AE4AAAANAAAACwAAAA0AAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAABAAAADTUrJ2R4YVjGxJ6X7t+xsPRIOTjIrY6C7c6pmP/5xcP//8vL///K + yv99Y2PTAAAAbAAAADoAAABVAAAAXwAAADgAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAIBQUwihfXZ5xKKS9fK9uf//yMn//8fH/9moqPPGpJb91Kyd//3E + xP//x8f//83N/4ZjZOAnHhyseGVZw598eNxJOTnEAAAAlAAAAFEAAAAPAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAGa2KgMvOrZn/7bix///Fxv//w8P//8PE/+e3 + rv/qt6///8PE///Dw///x8f/wpOS8pl+cfDitKf//8PE/+21tflxVlbWAwICmgAAAC4AAAAFAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADh0ZFlcmHBuJZEpIvMGmkv7crqH//8LC///A + wP//wMD//8HB///AwP//wMD//8DA///AwP/+wL//77iy//2+vf//wMD//8DA//2+vv5QPDypAAAAJQAA + AAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASIbGWIq41+5tqioPKqfHzpxKWU/NSq + mv/+u7r//7y9//+8vP//vLz//7y8//+8vP//vLz//7y8//+8vf//vb7//729//+8vP//vLz/5Kio9Tgq + KoMAAAATAAAABQAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAelVUP8Skkv7lraT//7m6//+6 + u//4t7X/9bWx//+5uf//ubn//7m5//+5uf//ubr//7m6//+6u///ubr//7m5//+5uf//ubn//7m5//+5 + uf+vf3/hAAAAcgAAACwAAAA2AAAAPQAAABAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAGwjIK+0auZ//my + r///trf//7W1//+2tv//trb//7W1//+1tf//trb//rS0//axsP/wtK7/8LGr//izsP//trf//7W2//+1 + tf//tbX//7W1/5xvb+EUEA+wUTs5rmxLS8EIBgaeAAAAQwAAAAcAAAAAAAAAAAAAAAAAAAAAl2NkBsCd + kNnPq5j/8a2n//+ztP//srL//7Ky//+ysv//srL//7Ky//esrPrGioqYxZGOTLePh2XBnZDDzqiY/96r + nv/4r6z//7Kz//+ysv//srL/9aqq+9mZmPTvqKf7/rCw/1U7O8sAAAB7AAAAFgAAAAAAAAAAAAAAAAAA + AACVX2EBoXNwRcGgkuvNqJX/8aql//+vr///rq7//66u//+urv/soaH3bUtLcwAAAA4AAAAAAAAAAAAA + AACsg3xYxKaW5M2mlP/uqaP//6+w//+urv//rq7//66v//+vr///rq7/x4iI7QAAAJkAAAApAAAABAAA + AAAAAAAAAAAAAAAAAAEAAAAXbVFPXL+llO3PpZP/+aqo//+srP//rKz//qur/4teXrYAAAAcAAAAAAAA + AAAAAAAAAAAAAAAAAAC5lIs8xaaW6M2nlP/0qKX//6yt//+srP//rKz//6ys//+srP/6qan8Vzo6hAAA + ABYAAAABAAAAAAAAAAAAAAAATEE7GEExLYZJLzC0tI2D8+KonP/8p6X//6io//+oqP/Zj4/vAAAAXgAA + AAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwhX9hx6qY/tWjlP/+p6f//6io//+oqP//qKj//6io/8mE + hMZAKiokAAAAAQAAAAAAAAAAAAAAAAAAAAC9oJCzz56P+P+np///pqb//6Wm//+lpf//paX//6Wl/5Nf + X9QAAAA9AAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJZiYwK5k4rAyKqV/+uimv//pab//6Wl//+l + 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 + + + \ No newline at end of file diff --git a/Themenmanagement/Sysadmin/frmSysadminMenu.vb b/Themenmanagement/Sysadmin/frmSysadminMenu.vb new file mode 100644 index 0000000..d32a692 --- /dev/null +++ b/Themenmanagement/Sysadmin/frmSysadminMenu.vb @@ -0,0 +1,382 @@ +Imports System.Data.SqlClient +Imports System.Data.SqlTypes +Imports System.Drawing +Imports System.Drawing.Color +Imports System.IO +Public Class frmSysadminMenu + +#Region "Deklarationen" + Const CtrlMask As Byte = 8 + Dim todelete(50) As Integer + Dim itodelete As Integer + Dim ssort As Integer + + Dim msg As New Utils.MyMessage +#End Region + +#Region "Formular" + ''' + ''' Load des Formulars + ''' + ''' + ''' + ''' + Private Sub FrmSysadminMenu_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + Dim menu As New db.clsMySysadminfunkion() + menu.LoadTreeMenu(SysMenuTree) + SysMenuTree.ExpandAll() + itodelete = 0 + Me.SysMenuTree.ContextMenu = Me.ContextMenu1 + Me.Height = Me.Parent.ClientSize.Height + End Sub + + ''' + ''' Doppelklick auf einen Eintrag: Es wird geprft, ob in der Tabelle SysadminFunktion im Attribut DomainTable + ''' einen Wert vorhanden ist. Sofern dies der Fall ist, wird der generelle Domain-Table-Editor aufgerufen + ''' + ''' + ''' + ''' + Private Sub SysMenuTree_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles SysMenuTree.DoubleClick + Dim sysadmfnkt As New db.clsSysadminfunktion + Dim wert As String + wert = Me.SysMenuTree.SelectedNode.Tag + If IsNumeric(wert) Then + sysadmfnkt.iSysadminfnktnr = New SqlInt32(CType(wert, Int32)) + sysadmfnkt.cpMainConnectionProvider = Globals.conn + Globals.conn.OpenConnection() + sysadmfnkt.SelectOne() + Globals.conn.CloseConnection(True) + If sysadmfnkt.sDomaintable.Value.IndexOf(";") > -1 Then + 'Verbindungseditor + Dim s As String = sysadmfnkt.sDomaintable.Value + Dim sArray() As String = s.Split(";") + Dim f As New FrmVerbindungEditor(sArray(0), sArray(1), sArray(2), sysadmfnkt.iSysadminfnktnr.Value) + f.Width = sysadmfnkt.iFwidth.Value + f.Height = sysadmfnkt.iFheight.Value + f.Top = sysadmfnkt.iFtop.Value + f.Left = sysadmfnkt.iFleft.Value + f.MdiParent = Me.MdiParent + f.Text = "Verbindungseditor: " + Me.SysMenuTree.SelectedNode.Text + f.Show() + Else + '20090810 - Externe Tabellen mit dem Domaineditor mutieren + If sysadmfnkt.sDomaintable.Value.IndexOf(":") > -1 Then + Dim s As String = sysadmfnkt.sDomaintable.Value + Dim sarray() As String = s.Split(":") + Dim ofile As System.IO.File + Dim oread As System.IO.StreamReader + Dim scstring As String + oread = ofile.OpenText(Application.StartupPath + "\" + sarray(0)) + sCString = oread.ReadLine + scstring = Crypto.DecryptText(scstring, "HutterundMueller") + scstring = Microsoft.VisualBasic.Left(scstring, Len(scstring) - 1) + oread.Close() + + Dim f As New frmDomainEditorExtTables(sarray(1), scstring) + f.MdiParent = Me.MdiParent + f.Text = "TicketXPert-Tabelle:" + sarray(1) + f.Show() + Else + 'Einzelne Domaintable + + If sysadmfnkt.sDomaintable.Value = "ToolTip-Editor" Then + Dim f As New FrmToolTipEditor + f.MdiParent = Me.MdiParent + f.Show() + Exit Sub + End If + If sysadmfnkt.sDomaintable.Value <> "" Then + Dim f As New frmDomainEditor(sysadmfnkt.sDomaintable.Value) + f.MdiParent = Me.MdiParent + f.Width = sysadmfnkt.iFwidth.Value + f.Height = sysadmfnkt.iFheight.Value + f.Top = sysadmfnkt.iFtop.Value + f.Left = sysadmfnkt.iFleft.Value + f.Text = "Tabellen-Editor: " + Me.SysMenuTree.SelectedNode.Text + f.Show() + End If + End If + End If + sysadmfnkt.Dispose() + End If + End Sub + ''' + ''' Schliessen des Formulares + ''' + ''' + ''' + ''' + Private Sub BeendenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BeendenToolStripMenuItem.Click + Me.Close() + End Sub + + + ''' + ''' Fenster schliessen + ''' + ''' + ''' + ''' + Private Sub TSBtnQuit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnQuit.Click + Me.Close() + End Sub +#End Region + +#Region "SysMenuTree" + ''' + ''' Neuer Eintrag im Menu einfgen + ''' + ''' + ''' + ''' + Private Sub MnuNeuerKnoten_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuNeuerKnoten.Click + Dim a As String + Dim tn As New TreeNode() + Dim tnnew As New TreeNode() + a = InputBox(msg.Get_Meldungstext(100)) + If a = "" Then Exit Sub + tn = Me.SysMenuTree.SelectedNode + tnnew = tn.Nodes.Add(a) + With tnnew + .Tag() = 0 + .ImageIndex() = 3 + .SelectedImageIndex() = 3 + End With + tn.ImageIndex = 1 + tn.SelectedImageIndex = 2 + If tn.GetNodeCount(True) > 0 Then + tn.ImageIndex = 1 + tn.SelectedImageIndex = 2 + End If + Me.SysMenuTree.Refresh() + End Sub + ''' + ''' Eintrag im Menu lschen + ''' + ''' + ''' + ''' + Private Sub MnuKnotenLoeschen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuKnotenLoeschen.Click + Dim tn As New TreeNode() + Dim tnp As New TreeNode() + Dim i As Integer + tn = Me.SysMenuTree.SelectedNode + tnp = tn.Parent + If Not (Me.SysMenuTree.SelectedNode Is Nothing) Then + itodelete = itodelete + 1 + todelete(itodelete) = tn.Tag + If msg.Show_MessageYesNo(101) = MsgBoxResult.Yes Then + tn.Remove() + End If + If tnp.GetNodeCount(True) = 0 Then + tnp.ImageIndex = 3 + tnp.SelectedImageIndex = 3 + End If + Me.SysMenuTree.Refresh() + End If + End Sub + ''' + ''' Umbenennen des aktuellen Menu-Eintrages + ''' + ''' + ''' + ''' + Private Sub MenuKnotenRename_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuKnotenRename.Click + Dim a As String + a = InputBox("Neuer Name:") + If a = "" Then Exit Sub + Me.SysMenuTree.SelectedNode.Text = a + End Sub + ''' + ''' Menu Sichern + ''' + ''' + ''' + ''' + Private Sub MnuSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuSave.Click + Dim i As Integer + conn.OpenConnection() + ListNodeCollectionRecursive(Me.SysMenuTree.Nodes(0), 0) + i = conn.CloseConnection(True) + End Sub + ''' + ''' Knoten rekursiv auslesen + ''' + ''' + ''' + ''' + Private Sub ListNodeCollectionRecursive(ByVal tnParent As TreeNode, ByRef iSort As Integer) + Dim tn As TreeNode + If tnParent.GetNodeCount(False) > 0 Then + tn = tnParent.Nodes(0) + Else + tn = Nothing + End If + ssort = 0 + Do Until tn Is Nothing + iSort = iSort + 1 + ListNodeSave(tn, iSort) + If tn.GetNodeCount(False) > 0 Then + Call ListNodeCollectionRecursive(tn, iSort) + End If + tn = tn.NextNode + Loop + End Sub + ''' + ''' einzelner Knoten sichern + ''' + ''' + ''' + ''' + Private Sub ListNodeSave(ByVal tn As TreeNode, ByRef isort As Integer) + Dim dbkey As New db.clsMyKey_Tabelle() + Dim t As DataTable + Dim key As Long + Dim i As Integer + Dim ftop, fleft, fheight, fwidth As Integer + Dim sDomaintable As String = "" + Dim sKeyfields As String = "" + Dim sysadmfnkt As New db.clsSysadminfunktion + dbkey.cpMainConnectionProvider = conn + sysadmfnkt.cpMainConnectionProvider = conn + If tn.Tag <> 0 Then + sysadmfnkt.iSysadminfnktnr = New SqlInt32(CType(tn.Tag, Int32)) + sysadmfnkt.SelectOne() + ftop = sysadmfnkt.iFtop.Value + fleft = sysadmfnkt.iFleft.Value + fwidth = sysadmfnkt.iFwidth.Value + fheight = sysadmfnkt.iFheight.Value + sDomaintable = sysadmfnkt.sDomaintable.Value + sKeyfields = sysadmfnkt.sKeyFields.Value + End If + sysadmfnkt.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) + sysadmfnkt.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) + sysadmfnkt.sBezeichnung = New SqlString(CType(tn.Text, String)) + sysadmfnkt.sBeschreibung = New SqlString(CType("", String)) + sysadmfnkt.iParentID = New SqlInt32(CType(tn.Parent.Tag, Int32)) + sysadmfnkt.iImageIndex = New SqlInt32(CType(tn.ImageIndex, Int32)) + sysadmfnkt.iImageIndexOpen = New SqlInt32(CType(tn.SelectedImageIndex, Int32)) + sysadmfnkt.iSort = New SqlInt32(CType(isort, Int32)) + sysadmfnkt.daErstellt_am = New SqlDateTime(CType(Now, DateTime)) + sysadmfnkt.bAktiv = New SqlBoolean(CType(True, Boolean)) + sysadmfnkt.iSprache = New SqlInt32(CType(1, Int32)) + sysadmfnkt.iMandantnr = New SqlInt32(CType(Globals.clsmitarbeiter.iMandantnr.Value, Int32)) + sysadmfnkt.iFtop = New SqlInt32(CType(ftop, Int32)) + sysadmfnkt.iFleft = New SqlInt32(CType(fleft, Int32)) + sysadmfnkt.iFwidth = New SqlInt32(CType(fwidth, Int32)) + sysadmfnkt.iFheight = New SqlInt32(CType(fheight, Int32)) + sysadmfnkt.sDomaintable = New SqlString(CType(sDomaintable, String)) + sysadmfnkt.sKeyFields = New SqlString(CType(sKeyfields, String)) + + If tn.Tag <> 0 Then + sysadmfnkt.iSysadminfnktnr = New SqlInt32(CType(tn.Tag, Int32)) + sysadmfnkt.Update() + Else + key = dbkey.get_dbkey("sysadminfunktion") + conn.OpenConnection() + sysadmfnkt.iSysadminfnktnr = New SqlInt32(CType(key, Int32)) + sysadmfnkt.Insert() + tn.Tag = key + End If + + For i = 1 To itodelete + sysadmfnkt.iSysadminfnktnr = New SqlInt32(CType(todelete(i), Int32)) + t = sysadmfnkt.SelectOne + If t.Rows.Count > 0 Then + sysadmfnkt.Delete() + End If + Next + End Sub + + Private Sub SysMenutree_DragEnter(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles SysMenuTree.DragEnter + If (e.Data.GetDataPresent("System.Windows.Forms.TreeNode")) Then + If (e.KeyState And CtrlMask) = CtrlMask Then + e.Effect = DragDropEffects.Copy + Else + e.Effect = DragDropEffects.Move + End If + Else + e.Effect = DragDropEffects.None + End If + End Sub + + Private Sub SysMenuTree_ItemDrag(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ItemDragEventArgs) Handles SysMenuTree.ItemDrag + If e.Button = MouseButtons.Left Then + DoDragDrop(e.Item, DragDropEffects.Move Or DragDropEffects.Copy) + End If + End Sub + + Private Sub SysMenuTree_DragDrop(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles SysMenuTree.DragDrop + Dim OriginationNode As TreeNode = CType(e.Data.GetData("System.Windows.Forms.TreeNode"), TreeNode) + + If e.Data.GetDataPresent("System.Windows.Forms.TreeNode", False) Then + Dim pt As Point + Dim DestinationNode As TreeNode + pt = CType(sender, TreeView).PointToClient(New Point(e.X, e.Y)) + DestinationNode = CType(sender, TreeView).GetNodeAt(pt) + DestinationNode.Nodes.Add(CType(OriginationNode.Clone, TreeNode)) + DestinationNode.Expand() + If (e.KeyState And CtrlMask) <> CtrlMask Then + OriginationNode.Remove() + End If + End If + End Sub + +#End Region + +#Region "Spaltentitel generieren" + ''' + ''' Generiert die Spaltentitel in der Tabelle Spalten aufgrund der im Formular frmSysadminTableSelector gewhlten Tabelle + ''' + ''' + ''' + ''' + Private Sub SpaltentitelGenerierenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SpaltentitelGenerierenToolStripMenuItem.Click + Dim f As New frmSysadminTableSelector() + Dim tablename As String + tablename = (f.get_tablename()) + If tablename = "" Then Exit Sub + Generate_Data(tablename) + End Sub + ''' + ''' Ruft die SP zur Spalten-Generierung auf + ''' + ''' + ''' + Private Sub Generate_Data(ByVal tablename As String) + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + Dim dttable As New DataTable(tablename) + scmCmdToExecute.CommandText = "dbo.[sp_update_spalten]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + scmCmdToExecute.Connection = conn.scoDBConnection + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@Tablename", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, tablename)) + scmCmdToExecute.Connection.Open() + scmCmdToExecute.ExecuteNonQuery() + Return + Catch ex As Exception + Throw New Exception(msg.Get_Meldungstext(103), ex) + Finally + scmCmdToExecute.Connection.Close() + End Try + End Sub +#End Region + + Private Sub FrmSysadminMenu_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize + If Me.Width > 300 Then Me.Width = 300 + End Sub + + + + Private Sub SysMenuTree_AfterSelect(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles SysMenuTree.AfterSelect + + End Sub + + Private Sub KBStartmeldungToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles KBStartmeldungToolStripMenuItem.Click + If MsgBox("Startmeldung fr alle Benutzer aktivieren?", vbYesNo + vbQuestion) = vbNo Then Exit Sub + Dim db As New clsKB + db.Delete_User_No_Message("null") + db.dispose() + End Sub +End Class \ No newline at end of file diff --git a/Themenmanagement/Sysadmin/frmSysadminTableSelector.resx b/Themenmanagement/Sysadmin/frmSysadminTableSelector.resx new file mode 100644 index 0000000..df31b27 --- /dev/null +++ b/Themenmanagement/Sysadmin/frmSysadminTableSelector.resx @@ -0,0 +1,165 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + False + + + False + + + 0, 0 + + + 152, 17 + + + False + + + False + + + 0, 0 + + + 280, 17 + + + + + AAABAAEAICAEAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP// + AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAzd3d3MzMzAAAAAAAAAAAAM3d3dzMzMwAAAAAAAAAAM3eIiIi7MzMzAAAAAAAA + ADN3iIiIuzMzMwAAAAAAAAB3u4iIiLu7MzMAAAAAAAAAd7uIiIi7uzMzAAAAAAAAAHe7iIiIu7szMwAA + AAAAAAB3u4iIiLu7MzMAAAAAAAAAd7uIiIi7uzMzAAAAAAAAAHe7iIiIu7szMwAAAAAAAAB3u4iIiLu7 + MzMAAAAAAAAAd7uIiIi7uzMzAAAAAAAAAHe7iIiIu7szMwAAAAAAAAB3u4iIiLu7MzMAAAAAAAAAd7uI + iIi7uzMzAAAAAAAAAHe7iIiIu7szMwAAAAAAAAB3u4iIiLu7MzMAAAAAAAAAd7uIiIi7uzMzAAAAAAAA + AHe7iIiIiIi7dwAAAAAAAAB3u4iIiIiIu3cAAAAAAAAAiIj//////4h3AAAAAAAAAIiI//////+IdwAA + AAAAAAAzd3d3d3d3dzMAAAAAAAAAM3d3d3d3d3czAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////////////////AAA//wA + AP/8AAD//AAA//wAAP/8AAD//AAA//wAAP/8AAD//AAA//wAAP/8AAD//AAA//wAAP/8AAD//AAA//wA + AP/8AAD//AAA//wAAP/8AAD//AAA//wAAP/8AAD//////////////////////w== + + + \ No newline at end of file diff --git a/Themenmanagement/Sysadmin/frmSysadminTableSelector.vb b/Themenmanagement/Sysadmin/frmSysadminTableSelector.vb new file mode 100644 index 0000000..c48989a --- /dev/null +++ b/Themenmanagement/Sysadmin/frmSysadminTableSelector.vb @@ -0,0 +1,145 @@ +Imports System.IO +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient +Public Class frmSysadminTableSelector + Inherits System.Windows.Forms.Form + +#Region " Vom Windows Form Designer generierter Code " + + Public Sub New() + MyBase.New() + + ' Dieser Aufruf ist fr den Windows Form-Designer erforderlich. + InitializeComponent() + + ' Initialisierungen nach dem Aufruf InitializeComponent() hinzufgen + + End Sub + + ' Die Form berschreibt den Lschvorgang der Basisklasse, um Komponenten zu bereinigen. + Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing Then + If Not (components Is Nothing) Then + components.Dispose() + End If + End If + MyBase.Dispose(disposing) + End Sub + + ' Fr Windows Form-Designer erforderlich + Private components As System.ComponentModel.IContainer + + 'HINWEIS: Die folgende Prozedur ist fr den Windows Form-Designer erforderlich + 'Sie kann mit dem Windows Form-Designer modifiziert werden. + 'Verwenden Sie nicht den Code-Editor zur Bearbeitung. + Friend WithEvents SqlDataAdapter1 As System.Data.SqlClient.SqlDataAdapter + Friend WithEvents SqlSelectCommand1 As System.Data.SqlClient.SqlCommand + Friend WithEvents SqlInsertCommand1 As System.Data.SqlClient.SqlCommand + Friend WithEvents SqlConnection1 As System.Data.SqlClient.SqlConnection + Friend WithEvents DataSet1 As System.Data.DataSet + Friend WithEvents ListBox1 As System.Windows.Forms.ListBox + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmSysadminTableSelector)) + Me.SqlDataAdapter1 = New System.Data.SqlClient.SqlDataAdapter + Me.SqlInsertCommand1 = New System.Data.SqlClient.SqlCommand + Me.SqlConnection1 = New System.Data.SqlClient.SqlConnection + Me.SqlSelectCommand1 = New System.Data.SqlClient.SqlCommand + Me.DataSet1 = New System.Data.DataSet + Me.ListBox1 = New System.Windows.Forms.ListBox + CType(Me.DataSet1, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'SqlDataAdapter1 + ' + Me.SqlDataAdapter1.InsertCommand = Me.SqlInsertCommand1 + Me.SqlDataAdapter1.SelectCommand = Me.SqlSelectCommand1 + Me.SqlDataAdapter1.TableMappings.AddRange(New System.Data.Common.DataTableMapping() {New System.Data.Common.DataTableMapping("Table", "sysobjects", New System.Data.Common.DataColumnMapping() {New System.Data.Common.DataColumnMapping("name", "name"), New System.Data.Common.DataColumnMapping("id", "id"), New System.Data.Common.DataColumnMapping("xtype", "xtype"), New System.Data.Common.DataColumnMapping("uid", "uid"), New System.Data.Common.DataColumnMapping("info", "info"), New System.Data.Common.DataColumnMapping("status", "status"), New System.Data.Common.DataColumnMapping("base_schema_ver", "base_schema_ver"), New System.Data.Common.DataColumnMapping("replinfo", "replinfo"), New System.Data.Common.DataColumnMapping("parent_obj", "parent_obj"), New System.Data.Common.DataColumnMapping("crdate", "crdate"), New System.Data.Common.DataColumnMapping("ftcatid", "ftcatid"), New System.Data.Common.DataColumnMapping("schema_ver", "schema_ver"), New System.Data.Common.DataColumnMapping("stats_schema_ver", "stats_schema_ver"), New System.Data.Common.DataColumnMapping("type", "type"), New System.Data.Common.DataColumnMapping("userstat", "userstat"), New System.Data.Common.DataColumnMapping("sysstat", "sysstat"), New System.Data.Common.DataColumnMapping("indexdel", "indexdel"), New System.Data.Common.DataColumnMapping("refdate", "refdate"), New System.Data.Common.DataColumnMapping("version", "version"), New System.Data.Common.DataColumnMapping("deltrig", "deltrig"), New System.Data.Common.DataColumnMapping("instrig", "instrig"), New System.Data.Common.DataColumnMapping("updtrig", "updtrig"), New System.Data.Common.DataColumnMapping("seltrig", "seltrig"), New System.Data.Common.DataColumnMapping("category", "category"), New System.Data.Common.DataColumnMapping("cache", "cache")})}) + ' + 'SqlInsertCommand1 + ' + Me.SqlInsertCommand1.CommandText = "[pv_sysobjects_insert]" + Me.SqlInsertCommand1.CommandType = System.Data.CommandType.StoredProcedure + Me.SqlInsertCommand1.Connection = Me.SqlConnection1 + Me.SqlInsertCommand1.Parameters.AddRange(New System.Data.SqlClient.SqlParameter() {New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing), New System.Data.SqlClient.SqlParameter("@name", System.Data.SqlDbType.NVarChar, 128, "name"), New System.Data.SqlClient.SqlParameter("@id", System.Data.SqlDbType.Int, 4, "id"), New System.Data.SqlClient.SqlParameter("@xtype", System.Data.SqlDbType.VarChar, 2, "xtype"), New System.Data.SqlClient.SqlParameter("@uid", System.Data.SqlDbType.Int, 2, "uid"), New System.Data.SqlClient.SqlParameter("@info", System.Data.SqlDbType.Int, 2, "info"), New System.Data.SqlClient.SqlParameter("@status", System.Data.SqlDbType.Int, 4, "status"), New System.Data.SqlClient.SqlParameter("@base_schema_ver", System.Data.SqlDbType.Int, 4, "base_schema_ver"), New System.Data.SqlClient.SqlParameter("@replinfo", System.Data.SqlDbType.Int, 4, "replinfo"), New System.Data.SqlClient.SqlParameter("@parent_obj", System.Data.SqlDbType.Int, 4, "parent_obj"), New System.Data.SqlClient.SqlParameter("@crdate", System.Data.SqlDbType.DateTime, 8, "crdate"), New System.Data.SqlClient.SqlParameter("@ftcatid", System.Data.SqlDbType.Int, 2, "ftcatid")}) + ' + 'SqlConnection1 + ' + Me.SqlConnection1.ConnectionString = "data source=shu;initial catalog=edoka;persist security info=False;user id=sa;work" & _ + "station id=SHU;packet size=4096" + Me.SqlConnection1.FireInfoMessageEventOnUserErrors = False + ' + 'SqlSelectCommand1 + ' + Me.SqlSelectCommand1.CommandText = "[pv_sysobjects_select]" + Me.SqlSelectCommand1.CommandType = System.Data.CommandType.StoredProcedure + Me.SqlSelectCommand1.Connection = Me.SqlConnection1 + Me.SqlSelectCommand1.Parameters.AddRange(New System.Data.SqlClient.SqlParameter() {New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing)}) + ' + 'DataSet1 + ' + Me.DataSet1.DataSetName = "NewDataSet" + Me.DataSet1.Locale = New System.Globalization.CultureInfo("de-CH") + ' + 'ListBox1 + ' + Me.ListBox1.Location = New System.Drawing.Point(8, 16) + Me.ListBox1.Name = "ListBox1" + Me.ListBox1.Size = New System.Drawing.Size(240, 316) + Me.ListBox1.TabIndex = 0 + ' + 'frmSysadminTableSelector + ' + Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13) + Me.ClientSize = New System.Drawing.Size(256, 349) + Me.Controls.Add(Me.ListBox1) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.Name = "frmSysadminTableSelector" + Me.Text = "Tabelle auswhlen" + CType(Me.DataSet1, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + + End Sub + +#End Region + + Private Sub frmSysadminTableSelector_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + Dim ds As New DataSet + Dim connection As New SqlConnection() + Dim da As New SqlDataAdapter("", connection) + Dim sqlcmd As New SqlCommand + + sqlcmd.CommandText = "dbo.sp_sysobjects_select" + sqlcmd.CommandType = CommandType.StoredProcedure + sqlcmd.Connection = connection + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.SelectCommand = sqlcmd + da.Fill(ds, "Datatable1") + Catch ex As Exception + Finally + connection.Close() + da.Dispose() + sqlcmd.Dispose() + End Try + + + Dim i As Integer + For i = 0 To ds.Tables(0).Rows.Count - 1 + Me.ListBox1.Items.Add(ds.Tables(0).Rows(i)(0)) + Next + Me.SqlConnection1.Close() + End Sub + + Private Sub listbox1_dblclick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.DoubleClick + Close() + End Sub + + Public Function get_tablename() As String + get_tablename = "" + Me.ShowDialog() + Return Me.ListBox1.SelectedItem + End Function + +End Class diff --git a/Themenmanagement/Sysadmin/frmVerbindungEditor.designer.vb b/Themenmanagement/Sysadmin/frmVerbindungEditor.designer.vb new file mode 100644 index 0000000..e5655bb --- /dev/null +++ b/Themenmanagement/Sysadmin/frmVerbindungEditor.designer.vb @@ -0,0 +1,342 @@ + _ +Partial Class frmVerbindungEditor + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmVerbindungEditor)) + Me.ToolStrip1 = New System.Windows.Forms.ToolStrip + Me.TSBtnQuit = New System.Windows.Forms.ToolStripButton + Me.TSBtnSave = New System.Windows.Forms.ToolStripButton + Me.MenuStrip1 = New System.Windows.Forms.MenuStrip + Me.DateiToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem + Me.BeendenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem + Me.SplitContainer1 = New System.Windows.Forms.SplitContainer + Me.SplitContainer2 = New System.Windows.Forms.SplitContainer + Me.GrpBoxLeft = New System.Windows.Forms.GroupBox + Me.C1DatenLeft = New C1.Win.C1TrueDBGrid.C1TrueDBGrid + Me.GrpBoxRight = New System.Windows.Forms.GroupBox + Me.C1DatenRight = New C1.Win.C1TrueDBGrid.C1TrueDBGrid + Me.Panel1 = New System.Windows.Forms.Panel + Me.BtnFocusRight = New System.Windows.Forms.Button + Me.ImageList1 = New System.Windows.Forms.ImageList(Me.components) + Me.BtnFocusLeft = New System.Windows.Forms.Button + Me.BtnVerbinden = New System.Windows.Forms.Button + Me.GrpBoxBottom = New System.Windows.Forms.GroupBox + Me.C1DatenBottom = New C1.Win.C1TrueDBGrid.C1TrueDBGrid + Me.ToolStrip1.SuspendLayout() + Me.MenuStrip1.SuspendLayout() + Me.SplitContainer1.Panel1.SuspendLayout() + Me.SplitContainer1.Panel2.SuspendLayout() + Me.SplitContainer1.SuspendLayout() + Me.SplitContainer2.Panel1.SuspendLayout() + Me.SplitContainer2.Panel2.SuspendLayout() + Me.SplitContainer2.SuspendLayout() + Me.GrpBoxLeft.SuspendLayout() + CType(Me.C1DatenLeft, System.ComponentModel.ISupportInitialize).BeginInit() + Me.GrpBoxRight.SuspendLayout() + CType(Me.C1DatenRight, System.ComponentModel.ISupportInitialize).BeginInit() + Me.Panel1.SuspendLayout() + Me.GrpBoxBottom.SuspendLayout() + CType(Me.C1DatenBottom, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'ToolStrip1 + ' + Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.TSBtnQuit, Me.TSBtnSave}) + Me.ToolStrip1.Location = New System.Drawing.Point(0, 24) + Me.ToolStrip1.Name = "ToolStrip1" + Me.ToolStrip1.Size = New System.Drawing.Size(953, 25) + Me.ToolStrip1.TabIndex = 3 + Me.ToolStrip1.Text = "ToolStrip1" + ' + 'TSBtnQuit + ' + Me.TSBtnQuit.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnQuit.Image = CType(resources.GetObject("TSBtnQuit.Image"), System.Drawing.Image) + Me.TSBtnQuit.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnQuit.Name = "TSBtnQuit" + Me.TSBtnQuit.Size = New System.Drawing.Size(23, 22) + Me.TSBtnQuit.Text = "ToolStripButton1" + Me.TSBtnQuit.ToolTipText = "Fenster schliessen" + ' + 'TSBtnSave + ' + Me.TSBtnSave.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnSave.Image = CType(resources.GetObject("TSBtnSave.Image"), System.Drawing.Image) + Me.TSBtnSave.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnSave.Name = "TSBtnSave" + Me.TSBtnSave.Size = New System.Drawing.Size(23, 22) + Me.TSBtnSave.Text = "ToolStripButton1" + Me.TSBtnSave.ToolTipText = "Daten speichern" + ' + 'MenuStrip1 + ' + Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DateiToolStripMenuItem}) + Me.MenuStrip1.Location = New System.Drawing.Point(0, 0) + Me.MenuStrip1.Name = "MenuStrip1" + Me.MenuStrip1.Size = New System.Drawing.Size(953, 24) + Me.MenuStrip1.TabIndex = 2 + Me.MenuStrip1.Text = "MenuStrip1" + ' + 'DateiToolStripMenuItem + ' + Me.DateiToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.BeendenToolStripMenuItem}) + Me.DateiToolStripMenuItem.Name = "DateiToolStripMenuItem" + Me.DateiToolStripMenuItem.Size = New System.Drawing.Size(44, 20) + Me.DateiToolStripMenuItem.Text = "&Datei" + ' + 'BeendenToolStripMenuItem + ' + Me.BeendenToolStripMenuItem.Name = "BeendenToolStripMenuItem" + Me.BeendenToolStripMenuItem.Size = New System.Drawing.Size(117, 22) + Me.BeendenToolStripMenuItem.Text = "&Beenden" + ' + 'SplitContainer1 + ' + Me.SplitContainer1.Dock = System.Windows.Forms.DockStyle.Fill + Me.SplitContainer1.Location = New System.Drawing.Point(0, 49) + Me.SplitContainer1.Name = "SplitContainer1" + Me.SplitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal + ' + 'SplitContainer1.Panel1 + ' + Me.SplitContainer1.Panel1.Controls.Add(Me.SplitContainer2) + Me.SplitContainer1.Panel1.Controls.Add(Me.Panel1) + ' + 'SplitContainer1.Panel2 + ' + Me.SplitContainer1.Panel2.Controls.Add(Me.GrpBoxBottom) + Me.SplitContainer1.Size = New System.Drawing.Size(953, 466) + Me.SplitContainer1.SplitterDistance = 276 + Me.SplitContainer1.TabIndex = 4 + ' + 'SplitContainer2 + ' + Me.SplitContainer2.Dock = System.Windows.Forms.DockStyle.Fill + Me.SplitContainer2.Location = New System.Drawing.Point(0, 0) + Me.SplitContainer2.Name = "SplitContainer2" + ' + 'SplitContainer2.Panel1 + ' + Me.SplitContainer2.Panel1.Controls.Add(Me.GrpBoxLeft) + ' + 'SplitContainer2.Panel2 + ' + Me.SplitContainer2.Panel2.Controls.Add(Me.GrpBoxRight) + Me.SplitContainer2.Size = New System.Drawing.Size(953, 243) + Me.SplitContainer2.SplitterDistance = 467 + Me.SplitContainer2.TabIndex = 1 + ' + 'GrpBoxLeft + ' + Me.GrpBoxLeft.Controls.Add(Me.C1DatenLeft) + Me.GrpBoxLeft.Dock = System.Windows.Forms.DockStyle.Fill + Me.GrpBoxLeft.Location = New System.Drawing.Point(0, 0) + Me.GrpBoxLeft.Name = "GrpBoxLeft" + Me.GrpBoxLeft.Size = New System.Drawing.Size(467, 243) + Me.GrpBoxLeft.TabIndex = 0 + Me.GrpBoxLeft.TabStop = False + Me.GrpBoxLeft.Text = "GroupBox1" + ' + 'C1DatenLeft + ' + Me.C1DatenLeft.AlternatingRows = True + Me.C1DatenLeft.Dock = System.Windows.Forms.DockStyle.Fill + Me.C1DatenLeft.FilterBar = True + Me.C1DatenLeft.GroupByCaption = "Drag a column header here to group by that column" + Me.C1DatenLeft.Images.Add(CType(resources.GetObject("C1DatenLeft.Images"), System.Drawing.Image)) + Me.C1DatenLeft.Location = New System.Drawing.Point(3, 16) + Me.C1DatenLeft.Name = "C1DatenLeft" + Me.C1DatenLeft.PreviewInfo.Location = New System.Drawing.Point(0, 0) + Me.C1DatenLeft.PreviewInfo.Size = New System.Drawing.Size(0, 0) + Me.C1DatenLeft.PreviewInfo.ZoomFactor = 75 + Me.C1DatenLeft.PrintInfo.PageSettings = CType(resources.GetObject("C1DatenLeft.PrintInfo.PageSettings"), System.Drawing.Printing.PageSettings) + Me.C1DatenLeft.Size = New System.Drawing.Size(461, 224) + Me.C1DatenLeft.TabIndex = 4 + Me.C1DatenLeft.Text = "C1TrueDBGrid1" + Me.C1DatenLeft.PropBag = resources.GetString("C1DatenLeft.PropBag") + ' + 'GrpBoxRight + ' + Me.GrpBoxRight.Controls.Add(Me.C1DatenRight) + Me.GrpBoxRight.Dock = System.Windows.Forms.DockStyle.Fill + Me.GrpBoxRight.Location = New System.Drawing.Point(0, 0) + Me.GrpBoxRight.Name = "GrpBoxRight" + Me.GrpBoxRight.Size = New System.Drawing.Size(482, 243) + Me.GrpBoxRight.TabIndex = 1 + Me.GrpBoxRight.TabStop = False + Me.GrpBoxRight.Text = "GroupBox1" + ' + 'C1DatenRight + ' + Me.C1DatenRight.AlternatingRows = True + Me.C1DatenRight.Dock = System.Windows.Forms.DockStyle.Fill + Me.C1DatenRight.FilterBar = True + Me.C1DatenRight.GroupByCaption = "Drag a column header here to group by that column" + Me.C1DatenRight.Images.Add(CType(resources.GetObject("C1DatenRight.Images"), System.Drawing.Image)) + Me.C1DatenRight.Location = New System.Drawing.Point(3, 16) + Me.C1DatenRight.Name = "C1DatenRight" + Me.C1DatenRight.PreviewInfo.Location = New System.Drawing.Point(0, 0) + Me.C1DatenRight.PreviewInfo.Size = New System.Drawing.Size(0, 0) + Me.C1DatenRight.PreviewInfo.ZoomFactor = 75 + Me.C1DatenRight.PrintInfo.PageSettings = CType(resources.GetObject("C1DatenRight.PrintInfo.PageSettings"), System.Drawing.Printing.PageSettings) + Me.C1DatenRight.Size = New System.Drawing.Size(476, 224) + Me.C1DatenRight.TabIndex = 4 + Me.C1DatenRight.Text = "C1TrueDBGrid1" + Me.C1DatenRight.PropBag = resources.GetString("C1DatenRight.PropBag") + ' + 'Panel1 + ' + Me.Panel1.Controls.Add(Me.BtnFocusRight) + Me.Panel1.Controls.Add(Me.BtnFocusLeft) + Me.Panel1.Controls.Add(Me.BtnVerbinden) + Me.Panel1.Dock = System.Windows.Forms.DockStyle.Bottom + Me.Panel1.Location = New System.Drawing.Point(0, 243) + Me.Panel1.Name = "Panel1" + Me.Panel1.Size = New System.Drawing.Size(953, 33) + Me.Panel1.TabIndex = 0 + ' + 'BtnFocusRight + ' + Me.BtnFocusRight.ImageIndex = 2 + Me.BtnFocusRight.ImageList = Me.ImageList1 + Me.BtnFocusRight.Location = New System.Drawing.Point(920, 3) + Me.BtnFocusRight.Name = "BtnFocusRight" + Me.BtnFocusRight.Size = New System.Drawing.Size(30, 23) + Me.BtnFocusRight.TabIndex = 2 + Me.BtnFocusRight.UseVisualStyleBackColor = True + ' + 'ImageList1 + ' + Me.ImageList1.ImageStream = CType(resources.GetObject("ImageList1.ImageStream"), System.Windows.Forms.ImageListStreamer) + Me.ImageList1.TransparentColor = System.Drawing.Color.Transparent + Me.ImageList1.Images.SetKeyName(0, "Kette3.ico") + Me.ImageList1.Images.SetKeyName(1, "Haken1.ico") + Me.ImageList1.Images.SetKeyName(2, "Haken2.ico") + ' + 'BtnFocusLeft + ' + Me.BtnFocusLeft.ImageIndex = 1 + Me.BtnFocusLeft.ImageList = Me.ImageList1 + Me.BtnFocusLeft.Location = New System.Drawing.Point(6, 4) + Me.BtnFocusLeft.Name = "BtnFocusLeft" + Me.BtnFocusLeft.Size = New System.Drawing.Size(30, 23) + Me.BtnFocusLeft.TabIndex = 1 + Me.BtnFocusLeft.UseVisualStyleBackColor = True + ' + 'BtnVerbinden + ' + Me.BtnVerbinden.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft + Me.BtnVerbinden.ImageIndex = 0 + Me.BtnVerbinden.ImageList = Me.ImageList1 + Me.BtnVerbinden.Location = New System.Drawing.Point(430, 4) + Me.BtnVerbinden.Name = "BtnVerbinden" + Me.BtnVerbinden.Size = New System.Drawing.Size(84, 23) + Me.BtnVerbinden.TabIndex = 0 + Me.BtnVerbinden.Text = "Verbinden" + Me.BtnVerbinden.TextAlign = System.Drawing.ContentAlignment.MiddleRight + Me.BtnVerbinden.UseVisualStyleBackColor = True + ' + 'GrpBoxBottom + ' + Me.GrpBoxBottom.Controls.Add(Me.C1DatenBottom) + Me.GrpBoxBottom.Dock = System.Windows.Forms.DockStyle.Fill + Me.GrpBoxBottom.Location = New System.Drawing.Point(0, 0) + Me.GrpBoxBottom.Name = "GrpBoxBottom" + Me.GrpBoxBottom.Size = New System.Drawing.Size(953, 186) + Me.GrpBoxBottom.TabIndex = 2 + Me.GrpBoxBottom.TabStop = False + Me.GrpBoxBottom.Text = "GroupBox1" + ' + 'C1DatenBottom + ' + Me.C1DatenBottom.AlternatingRows = True + Me.C1DatenBottom.CellTips = C1.Win.C1TrueDBGrid.CellTipEnum.Floating + Me.C1DatenBottom.Dock = System.Windows.Forms.DockStyle.Fill + Me.C1DatenBottom.FilterBar = True + Me.C1DatenBottom.GroupByCaption = "Drag a column header here to group by that column" + Me.C1DatenBottom.Images.Add(CType(resources.GetObject("C1DatenBottom.Images"), System.Drawing.Image)) + Me.C1DatenBottom.Location = New System.Drawing.Point(3, 16) + Me.C1DatenBottom.Name = "C1DatenBottom" + Me.C1DatenBottom.PreviewInfo.Location = New System.Drawing.Point(0, 0) + Me.C1DatenBottom.PreviewInfo.Size = New System.Drawing.Size(0, 0) + Me.C1DatenBottom.PreviewInfo.ZoomFactor = 75 + Me.C1DatenBottom.PrintInfo.PageSettings = CType(resources.GetObject("C1DatenBottom.PrintInfo.PageSettings"), System.Drawing.Printing.PageSettings) + Me.C1DatenBottom.Size = New System.Drawing.Size(947, 167) + Me.C1DatenBottom.TabAction = C1.Win.C1TrueDBGrid.TabActionEnum.ColumnNavigation + Me.C1DatenBottom.TabIndex = 4 + Me.C1DatenBottom.Text = "C1TrueDBGrid1" + Me.C1DatenBottom.PropBag = resources.GetString("C1DatenBottom.PropBag") + ' + 'frmVerbindungEditor + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(953, 515) + Me.Controls.Add(Me.SplitContainer1) + Me.Controls.Add(Me.ToolStrip1) + Me.Controls.Add(Me.MenuStrip1) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.Name = "frmVerbindungEditor" + Me.Text = "VerbindungEditor" + Me.ToolStrip1.ResumeLayout(False) + Me.ToolStrip1.PerformLayout() + Me.MenuStrip1.ResumeLayout(False) + Me.MenuStrip1.PerformLayout() + Me.SplitContainer1.Panel1.ResumeLayout(False) + Me.SplitContainer1.Panel2.ResumeLayout(False) + Me.SplitContainer1.ResumeLayout(False) + Me.SplitContainer2.Panel1.ResumeLayout(False) + Me.SplitContainer2.Panel2.ResumeLayout(False) + Me.SplitContainer2.ResumeLayout(False) + Me.GrpBoxLeft.ResumeLayout(False) + CType(Me.C1DatenLeft, System.ComponentModel.ISupportInitialize).EndInit() + Me.GrpBoxRight.ResumeLayout(False) + CType(Me.C1DatenRight, System.ComponentModel.ISupportInitialize).EndInit() + Me.Panel1.ResumeLayout(False) + Me.GrpBoxBottom.ResumeLayout(False) + CType(Me.C1DatenBottom, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents ToolStrip1 As System.Windows.Forms.ToolStrip + Friend WithEvents TSBtnQuit As System.Windows.Forms.ToolStripButton + Friend WithEvents MenuStrip1 As System.Windows.Forms.MenuStrip + Friend WithEvents DateiToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents BeendenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents SplitContainer1 As System.Windows.Forms.SplitContainer + Friend WithEvents SplitContainer2 As System.Windows.Forms.SplitContainer + Friend WithEvents Panel1 As System.Windows.Forms.Panel + Friend WithEvents GrpBoxLeft As System.Windows.Forms.GroupBox + Friend WithEvents GrpBoxRight As System.Windows.Forms.GroupBox + Friend WithEvents GrpBoxBottom As System.Windows.Forms.GroupBox + Friend WithEvents BtnVerbinden As System.Windows.Forms.Button + Friend WithEvents ImageList1 As System.Windows.Forms.ImageList + Friend WithEvents BtnFocusRight As System.Windows.Forms.Button + Friend WithEvents BtnFocusLeft As System.Windows.Forms.Button + Friend WithEvents TSBtnSave As System.Windows.Forms.ToolStripButton + Friend WithEvents C1DatenLeft As C1.Win.C1TrueDBGrid.C1TrueDBGrid + Friend WithEvents C1DatenRight As C1.Win.C1TrueDBGrid.C1TrueDBGrid + Friend WithEvents C1DatenBottom As C1.Win.C1TrueDBGrid.C1TrueDBGrid +End Class diff --git a/Themenmanagement/Sysadmin/frmVerbindungEditor.resx b/Themenmanagement/Sysadmin/frmVerbindungEditor.resx new file mode 100644 index 0000000..1125b58 --- /dev/null +++ b/Themenmanagement/Sysadmin/frmVerbindungEditor.resx @@ -0,0 +1,321 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 227, 17 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAKNJREFUOE+VkwEO + wCAIA93PeZo/cyKiiMDYEmNC7FGpe4r9NaeeLjcAuFZXjxp+tVZs4jY6xFoIQCALwMR1QHYkVyTGXQNk + YQHQrhRJiAS00g/OwrET4OysHZDYWn1IGQet4EBCQOwAsyUIxWJcoYzYcHkzIMjOVQ1xw6MUGDJ2zjkz + A+t5Xg6sKMOXyFfyHKgru//IjHGnkBUycb2Dv8IF+BK+MTpb49UVguoAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAF5JREFUOE9jPHDg + wH8GSgDUAJAhJGOwXpgBDQ0QA0B8fBimBk6TYwDMtWS7ANm1ZHlhEBsAcxq+KAWpwekFmCQxNNZoJMYF + II14XYDL+bDENUgNIDdDwZMyoQyETx4A+Fj5YOUZcUAAAAAASUVORK5CYII= + + + + 329, 17 + + + + iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAADdJREFUKFNjYMAE + /7GIgYWQJXCxURTCFOE1ESSJoQAmiI9GcSayQqzuR3cLVithOvH6DpsisBgAoKoc5C8W7oEAAAAASUVO + RK5CYII= + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj0yLjAuMC4wLCBDdWx0 + dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACRTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5QYWdlU2V0dGluZ3MHAAAAD3ByaW50ZXJTZXR0aW5ncwVjb2xvcglwYXBlclNp + emULcGFwZXJTb3VyY2URcHJpbnRlclJlc29sdXRpb24JbGFuZHNjYXBlB21hcmdpbnMEBAQEBAQEJ1N5 + c3RlbS5EcmF3aW5nLlByaW50aW5nLlByaW50ZXJTZXR0aW5ncwIAAAAgU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuVHJpU3RhdGUCAAAAIVN5c3RlbS5EcmF3aW5nLlByaW50aW5nLlBhcGVyU2l6ZQIAAAAjU3lz + dGVtLkRyYXdpbmcuUHJpbnRpbmcuUGFwZXJTb3VyY2UCAAAAKVN5c3RlbS5EcmF3aW5nLlByaW50aW5n + LlByaW50ZXJSZXNvbHV0aW9uAgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAf + U3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuTWFyZ2lucwIAAAACAAAACQMAAAAF/P///yBTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5UcmlTdGF0ZQEAAAAFdmFsdWUAAgIAAAAACgoKAfv////8////AAkGAAAABQMA + AAAnU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRlclNldHRpbmdzEgAAAAtwcmludGVyTmFtZQpk + cml2ZXJOYW1lCm91dHB1dFBvcnQLcHJpbnRUb0ZpbGUUcHJpbnREaWFsb2dEaXNwbGF5ZWQKZXh0cmFi + eXRlcwlleHRyYWluZm8GY29waWVzBmR1cGxleAdjb2xsYXRlE2RlZmF1bHRQYWdlU2V0dGluZ3MIZnJv + bVBhZ2UGdG9QYWdlB21heFBhZ2UHbWluUGFnZQpwcmludFJhbmdlDGRldm1vZGVieXRlcw1jYWNoZWRE + ZXZtb2RlAQEBAAAABwAEBAQAAAAABAAHAQEHAgceU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuRHVwbGV4 + AgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAkU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuUGFnZVNldHRpbmdzAgAAAAgICAgiU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRSYW5n + ZQIAAAAHAgIAAAAKBgcAAAAACQcAAAAAAAAACv//Bfj///8eU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcu + RHVwbGV4AQAAAAd2YWx1ZV9fAAgCAAAA/////wH3/////P///wAJCgAAAAAAAAAAAAAADycAAAAAAAAF + 9f///yJTeXN0ZW0uRHJhd2luZy5QcmludGluZy5QcmludFJhbmdlAQAAAAd2YWx1ZV9fAAgCAAAAAAAA + AAAACgUGAAAAH1N5c3RlbS5EcmF3aW5nLlByaW50aW5nLk1hcmdpbnMEAAAABGxlZnQFcmlnaHQDdG9w + BmJvdHRvbQAAAAAICAgIAgAAAGQAAABkAAAAZAAAAGQAAAABCgAAAAEAAAAJAwAAAAHz/////P///wAK + CgoB8v////z///8ACQ8AAAABDwAAAAYAAABkAAAAZAAAAGQAAABkAAAACw== + + + + <?xml version="1.0"?><Blob><Styles type="C1.Win.C1TrueDBGrid.Design.ContextWrapper"><Data>Inactive{ForeColor:InactiveCaptionText;BackColor:InactiveCaption;}OddRow{BackColor:224, 224, 224;}Style5{}RecordSelector{AlignImage:Center;}Heading{Wrap:True;AlignVert:Center;Border:Flat,ControlDark,0, 1, 0, 1;ForeColor:ControlText;BackColor:Control;}Style6{}Group{BackColor:ControlDark;Border:None,,0, 0, 0, 0;AlignVert:Center;}Style8{}Footer{}Style13{}FilterWatermark{ForeColor:InfoText;BackColor:Info;}Style12{}HighlightRow{ForeColor:HighlightText;BackColor:Highlight;}Editor{}Style4{}FilterBar{ForeColor:Black;BackColor:255, 255, 192;}EvenRow{BackColor:White;}Style11{}Style16{}Style1{}Caption{AlignHorz:Center;}Selected{ForeColor:HighlightText;BackColor:Highlight;}Style9{}Style2{}Style14{}Normal{}Style7{}Style15{}Style10{AlignHorz:Near;}Style3{}</Data></Styles><Splits><C1.Win.C1TrueDBGrid.MergeView Name="" AlternatingRowStyle="True" CaptionHeight="17" ColumnCaptionHeight="17" ColumnFooterHeight="17" FilterBar="True" MarqueeStyle="DottedCellBorder" RecordSelectorWidth="16" DefRecSelWidth="16" VerticalScrollGroup="1" HorizontalScrollGroup="1"><Height>222</Height><CaptionStyle parent="Style2" me="Style10" /><EditorStyle parent="Editor" me="Style5" /><EvenRowStyle parent="EvenRow" me="Style8" /><FilterBarStyle parent="FilterBar" me="Style13" /><FilterWatermarkStyle parent="FilterWatermark" me="Style14" /><FooterStyle parent="Footer" me="Style3" /><GroupStyle parent="Group" me="Style12" /><HeadingStyle parent="Heading" me="Style2" /><HighLightRowStyle parent="HighlightRow" me="Style7" /><InactiveStyle parent="Inactive" me="Style4" /><OddRowStyle parent="OddRow" me="Style9" /><RecordSelectorStyle parent="RecordSelector" me="Style11" /><SelectedStyle parent="Selected" me="Style6" /><Style parent="Normal" me="Style1" /><ClientRect>0, 0, 459, 222</ClientRect><BorderSide>0</BorderSide></C1.Win.C1TrueDBGrid.MergeView></Splits><NamedStyles><Style parent="" me="Normal" /><Style parent="Normal" me="Heading" /><Style parent="Heading" me="Footer" /><Style parent="Heading" me="Caption" /><Style parent="Heading" me="Inactive" /><Style parent="Normal" me="Selected" /><Style parent="Normal" me="Editor" /><Style parent="Normal" me="HighlightRow" /><Style parent="Normal" me="EvenRow" /><Style parent="Normal" me="OddRow" /><Style parent="Heading" me="RecordSelector" /><Style parent="Normal" me="FilterBar" /><Style parent="FilterBar" me="FilterWatermark" /><Style parent="Caption" me="Group" /></NamedStyles><vertSplits>1</vertSplits><horzSplits>1</horzSplits><Layout>None</Layout><DefaultRecSelWidth>16</DefaultRecSelWidth><ClientArea>0, 0, 459, 222</ClientArea><PrintPageHeaderStyle parent="" me="Style15" /><PrintPageFooterStyle parent="" me="Style16" /></Blob> + + + + iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAADdJREFUKFNjYMAE + /7GIgYWQJXCxURTCFOE1ESSJoQAmiI9GcSayQqzuR3cLVithOvH6DpsisBgAoKoc5C8W7oEAAAAASUVO + RK5CYII= + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj0yLjAuMC4wLCBDdWx0 + dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACRTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5QYWdlU2V0dGluZ3MHAAAAD3ByaW50ZXJTZXR0aW5ncwVjb2xvcglwYXBlclNp + emULcGFwZXJTb3VyY2URcHJpbnRlclJlc29sdXRpb24JbGFuZHNjYXBlB21hcmdpbnMEBAQEBAQEJ1N5 + c3RlbS5EcmF3aW5nLlByaW50aW5nLlByaW50ZXJTZXR0aW5ncwIAAAAgU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuVHJpU3RhdGUCAAAAIVN5c3RlbS5EcmF3aW5nLlByaW50aW5nLlBhcGVyU2l6ZQIAAAAjU3lz + dGVtLkRyYXdpbmcuUHJpbnRpbmcuUGFwZXJTb3VyY2UCAAAAKVN5c3RlbS5EcmF3aW5nLlByaW50aW5n + LlByaW50ZXJSZXNvbHV0aW9uAgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAf + U3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuTWFyZ2lucwIAAAACAAAACQMAAAAF/P///yBTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5UcmlTdGF0ZQEAAAAFdmFsdWUAAgIAAAAACgoKAfv////8////AAkGAAAABQMA + AAAnU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRlclNldHRpbmdzEgAAAAtwcmludGVyTmFtZQpk + cml2ZXJOYW1lCm91dHB1dFBvcnQLcHJpbnRUb0ZpbGUUcHJpbnREaWFsb2dEaXNwbGF5ZWQKZXh0cmFi + eXRlcwlleHRyYWluZm8GY29waWVzBmR1cGxleAdjb2xsYXRlE2RlZmF1bHRQYWdlU2V0dGluZ3MIZnJv + bVBhZ2UGdG9QYWdlB21heFBhZ2UHbWluUGFnZQpwcmludFJhbmdlDGRldm1vZGVieXRlcw1jYWNoZWRE + ZXZtb2RlAQEBAAAABwAEBAQAAAAABAAHAQEHAgceU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuRHVwbGV4 + AgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAkU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuUGFnZVNldHRpbmdzAgAAAAgICAgiU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRSYW5n + ZQIAAAAHAgIAAAAKBgcAAAAACQcAAAAAAAAACv//Bfj///8eU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcu + RHVwbGV4AQAAAAd2YWx1ZV9fAAgCAAAA/////wH3/////P///wAJCgAAAAAAAAAAAAAADycAAAAAAAAF + 9f///yJTeXN0ZW0uRHJhd2luZy5QcmludGluZy5QcmludFJhbmdlAQAAAAd2YWx1ZV9fAAgCAAAAAAAA + AAAACgUGAAAAH1N5c3RlbS5EcmF3aW5nLlByaW50aW5nLk1hcmdpbnMEAAAABGxlZnQFcmlnaHQDdG9w + BmJvdHRvbQAAAAAICAgIAgAAAGQAAABkAAAAZAAAAGQAAAABCgAAAAEAAAAJAwAAAAHz/////P///wAK + CgoB8v////z///8ACQ8AAAABDwAAAAYAAABkAAAAZAAAAGQAAABkAAAACw== + + + + <?xml version="1.0"?><Blob><Styles type="C1.Win.C1TrueDBGrid.Design.ContextWrapper"><Data>Inactive{ForeColor:InactiveCaptionText;BackColor:InactiveCaption;}OddRow{BackColor:224, 224, 224;}Style5{}RecordSelector{AlignImage:Center;}Heading{Wrap:True;AlignVert:Center;Border:Flat,ControlDark,0, 1, 0, 1;ForeColor:ControlText;BackColor:Control;}Style6{}Group{BackColor:ControlDark;Border:None,,0, 0, 0, 0;AlignVert:Center;}Style8{}Footer{}Style13{}FilterWatermark{ForeColor:InfoText;BackColor:Info;}Style12{}HighlightRow{ForeColor:HighlightText;BackColor:Highlight;}Editor{}Style4{}FilterBar{ForeColor:Black;BackColor:255, 255, 192;}EvenRow{BackColor:White;}Style11{}Style16{}Style1{}Caption{AlignHorz:Center;}Selected{ForeColor:HighlightText;BackColor:Highlight;}Style9{}Style2{}Style14{}Normal{}Style7{}Style15{}Style10{AlignHorz:Near;}Style3{}</Data></Styles><Splits><C1.Win.C1TrueDBGrid.MergeView Name="" AlternatingRowStyle="True" CaptionHeight="17" ColumnCaptionHeight="17" ColumnFooterHeight="17" FilterBar="True" MarqueeStyle="DottedCellBorder" RecordSelectorWidth="16" DefRecSelWidth="16" VerticalScrollGroup="1" HorizontalScrollGroup="1"><Height>222</Height><CaptionStyle parent="Style2" me="Style10" /><EditorStyle parent="Editor" me="Style5" /><EvenRowStyle parent="EvenRow" me="Style8" /><FilterBarStyle parent="FilterBar" me="Style13" /><FilterWatermarkStyle parent="FilterWatermark" me="Style14" /><FooterStyle parent="Footer" me="Style3" /><GroupStyle parent="Group" me="Style12" /><HeadingStyle parent="Heading" me="Style2" /><HighLightRowStyle parent="HighlightRow" me="Style7" /><InactiveStyle parent="Inactive" me="Style4" /><OddRowStyle parent="OddRow" me="Style9" /><RecordSelectorStyle parent="RecordSelector" me="Style11" /><SelectedStyle parent="Selected" me="Style6" /><Style parent="Normal" me="Style1" /><ClientRect>0, 0, 474, 222</ClientRect><BorderSide>0</BorderSide></C1.Win.C1TrueDBGrid.MergeView></Splits><NamedStyles><Style parent="" me="Normal" /><Style parent="Normal" me="Heading" /><Style parent="Heading" me="Footer" /><Style parent="Heading" me="Caption" /><Style parent="Heading" me="Inactive" /><Style parent="Normal" me="Selected" /><Style parent="Normal" me="Editor" /><Style parent="Normal" me="HighlightRow" /><Style parent="Normal" me="EvenRow" /><Style parent="Normal" me="OddRow" /><Style parent="Heading" me="RecordSelector" /><Style parent="Normal" me="FilterBar" /><Style parent="FilterBar" me="FilterWatermark" /><Style parent="Caption" me="Group" /></NamedStyles><vertSplits>1</vertSplits><horzSplits>1</horzSplits><Layout>None</Layout><DefaultRecSelWidth>16</DefaultRecSelWidth><ClientArea>0, 0, 474, 222</ClientArea><PrintPageHeaderStyle parent="" me="Style15" /><PrintPageFooterStyle parent="" me="Style16" /></Blob> + + + 437, 17 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w + LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 + ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAA6 + CAAAAk1TRnQBSQFMAgEBAwEAAQQBAAEEAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo + AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA + AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 + AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA + AWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYCAAFm + AZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHMATMCAAHM + AWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEzAQABZgEA + ATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIzAf8BAAEz + AWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEzAQABMwGZ + AWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZAQABMwLM + AQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFmAQABMwEA + AWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFmATMBmQEA + AWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEzAQABZgGZ + AWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEAAWYBzAH/ + AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZATMBmQEA + AZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFmAgABmQFm + ATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZAcwBAAKZ + Af8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIAAZkB/wEz + AQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHMAQABmQEA + AcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHMAWYCAAHM + AWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZAWYBAAHM + ApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHMAf8CAAHM + Af8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/AQABmQEA + AcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFmATMBAAHM + AmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZAQAB/wGZ + AcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC/wEz + AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm + AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw + AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD/6IADewzAA3sMwAC7AkA + AuwzAALsAwAB7AUAAuwUAAUHAgAFBxMAAuwCAAPsBAAC7BMAAgcKAAIHEgAC7AEABewDAALsEwABBwMA + BgcDAAEHEgAC7AEAAuwBAAPsAgAC7BMAAgcKAAIHEgAC7AEAAewDAAPsAQAC7BQABQcCAAUHEwAC7AYA + AuwBAALsMwAC7AcAAewBAALsMwAC7AkAAuwzAA3sMwAN7FIAAUIBTQE+BwABPgMAASgDAAFAAwABEAMA + AQEBAAEBBQABgBcAA/8BAAb/AgAG/wIAAv8BgAEDAYABAwIAAv8BgAEDAYABAwIAAv8BnwHzAZ8B8wIA + AcEBgwGdAfMBnQHzAgABgAEBAZgB8wGYAfMEAAGQAXMBkAFzAgABEAEIAZIBMwGSATMEAAGXARMBlwET + AgABgAEBAZ8BkwGfAZMCAAHBAYMBnwHTAZ8B0wIAAv8BnwHzAZ8B8wIAAv8BgAEDAYABAwIAAv8BgAED + AYABAwIABv8CAAs= + + + + + iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAADdJREFUKFNjYMAE + /7GIgYWQJXCxURTCFOE1ESSJoQAmiI9GcSayQqzuR3cLVithOvH6DpsisBgAoKoc5C8W7oEAAAAASUVO + RK5CYII= + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj0yLjAuMC4wLCBDdWx0 + dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACRTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5QYWdlU2V0dGluZ3MHAAAAD3ByaW50ZXJTZXR0aW5ncwVjb2xvcglwYXBlclNp + emULcGFwZXJTb3VyY2URcHJpbnRlclJlc29sdXRpb24JbGFuZHNjYXBlB21hcmdpbnMEBAQEBAQEJ1N5 + c3RlbS5EcmF3aW5nLlByaW50aW5nLlByaW50ZXJTZXR0aW5ncwIAAAAgU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuVHJpU3RhdGUCAAAAIVN5c3RlbS5EcmF3aW5nLlByaW50aW5nLlBhcGVyU2l6ZQIAAAAjU3lz + dGVtLkRyYXdpbmcuUHJpbnRpbmcuUGFwZXJTb3VyY2UCAAAAKVN5c3RlbS5EcmF3aW5nLlByaW50aW5n + LlByaW50ZXJSZXNvbHV0aW9uAgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAf + U3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuTWFyZ2lucwIAAAACAAAACQMAAAAF/P///yBTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5UcmlTdGF0ZQEAAAAFdmFsdWUAAgIAAAAACgoKAfv////8////AAkGAAAABQMA + AAAnU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRlclNldHRpbmdzEgAAAAtwcmludGVyTmFtZQpk + cml2ZXJOYW1lCm91dHB1dFBvcnQLcHJpbnRUb0ZpbGUUcHJpbnREaWFsb2dEaXNwbGF5ZWQKZXh0cmFi + eXRlcwlleHRyYWluZm8GY29waWVzBmR1cGxleAdjb2xsYXRlE2RlZmF1bHRQYWdlU2V0dGluZ3MIZnJv + bVBhZ2UGdG9QYWdlB21heFBhZ2UHbWluUGFnZQpwcmludFJhbmdlDGRldm1vZGVieXRlcw1jYWNoZWRE + ZXZtb2RlAQEBAAAABwAEBAQAAAAABAAHAQEHAgceU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuRHVwbGV4 + AgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAkU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuUGFnZVNldHRpbmdzAgAAAAgICAgiU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRSYW5n + ZQIAAAAHAgIAAAAKBgcAAAAACQcAAAAAAAAACv//Bfj///8eU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcu + RHVwbGV4AQAAAAd2YWx1ZV9fAAgCAAAA/////wH3/////P///wAJCgAAAAAAAAAAAAAADycAAAAAAAAF + 9f///yJTeXN0ZW0uRHJhd2luZy5QcmludGluZy5QcmludFJhbmdlAQAAAAd2YWx1ZV9fAAgCAAAAAAAA + AAAACgUGAAAAH1N5c3RlbS5EcmF3aW5nLlByaW50aW5nLk1hcmdpbnMEAAAABGxlZnQFcmlnaHQDdG9w + BmJvdHRvbQAAAAAICAgIAgAAAGQAAABkAAAAZAAAAGQAAAABCgAAAAEAAAAJAwAAAAHz/////P///wAK + CgoB8v////z///8ACQ8AAAABDwAAAAYAAABkAAAAZAAAAGQAAABkAAAACw== + + + + <?xml version="1.0"?><Blob><Styles type="C1.Win.C1TrueDBGrid.Design.ContextWrapper"><Data>Inactive{ForeColor:InactiveCaptionText;BackColor:InactiveCaption;}OddRow{BackColor:224, 224, 224;}Style5{}RecordSelector{AlignImage:Center;}Heading{Wrap:True;AlignVert:Center;Border:Flat,ControlDark,0, 1, 0, 1;ForeColor:ControlText;BackColor:Control;}Style6{}Group{BackColor:ControlDark;Border:None,,0, 0, 0, 0;AlignVert:Center;}Style8{}Footer{}Style13{}FilterWatermark{ForeColor:InfoText;BackColor:Info;}Style12{}HighlightRow{ForeColor:HighlightText;BackColor:Highlight;}Editor{}Style4{}FilterBar{ForeColor:Black;BackColor:255, 255, 192;}EvenRow{BackColor:White;}Style11{}Style16{}Style1{}Caption{AlignHorz:Center;}Selected{ForeColor:HighlightText;BackColor:Highlight;}Style9{}Style2{}Style14{}Normal{}Style7{}Style15{}Style10{AlignHorz:Near;}Style3{}</Data></Styles><Splits><C1.Win.C1TrueDBGrid.MergeView Name="" AlternatingRowStyle="True" CaptionHeight="17" ColumnCaptionHeight="17" ColumnFooterHeight="17" FilterBar="True" MarqueeStyle="DottedCellBorder" RecordSelectorWidth="16" DefRecSelWidth="16" VerticalScrollGroup="1" HorizontalScrollGroup="1"><Height>165</Height><CaptionStyle parent="Style2" me="Style10" /><EditorStyle parent="Editor" me="Style5" /><EvenRowStyle parent="EvenRow" me="Style8" /><FilterBarStyle parent="FilterBar" me="Style13" /><FilterWatermarkStyle parent="FilterWatermark" me="Style14" /><FooterStyle parent="Footer" me="Style3" /><GroupStyle parent="Group" me="Style12" /><HeadingStyle parent="Heading" me="Style2" /><HighLightRowStyle parent="HighlightRow" me="Style7" /><InactiveStyle parent="Inactive" me="Style4" /><OddRowStyle parent="OddRow" me="Style9" /><RecordSelectorStyle parent="RecordSelector" me="Style11" /><SelectedStyle parent="Selected" me="Style6" /><Style parent="Normal" me="Style1" /><ClientRect>0, 0, 945, 165</ClientRect><BorderSide>0</BorderSide></C1.Win.C1TrueDBGrid.MergeView></Splits><NamedStyles><Style parent="" me="Normal" /><Style parent="Normal" me="Heading" /><Style parent="Heading" me="Footer" /><Style parent="Heading" me="Caption" /><Style parent="Heading" me="Inactive" /><Style parent="Normal" me="Selected" /><Style parent="Normal" me="Editor" /><Style parent="Normal" me="HighlightRow" /><Style parent="Normal" me="EvenRow" /><Style parent="Normal" me="OddRow" /><Style parent="Heading" me="RecordSelector" /><Style parent="Normal" me="FilterBar" /><Style parent="FilterBar" me="FilterWatermark" /><Style parent="Caption" me="Group" /></NamedStyles><vertSplits>1</vertSplits><horzSplits>1</horzSplits><Layout>None</Layout><DefaultRecSelWidth>16</DefaultRecSelWidth><ClientArea>0, 0, 945, 165</ClientArea><PrintPageHeaderStyle parent="" me="Style15" /><PrintPageFooterStyle parent="" me="Style16" /></Blob> + + + + AAABAAEAICAEAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP// + AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAACIiIiIiAAAiIiIiIgAAAAAiIiIiIgAAIiIiIiIAAAAiIgAAAAAAAAA + AAAAiIgAAIiIAAAAAAAAAAAAAIiIAACIAAAAiIiIiIiIAAAAiAAAiAAAAIiIiIiIiAAAAIgAAIiIAAAA + AAAAAAAAAIiIAACIiAAAAAAAAAAAAACIiAAAAIiIiIiIAACIiIiIiAAAAACIiIiIiAAAiIiIiIgAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////////// + ////////////////////////8APAD/ADwA/AAAADwAAAAwAAAAAAAAAAAwAAwAMAAMAAAAAAAAAAAMAA + AAPAAAAD8APAD/ADwA///////////////////////////////////////////w== + + + \ No newline at end of file diff --git a/Themenmanagement/Sysadmin/frmVerbindungEditor.vb b/Themenmanagement/Sysadmin/frmVerbindungEditor.vb new file mode 100644 index 0000000..bb5bdc9 --- /dev/null +++ b/Themenmanagement/Sysadmin/frmVerbindungEditor.vb @@ -0,0 +1,316 @@ +''' +''' Verbindungseditor: Verbindet 2 Domain-Tables in einer dritten Tabelle. +''' +''' +''' +Public Class frmVerbindungEditor + +#Region "Deklarationen" + Dim Fokus As Integer = 1 + Dim Domaintableleft As Sysadmin.DomainTable + Dim Domaintableright As Sysadmin.DomainTable + Dim domaintablebottom As Sysadmin.DomainTable + Dim SpaltenTitel As New Utils.Tabellenspalte + Dim SysadminfunktionNr As Integer + + Dim TablenameLeft As String + Dim TablenameRight As String + Dim TablenameBottom As String + Dim first As Boolean = True + + Dim msg As New Utils.MyMessage +#End Region + + ''' + ''' Laden der linken und rechten Tabelle + ''' + ''' + ''' + ''' + ''' + ''' + Public Sub New(ByVal TableLeft As String, ByVal TableRight As String, ByVal TableBottom As String, ByVal SysadminfnktNr As Integer) + InitializeComponent() + Me.Domaintableleft = New Sysadmin.DomainTable(TableLeft) + Me.Domaintableright = New Sysadmin.DomainTable(TableRight) + Me.TablenameLeft = TableLeft + Me.TablenameRight = TableRight + Me.TablenameBottom = TableBottom + Me.SysadminfunktionNr = SysadminfnktNr + End Sub + ''' + ''' Laden smlticher Tabellen + ''' + ''' + ''' + ''' + Private Sub FrmVerbindungEditor_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load + Me.C1DatenLeft.DataSource = Domaintableleft.Tabledata + Me.C1DatenLeft.DataMember = Domaintableleft.Tabledata.Tables(0).TableName + + Me.C1DatenRight.DataSource = Domaintableright.Tabledata + Me.C1DatenRight.DataMember = Domaintableright.Tabledata.Tables(0).TableName + + SpaltenTitel.Spaltentitel_aktualisieren(Me.C1DatenLeft, TablenameLeft, Me.Domaintableleft.Tabledata) + SpaltenTitel.Spaltentitel_aktualisieren(Me.C1DatenRight, TablenameRight, Me.Domaintableright.Tabledata) + + Refresh_Bottomtable() + + Me.C1DatenLeft.AllowAddNew = False + Me.C1DatenLeft.AllowDelete = False + Me.C1DatenLeft.AllowUpdate = False + + Me.C1DatenRight.AllowAddNew = False + Me.C1DatenRight.AllowDelete = False + Me.C1DatenRight.AllowUpdate = False + + Me.C1DatenBottom.AllowAddNew = False + Me.C1DatenBottom.AllowDelete = False + + Me.GrpBoxLeft.Text = Me.TablenameLeft + Me.GrpBoxRight.Text = Me.TablenameRight + Me.GrpBoxBottom.Text = Me.TablenameBottom + first = False + End Sub + ''' + ''' Aktualiserung der Verbindungstabelle + ''' + ''' + Private Sub Refresh_Bottomtable() + Try + check_changes() + Me.domaintablebottom.dispose() + Catch + End Try + + Dim keyvalue As String = "" + + If Fokus = 1 Then + keyvalue = Me.C1DatenLeft.Columns(0).Value + Else + keyvalue = Me.C1DatenRight.Columns(0).Value + End If + Me.domaintablebottom = New Sysadmin.DomainTable(Me.TablenameBottom, Fokus, keyvalue) + Me.C1DatenBottom.DataSource = domaintablebottom.Tabledata + Me.C1DatenBottom.DataMember = domaintablebottom.Tabledata.Tables(0).TableName + SpaltenTitel.Spaltentitel_aktualisieren(Me.C1DatenBottom, TablenameBottom, Me.domaintablebottom.Tabledata) + End Sub + + + ''' + ''' Linker Fokus-Knopf bettigt + ''' + ''' + ''' + ''' + Private Sub BtnFocusLeft_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnFocusLeft.Click + Fokus = 1 + Me.BtnFocusLeft.ImageIndex = 1 + Me.BtnFocusRight.ImageIndex = 2 + Refresh_Bottomtable() + End Sub + + ''' + ''' Rechter Fokus-Knopf bettigt + ''' + ''' + ''' + ''' + Private Sub BtnFocusRight_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnFocusRight.Click + Me.Fokus = 2 + Me.BtnFocusRight.ImageIndex = 1 + Me.BtnFocusLeft.ImageIndex = 2 + Refresh_Bottomtable() + End Sub + ''' + ''' Prfung, ob Verbindungstabelle gendert wurde. + ''' + ''' + Private Sub check_changes() + If first Then Exit Sub + Dim msgres As MsgBoxResult + If Me.domaintablebottom.Tabledata.HasChanges Then + msgres = msg.Show_MessageYesNo(3) + If msgres = MsgBoxResult.Yes Then + Me.domaintablebottom.Save_Data() + End If + End If + End Sub + + ''' + ''' Formular schliessen + ''' + ''' + ''' + ''' + Private Sub BeendenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BeendenToolStripMenuItem.Click + check_changes() + Me.Close() + End Sub + ''' + ''' Formular schliessen + ''' + ''' + ''' + ''' + Private Sub TSBtnQuit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnQuit.Click + check_changes() + Me.Close() + End Sub + + ''' + ''' Formular-Resize: Button Verbinden und Button Focus-Rechts neu positionieren + ''' + ''' + ''' + ''' + Private Sub FrmVerbindungEditor_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize + Me.BtnFocusRight.Left = Me.Width - (Me.BtnFocusRight.Width + 10) + Me.BtnVerbinden.Left = Me.SplitContainer2.Panel1.Width - (Me.BtnVerbinden.Width / 2) + End Sub + ''' + ''' Verbindungstabelle sichern + ''' + ''' + ''' + ''' + Private Sub TSBtnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnSave.Click + Me.domaintablebottom.Save_Data() + End Sub + + ''' + ''' Nach Datenmutation der unteren Tabelle mutiert_am und mutierer nachfhren + ''' + ''' + ''' + ''' + Private Sub C1DatenBottom_AfterColUpdate(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.ColEventArgs) Handles C1DatenBottom.AfterColUpdate + Dim i As Integer + For i = 0 To Me.C1DatenBottom.Columns.Count - 1 + If LCase(Me.C1DatenBottom.Columns(i).DataField) = "mutiert_am" Then Me.C1DatenBottom.Columns(i).Value = Now + If LCase(Me.C1DatenBottom.Columns(i).DataField) = "mutierer" Then Me.C1DatenBottom.Columns(i).Value = Globals.clsmitarbeiter.iMitarbeiternr.Value + Next + End Sub + + ''' + ''' Doppelklick in linken Grid + ''' + ''' + ''' + ''' + Private Sub C1DatenLeft_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles C1DatenLeft.DoubleClick + Try + Me.BtnVerbinden_Click(sender, e) + Catch + End Try + End Sub + ''' + ''' Linke Tabelle angeklickt + ''' + ''' + ''' + ''' + Private Sub TBLeft_Click(ByVal sender As System.Object, ByVal e As C1.Win.C1TrueDBGrid.RowColChangeEventArgs) Handles C1DatenLeft.RowColChange + Try + check_changes() + Refresh_Bottomtable() + Catch + End Try + End Sub + ''' + ''' Doppelklick im rechten Grid + ''' + ''' + ''' + ''' + Private Sub C1DatenRight_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles C1DatenRight.DoubleClick + Try + Me.BtnVerbinden_Click(sender, e) + Catch ex As Exception + + End Try + End Sub + ''' + ''' Rechte Tabelle angeklickt + ''' + ''' + ''' + ''' + Private Sub TBRight_Click(ByVal sender As System.Object, ByVal e As C1.Win.C1TrueDBGrid.RowColChangeEventArgs) Handles C1DatenRight.RowColChange + check_changes() + Refresh_Bottomtable() + End Sub + ''' + ''' Die linke und rechte Domain-Table in der unteren Tabelle verbinden. + ''' Daten sichern und erneut laden + ''' + ''' + ''' + ''' + Private Sub BtnVerbinden_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnVerbinden.Click + check_changes() + Dim ileft As Integer = Me.C1DatenLeft.SelectedRows.Count + Dim iright As Integer = Me.C1DatenRight.SelectedRows.Count + Dim ic As Integer = 0 + Dim Currentsel As Boolean + Dim colrows As C1.Win.C1TrueDBGrid.SelectedRowCollection + Dim keyvalueleft As Integer = 0 + Dim Keyvalueright As Integer = 0 + If (Me.Fokus = 1 And ileft > 1) Or (Me.Fokus = 2 And iright > 1) Then + Me.msg.show_standardmessage(4, MsgBoxStyle.Exclamation) + Exit Sub + End If + If Me.Fokus = 1 Then + ic = iright + colrows = Me.C1DatenRight.SelectedRows + End If + If Me.Fokus = 2 Then + ic = ileft + colrows = Me.C1DatenLeft.SelectedRows + End If + If ic = 0 Then + ic = ic + 1 + Currentsel = True + End If + Dim i As Integer + For i = 0 To ic - 1 + If Me.Fokus = 1 Then + keyvalueleft = Me.C1DatenLeft.Columns(0).Value + If Currentsel = True Then + Keyvalueright = Me.C1DatenRight.Columns(0).Value + Else + Keyvalueright = Me.C1DatenRight.Columns(0).CellValue(colrows(i)) + End If + Else + Keyvalueright = Me.C1DatenRight.Columns(0).Value + If Currentsel = True Then + keyvalueleft = Me.C1DatenLeft.Columns(0).Value + Else + keyvalueleft = Me.C1DatenLeft.Columns(0).CellValue(colrows(i)) + End If + End If + Next + Me.domaintablebottom.Insert_Bottom_Table(Me.Domaintableleft.Tabledata.Tables(0).Columns(0).ColumnName, keyvalueleft, Me.Domaintableright.Tabledata.Tables(0).Columns(0).ColumnName, Keyvalueright) + Me.domaintablebottom.Save_Data() + Me.Refresh_Bottomtable() + End Sub + + ''' + ''' Anzeige allflliger Cellen-Tips + ''' + ''' + ''' + ''' + Private Sub C1DatenBottom_FetchCellTips(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.FetchCellTipsEventArgs) Handles C1DatenBottom.FetchCellTips + Dim ts As New Utils.Tabellenspalte + ts.Tabelle = Me.TablenameBottom + Try + ts.Feld = Me.C1DatenBottom.Columns(e.ColIndex).DataField.ToString + ts.getspalte() + e.CellTip = ts.TipText + Catch + End Try + ts = Nothing + + End Sub +End Class \ No newline at end of file diff --git a/Themenmanagement/TIM.ico b/Themenmanagement/TIM.ico new file mode 100644 index 0000000..74e60e0 Binary files /dev/null and b/Themenmanagement/TIM.ico differ diff --git a/Themenmanagement/Themenmanagement.vbproj b/Themenmanagement/Themenmanagement.vbproj new file mode 100644 index 0000000..8f91cd5 --- /dev/null +++ b/Themenmanagement/Themenmanagement.vbproj @@ -0,0 +1,497 @@ + + + + Debug + x86 + + + 2.0 + {1B191999-7204-4EB5-96F7-A6805B0B32FC} + WinExe + Themenmanagement.My.MyApplication + Themenmanagement + Themenmanagement + 512 + WindowsForms + v4.5 + + + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true + + + x86 + true + full + true + true + bin\Debug\ + Themenmanagement.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + false + + + x86 + pdbonly + false + true + true + bin\Release\ + Themenmanagement.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + false + + + On + + + Binary + + + Off + + + On + + + Custom-Icon-Design-Pretty-Office-5-Themes.ico + + + + + + + + + False + bin\Debug\C1.Win.C1TrueDBGrid.2.dll + + + C:\Program Files (x86)\PFGrid_1.4.4.0\samples\CG.Controls.Grid.dll + + + + False + ..\..\..\ITSM\Vertragsverwaltung\bin\Debug\FlexCel.dll + + + + False + ..\..\..\Klassen\RTFEditor\RTFEditor\bin\Debug\RTFEditor.dll + + + D:\Installer\Sautinsoft\HTML-to-RTF Pro DLL .Net Full (4.8.9.21)\Bin\Net 3.5\SautinSoft.HtmlToRtf.dll + + + + + + + + + + + + + + + + + + ..\..\..\Komponenten\ColorPicker\ThemeColorPicker\bin\Debug\ThemeColorPicker.dll + + + False + ..\..\..\ITSM\Vertragsverwaltung\bin\Debug\XLSLib.dll + + + ..\_FRReporting\bin\Debug\_FRReporting.dll + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Form + + + + frmAbout.vb + + + Form + + + frmLogin.vb + + + Form + + + frmMsgBox.vb + + + Form + + + frmSplash.vb + + + Form + + + frmSuche.vb + + + Form + + + + + + UserControl + + + + Component + + + + + + + Component + + + Form1.vb + + + Form + + + frmKB_Presentation.vb + + + Form + + + frmKernbotschaft.vb + + + Form + + + frmKernbotschaften.vb + + + Form + + + frm_KBParam.vb + + + Form + + + + Component + + + + frmPendenz.vb + + + Form + + + frmPendenzübersicht.vb + + + Form + + + frmDomainEditor.vb + + + Form + + + frmDomainEditorExtTables.vb + + + Form + + + frmFormSelector.vb + + + Form + + + frmSysadminMenu.vb + + + Form + + + Form + + + FrmToolTipEditor.vb + + + Form + + + frmVerbindungEditor.vb + + + Form + + + + + frmTreeselect.vb + + + Form + + + + + + + frmMain.vb + + + Form + + + frmDetail.vb + + + Form + + + + + + + + + + + True + Application.myapp + + + True + True + Resources.resx + + + True + Settings.settings + True + + + frmThemenübersicht.vb + + + Form + + + + + + + + + + frmAbout.vb + + + frmLogin.vb + + + frmMsgBox.vb + + + frmSplash.vb + + + frmSuche.vb + + + + Form1.vb + + + frmKB_Presentation.vb + + + frmKernbotschaft.vb + + + frmKernbotschaften.vb + + + frm_KBParam.vb + + + frmPendenz.vb + + + frmPendenzübersicht.vb + + + frmDomainEditor.vb + + + frmDomainEditorExtTables.vb + + + frmFormSelector.vb + + + frmSysadminMenu.vb + + + frmSysadminTableSelector.vb + + + FrmToolTipEditor.vb + + + frmVerbindungEditor.vb + + + frmMain.vb + + + frmDetail.vb + + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + frmTreeselect.vb + + + frmThemenübersicht.vb + + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + + + + + + + + {88460338-2FE8-43DA-A884-9E25FF5F5601} + KommAuspraegung + + + {89F7577A-E7B5-41B8-82F1-BA59B9E4EF74} + ThemaPerson + + + {91C33E2D-DE28-4D17-B94B-240E51D2BCB9} + ThemenDokumente + + + + + + + + + False + Microsoft .NET Framework 4.5 %28x86 and x64%29 + true + + + False + .NET Framework 3.5 SP1 + false + + + + + \ No newline at end of file diff --git a/Themenmanagement/Themenmanagement.vbproj.user b/Themenmanagement/Themenmanagement.vbproj.user new file mode 100644 index 0000000..d1b4637 --- /dev/null +++ b/Themenmanagement/Themenmanagement.vbproj.user @@ -0,0 +1,13 @@ + + + + publish\ + + + + + + de-DE + false + + \ No newline at end of file diff --git a/Themenmanagement/Themenmanagement.vsdoc b/Themenmanagement/Themenmanagement.vsdoc new file mode 100644 index 0000000..9ffff5e --- /dev/null +++ b/Themenmanagement/Themenmanagement.vsdoc @@ -0,0 +1,7 @@ + + + + default + + + diff --git a/Themenmanagement/Themenmanagement/Details/frmDetail.Designer.vb b/Themenmanagement/Themenmanagement/Details/frmDetail.Designer.vb new file mode 100644 index 0000000..3079b5a --- /dev/null +++ b/Themenmanagement/Themenmanagement/Details/frmDetail.Designer.vb @@ -0,0 +1,1486 @@ + _ +Partial Class frmDetail + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmDetail)) + Me.ToolStrip1 = New System.Windows.Forms.ToolStrip() + Me.TSBtnQuit = New System.Windows.Forms.ToolStripButton() + Me.TSBtnSave = New System.Windows.Forms.ToolStripButton() + Me.ToolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator() + Me.TSBtnCopy = New System.Windows.Forms.ToolStripButton() + Me.TSBtnNew = New System.Windows.Forms.ToolStripButton() + Me.TSBtnDelete = New System.Windows.Forms.ToolStripButton() + Me.MenuStrip1 = New System.Windows.Forms.MenuStrip() + Me.DateiToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.KommunikationToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.NeuerEintragToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.EintragLöschenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.cbAktiv = New System.Windows.Forms.CheckBox() + Me.Label11 = New System.Windows.Forms.Label() + Me.txtMutiert_am = New System.Windows.Forms.TextBox() + Me.Label9 = New System.Windows.Forms.Label() + Me.txtErstellt_am = New System.Windows.Forms.TextBox() + Me.Label8 = New System.Windows.Forms.Label() + Me.Label7 = New System.Windows.Forms.Label() + Me.dtGueltigBis = New System.Windows.Forms.DateTimePicker() + Me.dtGueltigAb = New System.Windows.Forms.DateTimePicker() + Me.Label6 = New System.Windows.Forms.Label() + Me.txtTitel = New System.Windows.Forms.TextBox() + Me.txtSuchbegriffe = New System.Windows.Forms.TextBox() + Me.Label1 = New System.Windows.Forms.Label() + Me.Label3 = New System.Windows.Forms.Label() + Me.Label2 = New System.Windows.Forms.Label() + Me.txtBeschreibung = New System.Windows.Forms.TextBox() + Me.TabControl1 = New System.Windows.Forms.TabControl() + Me.TabPage5 = New System.Windows.Forms.TabPage() + Me.DokumenteAllgemein = New ThemenDokumente.Dokumente() + Me.GroupBox4 = New System.Windows.Forms.GroupBox() + Me.Button1 = New System.Windows.Forms.Button() + Me.btnKategorieauswahl = New System.Windows.Forms.Button() + Me.clbNebenkategorien = New System.Windows.Forms.CheckedListBox() + Me.lblNebenkategorie = New System.Windows.Forms.Label() + Me.txtGueltigbis = New System.Windows.Forms.MaskedTextBox() + Me.txtGueltigab = New System.Windows.Forms.MaskedTextBox() + Me.txtMutierer = New System.Windows.Forms.TextBox() + Me.Label5 = New System.Windows.Forms.Label() + Me.cbboxKategorie = New System.Windows.Forms.ComboBox() + Me.Label4 = New System.Windows.Forms.Label() + Me.GroupBox7 = New System.Windows.Forms.GroupBox() + Me.ThemaPerson1 = New ThemaPerson.ThemaPerson() + Me.TabPage8 = New System.Windows.Forms.TabPage() + Me.txtIssueBemerkung = New System.Windows.Forms.TextBox() + Me.Label12 = New System.Windows.Forms.Label() + Me.cbboxissueveraenderung = New System.Windows.Forms.ComboBox() + Me.lblRelevanzVeraenderung = New System.Windows.Forms.Label() + Me.cbboxRelevanzTKB = New System.Windows.Forms.ComboBox() + Me.lblRelevanzTKB = New System.Windows.Forms.Label() + Me.cbissue = New System.Windows.Forms.CheckBox() + Me.lblIssue = New System.Windows.Forms.Label() + Me.TabPage3 = New System.Windows.Forms.TabPage() + Me.PnlSHUEditor = New System.Windows.Forms.Panel() + Me.Entwicklungsdokumente = New ThemenDokumente.Dokumente() + Me.ShuEditorEntwicklung = New RTFEditor.SHURTFEditor() + Me.PnlAll = New System.Windows.Forms.Panel() + Me.rtbDoc = New ExtendedRichTextBox.RichTextBoxPrintCtrl() + Me.tsBtnPreview = New System.Windows.Forms.ToolStrip() + Me.tsbtnSaveAs = New System.Windows.Forms.ToolStripButton() + Me.tsbtnPageSetup = New System.Windows.Forms.ToolStripButton() + Me.tsbtbPreview = New System.Windows.Forms.ToolStripButton() + Me.tsbtnprint = New System.Windows.Forms.ToolStripButton() + Me.pnlUebersicht = New System.Windows.Forms.Panel() + Me.GroupBox6 = New System.Windows.Forms.GroupBox() + Me.TreeEntwicklung = New System.Windows.Forms.TreeView() + Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.ÜbersichtToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.AllesToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ImageList1 = New System.Windows.Forms.ImageList(Me.components) + Me.ToolStrip8 = New System.Windows.Forms.ToolStrip() + Me.tsbtnSaveEintrag = New System.Windows.Forms.ToolStripButton() + Me.tsbtnAddEintrag = New System.Windows.Forms.ToolStripButton() + Me.tsbtnDeleteEintrag = New System.Windows.Forms.ToolStripButton() + Me.ToolStripSeparator2 = New System.Windows.Forms.ToolStripSeparator() + Me.tsbtnEintragOverview = New System.Windows.Forms.ToolStripButton() + Me.tsbtnEintragAlles = New System.Windows.Forms.ToolStripButton() + Me.TabPage4 = New System.Windows.Forms.TabPage() + Me.SplitContainer1 = New System.Windows.Forms.SplitContainer() + Me.GroupBox2 = New System.Windows.Forms.GroupBox() + Me.TreeKommunikation = New System.Windows.Forms.TreeView() + Me.ctxMenuKommunikation = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.NeuerEintragToolStripMenuItem1 = New System.Windows.Forms.ToolStripMenuItem() + Me.EintragLöschenToolStripMenuItem1 = New System.Windows.Forms.ToolStripMenuItem() + Me.UmbenennenToolStripMenuItem1 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStrip2 = New System.Windows.Forms.ToolStrip() + Me.tsbtnKommunkationNeu = New System.Windows.Forms.ToolStripButton() + Me.tsbtnKommunikationDelete = New System.Windows.Forms.ToolStripButton() + Me.TabControlKommunikation = New System.Windows.Forms.TabControl() + Me.ctxMenuKommAuspraegung = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.NeueAusprägungToolStripMenuItem1 = New System.Windows.Forms.ToolStripMenuItem() + Me.AusprägungLöschenToolStripMenuItem1 = New System.Windows.Forms.ToolStripMenuItem() + Me.UmbenennenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.TabPage2 = New System.Windows.Forms.TabPage() + Me.PendenzenContextMenuStrip = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.AnzeigenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.NeuToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.LöschenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.TabPage7 = New System.Windows.Forms.TabPage() + Me.StatusStrip1 = New System.Windows.Forms.StatusStrip() + Me.ToolStripProgressBar1 = New System.Windows.Forms.ToolStripProgressBar() + Me.TabPage6 = New System.Windows.Forms.TabPage() + Me.C1Pendenzen = New C1.Win.C1TrueDBGrid.C1TrueDBGrid() + Me.ToolStrip3 = New System.Windows.Forms.ToolStrip() + Me.tsbtnNewPendenz = New System.Windows.Forms.ToolStripButton() + Me.tsbtnDeletePendenz = New System.Windows.Forms.ToolStripButton() + Me.StatusToolStripComboBox = New System.Windows.Forms.ToolStripComboBox() + Me.tsbtnPrintPendenz = New System.Windows.Forms.ToolStripButton() + Me.ToolStripButton7 = New System.Windows.Forms.ToolStripButton() + Me.TabPage1 = New System.Windows.Forms.TabPage() + Me.C1Journal = New C1.Win.C1TrueDBGrid.C1TrueDBGrid() + Me.ToolStrip7 = New System.Windows.Forms.ToolStrip() + Me.ToolStripButton20 = New System.Windows.Forms.ToolStripButton() + Me.ToolStripButton21 = New System.Windows.Forms.ToolStripButton() + Me.SaveFileDialog1 = New System.Windows.Forms.SaveFileDialog() + Me.PageSetupDialog1 = New System.Windows.Forms.PageSetupDialog() + Me.PrintDialog1 = New System.Windows.Forms.PrintDialog() + Me.PrintPreviewDialog1 = New System.Windows.Forms.PrintPreviewDialog() + Me.PrintDocument1 = New System.Drawing.Printing.PrintDocument() + Me.ToolStripMenuItem1 = New System.Windows.Forms.ToolStripSeparator() + Me.EintragUmbenennenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStrip1.SuspendLayout() + Me.MenuStrip1.SuspendLayout() + Me.TabControl1.SuspendLayout() + Me.TabPage5.SuspendLayout() + Me.GroupBox4.SuspendLayout() + Me.GroupBox7.SuspendLayout() + Me.TabPage8.SuspendLayout() + Me.TabPage3.SuspendLayout() + Me.PnlSHUEditor.SuspendLayout() + Me.PnlAll.SuspendLayout() + Me.tsBtnPreview.SuspendLayout() + Me.GroupBox6.SuspendLayout() + Me.ContextMenuStrip1.SuspendLayout() + Me.ToolStrip8.SuspendLayout() + Me.TabPage4.SuspendLayout() + CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SplitContainer1.Panel1.SuspendLayout() + Me.SplitContainer1.Panel2.SuspendLayout() + Me.SplitContainer1.SuspendLayout() + Me.GroupBox2.SuspendLayout() + Me.ctxMenuKommunikation.SuspendLayout() + Me.ToolStrip2.SuspendLayout() + Me.TabControlKommunikation.SuspendLayout() + Me.ctxMenuKommAuspraegung.SuspendLayout() + Me.PendenzenContextMenuStrip.SuspendLayout() + Me.StatusStrip1.SuspendLayout() + Me.TabPage6.SuspendLayout() + CType(Me.C1Pendenzen, System.ComponentModel.ISupportInitialize).BeginInit() + Me.ToolStrip3.SuspendLayout() + Me.TabPage1.SuspendLayout() + CType(Me.C1Journal, System.ComponentModel.ISupportInitialize).BeginInit() + Me.ToolStrip7.SuspendLayout() + Me.SuspendLayout() + ' + 'ToolStrip1 + ' + Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.TSBtnQuit, Me.TSBtnSave, Me.ToolStripSeparator1, Me.TSBtnCopy, Me.TSBtnNew, Me.TSBtnDelete}) + Me.ToolStrip1.Location = New System.Drawing.Point(0, 24) + Me.ToolStrip1.Name = "ToolStrip1" + Me.ToolStrip1.Size = New System.Drawing.Size(1178, 25) + Me.ToolStrip1.TabIndex = 4 + Me.ToolStrip1.Text = "ToolStrip1" + ' + 'TSBtnQuit + ' + Me.TSBtnQuit.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnQuit.Image = CType(resources.GetObject("TSBtnQuit.Image"), System.Drawing.Image) + Me.TSBtnQuit.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnQuit.Name = "TSBtnQuit" + Me.TSBtnQuit.Size = New System.Drawing.Size(23, 22) + Me.TSBtnQuit.Text = "ToolStripButton1" + Me.TSBtnQuit.ToolTipText = "Anwendung beenden" + ' + 'TSBtnSave + ' + Me.TSBtnSave.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnSave.Image = CType(resources.GetObject("TSBtnSave.Image"), System.Drawing.Image) + Me.TSBtnSave.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnSave.Name = "TSBtnSave" + Me.TSBtnSave.Size = New System.Drawing.Size(23, 22) + Me.TSBtnSave.Text = "ToolStripButton1" + Me.TSBtnSave.ToolTipText = "Daten speichern" + ' + 'ToolStripSeparator1 + ' + Me.ToolStripSeparator1.Name = "ToolStripSeparator1" + Me.ToolStripSeparator1.Size = New System.Drawing.Size(6, 25) + ' + 'TSBtnCopy + ' + Me.TSBtnCopy.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnCopy.Image = CType(resources.GetObject("TSBtnCopy.Image"), System.Drawing.Image) + Me.TSBtnCopy.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnCopy.Name = "TSBtnCopy" + Me.TSBtnCopy.Size = New System.Drawing.Size(23, 22) + Me.TSBtnCopy.Text = "ToolStripButton2" + Me.TSBtnCopy.ToolTipText = "Datensatz kopieren" + Me.TSBtnCopy.Visible = False + ' + 'TSBtnNew + ' + Me.TSBtnNew.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnNew.Image = CType(resources.GetObject("TSBtnNew.Image"), System.Drawing.Image) + Me.TSBtnNew.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnNew.Name = "TSBtnNew" + Me.TSBtnNew.Size = New System.Drawing.Size(23, 22) + Me.TSBtnNew.Text = "Neues Thema" + Me.TSBtnNew.ToolTipText = "Neuer Datensatz" + ' + 'TSBtnDelete + ' + Me.TSBtnDelete.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnDelete.Image = CType(resources.GetObject("TSBtnDelete.Image"), System.Drawing.Image) + Me.TSBtnDelete.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnDelete.Name = "TSBtnDelete" + Me.TSBtnDelete.Size = New System.Drawing.Size(23, 22) + Me.TSBtnDelete.Text = "Thema inaktivieren" + Me.TSBtnDelete.ToolTipText = "Datensatz inaktivieren" + ' + 'MenuStrip1 + ' + Me.MenuStrip1.AllowMerge = False + Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DateiToolStripMenuItem, Me.KommunikationToolStripMenuItem}) + Me.MenuStrip1.Location = New System.Drawing.Point(0, 0) + Me.MenuStrip1.Name = "MenuStrip1" + Me.MenuStrip1.Size = New System.Drawing.Size(1178, 24) + Me.MenuStrip1.TabIndex = 3 + Me.MenuStrip1.Text = "MenuStrip1" + ' + 'DateiToolStripMenuItem + ' + Me.DateiToolStripMenuItem.Name = "DateiToolStripMenuItem" + Me.DateiToolStripMenuItem.Size = New System.Drawing.Size(46, 20) + Me.DateiToolStripMenuItem.Text = "&Datei" + ' + 'KommunikationToolStripMenuItem + ' + Me.KommunikationToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.NeuerEintragToolStripMenuItem, Me.EintragLöschenToolStripMenuItem}) + Me.KommunikationToolStripMenuItem.Name = "KommunikationToolStripMenuItem" + Me.KommunikationToolStripMenuItem.Size = New System.Drawing.Size(105, 20) + Me.KommunikationToolStripMenuItem.Text = "&Kommunikation" + Me.KommunikationToolStripMenuItem.Visible = False + ' + 'NeuerEintragToolStripMenuItem + ' + Me.NeuerEintragToolStripMenuItem.Name = "NeuerEintragToolStripMenuItem" + Me.NeuerEintragToolStripMenuItem.Size = New System.Drawing.Size(155, 22) + Me.NeuerEintragToolStripMenuItem.Text = "&Neuer Eintrag" + ' + 'EintragLöschenToolStripMenuItem + ' + Me.EintragLöschenToolStripMenuItem.Name = "EintragLöschenToolStripMenuItem" + Me.EintragLöschenToolStripMenuItem.Size = New System.Drawing.Size(155, 22) + Me.EintragLöschenToolStripMenuItem.Text = "&Eintrag löschen" + ' + 'cbAktiv + ' + Me.cbAktiv.AutoSize = True + Me.cbAktiv.Location = New System.Drawing.Point(87, 282) + Me.cbAktiv.Name = "cbAktiv" + Me.cbAktiv.Size = New System.Drawing.Size(15, 14) + Me.cbAktiv.TabIndex = 22 + Me.cbAktiv.UseVisualStyleBackColor = True + ' + 'Label11 + ' + Me.Label11.AutoSize = True + Me.Label11.Location = New System.Drawing.Point(15, 282) + Me.Label11.Name = "Label11" + Me.Label11.Size = New System.Drawing.Size(31, 13) + Me.Label11.TabIndex = 21 + Me.Label11.Text = "Aktiv" + ' + 'txtMutiert_am + ' + Me.txtMutiert_am.Location = New System.Drawing.Point(241, 302) + Me.txtMutiert_am.Name = "txtMutiert_am" + Me.txtMutiert_am.ReadOnly = True + Me.txtMutiert_am.Size = New System.Drawing.Size(91, 20) + Me.txtMutiert_am.TabIndex = 18 + ' + 'Label9 + ' + Me.Label9.AutoSize = True + Me.Label9.Location = New System.Drawing.Point(184, 305) + Me.Label9.Name = "Label9" + Me.Label9.Size = New System.Drawing.Size(56, 13) + Me.Label9.TabIndex = 17 + Me.Label9.Text = "Mutiert am" + ' + 'txtErstellt_am + ' + Me.txtErstellt_am.Location = New System.Drawing.Point(87, 302) + Me.txtErstellt_am.Name = "txtErstellt_am" + Me.txtErstellt_am.ReadOnly = True + Me.txtErstellt_am.Size = New System.Drawing.Size(91, 20) + Me.txtErstellt_am.TabIndex = 16 + ' + 'Label8 + ' + Me.Label8.AutoSize = True + Me.Label8.Location = New System.Drawing.Point(15, 305) + Me.Label8.Name = "Label8" + Me.Label8.Size = New System.Drawing.Size(55, 13) + Me.Label8.TabIndex = 15 + Me.Label8.Text = "Erstellt am" + ' + 'Label7 + ' + Me.Label7.AutoSize = True + Me.Label7.Location = New System.Drawing.Point(215, 255) + Me.Label7.Name = "Label7" + Me.Label7.Size = New System.Drawing.Size(20, 13) + Me.Label7.TabIndex = 14 + Me.Label7.Text = "bis" + ' + 'dtGueltigBis + ' + Me.dtGueltigBis.Format = System.Windows.Forms.DateTimePickerFormat.[Short] + Me.dtGueltigBis.Location = New System.Drawing.Point(241, 253) + Me.dtGueltigBis.Name = "dtGueltigBis" + Me.dtGueltigBis.Size = New System.Drawing.Size(91, 20) + Me.dtGueltigBis.TabIndex = 13 + Me.dtGueltigBis.TabStop = False + ' + 'dtGueltigAb + ' + Me.dtGueltigAb.Format = System.Windows.Forms.DateTimePickerFormat.[Short] + Me.dtGueltigAb.Location = New System.Drawing.Point(87, 253) + Me.dtGueltigAb.Name = "dtGueltigAb" + Me.dtGueltigAb.Size = New System.Drawing.Size(100, 20) + Me.dtGueltigAb.TabIndex = 12 + Me.dtGueltigAb.TabStop = False + ' + 'Label6 + ' + Me.Label6.AutoSize = True + Me.Label6.Location = New System.Drawing.Point(15, 256) + Me.Label6.Name = "Label6" + Me.Label6.Size = New System.Drawing.Size(49, 13) + Me.Label6.TabIndex = 11 + Me.Label6.Text = "Gültig ab" + ' + 'txtTitel + ' + Me.txtTitel.Location = New System.Drawing.Point(87, 19) + Me.txtTitel.Name = "txtTitel" + Me.txtTitel.Size = New System.Drawing.Size(245, 20) + Me.txtTitel.TabIndex = 6 + ' + 'txtSuchbegriffe + ' + Me.txtSuchbegriffe.Location = New System.Drawing.Point(87, 193) + Me.txtSuchbegriffe.Multiline = True + Me.txtSuchbegriffe.Name = "txtSuchbegriffe" + Me.txtSuchbegriffe.Size = New System.Drawing.Size(245, 53) + Me.txtSuchbegriffe.TabIndex = 10 + ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.Location = New System.Drawing.Point(15, 22) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(27, 13) + Me.Label1.TabIndex = 5 + Me.Label1.Text = "Titel" + ' + 'Label3 + ' + Me.Label3.AutoSize = True + Me.Label3.Location = New System.Drawing.Point(15, 195) + Me.Label3.Name = "Label3" + Me.Label3.Size = New System.Drawing.Size(67, 13) + Me.Label3.TabIndex = 9 + Me.Label3.Text = "Suchbegriffe" + ' + 'Label2 + ' + Me.Label2.AutoSize = True + Me.Label2.Location = New System.Drawing.Point(15, 125) + Me.Label2.Name = "Label2" + Me.Label2.Size = New System.Drawing.Size(72, 13) + Me.Label2.TabIndex = 7 + Me.Label2.Text = "Beschreibung" + ' + 'txtBeschreibung + ' + Me.txtBeschreibung.Location = New System.Drawing.Point(87, 123) + Me.txtBeschreibung.Multiline = True + Me.txtBeschreibung.Name = "txtBeschreibung" + Me.txtBeschreibung.Size = New System.Drawing.Size(245, 66) + Me.txtBeschreibung.TabIndex = 8 + ' + 'TabControl1 + ' + Me.TabControl1.Controls.Add(Me.TabPage5) + Me.TabControl1.Controls.Add(Me.TabPage8) + Me.TabControl1.Controls.Add(Me.TabPage3) + Me.TabControl1.Controls.Add(Me.TabPage4) + Me.TabControl1.Controls.Add(Me.TabPage6) + Me.TabControl1.Controls.Add(Me.TabPage1) + Me.TabControl1.Dock = System.Windows.Forms.DockStyle.Fill + Me.TabControl1.Location = New System.Drawing.Point(0, 49) + Me.TabControl1.Name = "TabControl1" + Me.TabControl1.SelectedIndex = 0 + Me.TabControl1.Size = New System.Drawing.Size(1178, 542) + Me.TabControl1.TabIndex = 13 + ' + 'TabPage5 + ' + Me.TabPage5.BackColor = System.Drawing.SystemColors.Control + Me.TabPage5.Controls.Add(Me.DokumenteAllgemein) + Me.TabPage5.Controls.Add(Me.GroupBox4) + Me.TabPage5.Controls.Add(Me.GroupBox7) + Me.TabPage5.Location = New System.Drawing.Point(4, 22) + Me.TabPage5.Name = "TabPage5" + Me.TabPage5.Size = New System.Drawing.Size(1170, 516) + Me.TabPage5.TabIndex = 4 + Me.TabPage5.Text = "Allgemein" + ' + 'DokumenteAllgemein + ' + Me.DokumenteAllgemein.ConnectionString = Nothing + Me.DokumenteAllgemein.Dock = System.Windows.Forms.DockStyle.Fill + Me.DokumenteAllgemein.Doktype = 0 + Me.DokumenteAllgemein.Location = New System.Drawing.Point(348, 0) + Me.DokumenteAllgemein.Mitarbeiternr = 0 + Me.DokumenteAllgemein.Name = "DokumenteAllgemein" + Me.DokumenteAllgemein.Size = New System.Drawing.Size(822, 344) + Me.DokumenteAllgemein.TabIndex = 30 + Me.DokumenteAllgemein.TempFilePath = Nothing + Me.DokumenteAllgemein.ThemaNr = 0 + ' + 'GroupBox4 + ' + Me.GroupBox4.Controls.Add(Me.Button1) + Me.GroupBox4.Controls.Add(Me.btnKategorieauswahl) + Me.GroupBox4.Controls.Add(Me.clbNebenkategorien) + Me.GroupBox4.Controls.Add(Me.lblNebenkategorie) + Me.GroupBox4.Controls.Add(Me.txtGueltigbis) + Me.GroupBox4.Controls.Add(Me.txtGueltigab) + Me.GroupBox4.Controls.Add(Me.txtTitel) + Me.GroupBox4.Controls.Add(Me.txtMutierer) + Me.GroupBox4.Controls.Add(Me.dtGueltigBis) + Me.GroupBox4.Controls.Add(Me.Label5) + Me.GroupBox4.Controls.Add(Me.Label7) + Me.GroupBox4.Controls.Add(Me.cbboxKategorie) + Me.GroupBox4.Controls.Add(Me.dtGueltigAb) + Me.GroupBox4.Controls.Add(Me.Label4) + Me.GroupBox4.Controls.Add(Me.Label8) + Me.GroupBox4.Controls.Add(Me.cbAktiv) + Me.GroupBox4.Controls.Add(Me.Label6) + Me.GroupBox4.Controls.Add(Me.Label1) + Me.GroupBox4.Controls.Add(Me.txtErstellt_am) + Me.GroupBox4.Controls.Add(Me.Label11) + Me.GroupBox4.Controls.Add(Me.Label9) + Me.GroupBox4.Controls.Add(Me.txtBeschreibung) + Me.GroupBox4.Controls.Add(Me.txtSuchbegriffe) + Me.GroupBox4.Controls.Add(Me.Label2) + Me.GroupBox4.Controls.Add(Me.txtMutiert_am) + Me.GroupBox4.Controls.Add(Me.Label3) + Me.GroupBox4.Dock = System.Windows.Forms.DockStyle.Left + Me.GroupBox4.Location = New System.Drawing.Point(0, 0) + Me.GroupBox4.Name = "GroupBox4" + Me.GroupBox4.Size = New System.Drawing.Size(348, 344) + Me.GroupBox4.TabIndex = 27 + Me.GroupBox4.TabStop = False + Me.GroupBox4.Text = "Thema" + ' + 'Button1 + ' + Me.Button1.Location = New System.Drawing.Point(306, 70) + Me.Button1.Name = "Button1" + Me.Button1.Size = New System.Drawing.Size(26, 23) + Me.Button1.TabIndex = 32 + Me.Button1.Text = "..." + Me.Button1.UseVisualStyleBackColor = True + ' + 'btnKategorieauswahl + ' + Me.btnKategorieauswahl.Location = New System.Drawing.Point(306, 41) + Me.btnKategorieauswahl.Name = "btnKategorieauswahl" + Me.btnKategorieauswahl.Size = New System.Drawing.Size(26, 23) + Me.btnKategorieauswahl.TabIndex = 31 + Me.btnKategorieauswahl.Text = "..." + Me.btnKategorieauswahl.UseVisualStyleBackColor = True + ' + 'clbNebenkategorien + ' + Me.clbNebenkategorien.FormattingEnabled = True + Me.clbNebenkategorien.Location = New System.Drawing.Point(87, 71) + Me.clbNebenkategorien.Name = "clbNebenkategorien" + Me.clbNebenkategorien.Size = New System.Drawing.Size(215, 49) + Me.clbNebenkategorien.TabIndex = 30 + ' + 'lblNebenkategorie + ' + Me.lblNebenkategorie.AutoSize = True + Me.lblNebenkategorie.Location = New System.Drawing.Point(15, 71) + Me.lblNebenkategorie.Name = "lblNebenkategorie" + Me.lblNebenkategorie.Size = New System.Drawing.Size(61, 13) + Me.lblNebenkategorie.TabIndex = 29 + Me.lblNebenkategorie.Text = "Neben-Kat." + ' + 'txtGueltigbis + ' + Me.txtGueltigbis.Location = New System.Drawing.Point(241, 253) + Me.txtGueltigbis.Mask = "00/00/0000" + Me.txtGueltigbis.Name = "txtGueltigbis" + Me.txtGueltigbis.Size = New System.Drawing.Size(61, 20) + Me.txtGueltigbis.TabIndex = 28 + Me.txtGueltigbis.ValidatingType = GetType(Date) + ' + 'txtGueltigab + ' + Me.txtGueltigab.Location = New System.Drawing.Point(87, 252) + Me.txtGueltigab.Mask = "00/00/0000" + Me.txtGueltigab.Name = "txtGueltigab" + Me.txtGueltigab.Size = New System.Drawing.Size(73, 20) + Me.txtGueltigab.TabIndex = 27 + Me.txtGueltigab.ValidatingType = GetType(Date) + ' + 'txtMutierer + ' + Me.txtMutierer.Location = New System.Drawing.Point(87, 318) + Me.txtMutierer.Name = "txtMutierer" + Me.txtMutierer.ReadOnly = True + Me.txtMutierer.Size = New System.Drawing.Size(91, 20) + Me.txtMutierer.TabIndex = 26 + ' + 'Label5 + ' + Me.Label5.AutoSize = True + Me.Label5.Location = New System.Drawing.Point(15, 321) + Me.Label5.Name = "Label5" + Me.Label5.Size = New System.Drawing.Size(69, 13) + Me.Label5.TabIndex = 25 + Me.Label5.Text = "Mutiert durch" + ' + 'cbboxKategorie + ' + Me.cbboxKategorie.FormattingEnabled = True + Me.cbboxKategorie.Location = New System.Drawing.Point(87, 43) + Me.cbboxKategorie.Name = "cbboxKategorie" + Me.cbboxKategorie.Size = New System.Drawing.Size(213, 21) + Me.cbboxKategorie.TabIndex = 24 + ' + 'Label4 + ' + Me.Label4.AutoSize = True + Me.Label4.Location = New System.Drawing.Point(15, 48) + Me.Label4.Name = "Label4" + Me.Label4.Size = New System.Drawing.Size(52, 13) + Me.Label4.TabIndex = 23 + Me.Label4.Text = "Kategorie" + ' + 'GroupBox7 + ' + Me.GroupBox7.Controls.Add(Me.ThemaPerson1) + Me.GroupBox7.Dock = System.Windows.Forms.DockStyle.Bottom + Me.GroupBox7.Location = New System.Drawing.Point(0, 344) + Me.GroupBox7.Name = "GroupBox7" + Me.GroupBox7.Size = New System.Drawing.Size(1170, 172) + Me.GroupBox7.TabIndex = 29 + Me.GroupBox7.TabStop = False + Me.GroupBox7.Text = "Beteiligte Personen" + ' + 'ThemaPerson1 + ' + Me.ThemaPerson1.ConnectionString = Nothing + Me.ThemaPerson1.Dock = System.Windows.Forms.DockStyle.Top + Me.ThemaPerson1.Doktype = 0 + Me.ThemaPerson1.Location = New System.Drawing.Point(3, 16) + Me.ThemaPerson1.Mitarbeiternr = 0 + Me.ThemaPerson1.Name = "ThemaPerson1" + Me.ThemaPerson1.Size = New System.Drawing.Size(1164, 182) + Me.ThemaPerson1.TabIndex = 0 + Me.ThemaPerson1.TempFilePath = Nothing + Me.ThemaPerson1.ThemaNr = 0 + ' + 'TabPage8 + ' + Me.TabPage8.BackColor = System.Drawing.SystemColors.Control + Me.TabPage8.Controls.Add(Me.txtIssueBemerkung) + Me.TabPage8.Controls.Add(Me.Label12) + Me.TabPage8.Controls.Add(Me.cbboxissueveraenderung) + Me.TabPage8.Controls.Add(Me.lblRelevanzVeraenderung) + Me.TabPage8.Controls.Add(Me.cbboxRelevanzTKB) + Me.TabPage8.Controls.Add(Me.lblRelevanzTKB) + Me.TabPage8.Controls.Add(Me.cbissue) + Me.TabPage8.Controls.Add(Me.lblIssue) + Me.TabPage8.Location = New System.Drawing.Point(4, 22) + Me.TabPage8.Name = "TabPage8" + Me.TabPage8.Size = New System.Drawing.Size(1170, 516) + Me.TabPage8.TabIndex = 8 + Me.TabPage8.Text = "Issue" + ' + 'txtIssueBemerkung + ' + Me.txtIssueBemerkung.Location = New System.Drawing.Point(141, 115) + Me.txtIssueBemerkung.Multiline = True + Me.txtIssueBemerkung.Name = "txtIssueBemerkung" + Me.txtIssueBemerkung.Size = New System.Drawing.Size(343, 195) + Me.txtIssueBemerkung.TabIndex = 30 + ' + 'Label12 + ' + Me.Label12.AutoSize = True + Me.Label12.Location = New System.Drawing.Point(19, 118) + Me.Label12.Name = "Label12" + Me.Label12.Size = New System.Drawing.Size(61, 13) + Me.Label12.TabIndex = 29 + Me.Label12.Text = "Bemerkung" + ' + 'cbboxissueveraenderung + ' + Me.cbboxissueveraenderung.FormattingEnabled = True + Me.cbboxissueveraenderung.Location = New System.Drawing.Point(141, 81) + Me.cbboxissueveraenderung.Name = "cbboxissueveraenderung" + Me.cbboxissueveraenderung.Size = New System.Drawing.Size(121, 21) + Me.cbboxissueveraenderung.TabIndex = 28 + ' + 'lblRelevanzVeraenderung + ' + Me.lblRelevanzVeraenderung.AutoSize = True + Me.lblRelevanzVeraenderung.Location = New System.Drawing.Point(19, 84) + Me.lblRelevanzVeraenderung.Name = "lblRelevanzVeraenderung" + Me.lblRelevanzVeraenderung.Size = New System.Drawing.Size(116, 13) + Me.lblRelevanzVeraenderung.TabIndex = 27 + Me.lblRelevanzVeraenderung.Text = "Relevanz Veränderung" + ' + 'cbboxRelevanzTKB + ' + Me.cbboxRelevanzTKB.FormattingEnabled = True + Me.cbboxRelevanzTKB.Location = New System.Drawing.Point(141, 52) + Me.cbboxRelevanzTKB.Name = "cbboxRelevanzTKB" + Me.cbboxRelevanzTKB.Size = New System.Drawing.Size(121, 21) + Me.cbboxRelevanzTKB.TabIndex = 26 + ' + 'lblRelevanzTKB + ' + Me.lblRelevanzTKB.AutoSize = True + Me.lblRelevanzTKB.Location = New System.Drawing.Point(19, 55) + Me.lblRelevanzTKB.Name = "lblRelevanzTKB" + Me.lblRelevanzTKB.Size = New System.Drawing.Size(76, 13) + Me.lblRelevanzTKB.TabIndex = 25 + Me.lblRelevanzTKB.Text = "Relevanz TKB" + ' + 'cbissue + ' + Me.cbissue.AutoSize = True + Me.cbissue.Location = New System.Drawing.Point(141, 21) + Me.cbissue.Name = "cbissue" + Me.cbissue.Size = New System.Drawing.Size(15, 14) + Me.cbissue.TabIndex = 24 + Me.cbissue.UseVisualStyleBackColor = True + ' + 'lblIssue + ' + Me.lblIssue.AutoSize = True + Me.lblIssue.Location = New System.Drawing.Point(19, 22) + Me.lblIssue.Name = "lblIssue" + Me.lblIssue.Size = New System.Drawing.Size(32, 13) + Me.lblIssue.TabIndex = 23 + Me.lblIssue.Text = "Issue" + ' + 'TabPage3 + ' + Me.TabPage3.BackColor = System.Drawing.SystemColors.Control + Me.TabPage3.Controls.Add(Me.PnlSHUEditor) + Me.TabPage3.Controls.Add(Me.PnlAll) + Me.TabPage3.Controls.Add(Me.pnlUebersicht) + Me.TabPage3.Controls.Add(Me.GroupBox6) + Me.TabPage3.Location = New System.Drawing.Point(4, 22) + Me.TabPage3.Name = "TabPage3" + Me.TabPage3.Size = New System.Drawing.Size(1170, 516) + Me.TabPage3.TabIndex = 2 + Me.TabPage3.Text = "Entwicklung" + ' + 'PnlSHUEditor + ' + Me.PnlSHUEditor.Controls.Add(Me.Entwicklungsdokumente) + Me.PnlSHUEditor.Controls.Add(Me.ShuEditorEntwicklung) + Me.PnlSHUEditor.Location = New System.Drawing.Point(257, 41) + Me.PnlSHUEditor.Name = "PnlSHUEditor" + Me.PnlSHUEditor.Size = New System.Drawing.Size(535, 322) + Me.PnlSHUEditor.TabIndex = 10 + ' + 'Entwicklungsdokumente + ' + Me.Entwicklungsdokumente.ConnectionString = Nothing + Me.Entwicklungsdokumente.Dock = System.Windows.Forms.DockStyle.Fill + Me.Entwicklungsdokumente.Doktype = 0 + Me.Entwicklungsdokumente.Location = New System.Drawing.Point(255, 0) + Me.Entwicklungsdokumente.Mitarbeiternr = 0 + Me.Entwicklungsdokumente.Name = "Entwicklungsdokumente" + Me.Entwicklungsdokumente.Size = New System.Drawing.Size(280, 322) + Me.Entwicklungsdokumente.TabIndex = 10 + Me.Entwicklungsdokumente.TempFilePath = Nothing + Me.Entwicklungsdokumente.ThemaNr = 0 + ' + 'ShuEditorEntwicklung + ' + Me.ShuEditorEntwicklung.Dock = System.Windows.Forms.DockStyle.Left + Me.ShuEditorEntwicklung.Document = Nothing + Me.ShuEditorEntwicklung.Font = New System.Drawing.Font("Futura Book", 9.749999!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.ShuEditorEntwicklung.Location = New System.Drawing.Point(0, 0) + Me.ShuEditorEntwicklung.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4) + Me.ShuEditorEntwicklung.Name = "ShuEditorEntwicklung" + Me.ShuEditorEntwicklung.Show_Filefunctions = False + Me.ShuEditorEntwicklung.Size = New System.Drawing.Size(255, 322) + Me.ShuEditorEntwicklung.TabIndex = 9 + ' + 'PnlAll + ' + Me.PnlAll.Controls.Add(Me.rtbDoc) + Me.PnlAll.Controls.Add(Me.tsBtnPreview) + Me.PnlAll.Location = New System.Drawing.Point(331, 370) + Me.PnlAll.Name = "PnlAll" + Me.PnlAll.Size = New System.Drawing.Size(233, 201) + Me.PnlAll.TabIndex = 7 + Me.PnlAll.Visible = False + ' + 'rtbDoc + ' + Me.rtbDoc.Dock = System.Windows.Forms.DockStyle.Fill + Me.rtbDoc.Location = New System.Drawing.Point(0, 25) + Me.rtbDoc.Name = "rtbDoc" + Me.rtbDoc.Size = New System.Drawing.Size(233, 176) + Me.rtbDoc.TabIndex = 4 + Me.rtbDoc.Text = "" + ' + 'tsBtnPreview + ' + Me.tsBtnPreview.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.tsbtnSaveAs, Me.tsbtnPageSetup, Me.tsbtbPreview, Me.tsbtnprint}) + Me.tsBtnPreview.Location = New System.Drawing.Point(0, 0) + Me.tsBtnPreview.Name = "tsBtnPreview" + Me.tsBtnPreview.Size = New System.Drawing.Size(233, 25) + Me.tsBtnPreview.TabIndex = 0 + Me.tsBtnPreview.Text = "ToolStrip2" + ' + 'tsbtnSaveAs + ' + Me.tsbtnSaveAs.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tsbtnSaveAs.Image = CType(resources.GetObject("tsbtnSaveAs.Image"), System.Drawing.Image) + Me.tsbtnSaveAs.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tsbtnSaveAs.Name = "tsbtnSaveAs" + Me.tsbtnSaveAs.Size = New System.Drawing.Size(23, 22) + Me.tsbtnSaveAs.Text = "Speichern unter" + ' + 'tsbtnPageSetup + ' + Me.tsbtnPageSetup.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tsbtnPageSetup.Image = CType(resources.GetObject("tsbtnPageSetup.Image"), System.Drawing.Image) + Me.tsbtnPageSetup.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tsbtnPageSetup.Name = "tsbtnPageSetup" + Me.tsbtnPageSetup.Size = New System.Drawing.Size(23, 22) + Me.tsbtnPageSetup.Text = "Seite einrichten" + ' + 'tsbtbPreview + ' + Me.tsbtbPreview.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tsbtbPreview.Image = CType(resources.GetObject("tsbtbPreview.Image"), System.Drawing.Image) + Me.tsbtbPreview.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tsbtbPreview.Name = "tsbtbPreview" + Me.tsbtbPreview.Size = New System.Drawing.Size(23, 22) + Me.tsbtbPreview.Text = "Vorschau" + ' + 'tsbtnprint + ' + Me.tsbtnprint.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tsbtnprint.Image = CType(resources.GetObject("tsbtnprint.Image"), System.Drawing.Image) + Me.tsbtnprint.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tsbtnprint.Name = "tsbtnprint" + Me.tsbtnprint.Size = New System.Drawing.Size(23, 22) + Me.tsbtnprint.Text = "Drucken" + ' + 'pnlUebersicht + ' + Me.pnlUebersicht.AutoScroll = True + Me.pnlUebersicht.Location = New System.Drawing.Point(653, 16) + Me.pnlUebersicht.Name = "pnlUebersicht" + Me.pnlUebersicht.Size = New System.Drawing.Size(517, 500) + Me.pnlUebersicht.TabIndex = 6 + Me.pnlUebersicht.Visible = False + ' + 'GroupBox6 + ' + Me.GroupBox6.Controls.Add(Me.TreeEntwicklung) + Me.GroupBox6.Controls.Add(Me.ToolStrip8) + Me.GroupBox6.Dock = System.Windows.Forms.DockStyle.Left + Me.GroupBox6.Location = New System.Drawing.Point(0, 0) + Me.GroupBox6.Name = "GroupBox6" + Me.GroupBox6.Size = New System.Drawing.Size(242, 516) + Me.GroupBox6.TabIndex = 4 + Me.GroupBox6.TabStop = False + ' + 'TreeEntwicklung + ' + Me.TreeEntwicklung.ContextMenuStrip = Me.ContextMenuStrip1 + Me.TreeEntwicklung.Dock = System.Windows.Forms.DockStyle.Fill + Me.TreeEntwicklung.FullRowSelect = True + Me.TreeEntwicklung.HideSelection = False + Me.TreeEntwicklung.ImageIndex = 0 + Me.TreeEntwicklung.ImageList = Me.ImageList1 + Me.TreeEntwicklung.Location = New System.Drawing.Point(3, 41) + Me.TreeEntwicklung.Name = "TreeEntwicklung" + Me.TreeEntwicklung.SelectedImageIndex = 0 + Me.TreeEntwicklung.Size = New System.Drawing.Size(236, 472) + Me.TreeEntwicklung.TabIndex = 0 + ' + 'ContextMenuStrip1 + ' + Me.ContextMenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ÜbersichtToolStripMenuItem, Me.AllesToolStripMenuItem, Me.ToolStripMenuItem1, Me.EintragUmbenennenToolStripMenuItem}) + Me.ContextMenuStrip1.Name = "ContextMenuStrip1" + Me.ContextMenuStrip1.Size = New System.Drawing.Size(186, 98) + ' + 'ÜbersichtToolStripMenuItem + ' + Me.ÜbersichtToolStripMenuItem.Name = "ÜbersichtToolStripMenuItem" + Me.ÜbersichtToolStripMenuItem.Size = New System.Drawing.Size(185, 22) + Me.ÜbersichtToolStripMenuItem.Text = "Übersicht" + ' + 'AllesToolStripMenuItem + ' + Me.AllesToolStripMenuItem.Name = "AllesToolStripMenuItem" + Me.AllesToolStripMenuItem.Size = New System.Drawing.Size(185, 22) + Me.AllesToolStripMenuItem.Text = "Alles" + ' + 'ImageList1 + ' + Me.ImageList1.ImageStream = CType(resources.GetObject("ImageList1.ImageStream"), System.Windows.Forms.ImageListStreamer) + Me.ImageList1.TransparentColor = System.Drawing.Color.Transparent + Me.ImageList1.Images.SetKeyName(0, "write-document-icon.png") + Me.ImageList1.Images.SetKeyName(1, "Architecture-info-icon.png") + ' + 'ToolStrip8 + ' + Me.ToolStrip8.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.tsbtnSaveEintrag, Me.tsbtnAddEintrag, Me.tsbtnDeleteEintrag, Me.ToolStripSeparator2, Me.tsbtnEintragOverview, Me.tsbtnEintragAlles}) + Me.ToolStrip8.Location = New System.Drawing.Point(3, 16) + Me.ToolStrip8.Name = "ToolStrip8" + Me.ToolStrip8.Size = New System.Drawing.Size(236, 25) + Me.ToolStrip8.TabIndex = 1 + Me.ToolStrip8.Text = "ToolStrip8" + ' + 'tsbtnSaveEintrag + ' + Me.tsbtnSaveEintrag.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tsbtnSaveEintrag.Image = CType(resources.GetObject("tsbtnSaveEintrag.Image"), System.Drawing.Image) + Me.tsbtnSaveEintrag.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tsbtnSaveEintrag.Name = "tsbtnSaveEintrag" + Me.tsbtnSaveEintrag.Size = New System.Drawing.Size(23, 22) + Me.tsbtnSaveEintrag.Text = "Daten speichern" + Me.tsbtnSaveEintrag.Visible = False + ' + 'tsbtnAddEintrag + ' + Me.tsbtnAddEintrag.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tsbtnAddEintrag.Image = CType(resources.GetObject("tsbtnAddEintrag.Image"), System.Drawing.Image) + Me.tsbtnAddEintrag.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tsbtnAddEintrag.Name = "tsbtnAddEintrag" + Me.tsbtnAddEintrag.Size = New System.Drawing.Size(23, 22) + Me.tsbtnAddEintrag.Text = "Neuer Eintrag" + ' + 'tsbtnDeleteEintrag + ' + Me.tsbtnDeleteEintrag.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tsbtnDeleteEintrag.Image = CType(resources.GetObject("tsbtnDeleteEintrag.Image"), System.Drawing.Image) + Me.tsbtnDeleteEintrag.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tsbtnDeleteEintrag.Name = "tsbtnDeleteEintrag" + Me.tsbtnDeleteEintrag.Size = New System.Drawing.Size(23, 22) + Me.tsbtnDeleteEintrag.Text = "Eintrag inaktivieren" + Me.tsbtnDeleteEintrag.Visible = False + ' + 'ToolStripSeparator2 + ' + Me.ToolStripSeparator2.Name = "ToolStripSeparator2" + Me.ToolStripSeparator2.Size = New System.Drawing.Size(6, 25) + ' + 'tsbtnEintragOverview + ' + Me.tsbtnEintragOverview.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tsbtnEintragOverview.Image = CType(resources.GetObject("tsbtnEintragOverview.Image"), System.Drawing.Image) + Me.tsbtnEintragOverview.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tsbtnEintragOverview.Name = "tsbtnEintragOverview" + Me.tsbtnEintragOverview.Size = New System.Drawing.Size(23, 22) + Me.tsbtnEintragOverview.Text = "Übersicht" + ' + 'tsbtnEintragAlles + ' + Me.tsbtnEintragAlles.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tsbtnEintragAlles.Image = CType(resources.GetObject("tsbtnEintragAlles.Image"), System.Drawing.Image) + Me.tsbtnEintragAlles.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tsbtnEintragAlles.Name = "tsbtnEintragAlles" + Me.tsbtnEintragAlles.Size = New System.Drawing.Size(23, 22) + Me.tsbtnEintragAlles.Text = "Alles" + ' + 'TabPage4 + ' + Me.TabPage4.BackColor = System.Drawing.SystemColors.Control + Me.TabPage4.Controls.Add(Me.SplitContainer1) + Me.TabPage4.Location = New System.Drawing.Point(4, 22) + Me.TabPage4.Name = "TabPage4" + Me.TabPage4.Size = New System.Drawing.Size(1170, 516) + Me.TabPage4.TabIndex = 3 + Me.TabPage4.Text = "Kommunikation" + ' + 'SplitContainer1 + ' + Me.SplitContainer1.Dock = System.Windows.Forms.DockStyle.Fill + Me.SplitContainer1.Location = New System.Drawing.Point(0, 0) + Me.SplitContainer1.Name = "SplitContainer1" + ' + 'SplitContainer1.Panel1 + ' + Me.SplitContainer1.Panel1.Controls.Add(Me.GroupBox2) + ' + 'SplitContainer1.Panel2 + ' + Me.SplitContainer1.Panel2.Controls.Add(Me.TabControlKommunikation) + Me.SplitContainer1.Panel2.Controls.Add(Me.StatusStrip1) + Me.SplitContainer1.Size = New System.Drawing.Size(1170, 516) + Me.SplitContainer1.SplitterDistance = 211 + Me.SplitContainer1.TabIndex = 10 + ' + 'GroupBox2 + ' + Me.GroupBox2.Controls.Add(Me.TreeKommunikation) + Me.GroupBox2.Controls.Add(Me.ToolStrip2) + Me.GroupBox2.Dock = System.Windows.Forms.DockStyle.Fill + Me.GroupBox2.Location = New System.Drawing.Point(0, 0) + Me.GroupBox2.Name = "GroupBox2" + Me.GroupBox2.Size = New System.Drawing.Size(211, 516) + Me.GroupBox2.TabIndex = 0 + Me.GroupBox2.TabStop = False + Me.GroupBox2.Text = "Kommunikation" + ' + 'TreeKommunikation + ' + Me.TreeKommunikation.ContextMenuStrip = Me.ctxMenuKommunikation + Me.TreeKommunikation.Dock = System.Windows.Forms.DockStyle.Fill + Me.TreeKommunikation.FullRowSelect = True + Me.TreeKommunikation.HideSelection = False + Me.TreeKommunikation.ImageIndex = 0 + Me.TreeKommunikation.ImageList = Me.ImageList1 + Me.TreeKommunikation.Location = New System.Drawing.Point(3, 41) + Me.TreeKommunikation.Name = "TreeKommunikation" + Me.TreeKommunikation.SelectedImageIndex = 0 + Me.TreeKommunikation.Size = New System.Drawing.Size(205, 472) + Me.TreeKommunikation.TabIndex = 0 + ' + 'ctxMenuKommunikation + ' + Me.ctxMenuKommunikation.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.NeuerEintragToolStripMenuItem1, Me.EintragLöschenToolStripMenuItem1, Me.UmbenennenToolStripMenuItem1}) + Me.ctxMenuKommunikation.Name = "ctxMenuKommunikation" + Me.ctxMenuKommunikation.Size = New System.Drawing.Size(156, 70) + ' + 'NeuerEintragToolStripMenuItem1 + ' + Me.NeuerEintragToolStripMenuItem1.Name = "NeuerEintragToolStripMenuItem1" + Me.NeuerEintragToolStripMenuItem1.Size = New System.Drawing.Size(155, 22) + Me.NeuerEintragToolStripMenuItem1.Text = "&Neuer Eintrag" + ' + 'EintragLöschenToolStripMenuItem1 + ' + Me.EintragLöschenToolStripMenuItem1.Name = "EintragLöschenToolStripMenuItem1" + Me.EintragLöschenToolStripMenuItem1.Size = New System.Drawing.Size(155, 22) + Me.EintragLöschenToolStripMenuItem1.Text = "&Eintrag löschen" + ' + 'UmbenennenToolStripMenuItem1 + ' + Me.UmbenennenToolStripMenuItem1.Name = "UmbenennenToolStripMenuItem1" + Me.UmbenennenToolStripMenuItem1.Size = New System.Drawing.Size(155, 22) + Me.UmbenennenToolStripMenuItem1.Text = "&Umbenennen" + ' + 'ToolStrip2 + ' + Me.ToolStrip2.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.tsbtnKommunkationNeu, Me.tsbtnKommunikationDelete}) + Me.ToolStrip2.Location = New System.Drawing.Point(3, 16) + Me.ToolStrip2.Name = "ToolStrip2" + Me.ToolStrip2.Size = New System.Drawing.Size(205, 25) + Me.ToolStrip2.TabIndex = 1 + Me.ToolStrip2.Text = "ToolStrip2" + ' + 'tsbtnKommunkationNeu + ' + Me.tsbtnKommunkationNeu.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tsbtnKommunkationNeu.Image = CType(resources.GetObject("tsbtnKommunkationNeu.Image"), System.Drawing.Image) + Me.tsbtnKommunkationNeu.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tsbtnKommunkationNeu.Name = "tsbtnKommunkationNeu" + Me.tsbtnKommunkationNeu.Size = New System.Drawing.Size(23, 22) + Me.tsbtnKommunkationNeu.Text = "Neuer Eintrag" + ' + 'tsbtnKommunikationDelete + ' + Me.tsbtnKommunikationDelete.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tsbtnKommunikationDelete.Image = CType(resources.GetObject("tsbtnKommunikationDelete.Image"), System.Drawing.Image) + Me.tsbtnKommunikationDelete.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tsbtnKommunikationDelete.Name = "tsbtnKommunikationDelete" + Me.tsbtnKommunikationDelete.Size = New System.Drawing.Size(23, 22) + Me.tsbtnKommunikationDelete.Text = "Eintrag inaktivieren" + ' + 'TabControlKommunikation + ' + Me.TabControlKommunikation.ContextMenuStrip = Me.ctxMenuKommAuspraegung + Me.TabControlKommunikation.Controls.Add(Me.TabPage2) + Me.TabControlKommunikation.Controls.Add(Me.TabPage7) + Me.TabControlKommunikation.Dock = System.Windows.Forms.DockStyle.Fill + Me.TabControlKommunikation.Location = New System.Drawing.Point(0, 0) + Me.TabControlKommunikation.Name = "TabControlKommunikation" + Me.TabControlKommunikation.SelectedIndex = 0 + Me.TabControlKommunikation.Size = New System.Drawing.Size(955, 494) + Me.TabControlKommunikation.TabIndex = 1 + ' + 'ctxMenuKommAuspraegung + ' + Me.ctxMenuKommAuspraegung.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.NeueAusprägungToolStripMenuItem1, Me.AusprägungLöschenToolStripMenuItem1, Me.UmbenennenToolStripMenuItem}) + Me.ctxMenuKommAuspraegung.Name = "ctxMenuKommAuspraegung" + Me.ctxMenuKommAuspraegung.Size = New System.Drawing.Size(184, 70) + ' + 'NeueAusprägungToolStripMenuItem1 + ' + Me.NeueAusprägungToolStripMenuItem1.Name = "NeueAusprägungToolStripMenuItem1" + Me.NeueAusprägungToolStripMenuItem1.Size = New System.Drawing.Size(183, 22) + Me.NeueAusprägungToolStripMenuItem1.Text = "&Neue Ausprägung" + ' + 'AusprägungLöschenToolStripMenuItem1 + ' + Me.AusprägungLöschenToolStripMenuItem1.Name = "AusprägungLöschenToolStripMenuItem1" + Me.AusprägungLöschenToolStripMenuItem1.Size = New System.Drawing.Size(183, 22) + Me.AusprägungLöschenToolStripMenuItem1.Text = "&Ausprägung löschen" + ' + 'UmbenennenToolStripMenuItem + ' + Me.UmbenennenToolStripMenuItem.Name = "UmbenennenToolStripMenuItem" + Me.UmbenennenToolStripMenuItem.Size = New System.Drawing.Size(183, 22) + Me.UmbenennenToolStripMenuItem.Text = "&Umbenennen" + ' + 'TabPage2 + ' + Me.TabPage2.BackColor = System.Drawing.SystemColors.Control + Me.TabPage2.ContextMenuStrip = Me.PendenzenContextMenuStrip + Me.TabPage2.Location = New System.Drawing.Point(4, 22) + Me.TabPage2.Name = "TabPage2" + Me.TabPage2.Padding = New System.Windows.Forms.Padding(3) + Me.TabPage2.Size = New System.Drawing.Size(947, 468) + Me.TabPage2.TabIndex = 0 + Me.TabPage2.Text = "Ausprägung 1" + ' + 'PendenzenContextMenuStrip + ' + Me.PendenzenContextMenuStrip.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.AnzeigenToolStripMenuItem, Me.NeuToolStripMenuItem, Me.LöschenToolStripMenuItem}) + Me.PendenzenContextMenuStrip.Name = "PendenzenContextMenuStrip" + Me.PendenzenContextMenuStrip.Size = New System.Drawing.Size(124, 70) + ' + 'AnzeigenToolStripMenuItem + ' + Me.AnzeigenToolStripMenuItem.Name = "AnzeigenToolStripMenuItem" + Me.AnzeigenToolStripMenuItem.Size = New System.Drawing.Size(123, 22) + Me.AnzeigenToolStripMenuItem.Text = "&Anzeigen" + ' + 'NeuToolStripMenuItem + ' + Me.NeuToolStripMenuItem.Name = "NeuToolStripMenuItem" + Me.NeuToolStripMenuItem.Size = New System.Drawing.Size(123, 22) + Me.NeuToolStripMenuItem.Text = "&Neu" + ' + 'LöschenToolStripMenuItem + ' + Me.LöschenToolStripMenuItem.Name = "LöschenToolStripMenuItem" + Me.LöschenToolStripMenuItem.Size = New System.Drawing.Size(123, 22) + Me.LöschenToolStripMenuItem.Text = "&Löschen" + Me.LöschenToolStripMenuItem.Visible = False + ' + 'TabPage7 + ' + Me.TabPage7.BackColor = System.Drawing.SystemColors.Control + Me.TabPage7.Location = New System.Drawing.Point(4, 22) + Me.TabPage7.Name = "TabPage7" + Me.TabPage7.Padding = New System.Windows.Forms.Padding(3) + Me.TabPage7.Size = New System.Drawing.Size(947, 468) + Me.TabPage7.TabIndex = 1 + Me.TabPage7.Text = "Ausprägung 2" + ' + 'StatusStrip1 + ' + Me.StatusStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripProgressBar1}) + Me.StatusStrip1.Location = New System.Drawing.Point(0, 494) + Me.StatusStrip1.Name = "StatusStrip1" + Me.StatusStrip1.Size = New System.Drawing.Size(955, 22) + Me.StatusStrip1.TabIndex = 2 + Me.StatusStrip1.Text = "StatusStrip1" + ' + 'ToolStripProgressBar1 + ' + Me.ToolStripProgressBar1.Name = "ToolStripProgressBar1" + Me.ToolStripProgressBar1.Size = New System.Drawing.Size(100, 16) + ' + 'TabPage6 + ' + Me.TabPage6.Controls.Add(Me.C1Pendenzen) + Me.TabPage6.Controls.Add(Me.ToolStrip3) + Me.TabPage6.Location = New System.Drawing.Point(4, 22) + Me.TabPage6.Name = "TabPage6" + Me.TabPage6.Size = New System.Drawing.Size(1170, 516) + Me.TabPage6.TabIndex = 7 + Me.TabPage6.Text = "Pendenzen" + Me.TabPage6.UseVisualStyleBackColor = True + ' + 'C1Pendenzen + ' + Me.C1Pendenzen.AlternatingRows = True + Me.C1Pendenzen.Dock = System.Windows.Forms.DockStyle.Fill + Me.C1Pendenzen.FetchRowStyles = True + Me.C1Pendenzen.FilterBar = True + Me.C1Pendenzen.GroupByCaption = "Drag a column header here to group by that column" + Me.C1Pendenzen.Images.Add(CType(resources.GetObject("C1Pendenzen.Images"), System.Drawing.Image)) + Me.C1Pendenzen.Location = New System.Drawing.Point(0, 25) + Me.C1Pendenzen.Name = "C1Pendenzen" + Me.C1Pendenzen.PreviewInfo.Location = New System.Drawing.Point(0, 0) + Me.C1Pendenzen.PreviewInfo.Size = New System.Drawing.Size(0, 0) + Me.C1Pendenzen.PreviewInfo.ZoomFactor = 75.0R + Me.C1Pendenzen.PrintInfo.PageSettings = CType(resources.GetObject("C1Pendenzen.PrintInfo.PageSettings"), System.Drawing.Printing.PageSettings) + Me.C1Pendenzen.Size = New System.Drawing.Size(1170, 491) + Me.C1Pendenzen.TabAction = C1.Win.C1TrueDBGrid.TabActionEnum.ColumnNavigation + Me.C1Pendenzen.TabIndex = 13 + Me.C1Pendenzen.Text = "C1TrueDBGrid1" + Me.C1Pendenzen.PropBag = resources.GetString("C1Pendenzen.PropBag") + ' + 'ToolStrip3 + ' + Me.ToolStrip3.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.tsbtnNewPendenz, Me.tsbtnDeletePendenz, Me.StatusToolStripComboBox, Me.tsbtnPrintPendenz, Me.ToolStripButton7}) + Me.ToolStrip3.Location = New System.Drawing.Point(0, 0) + Me.ToolStrip3.Name = "ToolStrip3" + Me.ToolStrip3.Size = New System.Drawing.Size(1170, 25) + Me.ToolStrip3.TabIndex = 8 + Me.ToolStrip3.Text = "Toolstrip Vertragspartner" + ' + 'tsbtnNewPendenz + ' + Me.tsbtnNewPendenz.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tsbtnNewPendenz.Image = CType(resources.GetObject("tsbtnNewPendenz.Image"), System.Drawing.Image) + Me.tsbtnNewPendenz.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tsbtnNewPendenz.Name = "tsbtnNewPendenz" + Me.tsbtnNewPendenz.Size = New System.Drawing.Size(23, 22) + Me.tsbtnNewPendenz.Text = "Neuer Datensatz" + Me.tsbtnNewPendenz.ToolTipText = "Neuer Datensatz" + ' + 'tsbtnDeletePendenz + ' + Me.tsbtnDeletePendenz.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tsbtnDeletePendenz.Image = CType(resources.GetObject("tsbtnDeletePendenz.Image"), System.Drawing.Image) + Me.tsbtnDeletePendenz.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tsbtnDeletePendenz.Name = "tsbtnDeletePendenz" + Me.tsbtnDeletePendenz.Size = New System.Drawing.Size(23, 22) + Me.tsbtnDeletePendenz.Text = "Datensatz inaktivieren" + Me.tsbtnDeletePendenz.ToolTipText = "Datensatz inaktivieren" + ' + 'StatusToolStripComboBox + ' + Me.StatusToolStripComboBox.Items.AddRange(New Object() {"Alle Pendenzen", "Offen/In Bearbeitung", "Offen", "In Bearbeitung", "Erledigt", "Hinfällig"}) + Me.StatusToolStripComboBox.Name = "StatusToolStripComboBox" + Me.StatusToolStripComboBox.Size = New System.Drawing.Size(121, 25) + ' + 'tsbtnPrintPendenz + ' + Me.tsbtnPrintPendenz.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tsbtnPrintPendenz.Image = CType(resources.GetObject("tsbtnPrintPendenz.Image"), System.Drawing.Image) + Me.tsbtnPrintPendenz.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tsbtnPrintPendenz.Name = "tsbtnPrintPendenz" + Me.tsbtnPrintPendenz.Size = New System.Drawing.Size(23, 22) + Me.tsbtnPrintPendenz.Text = "Drucken" + ' + 'ToolStripButton7 + ' + Me.ToolStripButton7.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton7.Image = CType(resources.GetObject("ToolStripButton7.Image"), System.Drawing.Image) + Me.ToolStripButton7.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton7.Name = "ToolStripButton7" + Me.ToolStripButton7.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton7.Text = "Excel-Export" + ' + 'TabPage1 + ' + Me.TabPage1.BackColor = System.Drawing.SystemColors.Control + Me.TabPage1.Controls.Add(Me.C1Journal) + Me.TabPage1.Controls.Add(Me.ToolStrip7) + Me.TabPage1.Location = New System.Drawing.Point(4, 22) + Me.TabPage1.Name = "TabPage1" + Me.TabPage1.Size = New System.Drawing.Size(1170, 516) + Me.TabPage1.TabIndex = 6 + Me.TabPage1.Text = "Journal" + ' + 'C1Journal + ' + Me.C1Journal.AllowDrop = True + Me.C1Journal.AlternatingRows = True + Me.C1Journal.ContextMenuStrip = Me.ContextMenuStrip1 + Me.C1Journal.Dock = System.Windows.Forms.DockStyle.Fill + Me.C1Journal.FetchRowStyles = True + Me.C1Journal.FilterBar = True + Me.C1Journal.GroupByCaption = "Drag a column header here to group by that column" + Me.C1Journal.Images.Add(CType(resources.GetObject("C1Journal.Images"), System.Drawing.Image)) + Me.C1Journal.Location = New System.Drawing.Point(0, 25) + Me.C1Journal.Name = "C1Journal" + Me.C1Journal.PreviewInfo.Location = New System.Drawing.Point(0, 0) + Me.C1Journal.PreviewInfo.Size = New System.Drawing.Size(0, 0) + Me.C1Journal.PreviewInfo.ZoomFactor = 75.0R + Me.C1Journal.PrintInfo.PageSettings = CType(resources.GetObject("C1Journal.PrintInfo.PageSettings"), System.Drawing.Printing.PageSettings) + Me.C1Journal.Size = New System.Drawing.Size(1170, 491) + Me.C1Journal.TabAction = C1.Win.C1TrueDBGrid.TabActionEnum.ColumnNavigation + Me.C1Journal.TabIndex = 10 + Me.C1Journal.Text = "C1TrueDBGrid1" + Me.C1Journal.PropBag = resources.GetString("C1Journal.PropBag") + ' + 'ToolStrip7 + ' + Me.ToolStrip7.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripButton20, Me.ToolStripButton21}) + Me.ToolStrip7.Location = New System.Drawing.Point(0, 0) + Me.ToolStrip7.Name = "ToolStrip7" + Me.ToolStrip7.Size = New System.Drawing.Size(1170, 25) + Me.ToolStrip7.TabIndex = 7 + Me.ToolStrip7.Text = "ToolStrip7" + ' + 'ToolStripButton20 + ' + Me.ToolStripButton20.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton20.Image = CType(resources.GetObject("ToolStripButton20.Image"), System.Drawing.Image) + Me.ToolStripButton20.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton20.Name = "ToolStripButton20" + Me.ToolStripButton20.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton20.Text = "Neuer Datensatz" + Me.ToolStripButton20.ToolTipText = "Neuer Datensatz" + ' + 'ToolStripButton21 + ' + Me.ToolStripButton21.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton21.Image = CType(resources.GetObject("ToolStripButton21.Image"), System.Drawing.Image) + Me.ToolStripButton21.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton21.Name = "ToolStripButton21" + Me.ToolStripButton21.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton21.Text = "Datensatz inaktivieren" + Me.ToolStripButton21.ToolTipText = "Datensatz inaktivieren" + ' + 'PrintDialog1 + ' + Me.PrintDialog1.UseEXDialog = True + ' + 'PrintPreviewDialog1 + ' + Me.PrintPreviewDialog1.AutoScrollMargin = New System.Drawing.Size(0, 0) + Me.PrintPreviewDialog1.AutoScrollMinSize = New System.Drawing.Size(0, 0) + Me.PrintPreviewDialog1.ClientSize = New System.Drawing.Size(400, 300) + Me.PrintPreviewDialog1.Enabled = True + Me.PrintPreviewDialog1.Icon = CType(resources.GetObject("PrintPreviewDialog1.Icon"), System.Drawing.Icon) + Me.PrintPreviewDialog1.Name = "PrintPreviewDialog1" + Me.PrintPreviewDialog1.Visible = False + ' + 'PrintDocument1 + ' + ' + 'ToolStripMenuItem1 + ' + Me.ToolStripMenuItem1.Name = "ToolStripMenuItem1" + Me.ToolStripMenuItem1.Size = New System.Drawing.Size(182, 6) + ' + 'EintragUmbenennenToolStripMenuItem + ' + Me.EintragUmbenennenToolStripMenuItem.Name = "EintragUmbenennenToolStripMenuItem" + Me.EintragUmbenennenToolStripMenuItem.Size = New System.Drawing.Size(185, 22) + Me.EintragUmbenennenToolStripMenuItem.Text = "Eintrag umbenennen" + ' + 'frmDetail + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(1178, 591) + Me.Controls.Add(Me.TabControl1) + Me.Controls.Add(Me.ToolStrip1) + Me.Controls.Add(Me.MenuStrip1) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.Name = "frmDetail" + Me.Text = "Thema/Issue" + Me.ToolStrip1.ResumeLayout(False) + Me.ToolStrip1.PerformLayout() + Me.MenuStrip1.ResumeLayout(False) + Me.MenuStrip1.PerformLayout() + Me.TabControl1.ResumeLayout(False) + Me.TabPage5.ResumeLayout(False) + Me.GroupBox4.ResumeLayout(False) + Me.GroupBox4.PerformLayout() + Me.GroupBox7.ResumeLayout(False) + Me.TabPage8.ResumeLayout(False) + Me.TabPage8.PerformLayout() + Me.TabPage3.ResumeLayout(False) + Me.PnlSHUEditor.ResumeLayout(False) + Me.PnlAll.ResumeLayout(False) + Me.PnlAll.PerformLayout() + Me.tsBtnPreview.ResumeLayout(False) + Me.tsBtnPreview.PerformLayout() + Me.GroupBox6.ResumeLayout(False) + Me.GroupBox6.PerformLayout() + Me.ContextMenuStrip1.ResumeLayout(False) + Me.ToolStrip8.ResumeLayout(False) + Me.ToolStrip8.PerformLayout() + Me.TabPage4.ResumeLayout(False) + Me.SplitContainer1.Panel1.ResumeLayout(False) + Me.SplitContainer1.Panel2.ResumeLayout(False) + Me.SplitContainer1.Panel2.PerformLayout() + CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).EndInit() + Me.SplitContainer1.ResumeLayout(False) + Me.GroupBox2.ResumeLayout(False) + Me.GroupBox2.PerformLayout() + Me.ctxMenuKommunikation.ResumeLayout(False) + Me.ToolStrip2.ResumeLayout(False) + Me.ToolStrip2.PerformLayout() + Me.TabControlKommunikation.ResumeLayout(False) + Me.ctxMenuKommAuspraegung.ResumeLayout(False) + Me.PendenzenContextMenuStrip.ResumeLayout(False) + Me.StatusStrip1.ResumeLayout(False) + Me.StatusStrip1.PerformLayout() + Me.TabPage6.ResumeLayout(False) + Me.TabPage6.PerformLayout() + CType(Me.C1Pendenzen, System.ComponentModel.ISupportInitialize).EndInit() + Me.ToolStrip3.ResumeLayout(False) + Me.ToolStrip3.PerformLayout() + Me.TabPage1.ResumeLayout(False) + Me.TabPage1.PerformLayout() + CType(Me.C1Journal, System.ComponentModel.ISupportInitialize).EndInit() + Me.ToolStrip7.ResumeLayout(False) + Me.ToolStrip7.PerformLayout() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents ToolStrip1 As System.Windows.Forms.ToolStrip + Friend WithEvents TSBtnQuit As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnNew As System.Windows.Forms.ToolStripButton + Friend WithEvents MenuStrip1 As System.Windows.Forms.MenuStrip + Friend WithEvents DateiToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents TSBtnSave As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripSeparator1 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents TSBtnCopy As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnDelete As System.Windows.Forms.ToolStripButton + Friend WithEvents Label7 As System.Windows.Forms.Label + Friend WithEvents dtGueltigBis As System.Windows.Forms.DateTimePicker + Friend WithEvents dtGueltigAb As System.Windows.Forms.DateTimePicker + Friend WithEvents Label6 As System.Windows.Forms.Label + Friend WithEvents txtTitel As System.Windows.Forms.TextBox + Friend WithEvents txtSuchbegriffe As System.Windows.Forms.TextBox + Friend WithEvents Label1 As System.Windows.Forms.Label + Friend WithEvents Label3 As System.Windows.Forms.Label + Friend WithEvents Label2 As System.Windows.Forms.Label + Friend WithEvents txtBeschreibung As System.Windows.Forms.TextBox + Friend WithEvents cbAktiv As System.Windows.Forms.CheckBox + Friend WithEvents Label11 As System.Windows.Forms.Label + Friend WithEvents txtMutiert_am As System.Windows.Forms.TextBox + Friend WithEvents Label9 As System.Windows.Forms.Label + Friend WithEvents txtErstellt_am As System.Windows.Forms.TextBox + Friend WithEvents Label8 As System.Windows.Forms.Label + Friend WithEvents TabControl1 As System.Windows.Forms.TabControl + Friend WithEvents TabPage3 As System.Windows.Forms.TabPage + Friend WithEvents TabPage4 As System.Windows.Forms.TabPage + Friend WithEvents TabPage5 As System.Windows.Forms.TabPage + Friend WithEvents SplitContainer1 As System.Windows.Forms.SplitContainer + Friend WithEvents GroupBox2 As System.Windows.Forms.GroupBox + Friend WithEvents TreeKommunikation As System.Windows.Forms.TreeView + Friend WithEvents TabPage1 As System.Windows.Forms.TabPage + Friend WithEvents ToolStrip7 As System.Windows.Forms.ToolStrip + Friend WithEvents ToolStripButton20 As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripButton21 As System.Windows.Forms.ToolStripButton + Friend WithEvents txtMutierer As System.Windows.Forms.TextBox + Friend WithEvents Label5 As System.Windows.Forms.Label + Friend WithEvents cbboxKategorie As System.Windows.Forms.ComboBox + Friend WithEvents Label4 As System.Windows.Forms.Label + Friend WithEvents GroupBox4 As System.Windows.Forms.GroupBox + Friend WithEvents GroupBox6 As System.Windows.Forms.GroupBox + Friend WithEvents TreeEntwicklung As System.Windows.Forms.TreeView + Friend WithEvents ContextMenuStrip1 As System.Windows.Forms.ContextMenuStrip + Friend WithEvents ÜbersichtToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents AllesToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStrip8 As System.Windows.Forms.ToolStrip + Friend WithEvents tsbtnEintragOverview As System.Windows.Forms.ToolStripButton + Friend WithEvents tsbtnEintragAlles As System.Windows.Forms.ToolStripButton + Friend WithEvents GroupBox7 As System.Windows.Forms.GroupBox + Friend WithEvents TabControlKommunikation As System.Windows.Forms.TabControl + Friend WithEvents TabPage2 As System.Windows.Forms.TabPage + Friend WithEvents TabPage7 As System.Windows.Forms.TabPage + Friend WithEvents DokumenteAllgemein As ThemenDokumente.Dokumente + Friend WithEvents txtGueltigbis As System.Windows.Forms.MaskedTextBox + Friend WithEvents txtGueltigab As System.Windows.Forms.MaskedTextBox + Friend WithEvents tsbtnSaveEintrag As System.Windows.Forms.ToolStripButton + Friend WithEvents tsbtnAddEintrag As System.Windows.Forms.ToolStripButton + Friend WithEvents tsbtnDeleteEintrag As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripSeparator2 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents pnlUebersicht As System.Windows.Forms.Panel + Friend WithEvents SaveFileDialog1 As System.Windows.Forms.SaveFileDialog + Friend WithEvents PageSetupDialog1 As System.Windows.Forms.PageSetupDialog + Friend WithEvents PrintDialog1 As System.Windows.Forms.PrintDialog + Friend WithEvents PrintPreviewDialog1 As System.Windows.Forms.PrintPreviewDialog + Friend WithEvents PrintDocument1 As System.Drawing.Printing.PrintDocument + Friend WithEvents PnlAll As System.Windows.Forms.Panel + Friend WithEvents tsBtnPreview As System.Windows.Forms.ToolStrip + Friend WithEvents tsbtnSaveAs As System.Windows.Forms.ToolStripButton + Friend WithEvents tsbtnPageSetup As System.Windows.Forms.ToolStripButton + Friend WithEvents tsbtbPreview As System.Windows.Forms.ToolStripButton + Friend WithEvents tsbtnprint As System.Windows.Forms.ToolStripButton + Friend WithEvents rtbDoc As ExtendedRichTextBox.RichTextBoxPrintCtrl + Friend WithEvents KommunikationToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents NeuerEintragToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents EintragLöschenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ctxMenuKommAuspraegung As System.Windows.Forms.ContextMenuStrip + Friend WithEvents NeueAusprägungToolStripMenuItem1 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents AusprägungLöschenToolStripMenuItem1 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ImageList1 As System.Windows.Forms.ImageList + Friend WithEvents UmbenennenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ctxMenuKommunikation As System.Windows.Forms.ContextMenuStrip + Friend WithEvents NeuerEintragToolStripMenuItem1 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents EintragLöschenToolStripMenuItem1 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents UmbenennenToolStripMenuItem1 As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents StatusStrip1 As System.Windows.Forms.StatusStrip + Friend WithEvents ToolStripProgressBar1 As System.Windows.Forms.ToolStripProgressBar + Friend WithEvents ThemaPerson1 As ThemaPerson.ThemaPerson + Friend WithEvents C1Journal As C1.Win.C1TrueDBGrid.C1TrueDBGrid + Friend WithEvents ShuEditorEntwicklung As RTFEditor.SHURTFEditor + Friend WithEvents PnlSHUEditor As System.Windows.Forms.Panel + Friend WithEvents Entwicklungsdokumente As ThemenDokumente.Dokumente + Friend WithEvents clbNebenkategorien As System.Windows.Forms.CheckedListBox + Friend WithEvents lblNebenkategorie As System.Windows.Forms.Label + Friend WithEvents ToolStrip2 As System.Windows.Forms.ToolStrip + Friend WithEvents tsbtnKommunkationNeu As System.Windows.Forms.ToolStripButton + Friend WithEvents tsbtnKommunikationDelete As System.Windows.Forms.ToolStripButton + Friend WithEvents btnKategorieauswahl As System.Windows.Forms.Button + Friend WithEvents Button1 As System.Windows.Forms.Button + Friend WithEvents TabPage6 As System.Windows.Forms.TabPage + Friend WithEvents ToolStrip3 As System.Windows.Forms.ToolStrip + Friend WithEvents tsbtnNewPendenz As System.Windows.Forms.ToolStripButton + Friend WithEvents tsbtnDeletePendenz As System.Windows.Forms.ToolStripButton + Friend WithEvents StatusToolStripComboBox As System.Windows.Forms.ToolStripComboBox + Friend WithEvents tsbtnPrintPendenz As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripButton7 As System.Windows.Forms.ToolStripButton + Friend WithEvents C1Pendenzen As C1.Win.C1TrueDBGrid.C1TrueDBGrid + Friend WithEvents TabPage8 As System.Windows.Forms.TabPage + Friend WithEvents txtIssueBemerkung As System.Windows.Forms.TextBox + Friend WithEvents Label12 As System.Windows.Forms.Label + Friend WithEvents cbboxissueveraenderung As System.Windows.Forms.ComboBox + Friend WithEvents lblRelevanzVeraenderung As System.Windows.Forms.Label + Friend WithEvents cbboxRelevanzTKB As System.Windows.Forms.ComboBox + Friend WithEvents lblRelevanzTKB As System.Windows.Forms.Label + Friend WithEvents cbissue As System.Windows.Forms.CheckBox + Friend WithEvents lblIssue As System.Windows.Forms.Label + Friend WithEvents PendenzenContextMenuStrip As System.Windows.Forms.ContextMenuStrip + Friend WithEvents AnzeigenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents NeuToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents LöschenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem1 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents EintragUmbenennenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem +End Class diff --git a/Themenmanagement/Themenmanagement/Details/frmDetail.resx b/Themenmanagement/Themenmanagement/Details/frmDetail.resx new file mode 100644 index 0000000..36779e9 --- /dev/null +++ b/Themenmanagement/Themenmanagement/Details/frmDetail.resx @@ -0,0 +1,2779 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 239, 17 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAK2SURBVDhPnZLdS1NhHMcfCPoDuummi+gyunJg0QviNrd5 + PDtzc7Z5ztl20pUzo6I3yFIrS9N8K7Qih6lUFJVaGWXZi6KRoZSFmCuyi+iiiCKILgo+HTUWu7QffOD5 + PfB8eL6/5xH/U1+mh4IzM+O/Ovdm8Hdrvi5X5PR2H86ht2oWKUnPEYkr5XYexXfyebKfTxO3+P5mkIv7 + ramCngqZtDV2Vq+zsWbDP9LXWVllWc+PRD+J3krGWv18TTzm8kFHqqC7TCbD6sRml7A7XEmsWU7S19t4 + 3Rlh7JzO6Okgn1/d5dqh7FSBo1kg1Swi2+5DcilI2W4kScblktlglZjsMBg9G+JJS5CPYz1zUf8eFcJ2 + XJD42IXTlORkaridARTJjyJ7kd0eMh1uXsbDjLTqDDYXMDN8idvVyrzAViOYeN9Gx6Ago1pgbxA4Twnk + sqV4lSCeXD9ZOT7Gz2kMntT5cWc5UwPt3K31Ilx1gqfvqomPCNqGzfXbIp69i/D8Q3hOku8Jk5cXRPIE + eHZa5WGTxs/+Fby63cpAg39e8CCxh/i4ID4maH8p6JgUvPgWwXFSEMwrYmMghDtPY6QlwEBjkLY9Tp73 + HOdxc2AugsVuRuib2kxXQpA5G+GEwNEkyC1fhq5GUXUDX9BgqNnPvfp8rh9WeHqpguEWNTlES1atoPet + D2ejwAjswtBKMcLFGEaUiFFIIBTlYYOXO3U++mq8DJ3fzeiZUMozWpzmlZW6xUSN7USLSiiKFs9RaKJt + inG/zkNfdS43jnrob40x3hZJEYjO0rVsKSmlJLaDkq3bksRMCou3c69W5uYxhe4qNzfrQ0y0FyJ0XUfX + QmhaGFWdxVyrmtmrSVSz31igsy8W4EKFYv5AmatHcpns2jw/xIVSpqfvrzyw8vf0hVhqhAXUEpM0IYTl + DzXbwlLPDlfpAAAAAElFTkSuQmCC + + + + + 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 + ovwBHtVvxMSvxBEAAAAASUVORK5CYII= + + + + 346, 17 + + + 288, 56 + + + + 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 + + + + 882, 17 + + + 710, 56 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w + LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 + ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADs + CQAAAk1TRnQBSQFMAgEBAgEAAUABAQFAAQEBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo + AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA + AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 + AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA + AWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYCAAFm + AZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHMATMCAAHM + AWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEzAQABZgEA + ATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIzAf8BAAEz + AWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEzAQABMwGZ + AWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZAQABMwLM + AQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFmAQABMwEA + AWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFmATMBmQEA + AWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEzAQABZgGZ + AWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEAAWYBzAH/ + AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZATMBmQEA + AZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFmAgABmQFm + ATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZAcwBAAKZ + Af8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIAAZkB/wEz + AQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHMAQABmQEA + AcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHMAWYCAAHM + AWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZAWYBAAHM + ApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHMAf8CAAHM + Af8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/AQABmQEA + AcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFmATMBAAHM + AmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZAQAB/wGZ + AcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC/wEz + AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm + AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw + AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD/xcAAv8B9AHzAf8rAAHz + Av8JAAL/AfMBvAL3AZEBkgH/KgAB9AH/AfABBwHzAf8GAAH/AfcBkQGuBIsBkgEHAfMpAAEHA/8B9AEH + AbwB9AH/AwAB8wKLAooDZgGSAQABvAH0JwAB/wHrAbwB7QHyA/8B8gEHAfQCAAEHAYsBZgKKAmYBiwGS + AQAB8gH0JwAB8gHtAfQBvAHsAXIB7wHzAf8B9AH/AgABBwJmAooCZgGLAfcB/wHxAfABvAHvAfQkAAGS + AfAB7AFyAQgB9AEHAesCvAH/AgABBwGLAWYCigJmAYsBkgJxAk8BkQHzIwAB/wHrAgcB8wGYAXIB7QHw + AfQB8gMAAQcBiwFmAYsBigJmAYsBkgItAUgBJwFyAfMjAAHxAbwB8wHvAZcB7wG8AfEBBwHxAf8CAAH/ + AQcBiwFmAqYCZgGLAfcBAgEtAkgBcgHzIgAB/wG8AfIBbQGSAfEB8AHvAXIB8wHwAwABvAFxAa4CiwGR + AbUCuwGSAU4BLQJIAZEB8yIAAvQB9wHyAfMB8AFyAewB8AL0AwABvAFJAbUBuwMHAbwBkQFsAk4CSAGd + AfMiAAHwAfIB7AEHAe0B7ALwAQcBvAH/AwABvAFIAXEBTwFIAXEB8QEAAXIBSAFOAQIBJwFIAZgB8yIA + AfEBbQHrAfAB8wEHAesBbQH0AfEEAAG8AUgCTgECAXEB8AEAAXIBSAFOAU8BcQFyAbsB8yEAAfIBEwHv + Af8B9AHwAfIC8wHyAf8EAAG8AUgCAgEnAXEB8AEAAfcBmAK7AQcCvAH0IAAB/wH3AfMEAAH/AfMC8AUA + AfACcQFyAZ0BuwHwAQAB/wH0Af81AAH0AvID8wH/KQABQgFNAT4HAAE+AwABKAMAAUADAAEQAwABAQEA + AQEFAAGAFwAD/wEAAv8B/AEfBAAB/AF/AcABHwQAAfgBHwGAAQ8EAAH4AQMBgAEnBAAB8AEBAYABJwQA + AfABAQGABQAB8AEBAYAFAAHgAQMBgAUAAeABAwYAAcABBwYAAcABBwYAAcABBwEBBQABwAEPAQEFAAGA + AQ8BAQUAAR4BHwEBAR8EAAL/AQEB/wQACw== + + + + 1039, 17 + + + + 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 + ovwBHtVvxMSvxBEAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAC8SURBVDhPYwACQSCWJBMLMpSWVkx7//7Df3JwRUXFNIaS + kpKZDx8++v/8+Yv/d+/ex4ph8uh0WVnZTIbCwsKZly5d/n/q1On/V69ex4ph8ug0yHKG/Pz8mefOXfhP + DgZZzlBXVzfzPxCcuPXm//Gbb0BMokFDQwPCgLSZV/47tlwDS7x9+/b/nTt3MDBIHBmgGNCx+SUYgwC6 + AY8fPwaLowMUA0a9MJBesLe3jwUZQg52dHSMBeZISgADAwAUA/hMsFla7QAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJESURBVDhPfZBLbxJRHMVZW0JMU8LCT9CNxkX5Dt2QuGbB + hi/g0qWfoJtGWRiTBpG3iaktVqNtLdCmzPAeFAIzw6NAebWjCNgCx/sIaRXSk5zcO3fO79z/jO6WVg0G + w4bJZHLMbDQaHfeXlx33lpYc5P1DHlssvdVqbXV6F+j0LtEmPm/3oFQbiIpZeLa/wGaztUnuEY/Pa80f + CBKg/o9L5RqyeRlhIYPGeXtWsnAScyD4DrVGC5svXuL9h114fAG8eevF6y0nElIBlbMmVFJqt9s7JP+Y + YzciBUEydhc7oT2E9j5jeyeE3Y+fcHgUYZMUlBpZz1BUa1hff0JLHnCUy0w/oXuhIZ2RICaSSKTSZE0h + m/uBrPQdGeITIYHjuISnz56DMhzlYgXazz4i0WN83T/A/sEhwpEo2387CrP1+OQUtWYbm45X8wU+fwD9 + 3wNkshJxDolkCkkyRZxMk85k2SorKrRffThd7vkCLykYjkYMSqXTEMQ486xAyuXQ6fYwGI7g8foXFPj8 + +HN1hZggIBYTcBqLIUFguhdEEYIgolgqYTAYgmYpw1Eus8frw/X1GLIsI58voFgsMcuKghI5U1SVPBdZ + hmYpw1Eus9vjxWQyQSQSYY6Sn1koFBhcLpehkoLxeMIyNEsZjnKZXW4PptMpKpUKVAIo5OZqtYp6vc7O + ZFmBpmksQ7OU4SjX2pbTBaoZSG+kewr8L5qlDEe59BaLpVVvttC71O40zdAsZTh6o1W9Xr+xsmJ03GWa + oVmO6HR/AZ4bPZM/jt1fAAAAAElFTkSuQmCC + + + + 820, 56 + + + 1122, 56 + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAINSURBVDhPY6AVYAyc67K/+XD1/SYg9p3quAQqTiQIZWAO + Wu75Zu6Nuf9nX5/9322S/TmoDJEAaIDnctc3k69M/D/hSt9/p0nm56EyRAKwATZveq+0/O++0gg0wAiP + AfUMTOYLtWx81tnYB0CxZZ+ak88myw9dV8v/d1wp+e88T++2/XxtB591FvYeQOyyzsTeYJGyFVi/cAGn + Se6J5P99V5v+T7ze8H/Szbr/U27V/O++kfe/43rm/9Zr6f87r+f+775e9L/tSsH/hot5/yvPZf8P2Ov6 + ny+OXZlBLJfTogoo0H+9Fqi56v+U2xX/p94p/d9+M+5/283o/y03I/533Ur+33Mz63/79fT/DZdT/1ee + T/4fdtD5P28ImzqDUAaLRcQOwf9ph4T/554U+l94Ruh/wRnB/zXXzP633/H533rH83/5ZZ3/+af5/+cB + cdZx/v9JB/j++27lAhrAoM7A6cQgLRnPsFk2mWGbYhrDNuV0IA3EaftFf3Y+sP3f/sDqf9gm8Q8gMRgG + qRWPZ9jAZ8EgBA4HIGBEwfYMLOGHmN7UPeb4X/eY67/7ciZQLKCqgWAcABiNiecY3nS8YvgPwj5rGEhP + B7kXBN4s+CT/f/5H+f9hG3lJNyBpr+6bOQ89/oNwwCJ1Eg1gYGCSymXYYdjGcAOExeIZ5kHFSQIsDCoM + 7GDMwMAMEUIHDAwArmHzT5KTHe0AAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJASURBVDhPfZNLSxtRFMdn5Suah0oChhiJmlGj8RGfiKIi + gouAEPULuMlSxe+Rrbt8hKEWGfJobNq5k0ZaJ7Vgq90ILW5auiiFLv8955oJiU37hwPDPfd3/ufMvVex + VTk4SF0mEprmcrmrS39JCwbdpZ0dzdjeTlWXHvUhmUw/nJ7i7e4uspGIxRurqZqqsPXp5ATG4iJyo6Np + mWBnCScSMNfXIVZXoatqQ5EafHwMMTcHY2ZGRkZVUwq3zc42LJaXYSwtQQ+HZZEafHQEEYtBTE3VQh8a + 0hSemduuh435eRizs9BDIasUj1u3h4cwydGcnIQZjaJEwblal/zBbdfDggB2+ZhMojQ9LaE3FOWJiUbY + lixCbdfD7ChGRmAMDEAEgzApss1gW7IIbTDIqRgIoOB04iXFK7cboqcHus/3b5jFSbG1ZVnxOF50dkr4 + tccDs7cXZa8XWb///+5Fgiv7+8gTeFEHX/p8eNfXh/f9/cgHAs3nL25sWJW9PeTIuUBRdLlk22WCr/x+ + XNP8N6EQboeHUXx6AgxbBGccDuQ6OnDR1SXdeeYctc3ON4OD+KyquI9E8IX+kajeE8XY3NSu6CLp7e3I + tLUhT0V4dt3rlRs4uO27cBj34+N4oCP9RrfxOx13SVU1pbCwkDpvbYXe0oIsFeGfd97d3TCn7JLa/krH + yuBPunC/VlZQiUYfH9WZw5G2Czx7AtviNZMu2w96SL/X1nAXiz0+JltnTmfqucejNYNtca48NqZd286K + ovwBHtVvxMSvxBEAAAAASUVORK5CYII= + + + + 461, 17 + + + 124, 95 + + + 1005, 56 + + + + iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAA0SURBVChTdYkBCgAgDAL9/6eLIsd0eSCKhw/r9aCLtC88 + vAdHMEIXKUIUhMK76EfagglgA6CqHOQpL6GyAAAAAElFTkSuQmCC + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0 + dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACRTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5QYWdlU2V0dGluZ3MHAAAAD3ByaW50ZXJTZXR0aW5ncwVjb2xvcglwYXBlclNp + emULcGFwZXJTb3VyY2URcHJpbnRlclJlc29sdXRpb24JbGFuZHNjYXBlB21hcmdpbnMEBAQEBAQEJ1N5 + c3RlbS5EcmF3aW5nLlByaW50aW5nLlByaW50ZXJTZXR0aW5ncwIAAAAgU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuVHJpU3RhdGUCAAAAIVN5c3RlbS5EcmF3aW5nLlByaW50aW5nLlBhcGVyU2l6ZQIAAAAjU3lz + dGVtLkRyYXdpbmcuUHJpbnRpbmcuUGFwZXJTb3VyY2UCAAAAKVN5c3RlbS5EcmF3aW5nLlByaW50aW5n + LlByaW50ZXJSZXNvbHV0aW9uAgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAf + U3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuTWFyZ2lucwIAAAACAAAACQMAAAAF/P///yBTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5UcmlTdGF0ZQEAAAAFdmFsdWUAAgIAAAAACgoKAfv////8////AAkGAAAABQMA + AAAnU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRlclNldHRpbmdzEgAAAAtwcmludGVyTmFtZQpk + cml2ZXJOYW1lCm91dHB1dFBvcnQLcHJpbnRUb0ZpbGUUcHJpbnREaWFsb2dEaXNwbGF5ZWQKZXh0cmFi + eXRlcwlleHRyYWluZm8GY29waWVzBmR1cGxleAdjb2xsYXRlE2RlZmF1bHRQYWdlU2V0dGluZ3MIZnJv + bVBhZ2UGdG9QYWdlB21heFBhZ2UHbWluUGFnZQpwcmludFJhbmdlDGRldm1vZGVieXRlcw1jYWNoZWRE + ZXZtb2RlAQEBAAAABwAEBAQAAAAABAAHAQEHAgceU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuRHVwbGV4 + AgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAkU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuUGFnZVNldHRpbmdzAgAAAAgICAgiU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRSYW5n + ZQIAAAAHAgIAAAAKBgcAAAAACQcAAAAAAAAACv//Bfj///8eU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcu + RHVwbGV4AQAAAAd2YWx1ZV9fAAgCAAAA/////wH3/////P///wAJCgAAAAAAAAAAAAAADycAAAAAAAAF + 9f///yJTeXN0ZW0uRHJhd2luZy5QcmludGluZy5QcmludFJhbmdlAQAAAAd2YWx1ZV9fAAgCAAAAAAAA + AAAACgUGAAAAH1N5c3RlbS5EcmF3aW5nLlByaW50aW5nLk1hcmdpbnMIAAAABGxlZnQFcmlnaHQDdG9w + BmJvdHRvbQpkb3VibGVMZWZ0C2RvdWJsZVJpZ2h0CWRvdWJsZVRvcAxkb3VibGVCb3R0b20AAAAAAAAA + AAgICAgGBgYGAgAAAGQAAABkAAAAZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZ + QAEKAAAAAQAAAAkDAAAAAfP////8////AAoKCgHy/////P///wAJDwAAAAEPAAAABgAAAGQAAABkAAAA + ZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAs= + + + + <?xml version="1.0"?><Blob><Styles type="C1.Win.C1TrueDBGrid.Design.ContextWrapper"><Data>HighlightRow{ForeColor:HighlightText;BackColor:Highlight;}Style8{}Style7{}EvenRow{BackColor:White;}Normal{}RecordSelector{AlignImage:Center;}OddRow{BackColor:224, 224, 224;}Style3{}Footer{}Style14{}FilterBar{ForeColor:Black;BackColor:255, 255, 192;}Heading{AlignVert:Center;Border:Flat,ControlDark,0, 1, 0, 1;ForeColor:ControlText;BackColor:Control;Wrap:True;}Style5{}Editor{}Style10{AlignHorz:Near;}FilterWatermark{ForeColor:InfoText;BackColor:Info;}Style16{}Selected{ForeColor:HighlightText;BackColor:Highlight;}Style15{}Style13{}Style12{}Style11{}Style4{}Style9{}Group{Border:None,,0, 0, 0, 0;AlignVert:Center;BackColor:ControlDark;}Style6{}Style1{}Caption{AlignHorz:Center;}Style2{}Inactive{ForeColor:InactiveCaptionText;BackColor:InactiveCaption;}</Data></Styles><Splits><C1.Win.C1TrueDBGrid.MergeView Name="" AlternatingRowStyle="True" CaptionHeight="17" ColumnCaptionHeight="17" ColumnFooterHeight="17" FetchRowStyles="True" FilterBar="True" MarqueeStyle="DottedCellBorder" RecordSelectorWidth="17" DefRecSelWidth="17" VerticalScrollGroup="1" HorizontalScrollGroup="1"><CaptionStyle parent="Style2" me="Style10" /><EditorStyle parent="Editor" me="Style5" /><EvenRowStyle parent="EvenRow" me="Style8" /><FilterBarStyle parent="FilterBar" me="Style13" /><FilterWatermarkStyle parent="FilterWatermark" me="Style14" /><FooterStyle parent="Footer" me="Style3" /><GroupStyle parent="Group" me="Style12" /><HeadingStyle parent="Heading" me="Style2" /><HighLightRowStyle parent="HighlightRow" me="Style7" /><InactiveStyle parent="Inactive" me="Style4" /><OddRowStyle parent="OddRow" me="Style9" /><RecordSelectorStyle parent="RecordSelector" me="Style11" /><SelectedStyle parent="Selected" me="Style6" /><Style parent="Normal" me="Style1" /><ClientRect>0, 0, 1168, 489</ClientRect><BorderSide>0</BorderSide></C1.Win.C1TrueDBGrid.MergeView></Splits><NamedStyles><Style parent="" me="Normal" /><Style parent="Normal" me="Heading" /><Style parent="Heading" me="Footer" /><Style parent="Heading" me="Caption" /><Style parent="Heading" me="Inactive" /><Style parent="Normal" me="Selected" /><Style parent="Normal" me="Editor" /><Style parent="Normal" me="HighlightRow" /><Style parent="Normal" me="EvenRow" /><Style parent="Normal" me="OddRow" /><Style parent="Heading" me="RecordSelector" /><Style parent="Normal" me="FilterBar" /><Style parent="FilterBar" me="FilterWatermark" /><Style parent="Caption" me="Group" /></NamedStyles><vertSplits>1</vertSplits><horzSplits>1</horzSplits><Layout>None</Layout><DefaultRecSelWidth>17</DefaultRecSelWidth><ClientArea>0, 0, 1168, 489</ClientArea><PrintPageHeaderStyle parent="" me="Style15" /><PrintPageFooterStyle parent="" me="Style16" /></Blob> + + + 17, 95 + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAINSURBVDhPY6AVYAyc67K/+XD1/SYg9p3quAQqTiQIZWAO + Wu75Zu6Nuf9nX5/9322S/TmoDJEAaIDnctc3k69M/D/hSt9/p0nm56EyRAKwATZveq+0/O++0gg0wAiP + AfUMTOYLtWx81tnYB0CxZZ+ak88myw9dV8v/d1wp+e88T++2/XxtB591FvYeQOyyzsTeYJGyFVi/cAGn + Se6J5P99V5v+T7ze8H/Szbr/U27V/O++kfe/43rm/9Zr6f87r+f+775e9L/tSsH/hot5/yvPZf8P2Ov6 + ny+OXZlBLJfTogoo0H+9Fqi56v+U2xX/p94p/d9+M+5/283o/y03I/533Ur+33Mz63/79fT/DZdT/1ee + T/4fdtD5P28ImzqDUAaLRcQOwf9ph4T/554U+l94Ruh/wRnB/zXXzP633/H533rH83/5ZZ3/+af5/+cB + cdZx/v9JB/j++27lAhrAoM7A6cQgLRnPsFk2mWGbYhrDNuV0IA3EaftFf3Y+sP3f/sDqf9gm8Q8gMRgG + qRWPZ9jAZ8EgBA4HIGBEwfYMLOGHmN7UPeb4X/eY67/7ciZQLKCqgWAcABiNiecY3nS8YvgPwj5rGEhP + B7kXBN4s+CT/f/5H+f9hG3lJNyBpr+6bOQ89/oNwwCJ1Eg1gYGCSymXYYdjGcAOExeIZ5kHFSQIsDCoM + 7GDMwMAMEUIHDAwArmHzT5KTHe0AAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJASURBVDhPfZNLSxtRFMdn5Suah0oChhiJmlGj8RGfiKIi + gouAEPULuMlSxe+Rrbt8hKEWGfJobNq5k0ZaJ7Vgq90ILW5auiiFLv8955oJiU37hwPDPfd3/ufMvVex + VTk4SF0mEprmcrmrS39JCwbdpZ0dzdjeTlWXHvUhmUw/nJ7i7e4uspGIxRurqZqqsPXp5ATG4iJyo6Np + mWBnCScSMNfXIVZXoatqQ5EafHwMMTcHY2ZGRkZVUwq3zc42LJaXYSwtQQ+HZZEafHQEEYtBTE3VQh8a + 0hSemduuh435eRizs9BDIasUj1u3h4cwydGcnIQZjaJEwblal/zBbdfDggB2+ZhMojQ9LaE3FOWJiUbY + lixCbdfD7ChGRmAMDEAEgzApss1gW7IIbTDIqRgIoOB04iXFK7cboqcHus/3b5jFSbG1ZVnxOF50dkr4 + tccDs7cXZa8XWb///+5Fgiv7+8gTeFEHX/p8eNfXh/f9/cgHAs3nL25sWJW9PeTIuUBRdLlk22WCr/x+ + XNP8N6EQboeHUXx6AgxbBGccDuQ6OnDR1SXdeeYctc3ON4OD+KyquI9E8IX+kajeE8XY3NSu6CLp7e3I + tLUhT0V4dt3rlRs4uO27cBj34+N4oCP9RrfxOx13SVU1pbCwkDpvbYXe0oIsFeGfd97d3TCn7JLa/krH + yuBPunC/VlZQiUYfH9WZw5G2Czx7AtviNZMu2w96SL/X1nAXiz0+JltnTmfqucejNYNtca48NqZd286K + ovwBHtVvxMSvxBEAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIESURBVDhPrZI/bxNBEMXnI/BR+AiUlNdBeVVEeWXKaxLR + RDoJRUKI4gQUqdBFKYgQSCslkYxsiU0IxMHG3iSYc/wnPkxD95iZ80JsE0RxI/3s9d695zezSz+mE1QJ + Tb9PUCU0La5QJVRMRriJ45MuMmP/yaKGiqsh/sbxpy6Ojs6wVD8B1y+Q7VoEYYx2uzOno8l4gEXyb7kK + pIqigKlZRfayzMA2HcIoxr2V9SUtjUd9LPKmfqop5oqTsTes+5Nu6+XrJS2Nh7y4Rsc5pJxCSkzn0vHM + rOV0D2I1TB5nSNJsTk+jQQ7PXq2hZqbm1FBS+WSOPxynS7eMmsVJqu/K+roHDS97EPbr77Hx7BW/ZFUk + 30lqWJghilOeWaLiIIx0fpIsepjqnvcQaND/CkHEhSS6oeSZJJVDklHEbBauln/iPQS6zM8hxDwPvVs8 + K2lFEsieCKM40YR+dsH9qNzj33d47T0EynsOgrS2dLKzknTy7BZIoZRmI4hw+26oeg/1LjoQ1jZ39H4t + lh4IH4ZplobZzDCQdEFp6D0EujhrQdjefYvNJzucZJZIjHht2SizfLqmUCOPtCpmK6vrqvfQefczhIOD + PaxtvIDheybz+x/EsNGoq95D7ssJPPu1d9pKeT3KKyJJFG7Pt+h59PT5b62HOq2PqBJqn35AlVCreYjq + OMQvjpZMWrGxmEkAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAK2SURBVDhPhZNrSJNRHMbfdGubprmr85KbhkMdSmKilqjB + grwgWX0w8pJMMUxR0hIC+6IYRildPklYSF8ksptkWYakoJXOIi8VptZWeMltr+a2pnuf3vd1sHXDBx44 + nP/vec75cA7xh4S0JZuYYf5SpIdq25g0X06FaaWILhUi6aQvNJVe2E+bWcfQe8xMRjMMy2Q2orS4SsFA + 0ycRntk46F7l4t4yDx0mAdq/e6N1zhdXvvrhwmcR6qclOPtRhtxBJZiMM04QmnyOuc/ugVc/0/DWVoFh + SyUGV6rwgjyFXlM1Hi/V4OHCGXTO1aJlOgcFOgV2ZvHNzjhBZBdvIbstXNioBWwmm2MBR4eVCMoRkM44 + QWQUe5CdJJ8eGjFvNeLieBuufrgOw6oB+lU9rtHrSxNtWLSaWObQYBiCDroVpGo9yVtL3rA6TKAoCrWj + 5xD3RI0TI4ehfZ2OhKdRaJpoZm/AMAf6wxGQ7V5QxCFb531hWTdtQOsWlI1moFAXgmPDCjRMlsBBrbMz + hkl5HgFplnvBcS552eCHH2sbBcwtOuercfq9HJXjgRghb7P7jBgmvkcNQabYVZBcwCPPz4qxsmZmId3y + TTTMSNA4o0TdlAxNs2Ew2qfZGcOoH8VAkC5xFSTm8ci6KSmW7WbobUNo+RKKZtp66xC6FqvQSJff+LYP + a5SNZULvx0KQKnUVROfwyZpJOcx2kj3FXXaHBX2mevQa62CwvWQZ+Z3d4KXKXAVRuXxzxVgg3pkmnLH/ + 641xEts7EuCp8Xc9JHEEd6BEF4wjQypk9sdB0xePlN4EJPYkIbZ7L9RdyQh/kALF3TQIO/Zga3siCIWX + 6ynTipTs4o3FlAspdbkYqjIpQktlCC6Rw18bAFFRIHwKgyHI2wFObghFqHx+/0xuEtH+1xd2N8M4RRC/ + ALKKCAmHVCfOAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAA0SURBVChTdYkBCgAgDAL9/6eLIsd0eSCKhw/r9aCLtC88 + vAdHMEIXKUIUhMK76EfagglgA6CqHOQpL6GyAAAAAElFTkSuQmCC + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0 + dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACRTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5QYWdlU2V0dGluZ3MHAAAAD3ByaW50ZXJTZXR0aW5ncwVjb2xvcglwYXBlclNp + emULcGFwZXJTb3VyY2URcHJpbnRlclJlc29sdXRpb24JbGFuZHNjYXBlB21hcmdpbnMEBAQEBAQEJ1N5 + c3RlbS5EcmF3aW5nLlByaW50aW5nLlByaW50ZXJTZXR0aW5ncwIAAAAgU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuVHJpU3RhdGUCAAAAIVN5c3RlbS5EcmF3aW5nLlByaW50aW5nLlBhcGVyU2l6ZQIAAAAjU3lz + dGVtLkRyYXdpbmcuUHJpbnRpbmcuUGFwZXJTb3VyY2UCAAAAKVN5c3RlbS5EcmF3aW5nLlByaW50aW5n + LlByaW50ZXJSZXNvbHV0aW9uAgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAf + U3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuTWFyZ2lucwIAAAACAAAACQMAAAAF/P///yBTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5UcmlTdGF0ZQEAAAAFdmFsdWUAAgIAAAAACgoKAfv////8////AAkGAAAABQMA + AAAnU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRlclNldHRpbmdzEgAAAAtwcmludGVyTmFtZQpk + cml2ZXJOYW1lCm91dHB1dFBvcnQLcHJpbnRUb0ZpbGUUcHJpbnREaWFsb2dEaXNwbGF5ZWQKZXh0cmFi + eXRlcwlleHRyYWluZm8GY29waWVzBmR1cGxleAdjb2xsYXRlE2RlZmF1bHRQYWdlU2V0dGluZ3MIZnJv + bVBhZ2UGdG9QYWdlB21heFBhZ2UHbWluUGFnZQpwcmludFJhbmdlDGRldm1vZGVieXRlcw1jYWNoZWRE + ZXZtb2RlAQEBAAAABwAEBAQAAAAABAAHAQEHAgceU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuRHVwbGV4 + AgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAkU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuUGFnZVNldHRpbmdzAgAAAAgICAgiU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRSYW5n + ZQIAAAAHAgIAAAAKBgcAAAAACQcAAAAAAAAACv//Bfj///8eU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcu + RHVwbGV4AQAAAAd2YWx1ZV9fAAgCAAAA/////wH3/////P///wAJCgAAAAAAAAAAAAAADycAAAAAAAAF + 9f///yJTeXN0ZW0uRHJhd2luZy5QcmludGluZy5QcmludFJhbmdlAQAAAAd2YWx1ZV9fAAgCAAAAAAAA + AAAACgUGAAAAH1N5c3RlbS5EcmF3aW5nLlByaW50aW5nLk1hcmdpbnMIAAAABGxlZnQFcmlnaHQDdG9w + BmJvdHRvbQpkb3VibGVMZWZ0C2RvdWJsZVJpZ2h0CWRvdWJsZVRvcAxkb3VibGVCb3R0b20AAAAAAAAA + AAgICAgGBgYGAgAAAGQAAABkAAAAZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZ + QAEKAAAAAQAAAAkDAAAAAfP////8////AAoKCgHy/////P///wAJDwAAAAEPAAAABgAAAGQAAABkAAAA + ZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAs= + + + + <?xml version="1.0"?><Blob><Styles type="C1.Win.C1TrueDBGrid.Design.ContextWrapper"><Data>HighlightRow{ForeColor:HighlightText;BackColor:Highlight;}Style8{}Style7{}Style2{}EvenRow{BackColor:White;}Normal{}RecordSelector{AlignImage:Center;}Style4{}OddRow{BackColor:224, 224, 224;}Style3{}Footer{}Style14{}FilterBar{BackColor:255, 255, 192;}Heading{AlignVert:Center;Border:Flat,ControlDark,0, 1, 0, 1;Wrap:True;BackColor:Control;ForeColor:ControlText;}Style5{}Editor{}Style10{AlignHorz:Near;}Style16{}Selected{ForeColor:HighlightText;BackColor:Highlight;}Style15{}Style13{}Style12{}Style11{}Group{Border:None,,0, 0, 0, 0;AlignVert:Center;BackColor:ControlDark;}Style9{}FilterWatermark{ForeColor:InfoText;BackColor:Info;}Style1{}Caption{AlignHorz:Center;}Style6{}Inactive{ForeColor:InactiveCaptionText;BackColor:InactiveCaption;}</Data></Styles><Splits><C1.Win.C1TrueDBGrid.MergeView Name="" AlternatingRowStyle="True" CaptionHeight="17" ColumnCaptionHeight="17" ColumnFooterHeight="17" FetchRowStyles="True" FilterBar="True" MarqueeStyle="DottedCellBorder" RecordSelectorWidth="17" DefRecSelWidth="17" VerticalScrollGroup="1" HorizontalScrollGroup="1"><CaptionStyle parent="Style2" me="Style10" /><EditorStyle parent="Editor" me="Style5" /><EvenRowStyle parent="EvenRow" me="Style8" /><FilterBarStyle parent="FilterBar" me="Style13" /><FilterWatermarkStyle parent="FilterWatermark" me="Style14" /><FooterStyle parent="Footer" me="Style3" /><GroupStyle parent="Group" me="Style12" /><HeadingStyle parent="Heading" me="Style2" /><HighLightRowStyle parent="HighlightRow" me="Style7" /><InactiveStyle parent="Inactive" me="Style4" /><OddRowStyle parent="OddRow" me="Style9" /><RecordSelectorStyle parent="RecordSelector" me="Style11" /><SelectedStyle parent="Selected" me="Style6" /><Style parent="Normal" me="Style1" /><ClientRect>0, 0, 1168, 489</ClientRect><BorderSide>0</BorderSide></C1.Win.C1TrueDBGrid.MergeView></Splits><NamedStyles><Style parent="" me="Normal" /><Style parent="Normal" me="Heading" /><Style parent="Heading" me="Footer" /><Style parent="Heading" me="Caption" /><Style parent="Heading" me="Inactive" /><Style parent="Normal" me="Selected" /><Style parent="Normal" me="Editor" /><Style parent="Normal" me="HighlightRow" /><Style parent="Normal" me="EvenRow" /><Style parent="Normal" me="OddRow" /><Style parent="Heading" me="RecordSelector" /><Style parent="Normal" me="FilterBar" /><Style parent="FilterBar" me="FilterWatermark" /><Style parent="Caption" me="Group" /></NamedStyles><vertSplits>1</vertSplits><horzSplits>1</horzSplits><Layout>None</Layout><DefaultRecSelWidth>17</DefaultRecSelWidth><ClientArea>0, 0, 1168, 489</ClientArea><PrintPageHeaderStyle parent="" me="Style15" /><PrintPageFooterStyle parent="" me="Style16" /></Blob> + + + 775, 17 + + + + iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAYAAAA7bUf6AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACoSURBVDhPpdBbDoMgEEBR9r8qNtGY1NT6KEEBhboB6tRM + OiGWR5jkygfD+ZDtb+trY5xzX9PuNs+OgU+0q8eYswZ2mI9NCnKbzkNg+R9kV5WH0EJkNXMaoXOJ6AIE + 9miIGCXLkOP7jSJ6EWkE7jGKYGp+wZlG8HEY3C1yrEek6PMQjD7GxNTBGUdwzr0fgj92GtoyhIbI+Lzn + IzD0MdY/mhMpKUS69uY/mTthk1u8I7QAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACNSURBVDhPtZEBDsAgCAN5uk/zZ86S1YCIc1lG0kRLuU2V + Wmv7oiWglNJEJAj+nA0ADXb1RRB89F3ebUx4JwsZgNNhihAF4Gzut1kbD3m9q/TrrHlthLkcANla9H8G + sOa1UQ5gPXgDEF7hQO4VtveQCHmdI+ANhMMBoEZvZseBb4c1bzeUnu0OW8H32douXC1jKqjDtjgAAAAA + SUVORK5CYII= + + + + 1146, 17 + + + 17, 56 + + + 169, 56 + + + 409, 56 + + + + AAABAAYAICAQAAAAAADoAgAAZgAAABAQEAAAAAAAKAEAAE4DAAAgIAAAAQAIAKgIAAB2BAAAEBAAAAEA + CABoBQAAHg0AACAgAAABACAAqBAAAIYSAAAQEAAAAQAgAGgEAAAuIwAAKAAAACAAAABAAAAAAQAEAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAACAgACAAAAAgACAAICAAACAgIAAwMDAAAAA + /wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIoiI + iIiIiIiIiIiIiIiIiIiCIigiIiIozMzMzMzMyCIogiIoIiIiKM7m5ubm5sgiKIIiKCIiIijObm5ubm7I + IiiCIigiIiIozubm5ubmyCIogiIoIiIiKM5ubm5ubsgiKIIiKCIiIijO5ubm5ubIIiiIiIiIiIiIzm5u + bm5uyCIogRERERERGM7u7u7u7sgiKIHZWVlZWRjMzMzMzMzIIiiB1ZWVlZUYiIiIiIiIiIiIgdlZWVlZ + GDMzMzMzMzMzOIHVlZWVlRg/uLi4uLi4uDiB2VlZWVkYP7uLi4uLi4s4gdWVlZWVGD+4uLi4uLi4OIHZ + WVlZWRg/u4uLi4uLiziB1ZWVlZUYP7i4uLi4uLg4gdlZWVlZGD+7i4uLi4uLOIHVlZWVlRg/uLi4uLi4 + uDiB3d3d3d0YP7uLi4uLi4s4gRERERERGD+4uLi4uLi4OIiIiIiIiIg/u4uLi4uLiziCIiIiIiIoP7i4 + uLi4uLg4giIiIiIiKD+7i4uLi4uLOIIiIiIiIig/uLi4uLi4uDiCIiIiIiIoP7u7u7u7u7s4giIiIiIi + KD//////////OIIiIiIiIigzMzMzMzMzMziIiIiIiIiIiIiIiIiIiIiIIiIiIiIiIiIiIiIiIiIiIv// + ////////AAAAAHv4AA57+AAOe/gADnv4AA57+AAOe/gADgAAAA4AAAAOAAAADgAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH/4AAB/+AAAf/gAAH/4AAB/+AAAf/gAAAAA + AAD/////KAAAABAAAAAgAAAAAQAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAACA + gACAAAAAgACAAICAAACAgIAAwMDAAAAA/wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAiIiIiIiIiIoiI + iIiIiIiIgigijMzMyCiCKCKM5mbIKIiIiIzu7sgogRERjMzMyCiB2ZGIiIiIiIHZkYMzMzM4gdmRg/u7 + uziB3dGD+7u7OIEREYP7u7s4iIiIg/u7uziCIiKD+7u7OIIiIoP///84giIigzMzMziIiIiIiIiIiP// + KCIAACjObALm5mwCIigAAoiIAAKIzgAAbm4AACIoAAAREQAAGM4AAO7uAAAiKHwAWVl8ABjMfADMzAAA + IigoAAAAIAAAAEAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAgAAAAICAAIAA + AACAAIAAgIAAAICAgADA3MAA8MqmAKo/KgD/PyoAAF8qAFVfKgCqXyoA/18qAAB/KgBVfyoAqn8qAP9/ + KgAAnyoAVZ8qAKqfKgD/nyoAAL8qAFW/KgCqvyoA/78qAADfKgBV3yoAqt8qAP/fKgAA/yoAVf8qAKr/ + KgD//yoAAABVAFUAVQCqAFUA/wBVAAAfVQBVH1UAqh9VAP8fVQAAP1UAVT9VAKo/VQD/P1UAAF9VAFVf + VQCqX1UA/19VAAB/VQBVf1UAqn9VAP9/VQAAn1UAVZ9VAKqfVQD/n1UAAL9VAFW/VQCqv1UA/79VAADf + VQBV31UAqt9VAP/fVQAA/1UAVf9VAKr/VQD//1UAAAB/AFUAfwCqAH8A/wB/AAAffwBVH38Aqh9/AP8f + fwAAP38AVT9/AKo/fwD/P38AAF9/AFVffwCqX38A/19/AAB/fwBVf38Aqn9/AP9/fwAAn38AVZ9/AKqf + fwD/n38AAL9/AFW/fwCqv38A/79/AADffwBV338Aqt9/AP/ffwAA/38AVf9/AKr/fwD//38AAACqAFUA + qgCqAKoA/wCqAAAfqgBVH6oAqh+qAP8fqgAAP6oAVT+qAKo/qgD/P6oAAF+qAFVfqgCqX6oA/1+qAAB/ + qgBVf6oAqn+qAP9/qgAAn6oAVZ+qAKqfqgD/n6oAAL+qAFW/qgCqv6oA/7+qAADfqgBV36oAqt+qAP/f + qgAA/6oAVf+qAKr/qgD//6oAAADUAFUA1ACqANQA/wDUAAAf1ABVH9QAqh/UAP8f1AAAP9QAVT/UAKo/ + 1AD/P9QAAF/UAFVf1ACqX9QA/1/UAAB/1ABVf9QAqn/UAP9/1AAAn9QAVZ/UAKqf1AD/n9QAAL/UAFW/ + 1ACqv9QA/7/UAADf1ABV39QAqt/UAP/f1AAA/9QAVf/UAKr/1AD//9QAVQD/AKoA/wAAH/8AVR//AKof + /wD/H/8AAD//AFU//wCqP/8A/z//AABf/wBVX/8Aql//AP9f/wAAf/8AVX//AKp//wD/f/8AAJ//AFWf + /wCqn/8A/5//AAC//wBVv/8Aqr//AP+//wAA3/8AVd//AKrf/wD/3/8AVf//AKr//wD/zMwA/8z/AP// + MwD//2YA//+ZAP//zAAAfwAAVX8AAKp/AAD/fwAAAJ8AAFWfAACqnwAA/58AAAC/AABVvwAAqr8AAP+/ + AAAA3wAAVd8AAKrfAAD/3wAAVf8AAKr/AAAAACoAVQAqAKoAKgD/ACoAAB8qAFUfKgCqHyoA/x8qAAA/ + KgBVPyoA8Pv/AKSgoACAgIAAAAD/AAD/AAAA//8A/wAAAAAAAAD//wAA////AP39/f39/f39/f39/f39 + /f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39 + /f39/f39/f39/f39/f39/f39/f39/f39qoYIqoYIhqoIqgiqCaoIqgiqhqqGhoYIhoYIqv39/f0I/f39 + /ar9/f39/YY2Ng4yDg4ODgoOCgoKCgqG/f39/Yb9/f39CP39/f39qjY7Ozs3Nzc3NjMSMjIOCqr9/f39 + qv39/f2G/f39/f0IN19fOzs3Nzc3NjcODg4KCP39/f0I/f39/ar9/f39/ao6X19fXzs7Ozc3NzY3NgqG + /f39/Yb9/f39CP39/f39hl9jY19jX187Ozs7Nzc3Dqr9/f39qv39/f2G/f39/f0IOodjh19jX19fXztf + OzcOCP39/f0ICAmqCAiqCKoICapfCYdjh2ODY19fXzs7Ow6q/f39/QhITEwoSCUoKSQoqmMJCYcJCWNj + Y2NfY19fNgj9/f39qkyZmZmYmJRwlCmqX19fXl9fX186WzY3Njc2gv39/f0JcJ2dmZmZlJmUJAmqCaoJ + hggIqggICKoIqggI/f39/YZwnp2dnZmZmJVMqnx8fHx8fFR8VHhUVFRUVKr9/f39CHChoZ2dnZ2ZmUwJ + fKSkxqSkxqSkpKSkpKBUCP39/f2qcKLDoqGdnZ2ZTKp8ysakxqSkxqSkxqSkpFSq/f39/QiUpqbDoqHE + nZ1Mq3ykqMakyqSkxqSkpKSkVAj9/f39hpTIyKbHoqGhoXAIfMrLpMqkxqSkxqTGpKRUqv39/f0IlMym + yKbIpcShcAh8y6jKpMqkxsqkpKSkxlQI/f39/aqUzMzMyKbIpqJwqnzLy8qpxsqkpMakxqSkeAj9/f39 + CJSUlJSUlJSUlJQJgMupy8qpysqkyqSkxqRUqv39/f2GCKoIqgiqCKoIhgigrcvPqcuoy8qkxsqkxnyG + /f39/ar9/f39/f39/f39qnzPz6nLy8uoyqnKpKTKVAj9/f39CP39/f39/f39/f0IfNDPz8+py8upyqjG + yqR8hv39/f2G/f39/f39/f39/Qik0K7P0M+ty8vLy6jKpXyq/f39/ar9/f39/f39/f39CHzQ09Ctz8/P + qcupy6jKeAj9/f39CP39/f39/f39/f2qoNPQ0NPQ0M/Qz8vLy6l8CP39/f2G/f39/f39/f39/QmkfKR8 + oHx8fHx8fHx8fHyG/f39/aoIqgiqCKoIqgiqCKoIqgiqCKoIqgiqCKoIqgj9/f39/f39/f39/f39/f39 + /f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f3///////////// + ///AAAAD3vgAA974AAPe+AAD3vgAA974AAPe+AADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AA + AAPAAAADwAAAA8AAAAPAAAADwAAAA9/4AAPf+AAD3/gAA9/4AAPf+AAD3/gAA8AAAAP//////////ygA + AAAQAAAAIAAAAAEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAA + gACAgAAAgICAAMDcwADwyqYAqj8qAP8/KgAAXyoAVV8qAKpfKgD/XyoAAH8qAFV/KgCqfyoA/38qAACf + KgBVnyoAqp8qAP+fKgAAvyoAVb8qAKq/KgD/vyoAAN8qAFXfKgCq3yoA/98qAAD/KgBV/yoAqv8qAP// + KgAAAFUAVQBVAKoAVQD/AFUAAB9VAFUfVQCqH1UA/x9VAAA/VQBVP1UAqj9VAP8/VQAAX1UAVV9VAKpf + VQD/X1UAAH9VAFV/VQCqf1UA/39VAACfVQBVn1UAqp9VAP+fVQAAv1UAVb9VAKq/VQD/v1UAAN9VAFXf + VQCq31UA/99VAAD/VQBV/1UAqv9VAP//VQAAAH8AVQB/AKoAfwD/AH8AAB9/AFUffwCqH38A/x9/AAA/ + fwBVP38Aqj9/AP8/fwAAX38AVV9/AKpffwD/X38AAH9/AFV/fwCqf38A/39/AACffwBVn38Aqp9/AP+f + fwAAv38AVb9/AKq/fwD/v38AAN9/AFXffwCq338A/99/AAD/fwBV/38Aqv9/AP//fwAAAKoAVQCqAKoA + qgD/AKoAAB+qAFUfqgCqH6oA/x+qAAA/qgBVP6oAqj+qAP8/qgAAX6oAVV+qAKpfqgD/X6oAAH+qAFV/ + qgCqf6oA/3+qAACfqgBVn6oAqp+qAP+fqgAAv6oAVb+qAKq/qgD/v6oAAN+qAFXfqgCq36oA/9+qAAD/ + qgBV/6oAqv+qAP//qgAAANQAVQDUAKoA1AD/ANQAAB/UAFUf1ACqH9QA/x/UAAA/1ABVP9QAqj/UAP8/ + 1AAAX9QAVV/UAKpf1AD/X9QAAH/UAFV/1ACqf9QA/3/UAACf1ABVn9QAqp/UAP+f1AAAv9QAVb/UAKq/ + 1AD/v9QAAN/UAFXf1ACq39QA/9/UAAD/1ABV/9QAqv/UAP//1ABVAP8AqgD/AAAf/wBVH/8Aqh//AP8f + /wAAP/8AVT//AKo//wD/P/8AAF//AFVf/wCqX/8A/1//AAB//wBVf/8Aqn//AP9//wAAn/8AVZ//AKqf + /wD/n/8AAL//AFW//wCqv/8A/7//AADf/wBV3/8Aqt//AP/f/wBV//8Aqv//AP/MzAD/zP8A//8zAP// + ZgD//5kA///MAAB/AABVfwAAqn8AAP9/AAAAnwAAVZ8AAKqfAAD/nwAAAL8AAFW/AACqvwAA/78AAADf + AABV3wAAqt8AAP/fAABV/wAAqv8AAAAAKgBVACoAqgAqAP8AKgAAHyoAVR8qAKofKgD/HyoAAD8qAFU/ + KgDw+/8ApKCgAICAgAAAAP8AAP8AAAD//wD/AAAAAAAAAP//AAD///8A/f39/f39/f39/f39/f39/f0I + hgiqCKoICKoICKaGCP39qv39hv2GNg4ODjII/ar9/Yb9/ar9qjdjXzsOCP2G/f0IhquGCAleCWNfNob9 + qv39qkxMTEgIX19fX18I/Qj9/QhwnZlMqoYIqggIqgiG/f2qcKadcAl8fFQDVFQDqv39CHDMpnCqfMvL + ysrKVAj9/QiUlHBwCYDPy8/LylSG/f2GqoYIqgig0M/Py8t8qv39CP39/f2GpNDQ0M/PfAn9/ar9/f39 + qqT20NDQ0Hyq/f2G/f39/QmkpKSloKR8CP39CKoIhgiqCIYIqgiGCKr9/f39/f39/f39/f39/f39/f// + hv2AAf0ItAX9/bQFX2OABWNfgAU7O4ABNzeAAf39gAGq/YAB/YaAAf39vAE6h7wBX2O8AV9fgAE7N/// + /f0oAAAAIAAAAEAAAAABACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADCv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/ + wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/ + wf/Cv8H/AAAAAAAAAAAAAAAAAAAAAMK/wf8AAAAAAAAAAAAAAAAAAAAAwr/B/wAAAAAAAAAAAAAAAAAA + AAAAAAAAwr/B/7Z3Sf+zckT/rm0//6toO/+nYjb/pF4y/6BZLv+dVCr/mlEn/5dNI/+VSiH/kkce/5FE + HP+RRBz/kUUb/8K/wf8AAAAAAAAAAAAAAAAAAAAAwr/B/wAAAAAAAAAAAAAAAAAAAADCv8H/AAAAAAAA + AAAAAAAAAAAAAAAAAADCv8H/v4JS//+aZv//lWD/+5Bc//WLV//uh1P/54FO/997S//Wdkb/zXBD/8Vr + QP+9Zj3/tGI5/65dN/+RRRz/wr/B/wAAAAAAAAAAAAAAAAAAAADCv8H/AAAAAAAAAAAAAAAAAAAAAMK/ + wf8AAAAAAAAAAAAAAAAAAAAAAAAAAMK/wf/GjFv//6Rz//+fbf//m2f//5Zh//yRXf/3jVj/8IhV/+mD + UP/hfUz/2HhI/9ByRP/HbED/v2c9/5VJIf/Cv8H/AAAAAAAAAAAAAAAAAAAAAMK/wf8AAAAAAAAAAAAA + AAAAAAAAwr/B/wAAAAAAAAAAAAAAAAAAAAAAAAAAwr/B/86WZP//r4L//6p7//+mdf//oW7//5xo//+X + Yv/9kl7/+I5a//KJVf/rhFH/4n5N/9t4SP/Sc0X/mlEm/8K/wf8AAAAAAAAAAAAAAAAAAAAAwr/B/wAA + AAAAAAAAAAAAAAAAAADCv8H/AAAAAAAAAAAAAAAAAAAAAAAAAADCv8H/1J9s//+4kf//tIv//6+E//+r + ff//p3f//6Jw//+eav//mWT//pRf//qQWv/0i1b/7IVS/+V/Tv+gWC7/wr/B/wAAAAAAAAAAAAAAAAAA + AADCv8H/AAAAAAAAAAAAAAAAAAAAAMK/wf8AAAAAAAAAAAAAAAAAAAAAAAAAAMK/wf/apnP//7+d//+7 + mP//uJL//7WM//+whv//rH///6d4//+jcf//n2v//5ll//+VYP/6kVv/9YxY/6diN//Cv8H/AAAAAAAA + AAAAAAAAAAAAAMK/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/96t + eP//wqL//8Gi//+/nv//vJn//7mT//+2jv//sYj//66A//+pev//pHP//6Bt//+bZ///l2L/r20//8K/ + wf8AAAAAAAAAAAAAAAAAAAAAwr/B/xYXev8XF3b/GBVx/xkUbf8ZFGr/GhNm/xoSY/8bEV//HBFd/xwQ + W//Cv8H/4K96///Cov//wqL//8Ki///Cov//wJ///72b//+6lf//t4///7KJ//+ugv//qnv//6V0//+h + bv+3d0n/wr/B/wAAAAAAAAAAAAAAAAAAAADCv8H/FRqE/0dN1v8/RNL/Nz3Q/y40zv8nLcz/ISfK/xwh + yf8WHMf/GxJh/8K/wf/gr3r/4K96/+Cvev/gr3r/3614/9yqdf/apnL/16Nw/9Sea//Rmmj/zZZk/8qR + X//GjFz/w4dW/7+CUv/Cv8H/AAAAAAAAAAAAAAAAAAAAAMK/wf8SHZD/WF3a/05U1/9FS9X/PUPS/zU7 + 0P8uM83/JyzL/yAmyf8aFGn/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/ + wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf8AAAAAAAAAAAAAAAAAAAAAwr/B/xAfnP9obt7/YGTc/1Zb + 2f9NU9f/RUrU/ztB0v80OdD/LDHO/xgWcv/Cv8H/Dn+n/w18pP8MeqH/DHie/wt1m/8Kc5j/CXGV/wlv + k/8JbJD/CGqN/wdpi/8HZ4j/BmWH/wZkhf8GYoP/wr/B/wAAAAAAAAAAAAAAAAAAAADCv8H/DiKp/3l+ + 4/9vdeH/Zmze/11i2/9UWtn/S1HW/0NI1P86P9H/Fhh9/8K/wf8Ogar/Barp/wGo6P8Apef/AKPm/wCi + 5P8An+L/AJ7h/wCd3/8AnN7/AJnc/wCY2/8AmNn/AJbX/wZjhP/Cv8H/AAAAAAAAAAAAAAAAAAAAAMK/ + wf8MJbX/iI7n/4CF5v93fOP/bnPg/2Vr3f9bYdv/UljY/0lP1v8UGoj/wr/B/w+Erf8Lrur/Bqvq/wOo + 6f8Apuf/AKTm/wCi5f8AoOT/AJ/i/wCd4f8AnN//AJrd/wCZ2/8AmNr/BmWH/8K/wf8AAAAAAAAAAAAA + AAAAAAAAwr/B/wkowP+WnOz/jpTq/4aL6P9+hOX/dXri/2xx4P9jaN3/WV/b/xEek//Cv8H/EIaw/xay + 7P8Or+z/Cavr/wWq6v8Bp+j/AKbn/wCj5f8AoeT/AJ/j/wCe4f8AnOD/AJve/wCa3f8HZ4n/wr/B/wAA + AAAAAAAAAAAAAAAAAADCv8H/CCrK/6Ko7/+coe7/lZrr/42T6f+Fiub/fIHl/3N54v9rcN//ECGg/8K/ + wf8QiLP/I7nu/xq07f8Ssez/C63r/war6v8Cqen/AKbo/wCk5v8AouX/AKHk/wCf4f8AneH/AJzf/who + i//Cv8H/AAAAAAAAAAAAAAAAAAAAAMK/wf8GLNP/q7Hy/6as8P+hpu//mp/u/5OY6/+LkOj/g4nm/3qA + 5P8NI6z/wr/B/xCKtv8xvvD/J7rv/x627f8Vsuz/Dq/s/wmr6/8Equn/Aafo/wCl5/8Ao+X/AKHk/wCf + 4v8AnuH/CGqO/8K/wf8AAAAAAAAAAAAAAAAAAAAAwr/B/wUu2/+vtPP/r7Tz/6qv8v+mq/D/oKXv/5me + 7f+Sl+v/io/p/wsmt//Cv8H/Eo24/0HF8f82wfD/LLzv/yK47v8atO3/EbHs/wut6/8Gq+r/A6np/wCm + 6P8Apeb/AKLl/wCh5P8IbJD/wr/B/wAAAAAAAAAAAAAAAAAAAADCv8H/BC/h/wQv3/8FL9z/BS3Z/wYt + 1v8GLNL/ByvP/wgqy/8IKcb/CSnC/8K/wf8Sjrv/Uszy/0fH8f87w/H/Mb7v/ye67/8et+7/FbPt/w6v + 6/8IrOv/BKnp/wGo6P8Apef/AKPl/wluk//Cv8H/AAAAAAAAAAAAAAAAAAAAAMK/wf/Cv8H/wr/B/8K/ + wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/xKRvf9j0/P/WM/z/0zK8f9BxfH/N8Hw/yy8 + 7/8iuO7/GbTt/xGx7P8Lruv/Bqrq/wOo6f8Apuf/CnGV/8K/wf8AAAAAAAAAAAAAAAAAAAAAwr/B/wAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADCv8H/E5LA/3Ta8/9q1fP/XtHz/1LM + 8v9Hx/H/O8Pw/zG+7/8nu+//Hrbt/xay7f8Or+v/CKzq/wSq6f8Kc5j/wr/B/wAAAAAAAAAAAAAAAAAA + AADCv8H/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMK/wf8UlMH/hOD1/3rc + 9f9v2PP/ZNTy/1jO8v9NyvH/Qsbx/zbB8P8svO//I7ju/xm07f8SsOz/C67r/wt2m//Cv8H/AAAAAAAA + AAAAAAAAAAAAAMK/wf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwr/B/xSW + w/+T5vb/iuL1/3/e9P912vT/adbz/13R8/9SzPL/R8jx/zzD8P8xvvD/J7rv/x627v8Vsuz/C3ie/8K/ + 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 + + + + 570, 56 + + + 102 + + + + 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 + AqSkpAOkpKQDpKSkBKSkpASkpKQEpKSkBKSkpASkpKQEpKSkBKSkpASkpKQEpKSkBKSkpASkpKQEpKSk + BKSkpASkpKQFpKSkB6SkpAikpKQKpKSkCqSkpAqkpKQKpKSkCqSkpAqkpKQKpKSkCqSkpAqkpKQKpKSk + CqSkpAqkpKQKpKSkCqSkpAqkpKQKpKSkCqSkpAqkpKQKpKSkCqSkpAqkpKQKpKSkCqSkpAqkpKQKpKSk + CqSkpAqkpKQKpKSkCKSkpAekpKQFpKSkBKSkpASkpKQEpKSkBKSkpASkpKQEpKSkBKSkpASkpKQEpKSk + BKSkpASkpKQEpKSkBKSkpASkpKQDpKSkA6SkpAKkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAKSkpAGkpKQBpKSkAqSkpAOkpKQDpKSkBKSkpASkpKQEpKSkBqSkpAikpKQJpKSk + CqSkpAqkpKQKpKSkCqSkpAqkpKQLpKSkDKSkpA6kpKQRpKSkFKSkpBWkpKQWpKSkFqSkpBakpKQWpKSk + FqSkpBakpKQWpKSkFqSkpBakpKQWpKSkFqSkpBakpKQWpKSkF6SkpBqkpKQepKSkI6SkpCakpKQnpKSk + J6SkpCekpKQnpKSkJ6SkpCekpKQnpKSkJ6SkpCekpKQnpKSkJ6SkpCekpKQnpKSkJ6SkpCekpKQnpKSk + J6SkpCekpKQnpKSkJ6SkpCekpKQnpKSkJ6SkpCekpKQnpKSkJ6SkpCakpKQjpKSkHqSkpBqkpKQXpKSk + FqSkpBakpKQWpKSkFqSkpBakpKQWpKSkFqSkpBakpKQWpKSkFqSkpBakpKQWpKSkFqSkpBWkpKQUpKSk + EaSkpA6kpKQMpKSkC6SkpAqkpKQKpKSkCqSkpAqkpKQKpKSkCaSkpAikpKQGpKSkBKSkpASkpKQEpKSk + A6SkpAOkpKQCpKSkAaSkpAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAACkpKQBpKSkAqSkpAOkpKQEpKSkBqSkpAikpKQJpKSkC6SkpA2kpKQQpKSk + E6SkpBSkpKQWpKSkF6SkpBikpKQcpKSkIaSkpCSkpKQnpKSkJ6SkpCekpKQnpKSkJ6SkpCmkpKQrpKSk + MKSkpDakpKQ8pKSkP6SkpD+kpKRApKSkQKSkpECkpKRApKSkQKSkpECkpKRApKSkQKSkpECkpKRApKSk + QKSkpECkpKRCpKSkR6SkpE6kpKRVpKSkWqSkpFykpKRdpKSkXqSkpF6kpKRepKSkXqSkpF6kpKRepKSk + XqSkpF6kpKRepKSkXqSkpF6kpKRepKSkXqSkpF6kpKRepKSkXqSkpF6kpKRepKSkXqSkpF6kpKRepKSk + XqSkpF2kpKRcpKSkWqSkpFWkpKROpKSkR6SkpEKkpKRApKSkQKSkpECkpKRApKSkQKSkpECkpKRApKSk + QKSkpECkpKRApKSkQKSkpECkpKQ/pKSkP6SkpDykpKQ2pKSkMKSkpCukpKQppKSkJ6SkpCekpKQnpKSk + J6SkpCekpKQkpKSkIaSkpBykpKQYpKSkF6SkpBakpKQUpKSkE6SkpBCkpKQNpKSkC6SkpAmkpKQIpKSk + BqSkpASkpKQDpKSkAqSkpAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkpKQCpKSkBqSkpAukpKQPpKSk + E6SkpBikpKQcpKSkIaSkpCWkpKQopKSkLaSkpDOkpKQ5pKSkPaSkpD+kpKRBpKSkRKSkpEqkpKRSpKSk + WKSkpFykpKRdpKSkXqSkpF6kpKRepKSkX6SkpGKkpKRppKSkcaSkpHmkpKR9pKSkf6SkpH+kpKR+pKSk + fqSkpH6kpKR+pKSkfqSkpH6kpKR+pKSkfqSkpH6kpKR+pKSkfqSkpIKkpKSHpKSkj6SkpJekpKSdpKSk + n6SkpKCkpKSgpKSkoKSkpKCkpKSgpKSkoKSkpKCkpKSgpKSkoKSkpKCkpKSgpKSkoKSkpKCkpKSgpKSk + oKSkpKCkpKSgpKSkoKSkpKCkpKSgpKSkoKSkpKCkpKSgpKSkoKSkpJ+kpKSdpKSkl6SkpI+kpKSHpKSk + gqSkpH6kpKR+pKSkfqSkpH6kpKR+pKSkfqSkpH6kpKR+pKSkfqSkpH6kpKR+pKSkf6SkpH+kpKR9pKSk + eaSkpHGkpKRppKSkYqSkpF+kpKRepKSkXqSkpF6kpKRdpKSkXKSkpFikpKRSpKSkSqSkpESkpKRBpKSk + P6SkpD2kpKQ5pKSkM6SkpC2kpKQopKSkJaSkpCGkpKQcpKSkGKSkpBOkpKQPpKSkC6SkpAakpKQCAAAA + AAAAAAAAAAAApKSkA6SkpAukpKQXpKSkJKSkpDCkpKQ5pKSkQaSkpEqkpKRSpKSkWaSkpF6kpKRlpKSk + baSkpHakpKR8pKSkfqSkpH+kpKSEpKSki6SkpJOkpKSapKSknqSkpJ+kpKSgpKSkoKSkpKCkpKShpKSk + pKSkpKukpKSypKSkuKSkpLykpKS9pKSkvaSkpL6kpKS+pKSkvqSkpL6kpKS+pKSkvqSkpL6kpKS+pKSk + vqSkpL6kpKS+pKSkv6SkpMOkpKTJpKSkz6SkpNOkpKTVpKSk1aSkpNakpKTWpKSk1qSkpNakpKTWpKSk + 1qSkpNakpKTWpKSk1qSkpNakpKTWpKSk1qSkpNakpKTWpKSk1qSkpNakpKTWpKSk1qSkpNakpKTWpKSk + 1qSkpNakpKTVpKSk1aSkpNOkpKTPpKSkyaSkpMOkpKS/pKSkvqSkpL6kpKS+pKSkvqSkpL6kpKS+pKSk + vqSkpL6kpKS+pKSkvqSkpL6kpKS9pKSkvaSkpLykpKS4pKSksqSkpKukpKSkpKSkoaSkpKCkpKSgpKSk + oKSkpJ+kpKSepKSkmqSkpJOkpKSLpKSkhKSkpH+kpKR+pKSkfKSkpHakpKRtpKSkZaSkpF6kpKRZpKSk + UqSkpEqkpKRBpKSkOaSkpDCkpKQkpKSkF6SkpAukpKQDAAAAAKSkpAGkpKQKpKSkG6SkpDSkpKRNpKSk + Y6SkpHKkpKR9pKSkh6SkpJCkpKSZpKSkn6SkpKWkpKStpKSktKSkpLqkpKS8pKSkvaSkpMCkpKTGpKSk + zKSkpNGkpKTUpKSk1aSkpNWkpKTVpKSk1aSkpNakpKTYpKSk26SkpOCkpKTkpKSk5qSkpOekpKTnpKSk + 6KSkpOikpKTopKSk6KSkpOikpKTopKSk6KSkpOikpKTopKSk6KSkpOikpKTopKSk6qSkpOykpKTvpKSk + 8aSkpPKkpKTzpKSk86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk + 86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk86SkpPOkpKTypKSk8aSkpO+kpKTspKSk + 6qSkpOikpKTopKSk6KSkpOikpKTopKSk6KSkpOikpKTopKSk6KSkpOikpKTopKSk6KSkpOekpKTnpKSk + 5qSkpOSkpKTgpKSk26SkpNikpKTWpKSk1aSkpNWkpKTVpKSk1aSkpNSkpKTRpKSkzKSkpMakpKTApKSk + vaSkpLykpKS6pKSktKSkpK2kpKSlpKSkn6SkpJmkpKSQpKSkh6SkpH2kpKRypKSkY6SkpE2kpKQ0pKSk + G6SkpAqkpKQBpKSkA6SkpBCkpKQqpKSkTaSkpHCkpKSNpKSkoKSkpK2kpKS3pKSkwKSkpMikpKTMpKSk + 0qSkpNikpKTcpKSk4KSkpOKkpKTkpKSk5aSkpOikpKTspKSk7qSkpPCkpKTwpKSk8KSkpPGkpKTxpKSk + 8qSkpPOkpKT0pKSk9qSkpPekpKT4pKSk+aSkpPmkpKT5pKSk+aSkpPmkpKT5pKSk+aSkpPmkpKT6pKSk + +qSkpPqkpKT6pKSk+qSkpPqkpKT6pKSk+qSkpPukpKT8pKSk/aSkpP2kpKT9pKSk/aSkpP2kpKT9pKSk + /aSkpP2kpKT9pKSk/aSkpP2kpKT9pKSk/aSkpP2kpKT9pKSk/aSkpP2kpKT9pKSk/aSkpP2kpKT9pKSk + /aSkpP2kpKT9pKSk/aSkpP2kpKT8pKSk+6SkpPqkpKT6pKSk+qSkpPqkpKT6pKSk+qSkpPqkpKT6pKSk + +aSkpPmkpKT5pKSk+aSkpPmkpKT5pKSk+aSkpPmkpKT4pKSk96SkpPakpKT0pKSk86SkpPKkpKTxpKSk + 8aSkpPCkpKTwpKSk8KSkpO6kpKTspKSk6KSkpOWkpKTkpKSk4qSkpOCkpKTcpKSk2KSkpNKkpKTMpKSk + yKSkpMCkpKS3pKSkraSkpKCkpKSNpKSkcKSkpE2kpKQqpKSkEKSkpAOkpKQDpKSkEKSkpCukpKRQpKSk + dKSkpJKkpKSkpKSksqSkpLykpKTFpKSkzKSkpNOkpKTXpKSk3qSkpN+kpKTipKSk5aSkpOikpKTrpKSk + 7aSkpO+kpKTwpKSk8KSkpPGkpKTypKSk86SkpPWkpKT2pKSk96SkpPekpKT4pKSk+KSkpPmkpKT5pKSk + +aSkpPmkpKT5pKSk+aSkpPqkpKT7pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk + /KSkpP2kpKT9pKSk/aSkpP2kpKT9pKSk/aSkpP2kpKT9pKSk/aSkpP2kpKT9pKSk/aSkpP2kpKT9pKSk + /aSkpP2kpKT9pKSk/aSkpP2kpKT9pKSk/aSkpP2kpKT9pKSk/aSkpP2kpKT9pKSk/aSkpP2kpKT8pKSk + /KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk+6SkpPqkpKT5pKSk+aSkpPmkpKT5pKSk + +aSkpPmkpKT4pKSk+KSkpPekpKT3pKSk9qSkpPWkpKTzpKSk8qSkpPGkpKTwpKSk8KSkpO+kpKTtpKSk + 66SkpOikpKTlpKSk4qSkpN+kpKTepKSk16SkpNOkpKTMpKSkxaSkpLykpKSypKSkpKSkpJKkpKR0pKSk + UKSkpCukpKQQpKSkA6SkpAKkpKQLpKSkIKSkpDqkpKRWpKSkbKSkpHykpKSJpKSkk6SkpJykpKSkpKSk + rKSkpLSkpKS5pKSkvKSkpMCkpKTFpKSky6SkpNCkpKTTpKSk1aSkpNWkpKTVpKSk1qSkpNmkpKTepKSk + 4qSkpOWkpKTmpKSk56SkpOikpKTopKSk6KSkpOikpKTopKSk6KSkpOikpKTqpKSk7KSkpO+kpKTxpKSk + 8qSkpPOkpKTzpKSk86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk + 86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk + 86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk + 8qSkpPGkpKTvpKSk7KSkpOqkpKTopKSk6KSkpOikpKTopKSk6KSkpOikpKTopKSk56SkpOakpKTlpKSk + 4qSkpN6kpKTZpKSk1qSkpNWkpKTVpKSk1aSkpNOkpKTQpKSky6SkpMWkpKTApKSkvKSkpLmkpKS0pKSk + rKSkpKSkpKScpKSkk6SkpImkpKR8pKSkbKSkpFakpKQ6pKSkIKSkpAukpKQCAAAAAKSkpAWkpKQOpKSk + HKSkpCykpKQ4pKSkQ6SkpE2kpKRVpKSkXaSkpGWkpKRtpKSkdqSkpHykpKR+pKSkhKSkpIukpKSTpKSk + mqSkpJ6kpKSfpKSkoKSkpKCkpKSipKSkp6SkpK6kpKS1pKSkuqSkpLykpKS9pKSkvqSkpL6kpKS+pKSk + vqSkpL6kpKS+pKSkv6SkpMOkpKTJpKSkz6SkpNOkpKTVpKSk1aSkpNakpKTWpKSk1qSkpNakpKTWpKSk + 1qSkpNakpKTWpKSk1qSkpNakpKTWpKSk1qSkpNakpKTWpKSk1qSkpNakpKTWpKSk1qSkpNakpKTWpKSk + 1qSkpNakpKTWpKSk1qSkpNakpKTWpKSk1qSkpNakpKTWpKSk1qSkpNakpKTWpKSk1qSkpNakpKTWpKSk + 1qSkpNakpKTWpKSk1qSkpNakpKTWpKSk1qSkpNWkpKTVpKSk06SkpM+kpKTJpKSkw6SkpL+kpKS+pKSk + vqSkpL6kpKS+pKSkvqSkpL6kpKS9pKSkvKSkpLqkpKS1pKSkrqSkpKekpKSipKSkoKSkpKCkpKSfpKSk + nqSkpJqkpKSTpKSki6SkpISkpKR+pKSkfKSkpHakpKRtpKSkZaSkpF2kpKRVpKSkTaSkpEOkpKQ4pKSk + LKSkpBykpKQOpKSkBQAAAAAAAAAAAAAAAKSkpAOkpKQIpKSkDqSkpBSkpKQZpKSkHqSkpCOkpKQopKSk + LaSkpDOkpKQ5pKSkPaSkpECkpKREpKSkSqSkpFKkpKRYpKSkXKSkpF2kpKRepKSkXqSkpGCkpKRlpKSk + baSkpHWkpKR8pKSkfqSkpH+kpKR+pKSkfqSkpH6kpKR+pKSkfqSkpH6kpKSCpKSkh6SkpI+kpKSXpKSk + naSkpJ+kpKSgpKSkoKSkpKCkpKSgpKSkoKSkpKCkpKSgpKSkoKSkpKCkpKSgpKSkoKSkpKCkpKSgpKSk + oKSkpKCkpKSgpKSkoKSkpKCkpKSgpKSkoKSkpKCkpKSgpKSkoKSkpKCkpKSgpKSkoKSkpKCkpKSgpKSk + oKSkpKCkpKSgpKSkoKSkpKCkpKSgpKSkoKSkpKCkpKSgpKSkoKSkpKCkpKSgpKSkoKSkpKCkpKSgpKSk + oKSkpJ+kpKSdpKSkl6SkpI+kpKSHpKSkgqSkpH6kpKR+pKSkfqSkpH6kpKR+pKSkfqSkpH+kpKR+pKSk + fKSkpHWkpKRtpKSkZaSkpGCkpKRepKSkXqSkpF2kpKRcpKSkWKSkpFKkpKRKpKSkRKSkpECkpKQ9pKSk + OaSkpDOkpKQtpKSkKKSkpCOkpKQepKSkGaSkpBSkpKQOpKSkCKSkpAMAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAACkpKQCpKSkA6SkpAWkpKQHpKSkCaSkpAukpKQNpKSkEKSkpBOkpKQUpKSkFqSkpBikpKQcpKSk + IaSkpCSkpKQnpKSkJ6SkpCekpKQopKSkKqSkpC2kpKQzpKSkOaSkpD2kpKQ/pKSkQKSkpECkpKRApKSk + QKSkpECkpKRApKSkQKSkpEKkpKRHpKSkTqSkpFWkpKRapKSkXKSkpF2kpKRepKSkXqSkpF6kpKRepKSk + XqSkpF6kpKRepKSkXqSkpF6kpKRepKSkXqSkpF6kpKRepKSkXqSkpF6kpKRepKSkXqSkpF6kpKRepKSk + XqSkpF6kpKRepKSkXqSkpF6kpKRepKSkXqSkpF6kpKRepKSkXqSkpF6kpKRepKSkXqSkpF6kpKRepKSk + XqSkpl2kpKZco6SnW6OlqFqjpahZo6WoWaOlqFmjpahYo6WoV6OlqVWjpalQo6WpSaOlqUKkpag+pKSm + PaSkpj6kpKRApKSkQKSkpECkpKRApKSkQKSkpD+kpKQ9pKSkOaSkpDOkpKQtpKSkKqSkpCikpKQnpKSk + J6SkpCekpKQkpKSkIaSkpBykpKQYpKSkFqSkpBSkpKQTpKSkEKSkpA2kpKQLpKSkCaSkpAekpKQFpKSk + A6SkpAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApKSk + AaSkpAGkpKQCpKSkA6SkpAOkpKQEpKSkBKSkpAakpKQIpKSkCaSkpAqkpKQKpKSkCqSkpAqkpKQLpKSk + DaSkpBCkpKQTpKSkFKSkpBakpKQWpKSkFqSkpBakpKQWpKSkFqSkpBakpKQWpKSkF6SkpBqkpKQepKSk + I6SkpCakpKQnpKSkJ6SkpCekpKQnpKSkJ6SkpCekpKQnpKSkJ6SkpCekpKQnpKSkJ6SkpCekpKQnpKSk + J6SkpCekpKQnpKSkJ6SkpCekpKQnpKSkJ6SkpCekpKQnpKSkJ6SkpCekpKQnpKSkJ6SkpCekpKQnpKSk + J6SkpCekpKQnpKSlJ6SkpSekpKYmpKSnJKSlqiKkoqAkpJZ1UaSUcIWmjVKrp4lBzaiIPOeohjr/qIc6 + /6iHOv+ohzr/qIc5/6eFN/+mhDfmpYM30KSEO7Ojkm2Bo5FtUqOdkBqkpqoRpKWoE6SlqBWkpKYWpKSm + FqSkphSkpKYTpKSlEKSkpQ2kpKULoqGhCqKjowqkpKQKpKSkCqSkpAmkpKQIpKSkBqSkpASkpKQEpKSk + A6SkpAOkpKQCpKSkAaSkpAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAKSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAqSkpAOkpKQDpKSkBKSkpASkpKQEpKSk + BKSkpASkpKQEpKSkBKSkpASkpKQEpKSkBaSkpAekpKQIpKSkCqSkpAqkpKQKpKSkCqSkpAqkpKQKpKSk + CqSkpAqkpKQKpKSkCqSkpAqkpKQKpKSkCqSkpAqkpKQKpKSkCqSkpAqkpKQKpKSkCqSkpAqkpKQKpKSk + CqSkpAqkpKQKoqOjCqKioAqjoZ4Ko6CbCqOflwqjnpQKo52QCqOcjQqhm4sJopuLBqKVfBOikGlqon0u + taJ8KfiifCv/onws/6F9Lf+hfS7/oX0u/6F9Lv+hfS7/oX0u/6F9Lv+hfS7/oH0t/6B9LP+ffCv/n3wr + /596Kf+feij/n3on/595JsSfgj9xn4ZNGQAAAACgkW0CoJJyA6KUdwOhln4CoZiFAaGcjQGjnpQBo6Ca + AaOinwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAApKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSk + AaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBoqOjAaKioAGjoJoBo56TAaGbiwGil4MBopZ6 + AaCScwEAAAAAAAAAAJ+ERzieeSeqnnkl/p55Jv+eein/nnop/556Kf+eein/nnop/556Kf+eein/nnop + /556Kf+eein/nnop/556Kf+eeij/nnoo/556KP+eeij/nnoo/556KP+eeij/nnoo/556J/+eeib/nnkk + uqCEQ1EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKCCQjqeeSTDnnon/596KP+feyj/n3so + /597KP+feyj/n3so/597KP+feyj/n3so/597KP+feyj/n3so/597KP+feyj/n3so/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/nnon/556JuGefTBcAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AJ6AOiSeeSW/nnon/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/596KP+feibdnn0zQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACeeyt+n3on/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feij/n3oo + qp96JwsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACfeigbn3oo + 1Z96KP+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp7597KT0AAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAn3spRp97Kfufeyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597KXoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ97KW2feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597KaIAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAACfeyl+n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Ka8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAn3spcZ97Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Ka8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAJ97KWCfeyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597KZ0AAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACfeyk5n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597KXEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAn3spE597Ke+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597KTQAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACfeynAn3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp6597KQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAn3spZJ97Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + oQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ97KQufeyn3n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3spNQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAn3spmJ97Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feynRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ97KRyfeyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feylLAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAn3spnJ97Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597KdQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ97KQufeyn+n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597KT4AAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAn3spcp97Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sprQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACfeynTn3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn+n3sp + BwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAn3spHZ97Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyldAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACeeih3nnoo/556KP+eeij/nnoo + /556KP+eeij/nnoo/556KP+eeij/nnoo/556KP+eeij/nnoo/556KP+eeij/nnoo/556KP+eeij/nnoo + /556KP+eeij/nnoo/556KP+eeij/nnoo/556KP+eeij/nnoo/556KP+eeij/nnoo/556KP+eeij/nnoo + /556KP+eeij/nnoo/556KP+eeij/nnoo/556KP+eeij/nnoo/556KP+eeij/nnoo/556KP+eeij/nnoo + /556KP+eeij/nnoo/556KP+eeij/nnoo/556KP+eeij/nnoo/556KP+eeij/nnoo/556KP+eeij/nnoo + /556KK0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAKB8KbmffCr/n3wq/598Kv+ffCr/n3wq/598Kv+ffCr/n3wq/598Kv+ffCr/n3wq + /598Kv+ffCr/n3wq/598Kv+ffCr/n3wq/598Kv+ffCr/n3wq/598Kv+ffCr/n3wq/598Kv+ffCr/n3wq + /598Kv+ffCr/n3wq/598Kv+ffCr/n3wq/598Kv+ffCr/n3wq/598Kv+ffCr/n3wq/598Kv+ffCr/n3wq + /598Kv+ffCr/n3wq/598Kv+ffCr/n3wq/598Kv+ffCr/n3wq/598Kv+ffCr/n3wq/598Kv+ffCr/n3wq + /598Kv+ffCr/n3wq/598Kv+ffCr/n3wq/598Kv+ffCr/n3sp9QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAon0q+aJ8Kv+ifCr/onwq + /6J8Kv+ifCr/onwq/6J8Kv+ifCr/onwq/6J8Kv+ifCr/onwq/6J8Kv+ifCr/onwq/6J8Kv+ifCr/onwq + /6J8Kv+ifCr/onwq/6J8Kv+ifCr/onwq/6J8Kv+ifCr/onwq/6J8Kv+ifCr/onwq/6J8Kv+ifCr/onwq + /6J8Kv+ifCr/onwq/6J8Kv+ifCr/onwq/6J8Kv+ifCr/onwq/6J8Kv+ifCr/onwq/6J8Kv+ifCr/onwq + /6J8Kv+ifCr/onwq/6J8Kv+ifCr/onwq/6J8Kv+ifCr/onwq/6J8Kv+ifCr/onwq/6J8Kv+ifCr/onwq + /6J8Kv+ifCr/onwqKgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAJJyNiajfyz/on8t/6J/Lf+ify3/on8t/6J/Lf+ify3/on8t/6J/Lf+ify3/on8t + /6J/Lf+ify3/on8t/6J/Lf+ify3/on8t/6J/Lf+ify3/on8t/6J/Lf+ify3/on8t/6J/Lf+ify3/on8t + /6J/Lf+ify3/on8t/6J/Lf+ify3/on8t/6J/Lf+ify3/on8t/6J/Lf+ify3/on8t/6J/Lf+ify3/on8t + /6J/Lf+ify3/on8t/6J/Lf+ify3/on8t/6J/Lf+ify3/on8t/6J/Lf+ify3/on8t/6J/Lf+ify3/on8t + /6J/Lf+ify3/on8t/6J/Lf+ify3/on8t/6J/Lf+ify3/on8t/6J/Lf+ify1dAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsLgTcLC4FuCwuBoAsLgcYLC4HjCwuB/QsLgf8LC4H/CwuB + /wsLgf8LC4HjCwuBygsLgakLC4F2CwuBRAoKgQQAAAAAAAAAAAAAAAAAAAAAjW49UKaALv+lfy//pX8v + /6V/L/+lfy//pX8v/6V/L/+lfy//pX8v/6V/L/+lfy//pX8v/6V/L/+lfy//pX8v/6V/L/+lfy//pX8v + /6V/L/+lfy//pX8v/6V/L/+lfy//pX8v/6V/L/+lfy//pX8v/6V/L/+lfy//pX8v/6V/L/+lfy//pX8v + /6V/L/+lfy//pX8v/6V/L/+lfy//pX8v/6V/L/+lfy//pX8v/6V/L/+lfy//pX8v/6V/L/+lfy//pX8v + /6V/L/+lfy//pX8v/6V/L/+lfy//pX8v/6V/L/+lfy//pX8v/6V/L/+lfy//pX8v/6V/L/+lfy//pX8v + /6V/L/+lfy//pX8v/6V/L4sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALC4EMCwuBYQsLgboLC4H+CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /woKgcYRD352JR93FAAAAACLbEV1qIIu/6eCL/+ngi//p4Iv/6eCL/+ngi//p4Iv/6eCL/+ngi//p4Iv + /6eCL/+ngi//p4Iv/6eCL/+ngi//p4Iv/6eCL/+ngi//p4Iv/6eCL/+ngi//p4Iv/6eCL/+ngi//p4Iv + /6eCL/+ngi//p4Iv/6eCL/+ngi//p4Iv/6eCL/+ngi//p4Iv/6eCL/+ngi//p4Iv/6eCL/+ngi//p4Iv + /6eCL/+ngi//p4Iv/6eCL/+ngi//p4Iv/6eCL/+ngi//p4Iv/6eCL/+ngi//p4Iv/6eCL/+ngi//p4Iv + /6eCL/+ngi//p4Iv/6eCL/+ngi//p4Iv/6eCL/+ngi//p4Iv/6eCL/+ngi//p4IvsQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAALC4E2CwuBrQsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/woKgf8JCYH/AAKEt5JyS8Kqgyz/qIIw + /6mCMv+pgjL/qYIy/6mCMv+pgjL/qYIy/6mCMv+pgjL/qYIy/6mCMv+pgjL/qYIy/6mCMv+pgjL/qYIy + /6mCMv+pgjL/qYIy/6mCMv+pgjL/qYIy/6mCMv+pgjL/qYIy/6mCMv+pgjL/qYIy/6mCMv+pgjL/qYIy + /6mCMv+pgjL/qYIy/6mCMv+pgjL/qYIy/6mCMv+pgjL/qYIy/6mCMv+pgjL/qYIy/6mCMv+pgjL/qYIy + /6mCMv+pgjL/qYIy/6mCMv+pgjL/qYIy/6mCMv+pgjL/qYIy/6mCMv+pgjL/qYIy/6mCMv+pgjL/qYIy + /6mCMv+pgjL/qYIy/6mCMv+pgjLOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALC4E6CwuBwwsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8FB4D/c1yV/7GLkv+rhVX/qYQt/6mFMf+phTL/qYUy/6mFMv+phTL/qYUy + /6mFMv+phTL/qYUy/6mFMv+phTL/qYUy/6mFMv+phTL/qYUy/6mFMv+phTL/qYUy/6mFMv+phTL/qYUy + /6mFMv+phTL/qYUy/6mFMv+phTL/qYUy/6mFMv+phTL/qYUy/6mFMv+phTL/qYUy/6mFMv+phTL/qYUy + /6mFMv+phTL/qYUy/6mFMv+phTL/qYUy/6mFMv+phTL/qYUy/6mFMv+phTL/qYUy/6mFMv+phTL/qYUy + /6mFMv+phTL/qYUy/6mFMv+phTL/qYUy/6mFMv+phTL/qYUy/6mFMv+phTL/qYQy/6mFMuQAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALC4EXCwuB + twsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wUGf/+KbpT/tZKd + /7CKn/+vion/rIZG/6uFMf+shTT/rIU1/6yFNf+shTX/rIU1/6yFNf+shTX/rIU1/6yFNf+shTX/rIU1 + /6yFNf+shTX/rIU1/6yFNf+shTX/rIU1/6yFNf+shTX/rIU1/6yFNf+shTX/rIU1/6yFNf+shTX/rIU1 + /6yFNf+shTX/rIU1/6yFNf+shTX/rIU1/6yFNf+shTX/rIU1/6yFNf+shTX/rIU1/6yFNf+shTX/rIU1 + /6yFNf+shTX/rIU1/6yFNf+shTX/rIU1/6yFNf+shTX/rIU1/6yFNf+shTX/rIU1/6yFNf+shTX/rIU1 + /6yFNf+shTX/rIU1/6uFNP+wizv/q4U05wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAACwuBbQsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/BQZ//4ptlf/IqKP/r4ub/7GNnf+wjJ//r4pt/62HMv+uiDX/rog1 + /66INf+uiDX/rog1/66INf+uiDX/rog1/66INf+uiDX/rog1/66INf+uiDX/rog1/66INf+uiDX/rog1 + /66INf+uiDX/rog1/66INf+uiDX/rog1/66INf+uiDX/rog1/66INf+uiDX/rog1/66INf+uiDX/rog1 + /66INf+uiDX/rog1/66INf+uiDX/rog1/66INf+uiDX/rog1/66INf+uiDX/rog1/66INf+uiDX/rog1 + /66INf+uiDX/rog1/66INf+uiDX/rog1/66INf+uiDX/rog1/66INf+uiDX/rYc1/7iVR/+thzT/AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwuBCgsLgbsLC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8FBn//i2+W + /8Wkov+xjJz/sY2d/7KOnf+yjqD/so2O/6+JQP+uiDX/rog4/66IOP+uiDj/rog4/66IOP+uiDj/rog4 + /66IOP+uiDj/rog4/66IOP+uiDj/rog4/66IOP+uiDj/rog4/66IOP+uiDj/rog4/66IOP+uiDj/rog4 + /66IOP+uiDj/rog4/66IOP+uiDj/rog4/66IOP+uiDj/rog4/66IOP+uiDj/rog4/66IOP+uiDj/rog4 + /66IOP+uiDj/rog4/66IOP+uiDj/rog4/66IOP+uiDj/rog4/66IOP+uiDj/rog4/66IOP+uiDj/rog4 + /66IOP+uiDj/rog4/66IOP+uhzb/v5xQ/62HNv0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAsLgR8LC4HnCwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wUGf/+DaZX/y6uk/7KOnf+0kJ7/tJCe/7SQnv+0kJ//tI+d + /7GLT/+wijf/sYs6/7GLOv+xizr/sYs6/7GLOv+xizr/sYs6/7GLOv+xizr/sYs6/7GLOv+xizr/sYs6 + /7GLOv+xizr/sYs6/7GLOv+xizr/sYs6/7GLOv+xizr/sYs6/7GLOv+xizr/sYs6/7GLOv+xizr/sYs6 + /7GLOv+xizr/sYs6/7GLOv+xizr/sYs6/7GLOv+xizr/sYs6/7GLOv+xizr/sYs6/7GLOv+xizr/sYs6 + /7GLOv+xizr/sYs6/7GLOv+xizr/sYs6/7GLOv+xizr/sYs6/7GLOv+xizr/sYs6/6+JOP/JqWD/r4k3 + 4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALC4E0CwuB9wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/BQeA + /3Vek//Ssab/tI6d/7aQnf+2kJ3/tpCd/7aQnf+2kZ7/tpGj/7OMV/+yizf/s4s6/7OLOv+zizr/s4s6 + /7OLOv+zizr/s4s6/7OLOv+zizr/s4s6/7OLOv+zizr/s4s6/7OLOv+zizr/s4s6/7OLOv+zizr/s4s6 + /7OLOv+zizr/s4s6/7OLOv+zizr/s4s6/7OLOv+zizr/s4s6/7OLOv+zizr/s4s6/7OLOv+zizr/s4s6 + /7OLOv+zizr/s4s6/7OLOv+zizr/s4s6/7OLOv+zizr/s4s6/7OLOv+zizr/s4s6/7OLOv+zizr/s4s6 + /7OLOv+zizr/s4s6/7OLOv+zizr/sYo5/8mpYf+xijjgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAACwuBNAsLgfsLC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8GB4D/ZVKQ/8qppP/DoKP/tpKe/7aTn/+2k5//tpOf + /7aTn/+2k5//t5Kj/7SOWf+zjTn/s449/7OOPf+zjj3/s449/7OOPf+zjj3/s449/7OOPf+zjj3/s449 + /7OOPf+zjj3/s449/7OOPf+zjj3/s449/7OOPf+zjj3/s449/7OOPf+zjj3/s449/7OOPf+zjj3/s449 + /7OOPf+zjj3/s449/7OOPf+zjj3/s449/7OOPf+zjj3/s449/7OOPf+zjj3/s449/7OOPf+zjj3/s449 + /7OOPf+zjj3/s449/7OOPf+zjj3/s449/7OOPf+zjj3/s449/7OOPf+zjj3/s449/7OOPf+yizr/0bFr + /7KLOsIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsLgScLC4H7CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wcIgP9SQo3/wZyh/9Kzp/+3kp//uZOg/7mToP+5k6D/uZOg/7mToP+5lKD/uZSk/7aPWv+1jjv/to49 + /7aOPf+2jj3/to49/7aOPf+2jj3/to49/7aOPf+2jj3/to49/7aOPf+2jj3/to49/7aOPf+2jj3/to49 + /7aOPf+2jj3/to49/7aOPf+2jj3/to49/7aOPf+2jj3/to49/7aOPf+2jj3/to49/7aOPf+2jj3/to49 + /7aOPf+2jj3/to49/7aOPf+2jj3/to49/7aOPf+2jj3/to49/7aOPf+2jj3/to49/7aOPf+2jj3/to49 + /7aOPf+2jj3/to49/7aOPf+2jj3/tY49/76ZTP/Nq2P/tIw7oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAALC4EOCwuB7wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CAmA/zUriP+/maH/3L+q/7mToP+7lqH/u5ah + /7uWof+7lqH/u5ah/7uWof+7lqH/u5Wi/7iRTv+4kT7/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA + /7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA + /7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA + /7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+2jz3/0rNr + /7yWRv+6lER2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsLgc0LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8KCoD/Dw6B/8Ocov/gxKv/uZSg/7uXoP+7l6D/u5eg/7uXoP+7l6D/u5eg/7uXoP+7l6H/vJed + /7iRQv+4kkD/uJJA/7iSQP+4kkD/uJJA/7iSQP+4kkD/uJJA/7iSQP+4kkD/uJJA/7iSQP+4kkD/uJJA + /7iSQP+4kkD/uJJA/7iSQP+4kkD/uJJA/7iSQP+4kkD/uJJA/7iSQP+4kkD/uJJA/7iSQP+4kkD/uJJA + /7iSQP+4kkD/uJJA/7iSQP+4kkD/uJJA/7iSQP+4kkD/uJJA/7iSQP+4kkD/uJJA/7iSQP+4kkD/uJJA + /7iSQP+4kkD/uJJA/7iSQP+4kkD/uJJA/7ePPv/dwH3/to89/7yWRkgAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAALC4GMCwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8CBH//q4ed/97CrP/DnqP/vZeh + /76Xov++l6L/vpei/76Xov++l6L/vpei/76Xov++mKP/vZeJ/7qSPf+7kkP/u5JD/7uSQ/+7kkP/u5JD + /7uSQ/+7kkP/u5JD/7uSQ/+7kkP/u5JD/7uSQ/+7kkP/u5JD/7uSQ/+7kkP/u5JD/7uSQ/+7kkP/u5JD + /7uSQ/+7kkP/u5JD/7uSQ/+7kkP/u5JD/7uSQ/+7kkP/u5JD/7uSQ/+7kkP/u5JD/7uSQ/+7kkP/u5JD + /7uSQ/+7kkP/u5JD/7uSQ/+7kkP/u5JD/7uSQ/+7kkP/u5JD/7uSQ/+7kkP/u5JD/7uSQ/+7kkP/uI8+ + /+PHh/+4kD//vphJDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwuBMAsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wUGf/99ZZb/y6al/93Bq/++mKL/wJqj/8Cao//AmqP/wJqj/8Cao//AmqP/wJqj + /8Cao//Amqf/vZVk/7yUQf+9lUP/vZVD/72VQ/+9lUP/vZVD/72VQ/+9lUP/vZVD/72VQ/+9lUP/vZVD + /72VQ/+9lUP/vZVD/72VQ/+9lUP/vZVD/72VQ/+9lUP/vZVD/72VQ/+9lUP/vZVD/72VQ/+9lUP/vZVD + /72VQ/+9lUP/vZVD/72VQ/+9lUP/vZVD/72VQ/+9lUP/vZVD/72VQ/+9lUP/vZVD/72VQ/+9lUP/vZVD + /72VQ/+9lUP/vZVD/72VQ/+9lUP/vZVD/7yTQv/NqV//1rdw/7uSQNcAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAALC4HZCwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/BwiA/0Y5i//FnKT/7dWw + /7+Xo//Cm6T/wpuk/8KbpP/Cm6T/wpuk/8KbpP/Cm6T/wpuk/8KbpP/BmqH/vpZG/7+XRf+/l0b/v5dG + /7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG + /7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG + /7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/vJRC + /+fMjP/Bmkv/wJlJiwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwuBZQsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8KCoD/CAh//8adpP/kyK3/zqmn/8KbpP/Cm6X/wpul/8Kbpf/Cm6X/wpul + /8Kbpf/Cm6X/wpul/8Ocp//Cmnz/v5dE/7+XSP+/l0j/v5dI/7+XSP+/l0j/v5dI/7+XSP+/l0j/v5dI + /7+XSP+/l0j/v5dI/7+XSP+/l0j/v5dI/7+XSP+/l0j/v5dI/7+XSP+/l0j/v5dI/7+XSP+/l0j/v5dI + /7+XSP+/l0j/v5dI/7+XSP+/l0j/v5dI/7+XSP+/l0j/v5dI/7+XSP+/l0j/v5dI/7+XSP+/l0j/v5dI + /7+XSP+/l0j/v5dI/7+XSP+/l0j/v5dI/7+XR/+/l0X/7NSY/72UQ//EnU82AAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAALC4HuCwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8EBX//i2+Z + /8ylp//r0q//w5uk/8aepP/GnqT/xp6k/8aepP/GnqT/xp6k/8aepP/GnqT/xp6l/8adqf/BmVH/wppI + /8KaSP/Cmkj/wppI/8KaSP/Cmkj/wppI/8KaSP/Cmkj/wppI/8KaSP/Cmkj/wppI/8KaSP/Cmkj/wppI + /8KaSP/Cmkj/wppI/8KaSP/Cmkj/wppI/8KaSP/Cmkj/wppI/8KaSP/Cmkj/wppI/8KaSP/Cmkj/wppI + /8KaSP/Cmkj/wppI/8KaSP/Cmkj/wppI/8KaSP/Cmkj/wppI/8KaSP/Cmkj/wppI/8KaSP/Cmkj/wJhG + /92/ev/WtW7/wJdG6QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwuBbQsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wgIgP85L4n/zqKm//DZsv/Mp6f/x56l/8ifpv/In6b/yJ+m + /8ifpv/In6b/yJ+m/8ifpv/In6b/yJ+n/8adf//Dmkj/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL + /8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL + /8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL + /8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8OaS//Bl0b/9uCm/8GXRv/FnU5/AAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAALC4HhCwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wACfv+2kaL/1bGp/+3Vsv/FnKb/x5+n/8efp//Hn6f/x5+n/8efp//Hn6f/x5+n/8efp//Hn6f/yKCp + /8WbTP/Gm0v/xptL/8abS//Gm0v/xptL/8abS//Gm0v/xptL/8abS//Gm0v/xZtL/8WaSv/Fmkr/xZpK + /8WZSf/FmUn/xZlJ/8WZSf/Fmkn/xZpK/8WaSv/Fm0v/xZtL/8abS//Gm0v/xptL/8abS//Gm0v/xptL + /8abS//Gm0v/xptL/8abS//Gm0v/xptL/8abS//Gm0v/xptL/8abS//Gm0v/xptL/8abS//Gm0v/xJlJ + /9+/e//gwX3/xJlI/symWg8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwuBPwsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/BwiA/01Ajv/OpKj/9N2z/9Ouqf/Joaf/yqKo + /8qiqP/Koqj/yqKo/8qiqP/Koqj/yqKo/8qiqP/Koqr/yZ5z/8eeS//Ink7/yJ5O/8ieTv/Ink7/yJ5O + /8edTf/HnEz/x5tL/8ebS//Jplf/yrFh/826a//Ov3D/z8l6/8/Ief/PyHn/z8l6/87Bcv/MvW7/y7Rl + /8moWf/InU3/x5tL/8ebS//HnEz/x51N/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O + /8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8edTf/Hnk//++ix/8abSv/HnEyhAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAALC4GlCwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8KCoH/AQR+/7mVpf/Uran/+OO0/8qfp//Moqf/zKKn/8yip//Moqf/zKKn/8yip//Moqf/zKKn + /8yjqP/Mopn/yZ5K/8qeTv/Knk7/yZ5O/8mcTP/JnEz/zK5d/9DDc//T1oX/1eOU/9Xkl//V5Jb/1eOV + /9Xjlf/V45X/1eOV/9Xjlf/V45X/1eOV/9Xjlf/V5Jb/1eSW/9Xll//T2If/0Md4/8yxYf/Knk7/yZxM + /8mdTf/Knk7/yp5O/8qeTv/Knk7/yp5O/8qeTv/Knk7/yp5O/8qeTv/Knk7/yp5O/8qeTv/Knk7/x5tK + /+zRkf/evHb/yJxM/86mWBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsLgfULC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8HCID/Sz2O/9Opqv/r0LH/5siv + /8uiqP/Mpan/zKWp/8ylqf/Mpan/zKWp/8ylqf/Mpan/zKWp/82lrf/KoFb/yp9P/8qdTf/NrFz/0sh5 + /9Xgkv/W5Zf/1uSW/9bjlf/V45X/1eOV/9Xjlf/V45X/1eOV/9Xjlf/V45X/1eOV/9Xjlf/V45X/1eOV + /9Xjlf/V45X/1eOV/9bjlf/W5Jb/1uWX/9bjlf/Tzn//zbJj/8qeTv/Kn0//yqBQ/8qhUf/KoVH/yqFR + /8qhUf/KoVH/yqFR/8qhUf/KoVH/yqFR/8mfT//Xs2r/+OOq/8ecSv/Mo1SLAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAALC4I7CwuA/wsLgP8LC4D/CwuA/wsLgP8LC4D/CwuA/wsLgP8LC4D/CwuA/wsLgP8LC4D/CwuA + /wsLgP8LC4D/CwuA/wsLgP8LC4D/CwuA/wsLgP8LC4D/CwuA/wsLgP8LC4D/CwuA/wsLgP8LC4D/CwuA + /wsLgP8LC4D/CwuA/wsLgP8LC4D/CwuA/wsLgP8LC4D/CwuA/wsLgP8LC4D/CwuA/wsLgP8LC4D/CwuA + /wsLgP8LC4D/CwuA/wsLgP8AAn7/qIeh/9Cmqv/967b/17Ss/86kqf/Ppan/z6Wp/8+lqf/Ppan/z6Wp + /8+lqf/Ppan/zqWr/82gcv/Ps2P/1diL/9jmmP/Y5Jb/2OOV/9jilP/Y4pT/2OKU/9jilP/Y4pT/2OKU + /9jilP/Y4pT/2OKU/9jilP/Y4pT/2OKU/9jilP/Y4pT/2OKU/9jilP/Y4pT/2OKU/9jilP/Y4pT/2OOV + /9jjlf/Y5Zf/1t6Q/9C+b//Mn0//zKBQ/82hUf/NoVH/zaFR/82hUf/NoVH/zaFR/82hUf/MoVH/z6RU + //7stv/Sqlz/zKBQ7tOrYAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoKg38KCoP/CgqD/woKg/8KCoP/CgqD + /woKg/8KCoP/CgqD/woKg/8KCoP/CgqD/woKg/8KCoP/CgqD/woKg/8KCoP/CgqD/woKg/8KCoP/CgqD + /woKg/8KCoP/CgqD/woKg/8KCoP/CgqD/woKg/8KCoP/CgqD/woKg/8KCoP/CgqD/woKg/8KCoP/CgqD + /woKg/8KCoP/CgqD/woKg/8KCoP/CgqD/woKg/8KCoP/CgqD/woKg/8KCoP/CgqD/wkJgv8dGob/16yt + /9q1rf/+7bb/0qms/9Cnq//RqKz/0ais/9GorP/RqKz/0aer/9Clqv/Tt7b/2Ny2/9nml//Z5Jf/2eSX + /9nkl//Z5Jf/2eSX/9nkl//Z5Jf/2eSX/9nkl//Z5Jf/2eSX/9nkl//Z5Jf/2eSX/9nkl//Z5Jf/2eSX + /9nkl//Z5Jf/2eSX/9nkl//Z5Jf/2eSX/9nkl//Z5Jf/2eSX/9nkl//Z5Jf/2eaZ/9jhk//Su23/zqFR + /86jU//PpFT/z6RU/8+kVP/PpFT/z6RT/82gT//34KX/5MR//82hUP/QpldPAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAADAyDtQwMg/8MDIP/DAyD/wwMg/8MDIP/DAyD/wwMg/8MDIP/DAyD/wwMg/8MDIP/DAyD + /wwMg/8MDIP/DAyD/wwMg/8MDIP/DAyD/wwMg/8MDIP/DAyD/wwMg/8MDIP/DAyD/wwMg/8MDIP/DAyD + /wwMg/8MDIP/DAyD/wwMg/8MDIP/DAyD/wwMg/8MDIP/DAyD/wwMg/8MDIP/DAyD/wwMg/8MDIP/DAyD + /wwMg/8MDIP/DAyD/wwMg/8MDIP/DAyD/wYHgv9fTZb/2K2v/+bIsP/55bX/0aet/9Gorv/RqK7/0aiu + /9Gnrf/SrbD/2dbE/9zpz//b5cr/2eOV/9njmP/Z45j/2eOY/9njmP/Z45j/2eOY/9njmP/Z45j/2eOY + /9njmP/Z45j/2eOY/9njmP/Z45j/2eOY/9njmP/Z45j/2eOY/9njmP/Z45j/2eOY/9njmP/Z45j/2eOY + /9njmP/Z45j/2eOY/9njmP/Z45j/2uSY/9rmmv/Z3I//0rBg/8+iU//PpFb/z6RW/8+kVv/NoFD/79SW + //HZnf/NoFD/z6NUqgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANDYbsDQ2G/w0Nhv8NDYb/DQ2G + /w0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G + /w0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G + /w0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G + /wIEg/+bfqT/1quw//DYtP/34rX/06mv/9Oqr//TqK7/18C7/93m0P/d5s//3ObP/93m0f/b5Zj/3OWX + /9zll//c5Zf/3OWX/9zll//c5Zf/3OWX/9zll//c5Zf/3OWX/9zll//c5Zf/3OWX/9zll//c5Zf/3OWX + /9zll//c5Zf/3OWX/9zll//c5Zf/3OWX/9zll//c5Zf/3OWX/9zll//c5Zf/3OWX/9zll//c5Zf/3OWX + /9zlmP/b55r/18h7/9GkU//Rplb/z6NR/+zQkP/65Kv/0aVV/9GlVd7WsGQCAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAADQ2IBAwMiP8MDIj/DAyI/wwMiP8MDIj/DAyI/wwMiP8MDIj/DAyI/wwMiP8MDIj/DAyI + /wwMiP8MDIj/DAyI/wwMiP8MDIj/DAyI/wwMiP8MDIj/DAyI/wwMiP8MDIj/DAyI/wwMiP8MDIj/DAyI + /wwMiP8MDIj/DAyI/wwMiP8MDIj/DAyI/wwMiP8MDIj/DAyI/wwMiP8MDIj/DAyI/wwMiP8MDIj/DAyI + /wwMiP8MDIj/DAyI/wwMiP8MDIj/DAyI/wwMiP8MDIj/DAyH/wgJh/++maz/16qy//Xftf/44bX/1aqx + /9zTxv/f6NH/3+bQ/9/l0P/f5dD/3+bS/97ko//c5Jn/3OSa/9zkmv/c5Jr/3OSa/9zkmv/c5Jr/3OSa + /9zkmv/c5Jr/3OSa/9zkmv/c5Jr/3OSa/9zkmv/c5Jr/3OSa/9zkmv/c5Jr/3OSa/9zkmv/c5Jr/3OSa + /9zkmv/c5Jr/3OSa/9zkmv/c5Jr/3OSa/9zkmv/c5Jr/3OSa/93lmv/d5pz/29uP/9KnWP/tz4///Oix + /9WpWv/Uplf80LNpHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODoomDg6K/w4Oiv8ODor/Dg6K + /w4Oiv8ODor/Dg6K/w4Oiv8ODor/Dg6K/w4Oiv8ODor/Dg6K/w4Oiv8ODor/Dg6K/w4Oiv8ODor/Dg6K + /w4Oiv8ODor/Dg6K/w4Oiv8ODor/Dg6K/w4Oiv8ODor/Dg6K/w4Oiv8ODor/Dg6K/w4Oiv8ODor/Dg6K + /w4Oiv8ODor/Dg6K/w4Oiv8ODor/Dg6K/w4Oiv8ODor/Dg6K/w4Oiv8ODor/Dg6K/w4Oiv8ODor/Dg6K + /w4Oiv8ODor/DAyJ/xYUjP/RqbH/2K2y//fftP/57Lr/4efR/9/n0f/g59D/4OfQ/+Dn0P/g59L/3uas + /9/mmP/f5pn/3+aZ/9/mmf/f5pn/3+aZ/9/mmf/f5pn/3+aZ/9/mmf/f5pn/3+aZ/9/mmf/f5pn/3+aZ + /9/mmf/f5pn/3+aZ/9/mmf/f5pn/3+aZ/9/mmf/f5pn/3+aZ/9/mmf/f5pn/3+aZ/9/mmf/f5pn/3+aZ + /9/mmf/f5pn/3+aZ/97mmf/c5pj/9Out//vmrv/Wqlv/1qhY/9CtXjQAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAA0NizsNDYz/DQ2M/w0NjP8NDYz/DQ2M/w0NjP8NDYz/DQ2M/w0NjP8NDYz/DQ2M + /w0NjP8NDYz/DQ2M/w0NjP8NDYz/DQ2M/w0NjP8NDYz/DQ2M/w0NjP8NDYz/DQ2M/w0NjP8NDYz/DQ2M + /w0NjP8NDYz/DQ2M/w0NjP8NDYz/DQ2M/w0NjP8NDYz/DQ2M/w0NjP8NDYz/DQ2M/w0NjP8NDYz/DQ2M + /w0NjP8NDYz/DQ2M/w0NjP8NDYz/DQ2M/w0NjP8NDYz/DQ2M/w0NjP8NDYz/CwuL/yAbkP/SrLb/4OTS + //brvv/97Lb/5efO/9/m0//g5tP/4ObT/+Hn1P/f5bH/3uWa/97lnP/e5Zz/3uWc/97lnP/e5Zz/3uWc + /97lnP/e5Zz/3uWc/97lnP/e5Zz/3uWc/97lnP/e5Zz/3uWc/97lnP/e5Zz/3uWc/97lnP/e5Zz/3uWc + /97lnP/e5Zz/3uWc/97lnP/e5Zz/3uWc/97lnP/e5Zz/3uWc/97lnP/e5Zv/3+Wc//rrs//767T/4OSb + /9+8bv7SrmBMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBCNUA8Pjv8ODo3/Dw+O + /w8Pjv8PD47/Dw+O/w8Pjv8PD47/Dw+O/w8Pjv8PD47/Dw+O/w8Pjv8PD47/Dw+O/w8Pjv8PD47/Dw+O + /w8Pjv8PD47/Dw+O/w8Pjv8PD47/Dw+O/w8Pjv8PD47/Dw+O/w8Pjv8PD47/Dw+O/w8Pjv8PD47/Dw+O + /w8Pjv8PD47/Dw+O/w8Pjv8PD47/Dw+O/w8Pjv8PD47/Dw+O/w8Pjv8PD47/Dw+O/w8Pjv8PD47/Dw+O + /w8Pjv8PD47/Dw+O/w8Pjv8ODI3/EB2S/0yxuf/f59P/4+jU//Lqw///7LP/7urG/+Hn1f/i6NT/4+jV + /+LnuP/g55r/4eeb/+Hnm//h55v/4eeb/+Hnm//h55v/4eeb/+Hnm//h55v/4eeb/+Hnm//h55v/4eeb + /+Hnm//h55v/4eeb/+Hnm//h55v/4eeb/+Hnm//h55v/4eeb/+Hnm//h55v/4eeb/+Hnm//h55v/4eeb + /+Hnm//g55v/3+aa/+fno///7Lb/9+qw/+Hnm//j55z/Y8B1/kWzZkwAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAQEI9dDg6O/x0dmf8ODo7/Dg6O/w4Ojv8ODo7/Dg6O/w4Ojv8ODo7/Dg6O + /w4Ojv8ODo7/Dg6O/w4Ojv8ODo7/Dg6O/w4Ojv8ODo7/Dg6O/w4Ojv8ODo7/Dg6O/w4Ojv8ODo7/Dg6O + /w4Ojv8ODo7/Dg6O/w4Ojv8ODo7/Dg6O/w4Ojv8ODo7/Dg6O/w4Ojv8ODo7/Dg6O/w4Ojv8ODo7/Dg6O + /w4Ojv8ODo7/Dg6O/w4Ojv8ODo7/Dg6O/w4Ojv8ODo7/Dg6O/w4Ojv8ODo7/Dg2O/xAWkf8/sbj/P7a7 + /0S2u//R4dH/5+jW/+roy///7LT/+eu6/+bo0f/k6dv/4ua5/+Pnm//j553/4+ed/+Pnnf/j553/4+ed + /+Pnnf/j553/4+ed/+Pnnf/j553/4+ed/+Pnnf/j553/4+ed/+Pnnf/j553/4+ed/+Pnnf/j553/4+ed + /+Pnnf/j553/4+ed/+Pnnf/j553/4+ed/+Pnnf/j55z/4uac/+Pmnf/06qz//+y4/+7oqP/j55z/3OWa + /1S6bf8wr2H/MrBi/0KyZDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABERk10ODo//Kiqk + /w4OkP8QEJH/EBCR/xAQkf8QEJH/EBCR/xAQkf8QEJH/EBCR/xAQkf8QEJH/EBCR/xAQkf8QEJH/EBCR + /xAQkf8QEJH/EBCR/xAQkf8QEJH/EBCR/xAQkf8QEJH/EBCR/xAQkf8QEJH/EBCR/xAQkf8QEJH/EBCR + /xAQkf8QEJH/EBCR/xAQkf8QEJH/EBCR/xAQkf8QEJH/EBCR/xAQkf8QEJH/EBCR/xAQkf8QEJH/EBCR + /xAQkf8QEJH/EBCR/w8PkP8ODJD/O6K2/0K4vP9Ctrz/QLW7/z60u/+x2M3/6+vX/+bo0//4673//+yz + //TrxP/k57f/4eab/+Lnnf/i557/4uee/+Lnnv/i557/4uee/+Lnnv/i557/4uee/+Lnnv/i557/4uee + /+Lnnv/i557/4uee/+Lnnv/i557/4uee/+Lnnv/i557/4uee/+Lnnv/i557/4uee/+Lnnv/i553/4uad + /+Lmnf/u6Kj//+y3//zrs//n56L/5+ie/8jdlf8/s2b/MbBh/zWxY/81sWP/MrBi90yzZR8AAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAExOUTA0Nkf82Nq7/Dg6R/w8Pk/8PD5P/Dw+T/w8Pk/8PD5P/Dw+T + /w8Pk/8PD5P/Dw+T/w8Pk/8PD5P/Dw+T/w8Pk/8PD5P/Dw+T/w8Pk/8PD5P/Dw+T/w8Pk/8PD5P/Dw+T + /w8Pk/8PD5P/Dw+T/w8Pk/8PD5P/Dw+T/w8Pk/8PD5P/Dw+T/w8Pk/8PD5P/Dw+T/w8Pk/8PD5P/Dw+T + /w8Pk/8PD5P/Dw+T/w8Pk/8PD5P/Dw+T/w8Pk/8PD5P/Dw+T/w8Pk/8PD5P/DQeQ/zOGsf9Dub3/Qra9 + /0K2vf9Ctr3/QbW8/zmzu/+ByMf/6OnX/+fp2P/u6c7//ey6///stv/z6qz/5eaf/+Lmnv/j5p7/5Oef + /+Tnn//k55//5Oef/+Tnn//k55//5Oef/+Tnn//k55//5Oef/+Tnn//k55//5Oef/+Tnn//k55//5Oef + /+Tnn//k55//5Oef/+Tnn//j5p7/4+ae/+Pmnv/v6Kj//uy1///st//v6Kr/5Oee/+rpof+VzoP/K61e + /zOwYv81sWP/NbFj/zWxY/81sWP/M7Bi3jmvYQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVFZc7Dg6T + /zs7s/8ODpP/ERGV/xERlf8REZX/ERGV/xERlf8REZX/ERGV/xERlf8REZX/ERGV/xERlf8REZX/ERGV + /xERlf8REZX/ERGV/xERlf8REZX/ERGV/xERlf8REZX/ERGV/xERlf8REZX/ERGV/xERlf8REZX/ERGV + /xERlf8REZX/ERGV/xERlf8REZX/ERGV/xERlf8REZX/ERGV/xERlf8REZX/ERGV/xERlf8REZX/ERGV + /xERlf8REZX/ERGV/w8Mk/8kU6X/RL2//0K2vv9Ctr7/Qra+/0K2vv9Ctr7/Qra+/z20vf9Mub//vNvR + /+7t4f/m6t3/7+i2//zstP//7Lj/9uuv/+zopv/j5p7/4uae/+Pmnv/j5p7/4+ee/+Tnn//k55//5Oef + /+Tnn//k55//5Oef/+Tnn//k55//5Oef/+Tnn//k55//4+ae/+Pmnv/j5p7/4uad/+rnpP/06q3//+y4 + ///st//x6Kv/5Oae/+rooP/O35f/Ublt/y6uYP80sWP/NbFj/zWxY/81sWP/NbFj/zWxY/81sWP/NLFj + pgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYWmiIODpX/RUW7/w4Olf8QEJf/EBCX/xAQl/8QEJf/EBCX + /xAQl/8QEJf/EBCX/xAQl/8QEJf/EBCX/xAQl/8QEJf/EBCX/xAQl/8QEJf/EBCX/xAQl/8QEJf/EBCX + /xAQl/8QEJf/EBCX/xAQl/8QEJf/EBCX/xAQl/8QEJf/EBCX/xAQl/8QEJf/EBCX/xAQl/8QEJf/EBCX + /xAQl/8QEJf/EBCX/xAQl/8QEJf/EBCX/xAQl/8QEJf/EBCX/xAQl/8QD5b/FSCa/0S6v/9Ctr//Qba/ + /0G2v/9Btr//Qba//0G2v/9Btr//Qba//0C1vv84s7z/h83W/8/i1v/q6LD/5Oed/+zopv/367D//+25 + ///st//367D/7+iq/+nno//j5p7/4uad/+Lmnv/j5p7/4+ae/+Pmnv/j5p7/4+ae/+Pmnv/i5p7/4uad + /+Lmnf/m56L/7ein//Xqrv//7Lb//+25//rrs//u6Kj/5Oee/+nooP/c5Zz/e8Z7/yytX/8ysGL/NbFj + /zWxY/81sWP/NbFj/zWxY/81sWP/NbFj/zWxY/81sWP/NbFjTwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AA4Olf9KSr//Dw+V/xISl/8SEpf/EhKX/xISl/8SEpf/EhKX/xISl/8SEpf/EhKX/xISl/8SEpf/EhKX + /xISl/8SEpf/EhKX/xISl/8SEpf/EhKX/xISl/8SEpf/EhKX/xISl/8SEpf/EhKX/xISl/8SEpf/EhKX + /xISl/8SEpf/EhKX/xISl/8SEpf/EhKX/xISl/8SEpf/EhKX/xISl/8SEpf/EhKX/xISl/8SEpf/EhKX + /xISl/8SEpf/EhKX/w8Jlf85lrj/Q7jA/0O2wP9DtsD/Q7bA/0O2wP9DtsD/Q7bA/0O2wP9DtsD/Q7bA + /0C1vv9wyNn/OrLB/2vBgf/H3ZP/7Omh/+bnn//l5p//7uio//frsP//7Lb//+24///tuf/87LX/+Oux + //Xqrv/06q7/8uqr//Dqq//06q7/9Oqu//nrsf/767T//+y3///tuP//7Lf/+eux/+/oqv/o56L/5eee + /+rpoP/V4pr/f8d8/y+uYP8xr2H/NLFj/zWxY/81sWP/NbFj/zWxY/81sWP/NbFj/zWxY/81sWP/NbFj + /zWxY/81sWPuM7FjBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQ2X5FhYyv8NDZf/ERGa/xERmv8REZr/ERGa + /xERmv8REZr/ERGa/xERmv8REZr/ERGa/xERmv8REZr/ERGa/xERmv8REZr/ERGa/xERmv8REZr/ERGa + /xERmv8REZr/ERGa/xERmv8REZr/ERGa/xERmv8REZr/ERGa/xERmv8REZr/ERGa/xERmv8REZr/ERGa + /xERmv8REZr/ERGa/xERmv8REZr/ERGa/xERmv8REZr/ERGa/xERmv8RDpn/IUin/0W9wv9DtcH/Q7XB + /0O1wf9DtcH/Q7XB/0O1wf9DtcH/Q7XB/0O1wf9DtcH/QLS//3nK3f9BtcT/Ma9h/yyuX/9TuW3/odGH + /9/knf/q6aD/5+ef/+Tnnv/n56L/7Oim//Lqq//16q7/+eux//rrsv/87LX//Oy1//vrtP/567H/9uuv + //PqrP/u6Kj/6eej/+Xnn//m55//6eig/+fooP+v1Y3/Y75y/y2tX/8xr2H/NLBi/zWxY/81sWP/NbFj + /zWxY/81sWP/NbFj/zWxY/81sWP/NbFj/zWxY/81sWP/NbFj/zWxY/8zsWOLAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAPD5mxQUG7/yYmqf8REZv/ExOc/xMTnP8TE5z/ExOc/xMTnP8TE5z/ExOc/xMTnP8TE5z/ExOc + /xMTnP8TE5z/ExOc/xMTnP8TE5z/ExOc/xMTnP8TE5z/ExOc/xMTnP8TE5z/ExOc/xMTnP8TE5z/ExOc + /xMTnP8TE5z/ExOc/xMTnP8TE5z/ExOc/xMTnP8TE5z/ExOc/xMTnP8TE5z/ExOc/xMTnP8TE5z/ExOc + /xMTnP8TE5z/ExKb/xALmv8+qL7/Q7fC/0O3wf9Dt8H/Q7fB/0O3wf9Dt8H/Q7fB/0O3wf9Dt8H/Q7fB + /0K2wf9DtsL/fMzf/z61s/80sF7/NbBi/zOwYv8vr2D/La1f/1u8b/+RzYL/wtyS/+fnoP/r6aH/6eig + /+fon//n55//5uef/+bnn//m55//5uef/+fnn//n6J//6Oig/+rooP/t6qL/y96V/53Qhv9rwHT/M69h + /y6uYP8ysGL/NLFj/zWxY/81sWP/NbFj/zWxY/81sWP/NbFj/zWxY/81sWP/NbFj/zWxY/81sWP/NbFj + /zWxY/81sWP/NbFj/zWxY/80sGIcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwco3IbG6P/WFjL/w8Pm/8TE57/ExOe + /xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe + /xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe + /xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8TE57/ExOe/xMTnv8SD53/JE2r/0S/xf9DucP/Q7fD + /0O3w/9Dt8P/Q7fD/0O3w/9Dt8P/Q7fD/0O3w/9Dt8P/QbfD/2PE0/9gw9T/O7Wg/zKxYP8ysWP/MrFj + /zKxY/8ysWP/MbFj/y+wYv8tr2H/LLBh/0u4a/9qw3X/f8l9/4vMgf+k1In/o9SJ/6PUif+j1In/kc2C + /4bLgP9tw3b/Ubpu/zOxY/8sr2H/Lq9i/zGvYv8zsGP/NLBi/zSwYv80sGL/NLBi/zSwYv80sGL/NLBi + /zSwYv80sGL/NLBi/zSwYv80sGL/NLBi/zSwYv80sGL/NLBi/zSwYv80sGL/NLBi/zSwYqEAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAHR2lLg0NnP9sbNj/DQ2c/xISoP8SEqD/EhKg/xISoP8SEqD/EhKg/xISoP8SEqD/EhKg + /xISoP8SEqD/EhKg/xISoP8SEqD/EhKg/xISoP8SEqD/EhKg/xISoP8SEqD/EhKg/xISoP8SEqD/EhKg + /xISoP8SEqD/EhKg/xISoP8SEqD/EhKg/xISoP8SEqD/EhKg/xISoP8SEqD/EhKg/xISoP8SEqD/EhKg + /xISoP8SEqD/EhKg/xAJnf89qsL/QrrH/0G5x/9Busf/QbrH/0G6x/9Busf/QbrH/0G6x/9Busf/QbrH + /0G6x/8+uMX/iNPn/0G5yv83tYf/MbNk/zK0Zv8ytGb/MrRm/zK0Zv8xtGb/MbRm/zG0Zv8xtGX/MLNl + /y+zZP8vsWT/LrFk/y2xY/8tsWP/LbFj/y2xY/8usWT/LrFk/zCxZP8xsmX/MrJl/zOyZv8zs2T/M7Nk + /zOzZP8zs2X/M7Nl/zOzZf8zs2X/M7Nl/zOzZf8zs2X/M7Nl/zOzZf8zs2X/M7Nl/zOzZf8zs2X/M7Nl + /zOzZf8zs2X/M7Nl/zOzZf8zs2X/M7Nk/jGzZg8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg6d6WNj0v8lJaz/EhKg + /xQUoP8UFKD/FBSg/xQUoP8UFKD/FBSg/xQUoP8UFKD/FBSg/xQUoP8UFKD/FBSg/xQUoP8UFKD/FBSg + /xQUoP8UFKD/FBSg/xQUoP8UFKD/FBSg/xQUoP8UFKD/FBSg/xQUoP8UFKD/FBSg/xQUoP8UFKD/FBSg + /xQUoP8UFKD/FBSg/xQUoP8UFKD/FBSg/xQUoP8UFKD/FBSg/xQUoP8TEaD/Hj6q/0TDyv9CvMn/QrzJ + /0K8yf9CvMn/QrzJ/0K6x/9Cusf/QrrH/0K6x/9Cusf/QbrH/0C5x/+Q1+r/P7nJ/zC1av8wtGf/MbRo + /zG0aP8xtGj/MbRo/zG0aP8xtGj/MbRo/zG0aP8xtGj/MbRo/zC1aP8wtWj/MLVo/zC1aP8wtWj/MLVo + /zK1aP8ytWj/MrVo/zK1Zv8ytWb/MrVm/zK1Z/8ytWf/MrVn/zKzZ/8ys2f/MrNn/zKzZ/8ys2f/MrNn + /zKzZ/8ys2f/MrNn/zKzZ/8ys2f/MrNn/zKzZ/8ys2f/MrNn/zKzZ/8ys2f/MrNn/zKzZ/8ys2f/MrNm + fwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAYGKWPJSWu/2Zm1v8PD6D/ExOj/xMTo/8TE6P/ExOj/xMTo/8TE6P/ExOj + /xMTo/8TE6P/ExOj/xMTo/8TE6P/ExOj/xMTo/8TE6P/ExOj/xMTo/8TE6P/ExOj/xMTo/8TE6P/ExOj + /xMTo/8TE6P/ExOj/xMTo/8TE6P/ExOj/xMTo/8TE6P/ExOj/xMTo/8TE6P/ExOj/xMTo/8TE6P/ExOj + /xMTo/8TE6P/ExOj/xIOof8yib3/Qb/L/0C8y/9AvMv/QLzJ/0C8yf9AvMn/QL3K/0C9yv9Avcr/QL3K + /0C9yv8+vMj/b8ze/2XJ2v86urH/L7Zm/zC3av8wt2r/MLdq/zC3av8wt2r/MLdq/zC3av8wt2r/MLdq + /zC3av8wt2r/MLdq/zC3av8wt2r/MLVq/zC1av8wtWr/L7Vo/y+1aP8vtWj/L7Vp/y+1af8vtWn/MbVp + /zG1af8xtWn/MbZp/zG2af8xtmn/MbZp/zG2af8xtmn/MbZp/zG2af8xtmn/MbZp/zG2af8xtmn/MbZp + /zG2af8xtmn/MbZp/zG2af8xtmn/MbZp/zG2af8xtmnpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgqy4ODqD/g4Po + /xYWpf8UFKT/FRWl/xUVpf8VFaX/FRWl/xUVpf8VFaX/FRWl/xUVpf8VFaX/FRWl/xUVpf8VFaX/FRWl + /xUVpf8VFaX/FRWl/xUVpf8VFaX/FRWl/xUVpf8VFaX/FRWl/xUVpf8VFaX/FRWl/xUVpf8VFaX/FRWl + /xUVpf8VFaX/FRWl/xUVpf8VFaX/FRWl/xUVpf8VFaX/FRWl/xUVpf8UFKT/FBOk/0HDzf9Bv8z/Qb/L + /0G/y/9Bv8z/Qb/M/0G/zP9Bv8z/Qb/M/0G/zP9Bv8z/Qb/M/zu8yf+e3vP/Pr3O/zS6jP8uuGr/L7ls + /y+5bP8vt2z/L7ds/y+3bP8vt2z/L7ds/y+3bP8vt2z/L7ds/y+3bP8vt2z/L7ds/y+3bP8vuGr/L7hq + /y+4av8vuGv/L7hr/y64a/8wuGv/MLhr/zC4a/8wuGv/MLhr/zC4a/8wuGv/MLhr/zC4a/8wuGv/MLhr + /zC4a/8wuGv/MLhr/zC4a/8wuGv/MLhr/zC4a/8wtmv/MLZr/zC2a/8wtmv/MLZr/zC2a/8wtmv/MLZr + /zC2a/8utmk2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQpNBERMP/Xl7T/xAQpP8UFKf/FBSn/xQUp/8UFKf/FBSn + /xQUp/8UFKf/FBSn/xQUp/8UFKf/FBSn/xQUp/8UFKf/FBSn/xQUp/8UFKf/FBSn/xQUp/8UFKf/FBSn + /xQUp/8UFKf/FBSn/xQUp/8UFKf/FBSn/xQUp/8UFKf/FBSn/xQUp/8UFKf/FBSn/xQUp/8UFKf/FBSn + /xQUp/8UFKf/FBSn/xQSpv8iTbP/QcXP/z+/zv8/v87/P7/O/z+/zv8/v87/P7/O/z+/zv8/v87/P7/O + /z+/zv89v83/Ysvb/3zU5/89v8r/Lblr/y25bf8uuW7/Lrlu/y66bv8uum7/Lrpu/y66bv8uum7/Lrpu + /y66bv8uum7/Lrpu/y66bP8uumz/Lrps/y66bf8uum3/Lrpt/y64bf8uuG3/Lrht/y24bf8tuG3/Lbht + /y24bf8tuG3/Lbht/y+4bf8vuG3/L7ht/y+4bf8vuG3/L7ht/y+4bf8vuG3/L7ht/y+4bf8vuG3/L7ht + /y+5bf8vuW3/L7lt/y+5bf8vuW3/L7lt/y+5a/8vuWv/L7lr/y+5bIsAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIyOw + VBAQpf+RkfD/Ghqr/xUVqP8WFqn/Fhap/xYWqf8WFqn/Fhap/xYWqf8WFqn/Fhap/xYWqf8WFqn/Fhap + /xYWqf8WFqn/Fhap/xYWqf8WFqn/Fhap/xYWqf8WFqn/Fhap/xYWqf8WFqn/Fhap/xYWqf8WFqn/Fhap + /xYWqf8WFqn/Fhap/xYWqf8WFqn/Fhap/xYWqf8WFqn/Fhap/xYWqf8WFqn/FBCn/zCDwf9AxdD/QMLQ + /0DC0P9AwtD/QMLQ/0DC0P9AwtD/QMLQ/0DC0P9AwtD/P8LQ/zu/zf+n4/j/Q8LT/zW+oP8su23/Lbxw + /y28cP8tvHD/Lbxw/y28cP8tvHD/Lbpu/y26bv8tum7/Lbpu/y26bv8tum7/Lbpv/y26b/8tum//Lbpv + /y26b/8tum//Lbtv/y27b/8tu2//LLtv/yy7b/8su2//Lrtv/y67b/8uu2//Lrtv/y67b/8uu2//Lrtv + /y67b/8uu2//Lrtv/y67b/8uu2//Lrtv/y67b/8uu2//Lrtv/y67b/8uu2//Lrlt/y65bf8uuW3/Lrlu + /y65bv8uuW7/Lrlu1wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAERGn4kdHx/9zc9//EBCm/xUVqf8VFan/FRWp + /xUVqf8VFan/FRWp/xUVqf8VFan/FRWp/xUVqf8VFan/FRWp/xUVqf8VFan/FRWp/xUVqf8VFan/FRWp + /xUVqf8VFan/FRWp/xUVqf8VFan/FRWp/xUVqf8VFan/FRWp/xUVqf8VFan/FRWp/xUVqf8VFan/FRWp + /xUVqf8VFan/FRWp/xUVqf8TDaf/OrHN/z/F0f8+wtD/PsLQ/z7C0P8+wtD/PsLQ/z7C0P8+wtH/PsLR + /z7C0f87wc//dtTm/3rW5/87ws//K71x/yu8cf8svXL/LL1y/yy9cv8svXD/LL1w/yy9cP8svXH/LL1x + /yy9cf8svXH/LL1x/yy9cf8svXH/LL1x/yy9cf8svXH/LL1x/yy9cf8rvXH/K71x/yu9cf8tu3H/Lbtx + /y27cf8tu3H/Lbtx/y27cf8tu3H/Lbtx/y27cf8tu3H/Lbtx/y27cf8tu2//Lbtv/y27b/8tu2//Lbtv + /y27b/8tu2//Lbtv/y27b/8tvHD/Lbxw/y28cP8tvHD/Lbxw/y28cP8tvHD/K7xwCAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAkJLNKDg6n/4+P7/8zM7z/FBSq/xcXrP8XF6z/Fxes/xcXrP8XF6z/Fxes/xcXrP8XF6z/Fxes + /xcXrP8XF6z/Fxes/xcXrP8XF6z/Fxes/xcXrP8XF6z/Fxes/xcXrP8XF6z/Fxes/xcXrP8XF6z/Fxes + /xcXrP8XF6z/Fxes/xcXrP8XF6z/Fxes/xcXrP8XF6z/Fxes/xcXrP8XF6z/Fhar/xcbrP9Bz9X/P8bT + /z/G0/8/xtP/P8bT/z/G0/8/xtP/P8bT/z/G0f8/xtH/PsXR/0bI1P+r5fn/PsPU/zTAoP8qvnD/K79y + /yu9cv8rvXL/K71y/yu9c/8rvXP/K71z/yu9c/8rvXP/K71z/yu9c/8rvXP/K71z/yu9c/8rvXP/K71z + /yq9c/8qvXP/Kr1z/yy9c/8svXP/LL1z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+cf8svnH/LL5x + /yy+cf8svnH/LL5x/yy+cv8svnL/LL5y/yy+cv8svnL/LL5y/yy+cv8svnL/LL5y/yy+cv8svnL/LL5y + /yy8cv8svHL/LLxy/yy8cv8qvHJIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATE6y/KSm4/52d+P8ZGa//Fhat + /xYWrv8WFq7/Fhau/xYWrv8WFq7/Fhau/xYWrv8WFq7/Fhau/xYWrv8WFq7/Fhau/xYWrv8WFq7/Fhau + /xYWrv8WFq7/Fhau/xYWrv8WFq7/Fhau/xYWrv8WFq7/Fhau/xYWrv8WFq7/Fhau/xYWrv8WFq7/Fhau + /xYWrv8WFq7/Fhau/xYWrv8WFK3/H0C3/z/N1f89xtP/P8bT/z/G0/8/xtP/P8bT/z/G0/8/xtP/P8bU + /z/G0/84xdL/oeP2/2HR4P85xcv/Kb9y/ynAdP8qwHX/KsB1/yrAdf8qwHX/KsB1/yrAdf8qwHX/KsB1 + /yrAdf8qwHX/KsB1/yrAdf8qwHX/KcB1/ynAdf8pwHX/K8Bz/yvAc/8rwHP/K8Bz/yvAc/8rwHP/K8Bz + /yvAc/8rwHP/K75z/yu+c/8rvnP/K750/yu+dP8rvnT/K750/yu+dP8rvnT/K750/yu+dP8rvnT/K750 + /yu+dP8rvnT/K790/yu/dP8rv3T/K790/yu/dP8rv3T/K790/yu/dP8rv3T/K790/yu/cnYAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAACQktxsSEq36W1vT/4KC6f8SEqz/Fxew/xgYsP8YGLD/GBiw/xgYsP8YGLD/GBiw + /xgYsP8YGLD/GBiw/xgYsP8YGLD/GBiw/xgYsP8YGLD/GBiw/xgYsP8YGLD/GBiw/xgYsP8YGLD/GBiw + /xgYsP8YGLD/GBiw/xgYsP8YGLD/GBiw/xgYsP8YGLD/GBiw/xgYsP8YGLD/GBiw/xcUr/8nYL//Ps7W + /z7J1v89ydb/PcnW/z3J1v89ydb/PcnW/z3J1v89ydb/OMfU/4Dc7P+O3vH/OcbZ/y3Cif8owHX/KcB3 + /ynAd/8owHf/KMB3/yjAd/8owHX/KMB1/yjAdf8owHX/KMB1/yjAdf8owXX/KMF1/yjBdf8qwXX/KsF1 + /yrBdf8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2 + /yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qv3T/Kr90/yq/dP8qv3T/Kr90 + /yq/dP8qv3T/Kr90/yq/dP8qv3T/Kr91oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0dtGkREa3/hYXq + /2Rk2f8REa3/Fxew/xcXsP8XF7D/Fxew/xcXsP8XF7D/Fxew/xcXsP8XF7D/Fxew/xcXsP8XF7D/Fxew + /xcXsP8XF7D/Fxew/xcXsP8XF7D/Fxew/xcXsP8XF7D/Fxew/xcXsP8XF7D/Fxew/xcXsP8XF7D/Fxew + /xcXsP8XF7D/Fxew/xcXsP8XF7D/FhOv/yx3xf8+zdf/PsnX/z7J1/8+ydf/PsnX/z7K1/8+ytf/PsrX + /znI1f9n1eT/quf5/z7K2f8zx7D/J8Jz/yfDd/8nw3f/J8N3/ynDd/8pw3f/KcN3/ynDeP8pw3j/KcN4 + /ynDeP8pw3j/KcN4/ynBeP8pwXj/KcF4/ynBeP8pwXj/KcF4/ynBeP8pwXj/KcF4/ynBeP8pwXj/KcF4 + /ynBeP8pwXj/KcF4/ynBeP8pwXj/KcF4/ynBdv8pwXb/KcF2/ynBdv8pwXb/KcF2/ynCdv8pwnb/KcJ2 + /ynCdv8pwnb/KcJ2/ynCd/8pwnf/KcJ3/ynCd/8pwnf/KcJ3/ynCd/8pwnf/KcJ3/ynCd/8pwnfCAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUVsa8cHLX/nZ33/1JS0v8TE6//GRmz/xkZs/8ZGbP/GRmz + /xkZs/8ZGbP/GRmz/xkZs/8ZGbP/GRmz/xkZs/8ZGbP/GRmz/xkZs/8ZGbP/GRmz/xkZs/8ZGbP/GRmz + /xkZs/8ZGbP/GRmz/xkZs/8ZGbP/GRmz/xkZs/8ZGbP/GRmz/xkZs/8ZGbP/GRmz/xkZs/8XE7H/L4rK + /z3P2P88zNf/PMzX/zzM1/88zNf/PMrX/zzK1/85ydb/XtTh/7Tq/f9Kzt3/OMrJ/ybDd/8mw3n/KMN6 + /yjDev8ow3r/KMN6/yjDev8ow3r/KMN6/yjDev8ow3r/KMN6/yjDev8ow3r/KMR6/yjEev8oxHr/KMR6 + /yjEev8oxHr/KMR4/yjEeP8oxHj/KMR4/yjEeP8oxHj/KMR4/yjEeP8oxHj/KMR4/yjEeP8oxHj/KMR5 + /yjEef8oxHn/KMR5/yjEef8oxHn/KMJ5/yjCef8ownn/KMJ5/yjCef8ownn/KMJ5/yjCef8ownn/KMJ5 + /yjCef8ownn/KMJ5/yjCef8ownn/KMN5/yfDeeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMTG/ + AhQUstYlJbv/o6P6/1JS0v8SErH/GBi1/xgYtf8YGLX/GBi1/xgYtf8YGLX/GBi1/xgYtf8YGLX/GBi1 + /xgYtf8YGLX/GBi1/xgYtf8YGLX/GBi1/xgYtf8YGLX/GBi1/xgYtf8YGLX/GBi1/xgYtf8YGLX/GBi1 + /xgYtf8YGLX/GBi1/xgYtf8YGLX/GBi1/xcSs/8yms//Pc/a/z3N2v89zdr/Pc3a/z3N2v89zdr/OMvY + /17U4v+47P7/WNLi/znL1v8nxoD/Jsd7/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nxXr/J8Z6 + /yfGev8nxnr/J8Z6/yfGev8nxnr/J8Z6/yfGev8nxnr/J8Z6/yfGev8nxnv/J8Z7/yfGe/8nxnv/J8Z7 + /yfGe/8nxnv/J8Z7/yfGe/8nxnv/J8Z7/yfGe/8nxnv/J8Z7/yfGe/8nxnv/J8Z7/yfGe/8nxHv/J8V7 + /yfFe/8nxXv/J8V7/yfFe/8nxXn/J8V5/yfFef8nxXn/J8V5/yfFef8mxXn/JsV5/ybFef8mw3n/JsN5 + 4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjLBDhQUtOYyMsL/p6f9/2Fh2v8SErP/GRm2 + /xoat/8aGrf/Ghq3/xoat/8aGrf/Ghq3/xoat/8aGrf/Ghq3/xoat/8aGrf/Ghq3/xoat/8aGrf/Ghq3 + /xoat/8aGrf/Ghq3/xoat/8aGrf/Ghq3/xoat/8aGrf/Ghq3/xoat/8aGrf/Ghq3/xoat/8aGrf/GBO1 + /zSl0v9H1Nr/PM3b/z3O2v89ztr/PM7a/zfM2f9m2Of/uO39/13V5f84zdz/KMiK/yXHe/8myHz/Jsh8 + /ybIfP8myHz/Jsh8/ybIfP8myHz/Jsh8/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybGff8mxn3/JsZ9 + /ybGff8mxn3/JsZ9/ybGff8mxn3/JsZ9/ybGe/8mxnv/JsZ7/ybGe/8mxnv/JsZ7/ybHe/8mx3v/Jsd7 + /ybHe/8mx3v/Jsd7/ybHe/8mx3v/Jsd7/yXHe/8lx3v/Jcd7/yXHe/8lx3v/Jcd7/yXHfP8lx3z/Jcd8 + /yXHfP8lx3z/Jcd8/yfHfP8nx3z/JsZ7/y/Kgf8mx3v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAMzPDHxQUtu8rK8H/n5/5/3t75/8WFrf/GBi4/xkZuf8ZGbn/GRm5/xkZuf8ZGbn/GRm5 + /xkZuf8ZGbn/GRm5/xkZuf8ZGbn/GRm5/xkZuf8ZGbn/GRm5/xkZuf8ZGbn/GRm5/xkZuf8ZGbn/GRm5 + /xkZuf8ZGbn/GRm5/xkZuf8ZGbn/GRm5/xkZuf8YE7f/M6XU/1zc2P86zt3/O8/d/zvO3P82zdr/e97t + /7Ps/f9c1+X/OM7d/yjJj/8kyHz/Jcl//yXJf/8lyX//Jcl//yXJf/8lyX//Jcl//yXJf/8lyX//Jcl/ + /yXJf/8lyX//Jcl9/yXJff8lyX3/Jcl9/yXJff8lyX3/JMl9/yTJff8kyX3/JMl9/yTJff8kyX3/JMl+ + /yTJfv8kyX7/JMl+/yTJfv8kyX7/JMd+/yTHfv8kx37/JMd+/yTHfv8kx37/JMd+/yTHfv8kx37/Jsd+ + /ybHfv8mx37/Jsd+/ybHfv8mx37/Jsh+/ybIfv8myH7/Jsh8/ybIfP8myHz/Jsh8/ybIfP8lx3z/OM6H + /yTHfP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANDTEFxYWt94iIr3/kpLy + /5eX9f8wMMX/FRW3/xoauf8bG7n/Gxu5/xsbuf8bG7n/Gxu5/xsbuf8bG7n/Gxu5/xsbuf8bG7n/Gxu5 + /xsbuf8bG7n/Gxu5/xsbuf8bG7n/Gxu5/xsbuf8bG7n/Gxu5/xsbuf8bG7n/Gxu5/xsbuf8bG7n/Gxu5 + /xkUuP8zqNb/Vdza/zrQ3f84z9v/QtHe/5vm9v+t6/z/T9Tj/zjP2P8ny5H/I8l9/yTJf/8kyX//JMl/ + /yTJf/8kyX//JMl//yTJf/8jyoD/I8qA/yPKgP8jyoD/I8qA/yPKgP8jyoD/I8qA/yPKgP8jyoD/I8qA + /yPKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyn7/Jcp+/yXKfv8lyn7/Jcp+ + /yXKfv8lyn7/Jcp+/yXKfv8lyn7/Jcp+/yXKfv8lyn7/Jcp+/yXKfv8lyn//Jcp//yXKf/8lyH//Jch/ + /yXIf/8lyH//Jch//yXIf/8lyX//Jcl//yPIfv9A0o7/I8h+5wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAANjbGChcXusQYGLr/cHDj/6qq/v9kZN3/GBi7/xgYuv8aGrz/Ghq8 + /xoavP8aGrz/Ghq8/xoavP8aGrz/Ghq8/xoavP8aGrz/Ghq8/xoavP8aGrz/Ghq8/xoavP8aGrz/Ghq8 + /xoavP8aGrz/Ghq8/xoavP8aGrz/Ghq8/xoavP8aGrz/GRW6/y6R0/9a3tv/NM/d/23c7P+y7Pz/lOb1 + /z/S4f830dT/JcuK/yLLgP8izIL/IsyC/yLMgv8izIL/IsyC/yLMgv8izIL/IsyC/yTKgP8kyoD/JMqA + /yTKgP8kyoD/JMqA/yTLgP8ky4D/JMuA/yTLgP8ky4D/JMuA/yTLgP8ky4D/JMuA/yTLgf8ky4H/JMuB + /yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB + /yTLgf8ky4H/JMuB/yTLf/8ky3//JMt//yTLf/8ky3//JMt//yTLf/8ky3//JMt//yTJf/8kyX//Icl+ + /07YmP8hyX7kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ACIiwJAUFLr/QUHP/6Cg+f+dnff/S0vU/xUVuv8ZGbz/Gxu9/xwcvv8cHL7/HBy+/xwcvv8cHL7/HBy+ + /xwcvv8cHL7/HBy+/xwcvv8cHL7/HBy+/xwcvv8cHL7/HBy+/xwcvv8cHL7/HBy+/xwcvv8cHL7/HBy+ + /xsbvv8YE7v/J4bQ/3Hm3v+g6fj/sO38/23d7P830eL/M9HB/yLMgP8izYL/I82D/yPNg/8jzYP/I82D + /yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I8uD/yPLg/8jy4P/I8uD + /yPLg/8jy4P/I8yD/yPMg/8jzIP/I8yB/yPMgf8jzIH/I8yB/yPMgf8jzIH/I8yB/yPMgf8jzIH/I8yB + /yPMgf8jzIH/I8yB/yPMgf8jzIH/I8yC/yPMgv8jzIL/I8yC/yPMgv8jzIL/I8yC/yPMgv8jzIL/IsyC + /yLMgv8izIL/IsyC/yLMgv8izIL/IsyC/yLMgv8gy4D/T9qZ/yDLgM4AAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0txDkXF7vmGxu8/2lp4P+oqP3/mZn2 + /1NT1v8cHL3/Fxe7/xkZvP8bG73/HBy+/xwcvv8cHL7/HBy+/xwcvv8cHL7/HBy+/xwcvv8cHL7/HBy+ + /xwcvv8cHL7/HBy+/xwcvv8cHL7/Gxu9/xoavf8XF7z/GBi7/0tJ0v+SsvP/tvT1/4rn6/9D1eT/N9Le + /yrPpP8gzX//Ic6D/yLOg/8izoP/Is6D/yLOg/8izoP/Is6D/yLOg/8izoP/Is6D/yLOg/8izoT/Is6E + /yLOhP8izoT/Is6E/yLOhP8izoT/Is6E/yLOhP8hzoT/Ic6E/yHOhP8hzIT/IcyE/yHMhP8hzIT/IcyE + /yHMhP8hzYT/Ic2E/yHNhP8hzYT/Ic2E/yHNhP8hzYT/Ic2E/yHNhP8hzYT/Ic2E/yHNhP8hzYL/Ic2C + /yHNgv8hzYL/Ic2C/yHNgv8hzYL/Ic2C/yHNgv8jzYL/I82C/yPNgv8jzYL/I82C/yPNgv8jzYP/I82D + /x/Lgf9X3aD/H8yBsQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAADk5yQMiIsGHFRW7/icnwv9tbeH/paX8/6Wl/P90dOX/Q0PP/xoavP8WFrv/GBi8 + /xkZvP8aGr3/Gxu9/xwcvv8cHL7/HBy+/xwcvv8cHL7/Gxu9/xoavf8ZGbz/GBi8/xYWu/8YGLv/OjrL + /21t4f+goPn/q6n+/3+c7P9O3OX/Y+Dc/y3Rv/8hz4j/IM6D/yDPhv8gz4b/IM+G/yDPhv8gz4b/IM+G + /yDPhv8gz4b/IM+G/yDPhv8gz4b/IM+G/yDPhP8gz4T/IM+E/yDPhP8gz4T/IM+E/yDPhP8gz4T/IM+E + /yLPhP8iz4T/Is+E/yLPhP8iz4T/Is+E/yLPhf8iz4X/Is+F/yLNhf8izYX/Is2F/yLNhf8izYX/Is2F + /yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F + /yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLOg/8gzYP/NNON/0bYmP8izYSLAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6OssXFxe7 + oRUVu/4gIL//WFjY/5KS8v+qqv3/pqb8/4eH7v9lZd//S0vT/zMzyf8kJMH/FBS6/xUVu/8VFbv/FRW7 + /xQUuv8iIsD/Ly/G/0NDz/9hYd3/goLs/6Sk+/+pqf3/mZn1/2Fh3f8kIsH/Gi3C/y7Zx/9h46f/HM6C + /x/Phv8f0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH + /yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCF + /yHQhf8h0IX/IdCF/yHQhf8h0IX/IdCG/yHQhv8h0Ib/Ic6G/yHOhv8hzob/Ic6G/yHOhv8hzob/Ic+G + /yHPhv8hz4b/Ic+G/yHPhv8hz4b/Ic+G/yHPhv8hz4b/Ic+G/yHPhv8hz4b/Ic+G/yHPhv8hz4b/Ic+G + /x7OhP9X36H/KdGJ/yjQiF0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPDzMDyQkwH8WFrvpFBS6/ykpxP9WVtf/enro + /52d9/+pqf3/qKj9/6io/f+oqP3/qan9/6Cg+f+pqf3/qKj9/6io/f+pqf3/qan9/6Gh+v+Dg+z/XV3b + /zMzyf8TE7r/FhS78SQxvpQzVMEWGtWA+Wvmrf8bz4X/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI + /yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI + /yDRiP8f0Yj/H9GI/x/RiP8f0Yj/H9GI/x/RiP8f0Yj/H9GI/x/RiP8f0Yj/H9GI/x/RiP8f0Yb/H9GG + /x/Rhv8f0Yb/H9GG/x/Rhv8f0Yb/H9GG/x/Rhv8fz4b/H9CG/x/Qhv8f0Ib/H9CG/x/Qhv8f0If/H9CH + /x/Qh/8f0If/H9CH/x/Qh/8f0If/H9CH/x/Qh/8f0If/HM6F/27mrf8czoT/KNGKKgAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAyMsc2JCTBixYWu9MVFbv/FBS6/yEhv/84OMv/S0vT/1ZW1/9dXdv/XV3b + /11d2/9bW9r/S0vT/zs7y/8lJcL/ExO6/xUVu/8WFrvkFha7mDM2yD8AAAAAAAAAAAAAAAAZ1IS5X+On + /y7WkP8d0Yj/HtKI/x7Sif8e0on/HtKJ/x7Sif8e0on/HtKJ/x7Sif8e0on/HtKJ/x7Sif8e0on/HtKJ + /x7Sif8e0on/HtKJ/x7Sif8e0on/HtKJ/x7Sif8e0on/HtKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ + /yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDQif8g0In/INCJ + /yDRif8g0Yn/INGJ/yDRif8g0Yn/INGJ/yDRh/8g0Yf/INGH/yDRh/8g0Yf/INGH/yDRiP8g0Yj/INGI + /yDRiP8az4X/cOew/xvPhfUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AEJCzggzM8hEMzPIchYWu5gWFru1Fha7wRYWu+AWFrvjFha75BYWu8UWFru+Fha7nDMzx3YyMsdMMjLI + EQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACTMkHcv15L/Y+Sq/xvSif8f04v/H9OJ/x/Tif8f04n/H9OJ + /x/Tif8f04n/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK + /x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK + /x/Tiv8f04r/H9GK/x/Riv8f0Yr/H9KK/x/Siv8f0or/HtKK/x7Siv8e0or/HtKK/x7Siv8e0or/HtKK + /x7Siv8e0or/HtKK/x7Siv8e0or/HtKI/x7SiP8e0oj/HdGI/0Dbmf9W4aT/GtCGrQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKMWV + HRfTif+D7rj/GNKJ/x3UjP8d1Iz/HdSM/x3UjP8d1Iz/HdSM/x3UjP8d1Ir/HdSK/x3Uiv8d1Ir/HdSK + /x3Uiv8d1Iv/HdSL/x3Ui/8d1Iv/HdSL/x3Ui/8d1Iv/HdSL/x3Ui/8d1Iv/HdSL/x3Ui/8d1Iv/HdSL + /x3Ui/8d1Iv/HdSL/x3Ui/8d1Iv/HdSL/x3Ui/8d0ov/HdKL/x3Si/8d04v/HdOL/x3Ti/8d04v/HdOL + /x3Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL + /x/Ti/8a0Yj/eOq0/x/Ti/8o1I5dAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGdSK02fmrv8425j/HNSM/x7Vjf8e1Y3/HtWN + /x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vi/8e1Yz/HtWM/x7VjP8e1Yz/HtWM + /x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7TjP8e04z/HtOM + /x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM + /x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x3UjP8d1Iz/HdOL/yHUjf+F7bv/GNKJ/jDYkwwAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAh1o9yJNeR/4TuvP8X1Iv/HNaO/xzWjv8c1o7/HNaO/xzWjv8c1o7/HNaO/xzWjv8c1o7/HNaM + /xzWjP8c1oz/HNaN/xzWjf8c1o3/HNaN/xzWjf8c1o3/HNSN/xzUjf8c1I3/HNSN/xzUjf8c1I3/HNSN + /xzUjf8c1I3/HNSN/xzUjf8c1I3/HNWN/xzVjf8c1Y3/HNWN/xzVjf8c1Y3/HNWN/xzVjf8c1Y3/HNWN + /xzVjf8c1Y3/HNWN/xzVjf8c1Y3/HNWN/xzVjf8c1Y3/HNWN/xzVjf8c1Y3/HNWN/xzVjf8c1Y3/HtWN + /x7Vjf8a1Iv/YeSq/0jfoP8Z1IutAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADHalwsW1Iz+hu+9/yvZlP8b1Y7/HdWP + /x3Vj/8d1Y//HdWP/x3Vj/8d1Y3/HdWN/x3Vjf8d1Y7/HdWO/x3Vjv8d1Y7/HdWO/x3Vjv8d1Y7/HdWO + /x3Vjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO + /x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO + /x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HNWN/xjUjP+a88X/FtOL/ynXkj4AAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAABjWjZwy25n/hu+8/xXVjP8b147/G9eO/xvXjv8b147/G9eO/xvXj/8b14//G9eP + /xvXj/8b14//G9eP/xvXj/8b14//G9eP/xvXj/8b14//G9eP/xvXj/8b14//G9eP/xvXj/8b14//G9eP + /xvXj/8b14//G9eP/xvXj/8b14//G9eP/xvXj/8b14//G9eP/xvXj/8b14//G9eP/xvXj/8b14//G9eP + /xvXj/8b14//G9eP/xvXj/8b14//G9eP/xvXj/8b14//G9eP/xvXj/8b14//G9eP/xvXj/8b14//G9eP + /xvXj/8Y1o3/Yeas/13lqv8X1IzUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKtmUHBTWjP+M8MD/Od2b + /xrXj/8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ + /xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ + /xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNaQ/xzWkP8c1pD/HNaQ/xzWkP8c1pD/HNaQ/xzWkP8c1pD/HNaQ + /xzWkP8c1pD/HNaQ/xzWkP8c1pD/HNaQ/xzWkP8c1pD/G9aO/x7YkP+g9Mf/F9WN/ynalEsAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAH9mRmCncl/+l9sv/E9aN/xrZkP8a2ZH/GtmR/xrZkf8a15H/GteR + /xrXkf8a15H/GteR/xrXkf8a15H/GteR/xrXkf8a15H/GteR/xrXkf8a15H/GteR/xrXkf8a15H/GteR + /xrXkf8a15H/GteR/xrXkf8a15H/GteR/xrXkf8a15H/GteR/xrXkf8c15H/HNeR/xzXkf8c2JH/HNiR + /xzYkf8c2JH/HNiR/xzYkf8c2I//HNiP/xzYj/8c2I//HNiP/xzYj/8c2I//HNiP/xzYj/8c2I//HNiP + /xzYj/8V1o3/gu68/0zipP8X1o3VAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAx3ZoLFNeP + 927rtP9u67T/FdeP/xvYkv8b2JL/G9iS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS + /xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkP8b2ZD/G9mQ/xvZkP8b2ZD/G9mQ/xvZkP8b2ZD/G9mQ + /xvZkP8b2ZD/G9mQ/xrZkP8a2ZD/GtmQ/xrZkP8a2ZD/GtmQ/xrZkP8a2ZD/GtmQ/xrZkf8a2ZH/GtmR + /xrZkf8a2ZH/GtmR/xrZkf8a2ZH/GtmR/xrZkf8a2ZH/F9iP/0Xiov+X9MT/EteN/ynalTUAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf2pRkFdeQ/6T2yv87357/GNmQ/xvakf8b2pH/G9qR + /xvakf8b2pH/G9qR/xvakf8b2pH/G9qR/xvakf8b2pH/G9qR/xvakf8b2pH/G9iR/xvYkf8b2JH/G9iS + /xvYkv8b2JL/G9iS/xvYkv8b2JL/G9iS/xvYkv8b2JL/G9iS/xvYkv8b2JL/G9iS/xvYkv8b2JL/G9iS + /xvYkv8b2JL/G9iS/xvYkv8b2JL/G9iS/xvYkv8b2JL/G9iS/xvYkv8b2JL/G9iS/xvYkv8b2JL/G9iS + /xnYkf8i2ZT/rfjN/yTalf8X2JChAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAV2ZHALd2Z/7P60f8j2pb/GNmS/xnak/8Z2pP/GdqT/xnak/8Z2pP/GdqT/xnak/8Z2pP/GdqT + /xnak/8Z2pP/GdqT/xnak/8Z2pP/GdqT/xnak/8Z2pP/GdqT/xnak/8Z2pP/GdqT/xnak/8Z2pP/GdqT + /xnak/8Z2pP/GdqT/xnak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pH/G9qR + /xvakf8b2pH/G9qR/xvakf8b2pH/G9qR/xvakf8a2pH/F9iR/531yP9P5Kj/FdiP6zPdmwYAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADPenBMU2JDzUeWp/6b3y/8Y2ZL/GdmS + /xrZkv8a2ZL/GtmS/xrZkv8a2ZL/GtmS/xrZkv8a2ZL/GtmS/xrZkv8a2ZL/GtmS/xrZkv8a2ZL/GtmS + /xrZkv8a2ZL/GtmS/xrZkv8a2ZL/GtmS/xrZkv8a2ZL/GtmS/xrZkv8a2ZL/GtmS/xnZkv8Z2ZL/GdmS + /xnZk/8Z2ZP/GdmT/xnZk/8Z2ZP/GdmT/xnZk/8Z2ZP/GdmT/xnZk/8Z2ZP/GdmT/xnZk/8Z2ZP/GdmT + /xPXj/+G773/fe65/xHYj/8p3Zc0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAB/blj0S2ZD/dOy2/5bzxP8W2ZH/GdqT/xrblP8a25T/GtuU/xrblP8a25T/GtuU + /xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU + /xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuS/xrbkv8a25L/GtuS/xrbkv8a25L/GtuS + /xrbkv8a25L/GtuS/xrbkv8a25L/GtuS/xnbkv8R2Y//duy4/5bzxP8R2I//INuVcQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/blmQS2JD/he++ + /5XzxP8Y2ZL/GNqT/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU + /xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU + /xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8Z2pP/E9iQ + /3ntuf+k98r/GNmS/x/blp0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/blnoR2I//hO++/6P2yv8i25f/F9qS/xrblP8a25T/GtuU + /xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU + /xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU + /xrblP8a25T/GtuU/xrblP8a25T/GNqT/xbZkf+G8L//o/bK/x3alf8W2pKvAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ACDbloMS2I//e+26/6/5z/864KD/FNmR/xnblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU + /xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU + /xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xbakv8k3Zj/nvXH + /5TzxP8b2pT/FtqSrwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACDblm0R2ZD/Yemw/7r70/9n6rH/EtiQ + /xjak/8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU + /xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU + /xrblP8a25T/GtuU/xnak/8S2ZD/SuSm/7f60v997bv/FNiQ/xXakqIAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAACDblkYS2ZH7OuCg/675zv+c9cf/Mt+d/xPZkf8Y2pP/GtuU/xrblP8a25T/GtuU + /xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU + /xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xnak/8V2pH/I9uX/4fwv/+5+9P/Uuap + /xHZkP8g25Z6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADjgnxsU2ZHVG9qT + /3/uvP++/NX/ee25/yXdmP8U2ZH/GNqT/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU + /xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU + /xnak/8V2pL/GtmT/2bqsv+4+9P/lvPE/yjdmP8U2ZHvINuWPQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAh3JeHEdmQ/zvgoP+e9cf/ufrT/3ntuf8r3Zr/EtmR + /xfakv8Z2pP/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU + /xrblP8a25T/GtuU/xrblP8a25T/GdqT/xfakv8U2ZH/HtuV/2bqsv+x+dD/rPjO/1DlqP8Q2JD/FdqS + rjjgnwoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAu35skFNmRxBLYkP9O5af/nfTH/7z81P+U88T/UOWp/xzblP8T2ZH/FtqS/xfak/8Z2pP/GtuU + /xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xnak/8X2pP/FtqS/xTZkf8X2pL/RuOl + /4Pvvf+4+tP/rPjN/1jmrP8U2JH/FNmR3S/fnEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL96bQhPZkcwQ2ZD/PuKi + /4HuvP+1+tL/u/vU/5Pzw/9o6rP/QeKj/x/blv8S2ZH/FNmR/xTZkf8V2pL/FdqS/xXakv8V2pL/FNmR + /xTZkf8S2ZH/G9qT/z3hof9e567/ifDA/7X60f+7+9T/kvLC/0zkp/8U2JD/FNmR4SLcl1wAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADLenTYU2ZGpEtmR/hbZkf9M5Kb/fe67/6n4zf+6+9P/uvvT + /675z/+Z9MX/i/LB/3jtuP957bn/ee25/3jtuP+J8MD/lfPE/6z3zf+6+9P/ufvT/7P50P+J8MD/V+ar + /yHclv8S2ZH/E9mRwzHfnVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAABB4qIHM+CeYRPZkbUT2ZH5EdmQ/ybdmP9F46T/X+mv/3Pstv+D773/j/LC/4/ywv+P8sL/j/LC + /4nwwP957bn/ZOqx/0nkpf8s3pr/ENiQ/xLZkf8T2ZHCI9yWbjLfnRQAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA24J8xNuCe + axbakpQW2pLBFdqS3hTZkfsU2ZH/FNmR/xTZkf8U2ZH/FNmR/xXakuIW2pLFFtqSpTbgnm814J4+Q+Ok + AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAP///gAAAAAAAAAAAAB/////4AAAAAAAAAAAAAAAAAf/8AAAAAAAAAAAAAAAAAAA + D8AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAHAAAAAAAAA + AAAAAAAAAAAD8AAAAAAAAAAAAAAAAAAAD/+AAAAAAAAAAAAAAAAAAf////AAAAAAAAAAAAAgD/////// + //+AAAADAAAAD////////////////AAAAAP///////////////AAAAAA///////////////gAAAAAD// + ////////////gAAAAAAf/////////////wAAAAAAD/////////////4AAAAAAAf////////////8AAAA + AAAD////////////+AAAAAAAAf////////////AAAAAAAAD////////////gAAAAAAAAf/////////// + wAAAAAAAAD///////////8AAAAAAAAAf//////////+AAAAAAAAAH///////////AAAAAAAAAA////// + /////wAAAAAAAAAP//////////4AAAAAAAAAB//////////+AAAAAAAAAAf//////////AAAAAAAAAAD + //////////wAAAAAAAAAA//////////8AAAAAAAAAAH/////////+AAAAAAAAAAB//////////gAAAAA + AAAAAf/////////4AAAAAAAAAAH/////////+AAAAAAAAAAA//////////AAAAAAAAAAAP//////AADw + AAAAAAAAAAD/////8AAAEAAAAAAAAAAA/////8AAAAAAAAAAAAAAAP////8AAAAAAAAAAAAAAAD////8 + AAAAAAAAAAAAAAAA////+AAAAAAAAAAAAAAAAP///+AAAAAAAAAAAAAAAAD////AAAAAAAAAAAAAAAAA + ////gAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAD///4AAAAAAAAAAAAAAAAA///8AAAAAAAAAAAA + AAAAAP///AAAAAAAAAAAAAAAAAD///gAAAAAAAAAAAAAAAAA///wAAAAAAAAAAAAAAAAAf//8AAAAAAA + AAAAAAAAAAH//+AAAAAAAAAAAAAAAAAB///gAAAAAAAAAAAAAAAAA///wAAAAAAAAAAAAAAAAAP//8AA + AAAAAAAAAAAAAAAD//+AAAAAAAAAAAAAAAAAB///gAAAAAAAAAAAAAAAAAf//4AAAAAAAAAAAAAAAAAP + //8AAAAAAAAAAAAAAAAAD///AAAAAAAAAAAAAAAAAB///wAAAAAAAAAAAAAAAAA///8AAAAAAAAAAAAA + AAAAP//+AAAAAAAAAAAAAAAAAH///gAAAAAAAAAAAAAAAAD///4AAAAAAAAAAAAAAAAB///+AAAAAAAA + AAAAAAAAAf///gAAAAAAAAAAAAAAAAD///4AAAAAAAAAAAAAAAAAf//+AAAAAAAAAAAAAAAAAD///gAA + AAAAAAAAAAAAAAA///4AAAAAAAAAAAAAAAAAH///AAAAAAAAAAAAAAAAAA///wAAAAAAAAAAAAAAAAAP + //8AAAAAAAAAAAAAAAAAB///AAAAAAAAAAAAAAAAAAf//wAAAAAAAAAAAAAAAAAD//+AAAAAAAAAAAAA + AAAAA///gAAAAAAAAAAAAAAAAAP//4AAAAAAAAAAAAAAAAAB///AAAAAAAAAAAAAAAAAAf//wAAAAAAA + AAAAAAAAAAH//+AAAAAAAAAAAAAAAAAA///gAAAAAAAAAAAAAAAAAP//8AAAAAAAAAAAAAAAAAD///AA + AAAAAAAAAAAAAAAA///4AAAAAAAAAAAAAAAAAP///AAAAAAAAAAAAAAAAAD///wAAAAAAAAAAAAAAAAA + ///+AAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAD///+AAAAAAAAAAAAAAAAA////wAAAAAAAAAAA + AAAAAP////AAAAAAAAAAAAAAAAD////4AAAAAAAAAAAAAAAA/////AAAAAAAAAAAAAAAAP////8AAAAA + AAAAAAAAAAD/////wAAAAAAAAAAAAAAA//////gAADgAAAAAAAAAAf//////AAH4AAAAAAAAAAH///// + ////+AAAAAAAAAAB//////////wAAAAAAAAAAf/////////8AAAAAAAAAAP//////////AAAAAAAAAAD + //////////4AAAAAAAAAB//////////+AAAAAAAAAAf//////////wAAAAAAAAAP//////////8AAAAA + AAAAD///////////gAAAAAAAAB///////////8AAAAAAAAAf///////////AAAAAAAAAP/////////// + 4AAAAAAAAH////////////AAAAAAAAD////////////4AAAAAAAB/////////////AAAAAAAA/////// + //////4AAAAAAAf/////////////AAAAAAAP/////////////4AAAAAAH//////////////gAAAAAD// + ////////////8AAAAAD///////////////wAAAAD////////////////AAAAD////////////////8AA + AD/////////////////8AAH/////KAAAAEAAAACAAAAAAQAgAAAAAAAAQgAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKSkpAGkpKQCpKSkA6SkpAOkpKQDpKSk + BaSkpAikpKQKpKSkCqSkpAqkpKQKpKSkCqSkpAqkpKQKpKSkDKSkpBGkpKQVpKSkFqSkpBakpKQWpKSk + FqSkpBakpKQWpKSkFqSkpBakpKQWpKSkFqSkpBakpKQWpKSkFaSkpBGkpKQMpKSkCqSkpAqkpKQKpKSk + CqSkpAqkpKQKpKSkCqSkpAikpKQFpKSkA6SkpAOkpKQDpKSkAqSkpAEAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAApKSkAaSkpAakpKQLpKSkEaSkpBakpKQdpKSkJaSkpCmkpKQvpKSk + OqSkpD+kpKRApKSkQaSkpEekpKRWpKSkXaSkpF6kpKRepKSkXqSkpF6kpKRepKSkXqSkpGOkpKRypKSk + faSkpH+kpKR+pKSkfqSkpH6kpKR+pKSkfqSkpH6kpKR+pKSkfqSkpH6kpKR+pKSkf6SkpH2kpKRypKSk + Y6SkpF6kpKRepKSkXqSkpF6kpKRepKSkXqSkpF2kpKRWpKSkR6SkpEGkpKRApKSkP6SkpDqkpKQvpKSk + KaSkpCWkpKQdpKSkFqSkpBGkpKQLpKSkBqSkpAEAAAAApKSkA6SkpBykpKRBpKSkW6SkpG2kpKR8pKSk + iqSkpJmkpKSfpKSkpqSkpLSkpKS7pKSkvKSkpL2kpKTCpKSkzaSkpNOkpKTUpKSk1aSkpNWkpKTVpKSk + 1aSkpNWkpKTXpKSk36SkpOWkpKTmpKSk56SkpOekpKTnpKSk56SkpOekpKTnpKSk56SkpOekpKTnpKSk + 56SkpOakpKTlpKSk36SkpNekpKTVpKSk1aSkpNWkpKTVpKSk1aSkpNSkpKTTpKSkzaSkpMKkpKS9pKSk + vKSkpLukpKS0pKSkpqSkpJ+kpKSZpKSkiqSkpHykpKRtpKSkW6SkpEGkpKQcpKSkA6SkpAikpKQ9pKSk + haSkpKykpKTCpKSk0aSkpNykpKTkpKSk6aSkpO2kpKTypKSk9KSkpPWkpKT3pKSk+KSkpPmkpKT6pKSk + +6SkpPukpKT7pKSk/KSkpP2kpKT9pKSk/aSkpPykpKT9pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk + /qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/aSkpPykpKT9pKSk/aSkpP2kpKT8pKSk+6SkpPukpKT7pKSk + +qSkpPmkpKT4pKSk96SkpPWkpKT0pKSk8qSkpO2kpKTppKSk5KSkpNykpKTRpKSkwqSkpKykpKSFpKSk + PaSkpAikpKQDpKSkIaSkpEqkpKRmpKSkeqSkpIqkpKSapKSkoaSkpK2kpKS5pKSkvKSkpL2kpKTFpKSk + z6SkpNWkpKTVpKSk1aSkpNWkpKTXpKSk36SkpOakpKTmpKSk56SkpOekpKTnpKSk56SkpOekpKTnpKSk + 56SkpOekpKTnpKSk56SkpOekpKTnpKSk56SkpOekpKTnpKSk56SkpOekpKTnpKSk56SkpOekpKTmpKSk + 5qSkpN+kpKTXpKSk1aSkpNWkpKTVpKSk1aSkpM+kpKTFpKSkvaSkpLykpKS5pKSkraSkpKGkpKSapKSk + iqSkpHqkpKRmpKSkSqSkpCGkpKQDAAAAAKSkpAOkpKQIpKSkD6SkpBakpKQdpKSkJaSkpCqkpKQ0pKSk + PqSkpECkpKRCpKSkS6SkpFikpKRdpKSkXqSkpF6kpKRepKSkY6SkpHKkpKR9pKSkf6SkpH6kpKR+pKSk + fqSkpH6kpKR+pKSkfqSkpH6kpKR+pKSkfqSkpH6kpKR+pKSkfqSkpH6kpKR+pKSkfqSkpX2kpah7pKWp + eKSmq3ejpqx2o6asdqOmrHSkpqxppKasW6SlqlekpahapKSnXaSkpV2kpKVYpKSkS6SkpEKkpKRApKSk + PqSkpDSkpKQqpKSkJaSkpB2kpKQWpKSkD6SkpAikpKQDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAACkpKQBpKSkAqSkpASkpKQDpKSkBKSkpAakpKQJpKSkC6SkpAukpKQLpKSkC6SkpA2kpKQSpKSk + FqSkpBekpKQXpKSkF6SkpBekpKQXpKSkF6SkpBekpKQXpKSkF6SkpBekpKQXoqOjF6OiohejoZ4Xo6Gd + FKOhnA+jnJApo5FoeqOITbWkgzbfpYAv+6WAL/+lgS7/o38t/aJ+K+KihUe1oo1heaKVeCSim40CopyQ + BqOelQajoJsEo6KiA6KjpASkpKQCpKSkAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAJ+HTTeeeSm9nngg/555JP+eeSX/nnon/556J/+eeif/nnon/556KP+eeij/nnom + /555JP+eeCL/nnooyJ6CP0kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAnoE9FJ55J7+eeSX/n3oo/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/596KP+feib/nnkm0J57LiMAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnnomUp96J/+feij/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597KP+feij/n3oo + awAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAn3spep97Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feymVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAn3sp + c597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597KZQAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAn3spSZ97Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + ZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAn3spDZ97Kfqfeyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feykgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ97Kaqfeyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3spyQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ97KSafeyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feylAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAACfeymin3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3spwQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAn3sp/p97Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+eeigRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAn3spR556KP+eeij/nnoo/556KP+eeij/nnoo + /556KP+eeij/nnoo/556KP+eeij/nnoo/556KP+eeij/nnoo/556KP+eeij/nnoo/556KP+eeij/nnoo + /556KP+eeij/nnoo/556KP+eeij/nnoo/556KP+eeij/nnoo/556KP+eeij/n3wqZAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJx5L4ijfiv/o34s + /6N+LP+jfiz/o34s/6N+LP+jfiz/o34s/6N+LP+jfiz/o34s/6N+LP+jfiz/o34s/6N+LP+jfiz/o34s + /6N+LP+jfiz/o34s/6N+LP+jfiz/o34s/6N+LP+jfiz/o34s/6N+LP+jfiz/o34s/6N+LP+jfiz/o34s + /6N9K6YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAALC4ETCwuBbAsLga0LC4HfCwuB/gsLgf8LC4H/CwuB8QsLgcwKCoGVDw5+ + SgAAAACdejO0poEt/6aBLv+mgS7/poEu/6aBLv+mgS7/poEu/6aBLv+mgS7/poEu/6aBLv+mgS7/poEu + /6aBLv+mgS7/poEu/6aBLv+mgS7/poEu/6aBLv+mgS7/poEu/6aBLv+mgS7/poEu/6aBLv+mgS7/poEu + /6aBLv+mgS7/poEu/6aBLv+mgS7UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsLgTcLC4G/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/woKgf8AAIT0nHpn8auEM/+ogy7/qIQz/6iEM/+ohDP/qIQz/6iEM/+ohDP/qIQz + /6iEM/+ohDP/qIQz/6iEM/+ohDP/qIQz/6iEM/+ohDP/qIQz/6iEM/+ohDP/qIQz/6iEM/+ohDP/qIQz + /6iEM/+ohDP/qIQz/6iEM/+ohDP/qIQz/6iEM/+ohDP/qIMy8gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwuBDwsLgbgLC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/AAJ+/6uMn/+xjJ//rYhg/6yGLf+thzX/rYc2 + /62HNv+thzb/rYc2/62HNv+thzb/rYc2/62HNv+thzb/rYc2/62HNv+thzb/rYc2/62HNv+thzb/rYc2 + /62HNv+thzb/rYc2/62HNv+thzb/rYc2/62HNv+thzb/rYc2/62HNv+thzb/rIY1/7CLO/8AAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwuBPQsLgfkLC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wACfv+vkJ3/s4+d + /7OPo/+yjYb/r4k1/6+KN/+vijn/r4o5/6+KOf+vijn/r4o5/6+KOf+vijn/r4o5/6+KOf+vijn/r4o5 + /6+KOf+vijn/r4o5/6+KOf+vijn/r4o5/6+KOf+vijn/r4o5/6+KOf+vijn/r4o5/6+KOf+vijn/r4o5 + /6+JN/+5lkj+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwuB + VAsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8AAn7/pIic/7qVn/+2kZ//t5Ki/7aRlf+zjDr/tI06/7SNPP+0jTz/tI08/7SNPP+0jTz/tI08 + /7SNPP+0jTz/tI08/7SNPP+0jTz/tI08/7SNPP+0jTz/tI08/7SNPP+0jTz/tI08/7SNPP+0jTz/tI08 + /7SNPP+0jTz/tI08/7SNPP+yijn/wJ5R7gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAACwuBQwsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/AgR//4Vrlv/Nq6X/uJOf/7qVn/+6laL/uZSW/7aPOv+3kD7/t5A/ + /7eQP/+3kD//t5A//7eQP/+3kD//t5A//7eQP/+3kD//t5A//7eQP/+3kD//t5A//7eQP/+3kD//t5A/ + /7eQP/+3kD//t5A//7eQP/+3kD//t5A//7eQP/+2jz3/v5pN/72YSsoAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAACwuBFwsLgf4LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wQGf/9gTY//17Wo/7uWof+8mKL/vJii + /72Ypf+8lob/uZI6/7mTQv+5k0L/uZNC/7mTQv+5k0L/uZNC/7mTQv+5k0L/uZNC/7mTQv+5k0L/uZNC + /7mTQv+5k0L/uZNC/7mTQv+5k0L/uZNC/7mTQv+5k0L/uZNC/7mTQv+5k0L/uJE//82sY/+5kUCZAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsLgckLC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8HCID/LSWH + /+PArP++lqL/wZmi/8GZov/BmaL/wZqp/76WYf++lUL/vpZF/76WRf++lkX/vpZF/76WRf++lkX/vpZF + /76WRf++lkX/vpZF/76WRf++lkX/vpZF/76WRf++lkX/vpZF/76WRf++lkX/vpZF/76WRf++lkX/vpZF + /7uTQf/VtG3/wZtLVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsLgVALC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CgqB/wAAff/LqKf/0q2o/8KbpP/DnaX/w52l/8Odpf/EnKL/wJhD/8CZR//AmUj/wJlI + /8CZSP/AmUj/wJlI/8CZSP/AmUj/wJlI/8CZSP/AmUj/wJlI/8CZSP/AmUj/wJlI/8CZSP/AmUj/wJlI + /8CZSP/AmUj/wJlI/8CYRv/HoFP/0a9l/8ijVgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAALC4HbCwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8DBX//bliT/+nMr//Fm6X/yKCl/8igpf/IoKX/yKCq + /8Wcbv/EnEf/xZxK/8WcSv/Em0n/xJlI/8SYR//El0b/xJdG/8SXRv/El0b/xJhH/8SZSP/Emkn/xZxK + /8WcSv/FnEr/xZxK/8WcSv/FnEr/xZxK/8WcSv/CmEb/4MKA/8OaSaYAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAALC4EyCwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CQmA/wwLgP/iu67/2bar + /8mfp//Loaj/y6Go/8uhqf/Lopr/yJ1I/8ibTP/ImUn/yqdY/867bP/QyXr/0dKD/9LYif/S2In/0dKE + /9DKe//OvG7/yqla/8iZSf/Imkz/yZ1O/8mdT//JnU//yZ1P/8mdT//InE3/0ald/9y6c//NpFYnAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwuAjQsLgP8LC4D/CwuA/wsLgP8LC4D/CwuA + /wsLgP8LC4D/CwuA/wsLgP8LC4D/CwuA/wsLgP8LC4D/CwuA/wsLgP8LC4D/CwuA/wsLgP8LC4D/CwuA + /wsLgP8CA37/cVqV//TXs//Npan/zaWp/82mqf/Npqn/zaOv/8uhV//QwnL/1t+Q/9fnmf/X5Zf/1+SW + /9fklv/X45X/1+OV/9fklf/X5Jb/1+WX/9fnmf/W4pT/0sV2/8yjU//Lnk7/y6FR/8uiUv/LolH/yZ1M + /+zSk//Kn06kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoKhNIKCoT/CgqE + /woKhP8KCoT/CgqE/woKhP8KCoT/CgqE/woKhP8KCoT/CgqE/woKhP8KCoT/CgqE/woKhP8KCoT/CgqE + /woKhP8KCoT/CgqE/woKhP8KCoT/CgqD/wECgP/Enqn/89mz/86jrP/RqKz/0aSq/9bHv//a5q7/2uaX + /9rkl//a5Jf/2uSX/9rkl//a5Jf/2uSX/9rkl//a5Jf/2uSX/9rkl//a5Jf/2uSX/9rmmf/Z55r/1ch6 + /8+iUf/Po1P/zJ9N/+3Sk//Sp1n11a5jCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAANDYb/DQ2G/w0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G + /w0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G/w0Nhv8NDYb/DQ2G/w0Nhv8JCob/HxqL/+W8s//y17T/0q20 + /93gzP/e6NP/3eW4/9vllv/b5Zn/2+WZ/9vlmf/b5Zn/2+WZ/9vlmf/b5Zn/2+WZ/9vlmf/b5Zn/2+WZ + /9vlmf/b5Zn/3OWZ/9znm//b4pb/0a1d/+zNjf/dtWv/0q9hOQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAANDYoSDQ2K/w4Oi/8ODov/Dg6L/w4Oi/8ODov/Dg6L/w4Oi/8ODov/Dg6L + /w4Oi/8ODov/Dg6L/w4Oi/8ODov/Dg6L/w4Oi/8ODov/Dg6L/w4Oi/8ODov/Dg6L/w4Oi/8ODov/Dg6L + /wcIif87LZL/7s6+//fwv//f59L/3+fT/+Dlwv/e5pf/3+ab/9/mm//f5pv/3+ab/9/mm//f5pv/3+ab + /9/mm//f5pv/3+ab/9/mm//f5pv/3+ab/9/mm//e5pr/3eaZ//bvs//rzYb/za1eWQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEhKPJhERkP8ODo3/Dw+N/w8Pjf8PD43/Dw+N + /w8Pjf8PD43/Dw+N/w8Pjf8PD43/Dw+N/w8Pjf8PD43/Dw+N/w8Pjf8PD43/Dw+N/w8Pjf8PD43/Dw+N + /w8Pjf8PD43/Dw+N/w8Pjf8NCYz/ETCW/2bGwv/v6tP/++y7/+jpzv/h58v/4eeZ/+Lnnf/i553/4ued + /+Lnnf/i553/4ued/+Lnnf/i553/4ued/+Lnnf/i553/4ued/+HnnP/g5pv/5eaf//vrsv/y6qT/a8R2 + /0u0Z1gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUVlSUgIJ7/Dg6R + /xAQkv8QEJL/EBCS/xAQkv8QEJL/EBCS/xAQkv8QEJL/EBCS/xAQkv8QEJL/EBCS/xAQkv8QEJL/EBCS + /xAQkv8QEJL/EBCS/xAQkv8QEJL/EBCS/xAQkv8PDZH/FCCW/0O+vv88tbv/ULm//9jk1f/77MX/+eu6 + /+fmn//h5pz/4uad/+Lnnf/j557/4+ee/+Pnnv/j557/4+ee/+Pnnv/i553/4uad/+HmnP/l5p//9uqu + //3ssP/d5Jz/T7hr/yyuYP8xsGL/P7BiOQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAaGpsRKSmm/w8PlP8REZb/ERGW/xERlv8REZb/ERGW/xERlv8REZb/ERGW/xERlv8REZb/ERGW + /xERlv8REZb/ERGW/xERlv8REZb/ERGW/xERlv8REZb/ERGW/xERlv8QEJb/DgiS/z6pu/9CuL7/Qba9 + /z+1vf83srv/mtLU/+7qyf/77K3/+uyy/+/pqf/n5qL/4uad/+Lmnf/i5p3/4uad/+Lmnf/i5p3/5uah + /+7pqP/66rL//Oyx//HqpP+Yz4P/La1g/zCvYf81sWP/NbFj/zSxY/Q0sWMIAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzsP8NDZb/EhKY/xISmP8SEpj/EhKY/xISmP8SEpj/EhKY + /xISmP8SEpj/EhKY/xISmP8SEpj/EhKY/xISmP8SEpj/EhKY/xISmP8SEpj/EhKY/xISmP8SEpj/DwmW + /yxqrv9FvcL/Q7XB/0O1wf9DtcH/QLXA/1e+0P86spj/ist8/9vjmv/366n/++yv//3ss//77LL//Oyz + //zss//77LL//eyz//zssP/366r/4uad/5TOgv86smP/LK5f/zSwYv81sWP/NbFj/zWxY/81sWP/M7Fj + pAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiIqfOKSms/xERm/8TE53/ExOd + /xMTnf8TE53/ExOd/xMTnf8TE53/ExOd/xMTnf8TE53/ExOd/xMTnf8TE53/ExOd/xMTnf8TE53/ExOd + /xMTnf8TE53/EhGc/xIVnf9FwMX/Q7jC/0O3wv9DuML/Q7bC/0C1wf9jw9f/NbGC/yyuXf8lrF3/TLhq + /3/IfP+j04n/utqP/8nflf/J35X/vNuQ/6XTiP+FyX3/U7pt/yesXv8srmD/MrBi/zSwYv80sGL/NLBi + /zSwYv80sGL/NLBi/zSwYv8zsGMnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFxej + hUREwP8PD57/EhKh/xISof8SEqH/EhKh/xISof8SEqH/EhKh/xISof8SEqH/EhKh/xISof8SEqH/EhKh + /xISof8SEqH/EhKh/xISof8SEqH/EhKh/xALn/8sbrX/Q8HJ/0K7yP9Cu8j/QrvI/0G7yP8+ucX/bMrg + /y6zav8xs2b/MrNn/y+zZv8ssmT/KbFj/yiwY/8nsGL/J7Bj/yiwY/8psWT/K7Fj/y6zZP8xtGX/MrRl + /zK0Zf8ytGX/MrRl/zK0Zf8ytGX/MbRl/zOyZf8zsmX/MrJlpgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAACIiqyhNTcf/Dw+g/xMTo/8UFKP/FBSj/xQUo/8UFKP/FBSj/xQUo/8UFKP/FBSj + /xQUo/8UFKP/FBSj/xQUo/8UFKP/FBSj/xQUo/8UFKP/FBSj/xMTo/8RCKD/P7zL/0G+y/9Bvsr/Qb7K + /0G+yv8+vcn/ZMrb/0S/vf8ut2T/MLhr/zC4a/8wuGv/MLZr/zC2a/8wt2v/MLdr/zC3af8wt2n/MLdp + /zC3av8wt2r/MLdq/zC3av8wt2r/MLdq/zC3av8wt2r/MLdq/zC3av8vt2r/L7Vq/zC1av8utWkDAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHx+t0E1NyP8QEKX/FRWo/xUVqP8VFaj/FRWo + /xUVqP8VFaj/FRWo/xUVqP8VFaj/FRWo/xUVqP8VFaj/FRWo/xUVqP8VFaj/FRWo/xUVqP8UEaf/HTiv + /0LL0f9Awc//QMHP/0DBz/9Awc//Ob7M/3vU6/8vu43/Lbps/y67b/8uu2//Lrtv/y67bf8uu23/Lrlt + /y66bf8uum7/Lrpu/y66bv8uum7/Lrpu/y66bv8uum7/Lrpu/y66bv8uum7/Lrpu/y66bv8uum7/Lrps + /y66bP8uumz/LrhsVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8fsEVdXdP/Fhar + /xUVqv8WFqr/Fhaq/xYWqv8WFqr/Fhaq/xYWqv8WFqr/Fhaq/xYWqv8WFqr/Fhaq/xYWqv8WFqr/Fhaq + /xYWqv8WFqr/FA+p/ypqvv9AytP/P8PS/z/D0v8/w9L/OsLQ/27T4/9Lx8//KL1r/yy+cf8svnH/LL5x + /yy+cf8svnL/LL5y/yy+cv8svHL/LL1y/yy9cv8svXL/LL1y/yy9cv8svXL/LL1y/yy9cP8svXD/LL1w + /yy9cP8svXD/LL1w/yy9cf8svXH/LL1x/yy7cZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAFRWuunJy3/8ODqn/Fhav/xcXr/8XF6//Fxev/xcXr/8XF6//Fxev/xcXr/8XF6//Fxev + /xcXr/8XF6//Fxev/xcXr/8XF6//Fxev/xQOrf8xk8j/PszV/z7I1f8+yNX/O8fU/0rK2P982fH/KL+K + /ynAc/8qwXb/KsF2/yrBdv8qwXb/Kr90/yq/dP8qv3T/KsB0/yrAdP8qwHT/KsB1/yrAdf8qwHX/KsB1 + /yrAdf8qwHX/KsB1/yrAdf8qwHX/KsB1/yrAdf8pwHX/KcBz/ynAc/8pvnPKAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwvQ4wML72ZGTZ/w4Orf8YGLH/GBix/xgYsf8YGLH/GBix + /xgYsf8YGLH/GBix/xgYsf8YGLH/GBix/xgYsf8YGLH/GBix/xgYsf8VDa//Nq3R/z3N1/88y9b/O8rW + /z/K1/+S4Pb/LcWx/ybDcv8oxHn/KMR5/yjCef8ownn/KMJ5/yjDef8ow3n/KMN5/yjDef8ow3n/KMN5 + /yjDd/8ow3f/KMN3/yjDd/8nw3f/J8N3/yfDeP8nw3j/J8N4/yfBeP8nwXj/KcF4/ynBeP8pwXj/KMF4 + 7gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKCi7MkVFzP9lZdz/Dg6w + /xgYtf8ZGbb/GRm2/xkZtv8ZGbb/GRm2/xkZtv8ZGbb/GRm2/xkZtv8ZGbb/GRm2/xkZtv8ZGbb/Fg2z + /zu/1v89ztv/Osza/0DN2v+Z5Pn/OMzK/yTGdv8lx3v/Jsd8/ybHfP8mx3z/Jcd8/yXHfP8lxXz/JcZ8 + /yXGfP8lxnz/JcZ8/yXGfP8lxnz/JcZ8/yXGfP8lxnz/J8Z8/yfGfP8nxnr/J8Z6/yfGe/8nxnv/J8Z7 + /yfGe/8nxnv/JsZ6/yjFe/0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAApKb9DQUHM/3x85/8WFrj/FRW4/xkZuv8aGrr/Ghq6/xoauv8aGrr/Ghq6/xoauv8aGrr/Ghq6 + /xoauv8aGrr/Ghq6/xYNt/9JyNj/NNDb/1PV4/+Z5fr/OM7O/yLJe/8jyn7/I8p//yPKf/8jyn//I8p/ + /yXKf/8lyn//Jch//yXJf/8lyX//Jcl//yXJf/8lyX//Jcl//yXJf/8lyX//Jcl//yXJf/8lyX//Jcl/ + /yXJf/8lyX3/Jcl+/yXJfv8kyX7/JMl+/yTIff8wzIT/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0twyopKcPviorv/0hI0f8REbj/Fha7/xoavP8bG73/Gxu9 + /xsbvf8bG73/Gxu9/xsbvf8bG73/Ghq9/xgYvP8RCbj/RbvW/4Xk8/+F4/f/LM2+/yDLff8izIH/I8yC + /yPMgv8jzIL/I8yC/yPMgv8jzIL/I8yC/yLMgv8izIL/IsyC/yLMgv8izIL/IsyC/yLMgv8izIL/IsyC + /yLMgv8izIL/IsqA/yLKgP8iyoD/IsqB/yLKgf8iyoH/JMuB/yTLgf8iyn//OdGN8gAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPj7LAhkZu59WVtj/jIzw + /1hY2P8hIb//ExO6/xUVuv8WFrv/Fxe7/xcXu/8WFrv/FBS6/xQUuf81Ncj/dG/k/5HP8/9Y3t//Ic2g + /x7Nff8gzYT/IM2F/yDNhf8gzoX/IM6F/yDOhf8gzoX/IM6F/yDOhf8izoX/Is6F/yLOhf8izoP/Is6D + /yLOg/8izoP/Is6D/yLOg/8izoP/Is6D/yLOhP8izoT/Is6E/yLOhP8izoT/Is6E/yHMhP8hzIP/JM6E + /znUkNQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAANDTIJh0dvqZERND/e3vp/4yM7/97e+j/aGjg/2Fh3P9jY93/bm7i/4WF7P+MjO//Zmbg + /ywmxuUeh7HEQd+S/xzQhP8g0Yj/INGG/yDRhv8g0Yb/IM+G/yDQhv8g0Ib/INCG/yDQhv8g0Ib/H9CG + /x/Qhv8f0If/H9CH/x/Qh/8f0If/H9CH/x/Qh/8f0If/H9CH/x/Qh/8f0If/H9CH/x/Qh/8f0If/H9CH + /yHQh/8h0If/Hs+E/0PZl/8jz4amAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARETPAzIyx1MhIb+XJCTAxzIyx+M4OMr3ODjK + 8Cgow9wiIsC1JSXCfTU1yS8AAAAAMbyeRErgnf8b0oj/H9OK/x/Riv8f0Yr/H9GK/x/Siv8f0or/H9KK + /x/Siv8f0or/H9KK/x/Siv8f0or/H9KI/x/SiP8f0oj/H9KI/x/SiP8f0oj/H9KJ/x/Sif8f0on/H9KJ + /x/Sif8f0on/H9KJ/x/Sif8e0on/HtKJ/xvRh/9M3Z7/JtOLZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABK4Z/+INSM/x3Ti/8e1Iz/HtSM + /x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM + /x7Uiv8e1Iv/HtSL/x7Ui/8e1Iv/HtSL/x7Ui/8e1Iv/HtSL/x3Uiv8Z0oj/UuCj/zDWkhIAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAINaO + olnkqf8Y1Iv/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdSO + /x3Ujv8d1I7/HdSO/x3Ujv8d1Iz/HdSN/x3Ujf8d1I3/HdSN/x3Ujf8d1I3/HdSN/x3Ujf8Z1Iv/UeGk + /ybWkMEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAACnYlCZc5qv/HNeP/xvWj/8c1pD/HNeQ/xzXkP8c15D/HNeO/xzXjv8c147/HNeO + /xzXjv8c147/HNeO/xzXjv8c147/HNeO/xzXjv8c147/HNeP/xzXj/8c14//HNeP/xzXj/8c14//HNeP + /xzXj/8b14//FtSL/2bnr/8p2JNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHtiRqnDrtP8S143/G9mR/xvXkf8b15H/G9eR + /xvXkf8b15H/G9eR/xvYkf8b2JH/G9iR/xvYkf8b2JH/G9iR/xvYkf8b2JH/GtiR/xrYkf8a2JH/GtiR + /xrYkf8a2JH/GtiR/xrYkf8a2I//E9aM/2bpsP8i2JPKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADPdmw0/4KL6UOOn + /xPYj/8Z2pL/GdqS/xnakv8Z2pL/GdqS/xnakv8Z2JL/GdmS/xnZkv8Z2ZL/GdmS/xnZkv8Z2ZL/GdmS + /xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/FtiQ/z3goP9R5Kf/LNyYIAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAIduVS2fqsv844J//FNiQ/xrZk/8a2ZP/GtmT/xrZk/8a2ZP/GtqT/xrak/8a2pP/GtqT + /xrak/8a2pP/GtqT/xrak/8Z2pP/GdqT/xnak/8Z2pP/GdqT/xnak/8Z2pP/FdmR/yrcmf927bf/HdmT + ZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa2pR2d+23/0Dio/8S2ZD/GtuU/xrblP8a25T/GtuU + /xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/E9mR + /zDfm/+H8L7/FdiSlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABrak3tv67X/Y+iw + /w3Yj/8X2pP/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU + /xrblP8Y2pP/DtiP/1Tlq/987rr/E9iQlQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAI9uWUkXjpf+T8sT/MN6c/xDZj/8W2pL/GduT/xrblP8a25T/GtuU/xrblP8a25T/GtuU + /xrblP8a25T/GduU/xbakv8R2ZD/J92Y/47ywf9U5qr/G9qUawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA34J8WGtmSwHbtuP+M8cH/ReOl/xHYkP8S2ZD/FNmR + /xXakv8W2pL/FtqS/xXakv8U2ZH/EtmQ/xDYj/894aH/hvC+/3zuuv8f25XPMt+cJAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAw3pw8HNuU + vVvnrP+R8sL/jfLC/23rtP9X5qv/SeSm/0nkpv9W5qv/auq0/4vywP+S88P/ZOix/yLclsso3ZhJAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAABC4qMRKd2aZCTcl6Yx353USeSl9lHmqv9R5qr/S+Wn+DTgntom3JeqKt2a + bDrgnxcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAD/gAAAAAAB/4AAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAH+AAAAAAAA + f//////gAB///////4AAB///////AAAD//////4AAAH//////AAAAP/////4AAAAf/////AAAAA///// + 8AAAAD/////gAAAAH////+AAAAAf////4AAAAA/////AAAAAD////8AAAAAP//wAQAAAAA//8AAAAAAA + D//AAAAAAAAP/4AAAAAAAA//AAAAAAAAD/4AAAAAAAAP/AAAAAAAAA/8AAAAAAAAD/gAAAAAAAAP+AAA + AAAAAB/wAAAAAAAAH/AAAAAAAAA/8AAAAAAAAD/wAAAAAAAAf+AAAAAAAAD/4AAAAAAAAP/gAAAAAAAA + f+AAAAAAAAA/8AAAAAAAAD/wAAAAAAAAH/AAAAAAAAAf8AAAAAAAAA/4AAAAAAAAD/gAAAAAAAAP/AAA + AAAAAA/8AAAAAAAAD/4AAAAAAAAP/wAAAAAAAA//gAAAAAAAD//AAAAAAAAP//AAAAAAAA///ABAAAAA + D////+AAAAAP////4AAAAB/////gAAAAH/////AAAAA/////8AAAAD/////4AAAAf/////wAAAD///// + /gAAAf//////AAAD//////+AAAf//////+AAH///////+AB//ygAAAAwAAAAYAAAAAEAIAAAAAAAgCUA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkpKQCpKSkBKSkpAekpKQHpKSk + CaSkpA6kpKQRpKSkEqSkpBKkpKQSpKSkEqSkpBOkpKQdpKSkIqSkpCGkpKQhpKSkIaSkpCGkpKQhpKSk + IaSkpCGkpKQhpKSkIqSkpB2kpKQTpKSkEqSkpBKkpKQSpKSkEqSkpBGkpKQOpKSkCaSkpAekpKQHpKSk + BKSkpAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkpKQBoqKiE6KioiekpKQ5oqKiR6KiolikpKRhoqKi + b6Kion2kpKR/oqKigaSkpJOioqKeoqKin6Kiop+kpKSfoqKinqKioqGkpKSyoqKiuqKiorukpKS7oqKi + u6KiorukpKS7oqKiu6KiorukpKS7oqKiuqKiorKkpKShoqKinqSkpJ+ioqKfoqKin6SkpJ6ioqKToqKi + gaSkpH+ioqJ9oqKib6SkpGGioqJYoqKiR6SkpDmioqInoqKiE6KiogGkpKQNoqKiX6KioqKkpKS/oqKi + 0qKiouCkpKTmoqKi7aKiovOkpKT0oqKi9aSkpPmioqL8oqKi+6KiovykpKT9oqKi/aKiovykpKT+oqKi + /6Kiov+kpKT/oqKi/6Kiov+kpKT/oqKi/6Kiov+kpKT/oqKi/6Kiov6kpKT8oqKi/aSkpP2ioqL8oqKi + +6SkpPyioqL5oqKi9aSkpPSioqLzoqKi7aSkpOaioqLgoqKi0qSkpL+ioqKioqKiX6Kiog2kpKQEpKSk + K6SkpFGkpKRopKSkfqSkpIqkpKSbpKSkp6SkpKikpKS0pKSkwqSkpMSkpKTEpKSkxaSkpM6kpKTZpKSk + 2qSkpNqkpKTapKSk2qSkpNqkpKTapKSk2qSkpNqkpKTapKSk2qSkpNqkpKTapKSk2aSkp9ejpajVpKWo + 1aOlqNSkpanJpKWowaSkpcKkpKTEpKSkwqSkpLSkpKSopKSkp6SkpJukpKSKpKSkfqSkpGikpKRRpKSk + K6SkpAQAAAAAAAAAAKOjowGkpKQDoqKiCKKiogukpKQSoqKiF6KiohikpKQfoqKiKaSkpCmioqIpoqKi + K6KiojakpKRBoqKiQqKiokKkpKRCoqKiQqKiokKkpKRCoqKiQqKio0KkpKVCo6OmQqOkqUCkp646o6So + PaOci2yllnWYpZVxrqWWcK+klG6fo5Z4d6OelT+jpKYfo6SlJKOjpR+jpKQYoqOkF6SkpBKioqILoqKi + CKSkpAOioqIBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AJ+MYRWegDmZnngj9J53IP+eeCL/nngi/554Iv+eeCP/nngg/553Hv+eeCTUn4FAZAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAnnstkJ94If+feSb/n3oo/597Kf+feyj/n3sp/597KP+feyn/n3sp/597Kf+feij/n3km + /554JO6eeyg/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAJ14Iw2feibbnXkm/515J/6feyn/nXkn/Z15J/2feyn/nXkn/Z97Kf+deSf9nXkn + /Z97Kf+deSf9nXkn/Z97Kf+deSb/nXkmgwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAnXknDJ15J+ufeyn/nXkn/Z15J/2feyn/nXkn/Z15J/2feyn/nXkn + /Z97Kf+deSf9nXkn/Z97Kf+deSf9nXkn/Z97Kf+deSf+nXkn/597KY8AAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAn3sp1p97Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyljAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACfeymCnXkn/515J/2feyn/nXkn + /Z15J/2feyn/nXkn/Z15J/2feyn/nXkn/Z97Kf+deSf9nXkn/Z97Kf+deSf9nXkn/Z97Kf+deSf9nXkn + /Z97Kf+deSf/nXknFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ97KQyfeyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3spqQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AJ15J4Sfeyn/nXkn/Z15J/2feyn/nXkn/Z15J/2feyn/nXkn/Z15J/2feyn/nXkn/Z97Kf+deSf9nXkn + /Z97Kf+deSf9nXkn/Z97Kf+deSf9nXkn/Z97Kf+deSf+nXkn/597KRIAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAJ56KOWeeij/nnoo/Z56KP2eeij/nnoo/Z56KP2eeij/nnoo/Z56KP2eeij/nnoo + /Z56KP+eeij9nnoo/Z56KP+eeij9nnoo/Z56KP+eeij9nnoo/Z56KP+eeij9nnoo/556KHAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAk3E0FKN/Kv+hfiv/oX4r/aF+K/2hfiv/oX4r/aF+K/2hfiv/oX4r + /aF+K/2hfiv/oX4r/aF+K/+hfiv9oX4r/aF+K/+hfiv9oX4r/aF+K/+hfiv9oX4r/aF+K/+hfiv9oX4r + /6F+K7gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwuB + KQsLgYgLC4HNCwuB+QsLgf8LC4H/CwuB7gkJgbsPDn9qcFhPVKyEJv+ngC7/p4Aw/6eAMP+ngDD/p4Aw + /6eAMP+ngDD/p4Aw/6eAMP+ngDD/p4Aw/6eAMP+ngDD/p4Aw/6eAMP+ngDD/p4Aw/6eAMP+ngDD/p4Aw + /6eAMP+ngDD/p4Aw/6eAL+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAkJfyoLC4HHCQl//wsLgf8JCX//CQl//gkJf/0LC4H/CQl//wkJf/8DBYH/QjSO/7mRdf2phTH/qoQw + /auFNP2rhTT/q4U0/auFNP2rhTT/q4U0/auFNP2rhTT/q4U0/auFNP+rhTT9q4U0/auFNP+rhTT9q4U0 + /auFNP+rhTT9q4U0/auFNP+rhTT9qoQz/quGNf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAACQl/fQkJf/8LC4H/CQl//QsLgf8JCX/9CQl//QkJf/0LC4H/CQl//QkJf/0EBX//SjyL + /cSfpv2xjp//r4lK/a6IMv2uiTj/rok4/a6JOP2uiTj/rok4/a6JOP2uiTj/rok4/a6JOP+uiTj9rok4 + /a6JOP+uiTj9rok4/a6JOP+uiTj9rok4/a6JOP+uiTj9rYc2/rWSQ/8AAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAALC4GjCwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB + /wsLgf8FBn//PTGI/82ppP+1kJ//t5Kq/7SOV/+zjDb/tI08/7SNPP+0jTv/tI08/7SNPP+0jTv/tI08 + /7SNO/+0jTz/tI08/7SNO/+0jTz/tI08/7SNO/+0jTz/tI08/7SNO/+0jTz/sos5/76aTfIAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkJf4QLC4H/CQl//QkJf/0LC4H/CQl//QsLgf8JCX/9CQl/ + /QkJf/0LC4H/CQl//QkJf/0HCID/IBqE/di0p/26lKD/upah/buWqv24kU7/t5A9/beRP/25kUH/t5E/ + /beRP/25kUH/t5E//bmRQf+3kT/9t5E//bmRQf+3kT/9t5E//bmRQf+3kT/9t5E//bmRQf+3kD/9uJBA + /8WiV8oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQl/NQkJf/8LC4H/CQl//QkJf/0LC4H/CQl/ + /QsLgf8JCX/9CQl//QkJf/0LC4H/CQl//QkJf/0KCoH/AAB9/dm1qf2+l6L/wJqj/cCapP3AmaD/vJQ9 + /b2VRP28lUX/vZVF/b2VRf28lUX/vZVF/byVRf+9lUX9vZVF/byVRf+9lUX9vZVF/byVRf+9lUX9vZVF + /byVRf+7k0L9y6hc/8GbTIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwuB2AsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/AAB+/450mv/Zs6n/w5uk + /8Wcpf/Fnar/wpt3/8GYQ//CmUn/wplJ/8GYSP/Bl0f/wZZG/8GWRv/Blkb/wZdH/8KYSP/CmUn/wplJ + /8KZSf/CmUn/wplJ/8KZSf+/lUT/1bRs/8egUzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALC4E9CQl/ + /wkJf/0LC4H/CQl//QkJf/0LC4H/CQl//QsLgf8JCX/9CQl//QkJf/0LC4H/CQl//QkJf/0LC4H/BQV+ + /SUfhf3zz7H/xZyl/cihp/3Ioaf/yaCo/cabRf3Gmkn/xZdH/cacS/3HqFn/y7Fi/cqzZP/Jrl79yKNU + /cWYSP/GmEj9xptL/cedTf/HnU39x51N/cWbS//PqV3/0q1j1wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAALC4CiCQmA/wkJgP0LC4D/CQmA/QkJgP0LC4D/CQmA/QsLgP8JCYD9CQmA/QkJgP0LC4D/CQmA + /QkJgP0LC4D/CQmA/QAAfP2oiqH/5sSu/cuhp/3OpKj/zaKt/cudZf3PvGr/1NiK/dfnmv3W6Jj/1ueY + /dbnmP/W55j91uia/dXjlf/SzX79zKxc/cqaSv/Ln0/9zKBQ/cecSv/lxoP/zaRWRAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAMDIPqDAyD/wwMg/8MDIP/DAyD/wwMg/8MDIP/DAyD/wwMg/8MDIP/DAyD + /wwMg/8MDIP/DAyD/wwMg/8MDIP/DAyD/wkJgv8PDYT/7sy0/9u3r//Poqv/1b+7/9vmuv/a6Jf/2uWY + /9rkl//a5Jf/2uSX/9rkl//a5Jf/2uSX/9rkl//a5pn/2uqd/9fXi//QqFj/y51L/+nLiv/TplesAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDIj/DQ2J/Q0Nif0NDYn/DQ2J/Q0Nif0NDYn/DQ2J + /Q0Nif8NDYn9DQ2J/Q0Nif0NDYn/DQ2J/Q0Nif0NDYn/DQ2J/Q0Nif0EBYb/Oi2S/f3Utf3k2sP/3erX + /d/mxf3e5JX/3uWa/d7lmv3e5Zr/3uWa/d7lmv/e5Zr93uWa/d7lmv/e5Zr93uWa/d7mm//c55v98NOS + /+GvY9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABERlxYODo3/DQ2N/Q0Njv0NDY7/DQ2O + /Q0Njv0NDY7/DQ2O/Q0Njv8NDY79DQ2O/Q0Njv0NDY7/DQ2O/Q0Njv0NDY7/DQ2O/Q0Njv0NDI3/AACI + /WSrvf3/88z/8urG/eDmz/3f5Zb/4eab/eHmnP3h5pz/4eac/eHmnP/h5pz94eac/eHmnP/g5pv93+Wa + /eLmnf//7bL90OOb/1+zZW4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcXnhUdHZ3/Dg6R + /xAQk/8QEJP/EBCT/xAQk/8QEJP/EBCT/xAQk/8QEJP/EBCT/xAQk/8QEJP/EBCT/xAQk/8QEJP/EBCT + /xAPk/8LAY7/NY2z/zu7vf9Vu8D/5OfQ///vwf/v6KX/4uad/+HmnP/h5pz/4eac/+Hnnf/h5pz/4eac + /+HmnP/k5p//9uqt///vsv+k04j/J6td/y2vYf84sWJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAmJqX/Dg6V/hERlv0REZb/ERGW/RERlv0REZb/ERGW/RERlv8REZb9ERGW/RERlv0REZb/ERGW + /RERlv0REZb/ERGW/Q4JlP0jUKb/RsPC/UG0vv09tL3/NLC//ZfRwv3p5p7//+2y/fzrsP336qz/8eqo + /e/op//y6qr9+equ/f7tsf//7rD9wtyU/VG5bP8kqlz9Mq9h/TWxY/8yr2H2M69hBgAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAxMbHmDg6Y/xERnP0SEpz/EhKc/RISnP0SEpz/EhKc/RISnP8SEpz9EhKc + /RISnP0SEpz/EhKc/RISnP0SEpz/ERCb/Q8Jmf1FvsT/Q7fD/UO2wv1BtcH/U7zO/Tu0mv0lrFf/Xbxv + /ZbPgv2+25L/2OKc/d7jn//P4Jn9sNaM/YLHfP8/s2X9Jatd/S+vYP80sGL9NLBi/TSwYv80sGL/NLBi + lAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnJ62cKSmv/xAQn/8SEqH/ExOh/xMTof8SEqH/ExOh + /xISof8TE6H/ExOh/xMTof8SEqH/ExOh/xMTof8SEqH/EAuf/yddsv9Fxcr/QrvI/0K7yP8/ucb/Y8fe + /zG1ff8vtGX/K7Nm/yayZP8jsGP/IbBi/yCuYv8jr2H/Jq9i/ymxZP8vsmX/MrNm/zKzZv8ys2b/MrNm + /zKzZv8ys2b/MrNn/zG0ZgcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiIq02R0fF/wwMof0VFab/ExOm + /RMTpv0VFab/ExOm/RUVpv8TE6b9ExOm/RMTpv0VFab/ExOm/RMTpv0VFab/EAai/Tutyf1Aw83/P77N + /T++zP0+v83/Zszc/Sm3ZP0vuWz/Lblt/S25bf0vuW3/Lblr/S+5a/8vuWz9L7ds/S+5bP8vt2z9L7ds + /S+4bP8vuGz9L7hs/S+4bP8vuGz9L7hq/y+3amEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANja9 + 0S0tt/8TE6j/Fhap/xYWqf8WFqn/Fhap/xYWqf8WFqn/Fhap/xYWqf8WFqn/Fhap/xYWqf8VFKn/Fheq + /0HS1f8/xNH/P8TR/znCzv9w0un/M7+d/yq8bf8svXL/LL1w/yy9cP8svXD/LL1x/yu9cf8rvXH/K71x + /yu9cf8rvXH/K71x/yu7cf8rvHH/K7xv/yu8b/8rvG//K7xw/yu8b64AAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAJCS1K11d1f8TE6z/FRWu/RYWr/0WFq//Fhav/RYWr/8WFq/9Fhav/RYWr/0WFq//Fhav + /RYWr/0VEa3/ID+4/UDV1/0+yNX/OcbT/VXO3/1e0Nz/JL9t/SjBdf0owXX/KMF2/SjBdv0owXb/KMF2 + /SrBdv8qwXb9KsF2/Sq/dv8qv3b9Kr90/SrAdP8qwHT9KsB1/SrAdf8qwHX9KsB1/yrAdeEAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8ftnVtbd//EhKw/RcXsv0ZGbT/GRm0/RkZtP8ZGbT9GRm0 + /RkZtP0ZGbT/GRm0/RkZtP0XErL/JFjB/T7W2/04ytf/TM/e/Xnb8/0hxID/JsR4/SfFe/0nxXv/J8V5 + /SfFev0nxXr/J8V6/SbFev8mxXr9JsN6/SbFev8mw3r9JsR6/SjEev8mxHr9JsR6/SjEev8mxHj9JsR4 + /ibDeP0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkJL2SdHTk/yAgvP8SErb/GBi4 + /xoauf8aGrn/Ghq5/xoauf8aGrn/Ghq5/xoauf8YErf/JWHF/0Db2v9d1ub/fd/2/yHIj/8jyHr/Jcl/ + /yXJf/8lyX//Jcl//yXJff8lyX7/Jcl+/yXJfv8lyX7/Jcl+/yXJfv8lx37/Jch+/yTIfv8lyH7/Jch+ + /yTIfv8lyH7/I8d9/y3Lgv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIiK/ + a2Zm3/9cXNr/GBi7/hMTuf8WFrv9GBi7/RkZvP0ZGbz/GBi7/RUVuv0QDLj/L1rM/o/x9P1i2+j/HcuL + /SDLfv0hzIP/IcyD/SPMgf0jzIH/I8yB/SPMgv0jzIL/I8yC/SPMgv8jzIL9I8yC/SPMgv8jzIL9I8yC + /SPMgv8jzIL9I8qA/SPKgP8jy4D9Icp//jTQi/cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAADY2yBwxMci3a2vh/25u4/9NTdP/MjLI/ycnw/4qKsP/OTnL/1pa2f9xbeT/YGvh + /kPiu/4ZzX7/IM6D/SHPhv0hz4b/Ic+G/SHPhv0hz4b/Ic+G/SHPhv0hz4b/Ic+G/SHPhv8hz4T9Ic+E + /SHPhP8hz4T9Ic+E/SHPhP8hzYT9Ic2F/SHPhf8gzYX9HsyC/z3Wk9IAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPT3NGTAwxnVAQM27T0/U5lpa2ftYWNn2TU3T + 3DY1yaguLsVaOoq4BT3hkf8a0Ib/H9KJ/x/Sif8f0on/H9KJ/x/Sif8f0on/H9KJ/x/Sif8e0on/HtKJ + /x7Sif8e0on/HtKJ/x7Sif8e0In/HtCJ/x7Qif8e0Yn/HtGH/x7QiP8d0Ib/L9aQ/zPWkZgAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD3dmrcn1pD/G9OL/RzUjP0c1Iz/HNSM/RzUjP0c1Iz/HNSM + /RzUjP0e1Iz/HtSM/R7UjP8e1Iz9HtSM/R7UjP8e1Iz9HtSK/R7Uiv8e1Ir9HtSL/R7Ui/8Z0oj9Sd6f + /yrVkEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACbZkkdS46b/FdSM/RzWj/0c1o//HNaN + /RzWjf0c1o//HNaN/RzWjf0b1o7/G9aO/RvWjv8b1o79G9aO/RvWjv8b1o79G9aO/RvWjv8b1o79G9aO + /RrVjf8d1o7/TOCj6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABD4KHYL92Z + /xjXj/8b2JH/G9iR/xvYkf8b2JH/G9iR/xvYkf8b2I//G9iQ/xvYkP8b2JD/G9iQ/xvYkP8b2JD/G9iQ + /xvYkP8b2JD/G9iQ/xLWi/9b5qz/JtmTXgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAr3JgqZemw/xbYkP4Y2ZH/GtqS/Rrakv0Z2pL/GtiS/RrZkv0Z2JL/GtmS/RnZkv8a2ZL9GtmS + /RnZkv8a2ZL9GtmS/RnZkv8a2ZL9EteP/Ubio/86357KAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAItuWanPst/8U2ZH/FtmR/RjZk/0a25P/GNmT/RjZk/0a25P/GNmT + /Rrak/8Y2pP9GNqT/Rrak/8Y2pP9GNqT/Rrak/8Q2I/9POGh/1PlqvQz3psMAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACTcmH177rn/JNyY/xHZkf8Y2pP/GtuU + /xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/F9qS/wzYjv9X56z/U+aq9CzdmhwAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAk3JhUZ+qx + /2bpsf8W2ZH/ENiP/RPYkP0Y2pP/F9mS/RnblP8X2ZH9FtiR/RTZkf8P2I/9L9+c/33uuv844J/NN+Ce + DQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAOuCgETHfnKZv67X/c+u3/0zlp/8n3Jn/GNqT/hbZkv8e25X+M9+e/1/orv947bn/Veer + 7SbcmGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA94aEPL96cbUXipLNa56zjZ+qx/Gfqs/9k6bD2Vear + 0Tjfn5kv3pxEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8AAAAAD8A + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAwAA////wAP/AAD///+AAP8AAP///gAAfwAA///8 + AAA/AAD///wAAB8AAP//+AAADwAA///wAAAPAAD///AAAAcAAP//8AAABwAA///gAAAHAAD/wAAAAAcA + AP8AAAAABwAA/gAAAAAHAAD8AAAAAAcAAPgAAAAABwAA8AAAAAAHAADwAAAAAAcAAOAAAAAADwAA4AAA + AAAPAADgAAAAAB8AAOAAAAAAPwAAwAAAAAA/AADAAAAAAB8AAOAAAAAADwAA4AAAAAAPAADgAAAAAAcA + AOAAAAAABwAA8AAAAAAHAADwAAAAAAcAAPgAAAAABwAA/AAAAAAHAAD+AAAAAAcAAP8AAAAABwAA/8AA + AAAHAAD///AAAAcAAP//8AAADwAA///4AAAPAAD///gAAB8AAP///AAAHwAA///+AAA/AAD///8AAH8A + AP///4AB/wAA////4Af/AAAoAAAAIAAAAEAAAAABACAAAAAAAIAQAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAACkpKQDpKSkC6SkpBCkpKQapKSkG6SkpCSkpKQtpKSkLqSkpC6kpKQupKSkPqSkpEOkpKRDpKSk + Q6SkpEOkpKRDpKSkQ6SkpD6kpKQupKSkLqSkpC6kpKQtpKSkJKSkpBukpKQapKSkEKSkpAukpKQDAAAA + AAAAAACkpKQXpKSke6SkpKikpKTCpKSk0KSkpN+kpKTjpKSk6qSkpPGkpKTypKSk8qSkpPGkpKT5pKSk + +6SkpPykpKT8pKSk/KSkpPykpKT7pKSk+aSkpPGkpKTypKSk8qSkpPGkpKTqpKSk46SkpN+kpKTQpKSk + wqSkpKikpKR7pKSkF6enpwikpKQzpKSkTqSkpGOkpKR4pKSkgKSkpJGkpKSdpKSknKSkpKWkpKS3pKSk + t6SkpLekpKS3pKSkt6SkpLekpKW3pKWntqSlqrGkp62tpKevrKSnr6ukp6+ZpKetkqSmq5ekpaiQpKSm + gKSkpHikpKRjpKSkTqSkpDOnp6cIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArq6u + Aa6urgWurq4Frq6uBa6urgWpqq0Fo6arBQAAAACil4AHoIxdeaCBOsyieib4onsk/6B5IfqffzfNn4dR + eKCScQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnnwuU553IPyeeSP/nnkm/556J/+eeif/nnoo + /555Jv+eeST/nngh/555JWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ95JXqfeif/n3so/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3oo/596J4oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACifSlOn3sp/597Kf+feyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597KV0AAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ97Kfefeyn/n3sp + /597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/597Kf+feyn/n3sp/6iCKwIAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAClfypjnnoo + /556KP+eeij/nnoo/556KP+eeij/nnoo/556KP+eeij/nnoo/556KP+eeij/nnoo/556KP+eeij/on0p + cwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AKV/JrqgfCr/oHwq/6B8Kv+gfCr/oHwq/6B8Kv+gfCr/oHwq/6B8Kv+gfCr/oHwq/6B8Kv+gfCr/oHwq + /6B8Kv+gfSrJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALC4c1CwuDpwsLgusLC4L/CwuC + /wkJg+AODYCJqYM47KiCKf+ogTD/qIEx/6iBMf+ogTH/qIEx/6iBMf+ogTH/qIEx/6iBMf+ogTH/qIEx + /6iBMf+ogTH/qIEx/6eBMPkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALC4oBCwuBtgsLgf8LC4H/CwuB + /wsLgf8LC4H/CwuB/wAAf/+6lqn/sItv/62GLf+tiDb/rYg2/62INv+tiDb/rYg2/62INv+tiDb/rYg2 + /62INv+tiDb/rYg2/62INv+thzb/sYw8/wAAAAAAAAAAAAAAAAAAAAAAAAAACwuJAgsLgeMLC4H/CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/AAB+/7aWoP+5lKb/t5KG/7SNNP+1jj7/tY4+/7WOPv+1jj7/tY4+ + /7WOPv+1jj7/tY4+/7WOPv+1jj7/tY4+/7OMPP+8mEr2AAAAAAAAAAAAAAAAAAAAAAAAAAALC4G+CwuB + /wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8AAH7/mYGc/8Kaov+/man/vJVz/7uTPv+8lET/vJRE + /7yURP+8lET/vJRE/7yURP+8lET/vJRE/7yURP+8lET/upFA/8qmW8IAAAAAAAAAAAAAAAAAAAAACwuF + QQsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wsLgf8LC4H/CwuB/wQFf/9LPoz/37er/8ScpP/Gnq7/wppK + /8KXRv/BlUX/wZRE/8GUQ//BlET/wZVF/8KXR//CmUn/wppK/8GYSP/Kpln/z6pdaAAAAAAAAAAAAAAA + AAAAAAALC4K2CgqA/woKgP8KCoD/CgqA/woKgP8KCoD/CgqA/woKgP8KCoD/CgqA/wAAfP/buqz/zaOo + /8yirP/Km3f/zbNg/9LOf//V3I7/1OKU/9Xdjv/Sz4D/zbZn/8maSv/KnU3/yJtL/9u4cfYAAAAAAAAA + AAAAAAAAAAAAAAAAAAsLhP0LC4T/CwuE/wsLhP8LC4T/CwuE/wsLhP8LC4T/CwuE/wsLhP8LC4T/BgeD + /zAmi//81LT/07G2/9zkxf/b6Jj/2+Wa/9vkmP/b5Jj/2+SY/9vlmf/b6Jz/2+SX/9GxYP/pwHr/3K5h + RwAAAAAAAAAAAAAAAAAAAAAQEJoGDg6M/w0Njf8ODo3/Dg6N/w4Ojf8ODo3/Dg6N/w4Ojf8ODo3/Dg6N + /w4Ojf8ODo3/AACH/2F2qf//+sz/5OjQ/97llv/f5pv/4Oac/+DmnP/g5pz/3+ab/97lmv/h5p3///W1 + /5q8b6sAAAAAAAAAAAAAAAAAAAAAAAAAABYWpgYaGpr/Dg6T/xAQlP8QEJT/EBCU/xAQlP8QEJT/EBCU + /xAQlP8QEJT/EBCU/w4Lkv8YLpv/O8PA/16+xP/u6cr//e2q/+3opP/k553/4+ed/+Tnnf/t6KP//O2t + //DoqP9Zu27/JK5f/zGxYkYAAAAAAAAAAAAAAAAAAAAAAAAAACQkp/wQEJn/EhKb/xISm/8SEpv/EhKb + /xISm/8SEpv/EhKb/xISm/8REZr/DQOX/0O1wf9DuML/PLTC/0C2s/9owGz/tteR/+HjpP/u6Kj/4uSk + /7nYlP9vwXX/JKpb/y6uYP80sGL/M7Bi9gAAAAAAAAAAAAAAAAAAAAAAAAAAODi6sw4On/8UFKH/FBSi + /xQUov8UFKL/FBSi/xQUov8UFKL/FBSi/xINoP8iTK7/RMjM/z+7yP9Kv9L/RL2c/ymzYf8lsWT/IbFj + /yCwYv8gr2H/JLBi/yqyZf8wtGf/MbRn/zG0Z/8xtGf/MrhpaAAAAAAAAAAAAAAAAAAAAAApKbo8OTm9 + /xERpv8WFqj/Fhao/xYWqP8WFqj/Fhao/xYWqP8WFqj/Ewqm/zOUxf9AyNH/OcHO/2PN5v8ou27/LLtu + /y28cP8tvHD/Lbxw/y28cP8tvHD/Lbxw/y26cP8tu27/Lbtv/y27b/8tu2/BAAAAAAAAAAAAAAAAAAAA + AAAAAAA9PcW1JSW4/xQUr/8YGLH/GBix/xgYsf8YGLH/GBix/xgYsf8UCa3/PL/U/znK1P9c0Ob/P8mo + /ybAcf8pwnf/KcJ3/ynCd/8pwnf/KMJ3/yjAd/8owHf/KMF1/yjBdv8owXb/KMF2/yjAdfYAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAABLS9DbLy/C/xIStf8YGLf/Ghq4/xoauP8aGrj/Ghq4/xMGs/871Nr/Ydjt + /07Tx/8fxnL/JMh+/yTIfv8kyHz/JMh9/yTIff8myH3/Jsh9/ybIff8mx33/Jsd9/ybHff8lx33/KMh9 + /wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRtGpVlbY/ykpw/8TE7r/Fha7/xUVu/8UFLn/NCnJ + /3rd8f881bb/G8t4/yLNhP8izYL/Is2D/yLNg/8hzYP/Ic2D/yHNg/8hzYP/Ic2D/yPLg/8jzIH/I8yB + /yHLgP8u0Ij5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ONAqVFTZm1pa2t9SUtX+UlLV + +l1c3NRHSdJ+NMSbxBfTgP8e0If/HtGH/x7RiP8e0Yj/HtGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI + /yDRiP8g0Yj/HNCG/znXlMkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAA13ZdjLNiU/xvUjP8d1Y3/HdWN/x3Vjf8d1Y3/HNWN/xzVjf8c1Y3/HNOL + /xzUjP8c1Iz/HNSM/xvTi/8n1pD/PN6bdQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABH4aP3E9aN/xrYkP8a2JD/GtiQ/xrYkP8a2JD/GtiQ + /xrYkP8a2JD/GtaQ/xrXkP8a15D/E9WN/0bgov8456ACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADbhnk5G4qT/EdiQ/xnak/8Z2pP/GdqT + /xnak/8Z2pP/GdqT/xnakf8Z2pL/GdqS/xLYj/9C4aP/ON+eXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/hontQ5Kn/D9mP + /xbakv8a25T/GtuU/xrblP8a25T/GtuU/xbakv8Q2ZD/TOSn/z3ioYoAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ADvioVRe6K79QeKi/xDYj/8U2ZH/FNmR/xTZkf8Q2ZD/PeGg/13orf864aFgAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAADrhoQFB4qNuYOivwlLlqfJQ5an/UuWp9F/or8VF46NzOeGgBQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAMAAAAMAAAAAAAAAAP+AgD///wAf//4AD//8AAf//AAD//gAA//4AAP8AAAD8AAA + A+AAAAPgAAADwAAAA8AAAAfAAAAHgAAAD4AAAAfAAAAHwAAAA8AAAAPgAAAD8AAAA/gAAAP8AAAD//gA + A//8AAP//AAH//4AD///AB///4A/KAAAABgAAAAwAAAAAQAgAAAAAABgCQAAAAAAAAAAAAAAAAAAAAAA + AKSkpAOkpKQUoqKiJKSkpDKkpKQ/oqKiRqSkpFSkpKRUoqKiVKSkpGakpKRqpKSkaqKiomqkpKRqoqKi + ZqSkpFSkpKRUoqKiVKSkpEakpKQ/oqKiMqSkpCSkpKQUoqKiA6ampiakpKSOoqKit6SkpM6kpKTaoqKi + 56SkpOqkpKTzoqKi9qSkpPakpKT3pKSk96KjpPekpaj1o6Sp8KSmrO2kpqzqo6Sq46SlqeOkpKfaoqOj + zqSkpLekpKSOpKSkJgAAAAAAAAAAAAAAALCwsASwsLAIsLCwEK6urg+urq4Zrq6uHK6urhurrK0bo6as + G6OhnRKil39AoItcp6KFR9KihkXToYhRrqCRbFcAAAAAo6SpAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ55KJyeeCD/nXci/555Jf+eeSX/nXgj + /554If+edyHVpX4mEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAoXwnuZ15Jv+feyn/nXkn/Z97Kf+feyn/nXkn/Z97Kf+feyn/nXkm8q+HKwsAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACogiphnXkn/515J/6deSf9nXkn + /p15J/2deSf9nXkn/p15J/2deSf9nXkn/6F8KLYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAACifSninnoo/556KP2eeij/nnoo/Z56KP+eeij/nnoo/Z56KP+eeij/nnoo + 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 + + + \ No newline at end of file diff --git a/Themenmanagement/Themenmanagement/Details/frmDetail.vb b/Themenmanagement/Themenmanagement/Details/frmDetail.vb new file mode 100644 index 0000000..11d3c2b --- /dev/null +++ b/Themenmanagement/Themenmanagement/Details/frmDetail.vb @@ -0,0 +1,1332 @@ +Imports SautinSoft.HtmlToRtf +Imports System.IO +Imports System.Data.SqlClient +Imports System.Data.SqlTypes +Imports C1.Win.C1TrueDBGrid + +Public Class frmDetail + +#Region "Deklarationen" + Dim thema As New db.Thema + Dim sec As New Utils.MySecurity + Dim msg As New Utils.MyMessage + Dim FormReadonly As Boolean = False + Dim FormDataChanged As Boolean = False + Dim SpaltenTitel As New Utils.Tabellenspalte + + Dim Stammdaten As New DB.clsStammdaten + Dim Kategorie As New DB.clsKategorie + Dim Kategorien As New DB.Kategorie + Dim zielgruppe As New DB.clsZielgruppe + Dim Kategoriedaten As New DataTable + Dim Nebenkategoriedaten As New DataTable + Dim zielgruppendaten As New DataTable + Dim issuerelevanztkb As New DataTable + Dim issuerelevanztkbveraenderung As New DataTable + Dim Entwicklungstext_Changed As Boolean = False + + + Private Aktuelles_Thema As Integer = 0 + + Private Anzeige As Boolean = False + Dim Neuer_Datensatz As Boolean = False + + ''' + ''' Generic Event-Handler + ''' + ''' + Dim WithEvents evh As MyGenericEventHandler = Globals.MyEventHanlder + Dim On_Load As Boolean = False + Dim NeueKateogorienr As Integer = 0 + +#End Region + + +#Region "Eventhandler ChangeEreignisse" + ''' + ''' Allg Eventhandler für Chanage-Ereignise festlegen + ''' + ''' + ''' + Private Sub AddChanges(ByVal Container As Control) + Dim l As New List(Of Control) + Me.GetControl(Me, "*", l) + Dim evh As EventHandler = AddressOf ChangesMade + For Each c As Control In l + If TypeOf c Is TextBox Then + Dim ctl As TextBox = c + AddHandler ctl.TextChanged, evh + End If + If TypeOf c Is MaskedTextBox Then + Dim ctl As MaskedTextBox = c + AddHandler ctl.TextChanged, evh + End If + If TypeOf c Is ComboBox Then + Dim ctl As ComboBox = c + AddHandler ctl.SelectedValueChanged, evh + End If + If TypeOf c Is CheckBox Then + Dim ctl As CheckBox = c + AddHandler ctl.CheckedChanged, evh + End If + Next + AddHandler txtBeschreibung.TextChanged, evh + AddHandler txtSuchbegriffe.TextChanged, evh + End Sub + ''' + ''' Envent-Handler für Change-Ereignisse + ''' + ''' + ''' + ''' + Private Sub ChangesMade(ByVal sender As Object, ByVal e As System.EventArgs) + Me.FormDataChanged = True + Dim objtype As System.Type = sender.GetType + If objtype.Name = "MaskedTextBox" Then + Dim o As MaskedTextBox = sender + If o.Text = "01.01.1900" Then o.Text = " . . " + End If + End Sub + + ''' + ''' Sucht in den Base-Controls sämtliche Controls mit dem Namen in "Key" (Wildcards * möglich) und listet + ''' die gefundnen Controls in der Liste L zur weiteren Bearbeitung + ''' + ''' Base-Contrlo (z.B. aktuelles Formular + ''' Schlüssel welcher gesucht werden soll + ''' Liste der gefundenen Objekte + ''' True wenn eines oder mehr Controls gefunden wurden, false wenn kein Control gefunden wurde. + ''' + ''' + Private Function GetControl(ByVal BaseControl As Control, ByVal Key As String, ByRef L As List(Of Control), Optional ByVal ReturnAtFirstElement As Boolean = False) As Boolean + If L Is Nothing Then L = New List(Of Control) + Dim Gut As Boolean + Dim ReturnFlag As Boolean = False + If Key IsNot Nothing Then Key = Key.ToLower + + If BaseControl.HasChildren = True Then + For Each ctl As Control In BaseControl.Controls + Gut = False + If Key Is Nothing Then + Gut = True + Else + If ctl.Name.Length >= Key.Length Then + Key = Key.ToLower + If Key.StartsWith("*") Then + If Key.Substring(1) = ctl.Name.ToLower.Substring(ctl.Name.Length - (Key.Length - 1), Key.Length - 1) Then Gut = True + ElseIf Key.EndsWith("*") Then + If Key.Substring(0, Key.Length - 1) = ctl.Name.ToLower.Substring(0, Key.Length - 1) Then Gut = True + Else + If Key = ctl.Name.ToLower Then Gut = True + End If + End If + End If + + If Gut = True Then + L.Add(ctl) + If ReturnAtFirstElement = True Then ReturnFlag = True + End If + If ReturnFlag = False Then + Call GetControl(ctl, Key, L) + End If + Next + End If + + If L.Count - 1 > -1 Then + Return True + Else + Return False + End If + End Function + + Private Sub dtGueltigAb_Enter(sender As Object, e As EventArgs) Handles dtGueltigAb.Enter + If Me.txtGueltigab.Text = " . ." Then Me.dtGueltigAb.Value = Now.ToShortDateString Else Me.dtGueltigAb.Value = Me.txtGueltigab.Text + End Sub + + Private Sub dtGueltigBis_Enter(sender As Object, e As EventArgs) Handles dtGueltigBis.Enter + If Me.txtGueltigbis.Text = " . ." Then Me.dtGueltigBis.Value = Now.ToShortDateString Else Me.dtGueltigBis.Value = Me.txtGueltigbis.Text + End Sub + Private Sub dtPicker_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles _ + dtGueltigAb.Leave, dtGueltigBis.Leave + Dim s As String + Dim obj As DateTimePicker = sender + s = obj.Name + Check_Datum(Me.thema.iThemanNr.Value, obj.Value, obj.Name) + End Sub + + ''' + ''' Handelt das Change-Ereignis eines Datetimepckers und stellt das ausgewählte Datum in das entsprechende Textfeld + ''' + ''' + ''' + ''' + Private Sub DateTimePicker_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles _ + dtGueltigAb.ValueChanged, dtGueltigBis.ValueChanged + Dim s As String + Dim obj As DateTimePicker = sender + s = obj.Name + If UCase(s) = "DTGUELTIGAB" Then s = "txtGueltigab" + If UCase(s) = "DTGUELTIGBIS" Then s = "txtGueltigbis" + Dim l As New List(Of Control) + Dim txtb As MaskedTextBox + GetControl(Me, s, l) + For Each ctl As Control In l + txtb = CType(ctl, MaskedTextBox) + txtb.Text = obj.Value + Next + + 'If obj.Name = "dtPickerVertragsende" Then + ' txtVertragsende_Leave(sender, e) + 'End If + + + + End Sub + + Private Sub Check_Datum(ByVal Vertragselementnr As Integer, ByVal Datum As String, ByVal element As String) + 'Dim dt As New DataTable + 'If Not IsDate(Datum) Then Datum = "01.01.1900" + 'dt = Me.Vertragselement.Datumscheck(Me.Vertragselement.iVertragselementnr.Value, Datum, element, Me.cbboxParentTree.SelectedNode.Tag) + 'Dim titel As String = "Datumsprüfung Vertragselement: " + Me.Vertragselement.sBezeichnung.ToString + 'Try + ' Dim formopen As Boolean = False + ' Dim dtpform As frmDatumspruefung + ' Dim p As Form = Me.ParentForm + ' For Each windows As Form In p.MdiChildren + ' If windows.Name = "frmDatumspruefung" Then + ' formopen = True + ' dtpform = windows + ' End If + ' Next + ' If formopen = True And dt.Rows.Count > 0 Then + ' dtpform.C1Pruefresultate.DataSource = dt + ' dtpform.Text = titel + ' dtpform.C1Pruefresultate.DataMember = dt.TableName + ' dtpform.Spalten_Aktualisieren() + ' dtpform.TopMost = True + ' dtpform.BringToFront() + ' dtpform.Show() + ' Exit Sub + ' End If + ' If dt.Rows.Count > 0 Then + ' Dim f As New frmDatumspruefung + ' f.C1Pruefresultate.DataSource = dt + ' f.C1Pruefresultate.DataMember = dt.TableName + ' f.MdiParent = Me.MdiParent + ' f.Text = titel + ' f.Spalten_Aktualisieren() + ' 'Me.SpaltenTitel.Spaltentitel_aktualisieren(f.C1Pruefresultate, "Datumspruefung", dt) + ' f.Show() + ' End If + ' 'dt.Dispose() + 'Catch ex As Exception + 'End Try + End Sub + +#End Region + + +#Region "Closing / Check_Changes" + + ''' + ''' Schliessen des Formulars + ''' + ''' + ''' + ''' + Private Sub ClosingForm(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing + If Me.FormReadonly = True Then Exit Sub + Me.check_text_changes() + If check_changes() = False Then + e.Cancel = True + Else + If Me.thema.Neuer_Datensatz = True Then Me.thema.Delete(Me.thema.iThemanNr.Value) + Me.thema.dispose() + Me.msg.dispose() + Me.SpaltenTitel = Nothing + Me.sec = Nothing + Delete_Temp_Files() + evh.ThemaClosed() + Me.dispose() + End If + End Sub + + Private Sub Delete_Temp_Files() + Dim s As String + For Each s In System.IO.Directory.GetFiles(Globals.clsapplication.sTmp_filepath) + Try + System.IO.File.Delete(s) + Catch + End Try + Next s + End Sub + ''' + ''' Prüfung, ob Datenänderungen vorgenommen wurden. + ''' + ''' + Private Function Check_Changes(Optional ByVal reload As Boolean = False) As Boolean + If Me.FormReadonly Then Return True + Dim msgres As MsgBoxResult + If Me.FormDataChanged Then + msgres = msg.Show_MessageYesNoCancel(3) + Select Case msgres + Case MsgBoxResult.Yes + Save_data() + Return True + Case MsgBoxResult.Cancel + Return False + Case MsgBoxResult.No + If reload = True Then + Me.Get_Data(Me.Aktuelles_Thema) + End If + Me.FormDataChanged = False + Return True + End Select + Else + Return True + End If + End Function + +#End Region + + +#Region "Daten" + ''' + ''' Daten ab DB laden uns ins Form befüllen + ''' + ''' + ''' + Private Sub Get_Data(ByVal themenr As Integer) + Try + thema.Get_Thema(themenr) + Me.txtTitel.Text = Me.thema.sTitel.Value.ToString + Me.txtBeschreibung.Text = Me.thema.sBeschreibung.Value.ToString + Me.txtSuchbegriffe.Text = Me.thema.sSuchbegriffe.Value.ToString + Me.dtGueltigAb.Value = Me.thema.daGueltig_ab.Value + Me.dtGueltigBis.Value = Me.thema.daGueltig_bis.Value + Me.cbAktiv.Checked = Me.thema.bAktiv.Value = True + Me.txtErstellt_am.Text = Me.thema.daErstellt_am.ToString + Me.txtMutiert_am.Text = Me.thema.daMutiert_am.ToString + Me.txtMutierer.Text = Me.thema.MutiererText.ToString + Me.cbboxKategorie.SelectedValue = Me.thema.iKategorieNr.Value + + Me.DokumenteAllgemein.ConnectionString = Globals.sConnectionString + Me.DokumenteAllgemein.Mitarbeiternr = Globals.clsmitarbeiter.iMitarbeiternr.Value + Me.DokumenteAllgemein.Doktype = 1 + Me.DokumenteAllgemein.ThemaNr = Me.Aktuelles_Thema + Me.DokumenteAllgemein.TempFilePath = Globals.clsapplication.sTmp_filepath.Value + + ChangesMade(Me.txtGueltigab, Nothing) + ChangesMade(Me.txtGueltigbis, Nothing) + + If Me.thema.bIssue.IsNull Then Me.cbissue.Checked = False Else Me.cbissue.Checked = Me.thema.bIssue.Value = True + If Me.thema.iIssue_Relevant_TKB.IsNull Then Me.cbboxRelevanzTKB.SelectedValue = -1 Else Me.cbboxRelevanzTKB.SelectedValue = Me.thema.iIssue_Relevant_TKB.Value + If Me.thema.iIssue_Relevant_Veraenderung.IsNull Then Me.cbboxissueveraenderung.SelectedValue = -1 Else Me.cbboxissueveraenderung.SelectedValue = Me.thema.iIssue_Relevant_Veraenderung.Value + If Me.thema.sIssue_Bemerkung.IsNull Then Me.txtIssueBemerkung.Text = "" Else Me.txtIssueBemerkung.Text = Me.thema.sIssue_Bemerkung.Value + + sec.Set_Form_Security(Me) + Me.FormDataChanged = False + 'shu Set_Titel() + Catch ex As Exception + For Each ctl As ToolStripButton In Me.ToolStrip1.Items + ctl.Enabled = False + Next + Me.TSBtnQuit.Enabled = True + 'shu Me.TSBtnSuche.Enabled = True + Me.TSBtnNew.Enabled = True + sec.Set_Form_Security(Me) + End Try + Me.FormDataChanged = False + End Sub + ''' + ''' Daten ab Form speichern + ''' + ''' + Private Sub Save_data() + thema.sTitel = New SqlString(CType(txtTitel.Text, String)) + thema.sBeschreibung = New SqlString(CType(txtBeschreibung.Text, String)) + thema.sSuchbegriffe = New SqlString(CType(txtSuchbegriffe.Text, String)) + thema.bAktiv = New SqlBoolean(CType(cbAktiv.Checked, Boolean)) + thema.iKategorieNr = New SqlInt32(CType(cbboxKategorie.SelectedValue, Int32)) + If IsDate(Me.txtGueltigab.Text) Then + thema.daGueltig_ab = New SqlDateTime(CType(Me.txtGueltigab.Text, DateTime)) + Else + thema.daGueltig_ab = New SqlDateTime(CType(SqlDateTime.Null, DateTime)) + End If + If IsDate(Me.txtGueltigbis.Text) Then + thema.daGueltig_bis = New SqlDateTime(CType(Me.txtGueltigbis.Text, DateTime)) + Else + thema.daGueltig_bis = New SqlDateTime(CType(SqlDateTime.Null, DateTime)) + End If + + Me.thema.bIssue = New SqlBoolean(CType(Me.cbissue.Checked = True, Boolean)) + Me.thema.iIssue_Relevant_TKB = New SqlInt32(CType(Me.cbboxRelevanzTKB.SelectedValue, Int32)) + Me.thema.iIssue_Relevant_Veraenderung = New SqlInt32(CType(Me.cbboxissueveraenderung.SelectedValue, Int32)) + Me.thema.sIssue_Bemerkung = New SqlString(CType(Me.txtIssueBemerkung.Text, String)) + + thema.Save_Data() + + Dim i As Integer + For i = 0 To Me.clbNebenkategorien.Items.Count - 1 + If clbNebenkategorien.GetItemChecked(i) Then + For Each r As DataRow In Me.Kategoriedaten.Rows + If r("Bezeichnung") = clbNebenkategorien.Items(i) Then + Kategorien.Update_Nebenkategorie(r("Kategorienr"), Me.Aktuelles_Thema, 1, Globals.clsmitarbeiter.iMitarbeiternr.Value) + End If + Next + End If + Next + For i = 0 To Me.clbNebenkategorien.Items.Count - 1 + If clbNebenkategorien.GetItemChecked(i) = False Then + For Each r In Me.Nebenkategoriedaten.Rows + If r("Bezeichnung") = clbNebenkategorien.Items(i) Then + Kategorien.Update_Nebenkategorie(r("Kategorienr"), Me.Aktuelles_Thema, 0, Globals.clsmitarbeiter.iMitarbeiternr.Value) + End If + Next + End If + Next + + Me.FormDataChanged = False + + 'Vertragselement.iVertragspartnerNr = New SqlInt32(CType(Me.Aktueller_Vertragspartner, Int32)) + 'Vertragselement.iVertragstypNr = New SqlInt32(CType(Me.cboxVertragstyp.SelectedValue, Int32)) + 'Vertragselement.iParentID = New SqlInt32(CType(Me.cbboxParentTree.SelectedNode.Tag, Int32)) + + 'Vertragselement.sBezeichnung = New SqlString(CType(Me.txtBezeichnung.Text, String)) + 'Vertragselement.sVersion = New SqlString(CType(Me.txtVersion.Text, String)) + 'Vertragselement.sNummer = New SqlString(CType(Me.txtVertragsnummer.Text, String)) + + 'If IsDate(Me.txtVersionsdatum.Text) Then + ' Vertragselement.daVersionsdatum = New SqlDateTime(CType(Me.txtVersionsdatum.Text, DateTime)) + 'Else + ' Vertragselement.daVersionsdatum = New SqlDateTime(CType(SqlDateTime.Null, DateTime)) + 'End If + 'If IsDate(Me.txtVertragsbegin.Text) Then + ' Vertragselement.daVertragsbeginn = New SqlDateTime(CType(Me.txtVertragsbegin.Text, DateTime)) + 'Else + ' Vertragselement.daVertragsbeginn = New SqlDateTime(CType(SqlDateTime.Null, DateTime)) + 'End If + 'If IsDate(Me.txtVertragsende.Text) Then + ' Vertragselement.daVertragsablauf = New SqlDateTime(CType(Me.txtVertragsende.Text, DateTime)) + 'Else + ' Vertragselement.daVertragsablauf = New SqlDateTime(CType(SqlDateTime.Null, DateTime)) + 'End If + 'If IsDate(Me.txtMindestvertragsdauerbis.Text) Then + ' Vertragselement.daMindestvertragsdauer_bis = New SqlDateTime(CType(Me.txtMindestvertragsdauerbis.Text, DateTime)) + 'Else + ' Vertragselement.daMindestvertragsdauer_bis = New SqlDateTime(CType(SqlDateTime.Null, DateTime)) + 'End If + 'If IsDate(Me.txtUnterzeichnetam.Text) Then + ' Vertragselement.daUnterzeichnet_am = New SqlDateTime(CType(Me.txtUnterzeichnetam.Text, DateTime)) + 'Else + ' Vertragselement.daUnterzeichnet_am = New SqlDateTime(CType(SqlDateTime.Null, DateTime)) + 'End If + 'If IsDate(Me.txtGekuendigtam.Text) Then + ' Vertragselement.daGekuendigt_am = New SqlDateTime(CType(Me.txtGekuendigtam.Text, DateTime)) + 'Else + ' Vertragselement.daGekuendigt_am = New SqlDateTime(CType(SqlDateTime.Null, DateTime)) + 'End If + 'If IsDate(Me.txtGekuendigtper.Text) Then + ' Vertragselement.daGekuendigt_per = New SqlDateTime(CType(Me.txtGekuendigtper.Text, DateTime)) + 'Else + ' Vertragselement.daGekuendigt_per = New SqlDateTime(CType(SqlDateTime.Null, DateTime)) + 'End If + 'Vertragselement.bBefristet_Unbefristet = New SqlBoolean(CType(Me.rbbefristet.Checked = True, Boolean)) + 'Dim save_aktiv As Boolean = Vertragselement.bAktiv.Value + 'Vertragselement.bAktiv = New SqlBoolean(CType(Me.cbAktiv.Checked = True, Boolean)) + + 'Vertragselement.sBeschreibung = New SqlString(CType(Me.txtBeschreibung.Text, String)) + 'Vertragselement.sSuchbegriffe = New SqlString(CType(Me.txtSuchbegriffe.Text, String)) + 'Vertragselement.iSecurityLevelNr = New SqlInt32(CType(Me.cboxSecurityLevel.SelectedValue, Int32)) + + 'Vertragselement.iApplikationNr = New SqlInt32(CType(0, Int32)) + 'Vertragselement.iLizenztypnr = New SqlInt32(CType(0, Int32)) + 'Vertragselement.sLizenzdetails = New SqlString(CType("", String)) + 'If save_aktiv <> Vertragselement.bAktiv.Value And Vertragselement.bAktiv.Value = False Then + ' If msg.Show_MessageYesNo(251) = MsgBoxResult.Yes Then + ' If Me.Vertragselement.Generate_Pendenz(Me.Vertragselement.iVertragselementnr.Value, Me.txtVertragspartner.Text.ToString, True, 0) = MsgBoxResult.Cancel Then + ' Me.cbAktiv.Checked = save_aktiv + ' Exit Sub + ' End If + ' Else + ' Me.cbAktiv.Checked = save_aktiv + ' Exit Sub + ' End If + 'End If + 'Vertragselement.Save_Data() + 'If save_aktiv <> Vertragselement.bAktiv.Value And Vertragselement.bAktiv.Value = False Then + ' Me.Vertragselement.Delete_Vertragselement(Me.Vertragselement.iVertragselementnr.Value) + 'End If + 'Me.FormDataChanged = False + End Sub +#End Region + + +#Region "RTFHandling" + Private Sub tbrSave_Click(sender As System.Object, e As System.EventArgs) + + ' Me.rtbDoc.SaveFile("h:\tssettings\eintrag" + Microsoft.VisualBasic.Right(Me.TreeView2.SelectedNode.Text, 1) + ".rtf") + End Sub + + + +#End Region + +#Region "Deiverses" + Public Function ReadFromFile(ByVal fileName As String) As String + + Dim fileString As String = "" + Try + Dim fs As System.IO.FileStream = New FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.Read) + Dim b(CInt(Fix(fs.Length)) - 1) As Byte + If fs.Read(b, 0, CInt(Fix(fs.Length))) > 0 Then + Dim arCharRes(fs.Length - 1) As Char + For i As Integer = 0 To fs.Length - 1 + arCharRes(i) = ChrW(b(i)) + Next i + fileString = New String(arCharRes) + End If + fs.Close() + Return fileString + Catch + Return "" + End Try + End Function + Public Function WriteToFile(ByVal fileName As String, ByVal fileStr As String) As Integer + Try + Dim sw As New StreamWriter(fileName, False) + sw.Write(fileStr) + sw.Close() + Catch + Return 2 + End Try + Return 0 + End Function +#End Region + +#Region "Toolbar" + Private Sub ToolStripButton22_Click(sender As System.Object, e As System.EventArgs) Handles tsbtnEintragOverview.Click + Me.check_text_changes() + ÜbersichtToolStripMenuItem_Click(sender, e) + End Sub + + Private Sub ToolStripButton23_Click(sender As System.Object, e As System.EventArgs) Handles tsbtnEintragAlles.Click + Me.check_text_changes() + AllesToolStripMenuItem_Click(sender, e) + End Sub + + Private Sub TSBtnNew_Click(sender As Object, e As EventArgs) Handles TSBtnNew.Click + Me.check_text_changes() + Me.Aktuelles_Thema = thema.Add_New + Me.Get_Data(Me.Aktuelles_Thema) + End Sub + + Private Sub TSBtnQuit_Click(sender As Object, e As EventArgs) Handles TSBtnQuit.Click + Me.Close() + End Sub + + Private Sub TSBtnSave_Click(sender As Object, e As EventArgs) Handles TSBtnSave.Click + Save_data() + Me.check_text_changes(False) + End Sub + + Private Sub TSBtnDelete_Click(sender As Object, e As EventArgs) Handles TSBtnDelete.Click + Me.check_text_changes() + If msg.Show_MessageYesNo(4) = MsgBoxResult.Yes Then + thema.Delete_Thema() + Me.FormDataChanged = False + Me.Close() + End If + End Sub +#End Region + + +#Region "Formular" + Sub New(ByVal themenr As Integer) + ' Dieser Aufruf ist für den Designer erforderlich. + InitializeComponent() + ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. + Me.Aktuelles_Thema = themenr + End Sub + + Private Sub frmDetail_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load + AddChanges(Me) + Me.PnlSHUEditor.Dock = DockStyle.Fill + 'Me.ShuEditorEntwicklung.Dock = DockStyle.Fill + Me.ThemaPerson1.ConnectionString = Globals.sConnectionString + Me.ThemaPerson1.Mitarbeiternr = Globals.clsmitarbeiter.iMitarbeiternr.Value + Me.ThemaPerson1.TempFilePath = Globals.clsapplication.sTmp_filepath.Value + Me.ThemaPerson1.ThemaNr = Me.Aktuelles_Thema + Me.ThemaPerson1.Show_Toolbar = True + Me.Kategorie.cpMainConnectionProvider = Globals.conn + Me.Kategoriedaten = Stammdaten.Get_Stammdaten("Kategorie", "Bezeichnung") + Me.cbboxKategorie.DataSource = Me.Kategoriedaten + Me.cbboxKategorie.DisplayMember = "Bezeichnung" + Me.cbboxKategorie.ValueMember = "Kategorienr" + + Me.issuerelevanztkb = Stammdaten.Get_Stammdaten("IssueRelevanzTKB", "") + Me.issuerelevanztkbveraenderung = Stammdaten.Get_Stammdaten("IssueRelevanzTKBVeraenderung", "") + Me.cbboxRelevanzTKB.DataSource = Me.issuerelevanztkb + Me.cbboxRelevanzTKB.ValueMember = "Keyvalue" + Me.cbboxRelevanzTKB.DisplayMember = "Bezeichnung" + + Me.cbboxissueveraenderung.DataSource = Me.issuerelevanztkbveraenderung + Me.cbboxissueveraenderung.ValueMember = "Keyvalue" + Me.cbboxissueveraenderung.DisplayMember = "Bezeichnung" + + Me.Nebenkategoriedaten = Kategorien.get_Nebenkategorien(Me.Aktuelles_Thema) + Dim sel As Boolean = False + For Each r As DataRow In Kategoriedaten.Rows + sel = False + For Each dr In Me.Nebenkategoriedaten.Rows + If dr("Bezeichnung") = r("Bezeichnung") Then + sel = True + Exit For + End If + Next + If sel = True Then + Me.clbNebenkategorien.Items.Add(r("bezeichnung"), True) + Else + Me.clbNebenkategorien.Items.Add(r("Bezeichnung"), False) + End If + Next + + + + Me.Get_Data(Me.Aktuelles_Thema) + If NeueKateogorienr <> 0 Then Me.cbboxKategorie.SelectedValue = NeueKateogorienr + Me.TreeEntwicklung.Nodes.Clear() + For i = 1 To 9 + Me.TreeEntwicklung.Nodes.Add("Eintrag" + i.ToString) + Next + End Sub + + Private Sub TabControl1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles TabControl1.SelectedIndexChanged + check_text_changes() + Select Case Me.TabControl1.SelectedTab.Text + Case "Allgemein" + Case "Entwicklung" + Refresh_Entwicklung() + Case "Kommunikation" + Refresh_Kommunikation() + Case "History" + Case "Journal" + Refresh_Journal() + Case "Pendenzen" + Refresh_Pendenzen() + End Select + + End Sub + +#End Region + +#Region "Entwicklung" + Sub Refresh_Entwicklung() + ThemaEntwicklung.Get_Eintraege(Me.TreeEntwicklung, Me.Aktuelles_Thema) + For Each tn As TreeNode In TreeEntwicklung.Nodes + If tn.Tag = Me.Aktuelle_ThemaEntwicklung Then TreeEntwicklung.SelectedNode = tn + Next + Try + If TreeEntwicklung.SelectedNode Is Nothing Then TreeEntwicklung.SelectedNode = TreeEntwicklung.Nodes(0) + Catch + End Try + If TreeEntwicklung.Nodes.Count < 1 Then Me.ShuEditorEntwicklung.Enabled = False Else Me.ShuEditorEntwicklung.Enabled = True + End Sub + Dim ThemaEntwicklung As New DB.ThemaEntwicklung + Dim Aktuelle_ThemaEntwicklung As Integer = 0 + + Private Sub tsbtnAddEintrag_Click(sender As Object, e As EventArgs) Handles tsbtnAddEintrag.Click + Me.check_text_changes() + Dim Bezeichnung As String = "" + Bezeichnung = InputBox("Bitte geben Sie eine Bezeichnung für den Eintrag ein:", "Entwicklungseintrag") + If Bezeichnung <> "" Then + Me.Aktuelle_ThemaEntwicklung = ThemaEntwicklung.Add_New(Me.Aktuelles_Thema, Bezeichnung) + ThemaEntwicklung.Save_Dokument(Application.StartupPath + "\vorlagen\empty.rtf") + End If + Refresh_Entwicklung() + End Sub + + Dim rtffilename As String = "" + Private Sub TreeView2_AfterSelect(sender As System.Object, e As System.Windows.Forms.TreeViewEventArgs) Handles TreeEntwicklung.AfterSelect + check_text_changes() + Me.pnlUebersicht.Visible = False + Me.PnlAll.Visible = False + 'Me.ShuEditorEntwicklung.Dock = DockStyle.Fill + Me.PnlSHUEditor.Dock = DockStyle.Fill + Me.ShuEditorEntwicklung.Visible = True + Me.PnlSHUEditor.Visible = True + Me.ThemaEntwicklung.Get_ThemaEntwicklung(Me.TreeEntwicklung.SelectedNode.Tag) + rtffilename = Globals.clsapplication.sTmp_filepath.ToString + "\RTF_" + System.IO.Path.GetRandomFileName + ".rtf" + Me.ThemaEntwicklung.Get_Dokument(rtffilename) + Me.ShuEditorEntwicklung.Document = rtffilename + Me.ShuEditorEntwicklung.set_Dokument() + Me.Entwicklungstext_Changed = False + Me.Entwicklungsdokumente.ThemaNr = ThemaEntwicklung.iThemaEntwicklungNr + Me.Entwicklungsdokumente.Doktype = 3 + Me.Entwicklungsdokumente.Refresh_Dokumente() + End Sub + + Private Sub ShuEditorEntwicklung_RTFText_Changed() Handles ShuEditorEntwicklung.RTFText_Changed + Me.Entwicklungstext_Changed = True + End Sub + + Private Sub ShuEditorEntwicklung_SaveExtended_Clicked(ByVal filename As String, ByVal rtftext As String) Handles ShuEditorEntwicklung.SaveExtended_Clicked + Me.ThemaEntwicklung.sRTFText = Me.ShuEditorEntwicklung.Document + Me.ThemaEntwicklung.Save_Dokument(filename) + Me.ThemaEntwicklung.Save_freitext(Me.ThemaEntwicklung.iThemaEntwicklungNr.Value, rtftext, 1, Me.Aktuelles_Thema) + Me.Entwicklungstext_Changed = False + End Sub + + Private Sub ÜbersichtToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles ÜbersichtToolStripMenuItem.Click + Dim daten As New DataTable + daten = Me.ThemaEntwicklung.Get_Eintraege(Me.Aktuelles_Thema) + + Me.pnlUebersicht.Visible = True + pnlUebersicht.Dock = DockStyle.Fill + Me.PnlAll.Visible = False + Me.ShuEditorEntwicklung.Visible = False + Me.PnlSHUEditor.Visible = False + + Me.pnlUebersicht.Dock = DockStyle.Fill + Me.pnlUebersicht.Controls.Clear() + + Dim intkey As Integer = 0 + For Each dr As DataRow In daten.Rows + If intkey <> dr.Item("themaentwicklungnr") Then + rtffilename = Globals.clsapplication.sTmp_filepath.ToString + "\RTF_" + System.IO.Path.GetRandomFileName + ".rtf" + Me.ThemaEntwicklung.Get_ThemaEntwicklung(dr.Item(0)) + Me.ThemaEntwicklung.Get_Dokument(rtffilename) + Dim rb As New ExtendedRichTextBox.RichTextBoxPrintCtrl + rb.LoadFile(rtffilename) + rb.Height = 120 + rb.Dock = DockStyle.Top + rb.Name = dr.Item(0) + pnlUebersicht.Controls.Add(rb) + AddHandler rb.DoubleClick, AddressOf rb_dblClick + Dim l As New Label + l.Dock = DockStyle.Top + pnlUebersicht.Controls.Add(l) + System.IO.File.Delete(rtffilename) + intkey = dr.Item("themaentwicklungnr") + + End If + Next + End Sub + Private Sub rb_dblClick(sender As Object, e As System.EventArgs) + Me.pnlUebersicht.Visible = False + For Each tn As TreeNode In TreeEntwicklung.Nodes + If tn.Tag = sender.name Then + Me.TreeEntwicklung.SelectedNode = tn + End If + Next + End Sub + + + Private Sub AllesToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles AllesToolStripMenuItem.Click + Me.pnlUebersicht.Visible = False + Me.ShuEditorEntwicklung.Visible = False + Me.PnlSHUEditor.Visible = False + Me.PnlAll.Visible = True + Me.PnlAll.Dock = DockStyle.Fill + + Me.PnlAll.Dock = DockStyle.Fill + + Dim daten As New DataTable + daten = Me.ThemaEntwicklung.Get_Eintraege(Me.Aktuelles_Thema, 2) + Dim h As New SautinSoft.HtmlToRtf + + Dim firstRtf As String = "" + Dim Delimitter As String = "" + Dim secondRtf As String = "" + Dim singleRtf As String = "" + + singleRtf = ReadFromFile(Application.StartupPath + "\vorlagen\empty.rtf") + Delimitter = ReadFromFile(Application.StartupPath + "\vorlagen\delimitter.rtf") + Dim intkey As Integer = 0 + For Each dr As DataRow In daten.Rows + If intkey <> dr.Item("themaentwicklungnr") Then + rtffilename = Globals.clsapplication.sTmp_filepath.ToString + "\RTF_" + System.IO.Path.GetRandomFileName + ".rtf" + Me.ThemaEntwicklung.Get_ThemaEntwicklung(dr.Item(0)) + Me.ThemaEntwicklung.Get_Dokument(rtffilename) + + secondRtf = ReadFromFile(rtffilename) + singleRtf = h.MergeRtfString(singleRtf, secondRtf) + singleRtf = h.MergeRtfString(singleRtf, Delimitter) + System.IO.File.Delete(rtffilename) + intkey = dr.Item("themaentwicklungnr") + End If + Next + + rtbdoc.Rtf = singleRtf + + End Sub + +#Region "Entwicklungstoolbar Alles" + + Private Sub tsBtnSaveAs_Click(sender As Object, e As EventArgs) Handles tsbtnSaveAs.Click + SaveFileDialog1.Title = "RTE - Save File" + SaveFileDialog1.DefaultExt = "rtf" + SaveFileDialog1.Filter = "Rich Text Dateien|*.rtf|Text Dateien|*.txt|HTML Dateien|*.htm|Alle Dateien|*.*" + SaveFileDialog1.FilterIndex = 1 + SaveFileDialog1.ShowDialog() + + If SaveFileDialog1.FileName = "" Then Exit Sub + + Dim strExt As String + strExt = System.IO.Path.GetExtension(SaveFileDialog1.FileName) + strExt = strExt.ToUpper() + + Select Case strExt + Case ".RTF" + rtbDoc.SaveFile(SaveFileDialog1.FileName, RichTextBoxStreamType.RichText) + Case Else + Dim txtWriter As System.IO.StreamWriter + txtWriter = New System.IO.StreamWriter(SaveFileDialog1.FileName) + txtWriter.Write(rtbDoc.Text) + txtWriter.Close() + txtWriter = Nothing + rtbDoc.SelectionStart = 0 + rtbDoc.SelectionLength = 0 + End Select + rtbDoc.Modified = False + + End Sub + + Private Sub tsbtnPageSetup_Click(sender As Object, e As EventArgs) Handles tsbtnPageSetup.Click + PageSetupDialog1.Document = PrintDocument1 + PageSetupDialog1.ShowDialog() + End Sub + + Private Sub tsbtnPreview_Click(sender As Object, e As EventArgs) Handles tsbtbPreview.Click + PrintPreviewDialog1.Document = Me.PrintDocument1 + PrintPreviewDialog1.ShowDialog() + End Sub + + Private Sub tsBtnPrint_Click(sender As Object, e As EventArgs) Handles tsbtnprint.Click + PrintDialog1.Document = PrintDocument1 + + If PrintDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then + PrintDocument1.Print() + End If + + End Sub + +#Region "Printing" + Private checkPrint As Integer + + Private Sub PrintDocument1_BeginPrint(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintEventArgs) Handles PrintDocument1.BeginPrint + + ' Adapted from Microsoft's example for extended richtextbox control + ' + checkPrint = 0 + + End Sub + + + Private Sub PrintDocument1_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage + + ' Adapted from Microsoft's example for extended richtextbox control + ' + ' Print the content of the RichTextBox. Store the last character printed. + checkPrint = rtbDoc.Print(checkPrint, rtbDoc.TextLength, e) + + ' Look for more pages + If checkPrint < rtbDoc.TextLength Then + e.HasMorePages = True + Else + e.HasMorePages = False + End If + + End Sub + + +#End Region +#End Region + +#End Region + +#Region "Kommunikation" + Dim Kommunikation As New DB.Kommunikation + + Sub Refresh_Kommunikation(Optional kommunikationnr As Integer = 0) + + Kommunikation.Get_Eintraege(Me.TreeKommunikation, Me.Aktuelles_Thema) + + If kommunikationnr = 0 Then + If Me.TreeKommunikation.Nodes.Count > 0 Then + Me.TreeKommunikation.SelectedNode = Me.TreeKommunikation.Nodes(0) + TabControlKommunikation.Enabled = True + Me.tsbtnKommunikationDelete.Enabled = True + UmbenennenToolStripMenuItem1.Enabled = True + Me.EintragLöschenToolStripMenuItem1.Enabled = True + Else + TabControlKommunikation.Enabled = False + Me.tsbtnKommunikationDelete.Enabled = False + UmbenennenToolStripMenuItem1.Enabled = False + Me.EintragLöschenToolStripMenuItem1.Enabled = False + End If + Else + TabControlKommunikation.Enabled = True + Me.tsbtnKommunikationDelete.Enabled = True + UmbenennenToolStripMenuItem1.Enabled = True + Me.EintragLöschenToolStripMenuItem1.Enabled = True + For Each tn As TreeNode In Me.TreeKommunikation.Nodes + If tn.Tag = kommunikationnr Then Me.TreeKommunikation.SelectedNode = tn + Next + End If + End Sub +#End Region + +#Region "Journal" + Private Sub Refresh_Journal() + Dim dt As New DataTable + dt = Me.thema.Get_Journal() + Me.C1Journal.DataSource = Nothing + Me.C1Journal.DataSource = dt + Me.C1Journal.DataMember = dt.TableName + Me.SpaltenTitel.Spaltentitel_aktualisieren(Me.C1Journal, "Journal", dt) + + End Sub +#End Region + +#Region "Pendenzen" + Dim StatusTable As New db.clsPendenzstatus + Dim Statusdata As New DataTable + Dim Pendenzen As New TKB.VV.Vertrag.clsPendenzUebersicht + Dim Pendenz As New TKB.VV.Vertrag.clsPendenz + + + Dim data As New DataTable + Dim Save_Status As String + + Sub Refresh_Pendenzen() + Try + Get_Load_Status() + Me.StatusToolStripComboBox.SelectedIndex = 1 + Refresh_Uebersicht() + Catch + End Try + End Sub + + Private Sub StatusToolStripComboBox_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles StatusToolStripComboBox.SelectedIndexChanged + Refresh_Uebersicht() + End Sub + + Private Sub Get_Load_Status() + Try + Me.StatusToolStripComboBox.Items.Clear() + Me.StatusToolStripComboBox.Items.Add("Alle") + Me.StatusTable.cpMainConnectionProvider = Globals.conn + Statusdata = Me.StatusTable.SelectAll() + For Each dr As DataRow In Me.Statusdata.Rows + If dr.Item("Aktiv") = True Then + Me.StatusToolStripComboBox.Items.Add(dr.Item("Bezeichnung")) + End If + Next + Catch + End Try + + End Sub + + ''' + Private Sub Refresh_Uebersicht() + Me.C1Pendenzen.Enabled = False + Try + Dim i As Integer = -1 + For Each dr As DataRow In Me.Statusdata.Rows + If dr.Item("Bezeichnung") = Me.StatusToolStripComboBox.SelectedItem Then i = dr.Item("Pendenzstatusnr") + Next + ' data = Pendenzen.Get_Pendenzuebersicht(0, Me.StatusToolStripComboBox.SelectedItem) + data = Pendenzen.Get_Pendenzuebersicht(0, i, Me.Aktuelles_Thema) + Me.Save_Status = Me.StatusToolStripComboBox.SelectedItem + Catch ex As Exception + Dim i1 As Integer = -1 + For Each dr As DataRow In Me.Statusdata.Rows + If dr.Item("Bezeichnung") = Me.Save_Status Then i1 = dr.Item("Pendenzstatusnr") + Next + data = Pendenzen.Get_Pendenzuebersicht(0, i1, Me.Aktuelles_Thema) + End Try + Dim filtertext As String = "" + Try + For Each c As C1DataColumn In Me.C1Pendenzen.Columns + If c.FilterText <> "" Then filtertext = filtertext + ";" + c.Caption + ":" + c.FilterText + Next + Catch ex As Exception + End Try + Me.C1Pendenzen.DataSource = data + Me.C1Pendenzen.DataMember = data.TableName + Me.SpaltenTitel.Spaltentitel_aktualisieren(Me.C1Pendenzen, "Pendenzuebersicht", data, False) + Try + Dim splitter() + splitter = filtertext.Split(";") + If splitter.Length > 1 Then + For Each s As String In splitter + Dim splitter1() As String + splitter1 = s.Split(":") + Try + Me.C1Pendenzen.Columns(splitter1(0)).FilterText = splitter1(1) + Catch ex As Exception + + End Try + Next + End If + Catch + End Try + Me.C1Pendenzen.Enabled = True + sec.Set_Form_Security(Me) + End Sub + + Private Sub tsbtnNewPendenz_Click(sender As Object, e As EventArgs) Handles tsbtnNewPendenz.Click + Dim f As New frmPendenz(Me.Pendenz.Add_New(Me.Aktuelles_Thema), Me.Aktuelles_Thema, Me.FormReadonly, False) + 'f.MdiParent = Me.MdiParent + f.ShowDialog() + Me.Refresh_Pendenzen() + End Sub + + Private Sub tsbtnDeletePendenz_Click(sender As Object, e As EventArgs) Handles tsbtnDeletePendenz.Click + If msg.Show_MessageYesNo(290) = MsgBoxResult.Yes Then + Me.Pendenz.Delete_Pendenz(Me.C1Pendenzen.Columns("Pendenznr").Value) + Me.Refresh_Pendenzen() + End If + End Sub + + Private Sub ToolStripButton7_Click(sender As Object, e As EventArgs) Handles ToolStripButton7.Click + Dim xls As New XLSLib.clsXLSLib + xls.Write_Excel(data, True) + + End Sub + + Private Sub C1Pendenzen_FetchRowStyle(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.FetchRowStyleEventArgs) Handles C1Pendenzen.FetchRowStyle + Try + If Me.C1Pendenzen.Columns("aktiv").CellValue(e.Row) = False Then + Dim FNT As Font = e.CellStyle.Font + e.CellStyle.Font = New Font(FNT, FontStyle.Strikeout) + e.CellStyle.ForeColor = Color.Gray + End If + If Me.C1Pendenzen.Columns("PendenzStatusNr").CellValue(e.Row) < 3 Then + If Me.C1Pendenzen.Columns("Termin").CellValue(e.Row) < Now Then + Dim fnt As Font = e.CellStyle.Font + e.CellStyle.ForeColor = Color.Red + End If + End If + + Catch + End Try + End Sub + + ''' + ''' C1Pendenz-Doubleklick + ''' + ''' + ''' + ''' + Private Sub C1Pendenzen_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles C1Pendenzen.DoubleClick + Try + Dim f As New frmPendenz(Me.C1Pendenzen.Columns("Pendenznr").Value, 0, Me.FormReadOnly, False) + f.MdiParent = Me.MdiParent + f.Show() + Catch ex As Exception + + End Try + End Sub + ''' + ''' Context-Menu anzeigen + ''' + ''' + ''' + ''' + Private Sub AnzeigenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AnzeigenToolStripMenuItem.Click + Me.C1Pendenzen_DoubleClick(sender, e) + End Sub + ''' + ''' Context-Menu Neu + ''' + ''' + ''' + ''' + Private Sub NeuToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NeuToolStripMenuItem.Click + Me.tsbtnNewPendenz_Click(sender, e) + End Sub + ''' + ''' Context-Menu Löschen/Inaktivieren + ''' + ''' + ''' + ''' + Private Sub LöschenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LöschenToolStripMenuItem.Click + Me.tsbtnDeletePendenz_Click(sender, e) + End Sub +#End Region + + Private Sub TreeKommunikation_AfterSelect(sender As Object, e As TreeViewEventArgs) Handles TreeKommunikation.AfterSelect + Refresh_Auspraegungen() + End Sub + Sub Refresh_Auspraegungen() + + check_text_changes() + + + Me.ToolStripProgressBar1.Visible = True + Me.TabControlKommunikation.SuspendLayout() + Me.Cursor = Cursors.WaitCursor + Dim ka As New DataTable + Me.TabControlKommunikation.TabPages.Clear() + + ka = Kommunikation.Get_Auspraegungen(Me.TreeKommunikation.SelectedNode.Tag) + Me.ToolStripProgressBar1.Maximum = ka.Rows.Count + Me.ToolStripProgressBar1.Value = 0 + For Each dr As DataRow In ka.Rows + Me.ToolStripProgressBar1.Value = Me.ToolStripProgressBar1.Value + 1 + Me.TabControlKommunikation.TabPages.Add(dr.Item("Bezeichnung")) + Dim kaobj As New KommAuspraegung.Kommunikationsauspraegung + kaobj.KommunikationAuspraegungnr = dr.Item("KommunikationAuspraegungNr") + kaobj.Kommunkationnr = dr.Item("Kommunikationnr") + kaobj.ConnectionString = Globals.sConnectionString + kaobj.TempFilePath = Globals.clsapplication.sTmp_filepath.Value + kaobj.Mitarbeiternr = Globals.clsmitarbeiter.iMitarbeiternr.Value + kaobj.Doktype = 2 + kaobj.Refresh_Daten() + kaobj.Dock = DockStyle.Fill + Me.TabControlKommunikation.TabPages(Me.TabControlKommunikation.TabPages.Count - 1).Controls.Add(kaobj) + Next + Me.TabControlKommunikation.ResumeLayout() + Me.Cursor = Cursors.Default + Me.ToolStripProgressBar1.Visible = False + End Sub + + + Private Sub EintragLöschenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles EintragLöschenToolStripMenuItem.Click + + End Sub + + + + Private Sub NeueAusprägungToolStripMenuItem1_Click(sender As Object, e As EventArgs) Handles NeueAusprägungToolStripMenuItem1.Click + Dim ka As New DB.Auspraegung + Dim s As String + s = InputBox("Bezeichnung", "Bezeichnung Kommunikation-Ausprägung") + If s <> "" Then + ka.Add_New(Me.TreeKommunikation.SelectedNode.Tag, s) + Refresh_Auspraegungen() + Me.TabControlKommunikation.SelectTab(Me.TabControlKommunikation.TabCount - 1) + End If + ka.dispose() + End Sub + + Private Sub AusprägungLöschenToolStripMenuItem1_Click(sender As Object, e As EventArgs) Handles AusprägungLöschenToolStripMenuItem1.Click + If msg.Show_MessageYesNoCancel(4) = MsgBoxResult.Yes Then + Dim kaobj As KommAuspraegung.Kommunikationsauspraegung + kaobj = Me.TabControlKommunikation.SelectedTab.Controls(0) + kaobj.Delete() + Me.Refresh_Auspraegungen() + End If + + End Sub + + Private Sub UmbenennenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles UmbenennenToolStripMenuItem.Click + Dim kaobj As KommAuspraegung.Kommunikationsauspraegung + kaobj = Me.TabControlKommunikation.SelectedTab.Controls(0) + Dim s As String + s = kaobj.Change_Description() + If s <> "" Then Me.TabControlKommunikation.SelectedTab.Text = s + End Sub + + Private Sub NeuerEintragToolStripMenuItem1_Click(sender As Object, e As EventArgs) Handles NeuerEintragToolStripMenuItem1.Click + Dim s As String + s = InputBox("Bezeichnung", "Bezeichnung Kommuikationseintrag") + If s <> "" Then + Dim ka As New DB.Kommunikation + Dim knr As Integer = ka.Add_New(Me.thema.iThemanNr.Value, s) + Dim ka1 As New DB.Auspraegung + ka1.Add_New(knr, "Ausprägung") + Refresh_Kommunikation(knr) + End If + End Sub + + Private Sub EintragLöschenToolStripMenuItem1_Click(sender As Object, e As EventArgs) Handles EintragLöschenToolStripMenuItem1.Click + If msg.Show_MessageYesNoCancel(4) = MsgBoxResult.Yes Then + Kommunikation.Delete_Kommunikation(Me.TreeKommunikation.SelectedNode.Tag) + Me.Refresh_Kommunikation() + End If + End Sub + + + Private Sub UmbenennenToolStripMenuItem1_Click(sender As Object, e As EventArgs) Handles UmbenennenToolStripMenuItem1.Click + Dim s As String + s = InputBox("Neue Bezeichnung", "Bezeichnung Kommuikationseintrag") + If s <> "" Then + + Me.Kommunikation.Get_Kommunikation(Me.TreeKommunikation.SelectedNode.Tag) + Me.Kommunikation.sBezeichnung = New SqlString(CType(s, String)) + Me.Kommunikation.Save_Data() + Me.Refresh_Kommunikation(Me.TreeKommunikation.SelectedNode.Tag) + End If + End Sub + + Public Sub Create_New(Optional Kategorienr As Integer = 0) + Me.Aktuelles_Thema = thema.Add_New + Me.Get_Data(Me.Aktuelles_Thema) + If Kategorienr <> 0 Then Me.NeueKateogorienr = Kategorienr + + End Sub + + Private Sub PnlSHUEditor_Resize(sender As Object, e As EventArgs) Handles PnlSHUEditor.Resize + Me.ShuEditorEntwicklung.Width = Me.PnlSHUEditor.Width / 3 * 2 + End Sub + + Private Sub tsbtnKommunkationNeu_Click(sender As Object, e As EventArgs) Handles tsbtnKommunkationNeu.Click + NeuerEintragToolStripMenuItem1_Click(sender, e) + End Sub + + Private Sub tsbtnKommunikationDelete_Click(sender As Object, e As EventArgs) Handles tsbtnKommunikationDelete.Click + Me.EintragLöschenToolStripMenuItem1_Click(sender, e) + End Sub + + Private Sub tsbtnDeleteEintrag_Click(sender As Object, e As EventArgs) Handles tsbtnDeleteEintrag.Click + + End Sub + + Private Sub btnKategorieauswahl_Click(sender As Object, e As EventArgs) Handles btnKategorieauswahl.Click + Dim f As New frmTreeselect("OESelectSingle") + f.StartPosition = FormStartPosition.Manual + f.Location = System.Windows.Forms.Cursor.Position + f.ShowDialog() + If f.DialogResult = Windows.Forms.DialogResult.OK Then + Me.cbboxKategorie.SelectedValue = f.SelectedValues + End If + f.Dispose() + + End Sub + + Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click + Dim f As New frmTreeselect("OESelectMulti") + f.StartPosition = FormStartPosition.Manual + f.Location = System.Windows.Forms.Cursor.Position + f.ShowDialog() + If f.DialogResult = Windows.Forms.DialogResult.OK Then + Dim i As Integer + Dim i1 As Integer + + For i = 0 To Me.clbNebenkategorien.Items.Count - 1 + clbNebenkategorien.SetItemChecked(i, False) + Next + + For i = 1 To f.ncoltext.Count + For i1 = 0 To Me.clbNebenkategorien.Items.Count - 1 + If Me.clbNebenkategorien.Items(i1) = f.ncoltext(i) Then Me.clbNebenkategorien.SetItemChecked(i1, True) + Next + Next + End If + f.Dispose() + + End Sub + + + + Private Sub tsbtnPrintPendenz_Click(sender As Object, e As EventArgs) Handles tsbtnPrintPendenz.Click + Dim fontbold As New Font("Arial", 12, FontStyle.Bold) + Dim fontregular As New Font("Arial", 12, FontStyle.Regular) + + With Me.C1Pendenzen.PrintInfo + .PageHeaderStyle.Font = fontbold + .PageSettings.Margins.Bottom = 20 + .PageSettings.Margins.Top = 20 + .PageSettings.Landscape = True + .PageFooter = "Seite \p von \P" & vbLf & "Druckdatum " & Now() + .PageHeader = "Pendenzen" + .ShowProgressForm = True + .UseGridColors = True + .RepeatColumnHeaders = True + .VarRowHeight = .RowHeightEnum.StretchToFit + .WrapText = C1.Win.C1TrueDBGrid.PrintInfo.WrapTextEnum.NoWrap + .PageBreak = .PageBreaksEnum.OnColumn + .FillAreaWidth = .FillEmptyEnum.None + .PrintPreview() + End With + End Sub + + + + + Private Sub evh_Pendenz_Closed() Handles evh.Pendenz_Closed + ' Me.Refresh_Pendenzen() + End Sub + + Sub check_text_changes(Optional fragestellen As Boolean = True) + If Entwicklungstext_Changed = True Then + Dim res As MsgBoxResult + If fragestellen = False Then + res = MsgBoxResult.Yes + Else + res = MsgBox("Text im Entwicklungsbereich wurde geändert. Wollen Sie diesen speichern?", vbYesNo + vbQuestion) + + End If + + If res = MsgBoxResult.No Then + Me.Entwicklungstext_Changed = False + Exit Sub + End If + Me.ShuEditorEntwicklung.Save_Extended() + Me.Entwicklungstext_Changed = False + End If + For Each tb As TabPage In Me.TabControlKommunikation.TabPages + For Each ctl As Control In tb.Controls + If ctl.Name = "Kommunikationsauspraegung" Then + Dim kaobjtmp As KommAuspraegung.Kommunikationsauspraegung + kaobjtmp = ctl + If kaobjtmp.Kommunikationstext_Changed = True Then + Dim res As MsgBoxResult + If fragestellen = False Then + res = MsgBoxResult.Yes + Else + res = MsgBox("Text der Kommunikationsausprägung wurde geändert. Wollen Sie diesen speichern?", vbYesNo + vbQuestion) + + End If + If res = MsgBoxResult.Yes Then + kaobjtmp.Save_rtfdata() + + Else + kaobjtmp.Discard_Changes() + End If + + End If + + End If + 'If ctl.Name = "txtBeschreibung" Then + ' Dim ctltmp As TextBox + ' ctltm0 = clt + ' If ctltmp. + 'End If + + Next + Next + End Sub + + Private Sub EintragUmbenennenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles EintragUmbenennenToolStripMenuItem.Click + Try + check_text_changes() + Dim key As Integer = Me.TreeEntwicklung.SelectedNode.Tag + Me.ThemaEntwicklung.Get_ThemaEntwicklung(key) + Dim s As String + s = Me.ThemaEntwicklung.sBezeichnung.Value + s = InputBox("Neue Bezeichnung eingeben", "Bezeichnung Themaentwicklung") + If s <> "" Then + Me.ThemaEntwicklung.sBezeichnung = New SqlString(CType(s, String)) + Me.ThemaEntwicklung.Save_Data() + ThemaEntwicklung.Get_Eintraege(Me.TreeEntwicklung, Me.Aktuelles_Thema) + For Each tn As TreeNode In TreeEntwicklung.Nodes + If tn.Tag = key Then TreeEntwicklung.SelectedNode = tn + Next + Try + If TreeEntwicklung.SelectedNode Is Nothing Then TreeEntwicklung.SelectedNode = TreeEntwicklung.Nodes(0) + Catch + End Try + + End If + + + Catch ex As Exception + + End Try + End Sub +End Class \ No newline at end of file diff --git a/Themenmanagement/Themenmanagement/Details/frmTreeselect.designer.vb b/Themenmanagement/Themenmanagement/Details/frmTreeselect.designer.vb new file mode 100644 index 0000000..ff0f42f --- /dev/null +++ b/Themenmanagement/Themenmanagement/Details/frmTreeselect.designer.vb @@ -0,0 +1,147 @@ + _ +Partial Class frmTreeselect + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmTreeselect)) + Me.ToolStrip1 = New System.Windows.Forms.ToolStrip() + Me.TSBtnQuit = New System.Windows.Forms.ToolStripButton() + Me.ToolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator() + Me.ToolStripButton1 = New System.Windows.Forms.ToolStripButton() + Me.MenuStrip1 = New System.Windows.Forms.MenuStrip() + Me.DateiToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.BeendenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.TreeStruktur = New System.Windows.Forms.TreeView() + Me.ImageList1 = New System.Windows.Forms.ImageList(Me.components) + Me.ToolStrip1.SuspendLayout() + Me.MenuStrip1.SuspendLayout() + Me.SuspendLayout() + ' + 'ToolStrip1 + ' + Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.TSBtnQuit, Me.ToolStripSeparator1, Me.ToolStripButton1}) + Me.ToolStrip1.Location = New System.Drawing.Point(0, 24) + Me.ToolStrip1.Name = "ToolStrip1" + Me.ToolStrip1.Size = New System.Drawing.Size(247, 25) + Me.ToolStrip1.TabIndex = 5 + Me.ToolStrip1.Text = "ToolStrip1" + ' + 'TSBtnQuit + ' + Me.TSBtnQuit.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnQuit.Image = CType(resources.GetObject("TSBtnQuit.Image"), System.Drawing.Image) + Me.TSBtnQuit.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnQuit.Name = "TSBtnQuit" + Me.TSBtnQuit.Size = New System.Drawing.Size(23, 22) + Me.TSBtnQuit.Text = "Fenster schliessen" + Me.TSBtnQuit.ToolTipText = "Fenster schliessen" + ' + 'ToolStripSeparator1 + ' + Me.ToolStripSeparator1.AutoSize = False + Me.ToolStripSeparator1.ForeColor = System.Drawing.SystemColors.Control + Me.ToolStripSeparator1.Name = "ToolStripSeparator1" + Me.ToolStripSeparator1.Size = New System.Drawing.Size(6, 25) + ' + 'ToolStripButton1 + ' + Me.ToolStripButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton1.Image = CType(resources.GetObject("ToolStripButton1.Image"), System.Drawing.Image) + Me.ToolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton1.Name = "ToolStripButton1" + Me.ToolStripButton1.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton1.Text = "ToolStripButton1" + ' + 'MenuStrip1 + ' + Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DateiToolStripMenuItem}) + Me.MenuStrip1.Location = New System.Drawing.Point(0, 0) + Me.MenuStrip1.Name = "MenuStrip1" + Me.MenuStrip1.Size = New System.Drawing.Size(247, 24) + Me.MenuStrip1.TabIndex = 6 + Me.MenuStrip1.Text = "MenuStrip1" + ' + 'DateiToolStripMenuItem + ' + Me.DateiToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.BeendenToolStripMenuItem}) + Me.DateiToolStripMenuItem.Name = "DateiToolStripMenuItem" + Me.DateiToolStripMenuItem.Size = New System.Drawing.Size(46, 20) + Me.DateiToolStripMenuItem.Text = "&Datei" + ' + 'BeendenToolStripMenuItem + ' + Me.BeendenToolStripMenuItem.Name = "BeendenToolStripMenuItem" + Me.BeendenToolStripMenuItem.Size = New System.Drawing.Size(120, 22) + Me.BeendenToolStripMenuItem.Text = "&Beenden" + ' + 'TreeStruktur + ' + Me.TreeStruktur.AllowDrop = True + Me.TreeStruktur.Dock = System.Windows.Forms.DockStyle.Fill + Me.TreeStruktur.FullRowSelect = True + Me.TreeStruktur.HideSelection = False + Me.TreeStruktur.ImageIndex = 0 + Me.TreeStruktur.ImageList = Me.ImageList1 + Me.TreeStruktur.Location = New System.Drawing.Point(0, 49) + Me.TreeStruktur.Name = "TreeStruktur" + Me.TreeStruktur.SelectedImageIndex = 0 + Me.TreeStruktur.Size = New System.Drawing.Size(247, 445) + Me.TreeStruktur.TabIndex = 7 + ' + 'ImageList1 + ' + Me.ImageList1.ImageStream = CType(resources.GetObject("ImageList1.ImageStream"), System.Windows.Forms.ImageListStreamer) + Me.ImageList1.TransparentColor = System.Drawing.Color.Transparent + Me.ImageList1.Images.SetKeyName(0, "Theme-icon.png") + Me.ImageList1.Images.SetKeyName(1, "Theme-icon.png") + Me.ImageList1.Images.SetKeyName(2, "Actions-layer-visible-on-icon.png") + ' + 'frmTreeselect + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(247, 494) + Me.Controls.Add(Me.TreeStruktur) + Me.Controls.Add(Me.ToolStrip1) + Me.Controls.Add(Me.MenuStrip1) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.Name = "frmTreeselect" + Me.Text = "Auswahl" + Me.ToolStrip1.ResumeLayout(False) + Me.ToolStrip1.PerformLayout() + Me.MenuStrip1.ResumeLayout(False) + Me.MenuStrip1.PerformLayout() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents ToolStrip1 As System.Windows.Forms.ToolStrip + Friend WithEvents TSBtnQuit As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripSeparator1 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents MenuStrip1 As System.Windows.Forms.MenuStrip + Friend WithEvents DateiToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents BeendenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents TreeStruktur As System.Windows.Forms.TreeView + Friend WithEvents ToolStripButton1 As System.Windows.Forms.ToolStripButton + Friend WithEvents ImageList1 As System.Windows.Forms.ImageList +End Class diff --git a/Themenmanagement/Themenmanagement/Details/frmTreeselect.resx b/Themenmanagement/Themenmanagement/Details/frmTreeselect.resx new file mode 100644 index 0000000..f3a1aa7 --- /dev/null +++ b/Themenmanagement/Themenmanagement/Details/frmTreeselect.resx @@ -0,0 +1,1998 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 233, 17 + + + + + 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 + 8fcAAAAASUVORK5CYII= + + + + 340, 17 + + + 571, 17 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w + LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 + ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAQ + CgAAAk1TRnQBSQFMAgEBAwEAAZgBAAGYAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo + AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA + AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 + AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA + AWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYCAAFm + AZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHMATMCAAHM + AWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEzAQABZgEA + ATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIzAf8BAAEz + AWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEzAQABMwGZ + AWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZAQABMwLM + AQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFmAQABMwEA + AWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFmATMBmQEA + AWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEzAQABZgGZ + AWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEAAWYBzAH/ + AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZATMBmQEA + AZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFmAgABmQFm + ATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZAcwBAAKZ + Af8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIAAZkB/wEz + AQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHMAQABmQEA + AcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHMAWYCAAHM + AWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZAWYBAAHM + ApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHMAf8CAAHM + Af8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/AQABmQEA + AcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFmATMBAAHM + AmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZAQAB/wGZ + AcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC/wEz + AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm + AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw + AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD/wEABP8I9Aj/CPQE/wkA + A/8UAAH/AfIB8AG8CAcBvAHwAfEB9AH/AfIB8AG8CAcBvAHwAfEB9AQAAv8B8wG8AgcC7wHxAv8RAAH/ + B3gBmAT/AwAB/wd4AZgE/wYAAf8BBwHtAa4BiwGSAvIB8AH3Ae0B8gH/EAAB8whWAfYGAAHzCFYB9gcA + Af8B8wHsAe8BtAGzAa0BiwH3AfMB8gG8ApIB/xAAAfMIVwH0Av8EAAHzCFcB9AL/BQAB8wH4AgcBtAFs + AWsBswGRAfMB8gEHAewBvAH/EAABGwhXA5AB/wMAARsIVwOQAf8DAAH/Au0B8gG7AZABbQEUAbMBtAHx + AQcB7AHvAf8RAAEbCFcBkAKzAfQDAAEbCFcBkAKzAfQDAAH/Ae8B+AHwAQkBuwHvAewBtAGRAQcB+AGS + Av8RAAH2CFcDswHyAv8BAAH2CFcDswHyAv8CAAH/Ae0B6wEHAwkBuwLrAe0B9AH/AfQUAAH0CLMBUgIx + AfQDAAH0CLMBUgIxAfQCAAH/AZIBbQHrAewB+AHqAW0BkgH0Af8B8AH/FAAB9Ai0AVICMQEbAwAB9Ai0 + AVICMQEbAv8BAAH/AbwB7AJtAewBvAL/AbwB8xUAAf8CCQG7BLQB9wExAjIBGwMAAf8CCQG7BLQB9wEx + AjIBGwEAAfIB/wEAAv8C9AP/AgcB/xgAAf8IMgEbBgAB/wgyARsBAAH/Ae8B9AH/AwAB/wH0AfcB7wH/ + GQAB/wg4ARsGAAH/CDgBGwIAAf8B7QHvAfIB8wHyAe8BbQHvAf8bAAGaB3oB/wcAAZoHegH/AwAB/wHv + AW0B6gFtAfgBvAH/OQAB/wH0AfEB8gH/VwABQgFNAT4HAAE+AwABKAMAAUADAAEQAwABAQEAAQEFAAGA + FwAD/wUAAf8BjwYAAfABAQMAAQcBAAEHAeAEAAE/AQABPwGABAABDwEAAQ8BgAQAAQcBAAEHAQABAQMA + AQcBAAEHAQABAQMAAQEBAAEBAYABAQIAAeABAAHgAQABwAEBAgAB4AEAAeABAAEgAQMCAAHgAQAB4AEA + AZABAwIAAfwBAAH8AQABhwEHAgAB/AEAAfwBAAHAAQ8CAAH+AQAB/gEAAeABHwIABP8B8AF/AgAG/wIA + Cw== + + + + + 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 + fiMaq9ZctI5fGJ2TI3eXZg0vWsdXYR0/vPRf+h9kgrVnfVaafAAAAABJRU5ErkJggigAAACAAAAAAAEA + AAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzM0UzMzO0MzMz6TMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz9zMzM8kzMzN9MzMz + BgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzMGMzMzfTMzM8kzMzP3MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzPpMzMztDMzM0UAAAAAAAAA + AAAAAAAzMzOGMzMz/jMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzPTMzMzEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMz + EzMzM9MzMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/jMzM4YAAAAAMzMzRTMzM/4zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzOmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzOmMzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /jMzM0UzMzO0MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzMZAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMz + GTMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMztDMzM+kzMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM00AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzNNMzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzPpMzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMzZAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ADMzM2QzMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzNkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzZDMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM2QAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAzMzNkMzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMzZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzM2QzMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzNkAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAMzMzZDMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM2QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzNkMzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + ZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAADMzM2QzMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzNkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzZDMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM2QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAzMzNkMzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMzZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzM2QzMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzNkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzZDMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM2QAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzNkMzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMzZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzM2QzMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzNkAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMz + ZDMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM2QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzNkMzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMzZAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ADMzM2QzMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzNkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzZDMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM2QAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAzMzNkMzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMzZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzM2QzMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzNkAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAMzMzZDMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM2QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzNkMzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + ZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAADMzM2QzMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzNkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzZDMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM2QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAzMzNkMzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMzZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzM2QzMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzNkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzZDMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM2QAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzNkMzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMzZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzM2QzMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzNkAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMz + ZDMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM2QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzNkMzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMzZAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ADMzM2QzMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzNkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzZDMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM2QAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAzMzNkMzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMzZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzM2QzMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP1MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzNaAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAMzMzWjMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz9TMzM8UzMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzMykAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzMpMzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzPFMzMzczMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzPUMzMz + AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAADMzMwIzMzPUMzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM3MzMzMDMzMz + xzMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz+DMzMzIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzMzIzMzP4MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzPHMzMzAwAAAAAzMzMKMzMzkjMzM/szMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM80zMzMuAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzMy4zMzPNMzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP7MzMzkjMzMwoAAAAAAAAA + AAAAAAAAAAAAMzMzCTMzMzkzMzNQMzMzUDMzM1AzMzNQMzMzUDMzM1AzMzNQMzMzWTMzM9AzMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz5TMzM18zMzNQMzMz + UDMzM1AzMzNQMzMzUDMzM0gzMzMZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAzMzMZMzMzSDMzM1AzMzNQMzMzUDMzM1AzMzNQMzMzUjMzM8wzMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz8jMzM24zMzNQMzMzUDMzM1AzMzNQMzMz + UDMzM1AzMzNQMzMzOTMzMwkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzDjMzM74zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz0TMzMxoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ADMzMwkzMzOvMzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM+czMzMxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMz + BzMzM6kzMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + 4DMzMygAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzMTMzMzxjMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzPYMzMzIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzAjMzM5IzMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz7DMzMzgAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMz + ITMzM9gzMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + xTMzMxMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAADMzM3gzMzP+MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz9TMzM0wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzMzIzMzPnMzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM64zMzMJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzM2AzMzP6MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz+zMzM2IAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzNHMzMz + 8jMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzOVMzMz + AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzM0ozMzP0MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/jMzM3sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzYDMzM/ozMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP+MzMzeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ADMzMzYzMzPqMzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM5QzMzMCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzM3wzMzP+MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz+TMzM1wAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzMyYzMzPeMzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM6szMzMHAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAADMzMwMzMzOZMzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/EzMzNEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAADMzMxkzMzPPMzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM78zMzMPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzMKMzMzsjMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzPlMzMzLwAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzMw4zMzO9MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM9EzMzMaAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAMzMzFTMzM8gzMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz1jMzMx8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzMwYzMzOpMzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM98zMzMnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzMyMzMzPaMzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM8MzMzMRAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ADMzMwIzMzORMzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM+szMzM4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAzMzM1MzMz6TMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzOsMzMzCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzN4MzMz/jMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/QzMzNLAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzSjMzM/QzMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMzkTMzMwIAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAzMzNfMzMz+jMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/szMzNhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ADMzM2QzMzP7MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /TMzM3UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzNJMzMz + 9DMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/4zMzN6AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzOAMzMz/jMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/gzMzNZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzM2MzMz6jMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzOTMzMzAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzMEMzMz + nDMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzPwMzMz + QgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAzMzMmMzMz3jMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzOqMzMzBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzCzMzM7UzMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz4zMzMy0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzMYMzMzzzMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzO/MzMzDwAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzMxYzMzPLMzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM9QzMzMdAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAzMzMOMzMzvTMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzPQMzMzGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAzMzMlMzMz3DMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzPAMzMzEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzMGMzMz + qDMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzPfMzMz + JwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzNzMzM+ozMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMzqTMzMwcAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzMBMzMzkDMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzPrMzMzNwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAADMzM04zMzP1MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM44zMzMBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAMzMzdzMzM/4zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP0MzMzSgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzNnMzMz+zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/0zMzNxAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzXjMzM/ozMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP6MzMzYAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAMzMzhDMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP4MzMzVwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzSDMzM/MzMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP+MzMzeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzBTMzM6AzMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz7zMzMz8AAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMz + NTMzM+ozMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + kjMzMwIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ADMzMwwzMzO4MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM+IzMzMrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzJTMzM90zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMzqTMzMwcAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzMYMzMzzTMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzPSMzMzGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAMzMzGDMzM84zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMzvjMzMw4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMz + JzMzM94zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + vjMzMw8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzDjMzM7wzMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz0DMzMxkAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzMzozMzPsMzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM6YzMzMGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzBjMzM6czMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz3zMzMyYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzNRMzMz + 9jMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzOLMzMz + AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMz + ATMzM48zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + 6zMzMzYAAAAAAAAAAAAAAAAAAAAAMzMzazMzM/wzMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP9MzMzbgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzM3YzMzP+MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz9DMzM0oAAAAAMzMzATMzM4czMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz9zMzM1QAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAADMzM10zMzP6MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz+jMzM2QzMzOjMzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM+0zMzM9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzM0gzMzPzMzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzPgMzMzKQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzMzUzMzPpMzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz0DMzMxoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ADMzMyUzMzPdMzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM7szMzMOAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzMxgzMzPOMzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzOjMzMzBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAADMzMw0zMzO7MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMzhzMzMwEAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzMwYzMzOmMzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /DMzM2sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzATMzMyUzMzNNMzMzUDMzM1AzMzNQMzMz + UDMzM1AzMzNQMzMzUDMzM1AzMzNQMzMzUDMzM1EzMzPHMzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/szMzObMzMzUDMzM1AzMzNQMzMzUDMzM1AzMzNQMzMz + UDMzM1AzMzNQMzMzUDMzM1AzMzNNMzMzJTMzMwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ADMzM1AzMzPmMzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + 5jMzM1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzNoMzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM2gAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMz + HjMzM/QzMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz9DMzMx4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzNkMzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMzZAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ADMzM5IzMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzOSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzmzMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM5sAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAzMzObMzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMzmwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzM5szMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzObAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAMzMzmzMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM5sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzObMzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + mwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAADMzM5szMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzObAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzmzMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM5sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAzMzObMzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMzmwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzM5szMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzObAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzmzMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM5sAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzObMzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMzmwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzM5szMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzObAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMz + mzMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM5sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzObMzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMzmwAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ADMzM5szMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzObAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzmzMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM5sAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAzMzObMzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMzmwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzM5szMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzObAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAMzMzmzMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM5sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzObMzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + mwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAADMzM5szMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzObAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzmzMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM5sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAzMzObMzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMzmwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzM5szMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzObAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzmzMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM5sAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzObMzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMzmwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzM5szMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzObAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMz + mzMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM5sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzObMzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMzmwAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ADMzM5szMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzObAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzmzMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM5sAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAzMzObMzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMzmwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzM5szMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzObAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAMzMzmzMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM5sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzOGMzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + hgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAADMzM1QzMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzNUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzCTMzM9kzMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + 2TMzMwkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzNjMzM+szMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM+szMzM2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMz + FzMzM5gzMzPVMzMz/DMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/DMzM9UzMzOYMzMz + FwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAP////////AAAAA + A4AAAAAB////////gAAAAAEAAAAAAf///////4AAAAAAAAAAAAD///////8AAAAAAAAAAAAA//////// + AAAAAAAAAAAAAP///////wAAAAAAAAAAAAD///////8AAAAAAAAAAAAA////////AAAAAAAAAAAAAP// + /////wAAAAAAAAAAAAD///////8AAAAAAAAAAAAA////////AAAAAAAAAAAAAP///////wAAAAAAAAAA + AAD///////8AAAAAAAAAAAAA////////AAAAAAAAAAAAAP///////wAAAAAAAAAAAAD///////8AAAAA + AAAAAAAA////////AAAAAAAAAAAAAP///////wAAAAAAAAAAAAD///////8AAAAAAAAAAAAA//////// + AAAAAAAAAAAAAP///////wAAAAAAAAAAAAD///////8AAAAAAAAAAAAA////////AAAAAAAAAAAAAP// + /////wAAAAAAAAAAAAD///////8AAAAAAAAAAAAA////////AAAAAAAAAAAAAP///////wAAAAAAAAAA + AAD///////8AAAAAAAAAAAAA////////AAAAAAAAAAAAAP///////wAAAAAAAAAAAAD///////8AAAAA + AAAAAAAA////////AAAAAAAAAAAAAP///////wAAAAAAAAAAAAD///////8AAAAAAAAAAAAA//////// + AAAAAAAAAAAAAP///////wAAAAAAAAAAAAD///////8AAAAAAAAAAAAA////////AAAAAAAAAAAAAP// + /////wAAAAAAAAAAAAD///////8AAAAAAAAAAAAA////////AAAAAAAAAAAAAP///////wAAAAAAAAAA + AAH///////+AAAAAAIAAAAAD////////wAAAAAHgAAAAD/////////AAAAAH//gAA///////////wAAf + ///8AAH//////////4AAP////gAA//////////8AAH////+AAH/////////+AAD/////wAA///////// + /AAB/////+AAH/////////gAB//////wAAf////////wAA//////+AAD////////wAAf//////wAAf// + /////4AAP//////+AAD///////8AAH///////wAAf//////+AAD///////+AAD///////AAB//////// + 4AAf//////gAA/////////AAD//////wAA/////////4AAf/////4AAf/////////AAB/////4AAP/// + //////4AAP////8AAH//////////AAB////+AAD//////////4AAP////AAB///////////AAB////gA + A///////////4AAP///wAAf///////////gAB///4AAf///////////8AAP//8AAP////////////gAB + //8AAH////////////8AAH/+AAD/////////////gAA//AAB/////////////8AAH/gAA/////////// + ///gAA/wAAf/////////////8AAH4AAP//////////////gAA8AAP//////////////+AAEAAH////// + /////////wAAAAD///////////////+AAAAB////////////////wAAAA////////////////+AAAAf/ + ///////////////wAAAP////////////////+AAAH/////////////////wAAH///////////////8AA + AAAAA/////////////+AAAAAAAH/////////////AAAAAAAA/////////////gAAAAAAAH////////// + //4AAAAAAAB////////////+AAAAAAAAf////////////gAAAAAAAH////////////4AAAAAAAB///// + ///////+AAAAAAAAf////////////gAAAAAAAH////////////4AAAAAAAB////////////+AAAAAAAA + f////////////gAAAAAAAH////////////4AAAAAAAB////////////+AAAAAAAAf////////////gAA + AAAAAH////////////4AAAAAAAB////////////+AAAAAAAAf////////////gAAAAAAAH////////// + //4AAAAAAAB////////////+AAAAAAAAf////////////gAAAAAAAH////////////4AAAAAAAB///// + ///////+AAAAAAAAf////////////gAAAAAAAH////////////4AAAAAAAB////////////+AAAAAAAA + f////////////gAAAAAAAH////////////4AAAAAAAB////////////+AAAAAAAAf////////////gAA + AAAAAH////////////4AAAAAAAB////////////+AAAAAAAAf////////////gAAAAAAAH////////// + //4AAAAAAAB////////////+AAAAAAAAf////////////gAAAAAAAH////////////4AAAAAAAB///// + ///////+AAAAAAAAf////////////gAAAAAAAH////////////4AAAAAAAB////////////+AAAAAAAA + f////////////gAAAAAAAH////////////8AAAAAAAD/////////////gAAAAAAB//////8oAAAAQAAA + AIAAAAABACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzITMzM70zMzP5MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzPvMzMzlTMzMwQAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzMEMzMzlTMzM+8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/kzMzO9MzMzITMzM70zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzNvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzbzMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM70zMzP5MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMzqwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ADMzM6szMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP5MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM7EAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAzMzOxMzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzOxAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzsTMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMzsQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzM7EzMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM7EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAzMzOxMzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzOxAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzsTMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + sQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzM7EzMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM7EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzOxMzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzOxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAMzMzsTMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMzsQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzM7EzMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM7EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzOxMzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzOxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMz + sTMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMzsQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAADMzM7EzMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM7EAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzOxMzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzOxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzsTMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMzsQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ADMzM7EzMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM7EAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAzMzOxMzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/wzMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzOvAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzrzMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/wzMzPNMzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMzfwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzM38zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzPNMzMzNTMzM+IzMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMzvDMzMwwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAzMzMMMzMzvDMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzPiMzMzNQAAAAAzMzMCMzMzIjMzMygzMzMoMzMzKDMzM04zMzPuMzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP4MzMzZzMzMygzMzMoMzMzGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzMYMzMzKDMzMygzMzNWMzMz8jMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz+TMzM2QzMzMoMzMzKDMzMygzMzMiMzMzAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAMzMzLDMzM+MzMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/czMzNTAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzNDMzMz + 8DMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz8DMzM0IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzMeMzMz1jMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /DMzM2oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAzMzNbMzMz+TMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz5DMzMy4AAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzMxIzMzPFMzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP+MzMzgwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAzMzN2MzMz/TMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz1DMzMx4AAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAMzMzCTMzM7EzMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzOcMzMzAwAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzMwIzMzOTMzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + wTMzMxEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzMDMzMzmzMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM7IzMzMJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzMwgzMzOtMzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMzqjMzMwcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzOCMzMz + /jMzM/8zMzP/MzMz/zMzM/8zMzP/MzMzxTMzMxIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzMxIzMzPEMzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMzjzMzMwIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAADMzM2gzMzP8MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzPWMzMzHgAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ADMzMyAzMzPXMzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP9MzMzcwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzUTMzM/YzMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM+QzMzMsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAADMzMzEzMzPmMzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP4MzMzVwAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzM9MzMz + 7jMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz7zMzMz4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzM0YzMzPyMzMz/zMzM/8zMzP/MzMz/zMzM/8zMzPvMzMz + QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAADMzMywzMzPjMzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP3MzMzUgAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzM14zMzP5MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzPiMzMzLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzHTMzM9UzMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/wzMzNpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzM3ozMzP+MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzPSMzMzHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzMSMzMz + xDMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/jMzM4IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMz + AzMzM5czMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzO+MzMzDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAADMzMwkzMzOwMzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMzmzMzMwMAAAAAAAAA + AAAAAAAAAAAAMzMzCTMzM7AzMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzOnMzMzBgAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzAzMzM5ozMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzOxMzMzCQAAAAAAAAAAMzMzFDMzM8YzMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzOMMzMz + AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMz + gTMzM/4zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM8UzMzMSMzMzIjMzM9kzMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/0zMzNvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAzMzNoMzMz/DMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz1zMzM+gzMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/czMzNVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzM1EzMzP2MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM+4zMzM+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMz + PTMzM+4zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM+EzMzMqAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzMJMzMz + JzMzMygzMzMoMzMzKDMzMygzMzNTMzMz8TMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM+QzMzNCMzMz + KDMzMygzMzMoMzMzKDMzMyczMzMJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAzMzNuMzMz+DMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz+DMzM24AAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAzMzMgMzMz/DMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP8MzMz + IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzSzMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM0sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzM00zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzNNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAzMzNNMzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMzTQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzTTMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM00AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzM00zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzNNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzNNMzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMzTQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAMzMzTTMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM00AAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzM00zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzNNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzNNMzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMzTQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMz + TTMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM00AAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAADMzM00zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzNNAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzNNMzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMzTQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzTTMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM00AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ADMzM00zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzNNAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAzMzNNMzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + TQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzTTMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM00AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzM00zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzNNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAzMzNIMzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMzSAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzFzMzM/UzMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + 9TMzMxcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzNOMzMz2jMzM/4zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP+MzMz2jMzM04AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAP///wAAAAAA////AA + AAAAD///8AAAAAAP///wAAAAAA////AAAAAAD///8AAAAAAP///wAAAAAA////AAAAAAD///8AAAAAAP + ///wAAAAAA////AAAAAAD///8AAAAAAP///wAAAAAA////AAAAAAD///8AAAAAAP///wAAAAAA////AA + AAAAD///8AAAAAAP///wAAAAAA////AAAAAAD///8AAAgAA////8AAH+AP////8Af/8Af////gD//4A/ + ///8Af//wA////AD///gB///4Af///gD///AD////AH//4A////+AP//AH////8Af/4A/////4A//AH/ + ////wB/4A//////gD+AH//////ADwA//////+AGAH//////+AAB///////8AAP///////4AB//////// + wAP///////gAAB//////8AAAD//////gAAAH/////+AAAAf/////4AAAB//////gAAAH/////+AAAAf/ + ////4AAAB//////gAAAH/////+AAAAf/////4AAAB//////gAAAH/////+AAAAf/////4AAAB//////g + AAAH/////+AAAAf/////4AAAB//////gAAAH/////+AAAAf/////4AAAB//////gAAAH/////+AAAAf/ + ////8AAAD///KAAAADAAAABgAAAAAQAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzM1syMjLqMjIy + /jMzM/8yMjL+MjIy/jMzM/8yMjL+MjIy/jMzM/8yMjL+MzMz/zIyMv4yMjLYMjIyMgAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ADIyMjIyMjLYMzMz/jIyMv4yMjL+MzMz/zIyMv4yMjL+MzMz/zIyMv4yMjL+MzMz/zIyMv4yMjLqMjIy + WzMzM+oyMjL+MjIy/jMzM/8yMjL+MjIy/jMzM/8yMjL+MjIy/jMzM/8yMjL+MzMz/zIyMv4yMjL+MjIy + sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAADIyMrAyMjL+MzMz/zIyMv4yMjL+MzMz/zIyMv4yMjL+MzMz/zIyMv4yMjL+MzMz + /zIyMv4yMjL+MjIy6jMzM/8yMjL+MjIy/jMzM/8yMjL+MjIy/jMzM/8yMjL+MjIy/jMzM/8yMjL+MzMz + /zIyMv4yMjL+MjIyxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADIyMsQyMjL+MzMz/zIyMv4yMjL+MzMz/zIyMv4yMjL+MzMz + /zIyMv4yMjL+MzMz/zIyMv4yMjL+MjIy/jMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMzxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzM8QzMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8yMjL+MjIy/jMzM/8yMjL+MjIy + /jMzM/8yMjL+MjIy/jMzM/8yMjL+MzMz/zIyMv4yMjL+MjIyxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADIyMsQyMjL+MzMz + /zIyMv4yMjL+MzMz/zIyMv4yMjL+MzMz/zIyMv4yMjL+MzMz/zIyMv4yMjL+MjIy/jMzM/8yMjL+MjIy + /jMzM/8yMjL+MjIy/jMzM/8yMjL+MjIy/jMzM/8yMjL+MzMz/zIyMv4yMjL+MjIyxAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ADIyMsQyMjL+MzMz/zIyMv4yMjL+MzMz/zIyMv4yMjL+MzMz/zIyMv4yMjL+MzMz/zIyMv4yMjL+MjIy + /jMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAADMzM8QzMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8yMjL+MjIy/jMzM/8yMjL+MjIy/jMzM/8yMjL+MjIy/jMzM/8yMjL+MzMz + /zIyMv4yMjL+MjIyxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADIyMsQyMjL+MzMz/zIyMv4yMjL+MzMz/zIyMv4yMjL+MzMz + /zIyMv4yMjL+MzMz/zIyMv4yMjL+MjIy/jMzM/8yMjL+MjIy/jMzM/8yMjL+MjIy/jMzM/8yMjL+MjIy + /jMzM/8yMjL+MzMz/zIyMv4yMjL+MjIyxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADIyMsQyMjL+MzMz/zIyMv4yMjL+MzMz + /zIyMv4yMjL+MzMz/zIyMv4yMjL+MzMz/zIyMv4yMjL+MjIy/jMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMzxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzM8QzMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8yMjL+MjIy + /jMzM/8yMjL+MjIy/jMzM/8yMjL+MjIy/jMzM/8yMjL+MzMz/zIyMv4yMjL+MjIyxAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ADIyMsQyMjL+MzMz/zIyMv4yMjL+MzMz/zIyMv4yMjL+MzMz/zIyMv4yMjL+MzMz/zIyMv4yMjL+MjIy + /jMzM/8yMjL+MjIy/jMzM/8yMjL+MjIy/jMzM/8yMjL+MjIy/jMzM/8yMjL+MzMz/zIyMv4yMjL+MjIy + xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAADIyMsQyMjL+MzMz/zIyMv4yMjL+MzMz/zIyMv4yMjL+MzMz/zIyMv4yMjL+MzMz + /zIyMv4yMjL+MjIy/jMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMzxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzM8QzMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8yMjL+MjIy/jMzM/8yMjL+MjIy/jMzM/8yMjL+MjIy + /jMzM/8yMjL+MzMz/zIyMv4yMjL+MjIyxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADIyMsQyMjL+MzMz/zIyMv4yMjL+MzMz + /zIyMv4yMjL+MzMz/zIyMv4yMjL+MzMz/zIyMv4yMjL+MjIy/jMzM/0yMjL+MjIy/jMzM/8yMjL+MjIy + /jMzM/8yMjL+MjIy/jMzM/8yMjL+MzMz/zIyMv4yMjL+MjIywwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADIyMsMyMjL+MzMz + /zIyMv4yMjL+MzMz/zIyMv4yMjL+MzMz/zIyMv4yMjL+MzMz/zIyMv4yMjL+MjIy/TMzM8gzMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMzjQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ADMzM40zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + yDMzMxwyMjKJMjIynTMzM50yMjKiMjIy9TMzM/8yMjL+MjIy/jMzM/8yMjLUMzMznTIyMp0yMjJ3MjIy + CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAADIyMgoyMjJ3MzMznTIyMp0yMjLMMzMz/zIyMv4yMjL+MzMz/zIyMvoyMjKoMzMz + nTIyMp0yMjKJMjIyHAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzQDMzM+8zMzP/MzMz/zMzM/8zMzP3MzMz + WwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzM04zMzPyMzMz/zMzM/8zMzP/MzMz + 9jMzM1QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzMy8yMjLiMjIy + /jMzM/8yMjL+MzMz/TIyMnIyMjIBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzZzIyMvsyMjL+MzMz + /zIyMv4yMjLrMzMzPQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAyMjIhMjIy1TMzM/8yMjL+MzMz/zIyMv4yMjKLMjIyAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADIyMgIyMjKDMzMz + /TIyMv4yMjL+MzMz/zIyMt4yMjIrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzFDMzM8YzMzP/MzMz/zMzM/8zMzP+MzMzozMzMwUAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMz + BDMzM58zMzP+MzMz/zMzM/8zMzP/MzMzzzMzMxoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzMwsyMjKxMzMz/jIyMv4yMjL+MjIy + /jMzM7gyMjIOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAyMjIOMzMztzIyMv4yMjL+MzMz/zIyMv4yMjK4MzMzDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyMjIGMzMz + mzIyMv4yMjL+MjIy/jMzM/8yMjLJMjIyGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAADMzMxoyMjLLMzMz/zIyMv4yMjL+MzMz/zIyMqAyMjIHAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAMzMzATMzM4UzMzP+MzMz/zMzM/8zMzP/MzMz2jMzMyMAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzJzMzM90zMzP/MzMz/zMzM/8zMzP+MzMzhzMzMwIAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyMjJrMjIy+jMzM/8yMjL+MjIy/jMzM+cyMjI0AAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyMjI8MjIy6zMzM/8yMjL+MzMz/zIyMvoyMjJrAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjIyVDMzM/YyMjL+MjIy + /jMzM/8yMjLvMjIyRgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzM1IyMjLzMjIy/jMzM/8yMjL+MzMz + 9DIyMlEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ADMzM0EzMzPuMzMz/zMzM/8zMzP/MzMz+DMzM1kAAAAAAAAAAAAAAAAAAAAAMzMzajMzM/szMzP/MzMz + /zMzM/8zMzPrMzMzPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAyMjIuMjIy4jMzM/8yMjL+MjIy/jMzM/wyMjJyMjIyATMzMwMyMjKHMjIy + /jMzM/8yMjL+MjIy/jMzM9wyMjIoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjIyIDMzM9UyMjL+MjIy/jMzM/8yMjL+MjIy + izMzM6IyMjL+MjIy/jMzM/8yMjL+MjIyzDMzMxkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzMxUzMzPFMzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzO3MzMzDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAyMjIKMjIysDMzM/8yMjL+MjIy/jMzM/8yMjL+MjIy/jMzM54yMjIFAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ADMzMzYyMjKTMjIynTMzM50yMjKdMjIyojMzM/cyMjL+MjIy/jMzM/8yMjL+MjIy8DMzM58yMjKdMjIy + nTMzM50yMjKTMzMzNgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAMzMzEjMzM/EzMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz8TMzMxIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAMjIyODMzM/8yMjL+MjIy/jMzM/8yMjL+MjIy/jMzM/8yMjL+MjIy + /jMzM/8yMjL+MjIy/jMzM/8yMjL+MjIy/jMzM/8yMjL+MzMz/zIyMjgAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjIyOjMzM/8yMjL+MjIy/jMzM/8yMjL+MjIy + /jMzM/8yMjL+MjIy/jMzM/8yMjL+MjIy/jMzM/8yMjL+MjIy/jMzM/8yMjL+MzMz/zIyMjoAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjIyOjMzM/8yMjL+MjIy + /jMzM/8yMjL+MjIy/jMzM/8yMjL+MjIy/jMzM/8yMjL+MjIy/jMzM/8yMjL+MjIy/jMzM/8yMjL+MzMz + /zIyMjoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMz + OjMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzMzoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAMjIyOjMzM/8yMjL+MjIy/jMzM/8yMjL+MjIy/jMzM/8yMjL+MjIy/jMzM/8yMjL+MjIy + /jMzM/8yMjL+MjIy/jMzM/8yMjL+MzMz/zIyMjoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzOjMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzMzoAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjIyOjMzM/8yMjL+MjIy/jMzM/8yMjL+MjIy + /jMzM/8yMjL+MjIy/jMzM/8yMjL+MjIy/jMzM/8yMjL+MjIy/jMzM/8yMjL+MzMz/zIyMjoAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjIyOjMzM/8yMjL+MjIy + /jMzM/8yMjL+MjIy/jMzM/8yMjL+MjIy/jMzM/8yMjL+MjIy/jMzM/8yMjL+MjIy/jMzM/8yMjL+MzMz + /zIyMjoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMz + OjMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzMzoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAMjIyOjMzM/8yMjL+MjIy/jMzM/8yMjL+MjIy/jMzM/8yMjL+MjIy/jMzM/8yMjL+MjIy + /jMzM/8yMjL+MjIy/jMzM/8yMjL+MzMz/zIyMjoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAMjIyOjMzM/8yMjL+MjIy/jMzM/8yMjL+MjIy/jMzM/8yMjL+MjIy + /jMzM/8yMjL+MjIy/jMzM/8yMjL+MjIy/jMzM/8yMjL+MzMz/zIyMjoAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzOjMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzMzoAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjIyOjMzM/8yMjL+MjIy + /jMzM/8yMjL+MjIy/jMzM/8yMjL+MjIy/jMzM/8yMjL+MjIy/jMzM/8yMjL+MjIy/jMzM/8yMjL+MzMz + /zIyMjoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjIy + JjMzM/4yMjL+MjIy/jMzM/8yMjL+MjIy/jMzM/8yMjL+MjIy/jMzM/8yMjL+MjIy/jMzM/8yMjL+MjIy + /jMzM/8yMjL+MzMz/jIyMiYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAADMzM4szMzP0MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP0MzMziwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB//+AAP//AAH//4AA//8AAf//gAD//wAB//+AAP//AAH/ + /4AA//8AAf//gAD//wAB//+AAP//AAH//4AA//8AAf//gAD//wAB//+AAP//AAH//4AA//8AAf//gAD/ + /wAB//+AAP//AAH//4AA//8AAf//gAD//wAB//+AAP//AAH//4AA///4D///8B////wD///gP////gH/ + /4B/////AP//AP////+Af/4B/////8A//AP/////4B/4B//////4D/Af//////wH4D///////gPAf/// + ////AAD///////+AAf///////8AD////////4Af///////4AAH///////AAAP//////8AAA///////wA + AD///////AAAP//////8AAA///////wAAD///////AAAP//////8AAA///////wAAD///////AAAP/// + ///8AAA///////wAAD///////AAAP//////8AAA///////wAAD///////gAAf////ygAAAAgAAAAQAAA + AAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzOnMzMz/TMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/szMzOCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMz + gjMzM/szMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP9MzMzpzMzM/0zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM9YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAzMzPWMzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP9MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAADMzM9gzMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzPYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMz2DMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM9gAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzPYMzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz2AAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzM9gzMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzPYAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMz2DMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzPYMzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + 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 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAMzMzJjMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzMyYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAzMzMmMzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMzJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzMyYzMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzMmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzJjMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzMyYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzMmMzMz/zMzM/8zMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMzJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzMyYzMzP/MzMz + /zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzMmAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMz + JjMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzMyYAAAAAAAAA + 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 + + + \ No newline at end of file diff --git a/Themenmanagement/Themenmanagement/Details/frmTreeselect.vb b/Themenmanagement/Themenmanagement/Details/frmTreeselect.vb new file mode 100644 index 0000000..c93e4c5 --- /dev/null +++ b/Themenmanagement/Themenmanagement/Details/frmTreeselect.vb @@ -0,0 +1,266 @@ +Imports System.Reflection +Imports System.Windows.Forms +Imports System.Drawing + +Public Class frmTreeselect + + Dim oetree As New clsOETree + Dim Paramtype As String + Dim Kategorien As New db.Kategorie + + Dim ncol As New Collection + Public ncoltext As New Collection + + Dim M_Selectedvalue As String + Property SelectedValues As String + Get + Return M_Selectedvalue + End Get + Set(value As String) + M_Selectedvalue = value + End Set + End Property + + Sub New(ByVal PType As String) + + ' Dieser Aufruf ist für den Designer erforderlich. + InitializeComponent() + Me.Paramtype = PType + ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. + + End Sub + Private Sub frmTreeselect_Load(sender As Object, e As EventArgs) Handles MyBase.Load + Me.TreeStruktur.BeginUpdate() + Me.TreeStruktur.Nodes.Clear() + Kategorien.Load_Treeview(Me.TreeStruktur) + Me.TreeStruktur.SelectedNode = Me.TreeStruktur.Nodes(0) + Me.TreeStruktur.ExpandAll() + Me.TreeStruktur.EndUpdate() + End Sub + + + + + Private Sub TreeStruktur_DoubleClick(sender As Object, e As EventArgs) Handles TreeStruktur.DoubleClick + If Paramtype = "OESelectSingle" Then Me.SelectedValues = Me.TreeStruktur.SelectedNode.Tag + If Paramtype = "OESelectMulti" Then Me.SelectedValues = Me.TreeStruktur.SelectedNode.Tag + Me.DialogResult = Windows.Forms.DialogResult.OK + Me.Close() + End Sub + + + +#Region "TreeStruktur" + + Private _prevNode As TreeNode + Public SelectedBackColor As Color + Public SelectedForeColor As Color + + Protected Sub MultiSelectFileTreeView_AfterSelect(sender As Object, e As System.Windows.Forms.TreeViewEventArgs) Handles TreeStruktur.AfterSelect + Try + If Paramtype = "OESelectSingle" Then + Me.SelectedValues = Me.TreeStruktur.SelectedNode.Tag + Exit Sub + End If + + Dim bBoth As Boolean = ModifierKeys = (Keys.Shift Or Keys.Control) + ' + Dim bControl As Boolean = (ModifierKeys = Keys.Control) + Dim bShift As Boolean = (ModifierKeys = Keys.Shift) + + If Not (bBoth OrElse bControl OrElse bShift) Then + 'just a plain old selection + ClearChecksRecursive(Me.TreeStruktur.Nodes) + e.Node.Checked = True + Me.TreeStruktur.SelectedNode = e.Node + Return + End If + + If bControl Then + ' no clear, just do it + e.Node.Checked = Not e.Node.Checked + Me.TreeStruktur.SelectedNode = e.Node + End If + If bShift OrElse bBoth Then + + + If bShift Then + ClearChecksRecursive(Me.TreeStruktur.Nodes) + End If + + Dim TopNode As New TreeNode() + Dim BottomNode As New TreeNode() + + If _prevNode.Level <> TreeStruktur.SelectedNode.Level Then + TopNode = TreeStruktur.SelectedNode.Parent.Nodes(0) + BottomNode = e.Node + Else + TopNode = If((_prevNode.Index < TreeStruktur.SelectedNode.Index), _prevNode, TreeStruktur.SelectedNode) + BottomNode = If((TreeStruktur.SelectedNode.Index > _prevNode.Index), TreeStruktur.SelectedNode, _prevNode) + End If + + Dim x As Integer = TopNode.Index + While x <= BottomNode.Index + Dim n As TreeNode = TreeStruktur.SelectedNode.Parent.Nodes(x) + n.Checked = True + 'If n.Tag.[GetType]() <> GetType(FileInfo) Then + ' n.Collapse() + 'End If + System.Math.Max(System.Threading.Interlocked.Increment(x), x - 1) + End While + Return + End If + Catch ex As Exception + Finally + + End Try + End Sub + + Private Sub TreeStruktur_AfterSelect(sender As Object, e As TreeViewEventArgs) Handles TreeStruktur.AfterSelect + If Me.Paramtype = "OESelectSingle" Then Exit Sub + Dim bBoth As Boolean = ModifierKeys = (Keys.Shift Or Keys.Control) + Dim bControl As Boolean = (ModifierKeys = Keys.Control) + Dim bShift As Boolean = (ModifierKeys = Keys.Shift) + + If Not (bBoth OrElse bControl OrElse bShift) Then + 'no modifier keys, so clear all nodes and select just this one + 'ClearChecksRecursive(Me.Nodes) + e.Node.Checked = True + Me.TreeStruktur.SelectedNode = e.Node + Else + Return + End If + + + End Sub + + Protected Sub MultiSelectFileTreeView_BeforeSelect(sender As Object, e As TreeViewCancelEventArgs) Handles TreeStruktur.BeforeSelect + Try + _prevNode = Me.TreeStruktur.SelectedNode + Catch ex As Exception + + End Try + End Sub + + Protected Sub MultiSelectFileTreeView_AfterCheck(sender As Object, e As System.Windows.Forms.TreeViewEventArgs) Handles TreeStruktur.AfterCheck + + SelectedBackColor = SystemColors.Highlight + SelectedForeColor = SystemColors.HighlightText + Try + e.Node.BackColor = If((e.Node.Checked = True), SelectedBackColor, SystemColors.Window) + e.Node.ForeColor = If((e.Node.Checked = True), SelectedForeColor, Me.ForeColor) + If e.Node.Checked Then + Dim nodeType As Type = e.Node.Tag.[GetType]() + 'If nodeType = GetType(DirectoryInfo) OrElse nodeType = GetType(DriveInfo) Then + ' e.Node.Expand() + 'End If + End If + Catch ex As Exception + + End Try + + End Sub + + Protected Sub ClearChecksRecursive(nodes As TreeNodeCollection) + Try + For Each node As TreeNode In nodes + node.Checked = False + ClearChecksRecursive(node.Nodes) + Next + Catch ex As Exception + Finally + End Try + + End Sub + + + + + Private Sub TreeView1_NodeMouseClick(sender As Object, e As System.Windows.Forms.TreeNodeMouseClickEventArgs) Handles TreeStruktur.NodeMouseClick + If e.Button = Windows.Forms.MouseButtons.Right Then + TreeStruktur.SelectedNode = e.Node + End If + End Sub + +#End Region + + Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ToolStripButton1.Click + If Me.Paramtype = "OESelectSingle" Then + If Me.SelectedValues <> "" Then + Me.DialogResult = Windows.Forms.DialogResult.OK + Me.Close() + Else + Me.Close() + End If + Else + Me.ncol.Clear() + Me.ncoltext.Clear() + Me.SelectedValues = "" + If Get_Checked_Nodes_Count(Me.TreeStruktur.Nodes) > 0 Then + Dim i As Integer + Dim s As String + For i = 1 To ncol.Count + s = ncol(i) + s = Trim(s) + While Len(s) < 2 + s = "0" + s + End While + If Me.SelectedValues <> "" Then + Me.SelectedValues = Me.SelectedValues + "," + s + Else + Me.SelectedValues = s + End If + Next + Me.DialogResult = Windows.Forms.DialogResult.OK + Me.Close() + Else + Me.Close() + End If + End If + End Sub + + Public Function Get_Checked_Nodes(ByVal Nodes As TreeNodeCollection) + For Each node As TreeNode In Nodes + If node.Checked = True Then + ncol.Add(node.Tag) + ncoltext.Add(node.Text) + If node.Nodes.Count > 0 Then Get_Sub_Nodes(node.Nodes) + + End If + Get_Checked_Nodes(node.Nodes) + Next + + + End Function + + Public Function Get_Sub_Nodes(ByVal Nodes As TreeNodeCollection) + For Each node As TreeNode In Nodes + ncol.Add(node.Tag) + ncoltext.Add(node.Text) + If node.Nodes.Count > 0 Then Get_Sub_Nodes(node.Nodes) + Get_Sub_Nodes(node.Nodes) + Next + End Function + + Public Function Get_Checked_Nodes_Count(ByVal Nodes As TreeNodeCollection) As Integer + + For Each node As TreeNode In Nodes + If node.Checked = True Then + ncol.Add(node.Tag) + ncoltext.Add(node.Text) + End If + Get_Checked_Nodes(node.Nodes) + Next + Return ncol.Count + End Function + + Private Sub TSBtnQuit_Click(sender As Object, e As EventArgs) Handles TSBtnQuit.Click + Me.DialogResult = Windows.Forms.DialogResult.Abort + Me.Close() + + End Sub + + Private Sub BeendenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles BeendenToolStripMenuItem.Click + TSBtnQuit_Click(sender, e) + End Sub +End Class \ No newline at end of file diff --git a/Themenmanagement/Themenmanagement/Uebersichten/frmThemenübersicht.Designer.vb b/Themenmanagement/Themenmanagement/Uebersichten/frmThemenübersicht.Designer.vb new file mode 100644 index 0000000..48a8ad8 --- /dev/null +++ b/Themenmanagement/Themenmanagement/Uebersichten/frmThemenübersicht.Designer.vb @@ -0,0 +1,891 @@ + _ +Partial Class frmThemenübersicht + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmThemenübersicht)) + Dim TreeNode1 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Unterkategorie 1.1") + Dim TreeNode2 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Unterkategorie 1.2") + Dim TreeNode3 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Kategorie 1", New System.Windows.Forms.TreeNode() {TreeNode1, TreeNode2}) + Dim TreeNode4 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Unterkategorie 2.1") + Dim TreeNode5 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Unterkategorie 2.2") + Dim TreeNode6 As System.Windows.Forms.TreeNode = New System.Windows.Forms.TreeNode("Kategorie 2", New System.Windows.Forms.TreeNode() {TreeNode4, TreeNode5}) + Me.ToolStrip1 = New System.Windows.Forms.ToolStrip() + Me.TSBtnQuit = New System.Windows.Forms.ToolStripButton() + Me.tsbtnrefresh = New System.Windows.Forms.ToolStripButton() + Me.ToolStripSeparator3 = New System.Windows.Forms.ToolStripSeparator() + Me.TSBtnNew = New System.Windows.Forms.ToolStripButton() + Me.ToolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator() + Me.TsBtnSuchArt = New System.Windows.Forms.ToolStripDropDownButton() + Me.ApplikationSucheToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.tstxtsuche = New System.Windows.Forms.ToolStripTextBox() + Me.TSBtnSuche = New System.Windows.Forms.ToolStripButton() + Me.TSBtnFilterAufheben = New System.Windows.Forms.ToolStripButton() + Me.ToolStripButton2 = New System.Windows.Forms.ToolStripButton() + Me.TSBtnFirst = New System.Windows.Forms.ToolStripButton() + Me.TSBtnNext = New System.Windows.Forms.ToolStripButton() + Me.TSBtnPrevious = New System.Windows.Forms.ToolStripButton() + Me.TSBtnLast = New System.Windows.Forms.ToolStripButton() + Me.ToolStripSeparator2 = New System.Windows.Forms.ToolStripSeparator() + Me.MenuStrip1 = New System.Windows.Forms.MenuStrip() + Me.DateiToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.SplitContainer1 = New System.Windows.Forms.SplitContainer() + Me.TreeKategorien = New System.Windows.Forms.TreeView() + Me.ImageList1 = New System.Windows.Forms.ImageList(Me.components) + Me.SplitContainer2 = New System.Windows.Forms.SplitContainer() + Me.C1Themen = New C1.Win.C1TrueDBGrid.C1TrueDBGrid() + Me.ctxMenuThemen = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.ThemaAnzeigenbearbeitenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.NeuesThemaEröffnenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.TabControl1 = New System.Windows.Forms.TabControl() + Me.TabPage1 = New System.Windows.Forms.TabPage() + Me.txtGueltigab = New System.Windows.Forms.TextBox() + Me.txtGueltigBis = New System.Windows.Forms.TextBox() + Me.txtMutierer = New System.Windows.Forms.TextBox() + Me.Label5 = New System.Windows.Forms.Label() + Me.Label4 = New System.Windows.Forms.Label() + Me.txtKategorie = New System.Windows.Forms.TextBox() + Me.cbaktiv = New System.Windows.Forms.CheckBox() + Me.Label1 = New System.Windows.Forms.Label() + Me.Label11 = New System.Windows.Forms.Label() + Me.txtBeschreibung = New System.Windows.Forms.TextBox() + Me.Label2 = New System.Windows.Forms.Label() + Me.Label3 = New System.Windows.Forms.Label() + Me.txtmutiert_am = New System.Windows.Forms.TextBox() + Me.txtSuchbegriffe = New System.Windows.Forms.TextBox() + Me.Label9 = New System.Windows.Forms.Label() + Me.txtTitel = New System.Windows.Forms.TextBox() + Me.txterstellt_am = New System.Windows.Forms.TextBox() + Me.Label6 = New System.Windows.Forms.Label() + Me.Label8 = New System.Windows.Forms.Label() + Me.Label7 = New System.Windows.Forms.Label() + Me.TabPage4 = New System.Windows.Forms.TabPage() + Me.txtIssueBemerkung = New System.Windows.Forms.TextBox() + Me.Label12 = New System.Windows.Forms.Label() + Me.cbboxissueveraenderung = New System.Windows.Forms.ComboBox() + Me.lblRelevanzVeraenderung = New System.Windows.Forms.Label() + Me.cbboxRelevanzTKB = New System.Windows.Forms.ComboBox() + Me.lblRelevanzTKB = New System.Windows.Forms.Label() + Me.cbissue = New System.Windows.Forms.CheckBox() + Me.lblIssue = New System.Windows.Forms.Label() + Me.Personen = New System.Windows.Forms.TabPage() + Me.ThemaPerson1 = New ThemaPerson.ThemaPerson() + Me.TabPage2 = New System.Windows.Forms.TabPage() + Me.TreeEntwicklung = New System.Windows.Forms.TreeView() + Me.ImageList2 = New System.Windows.Forms.ImageList(Me.components) + Me.TabPage3 = New System.Windows.Forms.TabPage() + Me.TreeKommunikation = New System.Windows.Forms.TreeView() + Me.ctxMenuTree = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.NeuesThemaEröffnenToolStripMenuItem1 = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStrip1.SuspendLayout() + Me.MenuStrip1.SuspendLayout() + CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SplitContainer1.Panel1.SuspendLayout() + Me.SplitContainer1.Panel2.SuspendLayout() + Me.SplitContainer1.SuspendLayout() + CType(Me.SplitContainer2, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SplitContainer2.Panel1.SuspendLayout() + Me.SplitContainer2.Panel2.SuspendLayout() + Me.SplitContainer2.SuspendLayout() + CType(Me.C1Themen, System.ComponentModel.ISupportInitialize).BeginInit() + Me.ctxMenuThemen.SuspendLayout() + Me.TabControl1.SuspendLayout() + Me.TabPage1.SuspendLayout() + Me.TabPage4.SuspendLayout() + Me.Personen.SuspendLayout() + Me.TabPage2.SuspendLayout() + Me.TabPage3.SuspendLayout() + Me.ctxMenuTree.SuspendLayout() + Me.SuspendLayout() + ' + 'ToolStrip1 + ' + Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.TSBtnQuit, Me.tsbtnrefresh, Me.ToolStripSeparator3, Me.TSBtnNew, Me.ToolStripSeparator1, Me.TsBtnSuchArt, Me.tstxtsuche, Me.TSBtnSuche, Me.TSBtnFilterAufheben, Me.ToolStripButton2, Me.TSBtnFirst, Me.TSBtnNext, Me.TSBtnPrevious, Me.TSBtnLast, Me.ToolStripSeparator2}) + Me.ToolStrip1.Location = New System.Drawing.Point(0, 24) + Me.ToolStrip1.Name = "ToolStrip1" + Me.ToolStrip1.Size = New System.Drawing.Size(1003, 25) + Me.ToolStrip1.TabIndex = 4 + Me.ToolStrip1.Text = "ToolStrip1" + ' + 'TSBtnQuit + ' + Me.TSBtnQuit.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnQuit.Image = CType(resources.GetObject("TSBtnQuit.Image"), System.Drawing.Image) + Me.TSBtnQuit.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnQuit.Name = "TSBtnQuit" + Me.TSBtnQuit.Size = New System.Drawing.Size(23, 22) + Me.TSBtnQuit.Text = "Schliessen" + Me.TSBtnQuit.ToolTipText = "Anwendung beenden" + ' + 'tsbtnrefresh + ' + Me.tsbtnrefresh.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.tsbtnrefresh.Image = CType(resources.GetObject("tsbtnrefresh.Image"), System.Drawing.Image) + Me.tsbtnrefresh.ImageTransparentColor = System.Drawing.Color.Magenta + Me.tsbtnrefresh.Name = "tsbtnrefresh" + Me.tsbtnrefresh.Size = New System.Drawing.Size(23, 22) + Me.tsbtnrefresh.Text = "Aktualisieren" + ' + 'ToolStripSeparator3 + ' + Me.ToolStripSeparator3.Name = "ToolStripSeparator3" + Me.ToolStripSeparator3.Size = New System.Drawing.Size(6, 25) + ' + 'TSBtnNew + ' + Me.TSBtnNew.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnNew.Image = CType(resources.GetObject("TSBtnNew.Image"), System.Drawing.Image) + Me.TSBtnNew.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnNew.Name = "TSBtnNew" + Me.TSBtnNew.Size = New System.Drawing.Size(23, 22) + Me.TSBtnNew.Text = "Neues Thema" + Me.TSBtnNew.ToolTipText = "Neuer Datensatz" + ' + 'ToolStripSeparator1 + ' + Me.ToolStripSeparator1.Name = "ToolStripSeparator1" + Me.ToolStripSeparator1.Size = New System.Drawing.Size(6, 25) + ' + 'TsBtnSuchArt + ' + Me.TsBtnSuchArt.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text + Me.TsBtnSuchArt.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ApplikationSucheToolStripMenuItem}) + Me.TsBtnSuchArt.Image = CType(resources.GetObject("TsBtnSuchArt.Image"), System.Drawing.Image) + Me.TsBtnSuchArt.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TsBtnSuchArt.Name = "TsBtnSuchArt" + Me.TsBtnSuchArt.Size = New System.Drawing.Size(59, 22) + Me.TsBtnSuchArt.Text = "Suchen" + ' + 'ApplikationSucheToolStripMenuItem + ' + Me.ApplikationSucheToolStripMenuItem.Name = "ApplikationSucheToolStripMenuItem" + Me.ApplikationSucheToolStripMenuItem.Size = New System.Drawing.Size(107, 22) + Me.ApplikationSucheToolStripMenuItem.Text = "Filtern" + Me.ApplikationSucheToolStripMenuItem.Visible = False + ' + 'tstxtsuche + ' + Me.tstxtsuche.Name = "tstxtsuche" + Me.tstxtsuche.Size = New System.Drawing.Size(100, 25) + ' + 'TSBtnSuche + ' + Me.TSBtnSuche.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnSuche.Image = CType(resources.GetObject("TSBtnSuche.Image"), System.Drawing.Image) + Me.TSBtnSuche.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnSuche.Name = "TSBtnSuche" + Me.TSBtnSuche.Size = New System.Drawing.Size(23, 22) + Me.TSBtnSuche.Text = "Suchen" + ' + 'TSBtnFilterAufheben + ' + Me.TSBtnFilterAufheben.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnFilterAufheben.Image = CType(resources.GetObject("TSBtnFilterAufheben.Image"), System.Drawing.Image) + Me.TSBtnFilterAufheben.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnFilterAufheben.Name = "TSBtnFilterAufheben" + Me.TSBtnFilterAufheben.Size = New System.Drawing.Size(23, 22) + Me.TSBtnFilterAufheben.Text = "Filter aufheben" + ' + 'ToolStripButton2 + ' + Me.ToolStripButton2.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.ToolStripButton2.Image = CType(resources.GetObject("ToolStripButton2.Image"), System.Drawing.Image) + Me.ToolStripButton2.ImageTransparentColor = System.Drawing.Color.Magenta + Me.ToolStripButton2.Name = "ToolStripButton2" + Me.ToolStripButton2.Size = New System.Drawing.Size(23, 22) + Me.ToolStripButton2.Text = "Suchdialog" + ' + 'TSBtnFirst + ' + Me.TSBtnFirst.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnFirst.Image = CType(resources.GetObject("TSBtnFirst.Image"), System.Drawing.Image) + Me.TSBtnFirst.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnFirst.Name = "TSBtnFirst" + Me.TSBtnFirst.Size = New System.Drawing.Size(23, 22) + Me.TSBtnFirst.Text = "Erster Datensatz" + ' + 'TSBtnNext + ' + Me.TSBtnNext.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnNext.Image = CType(resources.GetObject("TSBtnNext.Image"), System.Drawing.Image) + Me.TSBtnNext.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnNext.Name = "TSBtnNext" + Me.TSBtnNext.Size = New System.Drawing.Size(23, 22) + Me.TSBtnNext.Text = "Nächster Datensatz" + ' + 'TSBtnPrevious + ' + Me.TSBtnPrevious.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnPrevious.Image = CType(resources.GetObject("TSBtnPrevious.Image"), System.Drawing.Image) + Me.TSBtnPrevious.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnPrevious.Name = "TSBtnPrevious" + Me.TSBtnPrevious.Size = New System.Drawing.Size(23, 22) + Me.TSBtnPrevious.Text = "Vorheriger Datensatz" + ' + 'TSBtnLast + ' + Me.TSBtnLast.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image + Me.TSBtnLast.Image = CType(resources.GetObject("TSBtnLast.Image"), System.Drawing.Image) + Me.TSBtnLast.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TSBtnLast.Name = "TSBtnLast" + Me.TSBtnLast.Size = New System.Drawing.Size(23, 22) + Me.TSBtnLast.Text = "Letzter Datensatz" + ' + 'ToolStripSeparator2 + ' + Me.ToolStripSeparator2.Name = "ToolStripSeparator2" + Me.ToolStripSeparator2.Size = New System.Drawing.Size(6, 25) + ' + 'MenuStrip1 + ' + Me.MenuStrip1.AllowMerge = False + Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DateiToolStripMenuItem}) + Me.MenuStrip1.Location = New System.Drawing.Point(0, 0) + Me.MenuStrip1.Name = "MenuStrip1" + Me.MenuStrip1.Size = New System.Drawing.Size(1003, 24) + Me.MenuStrip1.TabIndex = 3 + Me.MenuStrip1.Text = "MenuStrip1" + ' + 'DateiToolStripMenuItem + ' + Me.DateiToolStripMenuItem.Name = "DateiToolStripMenuItem" + Me.DateiToolStripMenuItem.Size = New System.Drawing.Size(46, 20) + Me.DateiToolStripMenuItem.Text = "&Datei" + ' + 'SplitContainer1 + ' + Me.SplitContainer1.Dock = System.Windows.Forms.DockStyle.Fill + Me.SplitContainer1.Location = New System.Drawing.Point(0, 49) + Me.SplitContainer1.Name = "SplitContainer1" + ' + 'SplitContainer1.Panel1 + ' + Me.SplitContainer1.Panel1.Controls.Add(Me.TreeKategorien) + ' + 'SplitContainer1.Panel2 + ' + Me.SplitContainer1.Panel2.Controls.Add(Me.SplitContainer2) + Me.SplitContainer1.Size = New System.Drawing.Size(1003, 550) + Me.SplitContainer1.SplitterDistance = 333 + Me.SplitContainer1.TabIndex = 5 + ' + 'TreeKategorien + ' + Me.TreeKategorien.ContextMenuStrip = Me.ctxMenuTree + Me.TreeKategorien.Dock = System.Windows.Forms.DockStyle.Fill + Me.TreeKategorien.ImageIndex = 0 + Me.TreeKategorien.ImageList = Me.ImageList1 + Me.TreeKategorien.Location = New System.Drawing.Point(0, 0) + Me.TreeKategorien.Name = "TreeKategorien" + TreeNode1.Name = "Knoten1" + TreeNode1.Text = "Unterkategorie 1.1" + TreeNode2.Name = "Knoten2" + TreeNode2.Text = "Unterkategorie 1.2" + TreeNode3.Name = "Knoten0" + TreeNode3.Text = "Kategorie 1" + TreeNode4.Name = "Knoten4" + TreeNode4.Text = "Unterkategorie 2.1" + TreeNode5.Name = "Knoten5" + TreeNode5.Text = "Unterkategorie 2.2" + TreeNode6.Name = "Knoten3" + TreeNode6.Text = "Kategorie 2" + Me.TreeKategorien.Nodes.AddRange(New System.Windows.Forms.TreeNode() {TreeNode3, TreeNode6}) + Me.TreeKategorien.SelectedImageIndex = 0 + Me.TreeKategorien.Size = New System.Drawing.Size(333, 550) + Me.TreeKategorien.TabIndex = 0 + ' + 'ImageList1 + ' + Me.ImageList1.ImageStream = CType(resources.GetObject("ImageList1.ImageStream"), System.Windows.Forms.ImageListStreamer) + Me.ImageList1.TransparentColor = System.Drawing.Color.Transparent + Me.ImageList1.Images.SetKeyName(0, "Theme-icon.png") + Me.ImageList1.Images.SetKeyName(1, "Theme-icon.png") + Me.ImageList1.Images.SetKeyName(2, "Actions-layer-visible-on-icon.png") + ' + 'SplitContainer2 + ' + Me.SplitContainer2.Dock = System.Windows.Forms.DockStyle.Fill + Me.SplitContainer2.Location = New System.Drawing.Point(0, 0) + Me.SplitContainer2.Name = "SplitContainer2" + Me.SplitContainer2.Orientation = System.Windows.Forms.Orientation.Horizontal + ' + 'SplitContainer2.Panel1 + ' + Me.SplitContainer2.Panel1.Controls.Add(Me.C1Themen) + ' + 'SplitContainer2.Panel2 + ' + Me.SplitContainer2.Panel2.Controls.Add(Me.TabControl1) + Me.SplitContainer2.Panel2.RightToLeft = System.Windows.Forms.RightToLeft.No + Me.SplitContainer2.Size = New System.Drawing.Size(666, 550) + Me.SplitContainer2.SplitterDistance = 293 + Me.SplitContainer2.TabIndex = 0 + ' + 'C1Themen + ' + Me.C1Themen.AllowDrop = True + Me.C1Themen.AlternatingRows = True + Me.C1Themen.ContextMenuStrip = Me.ctxMenuThemen + Me.C1Themen.Dock = System.Windows.Forms.DockStyle.Fill + Me.C1Themen.FetchRowStyles = True + Me.C1Themen.FilterBar = True + Me.C1Themen.GroupByCaption = "Drag a column header here to group by that column" + Me.C1Themen.Images.Add(CType(resources.GetObject("C1Themen.Images"), System.Drawing.Image)) + Me.C1Themen.Location = New System.Drawing.Point(0, 0) + Me.C1Themen.Name = "C1Themen" + Me.C1Themen.PreviewInfo.Location = New System.Drawing.Point(0, 0) + Me.C1Themen.PreviewInfo.Size = New System.Drawing.Size(0, 0) + Me.C1Themen.PreviewInfo.ZoomFactor = 75.0R + Me.C1Themen.PrintInfo.PageSettings = CType(resources.GetObject("C1Themen.PrintInfo.PageSettings"), System.Drawing.Printing.PageSettings) + Me.C1Themen.Size = New System.Drawing.Size(666, 293) + Me.C1Themen.TabAction = C1.Win.C1TrueDBGrid.TabActionEnum.ColumnNavigation + Me.C1Themen.TabIndex = 10 + Me.C1Themen.Text = "C1TrueDBGrid1" + Me.C1Themen.PropBag = resources.GetString("C1Themen.PropBag") + ' + 'ctxMenuThemen + ' + Me.ctxMenuThemen.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ThemaAnzeigenbearbeitenToolStripMenuItem, Me.NeuesThemaEröffnenToolStripMenuItem}) + Me.ctxMenuThemen.Name = "ctxMenuThemen" + Me.ctxMenuThemen.Size = New System.Drawing.Size(223, 48) + ' + 'ThemaAnzeigenbearbeitenToolStripMenuItem + ' + Me.ThemaAnzeigenbearbeitenToolStripMenuItem.Name = "ThemaAnzeigenbearbeitenToolStripMenuItem" + Me.ThemaAnzeigenbearbeitenToolStripMenuItem.Size = New System.Drawing.Size(222, 22) + Me.ThemaAnzeigenbearbeitenToolStripMenuItem.Text = "&Thema anzeigen/bearbeiten" + ' + 'NeuesThemaEröffnenToolStripMenuItem + ' + Me.NeuesThemaEröffnenToolStripMenuItem.Name = "NeuesThemaEröffnenToolStripMenuItem" + Me.NeuesThemaEröffnenToolStripMenuItem.Size = New System.Drawing.Size(222, 22) + Me.NeuesThemaEröffnenToolStripMenuItem.Text = "&Neues Thema eröffnen" + ' + 'TabControl1 + ' + Me.TabControl1.Controls.Add(Me.TabPage1) + Me.TabControl1.Controls.Add(Me.TabPage4) + Me.TabControl1.Controls.Add(Me.Personen) + Me.TabControl1.Controls.Add(Me.TabPage2) + Me.TabControl1.Controls.Add(Me.TabPage3) + 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(666, 253) + Me.TabControl1.TabIndex = 0 + ' + 'TabPage1 + ' + Me.TabPage1.BackColor = System.Drawing.SystemColors.Control + Me.TabPage1.Controls.Add(Me.txtGueltigab) + Me.TabPage1.Controls.Add(Me.txtGueltigBis) + Me.TabPage1.Controls.Add(Me.txtMutierer) + Me.TabPage1.Controls.Add(Me.Label5) + Me.TabPage1.Controls.Add(Me.Label4) + Me.TabPage1.Controls.Add(Me.txtKategorie) + Me.TabPage1.Controls.Add(Me.cbaktiv) + Me.TabPage1.Controls.Add(Me.Label1) + Me.TabPage1.Controls.Add(Me.Label11) + Me.TabPage1.Controls.Add(Me.txtBeschreibung) + Me.TabPage1.Controls.Add(Me.Label2) + Me.TabPage1.Controls.Add(Me.Label3) + Me.TabPage1.Controls.Add(Me.txtmutiert_am) + Me.TabPage1.Controls.Add(Me.txtSuchbegriffe) + Me.TabPage1.Controls.Add(Me.Label9) + Me.TabPage1.Controls.Add(Me.txtTitel) + Me.TabPage1.Controls.Add(Me.txterstellt_am) + Me.TabPage1.Controls.Add(Me.Label6) + Me.TabPage1.Controls.Add(Me.Label8) + Me.TabPage1.Controls.Add(Me.Label7) + Me.TabPage1.Location = New System.Drawing.Point(4, 22) + Me.TabPage1.Name = "TabPage1" + Me.TabPage1.Padding = New System.Windows.Forms.Padding(3) + Me.TabPage1.Size = New System.Drawing.Size(658, 227) + Me.TabPage1.TabIndex = 0 + Me.TabPage1.Text = "Allgemein" + ' + 'txtGueltigab + ' + Me.txtGueltigab.ForeColor = System.Drawing.SystemColors.ControlLightLight + Me.txtGueltigab.Location = New System.Drawing.Point(76, 58) + Me.txtGueltigab.Name = "txtGueltigab" + Me.txtGueltigab.ReadOnly = True + Me.txtGueltigab.Size = New System.Drawing.Size(91, 20) + Me.txtGueltigab.TabIndex = 44 + ' + 'txtGueltigBis + ' + Me.txtGueltigBis.ForeColor = System.Drawing.SystemColors.ControlLightLight + Me.txtGueltigBis.Location = New System.Drawing.Point(230, 57) + Me.txtGueltigBis.Name = "txtGueltigBis" + Me.txtGueltigBis.ReadOnly = True + Me.txtGueltigBis.Size = New System.Drawing.Size(91, 20) + Me.txtGueltigBis.TabIndex = 43 + ' + 'txtMutierer + ' + Me.txtMutierer.ForeColor = System.Drawing.SystemColors.ControlLightLight + Me.txtMutierer.Location = New System.Drawing.Point(76, 139) + Me.txtMutierer.Name = "txtMutierer" + Me.txtMutierer.ReadOnly = True + Me.txtMutierer.Size = New System.Drawing.Size(91, 20) + Me.txtMutierer.TabIndex = 42 + ' + 'Label5 + ' + Me.Label5.AutoSize = True + Me.Label5.Location = New System.Drawing.Point(4, 142) + Me.Label5.Name = "Label5" + Me.Label5.Size = New System.Drawing.Size(69, 13) + Me.Label5.TabIndex = 41 + Me.Label5.Text = "Mutiert durch" + ' + 'Label4 + ' + Me.Label4.AutoSize = True + Me.Label4.Location = New System.Drawing.Point(4, 35) + Me.Label4.Name = "Label4" + Me.Label4.Size = New System.Drawing.Size(52, 13) + Me.Label4.TabIndex = 39 + Me.Label4.Text = "Kategorie" + ' + 'txtKategorie + ' + Me.txtKategorie.ForeColor = System.Drawing.SystemColors.ControlLightLight + Me.txtKategorie.Location = New System.Drawing.Point(76, 32) + Me.txtKategorie.Name = "txtKategorie" + Me.txtKategorie.ReadOnly = True + Me.txtKategorie.Size = New System.Drawing.Size(245, 20) + Me.txtKategorie.TabIndex = 40 + ' + 'cbaktiv + ' + Me.cbaktiv.AutoSize = True + Me.cbaktiv.Enabled = False + Me.cbaktiv.Location = New System.Drawing.Point(207, 94) + Me.cbaktiv.Name = "cbaktiv" + Me.cbaktiv.Size = New System.Drawing.Size(15, 14) + Me.cbaktiv.TabIndex = 38 + Me.cbaktiv.UseVisualStyleBackColor = True + ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.Location = New System.Drawing.Point(4, 9) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(27, 13) + Me.Label1.TabIndex = 23 + Me.Label1.Text = "Titel" + ' + 'Label11 + ' + Me.Label11.AutoSize = True + Me.Label11.Location = New System.Drawing.Point(230, 93) + Me.Label11.Name = "Label11" + Me.Label11.Size = New System.Drawing.Size(31, 13) + Me.Label11.TabIndex = 37 + Me.Label11.Text = "Aktiv" + ' + 'txtBeschreibung + ' + Me.txtBeschreibung.ForeColor = System.Drawing.SystemColors.ControlLightLight + Me.txtBeschreibung.Location = New System.Drawing.Point(401, 6) + Me.txtBeschreibung.Multiline = True + Me.txtBeschreibung.Name = "txtBeschreibung" + Me.txtBeschreibung.ReadOnly = True + Me.txtBeschreibung.Size = New System.Drawing.Size(245, 66) + Me.txtBeschreibung.TabIndex = 26 + ' + 'Label2 + ' + Me.Label2.AutoSize = True + Me.Label2.Location = New System.Drawing.Point(329, 8) + Me.Label2.Name = "Label2" + Me.Label2.Size = New System.Drawing.Size(72, 13) + Me.Label2.TabIndex = 25 + Me.Label2.Text = "Beschreibung" + ' + 'Label3 + ' + Me.Label3.AutoSize = True + Me.Label3.Location = New System.Drawing.Point(329, 81) + Me.Label3.Name = "Label3" + Me.Label3.Size = New System.Drawing.Size(67, 13) + Me.Label3.TabIndex = 27 + Me.Label3.Text = "Suchbegriffe" + ' + 'txtmutiert_am + ' + Me.txtmutiert_am.ForeColor = System.Drawing.SystemColors.ControlLightLight + Me.txtmutiert_am.Location = New System.Drawing.Point(76, 113) + Me.txtmutiert_am.Name = "txtmutiert_am" + Me.txtmutiert_am.ReadOnly = True + Me.txtmutiert_am.Size = New System.Drawing.Size(91, 20) + Me.txtmutiert_am.TabIndex = 36 + ' + 'txtSuchbegriffe + ' + Me.txtSuchbegriffe.ForeColor = System.Drawing.SystemColors.ControlLightLight + Me.txtSuchbegriffe.Location = New System.Drawing.Point(401, 79) + Me.txtSuchbegriffe.Multiline = True + Me.txtSuchbegriffe.Name = "txtSuchbegriffe" + Me.txtSuchbegriffe.ReadOnly = True + Me.txtSuchbegriffe.Size = New System.Drawing.Size(245, 66) + Me.txtSuchbegriffe.TabIndex = 28 + ' + 'Label9 + ' + Me.Label9.AutoSize = True + Me.Label9.Location = New System.Drawing.Point(4, 116) + Me.Label9.Name = "Label9" + Me.Label9.Size = New System.Drawing.Size(56, 13) + Me.Label9.TabIndex = 35 + Me.Label9.Text = "Mutiert am" + ' + 'txtTitel + ' + Me.txtTitel.ForeColor = System.Drawing.SystemColors.ControlLightLight + Me.txtTitel.Location = New System.Drawing.Point(76, 6) + Me.txtTitel.Name = "txtTitel" + Me.txtTitel.ReadOnly = True + Me.txtTitel.Size = New System.Drawing.Size(245, 20) + Me.txtTitel.TabIndex = 24 + ' + 'txterstellt_am + ' + Me.txterstellt_am.ForeColor = System.Drawing.SystemColors.ControlLightLight + Me.txterstellt_am.Location = New System.Drawing.Point(76, 88) + Me.txterstellt_am.Name = "txterstellt_am" + Me.txterstellt_am.ReadOnly = True + Me.txterstellt_am.Size = New System.Drawing.Size(91, 20) + Me.txterstellt_am.TabIndex = 34 + ' + 'Label6 + ' + Me.Label6.AutoSize = True + Me.Label6.Location = New System.Drawing.Point(4, 65) + Me.Label6.Name = "Label6" + Me.Label6.Size = New System.Drawing.Size(49, 13) + Me.Label6.TabIndex = 29 + Me.Label6.Text = "Gültig ab" + ' + 'Label8 + ' + Me.Label8.AutoSize = True + Me.Label8.Location = New System.Drawing.Point(4, 91) + Me.Label8.Name = "Label8" + Me.Label8.Size = New System.Drawing.Size(55, 13) + Me.Label8.TabIndex = 33 + Me.Label8.Text = "Erstellt am" + ' + 'Label7 + ' + Me.Label7.AutoSize = True + Me.Label7.Location = New System.Drawing.Point(204, 64) + Me.Label7.Name = "Label7" + Me.Label7.Size = New System.Drawing.Size(20, 13) + Me.Label7.TabIndex = 32 + Me.Label7.Text = "bis" + ' + 'TabPage4 + ' + Me.TabPage4.BackColor = System.Drawing.SystemColors.Control + Me.TabPage4.Controls.Add(Me.txtIssueBemerkung) + Me.TabPage4.Controls.Add(Me.Label12) + Me.TabPage4.Controls.Add(Me.cbboxissueveraenderung) + Me.TabPage4.Controls.Add(Me.lblRelevanzVeraenderung) + Me.TabPage4.Controls.Add(Me.cbboxRelevanzTKB) + Me.TabPage4.Controls.Add(Me.lblRelevanzTKB) + Me.TabPage4.Controls.Add(Me.cbissue) + Me.TabPage4.Controls.Add(Me.lblIssue) + Me.TabPage4.Location = New System.Drawing.Point(4, 22) + Me.TabPage4.Name = "TabPage4" + Me.TabPage4.Size = New System.Drawing.Size(658, 227) + Me.TabPage4.TabIndex = 4 + Me.TabPage4.Text = "Issue" + ' + 'txtIssueBemerkung + ' + Me.txtIssueBemerkung.Enabled = False + Me.txtIssueBemerkung.Location = New System.Drawing.Point(134, 107) + Me.txtIssueBemerkung.Multiline = True + Me.txtIssueBemerkung.Name = "txtIssueBemerkung" + Me.txtIssueBemerkung.Size = New System.Drawing.Size(497, 98) + Me.txtIssueBemerkung.TabIndex = 38 + ' + 'Label12 + ' + Me.Label12.AutoSize = True + Me.Label12.Location = New System.Drawing.Point(12, 110) + Me.Label12.Name = "Label12" + Me.Label12.Size = New System.Drawing.Size(61, 13) + Me.Label12.TabIndex = 37 + Me.Label12.Text = "Bemerkung" + ' + 'cbboxissueveraenderung + ' + Me.cbboxissueveraenderung.Enabled = False + Me.cbboxissueveraenderung.FormattingEnabled = True + Me.cbboxissueveraenderung.Location = New System.Drawing.Point(134, 73) + Me.cbboxissueveraenderung.Name = "cbboxissueveraenderung" + Me.cbboxissueveraenderung.Size = New System.Drawing.Size(121, 21) + Me.cbboxissueveraenderung.TabIndex = 36 + ' + 'lblRelevanzVeraenderung + ' + Me.lblRelevanzVeraenderung.AutoSize = True + Me.lblRelevanzVeraenderung.Location = New System.Drawing.Point(12, 76) + Me.lblRelevanzVeraenderung.Name = "lblRelevanzVeraenderung" + Me.lblRelevanzVeraenderung.Size = New System.Drawing.Size(116, 13) + Me.lblRelevanzVeraenderung.TabIndex = 35 + Me.lblRelevanzVeraenderung.Text = "Relevanz Veränderung" + ' + 'cbboxRelevanzTKB + ' + Me.cbboxRelevanzTKB.Enabled = False + Me.cbboxRelevanzTKB.FormattingEnabled = True + Me.cbboxRelevanzTKB.Location = New System.Drawing.Point(134, 44) + Me.cbboxRelevanzTKB.Name = "cbboxRelevanzTKB" + Me.cbboxRelevanzTKB.Size = New System.Drawing.Size(121, 21) + Me.cbboxRelevanzTKB.TabIndex = 34 + ' + 'lblRelevanzTKB + ' + Me.lblRelevanzTKB.AutoSize = True + Me.lblRelevanzTKB.Location = New System.Drawing.Point(12, 47) + Me.lblRelevanzTKB.Name = "lblRelevanzTKB" + Me.lblRelevanzTKB.Size = New System.Drawing.Size(76, 13) + Me.lblRelevanzTKB.TabIndex = 33 + Me.lblRelevanzTKB.Text = "Relevanz TKB" + ' + 'cbissue + ' + Me.cbissue.AutoSize = True + Me.cbissue.Enabled = False + Me.cbissue.Location = New System.Drawing.Point(134, 13) + Me.cbissue.Name = "cbissue" + Me.cbissue.Size = New System.Drawing.Size(15, 14) + Me.cbissue.TabIndex = 32 + Me.cbissue.UseVisualStyleBackColor = True + ' + 'lblIssue + ' + Me.lblIssue.AutoSize = True + Me.lblIssue.Location = New System.Drawing.Point(12, 14) + Me.lblIssue.Name = "lblIssue" + Me.lblIssue.Size = New System.Drawing.Size(32, 13) + Me.lblIssue.TabIndex = 31 + Me.lblIssue.Text = "Isuse" + ' + 'Personen + ' + Me.Personen.Controls.Add(Me.ThemaPerson1) + Me.Personen.Location = New System.Drawing.Point(4, 22) + Me.Personen.Name = "Personen" + Me.Personen.Size = New System.Drawing.Size(658, 227) + Me.Personen.TabIndex = 3 + Me.Personen.Text = "Personen" + Me.Personen.UseVisualStyleBackColor = True + ' + 'ThemaPerson1 + ' + Me.ThemaPerson1.ConnectionString = Nothing + Me.ThemaPerson1.Dock = System.Windows.Forms.DockStyle.Fill + Me.ThemaPerson1.Doktype = 0 + Me.ThemaPerson1.Location = New System.Drawing.Point(0, 0) + Me.ThemaPerson1.Mitarbeiternr = 0 + Me.ThemaPerson1.Name = "ThemaPerson1" + Me.ThemaPerson1.Size = New System.Drawing.Size(658, 227) + Me.ThemaPerson1.TabIndex = 0 + Me.ThemaPerson1.TempFilePath = Nothing + Me.ThemaPerson1.ThemaNr = 0 + ' + 'TabPage2 + ' + Me.TabPage2.Controls.Add(Me.TreeEntwicklung) + Me.TabPage2.Location = New System.Drawing.Point(4, 22) + Me.TabPage2.Name = "TabPage2" + Me.TabPage2.Size = New System.Drawing.Size(658, 227) + Me.TabPage2.TabIndex = 1 + Me.TabPage2.Text = "Entwicklung" + Me.TabPage2.UseVisualStyleBackColor = True + ' + 'TreeEntwicklung + ' + Me.TreeEntwicklung.Dock = System.Windows.Forms.DockStyle.Fill + Me.TreeEntwicklung.ImageIndex = 0 + Me.TreeEntwicklung.ImageList = Me.ImageList2 + Me.TreeEntwicklung.Location = New System.Drawing.Point(0, 0) + Me.TreeEntwicklung.Name = "TreeEntwicklung" + Me.TreeEntwicklung.SelectedImageIndex = 0 + Me.TreeEntwicklung.Size = New System.Drawing.Size(658, 227) + Me.TreeEntwicklung.TabIndex = 0 + ' + 'ImageList2 + ' + Me.ImageList2.ImageStream = CType(resources.GetObject("ImageList2.ImageStream"), System.Windows.Forms.ImageListStreamer) + Me.ImageList2.TransparentColor = System.Drawing.Color.Transparent + Me.ImageList2.Images.SetKeyName(0, "write-document-icon.png") + Me.ImageList2.Images.SetKeyName(1, "Architecture-info-icon.png") + Me.ImageList2.Images.SetKeyName(2, "Actions-layer-visible-on-icon.png") + ' + 'TabPage3 + ' + Me.TabPage3.Controls.Add(Me.TreeKommunikation) + Me.TabPage3.Location = New System.Drawing.Point(4, 22) + Me.TabPage3.Name = "TabPage3" + Me.TabPage3.Size = New System.Drawing.Size(658, 227) + Me.TabPage3.TabIndex = 2 + Me.TabPage3.Text = "Kommunikation" + Me.TabPage3.UseVisualStyleBackColor = True + ' + 'TreeKommunikation + ' + Me.TreeKommunikation.Dock = System.Windows.Forms.DockStyle.Fill + Me.TreeKommunikation.ImageIndex = 0 + Me.TreeKommunikation.ImageList = Me.ImageList2 + Me.TreeKommunikation.Location = New System.Drawing.Point(0, 0) + Me.TreeKommunikation.Name = "TreeKommunikation" + Me.TreeKommunikation.SelectedImageIndex = 0 + Me.TreeKommunikation.Size = New System.Drawing.Size(658, 227) + Me.TreeKommunikation.TabIndex = 0 + ' + 'ctxMenuTree + ' + Me.ctxMenuTree.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.NeuesThemaEröffnenToolStripMenuItem1}) + Me.ctxMenuTree.Name = "ctxMenuTree" + Me.ctxMenuTree.Size = New System.Drawing.Size(196, 26) + ' + 'NeuesThemaEröffnenToolStripMenuItem1 + ' + Me.NeuesThemaEröffnenToolStripMenuItem1.Name = "NeuesThemaEröffnenToolStripMenuItem1" + Me.NeuesThemaEröffnenToolStripMenuItem1.Size = New System.Drawing.Size(195, 22) + Me.NeuesThemaEröffnenToolStripMenuItem1.Text = "Neues Thema eröffnen" + ' + 'frmThemenübersicht + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(1003, 599) + Me.Controls.Add(Me.SplitContainer1) + Me.Controls.Add(Me.ToolStrip1) + Me.Controls.Add(Me.MenuStrip1) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.Name = "frmThemenübersicht" + Me.Text = "Themenübersicht" + Me.ToolStrip1.ResumeLayout(False) + Me.ToolStrip1.PerformLayout() + Me.MenuStrip1.ResumeLayout(False) + Me.MenuStrip1.PerformLayout() + Me.SplitContainer1.Panel1.ResumeLayout(False) + Me.SplitContainer1.Panel2.ResumeLayout(False) + CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).EndInit() + Me.SplitContainer1.ResumeLayout(False) + Me.SplitContainer2.Panel1.ResumeLayout(False) + Me.SplitContainer2.Panel2.ResumeLayout(False) + CType(Me.SplitContainer2, System.ComponentModel.ISupportInitialize).EndInit() + Me.SplitContainer2.ResumeLayout(False) + CType(Me.C1Themen, System.ComponentModel.ISupportInitialize).EndInit() + Me.ctxMenuThemen.ResumeLayout(False) + Me.TabControl1.ResumeLayout(False) + Me.TabPage1.ResumeLayout(False) + Me.TabPage1.PerformLayout() + Me.TabPage4.ResumeLayout(False) + Me.TabPage4.PerformLayout() + Me.Personen.ResumeLayout(False) + Me.TabPage2.ResumeLayout(False) + Me.TabPage3.ResumeLayout(False) + Me.ctxMenuTree.ResumeLayout(False) + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents ToolStrip1 As System.Windows.Forms.ToolStrip + Friend WithEvents TSBtnQuit As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripSeparator1 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents TsBtnSuchArt As System.Windows.Forms.ToolStripDropDownButton + Friend WithEvents ApplikationSucheToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents tstxtsuche As System.Windows.Forms.ToolStripTextBox + Friend WithEvents TSBtnSuche As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnFilterAufheben As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnFirst As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnNext As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnPrevious As System.Windows.Forms.ToolStripButton + Friend WithEvents TSBtnLast As System.Windows.Forms.ToolStripButton + Friend WithEvents MenuStrip1 As System.Windows.Forms.MenuStrip + Friend WithEvents DateiToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents SplitContainer1 As System.Windows.Forms.SplitContainer + Friend WithEvents TreeKategorien As System.Windows.Forms.TreeView + Friend WithEvents SplitContainer2 As System.Windows.Forms.SplitContainer + Friend WithEvents TabControl1 As System.Windows.Forms.TabControl + Friend WithEvents TabPage1 As System.Windows.Forms.TabPage + Friend WithEvents cbaktiv As System.Windows.Forms.CheckBox + Friend WithEvents Label1 As System.Windows.Forms.Label + Friend WithEvents Label11 As System.Windows.Forms.Label + Friend WithEvents txtBeschreibung As System.Windows.Forms.TextBox + Friend WithEvents Label2 As System.Windows.Forms.Label + Friend WithEvents Label3 As System.Windows.Forms.Label + Friend WithEvents txtmutiert_am As System.Windows.Forms.TextBox + Friend WithEvents txtSuchbegriffe As System.Windows.Forms.TextBox + Friend WithEvents Label9 As System.Windows.Forms.Label + Friend WithEvents txtTitel As System.Windows.Forms.TextBox + Friend WithEvents txterstellt_am As System.Windows.Forms.TextBox + Friend WithEvents Label6 As System.Windows.Forms.Label + Friend WithEvents Label8 As System.Windows.Forms.Label + Friend WithEvents Label7 As System.Windows.Forms.Label + Friend WithEvents txtMutierer As System.Windows.Forms.TextBox + Friend WithEvents Label5 As System.Windows.Forms.Label + Friend WithEvents Label4 As System.Windows.Forms.Label + Friend WithEvents txtKategorie As System.Windows.Forms.TextBox + Friend WithEvents ImageList1 As System.Windows.Forms.ImageList + Friend WithEvents C1Themen As C1.Win.C1TrueDBGrid.C1TrueDBGrid + Friend WithEvents ctxMenuThemen As System.Windows.Forms.ContextMenuStrip + Friend WithEvents ThemaAnzeigenbearbeitenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents NeuesThemaEröffnenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents tsbtnrefresh As System.Windows.Forms.ToolStripButton + Friend WithEvents txtGueltigab As System.Windows.Forms.TextBox + Friend WithEvents txtGueltigBis As System.Windows.Forms.TextBox + Friend WithEvents TabPage2 As System.Windows.Forms.TabPage + Friend WithEvents TreeEntwicklung As System.Windows.Forms.TreeView + Friend WithEvents ImageList2 As System.Windows.Forms.ImageList + Friend WithEvents TabPage3 As System.Windows.Forms.TabPage + Friend WithEvents TreeKommunikation As System.Windows.Forms.TreeView + Friend WithEvents Personen As System.Windows.Forms.TabPage + Friend WithEvents ThemaPerson1 As ThemaPerson.ThemaPerson + Friend WithEvents ToolStripButton2 As System.Windows.Forms.ToolStripButton + Friend WithEvents ToolStripSeparator2 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents TSBtnNew As System.Windows.Forms.ToolStripButton + Friend WithEvents TabPage4 As System.Windows.Forms.TabPage + Friend WithEvents txtIssueBemerkung As System.Windows.Forms.TextBox + Friend WithEvents Label12 As System.Windows.Forms.Label + Friend WithEvents cbboxissueveraenderung As System.Windows.Forms.ComboBox + Friend WithEvents lblRelevanzVeraenderung As System.Windows.Forms.Label + Friend WithEvents cbboxRelevanzTKB As System.Windows.Forms.ComboBox + Friend WithEvents lblRelevanzTKB As System.Windows.Forms.Label + Friend WithEvents cbissue As System.Windows.Forms.CheckBox + Friend WithEvents lblIssue As System.Windows.Forms.Label + Friend WithEvents ToolStripSeparator3 As System.Windows.Forms.ToolStripSeparator + Friend WithEvents ctxMenuTree As ContextMenuStrip + Friend WithEvents NeuesThemaEröffnenToolStripMenuItem1 As ToolStripMenuItem +End Class diff --git a/Themenmanagement/Themenmanagement/Uebersichten/frmThemenübersicht.resx b/Themenmanagement/Themenmanagement/Uebersichten/frmThemenübersicht.resx new file mode 100644 index 0000000..516f614 --- /dev/null +++ b/Themenmanagement/Themenmanagement/Uebersichten/frmThemenübersicht.resx @@ -0,0 +1,7657 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 239, 17 + + + + + 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 + TgDQASA1MVpwzwAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACpSURBVFhH7ZLhCoQwDIP36Hu0vdl5DU7GbFx6KtyPfhBQ + 26aBWpIkEfhMYqh9YVRjtS+Maqz2hVGN1T6Z2RCqtULfZzC8M/0GMx2+d45QZCYMjFprzPCkvnwxIwMT + Qw1g6iG82i4ZKYCwcJYMjFcneDXAS5Lxhp+QzOoEDNQvTiMDg4ufkIG6BSfhZf4jwJ0T3A5gIstNjKMn + GPyENzyK4fWOSpIkcShlA/2ShGAugX0dAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEeSURBVFhH7ZJbEoMwCEVduktzZy0XIRKCkSbt9CdnPIyG + R+LotlhkedFlleUUo30NdlB22EiPB02sDlE5e4FnK0KvPg0aWR2kcvYCz0XkrSgYBc1FDLOiQMA9qzmV + sxNgQBEDrSgQcN/LfwyaGylU7vvORjnpGUOHerFON5XRmun5GB54HEd5My+FrlEPmeZ8I2LkAFG9mObx + AJBCdmM1DW/c+wSQwu8O8CSF0KjWmCZqZil0jXqMacJPQMFvhuDXuOfm06XhAfYnpOA3KvgcDn7z/6Sp + DoChVqkp+PzXDoAhGGhF7iy5sHmovVMHgBQqdR0FHq1Rg81hmmoYxJqxATXWc6kxB1X6YY+M9ITMDJrp + bZqhpNLM9i8Wf2Lb3g1pbK07+OH0AAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHxSURBVDhPYxgFGICxpbF5o6ur6wNjY2MuqBiDhYWFkI+3 + 94PO9vYFUCFMkJ+fr1BUUNCVlJD439zM/L+ZsXGAoaGhr5ubmwfQgGgLoFhaSsr/6srKtubqZlmoNghY + PG+x0bIlS79ER0b9t7e1++/u6vbfzMT0X3BwyP+4uASQgf9AYiC5/Ny8/2vXrv24bNkybah2BoaF8xau + q6+t+29na/tfQ139P8g2K0ur/yUlJZ+Li4q/wvi21jb/y0pK/q9cvuL/7h27FoM1L5o717ykuPhPVVnJ + /+DAgP/iYmL/tTQ0wYpNDA13AvEROxvb/04Ojv9NjU3+JyfE/6+tKP9fWlLyZ9miReYMzg726wIMFf/n + e5r8b0iP/G9jpPffxsr6f3dn139zE/OF1hYWa6ZMmvw/LCT0v5m26v8wE6X/1RFu/2szY//b2FiuZTCT + Ef2ZZybxv99H43+bt/b/aDOF/5qamjuszK0y9fT0xLS0tCQszCzS9bS1twXoy/5vcFX9PznY4H+dm9p/ + XVHRnwyaKipHOtwU/+9LNfm/KETzv5+BIsiAALD/kICamlpAoLEyWA1IbYer4n9VBfmjDOrq6lKOpvpr + CpyN3uX629/z9vAogOrBADZWVoVp3tYP6kOtPwS7OazT19eXhkoNXcDAAABOd8o32QfH6gAAAABJRU5E + rkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAK9SURBVDhPfVNtSFNRGL53OmHsQ93mds3pnUkR/VCIojDF + SoxULOpXmh+VEFb0IZmpQQlGmSnkx0yaTQ3SsnLOhHD50ZaSWX8KUSE/CiLQsj/9CFrep3PONjSyHng5 + 5z3v87z3vO97LrcKEjmlrkUWlzQjS8nzyHYTI3t6xmL/gY5X6+3y1EJJdbEH2spB6Gvc0Fe7EHrFCVVx + F+R7zkqE0025XskyDDLDhklNgQ0RN4Yg3nQjqmYIkVUDMF11IqLiKSLKe2Es6YIq1wKZIWaKarxSAl4t + 9GtPtkGsH4FY64a5YQTRTWOItr5hZm4cZcnCy7ohFD9CcFYdeLWx3yfn9qkzSn3iF4zMxKuYWDcM4cJj + GM60Q7njFKiW45WCg16TXlusHUbGg7coGZyGmSYkAr/l9Uwg0z5OSnsOw+l70OU3g1eSfgRt3LXgrzmq + egiuuUVQJDS/ZH5yyxhcHxYhSRLcZKVn4WV26I/ZIDfFz3Oa5ByJik3XnKRhfXDPfmUJ0myjuPP6I37+ + WmI+BY1RDm2o7qgVitikJU6TkivRBq253MvMPf2FkdtezbF1JWiM8S49gS6viSRIlzj55vR52oPwUjsE + MibX+3lGTqzuQ2nnGL59/8F8ChqjHOH8Q2izGxG0LnGBCwwTHXTOdDzGwg44xz+xejeVO5i/vug+rM53 + 8JBSBiY+s7Ow420IPVgPXiM42Bj1hyvZDWgg9lw79laQJhW0Mp8a3W8tbkd8WSfztdkWqHb6xkjAB4aZ + BoSiDu94jliJ3f6n0auHHKgiD0l4RsV+GAMi46YMp8hXT9yFNucWtJkNf1oWXesRsv86Agwxk0Sz/JR9 + 0PMaoyM4rVDSF7Swh8ISHbIQsYXUXAfl9nyJV+q6CPevn2klknhlaGvA2m2zCjHNoxBTPQHmLTO8QmMj + sQQvxQ+O+w0UG9zYwCvIHAAAAABJRU5ErkJggg== + + + + + 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 + Bsf9BvJ9y/Q7+ip/AAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAK7SURBVDhPfVNtSFNRGL53OmHsQ93mds3pnUkR/UiIojDF + SoxULOpXmh+VEFZYSWZqUIJRZgr5MZNmU4O0rJwzIVx+tKVk1p9CVMiPggi07E8/gpb36ZyzDY2sBx7O + fc/7PGfved8zbhUkcEpdiyw2cUaWnOuR7SEk33SP5f4DHa/W2+UphZLqYg+0lYPQ17ihr3Yh9IoTquIu + yPeelYimm2q9lmUYZIYNk5p8GyJuDEG86UZUzRAiqwZguupERMVTRJT3wljSBVWOBTJDzBT1eK0EvFro + 155qg1g/ArHWDXPDCKKbxhBtfcNobhxlh4WXdUMofoTgzDrwamO/z87tV6eX+swvmJiZV6FYNwzhwmMY + zrRDubMA1MvxSsFBy6Rli7XDyLCPI7dngon9NJPDSwankf7gLbnacxhO34Murxm8kvQjaOPuBf+do6qH + 4P6wCEmS4CJrUssY24tvfgkK19wii8PL7NAft0FuipvnNEnZEjWbrjlJw/rgnv3KxBQ/fy3hzuuPSLWN + spjmqIY2VHfMCsWmxCVOk5wj0QatudzL6J7+wsQr0fZqjq00x3SXnkCX20QOSJM4+Za0edqD8FI7BDIm + 1/t5Jqb49v0HSjvHkFDdx2Kaoxrh/ENosxoRtC5hgQsMEx10znQ8xsIODEx8hoeUbnW+w/qi+2xvc7mD + 9cU5/onFYSfaEHqoHrxGcLAx6o9UsgpoIq6sE9uK26HPb2UxJf3eV2FH7Ll2FmuzLFDt8o2RgA8MMw0I + RR3e8Ry1Et7+J2npIQeryEMSnlGzH8aAyNgpQwH51ZN3oc2+BW1Gw5/MpGs9Qg5cR4AhZpJ4lp+yD3pe + Y3QEpxZK+vwW9lDYQYctxGwhd66DckeexCt1XUT7159pJRJ5ZWhrwNrtswox1aMQUzwB5q0zvEJjI7l4 + r8QPjvsNWSfc2bvcdIgAAAAASUVORK5CYII= + + + + 346, 17 + + + 714, 17 + + + 461, 17 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w + LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 + ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAO + CgAAAk1TRnQBSQFMAgEBAwEAAcABAAHAAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo + AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA + AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 + AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA + AWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYCAAFm + AZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHMATMCAAHM + AWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEzAQABZgEA + ATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIzAf8BAAEz + AWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEzAQABMwGZ + AWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZAQABMwLM + AQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFmAQABMwEA + AWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFmATMBmQEA + AWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEzAQABZgGZ + AWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEAAWYBzAH/ + AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZATMBmQEA + AZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFmAgABmQFm + ATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZAcwBAAKZ + Af8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIAAZkB/wEz + AQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHMAQABmQEA + AcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHMAWYCAAHM + AWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZAWYBAAHM + ApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHMAf8CAAHM + Af8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/AQABmQEA + AcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFmATMBAAHM + AmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZAQAB/wGZ + AcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC/wEz + AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm + AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw + AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD/wEABP8I9Aj/CPQE/wkA + A/8UAAH/AfIB8AG8CAcBvAHwAfEB9AH/AfIB8AG8CAcBvAHwAfEB9AQAAv8B8wG8AgcC7wHxAv8RAAH/ + B3gBmAT/AwAB/wd4AZgE/wYAAf8BBwHtAa4BiwGSAvIB8AH3Ae0B8gH/EAAB8whWAfYGAAHzCFYB9gcA + Af8B8wHsAe8BtAGzAa0BiwH3AfMB8gG8ApIB/xAAAfMIVwH0Av8EAAHzCFcB9AL/BQAB8wHsAgcBtAFs + AWsBswGRAfMB8gEHAewBvAH/EAABGwhXA5AB/wMAARsIVwOQAf8DAAH/Au0B8gG7AZABbQEUAbMBtAHx + AQcB7AHvAf8RAAEbCFcBkAKzAfQDAAEbCFcBkAKzAfQDAAH/Ae8B7AHwAQkBuwHvAewBtAGRAQcB7AGS + Av8RAAH2CFcDswHyAv8BAAH2CFcDswHyAv8CAAH/Ae0B6wEHAwkBuwLrAe0B9AH/AfQUAAH0CLMBUgIx + AfQDAAH0CLMBUgIxAfQCAAH/AZIBbQHrAuwB6gFtAZIB9AH/AfAB/xQAAfQItAFSAjEBGwMAAfQItAFS + AjEBGwL/AQAB/wG8AewCbQHsAbwC/wG8AfMVAAH/AgkBuwS0AfcBMQIyARsDAAH/AgkBuwS0AfcBMQIy + ARsBAAHyAf8BAAL/AvQD/wIHAf8YAAH/CDIBGwYAAf8IMgEbAQAB/wHvAfQB/wMAAf8B9AH3Ae8B/xkA + Af8IOAEbBgAB/wg4ARsCAAH/Ae0B7wHyAfMB8gHvAW0B7wH/GwABmgd6Af8HAAGaB3oB/wMAAf8B7wFt + AeoBbQHsAbwB/zkAAf8B9AHxAfIB/1cAAUIBTQE+BwABPgMAASgDAAFAAwABEAMAAQEBAAEBBQABgBcA + A/8FAAH/AY8GAAHwAQEDAAEHAQABBwHgBAABPwEAAT8BgAQAAQ8BAAEPAYAEAAEHAQABBwEAAQEDAAEH + AQABBwEAAQEDAAEBAQABAQGAAQECAAHgAQAB4AEAAcABAQIAAeABAAHgAQABIAEDAgAB4AEAAeABAAGQ + AQMCAAH8AQAB/AEAAYcBBwIAAfwBAAH8AQABwAEPAgAB/gEAAf4BAAHgAR8CAAT/AfABfwIABv8CAAs= + + + + 571, 17 + + + + iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAA0SURBVChTdYkBCgAgDAL9/6eLIsd0eSCKhw/r9aCLtC88 + vAdHMEIXKUIUhMK76EfagglgA6CqHOQpL6GyAAAAAElFTkSuQmCC + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0 + dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAACRTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5QYWdlU2V0dGluZ3MHAAAAD3ByaW50ZXJTZXR0aW5ncwVjb2xvcglwYXBlclNp + emULcGFwZXJTb3VyY2URcHJpbnRlclJlc29sdXRpb24JbGFuZHNjYXBlB21hcmdpbnMEBAQEBAQEJ1N5 + c3RlbS5EcmF3aW5nLlByaW50aW5nLlByaW50ZXJTZXR0aW5ncwIAAAAgU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuVHJpU3RhdGUCAAAAIVN5c3RlbS5EcmF3aW5nLlByaW50aW5nLlBhcGVyU2l6ZQIAAAAjU3lz + dGVtLkRyYXdpbmcuUHJpbnRpbmcuUGFwZXJTb3VyY2UCAAAAKVN5c3RlbS5EcmF3aW5nLlByaW50aW5n + LlByaW50ZXJSZXNvbHV0aW9uAgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAf + U3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuTWFyZ2lucwIAAAACAAAACQMAAAAF/P///yBTeXN0ZW0uRHJh + d2luZy5QcmludGluZy5UcmlTdGF0ZQEAAAAFdmFsdWUAAgIAAAAACgoKAfv////8////AAkGAAAABQMA + AAAnU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRlclNldHRpbmdzEgAAAAtwcmludGVyTmFtZQpk + cml2ZXJOYW1lCm91dHB1dFBvcnQLcHJpbnRUb0ZpbGUUcHJpbnREaWFsb2dEaXNwbGF5ZWQKZXh0cmFi + eXRlcwlleHRyYWluZm8GY29waWVzBmR1cGxleAdjb2xsYXRlE2RlZmF1bHRQYWdlU2V0dGluZ3MIZnJv + bVBhZ2UGdG9QYWdlB21heFBhZ2UHbWluUGFnZQpwcmludFJhbmdlDGRldm1vZGVieXRlcw1jYWNoZWRE + ZXZtb2RlAQEBAAAABwAEBAQAAAAABAAHAQEHAgceU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuRHVwbGV4 + AgAAACBTeXN0ZW0uRHJhd2luZy5QcmludGluZy5UcmlTdGF0ZQIAAAAkU3lzdGVtLkRyYXdpbmcuUHJp + bnRpbmcuUGFnZVNldHRpbmdzAgAAAAgICAgiU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcuUHJpbnRSYW5n + ZQIAAAAHAgIAAAAKBgcAAAAACQcAAAAAAAAACv//Bfj///8eU3lzdGVtLkRyYXdpbmcuUHJpbnRpbmcu + RHVwbGV4AQAAAAd2YWx1ZV9fAAgCAAAA/////wH3/////P///wAJCgAAAAAAAAAAAAAADycAAAAAAAAF + 9f///yJTeXN0ZW0uRHJhd2luZy5QcmludGluZy5QcmludFJhbmdlAQAAAAd2YWx1ZV9fAAgCAAAAAAAA + AAAACgUGAAAAH1N5c3RlbS5EcmF3aW5nLlByaW50aW5nLk1hcmdpbnMIAAAABGxlZnQFcmlnaHQDdG9w + BmJvdHRvbQpkb3VibGVMZWZ0C2RvdWJsZVJpZ2h0CWRvdWJsZVRvcAxkb3VibGVCb3R0b20AAAAAAAAA + AAgICAgGBgYGAgAAAGQAAABkAAAAZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZ + QAEKAAAAAQAAAAkDAAAAAfP////8////AAoKCgHy/////P///wAJDwAAAAEPAAAABgAAAGQAAABkAAAA + ZAAAAGQAAAAAAAAAAABZQAAAAAAAAFlAAAAAAAAAWUAAAAAAAABZQAs= + + + + <?xml version="1.0"?><Blob><Styles type="C1.Win.C1TrueDBGrid.Design.ContextWrapper"><Data>HighlightRow{ForeColor:HighlightText;BackColor:Highlight;}Style8{}Style7{}Style2{}EvenRow{BackColor:White;}Normal{}RecordSelector{AlignImage:Center;}Style4{}OddRow{BackColor:224, 224, 224;}Style3{}Footer{}Style14{}FilterBar{BackColor:255, 255, 192;}Heading{AlignVert:Center;Border:Flat,ControlDark,0, 1, 0, 1;Wrap:True;BackColor:Control;ForeColor:ControlText;}Style5{}Editor{}Style10{AlignHorz:Near;}Style16{}Selected{ForeColor:HighlightText;BackColor:Highlight;}Style15{}Style13{}Style12{}Style11{}Group{Border:None,,0, 0, 0, 0;AlignVert:Center;BackColor:ControlDark;}Style9{}FilterWatermark{ForeColor:InfoText;BackColor:Info;}Style1{}Caption{AlignHorz:Center;}Style6{}Inactive{ForeColor:InactiveCaptionText;BackColor:InactiveCaption;}</Data></Styles><Splits><C1.Win.C1TrueDBGrid.MergeView Name="" AlternatingRowStyle="True" CaptionHeight="17" ColumnCaptionHeight="17" ColumnFooterHeight="17" FetchRowStyles="True" FilterBar="True" MarqueeStyle="DottedCellBorder" RecordSelectorWidth="17" DefRecSelWidth="17" VerticalScrollGroup="1" HorizontalScrollGroup="1"><CaptionStyle parent="Style2" me="Style10" /><EditorStyle parent="Editor" me="Style5" /><EvenRowStyle parent="EvenRow" me="Style8" /><FilterBarStyle parent="FilterBar" me="Style13" /><FilterWatermarkStyle parent="FilterWatermark" me="Style14" /><FooterStyle parent="Footer" me="Style3" /><GroupStyle parent="Group" me="Style12" /><HeadingStyle parent="Heading" me="Style2" /><HighLightRowStyle parent="HighlightRow" me="Style7" /><InactiveStyle parent="Inactive" me="Style4" /><OddRowStyle parent="OddRow" me="Style9" /><RecordSelectorStyle parent="RecordSelector" me="Style11" /><SelectedStyle parent="Selected" me="Style6" /><Style parent="Normal" me="Style1" /><ClientRect>0, 0, 664, 291</ClientRect><BorderSide>0</BorderSide></C1.Win.C1TrueDBGrid.MergeView></Splits><NamedStyles><Style parent="" me="Normal" /><Style parent="Normal" me="Heading" /><Style parent="Heading" me="Footer" /><Style parent="Heading" me="Caption" /><Style parent="Heading" me="Inactive" /><Style parent="Normal" me="Selected" /><Style parent="Normal" me="Editor" /><Style parent="Normal" me="HighlightRow" /><Style parent="Normal" me="EvenRow" /><Style parent="Normal" me="OddRow" /><Style parent="Heading" me="RecordSelector" /><Style parent="Normal" me="FilterBar" /><Style parent="FilterBar" me="FilterWatermark" /><Style parent="Caption" me="Group" /></NamedStyles><vertSplits>1</vertSplits><horzSplits>1</horzSplits><Layout>None</Layout><DefaultRecSelWidth>17</DefaultRecSelWidth><ClientArea>0, 0, 664, 291</ClientArea><PrintPageHeaderStyle parent="" me="Style15" /><PrintPageFooterStyle parent="" me="Style16" /></Blob> + + + 836, 17 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w + LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 + ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAB2 + CwAAAk1TRnQBSQFMAgEBAwEAAcABAAHAAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo + AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA + AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 + AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA + AWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYCAAFm + AZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHMATMCAAHM + AWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEzAQABZgEA + ATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIzAf8BAAEz + AWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEzAQABMwGZ + AWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZAQABMwLM + AQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFmAQABMwEA + AWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFmATMBmQEA + AWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEzAQABZgGZ + AWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEAAWYBzAH/ + AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZATMBmQEA + AZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFmAgABmQFm + ATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZAcwBAAKZ + Af8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIAAZkB/wEz + AQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHMAQABmQEA + AcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHMAWYCAAHM + AWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZAWYBAAHM + ApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHMAf8CAAHM + Af8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/AQABmQEA + AcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFmATMBAAHM + AmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZAQAB/wGZ + AcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC/wEz + AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm + AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw + AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD/xcAAv8B9AHzAf8OAAP/ + GgAB8wL/CQAC/wHzAbwC9wGRAZIB/wkAAv8B8wG8AgcC7wHxAv8WAAH0Af8B8AEHAfMB/wYAAf8B9wGR + Aa4EiwGSAQcB8wcAAf8BBwHtAa4BiwGSAvIB8AH3Ae0B8gH/FQABBwP/AfQBBwG8AfQB/wMAAfMCiwKK + A2YBkgEAAbwB9AQAAf8B8wHsAe8BtAGzAa0BiwH3AfMB8gG8ApIB/xQAAf8B6wG8Ae0B8gP/AfIBBwH0 + AgABBwGLAWYCigJmAYsBkgEAAfIB9AQAAfMB7AIHAbQBbAFrAbMBkQHzAfIBBwHsAbwB/xQAAfIB7QH0 + AbwB7AFyAe8B8wH/AfQB/wIAAQcCZgKKAmYBiwH3Af8B8QHwAbwB7wH0Af8C7QHyAbsBkAFtARQBswG0 + AfEBBwHsAe8B/xUAAZIB8AHsAXIBCAH0AQcB6wK8Af8CAAEHAYsBZgKKAmYBiwGSAnECTwGRAfMB/wHv + AewB8AEJAbsB7wHsAbQBkQEHAewBkgL/FAAB/wHrAgcB8wGYAXIB7QHwAfQB8gMAAQcBiwFmAYsBigJm + AYsBkgItAUgBJwFyAfMBAAH/Ae0B6wEHAwkBuwLrAe0B9AH/AfQUAAHxAbwB8wHvAZcB7wG8AfEBBwHx + Af8CAAH/AQcBiwFmAqYCZgGLAfcBAgEtAkgBcgHzAgAB/wGSAW0B6wLsAeoBbQGSAfQB/wHwAf8TAAH/ + AbwB8gFtAZIB8QHwAe8BcgHzAfADAAG8AXEBrgKLAZEBtQK7AZIBTgEtAkgBkQHzAv8BAAH/AbwB7AJt + AewBvAL/AbwB8xQAAvQB9wHyAfMB8AFyAewB8AL0AwABvAFJAbUBuwMHAbwBkQFsAk4CSAGdAfMBAAHy + Af8BAAL/AvQD/wIHAf8UAAHwAfIB7AEHAe0B7ALwAQcBvAH/AwABvAFIAXEBTwFIAXEB8QEAAXIBSAFO + AQIBJwFIAZgB8wEAAf8B7wH0Af8DAAH/AfQB9wHvAf8VAAHxAW0B6wHwAfMBBwHrAW0B9AHxBAABvAFI + Ak4BAgFxAfABAAFyAUgBTgFPAXEBcgG7AfMCAAH/Ae0B7wHyAfMB8gHvAW0B7wH/FQAB8gETAe8B/wH0 + AfAB8gLzAfIB/wQAAbwBSAICAScBcQHwAQAB9wGYArsBBwK8AfQDAAH/Ae8BbQHqAW0B7AG8Af8VAAH/ + AfcB8wQAAf8B8wLwBQAB8AJxAXIBnQG7AfABAAH/AfQB/wkAAf8B9AHxAfIB/ycAAfQC8gPzAf8pAAFC + AU0BPgcAAT4DAAEoAwABQAMAARADAAEBAQABAQUAAYAXAAP/AQAC/wH8AR8B/wGPAgAB/AF/AcABHwHw + AQECAAH4AR8BgAEPAeADAAH4AQMBgAEnAYADAAHwAQEBgAEnAYADAAHwAQEBgAIAAQECAAHwAQEBgAIA + AQECAAHgAQMBgAEAAYABAQIAAeABAwIAAcABAQIAAcABBwIAASABAwIAAcABBwIAAZABAwIAAcABBwEB + AQABhwEHAgABwAEPAQEBAAHAAQ8CAAGAAQ8BAQEAAeABHwIAAR4BHwEBAR8B8AF/AgAC/wEBA/8CAAs= + + + + + AAABAAkAAAAAAAEAIAAoIAQAlgAAAICAAAABACAAKAgBAL4gBABgYAAAAQAgAKiUAADmKAUASEgAAAEA + IACIVAAAjr0FAEBAAAABACAAKEIAABYSBgAwMAAAAQAgAKglAAA+VAYAICAAAAEAIACoEAAA5nkGABgY + AAABACAAiAkAAI6KBgAQEAAAAQAgAGgEAAAWlAYAKAAAAAABAAAAAgAAAQAgAAAAAAAAIAQAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAApKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSk + pAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSk + pAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSk + pAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSk + pAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSk + pAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSk + pAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSk + pAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSk + pAGkpKQBpKSkAaSkpAKkpKQCpKSkAqSkpAKkpKQCpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6Sk + pAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6Sk + pAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6Sk + pAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6Sk + pAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6Sk + pAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6Sk + pAKkpKQCpKSkAqSkpAKkpKQCpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSk + pAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAKSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSk + pAGkpKQBpKSkAaSkpAGkpKQBpKSkAqSkpAKkpKQCpKSkAqSkpAKkpKQDpKSkA6SkpAOkpKQDpKSkA6Sk + pAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6Sk + pAOkpKQDpKSkBKSkpAWkpKQFpKSkBqSkpAakpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6Sk + pAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6Sk + pAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6Sk + pAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6Sk + pAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6Sk + pAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6Sk + pAekpKQHpKSkB6SkpAakpKQGpKSkBaSkpAWkpKQEpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6Sk + pAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkAqSk + pAKkpKQCpKSkAqSkpAKkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSk + pAGkpKQBpKSkAaSkpAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkpKQBpKSkAaSkpAGkpKQBpKSkAaSk + pAGkpKQBpKSkAaSkpAGkpKQCpKSkAqSkpAKkpKQCpKSkAqSkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6Sk + pAOkpKQDpKSkA6SkpAOkpKQEpKSkBaSkpAWkpKQGpKSkBqSkpAekpKQHpKSkB6SkpAekpKQHpKSkB6Sk + pAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6Sk + pAikpKQIpKSkCaSkpAqkpKQLpKSkDKSkpA2kpKQOpKSkD6SkpA+kpKQQpKSkEKSkpBCkpKQQpKSkEKSk + pBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSk + pBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSk + pBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSk + pBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSk + pBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSk + pBCkpKQQpKSkD6SkpA+kpKQOpKSkDaSkpAykpKQLpKSkCqSkpAmkpKQIpKSkCKSkpAekpKQHpKSkB6Sk + pAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6Sk + pAekpKQHpKSkBqSkpAakpKQFpKSkBaSkpASkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6Sk + pAOkpKQDpKSkA6SkpAKkpKQCpKSkAqSkpAKkpKQCpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSk + pAGkpKQBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAApKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAqSkpAKkpKQCpKSkAqSkpAKkpKQDpKSkA6Sk + pAOkpKQDpKSkA6SkpASkpKQFpKSkBaSkpAakpKQGpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6Sk + pAekpKQHpKSkCKSkpAikpKQJpKSkCqSkpAukpKQMpKSkDaSkpA6kpKQPpKSkD6SkpBCkpKQQpKSkEKSk + pBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSk + pBCkpKQRpKSkEaSkpBOkpKQUpKSkFqSkpBikpKQapKSkG6SkpBykpKQdpKSkHqSkpB6kpKQepKSkHqSk + pB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSk + pB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSk + pB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSk + pB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSk + pB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSk + pB6kpKQepKSkHqSkpB2kpKQcpKSkG6SkpBqkpKQYpKSkFqSkpBSkpKQTpKSkEaSkpBGkpKQQpKSkEKSk + pBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSk + pBCkpKQPpKSkD6SkpA6kpKQNpKSkDKSkpAukpKQKpKSkCaSkpAikpKQIpKSkB6SkpAekpKQHpKSkB6Sk + pAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAakpKQGpKSkBaSkpAWkpKQEpKSkA6SkpAOkpKQDpKSkA6Sk + pAOkpKQCpKSkAqSkpAKkpKQCpKSkAqSkpAGkpKQBpKSkAaSkpAGkpKQBAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKSkpAGkpKQBpKSkAaSk + pAKkpKQCpKSkAqSkpAKkpKQDpKSkA6SkpAOkpKQEpKSkBaSkpAWkpKQGpKSkBqSkpAekpKQHpKSkB6Sk + pAekpKQIpKSkCKSkpAmkpKQKpKSkC6SkpAykpKQNpKSkDqSkpA+kpKQPpKSkEKSkpBCkpKQQpKSkEKSk + pBCkpKQQpKSkEKSkpBGkpKQRpKSkE6SkpBSkpKQWpKSkGKSkpBqkpKQbpKSkHKSkpB2kpKQepKSkHqSk + pB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSk + pB6kpKQfpKSkIKSkpCGkpKQipKSkJaSkpCekpKQqpKSkLKSkpC+kpKQxpKSkMqSkpDOkpKQzpKSkM6Sk + pDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6Sk + pDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6Sk + pDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6Sk + pDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6Sk + pDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6Sk + pDOkpKQzpKSkM6SkpDOkpKQypKSkMaSkpC+kpKQspKSkKqSkpCekpKQlpKSkIqSkpCGkpKQgpKSkH6Sk + pB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSk + pB6kpKQepKSkHaSkpBykpKQbpKSkGqSkpBikpKQWpKSkFKSkpBOkpKQRpKSkEaSkpBCkpKQQpKSkEKSk + pBCkpKQQpKSkEKSkpBCkpKQQpKSkD6SkpA+kpKQOpKSkDaSkpAykpKQLpKSkCqSkpAmkpKQIpKSkCKSk + pAekpKQHpKSkB6SkpAekpKQGpKSkBqSkpAWkpKQFpKSkBKSkpAOkpKQDpKSkA6SkpAKkpKQCpKSkAqSk + pAGkpKQBpKSkAaSkpAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApKSkAaSkpAGkpKQCpKSkAqSkpAKkpKQDpKSkBKSk + pASkpKQFpKSkBqSkpAakpKQHpKSkB6SkpAikpKQJpKSkCqSkpAukpKQMpKSkDaSkpA6kpKQPpKSkD6Sk + pBCkpKQQpKSkEaSkpBGkpKQTpKSkFKSkpBakpKQYpKSkGqSkpBukpKQcpKSkHaSkpB6kpKQepKSkHqSk + pB6kpKQepKSkHqSkpB+kpKQgpKSkIaSkpCKkpKQlpKSkJ6SkpCqkpKQspKSkL6SkpDGkpKQypKSkM6Sk + pDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6Sk + pDOkpKQ0pKSkNKSkpDWkpKQ2pKSkOKSkpDukpKQ/pKSkQqSkpEakpKRJpKSkS6SkpE2kpKROpKSkTqSk + pE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6Sk + pE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6Sk + pE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6Sk + pE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6Sk + pE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6Sk + pE+kpKRPpKSkT6SkpE6kpKROpKSkTaSkpEukpKRJpKSkRqSkpEKkpKQ/pKSkO6SkpDikpKQ2pKSkNaSk + pDSkpKQ0pKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6Sk + pDOkpKQzpKSkM6SkpDKkpKQxpKSkL6SkpCykpKQqpKSkJ6SkpCWkpKQipKSkIaSkpCCkpKQfpKSkHqSk + pB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB2kpKQcpKSkG6SkpBqkpKQYpKSkFqSkpBSkpKQTpKSkEaSk + pBGkpKQQpKSkEKSkpA+kpKQPpKSkDqSkpA2kpKQMpKSkC6SkpAqkpKQJpKSkCKSkpAekpKQHpKSkBqSk + pAWkpKQFpKSkBKSkpAOkpKQDpKSkAqSkpAKkpKQBpKSkAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAKSkpAGkpKQBpKSkAqSkpAOkpKQEpKSkBaSkpAakpKQHpKSkCKSk + pAmkpKQLpKSkDKSkpA2kpKQOpKSkD6SkpBCkpKQRpKSkEqSkpBSkpKQWpKSkGKSkpBqkpKQbpKSkHKSk + pB2kpKQepKSkH6SkpB+kpKQhpKSkIqSkpCWkpKQnpKSkKqSkpCykpKQvpKSkMaSkpDKkpKQzpKSkM6Sk + pDOkpKQzpKSkM6SkpDSkpKQ0pKSkNaSkpDakpKQ4pKSkO6SkpD+kpKRCpKSkRqSkpEmkpKRLpKSkTaSk + pE6kpKROpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6Sk + pE+kpKRPpKSkT6SkpFCkpKRRpKSkUqSkpFWkpKRYpKSkXKSkpGCkpKRkpKSkaKSkpGqkpKRspKSkbaSk + pG6kpKRupKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6Sk + pG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6Sk + pG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6Sk + pG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6Sk + pG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6Sk + pG+kpKRvpKSkb6SkpG6kpKRupKSkbaSkpGykpKRqpKSkaKSkpGSkpKRgpKSkXKSkpFikpKRVpKSkUqSk + pFGkpKRQpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6Sk + pE+kpKRPpKSkTqSkpE6kpKRNpKSkS6SkpEmkpKRGpKSkQqSkpD+kpKQ7pKSkOKSkpDakpKQ1pKSkNKSk + pDSkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQypKSkMaSkpC+kpKQspKSkKqSkpCekpKQlpKSkIqSk + pCGkpKQfpKSkH6SkpB6kpKQdpKSkHKSkpBukpKQapKSkGKSkpBakpKQUpKSkEqSkpBGkpKQQpKSkD6Sk + pA2kpKQMpKSkC6SkpAqkpKQIpKSkB6SkpAakpKQFpKSkBKSkpAOkpKQCpKSkAqSkpAEAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAKSkpAGkpKQCpKSkA6SkpAWkpKQHpKSkCaSkpAukpKQNpKSkD6Sk + pBGkpKQTpKSkFaSkpBekpKQapKSkG6SkpB2kpKQepKSkIKSkpCKkpKQkpKSkJ6SkpCqkpKQspKSkL6Sk + pDGkpKQypKSkM6SkpDSkpKQ1pKSkNqSkpDikpKQ7pKSkP6SkpEKkpKRGpKSkSaSkpEukpKRNpKSkTqSk + pE6kpKRPpKSkT6SkpE+kpKRPpKSkUKSkpFGkpKRSpKSkVaSkpFikpKRcpKSkYKSkpGSkpKRopKSkaqSk + pGykpKRtpKSkbqSkpG6kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6Sk + pG+kpKRvpKSkb6SkpG+kpKRvpKSkcKSkpHKkpKR1pKSkeaSkpH2kpKSBpKSkhaSkpImkpKSMpKSkjqSk + pI+kpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSk + pJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSk + pJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSk + pJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSk + pJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSk + pJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpI+kpKSOpKSkjKSkpImkpKSFpKSkgaSkpH2kpKR5pKSkdaSk + pHKkpKRwpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6Sk + pG+kpKRvpKSkbqSkpG6kpKRtpKSkbKSkpGqkpKRopKSkZKSkpGCkpKRcpKSkWKSkpFWkpKRSpKSkUaSk + pFCkpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE6kpKROpKSkTaSkpEukpKRJpKSkRqSkpEKkpKQ/pKSkO6Sk + pDikpKQ2pKSkNaSkpDSkpKQzpKSkMqSkpDGkpKQvpKSkLKSkpCqkpKQnpKSkJKSkpCKkpKQgpKSkHqSk + pBykpKQapKSkGKSkpBakpKQUpKSkEqSkpBCkpKQOpKSkDKSkpAqkpKQIpKSkBqSkpASkpKQDpKSkAqSk + pAEAAAAAAAAAAAAAAAAAAAAAAAAAAKSkpAGkpKQDpKSkBaSkpAekpKQKpKSkDqSkpBGkpKQVpKSkGKSk + pBykpKQfpKSkI6SkpCakpKQppKSkLKSkpC+kpKQxpKSkM6SkpDakpKQ4pKSkO6SkpD+kpKRCpKSkRqSk + pEmkpKRLpKSkTaSkpE6kpKRPpKSkUKSkpFKkpKRVpKSkWKSkpFykpKRgpKSkZKSkpGikpKRqpKSkbKSk + pG2kpKRupKSkbqSkpG+kpKRvpKSkb6SkpG+kpKRwpKSkcqSkpHWkpKR5pKSkfaSkpIGkpKSFpKSkiaSk + pIykpKSOpKSkj6SkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSk + pJCkpKSQpKSkkKSkpJCkpKSQpKSkkaSkpJKkpKSUpKSklqSkpJqkpKSepKSkoqSkpKakpKSppKSkrKSk + pK6kpKSvpKSkr6SkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSk + pLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSk + pLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSk + pLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSk + pLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSk + pLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpK+kpKSvpKSkrqSkpKykpKSppKSkpqSkpKKkpKSepKSkmqSk + pJakpKSUpKSkkqSkpJGkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSk + pJCkpKSQpKSkkKSkpJCkpKSQpKSkj6SkpI6kpKSMpKSkiaSkpIWkpKSBpKSkfaSkpHmkpKR1pKSkcqSk + pHCkpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG6kpKRupKSkbaSkpGykpKRqpKSkaKSkpGSkpKRgpKSkXKSk + pFikpKRVpKSkUqSkpFCkpKRPpKSkTqSkpE2kpKRLpKSkSaSkpEakpKRCpKSkP6SkpDukpKQ4pKSkNaSk + pDKkpKQvpKSkLaSkpCqkpKQnpKSkJKSkpCGkpKQdpKSkGqSkpBekpKQTpKSkEKSkpAykpKQJpKSkBqSk + pASkpKQCpKSkAQAAAAAAAAAAAAAAAKSkpAGkpKQDpKSkBaSkpAmkpKQOpKSkE6SkpBikpKQepKSkJKSk + pCmkpKQvpKSkNKSkpDmkpKQ9pKSkQqSkpEWkpKRJpKSkTKSkpE+kpKRRpKSkVKSkpFikpKRcpKSkYKSk + pGSkpKRopKSkaqSkpGykpKRupKSkb6SkpHCkpKRypKSkdaSkpHmkpKR9pKSkgaSkpIWkpKSJpKSkjKSk + pI6kpKSPpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSRpKSkkqSkpJSkpKSWpKSkmqSkpJ6kpKSipKSkpqSk + pKmkpKSspKSkrqSkpK+kpKSvpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSk + pLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSxpKSks6SkpLWkpKS4pKSkvKSkpL+kpKTCpKSkxaSk + pMikpKTJpKSkyqSkpMukpKTLpKSky6SkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSk + pMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSk + pMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSk + pMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSk + pMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSk + pMykpKTMpKSkzKSkpMykpKTMpKSky6SkpMukpKTLpKSkyqSkpMmkpKTIpKSkxaSkpMKkpKS/pKSkvKSk + pLikpKS1pKSks6SkpLGkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSk + pLCkpKSwpKSksKSkpLCkpKSwpKSkr6SkpK+kpKSupKSkrKSkpKmkpKSmpKSkoqSkpJ6kpKSapKSklqSk + pJSkpKSSpKSkkaSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpI+kpKSOpKSkjKSkpImkpKSFpKSkgaSk + pH2kpKR5pKSkdaSkpHKkpKRwpKSkb6SkpG6kpKRspKSkaqSkpGikpKRkpKSkYKSkpFykpKRYpKSkVKSk + pFCkpKRNpKSkSqSkpEakpKRCpKSkPqSkpDqkpKQ1pKSkMaSkpCykpKQnpKSkIqSkpBykpKQWpKSkEaSk + pAykpKQIpKSkBKSkpAIAAAAAAAAAAKSkpAGkpKQCpKSkBaSkpAmkpKQPpKSkFqSkpB6kpKQnpKSkL6Sk + pDekpKQ/pKSkR6SkpE2kpKRUpKSkWqSkpF+kpKRkpKSkaKSkpGukpKRupKSkcaSkpHWkpKR4pKSkfKSk + pIGkpKSFpKSkiaSkpIykpKSOpKSkj6SkpJCkpKSSpKSklKSkpJakpKSapKSknqSkpKKkpKSmpKSkqaSk + pKykpKSupKSkr6SkpK+kpKSwpKSksKSkpLCkpKSwpKSksKSkpLGkpKSzpKSktaSkpLikpKS8pKSkv6Sk + pMKkpKTFpKSkyKSkpMmkpKTKpKSky6SkpMukpKTLpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSk + pMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpM2kpKTPpKSk0aSkpNSkpKTXpKSk2aSk + pNykpKTdpKSk36SkpN+kpKTgpKSk4KSkpOCkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSk + pOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSk + pOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSk + pOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSk + pOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSk + pOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOCkpKTgpKSk4KSkpN+kpKTfpKSk3aSkpNykpKTZpKSk16Sk + pNSkpKTRpKSkz6SkpM2kpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSk + pMykpKTMpKSkzKSkpMykpKTLpKSky6SkpMukpKTKpKSkyaSkpMikpKTFpKSkwqSkpL+kpKS8pKSkuKSk + pLWkpKSzpKSksaSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpK+kpKSvpKSkrqSkpKykpKSppKSkpqSk + pKKkpKSepKSkmqSkpJakpKSUpKSkkqSkpJCkpKSPpKSkjqSkpIykpKSJpKSkhaSkpIGkpKR8pKSkeKSk + pHSkpKRwpKSkbKSkpGikpKRkpKSkX6SkpFqkpKRVpKSkUKSkpEqkpKREpKSkPaSkpDWkpKQspKSkJKSk + pBukpKQTpKSkDaSkpAikpKQEAAAAAAAAAACkpKQBpKSkBKSkpAikpKQOpKSkFqSkpCCkpKQrpKSkN6Sk + pEOkpKROpKSkWKSkpGKkpKRqpKSkcaSkpHikpKR+pKSkg6SkpIikpKSLpKSkjqSkpJKkpKSVpKSkmKSk + pJykpKShpKSkpaSkpKmkpKSspKSkrqSkpK+kpKSwpKSksaSkpLOkpKS1pKSkuKSkpLukpKS/pKSkwqSk + pMWkpKTIpKSkyaSkpMqkpKTLpKSky6SkpMukpKTLpKSky6SkpMukpKTMpKSkzaSkpM+kpKTRpKSk1KSk + pNekpKTZpKSk3KSkpN2kpKTfpKSk36SkpOCkpKTgpKSk4KSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSk + pOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKTipKSk46SkpOSkpKTmpKSk6KSk + pOqkpKTrpKSk7aSkpO2kpKTupKSk7qSkpO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76Sk + pO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76Sk + pO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76Sk + pO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76Sk + pO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76Sk + pO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO6kpKTupKSk7aSkpO2kpKTrpKSk6qSk + pOikpKTmpKSk5KSkpOOkpKTipKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSk + pOGkpKThpKSk4aSkpOGkpKThpKSk4KSkpOCkpKTgpKSk36SkpN+kpKTdpKSk3KSkpNmkpKTXpKSk1KSk + pNGkpKTPpKSkzaSkpMykpKTLpKSky6SkpMukpKTLpKSky6SkpMukpKTLpKSkyqSkpMmkpKTIpKSkxaSk + pMKkpKS/pKSku6SkpLikpKS1pKSks6SkpLGkpKSwpKSkr6SkpK6kpKSspKSkqaSkpKWkpKShpKSknKSk + pJikpKSUpKSkkKSkpIykpKSIpKSkhKSkpH+kpKR5pKSkc6SkpG2kpKRmpKSkXqSkpFWkpKRLpKSkP6Sk + pDOkpKQnpKSkHKSkpBOkpKQMpKSkBgAAAAAAAAAApKSkAqSkpAWkpKQKpKSkEqSkpBykpKQppKSkOKSk + pEekpKRXpKSkZaSkpHGkpKR8pKSkhaSkpI2kpKSVpKSkm6SkpKCkpKSlpKSkqaSkpKykpKSvpKSksqSk + pLWkpKS5pKSkvaSkpMCkpKTEpKSkxqSkpMikpKTJpKSkyqSkpMukpKTMpKSkzqSkpNGkpKTTpKSk1qSk + pNmkpKTbpKSk3aSkpN6kpKTfpKSk36SkpOCkpKTgpKSk4KSkpOCkpKTgpKSk4KSkpOGkpKTipKSk5KSk + pOakpKTopKSk6aSkpOukpKTspKSk7aSkpO6kpKTupKSk7qSkpO+kpKTvpKSk76SkpO+kpKTvpKSk76Sk + pO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpPCkpKTxpKSk8qSk + pPOkpKT0pKSk9aSkpPakpKT2pKSk96SkpPekpKT3pKSk96SkpPikpKT4pKSk+KSkpPikpKT4pKSk+KSk + pPikpKT4pKSk+KSkpPikpKT4pKSk+KSkpPikpKT4pKSk+KSkpPikpKT4pKSk+KSkpPikpKT4pKSk+KSk + pPikpKT4pKSk+KSkpPikpKT4pKSk+KSkpPikpKT4pKSk+KSkpPikpKT4pKSk+KSkpPikpKT4pKSk+KSk + pPikpKT4pKSk+KSkpPikpKT4pKSk+KSkpPikpKT4pKSk+KSkpPikpKT4pKSk+KSkpPikpKT4pKSk+KSk + pPikpKT4pKSk+KSkpPikpKT4pKSk+KSkpPikpKT4pKSk+KSkpPikpKT4pKSk+KSkpPikpKT4pKSk+KSk + pPikpKT4pKSk+KSkpPikpKT4pKSk+KSkpPikpKT4pKSk96SkpPekpKT3pKSk96SkpPakpKT2pKSk9aSk + pPSkpKTzpKSk8qSkpPGkpKTwpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76Sk + pO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk7qSkpO6kpKTtpKSk7KSkpOukpKTppKSk6KSk + pOakpKTkpKSk4qSkpOGkpKTgpKSk4KSkpOCkpKTgpKSk4KSkpOCkpKTgpKSk36SkpN+kpKTepKSk3aSk + pNukpKTZpKSk1qSkpNOkpKTRpKSkzqSkpMykpKTLpKSkyqSkpMmkpKTIpKSkxqSkpMOkpKTApKSkvKSk + pLikpKS0pKSksaSkpK2kpKSqpKSkpaSkpKGkpKSbpKSklqSkpI+kpKSIpKSkgaSkpHikpKRtpKSkYaSk + pFKkpKRDpKSkNKSkpCWkpKQZpKSkEKSkpAkAAAAApKSkAaSkpAOkpKQGpKSkDKSkpBakpKQipKSkMaSk + pEOkpKRVpKSkZqSkpHakpKSFpKSkkaSkpJukpKSjpKSkq6SkpLGkpKS3pKSku6SkpL+kpKTCpKSkxKSk + pMekpKTKpKSkzqSkpNGkpKTUpKSk16SkpNmkpKTbpKSk3KSkpN2kpKTepKSk36SkpOCkpKThpKSk46Sk + pOWkpKTnpKSk6aSkpOukpKTspKSk7aSkpO2kpKTtpKSk7aSkpO2kpKTtpKSk7aSkpO6kpKTupKSk76Sk + pPCkpKTxpKSk8qSkpPOkpKT0pKSk9aSkpPakpKT2pKSk9qSkpPekpKT3pKSk96SkpPekpKT3pKSk96Sk + pPekpKT3pKSk96SkpPekpKT3pKSk96SkpPekpKT3pKSk96SkpPekpKT3pKSk96SkpPekpKT4pKSk+KSk + pPmkpKT5pKSk+qSkpPqkpKT7pKSk+6SkpPukpKT7pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSk + pPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSk + pPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSk + pPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSk + pPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSk + pPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk+6SkpPukpKT7pKSk+6Sk + pPqkpKT6pKSk+aSkpPmkpKT4pKSk+KSkpPekpKT3pKSk96SkpPekpKT3pKSk96SkpPekpKT3pKSk96Sk + pPekpKT3pKSk96SkpPekpKT3pKSk96SkpPekpKT3pKSk96SkpPekpKT2pKSk9qSkpPWkpKT0pKSk86Sk + pPKkpKTxpKSk8KSkpO+kpKTupKSk7qSkpO2kpKTtpKSk7aSkpO2kpKTtpKSk7aSkpO2kpKTtpKSk7KSk + pOukpKTppKSk56SkpOWkpKTjpKSk4aSkpOCkpKTepKSk3aSkpN2kpKTcpKSk2qSkpNmkpKTWpKSk06Sk + pNCkpKTNpKSkyaSkpMakpKTDpKSkwKSkpLykpKS3pKSksqSkpKykpKSlpKSknqSkpJakpKSMpKSkgKSk + pHKkpKRipKSkUKSkpD6kpKQtpKSkHqSkpBOkpKQKAAAAAKSkpAGkpKQDpKSkB6SkpA2kpKQXpKSkJaSk + pDWkpKRIpKSkXKSkpG+kpKSApKSkj6SkpJykpKSmpKSkr6SkpLakpKS9pKSkwqSkpMekpKTKpKSkzaSk + pNCkpKTTpKSk1aSkpNikpKTbpKSk3qSkpOGkpKTjpKSk5KSkpOWkpKTmpKSk56SkpOikpKTopKSk6qSk + pOukpKTspKSk7qSkpPCkpKTxpKSk8qSkpPOkpKT0pKSk9KSkpPSkpKT0pKSk9KSkpPSkpKT0pKSk9KSk + pPWkpKT1pKSk9qSkpPekpKT3pKSk+KSkpPmkpKT5pKSk+qSkpPqkpKT6pKSk+6SkpPukpKT7pKSk+6Sk + pPukpKT7pKSk+6SkpPukpKT7pKSk+6SkpPukpKT7pKSk+6SkpPukpKT7pKSk+6SkpPukpKT7pKSk+6Sk + pPukpKT7pKSk/KSkpPykpKT8pKSk/aSkpP2kpKT9pKSk/aSkpP2kpKT9pKSk/aSkpP2kpKT+pKSk/qSk + pP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSk + pP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSk + pP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSk + pP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSk + pP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/aSkpP2kpKT9pKSk/aSkpP2kpKT9pKSk/aSk + pP2kpKT8pKSk/KSkpPykpKT7pKSk+6SkpPukpKT7pKSk+6SkpPukpKT7pKSk+6SkpPukpKT7pKSk+6Sk + pPukpKT7pKSk+6SkpPukpKT7pKSk+6SkpPukpKT7pKSk+6SkpPukpKT6pKSk+qSkpPmkpKT5pKSk+KSk + pPekpKT3pKSk9qSkpPWkpKT1pKSk9KSkpPSkpKT0pKSk9KSkpPSkpKT0pKSk9KSkpPSkpKTzpKSk86Sk + pPKkpKTxpKSk76SkpO6kpKTspKSk66SkpOqkpKTopKSk56SkpOekpKTmpKSk5aSkpOSkpKTipKSk4KSk + pN2kpKTapKSk16SkpNSkpKTRpKSkz6SkpMukpKTHpKSkw6SkpL2kpKS3pKSksaSkpKqkpKShpKSkl6Sk + pIqkpKR7pKSkaqSkpFekpKRDpKSkMaSkpCGkpKQVpKSkCwAAAACkpKQBpKSkA6SkpAakpKQNpKSkF6Sk + pCSkpKQ1pKSkSKSkpFykpKRvpKSkgKSkpI+kpKSbpKSkpqSkpK6kpKS1pKSkvKSkpMGkpKTGpKSkyqSk + pM2kpKTPpKSk0qSkpNWkpKTYpKSk26SkpN6kpKTgpKSk46SkpOSkpKTlpKSk5qSkpOakpKTnpKSk6KSk + pOmkpKTqpKSk66SkpO2kpKTvpKSk8aSkpPKkpKTzpKSk86SkpPSkpKT0pKSk9KSkpPSkpKT0pKSk9KSk + pPSkpKT0pKSk9aSkpPWkpKT1pKSk9qSkpPekpKT4pKSk+KSkpPmkpKT5pKSk+qSkpPqkpKT7pKSk+6Sk + pPukpKT7pKSk+6SkpPukpKT7pKSk+6SkpPukpKT7pKSk+6SkpPukpKT7pKSk+6SkpPukpKT7pKSk+6Sk + pPukpKT7pKSk+6SkpPukpKT7pKSk+6SkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpP2kpKT9pKSk/aSk + pP2kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSk + pP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSk + pP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSk + pP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSk + pP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT9pKSk/aSkpP2kpKT9pKSk/KSkpPykpKT8pKSk/KSk + pPykpKT8pKSk+6SkpPukpKT7pKSk+6SkpPukpKT7pKSk+6SkpPukpKT7pKSk+6SkpPukpKT7pKSk+6Sk + pPukpKT7pKSk+6SkpPukpKT7pKSk+6SkpPukpKT7pKSk+6SkpPukpKT6pKSk+qSkpPmkpKT4pKSk+KSk + pPekpKT2pKSk9qSkpPWkpKT1pKSk9KSkpPSkpKT0pKSk9KSkpPSkpKT0pKSk9KSkpPSkpKTzpKSk86Sk + pPKkpKTxpKSk76SkpO6kpKTspKSk66SkpOmkpKTppKSk6KSkpOekpKTmpKSk5qSkpOSkpKTjpKSk4aSk + pN+kpKTcpKSk2aSkpNakpKTTpKSk0KSkpM6kpKTKpKSkxqSkpMGkpKS8pKSktqSkpLCkpKSppKSkoKSk + pJakpKSKpKSke6SkpGmkpKRWpKSkQ6SkpDCkpKQhpKSkFKSkpAsAAAAApKSkAaSkpAKkpKQGpKSkDKSk + pBSkpKQgpKSkMKSkpEGkpKRTpKSkZaSkpHWkpKSEpKSkj6SkpJmkpKShpKSkqKSkpK6kpKS0pKSkuaSk + pL2kpKTApKSkw6SkpMakpKTJpKSkzKSkpM+kpKTSpKSk1aSkpNikpKTapKSk26SkpNykpKTdpKSk3aSk + pN6kpKTfpKSk4KSkpOKkpKTkpKSk5qSkpOikpKTqpKSk66SkpOykpKTtpKSk7aSkpO2kpKTtpKSk7aSk + pO2kpKTtpKSk7aSkpO6kpKTupKSk76SkpO+kpKTwpKSk8aSkpPOkpKT0pKSk9aSkpPakpKT2pKSk96Sk + pPekpKT3pKSk96SkpPekpKT3pKSk96SkpPekpKT3pKSk96SkpPekpKT3pKSk96SkpPekpKT3pKSk96Sk + pPekpKT3pKSk96SkpPekpKT3pKSk96SkpPekpKT3pKSk+KSkpPikpKT4pKSk+aSkpPmkpKT6pKSk+6Sk + pPukpKT7pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSk + pPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSk + pPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSk + pPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSk + pPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk+6SkpPukpKT7pKSk+qSkpPmkpKT5pKSk+KSk + pPikpKT4pKSk96SkpPekpKT3pKSk96SkpPekpKT3pKSk96SkpPekpKT3pKSk96SkpPekpKT3pKSk96Sk + pPekpKT3pKSk96SkpPekpKT3pKSk96SkpPekpKT3pKSk96SkpPekpKT3pKSk9qSkpPakpKT1pKSk86Sk + pPKkpKTxpKSk8KSkpO+kpKTvpKSk7qSkpO2kpKTtpKSk7aSkpO2kpKTtpKSk7aSkpO2kpKTtpKSk7KSk + pOykpKTqpKSk6aSkpOekpKTkpKSk4qSkpOCkpKTfpKSk3qSkpN6kpKTdpKSk3KSkpNukpKTapKSk2KSk + pNakpKTTpKSkz6SkpMykpKTJpKSkxqSkpMOkpKTApKSkvaSkpLmkpKS0pKSkr6SkpKmkpKSipKSkm6Sk + pJOkpKSJpKSkfqSkpHCkpKRfpKSkTqSkpDykpKQspKSkHqSkpBKkpKQKAAAAAAAAAACkpKQCpKSkBaSk + pAmkpKQRpKSkG6SkpCekpKQ2pKSkRaSkpFWkpKRjpKSkb6SkpHqkpKSDpKSkiqSkpJGkpKSXpKSknaSk + pKKkpKSmpKSkqaSkpKykpKSvpKSksqSkpLakpKS6pKSkvqSkpMGkpKTEpKSkx6SkpMikpKTJpKSkyqSk + pMqkpKTLpKSkzaSkpM6kpKTRpKSk06SkpNakpKTZpKSk26SkpN2kpKTepKSk36SkpN+kpKTgpKSk4KSk + pOCkpKTgpKSk4KSkpOCkpKTgpKSk4aSkpOGkpKTjpKSk5KSkpOakpKTopKSk6qSkpOukpKTspKSk7aSk + pO6kpKTupKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76Sk + pO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTwpKSk8aSkpPKkpKTzpKSk9KSk + pPWkpKT2pKSk96SkpPekpKT3pKSk96SkpPikpKT4pKSk+KSkpPikpKT4pKSk+KSkpPikpKT4pKSk+KSk + pPikpKT4pKSk+KSkpPikpKT4pKSk+KSkpPikpKT4pKSk+KSkpPikpKT4pKSk+KSkpPikpKT4pKSk+KSk + pPikpKT4pKSk+KSkpPikpKT4pKSk+KSkpPikpKT4pKSk+KSkpPikpKT4pKSk+KSkpPikpKT4pKSk+KSk + pPikpKT4pKSk+KSkpPikpKT4pKSk+KSkpPikpKT4pKSk+KSkpPikpKT4pKSk+KSkpPikpKT4pKSk+KSk + pPikpKT4pKSk+KSkpPikpKT4pKSk+KSkpPekpKT3pKSk96SkpPekpKT2pKSk9aSkpPSkpKTzpKSk8qSk + pPGkpKTwpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76Sk + pO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTupKSk7qSkpO2kpKTspKSk66Sk + pOmkpKTopKSk5qSkpOSkpKTjpKSk4aSkpOGkpKTgpKSk4KSkpOCkpKTgpKSk4KSkpOCkpKTfpKSk36Sk + pN6kpKTdpKSk26SkpNmkpKTWpKSk06SkpNGkpKTOpKSkzaSkpMukpKTLpKSkyqSkpMmkpKTIpKSkx6Sk + pMSkpKTBpKSkvqSkpLqkpKS2pKSks6SkpK+kpKStpKSkqaSkpKakpKSipKSknaSkpJekpKSRpKSki6Sk + pISkpKR9pKSkdKSkpGmkpKRdpKSkT6SkpEGkpKQypKSkJKSkpBikpKQPpKSkCAAAAAAAAAAApKSkAaSk + pAOkpKQHpKSkDKSkpBSkpKQdpKSkKaSkpDWkpKRBpKSkTKSkpFakpKRfpKSkZ6SkpG6kpKR0pKSkeqSk + pH+kpKSEpKSkiKSkpIykpKSPpKSkkqSkpJWkpKSZpKSknaSkpKGkpKSlpKSkqaSkpKykpKSupKSkr6Sk + pK+kpKSwpKSksaSkpLOkpKS1pKSkuKSkpLukpKS/pKSkwqSkpMWkpKTIpKSkyaSkpMqkpKTLpKSky6Sk + pMukpKTLpKSky6SkpMukpKTLpKSkzKSkpMykpKTNpKSkz6SkpNGkpKTUpKSk16SkpNmkpKTcpKSk3aSk + pN+kpKTfpKSk4KSkpOCkpKTgpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSk + pOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKTipKSk46SkpOSkpKTmpKSk6KSk + pOqkpKTrpKSk7aSkpO2kpKTupKSk7qSkpO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76Sk + pO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76Sk + pO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76Sk + pO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk76Sk + pO+kpKTvpKSk76SkpO+kpKTvpKSk76SkpO+kpKTvpKSk7qSkpO6kpKTtpKSk7aSkpOukpKTqpKSk6KSk + pOakpKTkpKSk46SkpOKkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSk + pOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOCkpKTgpKSk4KSkpN+kpKTfpKSk3aSk + pNykpKTZpKSk16SkpNSkpKTRpKSkz6SkpM2kpKTMpKSky6SkpMukpKTLpKSky6SkpMukpKTLpKSky6Sk + pMqkpKTJpKSkyKSkpMWkpKTCpKSkv6SkpLukpKS4pKSktaSkpLOkpKSxpKSksKSkpK+kpKSvpKSkrqSk + pKykpKSppKSkpaSkpKGkpKSdpKSkmaSkpJWkpKSSpKSkj6SkpIykpKSIpKSkhKSkpH+kpKR6pKSkdKSk + pG6kpKRopKSkYaSkpFqkpKRRpKSkR6SkpDykpKQxpKSkJqSkpBukpKQSpKSkC6SkpAYAAAAAAAAAAKSk + pAGkpKQCpKSkBKSkpAikpKQNpKSkFKSkpBykpKQkpKSkLaSkpDakpKQ9pKSkRKSkpEqkpKRQpKSkVqSk + pFukpKRfpKSkZKSkpGikpKRrpKSkbqSkpHGkpKR1pKSkeKSkpH2kpKSBpKSkhaSkpImkpKSMpKSkjqSk + pI+kpKSQpKSkkaSkpJKkpKSUpKSklqSkpJqkpKSepKSkoqSkpKakpKSppKSkrKSkpK6kpKSvpKSkr6Sk + pLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSxpKSks6SkpLWkpKS4pKSkvKSkpL+kpKTCpKSkxaSk + pMikpKTJpKSkyqSkpMukpKTLpKSky6SkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSk + pMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzaSkpM+kpKTRpKSk1KSk + pNekpKTZpKSk3KSkpN2kpKTfpKSk36SkpOCkpKTgpKSk4KSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSk + pOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSk + pOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSk + pOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKThpKSk4aSk + pOGkpKThpKSk4aSkpOGkpKThpKSk4aSkpOGkpKTgpKSk4KSkpOCkpKTfpKSk36SkpN2kpKTcpKSk2aSk + pNekpKTUpKSk0aSkpM+kpKTNpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSk + pMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTLpKSky6SkpMukpKTKpKSkyaSk + pMikpKTFpKSkwqSkpL+kpKS8pKSkuKSkpLWkpKSzpKSksaSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSk + pK+kpKSvpKSkrqSkpKykpKSppKSkpqSkpKKkpKSepKSkmqSkpJakpKSUpKSkkqSkpJGkpKSQpKSkj6Sk + pI6kpKSMpKSkiaSkpIWkpKSBpKSkfaSkpHikpKR1pKSkcaSkpG6kpKRrpKSkaKSkpGSkpKRfpKSkW6Sk + pFakpKRRpKSkS6SkpEWkpKQ/pKSkOaSkpDGkpKQppKSkIaSkpBmkpKQSpKSkDKSkpAekpKQEAAAAAAAA + AAAAAAAApKSkAaSkpAKkpKQFpKSkCKSkpAykpKQRpKSkFqSkpBykpKQipKSkKKSkpCykpKQxpKSkNqSk + pDqkpKQ+pKSkQqSkpEakpKRJpKSkTKSkpE+kpKRRpKSkVKSkpFikpKRcpKSkYKSkpGSkpKRopKSkaqSk + pGykpKRupKSkbqSkpG+kpKRwpKSkcqSkpHWkpKR5pKSkfaSkpIGkpKSFpKSkiaSkpIykpKSOpKSkj6Sk + pJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSRpKSkkqSkpJSkpKSWpKSkmqSkpJ6kpKSipKSkpqSk + pKmkpKSspKSkrqSkpK+kpKSvpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSk + pLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksaSkpLOkpKS1pKSkuKSk + pLykpKS/pKSkwqSkpMWkpKTIpKSkyaSkpMqkpKTLpKSky6SkpMukpKTMpKSkzKSkpMykpKTMpKSkzKSk + pMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSk + pMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSk + pMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSkzKSk + pMykpKTMpKSkzKSkpMykpKTMpKSkzKSkpMykpKTMpKSky6SkpMukpKTLpKSkyqSkpMmkpKTIpKSkxaSk + pMKkpKS/pKSkvKSkpLikpKS1pKSks6SkpLGkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSk + pLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSvpKSkr6Sk + pK6kpKSspKSkqaSkpKakpKSipKSknqSkpJqkpKSWpKSklKSkpJKkpKSRpKSkkKSkpJCkpKSQpKSkkKSk + pJCkpKSQpKSkj6SkpI6kpKSMpKSkiaSkpIWkpKSBpKSkfaSkpHmkpKR1pKSkcqSkpHCkpKRvpKSkbqSk + pG6kpKRspKSkaqSkpGikpKRkpKSkYKSkpFykpKRYpKSkVKSkpFGkpKRPpKSkTKSkpEmkpKRGpKSkQqSk + pD6kpKQ6pKSkNqSkpDKkpKQtpKSkKaSkpCSkpKQfpKSkGqSkpBSkpKQPpKSkC6SkpAekpKQEpKSkAgAA + AAAAAAAAAAAAAAAAAACkpKQBpKSkAqSkpASkpKQGpKSkCaSkpAykpKQQpKSkE6SkpBekpKQapKSkHaSk + pCGkpKQkpKSkJ6SkpCqkpKQtpKSkL6SkpDGkpKQzpKSkNqSkpDikpKQ7pKSkP6SkpEKkpKRGpKSkSaSk + pEukpKRNpKSkTqSkpE+kpKRQpKSkUaSkpFKkpKRVpKSkWKSkpFykpKRgpKSkZKSkpGikpKRqpKSkbKSk + pG2kpKRupKSkbqSkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpHCkpKRypKSkdaSkpHmkpKR9pKSkgaSk + pIWkpKSJpKSkjKSkpI6kpKSPpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSk + pJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkaSkpJKkpKSUpKSklqSk + pJqkpKSepKSkoqSkpKakpKSppKSkrKSkpK6kpKSvpKSkr6SkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSk + pLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSk + pLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSk + pLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSk + pLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSksKSkpLCkpKSwpKSkr6SkpK+kpKSupKSkrKSk + pKmkpKSmpKSkoqSkpJ6kpKSapKSklqSkpJSkpKSSpKSkkaSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSk + pJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSk + pI+kpKSOpKSkjKSkpImkpKSFpKSkgaSkpH2kpKR5pKSkdaSkpHKkpKRwpKSkb6SkpG+kpKRvpKSkb6Sk + pG+kpKRupKSkbqSkpG2kpKRspKSkaqSkpGikpKRkpKSkYKSkpFykpKRYpKSkVaSkpFKkpKRRpKSkUKSk + pE+kpKROpKSkTaSkpEukpKRJpKSkRqSkpEKkpKQ/pKSkO6SkpDikpKQ2pKSkM6SkpDGkpKQvpKSkLaSk + pCqkpKQnpKSkJKSkpCGkpKQepKSkG6SkpBikpKQVpKSkEaSkpA6kpKQLpKSkCKSkpAakpKQEpKSkAqSk + pAEAAAAAAAAAAAAAAAAAAAAAAAAAAKSkpAGkpKQCpKSkA6SkpASkpKQGpKSkCKSkpAqkpKQMpKSkDqSk + pBCkpKQSpKSkFKSkpBakpKQYpKSkGqSkpBukpKQdpKSkHqSkpCCkpKQipKSkJKSkpCekpKQqpKSkLKSk + pC+kpKQxpKSkMqSkpDOkpKQzpKSkNKSkpDWkpKQ2pKSkOKSkpDukpKQ/pKSkQqSkpEakpKRJpKSkS6Sk + pE2kpKROpKSkTqSkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpFCkpKRRpKSkUqSkpFWkpKRYpKSkXKSk + pGCkpKRkpKSkaKSkpGqkpKRspKSkbaSkpG6kpKRupKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6Sk + pG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRwpKSkcqSk + pHWkpKR5pKSkfaSkpIGkpKSFpKSkiaSkpIykpKSOpKSkj6SkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSk + pJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSk + pJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSk + pJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSk + pJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSQpKSkkKSkpJCkpKSPpKSkjqSk + pIykpKSJpKSkhaSkpIGkpKR9pKSkeaSkpHWkpKRypKSkcKSkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6Sk + pG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkbqSk + pG6kpKRtpKSkbKSkpGqkpKRopKSkZKSkpGCkpKRcpKSkWKSkpFWkpKRSpKSkUaSkpFCkpKRPpKSkT6Sk + pE+kpKRPpKSkT6SkpE6kpKROpKSkTaSkpEukpKRJpKSkRqSkpEKkpKQ/pKSkO6SkpDikpKQ2pKSkNaSk + pDSkpKQzpKSkM6SkpDKkpKQxpKSkL6SkpCykpKQqpKSkJ6SkpCSkpKQipKSkIKSkpB6kpKQdpKSkG6Sk + pBqkpKQYpKSkFqSkpBSkpKQSpKSkEKSkpA6kpKQMpKSkCqSkpAmkpKQHpKSkBaSkpASkpKQCpKSkAaSk + pAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKSkpAGkpKQCpKSkAqSkpAOkpKQEpKSkBaSk + pAakpKQHpKSkCKSkpAqkpKQLpKSkDKSkpA2kpKQOpKSkD6SkpBCkpKQRpKSkEqSkpBSkpKQWpKSkGKSk + pBqkpKQbpKSkHKSkpB2kpKQepKSkHqSkpB+kpKQgpKSkIaSkpCKkpKQlpKSkJ6SkpCqkpKQspKSkL6Sk + pDGkpKQypKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDSkpKQ0pKSkNaSkpDakpKQ4pKSkO6Sk + pD+kpKRCpKSkRqSkpEmkpKRLpKSkTaSkpE6kpKROpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6Sk + pE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRQpKSkUaSk + pFKkpKRVpKSkWKSkpFykpKRgpKSkZKSkpGikpKRqpKSkbKSkpG2kpKRupKSkbqSkpG+kpKRvpKSkb6Sk + pG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6Sk + pG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6Sk + pG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6Sk + pG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG+kpKRvpKSkb6SkpG6kpKRupKSkbaSk + pGykpKRqpKSkaKSkpGSkpKRgpKSkXKSkpFikpKRVpKSkUqSkpFGkpKRQpKSkT6SkpE+kpKRPpKSkT6Sk + pE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6Sk + pE+kpKROpKSkTqSkpE2kpKRLpKSkSaSkpEakpKRCpKSkP6SkpDukpKQ4pKSkNqSkpDWkpKQ0pKSkNKSk + pDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDKkpKQxpKSkL6SkpCykpKQqpKSkJ6SkpCWkpKQipKSkIaSk + pCCkpKQfpKSkHqSkpB6kpKQdpKSkHKSkpBukpKQapKSkGKSkpBakpKQUpKSkEqSkpBGkpKQQpKSkD6Sk + pA6kpKQNpKSkDKSkpAukpKQKpKSkCKSkpAekpKQGpKSkBaSkpASkpKQEpKSkA6SkpAKkpKQBpKSkAQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkpKQBpKSkAaSk + pAKkpKQCpKSkA6SkpAOkpKQEpKSkBaSkpAWkpKQGpKSkBqSkpAekpKQHpKSkCKSkpAmkpKQKpKSkC6Sk + pAykpKQNpKSkDqSkpA+kpKQPpKSkEKSkpBCkpKQQpKSkEaSkpBGkpKQTpKSkFKSkpBakpKQYpKSkGqSk + pBukpKQcpKSkHaSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkH6SkpCCkpKQhpKSkIqSk + pCWkpKQnpKSkKqSkpCykpKQvpKSkMaSkpDKkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6Sk + pDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQ0pKSkNKSk + pDWkpKQ2pKSkOKSkpDukpKQ/pKSkQqSkpEakpKRJpKSkS6SkpE2kpKROpKSkTqSkpE+kpKRPpKSkT6Sk + pE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6Sk + pE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6Sk + pE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6Sk + pE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkTqSk + pE6kpKRNpKSkS6SkpEmkpKRGpKSkQqSkpD+kpKQ7pKSkOKSkpDakpKQ1pKSkNKSkpDSkpKQzpKSkM6Sk + pDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6Sk + pDOkpKQzpKSkM6SkpDOkpKQypKSkMaSkpC+kpKQspKSkKqSkpCekpKQlpKSkIqSkpCGkpKQgpKSkH6Sk + pB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQdpKSkHKSkpBukpKQapKSkGKSkpBakpKQUpKSkE6Sk + pBGkpKQRpKSkEKSkpBCkpKQQpKSkD6SkpA+kpKQOpKSkDaSkpAykpKQLpKSkCqSkpAmkpKQIpKSkB6Sk + pAekpKQGpKSkBqSkpAWkpKQFpKSkBKSkpAOkpKQDpKSkAqSkpAKkpKQBpKSkAaSkpAEAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAKSkpAGkpKQBpKSkAaSkpAGkpKQCpKSkAqSkpAKkpKQCpKSkA6SkpAOkpKQDpKSkBKSk + pAWkpKQFpKSkBqSkpAakpKQHpKSkB6SkpAekpKQHpKSkB6SkpAikpKQIpKSkCaSkpAqkpKQLpKSkDKSk + pA2kpKQOpKSkD6SkpA+kpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQRpKSkEaSk + pBOkpKQUpKSkFqSkpBikpKQapKSkG6SkpBykpKQdpKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSk + pB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSk + pB+kpKQgpKSkIaSkpCKkpKQlpKSkJ6SkpCqkpKQspKSkL6SkpDGkpKQypKSkM6SkpDOkpKQzpKSkM6Sk + pDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6Sk + pDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6Sk + pDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6Sk + pDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6SkpDOkpKQzpKSkM6Sk + pDOkpKQzpKSkMqSkpDGkpKQvpKSkLKSkpCqkpKQnpKSkJaSkpCKkpKQhpKSkIKSkpB+kpKQepKSkHqSk + pB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSk + pB6kpKQepKSkHqSkpB6kpKQepKSkHaSkpBykpKQbpKSkGqSkpBikpKQWpKSkFKSkpBOkpKQRpKSkEaSk + pBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkD6SkpA+kpKQOpKSkDaSkpAykpKQLpKSkCqSk + pAmkpKQIpKSkCKSkpAekpKQHpKSkB6SkpAekpKQHpKSkBqSkpAakpKQFpKSkBaSkpASkpKQDpKSkA6Sk + pAOkpKQCpKSkAqSkpAKkpKQCpKSkAaSkpAGkpKQBpKSkAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApKSkAaSkpAGkpKQBpKSkAaSk + pAGkpKQBpKSkAqSkpAKkpKQCpKSkAqSkpAKkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQEpKSkBaSk + pAWkpKQGpKSkBqSkpAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkCKSk + pAikpKQJpKSkCqSkpAukpKQMpKSkDaSkpA6kpKQPpKSkD6SkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSk + pBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSk + pBCkpKQQpKSkEaSkpBGkpKQTpKSkFKSkpBakpKQYpKSkGqSkpBukpKQcpKSkHaSkpB6kpKQepKSkHqSk + pB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSk + pB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSk + pB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSk + pB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSkpB6kpKQepKSkHqSk + pB6kpKQepKSkHqSkpB2kpKQcpKSkG6SkpBqkpKQYpKSkFqSkpBSkpKQTpKSkEaSkpBGkpKQQpKSkEKSk + pBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSk + pBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpA+kpKQPpKSkDqSkpA2kpKQMpKSkC6SkpAqkpKQJpKSkCKSk + pAikpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkBqSkpAakpKQFpKSkBaSk + pASkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQCpKSkAqSkpAKkpKQCpKSkAqSkpAGkpKQBpKSkAaSk + pAGkpKQBpKSkAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC67 + bxAuu29ALrtvgC67b4Auu2+ALrtvgC67b4Auu2+ALrtvgC67b4Auu2+ALrtvgC67b4Auu2+ALrtvgC67 + b4Avu2+BL7tvgS+7b4Evu2+BL7tvgS+7cIEvu3CBL7twgS+7cIEvu3CBL7twgS+7cIEvu3CBL7twgS+7 + cIEvu3CBL7twgTC7cIIwu3CCMLtwgjG6cIMxunCDMbpwgzG6cIMxunCDMbpwgzG6cIMxunCDMbpwgzG6 + cIMxunCDMbpwgzG6cIMxunCDMbpwgzG6cIMxunCDMbpwgzG6cIMxunCDMbpwgzG6cIMxunCDMbpwgzG6 + cIMxunCDMbpwgzK6cYQyunGEMrpxhDK6cYUzunGFM7pxhjS6coY0unKHNbpyhzW6coc1unKINbpyiDW6 + cog1unKINbpyiDW6cog1unKINbpyiDW6cog1unKINbpyiDW6cog1unKINbpyiDW6cog1unKINbpyiDW6 + cog1unKINbpyiDW6cog1unKINbpyiDW6cog1unKINbpyiDW6cog1unKINbpyiDW6cog1unKINbpyiDW6 + cog1unKIQbd3TGewiR+kpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSk + pBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSkpBCkpKQQpKSkEKSk + pBCkpKQQpKSkEKSkpBCkpKQPpKSkD6SkpA6kpKQNpKSkDKSkpAukpKQKpKSkCaSkpAikpKQIpKSkB6Sk + pAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6Sk + pAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAakpKQGpKSkBaSkpAWkpKQEpKSkA6Sk + pAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQCpKSkAqSkpAKkpKQCpKSkAqSk + pAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAuvHAQLrxwYC68 + cM8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68 + cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68 + cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68 + cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68 + cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68 + cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68 + cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68 + cP8uvHD/Lrxw/y68cP8uvHD/L7tw0TO7cmRQtX8XpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6Sk + pAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQHpKSkB6Sk + pAekpKQHpKSkB6SkpAekpKQHpKSkB6SkpAekpKQGpKSkBqSkpAWkpKQFpKSkBKSkpAOkpKQDpKSkA6Sk + pAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6Sk + pAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkAqSkpAKkpKQCpKSkAqSkpAKkpKQBpKSkAaSk + pAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAEAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC68cBAuvHCALrxw7y68 + cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68 + cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68 + cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68 + cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68 + cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68 + cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68 + cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68 + cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw7y+8cYGkpKQDpKSkA6SkpAOkpKQDpKSkA6Sk + pAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAOkpKQDpKSkA6Sk + pAOkpKQDpKSkA6SkpAOkpKQDpKSkA6SkpAKkpKQCpKSkAqSkpAKkpKQCpKSkAaSkpAGkpKQBpKSkAaSk + pAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSk + pAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC29cUAtvHHfLbxx/y28 + cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28 + cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28 + cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28 + cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28 + cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28 + cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28 + cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28 + cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx3y68ckGkpKQBpKSkAaSk + pAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSk + pAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC29cnAtvXH/Lb1x/y29 + cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29 + cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29 + cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29 + cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29 + cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29 + cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29 + cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29 + cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1yYAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC2+cp8tvnL/Lb5y/y2+ + cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+ + cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+ + cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+ + cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+ + cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+ + cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+ + cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+ + cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+ + cv8tvnKfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACy+c48tvnP/Lb5z/y2+ + c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+ + c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+ + c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+ + c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+ + c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+ + c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+ + c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+ + c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+c/8tvnP/Lb5z/y2+ + c/8tvnP/Lb5z/yy+c4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACy+c1AsvnP/LL5z/yy+ + c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+ + c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+ + c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+ + c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+ + c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+ + c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+ + c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+ + c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+ + c/8svnP/LL5z/yy+c/8svnP/LL5zUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACy/dCAsv3TvLL90/yy/ + dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/ + dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/ + dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/ + dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/ + dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/ + dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/ + dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/ + dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/ + dP8sv3T/LL90/yy/dP8sv3T/LL90/yy/dO8sv3QQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArwHSfLMB0/yzA + dP8swHT/LMB0/yzAdP8swHT/LMB0/yzAdP8swHT/LMB0/yzAdP8swHT/LMB0/yzAdP8swHT/LMB0/yzA + dP8swHT/LMB0/yzAdP8swHT/LMB0/yzAdP8swHT/LMB0/yzAdP8swHT/LMB0/yzAdP8swHT/LMB0/yzA + dP8swHT/LMB0/yzAdP8swHT/LMB0/yzAdP8swHT/LMB0/yzAdP8swHT/LMB0/yzAdP8swHT/LMB0/yzA + dP8swHT/LMB0/yzAdP8swHT/LMB0/yzAdP8swHT/LMB0/yzAdP8swHT/LMB0/yzAdP8swHT/LMB0/yzA + dP8swHT/LMB0/yzAdP8swHT/LMB0/yzAdP8swHT/LMB0/yzAdP8swHT/LMB0/yzAdP8swHT/LMB0/yzA + dP8swHT/LMB0/yzAdP8swHT/LMB0/yzAdP8swHT/LMB0/yzAdP8swHT/LMB0/yzAdP8swHT/LMB0/yzA + dP8swHT/LMB0/yzAdP8swHT/LMB0/yzAdP8swHT/LMB0/yzAdP8swHT/LMB0/yzAdP8swHT/LMB0/yzA + dP8swHT/LMB0/yzAdP8swHT/LMB0/yzAdP8swHT/LMB0/yzAdP8swHT/LMB0/yzAdP8swHT/LMB0/yzA + dP8swHT/LMB0/yzAdP8swHT/LMB0/yzAdP8swHT/K8B0nwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArwHUwK8B1/yvA + df8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvA + df8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvA + df8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvA + df8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvA + df8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvA + df8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvA + df8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvA + df8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvA + df8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHUgAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK8B1nyvA + df8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvA + df8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvA + df8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvA + df8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvA + df8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvA + df8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvA + df8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvA + df8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvA + df8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1nwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKsF2ECvB + dv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvB + dv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvB + dv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvB + dv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvB + dv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvB + dv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvB + dv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvB + dv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvB + dv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvBdv8rwXb/K8F2/yvBdu8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACrB + dmAqwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrB + dv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrB + dv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrB + dv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrB + dv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrB + dv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrB + dv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrB + dv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrB + dv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2UAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAqwnePKsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrC + d/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrC + d/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrC + d/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrC + d/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrC + d/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrC + d/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrC + d/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrC + d/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrCd/8qwnf/KsJ3/yrC + d48AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAKsJ4vyrCeP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrC + eP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrC + eP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrC + eP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrC + eP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrC + eP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrC + eP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrC + eP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrC + eP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrCeP8qwnj/KsJ4/yrC + eP8qwni/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAACnDeO8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynD + eP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynD + eP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynD + eP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynD + eP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynD + eP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynD + eP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynD + eP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynD + eP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynD + eP8pw3j/KcN43wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAApw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynD + ef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynD + ef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynD + ef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynD + ef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynD + ef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynD + ef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynD + ef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynD + ef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynD + ef8pw3n/KcN5/ynDef8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAKcR5/ynEef8pxHn/KcR5/ynEef8pxHn/KcR5/ynEef8pxHn/KcR5/ynE + ef8pxHn/KcR5/ynEef8pxHn/KcR5/ynEef8pxHn/KcR5/ynEef8pxHn/KcR5/ynEef8pxHn/KcR5/ynE + ef8pxHn/KcR5/ynEef8pxHn/KcR5/ynEef8pxHn/KcR5/ynEef8pxHn/KcR5/ynEef8pxHn/KcR5/ynE + ef8pxHn/KcR5/ynEef8pxHn/KcR5/ynEef8pxHn/KcR5/ynEef8pxHn/KcR5/ynEef8pxHn/KcR5/ynE + ef8pxHn/KcR5/ynEef8pxHn/KcR5/ynEef8pxHn/KcR5/ynEef8pxHn/KcR5/ynEef8pxHn/KcR5/ynE + ef8pxHn/KcR5/ynEef8pxHn/KcR5/ynEef8pxHn/KcR5/ynEef8pxHn/KcR5/ynEef8pxHn/KcR5/ynE + ef8pxHn/KcR5/ynEef8pxHn/KcR5/ynEef8pxHn/KcR5/ynEef8pxHn/KcR5/ynEef8pxHn/KcR5/ynE + ef8pxHn/KcR5/ynEef8pxHn/KcR5/ynEef8pxHn/KcR5/ynEef8pxHn/KcR5/ynEef8pxHn/KcR5/ynE + ef8pxHn/KcR5/ynEef8pxHn/KcR5/ynEef8pxHn/KcR5/ynEef8pxHn/KcR5/ynEef8pxHn/KcR5/ynE + ef8pxHn/KcR5/ynEef8pxHn/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAACnEev8pxHr/KcR6/ynEev8pxHr/KcR6/ynEev8pxHr/KcR6/ynE + ev8pxHr/KcR6/ynEev8pxHr/KcR6/ynEev8pxHr/KcR6/ynEev8pxHr/KcR6/ynEev8pxHr/KcR6/ynE + ev8pxHr/KcR6/ynEev8pxHr/KcR6/ynEev8pxHr/KcR6/ynEev8pxHr/KcR6/ynEev8pxHr/KcR6/ynE + ev8pxHr/KcR6/ynEev8pxHr/KcR6/ynEev8pxHr/KcR6/ynEev8pxHr/KcR6/ynEev8pxHr/KcR6/ynE + ev8pxHr/KcR6/ynEev8pxHr/KcR6/ynEev8pxHr/KcR6/ynEev8pxHr/KcR6/ynEev8pxHr/KcR6/ynE + ev8pxHr/KcR6/ynEev8pxHr/KcR6/ynEev8pxHr/KcR6/ynEev8pxHr/KcR6/ynEev8pxHr/KcR6/ynE + ev8pxHr/KcR6/ynEev8pxHr/KcR6/ynEev8pxHr/KcR6/ynEev8pxHr/KcR6/ynEev8pxHr/KcR6/ynE + ev8pxHr/KcR6/ynEev8pxHr/KcR6/ynEev8pxHr/KcR6/ynEev8pxHr/KcR6/ynEev8pxHr/KcR6/ynE + ev8pxHr/KcR6/ynEev8pxHr/KcR6/ynEev8pxHr/KcR6/ynEev8pxHr/KcR6/ynEev8pxHr/KcR6/ynE + ev8pxHr/KcR6/ynEev8pxHr/KcR6/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoxXr/KMV6/yjFev8oxXr/KMV6/yjFev8oxXr/KMV6/yjF + ev8oxXr/KMV6/yjFev8oxXr/KMV6/yjFev8oxXr/KMV6/yjFev8oxXr/KMV6/yjFev8oxXr/KMV6/yjF + ev8oxXr/KMV6/yjFev8oxXr/KMV6/yjFev8oxXr/KMV6/yjFev8oxXr/KMV6/yjFev8oxXr/KMV6/yjF + ev8oxXr/KMV6/yjFev8oxXr/KMV6/yjFev8oxXr/KMV6/yjFev8oxXr/KMV6/yjFev8oxXr/KMV6/yjF + ev8oxXr/KMV6/yjFev8oxXr/KMV6/yjFev8oxXr/KMV6/yjFev8oxXr/KMV6/yjFev8oxXr/KMV6/yjF + ev8oxXr/KMV6/yjFev8oxXr/KMV6/yjFev8oxXr/KMV6/yjFev8oxXr/KMV6/yjFev8oxXr/KMV6/yjF + ev8oxXr/KMV6/yjFev8oxXr/KMV6/yjFev8oxXr/KMV6/yjFev8oxXr/KMV6/yjFev8oxXr/KMV6/yjF + ev8oxXr/KMV6/yjFev8oxXr/KMV6/yjFev8oxXr/KMV6/yjFev8oxXr/KMV6/yjFev8oxXr/KMV6/yjF + ev8oxXr/KMV6/yjFev8oxXr/KMV6/yjFev8oxXr/KMV6/yjFev8oxXr/KMV6/yjFev8oxXr/KMV6/yjF + ev8oxXr/KMV6/yjFev8oxXr/KMV6/yjFev8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjF + e/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjF + e/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjF + e/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjF + e/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjF + e/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjF + e/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjF + e/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjF + e/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjF + e/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjF + e/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjF + e/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjF + e/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjF + e/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjF + e/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjF + e/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjF + e/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjF + e/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjF + e/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnx3z/J8d8/yfHfP8nx3z/J8d8/yfH + fP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfH + fP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfH + fP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfH + fP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfH + fP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfH + fP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfH + fP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfH + fP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfH + fP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ8d8/yfHfP8nx3z/J8d8/yfH + fP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfH + fP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfH + fP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfH + fP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfH + fP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfH + fP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfH + fP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfH + fP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfH + fP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACfIff8nyH3/J8h9/yfI + ff8nyH3/J8h9/yfIff8nyH3/J8h9/yfIff8nyH3/J8h9/yfIff8nyH3/J8h9/yfIff8nyH3/J8h9/yfI + ff8nyH3/J8h9/yfIff8nyH3/J8h9/yfIff8nyH3/J8h9/yfIff8nyH3/J8h9/yfIff8nyH3/J8h9/yfI + ff8nyH3/J8h9/yfIff8nyH3/J8h9/yfIff8nyH3/J8h9/yfIff8nyH3/J8h9/yfIff8nyH3/J8h9/yfI + ff8nyH3/J8h9/yfIff8nyH3/J8h9/yfIff8nyH3/J8h9/yfIff8nyH3/J8h9/yfIff8nyH3/J8h9/yfI + ff8nyH3/J8h9/yfIff8nyH3/J8h9/yfIff8nyH3/J8h9/yfIff8nyH3/J8h9/yfIff8nyH3/J8h9/yfI + ff8nyH3/J8h9/yfIff8nyH3/J8h9/yfIff8nyH3/J8h9/yfIff8nyH3/J8h9/yfIff8nyH3/J8h9/yfI + ff8nyH3/J8h9/yfIff8nyH3/J8h9/yfIff8nyH3/J8h9/yfIff8nyH3/J8h9/yfIff8nyH3/J8h9/yfI + ff8nyH3/J8h9/yfIff8nyH3/J8h9/yfIff8nyH3/J8h9/yfIff8nyH3/J8h9/yfIff8nyH3/J8h9/yfI + ff8nyH3/J8h9/yfIff8nyH3/J8h9/yfIff8nyH3/J8h9/yfIff8nyH3/J8h9/wAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmyH3/Jsh9/ybI + ff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybI + ff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybI + ff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybI + ff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybI + ff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybI + ff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybI + ff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybI + ff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybI + ff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJsh+/ybI + fv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybI + fv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybI + fv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybI + fv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybI + fv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybI + fv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybI + fv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybI + fv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybI + fv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACbJ + f/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJ + f/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJ + f/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJ + f/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJ + f/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJ + f/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJ + f/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJ + f/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJ + f/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//wAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAmyX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJ + f/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJ + f/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJ + f/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJ + f/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJ + f/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJ + f/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJ + f/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJ + f/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJf/8myX//Jsl//ybJ + f/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAJcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXK + f/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXK + f/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXK + f/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXK + f/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXK + f/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXK + f/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXK + f/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXK + f/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXKf/8lyn//Jcp//yXK + f/8lyn//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAACXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXK + gP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXK + gP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXK + gP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXK + gP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXK + gP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXK + gP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXK + gP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXK + gP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXK + gP8lyoD/JcqA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAlyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXK + gP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXK + gP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXK + gP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXK + gP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXK + gP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXK + gP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXK + gP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXK + gP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXK + gP8lyoD/JcqA/yXKgP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAJcuB/yXLgf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXL + gf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXL + gf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXL + gf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXL + gf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXL + gf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXL + gf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXL + gf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXL + gf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXLgf8ly4H/JcuB/yXL + gf8ly4H/JcuB/yXLgf8ly4H/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAACTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTL + gf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTL + gf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTL + gf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTL + gf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTL + gf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTL + gf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTL + gf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTL + gf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTL + gf8ky4H/JMuB/yTLgf8ky4H/JMuB/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTM + gv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTM + gv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTM + gv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTM + gv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTM + gv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTM + gv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTM + gv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTM + gv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTM + gv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTM + gv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTM + gv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTM + gv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTM + gv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTM + gv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTM + gv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTM + gv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTM + gv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTM + gv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACTNg/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTN + g/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTN + g/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTN + g/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTN + g/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTN + g/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTN + g/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTN + g/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTN + g/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTN + g/8kzYP/JM2D/yTNg/8kzYP/JM2D/yTNg/8kzYP/JM2D/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjzYP/I82D/yPNg/8jzYP/I82D/yPN + g/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPN + g/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPN + g/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPN + g/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPN + g/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPN + g/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPN + g/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPN + g/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPN + g/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI82E/yPNhP8jzYT/I82E/yPN + hP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPN + hP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPN + hP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPN + hP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPN + hP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPN + hP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPN + hP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPN + hP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPN + hP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACPOhP8jzoT/I86E/yPO + hP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPO + hP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPO + hP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPO + hP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPO + hP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPO + hP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPO + hP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPO + hP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPO + hP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/wAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjzoT/I86E/yPO + hP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPO + hP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPO + hP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPO + hP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPO + hP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPO + hP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPO + hP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPO + hP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPO + hP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8jzoT/I86E/yPOhP8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIs6F/yLO + hf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLO + hf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLO + hf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLO + hf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLO + hf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLO + hf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLO + hf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLO + hf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLO + hf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACLP + hf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLP + hf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLP + hf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLP + hf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLP + hf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLP + hf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLP + hf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLP + hf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLP + hf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/wAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAiz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLP + hv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLP + hv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLP + hv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLP + hv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLP + hv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLP + hv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLP + hv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLP + hv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLP + hv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAIs+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLP + hv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLP + hv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLP + hv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLP + hv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLP + hv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLP + hv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLP + hv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLP + hv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLPhv8iz4b/Is+G/yLP + hv8iz4b/oX0rgKF9K4ChfSuAoX0rgKF9K4ChfSuAoX0rgKF9K4ChfSuAoX0rgKF9K4ChfSuAoX0rgKF9 + K4ChfSuAoX0rgKF9K4ChfSuAoX0rgKF9K4ChfSuAoX0rgKF9K4ChfSuAoX0rgKF9K4ChfSuAoX0rgKF9 + K4ChfSuAoX0rgKF9K4ChfSuAoX0rYKF9K0ChfSsQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAACHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQ + h/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQ + h/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQ + h/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQ + h/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQ + h/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQ + h/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQ + h/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQ + h/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQ + h/8h0If/IdCH/6F9K/+hfSv/oX0r/6F9K/+hfSv/oX0r/6F9K/+hfSv/oX0r/6F9K/+hfSv/oX0r/6F9 + K/+hfSv/oX0r/6F9K/+hfSv/oX0r/6F9K/+hfSv/oX0r/6F9K/+hfSv/oX0r/6F9K/+hfSv/oX0r/6F9 + K/+hfSv/oX0r/6F9K/+hfSv/oX0r/6F9K/+hfSv/oX0r/6F9K8+hfSuPoX0rIAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAh0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQ + h/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQ + h/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQ + h/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQ + h/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQ + h/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQ + h/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQ + h/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQ + h/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQ + h/8h0If/IdCH/yHQh/+ifiz/on4s/6J+LP+ifiz/on4s/6J+LP+ifiz/on4s/6J+LP+ifiz/on4s/6J+ + LP+ifiz/on4s/6J+LP+ifiz/on4s/6J+LP+ifiz/on4s/6J+LP+ifiz/on4s/6J+LP+ifiz/on4s/6J+ + LP+ifiz/on4s/6J+LP+ifiz/on4s/6J+LP+ifiz/on4s/6J+LP+ifiz/on4s/6J+LP+ifiyvon4sIAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAIdGH/yHRh/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHR + h/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHR + h/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHR + h/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHR + h/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHR + h/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHR + h/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHR + h/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHR + h/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHRh/8h0Yf/IdGH/yHR + h/8h0Yf/IdGH/yHRh/8h0Yf/o34s/6N+LP+jfiz/o34s/6N+LP+jfiz/o34s/6N+LP+jfiz/o34s/6N+ + LP+jfiz/o34s/6N+LP+jfiz/o34s/6N+LP+jfiz/o34s/6N+LP+jfiz/o34s/6N+LP+jfiz/o34s/6N+ + LP+jfiz/o34s/6N+LP+jfiz/o34s/6N+LP+jfiz/o34s/6N+LP+jfiz/o34s/6N+LP+jfiz/o34s/6N+ + LP+jfiyPo34sEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAACHRiP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHR + iP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHR + iP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHR + iP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHR + iP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHR + iP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHR + iP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHR + iP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHR + iP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/yHR + iP8h0Yj/IdGI/yHRiP8h0Yj/IdGI/6N/Lf+jfy3/o38t/6N/Lf+jfy3/o38t/6N/Lf+jfy3/o38t/6N/ + Lf+jfy3/o38t/6N/Lf+jfy3/o38t/6N/Lf+jfy3/o38t/6N/Lf+jfy3/o38t/6N/Lf+jfy3/o38t/6N/ + Lf+jfy3/o38t/6N/Lf+jfy3/o38t/6N/Lf+jfy3/o38t/6N/Lf+jfy3/o38t/6N/Lf+jfy3/o38t/6N/ + Lf+jfy3/o38t/6N/Lc+jfy0gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAg0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDR + iP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDR + iP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDR + iP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDR + iP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDR + iP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDR + iP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDR + iP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDR + iP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDR + iP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP+kfy3/pH8t/6R/Lf+kfy3/pH8t/6R/Lf+kfy3/pH8t/6R/ + Lf+kfy3/pH8t/6R/Lf+kfy3/pH8t/6R/Lf+kfy3/pH8t/6R/Lf+kfy3/pH8t/6R/Lf+kfy3/pH8t/6R/ + Lf+kfy3/pH8t/6R/Lf+kfy3/pH8t/6R/Lf+kfy3/pH8t/6R/Lf+kfy3/pH8t/6R/Lf+kfy3/pH8t/6R/ + Lf+kfy3/pH8t/6R/Lf+kfy3/pH8t76R/LTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAINKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/pIAu/6SALv+kgC7/pIAu/6SALv+kgC7/pIAu/6SA + Lv+kgC7/pIAu/6SALv+kgC7/pIAu/6SALv+kgC7/pIAu/6SALv+kgC7/pIAu/6SALv+kgC7/pIAu/6SA + Lv+kgC7/pIAu/6SALv+kgC7/pIAu/6SALv+kgC7/pIAu/6SALv+kgC7/pIAu/6SALv+kgC7/pIAu/6SA + Lv+kgC7/pIAu/6SALv+kgC7/pIAu/6SALv+kgC7vpYAuMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/6WAL/+lgC//pYAv/6WAL/+lgC//pYAv/6WA + L/+lgC//pYAv/6WAL/+lgC//pYAv/6WAL/+lgC//pYAv/6WAL/+lgC//pYAv/6WAL/+lgC//pYAv/6WA + L/+lgC//pYAv/6WAL/+lgC//pYAv/6WAL/+lgC//pYAv/6WAL/+lgC//pYAv/6WAL/+lgC//pYAv/6WA + L/+lgC//pYAv/6WAL/+lgC//pYAv/6WAL/+lgC//pYAv/6WAL8+lgC8QAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAg0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif+mgS//poEv/6aBL/+mgS//poEv/6aB + L/+mgS//poEv/6aBL/+mgS//poEv/6aBL/+mgS//poEv/6aBL/+mgS//poEv/6aBL/+mgS//poEv/6aB + L/+mgS//poEv/6aBL/+mgS//poEv/6aBL/+mgS//poEv/6aBL/+mgS//poEv/6aBL/+mgS//poEv/6aB + L/+mgS//poEv/6aBL/+mgS//poEv/6aBL/+mgS//poEv/6aBL/+mgS//poEvrwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAINKK/yDSiv8g0or/INKK/yDS + iv8g0or/INKK/yDSiv8g0or/INKK/yDSiv8g0or/INKK/yDSiv8g0or/INKK/yDSiv8g0or/INKK/yDS + iv8g0or/INKK/yDSiv8g0or/INKK/yDSiv8g0or/INKK/yDSiv8g0or/INKK/yDSiv8g0or/INKK/yDS + iv8g0or/INKK/yDSiv8g0or/INKK/yDSiv8g0or/INKK/yDSiv8g0or/INKK/yDSiv8g0or/INKK/yDS + iv8g0or/INKK/yDSiv8g0or/INKK/yDSiv8g0or/INKK/yDSiv8g0or/INKK/yDSiv8g0or/INKK/yDS + iv8g0or/INKK/yDSiv8g0or/INKK/yDSiv8g0or/INKK/yDSiv8g0or/INKK/yDSiv8g0or/INKK/yDS + iv8g0or/INKK/yDSiv8g0or/INKK/yDSiv8g0or/INKK/yDSiv8g0or/INKK/yDSiv8g0or/INKK/yDS + iv8g0or/INKK/yDSiv8g0or/INKK/yDSiv8g0or/INKK/yDSiv8g0or/INKK/yDSiv8g0or/INKK/yDS + iv8g0or/INKK/yDSiv8g0or/INKK/yDSiv8g0or/INKK/yDSiv8g0or/INKK/yDSiv8g0or/INKK/yDS + iv8g0or/INKK/yDSiv8g0or/INKK/yDSiv8g0or/INKK/yDSiv8g0or/poEw/6aBMP+mgTD/poEw/6aB + MP+mgTD/poEw/6aBMP+mgTD/poEw/6aBMP+mgTD/poEw/6aBMP+mgTD/poEw/6aBMP+mgTD/poEw/6aB + MP+mgTD/poEw/6aBMP+mgTD/poEw/6aBMP+mgTD/poEw/6aBMP+mgTD/poEw/6aBMP+mgTD/poEw/6aB + MP+mgTD/poEw/6aBMP+mgTD/poEw/6aBMP+mgTD/poEw/6aBMP+mgTD/poEw/6aBMP+mgTBAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/Tiv8f04r/H9OK/x/T + iv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/T + iv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/T + iv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/T + iv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/T + iv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/T + iv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/T + iv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/T + iv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/T + iv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/6eCMP+ngjD/p4Iw/6eC + MP+ngjD/p4Iw/6eCMP+ngjD/p4Iw/6eCMP+ngjD/p4Iw/6eCMP+ngjD/p4Iw/6eCMP+ngjD/p4Iw/6eC + MP+ngjD/p4Iw/6eCMP+ngjD/p4Iw/6eCMP+ngjD/p4Iw/6eCMP+ngjD/p4Iw/6eCMP+ngjD/p4Iw/6eC + MP+ngjD/p4Iw/6eCMP+ngjD/p4Iw/6eCMP+ngjD/p4Iw/6eCMP+ngjD/p4Iw/6eCMP+ngjD/p4IwvwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf04v/H9OL/x/T + i/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/T + i/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/T + i/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/T + i/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/T + i/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/T + i/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/T + i/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/T + i/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/T + i/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/+ngjH/p4Ix/6eC + Mf+ngjH/p4Ix/6eCMf+ngjH/p4Ix/6eCMf+ngjH/p4Ix/6eCMf+ngjH/p4Ix/6eCMf+ngjH/p4Ix/6eC + Mf+ngjH/p4Ix/6eCMf+ngjH/p4Ix/6eCMf+ngjH/p4Ix/6eCMf+ngjH/p4Ix/6eCMf+ngjH/p4Ix/6eC + Mf+ngjH/p4Ix/6eCMf+ngjH/p4Ix/6eCMf+ngjH/p4Ix/6eCMf+ngjH/p4Ix/6eCMf+ngjH/p4Ix/6eC + Mf+ngjFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH9OL/x/T + i/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/T + i/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/T + i/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/T + i/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/T + i/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/T + i/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/T + i/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/T + i/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/T + i/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/qIMx/6iD + Mf+ogzH/qIMx/6iDMf+ogzH/qIMx/6iDMf+ogzH/qIMx/6iDMf+ogzH/qIMx/6iDMf+ogzH/qIMx/6iD + Mf+ogzH/qIMx/6iDMf+ogzH/qIMx/6iDMf+ogzH/qIMx/6iDMf+ogzH/qIMx/6iDMf+ogzH/qIMx/6iD + Mf+ogzH/qIMx/6iDMf+ogzH/qIMx/6iDMf+ogzH/qIMx/6iDMf+ogzH/qIMx/6iDMf+ogzH/qIMx/6iD + Mf+ogzH/qIMxnwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/U + i/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/U + i/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/U + i/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/U + i/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/U + i/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/U + i/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/U + i/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/U + i/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/U + i/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/x/Ui/8f1Iv/H9SL/6mD + Mv+pgzL/qYMy/6mDMv+pgzL/qYMy/6mDMv+pgzL/qYMy/6mDMv+pgzL/qYMy/6mDMv+pgzL/qYMy/6mD + Mv+pgzL/qYMy/6mDMv+pgzL/qYMy/6mDMv+pgzL/qYMy/6mDMv+pgzL/qYMy/6mDMv+pgzL/qYMy/6mD + Mv+pgzL/qYMy/6mDMv+pgzL/qYMy/6mDMv+pgzL/qYMy/6mDMv+pgzL/qYMy/6mDMv+pgzL/qYMy/6mD + Mv+pgzL/qYMy/6mDMu8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAf1Iz/H9SM/x/UjP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/U + jP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/U + jP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/U + jP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/U + jP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/U + jP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/U + jP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/U + jP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/U + jP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/UjP8f1Iz/H9SM/x/U + jP+phDL/qYQy/6mEMv+phDL/qYQy/6mEMv+phDL/qYQy/6mEMv+phDL/qYQy/6mEMv+phDL/qYQy/6mE + Mv+phDL/qYQy/6mEMv+phDL/qYQy/6mEMv+phDL/qYQy/6mEMv+phDL/qYQy/6mEMv+phDL/qYQy/6mE + Mv+phDL/qYQy/6mEMv+phDL/qYQy/6mEMv+phDL/qYQy/6mEMv+phDL/qYQy/6mEMv+phDL/qYQy/6mE + Mv+phDL/qYQy/6mEMv+phDL/qYQyQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAHtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7U + jP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7U + jP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7U + jP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7U + jP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7U + jP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7U + jP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7U + jP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7U + jP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7U + jP8e1Iz/qoQz/6qEM/+qhDP/qoQz/6qEM/+qhDP/qoQz/6qEM/+qhDP/qoQz/6qEM/+qhDP/qoQz/6qE + M/+qhDP/qoQz/6qEM/+qhDP/qoQz/6qEM/+qhDP/qoQz/6qEM/+qhDP/qoQz/6qEM/+qhDP/qoQz/6qE + M/+qhDP/qoQz/6qEM/+qhDP/qoQz/6qEM/+qhDP/qoQz/6qEM/+qhDP/qoQz/6qEM/+qhDP/qoQz/6qE + M/+qhDP/qoQz/6qEM/+qhDP/qoQz/6qEM3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAB7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7V + jP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7V + jP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7V + jP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7V + jP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7V + jP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7V + jP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7V + jP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7V + jP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7V + jP8e1Yz/HtWM/6qFM/+qhTP/qoUz/6qFM/+qhTP/qoUz/6qFM/+qhTP/qoUz/6qFM/+qhTP/qoUz/6qF + M/+qhTP/qoUz/6qFM/+qhTP/qoUz/6qFM/+qhTP/qoUz/6qFM/+qhTP/qoUz/6qFM/+qhTP/qoUz/6qF + M/+qhTP/qoUz/6qFM/+qhTP/qoUz/6qFM/+qhTP/qoUz/6qFM/+qhTP/qoUz/6qFM/+qhTP/qoUz/6qF + M/+qhTP/qoUz/6qFM/+qhTP/qoUz/6qFM/+qhTOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAe1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf+rhTT/q4U0/6uFNP+rhTT/q4U0/6uFNP+rhTT/q4U0/6uFNP+rhTT/q4U0/6uF + NP+rhTT/q4U0/6uFNP+rhTT/q4U0/6uFNP+rhTT/q4U0/6uFNP+rhTT/q4U0/6uFNP+rhTT/q4U0/6uF + NP+rhTT/q4U0/6uFNP+rhTT/q4U0/6uFNP+rhTT/q4U0/6uFNP+rhTT/q4U0/6uFNP+rhTT/q4U0/6uF + NP+rhTT/q4U0/6uFNP+rhTT/q4U0/6uFNP+rhTT/q4U0vwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAHtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/rIY1/6yGNf+shjX/rIY1/6yGNf+shjX/rIY1/6yGNf+shjX/rIY1/6yG + Nf+shjX/rIY1/6yGNf+shjX/rIY1/6yGNf+shjX/rIY1/6yGNf+shjX/rIY1/6yGNf+shjX/rIY1/6yG + Nf+shjX/rIY1/6yGNf+shjX/rIY1/6yGNf+shjX/rIY1/6yGNf+shjX/rIY1/6yGNf+shjX/rIY1/6yG + Nf+shjX/rIY1/6yGNf+shjX/rIY1/6yGNf+shjX/rIY1/6yGNb8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAB7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/6yHNf+shzX/rIc1/6yHNf+shzX/rIc1/6yHNf+shzX/rIc1/6yH + Nf+shzX/rIc1/6yHNf+shzX/rIc1/6yHNf+shzX/rIc1/6yHNf+shzX/rIc1/6yHNf+shzX/rIc1/6yH + Nf+shzX/rIc1/6yHNf+shzX/rIc1/6yHNf+shzX/rIc1/6yHNf+shzX/rIc1/6yHNf+shzX/rIc1/6yH + Nf+shzX/rIc1/6yHNf+shzX/rIc1/6yHNf+shzX/rIc1/6yHNf+shzW/AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAe1o7/HtaO/x7Wjv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7W + jv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7W + jv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7W + jv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7W + jv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7W + jv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7W + jv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7W + jv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7W + jv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7W + jv8e1o7/HtaO/x7Wjv8e1o7/HtaO/x7Wjv+thzb/rYc2/62HNv+thzb/rYc2/62HNv+thzb/rYc2/62H + Nv+thzb/rYc2/62HNv+thzb/rYc2/62HNv+thzb/rYc2/62HNv+thzb/rYc2/62HNv+thzb/rYc2/62H + Nv+thzb/rYc2/62HNv+thzb/rYc2/62HNv+thzb/rYc2/62HNv+thzb/rYc2/62HNv+thzb/rYc2/62H + Nv+thzb/rYc2/62HNv+thzb/rYc2/62HNv+thzb/rYc2/62HNv+thzb/rYc2vwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/rYg2/62INv+tiDb/rYg2/62INv+tiDb/rYg2/62I + Nv+tiDb/rYg2/62INv+tiDb/rYg2/62INv+tiDb/rYg2/62INv+tiDb/rYg2/62INv+tiDb/rYg2/62I + Nv+tiDb/rYg2/62INv+tiDb/rYg2/62INv+tiDb/rYg2/62INv+tiDb/rYg2/62INv+tiDb/rYg2/62I + Nv+tiDb/rYg2/62INv+tiDb/rYg2/62INv+tiDb/rYg2/62INv+tiDb/rYg2/62INr8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/66IN/+uiDf/rog3/66IN/+uiDf/rog3/66I + N/+uiDf/rog3/66IN/+uiDf/rog3/66IN/+uiDf/rog3/66IN/+uiDf/rog3/66IN/+uiDf/rog3/66I + N/+uiDf/rog3/66IN/+uiDf/rog3/66IN/+uiDf/rog3/66IN/+uiDf/rog3/66IN/+uiDf/rog3/66I + N/+uiDf/rog3/66IN/+uiDf/rog3/66IN/+uiDf/rog3/66IN/+uiDf/rog3/66IN/+uiDe/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAd1o//HdaP/x3Wj/8d1o//HdaP/x3W + j/8d1o//HdaP/x3Wj/8d1o//HdaP/x3Wj/8d1o//HdaP/x3Wj/8d1o//HdaP/x3Wj/8d1o//HdaP/x3W + j/8d1o//HdaP/x3Wj/8d1o//HdaP/x3Wj/8d1o//HdaP/x3Wj/8d1o//HdaP/x3Wj/8d1o//HdaP/x3W + j/8d1o//HdaP/x3Wj/8d1o//HdaP/x3Wj/8d1o//HdaP/x3Wj/8d1o//HdaP/x3Wj/8d1o//HdaP/x3W + j/8d1o//HdaP/x3Wj/8d1o//HdaP/x3Wj/8d1o//HdaP/x3Wj/8d1o//HdaP/x3Wj/8d1o//HdaP/x3W + j/8d1o//HdaP/x3Wj/8d1o//HdaP/x3Wj/8d1o//HdaP/x3Wj/8d1o//HdaP/x3Wj/8d1o//HdaP/x3W + j/8d1o//HdaP/x3Wj/8d1o//HdaP/x3Wj/8d1o//HdaP/x3Wj/8d1o//HdaP/x3Wj/8d1o//HdaP/x3W + j/8d1o//HdaP/x3Wj/8d1o//HdaP/x3Wj/8d1o//HdaP/x3Wj/8d1o//HdaP/x3Wj/8d1o//HdaP/x3W + j/8d1o//HdaP/x3Wj/8d1o//HdaP/x3Wj/8d1o//HdaP/x3Wj/8d1o//HdaP/x3Wj/8d1o//HdaP/x3W + j/8d1o//HdaP/x3Wj/8d1o//HdaP/x3Wj/8d1o//HdaP/x3Wj/+viTf/r4k3/6+JN/+viTf/r4k3/6+J + N/+viTf/r4k3/6+JN/+viTf/r4k3/6+JN/+viTf/r4k3/6+JN/+viTf/r4k3/6+JN/+viTf/r4k3/6+J + N/+viTf/r4k3/6+JN/+viTf/r4k3/6+JN/+viTf/r4k3/6+JN/+viTf/r4k3/6+JN/+viTf/r4k3/6+J + N/+viTf/r4k3/6+JN/+viTf/r4k3/6+JN/+viTf/r4k3/6+JN/+viTf/r4k3/6+JN/+viTf/r4k3vwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//r4k4/6+JOP+viTj/r4k4/6+J + OP+viTj/r4k4/6+JOP+viTj/r4k4/6+JOP+viTj/r4k4/6+JOP+viTj/r4k4/6+JOP+viTj/r4k4/6+J + OP+viTj/r4k4/6+JOP+viTj/r4k4/6+JOP+viTj/r4k4/6+JOP+viTj/r4k4/6+JOP+viTj/r4k4/6+J + OP+viTj/r4k4/6+JOP+viTj/r4k4/6+JOP+viTj/r4k4/6+JOP+viTj/r4k4/6+JOP+viTj/r4k4/6+J + OL8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/7CKOP+wijj/sIo4/7CK + OP+wijj/sIo4/7CKOP+wijj/sIo4/7CKOP+wijj/sIo4/7CKOP+wijj/sIo4/7CKOP+wijj/sIo4/7CK + OP+wijj/sIo4/7CKOP+wijj/sIo4/7CKOP+wijj/sIo4/7CKOP+wijj/sIo4/7CKOP+wijj/sIo4/7CK + OP+wijj/sIo4/7CKOP+wijj/sIo4/7CKOP+wijj/sIo4/7CKOP+wijj/sIo4/7CKOP+wijj/sIo4/7CK + OP+wiji/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAd14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/+xijn/sYo5/7GK + Of+xijn/sYo5/7GKOf+xijn/sYo5/7GKOf+xijn/sYo5/7GKOf+xijn/sYo5/7GKOf+xijn/sYo5/7GK + Of+xijn/sYo5/7GKOf+xijn/sYo5/7GKOf+xijn/sYo5/7GKOf+xijn/sYo5/7GKOf+xijn/sYo5/7GK + Of+xijn/sYo5/7GKOf+xijn/sYo5/7GKOf+xijn/sYo5/7GKOf+xijn/sYo5/7GKOf+xijn/sYo5/7GK + Of+xijn/sYo5vwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHNeQ/xzX + kP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzX + kP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzX + kP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzX + kP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzX + kP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzX + kP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzX + kP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzX + kP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzX + kP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzXkP8c15D/HNeQ/xzXkP8c15D/sYs6/7GL + Ov+xizr/sYs6/7GLOv+xizr/sYs6/7GLOv+xizr/sYs6/7GLOv+xizr/sYs6/7GLOv+xizr/sYs6/7GL + Ov+xizr/sYs6/7GLOv+xizr/sYs6/7GLOv+xizr/sYs6/7GLOv+xizr/sYs6/7GLOv+xizr/sYs6/7GL + Ov+xizr/sYs6/7GLOv+xizr/sYs6/7GLOv+xizr/sYs6/7GLOv+xizr/sYs6/7GLOv+xizr/sYs6/7GL + Ov+xizr/sYs6/7GLOr8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABzY + kP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzY + kP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzY + kP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzY + kP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzY + kP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzY + kP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzY + kP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzY + kP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzY + kP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/7KL + Ov+yizr/sos6/7KLOv+yizr/sos6/7KLOv+yizr/sos6/7KLOv+yizr/sos6/7KLOv+yizr/sos6/7KL + Ov+yizr/sos6/7KLOv+yizr/sos6/7KLOv+yizr/sos6/7KLOv+yizr/sos6/7KLOv+yizr/sos6/7KL + Ov+yizr/sos6/7KLOv+yizr/sos6/7KLOv+yizr/sos6/7KLOv+yizr/sos6/7KLOv+yizr/sos6/7KL + Ov+yizr/sos6/7KLOv+yizq/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAc2JD/HNiQ/x/Zk/8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzY + kP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzY + kP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzY + kP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzY + kP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzY + kP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzY + kP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzY + kP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzY + kP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8f2ZP/HNiQ/xzY + kP+yjDv/sow7/7KMO/+yjDv/sow7/7KMO/+yjDv/sow7/7KMO/+yjDv/sow7/7KMO/+yjDv/sow7/7KM + O/+yjDv/sow7/7KMO/+yjDv/sow7/7KMO/+yjDv/sow7/7KMO/+yjDv/sow7/7KMO/+yjDv/sow7/7KM + O/+yjDv/sow7/7KMO/+yjDv/sow7/7KMO/+yjDv/sow7/7KMO/+yjDv/sow7/7KMO/+yjDv/sow7/7KM + O/+yjDv/sow7/7KMO/+yjDv/sow7vwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAHNiR/xzYkf8p3Zz/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzY + kf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzY + kf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzY + kf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzY + kf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzY + kf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzY + kf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzY + kf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzY + kf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/Kd2c/xzY + kf8c2JH/s4w7/7OMO/+zjDv/s4w7/7OMO/+zjDv/s4w7/7OMO/+zjDv/s4w7/7OMO/+zjDv/s4w7/7OM + O/+zjDv/s4w7/7OMO/+zjDv/s4w7/7OMO/+zjDv/s4w7/7OMO/+zjDv/s4w7/7OMO/+zjDv/s4w7/7OM + O/+zjDv/s4w7/7OMO/+zjDv/s4w7/7OMO/+zjDv/s4w7/7OMO/+zjDv/s4w7/7OMO/+zjDv/s4w7/7OM + O/+zjDv/s4w7/7OMO/+zjDv/s4w7/7OMO78AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAABzYkf8c2JH/Ld6g/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzY + kf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzY + kf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzY + kf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzY + kf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzY + kf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzY + kf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzY + kf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzY + kf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/zDf + o/8c2JH/HNiR/7ONPP+zjTz/s408/7ONPP+zjTz/s408/7ONPP+zjTz/s408/7ONPP+zjTz/s408/7ON + PP+zjTz/s408/7ONPP+zjTz/s408/7ONPP+zjTz/s408/7ONPP+zjTz/s408/7ONPP+zjTz/s408/7ON + PP+zjTz/s408/7ONPP+zjTz/s408/7ONPP+zjTz/s408/7ONPP+zjTz/s408/7ONPP+zjTz/s408/7ON + PP+zjTz/s408/7ONPP+zjTz/s408/7ONPP+zjTy/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAc2ZH/HNmR/zfiqf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZ + kf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZ + kf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZ + kf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZ + kf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZ + kf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZ + kf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZ + kf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZ + kf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZ + kf834qn/HNmR/xzZkf+0jTz/tI08/7SNPP+0jTz/tI08/7SNPP+0jTz/tI08/7SNPP+0jTz/tI08/7SN + PP+0jTz/tI08/7SNPP+0jTz/tI08/7SNPP+0jTz/tI08/7SNPP+0jTz/tI08/7SNPP+0jTz/tI08/7SN + PP+0jTz/tI08/7SNPP+0jTz/tI08/7SNPP+0jTz/tI08/7SNPP+0jTz/tI08/7SNPP+0jTz/tI08/7SN + PP+0jTz/tI08/7SNPP+0jTz/tI08/7SNPP+0jTz/tI08vwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAHNmR/xzZkf9A5bH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZ + kf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZ + kf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZ + kf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZ + kf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZ + kf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZ + kf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZ + kf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZ + kf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZ + kf8c2ZH/QOWx/xzZkf8l1Iz/tY49/7WOPf+1jj3/tY49/7WOPf+1jj3/tY49/7WOPf+1jj3/tY49/7WO + Pf+1jj3/tY49/7WOPf+1jj3/tY49/7WOPf+1jj3/tY49/7WOPf+1jj3/tY49/7WOPf+1jj3/tY49/7WO + Pf+1jj3/tY49/7WOPf+1jj3/tY49/7WOPf+1jj3/tY49/7WOPf+1jj3/tY49/7WOPf+1jj3/tY49/7WO + Pf+1jj3/tY49/7WOPf+1jj3/tY49/7WOPf+1jj3/tY49/7WOPb8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAABvZkc8b2ZL/P+Wy/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/HtqU/0Pntf8b2ZL/Qsd9/7WOPv+1jj7/tY4+/7WOPv+1jj7/tY4+/7WOPv+1jj7/tY4+/7WO + Pv+1jj7/tY4+/7WOPv+1jj7/tY4+/7WOPv+1jj7/tY4+/7WOPv+1jj7/tY4+/7WOPv+1jj7/tY4+/7WO + Pv+1jj7/tY4+/7WOPv+1jj7/tY4+/7WOPv+1jj7/tY4+/7WOPv+1jj7/tY4+/7WOPv+1jj7/tY4+/7WO + Pv+1jj7/tY4+/7WOPv+1jj7/tY4+/7WOPv+1jj7/tY4+/7WOPv+1jj6/AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAb2ZKvG9mS/zzkr/8v4KT/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/y/gpP8546z/G9mS/1W9c/+2jz7/to8+/7aPPv+2jz7/to8+/7aPPv+2jz7/to8+/7aP + Pv+2jz7/to8+/7aPPv+2jz7/to8+/7aPPv+2jz7/to8+/7aPPv+2jz7/to8+/7aPPv+2jz7/to8+/7aP + Pv+2jz7/to8+/7aPPv+2jz7/to8+/7aPPv+2jz7/to8+/7aPPv+2jz7/to8+/7aPPv+2jz7/to8+/7aP + Pv+2jz7/to8+/7aPPv+2jz7/to8+/7aPPv+2jz7/to8+/7aPPv+2jz7/to8+vwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG9mScBvZkv8v4KT/Q+e1/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv9D57X/LN+h/xvZkv98ql7/t48//7ePP/+3jz//t48//7ePP/+3jz//t48//7eP + P/+3jz//t48//7ePP/+3jz//t48//7ePP/+3jz//t48//7ePP/+3jz//t48//7ePP/+3jz//t48//7eP + P/+3jz//t48//7ePP/+3jz//t48//7ePP/+3jz//t48//7ePP/+3jz//t48//7ePP/+3jz//t48//7eP + P/+3jz//t48//7ePP/+3jz//t48//7ePP/+3jz//t48//7ePP/+3jz//t48//7ePP78AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABvZkiAb2ZL/HtqV/03qvv8o3p7/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8s36H/Teq+/xvZkv8b2ZL/pJlJ/7eQP/+3kD//t5A//7eQP/+3kD//t5A//7eQ + P/+3kD//t5A//7eQP/+3kD//t5A//7eQP/+3kD//t5A//7eQP/+3kD//t5A//7eQP/+3kD//t5A//7eQ + P/+3kD//t5A//7eQP/+3kD//t5A//7eQP/+3kD//t5A//7eQP/+3kD//t5A//7eQP/+3kD//t5A//7eQ + P/+3kD//t5A//7eQP/+3kD//t5A//7eQP/+3kD//t5A//7eQP/+3kD//t5A//7eQP/+3kD+/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG9qSvxvakv885a//Seq7/x7b + lf8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xva + kv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xva + kv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xva + kv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xva + kv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xva + kv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xva + kv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xva + kv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xva + kv8b2pL/G9qS/xvakv8e25X/Seq7/zzlr/8b2pL/TMJ4/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iR + QP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iR + QP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iR + QP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFAvwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABvakmAb2pP/ItyY/1Ds + wf885a//G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/POWv/03rvv8i3Jj/G9qT/5GjVf+4kUD/uJFA/7iRQP+4kUD/uJFA/7iR + QP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iR + QP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iR + QP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iR + QL8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG9qT3xva + k/8246r/UOzB/y/hpP8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/MuKn/1Dswf8246r/G9qT/0PIf/+5kkH/uZJB/7mSQf+5kkH/uZJB/7mS + Qf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mS + Qf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mS + Qf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mS + Qf+5kkG/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABva + k0Ab2pP/G9qT/0bpuP9Q7MH/L+Gk/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/MuKn/1Dswf9G6bj/G9qT/xvak/+SpFb/uZJB/7mSQf+5kkH/uZJB/7mS + Qf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mS + Qf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mS + Qf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mS + Qf+5kkH/uZJBvwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAG9qTjxvak/8h3Jn/TOu+/1Dswf885bD/HtuW/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8e25b/POWw/1Dswf9M677/HtuW/xvak/9qtmv/upNC/7qTQv+6k0L/upNC/7qT + Qv+6k0L/upNC/7qTQv+6k0L/upNC/7qTQv+6k0L/upNC/7qTQv+6k0L/upNC/7qTQv+6k0L/upNC/7qT + Qv+6k0L/upNC/7qTQv+6k0L/upNC/7qTQv+6k0L/upNC/7qTQv+6k0L/upNC/7qTQv+6k0L/upNC/7qT + Qv+6k0L/upNC/7qTQv+6k0L/upNC/7qTQv+6k0L/upNC/7qTQv+6k0L/upNC/7qTQv+6k0L/upNC/7qT + Qv+6k0L/upNC/7qTQr8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAa2pPPGtqT/yTdnP9L677/TuzB/0jqu/8n35//GtqT/xrak/8a2pP/GtqT/xra + k/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xra + k/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xra + k/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xra + k/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xra + k/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xra + k/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xra + k/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xra + k/8a2pP/GtqT/xrak/8q4KH/SOq7/07swf9L677/JN2c/xrak/9CyX//u5ND/7uTQ/+7k0P/u5ND/7uT + Q/+7k0P/u5ND/7uTQ/+7k0P/u5ND/7uTQ/+7k0P/u5ND/7uTQ/+7k0P/u5ND/7uTQ/+7k0P/u5ND/7uT + Q/+7k0P/u5ND/7uTQ/+7k0P/u5ND/7uTQ/+7k0P/u5ND/7uTQ/+7k0P/u5ND/7uTQ/+7k0P/u5ND/7uT + Q/+7k0P/u5ND/7uTQ/+7k0P/u5ND/7uTQ/+7k0P/u5ND/7uTQ/+7k0P/u5ND/7uTQ/+7k0P/u5ND/7uT + Q/+7k0P/u5ND/7uTQ/+7k0O/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAGtqTEBrak88a2pP/IdyZ/0TpuP9O7MH/TuzB/0Hotv8u4aT/HduW/xra + k/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xra + k/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xra + k/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xra + k/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xra + k/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xra + k/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xra + k/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xra + k/8a2pP/HduW/y7hpP9E6bj/TuzB/07swf9E6bj/HduW/xrak/84zYT/sZhI/7uUQ/+7lEP/u5RD/7uU + Q/+7lEP/u5RD/7uUQ/+7lEP/u5RD/7uUQ/+7lEP/u5RD/7uUQ/+7lEP/u5RD/7uUQ/+7lEP/u5RD/7uU + Q/+7lEP/u5RD/7uUQ/+7lEP/u5RD/7uUQ/+7lEP/u5RD/7uUQ/+7lEP/u5RD/7uUQ/+7lEP/u5RD/7uU + Q/+7lEP/u5RD/7uUQ/+7lEP/u5RD/7uUQ/+7lEP/u5RD/7uUQ/+7lEP/u5RD/7uUQ/+7lEP/u5RD/7uU + Q/+7lEP/u5RD/7uUQ/+7lEP/u5RDvwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa25MQGtuTzxrbk/8a25P/NOSq/07swf9O7MH/TuzB/07s + wf9B6Lb/NOSq/zHip/8n35//J9+f/yffn/8n35//J9+f/yffn/8n35//J9+f/yffn/8n35//J9+f/yff + n/8n35//J9+f/yffn/8n35//J9+f/yffn/8n35//J9+f/yffn/8n35//J9+f/yffn/8n35//J9+f/yff + n/8n35//J9+f/yffn/8n35//J9+f/yffn/8n35//J9+f/yffn/8n35//J9+f/yffn/8n35//J9+f/yff + n/8n35//J9+f/yffn/8n35//J9+f/yffn/8n35//J9+f/yffn/8n35//J9+f/yffn/8n35//J9+f/yff + n/8n35//J9+f/yffn/8n35//J9+f/yffn/8n35//J9+f/yffn/8n35//J9+f/yffn/8n35//J9+f/yff + n/8n35//J9+f/yffn/8n35//J9+f/yffn/8n35//J9+f/yffn/8n35//J9+f/yffn/8n35//J9+f/yff + n/8n35//J9+f/yffn/8n35//J9+f/yffn/8n35//J9+f/yffn/8n35//J9+f/yffn/8n35//J9+f/zHi + p/805Kr/Qei2/07swf9O7MH/TuzB/0vrvv805Kr/GtuT/xrbk/9Dyn//sphJ/7yURP+8lET/vJRE/7yU + RP+8lET/vJRE/7yURP+8lET/vJRE/7yURP+8lET/vJRE/7yURP+8lET/vJRE/7yURP+8lET/vJRE/7yU + RP+8lET/vJRE/7yURP+8lET/vJRE/7yURP+8lET/vJRE/7yURP+8lET/vJRE/7yURP+8lET/vJRE/7yU + RP+8lET/vJRE/7yURP+8lET/vJRE/7yURP+8lET/vJRE/7yURP+8lET/vJRE/7yURP+8lET/vJRE/7yU + RP+8lET/vJRE/7yURP+8lET/vJRE/7yURL8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa25SPGtuU/xrblP8h3Zr/N+Wu/0vr + v/9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07s + wv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07s + wv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07s + wv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07s + wv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07s + wv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07s + wv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07s + wv9O7ML/TuzC/07swv9O7ML/S+u//zflrv8h3Zr/GtuU/xrblP9ruGz/vZVE/72VRP+9lUT/vZVE/72V + RP+9lUT/vZVE/72VRP+9lUT/vZVE/72VRP+9lUT/vZVE/72VRP+9lUT/vZVE/72VRP+9lUT/vZVE/72V + RP+9lUT/vZVE/72VRP+9lUT/vZVE/72VRP+9lUT/vZVE/72VRP+9lUT/vZVE/72VRP+9lUT/vZVE/72V + RP+9lUT/vZVE/72VRP+9lUT/vZVE/72VRP+9lUT/vZVE/72VRP+9lUT/vZVE/72VRP+9lUT/vZVE/72V + RP+9lUT/vZVE/72VRP+9lUT/vZVE/72VRP+9lUS/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABrblEAa25S/GtuU/xrb + lP8a25T/KuCi/zflrv9B6Lf/SOq8/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07s + wv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07s + wv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07s + wv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07s + wv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07s + wv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07s + wv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07s + wv9O7ML/SOq8/0Hot/835a7/KuCi/xrblP8a25T/GtuU/0PKgP+eolT/vZVF/72VRf+9lUX/vZVF/72V + Rf+9lUX/vZVF/72VRf+9lUX/vZVF/72VRf+9lUX/vZVF/72VRf+9lUX/vZVF/72VRf+9lUX/vZVF/72V + Rf+9lUX/vZVF/72VRf+9lUX/vZVF/72VRf+9lUX/vZVF/72VRf+9lUX/vZVF/72VRf+9lUX/vZVF/72V + Rf+9lUX/vZVF/72VRf+9lUX/vZVF/72VRf+9lUX/vZVF/72VRf+9lUX/vZVF/72VRf+9lUX/vZVF/72V + Rf+9lUX/vZVF/72VRf+9lUX/vZVF/72VRf+9lUX/rpRQzwCH3UAAh91AAIfdQACH3UAAh91AAIfdQACH + 3UAAh91AAIfdQACH3UAAh91AAIfdQACH3UAAh91AAIfdQACH3UAAh91AAIfdQACH3UAAh91AAIfdQACH + 3UAAh91AAIfdQACH3UAAh91AAIfdQACH3UAAh91AAIfdQACH3UAAh91AAIfdQACH3UAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABrb + lFAa25SvGtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrb + lP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrb + lP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrb + lP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrb + lP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrb + lP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrb + lP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrb + lP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/TcV7/5WnWf++lkX/vpZF/76WRf++lkX/vpZF/76W + Rf++lkX/vpZF/76WRf++lkX/vpZF/76WRf++lkX/vpZF/76WRf++lkX/vpZF/76WRf++lkX/vpZF/76W + Rf++lkX/vpZF/76WRf++lkX/vpZF/76WRf++lkX/vpZF/76WRf++lkX/vpZF/76WRf++lkX/vpZF/76W + Rf++lkX/vpZF/76WRf++lkX/vpZF/76WRf++lkX/vpZF/76WRf++lkX/vpZF/76WRf++lkX/vpZF/76W + Rf++lkX/vpZF/76WRf++lkX/vpZF/76WRf++lkX/vpZF/46Sa/8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH + 3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH + 3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH + 3d8Ah92fAIfdQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAABrblBAa25RgGtuUjxrblL8a25TfGtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrb + lP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrb + lP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrb + lP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrb + lP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrb + lP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrb + lP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrb + lP8a25T/GtuU/xrblP8v04r/Q8qB/2K8cv+BsGP/tJpL/7+WRv+/lkb/v5ZG/7+WRv+/lkb/v5ZG/7+W + Rv+/lkb/v5ZG/7+WRv+/lkb/v5ZG/7+WRv+/lkb/v5ZG/7+WRv+/lkb/v5ZG/7+WRv+/lkb/v5ZG/7+W + Rv+/lkb/v5ZG/7+WRv+/lkb/v5ZG/7+WRv+/lkb/v5ZG/7+WRv+/lkb/v5ZG/7+WRv+/lkb/v5ZG/7+W + Rv+/lkb/v5ZG/7+WRv+/lkb/v5ZG/7+WRv+/lkb/v5ZG/7+WRv+/lkb/v5ZG/7+WRv+/lkb/v5ZG/7+W + Rv+/lkb/v5ZG/7+WRv+/lkb/v5ZG/7+WRv+/lkb/v5ZG/7+WRv+Pkmv/AIfd/wCH3f8Ah93/AIfd/wCH + 3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH + 3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH + 3f8Ah93/AIfd/wCH3f8Ah93fAIfdYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv5dGQL+XRv+/l0b/v5dG/7+X + Rv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+X + Rv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+X + Rv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+X + Rv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+X + Rv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+X + Rv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+X + Rv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+X + Rv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+X + Rv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/j5Ns/wCH3f8Ah93/AIfd/wCH + 3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH + 3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH + 3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93fAIfdQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMCXR0DAl0f/wJdH/8CX + R//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CX + R//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CX + R//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CX + R//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CX + R//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CX + R//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CX + R//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CX + R//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CX + R//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/4+TbP8Ah93/AIfd/wCH + 3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH + 3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH + 3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah92AAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAmEdAwJhH/8CY + R//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CY + R//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CY + R//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CY + R//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CY + R//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CY + R//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CY + R//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CY + R//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CY + R//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR/+QlGz/AIfd/wCH + 3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH + 3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH + 3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3Z8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwZhIQMGY + SP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GY + SP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GY + SP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GY + SP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GY + SP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GY + SP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GY + SP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GY + SP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GY + SP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/kJRt/wCI + 3v8AiN7/AIje/wCI3v8AiN7/AIje/wCI3v8AiN7/AIje/wCI3v8AiN7/AIje/wCI3v8AiN7/AIje/wCI + 3v8AiN7/AIje/wCI3v8AiN7/AIje/wCI3v8AiN7/AIje/wCI3v8AiN7/AIje/wCI3v8AiN7/AIje/wCI + 3v8AiN7/AIje/wCI3v8AiN7/AIje/wCI3v8AiN7/AIje/wCI3v8AiN7/AIje/wCI3v8AiN7/AIjenwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMGZ + SUDBmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZ + Sf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZ + Sf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZ + Sf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZ + Sf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZ + Sf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZ + Sf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZ + Sf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZ + Sf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/5GV + bv8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ + 3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ + 3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ + 3v8Aid6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADCmklAwppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8Ka + Sf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8Ka + Sf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8Ka + Sf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8Ka + Sf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8Ka + Sf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8Ka + Sf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8Ka + Sf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8Ka + Sf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8Ka + Sf+RlW7/AIne/wCJ3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ + 3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ + 3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ + 3v8Aid7/AIne/wCJ30AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAw5pKQMOaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8Oa + Sv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8Oa + Sv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8Oa + Sv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8Oa + Sv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8Oa + Sv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8Oa + Sv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8Oa + Sv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8Oa + Sv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8Oa + Sv/Dmkr/kpZv/wCK3/8Ait//AIrf/wCK3/8Ait//AIrf/wCK3/8Ait//AIrf/wCK3/8Ait//AIrf/wCK + 3/8Ait//AIrf/wCK3/8Ait//AIrf/wCK3/8Ait//AIrf/wCK3/8Ait//AIrf/wCK3/8Ait//AIrf/wCK + 3/8Ait//AIrf/wCK3/8Ait//AIrf/wCK3/8Ait//AIrf/wCK3/8Ait//AIrf/wCK3/8Ait//AIrf/wCK + 3/8Ait//AIrf/wCK3/8Ait/fAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAMObSkDDm0r/w5tK/8ObSv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8Ob + Sv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8Ob + Sv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8Ob + Sv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8Ob + Sv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8Ob + Sv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8Ob + Sv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8Ob + Sv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8Ob + Sv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8ObSv/Dm0r/w5tK/8Ob + Sv/Dm0r/w5tK/5KXb/8Ai9//AIvf/wCL3/8Ai9//AIvf/wCL3/8Ai9//AIvf/wCL3/8Ai9//AIvf/wCL + 3/8Ai9//AIvf/wCL3/8Ai9//AIvf/wCL3/8Ai9//AIvf/wCL3/8Ai9//AIvf/wCL3/8Ai9//AIvf/wCL + 3/8Ai9//AIvf/wCL3/8Ai9//AIvf/wCL3/8Ai9//AIvf/wCL3/8Ai9//AIvf/wCL3/8Ai9//AIvf/wCL + 3/8Ai9//AIvf/wCL3/8Ai9//AIvf/wCL34AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADEm0tAxJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8Sb + S//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8Sb + S//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8Sb + S//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8Sb + S//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8Sb + S//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8Sb + S//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8Sb + S//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8Sb + S//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8Sb + S//Em0v/xJtL/8SbS/+Tl3D/AIvg/wCL4P8Ai+D/AIvg/wCL4P8Ai+D/AIvg/wCL4P8Ai+D/AIvg/wCL + 4P8Ai+D/AIvg/wCL4P8Ai+D/AIvg/wCL4P8Ai+D/AIvg/wCL4P8Ai+D/AIvg/wCL4P8Ai+D/AIvg/wCL + 4P8Ai+D/AIvg/wCL4P8Ai+D/AIvg/wCL4P8Ai+D/AIvg/wCL4P8Ai+D/AIvg/wCL4P8Ai+D/AIvg/wCL + 4P8Ai+D/AIvg/wCL4P8Ai+D/AIvg/wCL4P8Ai+DfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAxZxLQMWcS//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8Wc + S//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8Wc + S//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8Wc + S//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8Wc + S//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8Wc + S//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8Wc + S//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8Wc + S//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8Wc + S//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8Wc + S//FnEv/xZxL/8WcS//FnEv/k5hw/wCM4P8AjOD/AIzg/wCM4P8AjOD/AIzg/wCM4P8AjOD/AIzg/wCM + 4P8AjOD/AIzg/wCM4P8AjOD/AIzg/wCM4P8AjOD/AIzg/wCM4P8AjOD/AIzg/wCM4P8AjOD/AIzg/wCM + 4P8AjOD/AIzg/wCM4P8AjOD/AIzg/wCM4P8AjOD/AIzg/wCM4P8AjOD/AIzg/wCM4P8AjOD/AIzg/wCM + 4P8AjOD/AIzg/wCM4P8AjOD/AIzg/wCM4P8AjOD/AIzg/wCM4FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAMWcTEDFnEz/xZxM/8WcTP/FnEz/xZxM/8WcTP/FnEz/xZxM/8Wc + TP/FnEz/xZxM/8WcTP/FnEz/xZxM/8WcTP/FnEz/xZxM/8WcTP/FnEz/xZxM/8WcTP/FnEz/xZxM/8Wc + TP/FnEz/xZxM/8WcTP/FnEz/xZxM/8WcTP/FnEz/xZxM/8WcTP/FnEz/xZxM/8WcTP/FnEz/xZxM/8Wc + TP/FnEz/xZxM/8WcTP/FnEz/xZxM/8WcTP/FnEz/xZxM/8WcTP/FnEz/xZxM/8WcTP/FnEz/xZxM/8Wc + TP/FnEz/xZxM/8WcTP/FnEz/xZxM/8WcTP/FnEz/xZxM/8WcTP/FnEz/xZxM/8WcTP/FnEz/xZxM/8Wc + TP/FnEz/xZxM/8WcTP/FnEz/xZxM/8WcTP/FnEz/xZxM/8WcTP/FnEz/xZxM/8WcTP/FnEz/xZxM/8Wc + TP/FnEz/xZxM/8WcTP/FnEz/xZxM/8WcTP/FnEz/xZxM/8WcTP/FnEz/xZxM/8WcTP/FnEz/xZxM/8Wc + TP/FnEz/xZxM/8WcTP/FnEz/xZxM/8WcTP/FnEz/xZxM/8WcTP/FnEz/xZxM/8WcTP/FnEz/xZxM/8Wc + TP/FnEz/xZxM/8WcTP/FnEz/xZxM/8WcTP/FnEz/xZxM/8WcTP/FnEz/xZxM/8WcTP/FnEz/xZxM/8Wc + TP/FnEz/xZxM/8WcTP/FnEz/xZxM/5SYcf8AjeD/AI3g/wCN4P8AjeD/AI3g/wCN4P8AjeD/AI3g/wCN + 4P8AjeD/AI3g/wCN4P8AjeD/AI3g/wCN4P8AjeD/AI3g/wCN4P8AjeD/AI3g/wCN4P8AjeD/AI3g/wCN + 4P8AjeD/AI3g/wCN4P8AjeD/AI3g/wCN4P8AjeD/AI3g/wCN4P8AjeD/AI3g/wCN4P8AjeD/AI3g/wCN + 4P8AjeD/AI3g/wCN4P8AjeD/AI3g/wCN4P8AjeD/AI3g/wCN4P8AjeCfAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADHnU1Ax51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8ed + Tf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8ed + Tf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8ed + Tf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8ed + Tf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8ed + Tf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8ed + Tf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8ed + Tf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8ed + Tf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8ed + Tf/HnU3/x51N/8edTf/HnU3/x51N/8edTf+UmXH/AI3h/wCN4f8AjeH/AI3h/wCN4f8AjeH/AI3h/wCN + 4f8AjeH/AI3h/wCN4f8AjeH/AI3h/wCN4f8AjeH/AI3h/wCN4f8AjeH/AI3h/wCN4f8AjeH/AI3h/wCN + 4f8AjeH/AI3h/wCN4f8AjeH/AI3h/wCN4f8AjeH/AI3h/wCN4f8AjeH/AI3h/wCN4f8AjeH/AI3h/wCN + 4f8AjeH/AI3h/wCN4f8AjeH/AI3h/wCN4f8AjeH/AI3h/wCN4f8AjeH/AI3h7wAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAx51NQMedTf/HnU3/x51N/8edTf/HnU3/x51N/8ed + Tf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8ed + Tf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8ed + Tf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8ed + Tf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8ed + Tf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8ed + Tf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8ed + Tf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8ed + Tf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8ed + Tf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/lJly/wCO4f8AjuH/AI7h/wCO4f8AjuH/AI7h/wCO + 4f8AjuH/AI7h/wCO4f8AjuH/AI7h/wCO4f8AjuH/AI7h/wCO4f8AjuH/AI7h/wCO4f8AjuH/AI7h/wCO + 4f8AjuH/AI7h/wCO4f8AjuH/AI7h/wCO4f8AjuH/AI7h/wCO4f8AjuH/AI7h/wCO4f8AjuH/AI7h/wCO + 4f8AjuH/AI7h/wCO4f8AjuH/AI7h/wCO4f8AjuH/AI7h/wCO4f8AjuH/AI7h/wCO4f8AjuEgAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMieTkDInk7/yJ5O/8ieTv/Ink7/yJ5O/8ie + Tv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ie + Tv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ie + Tv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ie + Tv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ie + Tv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ie + Tv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ie + Tv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ie + Tv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ie + Tv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/5Wacv8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP + 4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP + 4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP + 4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP4v8Aj+L/AI/iQAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADJnk5AyZ5O/8meTv/Jnk7/yZ5O/8me + Tv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8me + Tv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8me + Tv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8me + Tv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8me + Tv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8me + Tv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8me + Tv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8me + Tv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8me + Tv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv+VmnP/AI/i/wCP4v8Aj+L/AI/i/wCP + 4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP + 4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP + 4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP + 4mAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyZ9PQMmfT//Jn0//yZ9P/8mf + T//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mf + T//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mf + T//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mf + T//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mf + T//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mf + T//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mf + T//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mf + T//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mf + T//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mfT//Jn0//yZ9P/8mfT//Jn0//lpt0/wCQ4v8AkOL/AJDi/wCQ + 4v8AkOL/AJDi/wCQ4v8AkOL/AJDi/wCQ4v8AkOL/AJDi/wCQ4v8AkOL/AJDi/wCQ4v8AkOL/AJDi/wCQ + 4v8AkOL/AJDi/wCQ4v8AkOL/AJDi/wCQ4v8AkOL/AJDi/wCQ4v8AkOL/AJDi/wCQ4v8AkOL/AJDi/wCQ + 4v8AkOL/AJDi/wCQ4v8AkOL/AJDi/wCQ4v8AkOL/AJDi/wCQ4v8AkOL/AJDi/wCQ4v8AkOL/AJDi/wCQ + 4v8AkOKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMqfT0DKn0//yp9P/8qf + T//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qf + T//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qf + T//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qf + T//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qf + T//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qf + T//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qf + T//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qf + T//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qf + T//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/5abdP8AkeP/AJHj/wCR + 4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR + 4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR + 4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR + 4/8AkeP/AJHjgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADKoFBAyqBQ/8qg + UP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qg + UP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qg + UP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qg + UP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qg + UP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qg + UP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qg + UP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qg + UP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qg + UP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP+XnHX/AJHj/wCR + 4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR + 4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR + 4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR + 4/8AkeP/AJHj/wCR44AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAy6BQQMug + UP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ug + UP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ug + UP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ug + UP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ug + UP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ug + UP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ug + UP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ug + UP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ug + UP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/l5x1/wCS + 5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS + 5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS + 5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS + 5P8AkuT/AJLk/wCS5P8AkuSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMuh + UUDLoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uh + Uf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uh + Uf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uh + Uf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uh + Uf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uh + Uf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uh + Uf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uh + Uf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uh + Uf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/5ed + dv8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS + 5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS + 5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS + 5P8AkuT/AJLk/wCS5P8AkuT/AJLkgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADMoVJAzKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yh + Uv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yh + Uv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yh + Uv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yh + Uv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yh + Uv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yh + Uv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yh + Uv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yh + Uv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yh + Uv+Ynnb/AJPk/wCT5P8Ak+T/AJPk/wCT5P8Ak+T/AJPk/wCT5P8Ak+T/AJPk/wCT5P8Ak+T/AJPk/wCT + 5P8Ak+T/AJPk/wCT5P8Ak+T/AJPk/wCT5P8Ak+T/AJPk/wCT5P8Ak+T/AJPk/wCT5P8Ak+T/AJPk/wCT + 5P8Ak+T/AJPk/wCT5P8Ak+T/AJPk/wCT5P8Ak+T/AJPk/wCT5P8Ak+T/AJPk/wCT5P8Ak+T/AJPk/wCT + 5P8Ak+T/AJPk/wCT5P8Ak+T/AJPk/wCT5IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAzaJSQM2iUv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82i + Uv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82i + Uv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82i + Uv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82i + Uv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82i + Uv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82i + Uv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82i + Uv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82i + Uv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82i + Uv/NolL/mZ53/wCU5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU + 5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU + 5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU + 5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU5f8AlOWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAM2iU0DNolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82i + U//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82i + U//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82i + U//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82i + U//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82i + U//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82i + U//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82i + U//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82i + U//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82i + U//NolP/zaJT/5mfd/8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU + 5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU + 5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU + 5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU5f8AlOX/AJTlgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADOo1NAzqNT/86jU//Oo1P/zqNT/86jU//Oo1P/zqNT/86jU//Oo1P/zqNT/86j + U//Oo1P/zqNT/86jU//Oo1P/zqNT/86jU//Oo1P/zqNT/86jU//Oo1P/zqNT/86jU//Oo1P/zqNT/86j + U//Oo1P/zqNT/86jU//Oo1P/zqNT/86jU//Oo1P/zqNT/86jU//Oo1P/zqNT/86jU//Oo1P/zqNT/86j + U//Oo1P/zqNT/86jU//Oo1P/zqNT/86jU//Oo1P/zqNT/86jU//Oo1P/zqNT/86jU//Oo1P/zqNT/86j + U//Oo1P/zqNT/86jU//Oo1P/zqNT/86jU//Oo1P/zqNT/86jU//Oo1P/zqNT/86jU//Oo1P/zqNT/86j + U//Oo1P/zqNT/86jU//Oo1P/zqNT/86jU//Oo1P/zqNT/86jU//Oo1P/zqNT/86jU//Oo1P/zqNT/86j + U//Oo1P/zqNT/86jU//Oo1P/zqNT/86jU//Oo1P/zqNT/86jU//Oo1P/zqNT/86jU//Oo1P/zqNT/86j + U//Oo1P/zqNT/86jU//Oo1P/zqNT/86jU//Oo1P/zqNT/86jU//Oo1P/zqNT/86jU//Oo1P/zqNT/86j + U//Oo1P/zqNT/86jU//Oo1P/zqNT/86jU//Oo1P/zqNT/86jU//Oo1P/zqNT/86jU//Oo1P/zqNT/86j + U//Oo1P/zqNT/86jU/+aoHj/AJXm/wCV5v8Aleb/AJXm/wCV5v8Aleb/AJXm/wCV5v8Aleb/AJXm/wCV + 5v8Aleb/AJXm/wCV5v8Aleb/AJXm/wCV5v8Aleb/AJXm/wCV5v8Aleb/AJXm/wCV5v8Aleb/AJXm/wCV + 5v8Aleb/AJXm/wCV5v8Aleb/AJXm/wCV5v8Aleb/AJXm/wCV5v8Aleb/AJXm/wCV5v8Aleb/AJXm/wCV + 5v8Aleb/AJXm/wCV5v8Aleb/AJXm/wCV5v8Aleb/AJXm/wCV5oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAz6NUQM+jVP/Qplj/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+j + VP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+j + VP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+j + VP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+j + VP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+j + VP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+j + VP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+j + VP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+j + VP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+j + VP/Po1T/z6NU/9CmWP/Po1T/mqB4/wCW5v8Alub/AJbm/wCW5v8Alub/AJbm/wCW5v8Alub/AJbm/wCW + 5v8Alub/AJbm/wCW5v8Alub/AJbm/wCW5v8Alub/AJbm/wCW5v8Alub/AJbm/wCW5v8Alub/AJbm/wCW + 5v8Alub/AJbm/wCW5v8Alub/AJbm/wCW5v8Alub/AJbm/wCW5v8Alub/AJbm/wCW5v8Alub/AJbm/wCW + 5v8Alub/AJbm/wCW5v8Alub/AJbm/wCW5v8Alub/AJbm/wCW5v8AluaAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAM+kVEDPpFT/1a5k/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+k + VP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+k + VP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+k + VP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+k + VP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+k + VP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+k + VP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+k + VP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+k + VP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+k + VP/PpFT/z6RU/8+kVP/VrmT/z6RU/5qheP8Aluf/AJbn/wCW5/8Aluf/AJbn/wCW5/8Aluf/AJbn/wCW + 5/8Aluf/AJbn/wCW5/8Aluf/AJbn/wCW5/8Aluf/AJbn/wCW5/8Aluf/AJbn/wCW5/8Aluf/AJbn/wCW + 5/8Aluf/AJbn/wCW5/8Aluf/AJbn/wCW5/8Aluf/AJbn/wCW5/8Aluf/AJbn/wCW5/8Aluf/AJbn/wCW + 5/8Aluf/AJbn/wCW5/8Aluf/AJbn/wCW5/8Aluf/AJbn/wCW5/8Aluf/AJbngAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQpVVA0KVV/9avZf/QpVX/0KVV/9ClVf/QpVX/0KVV/9Cl + Vf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9Cl + Vf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9Cl + Vf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9Cl + Vf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9Cl + Vf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9Cl + Vf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9Cl + Vf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9Cl + Vf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9Cl + Vf/QpVX/0KVV/9ClVf/QpVX/2rZw/9ClVf+boXn/AJfn/wCX5/8Al+f/AJfn/wCX5/8Al+f/AJfn/wCX + 5/8Al+f/AJfn/wCX5/8Al+f/AJfn/wCX5/8Al+f/AJfn/wCX5/8Al+f/AJfn/wCX5/8Al+f/AJfn/wCX + 5/8Al+f/AJfn/wCX5/8Al+f/AJfn/wCX5/8Al+f/AJfn/wCX5/8Al+f/AJfn/wCX5/8Al+f/AJfn/wCX + 5/8Al+f/AJfn/wCX5/8Al+f/AJfn/wCX5/8Al+f/AJfn/wCX5/8Al+f/AJfn/wCX54AAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0KVVQNClVf/Wr2X/1K1h/9ClVf/QpVX/0KVV/9Cl + Vf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9Cl + Vf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9Cl + Vf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9Cl + Vf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9Cl + Vf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9Cl + Vf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9Cl + Vf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9Cl + Vf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9Cl + Vf/QpVX/0KVV/9ClVf/QpVX/0KVV/9u5dP/QpVX/m6J5/wCY5/8AmOf/AJjn/wCY5/8AmOf/AJjn/wCY + 5/8AmOf/AJjn/wCY5/8AmOf/AJjn/wCY5/8AmOf/AJjn/wCY5/8AmOf/AJjn/wCY5/8AmOf/AJjn/wCY + 5/8AmOf/AJjn/wCY5/8AmOf/AJjn/wCY5/8AmOf/AJjn/wCY5/8AmOf/AJjn/wCY5/8AmOf/AJjn/wCY + 5/8AmOf/AJjn/wCY5/8AmOf/AJjn/wCY5/8AmOf/AJjn/wCY5/8AmOf/AJjn/wCY5/8AmOeAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANGmVkDRplb/169m/9m0bf/Rplb/0aZW/9Gm + Vv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9Gm + Vv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9Gm + Vv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9Gm + Vv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9Gm + Vv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9Gm + Vv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9Gm + Vv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9Gm + Vv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9Gm + Vv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/fvn3/0aZW/4+hg/8AmOj/AJjo/wCY6P8AmOj/AJjo/wCY + 6P8AmOj/AJjo/wCY6P8AmOj/AJjo/wCY6P8AmOj/AJjo/wCY6P8AmOj/AJjo/wCY6P8AmOj/AJjo/wCY + 6P8AmOj/AJjo/wCY6P8AmOj/AJjo/wCY6P8AmOj/AJjo/wCY6P8AmOj/AJjo/wCY6P8AmOj/AJjo/wCY + 6P8AmOj/AJjo/wCY6P8AmOj/AJjo/wCY6P8AmOj/AJjo/wCY6P8AmOj/AJjo/wCY6P8AmOj/AJjogAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADRplYg0aZW/9SrXv/fvn3/0aZW/9Gm + Vv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9Gm + Vv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9Gm + Vv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9Gm + Vv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9Gm + Vv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9Gm + Vv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9Gm + Vv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9Gm + Vv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9Gm + Vv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/XsGb/3Lp1/9GmVv9ooJ//AJno/wCZ6P8Amej/AJno/wCZ + 6P8Amej/AJno/wCZ6P8Amej/AJno/wCZ6P8Amej/AJno/wCZ6P8Amej/AJno/wCZ6P8Amej/AJno/wCZ + 6P8Amej/AJno/wCZ6P8Amej/AJno/wCZ6P8Amej/AJno/wCZ6P8Amej/AJno/wCZ6P8Amej/AJno/wCZ + 6P8Amej/AJno/wCZ6P8Amej/AJno/wCZ6P8Amej/AJno/wCZ6P8Amej/AJno/wCZ6P8Amej/AJno/wCZ + 6IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANKnV//Sp1f/5MqN/9Op + W//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9Kn + V//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9Kn + V//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9Kn + V//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9Kn + V//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9Kn + V//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9Kn + V//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9Kn + V//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9Kn + V//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/379+/9mzav/Sp1f/Tp6x/wCa6f8Amun/AJrp/wCa + 6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa + 6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa + 6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa + 6f8AmumAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADTp1e/06dX/+HC + gv/btm//06dX/9OnV//Tp1f/06dX/9OnV//Tp1f/06dX/9OnV//Tp1f/06dX/9OnV//Tp1f/06dX/9On + V//Tp1f/06dX/9OnV//Tp1f/06dX/9OnV//Tp1f/06dX/9OnV//Tp1f/06dX/9OnV//Tp1f/06dX/9On + V//Tp1f/06dX/9OnV//Tp1f/06dX/9OnV//Tp1f/06dX/9OnV//Tp1f/06dX/9OnV//Tp1f/06dX/9On + V//Tp1f/06dX/9OnV//Tp1f/06dX/9OnV//Tp1f/06dX/9OnV//Tp1f/06dX/9OnV//Tp1f/06dX/9On + V//Tp1f/06dX/9OnV//Tp1f/06dX/9OnV//Tp1f/06dX/9OnV//Tp1f/06dX/9OnV//Tp1f/06dX/9On + V//Tp1f/06dX/9OnV//Tp1f/06dX/9OnV//Tp1f/06dX/9OnV//Tp1f/06dX/9OnV//Tp1f/06dX/9On + V//Tp1f/06dX/9OnV//Tp1f/06dX/9OnV//Tp1f/06dX/9OnV//Tp1f/06dX/9OnV//Tp1f/06dX/9On + V//Tp1f/06dX/9OnV//Tp1f/06dX/9OnV//Tp1f/06dX/9OnV//Tp1f/06dX/9OnV//Tp1f/06dX/9On + V//Tp1f/06dX/9OnV//Tp1f/06dX/9OnV//Tp1f/1Klb/+bNkf/UqVv/06dX/xmc1/8Amun/AJrp/wCa + 6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa + 6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa + 6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa + 6f8Amun/AJrpgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA06dYcNOo + WP/btm//5suO/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9Oo + WP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9Oo + WP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9Oo + WP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9Oo + WP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9Oo + WP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9Oo + WP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9Oo + WP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9Oo + WP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/967d//jxYf/06hY/7imav8Am+n/AJvp/wCb + 6f8Am+n/AJvp/wCb6f8Am+n/AJvp/wCb6f8Am+n/AJvp/wCb6f8Am+n/AJvp/wCb6f8Am+n/AJvp/wCb + 6f8Am+n/AJvp/wCb6f8Am+n/AJvp/wCb6f8Am+n/AJvp/wCb6f8Am+n/AJvp/wCb6f8Am+n/AJvp/wCb + 6f8Am+n/AJvp/wCb6f8Am+n/AJvp/wCb6f8Am+n/AJvp/wCb6f8Am+n/AJvp/wCb6f8Am+n/AJvp/wCb + 6f8Am+n/AJvp/wCb6YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANSo + WSDUqFn/1KhZ/+jOkv/fvHf/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9So + Wf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9So + Wf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9So + Wf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9So + Wf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9So + Wf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9So + Wf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9So + Wf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9So + Wf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9etYP/ozpL/3Ldw/9SoWf9poqH/AJzq/wCc + 6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc + 6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc + 6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc + 6v8AnOr/AJzq/wCc6v8AnOqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA1KhZr9WpWf/fvHj/6dCW/9iwZP/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9Wp + Wf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9Wp + Wf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9Wp + Wf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9Wp + Wf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9Wp + Wf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9Wp + Wf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9Wp + Wf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9Wp + Wf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/lyYv/58uO/9WpWf/VqVn/Gp7Y/wCc + 6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc + 6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc + 6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc + 6v8AnOr/AJzq/wCc6v8AnOr/AJzqgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAANWpWkDVqVr/1qte/+fLj//ozpP/2K5h/9WpWv/VqVr/1ala/9WpWv/VqVr/1ala/9Wp + Wv/VqVr/1ala/9WpWv/VqVr/1ala/9WpWv/VqVr/1ala/9WpWv/VqVr/1ala/9WpWv/VqVr/1ala/9Wp + Wv/VqVr/1ala/9WpWv/VqVr/1ala/9WpWv/VqVr/1ala/9WpWv/VqVr/1ala/9WpWv/VqVr/1ala/9Wp + Wv/VqVr/1ala/9WpWv/VqVr/1ala/9WpWv/VqVr/1ala/9WpWv/VqVr/1ala/9WpWv/VqVr/1ala/9Wp + Wv/VqVr/1ala/9WpWv/VqVr/1ala/9WpWv/VqVr/1ala/9WpWv/VqVr/1ala/9WpWv/VqVr/1ala/9Wp + Wv/VqVr/1ala/9WpWv/VqVr/1ala/9WpWv/VqVr/1ala/9WpWv/VqVr/1ala/9WpWv/VqVr/1ala/9Wp + Wv/VqVr/1ala/9WpWv/VqVr/1ala/9WpWv/VqVr/1ala/9WpWv/VqVr/1ala/9WpWv/VqVr/1ala/9Wp + Wv/VqVr/1ala/9WpWv/VqVr/1ala/9WpWv/VqVr/1ala/9WpWv/VqVr/1ala/9WpWv/VqVr/1ala/9Wp + Wv/VqVr/1ala/9WpWv/VqVr/1ala/9WpWv/VqVr/1ala/9WpWv/iwYD/6dCX/9u1bf/VqVr/hKWQ/wCd + 6/8Anev/AJ3r/wCd6/8Anev/AJ3r/wCd6/8Anev/AJ3r/wCd6/8Anev/AJ3r/wCd6/8Anev/AJ3r/wCd + 6/8Anev/AJ3r/wCd6/8Anev/AJ3r/wCd6/8Anev/AJ3r/wCd6/8Anev/AJ3r/wCd6/8Anev/AJ3r/wCd + 6/8Anev/AJ3r/wCd6/8Anev/AJ3r/wCd6/8Anev/AJ3r/wCd6/8Anev/AJ3r/wCd6/8Anev/AJ3r/wCd + 6/8Anev/AJ3r/wCd6/8Anev/AJ3r/wCd64AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA1alan9aqWv/bs2r/6tGX/+bJjP/ZsWb/1qpa/9aqWv/Wqlr/1qpa/9aq + Wv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aq + Wv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aq + Wv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aq + Wv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aq + Wv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aq + Wv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aq + Wv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aq + Wv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/iwYD/6tGX/+LBgP/Wqlr/yKlj/w2e + 4v8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe + 6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe + 6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe + 6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe6/8AnuuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAANaqWxDWqlvf1qpb/964cv/q0Zj/6c+U/9u0av/Wqlv/1qpb/9aq + W//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aq + W//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aq + W//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aq + W//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aq + W//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aq + W//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aq + W//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aq + W//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aqW//Wqlv/1qpb/9esX//kxIX/6tGY/+bKjf/XrF//1qpb/0+j + tP8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe + 6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe + 6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe + 6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe6/8Anuv/AJ7rgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA16pbMNerW//Xq1v/4sB+/+rRmP/q0Zj/4r9+/9it + X//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9er + W//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9er + W//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9er + W//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9er + W//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9er + W//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9er + W//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9er + W//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/922bv/pz5T/6tGY/+bKjf/YrV//16tb/4Wm + kf8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf + 7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf + 7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf + 7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf7IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADXq1xg2Ktc/9irXP/fuXP/69GZ/+vR + mf/pz5X/4b57/9qwZP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9ir + XP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9ir + XP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9ir + XP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9ir + XP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9ir + XP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9ir + XP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9ir + XP/Yq1z/2Ktc/9irXP/Yq1z/2Ktc/9irXP/Yq1z/37lz/+bIiv/r0Zn/69GZ/+bIiv/ZrWD/2Ktc/4an + kv8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf + 7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf + 7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf + 7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf7P8An+yAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANisXGDYrFzv2Kxc/9yz + aP/ny47/69KZ/+vSmf/r0pn/58uO/+K/e//euG//3bVs/921bP/dtWz/3bVs/921bP/dtWz/3bVs/921 + bP/dtWz/3bVs/921bP/dtWz/3bVs/921bP/dtWz/3bVs/921bP/dtWz/3bVs/921bP/dtWz/3bVs/921 + bP/dtWz/3bVs/921bP/dtWz/3bVs/921bP/dtWz/3bVs/921bP/dtWz/3bVs/921bP/dtWz/3bVs/921 + bP/dtWz/3bVs/921bP/dtWz/3bVs/921bP/dtWz/3bVs/921bP/dtWz/3bVs/921bP/dtWz/3bVs/921 + bP/dtWz/3bVs/921bP/dtWz/3bVs/921bP/dtWz/3bVs/921bP/dtWz/3bVs/921bP/dtWz/3bVs/921 + bP/dtWz/3bVs/921bP/dtWz/3bVs/921bP/dtWz/3bVs/921bP/dtWz/3bVs/921bP/dtWz/3bVs/921 + bP/dtWz/3bVs/921bP/dtWz/3bVs/921bP/dtWz/3bVs/921bP/dtWz/3bVs/921bP/dtWz/3bVs/921 + bP/dtWz/3bVs/921bP/dtWz/3bVs/+K/e//lxYb/6tCV/+vSmf/r0pn/6tCV/+C8d//YrFz/2Kxc/4ao + kv8AoO3/AKDt/wCg7f8AoO3/AKDt/wCg7f8AoO3/AKDt/wCg7f8AoO3/AKDt/wCg7f8AoO3/AKDt/wCg + 7f8AoO3/AKDt/wCg7f8AoO3/AKDt/wCg7f8AoO3/AKDt/wCg7f8AoO3/AKDt/wCg7f8AoO3/AKDt/wCg + 7f8AoO3/AKDt/wCg7f8AoO3/AKDt/wCg7f8AoO3/AKDt/wCg7f8AoO3/AKDt/wCg7f8AoO3/AKDt/wCg + 7f8AoO3/AKDt/wCg7f8AoO3/AKDt/wCg7f8AoO3/AKDt/wCg7f8AoO3/AKDtgAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2KxdMNms + Xd/ZrF3/2axd/+C6dP/pzZL/69Ka/+vSmv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vS + mv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vS + mv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vS + mv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vS + mv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vS + mv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vS + mv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vS + mv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vSmv/r0pr/69Ka/+vSmv/q0Jb/5MOD/9uxZf/ZrF3/2axd/2un + pf8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh + 7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh + 7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh + 7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7YAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADZrV0Q2a1egNmtXv/ZrV7/2a1e/9y0af/jwoD/58qM/+vTm//r05v/69Ob/+vTm//r05v/69Ob/+vT + m//r05v/69Ob/+vTm//r05v/69Ob/+vTm//r05v/69Ob/+vTm//r05v/69Ob/+vTm//r05v/69Ob/+vT + m//r05v/69Ob/+vTm//r05v/69Ob/+vTm//r05v/69Ob/+vTm//r05v/69Ob/+vTm//r05v/69Ob/+vT + m//r05v/69Ob/+vTm//r05v/69Ob/+vTm//r05v/69Ob/+vTm//r05v/69Ob/+vTm//r05v/69Ob/+vT + m//r05v/69Ob/+vTm//r05v/69Ob/+vTm//r05v/69Ob/+vTm//r05v/69Ob/+vTm//r05v/69Ob/+vT + m//r05v/69Ob/+vTm//r05v/69Ob/+vTm//r05v/69Ob/+vTm//r05v/69Ob/+vTm//r05v/69Ob/+vT + m//r05v/69Ob/+vTm//r05v/69Ob/+vTm//r05v/69Ob/+vTm//r05v/69Ob/+vTm//r05v/69Ob/+vT + m//r05v/69Ob/+vTm//r05v/69Ob/+vTm//r05v/6MyP/+TEhP/gu3X/2q9i/9mtXv/ZrV7/oqqB/yik + 0v8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh + 7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh + 7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh + 7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe2AAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADZrV4g2q1en9qtXu/arV7/2q1e/9qtXv/arV7/2q1e/9qtXv/arV7/2q1e/9qt + Xv/arV7/2q1e/9qtXv/arV7/2q1e/9qtXv/arV7/2q1e/9qtXv/arV7/2q1e/9qtXv/arV7/2q1e/9qt + Xv/arV7/2q1e/9qtXv/arV7/2q1e/9qtXv/arV7/2q1e/9qtXv/arV7/2q1e/9qtXv/arV7/2q1e/9qt + Xv/arV7/2q1e/9qtXv/arV7/2q1e/9qtXv/arV7/2q1e/9qtXv/arV7/2q1e/9qtXv/arV7/2q1e/9qt + Xv/arV7/2q1e/9qtXv/arV7/2q1e/9qtXv/arV7/2q1e/9qtXv/arV7/2q1e/9qtXv/arV7/2q1e/9qt + Xv/arV7/2q1e/9qtXv/arV7/2q1e/9qtXv/arV7/2q1e/9qtXv/arV7/2q1e/9qtXv/arV7/2q1e/9qt + Xv/arV7/2q1e/9qtXv/arV7/2q1e/9qtXv/arV7/2q1e/9qtXv/arV7/2q1e/9qtXv/arV7/2q1e/9qt + Xv/arV7/2q1e/9qtXv/arV7/2q1e/9qtXv/arV7/2q1e/9qtXv/arV7/2q1e/9qtXv+iqoL/NaXK/wCi + 7v8Aou7/AKLu/wCi7v8Aou7/AKLu/wCi7v8Aou7/AKLu/wCi7v8Aou7/AKLu/wCi7v8Aou7/AKLu/wCi + 7v8Aou7/AKLu/wCi7v8Aou7/AKLu/wCi7v8Aou7/AKLu/wCi7v8Aou7/AKLu/wCi7v8Aou7/AKLu/wCi + 7v8Aou7/AKLu/wCi7v8Aou7/AKLu/wCi7v8Aou7/AKLu/wCi7v8Aou7/AKLu/wCi7v8Aou7/AKLu/wCi + 7v8Aou7/AKLu/wCi7v8Aou7/AKLu/wCi7v8Aou7/AKLu/wCi7v8Aou7/AKLu/wCi7v8Aou7/AKLugAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2q5eUNquX4/arl+/2q5f/9quX//arl//2q5f/9qu + X//arl//2q5f/9quX//arl//2q5f/9quX//arl//2q5f/9quX//arl//2q5f/9quX//arl//2q5f/9qu + X//arl//2q5f/9quX//arl//2q5f/9quX//arl//2q5f/9quX//arl//2q5f/9quX//arl//2q5f/9qu + X//arl//2q5f/9quX//arl//2q5f/9quX//arl//2q5f/9quX//arl//2q5f/9quX//arl//2q5f/9qu + X//arl//2q5f/9quX//arl//2q5f/9quX//arl//2q5f/9quX//arl//2q5f/9quX//arl//2q5f/9qu + X//arl//2q5f/9quX//arl//2q5f/9quX//arl//2q5f/9quX//arl//2q5f/9quX//arl//2q5f/9qu + X//arl//2q5f/9quX//arl//2q5f/9quX//arl//2q5f/9quX//arl//2q5f/9quX//arl//2q5f/9qu + X//arl//2q5f/9quX//arl//2q5f/9quX//arl//2q5f/9quX/++rXH/lauL/16or/8apNz/AKPu/wCj + 7v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj + 7v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj + 7v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj + 7v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj + 7oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAo++AAKPv/wCj7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj + 7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj + 7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj + 7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj + 7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj + 7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj + 7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj + 7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj + 7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj7/8Ao+//AKPv/wCj + 7/8Ao++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAKTvgACk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk + 7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk + 7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk + 7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk + 7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk + 7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk + 7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk + 7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk + 7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk + 7/8ApO//AKTvgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAACl74AApe//AKXv/wCl7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl + 7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl + 7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl + 7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl + 7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl + 7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl + 7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl + 7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl + 7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl7/8Ape//AKXv/wCl + 7/8Ape//AKXv/wCl74AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAApfCAAKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl + 8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl + 8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl + 8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl + 8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl + 8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl + 8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl + 8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl + 8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl + 8P8ApfD/AKXw/wCl8P8ApfCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAKbwgACm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm + 8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm + 8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm + 8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm + 8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm + 8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm + 8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm + 8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm + 8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm + 8P8ApvD/AKbw/wCm8P8ApvD/AKbwgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACn8YAAp/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn + 8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn + 8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn + 8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn + 8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn + 8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn + 8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn + 8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn + 8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn + 8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAp/GAAKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn + 8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn + 8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn + 8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn + 8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn + 8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn + 8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn + 8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn + 8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn + 8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKjxgACo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo + 8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo + 8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo + 8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo + 8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo + 8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo + 8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo + 8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo + 8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo + 8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjxgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACo8oAAqPL/AKjy/wCo8v8AqPL/AKjy/wCo + 8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo + 8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo + 8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo + 8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo + 8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo + 8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo + 8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo + 8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo + 8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo8v8AqPL/AKjy/wCo8oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqfKAAKny/wCp8v8AqfL/AKny/wCp + 8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp + 8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp + 8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp + 8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp + 8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp + 8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp + 8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp + 8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp + 8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfKAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKrygACq8v8AqvL/AKry/wCq + 8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq + 8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq + 8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq + 8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq + 8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq + 8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq + 8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq + 8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq + 8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq8v8AqvL/AKry/wCq8v8AqvL/AKrygAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACq84AAqvP/AKrz/wCq + 8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq + 8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq + 8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq + 8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq + 8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq + 8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq + 8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq + 8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq + 8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq84AAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAq/OAAKvz/wCr + 8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr + 8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr + 8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr + 8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr + 8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr + 8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr + 8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr + 8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr + 8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/OAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKz0gACs + 9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs + 9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs + 9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs + 9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs + 9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs + 9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs + 9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs + 9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs + 9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0gAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACs + 9IAArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs + 9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs + 9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs + 9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs + 9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs + 9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs + 9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs + 9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs + 9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs + 9IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAArfSAAK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt + 9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt + 9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt + 9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt + 9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt + 9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt + 9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt + 9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt + 9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt + 9P8ArfSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAK71gACu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu + 9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu + 9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu + 9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu + 9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu + 9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu + 9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu + 9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu + 9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu + 9f8ArvX/AK71gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAACu9YAArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu + 9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu + 9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu + 9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu + 9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu + 9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu + 9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu + 9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu + 9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu + 9f8ArvX/AK71/wCu9YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAr/aAAK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv + 9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv + 9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv + 9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv + 9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv + 9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv + 9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv + 9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv + 9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv + 9v8Ar/b/AK/2/wCv9v8Ar/aAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAK/2gACv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv + 9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv + 9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv + 9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv + 9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv + 9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv + 9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv + 9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv + 9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv + 9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACw9oAAsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw + 9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw + 9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw + 9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw + 9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw + 9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw + 9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw + 9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw + 9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw + 9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsfeAALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx + 9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx + 9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx + 9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx + 9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx + 9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx + 9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx + 9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx + 9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx + 9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8AsfeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALH3gACx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx + 9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx + 9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx + 9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx + 9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx + 9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx + 9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx + 9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx + 9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx + 9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACy+IAAsvj/ALL4/wCy+P8Asvj/ALL4/wCy + +P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy + +P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy + +P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy + +P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy + +P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy + +P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy + +P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy + +P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy + +P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs/iAALP4/wCz+P8As/j/ALP4/wCz + +P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz + +P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz + +P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz + +P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz + +P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz + +P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz + +P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz + +P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz + +P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/iAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALP4gACz+P8As/j/ALP4/wCz + +P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz + +P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz + +P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz + +P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz + +P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz + +P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz + +P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz + +P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz + +P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4gAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0+YAAtPn/ALT5/wC0 + +f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0 + +f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0 + +f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0 + +f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0 + +f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0 + +f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0 + +f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0 + +f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0 + +f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0+f8AtPn/ALT5/wC0+YAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtfmAALX5/wC9 + +v8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1 + +f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1 + +f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1 + +f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1 + +f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1 + +f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1 + +f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1 + +f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1 + +f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/AL36/wC1+f8AtfmAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALX6gAC1 + +v8Avfr/ALX6/wC1+v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1 + +v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1 + +v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1 + +v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1 + +v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1 + +v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1 + +v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1 + +v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1 + +v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1+v8Atfr/ALX6/wC1+v8Atfr/ALX6/wDD+/8Atfr/ALX6gAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC2 + +oAAtvr/AML7/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2 + +v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2 + +v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2 + +v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2 + +v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2 + +v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2 + +v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2 + +v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2 + +v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Ax/v/ALb6/wC2 + +oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAtvqAALb6/wDI+/8AuPr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2 + +v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2 + +v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2 + +v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2 + +v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2 + +v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2 + +v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2 + +v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2 + +v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Av/v/AMP7/wC2 + +v8AtvpgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAALf7cAC3+/8Axfz/AMH7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3 + +/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3 + +/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3 + +/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3 + +/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3 + +/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3 + +/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3 + +/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3 + +/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/AMX8/wC/ + +/8At/v/ALf7QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAC4+0AAuPv/AMD8/wDN/P8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4 + +/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4 + +/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4 + +/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4 + +/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4 + +/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4 + +/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4 + +/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4 + +/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wDT + /f8Auvv/ALj7/wC3+yAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAuPsQALj7/wC4+/8A2f3/ALr7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4 + +/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4 + +/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4 + +/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4 + +/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4 + +/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4 + +/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4 + +/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4 + +/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wDA + /P8A1f3/ALj7/wC4++8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC5/M8Aufz/AND9/wDK/f8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5 + /P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5 + /P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5 + /P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5 + /P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5 + /P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5 + /P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5 + /P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5 + /P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5 + /P8A0v3/AMz9/wC5/P8AufyfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAufxwALn8/wDD/P8A2v3/AL38/wC5/P8Aufz/ALn8/wC5 + /P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5 + /P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5 + /P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5 + /P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5 + /P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5 + /P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5 + /P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5 + /P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5 + /P8Awfz/ANr9/wC9/P8Aufz/ALn8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALr8EAC6/O8Auv3/ANb9/wDU/f8Auv3/ALr9/wC6 + /f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6 + /f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6 + /f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6 + /f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6 + /f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6 + /f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6 + /f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6 + /f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6/f8Auv3/ALr9/wC6 + /f8AvP3/ANb9/wDO/f8Auv3/ALr83wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAuv2AALv9/wDC/f8A2/7/AM/+/wC7 + /f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7 + /f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7 + /f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7 + /f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7 + /f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7 + /f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7 + /f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7 + /f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7 + /f8Au/3/ANP+/wDb/v8Avv3/ALv9/wC6/WAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALv9EAC7/e8Au/3/AM/+/wDb + /v8Az/7/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7 + /f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7 + /f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7 + /f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7 + /f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7 + /f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7 + /f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7 + /f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7 + /f8Au/3/AM/+/wDb/v8AzP7/ALv9/wC7/c8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvP5QALz+/wC+ + /v8A1v7/ANz+/wDQ/v8Avv7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8 + /v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8 + /v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8 + /v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8 + /v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8 + /v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8 + /v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8 + /v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8 + /v8Avv7/ANb+/wDc/v8A0v7/ALz+/wC8/v8AvP0wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC8 + /p8AvP7/AL7+/wDW/v8A3P7/ANj+/wDE/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8 + /v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8 + /v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8 + /v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8 + /v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8 + /v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8 + /v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8 + /v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8 + /v8Ax/7/ANr+/wDc/v8A1v7/AL7+/wC8/v8AvP5wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAL3+nwC9/v8Av/7/ANb+/wDc/v8A3P7/ANX+/wDF/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9 + /v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9 + /v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9 + /v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9 + /v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9 + /v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9 + /v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9 + /v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wDH + /v8A1f7/ANz+/wDc/v8A0f7/AL/+/wC9/v8Avf6fAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAvf+fAL7//wC+//8Azv//AN3//wDd//8A3f//ANn//wDP//8AyP//AMP//wC+ + //8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+ + //8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+ + //8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+ + //8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+ + //8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+ + //8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+ + //8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wDF//8Ayv//ANH//wDZ + //8A3f//AN3//wDb//8AzP//AL7//wC+//8Avf+fAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC+/4AAvv//AL7//wDC//8A0v//AN3//wDd//8A3f//AN3//wDd + //8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd + //8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd + //8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd + //8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd + //8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd + //8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd + //8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd + //8A3f//AN3//wDS//8Awv//AL7//wC+//8Avv9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL7/QAC+/98Avv//AL7//wDC//8AzP//ANb//wDd + //8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd + //8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd + //8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd + //8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd + //8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd + //8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd + //8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDb + //8A1P//AMz//wDA//8Avv//AL7//wC+/78Avv8wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL7/YAC+/98Avv//AL7//wC+ + //8Avv//AML//wDH//8Ax///AMf//wDH//8Ax///AMf//wDH//8Ax///AMf//wDH//8Ax///AMf//wDH + //8Ax///AMf//wDH//8Ax///AMf//wDH//8Ax///AMf//wDH//8Ax///AMf//wDH//8Ax///AMf//wDH + //8Ax///AMf//wDH//8Ax///AMf//wDH//8Ax///AMf//wDH//8Ax///AMf//wDH//8Ax///AMf//wDH + //8Ax///AMf//wDH//8Ax///AMf//wDH//8Ax///AMf//wDH//8Ax///AMf//wDH//8Ax///AMf//wDH + //8Ax///AMf//wDH//8Ax///AMf//wDH//8Ax///AMf//wDH//8Ax///AMf//wDH//8Ax///AMf//wDH + //8Ax///AMf//wDH//8Ax///AMf//wDH//8Ax///AMf//wDH//8Ax///AMf//wDH//8Ax///AMf//wDH + //8Ax///AMf//wDH//8Ax///AMf//wDH//8Ax///AMf//wDH//8Ax///AMf//wDH//8Ax///AMf//wDA + //8Avv//AL7//wC+//8Avv//AL7/vwC+/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL7/MAC+ + /48Avv/PAL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+ + //8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+ + //8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+ + //8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+ + //8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+ + //8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+ + //8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+//8Avv//AL7//wC+ + //8Avv//AL7//wC+/78Avv+AAL7/MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAvv8gAL7/QAC+/0AAvv9AAL7/QAC+/0AAvv9AAL7/QAC+/0AAvv9AAL7/QAC+ + /0AAvv9AAL7/QAC+/0AAvv9AAL7/QAC+/0AAvv9AAL7/QAC+/0AAvv9AAL7/QAC+/0AAvv9AAL7/QAC+ + /0AAvv9AAL7/QAC+/0AAvv9AAL7/QAC+/0AAvv9AAL7/QAC+/0AAvv9AAL7/QAC+/0AAvv9AAL7/QAC+ + /0AAvv9AAL7/QAC+/0AAvv9AAL7/QAC+/0AAvv9AAL7/QAC+/0AAvv9AAL7/QAC+/0AAvv9AAL7/QAC+ + /0AAvv9AAL7/QAC+/0AAvv9AAL7/QAC+/0AAvv9AAL7/QAC+/0AAvv9AAL7/QAC+/0AAvv9AAL7/QAC+ + /0AAvv9AAL7/QAC+/0AAvv9AAL7/QAC+/0AAvv9AAL7/QAC+/0AAvv9AAL7/QAC+/0AAvv9AAL7/QAC+ + /0AAvv9AAL7/QAC+/0AAvv9AAL7/QAC+/0AAvv9AAL7/QAC+/0AAvv9AAL7/QAC+/0AAvv9AAL7/QAC+ + /0AAvv9AAL7/IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD///////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////4AAAAAAAAAAAAAB///////////////////////wAAAAAAAAAAAAAAAAAAAAAAAf/////////// + ////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAB//////////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH/ + //////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAP//4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/8AAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAB/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8AAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAPgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/gAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAf/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//8AAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAf////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////8AAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAB///////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/////////gAAAA + AAAAAAAAAAAAAAAAAAAAAAAAA////////////8AAAAAAAAAAAAAAAAAAAAAAAAf///////////////// + gAAAAAAAAAAAAAAAAAAAD/////////////////////8AAAAAAAAAAAAAAAAAAAAH//////////////// + /////gAAAAAAAAAAAAAAAAAAAAP////////////////////8AAAAAAAAAAAAAAAAAAAAAf////////// + //////////gAAAAAAAAAAAAAAAAAAAAA////////////////////+AAAAAAAAAAAAAAAAAAAAAD///// + ///////////////wAAAAAAAAAAAAAAAAAAAAAH////////////////////AAAAAAAAAAAAAAAAAAAAAA + f///////////////////4AAAAAAAAAAAAAAAAAAAAAB////////////////////gAAAAAAAAAAAAAAAA + AAAAAD///////////////////+AAAAAAAAAAAAAAAAAAAAAAP///////////////////4AAAAAAAAAAA + AAAAAAAAAAA////////////////////gAAAAAAAAAAAAAAAAAAAAAD///////////////////+AAAAAA + AAAAAAAAAAAAAAAAP///////////////////4AAAAAAAAAAAAAAAAAAAAAA////////////////////g + AAAAAAAAAAAAAAAAAAAAAD///////////////////+AAAAAAAAAAAAAAAAAAAAAAP/////////////// + ////4AAAAAAAAAAAAAAAAAAAAAA////////////////////gAAAAAAAAAAAAAAAAAAAAAD////////// + /////////+AAAAAAAAAAAAAAAAAAAAAAP///////////////////4AAAAAAAAAAAAAAAAAAAAAA///// + ///////////////gAAAAAAAAAAAAAAAAAAAAAD///////////////////+AAAAAAAAAAAAAAAAAAAAAA + P///////////////////4AAAAAAAAAAAAAAAAAAAAAA////////////////////gAAAAAAAAAAAAAAAA + AAAAAD///////////////////+AAAAAAAAAAAAAAAAAAAAAAP///////////////////4AAAAAAAAAAA + AAAAAAAAAAA////////////////////gAAAAAAAAAAAAAAAAAAAAAD///////////////////+AAAAAA + AAAAAAAAAAAAAAAAP///////////////////4AAAAAAAAAAAAAAAAAAAAAA////////////////////g + AAAAAAAAAAAAAAAAAAAAAD///////////////////+AAAAAAAAAAAAAAAAAAAAAAP/////////////// + ////4AAAAAAAAAAAAAAAAAAAAAA////////////////////gAAAAAAAAAAAAAAAAAAAAAD////////// + /////////+AAAAAAAAAAAAAAAAAAAAAAP///////////////////4AAAAAAAAAAAAAAAAAAAAAA///// + ///////////////gAAAAAAAAAAAAAAAAAAAAAD///////////////////+AAAAAAAAAAAAAAAAAAAAAA + P///////////////////4AAAAAAAAAAAAAAAAAAAAAA////////////////////gAAAAAAAAAAAAAAAA + AAAAAD///////////////////+AAAAAAAAAAAAAAAAAAAAAAP///////////////////4AAAAAAAAAAA + AAAAAAAAAAAAAAAAA//////////////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAf////////////+AAAAAA + AAAAAAAAAAAAAAAAAAAAAAAf////////////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAf////////////g + AAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAB//////// + ////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH// + /////////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf///////////4AAAAAAAAAAAAAAAAAAAAAAAAAAA + AAA////////////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////+AAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAH///////////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf///////////gAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAB///////////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////4AAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAP///////////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///////////+AAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAD///////////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////g + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///////////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////// + ////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA// + /////////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////4AAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAP///////////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///////////+AAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAD///////////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////gAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAA///////////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////4AAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAP///////////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///////////+AAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAD///////////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////g + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///////////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////// + ////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA// + //////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////8AAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAP///////////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////////gAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAD////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////+AAAAAAAAAAAAAAAA + AAAAAAAAAAAAAA////////////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////////wAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAP////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////gAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////// + /gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAD + ////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAH////////////wAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAP////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf///////////8AAAAAAAAAAAAAAAAAAA + AAAAAAAAAAA////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB////////////AAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAH///////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////wAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAA////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB///////////8AAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAH///////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf///////// + //AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//// + ///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + A///////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////wAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAP///////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///////////8AAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAD///////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////AAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAA///////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////wAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAP///////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///////////8AAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////// + //AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA///////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//// + ///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + A///////////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////4AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAP///////////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////////AAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAD///////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////4AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAA////////////gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////////AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAP///////////+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////////8AA + AAAAAAAAAAAAAAAAAAAAAAAAAAAD////////////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////// + ///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//// + /////////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////////////wAAAAAAAAAAAAAAAAAAAAA + A////////////////////AAAAAAAAAAAAAAAAAAAAAAD///////////////////8AAAAAAAAAAAAAAAA + AAAAAAP///////////////////wAAAAAAAAAAAAAAAAAAAAAA////////////////////AAAAAAAAAAA + AAAAAAAAAAAD///////////////////8AAAAAAAAAAAAAAAAAAAAAAP///////////////////wAAAAA + AAAAAAAAAAAAAAAAA////////////////////AAAAAAAAAAAAAAAAAAAAAAD///////////////////8 + AAAAAAAAAAAAAAAAAAAAAAP///////////////////wAAAAAAAAAAAAAAAAAAAAAA/////////////// + /////AAAAAAAAAAAAAAAAAAAAAAD///////////////////8AAAAAAAAAAAAAAAAAAAAAAP///////// + //////////wAAAAAAAAAAAAAAAAAAAAAA////////////////////AAAAAAAAAAAAAAAAAAAAAAD//// + ///////////////8AAAAAAAAAAAAAAAAAAAAAAP///////////////////wAAAAAAAAAAAAAAAAAAAAA + A////////////////////AAAAAAAAAAAAAAAAAAAAAAD///////////////////8AAAAAAAAAAAAAAAA + AAAAAAP///////////////////wAAAAAAAAAAAAAAAAAAAAAA////////////////////AAAAAAAAAAA + AAAAAAAAAAAD///////////////////8AAAAAAAAAAAAAAAAAAAAAAP///////////////////wAAAAA + AAAAAAAAAAAAAAAAA////////////////////AAAAAAAAAAAAAAAAAAAAAAD///////////////////8 + AAAAAAAAAAAAAAAAAAAAAAP///////////////////wAAAAAAAAAAAAAAAAAAAAAA/////////////// + /////AAAAAAAAAAAAAAAAAAAAAAD///////////////////8AAAAAAAAAAAAAAAAAAAAAAP///////// + //////////wAAAAAAAAAAAAAAAAAAAAAA////////////////////AAAAAAAAAAAAAAAAAAAAAAD//// + ///////////////8AAAAAAAAAAAAAAAAAAAAAAP///////////////////wAAAAAAAAAAAAAAAAAAAAA + A////////////////////AAAAAAAAAAAAAAAAAAAAAAD///////////////////8AAAAAAAAAAAAAAAA + AAAAAAP///////////////////wAAAAAAAAAAAAAAAAAAAAAB////////////////////gAAAAAAAAAA + AAAAAAAAAAAH///////////////////+AAAAAAAAAAAAAAAAAAAAAAf///////////////////4AAAAA + AAAAAAAAAAAAAAAAD////////////////////wAAAAAAAAAAAAAAAAAAAAAP//////////////////// + AAAAAAAAAAAAAAAAAAAAAB////////////////////+AAAAAAAAAAAAAAAAAAAAAH/////////////// + /////8AAAAAAAAAAAAAAAAAAAAA/////////////////////4AAAAAAAAAAAAAAAAAAAAH////////// + ///////////wAAAAAAAAAAAAAAAAAAAA//////////////////////gAAAAAAAAAAAAAAAAAAAH///// + /////////////////AAAAAAAAAAAAAAAAAAAA///////////////////////AAAAAAAAAAAAAAAAAAAP + ///////////////////////AAAAAAAAAAAAAAAAAAD////////////////////////wAAAAAAAAAAAAA + AAAD//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////ygAAACAAAAAAAEAAAEA + IAAAAAAAAAgBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApKSkAaSk + pAGkpKQCpKSkAqSkpAKkpKQCpKSkAqSkpAKkpKQCpKSkAqSkpAKkpKQCpKSkAqSkpAKkpKQDpKSkBKSk + pASkpKQFpKSkBaSkpAWkpKQFpKSkBaSkpAWkpKQFpKSkBaSkpAWkpKQFpKSkBaSkpAWkpKQFpKSkBaSk + pAWkpKQFpKSkBaSkpAWkpKQFpKSkBaSkpAWkpKQFpKSkBaSkpAWkpKQFpKSkBaSkpAWkpKQFpKSkBaSk + pAWkpKQFpKSkBaSkpAWkpKQFpKSkBaSkpAWkpKQFpKSkBaSkpAWkpKQFpKSkBKSkpASkpKQDpKSkAqSk + pAKkpKQCpKSkAqSkpAKkpKQCpKSkAqSkpAKkpKQCpKSkAqSkpAKkpKQBpKSkAaSkpAEAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkpKQBpKSkAaSkpAGkpKQCpKSkAqSkpAKkpKQDpKSkBKSk + pASkpKQFpKSkBaSkpAWkpKQFpKSkBqSkpAikpKQJpKSkC6SkpAukpKQLpKSkC6SkpAukpKQLpKSkC6Sk + pAukpKQLpKSkC6SkpAykpKQNpKSkD6SkpBKkpKQVpKSkFqSkpBekpKQXpKSkF6SkpBekpKQXpKSkF6Sk + pBekpKQXpKSkF6SkpBekpKQXpKSkF6SkpBekpKQXpKSkF6SkpBekpKQXpKSkF6SkpBekpKQXpKSkF6Sk + pBekpKQXpKSkF6SkpBekpKQXpKSkF6SkpBekpKQXpKSkF6SkpBekpKQXpKSkF6SkpBekpKQXpKSkF6Sk + pBekpKQXpKSkF6SkpBekpKQWpKSkFaSkpBKkpKQPpKSkDaSkpAykpKQLpKSkC6SkpAukpKQLpKSkC6Sk + pAukpKQLpKSkC6SkpAukpKQKpKSkCaSkpAekpKQFpKSkBaSkpAWkpKQFpKSkBaSkpASkpKQEpKSkA6Sk + pAKkpKQCpKSkAqSkpAGkpKQBpKSkAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApKSkAaSkpAKkpKQDpKSkBKSkpASkpKQFpKSkB6Sk + pAmkpKQKpKSkC6SkpAykpKQNpKSkD6SkpBKkpKQVpKSkFqSkpBekpKQXpKSkF6SkpBikpKQbpKSkH6Sk + pCSkpKQnpKSkKKSkpCikpKQopKSkKKSkpCikpKQopKSkKKSkpCikpKQopKSkKqSkpCykpKQxpKSkN6Sk + pD2kpKRApKSkQKSkpEGkpKRBpKSkQaSkpEGkpKRBpKSkQaSkpEGkpKRBpKSkQaSkpEGkpKRBpKSkQaSk + pEGkpKRBpKSkQaSkpEGkpKRBpKSkQaSkpEGkpKRBpKSkQaSkpEGkpKRBpKSkQaSkpEGkpKRBpKSkQaSk + pEGkpKRBpKSkQaSkpEGkpKRBpKSkQaSkpEGkpKRBpKSkQaSkpEGkpKRBpKSkQKSkpECkpKQ9pKSkN6Sk + pDGkpKQspKSkKqSkpCikpKQopKSkKKSkpCikpKQopKSkKKSkpCikpKQopKSkKKSkpCWkpKQipKSkHaSk + pBmkpKQYpKSkF6SkpBekpKQXpKSkFqSkpBWkpKQSpKSkD6SkpA2kpKQMpKSkC6SkpAqkpKQJpKSkB6Sk + pAWkpKQEpKSkA6SkpAKkpKQCpKSkAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkpKQBpKSkBKSk + pAekpKQKpKSkDaSkpBCkpKQUpKSkFqSkpBmkpKQdpKSkIqSkpCWkpKQopKSkKaSkpCykpKQxpKSkN6Sk + pD2kpKRApKSkQKSkpEGkpKRBpKSkQ6SkpEikpKRPpKSkVqSkpFukpKRdpKSkXqSkpF+kpKRfpKSkX6Sk + pF+kpKRfpKSkX6SkpF+kpKRgpKSkY6SkpGqkpKRypKSkeaSkpH2kpKR/pKSkf6SkpH+kpKR/pKSkf6Sk + pH+kpKR/pKSkf6SkpH+kpKR/pKSkf6SkpH+kpKR/pKSkf6SkpH+kpKR/pKSkf6SkpH+kpKR/pKSkf6Sk + pH+kpKR/pKSkf6SkpH+kpKR/pKSkf6SkpH+kpKR/pKSkf6SkpH+kpKR/pKSkf6SkpH+kpKR/pKSkf6Sk + pH+kpKR/pKSkf6SkpH+kpKR/pKSkfaSkpHmkpKRypKSkaqSkpGOkpKRgpKSkX6SkpF+kpKRfpKSkX6Sk + pF+kpKRfpKSkX6SkpF6kpKRdpKSkWaSkpFOkpKRLpKSkRaSkpEKkpKRBpKSkQaSkpECkpKRApKSkPaSk + pDekpKQxpKSkLKSkpCmkpKQopKSkJaSkpCKkpKQdpKSkGaSkpBakpKQSpKSkD6SkpAykpKQJpKSkBqSk + pAOkpKQBAAAAAAAAAAAAAAAApKSkA6SkpAikpKQQpKSkGqSkpCOkpKQrpKSkM6SkpDqkpKQ/pKSkRKSk + pEukpKRTpKSkWaSkpF2kpKRfpKSkY6SkpGqkpKRypKSkeaSkpH2kpKR/pKSkf6SkpH+kpKSCpKSkh6Sk + pI+kpKSXpKSknaSkpJ+kpKSgpKSkoKSkpKCkpKSgpKSkoKSkpKCkpKSgpKSkoKSkpKGkpKSkpKSkq6Sk + pLKkpKS4pKSkvKSkpL2kpKS9pKSkvqSkpL6kpKS+pKSkvqSkpL6kpKS+pKSkvqSkpL6kpKS+pKSkvqSk + pL6kpKS+pKSkvqSkpL6kpKS+pKSkvqSkpL6kpKS+pKSkvqSkpL6kpKS+pKSkvqSkpL6kpKS+pKSkvqSk + pL6kpKS+pKSkvqSkpL6kpKS+pKSkvqSkpL6kpKS+pKSkvqSkpL6kpKS+pKSkvaSkpL2kpKS8pKSkuKSk + pLKkpKSrpKSkpKSkpKGkpKSgpKSkoKSkpKCkpKSgpKSkoKSkpKCkpKSgpKSkn6SkpJ6kpKSapKSkk6Sk + pIukpKSEpKSkgKSkpH+kpKR/pKSkf6SkpH2kpKR5pKSkcqSkpGqkpKRjpKSkX6SkpF2kpKRZpKSkU6Sk + pEukpKREpKSkPqSkpDekpKQwpKSkKaSkpCGkpKQYpKSkD6SkpAekpKQCAAAAAKSkpAKkpKQJpKSkFqSk + pCmkpKQ9pKSkUKSkpF+kpKRrpKSkdaSkpHykpKSDpKSkiqSkpJOkpKSapKSknqSkpKCkpKSkpKSkqqSk + pLKkpKS4pKSkvKSkpL2kpKS9pKSkvaSkpL+kpKTDpKSkyaSkpM+kpKTTpKSk1aSkpNWkpKTWpKSk1qSk + pNakpKTWpKSk1qSkpNakpKTWpKSk1qSkpNikpKTbpKSk4KSkpOSkpKTmpKSk56SkpOekpKTopKSk6KSk + pOikpKTopKSk6KSkpOikpKTopKSk6KSkpOikpKTopKSk6KSkpOikpKTopKSk6KSkpOikpKTopKSk6KSk + pOikpKTopKSk6KSkpOikpKTopKSk6KSkpOikpKTopKSk6KSkpOikpKTopKSk6KSkpOikpKTopKSk6KSk + pOikpKTopKSk6KSkpOikpKTnpKSk56SkpOakpKTkpKSk4KSkpNukpKTYpKSk1qSkpNakpKTWpKSk1qSk + pNakpKTWpKSk1qSkpNakpKTVpKSk1KSkpNGkpKTMpKSkxqSkpMGkpKS+pKSkvaSkpL2kpKS9pKSkvKSk + pLikpKSypKSkqqSkpKSkpKSgpKSknqSkpJqkpKSTpKSkiqSkpIKkpKR6pKSkcaSkpGakpKRbpKSkTaSk + pDqkpKQmpKSkE6SkpAcAAAAApKSkBKSkpA+kpKQmpKSkRaSkpGakpKSApKSklKSkpKOkpKStpKSktaSk + pLukpKTBpKSkyKSkpM6kpKTSpKSk1KSkpNakpKTapKSk3qSkpOOkpKTlpKSk5qSkpOakpKTmpKSk56Sk + pOmkpKTspKSk7qSkpPGkpKTypKSk8qSkpPOkpKTzpKSk86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk86Sk + pPWkpKT2pKSk+KSkpPikpKT5pKSk+aSkpPqkpKT6pKSk+qSkpPqkpKT6pKSk+qSkpPqkpKT6pKSk+qSk + pPqkpKT6pKSk+qSkpPqkpKT6pKSk+qSkpPqkpKT6pKSk+qSkpPqkpKT6pKSk+qSkpPqkpKT6pKSk+qSk + pPqkpKT6pKSk+qSkpPqkpKT6pKSk+qSkpPqkpKT6pKSk+qSkpPqkpKT6pKSk+qSkpPmkpKT5pKSk+KSk + pPikpKT2pKSk9aSkpPOkpKTzpKSk86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk86SkpPKkpKTxpKSk8KSk + pO2kpKTqpKSk6KSkpOakpKTmpKSk5qSkpOakpKTlpKSk46SkpN6kpKTapKSk1qSkpNOkpKTRpKSkzqSk + pMekpKTApKSkuaSkpLKkpKSppKSknaSkpI+kpKR8pKSkYaSkpEGkpKQipKSkDQAAAACkpKQEpKSkEqSk + pCykpKRSpKSkd6SkpJWkpKSqpKSkuaSkpMSkpKTLpKSk0aSkpNakpKTcpKSk4aSkpOSkpKTmpKSk56Sk + pOqkpKTspKSk8KSkpPKkpKTzpKSk9KSkpPSkpKT0pKSk9KSkpPWkpKT3pKSk+KSkpPmkpKT6pKSk+6Sk + pPukpKT7pKSk+6SkpPukpKT7pKSk+6SkpPukpKT7pKSk+6SkpPukpKT8pKSk/KSkpPykpKT8pKSk/aSk + pP2kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSk + pP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSkpP6kpKT+pKSk/qSk + pP6kpKT+pKSk/qSkpP2kpKT9pKSk/KSkpPykpKT8pKSk/KSkpPukpKT7pKSk+6SkpPukpKT7pKSk+6Sk + pPukpKT7pKSk+6SkpPukpKT7pKSk+qSkpPmkpKT4pKSk9qSkpPWkpKT0pKSk9KSkpPSkpKT0pKSk86Sk + pPKkpKTvpKSk7KSkpOmkpKTnpKSk5qSkpOSkpKTgpKSk26SkpNWkpKTPpKSkyKSkpL+kpKSzpKSkpaSk + pJCkpKRypKSkTKSkpCikpKQPAAAAAKSkpAOkpKQOpKSkJKSkpEOkpKRkpKSkf6SkpJGkpKSfpKSkq6Sk + pLOkpKS5pKSkv6SkpMakpKTMpKSk0aSkpNOkpKTUpKSk1qSkpNqkpKTfpKSk46SkpOWkpKTmpKSk5qSk + pOakpKTmpKSk56SkpOmkpKTspKSk76SkpPGkpKTypKSk86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk86Sk + pPOkpKTzpKSk86SkpPOkpKTzpKSk9aSkpPakpKT4pKSk+aSkpPmkpKT6pKSk+qSkpPqkpKT6pKSk+qSk + pPqkpKT6pKSk+qSkpPqkpKT6pKSk+qSkpPqkpKT6pKSk+qSkpPqkpKT6pKSk+qSkpPqkpKT6pKSk+qSk + pPqkpKT6pKSk+qSkpPqkpKT6pKSk+qSkpPqkpKT6pKSk+qSkpPqkpKT5pKSk+aSkpPikpKT2pKSk9aSk + pPOkpKTzpKSk86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk86SkpPOkpKTzpKSk86SkpPKkpKTxpKSk76Sk + pOykpKTppKSk56SkpOakpKTmpKSk5qSkpOakpKTkpKSk4aSkpN2kpKTYpKSk1aSkpNSkpKTSpKSkz6Sk + pMqkpKTCpKSkvKSkpLakpKSvpKSkpaSkpJmkpKSLpKSkeaSkpF6kpKQ/pKSkIaSkpAwAAAAApKSkAaSk + pAekpKQUpKSkJ6SkpDykpKRNpKSkW6SkpGekpKRxpKSkeaSkpICkpKSGpKSkj6SkpJekpKSdpKSkn6Sk + pKGkpKSkpKSkqqSkpLKkpKS4pKSkvKSkpL2kpKS9pKSkvaSkpL2kpKS/pKSkw6SkpMmkpKTPpKSk06Sk + pNWkpKTVpKSk1qSkpNakpKTWpKSk1qSkpNakpKTWpKSk1qSkpNakpKTWpKSk1qSkpNikpKTbpKSk4KSk + pOSkpKTmpKSk56SkpOekpKTopKSk6KSkpOikpKTopKSk6KSkpOikpKTopKSk6KSkpOikpKTopKSk6KSk + pOikpKTopKSk6KSkpOikpKTopKSk6KSkpOikpKTopKSk6KSkpOikpKTopKSk6KSkpOikpKTopKSk6KSk + pOikpKTopKSk56SkpOekpKTmpKSk5KSkpOCkpKTbpKSk2KSkpNakpKTWpKSk1qSkpNakpKTWpKSk1qSk + pNakpKTWpKSk1qSkpNakpKTVpKSk1aSkpNOkpKTPpKSkyaSkpMOkpKS/pKSkvaSkpL2kpKS9pKSkvKSk + pLqkpKS1pKSkrqSkpKekpKSipKSkoKSkpJ6kpKSapKSkk6SkpIqkpKSDpKSkfaSkpHakpKRspKSkYqSk + pFakpKRIpKSkN6SkpCSkpKQSpKSkBwAAAAAAAAAApKSkAqSkpAekpKQPpKSkGKSkpCGkpKQppKSkMKSk + pDekpKQ9pKSkQqSkpEekpKRPpKSkVqSkpFukpKRepKSkYKSkpGOkpKRqpKSkcqSkpHmkpKR9pKSkf6Sk + pH+kpKR/pKSkf6SkpIKkpKSHpKSkj6SkpJekpKSdpKSkn6SkpKCkpKSgpKSkoKSkpKCkpKSgpKSkoKSk + pKCkpKSgpKSkoKSkpKCkpKShpKSkpKSkpKukpKSypKSkuKSkpLykpKS9pKSkvaSkpL6kpKS+pKSkvqSk + pL6kpKS+pKSkvqSkpL6kpKS+pKSkvqSkpL6kpKS+pKSkvqSkpL6kpKS+pKSkvqSkpL6kpKS+pKSkvqSk + pL6kpKS+pKSkvqSkpL6kpKS+pKSkvqSkpL6kpKS+pKSkvqSkpL6kpKS9pKSkvaSkpLykpKS4pKSksqSk + pKukpKSkpKSkoaSkpKCkpKSgpKSkoKSkpKCkpKSgpKSkoKSkpKCkpKSgpKSkoKSkpKCkpKSfpKSknaSk + pJekpKSPpKSkh6SkpIKkpKR/pKSkf6SkpH+kpKR+pKSkfKSkpHakpKRupKSkZqSkpGGkpKRfpKSkXaSk + pFmkpKRTpKSkS6SkpESkpKQ/pKSkOqSkpDSkpKQtpKSkJqSkpB6kpKQWpKSkDaSkpAekpKQCAAAAAAAA + AAAAAAAApKSkAaSkpAOjpKMGoqSjCaKkowykpKQPpKSkEqSkpBWkpKQXpKSkG6SkpB+kpKQkpKSkJ6Sk + pCikpKQqpKSkLKSkpDGkpKQ3pKSkPaSkpECkpKRApKSkQaSkpEGkpKRBpKSkQ6SkpEikpKRPpKSkVqSk + pFukpKRdpKSkXqSkpF+kpKRfpKSkX6SkpF+kpKRfpKSkX6SkpF+kpKRfpKSkX6SkpGCkpKRjpKSkaqSk + pHKkpKR5pKSkfaSkpH+kpKR/pKSkf6SkpH+kpKR/pKSkf6SkpH+kpKR/pKSkf6SkpH+kpKR/pKSkf6Sk + pH+kpKR/pKSkf6SkpH+kpKR/pKSkf6SkpH+kpKR/pKSkf6SkpH+kpKR/pKSkf6SkpH+kpKR/pKSkf6Sk + pH+kpKR/pKSkf6SkpH+kpKR/pKSkfaSkpHmkpKRypKSkaqSkpGOkpKRgpKSkX6SkpF+kpKRfpKSkX6Sk + pF+kpKRfpKSkX6SkpF+kpKRfpKSkXqSkpF2kpKRbpKSkVqSkpE+kpKRIpKSkQ6SkpEGkpKRBpKSkQaSk + pECkpKQ+pKSkOqSkpDSkpKQupKSkK6SkpCmkpKQopKSkJaSkpCKkpKQdpKSkGaSkpBakpKQUpKSkEaSk + pA6kpKQKpKSkB6SkpAWkpKQDpKSkAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYpZ8BkqecAoyo + mQKGqZYDgaqUBIWplgWMqJkGi6mZCIupmQmLqZkLi6mZC5emngykpKQNpKSkD6SkpBKkpKQVpKSkFqSk + pBekpKQXpKSkF6SkpBekpKQYpKSkG6SkpB+kpKQkpKSkJ6SkpCikpKQopKSkKKSkpCikpKQopKSkKKSk + pCikpKQopKSkKKSkpCikpKQopKSkKqSkpCykpKQxpKSkN6SkpD2kpKRApKSkQKSkpEGkpKRBpKSkQaSk + pEGkpKRBpKSkQaSkpEGkpKRBpKSkQaSkpEGkpKRBpKSkQaSkpEGkpKRBpKSkQaSkpEGkpKRBpKSkQaSk + pEGkpKRBpKSkQaSkpEGkpKRBpKSkQaSkpEGkpKRBpKSkQaSkpEGkpKRBpKSkQaSkpECkpKRApKSkPaSk + pDekpKQxpKSkLKSkpCqkpKQopKSkKKSkpCikpKQopKSkKKSkpCikpKQopKSkKKSkpCikpKQopKSkKKSk + pCekpKQkpKSkH6SkpBukpKQYpKSkF6SkpBekpKQXpKSkF6SkpBWkpKQUpKSkEaSkpA6kpKQMpKSkC6Sk + pAukpKQKpKSkCaSkpAekpKQFpKSkBKSkpASkpKQDpKSkAqSkpAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEy1fRRLtXxAS7V8QUu1 + fEFMtXxBTLV9QUy1fUFMtX1CTbV9Q021fUNNtX1ETbV+RE61fkROtX5ETrV+RGmvikRpr4pFaq+KRmqv + ikhqr4pJaq+KSWqviklqr4pJaq+KSWqviklqr4pJaq+KSWqviklqr4pJaq+KSWqviklqr4pKa6+KS2uv + ik1rr4pPbK+LUWyvi1Jsr4tTbK+LU2yvi1Nsr4tTbK+LU2yvi1Nsr4tTbK+LU2yvi1Nsr4tTbK+LU2yv + i1Nsr4tTbK+LU2yvi1Nsr4tTb66MRJSnnRqkpKQXpKSkF6SkpBekpKQXpKSkF6SkpBekpKQXpKSkF6Sk + pBekpKQXpKSkF6SkpBekpKQXpKSkF6SkpBakpKQVpKSkEqSkpA+kpKQNpKSkDKSkpAukpKQLpKSkC6Sk + pAukpKQLpKSkC6SkpAukpKQLpKSkC6SkpAukpKQLpKSkC6SkpAmkpKQIpKSkBqSkpAWkpKQFpKSkBaSk + pAWkpKQFpKSkBKSkpASkpKQDpKSkAqSkpAKkpKQCpKSkAaSkpAGkpKQBAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAULWABDm5dV8uvHDLLrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68 + cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68 + cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68 + cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrxw/y68cP8uvHD/Lrtw8ze6 + dJpdsoUkca6OBXiskQWAq5QFiamYBZGnnAWapZ8FoKSiBaSkpAWkpKQFpKSkBaSkpAWkpKQFpKSkBKSk + pASkpKQDpKSkAqSkpAKkpKQCpKSkAqSkpAKkpKQCpKSkAqSkpAKkpKQCpKSkAqSkpAKkpKQCpKSkAqSk + pAKkpKQBpKSkAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADy6eBwtvHHHLbxx/y28cf8tvHH/Lbxx/y28 + cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28 + cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28 + cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28 + cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cfc7uXdoAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAArvnMjLb5y5y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+ + cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+ + cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+ + cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+cv8tvnL/Lb5y/y2+ + cv8tvnL/Lb5y/y2+cv83u3eHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK790CCy+c88svnP/LL5z/yy+c/8svnP/LL5z/yy+ + c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+ + c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+ + c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+ + c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8svnP/LL5z/yy+c/8zvXZTAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAArwHRzK8B0/yvAdP8rwHT/K8B0/yvAdP8rwHT/K8B0/yvAdP8rwHT/K8B0/yvAdP8rwHT/K8B0/yvA + dP8rwHT/K8B0/yvAdP8rwHT/K8B0/yvAdP8rwHT/K8B0/yvAdP8rwHT/K8B0/yvAdP8rwHT/K8B0/yvA + dP8rwHT/K8B0/yvAdP8rwHT/K8B0/yvAdP8rwHT/K8B0/yvAdP8rwHT/K8B0/yvAdP8rwHT/K8B0/yvA + dP8rwHT/K8B0/yvAdP8rwHT/K8B0/yvAdP8rwHT/K8B0/yvAdP8rwHT/K8B0/yvAdP8rwHT/K8B0/yvA + dP8rwHT/K8B0/yvAdP8rwHT/K8B0/yvAdOcqwHUIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKsB1BCvAdecrwHX/K8B1/yvAdf8rwHX/K8B1/yvA + df8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvA + df8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvA + df8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvA + df8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yrA + dWMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAApwXY7KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrB + dv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrB + dv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrB + dv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrB + dv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2twAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACnCd2spwnj/KcJ4/ynCeP8pwnj/KcJ4/ynC + eP8pwnj/KcJ4/ynCeP8pwnj/KcJ4/ynCeP8pwnj/KcJ4/ynCeP8pwnj/KcJ4/ynCeP8pwnj/KcJ4/ynC + eP8pwnj/KcJ4/ynCeP8pwnj/KcJ4/ynCeP8pwnj/KcJ4/ynCeP8pwnj/KcJ4/ynCeP8pwnj/KcJ4/ynC + eP8pwnj/KcJ4/ynCeP8pwnj/KcJ4/ynCeP8pwnj/KcJ4/ynCeP8pwnj/KcJ4/ynCeP8pwnj/KcJ4/ynC + eP8pwnj/KcJ4/ynCeP8pwnj/KcJ4/ynCeP8pwnj/KcJ4/ynCeP8pwnj/KcJ4/ynCeP8pwnj/KcJ4/ynC + eP8pwnjnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAKMN4fynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynD + ef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynD + ef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynD + ef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynD + ef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8pw3n/KcN5/ynDef8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoxHl/KMR6/yjEev8oxHr/KMR6/yjE + ev8oxHr/KMR6/yjEev8oxHr/KMR6/yjEev8oxHr/KMR6/yjEev8oxHr/KMR6/yjEev8oxHr/KMR6/yjE + ev8oxHr/KMR6/yjEev8oxHr/KMR6/yjEev8oxHr/KMR6/yjEev8oxHr/KMR6/yjEev8oxHr/KMR6/yjE + ev8oxHr/KMR6/yjEev8oxHr/KMR6/yjEev8oxHr/KMR6/yjEev8oxHr/KMR6/yjEev8oxHr/KMR6/yjE + ev8oxHr/KMR6/yjEev8oxHr/KMR6/yjEev8oxHr/KMR6/yjEev8oxHr/KMR6/yjEev8oxHr/KMR6/yjE + ev8oxHr/KMR6/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAACfFen8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjF + e/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjF + e/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjF + e/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjF + e/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/KMV7/yjFe/8oxXv/AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ8Z7fyfHfP8nx3z/J8d8/yfH + fP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfH + fP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfH + fP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfH + fP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfHfP8nx3z/J8d8/yfH + fP8nx3z/J8d8/yfHfP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAmx3x/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybI + ff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybI + ff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybI + ff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybI + ff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/wAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACbIfn8myH7/Jsh+/ybI + fv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybI + fv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybI + fv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybI + fv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybIfv8myH7/Jsh+/ybI + fv8myH7/Jsh+/ybIfv8myH7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAJcl+fyXJf/8lyX//Jcl//yXJf/8lyX//Jcl//yXJf/8lyX//Jcl//yXJ + f/8lyX//Jcl//yXJf/8lyX//Jcl//yXJf/8lyX//Jcl//yXJf/8lyX//Jcl//yXJf/8lyX//Jcl//yXJ + f/8lyX//Jcl//yXJf/8lyX//Jcl//yXJf/8lyX//Jcl//yXJf/8lyX//Jcl//yXJf/8lyX//Jcl//yXJ + f/8lyX//Jcl//yXJf/8lyX//Jcl//yXJf/8lyX//Jcl//yXJf/8lyX//Jcl//yXJf/8lyX//Jcl//yXJ + f/8lyX//Jcl//yXJf/8lyX//Jcl//yXJf/8lyX//Jcl//yXJf/8lyX//Jcl//yXJf/8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlyX9/JcqA/yXK + gP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXK + gP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXK + gP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXK + gP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXKgP8lyoD/JcqA/yXK + gP8lyoD/JcqA/yXKgP8lyoD/JcqA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAACTKgH8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTL + gf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTL + gf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTL + gf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTL + gf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJMuBfyTM + gv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTM + gv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTM + gv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTM + gv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTM + gv8kzIL/JMyC/yTMgv8kzIL/JMyC/yTMgv8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjzIJ/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPN + g/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPN + g/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPN + g/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPN + g/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/yPNg/8jzYP/I82D/wAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACPN + g38jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPN + hP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPN + hP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPN + hP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/I82E/yPN + hP8jzYT/I82E/yPNhP8jzYT/I82E/yPNhP8jzYT/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIs2EfyLOhP8izoT/Is6E/yLOhP8izoT/Is6E/yLO + hP8izoT/Is6E/yLOhP8izoT/Is6E/yLOhP8izoT/Is6E/yLOhP8izoT/Is6E/yLOhP8izoT/Is6E/yLO + hP8izoT/Is6E/yLOhP8izoT/Is6E/yLOhP8izoT/Is6E/yLOhP8izoT/Is6E/yLOhP8izoT/Is6E/yLO + hP8izoT/Is6E/yLOhP8izoT/Is6E/yLOhP8izoT/Is6E/yLOhP8izoT/Is6E/yLOhP8izoT/Is6E/yLO + hP8izoT/Is6E/yLOhP8izoT/Is6E/yLOhP8izoT/Is6E/yLOhP8izoT/Is6E/yLOhP8izoT/Is6E/yLO + hP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAizoV/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLP + hf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLP + hf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLP + hf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLP + hf8iz4X/Is+F/yLPhf8iz4X/Is+F/yLPhf8iz4X/Is+F/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACHPhn8hz4b/Ic+G/yHPhv8hz4b/Ic+G/yHP + hv8hz4b/Ic+G/yHPhv8hz4b/Ic+G/yHPhv8hz4b/Ic+G/yHPhv8hz4b/Ic+G/yHPhv8hz4b/Ic+G/yHP + hv8hz4b/Ic+G/yHPhv8hz4b/Ic+G/yHPhv8hz4b/Ic+G/yHPhv8hz4b/Ic+G/yHPhv8hz4b/Ic+G/yHP + hv8hz4b/Ic+G/yHPhv8hz4b/Ic+G/yHPhv8hz4b/Ic+G/yHPhv8hz4b/Ic+G/yHPhv8hz4b/Ic+G/yHP + hv8hz4b/Ic+G/yHPhv8hz4b/Ic+G/yHPhv8hz4b/Ic+G/yHPhv8hz4b/Ic+G/yHPhv8hz4b/Ic+G/yHP + hv8hz4b/oX0rv6F9K7+hfSu/oX0rv6F9K7+hfSu/oX0rv6F9K7+hfSu/oX0rv6F9K7+hfSu/oX0rv6F9 + K7+hfSu/oX0rv6F9K7ehfSuTon0rV6J+LAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAIdCGfyHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQ + h/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQ + h/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQ + h/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQ + h/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/8h0If/IdCH/yHQh/+ifiz/on4s/6J+LP+ifiz/on4s/6J+ + LP+ifiz/on4s/6J+LP+ifiz/on4s/6J+LP+ifiz/on4s/6J+LP+ifiz/on4s/6J+LP+ifiz/on4s66N+ + LGujfi0EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAg0Id/INGI/yDRiP8g0Yj/INGI/yDR + iP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDR + iP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDR + iP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDR + iP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDR + iP8g0Yj/INGI/6N/Lf+jfy3/o38t/6N/Lf+jfy3/o38t/6N/Lf+jfy3/o38t/6N/Lf+jfy3/o38t/6N/ + Lf+jfy3/o38t/6N/Lf+jfy3/o38t/6N/Lf+jfy3/o38t/6N/Lbekfy0MAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAACDRiH8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/pIAu/6SALv+kgC7/pIAu/6SA + Lv+kgC7/pIAu/6SALv+kgC7/pIAu/6SALv+kgC7/pIAu/6SALv+kgC7/pIAu/6SALv+kgC7/pIAu/6SA + Lv+kgC7/pIAu/6SALrulgC8EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH9GJfyDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif+mgS//poEv/6aBL/+mgS//poEv/6aBL/+mgS//poEv/6aBL/+mgS//poEv/6aB + L/+mgS//poEv/6aBL/+mgS//poEv/6aBL/+mgS//poEv/6aBL/+mgS//poEv/6aBL3sAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAf0op/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/T + iv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/T + iv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/T + iv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/T + iv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/6eCMP+ngjD/p4Iw/6eC + MP+ngjD/p4Iw/6eCMP+ngjD/p4Iw/6eCMP+ngjD/p4Iw/6eCMP+ngjD/p4Iw/6eCMP+ngjD/p4Iw/6eC + MP+ngjD/p4Iw/6eCMP+ngjD/p4Iw76eCMBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB7Tin8f04v/H9OL/x/T + i/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/T + i/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/T + i/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/T + i/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/T + i/8f04v/H9OL/x/Ti/8f04v/qIMx/6iDMf+ogzH/qIMx/6iDMf+ogzH/qIMx/6iDMf+ogzH/qIMx/6iD + Mf+ogzH/qIMx/6iDMf+ogzH/qIMx/6iDMf+ogzH/qIMx/6iDMf+ogzH/qIMx/6iDMf+ogzH/qIMxYwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAHtOLfx7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7U + jP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7U + jP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7U + jP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7U + jP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP+phDL/qYQy/6mE + Mv+phDL/qYQy/6mEMv+phDL/qYQy/6mEMv+phDL/qYQy/6mEMv+phDL/qYQy/6mEMv+phDL/qYQy/6mE + Mv+phDL/qYQy/6mEMv+phDL/qYQy/6mEMv+phDKrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAe1Ix/HtWM/x7V + jP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7V + jP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7V + jP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7V + jP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/x7V + jP8e1Yz/HtWM/x7VjP8e1Yz/HtWM/6qFM/+qhTP/qoUz/6qFM/+qhTP/qoUz/6qFM/+qhTP/qoUz/6qF + M/+qhTP/qoUz/6qFM/+qhTP/qoUz/6qFM/+qhTP/qoUz/6qFM/+qhTP/qoUz/6qFM/+qhTP/qoUz/6qF + M88AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAB3UjH8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7V + jf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/HtWN/x7Vjf8e1Y3/rIY1/6yG + Nf+shjX/rIY1/6yGNf+shjX/rIY1/6yGNf+shjX/rIY1/6yGNf+shjX/rIY1/6yGNf+shjX/rIY1/6yG + Nf+shjX/rIY1/6yGNf+shjX/rIY1/6yGNf+shjX/rIY13wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHdWNfx3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv+thzb/rYc2/62HNv+thzb/rYc2/62HNv+thzb/rYc2/62H + Nv+thzb/rYc2/62HNv+thzb/rYc2/62HNv+thzb/rYc2/62HNv+thzb/rYc2/62HNv+thzb/rYc2/62H + Nv+thzbfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAd1o5/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/66I + N/+uiDf/rog3/66IN/+uiDf/rog3/66IN/+uiDf/rog3/66IN/+uiDf/rog3/66IN/+uiDf/rog3/66I + N/+uiDf/rog3/66IN/+uiDf/rog3/66IN/+uiDf/rog3/66IN98AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB3W + jn8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//HdeP/x3X + j/8d14//HdeP/x3Xj/8d14//HdeP/x3Xj/8d14//r4k4/6+JOP+viTj/r4k4/6+JOP+viTj/r4k4/6+J + OP+viTj/r4k4/6+JOP+viTj/r4k4/6+JOP+viTj/r4k4/6+JOP+viTj/r4k4/6+JOP+viTj/r4k4/6+J + OP+viTj/r4k43wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHNePfxzXj/8c14//HNeP/xzXj/8c14//HNeP/xzX + j/8c14//HNeP/xzXj/8c14//HNeP/xzXj/8c14//HNeP/xzXj/8c14//HNeP/xzXj/8c14//HNeP/xzX + j/8c14//HNeP/xzXj/8c14//HNeP/xzXj/8c14//HNeP/xzXj/8c14//HNeP/xzXj/8c14//HNeP/xzX + j/8c14//HNeP/xzXj/8c14//HNeP/xzXj/8c14//HNeP/xzXj/8c14//HNeP/xzXj/8c14//HNeP/xzX + j/8c14//HNeP/xzXj/8c14//HNeP/xzXj/8c14//HNeP/xzXj/8c14//HNeP/xzXj/8c14//HNeP/xzX + j/+xijn/sYo5/7GKOf+xijn/sYo5/7GKOf+xijn/sYo5/7GKOf+xijn/sYo5/7GKOf+xijn/sYo5/7GK + Of+xijn/sYo5/7GKOf+xijn/sYo5/7GKOf+xijn/sYo5/7GKOf+xijnfAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAd2JB/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzY + kP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzY + kP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzY + kP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzY + kP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/7KLOv+yizr/sos6/7KLOv+yizr/sos6/7KL + Ov+yizr/sos6/7KLOv+yizr/sos6/7KLOv+yizr/sos6/7KLOv+yizr/sos6/7KLOv+yizr/sos6/7KL + Ov+yizr/sos6/7KLOt8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB3YkX8j2pf/HNiR/xzYkf8c2JH/HNiR/xzY + kf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzY + kf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzY + kf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzY + kf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/yTb + mP8c2JH/s4w7/7OMO/+zjDv/s4w7/7OMO/+zjDv/s4w7/7OMO/+zjDv/s4w7/7OMO/+zjDv/s4w7/7OM + O/+zjDv/s4w7/7OMO/+zjDv/s4w7/7OMO/+zjDv/s4w7/7OMO/+zjDv/s4w73wAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAHtmSfyven/8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZ + kf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZ + kf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZ + kf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZ + kf8c2ZH/HNmR/xzZkf8c2ZH/HNmR/xzZkf8c2ZH/K96f/x7Xj/+0jTz/tI08/7SNPP+0jTz/tI08/7SN + PP+0jTz/tI08/7SNPP+0jTz/tI08/7SNPP+0jTz/tI08/7SNPP+0jTz/tI08/7SNPP+0jTz/tI08/7SN + PP+0jTz/tI08/7SNPP+0jTzfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAe2ZRfLN6h/yDalv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8y4ab/M82F/7WOPv+1jj7/tY4+/7WOPv+1jj7/tY4+/7WOPv+1jj7/tY4+/7WOPv+1jj7/tY4+/7WO + Pv+1jj7/tY4+/7WOPv+1jj7/tY4+/7WOPv+1jj7/tY4+/7WOPv+1jj7/tY4+/7WOPt8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAB7alSQg25f/NOKo/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/H9qV/zXiqf9VvXL/t48//7ePP/+3jz//t48//7eP + P/+3jz//t48//7ePP/+3jz//t48//7ePP/+3jz//t48//7ePP/+3jz//t48//7ePP/+3jz//t48//7eP + P/+3jz//t48//7ePP/+3jz//t48/3wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABvaksc95bD/JN2a/xva + kv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xva + kv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xva + kv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xva + kv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xva + kv885a//Jd2b/5OhU/+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iR + QP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQP+4kUDfAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAH9uWRyHcmP9F6Lf/INuX/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/G9qT/xva + k/8b2pP/G9qT/xvak/8b2pP/G9qT/xvak/8b2pP/M+Ko/znkrf9CyH7/uZJB/7mSQf+5kkH/uZJB/7mS + Qf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mS + Qf+5kkH/uZJB/7mSQf+5kkH/uZJB/7mSQd8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHdqVlyrf + of9J6rz/Kt+g/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xra + k/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xra + k/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xra + k/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/GtqT/xrak/8a2pP/HtuW/zzl + sP9C57b/JdaO/6abTP+6k0L/upNC/7qTQv+6k0L/upNC/7qTQv+6k0L/upNC/7qTQv+6k0L/upNC/7qT + Qv+6k0L/upNC/7qTQv+6k0L/upNC/7qTQv+6k0L/upNC/7qTQv+6k0L/upNC/7qTQv+6k0L/upNC3wAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAi3JoEGtqTqybenf9H6rv/Qui3/zHiqP8m3p3/INyZ/yDc + mf8g3Jn/INyZ/yDcmf8g3Jn/INyZ/yDcmf8g3Jn/INyZ/yDcmf8g3Jn/INyZ/yDcmf8g3Jn/INyZ/yDc + mf8g3Jn/INyZ/yDcmf8g3Jn/INyZ/yDcmf8g3Jn/INyZ/yDcmf8g3Jn/INyZ/yDcmf8g3Jn/INyZ/yDc + mf8g3Jn/INyZ/yDcmf8g3Jn/INyZ/yDcmf8g3Jn/INyZ/yDcmf8g3Jn/INyZ/yDcmf8g3Jn/INyZ/yDc + mf8g3Jn/INyZ/yDcmf8j3Zv/KuCh/znlr/9K677/OOWt/yXWjv+VpFb/u5RD/7uUQ/+7lEP/u5RD/7uU + Q/+7lEP/u5RD/7uUQ/+7lEP/u5RD/7uUQ/+7lEP/u5RD/7uUQ/+7lEP/u5RD/7uUQ/+7lEP/u5RD/7uU + Q/+7lEP/u5RD/7uUQ/+7lEP/u5RD/7uUQ/+7lEPfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAHduWcxvble8t4aX/P+e1/0nqvf9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07s + wv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07s + wv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07s + wv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/07swv9O7ML/TuzC/0zrwP9F6br/N+St/yPe + nP9FyH//qJ1O/72VRP+9lUT/vZVE/72VRP+9lUT/vZVE/72VRP+9lUT/vZVE/72VRP+9lUT/vZVE/72V + RP+9lUT/vZVE/72VRP+9lUT/vZVE/72VRP+9lUT/vZVE/72VRP+9lUT/vZVE/72VRP+9lUT/vZVE/7mU + R+M9i6ogMoqzICOJvyAQiM8gAIfdIACH3SAAh90gAIfdIACH3SAAh90gAIfdIACH3SAAh90gAIfdIACH + 3SAAh90gAIfdIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJN2cFB3clm8a25S7GtuU5xrb + lP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrb + lP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrb + lP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrblP8a25T/GtuU/xrb + lP8a25T/GtuU/xrblP8a25T/H9mR/zbPhv9awHX/mKZY/76WRf++lkX/vpZF/76WRf++lkX/vpZF/76W + Rf++lkX/vpZF/76WRf++lkX/vpZF/76WRf++lkX/vpZF/76WRf++lkX/vpZF/76WRf++lkX/vpZF/76W + Rf++lkX/vpZF/76WRf++lkX/vpZF/76WRf++lkX/ppRY/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH + 3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd9wCH3bcAh91PAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL+XRp+/l0b/v5dG/7+XRv+/l0b/v5dG/7+X + Rv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+X + Rv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+X + Rv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+X + Rv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+XRv+/l0b/v5dG/7+X + Rv+nlVn/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH + 3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93HAIfdIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAwJhHn8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CY + R//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CY + R//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CY + R//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/8CY + R//AmEf/wJhH/8CYR//AmEf/wJhH/8CYR//AmEf/wJhH/6iWWv8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH + 3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH + 3f8Ah93nAIjeJwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADBmUmfwZlJ/8GZSf/BmUn/wZlJ/8GZ + Sf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZ + Sf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZ + Sf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZ + Sf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZ + Sf/BmUn/qZdb/wCJ3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ + 3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ3v8Aid7fAIneEAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAMOaSp/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8Oa + Sv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8Oa + Sv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8Oa + Sv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8Oa + Sv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv/Dmkr/w5pK/8OaSv+qmFz/AIrf/wCK3/8Ait//AIrf/wCK + 3/8Ait//AIrf/wCK3/8Ait//AIrf/wCK3/8Ait//AIrf/wCK3/8Ait//AIrf/wCK3/8Ait//AIrf/wCK + 3/8Ait//AIrf/wCK3/8Ait+XAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxJtLn8SbS//Em0v/xJtL/8Sb + S//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8Sb + S//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8Sb + S//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8Sb + S//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8SbS//Em0v/xJtL/8Sb + S//Em0v/xJtL/6uZXf8Ai+D/AIvg/wCL4P8Ai+D/AIvg/wCL4P8Ai+D/AIvg/wCL4P8Ai+D/AIvg/wCL + 4P8Ai+D/AIvg/wCL4P8Ai+D/AIvg/wCL4P8Ai+D/AIvg/wCL4P8Ai+D/AIvg/wCL4PcAjOAUAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADGnEyfxpxM/8acTP/GnEz/xpxM/8acTP/GnEz/xpxM/8acTP/GnEz/xpxM/8ac + TP/GnEz/xpxM/8acTP/GnEz/xpxM/8acTP/GnEz/xpxM/8acTP/GnEz/xpxM/8acTP/GnEz/xpxM/8ac + TP/GnEz/xpxM/8acTP/GnEz/xpxM/8acTP/GnEz/xpxM/8acTP/GnEz/xpxM/8acTP/GnEz/xpxM/8ac + TP/GnEz/xpxM/8acTP/GnEz/xpxM/8acTP/GnEz/xpxM/8acTP/GnEz/xpxM/8acTP/GnEz/xpxM/8ac + TP/GnEz/xpxM/8acTP/GnEz/xpxM/8acTP/GnEz/xpxM/8acTP/GnEz/rZpe/wCN4P8AjeD/AI3g/wCN + 4P8AjeD/AI3g/wCN4P8AjeD/AI3g/wCN4P8AjeD/AI3g/wCN4P8AjeD/AI3g/wCN4P8AjeD/AI3g/wCN + 4P8AjeD/AI3g/wCN4P8AjeD/AI3g/wCN4GMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMedTZ/HnU3/x51N/8ed + Tf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8ed + Tf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8ed + Tf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8ed + Tf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8ed + Tf/HnU3/x51N/8edTf+um1//AI7h/wCO4f8AjuH/AI7h/wCO4f8AjuH/AI7h/wCO4f8AjuH/AI7h/wCO + 4f8AjuH/AI7h/wCO4f8AjuH/AI7h/wCO4f8AjuH/AI7h/wCO4f8AjuH/AI7h/wCO4f8AjuH/AI7hlwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAyZ5On8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8me + Tv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8me + Tv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8me + Tv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8me + Tv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/8meTv/Jnk7/yZ5O/6+cYf8Aj+L/AI/i/wCP + 4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP + 4v8Aj+L/AI/i/wCP4v8Aj+L/AI/i/wCP4v8Aj+K3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADKn0+fyp9P/8qf + T//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qf + T//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qf + T//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qf + T//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qfT//Kn0//yp9P/8qf + T//Kn0//yp9P/8qfT//Kn0//sJ1i/wCR4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR + 4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR + 478AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAMugUJ/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ug + UP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ug + UP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ug + UP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ug + UP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP/LoFD/y6BQ/8ugUP+xnmP/AJLk/wCS + 5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS + 5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS5P8AkuT/AJLkvwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzKFSn8yh + Uv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yh + Uv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yh + Uv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yh + Uv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yhUv/MoVL/zKFS/8yh + Uv/MoVL/zKFS/8yhUv/MoVL/zKFS/7KfZP8Ak+T/AJPk/wCT5P8Ak+T/AJPk/wCT5P8Ak+T/AJPk/wCT + 5P8Ak+T/AJPk/wCT5P8Ak+T/AJPk/wCT5P8Ak+T/AJPk/wCT5P8Ak+T/AJPk/wCT5P8Ak+T/AJPk/wCT + 5P8Ak+S/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADNolOfzaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82i + U//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82i + U//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82i + U//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82i + U//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/zaJT/82iU//NolP/s6Fl/wCU + 5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU + 5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU5b8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM+j + VJ/Qpln/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+j + VP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+j + VP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+j + VP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+jVP/Po1T/z6NU/8+j + VP/Po1T/z6NU/8+jVP/Po1T/z6NU/9CmWf+0omb/AJbm/wCW5v8Alub/AJbm/wCW5v8Alub/AJbm/wCW + 5v8Alub/AJbm/wCW5v8Alub/AJbm/wCW5v8Alub/AJbm/wCW5v8Alub/AJbm/wCW5v8Alub/AJbm/wCW + 5v8Alub/AJbmvwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0KVVn9SsYP/QpVX/0KVV/9ClVf/QpVX/0KVV/9Cl + Vf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9Cl + Vf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9Cl + Vf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9Cl + Vf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/1a5j/7Wj + Z/8Al+f/AJfn/wCX5/8Al+f/AJfn/wCX5/8Al+f/AJfn/wCX5/8Al+f/AJfn/wCX5/8Al+f/AJfn/wCX + 5/8Al+f/AJfn/wCX5/8Al+f/AJfn/wCX5/8Al+f/AJfn/wCX5/8Al+e/AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADRplaX2LNr/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9Gm + Vv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9Gm + Vv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9Gm + Vv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9Gm + Vv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Ys2v/pqNz/wCY6P8AmOj/AJjo/wCY6P8AmOj/AJjo/wCY + 6P8AmOj/AJjo/wCY6P8AmOj/AJjo/wCY6P8AmOj/AJjo/wCY6P8AmOj/AJjo/wCY6P8AmOj/AJjo/wCY + 6P8AmOj/AJjo/wCY6L8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANOoWm/atm//1Kte/9KnV//Sp1f/0qdX/9Kn + V//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9Kn + V//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9Kn + V//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9Kn + V//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdX/9KnV//Sp1f/0qdY/9y6 + df+Doo3/AJrp/wCa6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa + 6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa6f8Amun/AJrp/wCa6f8Amun/AJrpvwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA1KpcJNWrXv/gv3v/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9Oo + WP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9Oo + WP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9Oo + WP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/TqFj/06hY/9Oo + WP/TqFj/06hY/9OoWP/TqFj/06hY/9OoWP/ct3D/2bNq/0ift/8Am+n/AJvp/wCb6f8Am+n/AJvp/wCb + 6f8Am+n/AJvp/wCb6f8Am+n/AJvp/wCb6f8Am+n/AJvp/wCb6f8Am+n/AJvp/wCb6f8Am+n/AJvp/wCb + 6f8Am+n/AJvp/wCb6f8Am+m/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1KhZu+HAfv/btWz/1alZ/9Wp + Wf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9Wp + Wf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9Wp + Wf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9Wp + Wf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/1alZ/9WpWf/VqVn/2K9j/+TG + h//AqGf/Bp3m/wCc6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc + 6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc6r8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADWrF8r16xe9+bIi//ct2//1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aq + Wv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aq + Wv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aq + Wv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aq + Wv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9mxZv/ny4//2bBl/0miuf8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe + 6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe + 6/8Anuv/AJ7r/wCe6/8Anuv/AJ7rvwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADXrF5j2rBk/+fL + j//jw4L/2rFl/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9er + W//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9er + W//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9er + W//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9erW//Xq1v/16tb/9muYf/hvnv/6c6T/9uz + av94pZr/AJ/s/wCf7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf + 7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf7P8An+z/AJ/s/wCf7P8An+y/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADYrV9f2a1f9+LAfv/q0Jf/58uP/+TEg//kw4P/5MOD/+TD + g//kw4P/5MOD/+TDg//kw4P/5MOD/+TDg//kw4P/5MOD/+TDg//kw4P/5MOD/+TDg//kw4P/5MOD/+TD + g//kw4P/5MOD/+TDg//kw4P/5MOD/+TDg//kw4P/5MOD/+TDg//kw4P/5MOD/+TDg//kw4P/5MOD/+TD + g//kw4P/5MOD/+TDg//kw4P/5MOD/+TDg//kw4P/5MOD/+TDg//kw4P/5MOD/+TDg//kw4P/5MOD/+TD + g//kw4P/5MOD/+TDg//nyo3/6tGX/+XFhf/asGP/cqeg/wCg7f8AoO3/AKDt/wCg7f8AoO3/AKDt/wCg + 7f8AoO3/AKDt/wCg7f8AoO3/AKDt/wCg7f8AoO3/AKDt/wCg7f8AoO3/AKDt/wCg7f8AoO3/AKDt/wCg + 7f8AoO3/AKDt/wCg7f8AoO3/AKDt/wCg7b8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADasGQk2a1er9quYPvfuXL/4sB8/+LAfP/iwHz/4sB8/+LAfP/iwHz/4sB8/+LAfP/iwHz/4sB8/+LA + fP/iwHz/4sB8/+LAfP/iwHz/4sB8/+LAfP/iwHz/4sB8/+LAfP/iwHz/4sB8/+LAfP/iwHz/4sB8/+LA + fP/iwHz/4sB8/+LAfP/iwHz/4sB8/+LAfP/iwHz/4sB8/+LAfP/iwHz/4sB8/+LAfP/iwHz/4sB8/+LA + fP/iwHz/4sB8/+LAfP/iwHz/4sB8/+LAfP/iwHz/4sB8/+LAfP/iwHz/4sB8/+C6c//bsWT/oqqC/zKk + y/8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh + 7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHtvwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3LNpFNuyZlPbsmZ/27Jmf9uy + Zn/bsmZ/27Jmf9uyZn/bsmZ/27Jmf9uyZn/bsmZ/27Jmf9uyZn/bsmZ/2LFof8ywb3/DsHR/u695f22o + p99tqKf/bain/22op/9tqKf/bain/22op/9tqKf/bain/22op/9tqKf/bain/22op/9tqKf/bain/22o + p/9tqKf/bain/22op/9tqKf/bain/22op/9tqKf/bain/22op/9tqKf/bain/22op/9tqKf/bain/22o + p/9tqKf/bain/22op/9tqKf/VKe2/x6k2v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj + 7v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj + 7v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj7v8Ao+6/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKTvvwCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk + 7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk + 7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk + 7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk + 7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk7/8ApO//AKTv/wCk + 778AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAApfC/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl + 8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl + 8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl + 8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl + 8P8ApfD/AKXw/wCl8P8ApfD/AKXw/wCl8P8ApfD/AKXwvwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACn8b8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn + 8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn + 8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn + 8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn + 8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn + 8f8Ap/G/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAKjxvwCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo + 8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo + 8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo + 8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo + 8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8b8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqfK/AKny/wCp8v8AqfL/AKny/wCp + 8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp + 8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp + 8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp + 8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp8v8AqfL/AKny/wCp + 8v8AqfL/AKnyvwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAACq878AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq + 8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq + 8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq + 8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq + 8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvP/AKrz/wCq8/8AqvO/AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKz0vwCs9P8ArPT/AKz0/wCs + 9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs + 9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs + 9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs + 9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs + 9P8ArPT/AKz0/wCs9L8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAArfS/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt + 9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt + 9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt + 9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt + 9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30vwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACu9b8ArvX/AK71/wCu + 9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu + 9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu + 9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu + 9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu + 9f8ArvX/AK71/wCu9f8ArvW/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAK/2vwCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv + 9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv + 9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv + 9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv + 9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9v8Ar/b/AK/2/wCv9r8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsfe/ALH3/wCx + 9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx + 9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx + 9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx + 9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx + 9/8Asff/ALH3/wCx9/8Asff/ALH3vwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACy+L8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy + +P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy + +P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy + +P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy + +P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvj/ALL4/wCy+P8Asvi/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALP4vwCz + +P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz + +P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz + +P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz + +P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz + +P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+L8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtfm/ALn5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1 + +f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1 + +f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1 + +f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1 + +f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Auvr/ALX5vwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC2 + +r8Avvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2 + +v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2 + +v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2 + +v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2 + +v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC/+v8Atvq3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALf7qwDE+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3 + +/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3 + +/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3 + +/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3 + +/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/ALf7/wC3+/8At/v/AMT7/wC3 + +5cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAuft3AMb8/wC9+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4 + +/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4 + +/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4 + +/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4 + +/8AuPv/ALj7/wC4+/8AuPv/ALj7/wDA/P8AxPz/ALr7YwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC7+yAAvPz7AND8/wC5/P8Aufz/ALn8/wC5 + /P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5 + /P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5 + /P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5 + /P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Aufz/ALn8/wC5/P8Auvz/AM/8/wC6 + /PcAvPsUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAC6/Z8Ayf3/AM39/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7 + /f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7 + /f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7 + /f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7 + /f8Au/3/ALv9/wC7/f8Au/3/ALv9/wDO/f8AyP3/ALv8iwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL/8FAC8/ucA0f7/AND+/wC+ + /v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8 + /v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8 + /v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8 + /v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC+/v8A0v7/AND+/wC8 + /tsAv/wMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAMD9JwC9/ucAz/7/ANr+/wDO/v8AxP7/AL7+/wC9/v8Avf7/AL3+/wC9 + /v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9 + /v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9 + /v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9/v8Avf7/AL3+/wC9 + /v8Avf7/AL/+/wDF/v8Azv7/ANr+/wDN/v8Avf7nAMD9JwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMH9IAC+ + /8cAxP//ANL//wDb//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd + //8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd + //8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd + //8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//AN3//wDd//8A3f//ANr//wDR//8AxP//AL7/uwDB + /RgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADB/k8Avv+vAL7/8wDB//8Awv//AML//wDC + //8Awv//AML//wDC//8Awv//AML//wDC//8Awv//AML//wDC//8Awv//AML//wDC//8Awv//AML//wDC + //8Awv//AML//wDC//8Awv//AML//wDC//8Awv//AML//wDC//8Awv//AML//wDC//8Awv//AML//wDC + //8Awv//AML//wDC//8Awv//AML//wDC//8Awv//AML//wDC//8Awv//AML//wDC//8Awv//AML//wDC + //8Awv//AML//wDA//8Avv/vAL7/qwDB/kcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAML+GADC/iAAwv4gAML+IADC/iAAwv4gAML+IADC/iAAwv4gAML+IADC + /iAAwv4gAML+IADC/iAAwv4gAML+IADC/iAAwv4gAML+IADC/iAAwv4gAML+IADC/iAAwv4gAML+IADC + /iAAwv4gAML+IADC/iAAwv4gAML+IADC/iAAwv4gAML+IADC/iAAwv4gAML+IADC/iAAwv4gAML+IADC + /iAAwv4gAML+IADC/iAAwv4gAML+IADC/iAAwv4gAML+IADC/iAAwv4gAML+GAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////////////////// + ////////////////////////////////////////////8AAAAAAAAAAAA//////4AAAAAAAAAAAAAAAA + B//8AAAAAAAAAAAAAAAAAAAP4AAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAA + AAAAAAAAgAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAgAAAAAAA + AAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAB/AAAAAAAAAAAAAAAAAAAH//w + AAAAAAAAAAAAAAAAD///gAAAAAAAAAAAAAAP/////wAAAAAAAAAD//////////4AAAAAAAAAAf////// + ///8AAAAAAAAAAD//////////AAAAAAAAAAAf/////////gAAAAAAAAAAH/////////4AAAAAAAAAAB/ + ////////+AAAAAAAAAAAf/////////gAAAAAAAAAAH/////////4AAAAAAAAAAB/////////+AAAAAAA + AAAAf/////////gAAAAAAAAAAH/////////4AAAAAAAAAAB/////////+AAAAAAAAAAAf/////////gA + AAAAAAAAAH/////////4AAAAAAAAAAB/////////+AAAAAAAAAAAf/////////gAAAAAAAAAAH////// + ///4AAAAAAAAAAB/////////+AAAAAAAAAAAf/////////gAAAAAAAAAAH/////////4AAAAAAAAAAB/ + ////////+AAAAAAAAAAAAAAH//////gAAAAAAAAAAAAAAf/////4AAAAAAAAAAAAAAD/////+AAAAAAA + AAAAAAAAf/////gAAAAAAAAAAAAAAH/////4AAAAAAAAAAAAAAA/////+AAAAAAAAAAAAAAAP/////gA + AAAAAAAAAAAAAD/////4AAAAAAAAAAAAAAA/////+AAAAAAAAAAAAAAAP/////gAAAAAAAAAAAAAAD// + ///4AAAAAAAAAAAAAAA/////+AAAAAAAAAAAAAAAP/////gAAAAAAAAAAAAAAD/////4AAAAAAAAAAAA + AAA/////+AAAAAAAAAAAAAAAP/////gAAAAAAAAAAAAAAD/////4AAAAAAAAAAAAAAA/////+AAAAAAA + AAAAAAAAP/////wAAAAAAAAAAAAAAD/////8AAAAAAAAAAAAAAA//////gAAAAAAAAAAAAAAP/////4A + AAAAAAAAAAAAAD//////gAAAAAAAAAAAAAAAAB///8AAAAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAA + AP/////8AAAAAAAAAAAAAAB//////AAAAAAAAAAAAAAAP/////wAAAAAAAAAAAAAAD/////8AAAAAAAA + AAAAAAAf/////AAAAAAAAAAAAAAAH/////wAAAAAAAAAAAAAAB/////8AAAAAAAAAAAAAAAf/////AAA + AAAAAAAAAAAAH/////wAAAAAAAAAAAAAAB/////8AAAAAAAAAAAAAAAf/////AAAAAAAAAAAAAAAH/// + //wAAAAAAAAAAAAAAB/////8AAAAAAAAAAAAAAAf/////AAAAAAAAAAAAAAAH/////wAAAAAAAAAAAAA + AB/////8AAAAAAAAAAAAAAAf/////gAAAAAAAAAAAAAAH/////4AAAAAAAAAAAAAAB//////AAAAAAAA + AAAAAAAf/////4AAAAAAAAAAAAAAH//////AAAAAAAAAAAAAAB//////8AAAAAAAAAAAAAAf//////// + /gAAAAAAAAAAH/////////4AAAAAAAAAAB/////////+AAAAAAAAAAAf/////////gAAAAAAAAAAH/// + //////4AAAAAAAAAAB/////////+AAAAAAAAAAAf/////////gAAAAAAAAAAH/////////4AAAAAAAAA + AB/////////+AAAAAAAAAAAf/////////gAAAAAAAAAAH/////////4AAAAAAAAAAB/////////+AAAA + AAAAAAAf/////////gAAAAAAAAAAH/////////4AAAAAAAAAAB/////////+AAAAAAAAAAAf//////// + /gAAAAAAAAAAH/////////4AAAAAAAAAAB/////////+AAAAAAAAAAAf/////////wAAAAAAAAAAP/// + //////8AAAAAAAAAAD//////////gAAAAAAAAAB//////////8AAAAAAAAAA///////////wAAAAAAAA + A////////////gAAAAAAAB////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////8oAAAAYAAAAMAA + AAABACAAAAAAAICUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKOjowGjo6MBo6OjAaOj + owGjo6MBo6OjAaOjowGjo6MBo6OjAaOjowKjo6MDo6OjA6OjowSjo6MEo6OjA6OjowSjo6MEo6OjA6Oj + owSjo6MEo6OjA6OjowSjo6MEo6OjA6OjowSjo6MEo6OjA6OjowSjo6MEo6OjA6OjowSjo6MEo6OjA6Oj + owSjo6MDo6OjBKOjowSjo6MDo6OjBKOjowSjo6MDo6OjBKOjowOjo6MCo6OjAaOjowGjo6MBo6OjAaOj + owGjo6MBo6OjAaOjowGjo6MBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAACjo6MBpKSkAaSkpAKkpKQDo6OjA6SkpASjo6MFpKSkBqSkpAejo6MHpKSkB6Sk + pAijo6MLpKSkDqSkpA+jo6MQpKSkEKSkpBCjo6MQpKSkEKSkpBCjo6MQpKSkEqSkpBekpKQbo6OjHaSk + pB6kpKQeo6OjHaSkpB6kpKQeo6OjHaSkpB6kpKQeo6OjHaSkpB6kpKQeo6OjHaSkpB6kpKQeo6OjHaSk + pB6kpKQeo6OjHaSkpB6kpKQeo6OjHaSkpB6jo6MdpKSkHqSkpB6jo6MdpKSkHqSkpB6jo6MdpKSkHqSk + pByjo6MZpKSkFKSkpBGjo6MQpKSkEKSkpBCjo6MQpKSkEKSkpBCjo6MPpKSkDqSkpAujo6MJpKSkB6Sk + pAejo6MHpKSkB6SkpAajo6MEpKSkA6SkpAOjo6MCpKSkAqSkpAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAApKSkAqSkpASjo6MGpKSkCaSkpAujo6MNpKSkEaSkpBWkpKQXo6OjGaSk + pB2jo6MipKSkJ6SkpCqjo6MqpKSkK6SkpC6jo6M0pKSkPKSkpEGjo6NCpKSkQqSkpEKjo6NCpKSkQqSk + pEKjo6NDpKSkR6SkpFCkpKRZo6OjXqSkpF+kpKRfo6OjX6SkpF+kpKRfo6OjX6SkpF+kpKRfo6OjX6Sk + pF+kpKRfo6OjX6SkpF+kpKRfo6OjX6SkpF+kpKRfo6OjX6SkpF+kpKRfo6OjX6SkpF+jo6NfpKSkX6Sk + pF+jo6NfpKSkX6SkpF+jo6NfpKSkXqSkpFyjo6NVpKSkS6SkpEWjo6NCpKSkQqSkpEKjo6NCpKSkQqSk + pEKjo6NBpKSkPaSkpDajo6MupKSkK6SkpCqjo6MqpKSkKaSkpCWjo6MfpKSkGqSkpBijo6MWpKSkE6Sk + pA+jo6MMpKSkCaSkpAejo6MEpKSkAgAAAAAAAAAAAAAAAKOjowGjo6MGo6OjD6Ojoxmjo6Mjo6OjLaOj + ozSjo6M6o6OjQ6Ojo0yjo6NRo6OjVaOjo1ujo6Nlo6OjbqOjo3Kjo6Nzo6OjdKOjo3ijo6OBo6OjjKOj + o5Gjo6OTo6Ojk6Ojo5Ojo6OTo6Ojk6Ojo5Ojo6OUo6OjmaOjo6Kjo6Oro6OjsKOjo7Kjo6Oyo6OjsqOj + o7Kjo6Oyo6OjsqOjo7Kjo6Oyo6OjsqOjo7Kjo6Oyo6OjsqOjo7Kjo6Oyo6OjsqOjo7Kjo6Oyo6OjsqOj + o7Kjo6Oyo6OjsqOjo7Kjo6Oyo6OjsqOjo7Kjo6Oyo6OjsqOjo7Kjo6Oyo6OjsaOjo6+jo6Ono6OjnaOj + o5ajo6OTo6Ojk6Ojo5Ojo6OTo6Ojk6Ojo5Ojo6OSo6OjjKOjo4Ojo6N5o6OjdKOjo3Ojo6Nyo6OjcKOj + o2qjo6Ngo6OjV6Ojo1Ojo6NPo6OjR6Ojoz6jo6M2o6OjLqOjoyajo6Mdo6OjEqOjowmjo6MCAAAAAKSk + pAWjo6MWpKSkM6SkpE+jo6NmpKSkeKSkpISjo6ONpKSklqSkpKGkpKSoo6Ojq6SkpLGjo6O6pKSkwqSk + pMWjo6PGpKSkxqSkpMmjo6PPpKSk1qSkpNqjo6PbpKSk3KSkpNyjo6PcpKSk3KSkpNyjo6PcpKSk3qSk + pOOkpKToo6Oj6qSkpOukpKTso6Oj66SkpOykpKTso6Oj66SkpOykpKTso6Oj66SkpOykpKTso6Oj66Sk + pOykpKTso6Oj66SkpOykpKTso6Oj66SkpOykpKTso6Oj66SkpOyjo6PrpKSk7KSkpOyjo6PrpKSk7KSk + pOyjo6PrpKSk66SkpOmjo6PlpKSk4KSkpN2jo6PcpKSk3KSkpNyjo6PcpKSk3KSkpNujo6PapKSk16Sk + pNCjo6PJpKSkxqSkpMajo6PFpKSkxKSkpL6jo6O1pKSkraSkpKqjo6OlpKSknKSkpJGjo6OGpKSkeqSk + pGujo6NZpKSkPqSkpCCjo6MLpKSkAaSkpAqjo6MlpKSkVKSkpH+jo6OepKSks6SkpL+jo6PHpKSkz6Sk + pNekpKTdo6Oj36SkpOKjo6PmpKSk66SkpO6jo6PupKSk76SkpO+jo6PypKSk9KSkpPajo6P3pKSk+KSk + pPijo6P3pKSk+KSkpPijo6P3pKSk+KSkpPmkpKT6o6Oj+6SkpPukpKT8o6Oj/KSkpPykpKT8o6Oj/KSk + pPykpKT8o6Oj/KSkpPykpKT8o6Oj/KSkpPykpKT8o6Oj/KSkpPykpKT8o6Oj/KSkpPykpKT8o6Oj/KSk + pPyjo6P8pKSk/KSkpPyjo6P8pKSk/KSkpPyjo6P7pKSk+6SkpPujo6P5pKSk+KSkpPijo6P3pKSk+KSk + pPijo6P3pKSk+KSkpPejo6P2pKSk9KSkpPKjo6PwpKSk76SkpO6jo6PupKSk7aSkpOmjo6PkpKSk4KSk + pN6jo6PapKSk0qSkpMqjo6PBpKSktaSkpKSjo6OMpKSkZaSkpDejo6MSAAAAAKOjowmjo6Mho6OjTaOj + o3ejo6OUo6Ojp6Ojo7Wjo6O9o6OjxqOjo86jo6PVo6Oj16Ojo9qjo6Pdo6Oj5KOjo+ijo6Ppo6Oj6aOj + o+mjo6Pqo6Oj7aOjo/Cjo6Pzo6Oj9KOjo/Sjo6P0o6Oj9KOjo/Sjo6P0o6Oj9KOjo/Sjo6P1o6Oj9aOj + o/ejo6P5o6Oj+qOjo/qjo6P6o6Oj+qOjo/qjo6P6o6Oj+qOjo/qjo6P6o6Oj+qOjo/qjo6P6o6Oj+qOj + o/qjo6P6o6Oj+qOjo/qjo6P6o6Oj+qOjo/qjo6P6o6Oj+qOjo/qjo6P6o6Oj+qOjo/mjo6P4o6Oj9qOj + o/Wjo6P0o6Oj9KOjo/Sjo6P0o6Oj9KOjo/Sjo6P0o6Oj9KOjo/Sjo6Pxo6Oj7qOjo+ujo6Pqo6Oj6aOj + o+mjo6Poo6Oj5KOjo9+jo6Pao6Oj2KOjo9Wjo6PQo6Ojx6Ojo7+jo6O2o6OjqaOjo5mjo6OCo6OjXaOj + ozKjo6MRAAAAAKSkpAOjo6MPpKSkJaSkpDyjo6NPpKSkXqSkpGqjo6NypKSkfKSkpIakpKSPo6Ojk6Sk + pJajo6OdpKSkp6SkpK+jo6OxpKSksqSkpLKjo6OzpKSkuaSkpMKjo6PIpKSky6SkpMyjo6PMpKSkzKSk + pMyjo6PMpKSkzKSkpMykpKTNo6Ojz6SkpNakpKTco6Oj36SkpOCkpKTho6Oj4KSkpOGkpKTho6Oj4KSk + pOGkpKTho6Oj4KSkpOGkpKTho6Oj4KSkpOGkpKTho6Oj4KSkpOGkpKTho6Oj4KSkpOGjo6PgpKSk4aSk + pOGjo6PgpKSk4KSkpN6jo6PZpKSk0qSkpM2jo6PMpKSkzKSkpMyjo6PMpKSkzKSkpMyjo6PMpKSkzKSk + pMqjo6PGpKSkvaSkpLajo6OypKSksqSkpLGjo6OvpKSkqKSkpJ6jo6OWpKSkk6SkpJCjo6OIpKSkfaSk + pHSjo6NrpKSkX6SkpFKjo6NCpKSkLaSkpBejo6MHAAAAAAAAAACjo6MDpKSkCaOkoxGjpKMYpKSkH6Sk + pCWjo6MqpKSkMKSkpDikpKQ/o6OjQqSkpESjo6NLpKSkVaSkpFyjo6NepKSkX6SkpF+jo6NhpKSkaKSk + pHKjo6N7pKSkfqSkpH+jo6N/pKSkf6SkpH+jo6N/pKSkf6SkpH+kpKSAo6OjhaSkpI+kpKSYo6OjnaSk + pJ+kpKSfo6Ojn6SkpJ+kpKSfo6Ojn6SkpJ+kpKSfo6Ojn6SkpJ+kpKSfo6Ojn6SkpJ+kpKSfo6Ojn6Sk + pJ+kpKSfo6Ojn6SkpJ+jo6OfpKSkn6SkpJ+jo6OfpKSknqSkpJujo6OUpKSkiaSkpIKjo6N/pKSkf6Sk + pH+jo6N/pKSkf6SkpH+jo6N/pKSkf6SkpH2jo6N3pKSkbaSkpGSjo6NgpKSkX6SkpF+jo6NcpKSkVqSk + pEyjo6NFpKSkQqSkpD+jo6M6pKSkMaSkpCujo6MmpKSkIKSkpBmjo6MSpKSkC6SkpAWjo6MBAAAAAAAA + AAAAAAAAAAAAAJ2koAGWpp0DkaebBIuomQaMqJkHkqecCpGnmwyRp5sPkaebEKGkoxGjo6MUpKSkGaSk + pByjo6MdpKSkHaSkpB6jo6MfpKSkI6SkpCqjo6MvpKSkMaSkpDKjo6MypKSkMqSkpDKjo6MypKSkMqSk + pDKkpKQzo6OjN6SkpD6kpKRGo6OjS6SkpEykpKRMo6OjTKSkpEykpKRMo6OjTKSkpEykpKRMo6OjTKSk + pEykpKRMo6OjTKSkpEykpKRMo6OjTKSkpEykpKRMo6OjTKSkpEyjo6NMpKSkTKSkpEyjo6NMpKSkS6Sk + pEmjo6NDpKSkOqSkpDSjo6MypKSkMqSkpDKjo6MypKSkMqSkpDKjo6MypKSkMqSkpDGjo6MtpKSkJqSk + pCGjo6MepKSkHaSkpB2jo6McpKSkGaSkpBWjo6MRpKSkEKSkpA+jo6MNpKSkCqSkpAijo6MGpKSkBaSk + pAOjo6MBpKSkAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABasoQdRLZ5V0S3 + eXBEt3lwRLZ5cES2eXBEtnlxRbZ5ckW2enJFtnpyRbZ6cka2enJVs4FzWrKDdFuyg3VbsoN2W7KDdluy + g3ZbsoN2W7KDdluyg3ZbsoN2W7KDdluyg3ZbsoN3W7KDeFyyg3pcsoR8XLKEfVyyhH5csoR+XLKEfVyy + hH5csoR+XLKEfVyyhH5csoR+XLKEfVyyhH5csoR+XLKEfWqvil+KqZgpl6aeEpmmnxKbpaASnqShEqGk + ohKjo6MSo6OjEqOjoxKjo6MSo6OjEqOjoxKjo6MPo6OjDKOjowqjo6MJo6OjCaOjowmjo6MJo6OjCaOj + owmjo6MJo6OjCaOjowmjo6MIo6OjBqOjowSjo6MEo6OjA6OjowOjo6MDo6OjAqOjowKjo6MBo6OjAaOj + owEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAS7Z+EzS6c5EtvHDsLbxw/y28cP8tvHD/Lbxw/i28cP8tvHD+Lbxw/y28cP8tvHD+Lbxw/y28 + cP8tvHD+Lbxw/y28cP8tvHD+Lbxw/y28cP8tvHD+Lbxw/y28cP8tvHD+Lbxw/y28cP8tvHD/Lbxw/i28 + cP8tvHD/Lbxw/i28cP8tvHD/Lbxw/i28cP8tvHD/Lbxw/i28cP8tvHD/Lbxw/i28cP8tvHD/Lbxw/i28 + cP4vu3HpQ7d6fGawig11rZACgquWAo+nmwKcpaACo6SjAqSkpAKjo6MCpKSkAqSkpAGjo6MBAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAuvXQULb1yzCy9cv4svXL+LL1y/iy9cv4svXL+LL1y/iy9 + cv4svXL+LL1y/iy9cv4svXL+LL1y/iy9cv4svXL+LL1y/iy9cv4svXL+LL1y/iy9cv4svXL+LL1y/iy9 + cv4svXL+LL1y/iy9cv4svXL+LL1y/iy9cv4svXL+LL1y/iy9cv4svXL+LL1y/iy9cv4svXL+LL1y/iy9 + cv4svXL+LL1y/iy9cv4svXL+LL1y/iy9cv4svXL+LL1y/jW7drBYtIULAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACq/dAYrvnOxLL5z/yy+ + c/8rvnP+LL5z/yy+c/8svnP/K75z/iy+c/8rvnP+LL5z/yy+c/8rvnP+LL5z/yy+c/8rvnP+LL5z/yy+ + c/8rvnP+LL5z/yy+c/8rvnP+LL5z/yy+c/8rvnP+LL5z/yy+c/8svnP/K75z/iy+c/8svnP/K75z/iy+ + c/8svnP/K75z/iy+c/8svnP/K75z/iy+c/8svnP/K75z/iy+c/8svnP/K75z/iy+c/8svnP/K75z/iy+ + c/8vvnWVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAACrAdUgrwHT7K8B1/yvAdf8rwHT+K8B1/yvAdf8rwHX/K8B0/ivAdf8rwHT+K8B1/yvA + df8rwHT+K8B1/yvAdf8rwHT+K8B1/yvAdf8rwHT+K8B1/yvAdf8rwHT+K8B1/yvAdf8rwHT+K8B1/yvA + df8rwHX/K8B0/ivAdf8rwHX/K8B0/ivAdf8rwHX/K8B0/ivAdf8rwHX/K8B0/ivAdf8rwHX/K8B0/ivA + df8rwHX/K8B0/ivAdf8rwHX/K8B0/ivAdf8rwHX6KsB1JgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACrBdqIqwXb+KsF2/irBdv4qwXb+KsF2/irB + dv4qwXb+KsF2/irBdv4qwXb+KsF2/irBdv4qwXb+KsF2/irBdv4qwXb+KsF2/irBdv4qwXb+KsF2/irB + dv4qwXb+KsF2/irBdv4qwXb+KsF2/irBdv4qwXb+KsF2/irBdv4qwXb+KsF2/irBdv4qwXb+KsF2/irB + dv4qwXb+KsF2/irBdv4qwXb+KsF2/irBdv4qwXb+KsF2/irBdv4qwXb+KsF2/irBdv4qwXb+KsF2fQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACnC + eNMpwnj+KcJ4/ynCeP8pwnj+KcJ4/ynCeP8pwnj/KcJ4/inCeP8pwnj+KcJ4/ynCeP8pwnj+KcJ4/ynC + eP8pwnj+KcJ4/ynCeP8pwnj+KcJ4/ynCeP8pwnj+KcJ4/ynCeP8pwnj+KcJ4/ynCeP8pwnj/KcJ4/inC + eP8pwnj/KcJ4/inCeP8pwnj/KcJ4/inCeP8pwnj/KcJ4/inCeP8pwnj/KcJ4/inCeP8pwnj/KcJ4/inC + eP8pwnj/KcJ4/inCeP8pwnj/KcJ4sQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAACjDed8ow3n+KMR5/yjEef8ow3n+KMR5/yjEef8oxHn/KMN5/ijE + ef8ow3n+KMR5/yjEef8ow3n+KMR5/yjEef8ow3n+KMR5/yjEef8ow3n+KMR5/yjEef8ow3n+KMR5/yjE + ef8ow3n+KMR5/yjEef8oxHn/KMN5/ijEef8oxHn/KMN5/ijEef8oxHn/KMN5/ijEef8oxHn/KMN5/ijE + ef8oxHn/KMN5/ijEef8oxHn/KMN5/ijEef8oxHn/KMN5/ijEef8oxHn/KMN5vwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACfEet8nxHr+J8R6/ifE + ev4nxHr+J8R6/ifEev4nxHr+J8R6/ifEev4nxHr+J8R6/ifEev4nxHr+J8R6/ifEev4nxHr+J8R6/ifE + ev4nxHr+J8R6/ifEev4nxHr+J8R6/ifEev4nxHr+J8R6/ifEev4nxHr+J8R6/ifEev4nxHr+J8R6/ifE + ev4nxHr+J8R6/ifEev4nxHr+J8R6/ifEev4nxHr+J8R6/ifEev4nxHr+J8R6/ifEev4nxHr+J8R6/ifE + ev4nxHr+J8R6vwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAACbHfN8mx3z+J8d8/yfHfP8mx3z+J8d8/yfHfP8nx3z/Jsd8/ifHfP8mx3z+J8d8/yfH + fP8mx3z+J8d8/yfHfP8mx3z+J8d8/yfHfP8mx3z+J8d8/yfHfP8mx3z+J8d8/yfHfP8mx3z+J8d8/yfH + fP8nx3z/Jsd8/ifHfP8nx3z/Jsd8/ifHfP8nx3z/Jsd8/ifHfP8nx3z/Jsd8/ifHfP8nx3z/Jsd8/ifH + fP8nx3z/Jsd8/ifHfP8nx3z/Jsd8/ifHfP8nx3z/JsZ8vwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACbIfd8myH3+Jsh9/ybIff8myH3+Jsh9/ybI + ff8myH3/Jsh9/ibIff8myH3+Jsh9/ybIff8myH3+Jsh9/ybIff8myH3+Jsh9/ybIff8myH3+Jsh9/ybI + ff8myH3+Jsh9/ybIff8myH3+Jsh9/ybIff8myH3/Jsh9/ibIff8myH3/Jsh9/ibIff8myH3/Jsh9/ibI + ff8myH3/Jsh9/ibIff8myH3/Jsh9/ibIff8myH3/Jsh9/ibIff8myH3/Jsh9/ibIff8myH3/Jsd9vwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACXJ + ft8lyX7+Jcl+/iXJfv4lyX7+Jcl+/iXJfv4lyX7+Jcl+/iXJfv4lyX7+Jcl+/iXJfv4lyX7+Jcl+/iXJ + fv4lyX7+Jcl+/iXJfv4lyX7+Jcl+/iXJfv4lyX7+Jcl+/iXJfv4lyX7+Jcl+/iXJfv4lyX7+Jcl+/iXJ + fv4lyX7+Jcl+/iXJfv4lyX7+Jcl+/iXJfv4lyX7+Jcl+/iXJfv4lyX7+Jcl+/iXJfv4lyX7+Jcl+/iXJ + fv4lyX7+Jcl+/iXJfv4lyX7+Jcl+vwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAACTKgN8kyoD+JcqA/yXKgP8kyoD+JcqA/yXKgP8lyoD/JMqA/iXK + gP8kyoD+JcqA/yXKgP8kyoD+JcqA/yXKgP8kyoD+JcqA/yXKgP8kyoD+JcqA/yXKgP8kyoD+JcqA/yXK + gP8kyoD+JcqA/yXKgP8lyoD/JMqA/iXKgP8lyoD/JMqA/iXKgP8lyoD/JMqA/iXKgP8lyoD/JMqA/iXK + gP8lyoD/JMqA/iXKgP8lyoD/JMqA/iXKgP8lyoD/JMqA/iXKgP8lyoD/JMqAvwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACTLgd8ky4H+JMuB/yTL + gf8ky4H+JMuB/yTLgf8ky4H/JMuB/iTLgf8ky4H+JMuB/yTLgf8ky4H+JMuB/yTLgf8ky4H+JMuB/yTL + gf8ky4H+JMuB/yTLgf8ky4H+JMuB/yTLgf8ky4H+JMuB/yTLgf8ky4H/JMuB/iTLgf8ky4H/JMuB/iTL + gf8ky4H/JMuB/iTLgf8ky4H/JMuB/iTLgf8ky4H/JMuB/iTLgf8ky4H/JMuB/iTLgf8ky4H/JMuB/iTL + gf8ky4H/JMuBvwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAACPMgt8jzIL+I8yC/iPMgv4jzIL+I8yC/iPMgv4jzIL+I8yC/iPMgv4jzIL+I8yC/iPM + gv4jzIL+I8yC/iPMgv4jzIL+I8yC/iPMgv4jzIL+I8yC/iPMgv4jzIL+I8yC/iPMgv4jzIL+I8yC/iPM + gv4jzIL+I8yC/iPMgv4jzIL+I8yC/iPMgv4jzIL+I8yC/iPMgv4jzIL+I8yC/iPMgv4jzIL+I8yC/iPM + gv4jzIL+I8yC/iPMgv4jzIL+I8yC/iPMgv4jzIL+JMuBvwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACLNg98izYP+I82E/yPNhP8izYP+I82E/yPN + hP8jzYT/Is2D/iPNhP8izYP+I82E/yPNhP8izYP+I82E/yPNhP8izYP+I82E/yPNhP8izYP+I82E/yPN + hP8izYP+I82E/yPNhP8izYP+I82E/yPNhP8jzYT/Is2D/iPNhP8jzYT/Is2D/iPNhP8jzYT/Is2D/iPN + hP8jzYT/Is2D/iPNhP8jzYT/Is2D/iPNhP8jzYT/Is2D/iPNhP8jzYT/Is2D/iPNhP8jzYT/J8qAvwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACLO + hN8izoT+Is6F/yLOhf8izoT+Is6F/yLOhf8izoX/Is6E/iLOhf8izoT+Is6F/yLOhf8izoT+Is6F/yLO + hf8izoT+Is6F/yLOhf8izoT+Is6F/yLOhf8izoT+Is6F/yLOhf8izoT+Is6F/yLOhf8izoX/Is6E/iLO + hf8izoX/Is6E/iLOhf8izoX/Is6E/iLOhf8izoX/Is6E/iLOhf8izoX/Is6E/iLOhf8izoX/Is6E/iLO + hf8izoX/Is6E/iLOhf8izoX/Ksl/vwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAACHPht8hz4b+Ic+G/iHPhv4hz4b+Ic+G/iHPhv4hz4b+Ic+G/iHP + hv4hz4b+Ic+G/iHPhv4hz4b+Ic+G/iHPhv4hz4b+Ic+G/iHPhv4hz4b+Ic+G/iHPhv4hz4b+Ic+G/iHP + hv4hz4b+Ic+G/iHPhv4hz4b+Ic+G/iHPhv4hz4b+Ic+G/iHPhv4hz4b+Ic+G/iHPhv4hz4b+Ic+G/iHP + hv4hz4b+Ic+G/iHPhv4hz4b+Ic+G/iHPhv4hz4b+Ic+G/iHPhv4hz4b+O75z442JOI+ThTSPnIAuj6F9 + K4+hfSuPoX0rj6F9K4+hfSuPoX0rj6F9K4+hfSuPoX0rj6F9K3yhfStKon4sBAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACDQh98g0If+IdCH/yHQ + h/8g0If+IdCH/yHQh/8h0If/INCH/iHQh/8g0If+IdCH/yHQh/8g0If+IdCH/yHQh/8g0If+IdCH/yHQ + h/8g0If+IdCH/yHQh/8g0If+IdCH/yHQh/8g0If+IdCH/yHQh/8h0If/INCH/iHQh/8h0If/INCH/iHQ + h/8h0If/INCH/iHQh/8h0If/INCH/iHQh/8h0If/INCH/iHQh/8h0If/INCH/iHQh/8h0If/INCH/iHQ + h/8h0If/Qbtw/qJ+LP+ifiz+on4s/6J+LP+ifiz+on4s/6J+LP+ifiz+on4s/6J+LP+ifiz+on4s/6J+ + LP+ifiz+on4s3qN+LFikfy0BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAACDRiN8g0Yj+INGI/yDRiP8g0Yj+INGI/yDRiP8g0Yj/INGI/iDRiP8g0Yj+INGI/yDR + iP8g0Yj+INGI/yDRiP8g0Yj+INGI/yDRiP8g0Yj+INGI/yDRiP8g0Yj+INGI/yDRiP8g0Yj+INGI/yDR + iP8g0Yj/INGI/iDRiP8g0Yj/INGI/iDRiP8g0Yj/INGI/iDRiP8g0Yj/INGI/iDRiP8g0Yj/INGI/iDR + iP8g0Yj/INGI/iDRiP8g0Yj/INGI/iDRiP8g0Yj/Qbxx/qR/Lf+jfy3+pH8t/6R/Lf+jfy3+pH8t/6R/ + Lf+jfy3+pH8t/6R/Lf+jfy3+pH8t/6R/Lf+jfy3+pH8t/6R/Lfikfy18AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/Rid8f0Yn+INKJ/yDSif8f0Yn+INKJ/yDS + if8g0on/H9GJ/iDSif8f0Yn+INKJ/yDSif8f0Yn+INKJ/yDSif8f0Yn+INKJ/yDSif8f0Yn+INKJ/yDS + if8f0Yn+INKJ/yDSif8f0Yn+INKJ/yDSif8g0on/H9GJ/iDSif8g0on/H9GJ/iDSif8g0on/H9GJ/iDS + if8g0on/H9GJ/iDSif8g0on/H9GJ/iDSif8g0on/H9GJ/iDSif8g0on/H9GJ/iDSif8g0on/Qb1y/qWA + L/+lgC/+pYAv/6WAL/+lgC/+pYAv/6WAL/+lgC/+pYAv/6WAL/+lgC/+pYAv/6WAL/+lgC/+pYAv/6WA + L/+lgC/6poEvRwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB7S + it8e0or+HtKK/h7Siv4e0or+HtKK/h7Siv4e0or+HtKK/h7Siv4e0or+HtKK/h7Siv4e0or+HtKK/h7S + iv4e0or+HtKK/h7Siv4e0or+HtKK/h7Siv4e0or+HtKK/h7Siv4e0or+HtKK/h7Siv4e0or+HtKK/h7S + iv4e0or+HtKK/h7Siv4e0or+HtKK/h7Siv4e0or+HtKK/h7Siv4e0or+HtKK/h7Siv4e0or+HtKK/h7S + iv4e0or+HtKK/h7Siv4e0or+Qb50/qeCMP6ngjD+p4Iw/qeCMP6ngjD+p4Iw/qeCMP6ngjD+p4Iw/qeC + MP6ngjD+p4Iw/qeCMP6ngjD+p4Iw/qeCMP6ngjD+p4IwxqeCMAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAB7Ti98e04v+HtOL/x7Ti/8e04v+HtOL/x7Ti/8e04v/HtOL/h7T + i/8e04v+HtOL/x7Ti/8e04v+HtOL/x7Ti/8e04v+HtOL/x7Ti/8e04v+HtOL/x7Ti/8e04v+HtOL/x7T + i/8e04v+HtOL/x7Ti/8e04v/HtOL/h7Ti/8e04v/HtOL/h7Ti/8e04v/HtOL/h7Ti/8e04v/HtOL/h7T + i/8e04v/HtOL/h7Ti/8e04v/HtOL/h7Ti/8e04v/HtOL/h7Ti/8e04v/Qb91/qmDMv+ogzH+qYMy/6mD + Mv+ogzH+qYMy/6mDMv+ogzH+qYMy/6mDMv+ogzH+qYMy/6mDMv+ogzH+qYMy/6mDMv+ogzH+qYMy+qiD + MisAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB7UjN8d1Iz+HtSM/x7U + jP8d1Iz+HtSM/x7UjP8e1Iz/HdSM/h7UjP8d1Iz+HtSM/x7UjP8d1Iz+HtSM/x7UjP8d1Iz+HtSM/x7U + jP8d1Iz+HtSM/x7UjP8d1Iz+HtSM/x7UjP8d1Iz+HtSM/x7UjP8e1Iz/HdSM/h7UjP8e1Iz/HdSM/h7U + jP8e1Iz/HdSM/h7UjP8e1Iz/HdSM/h7UjP8e1Iz/HdSM/h7UjP8e1Iz/HdSM/h7UjP8e1Iz/HdSM/h7U + jP8e1Iz/QcB2/qqEM/+qhDP+qoQz/6qEM/+qhDP+qoQz/6qEM/+qhDP+qoQz/6qEM/+qhDP+qoQz/6qE + M/+qhDP+qoQz/6qEM/+qhDP+qoQz/6qEM1cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAB3Vjd8d1Y3+HdWN/h3Vjf4d1Y3+HdWN/h3Vjf4d1Y3+HdWN/h3Vjf4d1Y3+HdWN/h3V + jf4d1Y3+HdWN/h3Vjf4d1Y3+HdWN/h3Vjf4d1Y3+HdWN/h3Vjf4d1Y3+HdWN/h3Vjf4d1Y3+HdWN/h3V + jf4d1Y3+HdWN/h3Vjf4d1Y3+HdWN/h3Vjf4d1Y3+HdWN/h3Vjf4d1Y3+HdWN/h3Vjf4d1Y3+HdWN/h3V + jf4d1Y3+HdWN/h3Vjf4d1Y3+HdWN/h3Vjf4d1Y3+QcF3/qyGNf6shjX+rIY1/qyGNf6shjX+rIY1/qyG + Nf6shjX+rIY1/qyGNf6shjX+rIY1/qyGNf6shjX+rIY1/qyGNf6shjX+rIY1/quGNGcAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB3Vjt8d1Y7+HdaO/x3Wjv8d1Y7+HdaO/x3W + jv8d1o7/HdWO/h3Wjv8d1Y7+HdaO/x3Wjv8d1Y7+HdaO/x3Wjv8d1Y7+HdaO/x3Wjv8d1Y7+HdaO/x3W + jv8d1Y7+HdaO/x3Wjv8d1Y7+HdaO/x3Wjv8d1o7/HdWO/h3Wjv8d1o7/HdWO/h3Wjv8d1o7/HdWO/h3W + jv8d1o7/HdWO/h3Wjv8d1o7/HdWO/h3Wjv8d1o7/HdWO/h3Wjv8d1o7/HdWO/h3Wjv8d1o7/QcJ4/q2I + Nv+thzb+rYg2/62INv+thzb+rYg2/62INv+thzb+rYg2/62INv+thzb+rYg2/62INv+thzb+rYg2/62I + Nv+thzb+rYg2/62HNmcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB3W + jt8c1o7+HdaP/x3Wj/8c1o7+HdaP/x3Wj/8d1o//HNaO/h3Wj/8c1o7+HdaP/x3Wj/8c1o7+HdaP/x3W + j/8c1o7+HdaP/x3Wj/8c1o7+HdaP/x3Wj/8c1o7+HdaP/x3Wj/8c1o7+HdaP/x3Wj/8d1o//HNaO/h3W + j/8d1o//HNaO/h3Wj/8d1o//HNaO/h3Wj/8d1o//HNaO/h3Wj/8d1o//HNaO/h3Wj/8d1o//HNaO/h3W + j/8d1o//HNaO/h3Wj/8d1o//QcN5/q+JN/+viTf+r4k3/6+JN/+viTf+r4k3/6+JN/+viTf+r4k3/6+J + N/+viTf+r4k3/6+JN/+viTf+r4k3/6+JN/+viTf+r4k3/66IN2cAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAABzXj98c14/+HNeP/hzXj/4c14/+HNeP/hzXj/4c14/+HNeP/hzX + j/4c14/+HNeP/hzXj/4c14/+HNeP/hzXj/4c14/+HNeP/hzXj/4c14/+HNeP/hzXj/4c14/+HNeP/hzX + j/4c14/+HNeP/hzXj/4c14/+HNeP/hzXj/4c14/+HNeP/hzXj/4c14/+HNeP/hzXj/4c14/+HNeP/hzX + j/4c14/+HNeP/hzXj/4c14/+HNeP/hzXj/4c14/+HNeP/hzXj/4c14/+QcN6/rGKOf6xijn+sYo5/rGK + Of6xijn+sYo5/rGKOf6xijn+sYo5/rGKOf6xijn+sYo5/rGKOf6xijn+sYo5/rGKOf6xijn+sYo5/rCK + OWcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB3Ykd8e2JL+HNiQ/xzY + kP8b15D+HNiQ/xzYkP8c2JD/G9eQ/hzYkP8b15D+HNiQ/xzYkP8b15D+HNiQ/xzYkP8b15D+HNiQ/xzY + kP8b15D+HNiQ/xzYkP8b15D+HNiQ/xzYkP8b15D+HNiQ/xzYkP8c2JD/G9eQ/hzYkP8c2JD/G9eQ/hzY + kP8c2JD/G9eQ/hzYkP8c2JD/G9eQ/hzYkP8c2JD/G9eQ/hzYkP8c2JD/G9eQ/hzYkP8c2JD/G9eQ/hzY + kP8f2ZP/QcR7/rKMO/+yizr+sow7/7KMO/+yizr+sow7/7KMO/+yizr+sow7/7KMO/+yizr+sow7/7KM + O/+yizr+sow7/7KMO/+yizr+sow7/7KLOmcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAACDalN8i25f+HNiR/xzYkf8b2JD+HNiR/xzYkf8c2JH/G9iQ/hzYkf8b2JD+HNiR/xzY + kf8b2JD+HNiR/xzYkf8b2JD+HNiR/xzYkf8b2JD+HNiR/xzYkf8b2JD+HNiR/xzYkf8b2JD+HNiR/xzY + kf8c2JH/G9iQ/hzYkf8c2JH/G9iQ/hzYkf8c2JH/G9iQ/hzYkf8c2JH/G9iQ/hzYkf8c2JH/G9iQ/hzY + kf8c2JH/G9iQ/hzYkf8c2JH/G9iQ/hzYkf8m3Jr/Q8V7/rSNPP+0jTz+tI08/7SNPP+0jTz+tI08/7SN + PP+0jTz+tI08/7SNPP+0jTz+tI08/7SNPP+0jTz+tI08/7SNPP+0jTz+tI08/7ONPGcAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/alb8p3Z7+GtiR/hrYkf4a2JH+GtiR/hrY + kf4a2JH+GtiR/hrYkf4a2JH+GtiR/hrYkf4a2JH+GtiR/hrYkf4a2JH+GtiR/hrYkf4a2JH+GtiR/hrY + kf4a2JH+GtiR/hrYkf4a2JH+GtiR/hrYkf4a2JH+GtiR/hrYkf4a2JH+GtiR/hrYkf4a2JH+GtiR/hrY + kf4a2JH+GtiR/hrYkf4a2JH+GtiR/hrYkf4a2JH+GtiR/hrYkf4a2JH+GtiR/hrYkf4t36L+WLtw/rWO + Pv61jj7+tY4+/rWOPv61jj7+tY4+/rWOPv61jj7+tY4+/rWOPv61jj7+tY4+/rWOPv61jj7+tY4+/rWO + Pv61jj7+tY4+/rWOPWcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB3a + lHg04qj+HNqT/xvZkv8a2ZL+G9mS/xvZkv8b2ZL/GtmS/hvZkv8a2ZL+G9mS/xvZkv8a2ZL+G9mS/xvZ + kv8a2ZL+G9mS/xvZkv8a2ZL+G9mS/xvZkv8a2ZL+G9mS/xvZkv8a2ZL+G9mS/xvZkv8b2ZL/GtmS/hvZ + kv8b2ZL/GtmS/hvZkv8b2ZL/GtmS/hvZkv8b2ZL/GtmS/hvZkv8b2ZL/GtmS/hvZkv8b2ZL/GtmS/hvZ + kv8b2ZL/GtmS/iDbl/8x4aX/g6ha/reQP/+3kD/+t5A//7eQP/+3kD/+t5A//7eQP/+3kD/+t5A//7eQ + P/+3kD/+t5A//7eQP/+3kD/+t5A//7eQP/+3kD/+t5A//7ePP2cAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAACHbmB4k3ZrqN+Or/xvak/8a2ZL+G9qT/xvak/8b2pP/GtmS/hva + k/8a2ZL+G9qT/xvak/8a2ZL+G9qT/xvak/8a2ZL+G9qT/xvak/8a2ZL+G9qT/xvak/8a2ZL+G9qT/xva + k/8a2ZL+G9qT/xvak/8b2pP/GtmS/hvak/8b2pP/GtmS/hvak/8b2pP/GtmS/hvak/8b2pP/GtmS/hva + k/8b2pP/GtmS/hvak/8b2pP/GtmS/hvak/8b2pP/HdqU/jrkrf830Yz/tZNC/riRQP+4kUD+uJFA/7iR + QP+4kUD+uJFA/7iRQP+4kUD+uJFA/7iRQP+4kUD+uJFA/7iRQP+4kUD+uJFA/7iRQP+4kUD+uJFA/7KQ + RWcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf25dWLeCj+j3m + sf4k3Zv+GtqT/hrZkv4a2ZL+GtmS/hrZkv4a2ZL+GtmS/hrZkv4a2ZL+GtmS/hrZkv4a2ZL+GtmS/hrZ + kv4a2ZL+GtmS/hrZkv4a2ZL+GtmS/hrZkv4a2ZL+GtmS/hrZkv4a2ZL+GtmS/hrZkv4a2ZL+GtmS/hrZ + kv4a2ZL+GtmS/hrZkv4a2ZL+GtmS/hrZkv4a2ZL+GtmS/hrZkv4a2ZL+GtmS/hvak/4m3p3+P+az/jHa + mv6UpFX+upNC/rqTQv66k0L+upNC/rqTQv66k0L+upNC/rqTQv66k0L+upNC/rqTQv66k0L+upNC/rqT + Qv66k0L+upNC/rqTQv66k0L+upNC/qaRUmcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAH9yXYiXenuk95rL+QOe1/zrlsP845K//OOSu/jjkr/845K7+OOSv/zjk + r/845K7+OOSv/zjkr/845K7+OOSv/zjkr/845K7+OOSv/zjkr/845K7+OOSv/zjkr/845K7+OOSv/zjk + r/845K//OOSu/jjkr/845K//OOSu/jjkr/845K//OOSu/jjkr/845K//OOSu/jjkr/845K//OOSu/jjk + r/845K//OuWw/kHntv875rH/NtSQ/o6oWv+8lET/vJRD/ryURP+8lEP+vJRE/7yURP+8lEP+vJRE/7yU + RP+8lEP+vJRE/7yURP+8lEP+vJRE/7yURP+8lEP+vJRE/7yURP+8lEP+vJRE/5aRYWxgjY0IPIqrCA2H + 0QgAhtwIAIfdCACH3QgAhtwIAIfdCACH3QgAhtwIAIfdCACH3QgAhtwCAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACPdmyMd25aFIN2Z0ibe + nvcn35/+Jt+f/iffn/4m35/+J9+f/iffn/4m35/+J9+f/iffn/4m35/+J9+f/iffn/4n35/+J9+f/yff + n/8n35/+J9+f/yffn/8n35/+J9+f/yffn/8n35//J9+f/iffn/8n35//J9+f/iffn/8n35//J9+f/iff + n/8n35//J9+f/iffn/8n35//J9+f/iffn/8n35//LNyb/kHOiP9vt2v/r5tM/r6VRf++lUX/vpVF/r6V + Rf++lUX+vpVF/76VRf++lUX+vpVF/76VRf++lUX+vpVF/76VRf++lUX+vpVF/76VRf++lUX+vpVF/76V + Rf++lUX+vpVF/1CNnOIAhtzPAIfdzwCH3c8AhtzPAIfdzwCH3c8AhtzPAIfdzwCH3c8AhtzPAIfdzwCH + 3c8Ahty+AIfdfACH3RgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAI6vZDe/l0b+v5dG/r+XRv6/l0b+v5dG/r+XRv6/l0b+v5dG/r+XRv6/l0b+v5dG/r+X + Rv6/l0b+v5dG/r+XRv6/l0b+v5dG/r+XRv6/l0b+v5dG/r+XRv6/l0b+v5dG/r+XRv6/l0b+v5dG/r+X + Rv6/l0b+v5dG/r+XRv6/l0b+v5dG/r+XRv6/l0b+v5dG/r+XRv6/l0b+v5dG/r+XRv6/l0b+v5dG/r+X + Rv6/l0b+v5dG/r+XRv6/l0b+v5dG/r+XRv6/l0b+v5dG/k2Nn/4Ahtz+AIbc/gCG3P4Ahtz+AIbc/gCG + 3P4Ahtz+AIbc/gCG3P4Ahtz+AIbc/gCG3P4Ahtz+AIbc/gCG3PEAh91mAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ6qXzfAmEj+wZhI/8GYSP/AmEj+wZhI/8GY + SP/AmEj+wZhI/8GYSP/BmEj/wJhI/sGYSP/BmEj/wJhI/sGYSP/BmEj/wJhI/sGYSP/BmEj/wJhI/sGY + SP/BmEj/wJhI/sGYSP/BmEj/wJhI/sGYSP/BmEj/wJhI/sGYSP/BmEj/wJhI/sGYSP/AmEj+wZhI/8GY + SP/AmEj+wZhI/8GYSP/AmEj+wZhI/8GYSP/AmEj+wZhI/8GYSP/AmEj+wZhI/8GYSP/AmEj+wZhI/06O + of8AiN3+AIjd/wCI3f8AiN3+AIjd/wCI3f8AiN3+AIjd/wCI3f8AiN3+AIjd/wCI3f8AiN3+AIjd/wCI + 3f8AiN36AIjeZgCJ3gEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK+i + UzfCmkn+wppJ/8KaSf/Cmkn+wppJ/8KaSf/Cmkn+wppJ/8KaSf/Cmkn/wppJ/sKaSf/Cmkn/wppJ/sKa + Sf/Cmkn/wppJ/sKaSf/Cmkn/wppJ/sKaSf/Cmkn/wppJ/sKaSf/Cmkn/wppJ/sKaSf/Cmkn/wppJ/sKa + Sf/Cmkn/wppJ/sKaSf/Cmkn+wppJ/8KaSf/Cmkn+wppJ/8KaSf/Cmkn+wppJ/8KaSf/Cmkn+wppJ/8Ka + Sf/Cmkn+wppJ/8KaSf/Cmkn+wppJ/06Qov8Ait7+AIre/wCK3v8Ait7+AIre/wCK3v8Ait7+AIre/wCK + 3v8Ait7+AIre/wCK3v8Ait7+AIre/wCK3v8Ait7+AIre8ACK3yoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAMSbSjfEm0v+xJtL/sSbS/7Em0v+xJtL/sSbS/7Em0v+xJtL/sSb + S/7Em0v+xJtL/sSbS/7Em0v+xJtL/sSbS/7Em0v+xJtL/sSbS/7Em0v+xJtL/sSbS/7Em0v+xJtL/sSb + S/7Em0v+xJtL/sSbS/7Em0v+xJtL/sSbS/7Em0v+xJtL/sSbS/7Em0v+xJtL/sSbS/7Em0v+xJtL/sSb + S/7Em0v+xJtL/sSbS/7Em0v+xJtL/sSbS/7Em0v+xJtL/sSbS/7Em0v+xJtL/k+So/4Ai9/+AIvf/gCL + 3/4Ai9/+AIvf/gCL3/4Ai9/+AIvf/gCL3/4Ai9/+AIvf/gCL3/4Ai9/+AIvf/gCL3/4Ai9/+AIvf/gCM + 35UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMacTDfGnEz+xp1N/8ad + Tf/GnEz+xp1N/8adTf/GnEz+xp1N/8adTf/GnU3/xpxM/sadTf/GnU3/xpxM/sadTf/GnU3/xpxM/sad + Tf/GnU3/xpxM/sadTf/GnU3/xpxM/sadTf/GnU3/xpxM/sadTf/GnU3/xpxM/sadTf/GnU3/xpxM/sad + Tf/GnEz+xp1N/8adTf/GnEz+xp1N/8adTf/GnEz+xp1N/8adTf/GnEz+xp1N/8adTf/GnEz+xp1N/8ad + Tf/GnEz+xp1N/1CTpP8AjeD+AI3h/wCN4f8AjeD+AI3h/wCN4f8AjeD+AI3h/wCN4f8AjeD+AI3h/wCN + 4f8AjeD+AI3h/wCN4f8AjeD+AI3h/wCN4doAjeAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAMieTTfInk7+yJ5O/8ieTv/Ink7+yJ5O/8ieTv/Ink7+yJ5O/8ieTv/Ink7/yJ5O/sie + Tv/Ink7/yJ5O/sieTv/Ink7/yJ5O/sieTv/Ink7/yJ5O/sieTv/Ink7/yJ5O/sieTv/Ink7/yJ5O/sie + Tv/Ink7/yJ5O/sieTv/Ink7/yJ5O/sieTv/Ink7+yJ5O/8ieTv/Ink7+yJ5O/8ieTv/Ink7+yJ5O/8ie + Tv/Ink7+yJ5O/8ieTv/Ink7+yJ5O/8ieTv/Ink7+yJ5O/1GVpv8Aj+H+AI/i/wCP4v8Aj+H+AI/i/wCP + 4v8Aj+H+AI/i/wCP4v8Aj+H+AI/i/wCP4v8Aj+H+AI/i/wCP4v8Aj+H+AI/i/wCP4usAjuEYAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMmfTzfKn0/+yp9P/sqfT/7Kn0/+yp9P/sqf + T/7Kn0/+yp9P/sqfT/7Kn0/+yp9P/sqfT/7Kn0/+yp9P/sqfT/7Kn0/+yp9P/sqfT/7Kn0/+yp9P/sqf + T/7Kn0/+yp9P/sqfT/7Kn0/+yp9P/sqfT/7Kn0/+yp9P/sqfT/7Kn0/+yp9P/sqfT/7Kn0/+yp9P/sqf + T/7Kn0/+yp9P/sqfT/7Kn0/+yp9P/sqfT/7Kn0/+yp9P/sqfT/7Kn0/+yp9P/sqfT/7Kn0/+yp9P/lGW + p/4AkeP+AJHj/gCR4/4AkeP+AJHj/gCR4/4AkeP+AJHj/gCR4/4AkeP+AJHj/gCR4/4AkeP+AJHj/gCR + 4/4AkeP+AJHj/gCR4+8AkOIfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMug + UTfLoFH+y6FR/8uhUf/LoFH+y6FR/8uhUf/LoFH+y6FR/8uhUf/LoVH/y6BR/suhUf/LoVH/y6BR/suh + Uf/LoVH/y6BR/suhUf/LoVH/y6BR/suhUf/LoVH/y6BR/suhUf/LoVH/y6BR/suhUf/LoVH/y6BR/suh + Uf/LoVH/y6BR/suhUf/LoFH+y6FR/8uhUf/LoFH+y6FR/8uhUf/LoFH+y6FR/8uhUf/LoFH+y6FR/8uh + Uf/LoFH+y6FR/8uhUf/LoFH+y6FR/1KYqP8AkuT+AJLk/wCS5P8AkuT+AJLk/wCS5P8AkuT+AJLk/wCS + 5P8AkuT+AJLk/wCS5P8AkuT+AJLk/wCS5P8AkuT+AJLk/wCS5O8AkuMfAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAM2iUjfNolL+zaJS/s2iUv7NolL+zaJS/s2iUv7NolL+zaJS/s2i + Uv7NolL+zaJS/s2iUv7NolL+zaJS/s2iUv7NolL+zaJS/s2iUv7NolL+zaJS/s2iUv7NolL+zaJS/s2i + Uv7NolL+zaJS/s2iUv7NolL+zaJS/s2iUv7NolL+zaJS/s2iUv7NolL+zaJS/s2iUv7NolL+zaJS/s2i + Uv7NolL+zaJS/s2iUv7NolL+zaJS/s2iUv7NolL+zaJS/s2iUv7NolL+zaJS/lOaqf4AlOX+AJTl/gCU + 5f4AlOX+AJTl/gCU5f4AlOX+AJTl/gCU5f4AlOX+AJTl/gCU5f4AlOX+AJTl/gCU5f4AlOX+AJTl/gCU + 5e8Ak+QfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM+kVTfQplj+z6NU/8+j + VP/Po1T+z6NU/8+jVP/Po1T+z6NU/8+jVP/Po1T/z6NU/s+jVP/Po1T/z6NU/s+jVP/Po1T/z6NU/s+j + VP/Po1T/z6NU/s+jVP/Po1T/z6NU/s+jVP/Po1T/z6NU/s+jVP/Po1T/z6NU/s+jVP/Po1T/z6NU/s+j + VP/Po1T+z6NU/8+jVP/Po1T+z6NU/8+jVP/Po1T+z6NU/8+jVP/Po1T+z6NU/8+jVP/Po1T+z6NU/8+j + VP/Po1T+0adZ/1Obq/8Alub+AJbm/wCW5v8Alub+AJbm/wCW5v8Alub+AJbm/wCW5v8Alub+AJbm/wCW + 5v8Alub+AJbm/wCW5v8Alub+AJbm/wCW5u8AleUfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAANGmWDbUrWH+0KVV/9ClVf/QpVX+0KVV/9ClVf/QpVX+0KVV/9ClVf/QpVX/0KVV/tCl + Vf/QpVX/0KVV/tClVf/QpVX/0KVV/tClVf/QpVX/0KVV/tClVf/QpVX/0KVV/tClVf/QpVX/0KVV/tCl + Vf/QpVX/0KVV/tClVf/QpVX/0KVV/tClVf/QpVX+0KVV/9ClVf/QpVX+0KVV/9ClVf/QpVX+0KVV/9Cl + Vf/QpVX+0KVV/9ClVf/QpVX+0KVV/9ClVf/QpVX+1a1i/1Cdr/8Al+f+AJjn/wCY5/8Al+f+AJjn/wCY + 5/8Al+f+AJjn/wCY5/8Al+f+AJjn/wCY5/8Al+f+AJjn/wCY5/8Al+f+AJjn/wCY5+8Al+cfAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANOpXB/Ysmj406la/tKmVv7Splb+0qZW/tKm + Vv7Splb+0qZW/tKmVv7Splb+0qZW/tKmVv7Splb+0qZW/tKmVv7Splb+0qZW/tKmVv7Splb+0qZW/tKm + Vv7Splb+0qZW/tKmVv7Splb+0qZW/tKmVv7Splb+0qZW/tKmVv7Splb+0qZW/tKmVv7Splb+0qZW/tKm + Vv7Splb+0qZW/tKmVv7Splb+0qZW/tKmVv7Splb+0qZW/tKmVv7Splb+0qZW/tKmVv7Splf+2bRs/jKc + xf4Amej+AJno/gCZ6P4Amej+AJno/gCZ6P4Amej+AJno/gCZ6P4Amej+AJno/gCZ6P4Amej+AJno/gCZ + 6P4Amej+AJno/gCZ6O8AmegfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANWr + XwbUqlzF3bt1/9SoWP/TqFj+06hY/9OoWP/TqFj+06hY/9OoWP/TqFj/06hY/tOoWP/TqFj/06hY/tOo + WP/TqFj/06hY/tOoWP/TqFj/06hY/tOoWP/TqFj/06hY/tOoWP/TqFj/06hY/tOoWP/TqFj/06hY/tOo + WP/TqFj/06hY/tOoWP/TqFj+06hY/9OoWP/TqFj+06hY/9OoWP/TqFj+06hY/9OoWP/TqFj+06hY/9Oo + WP/TqFj+06hY/9OoWP/bt2/+v61y/w6c3/8Am+n+AJvp/wCb6f8Am+n+AJvp/wCb6f8Am+n+AJvp/wCb + 6f8Am+n+AJvp/wCb6f8Am+n+AJvp/wCb6f8Am+n+AJvp/wCb6e8AmukfAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADVq11Y3rp0/dy3b//VqVr+1ala/9WpWv/VqVn+1ala/9Wp + Wv/VqVr/1alZ/tWpWv/VqVr/1alZ/tWpWv/VqVr/1alZ/tWpWv/VqVr/1alZ/tWpWv/VqVr/1alZ/tWp + Wv/VqVr/1alZ/tWpWv/VqVr/1alZ/tWpWv/VqVr/1alZ/tWpWv/VqVn+1ala/9WpWv/VqVn+1ala/9Wp + Wv/VqVn+1ala/9WpWv/VqVn+1ala/9WpWv/VqVn+1ala/9qzaf/gvXr+ZqOk/wCd6v8Aner+AJ3q/wCd + 6v8Aner+AJ3q/wCd6v8Aner+AJ3q/wCd6v8Aner+AJ3q/wCd6v8Aner+AJ3q/wCd6v8Aner+AJ3q/wCd + 6u8AnOofAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADYr2QB16xepOLA + fv7hv33+2K5g/teqW/7Xqlv+16pb/teqW/7Xqlv+16pb/teqW/7Xqlv+16pb/teqW/7Xqlv+16pb/teq + W/7Xqlv+16pb/teqW/7Xqlv+16pb/teqW/7Xqlv+16pb/teqW/7Xqlv+16pb/teqW/7Xqlv+16pb/teq + W/7Xqlv+16pb/teqW/7Xqlv+16pb/teqW/7Xqlv+16pb/teqW/7Xqlv+16pb/teqW/7YrF7+4Lx4/uPD + g/6iqoL+B5/m/gCe6/4Anuv+AJ7r/gCe6/4Anuv+AJ7r/gCe6/4Anuv+AJ7r/gCe6/4Anuv+AJ7r/gCe + 6/4Anuv+AJ7r/gCe6/4Anuv+AJ7r/gCe6+8AnusfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA2rJnCdmtX43euHD35smL/+bIiv/lx4j+5ceJ/+XHif/lx4n/5ceI/uXH + if/lx4n/5ceI/uXHif/lx4n/5ceI/uXHif/lx4n/5ceI/uXHif/lx4n/5ceI/uXHif/lx4n/5ceI/uXH + if/lx4n/5ceI/uXHif/lx4n/5ceI/uXHif/lx4j+5ceJ/+XHif/lx4j+5ceJ/+XHif/lx4j+5ceJ/+XH + if/lx4j+5ceJ/+bIiv/nyYz+3bt4/46pj/8MoeT+AKDt/wCg7f8AoOz+AKDt/wCg7f8AoOz+AKDt/wCg + 7f8AoOz+AKDt/wCg7f8AoOz+AKDt/wCg7f8AoOz+AKDt/wCg7f8AoOz+AKDt/wCg7e8AoOwfAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANu0agLbsWY227Bjldyy + ZtDcs2ff3LNo39yzaN/cs2jf3LNn39yzaN/cs2jf3LNn39yzaN/bs2jf2LJq39WybN/FsXXxwLB4/sCw + eP/AsHj/wLB4/sCweP/AsHj/wLB4/sCweP/AsHj/wLB4/sCweP/AsHj/wLB4/sCweP/AsHj+wLB4/8Cw + eP/AsHj+wLB4/8CweP/AsHj+wLB4/8CweP/AsHj+wLB4/7mwe/+Mq5P+N6XJ/wSi6/8Aou3+AKLu/wCi + 7v8Aou3+AKLu/wCi7v8Aou3+AKLu/wCi7v8Aou3+AKLu/wCi7v8Aou3+AKLu/wCi7v8Aou3+AKLu/wCi + 7v8Aou3+AKLu/wCi7u8Aoe0fAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAip9uPAKTu/gCk7v4ApO7+AKTu/gCk7v4ApO7+AKTu/gCk7v4ApO7+AKTu/gCk + 7v4ApO7+AKTu/gCk7v4ApO7+AKTu/gCk7v4ApO7+AKTu/gCk7v4ApO7+AKTu/gCk7v4ApO7+AKTu/gCk + 7v4ApO7+AKTu/gCk7v4ApO7+AKTu/gCk7v4ApO7+AKTu/gCk7v4ApO7+AKTu/gCk7v4ApO7+AKTu/gCk + 7v4ApO7+AKTu/gCk7v4ApO7+AKTu/gCk7v4ApO7+AKTu/gCk7u8Ao+4fAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYqOOPAKXw/gCl8P8ApfD/AKXw/gCl + 8P8ApfD/AKXw/gCl8P8ApfD/AKXw/gCl8P8ApfD/AKXw/gCl8P8ApfD+AKXw/wCl8P8ApfD+AKXw/wCl + 8P8ApfD+AKXw/wCl8P8ApfD+AKXw/wCl8P8ApfD+AKXw/wCl8P8ApfD+AKXw/wCl8P8ApfD+AKXw/wCl + 8P8ApfD+AKXw/wCl8P8ApfD+AKXw/wCl8P8ApfD+AKXw/wCl8P8ApfD+AKXw/wCl8P8ApfD+AKXw/wCl + 8O8Ape8fAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAJp+qPAKfx/gCn8f8Ap/H/AKfx/gCn8f8Ap/H/AKfx/gCn8f8Ap/H/AKfx/gCn8f8Ap/H/AKfx/gCn + 8f8Ap/H+AKfx/wCn8f8Ap/H+AKfx/wCn8f8Ap/H+AKfx/wCn8f8Ap/H+AKfx/wCn8f8Ap/H+AKfx/wCn + 8f8Ap/H+AKfx/wCn8f8Ap/H+AKfx/wCn8f8Ap/H+AKfx/wCn8f8Ap/H+AKfx/wCn8f8Ap/H+AKfx/wCn + 8f8Ap/H+AKfx/wCn8f8Ap/H+AKfx/wCn8e8ApvAfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqPGPAKnx/gCp8f4AqfH+AKnx/gCp8f4AqfH+AKnx/gCp + 8f4AqfH+AKnx/gCp8f4AqfH+AKnx/gCp8f4AqfH+AKnx/gCp8f4AqfH+AKnx/gCp8f4AqfH+AKnx/gCp + 8f4AqfH+AKnx/gCp8f4AqfH+AKnx/gCp8f4AqfH+AKnx/gCp8f4AqfH+AKnx/gCp8f4AqfH+AKnx/gCp + 8f4AqfH+AKnx/gCp8f4AqfH+AKnx/gCp8f4AqfH+AKnx/gCp8f4AqfH+AKnx/gCp8e8AqPEfAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqvOPAKrz/gCq + 8/8AqvP/AKrz/gCq8/8AqvP/AKrz/gCq8/8AqvP/AKrz/gCq8/8AqvP/AKrz/gCq8/8AqvP+AKrz/wCq + 8/8AqvP+AKrz/wCq8/8AqvP+AKrz/wCq8/8AqvP+AKrz/wCq8/8AqvP+AKrz/wCq8/8AqvP+AKrz/wCq + 8/8AqvP+AKrz/wCq8/8AqvP+AKrz/wCq8/8AqvP+AKrz/wCq8/8AqvP+AKrz/wCq8/8AqvP+AKrz/wCq + 8/8AqvP+AKrz/wCq8+8AqvIfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAArPSPAKz0/gCs9P8ArPT/AKz0/gCs9P8ArPT/AKz0/gCs9P8ArPT/AKz0/gCs + 9P8ArPT/AKz0/gCs9P8ArPT+AKz0/wCs9P8ArPT+AKz0/wCs9P8ArPT+AKz0/wCs9P8ArPT+AKz0/wCs + 9P8ArPT+AKz0/wCs9P8ArPT+AKz0/wCs9P8ArPT+AKz0/wCs9P8ArPT+AKz0/wCs9P8ArPT+AKz0/wCs + 9P8ArPT+AKz0/wCs9P8ArPT+AKz0/wCs9P8ArPT+AKz0/wCs9O8Aq/MfAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArvWPAK71/gCu9f4ArvX+AK71/gCu + 9f4ArvX+AK71/gCu9f4ArvX+AK71/gCu9f4ArvX+AK71/gCu9f4ArvX+AK71/gCu9f4ArvX+AK71/gCu + 9f4ArvX+AK71/gCu9f4ArvX+AK71/gCu9f4ArvX+AK71/gCu9f4ArvX+AK71/gCu9f4ArvX+AK71/gCu + 9f4ArvX+AK71/gCu9f4ArvX+AK71/gCu9f4ArvX+AK71/gCu9f4ArvX+AK71/gCu9f4ArvX+AK71/gCu + 9e8ArfQfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAr/aPAK/2/gCv9v8Ar/b/AK/2/gCv9v8Ar/b/AK/2/gCv9v8Ar/b/AK/2/gCv9v8Ar/b/AK/2/gCv + 9v8Ar/b+AK/2/wCv9v8Ar/b+AK/2/wCv9v8Ar/b+AK/2/wCv9v8Ar/b+AK/2/wCv9v8Ar/b+AK/2/wCv + 9v8Ar/b+AK/2/wCv9v8Ar/b+AK/2/wCv9v8Ar/b+AK/2/wCv9v8Ar/b+AK/2/wCv9v8Ar/b+AK/2/wCv + 9v8Ar/b+AK/2/wCv9v8Ar/b+AK/2/wCv9u8Ar/UfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsfePALH3/gCx9/8Asff/ALH3/gCx9/8Asff/ALH3/gCx + 9/8Asff/ALH3/gCx9/8Asff/ALH3/gCx9/8Asff+ALH3/wCx9/8Asff+ALH3/wCx9/8Asff+ALH3/wCx + 9/8Asff+ALH3/wCx9/8Asff+ALH3/wCx9/8Asff+ALH3/wCx9/8Asff+ALH3/wCx9/8Asff+ALH3/wCx + 9/8Asff+ALH3/wCx9/8Asff+ALH3/wCx9/8Asff+ALH3/wCx9/8Asff+ALH3/wCx9+8AsfcfAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs/iPALP4/gCz + +P4As/j+ALP4/gCz+P4As/j+ALP4/gCz+P4As/j+ALP4/gCz+P4As/j+ALP4/gCz+P4As/j+ALP4/gCz + +P4As/j+ALP4/gCz+P4As/j+ALP4/gCz+P4As/j+ALP4/gCz+P4As/j+ALP4/gCz+P4As/j+ALP4/gCz + +P4As/j+ALP4/gCz+P4As/j+ALP4/gCz+P4As/j+ALP4/gCz+P4As/j+ALP4/gCz+P4As/j+ALP4/gCz + +P4As/j+ALP4/gCz+O8As/cfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAtfmPALj5/gC1+f8Atfn/ALX5/gC1+f8Atfn/ALX5/gC1+f8Atfn/ALX5/gC1 + +f8Atfn/ALX5/gC1+f8Atfn+ALX5/wC1+f8Atfn+ALX5/wC1+f8Atfn+ALX5/wC1+f8Atfn+ALX5/wC1 + +f8Atfn+ALX5/wC1+f8Atfn+ALX5/wC1+f8Atfn+ALX5/wC1+f8Atfn+ALX5/wC1+f8Atfn+ALX5/wC1 + +f8Atfn+ALX5/wC1+f8Atfn+ALX5/wC1+f8Atfn+ALX5/wC5+u8AtfkfAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAt/qKAL76/gC2+v8Atvr/ALb6/gC2 + +v8Atvr/ALb6/gC2+v8Atvr/ALb6/gC2+v8Atvr/ALb6/gC2+v8Atvr+ALb6/wC2+v8Atvr+ALb6/wC2 + +v8Atvr+ALb6/wC2+v8Atvr+ALb6/wC2+v8Atvr+ALb6/wC2+v8Atvr+ALb6/wC2+v8Atvr+ALb6/wC2 + +v8Atvr+ALb6/wC2+v8Atvr+ALb6/wC2+v8Atvr+ALb6/wC2+v8Atvr+ALb6/wC2+v8Atvr+ALn6/wC8 + +ukAuPoTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAufthAMT7/gC5+/4AuPv+ALj7/gC4+/4AuPv+ALj7/gC4+/4AuPv+ALj7/gC4+/4AuPv+ALj7/gC4 + +/4AuPv+ALj7/gC4+/4AuPv+ALj7/gC4+/4AuPv+ALj7/gC4+/4AuPv+ALj7/gC4+/4AuPv+ALj7/gC4 + +/4AuPv+ALj7/gC4+/4AuPv+ALj7/gC4+/4AuPv+ALj7/gC4+/4AuPv+ALj7/gC4+/4AuPv+ALj7/gC4 + +/4AuPv+ALj7/gC4+/4AuPv+AMP8/gC7+9AAu/oBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvPsSAMH88ADG/P8Aufz/ALn8/gC5/P8Aufz/ALn8/gC5 + /P8Aufz/ALn8/gC5/P8Aufz/ALn8/gC5/P8Aufz+ALn8/wC5/P8Aufz+ALn8/wC5/P8Aufz+ALn8/wC5 + /P8Aufz+ALn8/wC5/P8Aufz+ALn8/wC5/P8Aufz+ALn8/wC5/P8Aufz+ALn8/wC5/P8Aufz+ALn8/wC5 + /P8Aufz+ALn8/wC5/P8Aufz+ALn8/wC5/P8Aufz+ALn8/wC5/P8AvPz+AMr8/wC7/HcAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALz9fQDM + /f0Ax/3/ALv9/gC7/f8Au/3/ALv9/gC7/f8Au/3/ALv9/gC7/f8Au/3/ALv9/gC7/f8Au/3+ALv9/wC7 + /f8Au/3+ALv9/wC7/f8Au/3+ALv9/wC7/f8Au/3+ALv9/wC7/f8Au/3+ALv9/wC7/f8Au/3+ALv9/wC7 + /f8Au/3+ALv9/wC7/f8Au/3+ALv9/wC7/f8Au/3+ALv9/wC7/f8Au/3+ALv9/wC7/f8Au/3+ALv9/wC/ + /f8A0P3+AL/92AC+/BQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAMD8CQC+/aUAzv7+ANH+/gDF/v4Avv7+AL3+/gC9/v4Avf7+AL3+/gC9 + /v4Avf7+AL3+/gC9/v4Avf7+AL3+/gC9/v4Avf7+AL3+/gC9/v4Avf7+AL3+/gC9/v4Avf7+AL3+/gC9 + /v4Avf7+AL3+/gC9/v4Avf7+AL3+/gC9/v4Avf7+AL3+/gC9/v4Avf7+AL3+/gC9/v4Avf7+AL3+/gC9 + /v4Avf7+AL3+/gC9/v4Awv7+AMv+/gDU/v4Aw/7xAL/9OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADC/QYAwP58AMT+7QDQ + //8A1v//ANf+/gDX//8A1///ANf+/gDX//8A1///ANf+/gDX//8A1/7+ANf//wDX//8A1/7+ANf//wDX + //8A1/7+ANf//wDX//8A1/7+ANf//wDX//8A1/7+ANf//wDX//8A1/7+ANf//wDX//8A1/7+ANf//wDX + //8A1/7+ANf//wDX//8A1/7+ANf//wDX//8A1/7+ANf//wDX//8A0/7+AMr/+wDA/rsAwf0pAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAMT+GwDC/l8AwP6MAMD+lwDA/pcAwP6XAMD+lwDA/pcAwP6XAMD+lwDA + /pcAwP6XAMD+lwDA/pcAwP6XAMD+lwDA/pcAwP6XAMD+lwDA/pcAwP6XAMD+lwDA/pcAwP6XAMD+lwDA + /pcAwP6XAMD+lwDA/pcAwP6XAMD+lwDA/pcAwP6XAMD+lwDA/pcAwP6XAMD+lwDA/pcAwP6XAMD+lwDA + /pUAwf55AML+NgDF/gcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////// + ///////////////////////////8AAAAAAAAH////wAAAAAAAAAAAAB/4AAAAAAAAAAAAAADgAAAAAAA + AAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAwAAAAAAA + AAAAAAAA8AAAAAAAAAAAAAAD/wAAAAAAAAAAAAP//AAAAAAAAAH/////+AAAAAAAA///////8AAAAAAA + A///////8AAAAAAAAf//////8AAAAAAAAf//////8AAAAAAAAf//////8AAAAAAAAf//////8AAAAAAA + Af//////8AAAAAAAAf//////8AAAAAAAAf//////8AAAAAAAAf//////8AAAAAAAAf//////8AAAAAAA + Af//////8AAAAAAAAf//////8AAAAAAAAf//////8AAAAAAAAf//////8AAAAAAAAAAD////8AAAAAAA + AAAA////8AAAAAAAAAAA////8AAAAAAAAAAAf///8AAAAAAAAAAAP///8AAAAAAAAAAAP///8AAAAAAA + AAAAP///8AAAAAAAAAAAP///8AAAAAAAAAAAP///8AAAAAAAAAAAP///8AAAAAAAAAAAP///8AAAAAAA + AAAAP///8AAAAAAAAAAAP///8AAAAAAAAAAAP///8AAAAAAAAAAAP///8AAAAAAAAAAAP///+AAAAAAA + AAAAP////AAAAAAAAAAAAAH//gAAAAAAAAAAAAB////8AAAAAAAAAAA////8AAAAAAAAAAAP///8AAAA + AAAAAAAP///8AAAAAAAAAAAP///8AAAAAAAAAAAH///8AAAAAAAAAAAH///8AAAAAAAAAAAH///8AAAA + AAAAAAAH///8AAAAAAAAAAAH///8AAAAAAAAAAAH///8AAAAAAAAAAAH///8AAAAAAAAAAAH///8AAAA + AAAAAAAH///+AAAAAAAAAAAH///+AAAAAAAAAAAH////AAAAAAAAAAAH////gAAAAAAAAAAH//////+A + AAAAAAAH//////+AAAAAAAAH//////+AAAAAAAAH//////+AAAAAAAAH//////+AAAAAAAAH//////+A + AAAAAAAH//////+AAAAAAAAH//////+AAAAAAAAH//////+AAAAAAAAH//////+AAAAAAAAH//////+A + AAAAAAAH//////+AAAAAAAAH//////+AAAAAAAAH//////+AAAAAAAAP///////AAAAAAAAP///////A + AAAAAAAf///////gAAAAAAA////////4AAAAAAB///////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////KAAAAEgAAACQAAAAAQAgAAAAAABgVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAACkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSk + pAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAaSkpAGkpKQBpKSkAQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkpKQBpKSkAqOj + owKkpKQDo6OjBaSkpAajo6MGpKSkBqOjowmkpKQLpKSkDKOjowykpKQMo6OjDKSkpAyjo6MNpKSkEaOj + oxakpKQYpKSkGKOjoxikpKQYo6OjGKSkpBijo6MYpKSkGKOjoxikpKQYpKSkGKOjoxikpKQYo6OjGKSk + pBijo6MYpKSkGKOjoxikpKQYo6OjGKSkpBikpKQYo6OjGKSkpBajo6MSpKSkDqOjowykpKQMo6OjDKSk + pAykpKQMo6OjC6SkpAijo6MGpKSkBqOjowakpKQFo6OjA6SkpAKkpKQCo6OjAQAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAApKSkA6SkpAekpKQLpKSkEKSkpBSkpKQapKSkH6SkpCKkpKQppKSkMaSk + pDWkpKQ1pKSkOKSkpEKkpKRMpKSkT6SkpE+kpKRPpKSkT6SkpE+kpKRSpKSkXKSkpGikpKRtpKSkbaSk + pG2kpKRtpKSkbaSkpG2kpKRtpKSkbaSkpG2kpKRtpKSkbaSkpG2kpKRtpKSkbaSkpG2kpKRtpKSkbaSk + pG2kpKRtpKSkbaSkpG2kpKRtpKSkbaSkpGmkpKRepKSkU6SkpE+kpKRPpKSkT6SkpE+kpKRPpKSkSqSk + pECkpKQ4pKSkNaSkpDWkpKQypKSkKqSkpCOkpKQgpKSkG6SkpBWkpKQQpKSkC6SkpAekpKQDAAAAAAAA + AACkpKQHo6OjHKSkpDWjo6NKpKSkWaOjo2SkpKRxpKSkfKOjo4GkpKSMo6OjmKSkpJ2jo6OepKSkoqOj + o6ykpKS3pKSkuqOjo7ukpKS7o6Oju6SkpLujo6O9pKSkxaOjo86kpKTSpKSk06Ojo9OkpKTTo6Oj06Sk + pNOjo6PTpKSk06Ojo9OkpKTTpKSk06Ojo9OkpKTTo6Oj06SkpNOjo6PTpKSk06Ojo9OkpKTTo6Oj06Sk + pNOkpKTTo6Oj0qSkpM+jo6PGpKSkvaOjo7ukpKS7o6Oju6SkpLukpKS6o6OjtqSkpKujo6OhpKSknqOj + o56kpKSZo6OjjaSkpIKkpKR9o6Ojc6SkpGWjo6NYpKSkSKOjozWkpKQco6OjCKSkpAGkpKQUpKSkR6Sk + pH6kpKShpKSktaSkpMGkpKTMpKSk1aSkpNmkpKTepKSk5aSkpOmkpKTppKSk6qSkpO6kpKTypKSk9KSk + pPSkpKT0pKSk9KSkpPSkpKT1pKSk9qSkpPikpKT5pKSk+qSkpPqkpKT6pKSk+qSkpPqkpKT6pKSk+qSk + pPqkpKT6pKSk+qSkpPqkpKT6pKSk+qSkpPqkpKT6pKSk+qSkpPqkpKT6pKSk+qSkpPqkpKT6pKSk+aSk + pPmkpKT2pKSk9aSkpPSkpKT0pKSk9KSkpPSkpKT0pKSk8aSkpO6kpKTqpKSk6aSkpOmkpKTmpKSk36Sk + pNmkpKTVpKSkzaSkpMGkpKSzpKSkn6SkpH+kpKRJpKSkFqSkpAGkpKQRo6OjP6SkpHKjo6OTpKSkp6Oj + o7OkpKS/pKSkyaOjo82kpKTSo6Oj2qSkpOCjo6PipKSk4qOjo+OkpKTopKSk7aOjo++kpKTvo6Oj76Sk + pPCjo6PvpKSk8KOjo/CkpKTypKSk9aOjo/ekpKT3o6Oj96SkpPijo6P3pKSk+KOjo/ekpKT4pKSk+KOj + o/ekpKT4o6Oj96SkpPijo6P3pKSk+KOjo/ekpKT4o6Oj96SkpPekpKT1o6Oj8qSkpPCjo6PvpKSk8KOj + o++kpKTwo6Oj76SkpO+kpKTto6Oj6KSkpOSjo6PipKSk4qOjo9+kpKTZo6Oj0aSkpM2kpKTIo6OjvaSk + pLKjo6OkpKSkkKOjo3KkpKRBo6OjFAAAAACkpKQEpKSkE6SkpCakpKQ2pKSkQ6SkpE2kpKRZpKSkZKSk + pGmkpKRvpKSkfKSkpIakpKSJpKSkiaSkpIykpKSXpKSkoqSkpKekpKSopKSkqKSkpKikpKSopKSkqKSk + pKmkpKSxpKSkvKSkpMKkpKTDpKSkw6SkpMOkpKTDpKSkw6SkpMOkpKTDpKSkw6SkpMOkpKTDpKSkw6Sk + pMOkpKTDpKSkw6SkpMOkpKTDpKSkw6SkpMKkpKS9pKSksqSkpKmkpKSopKSkqKSkpKikpKSopKSkqKSk + pKekpKSkpKSkmKSkpI2kpKSJpKSkiaSkpIWkpKR6pKSkbqSkpGmkpKRjpKSkVqSkpEukpKRBpKSkNKSk + pCWkpKQTpKSkBQAAAAAAAAAAo6SjAZ2koQOXpp4GkqecCZOnnAyWpp0QlaadFZimnhekpKQao6SkIaSk + pCajpKQnpKSkJ6SkpCmkpKQxpKSkOqSkpD2kpKQ+pKSkPqSkpD6kpKQ+pKSkPqSkpD+kpKRHpKSkUqSk + pFmkpKRapKSkWqSkpFqkpKRapKSkWqSkpFqkpKRapKSkWqSkpFqkpKRapKSkWqSkpFqkpKRapKSkWqSk + pFqkpKRapKSkWqSkpFmkpKRUpKSkSKSkpECkpKQ+pKSkPqSkpD6kpKQ+pKSkPqSkpD6kpKQ7pKSkMqSk + pCqkpKQnpKSkJ6SkpCWkpKQfpKSkGaSkpBakpKQUpKSkEKSkpAykpKQJpKSkBqSkpAOkpKQBAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAYrGHCku1fVM+uHeNPrh3lD64d5Q/uHeUP7h3lT+4d5U/uHeVQLh3lUy1 + fZZPtH6XULR+mE+0fphQtH6YT7R+mFC0fphPtH6YULR+mFC0fplQtH6aULR/nFG0f55RtH+eUbR/nlG0 + f55RtH+eUbR/nlG0f55RtH+eUbR/nlG0f5tor4lthaqWH5Cnmw+Wpp4PnaWhD6Kkow+kpKQPo6OjD6Sk + pA+kpKQNo6OjCqSkpAejo6MHpKSkB6OjowekpKQHo6OjB6SkpAekpKQGo6OjBaSkpAOjo6MDpKSkA6Oj + owKkpKQBo6OjAaSkpAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAA7ungoL7xyzi28cf4tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28 + cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28cf8tvHH/Lbxx/y28 + cf8tvHH/Lbxx/y28cf8tvHH/MLxy3lK1gj4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACu/dBMsvnPdLL5z/yy+ + c/4svnP/LL5z/yy+c/4svnP/LL5z/iy+c/8svnP+LL5z/yy+c/4svnP/LL5z/yy+c/4svnP/LL5z/iy+ + c/8svnP+LL5z/yy+c/4svnP/LL5z/yy+c/4svnP/LL5z/iy+c/8svnP+LL5z/yy+c/4svnP/LL5z/yy+ + c/4svnP/LL5z/iy+c+4/unwnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACrAdYErwHX/K8B1/yvAdf8rwHX/K8B1/yvA + df8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvA + df8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvA + df8qwHWkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAACnBd84pwXf+KcJ3/ynBd/4pwnf/KcJ3/ynBd/4pwnf/KcF3/inC + d/8pwXf+KcJ3/ynBd/4pwnf/KcJ3/ynBd/4pwnf/KcF3/inCd/8pwXf+KcJ3/ynBd/4pwnf/KcJ3/ynB + d/4pwnf/KcF3/inCd/8pwXf+KcJ3/ynBd/4pwnf/KcJ3/ynBd/4pwnf/KcF3/inCd/8pwXfqKcF3CgAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAACjDeeYow3n/KMN5/yjDef8ow3n/KMN5/yjDef8ow3n/KMN5/yjDef8ow3n/KMN5/yjD + ef8ow3n/KMN5/yjDef8ow3n/KMN5/yjDef8ow3n/KMN5/yjDef8ow3n/KMN5/yjDef8ow3n/KMN5/yjD + ef8ow3n/KMN5/yjDef8ow3n/KMN5/yjDef8ow3n/KMN5/yjDef8ow3n+KMN4DwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACfF + e+cnxXv+J8V7/yfFe/4nxXv/J8V7/yfFe/4nxXv/J8V7/ifFe/8nxXv+J8V7/yfFe/4nxXv/J8V7/yfF + e/4nxXv/J8V7/ifFe/8nxXv+J8V7/yfFe/4nxXv/J8V7/yfFe/4nxXv/J8V7/ifFe/8nxXv+J8V7/yfF + e/4nxXv/J8V7/yfFe/4nxXv/J8V7/ifFe/8nxXv+J8V6DwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACbHfOcmx3z/Jsd8/ybH + fP8mx3z/Jsd8/ybHfP8mx3z/Jsd8/ybHfP8mx3z/Jsd8/ybHfP8mx3z/Jsd8/ybHfP8mx3z/Jsd8/ybH + fP8mx3z/Jsd8/ybHfP8mx3z/Jsd8/ybHfP8mx3z/Jsd8/ybHfP8mx3z/Jsd8/ybHfP8mx3z/Jsd8/ybH + fP8mx3z/Jsd8/ybHfP8mx3z/JsZ8DwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACXJfuclyX7/Jcl+/yXJfv8lyX7/Jcl+/yXJ + fv8lyX7/Jcl+/yXJfv8lyX7/Jcl+/yXJfv8lyX7/Jcl+/yXJfv8lyX7/Jcl+/yXJfv8lyX7/Jcl+/yXJ + fv8lyX7/Jcl+/yXJfv8lyX7/Jcl+/yXJfv8lyX7/Jcl+/yXJfv8lyX7/Jcl+/yXJfv8lyX7/Jcl+/yXJ + fv8lyX7/Jch+DwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAACTKgOckyoD+JMqA/yTKgP4kyoD/JMqA/yTKgP4kyoD/JMqA/iTK + gP8kyoD+JMqA/yTKgP4kyoD/JMqA/yTKgP4kyoD/JMqA/iTKgP8kyoD+JMqA/yTKgP4kyoD/JMqA/yTK + gP4kyoD/JMqA/iTKgP8kyoD+JMqA/yTKgP4kyoD/JMqA/yTKgP4kyoD/JMqA/iTKgP8kyoD+JMl/DwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAACPMgucjzIL/I8yC/yPMgv8jzIL/I8yC/yPMgv8jzIL/I8yC/yPMgv8jzIL/I8yC/yPM + gv8jzIL/I8yC/yPMgv8jzIL/I8yC/yPMgv8jzIL/I8yC/yPMgv8jzIL/I8yC/yPMgv8jzIL/I8yC/yPM + gv8jzIL/I8yC/yPMgv8jzIL/I8yC/yPMgv8jzIL/I8yC/yPMgv8jzIL/JMuBDwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACLN + g+cizYP+I82D/yLNg/4jzYP/I82D/yLNg/4jzYP/Is2D/iPNg/8izYP+I82D/yLNg/4jzYP/I82D/yLN + g/4jzYP/Is2D/iPNg/8izYP+I82D/yLNg/4jzYP/I82D/yLNg/4jzYP/Is2D/iPNg/8izYP+I82D/yLN + g/4jzYP/I82D/yLNg/4jzYP/Is2D/iPNg/8izYP+NsB1DwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACLOhecizoX/Is6F/yLO + hf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLO + hf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLO + hf8izoX/Is6F/yLOhf8izoX/TrFlF2+dTgibgTAIoX0rCKF9KwihfSsIoX0rCKF9KwihfSsIoX0rBQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACHPhuchz4b+IdCG/yHPhv4h0Ib/IdCG/yHP + hv4h0Ib/Ic+G/iHQhv8hz4b+IdCG/yHPhv4h0Ib/IdCG/yHPhv4h0Ib/Ic+G/iHQhv8hz4b+IdCG/yHP + hv4h0Ib/IdCG/yHPhv4h0Ib/Ic+G/iHQhv8hz4b+IdCG/yHPhv4h0Ib/IdCG/yHPhv4h0Ib/Ic+G/iHQ + hv8hz4b+mYIx5KF9K+OhfSvjoX0r46F9K+OhfSvjoX0r46F9K+OhfSvjoX0r26J9K6uifiw9AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAACDRiOcg0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDR + iP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDR + iP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/m4Qz/6N/ + Lf+jfy3/o38t/6N/Lf+jfy3/o38t/6N/Lf+jfy3/o38t/6N/Lf+jfy35pH8tegAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAB/Siecf0on+H9KJ/x/Sif4f0on/H9KJ/x/Sif4f0on/H9KJ/h/Sif8f0on+H9KJ/x/S + if4f0on/H9KJ/x/Sif4f0on/H9KJ/h/Sif8f0on+H9KJ/x/Sif4f0on/H9KJ/x/Sif4f0on/H9KJ/h/S + if8f0on+H9KJ/x/Sif4f0on/H9KJ/x/Sif4f0on/H9KJ/h/Sif8f0on+nYY1/6aBL/6mgS//poEv/qaB + L/+mgS//poEv/qaBL/+mgS/+poEv/6aBL/6mgS//poEv/KaBL0cAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB7T + i+cf04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/T + i/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/H9OL/x/T + i/8f04v/H9OL/x/Ti/8f04v/H9OL/x/Ti/8f04v/n4c2/6iCMf+ogjH/qIIx/6iCMf+ogjH/qIIx/6iC + Mf+ogjH/qIIx/6iCMf+ogjH/qIIx/6iCMb2ogzEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB7UjOce1Iz/HtSM/x7U + jP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7U + jP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7U + jP8e1Iz/HtSM/x7UjP8e1Iz/oYk4/6qEM/+qhDP/qoQz/6qEM/+qhDP/qoQz/6qEM/+qhDP/qoQz/6qE + M/+qhDP/qoQz/6qEM+uphDIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB3Vjecd1Y3+HdWN/x3Vjf4d1Y3/HdWN/x3V + jf4d1Y3/HdWN/h3Vjf8d1Y3+HdWN/x3Vjf4d1Y3/HdWN/x3Vjf4d1Y3/HdWN/h3Vjf8d1Y3+HdWN/x3V + jf4d1Y3/HdWN/x3Vjf4d1Y3/HdWN/h3Vjf8d1Y3+HdWN/x3Vjf4d1Y3/HdWN/x3Vjf4d1Y3/HdWN/h3V + jf8d1Y3+o4s6/6yGNf6shjX/rIY1/qyGNf+shjX/rIY1/qyGNf+shjX+rIY1/6yGNf6shjX/rIY1/qyG + NfWrhjQXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAB3Wjucd1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/pY08/66I + N/+uiDf/rog3/66IN/+uiDf/rog3/66IN/+uiDf/rog3/66IN/+uiDf/rog3/66IN/WthzYXAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAABzXj+cc14/+HNeP/xzXj/4c14//HNeP/xzXj/4c14//HNeP/hzXj/8c14/+HNeP/xzX + j/4c14//HNeP/xzXj/4c14//HNeP/hzXj/8c14/+HNeP/xzXj/4c14//HNeP/xzXj/4c14//HNeP/hzX + j/8c14/+HNeP/xzXj/4c14//HNeP/xzXj/4c14//HNeP/hzXj/8c14/+p48+/7CKOf6wijn/sIo5/rCK + Of+wijn/sIo5/rCKOf+wijn+sIo5/7CKOf6wijn/sIo5/rCKOfWwijgXAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/Z + k+cc2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzY + kP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzY + kP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8f2ZP/qZFA/7KMO/+yjDv/sow7/7KMO/+yjDv/sow7/7KM + O/+yjDv/sow7/7KMO/+yjDv/sow7/7KMO/WyizoXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACXcmt4c2ZL+G9mR/xvY + kf4b2ZH/G9mR/xvYkf4b2ZH/G9iR/hvZkf8b2JH+G9mR/xvYkf4b2ZH/G9mR/xvYkf4b2ZH/G9iR/hvZ + kf8b2JH+G9mR/xvYkf4b2ZH/G9mR/xvYkf4b2ZH/G9iR/hvZkf8b2JH+G9mR/xvYkf4b2ZH/G9mR/xvY + kf4b2ZH/G9iR/hvZkf8r2Zf+rZFB/7SNPf61jj3/tI09/rWOPf+1jj3/tI09/rWOPf+0jT3+tY49/7SN + Pf61jj3/tI09/rWOPfW0jTwXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACHbl6Qq3p//G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/yTc + mv9HzIj/tZBA/7eQP/+3kD//t5A//7eQP/+3kD//t5A//7eQP/+3kD//t5A//7eQP/+3kD//t5A//7eQ + P/W2jz4XAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAACHblzcx4ab4JN2b/xrZkv4b2pP/G9qT/xrZkv4b2pP/GtmS/hva + k/8a2ZL+G9qT/xrZkv4b2pP/G9qT/xrZkv4b2pP/GtmS/hvak/8a2ZL+G9qT/xrZkv4b2pP/G9qT/xrZ + kv4b2pP/GtmS/hvak/8a2ZL+G9qT/xrZkv4b2pP/G9qT/xrZkv4b2pP/IdyY/jXiqP+Eql3+uZJB/7mS + Qf65kkH/uZJB/rmSQf+5kkH/uZJB/rmSQf+5kkH+uZJB/7mSQf65kkH/uZJB/rmSQfWmkFAXAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAf25dqNOOq+DXjq/8o35//JN2c/yTdnP8k3Zz/JN2c/yTdnP8k3Zz/JN2c/yTd + nP8k3Zz/JN2c/yTdnP8k3Zz/JN2c/yTdnP8k3Zz/JN2c/yTdnP8k3Zz/JN2c/yTdnP8k3Zz/JN2c/yTd + nP8k3Zz/JN2c/yTdnP8k3Zz/JN2c/yfenv8z4qn/OOOr/2a7cf+6lEP/u5ND/7uTQ/+7k0P/u5ND/7uT + Q/+7k0P/u5ND/7uTQ/+7k0P/u5ND/7uTQ/+7k0P/u5ND/7uTQ/WIj2sXAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAIt2aPSLdm68t4aTtMOKo/zDiqP4w4qj/MOKo/jDiqP8w4qj+MOKo/zDiqP4w4qj/MOKo/zDi + qP8w4qj/MOKo/zDiqP8w4qj/MOKo/zDiqP8w4qj/MOKo/zDiqP8w4qj/MOKo/zDiqP8w4qj/MOKo/zDi + qP8w4qj/MOKo/zbeov9NzIf/jKpd/7yWRf+9lUX/vZVF/72VRf+9lUX/vZVF/72VRf+9lUX/vZVF/72V + Rf+9lUX/vZVF/72VRf+9lUX/vZVF/7mVSPsjib+qC4fToQGH26EAh92hAIfdoQCH3aEAh92hAIfdoQCH + 3aEAh92bAIfdZwCH3Q0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABqwXwIv5dG4b+XRv6/l0b/v5dG/r+X + Rv+/l0b+v5dG/7+XRv6/l0b/v5dG/7+XRv6/l0b/v5dG/r+XRv+/l0b+v5dG/7+XRv6/l0b/v5dG/7+X + Rv6/l0b/v5dG/r+XRv+/l0b+v5dG/7+XRv6/l0b/v5dG/r+XRv+/l0b/v5dG/r+XRv+/l0b+v5dG/7+X + Rv6/l0b/v5dG/riWTP8RiM//AIfd/gCH3f8Ah93+AIfd/wCH3f4Ah93/AIfd/gCH3f8Ah93/AIfd/gCH + 3eYAiN0/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACNsmgIwZlJ4cGZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZ + Sf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZ + Sf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/8GZSf/BmUn/wZlJ/7qY + Tv8SitD/AIne/wCJ3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ3v8Aid7sAIreJQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAC+nE0IxJtK4cSbSv7Em0r/xJtK/sSbSv/Em0r+xJtK/8SbSv7Em0r/xJtK/8Sb + Sv7Em0r/xJtK/sSbSv/Em0r+xJtK/8SbSv7Em0r/xJtK/8SbSv7Em0r/xJtK/sSbSv/Em0r+xJtK/8Sb + Sv7Em0r/xJtK/sSbSv/Em0r/xJtK/sSbSv/Em0r+xJtK/8SbSv7Em0r/xJtK/ryaUP8SjdH/AIvf/gCL + 3/8Ai9/+AIvf/wCL3/4Ai9//AIvf/gCL3/8Ai9//AIvf/gCL3/8Ai9/+AIvfogAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADGnEwIx51N4cedTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8ed + Tf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/8ed + Tf/HnU3/x51N/8edTf/HnU3/x51N/8edTf/HnU3/x51N/7+cUv8Sj9P/AI3h/wCO4f8AjeH/AI7h/wCN + 4f8AjuH/AI3h/wCO4f8AjuH/AI3h/wCO4f8AjeH/AI7h5gCN4AYAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADInk4IyZ9P4cme + Tv7Jn0//yZ5O/smfT//Jnk7+yZ9P/8meTv7Jn0//yZ9P/8meTv7Jn0//yZ5O/smfT//Jnk7+yZ9P/8me + Tv7Jn0//yZ9P/8meTv7Jn0//yZ5O/smfT//Jnk7+yZ9P/8meTv7Jn0//yZ5O/smfT//Jn0//yZ5O/smf + T//Jnk7+yZ9P/8meTv7Jn0//yZ5O/sGeVP8SkdT/AJDi/gCQ4v8AkOL+AJDi/wCQ4v4AkOL/AJDi/gCQ + 4v8AkOL/AJDi/gCQ4v8AkOL+AJDi8gCP4hYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADLoFAIy6BR4cugUf/LoFH/y6BR/8ug + Uf/LoFH/y6BR/8ugUf/LoFH/y6BR/8ugUf/LoFH/y6BR/8ugUf/LoFH/y6BR/8ugUf/LoFH/y6BR/8ug + Uf/LoFH/y6BR/8ugUf/LoFH/y6BR/8ugUf/LoFH/y6BR/8ugUf/LoFH/y6BR/8ugUf/LoFH/y6BR/8ug + Uf/LoFH/y6BR/8OgVv8Sk9b/AJLk/wCS5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS + 5P8AkuT/AJLk8wCR4xcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADNo1QIzaJT4c2iU/7NolP/zaJT/s2iU//NolP+zaJT/82i + U/7NolP/zaJT/82iU/7NolP/zaJT/s2iU//NolP+zaJT/82iU/7NolP/zaJT/82iU/7NolP/zaJT/s2i + U//NolP+zaJT/82iU/7NolP/zaJT/s2iU//NolP/zaJT/s2iU//NolP+zaJT/82iU/7NolP/zaJT/sWi + Wf8Tltf/AJTl/gCU5f8AlOX+AJTl/wCU5f4AlOX/AJTl/gCU5f8AlOX/AJTl/gCU5f8AlOX+AJTl8wCU + 5BcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADQplgI0qha4c+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+k + VP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+k + VP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8moYf8TmNn/AJfn/wCX + 5/8Al+f/AJfn/wCX5/8Al+f/AJfn/wCX5/8Al+f/AJfn/wCX5/8Al+f/AJfn8wCW5hcAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADSqVwC1q9k1dKnWP7Rplb/0aZW/tGmVv/Rplb+0aZW/9GmVv7Rplb/0aZW/9GmVv7Rplb/0aZW/tGm + Vv/Rplb+0aZW/9GmVv7Rplb/0aZW/9GmVv7Rplb/0aZW/tGmVv/Rplb+0aZW/9GmVv7Rplb/0aZW/tGm + Vv/Rplb/0aZW/tGmVv/Rplb+0aZW/9GmVv7Rplb/0aZW/sKuc/8KmuH/AJno/gCZ6P8Amej+AJno/wCZ + 6P4Amej/AJno/gCZ6P8Amej/AJno/gCZ6P8Amej+AJno8wCY5xcAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1apcjNy4 + cf/UqFn/1KhY/9SoWP/UqFj/1KhY/9SoWP/UqFj/1KhY/9SoWP/UqFj/1KhY/9SoWP/UqFj/1KhY/9So + WP/UqFj/1KhY/9SoWP/UqFj/1KhY/9SoWP/UqFj/1KhY/9SoWP/UqFj/1KhY/9SoWP/UqFj/1KhY/9So + WP/UqFj/1KhY/9SoWP/UqFj/27Vt/46nj/8Am+n/AJvp/wCb6f8Am+n/AJvp/wCb6f8Am+n/AJvp/wCb + 6f8Am+n/AJvp/wCb6f8Am+n/AJvp8wCb6RcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA165hGdy1bejeunT/1qpb/9aq + Wv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aq + Wv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aqWv/Wqlr/1qpa/9aq + W//dt2//1Lh3/yOg0/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe + 6/8Anuv/AJ7r8wCd6hcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANmvYzbdtm3b5MOD/uLBfv/iwH3+4sB9/+LA + ff7iwH3/4sB9/+LAff7iwH3/4sB9/uLAff/iwH3+4sB9/+LAff7iwH3/4sB9/+LAff7iwH3/4sB9/uLA + ff/iwH3+4sB9/+LAff7iwH3/4sB9/uLAff/iwH3/4sB9/uLAff/iwH3+4sB+/+TDgv7Jt37/OaPG/gCg + 7P8AoOz/AKDs/gCg7P8AoOz+AKDs/wCg7P4AoOz/AKDs/gCg7P8AoOz/AKDs/gCg7P8AoOz+AKDs8wCf + 7BcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADbs2kP27JmZdy0aZ/ctGmn3LRpp9y0aafctGmn3LRpp9y0 + aafctGmn0rNvp8Syd6qQrZX1kK2V/5Ctlf+QrZX/kK2V/5Ctlf+QrZX/kK2V/5Ctlf+QrZX/kK2V/5Ct + lf+QrZX/kK2V/5Ctlf+QrZX/kK2V/5Ctlf+QrZX/jK2X/1+osP8Ro+L/AKLu/wCi7v8Aou7/AKLu/wCi + 7v8Aou7/AKLu/wCi7v8Aou7/AKLu/wCi7v8Aou7/AKLu/wCi7v8Aou7/AKLu8wCi7RcAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHux + rAgApO/jAKXv/wCk7/4Ape//AKXv/wCk7/4Ape//AKTv/gCl7/8ApO/+AKXv/wCk7/4Ape//AKTv/gCl + 7/8Ape//AKTv/gCl7/8ApO/+AKXv/wCk7/4Ape//AKTv/gCl7/8Ape//AKTv/gCl7/8ApO/+AKXv/wCk + 7/4Ape//AKTv/gCl7/8Ape//AKTv/gCl7/8ApO/+AKXv8wCk7hcAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADaqzwgAp/HjAKfx/wCn + 8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn + 8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn + 8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx8wCm8BcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACo8QgAqfLjAKny/wCp8v4AqfL/AKny/wCp + 8v4AqfL/AKny/gCp8v8AqfL+AKny/wCp8v4AqfL/AKny/gCp8v8AqfL/AKny/gCp8v8AqfL+AKny/wCp + 8v4AqfL/AKny/gCp8v8AqfL/AKny/gCp8v8AqfL+AKny/wCp8v4AqfL/AKny/gCp8v8AqfL/AKny/gCp + 8v8AqfL+AKny8wCo8RcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACq8wgAq/PjAKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr + 8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr + 8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz8wCr + 8xcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAACt9AgArvXjAK71/wCu9f4ArvX/AK71/wCu9f4ArvX/AK71/gCu9f8ArvX+AK71/wCu + 9f4ArvX/AK71/gCu9f8ArvX/AK71/gCu9f8ArvX+AK71/wCu9f4ArvX/AK71/gCu9f8ArvX/AK71/gCu + 9f8ArvX+AK71/wCu9f4ArvX/AK71/gCu9f8ArvX/AK71/gCu9f8ArvX+AK718wCt9BcAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACv + 9QgAsPbjALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw + 9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw + 9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD28wCv9RcAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACy9wgAsvfjALL3/wCy + 9/8Asvf/ALL3/wCy9/8Asvf/ALL3/wCy9/8Asvf/ALL3/wCy9/8Asvf/ALL3/wCy9/8Asvf/ALL3/wCy + 9/8Asvf/ALL3/wCy9/8Asvf/ALL3/wCy9/8Asvf/ALL3/wCy9/8Asvf/ALL3/wCy9/8Asvf/ALL3/wCy + 9/8Asvf/ALL3/wCy9/8Asvf/ALL38wCy9xcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC1+AgAtvnjALT5/wC0+f4AtPn/ALT5/wC0 + +f4AtPn/ALT5/gC0+f8AtPn+ALT5/wC0+f4AtPn/ALT5/gC0+f8AtPn/ALT5/gC0+f8AtPn+ALT5/wC0 + +f4AtPn/ALT5/gC0+f8AtPn/ALT5/gC0+f8AtPn+ALT5/wC0+f4AtPn/ALT5/gC0+f8AtPn/ALT5/gC0 + +f8AtPn+ALf58wC1+BcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC5+gYAvPrcALf6/wC2+v8At/r/ALf6/wC2+v8At/r/ALb6/wC3 + +v8Atvr/ALf6/wC2+v8At/r/ALb6/wC3+v8At/r/ALb6/wC3+v8Atvr/ALf6/wC2+v8At/r/ALb6/wC3 + +v8At/r/ALb6/wC3+v8Atvr/ALf6/wC2+v8At/r/ALb6/wC3+v8At/r/ALb6/wC3+v8At/r/AL377QC5 + +gwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAvfupAMH8/wC4+/4Aufz/ALn8/wC4+/4Aufz/ALj7/gC5/P8AuPv+ALn8/wC4 + +/4Aufz/ALj7/gC5/P8Aufz/ALj7/gC5/P8AuPv+ALn8/wC4+/4Aufz/ALj7/gC5/P8Aufz/ALj7/gC5 + /P8AuPv+ALn8/wC4+/4Aufz/ALj7/gC5/P8Aufz/ALj7/gC5/P8AwPz+AL78vgAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAvfw2AMj99wDC/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7 + /f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7 + /f8Au/3/ALv9/wC7/f8Au/3/ALv9/wDA/f8Ayv38AL38RwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMD9ZQDM + /vgAzv7/AMf+/wDF/v4Axf7/AMX+/gDF/v8Axf7+AMX+/wDF/v4Axf7/AMX+/gDF/v8Axf7/AMX+/gDF + /v8Axf7+AMX+/wDF/v4Axf7/AMX+/gDF/v8Axf7/AMX+/gDF/v8Axf7+AMX+/wDF/v4Axf7/AMX+/gDF + /v8Axv7/AM7+/gDN/vwAwP17AMH8AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADC/jYAwv6pAMj/4ADK + /+cAyv/nAMr/5wDK/+cAyv/nAMr/5wDK/+cAyv/nAMr/5wDK/+cAyv/nAMr/5wDK/+cAyv/nAMr/5wDK + /+cAyv/nAMr/5wDK/+cAyv/nAMr/5wDK/+cAyv/nAMr/5wDK/+cAyv/nAMr/5wDK/+cAyf/iAMP+rwDC + /kIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMf+BADG/gkAxv4JAMb+CQDG + /gkAxv4JAMb+CQDG/gkAxv4JAMb+CQDG/gkAxv4JAMb+CQDG/gkAxv4JAMb+CQDG/gkAxv4JAMb+CQDG + /gkAxv4JAMb+CQDG/gkAxv4JAMb+CQDG/gkAxv4JAMb+CQDG/gkAxv4FAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////wAAAP///4AAAP///wAAAP4AAAAAAAAAPwAAAMAA + AAAAAAAAAQAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAMAA + AAAAAAAAAQAAAPgAAAAAAAAA/wAAAPAAAAAA/////wAAAOAAAAAAf////wAAAOAAAAAAf////wAAAOAA + AAAAP////wAAAOAAAAAAP////wAAAOAAAAAAP////wAAAOAAAAAAP////wAAAOAAAAAAP////wAAAOAA + AAAAP////wAAAOAAAAAAP////wAAAOAAAAAAP////wAAAOAAAAAAAB///wAAAOAAAAAAAAf//wAAAOAA + AAAAAAP//wAAAOAAAAAAAAH//wAAAOAAAAAAAAD//wAAAOAAAAAAAAD//wAAAOAAAAAAAAD//wAAAOAA + AAAAAAD//wAAAOAAAAAAAAD//wAAAOAAAAAAAAD//wAAAOAAAAAAAAD//wAAAOAAAAAAAAD//wAAAOAA + AAAAAAD//wAAAPAAAAAAAAD//wAAAPgAAAAAAAAAHwAAAP//AAAAAAAADwAAAP//AAAAAAAABwAAAP// + AAAAAAAABwAAAP//AAAAAAAAAwAAAP//AAAAAAAAAwAAAP//AAAAAAAAAwAAAP//AAAAAAAAAwAAAP// + AAAAAAAAAwAAAP//AAAAAAAAAwAAAP//gAAAAAAAAwAAAP//gAAAAAAAAwAAAP//wAAAAAAAAwAAAP// + 4AAAAAAAAwAAAP////wAAAAAAwAAAP////wAAAAAAwAAAP////wAAAAAAwAAAP////wAAAAAAwAAAP// + //wAAAAAAwAAAP////wAAAAAAwAAAP////wAAAAAAwAAAP////wAAAAAAwAAAP////wAAAAAAwAAAP// + //4AAAAABwAAAP////4AAAAABwAAAP////8AAAAABwAAAP////+AAAAAHwAAAP/////gAAAAfwAAAP// + /////////wAAAP///////////wAAAP///////////wAAAP///////////wAAAP///////////wAAAP// + /////////wAAAP///////////wAAAP///////////wAAAP///////////wAAACgAAABAAAAAgAAAAAEA + IAAAAAAAAEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApKSkAaSkpAGkpKQBpKSkAaSk + pAGkpKQBpKSkAqSkpAKkpKQCpKSkAqSkpAKkpKQCpKSkAqSkpAKkpKQCpKSkAqSkpAKkpKQCpKSkAqSk + pAKkpKQCpKSkAqSkpAKkpKQCpKSkAqSkpAKkpKQCpKSkAqSkpAKkpKQBpKSkAaSkpAGkpKQBpKSkAQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAACkpKQBpKSkAqSkpASkpKQGpKSkB6SkpAqkpKQNpKSkDqSkpA6kpKQSpKSkF6Sk + pBqkpKQapKSkGqSkpBqkpKQapKSkHqSkpCekpKQrpKSkLKSkpCykpKQspKSkLKSkpCykpKQspKSkLKSk + pCykpKQspKSkLKSkpCykpKQspKSkLKSkpCykpKQspKSkLKSkpCykpKQspKSkLKSkpCukpKQnpKSkHqSk + pBqkpKQapKSkGqSkpBqkpKQZpKSkFqSkpBGkpKQOpKSkDqSkpA2kpKQKpKSkB6SkpAakpKQEpKSkAqSk + pAEAAAAAAAAAAAAAAAAAAAAApKSkA6SkpA2kpKQZpKSkJKSkpC2kpKQ3pKSkQaSkpEakpKRRpKSkXaSk + pGCkpKRhpKSka6SkpHmkpKR+pKSkf6SkpH+kpKR/pKSkgKSkpIekpKSVpKSknaSkpJ6kpKSepKSknqSk + pJ6kpKSepKSknqSkpJ6kpKSepKSknqSkpJ6kpKSepKSknqSkpJ6kpKSepKSknqSkpJ6kpKSepKSknqSk + pJ6kpKSdpKSklaSkpIekpKSApKSkf6SkpH+kpKR/pKSkfqSkpHakpKRopKSkYKSkpGCkpKRdpKSkUaSk + pEakpKRBpKSkN6SkpCykpKQipKSkF6SkpAykpKQCpKSkAaSkpBWkpKREpKSkcKSkpIykpKScpKSkqaSk + pLakpKS7pKSkxaSkpM+kpKTRpKSk0qSkpNikpKTgpKSk46SkpOSkpKTkpKSk5KSkpOSkpKTnpKSk7KSk + pO+kpKTwpKSk8aSkpPGkpKTxpKSk8aSkpPGkpKTxpKSk8aSkpPGkpKTxpKSk8aSkpPGkpKTxpKSk8aSk + pPGkpKTxpKSk8aSkpPGkpKTwpKSk76SkpOykpKTnpKSk5KSkpOSkpKTkpKSk5KSkpOOkpKTepKSk1qSk + pNKkpKTRpKSkz6SkpMWkpKS7pKSktqSkpKmkpKSapKSkh6SkpGykpKRBpKSkEqSkpAKkpKQcpKSkXKSk + pJSkpKSxpKSkwqSkpM6kpKTYpKSk3aSkpOGkpKTppKSk7KSkpO2kpKTupKSk8aSkpPWkpKT2pKSk96Sk + pPekpKT3pKSk96SkpPekpKT4pKSk+qSkpPukpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT8pKSk/KSk + pPykpKT8pKSk/KSkpPykpKT8pKSk/KSkpPykpKT7pKSk+qSkpPikpKT3pKSk96SkpPekpKT3pKSk96Sk + pPakpKT0pKSk8aSkpO2kpKTtpKSk7KSkpOikpKTgpKSk3KSkpNekpKTLpKSkv6SkpKykpKSOpKSkV6Sk + pBkAAAAApKSkCaSkpCKkpKQ8pKSkUKSkpF6kpKRrpKSkeaSkpH+kpKSHpKSklaSkpJ2kpKSepKSkn6Sk + pKikpKS1pKSkuqSkpLukpKS7pKSku6SkpLukpKS7pKSkwKSkpMukpKTRpKSk0qSkpNOkpKTTpKSk06Sk + pNOkpKTTpKSk06SkpNOkpKTTpKSk06SkpNOkpKTTpKSk06SkpNOkpKTSpKSk0aSkpMukpKTApKSku6Sk + pLukpKS7pKSku6SkpLukpKS6pKSktaSkpKikpKSfpKSknqSkpJykpKSSpKSkhKSkpH6kpKR2pKSkZ6Sk + pFukpKRMpKSkOKSkpB+kpKQIAAAAAAAAAACipKMCm6WgBpamngqTp5wNl6aeEpemnheapZ8apKSkHqSk + pCekpKQrpKSkLKSkpC2kpKQ0pKSkP6SkpEOkpKRDpKSkQ6SkpEOkpKRDpKSkRKSkpEqkpKRYpKSkX6Sk + pGCkpKRgpKSkYKSkpGCkpKRgpKSkYKSkpGCkpKRgpKSkYKSkpGCkpKRgpKSkYKSkpGCkpKRgpKSkYKSk + pF+kpKRYpKSkSqSkpESkpKRDpKSkQ6SkpEOkpKRDpKSkQ6SkpD+kpKQ0pKSkLaSkpCykpKQrpKSkJaSk + pB2kpKQZpKSkFqSkpBCkpKQMpKSkCaSkpAWkpKQCAAAAAAAAAAAAAAAAAAAAAAAAAABmsIkBT7V/Sj24 + dpQ8uHagPbh2oD24dqA9uHahPbh2oT64d6FFt3qhS7V9oky1faNMtX2kTLV9pEy1faRMtX2kTLV9pEy1 + faRMtX2lTbV9p021fahNtX2pTbV9qU21falNtX2pTbV9qU21falNtX2pTrV9pWewiW+FqpcVkKibDpim + nw6gpKIOpKSkDqSkpA6kpKQNpKSkC6SkpAikpKQGpKSkBqSkpAakpKQGpKSkBqSkpAakpKQFpKSkBKSk + pAKkpKQCpKSkAqSkpAGkpKQBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAA1vHcIMLxzsi29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29 + cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29cf8tvXH/Lb1x/y29 + cf8tvXH/MLxz11m0hSIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAK790kiu/dP8rv3T/K790/yu/dP8rv3T/K790/yu/dP8rv3T/K790/yu/ + dP8rv3T/K790/yu/dP8rv3T/K790/yu/dP8rv3T/K790/yu/dP8rv3T/K790/yu/dP8rv3T/K790/yu/ + dP8rv3T/K790/yu/dP8rv3T/K790/yu/dP8tvnTOObx6AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKcF2DyrBdvkqwXb/KsF2/yrBdv8qwXb/KsF2/yrB + dv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrB + dv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrBdv8qwXb/KsF2/yrAdkYAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACjCdzopw3j/KcN4/ynD + eP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynD + eP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynD + eP8pwnh5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAnxHk/KMR6/yjEev8oxHr/KMR6/yjEev8oxHr/KMR6/yjEev8oxHr/KMR6/yjEev8oxHr/KMR6/yjE + ev8oxHr/KMR6/yjEev8oxHr/KMR6/yjEev8oxHr/KMR6/yjEev8oxHr/KMR6/yjEev8oxHr/KMR6/yjE + ev8oxHr/KMR6/yjEev8oxHr/KMR6fwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAJsZ8PybHfP8mx3z/Jsd8/ybHfP8mx3z/Jsd8/ybHfP8mx3z/Jsd8/ybH + fP8mx3z/Jsd8/ybHfP8mx3z/Jsd8/ybHfP8mx3z/Jsd8/ybHfP8mx3z/Jsd8/ybHfP8mx3z/Jsd8/ybH + fP8mx3z/Jsd8/ybHfP8mx3z/Jsd8/ybHfP8mx3z/Jsd8/ybHfH8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACXIfj8lyX7/Jcl+/yXJfv8lyX7/Jcl+/yXJ + fv8lyX7/Jcl+/yXJfv8lyX7/Jcl+/yXJfv8lyX7/Jcl+/yXJfv8lyX7/Jcl+/yXJfv8lyX7/Jcl+/yXJ + fv8lyX7/Jcl+/yXJfv8lyX7/Jcl+/yXJfv8lyX7/Jcl+/yXJfv8lyX7/Jcl+/yXJfv8lyH5/AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkyoA/JMqA/yTK + gP8kyoD/JMqA/yTKgP8kyoD/JMqA/yTKgP8kyoD/JMqA/yTKgP8kyoD/JMqA/yTKgP8kyoD/JMqA/yTK + gP8kyoD/JMqA/yTKgP8kyoD/JMqA/yTKgP8kyoD/JMqA/yTKgP8kyoD/JMqA/yTKgP8kyoD/JMqA/yTK + gP8kyoD/JMqAfwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAI8uBPyPMgv8jzIL/I8yC/yPMgv8jzIL/I8yC/yPMgv8jzIL/I8yC/yPMgv8jzIL/I8yC/yPM + gv8jzIL/I8yC/yPMgv8jzIL/I8yC/yPMgv8jzIL/I8yC/yPMgv8jzIL/I8yC/yPMgv8jzIL/I8yC/yPM + gv8jzIL/I8yC/yPMgv8jzIL/I8yC/yTLgX8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAACLNgz8izYT/Is2E/yLNhP8izYT/Is2E/yLNhP8izYT/Is2E/yLN + hP8izYT/Is2E/yLNhP8izYT/Is2E/yLNhP8izYT/Is2E/yLNhP8izYT/Is2E/yLNhP8izYT/Is2E/yLN + hP8izYT/Is2E/yLNhP8izYT/Is2E/yLNhP8izYT/Is2E/yLNhP8vxXt/AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhzoU/Ic+G/yHPhv8hz4b/Ic+G/yHP + hv8hz4b/Ic+G/yHPhv8hz4b/Ic+G/yHPhv8hz4b/Ic+G/yHPhv8hz4b/Ic+G/yHPhv8hz4b/Ic+G/yHP + hv8hz4b/Ic+G/yHPhv8hz4b/Ic+G/yHPhv8hz4b/Ic+G/yHPhv8hz4b/Ic+G/yHPhv8hz4b/S7Rnr4KQ + QF+bgS9foX0rX6F9K1+hfStfoX0rX6F9K1+hfStdoX0rOqJ+LAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAINCHPyDQ + h/8g0If/INCH/yDQh/8g0If/INCH/yDQh/8g0If/INCH/yDQh/8g0If/INCH/yDQh/8g0If/INCH/yDQ + h/8g0If/INCH/yDQh/8g0If/INCH/yDQh/8g0If/INCH/yDQh/8g0If/INCH/yDQh/8g0If/INCH/yDQ + h/8g0If/INCH/2GnWv+jfiz/o34s/6N+LP+jfiz/o34s/6N+LP+jfiz/o34s/6N+LP+jfizVo38tMQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAB/RiD8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDSif8g0on/INKJ/yDS + if8g0on/INKJ/yDSif8g0on/INKJ/yDSif9iqVz/pYAv/6WAL/+lgC//pYAv/6WAL/+lgC//pYAv/6WA + L/+lgC//pYAv/6WAL+6mgS8fAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAe0oo/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/T + iv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/T + iv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/H9OK/x/Tiv8f04r/Y6pd/6eCMf+ngjH/p4Ix/6eC + Mf+ngjH/p4Ix/6eCMf+ngjH/p4Ix/6eCMf+ngjH/p4IxmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHtOLPx7UjP8e1Iz/HtSM/x7U + jP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7U + jP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/x7UjP8e1Iz/HtSM/2Ss + X/+qhDP/qoQz/6qEM/+qhDP/qoQz/6qEM/+qhDP/qoQz/6qEM/+qhDP/qoQz/6qEM94AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB3U + jD8d1Y3/HdWN/x3Vjf8d1Y3/HdWN/x3Vjf8d1Y3/HdWN/x3Vjf8d1Y3/HdWN/x3Vjf8d1Y3/HdWN/x3V + jf8d1Y3/HdWN/x3Vjf8d1Y3/HdWN/x3Vjf8d1Y3/HdWN/x3Vjf8d1Y3/HdWN/x3Vjf8d1Y3/HdWN/x3V + jf8d1Y3/HdWN/x3Vjf9lrmH/rIc1/6yHNf+shzX/rIc1/6yHNf+shzX/rIc1/6yHNf+shzX/rIc1/6yH + Nf+shzXvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAd1o4/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/Zq9j/6+JN/+viTf/r4k3/6+JN/+viTf/r4k3/6+J + N/+viTf/r4k3/6+JN/+viTf/r4k37wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHdeQPxzXj/8c14//HNeP/xzXj/8c14//HNeP/xzX + j/8c14//HNeP/xzXj/8c14//HNeP/xzXj/8c14//HNeP/xzXj/8c14//HNeP/xzXj/8c14//HNeP/xzX + j/8c14//HNeP/xzXj/8c14//HNeP/xzXj/8c14//HNeP/xzXj/8c14//HNeP/2axZP+xizr/sYs6/7GL + Ov+xizr/sYs6/7GLOv+xizr/sYs6/7GLOv+xizr/sYs6/7GLOu8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/Zkz8h2pb/HNiR/xzY + kf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzY + kf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/xzYkf8c2JH/HNiR/yLa + lv9osmb/s408/7ONPP+zjTz/s408/7ONPP+zjTz/s408/7ONPP+zjTz/s408/7ONPP+zjTzvAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAg2pUgKN2d/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8o3Z3/fapd/7aPPv+2jz7/to8+/7aPPv+2jz7/to8+/7aPPv+2jz7/to8+/7aP + Pv+2jz7/to8+7wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAACbdnMMp3p7/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xva + kv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8b2pL/G9qS/xva + kv8b2pL/G9qS/xvakv8b2pL/G9qS/xvakv8h3Jj/N9ud/6+VRf+4kUD/uJFA/7iRQP+4kUD/uJFA/7iR + QP+4kUD/uJFA/7iRQP+4kUD/uJFA/7iRQO8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAi3JkmLeCj6jPiqf8j3Zr/HduW/x3b + lv8d25b/HduW/x3blv8d25b/HduW/x3blv8d25b/HduW/x3blv8d25b/HduW/x3blv8d25b/HduW/x3b + lv8d25b/HduW/x3blv8d25b/HduW/x3blv8d25b/HduW/yDcmP8v4aX/NuKo/4eqXf+7k0P/u5ND/7uT + Q/+7k0P/u5ND/7uTQ/+7k0P/u5ND/7uTQ/+7k0P/u5ND/7uTQ/+7k0PvAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACTd + nBwi3ZucL+Gm6DTjq/8046v/NOOr/zTjq/8046v/NOOr/zTjq/8046v/NOOr/zTjq/8046v/NOOr/zTj + q/8046v/NOOr/zTjq/8046v/NOOr/zTjq/8046v/NOOr/zTjq/8046v/NOOr/zTjq/8536T/U8qF/5qk + Vv+9lUX/vZVF/72VRf+9lUX/vZVF/72VRf+9lUX/vZVF/72VRf+9lUX/vZVF/72VRf+9lUX/tpRK+ByI + xo8Mh9KPAIfdjwCH3Y8Ah92PAIfdjwCH3Y8Ah92PAIfdhQCH3UEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMCX + R8/Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CX + R//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CX + R//Al0f/wJdH/7OWUP8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93/AIfdswCI + 3QkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADCmknPwppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8Ka + Sf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8Ka + Sf/Cmkn/wppJ/8KaSf/Cmkn/wppJ/8KaSf+2mFL/AIne/wCJ3v8Aid7/AIne/wCJ3v8Aid7/AIne/wCJ + 3v8Aid7/AIne/wCJ3v8Ait6hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxZxLz8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8Wc + S//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8Wc + S//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/xZxL/8WcS//FnEv/uJtU/wCM4P8AjOD/AIzg/wCM + 4P8AjOD/AIzg/wCM4P8AjOD/AIzg/wCM4P8AjOD/AIzg/QCM4B0AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMieTs/Ink7/yJ5O/8ie + Tv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ie + Tv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/8ieTv/Ink7/yJ5O/7ud + V/8Aj+H/AI/h/wCP4f8Aj+H/AI/h/wCP4f8Aj+H/AI/h/wCP4f8Aj+H/AI/h/wCP4f8AjuFTAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADKoFDPyqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qg + UP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qg + UP/KoFD/yqBQ/8qgUP+9n1n/AJHj/wCR4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR + 4/8AkeP/AJHjXwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAzaJSz82iUv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82i + Uv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/zaJS/82i + Uv/NolL/zaJS/82iUv/NolL/zaJS/82iUv/NolL/wKFb/wCU5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCU + 5f8AlOX/AJTl/wCU5f8AlOX/AJTl/wCT5F8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANCmWM/PpFT/z6RU/8+kVP/PpFT/z6RU/8+k + VP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+k + VP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8+kVP/PpFT/z6RU/8SmYv8Alub/AJbm/wCW + 5v8Alub/AJbm/wCW5v8Alub/AJbm/wCW5v8Alub/AJbm/wCW5v8AluZfAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADVrmLB0qdY/9Gm + Vv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9Gm + Vv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9GmVv/Rplb/0aZW/9Gm + Vv+3rHj/AJno/wCZ6P8Amej/AJno/wCZ6P8Amej/AJno/wCZ6P8Amej/AJno/wCZ6P8Amej/AJnoXwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA1apdd9y3b//UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9So + Wf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9So + Wf/UqFn/1KhZ/9SoWf/atWz/eqWb/wCc6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc + 6v8AnOr/AJzq/wCb6V8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAANevYwrbtGvW37t2/9esXf/Wqlv/1qpb/9aqW//Wqlv/1qpb/9aq + W//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aqW//Wqlv/1qpb/9aq + W//Wqlv/1qpb/9aqW//Wqlv/1qpb/9erXP/euXP/xbV+/xKf3/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe + 6/8Anuv/AJ7r/wCe6/8Anuv/AJ7r/wCe6/8AnutfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2rFmF9yzZ7LjwX7+48F//+PB + f//jwX//48F//+PBf//jwX//48F//+PBf//jwX//48F//+PBf//jwX//48F//+PBf//jwX//48F//+PB + f//jwX//48F//+PBf//jwX//48F//+PBf//jwX//48F//+PBf//jwX//pbGN/xyi2v8Aoe3/AKHt/wCh + 7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKHt/wCh7f8Aoe3/AKDsXwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA3bVsGd21bD/dtWw/3bVsP921bD/dtWw/3bVsP9m1bj+4soA/baushzamy/82psv/NqbL/zam + y/82psv/NqbL/zamy/82psv/NqbL/zamy/82psv/NqbL/zamy/82psv/NqbL/zamy/82psv/HKXb/wCj + 7v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj + 7l8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACyq + 118ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm + 8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm8P8ApvD/AKbw/wCm + 8P8ApvD/AKbw/wCm8P8ApfBfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAADqO5fAKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo + 8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo + 8f8AqPH/AKjx/wCo8f8AqPH/AKjx/wCo8f8AqPH/AKjxXwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKrzXwCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr + 8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr + 8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCr8/8Aq/P/AKvz/wCq818AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACt9F8ArvX/AK71/wCu + 9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu + 9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu9f8ArvX/AK71/wCu + 9f8ArfRfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAsPZfALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw + 9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw9v8AsPb/ALD2/wCw + 9v8AsPb/ALD2/wCw9v8AsPb/ALD2XwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAALL3XwCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz + +P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCz + +P8As/j/ALP4/wCz+P8As/j/ALP4/wCz+P8As/j/ALP4/wCy918AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC2+V8AuPn/ALX5/wC1+f8Atfn/ALX5/wC1 + +f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1 + +f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC1+f8Atfn/ALX5/wC5+v8AtvldAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAufpIAMD7/wC4 + +/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4 + +/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4+/8AuPv/ALj7/wC4 + +/8AwPv/ALn6PgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAL37CADE/OYAvvz/ALr8/wC6/P8Auvz/ALr8/wC6/P8Auvz/ALr8/wC6/P8Auvz/ALr8/wC6 + /P8Auvz/ALr8/wC6/P8Auvz/ALr8/wC6/P8Auvz/ALr8/wC6/P8Auvz/ALr8/wC6/P8Auvz/ALr8/wC6 + /P8Auvz/ALr8/wC6/P8Av/z/AMP84AC9+wUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv/1IAMv++QDI/v8Avv7/ALz+/wC8/v8AvP7/ALz+/wC8 + /v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC8 + /v8AvP7/ALz+/wC8/v8AvP7/ALz+/wC//v8AyP7/AMv++QC//UMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADC/jkAxf6/AM3//ADP + //8Az///AM///wDP//8Az///AM///wDP//8Az///AM///wDP//8Az///AM///wDP//8Az///AM///wDP + //8Az///AM///wDP//8Az///AM///wDP//8Az///AM///wDP//8Azf/7AMX+vADC/jQAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAADG/gYAxf4QAMX+EADF/hAAxf4QAMX+EADF/hAAxf4QAMX+EADF/hAAxf4QAMX+EADF + /hAAxf4QAMX+EADF/hAAxf4QAMX+EADF/hAAxf4QAMX+EADF/hAAxf4QAMX+EADF/hAAxf4QAMb+BgAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////gAAAAB///AAAAAAAAAHgAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAADAAAAAAAAAAfAAAAAAAAD/4AAAAA/////gAAAAB////8AA + AAAH////wAAAAAf////AAAAAB////8AAAAAH////wAAAAAf////AAAAAB////8AAAAAH////wAAAAAf/ + ///AAAAAAAH//8AAAAAAAP//wAAAAAAAf//AAAAAAAB//8AAAAAAAH//wAAAAAAAf//AAAAAAAB//8AA + AAAAAH//wAAAAAAAf//AAAAAAAB//+AAAAAAAH//4AAAAAAAf//wAAAAAAAAH//+AAAAAAAH//4AAAAA + AAf//gAAAAAAA//+AAAAAAAD//4AAAAAAAP//gAAAAAAA//+AAAAAAAD//4AAAAAAAP//gAAAAAAA//+ + AAAAAAAD//8AAAAAAAP//8AAAAAAA////+AAAAAD////4AAAAAP////gAAAAA////+AAAAAD////4AAA + AAP////gAAAAA////+AAAAAD////4AAAAAP////gAAAAA/////AAAAAH////+AAAAA/////+AAAAP/// + //////////////////////////////////////////////////////////////////////////////// + //8oAAAAMAAAAGAAAAABACAAAAAAAIAlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAACjo6MBpKSkAaOjowOjo6MEpKSkBKOjowakpKQIo6OjCKOjowijo6MIpKSkC6Oj + ow+jo6MRpKSkEaOjoxGjo6MRpKSkEaOjoxGjo6MRpKSkEaOjoxGjo6MRpKSkEaOjoxGjo6MRpKSkEaOj + oxGkpKQPo6OjCqOjowikpKQIo6OjCKOjowikpKQFo6OjBKOjowOkpKQCo6OjAaOjowEAAAAAAAAAAAAA + AAAAAAAAAAAAAKOjowajo6MSpKSkHaOjoyejo6MypKSkOaOjo0ejo6NOpKSkUaOjo1+kpKRqo6Oja6Oj + o2ujo6NrpKSkdaOjo4Wjo6OIpKSkiaOjo4mjo6OJpKSkiaOjo4mjo6OJpKSkiaOjo4mjo6OJpKSkiaOj + o4mjo6OJpKSkiaOjo4ikpKSCo6OjcaOjo2ukpKRro6OjaqOjo2ekpKRYo6OjT6Ojo02kpKREo6OjN6Oj + ozCkpKQko6OjGaOjow2jo6MDpKSkBKSkpDCkpKR1pKSknKSkpK6kpKS/pKSkyKSkpNOkpKTapKSk26Sk + pOOkpKTppKSk6qSkpOqkpKTqpKSk7KSkpPKkpKTzpKSk9KSkpPSkpKT0pKSk9KSkpPSkpKT0pKSk9KSk + pPSkpKT0pKSk9KSkpPSkpKT0pKSk9KSkpPOkpKTxpKSk66SkpOqkpKTqpKSk6qSkpOekpKTfpKSk2qSk + pNmkpKTQpKSkxaSkpLukpKSppKSkj6SkpGKkpKQdpKSkA6Ojoymjo6NlpKSkiaOjo5yjo6OupKSktqOj + o8Gjo6PMpKSkzqOjo9GkpKTbo6Oj4KOjo+Cjo6PgpKSk4KOjo+Gjo6PopKSk7aOjo+2jo6PtpKSk7qOj + o+2jo6PtpKSk7qOjo+2jo6PtpKSk7qOjo+2jo6PtpKSk7KOjo+akpKTho6Oj4KOjo+CkpKTgo6Oj36Oj + o9mkpKTPo6OjzaOjo8mkpKS7o6OjtKOjo6ekpKSVo6OjfaOjo1Ojo6MYAAAAAKOkowOepKELmaafFJml + nxuapZ8lnqWhKqOjozOjo6M9pKSkPqOjo0OkpKRSo6OjWKOjo1ijo6NYpKSkWKOjo1ujo6NrpKSkdaOj + o3Wjo6N1pKSkdaOjo3Wjo6N1pKSkdaOjo3Wjo6N1pKSkdaOjo3Wjo6N1pKSkdKOjo2akpKRao6OjWKOj + o1ikpKRYo6OjV6Ojo06kpKRBo6OjPqOjozqkpKQuo6OjKKOjoyCkpKQYo6OjEKOjowijo6MBAAAAAAAA + AAAAAAAAVrODKT64d5g4uXS3Obl1tzm5dbg5uXW4Obl1uEK3eblEt3q6RLd6ukS3erpEt3q6RLd6ukS3 + ertEt3q9Rbd6vkW3er5Ft3q+Rbd6vkW3er5Ft3q+SLZ7tmWwiGiEqpYNlKedCqGkowqkpKQKpKSkCqSk + pAekpKQFpKSkBaSkpAWkpKQFpKSkBKSkpAOkpKQCpKSkAqSkpAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAsvnQyLL5z8iy+cv4svnL+LL5y/yy+cv4svnL+LL5y/yy+cv4svnL/LL5y/iy+ + cv4svnL+LL5y/yy+cv4svnL+LL5y/yy+cv4svnL+LL5y/yy+cv4svnL+LL5y/yy+cv46u3mUAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqwHW5KsB1/yrAdf4qwHX+KsB1/yrAdf4qwHX+KsB1/yrA + df4qwHX/KsB1/irAdf4qwHX+KsB1/yrAdf4qwHX+KsB1/yrAdf4qwHX+KsB1/yrAdf4qwHX+KsB1/yrA + df4qwHX9KsB1KAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApw3jsKcN4/ynDeP8pw3j/KcN4/ynD + eP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynDeP8pw3j/KcN4/ynD + eP8pw3j/KcN4/ynDeP8pw3j/KMN4XAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnxnvvJ8Z7/yfG + e/4nxnv+J8Z7/yfGe/4nxnv+J8Z7/yfGe/4nxnv/J8Z7/ifGe/4nxnv+J8Z7/yfGe/4nxnv+J8Z7/yfG + e/4nxnv+J8Z7/yfGe/4nxnv+J8Z7/yfGe/4nxnv+J8V7XwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAlyH7vJch+/yXIfv8lyH7/Jch+/yXIfv8lyH7/Jch+/yXIfv8lyH7/Jch+/yXIfv8lyH7/Jch+/yXI + fv8lyH7/Jch+/yXIfv8lyH7/Jch+/yXIfv8lyH7/Jch+/yXIfv8lyH7/Jch9XwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAkyoDvJMqA/yTKgP4kyoD+JMqA/yTKgP4kyoD+JMqA/yTKgP4kyoD/JMqA/iTK + gP4kyoD+JMqA/yTKgP4kyoD+JMqA/yTKgP4kyoD+JMqA/yTKgP4kyoD+JMqA/yTKgP4kyoD+JMqAXwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjzYPvI82D/yPNg/4jzYP+I82D/yPNg/4jzYP+I82D/yPN + g/4jzYP/I82D/iPNg/4jzYP+I82D/yPNg/4jzYP+I82D/yPNg/4jzYP+I82D/yPNg/4jzYP+I82D/yPN + g/4jzYP+K8Z8XwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhzoXvIc6F/yHOhf4hzoX+Ic6F/yHO + hf4hzoX+Ic6F/yHOhf4hzoX/Ic6F/iHOhf4hzoX+Ic6F/yHOhf4hzoX+Ic6F/yHOhf4hzoX+Ic6F/yHO + hf4hzoX+Ic6F/yHOhf4hzoX+ULBkjIiNPEehfStHoX0rR6F9K0ehfStHoX0rQ6F9KxMAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAg0YfvINGH/yDR + h/8g0Yf/INGH/yDRh/8g0Yf/INGH/yDRh/8g0Yf/INGH/yDRh/8g0Yf/INGH/yDRh/8g0Yf/INGH/yDR + h/8g0Yf/INGH/yDRh/8g0Yf/INGH/yDRh/8g0Yf/cp1P/6N+LP+jfiz/o34s/6N+LP+jfiz/o34s/6N+ + LPajfy1zAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAf0onvH9KK/x/Sif4f0on+H9KK/x/Sif4f0on+H9KK/x/Sif4f0or/H9KJ/h/Sif4f0on+H9KK/x/S + if4f0on+H9KK/x/Sif4f0on+H9KK/x/Sif4f0on+H9KK/x/Sif4f0on+c59R/6aBL/6mgS/+poEw/6aB + L/6mgTD/poEv/qaBL/6mgTD9poEwRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAe1IvvHtSL/x7Ui/4e1Iv+HtSL/x7Ui/4e1Iv+HtSL/x7Ui/4e1Iv/HtSL/h7U + i/4e1Iv+HtSL/x7Ui/4e1Iv+HtSL/x7Ui/4e1Iv+HtSL/x7Ui/4e1Iv+HtSL/x7Ui/4e1Iv+daJU/6mE + Mv6phDL+qYQy/6mEMv6phDL/qYQy/qmEMv6phDL/qYQynwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAd1Y3vHdWN/x3Vjf8d1Y3/HdWN/x3Vjf8d1Y3/HdWN/x3V + jf8d1Y3/HdWN/x3Vjf8d1Y3/HdWN/x3Vjf8d1Y3/HdWN/x3Vjf8d1Y3/HdWN/x3Vjf8d1Y3/HdWN/x3V + jf8d1Y3/d6RW/6yHNf+shzX/rIc1/6yHNf+shzX/rIc1/6yHNf+shzX/rIc1swAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc1o/vHNeP/xzWj/4c1o/+HNeP/xzW + j/4c1o/+HNeP/xzWj/4c14//HNaP/hzWj/4c1o/+HNeP/xzWj/4c1o/+HNeP/xzWj/4c1o/+HNeP/xzW + j/4c1o/+HNeP/xzWj/4c1o/+eKZZ/7CJOP6wiTj+sIo4/7CJOP6wijj/sIk4/rCJOP6wijj/sIk4swAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf2ZPvHNiQ/xvY + kP4b2JD+HNiQ/xvYkP4b2JD+HNiQ/xvYkP4c2JD/G9iQ/hvYkP4b2JD+HNiQ/xvYkP4b2JD+HNiQ/xvY + kP4b2JD+HNiQ/xvYkP4b2JD+HNiQ/xvYkP4f2ZP+eqhb/7OMO/6zjDv+s4w7/7OMO/6zjDv/s4w7/rOM + O/6zjDv/s4w7swAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAm3ZzNG9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8m3Zz/kqBS/7aPPv+2jz7/to8+/7aP + Pv+2jz7/to8+/7aPPv+2jz7/to8+swAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAi3JlXL+Gl/R3alf4a2ZL+GtqT/xrZkv4a2ZL+GtqT/xrZkv4a2pP/GtmS/hrZ + kv4a2ZL+GtqT/xrZkv4a2ZL+GtqT/xrZkv4a2ZL+GtqT/xrZkv4a2ZL+GtqT/yfenv5NzYr+uJJC/7mS + Qf65kkH+uZJB/7mSQf65kkH/uZJB/rmSQf65kkH/s5FGswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJN2cWy7hptUw4qf9L+Kn/y/ip/4v4qf+L+Kn/y/i + p/4v4qf/L+Kn/i/ip/4v4qf+L+Kn/y/ip/4v4qf+L+Kn/y/ip/4v4qf+L+Kn/y/ip/4v4qf+Ot2i/2TD + fv6xmkr+vZVE/72VRP69lUT+vZVE/72VRP69lUT/vZVE/r2VRP69lUT/mJJi0yeJvGsDh9prAIbcawCG + 3GsAh91rAIbcawCG3E8Ah90FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAACrolSbwJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CX + R//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/wJdH/8CXR//Al0f/h5Nz/wCH + 3f8Ah93/AIfd/wCH3f8Ah93/AIfd/wCH3f8Ah93UAIneGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC+nEybw5pK/sOaSv7Dmkr+w5tK/8OaSv7Dmkr+w5tK/8Oa + Sv7Dmkr+w5tK/8OaSv7Dmkr+w5tK/8OaSv7Dmkr+w5tK/8OaSv7Dmkr+w5tK/8OaSv7Dm0r/w5pK/sOa + Sv7Dm0r/iZZ2/gCK3/4Ai9//AIrf/gCK3/4Ai9//AIrf/gCK3/4Ai9//AIvfqwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADHnU2bx51N/sedTf7HnU3+x51N/8ed + Tf7HnU3+x51N/8edTf7HnU3+x51N/8edTf7HnU3+x51N/8edTf7HnU3+x51N/8edTf7HnU3+x51N/8ed + Tf7HnU3/x51N/sedTf7HnU3/jJl5/gCO4f4AjuH/AI7h/gCO4f4AjuH/AI7h/gCO4f4AjuH/AI7h8QCO + 4QcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADKoFCbyqBQ/8qg + UP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qg + UP/KoFD/yqBQ/8qgUP/KoFD/yqBQ/8qgUP/KoFD/jpx8/wCR4/8AkeP/AJHj/wCR4/8AkeP/AJHj/wCR + 4/8AkeP/AJHj9wCR4w8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADOo1SbzqNT/s6jU/7Oo1P+zqNT/86jU/7Oo1P+zqNT/86jU/7Oo1P+zqNT/86jU/7Oo1P+zqNT/86j + U/7Oo1P+zqNT/86jU/7Oo1P+zqNT/86jU/7Oo1P/zqNT/s6jU/7Oo1P/kZ+A/gCV5f4Aleb/AJXl/gCV + 5f4Aleb/AJXl/gCV5f4Aleb/AJXl9wCU5Q8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADUq1+T0aZX/tGmVv7Rplb+0aZW/9GmVv7Rplb+0aZW/9GmVv7Rplb+0aZW/9Gm + Vv7Rplb+0aZW/9GmVv7Rplb+0aZW/9GmVv7Rplb+0aZW/9GmVv7Rplb/0aZW/tGmVv7Rplb/jKeQ/gCY + 6P4AmOj/AJjo/gCY6P4AmOj/AJjo/gCY6P4AmOj/AJjo9wCY5w8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADVrF9J27Vs/tSoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9So + Wf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9SoWf/UqFn/1KhZ/9So + Wf/atGv/TaK4/wCc6v8AnOr/AJzq/wCc6v8AnOr/AJzq/wCc6v8AnOr/AJzq9wCb6Q8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA27Nojt+7dvzeuXL+3rly/965 + cv7euXL+3rly/965cv7euXL+3rly/965cv7euXL+3rly/965cv7euXL+3rly/965cv7euXL+3rly/965 + cv7euXL/3rly/t+7d/6Irp7/AZ/r/gCf7P4An+z/AJ/s/gCf7P4An+z/AJ/s/gCf7P4An+z/AJ/s9wCf + 6w8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANy0 + ajPdtWxr3bVsb921bG/dtWxv3bVsb8+0dG+Vr5WXYKqz/2Cqs/9gqrP/YKqz/2Cqs/9gqrP/YKqz/2Cq + s/9gqrP/YKqz/2Cqs/9gqrP/Xqq0/zCmzv8Bo+3/AKPu/wCj7v8Ao+7/AKPu/wCj7v8Ao+7/AKPu/wCj + 7v8Ao+7/AKPu9wCi7g8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwqtRHAKbw/wCm8P4ApvD+AKbw/wCm + 8P4ApvD+AKbw/wCm8P4ApvD+AKbw/wCm8P4ApvD/AKbw/gCm8P4ApvD/AKbw/gCm8P4ApvD/AKbw/gCm + 8P4ApvD/AKbw/gCm8P4ApvD/AKbw9wCl7w8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqfJHAKry/wCp + 8v4AqfL+AKry/wCp8v4AqfL+AKry/wCp8v4AqfL+AKry/wCp8v4AqvL/AKny/gCp8v4AqvL/AKny/gCp + 8v4AqvL/AKny/gCp8v4AqvL/AKny/gCp8v4AqvL/AKny9wCp8g8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAArPRHAK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt + 9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK30/wCt9P8ArfT/AK309wCs9A8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAsPZHALD2/wCw9v4AsPb+ALD2/wCw9v4AsPb+ALD2/wCw9v4AsPb+ALD2/wCw + 9v4AsPb/ALD2/gCw9v4AsPb/ALD2/gCw9v4AsPb/ALD2/gCw9v4AsPb/ALD2/gCw9v4AsPb/ALD29wCw + 9g8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtPhHALX5/wC0+P4AtPj+ALT5/wC0+P4AtPj+ALT5/wC0 + +P4AtPj+ALT5/wC0+P4AtPn/ALT4/gC0+P4AtPn/ALT4/gC0+P4AtPn/ALT4/gC0+P4AtPn/ALT4/gC0 + +P4AtPn/ALX59wC0+A8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAufo6ALz7/wC3+v8At/r/ALf7/wC3 + +v8At/r/ALf7/wC3+v8At/r/ALf7/wC3+v8At/v/ALf6/wC3+v8At/v/ALf6/wC3+v8At/v/ALf6/wC3 + +v8At/v/ALf6/wC3+v8At/v/AL377QC5+gUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvfsEAMT92gC9 + /f4Auv3+ALr9/wC6/f4Auv3+ALr9/wC6/f4Auv3+ALr9/wC6/f4Auv3/ALr9/gC6/f4Auv3/ALr9/gC6 + /f4Auv3/ALr9/gC6/f4Auv3/ALr9/gC6/f4Awf3/AMD8mAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAMH9LQDJ/tkAyv7+AMr+/wDK/v4Ayv7+AMr+/wDK/v4Ayv7+AMr+/wDK/v4Ayv7/AMr+/gDK + /v4Ayv7/AMr+/gDK/v4Ayv7/AMr+/gDK/v4Ayv7/AMr+/gDL/v0Axv61AMH9DgAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAADG/gYAxP47AMT+SwDE/ksAxP5LAMT+SwDE/ksAxP5LAMT+SwDE + /ksAxP5LAMT+SwDE/ksAxP5LAMT+SwDE/ksAxP5LAMT+SwDE/ksAxP5LAMT+SwDF/iwAxv4BAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA////////AAD4AAAAAA8AAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAA + AAAAAAAA4AAAAAB/AADAAAAf//8AAMAAAA///wAAwAAAD///AADAAAAP//8AAMAAAA///wAAwAAAD/// + AADAAAAP//8AAMAAAAAf/wAAwAAAAA//AADAAAAAB/8AAMAAAAAH/wAAwAAAAAf/AADAAAAAB/8AAMAA + AAAH/wAAwAAAAAf/AADAAAAAB/8AAOAAAAAABwAA/+AAAAADAAD/4AAAAAMAAP/gAAAAAQAA/+AAAAAB + AAD/4AAAAAEAAP/gAAAAAQAA/+AAAAABAAD/8AAAAAEAAP/4AAAAAQAA///wAAABAAD///AAAAEAAP// + 8AAAAQAA///wAAABAAD///AAAAEAAP//8AAAAQAA///wAAADAAD///gAAAMAAP///AAABwAA//////// + AAD///////8AAP///////wAA////////AAD///////8AAP///////wAAKAAAACAAAABAAAAAAQAgAAAA + AACAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAj4+PAY+PjwGPj48Bj4+PAY+PjwGPj48Bj4+PAY+PjwGPj48Bj4+PAY+PjwEAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKSkpAqkpKQVpKSkIKSkpCqkpKQ2pKSkO6Sk + pEqkpKRMpKSkTaSkpFikpKRkpKSkZaSkpGWkpKRlpKSkZaSkpGWkpKRlpKSkZaSkpGWkpKRlpKSkYaSk + pFCkpKRMpKSkTKSkpEGkpKQ3pKSkMaSkpCWkpKQapKSkD6SkpAOkpKQNpKSkaaSkpKekpKTBpKSk0KSk + pN2kpKThpKSk6qSkpO2kpKTtpKSk8KSkpPSkpKT2pKSk9qSkpPakpKT2pKSk9qSkpPakpKT2pKSk9qSk + pPWkpKTzpKSk7qSkpO2kpKTspKSk5aSkpN+kpKTXpKSkyaSkpLOkpKSLpKSkMaSkpAKhpKIanKWgMZ2l + oUOhpKJQpKSkYaSkpGWkpKR0pKSkf6SkpH+kpKR/pKSki6SkpJmkpKSZpKSkmaSkpJmkpKSZpKSkmaSk + pJmkpKSZpKSklaSkpIKkpKR/pKSkf6SkpHykpKRqpKSkZKSkpFakpKRJpKSkOKSkpCSkpKQKAAAAAFm0 + hQJEt3t/NLp0zDW6dM81unTQN7p10Dy5d9E8uXfRPLl30Ty5d9E8uXfSPbl30z25d9Q9uXfUPbl31EO4 + esRnsIpHjaibB6OkowekpKQGpKSkA6SkpAOkpKQDpKSkA6SkpAGkpKQBAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAKsB1ZivAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvAdf8rwHX/K8B1/yvA + df8rwHX/K8B1/yvAdfI0vnkSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAow3meKMN5/yjDef8ow3n/KMN5/yjDef8ow3n/KMN5/yjDef8ow3n/KMN5/yjD + ef8ow3n/KMN5/yjDef8ow3n/KMN5/yjDeT4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAACbHfZ8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsh9/ybI + ff8myH3/Jsh9/ybIff8myH3/Jsh9/ybIff8myH3/Jsd9PwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJMuBnyTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTL + gf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8ky4H/JMuB/yTLgf8lyn8/AAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAizoSfIs6F/yLOhf8izoX/Is6F/yLO + hf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/yLOhf8izoX/Is6F/1OuYWOagTAvoX0rL6F9 + Ky+hfSsmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACDRiJ8g0Yj/INGI/yDR + iP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/INGI/yDRiP8g0Yj/g5NE/6R/ + Lf+kfy3/pH8t/6R/Lf+kfy29pYAvBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHtOLnx7T + i/8e04v/HtOL/x7Ti/8e04v/HtOL/x7Ti/8e04v/HtOL/x7Ti/8e04v/HtOL/x7Ti/8e04v/HtOL/x7T + i/+Gl0j/qIMy/6iDMv+ogzL/qIMy/6iDMv+ogzJdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAd1Y2fHdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3Wjv8d1o7/HdaO/x3W + jv8d1o7/HdaO/4mbTP+tiDb/rYg2/62INv+tiDb/rYg2/62HNncAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAB7Ykp8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzYkP8c2JD/HNiQ/xzY + kP8c2JD/HNiQ/xzYkP8d2JH/jZ5Q/7KMO/+yjDv/sow7/7KMO/+yjDv/sos6dwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAJNyaeB7alf8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/xvZ + kv8b2ZL/G9mS/xvZkv8b2ZL/G9mS/yfbmf+mmEj/t5A//7eQP/+3kD//t5A//7eQP/+0j0F3AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAk3ZsJKt+hqCjfoPko36D/KN+g/yjfoP8o36D/KN+g/yjf + oP8o36D/KN+g/yjfoP8o36D/KN+g/yjfoP832Zr/hbFo/7yURP+8lET/vJRE/7yURP+8lET/vJRE/4SQ + cJ0UiMtHAIfdRwCH3UcAh91FAIfdEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJuq + X2fBmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GYSP/BmEj/wZhI/8GY + SP/BmEj/WpCX/wCI3f8AiN3/AIjd/wCI3f8AiN3sAIneKgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAxpxMZ8adTP/GnUz/xp1M/8adTP/GnUz/xp1M/8adTP/GnUz/xp1M/8adTP/GnUz/xp1M/8ad + TP/GnUz/xp1M/8adTP9dlJv/AI3h/wCN4f8AjeH/AI3h/wCN4f8AjeCbAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADLoFFny6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uhUf/LoVH/y6FR/8uh + Uf/LoVH/y6FR/8uhUf/LoVH/y6FR/1+Zn/8AkuT/AJLk/wCS5P8AkuT/AJLk/wCS5K8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAANKpW2TQpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/0KVV/9Cl + Vf/QpVX/0KVV/9ClVf/QpVX/0KVV/9ClVf/QpVX/XqCq/wCY5/8AmOf/AJjn/wCY5/8AmOf/AJfnrwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1q1gINq0avTVqVr/1ala/9WpWv/VqVr/1ala/9Wp + Wv/VqVr/1ala/9WpWv/VqVr/1ala/9WpWv/VqVr/1ala/9Szbf8jn9T/AJ3q/wCd6v8Aner/AJ3q/wCd + 6v8AneqvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3LRqMuC7dZXgu3af4Lt2n9+7 + dp+7uIuxjLSl/4y0pf+MtKX/jLSl/4y0pf+MtKX/jLSl/4y0pf+Gs6n/MKbR/wCi7v8Aou7/AKLu/wCi + 7v8Aou7/AKLu/wCi7a8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAC6r1i8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn8f8Ap/H/AKfx/wCn + 8f8Ap/H/AKfx/wCn8f8Ap/H/AKfwrwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAKvzLwCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs + 9P8ArPT/AKz0/wCs9P8ArPT/AKz0/wCs9P8ArPSvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsfYvALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx + 9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx9/8Asff/ALH3/wCx968AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC3+SoAufr/ALb6/wC2+v8Atvr/ALb6/wC2 + +v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALb6/wC2+v8Atvr/ALr6pgAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALz7AgDD/ckAvv3/ALv9/wC7 + /f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALv9/wC7/f8Au/3/ALz9/wDD/f0AwPxKAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMT+DgDI + /nAAyv6HAMr+hwDK/ocAyv6HAMr+hwDK/ocAyv6HAMr+hwDK/ocAyv6HAMr+hwDK/ocAyv6EAMX+PAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/4AP/gAAAAAAAAAAAAAAAgAAAH4AA + H/+AAB//gAAf/4AAH/+AAAH/gAAAf4AAAH+AAAB/gAAAf4AAAH+AAAAD/gAAAf4AAAH+AAAB/gAAAf4A + AAH/AAAB//gAAf/4AAH/+AAB//gAAf/4AAH//AAD/////////////////////ygAAAAYAAAAMAAAAAEA + IAAAAAAAYAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1dXUBhISEAoWFhQOJiYkElJSUBZSU + lAiUlJQIlJSUCJSUlAiUlJQIlJSUCJSUlAiUlJQIlJSUBpCQkASFhYUEhYWFAnt7ewEAAAAAAAAAAAAA + AACkpKQOpKSkUKOjo3KkpKSHpKSklaOjo6WkpKSqpKSkraOjo7ykpKS+pKSkvqSkpL6jo6O+pKSkvqOj + o76kpKS+pKSktKOjo6qkpKSppKSkmKOjo4+kpKR6pKSkXaOjoySjpKMMn6SiQ5+koWKipKN1o6OjhaOj + o5Cjo6Oco6OjnKOjo6Sjo6Oxo6OjsaOjo7Gjo6Oxo6OjsaOjo7Gjo6Oro6OjnaOjo5yjo6OXo6Ojh6Oj + o3ujo6Npo6OjTqOjox0AAAAARrh9UzS7dNMyu3TbM7t02zi6dtw4unbcOLp23Di6dt04unbeOLp23ji6 + dt5BuHrHa7CNK5WgmgWZmZkEmZmZAoqKigKKiooCioqKAQAAAAAAAAAAAAAAAAAAAAAAAAAAKcJ36CnC + d/4pwnf/KcJ3/ynCd/4pwnf/KcJ3/ynCd/4pwnf/KcJ3/ynCd/8pwnf+KcF3oAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJsd89ybHfP4mx3z+Jsd8/ibHfP4mx3z+Jsd8/ibH + fP4mx3z+Jsd8/ibHfP4mx3z+Jsd8rwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAI8yC9yPMgv4jzIL/I8yC/yPMgv4jzIL/I8yC/yPMgv4jzIL/I8yC/yPMgv8jzIL+JsqArwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIc+G9yHPhv4h0Ib/IdCG/yHP + hv4h0Ib/IdCG/yHPhv4h0Ib/IdCG/yHQhv8hz4b+Qbtw4pyCMKOifiyjon4soqJ+LF8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAHtOK9x7Tiv4e04r+HtOK/h7Tiv4e04r+HtOK/h7Tiv4e04r+HtOK/h7T + iv4e04r+Sbpu/qiCMf6ogjH+qIIx/qiCMf6ogzE5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHdaO9x3W + jv4d1o7/HdaO/x3Wjv4d1o7/HdaO/x3Wjv4d1o7/HdaO/x3Wjv8d1o7+Sr5z/66IN/6uiDf/rog3/66I + N/6uiDZZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH9qU7hvYkf4b2JH/G9iR/xvYkf4b2JH/G9iR/xvY + kf4b2JH/G9iR/xvYkf8b2JH+VMB3/7SOPf61jj3/tY49/7SOPf60jTxZAAAAAAAAAAAAAAAAAAAAAAAA + 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 + AAD+AAAA//8AAP//AAA= + + + \ No newline at end of file diff --git a/Themenmanagement/Themenmanagement/Uebersichten/frmThemenübersicht.vb b/Themenmanagement/Themenmanagement/Uebersichten/frmThemenübersicht.vb new file mode 100644 index 0000000..08194bd --- /dev/null +++ b/Themenmanagement/Themenmanagement/Uebersichten/frmThemenübersicht.vb @@ -0,0 +1,292 @@ +Public Class frmThemenübersicht + +#Region "Deklarationen" + Dim Kategorien As New DB.Kategorie + Dim themen As New db.Thema + Dim SpaltenTitel As New Utils.Tabellenspalte + Dim FoundItem As Integer = 0 + Dim KeyValue As Integer = 0 + Dim WithEvents fsuche As frmSuche + Dim WithEvents evh As MyGenericEventHandler = Globals.MyEventHanlder + Dim issuerelevanztkb As New DataTable + Dim issuerelevanztkbveraenderung As New DataTable + Dim Stammdaten As New db.clsStammdaten +#End Region + + + Sub New() + + ' Dieser Aufruf ist für den Designer erforderlich. + InitializeComponent() + + ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. + + End Sub + + Sub New(keyvalue As Integer) + InitializeComponent() + Me.KeyValue = keyvalue + End Sub + + + Private Sub frmThemenübersicht_Load(sender As Object, e As EventArgs) Handles MyBase.Load + Me.Kategorien.Load_Treeview(Me.TreeKategorien) + themen.cpMainConnectionProvider = Globals.conn + If KeyValue <> 0 Then Me.Find_Keyvalue(KeyValue) + Me.issuerelevanztkb = Stammdaten.Get_Stammdaten("IssueRelevanzTKB", "") + Me.issuerelevanztkbveraenderung = Stammdaten.Get_Stammdaten("IssueRelevanzTKBVeraenderung", "") + Me.cbboxRelevanzTKB.DataSource = Me.issuerelevanztkb + Me.cbboxRelevanzTKB.ValueMember = "Keyvalue" + Me.cbboxRelevanzTKB.DisplayMember = "Bezeichnung" + + Me.cbboxissueveraenderung.DataSource = Me.issuerelevanztkbveraenderung + Me.cbboxissueveraenderung.ValueMember = "Keyvalue" + Me.cbboxissueveraenderung.DisplayMember = "Bezeichnung" + End Sub + + Private Sub TreeKategorien_AfterSelect(sender As Object, e As TreeViewEventArgs) Handles TreeKategorien.AfterSelect + Dim dt As New DataTable + dt = Me.Kategorien.Get_Themen(Me.TreeKategorien.SelectedNode.Tag) + For Each dr As DataRow In dt.Rows + If dr.Item("Gueltig_Ab").ToString = "01.01.1900 00:00:00" Then dr.Item("Gueltig_Ab") = System.DBNull.Value + If dr.Item("Gueltig_Bis").ToString = "01.01.1900 00:00:00" Then dr.Item("Gueltig_Bis") = System.DBNull.Value + Next + Me.C1Themen.DataSource = Nothing + Me.C1Themen.FetchRowStyles = True + Me.C1Themen.DataSource = dt + Me.C1Themen.DataMember = dt.TableName + + + SpaltenTitel.Spaltentitel_aktualisieren(Me.C1Themen, "Themenuebersicht", dt) + Try + Refresh_Details() + Catch ex As Exception + + End Try + End Sub + + Private Sub C1Themen_DoubleClick(sender As Object, e As EventArgs) Handles C1Themen.DoubleClick + Try + Dim f As New frmDetail(Me.C1Themen.Columns("themannr").Value) + f.MdiParent = Me.MdiParent + f.Show() + Catch ex As Exception + + End Try + End Sub + + Private Sub C1Themen_FormatText(sender As Object, e As C1.Win.C1TrueDBGrid.FormatTextEventArgs) Handles C1Themen.FormatText + If e.Column.DataType.Name = "DateTime" And e.Value = "01.01.1900 00:00:00" Then e.Value = "" + + End Sub + + Private Sub C1Dokumente_MouseDown(sender As Object, e As MouseEventArgs) Handles C1Themen.MouseDown + Me.C1Themen.Bookmark = Me.C1Themen.RowContaining(e.Y) + refresh_details() + End Sub + + Private Sub ThemaAnzeigenbearbeitenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ThemaAnzeigenbearbeitenToolStripMenuItem.Click + Me.C1Themen_DoubleClick(sender, e) + End Sub + + + Private Sub NeuesThemaEröffnenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles NeuesThemaEröffnenToolStripMenuItem.Click + Dim f As New frmDetail(0) + f.MdiParent = Me.MdiParent + f.Create_New(Me.TreeKategorien.SelectedNode.Tag) + f.Show() + End Sub + + Private Sub TSBtnQuit_Click(sender As Object, e As EventArgs) Handles TSBtnQuit.Click + Me.Close() + End Sub + + Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles tsbtnrefresh.Click + Dim siktn As String + Try + siktn = Me.TreeKategorien.SelectedNode.Tag + Me.Kategorien.Load_Treeview(Me.TreeKategorien) + Me.TreeKategorien.SelectedNode = Me.FindNode(Me.TreeKategorien.Nodes, siktn, siktn) + Catch ex As Exception + + End Try + End Sub + + + + Private Sub Refresh_Details() + Try + Dim te As New db.ThemaEntwicklung + Dim Kommunikation As New db.Kommunikation + + Me.txtTitel.Text = Me.C1Themen.Columns("Titel").Value + Me.txtBeschreibung.Text = Me.C1Themen.Columns("Beschreibung").Value + Try + Me.txtGueltigab.Text = Me.C1Themen.Columns("Gueltig_Ab").Value + Catch + Me.txtGueltigab.Text = "" + End Try + Try + Me.txtGueltigBis.Text = Me.C1Themen.Columns("Gueltig_Bis").Value + Catch + Me.txtGueltigBis.Text = "" + End Try + Me.txterstellt_am.Text = Me.C1Themen.Columns("Erstellt_Am").Value + Me.txtmutiert_am.Text = Me.C1Themen.Columns("mutiert_Am").Value + Me.txtSuchbegriffe.Text = Me.C1Themen.Columns("Suchbegriffe").Value + Me.cbaktiv.Checked = Me.C1Themen.Columns("Aktiv").Value = True + Dim t As New db.Thema + t.cpMainConnectionProvider = Globals.conn + t.Get_Thema(Me.C1Themen.Columns("themanNr").Value) + Me.txtMutierer.Text = t.MutiererText + Me.txtKategorie.Text = Me.C1Themen.Columns("Kategorie").Value + te.Get_Eintraege(Me.TreeEntwicklung, Me.C1Themen.Columns("themanNr").Value) + Kommunikation.Get_Eintraege(Me.TreeKommunikation, Me.C1Themen.Columns("themanNr").Value) + Me.ThemaPerson1.ConnectionString = Globals.sConnectionString + Me.ThemaPerson1.Mitarbeiternr = Globals.clsmitarbeiter.iMitarbeiternr.Value + Me.ThemaPerson1.ThemaNr = Me.C1Themen.Columns("themanNr").Value + Me.txtKategorie.Text = Me.C1Themen.Columns("Kategorie").Value + Me.ThemaPerson1.Show_Toolbar = False + + Try + If t.bIssue.IsNull Then Me.cbissue.Checked = False Else Me.cbissue.Checked = t.bIssue.Value = True + If t.iIssue_Relevant_TKB.IsNull Then Me.cbboxRelevanzTKB.SelectedValue = -1 Else Me.cbboxRelevanzTKB.SelectedValue = t.iIssue_Relevant_TKB.Value + If t.iIssue_Relevant_Veraenderung.IsNull Then Me.cbboxissueveraenderung.SelectedValue = -1 Else Me.cbboxissueveraenderung.SelectedValue = t.iIssue_Relevant_Veraenderung.Value + If t.sIssue_Bemerkung.IsNull Then Me.txtIssueBemerkung.Text = "" Else Me.txtIssueBemerkung.Text = t.sIssue_Bemerkung.Value + Catch ex As Exception + + End Try + + Catch + End Try + End Sub + + + Public Function FindNode(ByVal _nodeCollection As TreeNodeCollection, ByVal SearchVal As Integer, ByVal SearchString As String) As TreeNode + Dim tmpNode As TreeNode + For Each _child As TreeNode In _nodeCollection + If _child.Tag = SearchVal Then + + Return _child + End If + ' If InStr(UCase(_child.Text), UCase(SearchString)) > 0 Then + ' Return _child + ' End If + tmpNode = FindNode(_child.Nodes, SearchVal, SearchString) + If Not tmpNode Is Nothing Then + Return tmpNode + End If + Next + Return Nothing + End Function + + Private Sub TSBtnSuche_Click(sender As Object, e As EventArgs) Handles TSBtnSuche.Click + + Dim dt As New DataTable + dt = themen.Get_Themen + For Each r As DataRow In dt.Rows + If InStr(UCase(r("Suchbegriffe")), UCase(tstxtsuche.Text)) > 0 Or InStr(UCase(r("Titel")), UCase(tstxtsuche.Text)) > 0 Or InStr(UCase(r("Beschreibung")), UCase(tstxtsuche.Text)) > 0 Then + Me.TreeKategorien.SelectedNode = Me.FindNode(Me.TreeKategorien.Nodes, r("kategorienr"), r("Kategorienr")) + Dim dt1 As New DataTable + dt1 = Me.C1Themen.DataSource + Dim i As Integer + For Each r1 As DataRow In dt1.Rows + + If r1("ThemanNr") = r("ThemanNr") Then + Me.C1Themen.Bookmark = i + End If + i = i + 1 + Next + End If + Next + End Sub + + + Private Sub tstxtsuche_KeyDown(sender As Object, e As KeyEventArgs) Handles tstxtsuche.KeyDown + If e.KeyCode = Keys.Enter Then + Me.TSBtnSuche_Click(sender, e) + End If + End Sub + + Private Sub TSBtnFilterAufheben_Click(sender As Object, e As EventArgs) Handles TSBtnFilterAufheben.Click + Me.tstxtsuche.Text = "" + + End Sub + + Private Sub ToolStripButton2_Click(sender As Object, e As EventArgs) Handles ToolStripButton2.Click + Dim dt As New DataTable + + dt = themen.Get_Themen + fsuche = New frmSuche + fsuche.MdiParent = Me.MdiParent + fsuche.SuchData = dt + fsuche.txtSuchbegriff.Text = Me.tstxtsuche.Text + fsuche.Show() + + End Sub + + Private Sub Find_Keyvalue(ByVal Keyvalue As Integer) + + Dim dt As New DataTable + dt = themen.Get_Themen + + For Each r As DataRow In dt.Rows + If r("ThemanNr") = Keyvalue Then + Me.TreeKategorien.SelectedNode = Me.FindNode(Me.TreeKategorien.Nodes, r("kategorienr"), r("Kategorienr")) + Dim dt1 As New DataTable + dt1 = Me.C1Themen.DataSource + Dim i As Integer + For Each r1 As DataRow In dt1.Rows + + If r1("ThemanNr") = r("ThemanNr") Then + Me.C1Themen.Bookmark = i + End If + i = i + 1 + Next + End If + Next + End Sub + + Private Sub fsuche_Treffer_Anzeigen(keyvalues As Integer) Handles fsuche.Treffer_Anzeigen + Try + Dim f As New frmDetail(keyvalues) + f.MdiParent = Me.MdiParent + f.Show() + Catch ex As Exception + + End Try + End Sub + + Private Sub fsuche_Treffer_DoubleClicked(keyvalue As Integer) Handles fsuche.Treffer_DoubleClicked + Find_Keyvalue(keyvalue) + End Sub + + + Private Sub tstxtsuche_Click(sender As Object, e As EventArgs) Handles tstxtsuche.Click + + End Sub + + Private Sub TSBtnNew_Click(sender As Object, e As EventArgs) Handles TSBtnNew.Click + Me.NeuesThemaEröffnenToolStripMenuItem_Click(sender, e) + End Sub + + + Private Sub evh_Thema_Closed1() Handles evh.Thema_Closed + Dim siktn As String + Try + siktn = Me.TreeKategorien.SelectedNode.Tag + Me.Kategorien.Load_Treeview(Me.TreeKategorien) + Me.TreeKategorien.SelectedNode = Me.FindNode(Me.TreeKategorien.Nodes, siktn, siktn) + Catch ex As Exception + + End Try + End Sub + + Private Sub ApplikationSucheToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ApplikationSucheToolStripMenuItem.Click + + End Sub + + Private Sub NeuesThemaEröffnenToolStripMenuItem1_Click(sender As Object, e As EventArgs) Handles NeuesThemaEröffnenToolStripMenuItem1.Click + Me.NeuesThemaEröffnenToolStripMenuItem_Click(sender, e) + End Sub +End Class \ No newline at end of file diff --git a/Themenmanagement/Themenmanagement/_Klassen/Kommunikation.vb b/Themenmanagement/Themenmanagement/_Klassen/Kommunikation.vb new file mode 100644 index 0000000..31a7770 --- /dev/null +++ b/Themenmanagement/Themenmanagement/_Klassen/Kommunikation.vb @@ -0,0 +1,375 @@ +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient +Imports System.IO + + +Namespace DB + + Public Class Kommunikation + Inherits DB.clsKommunikation + + + Public daten As New DataTable + Public Neuer_Datensatz As Boolean = False + + Dim mMutierer As String + Property MutiererText() As String + Get + Return mMutierer + End Get + Set(ByVal value As String) + mMutierer = value + End Set + End Property + + Sub New() + + End Sub + + Public Overloads Sub dispose() + MyBase.Dispose() + Try + Catch + End Try + End Sub + + ''' + ''' Mutierer auslesen + ''' + ''' + ''' + Public Function Get_Mutierer(ByVal nr As Integer) As String + Dim ma As New DB.clsMitarbeiter + Dim dt As New DataTable + Dim Retvalue As String + ma.cpMainConnectionProvider = Globals.conn + ma.iMitarbeiternr = New SqlInt32(CType(nr, Int32)) + dt = ma.SelectOne() + If dt.Rows.Count = 0 Then + Retvalue = ("{" + nr.ToString + "}") + Else + Retvalue = ma.sName.ToString + " " + ma.sVorname.ToString + ", " + ma.sTgnummer.ToString + End If + ma.Dispose() + dt.Dispose() + Return Retvalue + End Function + + + Public Function Get_Kommunikation(ByVal Nr As Integer) + Me.cpMainConnectionProvider = Globals.conn + Me.iKommunikationNr = New SqlInt32(CType(Nr, Int32)) + Globals.conn.OpenConnection() + Me.daten = Me.SelectOne() + Globals.conn.CloseConnection(True) + Try + Catch ex As Exception + End Try + Me.MutiererText = Get_Mutierer(Me.iMutierer.Value) + End Function + + Public Function Save_Data() As Integer + Me.cpMainConnectionProvider = Globals.conn + Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) + Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) + Globals.conn.OpenConnection() + Me.Update() + Globals.conn.CloseConnection(True) + Me.Neuer_Datensatz = False + End Function + + Public Function Create_Copy(Optional ByVal Basenr As Integer = 0) As Integer + If Basenr <> 0 Then + Get_Kommunikation(Basenr) + End If + Dim db As New DB.clsMyKey_Tabelle + db.cpMainConnectionProvider = Globals.conn + Dim newkey = db.get_dbkey("Kommunikation") + db.Dispose() + + Me.cpMainConnectionProvider = Globals.conn + Me.iKommunikationNr = New SqlInt32(CType(newkey, Int32)) + Me.daErstellt_am = New SqlDateTime(CType(Now, DateTime)) + Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) + Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) + Globals.conn.OpenConnection() + Me.Insert() + Globals.conn.CloseConnection(True) + Me.Neuer_Datensatz = True + Return newkey + End Function + + ''' + ''' Löschen eines Datensatzes erstellen. + ''' + ''' Ursprungs-Person: Ist dieser Wert nicht 0, werden die Daten mit BaseNr zuerst gelesen + ''' + ''' + Public Function Delete_Kommunikation(Optional ByVal Basenr As Integer = 0) As Integer + If Basenr <> 0 Then + Get_Kommunikation(Basenr) + End If + Me.cpMainConnectionProvider = Globals.conn + Me.bAktiv = New SqlBoolean(CType(False, Boolean)) + Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) + Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) + Globals.conn.OpenConnection() + Me.Update() + Globals.conn.CloseConnection(True) + Me.Neuer_Datensatz = False + End Function + + Public Overloads Function Delete(Optional ByVal Basenr As Integer = 0) As Integer + If Basenr <> 0 Then + Get_Kommunikation(Basenr) + End If + Me.cpMainConnectionProvider = Globals.conn + Globals.conn.OpenConnection() + MyBase.Delete() + Globals.conn.CloseConnection(True) + Me.Neuer_Datensatz = False + End Function + + ''' + ''' Neue Person einfügen + ''' + ''' + ''' + Public Function Add_New(ByVal themanr As Integer, ByVal Bezeichnung As String) As Integer + Dim db As New DB.clsMyKey_Tabelle + db.cpMainConnectionProvider = Globals.conn + Dim newkey = db.get_dbkey("Kommunikation") + db.Dispose() + Me.iKommunikationNr = New SqlInt32(CType(newkey, Int32)) + Me.iThemaNr = New SqlInt32(CType(themanr, Int32)) + Me.sBezeichnung = New SqlString(CType(Bezeichnung, String)) + Me.bAktiv = New SqlBoolean(CType(True, Boolean)) + Me.daErstellt_am = New SqlDateTime(CType(Now, DateTime)) + Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) + Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) + Me.cpMainConnectionProvider = Globals.conn + Globals.conn.OpenConnection() + Me.Insert() + Globals.conn.CloseConnection(True) + Me.Neuer_Datensatz = True + Return newkey + End Function + + Public Function Get_Eintraege(ByRef Tree As TreeView, ByVal themanr As Integer) + Dim Eintragsdaten As New DataTable + Dim connection As New SqlConnection() + Dim da As New SqlDataAdapter("", connection) + Eintragsdaten.Rows.Clear() + Dim sqlcmd As New SqlCommand + sqlcmd.CommandText = "sp_get_Kommunikationseintraege" + sqlcmd.Parameters.Add("@themanr", SqlDbType.Int, 4) + sqlcmd.Parameters(0).Value = themanr + sqlcmd.CommandType = CommandType.StoredProcedure + sqlcmd.Connection = connection + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.SelectCommand = sqlcmd + da.Fill(Eintragsdaten) + Catch ex As Exception + Finally + connection.Close() + da.Dispose() + sqlcmd.Dispose() + End Try + Dim tn As TreeNode + Tree.Nodes.Clear() + Dim tnr As Integer = -1 + Dim d As DateTime + For Each rec As DataRow In Eintragsdaten.Rows + tn = New TreeNode + tn.Text = rec.Item("Bezeichnung") + tn.Tag = rec.Item("Kommunikationnr") + tn.SelectedImageIndex = 1 + tn.StateImageIndex = 1 + Tree.Nodes.Add(tn) + Next + End Function + + Public Function Get_Auspraegungen(ByVal Kommunikationnr As Integer) As DataTable + Dim Eintragsdaten As New DataTable + Dim connection As New SqlConnection() + Dim da As New SqlDataAdapter("", connection) + Eintragsdaten.Rows.Clear() + Dim sqlcmd As New SqlCommand + sqlcmd.CommandText = "sp_get_Kommunikationauspraegung" + sqlcmd.Parameters.Add("@Kommunikationnr", SqlDbType.Int, 4) + sqlcmd.Parameters(0).Value = Kommunikationnr + sqlcmd.CommandType = CommandType.StoredProcedure + sqlcmd.Connection = connection + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.SelectCommand = sqlcmd + da.Fill(Eintragsdaten) + Catch ex As Exception + Finally + connection.Close() + da.Dispose() + sqlcmd.Dispose() + End Try + Return Eintragsdaten + End Function + + End Class + + Public Class Auspraegung + Inherits clsKommunkationAuspraegung + Public daten As New DataTable + Public Neuer_Datensatz As Boolean = False + + Dim mMutierer As String + Property MutiererText() As String + Get + Return mMutierer + End Get + Set(ByVal value As String) + mMutierer = value + End Set + End Property + + Sub New() + + End Sub + + Public Overloads Sub dispose() + MyBase.Dispose() + Try + Catch + End Try + End Sub + + ''' + ''' Mutierer auslesen + ''' + ''' + ''' + Public Function Get_Mutierer(ByVal nr As Integer) As String + Dim ma As New DB.clsMitarbeiter + Dim dt As New DataTable + Dim Retvalue As String + ma.cpMainConnectionProvider = Globals.conn + ma.iMitarbeiternr = New SqlInt32(CType(nr, Int32)) + dt = ma.SelectOne() + If dt.Rows.Count = 0 Then + Retvalue = ("{" + nr.ToString + "}") + Else + Retvalue = ma.sName.ToString + " " + ma.sVorname.ToString + ", " + ma.sTgnummer.ToString + End If + ma.Dispose() + dt.Dispose() + Return Retvalue + End Function + + + Public Function Get_Kommunikationauspraegung(ByVal Nr As Integer) + Me.cpMainConnectionProvider = Globals.conn + Me.iKommunikationNr = New SqlInt32(CType(Nr, Int32)) + Globals.conn.OpenConnection() + Me.daten = Me.SelectOne() + Globals.conn.CloseConnection(True) + Try + Catch ex As Exception + End Try + Me.MutiererText = Get_Mutierer(Me.iMutierer.Value) + End Function + + Public Function Save_Data() As Integer + Me.cpMainConnectionProvider = Globals.conn + Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) + Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) + Globals.conn.OpenConnection() + Me.Update() + Globals.conn.CloseConnection(True) + Me.Neuer_Datensatz = False + End Function + + Public Function Create_Copy(Optional ByVal Basenr As Integer = 0) As Integer + If Basenr <> 0 Then + Get_Kommunikationauspraegung(Basenr) + End If + Dim db As New DB.clsMyKey_Tabelle + db.cpMainConnectionProvider = Globals.conn + Dim newkey = db.get_dbkey("Kommunikationauspraegung") + db.Dispose() + + Me.cpMainConnectionProvider = Globals.conn + Me.iKommunikationNr = New SqlInt32(CType(newkey, Int32)) + Me.daErstellt_am = New SqlDateTime(CType(Now, DateTime)) + Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) + Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) + Globals.conn.OpenConnection() + Me.Insert() + Globals.conn.CloseConnection(True) + Me.Neuer_Datensatz = True + Return newkey + End Function + + ''' + ''' Löschen eines Datensatzes erstellen. + ''' + ''' Ursprungs-Person: Ist dieser Wert nicht 0, werden die Daten mit BaseNr zuerst gelesen + ''' + ''' + Public Function Delete_themaEntwicklung(Optional ByVal Basenr As Integer = 0) As Integer + If Basenr <> 0 Then + Get_Kommunikationauspraegung(Basenr) + End If + Me.cpMainConnectionProvider = Globals.conn + Me.bAktiv = New SqlBoolean(CType(False, Boolean)) + Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) + Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) + Globals.conn.OpenConnection() + Me.Update() + Globals.conn.CloseConnection(True) + Me.Neuer_Datensatz = False + End Function + + Public Overloads Function Delete(Optional ByVal Basenr As Integer = 0) As Integer + If Basenr <> 0 Then + Get_Kommunikationauspraegung(Basenr) + End If + Me.cpMainConnectionProvider = Globals.conn + Globals.conn.OpenConnection() + MyBase.Delete() + Globals.conn.CloseConnection(True) + Me.Neuer_Datensatz = False + End Function + + ''' + ''' Neue Person einfügen + ''' + ''' + ''' + Public Function Add_New(ByVal kommunikationnr As Integer, ByVal Bezeichnung As String) As Integer + Dim db As New db.clsMyKey_Tabelle + db.cpMainConnectionProvider = Globals.conn + Dim newkey = db.get_dbkey("Kommunikationauspraegung") + db.Dispose() + Me.iKommunikationAuspraegungNr = New SqlInt32(CType(newkey, Int32)) + Me.iKommunikationNr = New SqlInt32(CType(kommunikationnr, Int32)) + Me.sBeschreibung = New SqlString(CType("", String)) + Me.sBezeichnung = New SqlString(CType(Bezeichnung, String)) + Me.bAktiv = New SqlBoolean(CType(True, Boolean)) + Me.daErstellt_am = New SqlDateTime(CType(Now, DateTime)) + Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) + Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) + Me.cpMainConnectionProvider = Globals.conn + Globals.conn.OpenConnection() + Me.Insert() + Globals.conn.CloseConnection(True) + Me.Neuer_Datensatz = True + Return newkey + End Function + + End Class + +End Namespace + diff --git a/Themenmanagement/Themenmanagement/_Klassen/ThemaEntwicklung.vb b/Themenmanagement/Themenmanagement/_Klassen/ThemaEntwicklung.vb new file mode 100644 index 0000000..8215d15 --- /dev/null +++ b/Themenmanagement/Themenmanagement/_Klassen/ThemaEntwicklung.vb @@ -0,0 +1,339 @@ +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient +Imports System.IO + + +Namespace DB + + Public Class ThemaEntwicklung + Inherits DB.clsThemaEntwicklung + + Public daten As New DataTable + Public Neuer_Datensatz As Boolean = False + + Dim mMutierer As String + Property MutiererText() As String + Get + Return mMutierer + End Get + Set(ByVal value As String) + mMutierer = value + End Set + End Property + + Sub New() + + End Sub + + Public Overloads Sub dispose() + MyBase.Dispose() + Try + Catch + End Try + End Sub + + ''' + ''' Mutierer auslesen + ''' + ''' + ''' + Public Function Get_Mutierer(ByVal nr As Integer) As String + Dim ma As New DB.clsMitarbeiter + Dim dt As New DataTable + Dim Retvalue As String + ma.cpMainConnectionProvider = Globals.conn + ma.iMitarbeiternr = New SqlInt32(CType(nr, Int32)) + dt = ma.SelectOne() + If dt.Rows.Count = 0 Then + Retvalue = ("{" + nr.ToString + "}") + Else + Retvalue = ma.sName.ToString + " " + ma.sVorname.ToString + ", " + ma.sTgnummer.ToString + End If + ma.Dispose() + dt.Dispose() + Return Retvalue + End Function + + + Public Function Get_ThemaEntwicklung(ByVal Nr As Integer) + Me.cpMainConnectionProvider = Globals.conn + Me.iThemaEntwicklungNr = New SqlInt32(CType(Nr, Int32)) + Globals.conn.OpenConnection() + Me.daten = Me.SelectOne() + Globals.conn.CloseConnection(True) + Try + Catch ex As Exception + End Try + Me.MutiererText = Get_Mutierer(Me.iMutierer.Value) + End Function + + Public Function Save_Data() As Integer + Me.cpMainConnectionProvider = Globals.conn + Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) + Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) + Globals.conn.OpenConnection() + Me.Update() + Globals.conn.CloseConnection(True) + Me.Neuer_Datensatz = False + End Function + + Public Function Create_Copy(Optional ByVal Basenr As Integer = 0) As Integer + If Basenr <> 0 Then + Get_ThemaEntwicklung(Basenr) + End If + Dim db As New DB.clsMyKey_Tabelle + db.cpMainConnectionProvider = Globals.conn + Dim newkey = db.get_dbkey("Thema") + db.Dispose() + + Me.cpMainConnectionProvider = Globals.conn + Me.iThemaEntwicklungNr = New SqlInt32(CType(newkey, Int32)) + Me.daErstellt_am = New SqlDateTime(CType(Now, DateTime)) + Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) + Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) + Globals.conn.OpenConnection() + Me.Insert() + Globals.conn.CloseConnection(True) + Me.Neuer_Datensatz = True + Return newkey + End Function + + ''' + ''' Löschen eines Datensatzes erstellen. + ''' + ''' Ursprungs-Person: Ist dieser Wert nicht 0, werden die Daten mit BaseNr zuerst gelesen + ''' + ''' + Public Function Delete_themaEntwicklung(Optional ByVal Basenr As Integer = 0) As Integer + If Basenr <> 0 Then + Get_ThemaEntwicklung(Basenr) + End If + Me.cpMainConnectionProvider = Globals.conn + Me.bAktiv = New SqlBoolean(CType(False, Boolean)) + Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) + Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) + Globals.conn.OpenConnection() + Me.Update() + Globals.conn.CloseConnection(True) + Me.Neuer_Datensatz = False + End Function + + Public Overloads Function Delete(Optional ByVal Basenr As Integer = 0) As Integer + If Basenr <> 0 Then + Get_ThemaEntwicklung(Basenr) + End If + Me.cpMainConnectionProvider = Globals.conn + Globals.conn.OpenConnection() + MyBase.Delete() + Globals.conn.CloseConnection(True) + Me.Neuer_Datensatz = False + End Function + + ''' + ''' Neue Person einfügen + ''' + ''' + ''' + Public Function Add_New(ByVal themenr As Integer, ByVal Bezeichnung As String) As Integer + Dim db As New DB.clsMyKey_Tabelle + db.cpMainConnectionProvider = Globals.conn + Dim newkey = db.get_dbkey("ThemaEntwicklung") + db.Dispose() + Me.iThemaEntwicklungNr = New SqlInt32(CType(newkey, Int32)) + Me.iThemaNr = New SqlInt32(CType(themenr, Int32)) + Me.sBezeichnung = New SqlString(CType(Bezeichnung, String)) + Me.bAktiv = New SqlBoolean(CType(True, Boolean)) + Me.daErstellt_am = New SqlDateTime(CType(Now, DateTime)) + Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) + Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) + Me.cpMainConnectionProvider = Globals.conn + Globals.conn.OpenConnection() + Me.Insert() + Globals.conn.CloseConnection(True) + Me.Neuer_Datensatz = True + Return newkey + End Function + + Public Function Get_Eintraege(ByVal themenr As Integer, Optional Orderby As Integer = 1) As DataTable + Dim Eintragsdaten As New DataTable + Dim connection As New SqlConnection() + Dim da As New SqlDataAdapter("", connection) + Eintragsdaten.Rows.Clear() + Dim sqlcmd As New SqlCommand + sqlcmd.CommandText = "sp_get_entwicklungseintraege" + sqlcmd.Parameters.Add("@themanr", SqlDbType.Int, 4) + sqlcmd.Parameters.Add("@Order", SqlDbType.Int, 4) + sqlcmd.Parameters(0).Value = themenr + sqlcmd.Parameters(1).Value = Orderby + sqlcmd.CommandType = CommandType.StoredProcedure + sqlcmd.Connection = connection + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.SelectCommand = sqlcmd + da.Fill(Eintragsdaten) + Return Eintragsdaten + Catch ex As Exception + Finally + connection.Close() + da.Dispose() + sqlcmd.Dispose() + End Try + End Function + + Public Function Get_Eintraege(ByRef Tree As TreeView, ByVal themenr As Integer) + Dim Eintragsdaten As New DataTable + Dim connection As New SqlConnection() + Dim da As New SqlDataAdapter("", connection) + Eintragsdaten.Rows.Clear() + Dim sqlcmd As New SqlCommand + sqlcmd.CommandText = "sp_get_entwicklungseintraege" + sqlcmd.Parameters.Add("@themanr", SqlDbType.Int, 4) + sqlcmd.Parameters(0).Value = themenr + sqlcmd.CommandType = CommandType.StoredProcedure + sqlcmd.Connection = connection + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.SelectCommand = sqlcmd + da.Fill(Eintragsdaten) + Catch ex As Exception + Finally + connection.Close() + da.Dispose() + sqlcmd.Dispose() + End Try + Dim tn As TreeNode + Tree.Nodes.Clear() + Dim tnr As Integer = -1 + Dim d As DateTime + For Each rec As DataRow In Eintragsdaten.Rows + If tnr <> rec.Item("ThemaEntwicklungnr") Then + tn = New TreeNode + tn.Tag = rec.Item("ThemaEntwicklungnr") + tn.SelectedImageIndex = 0 + tn.StateImageIndex = 0 + + d = rec.Item("mutiert_am") + tn.Text = rec.Item("Bezeichnung") + "/" + d.ToShortDateString + "/" + rec.Item("mutierer") + Tree.Nodes.Add(tn) + tnr = rec.Item("ThemaEntwicklungnr") + Else + Dim tn1 As New TreeNode + tn1.Tag = rec.Item("ThemaEntwicklungnr") + tn1.Text = rec.Item("mutiert_am") + " - " + rec.Item("Mutierer") + tn1.SelectedImageIndex = -1 + tn1.StateImageIndex = -1 + tn.Nodes.Add(tn1) + End If + Next + + End Function + + Public Function Get_Dokument(ByVal Filename As String) + + Dim connection As New SqlConnection() + Dim da As New SqlDataAdapter("Select * From ThemaEntwicklung where ThemaEntwicklungnr=" + Me.iThemaEntwicklungNr.Value.ToString, connection) + Dim CB As SqlCommandBuilder = New SqlCommandBuilder(da) + Dim ds As New DataSet() + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.Fill(ds, "Dokument") + Dim myRow As DataRow + myRow = ds.Tables(0).Rows(0) + Dim MyData() As Byte + MyData = myRow.Item(3) + + Dim K As Long + K = UBound(MyData) + Dim fs As New FileStream(Filename, FileMode.OpenOrCreate, FileAccess.Write) + fs.Write(MyData, 0, K) + fs.Close() + fs = Nothing + Catch ex As Exception + 'MsgBox(ex.Message, MsgBoxStyle.Critical) + Return "" + Finally + connection.Close() + connection = Nothing + End Try + CB = Nothing + ds = Nothing + da = Nothing + Return Filename + End Function + + Public Function Save_Dokument(ByVal Filename As String) + Dim Connection As New SqlConnection() + Dim DA As New SqlDataAdapter("select * from ThemaEntwicklung where ThemaEntwicklungnr=" + Me.iThemaEntwicklungNr.Value.ToString, Connection) + Dim cb As SqlCommandBuilder = New SqlCommandBuilder(DA) + Dim ds As New DataSet() + Dim fs As New FileStream(Filename, FileMode.OpenOrCreate, FileAccess.Read) + Dim mydata(fs.Length) As Byte + fs.Read(mydata, 0, fs.Length) + fs.Close() + Try + Connection.ConnectionString = Globals.sConnectionString + Connection.Open() + DA.Fill(ds, "Dokument") + Dim myRow As DataRow + If ds.Tables(0).Rows.Count = 0 Then + Return False + Else + myRow = ds.Tables(0).Rows(0) + myRow.Item(3) = mydata + myRow.Item("mutierer") = Globals.clsmitarbeiter.iMitarbeiternr.Value + DA.Update(ds, "Dokument") + End If + Catch ex As Exception + FileOpen(1, Filename, OpenMode.Output) + FileClose(1) + Return False + End Try + fs = Nothing + cb = Nothing + ds = Nothing + DA = Nothing + Connection.Close() + Connection = Nothing + Return True + End Function + + Public Function Save_freitext(ByVal themaentwicklungnr As Integer, text As String, ByVal TYPE As Integer, ByVal themanr As Integer) + Dim Eintragsdaten As New DataTable + If text.Length > 4096 Then text = text.Substring(0, 4095) + Dim connection As New SqlConnection() + Eintragsdaten.Rows.Clear() + Dim sqlcmd As New SqlCommand + sqlcmd.CommandText = "sp_update_freitext" + sqlcmd.Parameters.Add("@Keyvalue", SqlDbType.Int, 4) + sqlcmd.Parameters(0).Value = themaentwicklungnr + sqlcmd.Parameters.Add("@text", SqlDbType.VarChar, 4096) + sqlcmd.Parameters(1).Value = text + sqlcmd.Parameters.Add("@TYPE", SqlDbType.Int, 4) + sqlcmd.Parameters(2).Value = TYPE + + sqlcmd.Parameters.Add("@Themanr", SqlDbType.Int, 4) + sqlcmd.Parameters(3).Value = Me.iThemaNr.Value + + + sqlcmd.CommandType = CommandType.StoredProcedure + sqlcmd.Connection = connection + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + sqlcmd.ExecuteNonQuery() + Catch ex As Exception + MsgBox(ex.Message) + Finally + connection.Close() + sqlcmd.Dispose() + End Try + End Function + + End Class + +End Namespace diff --git a/Themenmanagement/Themenmanagement/_Klassen/clsKB.vb b/Themenmanagement/Themenmanagement/_Klassen/clsKB.vb new file mode 100644 index 0000000..69b589b --- /dev/null +++ b/Themenmanagement/Themenmanagement/_Klassen/clsKB.vb @@ -0,0 +1,469 @@ +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Public Class clsKB + Inherits DB.clsKB_Artikel + + Public absender As New DataTable + Public Themengruppe As New DataTable + Public Anspruchsgruppe As New DataTable + Public ROlle As New DataTable + + Public Absender_Artikel As DataTable + Public Anspuchgruppe_Artikel As DataTable + Public Themengruppe_Artikel As DataTable + Public Parameter As DataTable + + Dim stammdaten As New DB.clsStammdaten + + + +#Region "Deklarationen" + Public daten As New DataTable + Public Neuer_Datensatz As Boolean = False + + Dim mMutierer As String + Property MutiererText() As String + Get + Return mMutierer + End Get + Set(ByVal value As String) + mMutierer = value + End Set + End Property +#End Region + + + + Sub New() + + End Sub + + Public Overloads Sub dispose() + MyBase.Dispose() + Try + Catch + End Try + End Sub + + ''' + ''' Mutierer auslesen + ''' + ''' + ''' + Public Function Get_Mutierer(ByVal nr As Integer) As String + Dim ma As New db.clsMitarbeiter + Dim dt As New DataTable + Dim Retvalue As String + ma.cpMainConnectionProvider = Globals.conn + ma.iMitarbeiternr = New SqlInt32(CType(nr, Int32)) + dt = ma.SelectOne() + If dt.Rows.Count = 0 Then + Retvalue = ("{" + nr.ToString + "}") + Else + Retvalue = ma.sName.ToString + " " + ma.sVorname.ToString + ", " + ma.sTgnummer.ToString + End If + ma.Dispose() + dt.Dispose() + Return Retvalue + End Function + + + Public Function Get_Artikel(ByVal Nr As Integer) + Me.cpMainConnectionProvider = Globals.conn + Me.iArtikelnr = New SqlInt32(CType(Nr, Int32)) + Globals.conn.OpenConnection() + Me.daten = Me.SelectOne() + Globals.conn.CloseConnection(True) + Try + Catch ex As Exception + End Try + Me.MutiererText = Get_Mutierer(Me.iMutierer.Value) + End Function + + Public Function Save_Data() As Integer + Me.cpMainConnectionProvider = Globals.conn + Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) + Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) + Globals.conn.OpenConnection() + Me.Update() + Globals.conn.CloseConnection(True) + Me.Neuer_Datensatz = False + End Function + + Public Function Create_Copy(Optional ByVal Basenr As Integer = 0) As Integer + If Basenr <> 0 Then + Get_Artikel(Basenr) + End If + Dim db As New db.clsMyKey_Tabelle + db.cpMainConnectionProvider = Globals.conn + Dim newkey = db.get_dbkey("KB_Artikel") + db.Dispose() + + Me.cpMainConnectionProvider = Globals.conn + Me.iArtikelnr = New SqlInt32(CType(newkey, Int32)) + Me.daErstellt_am = New SqlDateTime(CType(Now, DateTime)) + Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) + Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) + Globals.conn.OpenConnection() + Me.Insert() + Globals.conn.CloseConnection(True) + Me.Neuer_Datensatz = True + Return newkey + End Function + + ''' + ''' Löschen eines Datensatzes erstellen. + ''' + ''' Ursprungs-Person: Ist dieser Wert nicht 0, werden die Daten mit BaseNr zuerst gelesen + ''' + ''' + Public Function Delete_Thema(Optional ByVal Basenr As Integer = 0) As Integer + If Basenr <> 0 Then + Get_Artikel(Basenr) + End If + Me.cpMainConnectionProvider = Globals.conn + Me.bAktiv = New SqlBoolean(CType(False, Boolean)) + Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) + Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) + Globals.conn.OpenConnection() + Me.Update() + Globals.conn.CloseConnection(True) + Me.Neuer_Datensatz = False + End Function + + Public Overloads Function Delete(Optional ByVal Basenr As Integer = 0) As Integer + If Basenr <> 0 Then + Get_Artikel(Basenr) + End If + Me.cpMainConnectionProvider = Globals.conn + Globals.conn.OpenConnection() + MyBase.Delete() + Globals.conn.CloseConnection(True) + Me.Neuer_Datensatz = False + End Function + + ''' + ''' Neue Person einfügen + ''' + ''' + ''' + Public Function Add_New() As Integer + Dim db As New DB.clsMyKey_Tabelle + db.cpMainConnectionProvider = Globals.conn + Dim newkey = db.get_dbkey("KB_Artikel") + db.Dispose() + Me.iArtikelnr = New SqlInt32(CType(newkey, Int32)) + Me.sSuchbegriffe = New SqlString(CType("", String)) + Me.sBezeichnung = New SqlString(CType("*** Neuer Artikel ***", String)) + Me.sArtikel = New SqlString(CType("", String)) + Me.sBeschreibung = New SqlString(CType("", String)) + Me.daGueltig_ab = New SqlDateTime(CType(SqlDateTime.Null, DateTime)) + Me.daGueltig_bis = New SqlDateTime(CType(SqlDateTime.Null, DateTime)) + Me.bAktiv = New SqlBoolean(CType(True, Boolean)) + Me.daErstellt_am = New SqlDateTime(CType(Now, DateTime)) + Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) + Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) + Me.bAktiv_Reaktiv = New SqlBoolean(CType(True, Boolean)) + Me.cpMainConnectionProvider = Globals.conn + + Globals.conn.OpenConnection() + Me.Insert() + Globals.conn.CloseConnection(True) + Me.Neuer_Datensatz = True + Return newkey + End Function + + Public Function Get_Stammdaten() + absender = stammdaten.Get_Stammdaten("KB_Absender", "Beschreibung") + Anspruchsgruppe = stammdaten.Get_Stammdaten("KB_Anspruchsgruppe", "Beschreibung") + Themengruppe = stammdaten.Get_Stammdaten("KB_Themengruppe", "Beschreibung") + Parameter = stammdaten.Get_Stammdaten("KB_Parameter", "Bezeichnung") + ROlle = stammdaten.Get_Stammdaten("Rolle", "Bezeichnung") + End Function + + Public Function Get_Parameter(ByVal Paramnr As Integer) As String + For Each r As DataRow In Parameter.Rows + If r("KBParameternr") = Paramnr Then Return r("Beschreibung") + Next + End Function + Public Function Get_Beziehungen(ByVal artikelnr As Integer) + Get_Beziehungen(1, artikelnr) + Get_Beziehungen(2, artikelnr) + Get_Beziehungen(3, artikelnr) + End Function + + + Private Function Get_Beziehungen(ByVal typ As Integer, Artikelnr As Integer) As DataTable + Dim selectcommand As New SqlCommand + Dim connection As New SqlConnection() + Dim da As New SqlDataAdapter("", connection) + Dim ds As New DataSet + selectcommand.CommandText = "sp_get_kb_artikel_beziehungen" + selectcommand.CommandType = CommandType.StoredProcedure + selectcommand.Parameters.Add("@Artikelnr", SqlDbType.Int, 4) + selectcommand.Parameters.Add("@Typ", SqlDbType.Int, 4) + selectcommand.Parameters(0).Value = Artikelnr + selectcommand.Parameters(1).Value = typ + selectcommand.Connection = connection + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.SelectCommand = selectcommand + da.Fill(ds, "Data") + If typ = 1 Then Absender_Artikel = ds.Tables(0).Copy + If typ = 2 Then Anspuchgruppe_Artikel = ds.Tables(0).Copy + If typ = 3 Then Themengruppe_Artikel = ds.Tables(0).Copy + Catch ex As Exception + MsgBox(ex.Message) + Finally + connection.Close() + da.Dispose() + selectcommand.Dispose() + End Try + End Function + Public Function Insert_userlog(ByVal username As String, ByVal action As String, ByVal details As String) + Dim selectcommand As New SqlCommand + Dim connection As New SqlConnection() + Dim da As New SqlDataAdapter("", connection) + + selectcommand.CommandText = "dbo.sp_insert_userlog" + selectcommand.Parameters.Add("@username", SqlDbType.VarChar, 255) + selectcommand.Parameters.Add("@action", SqlDbType.VarChar, 255) + selectcommand.Parameters.Add("@details", SqlDbType.VarChar, 1024) + selectcommand.Parameters(0).Value = username + selectcommand.Parameters(1).Value = action + selectcommand.Parameters(2).Value = details + selectcommand.CommandType = CommandType.StoredProcedure + selectcommand.Connection = connection + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + selectcommand.ExecuteNonQuery() + Catch ex As Exception + MsgBox(ex.Message) + Finally + connection.Close() + da.Dispose() + selectcommand.Dispose() + End Try + + End Function + + Public Function Update_Beziehungen(ByVal Artikelnr As Integer, ByVal beziehungnr As Integer, ByVal aktiv As Integer, ByVal mutierer As Integer, ByVal typ As Integer) + Dim selectcommand As New SqlCommand + Dim connection As New SqlConnection() + Dim da As New SqlDataAdapter("", connection) + + selectcommand.CommandText = "dbo.sp_update_kb_beziehung" + selectcommand.Parameters.Add("@Artikelnr", SqlDbType.Int, 4) + selectcommand.Parameters.Add("@Beziehungnr", SqlDbType.Int, 4) + selectcommand.Parameters.Add("@aktiv", SqlDbType.Int, 4) + selectcommand.Parameters.Add("@mutierer ", SqlDbType.Int, 4) + selectcommand.Parameters.Add("@typ ", SqlDbType.Int, 4) + selectcommand.Parameters(0).Value = Artikelnr + selectcommand.Parameters(1).Value = beziehungnr + selectcommand.Parameters(2).Value = aktiv + selectcommand.Parameters(3).Value = mutierer + selectcommand.Parameters(4).Value = typ + selectcommand.CommandType = CommandType.StoredProcedure + selectcommand.Connection = connection + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + selectcommand.ExecuteNonQuery() + Catch ex As Exception + MsgBox(ex.Message) + Finally + connection.Close() + da.Dispose() + selectcommand.Dispose() + End Try + + End Function + + Function Get_Rollenparameter(ByVal Rollenr As Integer, ByRef ColAbsender As Collection, ByRef ColAnspruchsgrupe As Collection, ByRef ColThemengruppe As Collection) + Try + ColAbsender.Clear() + ColAnspruchsgrupe.Clear() + ColThemengruppe.Clear() + Dim Splitter() As String + Dim splitter1() As String + + Dim s As String + s = "R:" + Trim(Rollenr.ToString) + For Each r As DataRow In Parameter.Rows + If Len(r("Beschreibung")) > Len(s) Then + If r("Beschreibung").ToString.Substring(0, Len(s)) = s Then + + Splitter = Split(r("Beschreibung"), "@") + Exit For + + End If + End If + Next + + + For i = 0 To Splitter.Length - 1 + splitter1 = Split(Splitter(i), ";", 1) + Select Case Splitter(i).Substring(0, 1) + Case "A" + Try + s = Splitter(i) + s = Right(s, Len(s) - 2) + Dim splitter2() As String + splitter2 = Split(s, ";") + For i1 As Integer = 0 To splitter2.Length - 1 + ColAbsender.Add(splitter2(i1)) + Next + Catch + End Try + + Case "B" + Try + s = Splitter(i) + s = Right(s, Len(s) - 2) + Dim splitter2() As String + splitter2 = Split(s, ";") + For i1 As Integer = 0 To splitter2.Length - 1 + ColAnspruchsgrupe.Add(splitter2(i1)) + Next + Catch + End Try + Case "C" + Try + s = Splitter(i) + s = Right(s, Len(s) - 2) + Dim splitter2() As String + splitter2 = Split(s, ";") + For i1 As Integer = 0 To splitter2.Length - 1 + ColThemengruppe.Add(splitter2(i1)) + Next + Catch + End Try + + End Select + Next + Catch + End Try + End Function + + Public Function Check_Rollenparameter(ByVal Rollenr As Integer) As Integer + + Dim s As String + s = "R:" + Trim(Rollenr.ToString) + For Each r As DataRow In Parameter.Rows + If Len(r("Beschreibung")) > Len(s) Then + If r("Beschreibung").ToString.Substring(0, Len(s)) = s Then + Return r("KbParameternr") + End If + End If + Next + End Function + + Public Function Save_Rollenparameter(ByVal Key As Integer, ByVal value As String) + Dim sql As New SqlCommand() + Dim sqlcon As New SqlConnection(Globals.sConnectionString) + sql.Connection = sqlcon + 'sql.Connection.ConnectionString = Me.sConnectionString + sql.CommandType = CommandType.Text + If Key <> 0 Then + sql.CommandText = "Update dbo.kb_parameter set beschreibung='" + value + "' where kbparameternr=" + Key.ToString + sql.Connection.Open() + sql.ExecuteNonQuery() + sqlcon.Close() + Else + sql.CommandText = "Insert dbo.kb_parameter(bezeichnung, beschreibung, aktiv) values ('Rollen_Paraemter', '" + value + "',1)" + sql.Connection.Open() + sql.ExecuteNonQuery() + sqlcon.Close() + End If + End Function + + Public Function Get_CurrentRolle(ByVal mitarbeiternr As Integer) As Integer + Dim sqlcon As New SqlConnection(Globals.sConnectionString) + Dim s As String + s = "SELECT dbo.funktionsgruppe_rolle.rollenr FROM dbo.mitarbeiter INNER JOIN dbo.mitarbeiter_funktionsgruppe ON dbo.mitarbeiter.mitarbeiternr = dbo.mitarbeiter_funktionsgruppe.mitarbeiternr INNER JOIN dbo.funktionsgruppe_rolle ON dbo.mitarbeiter_funktionsgruppe.funktionsgruppenr = dbo.funktionsgruppe_rolle.Funktionsgrupperollenr" + s = s + " WHERE (dbo.mitarbeiter_funktionsgruppe.aktiv = 1) AND (dbo.funktionsgruppe_rolle.aktiv = 1) and dbo.mitarbeiter.mitarbeiternr=" + Globals.clsmitarbeiter.iMitarbeiternr.Value.ToString + sqlcon.Open() + Dim sqlda As New SqlDataAdapter(s, sqlcon) + Dim dt As New DataTable + sqlda.Fill(dt) + Return dt.Rows(0).Item(0) + sqlcon.Close() + + End Function + + Public Function Get_Active_Anspruchsgruppe(bankrat As String) As Integer + Me.Anspruchsgruppe.Rows.Clear() + Dim sqlcon As New SqlConnection(Globals.sConnectionString) + Dim s As String + s = "Select DISTINCT dbo.KB_Anspruchsgruppe.Anspruchgruppenr, dbo.KB_Anspruchsgruppe.Bezeichnung, dbo.KB_Anspruchsgruppe.Beschreibung, dbo.KB_Anspruchsgruppe.aktiv, dbo.KB_Anspruchsgruppe.erstellt_am, " + s = s + " dbo.KB_Anspruchsgruppe.mutiert_am, dbo.KB_Anspruchsgruppe.mutierer" + s = s + " FROM dbo.V_KB_Artikel1 INNER JOIN" + s = s + " dbo.KB_Anspruchsgruppe ON dbo.V_KB_Artikel1.Anspruchgruppenr = dbo.KB_Anspruchsgruppe.Anspruchgruppenr" + s = s + " WHERE (dbo.V_KB_Artikel1.Absender = '" + bankrat + "')" + sqlcon.Open() + Dim sqlda As New SqlDataAdapter(s, sqlcon) + Dim dt As New DataTable + sqlda.Fill(Anspruchsgruppe) + sqlcon.Close() + + End Function + + Public Function Get_Active_Themengruppen(bankrat As String) As Integer + Me.Themengruppe.Rows.Clear() + Dim sqlcon As New SqlConnection(Globals.sConnectionString) + Dim s As String + s = "Select DISTINCT dbo.KB_Themengruppe.Themengruppenr, dbo.KB_Themengruppe.Bezeichnung, dbo.KB_Themengruppe.Beschreibung, dbo.KB_Themengruppe.aktiv, dbo.KB_Themengruppe.erstellt_am, " + s = s + " dbo.KB_Themengruppe.mutiert_am, dbo.KB_Themengruppe.mutierer" + s = s + " FROM dbo.V_KB_Artikel1 INNER JOIN" + s = s + " dbo.KB_Themengruppe ON dbo.V_KB_Artikel1.Themengruppenr = dbo.KB_Themengruppe.Themengruppenr" + s = s + " WHERE (dbo.V_KB_Artikel1.Absender = '" + bankrat + "' order by bezeichnung)" + sqlcon.Open() + Dim sqlda As New SqlDataAdapter(s, sqlcon) + Dim dt As New DataTable + sqlda.Fill(Themengruppe) + sqlcon.Close() + + End Function + + + Public Function User_No_Message(ByVal userid As String) + + Dim sqlcon As New SqlConnection(Globals.sConnectionString) + Dim s As String + s = "insert User_no_message (UserID) values ('" + userid + "')" + sqlcon.Open() + Dim sqlda As New SqlDataAdapter(s, sqlcon) + Dim dt As New DataTable + sqlda.Fill(dt) + sqlcon.Close() + End Function + + Public Function Check_User_No_Message(ByVal userid As String) As Boolean + Dim userdata As New DataTable + Dim sqlcon As New SqlConnection(Globals.sConnectionString) + Dim s As String + s = "select * from user_no_message where userid='" + userid + "'" + sqlcon.Open() + Dim sqlda As New SqlDataAdapter(s, sqlcon) + Dim dt As New DataTable + sqlda.Fill(dt) + sqlcon.Close() + If dt.Rows.Count > 0 Then Return True Else Return False + End Function + + Public Function Delete_User_No_Message(ByVal userid As String) As Boolean + Dim userdata As New DataTable + Dim sqlcon As New SqlConnection(Globals.sConnectionString) + Dim s As String + s = "delete from user_no_message" + sqlcon.Open() + Dim sqlda As New SqlDataAdapter(s, sqlcon) + Dim dt As New DataTable + sqlda.Fill(dt) + sqlcon.Close() + If dt.Rows.Count > 0 Then Return True Else Return False + End Function +End Class diff --git a/Themenmanagement/Themenmanagement/_Klassen/clsKategorie.vb b/Themenmanagement/Themenmanagement/_Klassen/clsKategorie.vb new file mode 100644 index 0000000..cfa58c7 --- /dev/null +++ b/Themenmanagement/Themenmanagement/_Klassen/clsKategorie.vb @@ -0,0 +1,203 @@ +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace db + + Public Class Kategorie + Inherits DB.clsKategorie + + Dim treedata As New DataSet + + + Public Sub Load_Treeview(ByRef tree As TreeView) + treedata.Tables.Clear() + tree.Nodes.Clear() + Load_Treedata() + If Not (treedata Is Nothing) Then + Dim oView As DataView = treedata.Tables(0).DefaultView + Dim oTable As DataTable = oView.Table + Dim oDS As DataSet = New DataSet() + oDS.Tables.Add(oTable.Copy()) + + If oDS.Relations.Contains("SelfRefenceRelation") = False Then + oDS.Relations.Add("SelfRefenceRelation", _ + oDS.Tables(0).Columns("id"), _ + oDS.Tables(0).Columns("Parentid")) + End If + oTable.Dispose() + oTable = Nothing + LoadTreeView(oDS, tree) + oDS.Dispose() + oDS = Nothing + End If + tree.ExpandAll() + End Sub + + Private Function Load_Treedata() As DataTable + treedata.Tables.Clear() + Dim selectcommand As New SqlCommand + Dim connection As New SqlConnection() + Dim da As New SqlDataAdapter("", connection) + + selectcommand.CommandText = "sp_get_Kategorien" + selectcommand.CommandType = CommandType.StoredProcedure + selectcommand.Connection = connection + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.SelectCommand = selectcommand + da.Fill(treedata, "Tree") + Catch ex As Exception + MsgBox(ex.Message) + Finally + connection.Close() + da.Dispose() + selectcommand.Dispose() + End Try + End Function + + + + + Private Sub LoadTreeView(ByVal oDS As DataSet, ByRef oTreeview As TreeView) + 'Dim oTreeView As TreeView = New TreeView() + Dim oDataRow As DataRow + For Each oDataRow In oDS.Tables(0).Rows + If Not oDataRow.IsNull("Parentid") Then + If oDataRow.Item("Parentid") = 0 Then + 'If oDataRow.IsNull("Parentid") Then + Dim oNode As New TreeNode() + oNode.Text = oDataRow("Bezeichnung").ToString() + oNode.Tag = oDataRow("id").ToString + oNode.ImageIndex = oDataRow("ImageIndex") + oNode.SelectedImageIndex = oDataRow("ImageIndex") + oNode.StateImageIndex = oDataRow("ImageIndex") + oTreeview.Nodes.Add(oNode) + RecursivelyLoadTree(oDataRow, oNode) + End If + End If + Next oDataRow + oDS.Dispose() + oDS = Nothing + End Sub + ''' + ''' Child-Nodes hinzufügen + ''' + ''' + ''' + ''' + Private Sub RecursivelyLoadTree(ByVal oDataRow As DataRow, ByRef oNode As TreeNode) + Dim oChildRow As DataRow + For Each oChildRow In oDataRow.GetChildRows("SelfRefenceRelation") + Dim oChildNode As New TreeNode() + oChildNode.Text = oChildRow("Bezeichnung").ToString() + oChildNode.Tag = oChildRow("id").ToString() + oChildNode.ImageIndex = oChildRow("ImageIndex") + oChildNode.SelectedImageIndex = oChildRow("ImageIndex") + oChildNode.StateImageIndex = oChildRow("ImageIndex") + oNode.Nodes.Add(oChildNode) + RecursivelyLoadTree(oChildRow, oChildNode) + Next oChildRow + End Sub + Public Function FindNode(ByVal _nodeCollection As TreeNodeCollection, ByVal SearchVal As Integer, ByVal SearchString As String) As TreeNode + Dim tmpNode As TreeNode + For Each _child As TreeNode In _nodeCollection + If _child.Tag = SearchVal Then + + Return _child + End If + tmpNode = FindNode(_child.Nodes, SearchVal, SearchString) + If Not tmpNode Is Nothing Then + Return tmpNode + End If + Next + Return Nothing + End Function + + Public Function Get_Themen(ByVal Kategorienr As Integer) As DataTable + Dim daten As New DataSet + Dim selectcommand As New SqlCommand + Dim connection As New SqlConnection() + Dim da As New SqlDataAdapter("", connection) + + selectcommand.CommandText = "sp_get_Themen" + selectcommand.Parameters.Add("@Kategorienr", SqlDbType.Int, 4) + selectcommand.Parameters(0).Value = Kategorienr + selectcommand.CommandType = CommandType.StoredProcedure + selectcommand.Connection = connection + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.SelectCommand = selectcommand + da.Fill(daten, "Daten") + Return daten.Tables(0) + Catch ex As Exception + MsgBox(ex.Message) + Finally + connection.Close() + da.Dispose() + selectcommand.Dispose() + End Try + End Function + + + Public Function get_Nebenkategorien(ByVal themanr As Integer) + Dim daten As New DataSet + Dim selectcommand As New SqlCommand + Dim connection As New SqlConnection() + Dim da As New SqlDataAdapter("", connection) + + selectcommand.CommandText = "dbo.sp_get_nebenkategorie" + selectcommand.Parameters.Add("@themanr", SqlDbType.Int, 4) + selectcommand.Parameters(0).Value = themanr + selectcommand.CommandType = CommandType.StoredProcedure + selectcommand.Connection = connection + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.SelectCommand = selectcommand + da.Fill(daten, "Daten") + Return daten.Tables(0) + Catch ex As Exception + MsgBox(ex.Message) + Finally + connection.Close() + da.Dispose() + selectcommand.Dispose() + End Try + End Function + + Public Function Update_Nebenkategorie(ByVal kategorienr As Integer, ByVal themanr As Integer, ByVal aktiv As Integer, ByVal mutierer As Integer) + Dim selectcommand As New SqlCommand + Dim connection As New SqlConnection() + Dim da As New SqlDataAdapter("", connection) + + selectcommand.CommandText = "dbo.sp_update_nebenkategorie" + selectcommand.Parameters.Add("@kategorienr", SqlDbType.Int, 4) + selectcommand.Parameters.Add("@themanr", SqlDbType.Int, 4) + selectcommand.Parameters.Add("@aktiv", SqlDbType.Int, 4) + selectcommand.Parameters.Add("@mutierer ", SqlDbType.Int, 4) + selectcommand.Parameters(0).Value = kategorienr + selectcommand.Parameters(1).Value = themanr + selectcommand.Parameters(2).Value = aktiv + selectcommand.Parameters(3).Value = mutierer + selectcommand.CommandType = CommandType.StoredProcedure + selectcommand.Connection = connection + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + selectcommand.ExecuteNonQuery() + Catch ex As Exception + MsgBox(ex.Message) + Finally + connection.Close() + da.Dispose() + selectcommand.Dispose() + End Try + + End Function + + End Class +End Namespace diff --git a/Themenmanagement/Themenmanagement/_Klassen/clsOeTree.vb b/Themenmanagement/Themenmanagement/_Klassen/clsOeTree.vb new file mode 100644 index 0000000..0c68cd6 --- /dev/null +++ b/Themenmanagement/Themenmanagement/_Klassen/clsOeTree.vb @@ -0,0 +1,227 @@ +Imports System.Data.SqlTypes +Imports System.Data.SqlClient +Imports System.Windows.Forms + +Public Class clsOETree +#Region "Deklarationen" + Dim treedata As New DataSet + Public treedata_for_search As New DataTable + Dim TreeaufbauSuche As Boolean = False + Dim TreeaufbauNr As Integer = 0 + Dim FoundNode As Integer = 0 + Dim Searchstring As String = "" + Public Treesearch As New TreeView + +#End Region + +#Region "Tree" + + Public Sub Load_Treeview(ByRef tree As TreeView, ByVal per As DateTime) + treedata.Tables.Clear() + TreeaufbauNr = -1 + Load_Treedata("Organisation", per) + If Not (treedata Is Nothing) Then + Dim oView As DataView = treedata.Tables(0).DefaultView + Dim oTable As DataTable = oView.Table + Dim oDS As DataSet = New DataSet() + oDS.Tables.Add(oTable.Copy()) + + If oDS.Relations.Contains("SelfRefenceRelation") = False Then + oDS.Relations.Add("SelfRefenceRelation", _ + oDS.Tables(0).Columns("id"), _ + oDS.Tables(0).Columns("Parentid")) + End If + oTable.Dispose() + oTable = Nothing + + LoadTreeView(oDS, tree) + oDS.Dispose() + oDS = Nothing + End If + + End Sub + + Private Function Load_Treedata(ByVal datatype As String, ByVal per As DateTime) As DataTable + treedata.Tables.Clear() + Dim selectcommand As New SqlCommand + Dim connection As New SqlConnection() + Dim da As New SqlDataAdapter("", connection) + + selectcommand.CommandText = "sp_get_struktur_OE" + 'selectcommand.Parameters.Add("@Root", SqlDbType.VarChar) + 'selectcommand.Parameters(0).Value = Datatype + selectcommand.CommandType = CommandType.StoredProcedure + selectcommand.Parameters.Add("@per", SqlDbType.DateTime) + selectcommand.Parameters(0).Value = per + selectcommand.Connection = connection + Try + connection.ConnectionString = Globals.sConnectionString + connection.Open() + da.SelectCommand = selectcommand + da.Fill(treedata, "Tree") + If treedata_for_search.Rows.Count < 1 Then + For Each c As DataColumn In treedata.Tables(0).Columns + If c.ColumnName = "ErweiterteSuche" Then + Dim dc As New DataColumn + dc.ColumnName = "ErweiterteSuche" + dc.DataType = System.Type.GetType("System.String") + dc.DefaultValue = " " + Me.treedata_for_search.Columns.Add(dc) + Else + Me.treedata_for_search.Columns.Add(c.ColumnName) + End If + Next + End If + For Each row As DataRow In treedata.Tables(0).Rows + Me.treedata_for_search.ImportRow(row) + Next + + Catch ex As Exception + MsgBox(ex.Message) + Finally + connection.Close() + da.Dispose() + selectcommand.Dispose() + End Try + End Function + + + + + ''' + ''' Tree aufbauen + ''' + ''' + ''' + ''' + Private Sub LoadTreeView(ByVal oDS As DataSet, ByRef oTreeview As TreeView) + 'Dim oTreeView As TreeView = New TreeView() + Dim oDataRow As DataRow + For Each oDataRow In oDS.Tables(0).Rows + If Not oDataRow.IsNull("Parentid") Then + If oDataRow.Item("Parentid") = "0" Then + 'If oDataRow.IsNull("Parentid") Then + Dim oNode As New TreeNode() + oNode.Text = Trim(oDataRow("Bezeichnung").ToString() + " (" + oDataRow("id").ToString + ")") + Try + oNode.ToolTipText = Trim(oDataRow("ErweiterteSuche").ToString) + Catch + End Try + oNode.Tag = oDataRow("id").ToString + oNode.ImageIndex = oDataRow("ImageIndex") + oNode.SelectedImageIndex = oDataRow("ImageIndex") + oNode.StateImageIndex = oDataRow("ImageIndex") + oTreeview.Nodes.Add(oNode) + RecursivelyLoadTree(oDataRow, oNode) + End If + End If + Next oDataRow + oDS.Dispose() + oDS = Nothing + End Sub + ''' + ''' Child-Nodes hinzufügen + ''' + ''' + ''' + ''' + Private Sub RecursivelyLoadTree(ByVal oDataRow As DataRow, ByRef oNode As TreeNode) + Dim oChildRow As DataRow + For Each oChildRow In oDataRow.GetChildRows("SelfRefenceRelation") + Dim oChildNode As New TreeNode() + oChildNode.Text = Trim(oChildRow("Bezeichnung").ToString() + " (" + oChildRow("id").ToString + ")") + oChildNode.Tag = oChildRow("id").ToString() + oChildNode.ImageIndex = oChildRow("ImageIndex") + oChildNode.SelectedImageIndex = oChildRow("ImageIndex") + oChildNode.StateImageIndex = oChildRow("ImageIndex") + oNode.Nodes.Add(oChildNode) + RecursivelyLoadTree(oChildRow, oChildNode) + Next oChildRow + End Sub + Public Function FindNode(ByVal _nodeCollection As TreeNodeCollection, ByVal SearchVal As String, ByVal SearchString As String) As TreeNode + Dim tmpNode As TreeNode + For Each _child As TreeNode In _nodeCollection + If _child.Tag = SearchVal Then + + Return _child + End If + ' If InStr(UCase(_child.Text), UCase(SearchString)) > 0 Then + ' Return _child + ' End If + tmpNode = FindNode(_child.Nodes, SearchVal, SearchString) + If Not tmpNode Is Nothing Then + Return tmpNode + End If + Next + Return Nothing + End Function + + + + Public Function Init_Search() + FoundNode = 0 + Searchstring = "" + Me.Treesearch.Nodes.Clear() + End Function + + Public Function SearchNode(ByRef tree As TreeView, ByVal SearchString As String) As TreeNode + Me.Treesearch.Nodes.Clear() + For Each dr As DataRow In treedata_for_search.Rows + If InStr(UCase(dr.Item("Bezeichnung")), UCase(SearchString)) > 0 Or InStr(UCase(dr.Item("ErweiterteSuche")), UCase(SearchString)) > 0 Then + Dim tn As New TreeNode + tn = Me.Treesearch.Nodes.Add(dr.Item("Bezeichnung")) + tn.Tag = dr.Item("id") + End If + Next + Return FindFirst(tree) + End Function + + Public Function FindFirst(ByRef Tree As TreeView) As TreeNode + Try + If Me.Treesearch.Nodes.Count > 0 Then Me.Treesearch.SelectedNode = Me.Treesearch.Nodes(0) + Return FindNode(Tree.Nodes, Treesearch.SelectedNode.Tag, "") + Catch + End Try + End Function + + + + Public Function FindNextNode(ByRef tree As TreeView) As TreeNode + Try + Treesearch.SelectedNode = Treesearch.SelectedNode.NextNode + If Treesearch.SelectedNode Is Nothing Then + Return FindFirst(tree) + End If + Return Me.FindNode(tree.Nodes, Treesearch.SelectedNode.Tag, "") + Catch ex As Exception + + End Try + End Function + + Public Function FindPrevNode(ByRef tree As TreeView) As TreeNode + Try + Treesearch.SelectedNode = Treesearch.SelectedNode.PrevNode + If Treesearch.SelectedNode Is Nothing Then + Return FindLastNode(tree) + End If + Return Me.FindNode(tree.Nodes, Treesearch.SelectedNode.Tag, "") + Catch ex As Exception + End Try + End Function + + Public Function FindLastNode(ByRef tree As TreeView) As TreeNode + Try + Treesearch.SelectedNode = Treesearch.Nodes(Treesearch.Nodes.Count - 1) + Return Me.FindNode(tree.Nodes, Treesearch.SelectedNode.Tag, "") + Catch ex As Exception + End Try + + End Function + + + + +#End Region + +End Class + diff --git a/Themenmanagement/Themenmanagement/_Klassen/clsThema.vb b/Themenmanagement/Themenmanagement/_Klassen/clsThema.vb new file mode 100644 index 0000000..5e65f30 --- /dev/null +++ b/Themenmanagement/Themenmanagement/_Klassen/clsThema.vb @@ -0,0 +1,252 @@ +Imports System +Imports System.Data +Imports System.Data.SqlTypes +Imports System.Data.SqlClient + +Namespace db + Public Class Thema + Inherits DB.clsThema + +#Region "Deklarationen" + Public daten As New DataTable + Public Neuer_Datensatz As Boolean = False + + Dim mMutierer As String + Property MutiererText() As String + Get + Return mMutierer + End Get + Set(ByVal value As String) + mMutierer = value + End Set + End Property +#End Region + + Sub New() + + End Sub + + Public Overloads Sub dispose() + MyBase.Dispose() + Try + Catch + End Try + End Sub + + ''' + ''' Mutierer auslesen + ''' + ''' + ''' + Public Function Get_Mutierer(ByVal nr As Integer) As String + Dim ma As New db.clsMitarbeiter + Dim dt As New DataTable + Dim Retvalue As String + ma.cpMainConnectionProvider = Globals.conn + ma.iMitarbeiternr = New SqlInt32(CType(nr, Int32)) + dt = ma.SelectOne() + If dt.Rows.Count = 0 Then + Retvalue = ("{" + nr.ToString + "}") + Else + Retvalue = ma.sName.ToString + " " + ma.sVorname.ToString + ", " + ma.sTgnummer.ToString + End If + ma.Dispose() + dt.Dispose() + Return Retvalue + End Function + + + Public Function Get_Thema(ByVal Nr As Integer) + Me.cpMainConnectionProvider = Globals.conn + Me.iThemanNr = New SqlInt32(CType(Nr, Int32)) + Globals.conn.OpenConnection() + Me.daten = Me.SelectOne() + Globals.conn.CloseConnection(True) + Try + Catch ex As Exception + End Try + Me.MutiererText = Get_Mutierer(Me.iMutierer.Value) + End Function + + Public Function Save_Data() As Integer + Me.cpMainConnectionProvider = Globals.conn + Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) + Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) + Globals.conn.OpenConnection() + Me.Update() + Globals.conn.CloseConnection(True) + Me.Neuer_Datensatz = False + End Function + + Public Function Create_Copy(Optional ByVal Basenr As Integer = 0) As Integer + If Basenr <> 0 Then + Get_Thema(Basenr) + End If + Dim db As New db.clsMyKey_Tabelle + db.cpMainConnectionProvider = Globals.conn + Dim newkey = db.get_dbkey("Thema") + db.Dispose() + + Me.cpMainConnectionProvider = Globals.conn + Me.iThemanNr = New SqlInt32(CType(newkey, Int32)) + Me.daErstellt_am = New SqlDateTime(CType(Now, DateTime)) + Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) + Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) + Globals.conn.OpenConnection() + Me.Insert() + Globals.conn.CloseConnection(True) + Me.Neuer_Datensatz = True + Return newkey + End Function + + ''' + ''' Löschen eines Datensatzes erstellen. + ''' + ''' Ursprungs-Person: Ist dieser Wert nicht 0, werden die Daten mit BaseNr zuerst gelesen + ''' + ''' + Public Function Delete_Thema(Optional ByVal Basenr As Integer = 0) As Integer + If Basenr <> 0 Then + Get_Thema(Basenr) + End If + Me.cpMainConnectionProvider = Globals.conn + Me.bAktiv = New SqlBoolean(CType(False, Boolean)) + Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) + Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) + Globals.conn.OpenConnection() + Me.Update() + Globals.conn.CloseConnection(True) + Me.Neuer_Datensatz = False + End Function + + Public Overloads Function Delete(Optional ByVal Basenr As Integer = 0) As Integer + If Basenr <> 0 Then + Get_Thema(Basenr) + End If + Me.cpMainConnectionProvider = Globals.conn + Globals.conn.OpenConnection() + MyBase.Delete() + Globals.conn.CloseConnection(True) + Me.Neuer_Datensatz = False + End Function + + ''' + ''' Neue Person einfügen + ''' + ''' + ''' + Public Function Add_New() As Integer + Dim db As New DB.clsMyKey_Tabelle + db.cpMainConnectionProvider = Globals.conn + Dim newkey = db.get_dbkey("Thema") + db.Dispose() + Me.iThemanNr = New SqlInt32(CType(newkey, Int32)) + Me.sSuchbegriffe = New SqlString(CType("", String)) + Me.sTitel = New SqlString(CType("*** Neues Thema ***", String)) + Me.iKategorieNr = New SqlInt32(CType(1, Int32)) + Me.sBeschreibung = New SqlString(CType("", String)) + Me.daGueltig_ab = New SqlDateTime(CType(SqlDateTime.Null, DateTime)) + Me.daGueltig_bis = New SqlDateTime(CType(SqlDateTime.Null, DateTime)) + Me.bAktiv = New SqlBoolean(CType(True, Boolean)) + Me.daErstellt_am = New SqlDateTime(CType(Now, DateTime)) + Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) + Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) + Me.bIssue = New SqlBoolean(CType(False, Boolean)) + Me.iIssue_Relevant_TKB = New SqlInt32(CType(-1, Int32)) + Me.iIssue_Relevant_Veraenderung = New SqlInt32(CType(-1, Int32)) + Me.sIssue_Bemerkung = New SqlString(CType("", String)) + Me.cpMainConnectionProvider = Globals.conn + + Globals.conn.OpenConnection() + Me.Insert() + Globals.conn.CloseConnection(True) + Me.Neuer_Datensatz = True + Return newkey + End Function + + Public Function Get_Themen() As DataTable + Dim dt As New DataTable + Dim dt1 As New DataTable + dt = Me.SelectAll + + For Each c As DataColumn In dt.Columns + dt1.Columns.Add(c.ColumnName) + Next + For Each r As DataRow In dt.Rows + If r("Aktiv") = True Then dt1.ImportRow(r) + Next + Return dt1 + End Function + + Public Function Get_Journal() As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.[sp_get_journal]" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = New DataTable("spalten") + Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute) + + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@Themanr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, iThemanNr.Value)) + + If m_bMainConnectionIsCreatedLocal Then + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + sdaAdapter.Fill(dtToReturn) + + Return dtToReturn + Catch ex As Exception + Throw New Exception("clsSpalten::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + + Public Function Freitext_Suche(ByVal Suchstring As String) As DataTable + Dim scmCmdToExecute As SqlCommand = New SqlCommand() + scmCmdToExecute.CommandText = "dbo.sp_get_themen_nach_freitext" + scmCmdToExecute.CommandType = CommandType.StoredProcedure + Dim dtToReturn As DataTable = New DataTable("spalten") + Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute) + + scmCmdToExecute.Connection = m_scoMainConnection + + Try + scmCmdToExecute.Parameters.Add(New SqlParameter("@text", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Suchstring)) + + If m_bMainConnectionIsCreatedLocal Then + m_scoMainConnection.Open() + Else + If m_cpMainConnectionProvider.bIsTransactionPending Then + scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction + End If + End If + + sdaAdapter.Fill(dtToReturn) + + Return dtToReturn + Catch ex As Exception + Throw New Exception("clsSpalten::SelectAll::Error occured.", ex) + Finally + If m_bMainConnectionIsCreatedLocal Then + ' // Close connection. + m_scoMainConnection.Close() + End If + scmCmdToExecute.Dispose() + sdaAdapter.Dispose() + End Try + End Function + End Class + +End Namespace diff --git a/Themenmanagement/Utils/Crypto.vb b/Themenmanagement/Utils/Crypto.vb new file mode 100644 index 0000000..258e707 --- /dev/null +++ b/Themenmanagement/Utils/Crypto.vb @@ -0,0 +1,34 @@ +Module Crypto + Public Function EncryptText(ByVal strText As String, ByVal strPwd As String) + Dim i As Integer, c As Integer + Dim strBuff As String + + strPwd = UCase$(strPwd) + If Len(strPwd) Then + For i = 1 To Len(strText) + c = Asc(Mid$(strText, i, 1)) + c = c + Asc(Mid$(strPwd, (i Mod Len(strPwd)) + 1, 1)) + strBuff = strBuff & Chr(c And &HFF) + Next i + Else + strBuff = strText + End If + EncryptText = strBuff + End Function + + Public Function DecryptText(ByVal strText As String, ByVal strPwd As String) + Dim i As Integer, c As Integer + Dim strBuff As String + strPwd = UCase$(strPwd) + If Len(strPwd) Then + For i = 1 To Len(strText) + c = Asc(Mid$(strText, i, 1)) + c = c - Asc(Mid$(strPwd, (i Mod Len(strPwd)) + 1, 1)) + strBuff = strBuff & Chr(c And &HFF) + Next i + Else + strBuff = strText + End If + DecryptText = strBuff + End Function +End Module diff --git a/Themenmanagement/Utils/Globals.vb b/Themenmanagement/Utils/Globals.vb new file mode 100644 index 0000000..a74f292 --- /dev/null +++ b/Themenmanagement/Utils/Globals.vb @@ -0,0 +1,66 @@ +Imports System.IO +Imports System.Reflection +Module Globals + ''' + ''' Applikationsversion + ''' + ''' + Public Version As String = "1.9" + Public Versionsdatum As String = "04.02.2018" + + ''' + ''' Applikationsdaten + ''' + ''' + Public Applikationsdaten As DataTable + Public AppldataRow As Integer + + 'Public TTContextMenuStrip As New ContextMenuStrip + + + ''' + ''' Angemelderter Mitarbeiter + ''' + ''' + Public clsmitarbeiter As New DB.clsMitarbeiter + ''' + ''' Applikationsparameter + ''' + ''' + Public clsapplication As New DB.clsApplication + ''' + ''' DB-Verbindungsklasse + ''' + ''' + Public sConnectionString As String + Public conn As New DB.clsConnectionProvider + Public ConnectionFileName As String = "" + Public dbconn As New DB.DB_Connection + + Public SecurityDaten As New DataSet + Public Spaltendaten As New DataTable + Public ToolTipDaten As New DataSet + Public Set_ToolTips As Boolean = False + Public Parameter As New DataTable + Public Save_Mitarbeiternr As Integer + + + + ''' + ''' Aktueller Applikationspfad + ''' + ''' + ''' + Public Function ApplicationPath() As String + Return Path.GetDirectoryName([Assembly].GetEntryAssembly().Location) + "\" + End Function + + Public WithEvents MyEventHanlder As New MyGenericEventHandler + + Public Function Get_Paramvalue(ByVal Parameternr As Integer) As String + For i = 0 To Parameter.Rows.Count - 1 + If Parameter.Rows(i).Item(0) = Parameternr Then Return Parameter.Rows(i).Item("Inhalt").ToString + Next + End Function + +End Module diff --git a/Themenmanagement/bin/Debug/C1.C1Report.2.dll b/Themenmanagement/bin/Debug/C1.C1Report.2.dll new file mode 100644 index 0000000..57a3197 Binary files /dev/null and b/Themenmanagement/bin/Debug/C1.C1Report.2.dll differ diff --git a/Themenmanagement/bin/Debug/C1.Win.C1FlexGrid.4.dll b/Themenmanagement/bin/Debug/C1.Win.C1FlexGrid.4.dll new file mode 100644 index 0000000..345cbbd Binary files /dev/null and b/Themenmanagement/bin/Debug/C1.Win.C1FlexGrid.4.dll differ diff --git a/Themenmanagement/bin/Debug/C1.Win.C1FlexGrid.Classic.4.dll b/Themenmanagement/bin/Debug/C1.Win.C1FlexGrid.Classic.4.dll new file mode 100644 index 0000000..9ebe04b Binary files /dev/null and b/Themenmanagement/bin/Debug/C1.Win.C1FlexGrid.Classic.4.dll differ diff --git a/Themenmanagement/bin/Debug/C1.Win.C1Report.2.dll b/Themenmanagement/bin/Debug/C1.Win.C1Report.2.dll new file mode 100644 index 0000000..97d3559 Binary files /dev/null and b/Themenmanagement/bin/Debug/C1.Win.C1Report.2.dll differ diff --git a/Themenmanagement/bin/Debug/C1.Win.C1Ribbon.2.dll b/Themenmanagement/bin/Debug/C1.Win.C1Ribbon.2.dll new file mode 100644 index 0000000..51e6737 Binary files /dev/null and b/Themenmanagement/bin/Debug/C1.Win.C1Ribbon.2.dll differ diff --git a/Themenmanagement/bin/Debug/C1.Win.C1TrueDBGrid.2.dll b/Themenmanagement/bin/Debug/C1.Win.C1TrueDBGrid.2.dll new file mode 100644 index 0000000..d4f4c46 Binary files /dev/null and b/Themenmanagement/bin/Debug/C1.Win.C1TrueDBGrid.2.dll differ diff --git a/Themenmanagement/bin/Debug/CG.Controls.Grid.dll b/Themenmanagement/bin/Debug/CG.Controls.Grid.dll new file mode 100644 index 0000000..e30b396 Binary files /dev/null and b/Themenmanagement/bin/Debug/CG.Controls.Grid.dll differ diff --git a/Themenmanagement/bin/Debug/ExtendedRichTextBox.dll b/Themenmanagement/bin/Debug/ExtendedRichTextBox.dll new file mode 100644 index 0000000..9597270 Binary files /dev/null and b/Themenmanagement/bin/Debug/ExtendedRichTextBox.dll differ diff --git a/Themenmanagement/bin/Debug/FlexCel.dll b/Themenmanagement/bin/Debug/FlexCel.dll new file mode 100644 index 0000000..8c93d59 Binary files /dev/null and b/Themenmanagement/bin/Debug/FlexCel.dll differ diff --git a/Themenmanagement/bin/Debug/ICSharpCode.SharpZipLib.dll b/Themenmanagement/bin/Debug/ICSharpCode.SharpZipLib.dll new file mode 100644 index 0000000..8f801b7 Binary files /dev/null and b/Themenmanagement/bin/Debug/ICSharpCode.SharpZipLib.dll differ diff --git a/Themenmanagement/bin/Debug/KommAuspraegung.dll b/Themenmanagement/bin/Debug/KommAuspraegung.dll new file mode 100644 index 0000000..516abcb Binary files /dev/null and b/Themenmanagement/bin/Debug/KommAuspraegung.dll differ diff --git a/Themenmanagement/bin/Debug/KommAuspraegung.pdb b/Themenmanagement/bin/Debug/KommAuspraegung.pdb new file mode 100644 index 0000000..c122cdc Binary files /dev/null and b/Themenmanagement/bin/Debug/KommAuspraegung.pdb differ diff --git a/Themenmanagement/bin/Debug/KommAuspraegung.xml b/Themenmanagement/bin/Debug/KommAuspraegung.xml new file mode 100644 index 0000000..2482d51 --- /dev/null +++ b/Themenmanagement/bin/Debug/KommAuspraegung.xml @@ -0,0 +1,705 @@ + + + + +KommAuspraegung + + + + + + Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + + + + + Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + + + + + Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. + + + + + Purpose: Data Access class for the table 'Kommunikation'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKommunikationNr
  • +
  • iThemaNr. May be SqlInt32.Null
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKommunikationNr
  • +
  • iThemaNr. May be SqlInt32.Null
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKommunikationNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKommunikationNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iKommunikationNr
  • +
  • iThemaNr
  • +
  • sBezeichnung
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'KommunikationAuspraegung_Zielgruppe'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKommAuspraegungZielgruppeNr
  • +
  • iKommunikationauspraegungnr. May be SqlInt32.Null
  • +
  • iZielgruppenr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKommAuspraegungZielgruppeNr
  • +
  • iKommunikationauspraegungnr. May be SqlInt32.Null
  • +
  • iZielgruppenr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKommAuspraegungZielgruppeNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKommAuspraegungZielgruppeNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iKommAuspraegungZielgruppeNr
  • +
  • iKommunikationauspraegungnr
  • +
  • iZielgruppenr
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'KommunkationAuspraegung'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKommunikationAuspraegungNr
  • +
  • iKommunikationNr. May be SqlInt32.Null
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • blobDokument. May be SqlBinary.Null
  • +
  • sRTFText. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKommunikationAuspraegungNr
  • +
  • iKommunikationNr. May be SqlInt32.Null
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • blobDokument. May be SqlBinary.Null
  • +
  • sRTFText. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKommunikationAuspraegungNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKommunikationAuspraegungNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iKommunikationAuspraegungNr
  • +
  • iKommunikationNr
  • +
  • sBezeichnung
  • +
  • sBeschreibung
  • +
  • blobDokument
  • +
  • sRTFText
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'Zielgruppe'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iZielgruppeNr
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iZielgruppeNr
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iZielgruppeNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iZielgruppeNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iZielgruppeNr
  • +
  • sBezeichnung
  • +
  • sBeschreibung
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'key_tabelle'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • sBeschreibung
  • +
  • iKey_wert
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iKeynr
  • +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKeynr
  • +
  • sBeschreibung
  • +
  • iKey_wert
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKeynr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKeynr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iKeynr
  • +
  • sBeschreibung
  • +
  • iKey_wert
  • +
  • iMandantnr
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'mitarbeiter'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iMitarbeiternr
  • +
  • sVorname. May be SqlString.Null
  • +
  • sName. May be SqlString.Null
  • +
  • sTgnummer. May be SqlString.Null
  • +
  • sEmail. May be SqlString.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iMitarbeiternr
  • +
  • sVorname. May be SqlString.Null
  • +
  • sName. May be SqlString.Null
  • +
  • sTgnummer. May be SqlString.Null
  • +
  • sEmail. May be SqlString.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iMitarbeiternr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iMitarbeiternr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iMitarbeiternr
  • +
  • sVorname
  • +
  • sName
  • +
  • sTgnummer
  • +
  • sEmail
  • +
  • iMandantnr
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Mutierer auslesen + + + + + + + Löschen eines Datensatzes erstellen. + + Ursprungs-Person: Ist dieser Wert nicht 0, werden die Daten mit BaseNr zuerst gelesen + + + + + + Neue Person einfügen + + + + +
+
diff --git a/Themenmanagement/bin/Debug/Layout01.xml b/Themenmanagement/bin/Debug/Layout01.xml new file mode 100644 index 0000000..fcdc4c3 --- /dev/null +++ b/Themenmanagement/bin/Debug/Layout01.xml @@ -0,0 +1,272 @@ + + + + 97 + 97 + 97 + + + 153 + 153 + 153 + + + + 69 + 139 + 0 + + + 0 + 139 + 0 + + + + 227 + 227 + 227 + + 8.25 + + 70 + 120 + + 112 + 128 + 144 + + + 15 + + 227 + 227 + 227 + + + + + + 0 + 100 + 0 + + + 34 + 139 + 34 + + + + 255 + 255 + 255 + + 8.25 + + 70 + 120 + + 112 + 128 + 144 + + + 15 + + 227 + 227 + 227 + + + + + + 107 + 142 + 35 + + + 179 + 238 + 58 + + + + 255 + 255 + 255 + + 8.25 + + 70 + 120 + + 112 + 128 + 144 + + + 15 + + 227 + 227 + 227 + + + + + + 34 + 139 + 34 + + + 34 + 139 + 34 + + + + 255 + 255 + 255 + + 8.25 + + 70 + 70 + + 0 + 0 + 255 + + + 15 + + 227 + 227 + 227 + + + + + + 85 + 107 + 47 + + + 140 + 140 + 140 + + + + 255 + 255 + 255 + + 8.25 + + 50 + 120 + + 0 + 0 + 255 + + + 15 + + 227 + 227 + 227 + + + + + + 0 + 139 + 0 + + + 184 + 184 + 184 + + + + 255 + 255 + 255 + + 8.25 + + 50 + 120 + + 112 + 128 + 144 + + Aktiv + + + + 184 + 184 + 184 + + + 0 + 139 + 0 + + + + 255 + 255 + 255 + + 8.25 + + 50 + 120 + + 112 + 128 + 144 + + ReAktiv + + + + 255 + 255 + 255 + + + 255 + 255 + 255 + + + + 0 + 0 + 0 + + 8.25 + + 50 + 120 + + 0 + 0 + 255 + + Hilfe + + diff --git a/Themenmanagement/bin/Debug/Layout02.xml b/Themenmanagement/bin/Debug/Layout02.xml new file mode 100644 index 0000000..7f059b1 --- /dev/null +++ b/Themenmanagement/bin/Debug/Layout02.xml @@ -0,0 +1,272 @@ + + + + 70 + 130 + 180 + + + 255 + 255 + 255 + + + + 19 + 64 + 109 + + + 31 + 77 + 154 + + + + 255 + 255 + 255 + + 8.25 + + 70 + 120 + + 0 + 0 + 255 + + + 15 + + 0 + 0 + 255 + + + + + + 131 + 154 + 66 + + + 155 + 186 + 57 + + + + 255 + 255 + 255 + + 8.25 + + 70 + 120 + + 0 + 0 + 255 + + + 15 + + 0 + 0 + 255 + + + + + + 96 + 8 + 94 + + + 108 + 19 + 103 + + + + 255 + 255 + 255 + + 8.25 + + 70 + 120 + + 0 + 0 + 255 + + + 15 + + 0 + 0 + 255 + + + + + + 19 + 64 + 109 + + + 31 + 77 + 154 + + + + 255 + 255 + 255 + + 8.25 + + 70 + 70 + + 0 + 0 + 255 + + + 15 + + 0 + 0 + 255 + + + + + + 19 + 64 + 109 + + + 31 + 77 + 154 + + + + 255 + 255 + 255 + + 8.25 + + 50 + 120 + + 0 + 0 + 255 + + + 15 + + 0 + 0 + 255 + + + + + + 190 + 190 + 190 + + + 0 + 0 + 0 + + + + 255 + 255 + 255 + + 8.25 + + 50 + 120 + + 0 + 0 + 255 + + Aktiv + + + + 190 + 190 + 190 + + + 0 + 0 + 0 + + + + 255 + 255 + 255 + + 8.25 + + 50 + 120 + + 0 + 0 + 255 + + ReAktiv + + + + 255 + 255 + 255 + + + 255 + 255 + 255 + + + + 0 + 0 + 0 + + 8.25 + + 50 + 120 + + 0 + 0 + 255 + + Hilfe + + diff --git a/Themenmanagement/bin/Debug/Layout_Standard.xml b/Themenmanagement/bin/Debug/Layout_Standard.xml new file mode 100644 index 0000000..7f059b1 --- /dev/null +++ b/Themenmanagement/bin/Debug/Layout_Standard.xml @@ -0,0 +1,272 @@ + + + + 70 + 130 + 180 + + + 255 + 255 + 255 + + + + 19 + 64 + 109 + + + 31 + 77 + 154 + + + + 255 + 255 + 255 + + 8.25 + + 70 + 120 + + 0 + 0 + 255 + + + 15 + + 0 + 0 + 255 + + + + + + 131 + 154 + 66 + + + 155 + 186 + 57 + + + + 255 + 255 + 255 + + 8.25 + + 70 + 120 + + 0 + 0 + 255 + + + 15 + + 0 + 0 + 255 + + + + + + 96 + 8 + 94 + + + 108 + 19 + 103 + + + + 255 + 255 + 255 + + 8.25 + + 70 + 120 + + 0 + 0 + 255 + + + 15 + + 0 + 0 + 255 + + + + + + 19 + 64 + 109 + + + 31 + 77 + 154 + + + + 255 + 255 + 255 + + 8.25 + + 70 + 70 + + 0 + 0 + 255 + + + 15 + + 0 + 0 + 255 + + + + + + 19 + 64 + 109 + + + 31 + 77 + 154 + + + + 255 + 255 + 255 + + 8.25 + + 50 + 120 + + 0 + 0 + 255 + + + 15 + + 0 + 0 + 255 + + + + + + 190 + 190 + 190 + + + 0 + 0 + 0 + + + + 255 + 255 + 255 + + 8.25 + + 50 + 120 + + 0 + 0 + 255 + + Aktiv + + + + 190 + 190 + 190 + + + 0 + 0 + 0 + + + + 255 + 255 + 255 + + 8.25 + + 50 + 120 + + 0 + 0 + 255 + + ReAktiv + + + + 255 + 255 + 255 + + + 255 + 255 + 255 + + + + 0 + 0 + 0 + + 8.25 + + 50 + 120 + + 0 + 0 + 255 + + Hilfe + + diff --git a/Themenmanagement/bin/Debug/Layout_Standard.xml (2).sik b/Themenmanagement/bin/Debug/Layout_Standard.xml (2).sik new file mode 100644 index 0000000..5d41bbe --- /dev/null +++ b/Themenmanagement/bin/Debug/Layout_Standard.xml (2).sik @@ -0,0 +1,272 @@ + + + + 231 + 233 + 231 + + + 184 + 179 + 175 + + + + 235 + 236 + 234 + + + 217 + 237 + 172 + + + + 0 + 0 + 0 + + 8.25 + + 70 + 120 + + 112 + 128 + 144 + + + 15 + + 227 + 227 + 227 + + + + + + 197 + 229 + 130 + + + 179 + 220 + 89 + + + + 255 + 255 + 255 + + 8.25 + + 70 + 120 + + 112 + 128 + 144 + + + 15 + + 227 + 227 + 227 + + + + + + 159 + 211 + 47 + + + 128 + 182 + 19 + + + + 255 + 255 + 255 + + 8.25 + + 70 + 120 + + 112 + 128 + 144 + + + 15 + + 227 + 227 + 227 + + + + + + 34 + 139 + 34 + + + 34 + 139 + 34 + + + + 255 + 255 + 255 + + 8.25 + + 70 + 70 + + 0 + 0 + 255 + + + 15 + + 227 + 227 + 227 + + + + + + 85 + 107 + 47 + + + 140 + 140 + 140 + + + + 255 + 255 + 255 + + 8.25 + + 50 + 120 + + 0 + 0 + 255 + + + 15 + + 227 + 227 + 227 + + + + + + 0 + 139 + 0 + + + 184 + 184 + 184 + + + + 255 + 255 + 255 + + 8.25 + + 50 + 120 + + 112 + 128 + 144 + + Aktiv + + + + 184 + 184 + 184 + + + 0 + 139 + 0 + + + + 255 + 255 + 255 + + 8.25 + + 50 + 120 + + 112 + 128 + 144 + + ReAktiv + + + + 255 + 255 + 255 + + + 255 + 255 + 255 + + + + 0 + 0 + 0 + + 8.25 + + 50 + 120 + + 0 + 0 + 255 + + Hilfe + + diff --git a/Themenmanagement/bin/Debug/Layout_TKB.xml b/Themenmanagement/bin/Debug/Layout_TKB.xml new file mode 100644 index 0000000..fcdc4c3 --- /dev/null +++ b/Themenmanagement/bin/Debug/Layout_TKB.xml @@ -0,0 +1,272 @@ + + + + 97 + 97 + 97 + + + 153 + 153 + 153 + + + + 69 + 139 + 0 + + + 0 + 139 + 0 + + + + 227 + 227 + 227 + + 8.25 + + 70 + 120 + + 112 + 128 + 144 + + + 15 + + 227 + 227 + 227 + + + + + + 0 + 100 + 0 + + + 34 + 139 + 34 + + + + 255 + 255 + 255 + + 8.25 + + 70 + 120 + + 112 + 128 + 144 + + + 15 + + 227 + 227 + 227 + + + + + + 107 + 142 + 35 + + + 179 + 238 + 58 + + + + 255 + 255 + 255 + + 8.25 + + 70 + 120 + + 112 + 128 + 144 + + + 15 + + 227 + 227 + 227 + + + + + + 34 + 139 + 34 + + + 34 + 139 + 34 + + + + 255 + 255 + 255 + + 8.25 + + 70 + 70 + + 0 + 0 + 255 + + + 15 + + 227 + 227 + 227 + + + + + + 85 + 107 + 47 + + + 140 + 140 + 140 + + + + 255 + 255 + 255 + + 8.25 + + 50 + 120 + + 0 + 0 + 255 + + + 15 + + 227 + 227 + 227 + + + + + + 0 + 139 + 0 + + + 184 + 184 + 184 + + + + 255 + 255 + 255 + + 8.25 + + 50 + 120 + + 112 + 128 + 144 + + Aktiv + + + + 184 + 184 + 184 + + + 0 + 139 + 0 + + + + 255 + 255 + 255 + + 8.25 + + 50 + 120 + + 112 + 128 + 144 + + ReAktiv + + + + 255 + 255 + 255 + + + 255 + 255 + 255 + + + + 0 + 0 + 0 + + 8.25 + + 50 + 120 + + 0 + 0 + 255 + + Hilfe + + diff --git a/Themenmanagement/bin/Debug/NPOI.DDF.dll b/Themenmanagement/bin/Debug/NPOI.DDF.dll new file mode 100644 index 0000000..2d5c6a3 Binary files /dev/null and b/Themenmanagement/bin/Debug/NPOI.DDF.dll differ diff --git a/Themenmanagement/bin/Debug/NPOI.HPSF.dll b/Themenmanagement/bin/Debug/NPOI.HPSF.dll new file mode 100644 index 0000000..fabd94d Binary files /dev/null and b/Themenmanagement/bin/Debug/NPOI.HPSF.dll differ diff --git a/Themenmanagement/bin/Debug/NPOI.HSSF.dll b/Themenmanagement/bin/Debug/NPOI.HSSF.dll new file mode 100644 index 0000000..5b348e4 Binary files /dev/null and b/Themenmanagement/bin/Debug/NPOI.HSSF.dll differ diff --git a/Themenmanagement/bin/Debug/NPOI.POIFS.dll b/Themenmanagement/bin/Debug/NPOI.POIFS.dll new file mode 100644 index 0000000..c08f5a8 Binary files /dev/null and b/Themenmanagement/bin/Debug/NPOI.POIFS.dll differ diff --git a/Themenmanagement/bin/Debug/NPOI.Util.dll b/Themenmanagement/bin/Debug/NPOI.Util.dll new file mode 100644 index 0000000..f627a7c Binary files /dev/null and b/Themenmanagement/bin/Debug/NPOI.Util.dll differ diff --git a/Themenmanagement/bin/Debug/NPOI.dll b/Themenmanagement/bin/Debug/NPOI.dll new file mode 100644 index 0000000..8a68045 Binary files /dev/null and b/Themenmanagement/bin/Debug/NPOI.dll differ diff --git a/Themenmanagement/bin/Debug/OpenFileDialog1 b/Themenmanagement/bin/Debug/OpenFileDialog1 new file mode 100644 index 0000000..e69de29 diff --git a/Themenmanagement/bin/Debug/RTFEditor.dll b/Themenmanagement/bin/Debug/RTFEditor.dll new file mode 100644 index 0000000..734b150 Binary files /dev/null and b/Themenmanagement/bin/Debug/RTFEditor.dll differ diff --git a/Themenmanagement/bin/Debug/RTFEditor.pdb b/Themenmanagement/bin/Debug/RTFEditor.pdb new file mode 100644 index 0000000..8885031 Binary files /dev/null and b/Themenmanagement/bin/Debug/RTFEditor.pdb differ diff --git a/Themenmanagement/bin/Debug/RTFEditor.xml b/Themenmanagement/bin/Debug/RTFEditor.xml new file mode 100644 index 0000000..86a7ef1 --- /dev/null +++ b/Themenmanagement/bin/Debug/RTFEditor.xml @@ -0,0 +1,40 @@ + + + + +RTFEditor + + + + + + This class provides two subroutines used to: + Find (find the first instance of a search term) + Find Next (find other instances of the search term after the first one is found) + + + + + This class provides four subroutines used to: + Find (find the first instance of a search term) + Find Next (find other instances of the search term after the first one is found) + Replace (replace the current selection with replacement text) + Replace All (replace all instances of search term with replacement text) + + + + + Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + + + + Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. + + + + Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + + + + \ No newline at end of file diff --git a/Themenmanagement/bin/Debug/SautinSoft.HtmlToRtf.dll b/Themenmanagement/bin/Debug/SautinSoft.HtmlToRtf.dll new file mode 100644 index 0000000..a9c4f42 Binary files /dev/null and b/Themenmanagement/bin/Debug/SautinSoft.HtmlToRtf.dll differ diff --git a/Themenmanagement/bin/Debug/Text_KB.rtf b/Themenmanagement/bin/Debug/Text_KB.rtf new file mode 100644 index 0000000..4e7db76 --- /dev/null +++ b/Themenmanagement/bin/Debug/Text_KB.rtf @@ -0,0 +1,1513 @@ +{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff0\deff0\stshfdbch0\stshfloch43\stshfhich43\stshfbi0\deflang1031\deflangfe1031\themelang2055\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f1\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;} +{\f2\fbidi \fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;}{\f3\fbidi \froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}{\f10\fbidi \fnil\fcharset2\fprq2{\*\panose 05000000000000000000}Wingdings;} +{\f34\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria Math;}{\f37\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\f40\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0604030504040204}Verdana;} +{\f43\fbidi \fnil\fcharset0\fprq2{\*\panose 00000000000000000000}Futura Book{\*\falt Courier New};}{\f44\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0604030504040204}Tahoma;} +{\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbmajor\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} +{\fhimajor\f31502\fbidi \fnil\fcharset0\fprq2{\*\panose 00000000000000000000}Futura Book{\*\falt Courier New};}{\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} +{\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbminor\f31505\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} +{\fhiminor\f31506\fbidi \fnil\fcharset0\fprq2{\*\panose 00000000000000000000}Futura Book{\*\falt Courier New};}{\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} +{\f45\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f46\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\f48\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f49\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;} +{\f50\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f51\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f52\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;} +{\f53\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f55\fbidi \fswiss\fcharset238\fprq2 Arial CE;}{\f56\fbidi \fswiss\fcharset204\fprq2 Arial Cyr;}{\f58\fbidi \fswiss\fcharset161\fprq2 Arial Greek;} +{\f59\fbidi \fswiss\fcharset162\fprq2 Arial Tur;}{\f60\fbidi \fswiss\fcharset177\fprq2 Arial (Hebrew);}{\f61\fbidi \fswiss\fcharset178\fprq2 Arial (Arabic);}{\f62\fbidi \fswiss\fcharset186\fprq2 Arial Baltic;} +{\f63\fbidi \fswiss\fcharset163\fprq2 Arial (Vietnamese);}{\f65\fbidi \fmodern\fcharset238\fprq1 Courier New CE;}{\f66\fbidi \fmodern\fcharset204\fprq1 Courier New Cyr;}{\f68\fbidi \fmodern\fcharset161\fprq1 Courier New Greek;} +{\f69\fbidi \fmodern\fcharset162\fprq1 Courier New Tur;}{\f70\fbidi \fmodern\fcharset177\fprq1 Courier New (Hebrew);}{\f71\fbidi \fmodern\fcharset178\fprq1 Courier New (Arabic);}{\f72\fbidi \fmodern\fcharset186\fprq1 Courier New Baltic;} +{\f73\fbidi \fmodern\fcharset163\fprq1 Courier New (Vietnamese);}{\f415\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\f416\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}{\f418\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;} +{\f419\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}{\f420\fbidi \fswiss\fcharset177\fprq2 Calibri (Hebrew);}{\f421\fbidi \fswiss\fcharset178\fprq2 Calibri (Arabic);}{\f422\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;} +{\f423\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\f445\fbidi \fswiss\fcharset238\fprq2 Verdana CE;}{\f446\fbidi \fswiss\fcharset204\fprq2 Verdana Cyr;}{\f448\fbidi \fswiss\fcharset161\fprq2 Verdana Greek;} +{\f449\fbidi \fswiss\fcharset162\fprq2 Verdana Tur;}{\f452\fbidi \fswiss\fcharset186\fprq2 Verdana Baltic;}{\f453\fbidi \fswiss\fcharset163\fprq2 Verdana (Vietnamese);}{\f485\fbidi \fswiss\fcharset238\fprq2 Tahoma CE;} +{\f486\fbidi \fswiss\fcharset204\fprq2 Tahoma Cyr;}{\f488\fbidi \fswiss\fcharset161\fprq2 Tahoma Greek;}{\f489\fbidi \fswiss\fcharset162\fprq2 Tahoma Tur;}{\f490\fbidi \fswiss\fcharset177\fprq2 Tahoma (Hebrew);} +{\f491\fbidi \fswiss\fcharset178\fprq2 Tahoma (Arabic);}{\f492\fbidi \fswiss\fcharset186\fprq2 Tahoma Baltic;}{\f493\fbidi \fswiss\fcharset163\fprq2 Tahoma (Vietnamese);}{\f494\fbidi \fswiss\fcharset222\fprq2 Tahoma (Thai);} +{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;} +{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);} +{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbmajor\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE;} +{\fdbmajor\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbmajor\f31521\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fdbmajor\f31522\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;} +{\fdbmajor\f31523\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbmajor\f31524\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbmajor\f31525\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;} +{\fdbmajor\f31526\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fbimajor\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fbimajor\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} +{\fbimajor\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbimajor\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbimajor\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);} +{\fbimajor\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbimajor\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbimajor\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);} +{\flominor\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flominor\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flominor\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;} +{\flominor\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flominor\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flominor\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);} +{\flominor\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flominor\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbminor\f31558\fbidi \froman\fcharset238\fprq2 Times New Roman CE;} +{\fdbminor\f31559\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbminor\f31561\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fdbminor\f31562\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;} +{\fdbminor\f31563\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbminor\f31564\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbminor\f31565\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;} +{\fdbminor\f31566\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fbiminor\f31578\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fbiminor\f31579\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} +{\fbiminor\f31581\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbiminor\f31582\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbiminor\f31583\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);} +{\fbiminor\f31584\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbiminor\f31585\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbiminor\f31586\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}} +{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0; +\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;\red159\green211\blue47;\ctextone\ctint255\cshade255\red0\green0\blue0;\ctextone\ctint255\cshade191\red0\green0\blue0; +\red255\green255\blue255;\ctextone\ctint63\cshade255\red192\green192\blue192;\ctextone\ctint51\cshade255\red204\green204\blue204;\cbackgroundone\ctint255\cshade255\red255\green255\blue255;\ctextone\ctint102\cshade255\red153\green153\blue153; +\ctextone\ctint127\cshade255\red128\green128\blue128;\caccentone\ctint255\cshade255\red159\green211\blue47;\red128\green182\blue19;\red0\green109\blue65;\caccentone\ctint255\cshade191\red119\green159\blue33; +\cbackgroundone\ctint255\cshade26\red26\green26\blue26;\chyperlink\ctint255\cshade255\red184\green179\blue175;\red231\green233\blue231;\red133\green124\blue118;\ctextone\ctint191\cshade255\red64\green64\blue64; +\cbackgroundone\ctint255\cshade216\red216\green216\blue216;\ctextone\ctint25\cshade255\red230\green230\blue230;\caccenttwo\ctint255\cshade204\red153\green203\blue43;\caccentone\ctint63\cshade255\red231\green244\blue203; +\caccenttwo\ctint255\cshade255\red179\green220\blue89;\caccenttwo\ctint255\cshade191\red143\green191\blue40;\caccenttwo\ctint63\cshade255\red236\green246\blue213;\caccentthree\ctint255\cshade255\red197\green229\blue130; +\caccentthree\ctint255\cshade191\red161\green213\blue55;\caccentthree\ctint63\cshade255\red240\green248\blue224;\caccentfour\ctint255\cshade255\red217\green237\blue172;\caccentfour\ctint255\cshade191\red178\green218\blue87; +\caccentfour\ctint63\cshade255\red245\green250\blue234;\caccentfive\ctint255\cshade255\red133\green124\blue118;\caccentfive\ctint255\cshade191\red99\green92\blue88;\caccentfive\ctint63\cshade255\red225\green222\blue221; +\caccentsix\ctint255\cshade255\red158\green150\blue145;\caccentsix\ctint255\cshade191\red120\green111\blue106;\caccentsix\ctint63\cshade255\red231\green228\blue227;\caccentone\ctint191\cshade255\red182\green222\blue99; +\caccenttwo\ctint191\cshade255\red197\green228\blue130;\caccentthree\ctint191\cshade255\red211\green235\blue161;\caccentfour\ctint191\cshade255\red226\green241\blue192;\caccentfive\ctint191\cshade255\red163\green156\blue152; +\caccentsix\ctint191\cshade255\red182\green176\blue172;\ctexttwo\ctint255\cshade255\red0\green109\blue65;\caccentone\ctint127\cshade255\red207\green233\blue151;\caccenttwo\ctint127\cshade255\red217\green237\blue172; +\caccentthree\ctint127\cshade255\red226\green242\blue192;\caccentfour\ctint127\cshade255\red236\green246\blue213;\caccentfive\ctint127\cshade255\red194\green189\blue186;\caccentsix\ctint127\cshade255\red206\green202\blue200; +\caccentone\ctint25\cshade255\red245\green250\blue234;\caccentone\ctint51\cshade255\red235\green246\blue213;\caccenttwo\ctint25\cshade255\red247\green251\blue238;\caccenttwo\ctint51\cshade255\red239\green248\blue221; +\caccentthree\ctint25\cshade255\red249\green252\blue242;\caccentthree\ctint51\cshade255\red243\green249\blue229;\caccentfour\ctint25\cshade255\red251\green253\blue246;\caccentfour\ctint51\cshade255\red247\green251\blue238; +\caccentfive\ctint25\cshade255\red243\green242\blue241;\caccentfive\ctint51\cshade255\red230\green228\blue227;\caccentsix\ctint25\cshade255\red245\green244\blue244;\caccentsix\ctint51\cshade255\red235\green233\blue232; +\ctextone\ctint255\cshade127\red0\green0\blue0;\caccentone\ctint255\cshade127\red79\green105\blue22;\caccenttwo\ctint255\cshade127\red95\green126\blue26;\caccentthree\ctint255\cshade127\red109\green147\blue30; +\caccentfour\ctint255\cshade127\red126\green167\blue36;\caccentfive\ctint255\cshade127\red66\green61\blue58;\caccentsix\ctint255\cshade127\red80\green74\blue70;\caccentfour\ctint255\cshade204\red185\green222\blue104; +\caccentthree\ctint255\cshade204\red169\green216\blue70;\caccentsix\ctint255\cshade204\red128\green119\blue113;\caccentfive\ctint255\cshade204\red106\green99\blue94;\caccentone\ctint102\cshade255\red216\green237\blue171; +\caccenttwo\ctint102\cshade255\red224\green241\blue188;\caccentthree\ctint102\cshade255\red231\green244\blue204;\caccentfour\ctint102\cshade255\red239\green247\blue221;\caccentfive\ctint102\cshade255\red206\green202\blue200; +\caccentsix\ctint102\cshade255\red216\green212\blue210;\ctextone\ctint255\cshade153\red0\green0\blue0;\caccentone\ctint255\cshade153\red95\green127\blue27;\caccenttwo\ctint255\cshade153\red115\green153\blue32; +\caccentthree\ctint255\cshade153\red132\green178\blue37;\caccentfour\ctint255\cshade153\red152\green201\blue43;\caccentfive\ctint255\cshade153\red79\green74\blue70;\caccentsix\ctint255\cshade153\red96\green89\blue85;}{\*\defchp +\f43\lang2055\langfe2055\langnp2055\langfenp2055 }{\*\defpap \ql \li0\ri0\sl20\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{\ql \li0\ri0\sl20\slmult0 +\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 \snext0 \sqformat \spriority0 \styrsid4088588 Normal;}{ +\s1\ql \li0\ri0\sb360\sl20\slmult0\widctlpar\tx227\tx340\tx454\wrapdefault\aspalpha\aspnum\faauto\ls35\outlinelevel0\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af1\afs32\alang1025 \ltrch\fcs0 +\b\f43\fs20\lang2055\langfe2055\kerning32\cgrid\langnp2055\langfenp2055 \sbasedon0 \snext0 \sqformat \spriority0 \styrsid12389189 heading 1;}{\s2\ql \li0\ri0\sb255\sl20\slmult0\widctlpar +\tx425\tx539\tx652\wrapdefault\aspalpha\aspnum\faauto\ls35\ilvl1\outlinelevel1\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ai\af1\afs28\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\kerning32\cgrid\langnp2055\langfenp2055 +\sbasedon1 \snext0 \sqformat \spriority0 \styrsid12389189 heading 2;}{\s3\ql \li0\ri0\sb255\sl20\slmult0\widctlpar\tx595\tx652\tx709\tx822\tx936\wrapdefault\aspalpha\aspnum\faauto\ls35\ilvl2\outlinelevel2\adjustright\rin0\lin0\itap0 \rtlch\fcs1 +\ab\ai\af1\afs26\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\kerning32\cgrid\langnp2055\langfenp2055 \sbasedon2 \snext0 \sqformat \spriority0 \styrsid12389189 heading 3;}{\s4\ql \fi-864\li1715\ri0\sb255\sl20\slmult0\widctlpar +\tx595\tx652\tx709\tx822\tx936\wrapdefault\aspalpha\aspnum\faauto\ls35\ilvl3\outlinelevel3\adjustright\rin0\lin1715\itap0 \rtlch\fcs1 \ai\af1\afs28\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\kerning32\cgrid\langnp2055\langfenp2055 +\sbasedon3 \snext0 \spriority0 \styrsid1448066 heading 4;}{\s5\ql \fi-1008\li1859\ri0\sl20\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls35\ilvl4\outlinelevel4\adjustright\rin0\lin1859\itap0 \rtlch\fcs1 \ab\ai\af0\afs26\alang1025 \ltrch\fcs0 +\f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 \sbasedon0 \snext0 \spriority0 \styrsid1448066 heading 5;}{\s6\ql \fi-1152\li2003\ri0\sl20\slmult0 +\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls35\ilvl5\outlinelevel5\adjustright\rin0\lin2003\itap0 \rtlch\fcs1 \ab\af0\afs22\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon0 \snext0 \spriority0 \styrsid1448066 heading 6;}{\s7\ql \fi-1296\li2147\ri0\sl20\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls35\ilvl6\outlinelevel6\adjustright\rin0\lin2147\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 +\f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 \sbasedon0 \snext0 \spriority0 \styrsid1448066 heading 7;}{\s8\ql \fi-1440\li2291\ri0\sl20\slmult0 +\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls35\ilvl7\outlinelevel7\adjustright\rin0\lin2291\itap0 \rtlch\fcs1 \ai\af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon0 \snext0 \spriority0 \styrsid1448066 heading 8;}{\s9\ql \fi-1584\li2435\ri0\sl20\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls35\ilvl8\outlinelevel8\adjustright\rin0\lin2435\itap0 \rtlch\fcs1 \af1\afs22\alang1025 \ltrch\fcs0 +\f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 \sbasedon0 \snext0 \spriority0 \styrsid1448066 heading 9;}{\*\cs10 \additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;}{\* +\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sl20\slmult0 +\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 \snext11 \ssemihidden \sunhideused Normal Table;}{ +\s15\ql \li0\ri0\sl20\slmult0\widctlpar\tqc\tx5103\tqr\tx10065\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs14\alang1025 \ltrch\fcs0 \f43\fs14\cf17\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon0 \snext15 \sautoupd \slink16 \spriority0 \styrsid1448066 header;}{\*\cs16 \additive \rtlch\fcs1 \af0\afs14 \ltrch\fcs0 \fs14\cf17 \sbasedon10 \slink15 \slocked \spriority0 \styrsid1448066 Kopfzeile Zchn;}{\s17\ql \li0\ri0\sl20\slmult0\widctlpar +\tqc\tx4536\tqr\tx9072\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs17\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 \sbasedon0 \snext17 \slink18 \styrsid1448066 footer;}{\*\cs18 +\additive \rtlch\fcs1 \af0 \ltrch\fcs0 \fs17 \sbasedon10 \slink17 \slocked \styrsid1448066 Fu\'dfzeile Zchn;}{\s19\ql \fi-255\li255\ri0\sl20\slmult0\widctlpar +\tx255\jclisttab\tx360\tx2160\wrapdefault\aspalpha\aspnum\faauto\ls23\adjustright\rin0\lin255\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe1031\cgrid\langnp2055\langfenp1031 \sbasedon0 \snext19 \spriority0 \styrsid1448066 +Aufz\'e4hlung 1/4 - 3/4;}{\s20\ql \fi-255\li255\ri0\sl20\slmult0\widctlpar\tx255\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls24\adjustright\rin0\lin255\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 +\f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 \sbasedon0 \snext20 \spriority0 \styrsid1448066 Aufz\'e4hlung Hervorhebung;}{\s21\ql \fi-255\li255\ri0\sb120\sa120\sl20\slmult0\widctlpar +\tx255\jclisttab\tx360\wrapdefault\aspalpha\aspnum\faauto\ls25\adjustright\rin0\lin255\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \b\f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 \sbasedon0 \snext21 \spriority0 \styrsid1448066 +Aufz\'e4hlung Hervorhebung Fett;}{\s22\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af44\afs16\alang1025 \ltrch\fcs0 \f44\fs16\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon0 \snext22 \slink23 \spriority0 \styrsid1448066 Balloon Text;}{\*\cs23 \additive \rtlch\fcs1 \af44\afs16 \ltrch\fcs0 \f44\fs16 \sbasedon10 \slink22 \slocked \spriority0 \styrsid1448066 Sprechblasentext Zchn;}{\s24\ql \li0\ri0\sl20\slmult0 +\widctlpar\brdrt\brdrs\brdrw10\brsp20 \wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs17\lang1024\langfe1024\cgrid\noproof\langnp2055\langfenp2055 +\sbasedon0 \snext24 \sqformat \spriority0 \styrsid1448066 Fussnote;}{\s25\ql \li0\ri0\sl20\slmult0\widctlpar\brdrb\brdrs\brdrw10\brsp20 \wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 +\f43\fs20\lang2055\langfe1031\cgrid\langnp2055\langfenp1031 \sbasedon0 \snext25 \spriority0 \styrsid1448066 Unterschriftenzeile;}{\s26\ql \fi-284\li284\ri0\sl20\slmult0\widctlpar +\jclisttab\tx284\wrapdefault\aspalpha\aspnum\faauto\ls36\adjustright\rin0\lin284\itap0\contextualspace \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang1031\langfe2055\cgrid\langnp1031\langfenp2055 +\sbasedon49 \snext26 \sqformat \spriority0 \styrsid1448066 Nummerierung;}{\*\ts27\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf18 \trbrdrb\brdrs\brdrw20\brdrcf18 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\cf19\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext27 \ssemihidden \spriority60 \styrsid1448066 Light Shading;}{\*\ts27\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf18 \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw20\brdrcf18 \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \sb0\sa0 \rtlch\fcs1 +\ab\af0 \ltrch\fcs0 \b \tscfirstrow Light Shading;}{\*\ts27\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf18 \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw20\brdrcf18 \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \sb0\sa0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b +\tsclastrow Light Shading;}{\*\ts27\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstcol Light Shading;}{\*\ts27\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastcol Light Shading;}{\*\ts27\tsrowd\tscellcfpat0\tscellcbpat21\tscellpct0\tsbrdrl\brdrnone +\tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Light Shading;}{\*\ts27\tsrowd\tscellcfpat0\tscellcbpat21\tscellpct0\tsbrdrl\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 +\af0 \ltrch\fcs0 \tscbandhorzodd Light Shading;}{\*\ts28\tsrowd\trbrdrh\brdrs\brdrw10\brdrcf23 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tscellcbpat22\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\cf18\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext28 \ssemihidden \spriority73 \styrsid1448066 Colorful Grid;}{\*\ts28\tsrowd\tscellcfpat0\tscellcbpat24\tscellpct0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstrow Colorful Grid;}{\*\ts28\tsrowd\tscellcfpat0\tscellcbpat24\tscellpct0 +\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf18 \tsclastrow Colorful Grid;}{\*\ts28\tsrowd\tscellcfpat0\tscellcbpat19\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \cf23 \tscfirstcol Colorful Grid;}{\*\ts28\tsrowd\tscellcfpat0\tscellcbpat19\tscellpct0 \rtlch\fcs1 \af0 +\ltrch\fcs0 \cf23 \tsclastcol Colorful Grid;}{\*\ts28\tsrowd\tscellcfpat0\tscellcbpat25\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Colorful Grid;}{\*\ts28\tsrowd\tscellcfpat0\tscellcbpat25\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 +\tscbandhorzodd Colorful Grid;}{\s29\ql \li0\ri0\sl20\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ilvl1\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ai\af31503\afs24\alang1025 \ltrch\fcs0 +\i\fs24\expnd3\expndtw15\cf26\lang2055\langfe2055\loch\f31502\hich\af31502\dbch\af31501\cgrid\langnp2055\langfenp2055 \sbasedon0 \snext0 \slink30 \spriority0 \styrsid1448066 Subtitle;}{\*\cs30 \additive \rtlch\fcs1 \ai\af31503\afs24 \ltrch\fcs0 +\i\fs24\expnd3\expndtw15\cf26\loch\f31502\hich\af31502\dbch\af31501 \sbasedon10 \slink29 \slocked \spriority0 \styrsid1448066 Untertitel Zchn;}{\s31\ql \li0\ri0\sl20\slmult0\widctlpar\brdrt\brdrs\brdrw60\brsp20\brdrcf17 +\tqc\tx5103\tqr\tx10065\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\rtlgutter\itap0 \rtlch\fcs1 \af0\afs14\alang1025 \ltrch\fcs0 \f43\fs14\cf27\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon17 \snext31 \slink32 \spriority0 \styrsid1448066 Fusszeile 1;}{\*\cs32 \additive \rtlch\fcs1 \af0\afs14 \ltrch\fcs0 \fs14\cf27 \sbasedon18 \slink31 \slocked \spriority0 \styrsid1448066 Fusszeile 1 Zchn;}{\s33\ql \li0\ri0\sl20\slmult0\widctlpar +\tqc\tx5103\tqr\tx10065\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs14\alang1025 \ltrch\fcs0 \f43\fs14\cf28\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 \sbasedon15 \snext33 \slink34 \spriority0 \styrsid1448066 +Kopfzeile 1;}{\*\cs34 \additive \rtlch\fcs1 \af0\afs14 \ltrch\fcs0 \fs14\cf28 \sbasedon16 \slink33 \slocked \spriority0 \styrsid1448066 Kopfzeile 1 Zchn;}{\s35\ql \li0\ri0\sb480\sl276\slmult1\keep\widctlpar +\tx227\tx340\tx454\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af31503\afs28\alang1025 \ltrch\fcs0 \b\fs28\cf29\lang2055\langfe2055\loch\f31502\hich\af31502\dbch\af31501\cgrid\langnp2055\langfenp2055 +\sbasedon1 \snext0 \sunhideused \spriority39 \styrsid1448066 TOC Heading;}{\s36\ql \fi-539\li539\ri397\widctlpar\tx539\tqr\tx7036\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin397\lin539\itap0\contextualspace \rtlch\fcs1 \af0\afs16\alang1025 +\ltrch\fcs0 \f43\fs17\cf30\lang1024\langfe1024\cgrid\noproof\langnp1033\langfenp2055 \snext61 \slink52 \spriority39 \styrsid13588575 toc 1;}{\s37\ql \fi-539\li539\ri397\widctlpar +\tx539\tqr\tx7036\wrapdefault\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin397\lin539\itap0\txbxtwalways \rtlch\fcs1 \af0\afs17\alang1025 \ltrch\fcs0 \f43\fs17\cf30\lang1024\langfe1024\cgrid\noproof\langnp1031\langfenp2055 +\snext61 \slink53 \spriority39 \styrsid13588575 toc 2;}{\s38\ql \fi-794\li794\ri397\widctlpar\tx794\tqr\tx7036\wrapdefault\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin397\lin794\itap0\txbxtwalways \rtlch\fcs1 \af0\afs17\alang1025 \ltrch\fcs0 +\f43\fs17\cf30\lang1024\langfe1024\cgrid\noproof\langnp1031\langfenp2055 \snext61 \spriority39 \styrsid13588575 toc 3;}{\*\cs39 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \ul\cf31 \sbasedon10 \sunhideused \styrsid1448066 Hyperlink;}{ +\s40\ql \fi-539\li539\ri397\widctlpar\tx539\tqr\tx7036\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin397\lin539\itap0\contextualspace \rtlch\fcs1 \ab\af0\afs16\alang1025 \ltrch\fcs0 +\f43\fs17\cf30\lang1024\langfe1024\cgrid\noproof\langnp1033\langfenp2055 \sbasedon36 \snext40 \spriority0 \styrsid13588575 Formatvorlage Verzeichnis 1 + Links: 0 cm Erste Zeile: 0 cm;}{\s41\ql \li0\ri0\sl20\slmult0 +\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs2\alang1025 \ltrch\fcs0 \fs2\lang2055\langfe2055\loch\f43\hich\af43\dbch\af31505\cgrid\langnp2055\langfenp2055 +\sbasedon0 \snext41 \slink42 \sqformat \spriority0 \styrsid1448066 Blindzeile;}{\*\cs42 \additive \rtlch\fcs1 \af0\afs2 \ltrch\fcs0 \fs2\dbch\af31505 \sbasedon10 \slink41 \slocked \spriority0 \styrsid1448066 Blindzeile Zchn;}{\s43\ql \li0\ri0\sl20\slmult0 +\widctlpar\brdrb\brdrs\brdrw10\brsp260 \wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs2\alang1025 \ltrch\fcs0 \fs2\lang2055\langfe2055\loch\f43\hich\af43\dbch\af31505\cgrid\langnp2055\langfenp2055 +\sbasedon41 \snext43 \slink44 \sqformat \spriority0 \styrsid1448066 Unterstrich Inhaltsverzeichnis;}{\*\cs44 \additive \rtlch\fcs1 \af0\afs2 \ltrch\fcs0 \fs2\dbch\af31505 \sbasedon42 \slink43 \slocked \spriority0 \styrsid1448066 +Unterstrich Inhaltsverzeichnis Zchn;}{\*\ts45\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf8 \trbrdrl\brdrs\brdrw20\brdrcf8 \trbrdrb\brdrs\brdrw20\brdrcf8 \trbrdrr\brdrs\brdrw20\brdrcf8 \trbrdrh\brdrs\brdrw20\brdrcf8 \trbrdrv\brdrs\brdrw20\brdrcf8 +\trftsWidthB3\trpaddl108\trpaddt108\trpaddb108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind108\tblindtype3\tsvertalt\tscellcbpat32\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri113\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin113\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext45 \slocked \sunhideused \spriority0 \styrsid1448066 Table Grid,TKB Tabelle 10pt;}{\*\ts45\tsrowd\tscellcfpat0\tscellcbpat33\tscellpct0 \ql \fi0\li0\ri113\sbauto0\saauto0\outlinelevel9\rin113\lin0\cufi0\culi0\curi0\lisb0\lisa0 +\rtlch\fcs1 \af0 \ltrch\fcs0 \b\f43\fs20\cf23 \tscfirstrow Table Grid,TKB Tabelle 10pt;}{\s46\ql \fi-198\li198\ri0\sl20\slmult0\widctlpar\jclisttab\tx198\wrapdefault\aspalpha\aspnum\faauto\ls38\adjustright\rin0\lin198\itap0\contextualspace \rtlch\fcs1 +\af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 \sbasedon0 \snext46 \spriority0 \styrsid1448066 TKB_Aufz\'e4hlung;}{\s47\ql \fi-360\li891\ri0\sl20\slmult0 +\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls40\adjustright\rin0\lin891\itap0\contextualspace \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 \sbasedon46 \snext47 \spriority0 \styrsid1448066 +TKB_Aufz\'e4hlung_einger.1;}{\s48\ql \li0\ri0\sl20\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\contextualspace \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon47 \snext48 \spriority0 \styrsid1448066 TKB_Aufz\'e4hlung_einger.2;}{\s49\ql \li0\ri0\sl20\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\contextualspace \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 +\f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 \sbasedon0 \snext49 \spriority34 \styrsid1448066 List Paragraph;}{\*\cs51 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \cf15 \sbasedon10 \ssemihidden \styrsid1448066 Placeholder Text;}{\*\cs52 +\additive \rtlch\fcs1 \af0\afs16 \ltrch\fcs0 \fs16\cf30\lang1024\langfe1024\noproof\langnp1033 \sbasedon10 \slink36 \slocked \spriority39 \styrsid1448066 Verzeichnis 1 Zchn;}{\*\cs53 \additive \rtlch\fcs1 \af0\afs17 \ltrch\fcs0 +\fs17\cf30\lang1024\langfe1024\noproof\langnp1031 \sbasedon10 \slink37 \slocked \spriority39 \styrsid1448066 Verzeichnis 2 Zchn;}{\s54\ql \li0\ri0\sl20\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 +\af0\afs42\alang1025 \ltrch\fcs0 \caps\f43\fs42\expnd4\expndtw20\cf28\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 \sbasedon0 \snext0 \sqformat \spriority0 \styrsid1448066 Titel Dokument;}{\s55\ql \li0\ri0\sl20\slmult0 +\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs42\alang1025 \ltrch\fcs0 \caps\f43\fs42\expnd4\expndtw20\cf17\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon0 \snext0 \sqformat \spriority0 \styrsid1448066 Untertitel Extern;}{\s56\ql \li0\ri0\sl20\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 +\f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 \sbasedon0 \snext56 \slink57 \spriority0 \styrsid1448066 Formatvorlage1;}{\*\cs57 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \sbasedon10 \slink56 \slocked \spriority0 \styrsid1448066 +Formatvorlage1 Zchn;}{\s58\ql \fi-198\li198\ri0\sl20\slmult0\widctlpar\jclisttab\tx198\wrapdefault\aspalpha\aspnum\faauto\ls22\adjustright\rin0\lin198\itap0\contextualspace \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 +\f43\fs20\lang1031\langfe2055\cgrid\langnp1031\langfenp2055 \sbasedon0 \snext58 \sqformat \spriority0 \styrsid1448066 Aufz\'e4hlung;}{\s59\ql \fi-227\li228\ri0\sl20\slmult0\widctlpar +\jclisttab\tx228\wrapdefault\aspalpha\aspnum\faauto\ls37\adjustright\rin0\lin228\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 \sbasedon0 \snext59 \spriority0 \styrsid1448066 +TKB Aufz\'e4hlung;}{\s60\ql \fi-284\li284\ri0\sl20\slmult0\widctlpar\jclisttab\tx284\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin284\itap0\contextualspace \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 +\f43\fs20\lang1031\langfe2055\cgrid\langnp1031\langfenp2055 \sbasedon0 \snext60 \spriority0 \styrsid1448066 Hyphens;}{\s61\ql \li0\ri0\sb2\sa2\sl-140\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 +\af0\afs14\alang1025 \ltrch\fcs0 \f43\fs14\cf18\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 \sbasedon0 \snext61 \spriority0 \styrsid1448066 TOC Paragraph;}{\s62\ql \fi-1134\li1134\ri0\widctlpar\brdrt\brdrs\brdrw15\brsp20 \brdrl\brdrs\brdrw15\brsp20 +\brdrb\brdrs\brdrw15\brsp20 \brdrr\brdrs\brdrw15\brsp20 \wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin1134\itap0 \shading2000 \rtlch\fcs1 \af31503\afs24\alang1025 \ltrch\fcs0 +\fs24\lang2055\langfe2055\loch\f31502\hich\af31502\dbch\af31501\cgrid\langnp2055\langfenp2055 \sbasedon0 \snext62 \slink63 \spriority0 \styrsid1448066 Message Header;}{\*\cs63 \additive \rtlch\fcs1 \af31503\afs24 \ltrch\fcs0 +\fs24\loch\f31502\hich\af31502\dbch\af31501\chshdng2000\chcfpat0\chcbpat0 \sbasedon10 \slink62 \slocked \spriority0 \styrsid1448066 Nachrichtenkopf Zchn;}{\s64\ql \li0\ri0\sl20\slmult0 +\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \b\f43\fs16\lang1031\langfe2055\cgrid\langnp1031\langfenp2055 \sbasedon0 \snext64 \slink209 \sqformat \spriority0 \styrsid1448066 +Futura Book 8pt bold;}{\s65\ql \li0\ri0\sl20\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs17\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon0 \snext65 \slink208 \sqformat \spriority0 \styrsid1448066 Futura Book 8.5pt;}{\*\ts66\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf34 \trbrdrl\brdrs\brdrw20\brdrcf34 \trbrdrb\brdrs\brdrw20\brdrcf34 \trbrdrr\brdrs\brdrw20\brdrcf34 \trbrdrh +\brdrs\brdrw20\brdrcf34 \trbrdrv\brdrs\brdrw20\brdrcf34 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tscellcbpat21\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 \sbasedon11 \snext66 \ssemihidden \spriority67 \styrsid1448066 +Medium Grid 1;}{\*\ts66\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstrow Medium Grid 1;}{\*\ts66\tsrowd\tsbrdrt\brdrs\brdrw45\brdrcf34 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastrow Medium Grid 1;}{\*\ts66\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b +\tscfirstcol Medium Grid 1;}{\*\ts66\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastcol Medium Grid 1;}{\*\ts66\tsrowd\tscellcfpat0\tscellcbpat25\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Medium Grid 1;}{\* +\ts66\tsrowd\tscellcfpat0\tscellcbpat25\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Medium Grid 1;}{\*\ts67\tsrowd\trbrdrt\brdrs\brdrw45 \trbrdrb\brdrs\brdrw45 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext67 \slocked \ssemihidden \spriority64 \styrsid1448066 Medium Shading 2;}{\*\ts67\tsrowd\tscellcfpat0\tscellcbpat18\tscellpct0\tsbrdrt\brdrs\brdrw45 \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw45 \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv +\brdrnone \sb0\sa0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf23 \tscfirstrow Medium Shading 2;}{\*\ts67\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrdb\brdrw15 \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw45 \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv +\brdrnone \sb0\sa0 \rtlch\fcs1 \af0 \ltrch\fcs0 \cf0 \tsclastrow Medium Shading 2;}{\*\ts67\tsrowd\tscellcfpat0\tscellcbpat18\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw45 \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone +\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf23 \tscfirstcol Medium Shading 2;}{\*\ts67\tsrowd\tscellcfpat0\tscellcbpat18\tscellpct0\tsbrdrl\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf23 \tsclastcol +Medium Shading 2;}{\*\ts67\tsrowd\tscellcfpat0\tscellcbpat35\tscellpct0\tsbrdrl\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Medium Shading 2;}{\* +\ts67\tsrowd\tscellcfpat0\tscellcbpat35\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Medium Shading 2;}{\*\ts67\tsrowd\tsbrdrt\brdrs\brdrw45 \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw45 \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone +\rtlch\fcs1 \af0 \ltrch\fcs0 \tscnecell Medium Shading 2;}{\*\ts67\tsrowd\tsbrdrt\brdrs\brdrw45 \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw45 \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \cf23 \tscnwcell Medium Shading 2;} +{\*\ts68\tsrowd\trbrdrt\brdrs\brdrw15\brdrcf9 \trbrdrl\brdrs\brdrw15\brdrcf9 \trbrdrb\brdrs\brdrw15\brdrcf9 \trbrdrr\brdrs\brdrw15\brdrcf9 \trbrdrv\brdrs\brdrw15\brdrcf9 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sl20\slmult0 +\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af0\afs20\alang1025 \ltrch\fcs0 \b\f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 \sbasedon11 \snext68 \slocked \ssemihidden \spriority0 \styrsid1448066 +Table Columns 3;}{\*\ts68\tsrowd\tscellcfpat9\tscellcbpat8\tscellpct10000\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 \cf8 \tscfirstrow Table Columns 3;}{\*\ts68\tsrowd\tsbrdrt\brdrs\brdrw15\brdrcf9 +\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab0\af0 \ltrch\fcs0 \b0 \tsclastrow Table Columns 3;}{\*\ts68\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab0\af0 \ltrch\fcs0 \b0 \tscfirstcol Table Columns 3;}{\* +\ts68\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab0\af0 \ltrch\fcs0 \b0 \tsclastcol Table Columns 3;}{\*\ts68\tsrowd\tscellcfpat16\tscellcbpat8\tscellpct10000 \rtlch\fcs1 \af0 \ltrch\fcs0 \cf0 \tscbandvertodd Table Columns 3;}{\* +\ts68\tsrowd\tscellcfpat1\tscellcbpat8\tscellpct1000 \rtlch\fcs1 \af0 \ltrch\fcs0 \cf0 \tscbandverteven Table Columns 3;}{\*\ts68\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscnecell Table Columns 3;}{\* +\ts69\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tscellcfpat16\tscellcbpat8\tscellpct10000\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\sl20\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext69 \slocked \ssemihidden \spriority0 \styrsid1448066 Table 3D effects 1;}{\*\ts69\tsrowd\tsbrdrb\brdrs\brdrw15\brdrcf15 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf12 \tscfirstrow Table 3D effects 1;}{\* +\ts69\tsrowd\tsbrdrt\brdrs\brdrw15\brdrcf8 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 \tsclastrow Table 3D effects 1;}{\*\ts69\tsrowd\tsbrdrr\brdrs\brdrw15\brdrcf15 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 +\ltrch\fcs0 \b \tscfirstcol Table 3D effects 1;}{\*\ts69\tsrowd\tsbrdrl\brdrs\brdrw15\brdrcf8 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 \tsclastcol Table 3D effects 1;}{\* +\ts69\tsrowd\tsbrdrl\brdrnil\tsbrdrb\brdrnil\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 \tscnecell Table 3D effects 1;}{\*\ts69\tsrowd\tsbrdrb\brdrnil\tsbrdrr\brdrnil\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 +\tscnwcell Table 3D effects 1;}{\*\ts69\tsrowd\tsbrdrt\brdrnil\tsbrdrl\brdrnil\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 \tscsecell Table 3D effects 1;}{\* +\ts69\tsrowd\tsbrdrt\brdrnil\tsbrdrr\brdrnil\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 \cf9 \tscswcell Table 3D effects 1;}{\*\ts70\tsrowd\trbrdrt\brdrs\brdrw30\brdrcf10 \trbrdrl\brdrs\brdrw30\brdrcf10 \trbrdrb +\brdrs\brdrw30\brdrcf10 \trbrdrr\brdrs\brdrw30\brdrcf10 \trbrdrh\brdrs\brdrw15\brdrcf3 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tscellcfpat10\tscellcbpat8\tscellpct10000\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\sl20\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\cf8\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext70 \slocked \ssemihidden \spriority0 \styrsid1448066 Table Colorful 1;}{\*\ts70\tsrowd\tscellcfpat1\tscellcbpat8\tscellpct10000\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\ai\af0 \ltrch\fcs0 \b\i \tscfirstrow Table Colorful 1;} +{\*\ts70\tsrowd\tscellcfpat9\tscellcbpat8\tscellpct10000\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\ai\af0 \ltrch\fcs0 \b\i \tscfirstcol Table Colorful 1;}{\* +\ts70\tsrowd\tscellcfpat1\tscellcbpat8\tscellpct10000\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 \tscnwcell Table Colorful 1;}{\*\ts70\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\ai0\af0 \ltrch\fcs0 \b\i0 \tscswcell +Table Colorful 1;}{\* +\ts71\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tscellcbpat36\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\cf18\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext71 \ssemihidden \spriority72 \styrsid1448066 Colorful List;}{\*\ts71\tsrowd\tscellcfpat0\tscellcbpat37\tscellpct0\tsbrdrb\brdrs\brdrw30\brdrcf23 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf23 \tscfirstrow Colorful List;}{\* +\ts71\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrs\brdrw30\brdrcf18 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf37 \tsclastrow Colorful List;}{\*\ts71\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstcol Colorful List;}{\*\ts71\tsrowd +\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastcol Colorful List;}{\*\ts71\tsrowd\tscellcfpat0\tscellcbpat21\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 +\tscbandvertodd Colorful List;}{\*\ts71\tsrowd\tscellcfpat0\tscellcbpat22\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Colorful List;}{\* +\ts72\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tblind0\tblindtype3\tsvertalt\tscellcfpat16\tscellcbpat8\tscellpct10000\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\sl20\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext72 \slocked \ssemihidden \spriority0 \styrsid1448066 Table 3D effects 2;}{\*\ts72\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstrow Table 3D effects 2;}{\* +\ts72\tsrowd\tsbrdrt\brdrnil\tsbrdrb\brdrnil\tsbrdrr\brdrs\brdrw15\brdrcf15 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 \tscfirstcol Table 3D effects 2;}{\*\ts72\tsrowd\tsbrdrr\brdrs\brdrw15\brdrcf8 +\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 \tsclastcol Table 3D effects 2;}{\*\ts72\tsrowd\tsbrdrt\brdrs\brdrw15\brdrcf15 \tsbrdrb\brdrs\brdrw15\brdrcf8 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 +\tscbandhorzodd Table 3D effects 2;}{\*\ts72\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscswcell Table 3D effects 2;}{\* +\ts73\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sl20\slmult0 +\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 \sbasedon11 \snext73 \slocked \ssemihidden \spriority0 \styrsid1448066 +Table 3D effects 3;}{\*\ts73\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstrow Table 3D effects 3;}{\*\ts73\tsrowd\tsbrdrt\brdrnil\tsbrdrb\brdrnil\tsbrdrr\brdrs\brdrw15\brdrcf15 +\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 \tscfirstcol Table 3D effects 3;}{\*\ts73\tsrowd\tsbrdrr\brdrs\brdrw15\brdrcf8 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 \tsclastcol Table 3D effects 3;}{\* +\ts73\tsrowd\tscellcfpat16\tscellcbpat8\tscellpct10000 \rtlch\fcs1 \af0 \ltrch\fcs0 \cf0 \tscbandvertodd Table 3D effects 3;}{\*\ts73\tsrowd\tscellcfpat16\tscellcbpat8\tscellpct5000 \rtlch\fcs1 \af0 \ltrch\fcs0 \cf0 \tscbandverteven Table 3D effects 3;} +{\*\ts73\tsrowd\tsbrdrt\brdrs\brdrw15\brdrcf15 \tsbrdrb\brdrs\brdrw15\brdrcf8 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Table 3D effects 3;}{\*\ts73\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 +\ltrch\fcs0 \b \tscswcell Table 3D effects 3;}{\*\ts74\tsrowd\trbrdrt\brdrs\brdrw30\brdrcf1 \trbrdrb\brdrs\brdrw30\brdrcf1 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sl20\slmult0 +\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 \sbasedon11 \snext74 \slocked \ssemihidden \spriority0 \styrsid1448066 +Table Classic 1;}{\*\ts74\tsrowd\tsbrdrb\brdrs\brdrw15\brdrcf1 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ai\af0 \ltrch\fcs0 \i \tscfirstrow Table Classic 1;}{\*\ts74\tsrowd\tsbrdrt\brdrs\brdrw15\brdrcf1 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil +\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0 \tsclastrow Table Classic 1;}{\*\ts74\tsrowd\tsbrdrr\brdrs\brdrw15\brdrcf1 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 \tscfirstcol Table Classic 1;}{\* +\ts74\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\ai0\af0 \ltrch\fcs0 \b\i0 \tscnecell Table Classic 1;}{\*\ts74\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscswcell Table Classic 1;}{\*\ts75\tsrowd +\trbrdrt\brdrs\brdrw30\brdrcf1 \trbrdrb\brdrs\brdrw30\brdrcf1 \trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\sl20\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext75 \slocked \ssemihidden \spriority0 \styrsid1448066 Table Classic 2;}{\*\ts75\tsrowd\tscellcfpat12\tscellcbpat8\tscellpct10000\tsbrdrb\brdrs\brdrw15\brdrcf1 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 \cf8 +\tscfirstrow Table Classic 2;}{\*\ts75\tsrowd\tsbrdrt\brdrs\brdrw15\brdrcf1 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 \tsclastrow Table Classic 2;}{\* +\ts75\tsrowd\tscellcfpat16\tscellcbpat8\tscellpct10000\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstcol Table Classic 2;}{\*\ts75\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscnecell +Table Classic 2;}{\*\ts75\tsrowd\tscellcfpat12\tscellcbpat8\tscellpct10000\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 \tscnwcell Table Classic 2;}{\*\ts75\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 \cf9 +\tscswcell Table Classic 2;}{\*\ts76\tsrowd\trbrdrt\brdrs\brdrw30\brdrcf1 \trbrdrl\brdrs\brdrw30\brdrcf1 \trbrdrb\brdrs\brdrw30\brdrcf1 \trbrdrr\brdrs\brdrw30\brdrcf1 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tscellcfpat16\tscellcbpat8\tscellpct10000\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\sl20\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\cf9\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext76 \slocked \ssemihidden \spriority0 \styrsid1448066 Table Classic 3;}{\*\ts76\tsrowd\tscellcfpat9\tscellcbpat8\tscellpct10000\tsbrdrb\brdrs\brdrw15\brdrcf1 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\ai\af0 \ltrch\fcs0 +\b\i\cf8 \tscfirstrow Table Classic 3;}{\*\ts76\tsrowd\tscellcfpat8\tscellcbpat8\tscellpct10000\tsbrdrt\brdrs\brdrw30\brdrcf1 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 \cf9 \tsclastrow Table Classic 3;}{\* +\ts76\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf1 \tscfirstcol Table Classic 3;}{\*\ts77\tsrowd\trbrdrt\brdrs\brdrw30\brdrcf1 \trbrdrl\brdrs\brdrw15\brdrcf1 \trbrdrb\brdrs\brdrw30\brdrcf1 \trbrdrr +\brdrs\brdrw15\brdrcf1 \trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sl20\slmult0 +\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 \sbasedon11 \snext77 \slocked \ssemihidden \spriority0 \styrsid1448066 +Table Classic 4;}{\*\ts77\tsrowd\tscellcfpat9\tscellcbpat8\tscellpct5000\tsbrdrb\brdrs\brdrw15\brdrcf1 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\ai\af0 \ltrch\fcs0 \b\i\cf8 \tscfirstrow Table Classic 4;}{\* +\ts77\tsrowd\tscellcfpat1\tscellcbpat8\tscellpct5000\tsbrdrb\brdrs\brdrw15\brdrcf1 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 \cf9 \tsclastrow Table Classic 4;}{\*\ts77\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 +\ltrch\fcs0 \b \tscfirstcol Table Classic 4;}{\*\ts77\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscnwcell Table Classic 4;}{\*\ts77\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 \cf9 +\tscswcell Table Classic 4;}{\*\ts78\tsrowd\trbrdrb\brdrs\brdrw30\brdrcf1 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tscellcfpat7\tscellcbpat8\tscellpct2000\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\sl20\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext78 \slocked \ssemihidden \spriority0 \styrsid1448066 Table Colorful 2;}{\*\ts78\tsrowd\tscellcfpat13\tscellcbpat8\tscellpct10000\tsbrdrb\brdrs\brdrw30\brdrcf1 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\ai\af0 \ltrch\fcs0 +\b\i\cf8 \tscfirstrow Table Colorful 2;}{\*\ts78\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\ai\af0 \ltrch\fcs0 \b\i \tscfirstcol Table Colorful 2;}{\* +\ts78\tsrowd\tscellcfpat16\tscellcbpat8\tscellpct10000\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 \tsclastcol Table Colorful 2;}{\*\ts78\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\ai0\af0 \ltrch\fcs0 \b\i0 \tscswcell +Table Colorful 2;}{\*\ts79\tsrowd\trbrdrt\brdrs\brdrw45\brdrcf1 \trbrdrl\brdrs\brdrw45\brdrcf1 \trbrdrb\brdrs\brdrw45\brdrcf1 \trbrdrr\brdrs\brdrw45\brdrcf1 \trbrdrh\brdrs\brdrw15\brdrcf16 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tscellcfpat10\tscellcbpat8\tscellpct2500\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\sl20\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext79 \slocked \ssemihidden \spriority0 \styrsid1448066 Table Colorful 3;}{\*\ts79\tsrowd\tscellcfpat10\tscellcbpat8\tscellpct10000\tsbrdrb\brdrs\brdrw15\brdrcf1 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 +\tscfirstrow Table Colorful 3;}{\*\ts79\tsrowd\tscellcfpat10\tscellcbpat8\tscellpct10000\tsbrdrl\brdrs\brdrw90\brdrcf1 \tsbrdrr\brdrs\brdrw15\brdrcf1 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 \tscfirstcol Table Colorful 3;}{\* +\ts79\tsrowd\tscellcfpat1\tscellcbpat8\tscellpct10000\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf8 \tscnwcell Table Colorful 3;}{\*\ts80\tsrowd\trbrdrt\brdrs\brdrw30\brdrcf1 \trbrdrl\brdrs\brdrw30\brdrcf1 \trbrdrb +\brdrs\brdrw30\brdrcf1 \trbrdrr\brdrs\brdrw30\brdrcf1 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sl20\slmult0 +\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af0\afs20\alang1025 \ltrch\fcs0 \b\f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 \sbasedon11 \snext80 \slocked \ssemihidden \spriority0 \styrsid1448066 +Table Columns 1;}{\*\ts80\tsrowd\tsbrdrb\brdrdb\brdrw15\brdrcf1 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab0\af0 \ltrch\fcs0 \b0 \tscfirstrow Table Columns 1;}{\*\ts80\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab0\af0 \ltrch\fcs0 +\b0 \tsclastrow Table Columns 1;}{\*\ts80\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab0\af0 \ltrch\fcs0 \b0 \tscfirstcol Table Columns 1;}{\*\ts80\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab0\af0 \ltrch\fcs0 \b0 \tsclastcol +Table Columns 1;}{\*\ts80\tsrowd\tscellcfpat1\tscellcbpat8\tscellpct2500 \rtlch\fcs1 \af0 \ltrch\fcs0 \cf0 \tscbandvertodd Table Columns 1;}{\*\ts80\tsrowd\tscellcfpat7\tscellcbpat8\tscellpct2500 \rtlch\fcs1 \af0 \ltrch\fcs0 \cf0 \tscbandverteven +Table Columns 1;}{\*\ts80\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscnecell Table Columns 1;}{\*\ts80\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscswcell Table Columns 1;}{\* +\ts81\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sl20\slmult0 +\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af0\afs20\alang1025 \ltrch\fcs0 \b\f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 \sbasedon11 \snext81 \slocked \ssemihidden \spriority0 \styrsid1448066 +Table Columns 2;}{\*\ts81\tsrowd\tscellcfpat9\tscellcbpat8\tscellpct10000\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 \cf8 \tscfirstrow Table Columns 2;}{\*\ts81\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab0\af0 +\ltrch\fcs0 \b0 \tsclastrow Table Columns 2;}{\*\ts81\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab0\af0 \ltrch\fcs0 \b0\cf1 \tscfirstcol Table Columns 2;}{\*\ts81\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab0\af0 \ltrch\fcs0 +\b0 \tsclastcol Table Columns 2;}{\*\ts81\tsrowd\tscellcfpat1\tscellcbpat8\tscellpct3000 \rtlch\fcs1 \af0 \ltrch\fcs0 \cf0 \tscbandvertodd Table Columns 2;}{\*\ts81\tsrowd\tscellcfpat4\tscellcbpat8\tscellpct2500 \rtlch\fcs1 \af0 \ltrch\fcs0 \cf0 +\tscbandverteven Table Columns 2;}{\*\ts81\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscnecell Table Columns 2;}{\*\ts81\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscswcell +Table Columns 2;}{\*\ts82\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\sl20\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext82 \slocked \ssemihidden \spriority0 \styrsid1448066 Table Columns 4;}{\*\ts82\tsrowd\tscellcfpat1\tscellcbpat8\tscellpct10000\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 \cf8 \tscfirstrow Table Columns 4;}{\* +\ts82\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastrow Table Columns 4;}{\*\ts82\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastcol Table Columns 4;}{\* +\ts82\tsrowd\tscellcfpat10\tscellcbpat8\tscellpct5000 \rtlch\fcs1 \af0 \ltrch\fcs0 \cf0 \tscbandvertodd Table Columns 4;}{\*\ts82\tsrowd\tscellcfpat1\tscellcbpat8\tscellpct1000 \rtlch\fcs1 \af0 \ltrch\fcs0 \cf0 \tscbandverteven Table Columns 4;}{\* +\ts83\tsrowd\trbrdrt\brdrs\brdrw30\brdrcf15 \trbrdrl\brdrs\brdrw30\brdrcf15 \trbrdrb\brdrs\brdrw30\brdrcf15 \trbrdrr\brdrs\brdrw30\brdrcf15 \trbrdrv\brdrs\brdrw15\brdrcf16 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sl20\slmult0 +\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 \sbasedon11 \snext83 \slocked \ssemihidden \spriority0 \styrsid1448066 +Table Columns 5;}{\*\ts83\tsrowd\tsbrdrb\brdrs\brdrw15\brdrcf15 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\ai\af0 \ltrch\fcs0 \b\i \tscfirstrow Table Columns 5;}{\*\ts83\tsrowd\tsbrdrt\brdrs\brdrw15\brdrcf15 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil +\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastrow Table Columns 5;}{\*\ts83\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstcol Table Columns 5;}{\*\ts83\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 +\ltrch\fcs0 \b \tsclastcol Table Columns 5;}{\*\ts83\tsrowd\tscellcfpat16\tscellcbpat8\tscellpct10000 \rtlch\fcs1 \af0 \ltrch\fcs0 \cf0 \tscbandvertodd Table Columns 5;}{\*\ts83\tsrowd \rtlch\fcs1 \af0 \ltrch\fcs0 \cf0 \tscbandverteven Table Columns 5;} +{\*\ts84\tsrowd\trbrdrh\brdrs\brdrw45\brdrcf8 \trbrdrv\brdrs\brdrw45\brdrcf8 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sl20\slmult0 +\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 \sbasedon11 \snext84 \slocked \ssemihidden \spriority0 \styrsid1448066 +Table Contemporary;}{\*\ts84\tsrowd\tscellcfpat1\tscellcbpat8\tscellpct2000\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf0 \tscfirstrow Table Contemporary;}{\* +\ts84\tsrowd\tscellcfpat1\tscellcbpat8\tscellpct500\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 \cf0 \tscbandhorzodd Table Contemporary;}{\*\ts84\tsrowd\tscellcfpat1\tscellcbpat8\tscellpct2000\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil +\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0 \tscbandhorzeven Table Contemporary;}{\*\ts85\tsrowd\trbrdrt\brdrdb\brdrw15\brdrcf1 \trbrdrl\brdrdb\brdrw15\brdrcf1 \trbrdrb\brdrdb\brdrw15\brdrcf1 \trbrdrr\brdrdb\brdrw15\brdrcf1 \trbrdrh\brdrs\brdrw15\brdrcf1 \trbrdrv +\brdrs\brdrw15\brdrcf1 \trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sl20\slmult0 +\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 \sbasedon11 \snext85 \slocked \ssemihidden \spriority0 \styrsid1448066 +Table Elegant;}{\*\ts85\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 \caps\cf0 \tscfirstrow Table Elegant;}{\*\ts86\tsrowd\trbrdrt\brdrs\brdrw15\brdrcf1 \trbrdrl\brdrs\brdrw15\brdrcf1 \trbrdrb\brdrs\brdrw15\brdrcf1 \trbrdrr +\brdrs\brdrw15\brdrcf1 \trbrdrh\brdrs\brdrw15\brdrcf1 \trbrdrv\brdrs\brdrw15\brdrcf1 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sl20\slmult0 +\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 \sbasedon11 \snext86 \ssemihidden \spriority0 \styrsid1448066 Table Grid 1;} +{\*\ts86\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ai\af0 \ltrch\fcs0 \i \tsclastrow Table Grid 1;}{\*\ts86\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ai\af0 \ltrch\fcs0 \i \tsclastcol Table Grid 1;}{\*\ts87\tsrowd\trbrdrh +\brdrs\brdrw15\brdrcf1 \trbrdrv\brdrs\brdrw15\brdrcf1 \trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\sl20\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext87 \slocked \ssemihidden \spriority0 \styrsid1448066 Table Grid 2;}{\*\ts87\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstrow Table Grid 2;}{\*\ts87\tsrowd\tsbrdrt\brdrs\brdrw15\brdrcf1 +\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastrow Table Grid 2;}{\*\ts87\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstcol Table Grid 2;}{\* +\ts87\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastcol Table Grid 2;}{\*\ts88\tsrowd\trbrdrt\brdrs\brdrw15\brdrcf1 \trbrdrl\brdrs\brdrw30\brdrcf1 \trbrdrb\brdrs\brdrw15\brdrcf1 \trbrdrr\brdrs\brdrw30\brdrcf1 +\trbrdrv\brdrs\brdrw15\brdrcf1 \trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sl20\slmult0 +\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 \sbasedon11 \snext88 \slocked \ssemihidden \spriority0 \styrsid1448066 +Table Grid 3;}{\*\ts88\tsrowd\tscellcfpat7\tscellcbpat8\tscellpct3000\tsbrdrb\brdrs\brdrw15\brdrcf1 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 \tscfirstrow Table Grid 3;}{\*\ts88\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil +\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastrow Table Grid 3;}{\*\ts88\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastcol Table Grid 3;}{\*\ts89\tsrowd\trbrdrl\brdrs\brdrw30\brdrcf1 \trbrdrr\brdrs\brdrw30\brdrcf1 +\trbrdrh\brdrs\brdrw15\brdrcf1 \trbrdrv\brdrs\brdrw15\brdrcf1 \trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\sl20\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext89 \slocked \ssemihidden \spriority0 \styrsid1448066 Table Grid 4;}{\*\ts89\tsrowd\tscellcfpat7\tscellcbpat8\tscellpct3000\tsbrdrb\brdrs\brdrw15\brdrcf1 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 \cf0 \tscfirstrow +Table Grid 4;}{\*\ts89\tsrowd\tscellcfpat7\tscellcbpat8\tscellpct3000\tsbrdrt\brdrs\brdrw15\brdrcf1 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf0 \tsclastrow Table Grid 4;}{\*\ts89\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil +\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf0 \tsclastcol Table Grid 4;}{\*\ts90\tsrowd\trbrdrt\brdrs\brdrw30\brdrcf1 \trbrdrl\brdrs\brdrw30\brdrcf1 \trbrdrb\brdrs\brdrw30\brdrcf1 \trbrdrr\brdrs\brdrw30\brdrcf1 \trbrdrh\brdrs\brdrw15\brdrcf1 \trbrdrv +\brdrs\brdrw15\brdrcf1 \trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sl20\slmult0 +\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 \sbasedon11 \snext90 \slocked \ssemihidden \spriority0 \styrsid1448066 +Table Grid 5;}{\*\ts90\tsrowd\tsbrdrb\brdrs\brdrw30\brdrcf1 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 \tscfirstrow Table Grid 5;}{\*\ts90\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastrow +Table Grid 5;}{\*\ts90\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastcol Table Grid 5;}{\*\ts90\tsrowd\tsbrdrdgl\brdrs\brdrw15\brdrcf1 \tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 \tscnwcell Table Grid 5;}{\* +\ts91\tsrowd\trbrdrt\brdrs\brdrw30\brdrcf1 \trbrdrl\brdrs\brdrw30\brdrcf1 \trbrdrb\brdrs\brdrw30\brdrcf1 \trbrdrr\brdrs\brdrw30\brdrcf1 \trbrdrv\brdrs\brdrw15\brdrcf1 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sl20\slmult0 +\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 \sbasedon11 \snext91 \slocked \ssemihidden \spriority0 \styrsid1448066 +Table Grid 6;}{\*\ts91\tsrowd\tsbrdrb\brdrs\brdrw15\brdrcf1 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstrow Table Grid 6;}{\*\ts91\tsrowd\tsbrdrt\brdrs\brdrw15\brdrcf1 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 +\af0 \ltrch\fcs0 \cf0 \tsclastrow Table Grid 6;}{\*\ts91\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstcol Table Grid 6;}{\*\ts91\tsrowd\tsbrdrdgl\brdrs\brdrw15\brdrcf1 \tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 +\ltrch\fcs0 \tscnwcell Table Grid 6;}{\*\ts92\tsrowd\trbrdrt\brdrs\brdrw30\brdrcf1 \trbrdrl\brdrs\brdrw30\brdrcf1 \trbrdrb\brdrs\brdrw30\brdrcf1 \trbrdrr\brdrs\brdrw30\brdrcf1 \trbrdrh\brdrs\brdrw15\brdrcf1 \trbrdrv\brdrs\brdrw15\brdrcf1 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sl20\slmult0 +\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af0\afs20\alang1025 \ltrch\fcs0 \b\f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 \sbasedon11 \snext92 \slocked \ssemihidden \spriority0 \styrsid1448066 +Table Grid 7;}{\*\ts92\tsrowd\tsbrdrb\brdrs\brdrw30\brdrcf1 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab0\af0 \ltrch\fcs0 \b0 \tscfirstrow Table Grid 7;}{\*\ts92\tsrowd\tsbrdrt\brdrs\brdrw15\brdrcf1 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil +\rtlch\fcs1 \ab0\af0 \ltrch\fcs0 \b0 \tsclastrow Table Grid 7;}{\*\ts92\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab0\af0 \ltrch\fcs0 \b0 \tscfirstcol Table Grid 7;}{\*\ts92\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab0\af0 +\ltrch\fcs0 \b0 \tsclastcol Table Grid 7;}{\*\ts92\tsrowd\tsbrdrdgl\brdrs\brdrw15\brdrcf1 \tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 \tscnwcell Table Grid 7;}{\*\ts93\tsrowd\trbrdrt\brdrs\brdrw15\brdrcf9 \trbrdrl\brdrs\brdrw15\brdrcf9 \trbrdrb +\brdrs\brdrw15\brdrcf9 \trbrdrr\brdrs\brdrw15\brdrcf9 \trbrdrh\brdrs\brdrw15\brdrcf9 \trbrdrv\brdrs\brdrw15\brdrcf9 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sl20\slmult0 +\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 \sbasedon11 \snext93 \slocked \ssemihidden \spriority0 \styrsid1448066 +Table Grid 8;}{\*\ts93\tsrowd\tscellcfpat9\tscellcbpat8\tscellpct10000\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf8 \tscfirstrow Table Grid 8;}{\*\ts93\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 +\ltrch\fcs0 \b\cf0 \tsclastrow Table Grid 8;}{\*\ts93\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf0 \tsclastcol Table Grid 8;}{\*\ts94\tsrowd\trbrdrt\brdrs\brdrw30\brdrcf10 \trbrdrl\brdrs\brdrw15\brdrcf10 \trbrdrb +\brdrs\brdrw30\brdrcf10 \trbrdrr\brdrs\brdrw15\brdrcf10 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sl20\slmult0 +\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 \sbasedon11 \snext94 \slocked \ssemihidden \spriority0 \styrsid1448066 +Table List 1;}{\*\ts94\tsrowd\tscellcfpat16\tscellcbpat8\tscellpct10000\tsbrdrb\brdrs\brdrw15\brdrcf1 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\ai\af0 \ltrch\fcs0 \b\i\cf13 \tscfirstrow Table List 1;}{\*\ts94\tsrowd\tsbrdrt +\brdrs\brdrw15\brdrcf1 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 \tsclastrow Table List 1;}{\*\ts94\tsrowd\tscellcfpat16\tscellcbpat8\tscellpct10000\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 \cf0 +\tscbandhorzodd Table List 1;}{\*\ts94\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 \cf0 \tscbandhorzeven Table List 1;}{\*\ts94\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscswcell +Table List 1;}{\*\ts95\tsrowd\trbrdrb\brdrs\brdrw30\brdrcf15 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh2\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sl20\slmult0 +\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 \sbasedon11 \snext95 \slocked \ssemihidden \spriority0 \styrsid1448066 +Table List 2;}{\*\ts95\tsrowd\tscellcfpat10\tscellcbpat11\tscellpct7500\tsbrdrb\brdrs\brdrw15\brdrcf1 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf8 \tscfirstrow Table List 2;}{\*\ts95\tsrowd\tsbrdrt\brdrs\brdrw15\brdrcf1 +\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 \tsclastrow Table List 2;}{\*\ts95\tsrowd\tscellcfpat4\tscellcbpat8\tscellpct2000\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 \cf0 \tscbandhorzodd Table List 2;}{\* +\ts95\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 \cf0 \tscbandhorzeven Table List 2;}{\*\ts95\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscswcell Table List 2;}{\*\ts96\tsrowd\trbrdrt +\brdrs\brdrw30\brdrcf1 \trbrdrb\brdrs\brdrw30\brdrcf1 \trbrdrh\brdrs\brdrw15\brdrcf1 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sl20\slmult0 +\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 \sbasedon11 \snext96 \slocked \ssemihidden \spriority0 \styrsid1448066 +Table List 3;}{\*\ts96\tsrowd\tsbrdrb\brdrs\brdrw30\brdrcf1 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf9 \tscfirstrow Table List 3;}{\*\ts96\tsrowd\tsbrdrt\brdrs\brdrw30\brdrcf1 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil +\rtlch\fcs1 \af0 \ltrch\fcs0 \tsclastrow Table List 3;}{\*\ts96\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ai\af0 \ltrch\fcs0 \i\cf9 \tscswcell Table List 3;}{\*\ts97\tsrowd\trbrdrt\brdrs\brdrw30\brdrcf1 \trbrdrl\brdrs\brdrw30\brdrcf1 +\trbrdrb\brdrs\brdrw30\brdrcf1 \trbrdrr\brdrs\brdrw30\brdrcf1 \trbrdrh\brdrs\brdrw15\brdrcf1 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sl20\slmult0 +\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 \sbasedon11 \snext97 \slocked \ssemihidden \spriority0 \styrsid1448066 +Table List 4;}{\*\ts97\tsrowd\tscellcfpat15\tscellcbpat8\tscellpct10000\tsbrdrb\brdrs\brdrw30\brdrcf1 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf8 \tscfirstrow Table List 4;}{\*\ts98\tsrowd\trbrdrt\brdrs\brdrw15\brdrcf1 +\trbrdrl\brdrs\brdrw15\brdrcf1 \trbrdrb\brdrs\brdrw15\brdrcf1 \trbrdrr\brdrs\brdrw15\brdrcf1 \trbrdrh\brdrs\brdrw15\brdrcf1 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sl20\slmult0 +\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 \sbasedon11 \snext98 \slocked \ssemihidden \spriority0 \styrsid1448066 +Table List 5;}{\*\ts98\tsrowd\tsbrdrb\brdrs\brdrw30\brdrcf1 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstrow Table List 5;}{\*\ts98\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b +\tscfirstcol Table List 5;}{\*\ts99\tsrowd\trbrdrt\brdrs\brdrw15\brdrcf1 \trbrdrl\brdrs\brdrw15\brdrcf1 \trbrdrb\brdrs\brdrw15\brdrcf1 \trbrdrr\brdrs\brdrw15\brdrcf1 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tblind0\tblindtype3\tsvertalt\tscellcfpat1\tscellcbpat8\tscellpct5000\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\sl20\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext99 \slocked \ssemihidden \spriority0 \styrsid1448066 Table List 6;}{\*\ts99\tsrowd\tsbrdrb\brdrs\brdrw30\brdrcf1 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstrow Table List 6;}{\*\ts99\tsrowd\tsbrdrr +\brdrs\brdrw30\brdrcf1 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstcol Table List 6;}{\*\ts99\tsrowd\tscellcfpat1\tscellcbpat8\tscellpct2500\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 +\tscbandhorzodd Table List 6;}{\*\ts100\tsrowd\trbrdrt\brdrs\brdrw30\brdrcf11 \trbrdrl\brdrs\brdrw15\brdrcf11 \trbrdrb\brdrs\brdrw30\brdrcf11 \trbrdrr\brdrs\brdrw15\brdrcf11 \trbrdrh\brdrs\brdrw15\brdrcf1 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sl20\slmult0 +\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 \sbasedon11 \snext100 \slocked \ssemihidden \spriority0 \styrsid1448066 +Table List 7;}{\*\ts100\tsrowd\tscellcfpat16\tscellcbpat8\tscellpct10000\tsbrdrb\brdrs\brdrw30\brdrcf11 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstrow Table List 7;}{\*\ts100\tsrowd\tsbrdrt\brdrs\brdrw30\brdrcf11 +\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastrow Table List 7;}{\*\ts100\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstcol Table List 7;}{\* +\ts100\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastcol Table List 7;}{\*\ts100\tsrowd\tscellcfpat1\tscellcbpat8\tscellpct2000\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 \cf0 \tscbandhorzodd +Table List 7;}{\*\ts100\tsrowd\tscellcfpat7\tscellcbpat8\tscellpct2500\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzeven Table List 7;}{\*\ts101\tsrowd\trbrdrt\brdrs\brdrw15\brdrcf1 \trbrdrl\brdrs\brdrw15\brdrcf1 \trbrdrb +\brdrs\brdrw15\brdrcf1 \trbrdrr\brdrs\brdrw15\brdrcf1 \trbrdrv\brdrs\brdrw15\brdrcf1 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sl20\slmult0 +\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 \sbasedon11 \snext101 \slocked \ssemihidden \spriority0 \styrsid1448066 +Table List 8;}{\*\ts101\tsrowd\tscellcfpat7\tscellcbpat8\tscellpct10000\tsbrdrb\brdrs\brdrw15\brdrcf1 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\ai\af0 \ltrch\fcs0 \b\i \tscfirstrow Table List 8;}{\*\ts101\tsrowd\tsbrdrt\brdrs\brdrw15\brdrcf1 +\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastrow Table List 8;}{\*\ts101\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstcol Table List 8;}{\* +\ts101\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastcol Table List 8;}{\*\ts101\tsrowd\tscellcfpat7\tscellcbpat8\tscellpct2500\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 \cf0 \tscbandhorzodd +Table List 8;}{\*\ts101\tsrowd\tscellcfpat6\tscellcbpat8\tscellpct5000\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzeven Table List 8;}{\s102\ql \fi-200\li200\ri0\sl20\slmult0 +\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin200\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 \sbasedon0 \snext0 \ssemihidden \spriority0 \styrsid1448066 +table of authorities;}{\s103\ql \li0\ri0\sl20\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon0 \snext0 \ssemihidden \spriority0 \styrsid1448066 table of figures;}{\*\ts104\tsrowd\trbrdrt\brdrs\brdrw15\brdrcf1 \trbrdrl\brdrs\brdrw15\brdrcf1 \trbrdrb\brdrs\brdrw15\brdrcf1 \trbrdrr\brdrs\brdrw15\brdrcf1 \trbrdrh\brdrs\brdrw15\brdrcf1 +\trbrdrv\brdrs\brdrw15\brdrcf1 \trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sl20\slmult0 +\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 \sbasedon11 \snext104 \slocked \ssemihidden \spriority0 \styrsid1448066 +Table Professional;}{\*\ts104\tsrowd\tscellcfpat1\tscellcbpat8\tscellpct10000\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf0 \tscfirstrow Table Professional;}{\*\ts105\tsrowd\trbrdrt\brdrs\brdrw30\brdrcf11 \trbrdrb +\brdrs\brdrw30\brdrcf11 \trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sl20\slmult0 +\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 \sbasedon11 \snext105 \slocked \ssemihidden \spriority0 \styrsid1448066 +Table Simple 1;}{\*\ts105\tsrowd\tsbrdrb\brdrs\brdrw15\brdrcf11 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 \tscfirstrow Table Simple 1;}{\*\ts105\tsrowd\tsbrdrt\brdrs\brdrw15\brdrcf11 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil +\rtlch\fcs1 \af0 \ltrch\fcs0 \tsclastrow Table Simple 1;}{\* +\ts106\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sl20\slmult0 +\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 \sbasedon11 \snext106 \slocked \ssemihidden \spriority0 \styrsid1448066 +Table Simple 2;}{\*\ts106\tsrowd\tsbrdrb\brdrs\brdrw30\brdrcf1 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstrow Table Simple 2;}{\*\ts106\tsrowd\tsbrdrt\brdrs\brdrw15\brdrcf1 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil +\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf0 \tsclastrow Table Simple 2;}{\*\ts106\tsrowd\tsbrdrr\brdrs\brdrw30\brdrcf1 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstcol Table Simple 2;}{\*\ts106\tsrowd\tsbrdrl +\brdrs\brdrw15\brdrcf1 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastcol Table Simple 2;}{\*\ts106\tsrowd\tsbrdrl\brdrnil\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscnecell Table Simple 2;} +{\*\ts106\tsrowd\tsbrdrt\brdrnil\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscswcell Table Simple 2;}{\*\ts107\tsrowd\trbrdrt\brdrs\brdrw30\brdrcf1 \trbrdrl\brdrs\brdrw30\brdrcf1 \trbrdrb\brdrs\brdrw30\brdrcf1 \trbrdrr +\brdrs\brdrw30\brdrcf1 \trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sl20\slmult0 +\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 \sbasedon11 \snext107 \slocked \ssemihidden \spriority0 \styrsid1448066 +Table Simple 3;}{\*\ts107\tsrowd\tscellcfpat1\tscellcbpat8\tscellpct10000\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf8 \tscfirstrow Table Simple 3;}{\* +\ts108\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sl20\slmult0 +\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 \sbasedon11 \snext108 \slocked \ssemihidden \spriority0 \styrsid1448066 +Table Subtle 1;}{\*\ts108\tsrowd\tsbrdrt\brdrs\brdrw15\brdrcf1 \tsbrdrb\brdrs\brdrw30\brdrcf1 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 \tscfirstrow Table Subtle 1;}{\*\ts108\tsrowd\tscellcfpat12\tscellcbpat8\tscellpct2500\tsbrdrt +\brdrs\brdrw30\brdrcf1 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 \tsclastrow Table Subtle 1;}{\*\ts108\tsrowd\tsbrdrr\brdrs\brdrw30\brdrcf1 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 \tscfirstcol +Table Subtle 1;}{\*\ts108\tsrowd\tsbrdrl\brdrs\brdrw30\brdrcf1 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 \tsclastcol Table Subtle 1;}{\*\ts108\tsrowd\tscellcfpat14\tscellcbpat8\tscellpct2500\tsbrdrb\brdrs\brdrw15\brdrcf1 +\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Table Subtle 1;}{\*\ts108\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscnecell Table Subtle 1;}{\* +\ts108\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscswcell Table Subtle 1;}{\*\ts109\tsrowd\trbrdrl\brdrs\brdrw15\brdrcf1 \trbrdrr\brdrs\brdrw15\brdrcf1 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sl20\slmult0 +\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 \sbasedon11 \snext109 \slocked \ssemihidden \spriority0 \styrsid1448066 +Table Subtle 2;}{\*\ts109\tsrowd\tsbrdrb\brdrs\brdrw30\brdrcf1 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 \tscfirstrow Table Subtle 2;}{\*\ts109\tsrowd\tsbrdrt\brdrs\brdrw30\brdrcf1 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 +\af0 \ltrch\fcs0 \tsclastrow Table Subtle 2;}{\*\ts109\tsrowd\tscellcfpat11\tscellcbpat8\tscellpct2500\tsbrdrr\brdrs\brdrw30\brdrcf1 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 \tscfirstcol Table Subtle 2;}{\* +\ts109\tsrowd\tscellcfpat14\tscellcbpat8\tscellpct2500\tsbrdrl\brdrs\brdrw30\brdrcf1 \tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 \tsclastcol Table Subtle 2;}{\*\ts109\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 +\ltrch\fcs0 \b \tscnecell Table Subtle 2;}{\*\ts109\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscswcell Table Subtle 2;}{\*\ts110\tsrowd\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr +\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\sl20\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext110 \slocked \ssemihidden \spriority0 \styrsid1448066 Table Theme;}{\*\ts111\tsrowd\trbrdrt\brdroutset\brdrw15 \trbrdrl\brdroutset\brdrw15 \trbrdrb\brdroutset\brdrw15 \trbrdrr\brdroutset\brdrw15 \trbrdrh\brdroutset\brdrw15 \trbrdrv +\brdroutset\brdrw15 +\trftsWidthB3\trspdl20\trspdt20\trspdb20\trspdr20\trspdfl3\trspdft3\trspdfb3\trspdfr3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\sl20\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext111 \slocked \ssemihidden \spriority0 \styrsid1448066 Table Web 1;}{\*\ts111\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 \cf0 \tscfirstrow Table Web 1;}{\*\ts112\tsrowd\trbrdrt\brdrinset\brdrw15 \trbrdrl +\brdrinset\brdrw15 \trbrdrb\brdrinset\brdrw15 \trbrdrr\brdrinset\brdrw15 \trbrdrh\brdrinset\brdrw15 \trbrdrv\brdrinset\brdrw15 +\trftsWidthB3\trspdl20\trspdt20\trspdb20\trspdr20\trspdfl3\trspdft3\trspdfb3\trspdfr3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\sl20\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext112 \slocked \ssemihidden \spriority0 \styrsid1448066 Table Web 2;}{\*\ts112\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 \cf0 \tscfirstrow Table Web 2;}{\*\ts113\tsrowd\trbrdrt\brdroutset\brdrw60 \trbrdrl +\brdroutset\brdrw60 \trbrdrb\brdroutset\brdrw60 \trbrdrr\brdroutset\brdrw60 \trbrdrh\brdroutset\brdrw15 \trbrdrv\brdroutset\brdrw15 +\trftsWidthB3\trspdl20\trspdt20\trspdb20\trspdr20\trspdfl3\trspdft3\trspdfb3\trspdfr3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\sl20\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext113 \slocked \ssemihidden \spriority0 \styrsid1448066 Table Web 3;}{\*\ts113\tsrowd\tsbrdrdgl\brdrnil\tsbrdrdgr\brdrnil \rtlch\fcs1 \af0 \ltrch\fcs0 \cf0 \tscfirstrow Table Web 3;}{\*\ts114\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf26 \trbrdrb +\brdrs\brdrw20\brdrcf26 \trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\cf29\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext114 \slocked \ssemihidden \spriority60 \styrsid1448066 Light Shading Accent 1;}{\*\ts114\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf26 \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw20\brdrcf26 \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone +\sb0\sa0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstrow Light Shading Accent 1;}{\*\ts114\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf26 \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw20\brdrcf26 \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \sb0\sa0 \rtlch\fcs1 +\ab\af0 \ltrch\fcs0 \b \tsclastrow Light Shading Accent 1;}{\*\ts114\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstcol Light Shading Accent 1;}{\*\ts114\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastcol Light Shading Accent 1;}{\* +\ts114\tsrowd\tscellcfpat0\tscellcbpat38\tscellpct0\tsbrdrl\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Light Shading Accent 1;}{\*\ts114\tsrowd\tscellcfpat0\tscellcbpat38\tscellpct0\tsbrdrl +\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Light Shading Accent 1;}{\*\ts115\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf39 \trbrdrb\brdrs\brdrw20\brdrcf39 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\cf40\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext115 \slocked \ssemihidden \spriority60 \styrsid1448066 Light Shading Accent 2;}{\*\ts115\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf39 \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw20\brdrcf39 \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone +\sb0\sa0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstrow Light Shading Accent 2;}{\*\ts115\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf39 \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw20\brdrcf39 \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \sb0\sa0 \rtlch\fcs1 +\ab\af0 \ltrch\fcs0 \b \tsclastrow Light Shading Accent 2;}{\*\ts115\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstcol Light Shading Accent 2;}{\*\ts115\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastcol Light Shading Accent 2;}{\* +\ts115\tsrowd\tscellcfpat0\tscellcbpat41\tscellpct0\tsbrdrl\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Light Shading Accent 2;}{\*\ts115\tsrowd\tscellcfpat0\tscellcbpat41\tscellpct0\tsbrdrl +\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Light Shading Accent 2;}{\*\ts116\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf42 \trbrdrb\brdrs\brdrw20\brdrcf42 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\cf43\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext116 \slocked \ssemihidden \spriority60 \styrsid1448066 Light Shading Accent 3;}{\*\ts116\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf42 \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw20\brdrcf42 \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone +\sb0\sa0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstrow Light Shading Accent 3;}{\*\ts116\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf42 \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw20\brdrcf42 \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \sb0\sa0 \rtlch\fcs1 +\ab\af0 \ltrch\fcs0 \b \tsclastrow Light Shading Accent 3;}{\*\ts116\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstcol Light Shading Accent 3;}{\*\ts116\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastcol Light Shading Accent 3;}{\* +\ts116\tsrowd\tscellcfpat0\tscellcbpat44\tscellpct0\tsbrdrl\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Light Shading Accent 3;}{\*\ts116\tsrowd\tscellcfpat0\tscellcbpat44\tscellpct0\tsbrdrl +\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Light Shading Accent 3;}{\*\ts117\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf45 \trbrdrb\brdrs\brdrw20\brdrcf45 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\cf46\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext117 \slocked \ssemihidden \spriority60 \styrsid1448066 Light Shading Accent 4;}{\*\ts117\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf45 \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw20\brdrcf45 \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone +\sb0\sa0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstrow Light Shading Accent 4;}{\*\ts117\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf45 \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw20\brdrcf45 \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \sb0\sa0 \rtlch\fcs1 +\ab\af0 \ltrch\fcs0 \b \tsclastrow Light Shading Accent 4;}{\*\ts117\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstcol Light Shading Accent 4;}{\*\ts117\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastcol Light Shading Accent 4;}{\* +\ts117\tsrowd\tscellcfpat0\tscellcbpat47\tscellpct0\tsbrdrl\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Light Shading Accent 4;}{\*\ts117\tsrowd\tscellcfpat0\tscellcbpat47\tscellpct0\tsbrdrl +\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Light Shading Accent 4;}{\*\ts118\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf48 \trbrdrb\brdrs\brdrw20\brdrcf48 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\cf49\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext118 \slocked \ssemihidden \spriority60 \styrsid1448066 Light Shading Accent 5;}{\*\ts118\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf48 \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw20\brdrcf48 \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone +\sb0\sa0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstrow Light Shading Accent 5;}{\*\ts118\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf48 \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw20\brdrcf48 \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \sb0\sa0 \rtlch\fcs1 +\ab\af0 \ltrch\fcs0 \b \tsclastrow Light Shading Accent 5;}{\*\ts118\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstcol Light Shading Accent 5;}{\*\ts118\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastcol Light Shading Accent 5;}{\* +\ts118\tsrowd\tscellcfpat0\tscellcbpat50\tscellpct0\tsbrdrl\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Light Shading Accent 5;}{\*\ts118\tsrowd\tscellcfpat0\tscellcbpat50\tscellpct0\tsbrdrl +\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Light Shading Accent 5;}{\*\ts119\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf51 \trbrdrb\brdrs\brdrw20\brdrcf51 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\cf52\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext119 \slocked \ssemihidden \spriority60 \styrsid1448066 Light Shading Accent 6;}{\*\ts119\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf51 \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw20\brdrcf51 \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone +\sb0\sa0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstrow Light Shading Accent 6;}{\*\ts119\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf51 \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw20\brdrcf51 \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \sb0\sa0 \rtlch\fcs1 +\ab\af0 \ltrch\fcs0 \b \tsclastrow Light Shading Accent 6;}{\*\ts119\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstcol Light Shading Accent 6;}{\*\ts119\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastcol Light Shading Accent 6;}{\* +\ts119\tsrowd\tscellcfpat0\tscellcbpat53\tscellpct0\tsbrdrl\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Light Shading Accent 6;}{\*\ts119\tsrowd\tscellcfpat0\tscellcbpat53\tscellpct0\tsbrdrl +\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Light Shading Accent 6;}{\*\ts120\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf34 \trbrdrl\brdrs\brdrw20\brdrcf34 \trbrdrb\brdrs\brdrw20\brdrcf34 \trbrdrr +\brdrs\brdrw20\brdrcf34 \trbrdrh\brdrs\brdrw20\brdrcf34 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext120 \slocked \ssemihidden \spriority63 \styrsid1448066 Medium Shading 1;}{\*\ts120\tsrowd\tscellcfpat0\tscellcbpat18\tscellpct0\tsbrdrt\brdrs\brdrw20\brdrcf34 \tsbrdrl\brdrs\brdrw20\brdrcf34 \tsbrdrb\brdrs\brdrw20\brdrcf34 \tsbrdrr +\brdrs\brdrw20\brdrcf34 \tsbrdrh\brdrnone \tsbrdrv\brdrnone \sb0\sa0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf23 \tscfirstrow Medium Shading 1;}{\*\ts120\tsrowd\tsbrdrt\brdrdb\brdrw15\brdrcf34 \tsbrdrl\brdrs\brdrw20\brdrcf34 \tsbrdrb\brdrs\brdrw20\brdrcf34 +\tsbrdrr\brdrs\brdrw20\brdrcf34 \tsbrdrh\brdrnone \tsbrdrv\brdrnone \sb0\sa0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastrow Medium Shading 1;}{\*\ts120\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstcol Medium Shading 1;}{\*\ts120\tsrowd \rtlch\fcs1 +\ab\af0 \ltrch\fcs0 \b \tsclastcol Medium Shading 1;}{\*\ts120\tsrowd\tscellcfpat0\tscellcbpat21\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Medium Shading 1;}{\*\ts120\tsrowd\tscellcfpat0\tscellcbpat21\tscellpct0\tsbrdrh\brdrnone \tsbrdrv +\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Medium Shading 1;}{\*\ts120\tsrowd\tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzeven Medium Shading 1;}{\*\ts121\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf54 \trbrdrl +\brdrs\brdrw20\brdrcf54 \trbrdrb\brdrs\brdrw20\brdrcf54 \trbrdrr\brdrs\brdrw20\brdrcf54 \trbrdrh\brdrs\brdrw20\brdrcf54 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext121 \slocked \ssemihidden \spriority63 \styrsid1448066 Medium Shading 1 Accent 1;}{\*\ts121\tsrowd\tscellcfpat0\tscellcbpat26\tscellpct0\tsbrdrt\brdrs\brdrw20\brdrcf54 \tsbrdrl\brdrs\brdrw20\brdrcf54 \tsbrdrb\brdrs\brdrw20\brdrcf54 +\tsbrdrr\brdrs\brdrw20\brdrcf54 \tsbrdrh\brdrnone \tsbrdrv\brdrnone \sb0\sa0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf23 \tscfirstrow Medium Shading 1 Accent 1;}{\*\ts121\tsrowd\tsbrdrt\brdrdb\brdrw15\brdrcf54 \tsbrdrl\brdrs\brdrw20\brdrcf54 \tsbrdrb +\brdrs\brdrw20\brdrcf54 \tsbrdrr\brdrs\brdrw20\brdrcf54 \tsbrdrh\brdrnone \tsbrdrv\brdrnone \sb0\sa0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastrow Medium Shading 1 Accent 1;}{\*\ts121\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstcol +Medium Shading 1 Accent 1;}{\*\ts121\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastcol Medium Shading 1 Accent 1;}{\*\ts121\tsrowd\tscellcfpat0\tscellcbpat38\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Medium Shading 1 Accent 1;}{\* +\ts121\tsrowd\tscellcfpat0\tscellcbpat38\tscellpct0\tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Medium Shading 1 Accent 1;}{\*\ts121\tsrowd\tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 +\tscbandhorzeven Medium Shading 1 Accent 1;}{\*\ts122\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf55 \trbrdrl\brdrs\brdrw20\brdrcf55 \trbrdrb\brdrs\brdrw20\brdrcf55 \trbrdrr\brdrs\brdrw20\brdrcf55 \trbrdrh\brdrs\brdrw20\brdrcf55 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext122 \slocked \ssemihidden \spriority63 \styrsid1448066 Medium Shading 1 Accent 2;}{\*\ts122\tsrowd\tscellcfpat0\tscellcbpat39\tscellpct0\tsbrdrt\brdrs\brdrw20\brdrcf55 \tsbrdrl\brdrs\brdrw20\brdrcf55 \tsbrdrb\brdrs\brdrw20\brdrcf55 +\tsbrdrr\brdrs\brdrw20\brdrcf55 \tsbrdrh\brdrnone \tsbrdrv\brdrnone \sb0\sa0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf23 \tscfirstrow Medium Shading 1 Accent 2;}{\*\ts122\tsrowd\tsbrdrt\brdrdb\brdrw15\brdrcf55 \tsbrdrl\brdrs\brdrw20\brdrcf55 \tsbrdrb +\brdrs\brdrw20\brdrcf55 \tsbrdrr\brdrs\brdrw20\brdrcf55 \tsbrdrh\brdrnone \tsbrdrv\brdrnone \sb0\sa0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastrow Medium Shading 1 Accent 2;}{\*\ts122\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstcol +Medium Shading 1 Accent 2;}{\*\ts122\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastcol Medium Shading 1 Accent 2;}{\*\ts122\tsrowd\tscellcfpat0\tscellcbpat41\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Medium Shading 1 Accent 2;}{\* +\ts122\tsrowd\tscellcfpat0\tscellcbpat41\tscellpct0\tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Medium Shading 1 Accent 2;}{\*\ts122\tsrowd\tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 +\tscbandhorzeven Medium Shading 1 Accent 2;}{\*\ts123\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf56 \trbrdrl\brdrs\brdrw20\brdrcf56 \trbrdrb\brdrs\brdrw20\brdrcf56 \trbrdrr\brdrs\brdrw20\brdrcf56 \trbrdrh\brdrs\brdrw20\brdrcf56 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext123 \slocked \ssemihidden \spriority63 \styrsid1448066 Medium Shading 1 Accent 3;}{\*\ts123\tsrowd\tscellcfpat0\tscellcbpat42\tscellpct0\tsbrdrt\brdrs\brdrw20\brdrcf56 \tsbrdrl\brdrs\brdrw20\brdrcf56 \tsbrdrb\brdrs\brdrw20\brdrcf56 +\tsbrdrr\brdrs\brdrw20\brdrcf56 \tsbrdrh\brdrnone \tsbrdrv\brdrnone \sb0\sa0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf23 \tscfirstrow Medium Shading 1 Accent 3;}{\*\ts123\tsrowd\tsbrdrt\brdrdb\brdrw15\brdrcf56 \tsbrdrl\brdrs\brdrw20\brdrcf56 \tsbrdrb +\brdrs\brdrw20\brdrcf56 \tsbrdrr\brdrs\brdrw20\brdrcf56 \tsbrdrh\brdrnone \tsbrdrv\brdrnone \sb0\sa0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastrow Medium Shading 1 Accent 3;}{\*\ts123\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstcol +Medium Shading 1 Accent 3;}{\*\ts123\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastcol Medium Shading 1 Accent 3;}{\*\ts123\tsrowd\tscellcfpat0\tscellcbpat44\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Medium Shading 1 Accent 3;}{\* +\ts123\tsrowd\tscellcfpat0\tscellcbpat44\tscellpct0\tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Medium Shading 1 Accent 3;}{\*\ts123\tsrowd\tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 +\tscbandhorzeven Medium Shading 1 Accent 3;}{\*\ts124\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf57 \trbrdrl\brdrs\brdrw20\brdrcf57 \trbrdrb\brdrs\brdrw20\brdrcf57 \trbrdrr\brdrs\brdrw20\brdrcf57 \trbrdrh\brdrs\brdrw20\brdrcf57 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext124 \slocked \ssemihidden \spriority63 \styrsid1448066 Medium Shading 1 Accent 4;}{\*\ts124\tsrowd\tscellcfpat0\tscellcbpat45\tscellpct0\tsbrdrt\brdrs\brdrw20\brdrcf57 \tsbrdrl\brdrs\brdrw20\brdrcf57 \tsbrdrb\brdrs\brdrw20\brdrcf57 +\tsbrdrr\brdrs\brdrw20\brdrcf57 \tsbrdrh\brdrnone \tsbrdrv\brdrnone \sb0\sa0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf23 \tscfirstrow Medium Shading 1 Accent 4;}{\*\ts124\tsrowd\tsbrdrt\brdrdb\brdrw15\brdrcf57 \tsbrdrl\brdrs\brdrw20\brdrcf57 \tsbrdrb +\brdrs\brdrw20\brdrcf57 \tsbrdrr\brdrs\brdrw20\brdrcf57 \tsbrdrh\brdrnone \tsbrdrv\brdrnone \sb0\sa0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastrow Medium Shading 1 Accent 4;}{\*\ts124\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstcol +Medium Shading 1 Accent 4;}{\*\ts124\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastcol Medium Shading 1 Accent 4;}{\*\ts124\tsrowd\tscellcfpat0\tscellcbpat47\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Medium Shading 1 Accent 4;}{\* +\ts124\tsrowd\tscellcfpat0\tscellcbpat47\tscellpct0\tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Medium Shading 1 Accent 4;}{\*\ts124\tsrowd\tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 +\tscbandhorzeven Medium Shading 1 Accent 4;}{\*\ts125\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf58 \trbrdrl\brdrs\brdrw20\brdrcf58 \trbrdrb\brdrs\brdrw20\brdrcf58 \trbrdrr\brdrs\brdrw20\brdrcf58 \trbrdrh\brdrs\brdrw20\brdrcf58 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext125 \slocked \ssemihidden \spriority63 \styrsid1448066 Medium Shading 1 Accent 5;}{\*\ts125\tsrowd\tscellcfpat0\tscellcbpat48\tscellpct0\tsbrdrt\brdrs\brdrw20\brdrcf58 \tsbrdrl\brdrs\brdrw20\brdrcf58 \tsbrdrb\brdrs\brdrw20\brdrcf58 +\tsbrdrr\brdrs\brdrw20\brdrcf58 \tsbrdrh\brdrnone \tsbrdrv\brdrnone \sb0\sa0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf23 \tscfirstrow Medium Shading 1 Accent 5;}{\*\ts125\tsrowd\tsbrdrt\brdrdb\brdrw15\brdrcf58 \tsbrdrl\brdrs\brdrw20\brdrcf58 \tsbrdrb +\brdrs\brdrw20\brdrcf58 \tsbrdrr\brdrs\brdrw20\brdrcf58 \tsbrdrh\brdrnone \tsbrdrv\brdrnone \sb0\sa0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastrow Medium Shading 1 Accent 5;}{\*\ts125\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstcol +Medium Shading 1 Accent 5;}{\*\ts125\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastcol Medium Shading 1 Accent 5;}{\*\ts125\tsrowd\tscellcfpat0\tscellcbpat50\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Medium Shading 1 Accent 5;}{\* +\ts125\tsrowd\tscellcfpat0\tscellcbpat50\tscellpct0\tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Medium Shading 1 Accent 5;}{\*\ts125\tsrowd\tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 +\tscbandhorzeven Medium Shading 1 Accent 5;}{\*\ts126\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf59 \trbrdrl\brdrs\brdrw20\brdrcf59 \trbrdrb\brdrs\brdrw20\brdrcf59 \trbrdrr\brdrs\brdrw20\brdrcf59 \trbrdrh\brdrs\brdrw20\brdrcf59 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext126 \slocked \ssemihidden \spriority63 \styrsid1448066 Medium Shading 1 Accent 6;}{\*\ts126\tsrowd\tscellcfpat0\tscellcbpat51\tscellpct0\tsbrdrt\brdrs\brdrw20\brdrcf59 \tsbrdrl\brdrs\brdrw20\brdrcf59 \tsbrdrb\brdrs\brdrw20\brdrcf59 +\tsbrdrr\brdrs\brdrw20\brdrcf59 \tsbrdrh\brdrnone \tsbrdrv\brdrnone \sb0\sa0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf23 \tscfirstrow Medium Shading 1 Accent 6;}{\*\ts126\tsrowd\tsbrdrt\brdrdb\brdrw15\brdrcf59 \tsbrdrl\brdrs\brdrw20\brdrcf59 \tsbrdrb +\brdrs\brdrw20\brdrcf59 \tsbrdrr\brdrs\brdrw20\brdrcf59 \tsbrdrh\brdrnone \tsbrdrv\brdrnone \sb0\sa0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastrow Medium Shading 1 Accent 6;}{\*\ts126\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstcol +Medium Shading 1 Accent 6;}{\*\ts126\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastcol Medium Shading 1 Accent 6;}{\*\ts126\tsrowd\tscellcfpat0\tscellcbpat53\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Medium Shading 1 Accent 6;}{\* +\ts126\tsrowd\tscellcfpat0\tscellcbpat53\tscellpct0\tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Medium Shading 1 Accent 6;}{\*\ts126\tsrowd\tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 +\tscbandhorzeven Medium Shading 1 Accent 6;}{\*\ts127\tsrowd\trbrdrt\brdrs\brdrw45 \trbrdrb\brdrs\brdrw45 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext127 \slocked \ssemihidden \spriority64 \styrsid1448066 Medium Shading 2 Accent 1;}{\*\ts127\tsrowd\tscellcfpat0\tscellcbpat26\tscellpct0\tsbrdrt\brdrs\brdrw45 \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw45 \tsbrdrr\brdrnone \tsbrdrh\brdrnone +\tsbrdrv\brdrnone \sb0\sa0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf23 \tscfirstrow Medium Shading 2 Accent 1;}{\*\ts127\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrdb\brdrw15 \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw45 \tsbrdrr\brdrnone \tsbrdrh +\brdrnone \tsbrdrv\brdrnone \sb0\sa0 \rtlch\fcs1 \af0 \ltrch\fcs0 \cf0 \tsclastrow Medium Shading 2 Accent 1;}{\*\ts127\tsrowd\tscellcfpat0\tscellcbpat26\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw45 \tsbrdrr\brdrnone \tsbrdrh +\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf23 \tscfirstcol Medium Shading 2 Accent 1;}{\*\ts127\tsrowd\tscellcfpat0\tscellcbpat26\tscellpct0\tsbrdrl\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \ab\af0 +\ltrch\fcs0 \b\cf23 \tsclastcol Medium Shading 2 Accent 1;}{\*\ts127\tsrowd\tscellcfpat0\tscellcbpat35\tscellpct0\tsbrdrl\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd +Medium Shading 2 Accent 1;}{\*\ts127\tsrowd\tscellcfpat0\tscellcbpat35\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Medium Shading 2 Accent 1;}{\*\ts127\tsrowd\tsbrdrt\brdrs\brdrw45 \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw45 \tsbrdrr\brdrnone +\tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \tscnecell Medium Shading 2 Accent 1;}{\*\ts127\tsrowd\tsbrdrt\brdrs\brdrw45 \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw45 \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 +\ltrch\fcs0 \cf23 \tscnwcell Medium Shading 2 Accent 1;}{\*\ts128\tsrowd\trbrdrt\brdrs\brdrw45 \trbrdrb\brdrs\brdrw45 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext128 \slocked \ssemihidden \spriority64 \styrsid1448066 Medium Shading 2 Accent 2;}{\*\ts128\tsrowd\tscellcfpat0\tscellcbpat39\tscellpct0\tsbrdrt\brdrs\brdrw45 \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw45 \tsbrdrr\brdrnone \tsbrdrh\brdrnone +\tsbrdrv\brdrnone \sb0\sa0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf23 \tscfirstrow Medium Shading 2 Accent 2;}{\*\ts128\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrdb\brdrw15 \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw45 \tsbrdrr\brdrnone \tsbrdrh +\brdrnone \tsbrdrv\brdrnone \sb0\sa0 \rtlch\fcs1 \af0 \ltrch\fcs0 \cf0 \tsclastrow Medium Shading 2 Accent 2;}{\*\ts128\tsrowd\tscellcfpat0\tscellcbpat39\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw45 \tsbrdrr\brdrnone \tsbrdrh +\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf23 \tscfirstcol Medium Shading 2 Accent 2;}{\*\ts128\tsrowd\tscellcfpat0\tscellcbpat39\tscellpct0\tsbrdrl\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \ab\af0 +\ltrch\fcs0 \b\cf23 \tsclastcol Medium Shading 2 Accent 2;}{\*\ts128\tsrowd\tscellcfpat0\tscellcbpat35\tscellpct0\tsbrdrl\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd +Medium Shading 2 Accent 2;}{\*\ts128\tsrowd\tscellcfpat0\tscellcbpat35\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Medium Shading 2 Accent 2;}{\*\ts128\tsrowd\tsbrdrt\brdrs\brdrw45 \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw45 \tsbrdrr\brdrnone +\tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \tscnecell Medium Shading 2 Accent 2;}{\*\ts128\tsrowd\tsbrdrt\brdrs\brdrw45 \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw45 \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 +\ltrch\fcs0 \cf23 \tscnwcell Medium Shading 2 Accent 2;}{\*\ts129\tsrowd\trbrdrt\brdrs\brdrw45 \trbrdrb\brdrs\brdrw45 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext129 \slocked \ssemihidden \spriority64 \styrsid1448066 Medium Shading 2 Accent 3;}{\*\ts129\tsrowd\tscellcfpat0\tscellcbpat42\tscellpct0\tsbrdrt\brdrs\brdrw45 \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw45 \tsbrdrr\brdrnone \tsbrdrh\brdrnone +\tsbrdrv\brdrnone \sb0\sa0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf23 \tscfirstrow Medium Shading 2 Accent 3;}{\*\ts129\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrdb\brdrw15 \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw45 \tsbrdrr\brdrnone \tsbrdrh +\brdrnone \tsbrdrv\brdrnone \sb0\sa0 \rtlch\fcs1 \af0 \ltrch\fcs0 \cf0 \tsclastrow Medium Shading 2 Accent 3;}{\*\ts129\tsrowd\tscellcfpat0\tscellcbpat42\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw45 \tsbrdrr\brdrnone \tsbrdrh +\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf23 \tscfirstcol Medium Shading 2 Accent 3;}{\*\ts129\tsrowd\tscellcfpat0\tscellcbpat42\tscellpct0\tsbrdrl\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \ab\af0 +\ltrch\fcs0 \b\cf23 \tsclastcol Medium Shading 2 Accent 3;}{\*\ts129\tsrowd\tscellcfpat0\tscellcbpat35\tscellpct0\tsbrdrl\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd +Medium Shading 2 Accent 3;}{\*\ts129\tsrowd\tscellcfpat0\tscellcbpat35\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Medium Shading 2 Accent 3;}{\*\ts129\tsrowd\tsbrdrt\brdrs\brdrw45 \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw45 \tsbrdrr\brdrnone +\tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \tscnecell Medium Shading 2 Accent 3;}{\*\ts129\tsrowd\tsbrdrt\brdrs\brdrw45 \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw45 \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 +\ltrch\fcs0 \cf23 \tscnwcell Medium Shading 2 Accent 3;}{\*\ts130\tsrowd\trbrdrt\brdrs\brdrw45 \trbrdrb\brdrs\brdrw45 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext130 \slocked \ssemihidden \spriority64 \styrsid1448066 Medium Shading 2 Accent 4;}{\*\ts130\tsrowd\tscellcfpat0\tscellcbpat45\tscellpct0\tsbrdrt\brdrs\brdrw45 \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw45 \tsbrdrr\brdrnone \tsbrdrh\brdrnone +\tsbrdrv\brdrnone \sb0\sa0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf23 \tscfirstrow Medium Shading 2 Accent 4;}{\*\ts130\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrdb\brdrw15 \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw45 \tsbrdrr\brdrnone \tsbrdrh +\brdrnone \tsbrdrv\brdrnone \sb0\sa0 \rtlch\fcs1 \af0 \ltrch\fcs0 \cf0 \tsclastrow Medium Shading 2 Accent 4;}{\*\ts130\tsrowd\tscellcfpat0\tscellcbpat45\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw45 \tsbrdrr\brdrnone \tsbrdrh +\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf23 \tscfirstcol Medium Shading 2 Accent 4;}{\*\ts130\tsrowd\tscellcfpat0\tscellcbpat45\tscellpct0\tsbrdrl\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \ab\af0 +\ltrch\fcs0 \b\cf23 \tsclastcol Medium Shading 2 Accent 4;}{\*\ts130\tsrowd\tscellcfpat0\tscellcbpat35\tscellpct0\tsbrdrl\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd +Medium Shading 2 Accent 4;}{\*\ts130\tsrowd\tscellcfpat0\tscellcbpat35\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Medium Shading 2 Accent 4;}{\*\ts130\tsrowd\tsbrdrt\brdrs\brdrw45 \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw45 \tsbrdrr\brdrnone +\tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \tscnecell Medium Shading 2 Accent 4;}{\*\ts130\tsrowd\tsbrdrt\brdrs\brdrw45 \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw45 \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 +\ltrch\fcs0 \cf23 \tscnwcell Medium Shading 2 Accent 4;}{\*\ts131\tsrowd\trbrdrt\brdrs\brdrw45 \trbrdrb\brdrs\brdrw45 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext131 \slocked \ssemihidden \spriority64 \styrsid1448066 Medium Shading 2 Accent 5;}{\*\ts131\tsrowd\tscellcfpat0\tscellcbpat48\tscellpct0\tsbrdrt\brdrs\brdrw45 \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw45 \tsbrdrr\brdrnone \tsbrdrh\brdrnone +\tsbrdrv\brdrnone \sb0\sa0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf23 \tscfirstrow Medium Shading 2 Accent 5;}{\*\ts131\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrdb\brdrw15 \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw45 \tsbrdrr\brdrnone \tsbrdrh +\brdrnone \tsbrdrv\brdrnone \sb0\sa0 \rtlch\fcs1 \af0 \ltrch\fcs0 \cf0 \tsclastrow Medium Shading 2 Accent 5;}{\*\ts131\tsrowd\tscellcfpat0\tscellcbpat48\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw45 \tsbrdrr\brdrnone \tsbrdrh +\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf23 \tscfirstcol Medium Shading 2 Accent 5;}{\*\ts131\tsrowd\tscellcfpat0\tscellcbpat48\tscellpct0\tsbrdrl\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \ab\af0 +\ltrch\fcs0 \b\cf23 \tsclastcol Medium Shading 2 Accent 5;}{\*\ts131\tsrowd\tscellcfpat0\tscellcbpat35\tscellpct0\tsbrdrl\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd +Medium Shading 2 Accent 5;}{\*\ts131\tsrowd\tscellcfpat0\tscellcbpat35\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Medium Shading 2 Accent 5;}{\*\ts131\tsrowd\tsbrdrt\brdrs\brdrw45 \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw45 \tsbrdrr\brdrnone +\tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \tscnecell Medium Shading 2 Accent 5;}{\*\ts131\tsrowd\tsbrdrt\brdrs\brdrw45 \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw45 \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 +\ltrch\fcs0 \cf23 \tscnwcell Medium Shading 2 Accent 5;}{\*\ts132\tsrowd\trbrdrt\brdrs\brdrw45 \trbrdrb\brdrs\brdrw45 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext132 \slocked \ssemihidden \spriority64 \styrsid1448066 Medium Shading 2 Accent 6;}{\*\ts132\tsrowd\tscellcfpat0\tscellcbpat51\tscellpct0\tsbrdrt\brdrs\brdrw45 \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw45 \tsbrdrr\brdrnone \tsbrdrh\brdrnone +\tsbrdrv\brdrnone \sb0\sa0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf23 \tscfirstrow Medium Shading 2 Accent 6;}{\*\ts132\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrdb\brdrw15 \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw45 \tsbrdrr\brdrnone \tsbrdrh +\brdrnone \tsbrdrv\brdrnone \sb0\sa0 \rtlch\fcs1 \af0 \ltrch\fcs0 \cf0 \tsclastrow Medium Shading 2 Accent 6;}{\*\ts132\tsrowd\tscellcfpat0\tscellcbpat51\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw45 \tsbrdrr\brdrnone \tsbrdrh +\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf23 \tscfirstcol Medium Shading 2 Accent 6;}{\*\ts132\tsrowd\tscellcfpat0\tscellcbpat51\tscellpct0\tsbrdrl\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \ab\af0 +\ltrch\fcs0 \b\cf23 \tsclastcol Medium Shading 2 Accent 6;}{\*\ts132\tsrowd\tscellcfpat0\tscellcbpat35\tscellpct0\tsbrdrl\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd +Medium Shading 2 Accent 6;}{\*\ts132\tsrowd\tscellcfpat0\tscellcbpat35\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Medium Shading 2 Accent 6;}{\*\ts132\tsrowd\tsbrdrt\brdrs\brdrw45 \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw45 \tsbrdrr\brdrnone +\tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \tscnecell Medium Shading 2 Accent 6;}{\*\ts132\tsrowd\tsbrdrt\brdrs\brdrw45 \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw45 \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 +\ltrch\fcs0 \cf23 \tscnwcell Medium Shading 2 Accent 6;}{\*\ts133\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf48 \trbrdrl\brdrs\brdrw20\brdrcf48 \trbrdrb\brdrs\brdrw20\brdrcf48 \trbrdrr\brdrs\brdrw20\brdrcf48 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext133 \slocked \ssemihidden \spriority61 \styrsid1448066 Light List Accent 5;}{\*\ts133\tsrowd\tscellcfpat0\tscellcbpat48\tscellpct0 \sb0\sa0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf23 \tscfirstrow Light List Accent 5;}{\* +\ts133\tsrowd\tsbrdrt\brdrdb\brdrw15\brdrcf48 \tsbrdrl\brdrs\brdrw20\brdrcf48 \tsbrdrb\brdrs\brdrw20\brdrcf48 \tsbrdrr\brdrs\brdrw20\brdrcf48 \sb0\sa0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastrow Light List Accent 5;}{\*\ts133\tsrowd \rtlch\fcs1 +\ab\af0 \ltrch\fcs0 \b \tscfirstcol Light List Accent 5;}{\*\ts133\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastcol Light List Accent 5;}{\*\ts133\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf48 \tsbrdrl\brdrs\brdrw20\brdrcf48 \tsbrdrb\brdrs\brdrw20\brdrcf48 +\tsbrdrr\brdrs\brdrw20\brdrcf48 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Light List Accent 5;}{\*\ts133\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf48 \tsbrdrl\brdrs\brdrw20\brdrcf48 \tsbrdrb\brdrs\brdrw20\brdrcf48 \tsbrdrr\brdrs\brdrw20\brdrcf48 \rtlch\fcs1 +\af0 \ltrch\fcs0 \tscbandhorzodd Light List Accent 5;}{\*\ts134\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf18 \trbrdrl\brdrs\brdrw20\brdrcf18 \trbrdrb\brdrs\brdrw20\brdrcf18 \trbrdrr\brdrs\brdrw20\brdrcf18 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext134 \slocked \ssemihidden \spriority61 \styrsid1448066 Light List;}{\*\ts134\tsrowd\tscellcfpat0\tscellcbpat18\tscellpct0 \sb0\sa0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf23 \tscfirstrow Light List;}{\*\ts134\tsrowd\tsbrdrt +\brdrdb\brdrw15\brdrcf18 \tsbrdrl\brdrs\brdrw20\brdrcf18 \tsbrdrb\brdrs\brdrw20\brdrcf18 \tsbrdrr\brdrs\brdrw20\brdrcf18 \sb0\sa0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastrow Light List;}{\*\ts134\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstcol +Light List;}{\*\ts134\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastcol Light List;}{\*\ts134\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf18 \tsbrdrl\brdrs\brdrw20\brdrcf18 \tsbrdrb\brdrs\brdrw20\brdrcf18 \tsbrdrr\brdrs\brdrw20\brdrcf18 \rtlch\fcs1 \af0 +\ltrch\fcs0 \tscbandvertodd Light List;}{\*\ts134\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf18 \tsbrdrl\brdrs\brdrw20\brdrcf18 \tsbrdrb\brdrs\brdrw20\brdrcf18 \tsbrdrr\brdrs\brdrw20\brdrcf18 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Light List;}{\* +\ts135\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf26 \trbrdrl\brdrs\brdrw20\brdrcf26 \trbrdrb\brdrs\brdrw20\brdrcf26 \trbrdrr\brdrs\brdrw20\brdrcf26 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext135 \slocked \ssemihidden \spriority61 \styrsid1448066 Light List Accent 1;}{\*\ts135\tsrowd\tscellcfpat0\tscellcbpat26\tscellpct0 \sb0\sa0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf23 \tscfirstrow Light List Accent 1;}{\* +\ts135\tsrowd\tsbrdrt\brdrdb\brdrw15\brdrcf26 \tsbrdrl\brdrs\brdrw20\brdrcf26 \tsbrdrb\brdrs\brdrw20\brdrcf26 \tsbrdrr\brdrs\brdrw20\brdrcf26 \sb0\sa0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastrow Light List Accent 1;}{\*\ts135\tsrowd \rtlch\fcs1 +\ab\af0 \ltrch\fcs0 \b \tscfirstcol Light List Accent 1;}{\*\ts135\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastcol Light List Accent 1;}{\*\ts135\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf26 \tsbrdrl\brdrs\brdrw20\brdrcf26 \tsbrdrb\brdrs\brdrw20\brdrcf26 +\tsbrdrr\brdrs\brdrw20\brdrcf26 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Light List Accent 1;}{\*\ts135\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf26 \tsbrdrl\brdrs\brdrw20\brdrcf26 \tsbrdrb\brdrs\brdrw20\brdrcf26 \tsbrdrr\brdrs\brdrw20\brdrcf26 \rtlch\fcs1 +\af0 \ltrch\fcs0 \tscbandhorzodd Light List Accent 1;}{\*\ts136\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf39 \trbrdrl\brdrs\brdrw20\brdrcf39 \trbrdrb\brdrs\brdrw20\brdrcf39 \trbrdrr\brdrs\brdrw20\brdrcf39 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext136 \slocked \ssemihidden \spriority61 \styrsid1448066 Light List Accent 2;}{\*\ts136\tsrowd\tscellcfpat0\tscellcbpat39\tscellpct0 \sb0\sa0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf23 \tscfirstrow Light List Accent 2;}{\* +\ts136\tsrowd\tsbrdrt\brdrdb\brdrw15\brdrcf39 \tsbrdrl\brdrs\brdrw20\brdrcf39 \tsbrdrb\brdrs\brdrw20\brdrcf39 \tsbrdrr\brdrs\brdrw20\brdrcf39 \sb0\sa0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastrow Light List Accent 2;}{\*\ts136\tsrowd \rtlch\fcs1 +\ab\af0 \ltrch\fcs0 \b \tscfirstcol Light List Accent 2;}{\*\ts136\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastcol Light List Accent 2;}{\*\ts136\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf39 \tsbrdrl\brdrs\brdrw20\brdrcf39 \tsbrdrb\brdrs\brdrw20\brdrcf39 +\tsbrdrr\brdrs\brdrw20\brdrcf39 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Light List Accent 2;}{\*\ts136\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf39 \tsbrdrl\brdrs\brdrw20\brdrcf39 \tsbrdrb\brdrs\brdrw20\brdrcf39 \tsbrdrr\brdrs\brdrw20\brdrcf39 \rtlch\fcs1 +\af0 \ltrch\fcs0 \tscbandhorzodd Light List Accent 2;}{\*\ts137\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf42 \trbrdrl\brdrs\brdrw20\brdrcf42 \trbrdrb\brdrs\brdrw20\brdrcf42 \trbrdrr\brdrs\brdrw20\brdrcf42 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext137 \slocked \ssemihidden \spriority61 \styrsid1448066 Light List Accent 3;}{\*\ts137\tsrowd\tscellcfpat0\tscellcbpat42\tscellpct0 \sb0\sa0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf23 \tscfirstrow Light List Accent 3;}{\* +\ts137\tsrowd\tsbrdrt\brdrdb\brdrw15\brdrcf42 \tsbrdrl\brdrs\brdrw20\brdrcf42 \tsbrdrb\brdrs\brdrw20\brdrcf42 \tsbrdrr\brdrs\brdrw20\brdrcf42 \sb0\sa0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastrow Light List Accent 3;}{\*\ts137\tsrowd \rtlch\fcs1 +\ab\af0 \ltrch\fcs0 \b \tscfirstcol Light List Accent 3;}{\*\ts137\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastcol Light List Accent 3;}{\*\ts137\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf42 \tsbrdrl\brdrs\brdrw20\brdrcf42 \tsbrdrb\brdrs\brdrw20\brdrcf42 +\tsbrdrr\brdrs\brdrw20\brdrcf42 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Light List Accent 3;}{\*\ts137\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf42 \tsbrdrl\brdrs\brdrw20\brdrcf42 \tsbrdrb\brdrs\brdrw20\brdrcf42 \tsbrdrr\brdrs\brdrw20\brdrcf42 \rtlch\fcs1 +\af0 \ltrch\fcs0 \tscbandhorzodd Light List Accent 3;}{\*\ts138\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf45 \trbrdrl\brdrs\brdrw20\brdrcf45 \trbrdrb\brdrs\brdrw20\brdrcf45 \trbrdrr\brdrs\brdrw20\brdrcf45 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext138 \slocked \ssemihidden \spriority61 \styrsid1448066 Light List Accent 4;}{\*\ts138\tsrowd\tscellcfpat0\tscellcbpat45\tscellpct0 \sb0\sa0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf23 \tscfirstrow Light List Accent 4;}{\* +\ts138\tsrowd\tsbrdrt\brdrdb\brdrw15\brdrcf45 \tsbrdrl\brdrs\brdrw20\brdrcf45 \tsbrdrb\brdrs\brdrw20\brdrcf45 \tsbrdrr\brdrs\brdrw20\brdrcf45 \sb0\sa0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastrow Light List Accent 4;}{\*\ts138\tsrowd \rtlch\fcs1 +\ab\af0 \ltrch\fcs0 \b \tscfirstcol Light List Accent 4;}{\*\ts138\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastcol Light List Accent 4;}{\*\ts138\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf45 \tsbrdrl\brdrs\brdrw20\brdrcf45 \tsbrdrb\brdrs\brdrw20\brdrcf45 +\tsbrdrr\brdrs\brdrw20\brdrcf45 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Light List Accent 4;}{\*\ts138\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf45 \tsbrdrl\brdrs\brdrw20\brdrcf45 \tsbrdrb\brdrs\brdrw20\brdrcf45 \tsbrdrr\brdrs\brdrw20\brdrcf45 \rtlch\fcs1 +\af0 \ltrch\fcs0 \tscbandhorzodd Light List Accent 4;}{\*\ts139\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf51 \trbrdrl\brdrs\brdrw20\brdrcf51 \trbrdrb\brdrs\brdrw20\brdrcf51 \trbrdrr\brdrs\brdrw20\brdrcf51 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext139 \slocked \ssemihidden \spriority61 \styrsid1448066 Light List Accent 6;}{\*\ts139\tsrowd\tscellcfpat0\tscellcbpat51\tscellpct0 \sb0\sa0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf23 \tscfirstrow Light List Accent 6;}{\* +\ts139\tsrowd\tsbrdrt\brdrdb\brdrw15\brdrcf51 \tsbrdrl\brdrs\brdrw20\brdrcf51 \tsbrdrb\brdrs\brdrw20\brdrcf51 \tsbrdrr\brdrs\brdrw20\brdrcf51 \sb0\sa0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastrow Light List Accent 6;}{\*\ts139\tsrowd \rtlch\fcs1 +\ab\af0 \ltrch\fcs0 \b \tscfirstcol Light List Accent 6;}{\*\ts139\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastcol Light List Accent 6;}{\*\ts139\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf51 \tsbrdrl\brdrs\brdrw20\brdrcf51 \tsbrdrb\brdrs\brdrw20\brdrcf51 +\tsbrdrr\brdrs\brdrw20\brdrcf51 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Light List Accent 6;}{\*\ts139\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf51 \tsbrdrl\brdrs\brdrw20\brdrcf51 \tsbrdrb\brdrs\brdrw20\brdrcf51 \tsbrdrr\brdrs\brdrw20\brdrcf51 \rtlch\fcs1 +\af0 \ltrch\fcs0 \tscbandhorzodd Light List Accent 6;}{\*\ts140\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf18 \trbrdrl\brdrs\brdrw20\brdrcf18 \trbrdrb\brdrs\brdrw20\brdrcf18 \trbrdrr\brdrs\brdrw20\brdrcf18 \trbrdrh\brdrs\brdrw20\brdrcf18 \trbrdrv +\brdrs\brdrw20\brdrcf18 \trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext140 \slocked \ssemihidden \spriority62 \styrsid1448066 Light Grid;}{\*\ts140\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf18 \tsbrdrl\brdrs\brdrw20\brdrcf18 \tsbrdrb\brdrs\brdrw45\brdrcf18 \tsbrdrr\brdrs\brdrw20\brdrcf18 \tsbrdrh\brdrnone \tsbrdrv +\brdrs\brdrw20\brdrcf18 \sb0\sa0 \rtlch\fcs1 \ab\af31503 \ltrch\fcs0 \b\loch\f31502\hich\af31502\dbch\af31501 \tscfirstrow Light Grid;}{\*\ts140\tsrowd\tsbrdrt\brdrdb\brdrw15\brdrcf18 \tsbrdrl\brdrs\brdrw20\brdrcf18 \tsbrdrb\brdrs\brdrw20\brdrcf18 +\tsbrdrr\brdrs\brdrw20\brdrcf18 \tsbrdrh\brdrnone \tsbrdrv\brdrs\brdrw20\brdrcf18 \sb0\sa0 \rtlch\fcs1 \ab\af31503 \ltrch\fcs0 \b\loch\f31502\hich\af31502\dbch\af31501 \tsclastrow Light Grid;}{\*\ts140\tsrowd \rtlch\fcs1 \ab\af31503 \ltrch\fcs0 +\b\loch\f31502\hich\af31502\dbch\af31501 \tscfirstcol Light Grid;}{\*\ts140\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf18 \tsbrdrl\brdrs\brdrw20\brdrcf18 \tsbrdrb\brdrs\brdrw20\brdrcf18 \tsbrdrr\brdrs\brdrw20\brdrcf18 \rtlch\fcs1 \ab\af31503 \ltrch\fcs0 +\b\loch\f31502\hich\af31502\dbch\af31501 \tsclastcol Light Grid;}{\*\ts140\tsrowd\tscellcfpat0\tscellcbpat21\tscellpct0\tsbrdrt\brdrs\brdrw20\brdrcf18 \tsbrdrl\brdrs\brdrw20\brdrcf18 \tsbrdrb\brdrs\brdrw20\brdrcf18 \tsbrdrr\brdrs\brdrw20\brdrcf18 +\rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Light Grid;}{\*\ts140\tsrowd\tscellcfpat0\tscellcbpat21\tscellpct0\tsbrdrt\brdrs\brdrw20\brdrcf18 \tsbrdrl\brdrs\brdrw20\brdrcf18 \tsbrdrb\brdrs\brdrw20\brdrcf18 \tsbrdrr\brdrs\brdrw20\brdrcf18 \tsbrdrv +\brdrs\brdrw20\brdrcf18 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Light Grid;}{\*\ts140\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf18 \tsbrdrl\brdrs\brdrw20\brdrcf18 \tsbrdrb\brdrs\brdrw20\brdrcf18 \tsbrdrr\brdrs\brdrw20\brdrcf18 \tsbrdrv +\brdrs\brdrw20\brdrcf18 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzeven Light Grid;}{\*\ts141\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf26 \trbrdrl\brdrs\brdrw20\brdrcf26 \trbrdrb\brdrs\brdrw20\brdrcf26 \trbrdrr\brdrs\brdrw20\brdrcf26 \trbrdrh +\brdrs\brdrw20\brdrcf26 \trbrdrv\brdrs\brdrw20\brdrcf26 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext141 \slocked \ssemihidden \spriority62 \styrsid1448066 Light Grid Accent 1;}{\*\ts141\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf26 \tsbrdrl\brdrs\brdrw20\brdrcf26 \tsbrdrb\brdrs\brdrw45\brdrcf26 \tsbrdrr\brdrs\brdrw20\brdrcf26 \tsbrdrh +\brdrnone \tsbrdrv\brdrs\brdrw20\brdrcf26 \sb0\sa0 \rtlch\fcs1 \ab\af31503 \ltrch\fcs0 \b\loch\f31502\hich\af31502\dbch\af31501 \tscfirstrow Light Grid Accent 1;}{\*\ts141\tsrowd\tsbrdrt\brdrdb\brdrw15\brdrcf26 \tsbrdrl\brdrs\brdrw20\brdrcf26 \tsbrdrb +\brdrs\brdrw20\brdrcf26 \tsbrdrr\brdrs\brdrw20\brdrcf26 \tsbrdrh\brdrnone \tsbrdrv\brdrs\brdrw20\brdrcf26 \sb0\sa0 \rtlch\fcs1 \ab\af31503 \ltrch\fcs0 \b\loch\f31502\hich\af31502\dbch\af31501 \tsclastrow Light Grid Accent 1;}{\*\ts141\tsrowd \rtlch\fcs1 +\ab\af31503 \ltrch\fcs0 \b\loch\f31502\hich\af31502\dbch\af31501 \tscfirstcol Light Grid Accent 1;}{\*\ts141\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf26 \tsbrdrl\brdrs\brdrw20\brdrcf26 \tsbrdrb\brdrs\brdrw20\brdrcf26 \tsbrdrr\brdrs\brdrw20\brdrcf26 \rtlch\fcs1 +\ab\af31503 \ltrch\fcs0 \b\loch\f31502\hich\af31502\dbch\af31501 \tsclastcol Light Grid Accent 1;}{\*\ts141\tsrowd\tscellcfpat0\tscellcbpat38\tscellpct0\tsbrdrt\brdrs\brdrw20\brdrcf26 \tsbrdrl\brdrs\brdrw20\brdrcf26 \tsbrdrb\brdrs\brdrw20\brdrcf26 +\tsbrdrr\brdrs\brdrw20\brdrcf26 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Light Grid Accent 1;}{\*\ts141\tsrowd\tscellcfpat0\tscellcbpat38\tscellpct0\tsbrdrt\brdrs\brdrw20\brdrcf26 \tsbrdrl\brdrs\brdrw20\brdrcf26 \tsbrdrb\brdrs\brdrw20\brdrcf26 +\tsbrdrr\brdrs\brdrw20\brdrcf26 \tsbrdrv\brdrs\brdrw20\brdrcf26 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Light Grid Accent 1;}{\*\ts141\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf26 \tsbrdrl\brdrs\brdrw20\brdrcf26 \tsbrdrb\brdrs\brdrw20\brdrcf26 \tsbrdrr +\brdrs\brdrw20\brdrcf26 \tsbrdrv\brdrs\brdrw20\brdrcf26 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzeven Light Grid Accent 1;}{\*\ts142\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf39 \trbrdrl\brdrs\brdrw20\brdrcf39 \trbrdrb\brdrs\brdrw20\brdrcf39 \trbrdrr +\brdrs\brdrw20\brdrcf39 \trbrdrh\brdrs\brdrw20\brdrcf39 \trbrdrv\brdrs\brdrw20\brdrcf39 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext142 \slocked \ssemihidden \spriority62 \styrsid1448066 Light Grid Accent 2;}{\*\ts142\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf39 \tsbrdrl\brdrs\brdrw20\brdrcf39 \tsbrdrb\brdrs\brdrw45\brdrcf39 \tsbrdrr\brdrs\brdrw20\brdrcf39 \tsbrdrh +\brdrnone \tsbrdrv\brdrs\brdrw20\brdrcf39 \sb0\sa0 \rtlch\fcs1 \ab\af31503 \ltrch\fcs0 \b\loch\f31502\hich\af31502\dbch\af31501 \tscfirstrow Light Grid Accent 2;}{\*\ts142\tsrowd\tsbrdrt\brdrdb\brdrw15\brdrcf39 \tsbrdrl\brdrs\brdrw20\brdrcf39 \tsbrdrb +\brdrs\brdrw20\brdrcf39 \tsbrdrr\brdrs\brdrw20\brdrcf39 \tsbrdrh\brdrnone \tsbrdrv\brdrs\brdrw20\brdrcf39 \sb0\sa0 \rtlch\fcs1 \ab\af31503 \ltrch\fcs0 \b\loch\f31502\hich\af31502\dbch\af31501 \tsclastrow Light Grid Accent 2;}{\*\ts142\tsrowd \rtlch\fcs1 +\ab\af31503 \ltrch\fcs0 \b\loch\f31502\hich\af31502\dbch\af31501 \tscfirstcol Light Grid Accent 2;}{\*\ts142\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf39 \tsbrdrl\brdrs\brdrw20\brdrcf39 \tsbrdrb\brdrs\brdrw20\brdrcf39 \tsbrdrr\brdrs\brdrw20\brdrcf39 \rtlch\fcs1 +\ab\af31503 \ltrch\fcs0 \b\loch\f31502\hich\af31502\dbch\af31501 \tsclastcol Light Grid Accent 2;}{\*\ts142\tsrowd\tscellcfpat0\tscellcbpat41\tscellpct0\tsbrdrt\brdrs\brdrw20\brdrcf39 \tsbrdrl\brdrs\brdrw20\brdrcf39 \tsbrdrb\brdrs\brdrw20\brdrcf39 +\tsbrdrr\brdrs\brdrw20\brdrcf39 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Light Grid Accent 2;}{\*\ts142\tsrowd\tscellcfpat0\tscellcbpat41\tscellpct0\tsbrdrt\brdrs\brdrw20\brdrcf39 \tsbrdrl\brdrs\brdrw20\brdrcf39 \tsbrdrb\brdrs\brdrw20\brdrcf39 +\tsbrdrr\brdrs\brdrw20\brdrcf39 \tsbrdrv\brdrs\brdrw20\brdrcf39 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Light Grid Accent 2;}{\*\ts142\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf39 \tsbrdrl\brdrs\brdrw20\brdrcf39 \tsbrdrb\brdrs\brdrw20\brdrcf39 \tsbrdrr +\brdrs\brdrw20\brdrcf39 \tsbrdrv\brdrs\brdrw20\brdrcf39 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzeven Light Grid Accent 2;}{\*\ts143\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf42 \trbrdrl\brdrs\brdrw20\brdrcf42 \trbrdrb\brdrs\brdrw20\brdrcf42 \trbrdrr +\brdrs\brdrw20\brdrcf42 \trbrdrh\brdrs\brdrw20\brdrcf42 \trbrdrv\brdrs\brdrw20\brdrcf42 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext143 \slocked \ssemihidden \spriority62 \styrsid1448066 Light Grid Accent 3;}{\*\ts143\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf42 \tsbrdrl\brdrs\brdrw20\brdrcf42 \tsbrdrb\brdrs\brdrw45\brdrcf42 \tsbrdrr\brdrs\brdrw20\brdrcf42 \tsbrdrh +\brdrnone \tsbrdrv\brdrs\brdrw20\brdrcf42 \sb0\sa0 \rtlch\fcs1 \ab\af31503 \ltrch\fcs0 \b\loch\f31502\hich\af31502\dbch\af31501 \tscfirstrow Light Grid Accent 3;}{\*\ts143\tsrowd\tsbrdrt\brdrdb\brdrw15\brdrcf42 \tsbrdrl\brdrs\brdrw20\brdrcf42 \tsbrdrb +\brdrs\brdrw20\brdrcf42 \tsbrdrr\brdrs\brdrw20\brdrcf42 \tsbrdrh\brdrnone \tsbrdrv\brdrs\brdrw20\brdrcf42 \sb0\sa0 \rtlch\fcs1 \ab\af31503 \ltrch\fcs0 \b\loch\f31502\hich\af31502\dbch\af31501 \tsclastrow Light Grid Accent 3;}{\*\ts143\tsrowd \rtlch\fcs1 +\ab\af31503 \ltrch\fcs0 \b\loch\f31502\hich\af31502\dbch\af31501 \tscfirstcol Light Grid Accent 3;}{\*\ts143\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf42 \tsbrdrl\brdrs\brdrw20\brdrcf42 \tsbrdrb\brdrs\brdrw20\brdrcf42 \tsbrdrr\brdrs\brdrw20\brdrcf42 \rtlch\fcs1 +\ab\af31503 \ltrch\fcs0 \b\loch\f31502\hich\af31502\dbch\af31501 \tsclastcol Light Grid Accent 3;}{\*\ts143\tsrowd\tscellcfpat0\tscellcbpat44\tscellpct0\tsbrdrt\brdrs\brdrw20\brdrcf42 \tsbrdrl\brdrs\brdrw20\brdrcf42 \tsbrdrb\brdrs\brdrw20\brdrcf42 +\tsbrdrr\brdrs\brdrw20\brdrcf42 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Light Grid Accent 3;}{\*\ts143\tsrowd\tscellcfpat0\tscellcbpat44\tscellpct0\tsbrdrt\brdrs\brdrw20\brdrcf42 \tsbrdrl\brdrs\brdrw20\brdrcf42 \tsbrdrb\brdrs\brdrw20\brdrcf42 +\tsbrdrr\brdrs\brdrw20\brdrcf42 \tsbrdrv\brdrs\brdrw20\brdrcf42 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Light Grid Accent 3;}{\*\ts143\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf42 \tsbrdrl\brdrs\brdrw20\brdrcf42 \tsbrdrb\brdrs\brdrw20\brdrcf42 \tsbrdrr +\brdrs\brdrw20\brdrcf42 \tsbrdrv\brdrs\brdrw20\brdrcf42 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzeven Light Grid Accent 3;}{\*\ts144\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf45 \trbrdrl\brdrs\brdrw20\brdrcf45 \trbrdrb\brdrs\brdrw20\brdrcf45 \trbrdrr +\brdrs\brdrw20\brdrcf45 \trbrdrh\brdrs\brdrw20\brdrcf45 \trbrdrv\brdrs\brdrw20\brdrcf45 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext144 \slocked \ssemihidden \spriority62 \styrsid1448066 Light Grid Accent 4;}{\*\ts144\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf45 \tsbrdrl\brdrs\brdrw20\brdrcf45 \tsbrdrb\brdrs\brdrw45\brdrcf45 \tsbrdrr\brdrs\brdrw20\brdrcf45 \tsbrdrh +\brdrnone \tsbrdrv\brdrs\brdrw20\brdrcf45 \sb0\sa0 \rtlch\fcs1 \ab\af31503 \ltrch\fcs0 \b\loch\f31502\hich\af31502\dbch\af31501 \tscfirstrow Light Grid Accent 4;}{\*\ts144\tsrowd\tsbrdrt\brdrdb\brdrw15\brdrcf45 \tsbrdrl\brdrs\brdrw20\brdrcf45 \tsbrdrb +\brdrs\brdrw20\brdrcf45 \tsbrdrr\brdrs\brdrw20\brdrcf45 \tsbrdrh\brdrnone \tsbrdrv\brdrs\brdrw20\brdrcf45 \sb0\sa0 \rtlch\fcs1 \ab\af31503 \ltrch\fcs0 \b\loch\f31502\hich\af31502\dbch\af31501 \tsclastrow Light Grid Accent 4;}{\*\ts144\tsrowd \rtlch\fcs1 +\ab\af31503 \ltrch\fcs0 \b\loch\f31502\hich\af31502\dbch\af31501 \tscfirstcol Light Grid Accent 4;}{\*\ts144\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf45 \tsbrdrl\brdrs\brdrw20\brdrcf45 \tsbrdrb\brdrs\brdrw20\brdrcf45 \tsbrdrr\brdrs\brdrw20\brdrcf45 \rtlch\fcs1 +\ab\af31503 \ltrch\fcs0 \b\loch\f31502\hich\af31502\dbch\af31501 \tsclastcol Light Grid Accent 4;}{\*\ts144\tsrowd\tscellcfpat0\tscellcbpat47\tscellpct0\tsbrdrt\brdrs\brdrw20\brdrcf45 \tsbrdrl\brdrs\brdrw20\brdrcf45 \tsbrdrb\brdrs\brdrw20\brdrcf45 +\tsbrdrr\brdrs\brdrw20\brdrcf45 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Light Grid Accent 4;}{\*\ts144\tsrowd\tscellcfpat0\tscellcbpat47\tscellpct0\tsbrdrt\brdrs\brdrw20\brdrcf45 \tsbrdrl\brdrs\brdrw20\brdrcf45 \tsbrdrb\brdrs\brdrw20\brdrcf45 +\tsbrdrr\brdrs\brdrw20\brdrcf45 \tsbrdrv\brdrs\brdrw20\brdrcf45 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Light Grid Accent 4;}{\*\ts144\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf45 \tsbrdrl\brdrs\brdrw20\brdrcf45 \tsbrdrb\brdrs\brdrw20\brdrcf45 \tsbrdrr +\brdrs\brdrw20\brdrcf45 \tsbrdrv\brdrs\brdrw20\brdrcf45 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzeven Light Grid Accent 4;}{\*\ts145\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf48 \trbrdrl\brdrs\brdrw20\brdrcf48 \trbrdrb\brdrs\brdrw20\brdrcf48 \trbrdrr +\brdrs\brdrw20\brdrcf48 \trbrdrh\brdrs\brdrw20\brdrcf48 \trbrdrv\brdrs\brdrw20\brdrcf48 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext145 \slocked \ssemihidden \spriority62 \styrsid1448066 Light Grid Accent 5;}{\*\ts145\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf48 \tsbrdrl\brdrs\brdrw20\brdrcf48 \tsbrdrb\brdrs\brdrw45\brdrcf48 \tsbrdrr\brdrs\brdrw20\brdrcf48 \tsbrdrh +\brdrnone \tsbrdrv\brdrs\brdrw20\brdrcf48 \sb0\sa0 \rtlch\fcs1 \ab\af31503 \ltrch\fcs0 \b\loch\f31502\hich\af31502\dbch\af31501 \tscfirstrow Light Grid Accent 5;}{\*\ts145\tsrowd\tsbrdrt\brdrdb\brdrw15\brdrcf48 \tsbrdrl\brdrs\brdrw20\brdrcf48 \tsbrdrb +\brdrs\brdrw20\brdrcf48 \tsbrdrr\brdrs\brdrw20\brdrcf48 \tsbrdrh\brdrnone \tsbrdrv\brdrs\brdrw20\brdrcf48 \sb0\sa0 \rtlch\fcs1 \ab\af31503 \ltrch\fcs0 \b\loch\f31502\hich\af31502\dbch\af31501 \tsclastrow Light Grid Accent 5;}{\*\ts145\tsrowd \rtlch\fcs1 +\ab\af31503 \ltrch\fcs0 \b\loch\f31502\hich\af31502\dbch\af31501 \tscfirstcol Light Grid Accent 5;}{\*\ts145\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf48 \tsbrdrl\brdrs\brdrw20\brdrcf48 \tsbrdrb\brdrs\brdrw20\brdrcf48 \tsbrdrr\brdrs\brdrw20\brdrcf48 \rtlch\fcs1 +\ab\af31503 \ltrch\fcs0 \b\loch\f31502\hich\af31502\dbch\af31501 \tsclastcol Light Grid Accent 5;}{\*\ts145\tsrowd\tscellcfpat0\tscellcbpat50\tscellpct0\tsbrdrt\brdrs\brdrw20\brdrcf48 \tsbrdrl\brdrs\brdrw20\brdrcf48 \tsbrdrb\brdrs\brdrw20\brdrcf48 +\tsbrdrr\brdrs\brdrw20\brdrcf48 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Light Grid Accent 5;}{\*\ts145\tsrowd\tscellcfpat0\tscellcbpat50\tscellpct0\tsbrdrt\brdrs\brdrw20\brdrcf48 \tsbrdrl\brdrs\brdrw20\brdrcf48 \tsbrdrb\brdrs\brdrw20\brdrcf48 +\tsbrdrr\brdrs\brdrw20\brdrcf48 \tsbrdrv\brdrs\brdrw20\brdrcf48 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Light Grid Accent 5;}{\*\ts145\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf48 \tsbrdrl\brdrs\brdrw20\brdrcf48 \tsbrdrb\brdrs\brdrw20\brdrcf48 \tsbrdrr +\brdrs\brdrw20\brdrcf48 \tsbrdrv\brdrs\brdrw20\brdrcf48 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzeven Light Grid Accent 5;}{\*\ts146\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf51 \trbrdrl\brdrs\brdrw20\brdrcf51 \trbrdrb\brdrs\brdrw20\brdrcf51 \trbrdrr +\brdrs\brdrw20\brdrcf51 \trbrdrh\brdrs\brdrw20\brdrcf51 \trbrdrv\brdrs\brdrw20\brdrcf51 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext146 \slocked \ssemihidden \spriority62 \styrsid1448066 Light Grid Accent 6;}{\*\ts146\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf51 \tsbrdrl\brdrs\brdrw20\brdrcf51 \tsbrdrb\brdrs\brdrw45\brdrcf51 \tsbrdrr\brdrs\brdrw20\brdrcf51 \tsbrdrh +\brdrnone \tsbrdrv\brdrs\brdrw20\brdrcf51 \sb0\sa0 \rtlch\fcs1 \ab\af31503 \ltrch\fcs0 \b\loch\f31502\hich\af31502\dbch\af31501 \tscfirstrow Light Grid Accent 6;}{\*\ts146\tsrowd\tsbrdrt\brdrdb\brdrw15\brdrcf51 \tsbrdrl\brdrs\brdrw20\brdrcf51 \tsbrdrb +\brdrs\brdrw20\brdrcf51 \tsbrdrr\brdrs\brdrw20\brdrcf51 \tsbrdrh\brdrnone \tsbrdrv\brdrs\brdrw20\brdrcf51 \sb0\sa0 \rtlch\fcs1 \ab\af31503 \ltrch\fcs0 \b\loch\f31502\hich\af31502\dbch\af31501 \tsclastrow Light Grid Accent 6;}{\*\ts146\tsrowd \rtlch\fcs1 +\ab\af31503 \ltrch\fcs0 \b\loch\f31502\hich\af31502\dbch\af31501 \tscfirstcol Light Grid Accent 6;}{\*\ts146\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf51 \tsbrdrl\brdrs\brdrw20\brdrcf51 \tsbrdrb\brdrs\brdrw20\brdrcf51 \tsbrdrr\brdrs\brdrw20\brdrcf51 \rtlch\fcs1 +\ab\af31503 \ltrch\fcs0 \b\loch\f31502\hich\af31502\dbch\af31501 \tsclastcol Light Grid Accent 6;}{\*\ts146\tsrowd\tscellcfpat0\tscellcbpat53\tscellpct0\tsbrdrt\brdrs\brdrw20\brdrcf51 \tsbrdrl\brdrs\brdrw20\brdrcf51 \tsbrdrb\brdrs\brdrw20\brdrcf51 +\tsbrdrr\brdrs\brdrw20\brdrcf51 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Light Grid Accent 6;}{\*\ts146\tsrowd\tscellcfpat0\tscellcbpat53\tscellpct0\tsbrdrt\brdrs\brdrw20\brdrcf51 \tsbrdrl\brdrs\brdrw20\brdrcf51 \tsbrdrb\brdrs\brdrw20\brdrcf51 +\tsbrdrr\brdrs\brdrw20\brdrcf51 \tsbrdrv\brdrs\brdrw20\brdrcf51 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Light Grid Accent 6;}{\*\ts146\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf51 \tsbrdrl\brdrs\brdrw20\brdrcf51 \tsbrdrb\brdrs\brdrw20\brdrcf51 \tsbrdrr +\brdrs\brdrw20\brdrcf51 \tsbrdrv\brdrs\brdrw20\brdrcf51 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzeven Light Grid Accent 6;}{\*\ts147\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf18 \trbrdrb\brdrs\brdrw20\brdrcf18 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\cf18\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext147 \slocked \ssemihidden \spriority65 \styrsid1448066 Medium List 1;}{\*\ts147\tsrowd\tsbrdrt\brdrnone \tsbrdrb\brdrs\brdrw20\brdrcf18 \rtlch\fcs1 \af31503 \ltrch\fcs0 \loch\f31502\hich\af31502\dbch\af31501 \tscfirstrow Medium List 1;} +{\*\ts147\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf18 \tsbrdrb\brdrs\brdrw20\brdrcf18 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf60 \tsclastrow Medium List 1;}{\*\ts147\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstcol Medium List 1;}{\*\ts147\tsrowd\tsbrdrt +\brdrs\brdrw20\brdrcf18 \tsbrdrb\brdrs\brdrw20\brdrcf18 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastcol Medium List 1;}{\*\ts147\tsrowd\tscellcfpat0\tscellcbpat21\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Medium List 1;}{\* +\ts147\tsrowd\tscellcfpat0\tscellcbpat21\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Medium List 1;}{\*\ts148\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf26 \trbrdrb\brdrs\brdrw20\brdrcf26 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\cf18\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext148 \slocked \ssemihidden \spriority65 \styrsid1448066 Medium List 1 Accent 1;}{\*\ts148\tsrowd\tsbrdrt\brdrnone \tsbrdrb\brdrs\brdrw20\brdrcf26 \rtlch\fcs1 \af31503 \ltrch\fcs0 \loch\f31502\hich\af31502\dbch\af31501 \tscfirstrow +Medium List 1 Accent 1;}{\*\ts148\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf26 \tsbrdrb\brdrs\brdrw20\brdrcf26 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf60 \tsclastrow Medium List 1 Accent 1;}{\*\ts148\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstcol +Medium List 1 Accent 1;}{\*\ts148\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf26 \tsbrdrb\brdrs\brdrw20\brdrcf26 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastcol Medium List 1 Accent 1;}{\*\ts148\tsrowd\tscellcfpat0\tscellcbpat38\tscellpct0 \rtlch\fcs1 \af0 +\ltrch\fcs0 \tscbandvertodd Medium List 1 Accent 1;}{\*\ts148\tsrowd\tscellcfpat0\tscellcbpat38\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Medium List 1 Accent 1;}{\*\ts149\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf39 \trbrdrb +\brdrs\brdrw20\brdrcf39 \trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\cf18\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext149 \slocked \ssemihidden \spriority65 \styrsid1448066 Medium List 1 Accent 2;}{\*\ts149\tsrowd\tsbrdrt\brdrnone \tsbrdrb\brdrs\brdrw20\brdrcf39 \rtlch\fcs1 \af31503 \ltrch\fcs0 \loch\f31502\hich\af31502\dbch\af31501 \tscfirstrow +Medium List 1 Accent 2;}{\*\ts149\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf39 \tsbrdrb\brdrs\brdrw20\brdrcf39 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf60 \tsclastrow Medium List 1 Accent 2;}{\*\ts149\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstcol +Medium List 1 Accent 2;}{\*\ts149\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf39 \tsbrdrb\brdrs\brdrw20\brdrcf39 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastcol Medium List 1 Accent 2;}{\*\ts149\tsrowd\tscellcfpat0\tscellcbpat41\tscellpct0 \rtlch\fcs1 \af0 +\ltrch\fcs0 \tscbandvertodd Medium List 1 Accent 2;}{\*\ts149\tsrowd\tscellcfpat0\tscellcbpat41\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Medium List 1 Accent 2;}{\*\ts150\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf42 \trbrdrb +\brdrs\brdrw20\brdrcf42 \trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\cf18\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext150 \slocked \ssemihidden \spriority65 \styrsid1448066 Medium List 1 Accent 3;}{\*\ts150\tsrowd\tsbrdrt\brdrnone \tsbrdrb\brdrs\brdrw20\brdrcf42 \rtlch\fcs1 \af31503 \ltrch\fcs0 \loch\f31502\hich\af31502\dbch\af31501 \tscfirstrow +Medium List 1 Accent 3;}{\*\ts150\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf42 \tsbrdrb\brdrs\brdrw20\brdrcf42 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf60 \tsclastrow Medium List 1 Accent 3;}{\*\ts150\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstcol +Medium List 1 Accent 3;}{\*\ts150\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf42 \tsbrdrb\brdrs\brdrw20\brdrcf42 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastcol Medium List 1 Accent 3;}{\*\ts150\tsrowd\tscellcfpat0\tscellcbpat44\tscellpct0 \rtlch\fcs1 \af0 +\ltrch\fcs0 \tscbandvertodd Medium List 1 Accent 3;}{\*\ts150\tsrowd\tscellcfpat0\tscellcbpat44\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Medium List 1 Accent 3;}{\*\ts151\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf45 \trbrdrb +\brdrs\brdrw20\brdrcf45 \trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\cf18\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext151 \slocked \ssemihidden \spriority65 \styrsid1448066 Medium List 1 Accent 4;}{\*\ts151\tsrowd\tsbrdrt\brdrnone \tsbrdrb\brdrs\brdrw20\brdrcf45 \rtlch\fcs1 \af31503 \ltrch\fcs0 \loch\f31502\hich\af31502\dbch\af31501 \tscfirstrow +Medium List 1 Accent 4;}{\*\ts151\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf45 \tsbrdrb\brdrs\brdrw20\brdrcf45 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf60 \tsclastrow Medium List 1 Accent 4;}{\*\ts151\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstcol +Medium List 1 Accent 4;}{\*\ts151\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf45 \tsbrdrb\brdrs\brdrw20\brdrcf45 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastcol Medium List 1 Accent 4;}{\*\ts151\tsrowd\tscellcfpat0\tscellcbpat47\tscellpct0 \rtlch\fcs1 \af0 +\ltrch\fcs0 \tscbandvertodd Medium List 1 Accent 4;}{\*\ts151\tsrowd\tscellcfpat0\tscellcbpat47\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Medium List 1 Accent 4;}{\*\ts152\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf48 \trbrdrb +\brdrs\brdrw20\brdrcf48 \trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\cf18\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext152 \slocked \ssemihidden \spriority65 \styrsid1448066 Medium List 1 Accent 5;}{\*\ts152\tsrowd\tsbrdrt\brdrnone \tsbrdrb\brdrs\brdrw20\brdrcf48 \rtlch\fcs1 \af31503 \ltrch\fcs0 \loch\f31502\hich\af31502\dbch\af31501 \tscfirstrow +Medium List 1 Accent 5;}{\*\ts152\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf48 \tsbrdrb\brdrs\brdrw20\brdrcf48 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf60 \tsclastrow Medium List 1 Accent 5;}{\*\ts152\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstcol +Medium List 1 Accent 5;}{\*\ts152\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf48 \tsbrdrb\brdrs\brdrw20\brdrcf48 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastcol Medium List 1 Accent 5;}{\*\ts152\tsrowd\tscellcfpat0\tscellcbpat50\tscellpct0 \rtlch\fcs1 \af0 +\ltrch\fcs0 \tscbandvertodd Medium List 1 Accent 5;}{\*\ts152\tsrowd\tscellcfpat0\tscellcbpat50\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Medium List 1 Accent 5;}{\*\ts153\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf51 \trbrdrb +\brdrs\brdrw20\brdrcf51 \trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\cf18\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext153 \slocked \ssemihidden \spriority65 \styrsid1448066 Medium List 1 Accent 6;}{\*\ts153\tsrowd\tsbrdrt\brdrnone \tsbrdrb\brdrs\brdrw20\brdrcf51 \rtlch\fcs1 \af31503 \ltrch\fcs0 \loch\f31502\hich\af31502\dbch\af31501 \tscfirstrow +Medium List 1 Accent 6;}{\*\ts153\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf51 \tsbrdrb\brdrs\brdrw20\brdrcf51 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf60 \tsclastrow Medium List 1 Accent 6;}{\*\ts153\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstcol +Medium List 1 Accent 6;}{\*\ts153\tsrowd\tsbrdrt\brdrs\brdrw20\brdrcf51 \tsbrdrb\brdrs\brdrw20\brdrcf51 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastcol Medium List 1 Accent 6;}{\*\ts153\tsrowd\tscellcfpat0\tscellcbpat53\tscellpct0 \rtlch\fcs1 \af0 +\ltrch\fcs0 \tscbandvertodd Medium List 1 Accent 6;}{\*\ts153\tsrowd\tscellcfpat0\tscellcbpat53\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Medium List 1 Accent 6;}{\*\ts154\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf18 \trbrdrl +\brdrs\brdrw20\brdrcf18 \trbrdrb\brdrs\brdrw20\brdrcf18 \trbrdrr\brdrs\brdrw20\brdrcf18 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31503\afs20\alang1025 \ltrch\fcs0 \fs20\cf18\lang2055\langfe2055\loch\f31502\hich\af31502\dbch\af31501\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext154 \slocked \ssemihidden \spriority66 \styrsid1448066 Medium List 2;}{\*\ts154\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw60\brdrcf18 \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv +\brdrnone \rtlch\fcs1 \af31503\afs24 \ltrch\fcs0 \fs24 \tscfirstrow Medium List 2;}{\*\ts154\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrs\brdrw20\brdrcf18 \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv +\brdrnone \rtlch\fcs1 \af31503 \ltrch\fcs0 \tsclastrow Medium List 2;}{\*\ts154\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrs\brdrw20\brdrcf18 \tsbrdrh\brdrnone \tsbrdrv\brdrnone +\rtlch\fcs1 \af31503 \ltrch\fcs0 \tscfirstcol Medium List 2;}{\*\ts154\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrs\brdrw20\brdrcf18 \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 +\af31503 \ltrch\fcs0 \tsclastcol Medium List 2;}{\*\ts154\tsrowd\tscellcfpat0\tscellcbpat21\tscellpct0\tsbrdrl\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af31503 \ltrch\fcs0 \tscbandvertodd Medium List 2;}{\* +\ts154\tsrowd\tscellcfpat0\tscellcbpat21\tscellpct0\tsbrdrt\brdrnone \tsbrdrb\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af31503 \ltrch\fcs0 \tscbandhorzodd Medium List 2;}{\*\ts154\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0 \rtlch\fcs1 +\af31503 \ltrch\fcs0 \tscnwcell Medium List 2;}{\*\ts154\tsrowd\tsbrdrt\brdrnone \rtlch\fcs1 \af31503 \ltrch\fcs0 \tscswcell Medium List 2;}{\*\ts155\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf26 \trbrdrl\brdrs\brdrw20\brdrcf26 \trbrdrb\brdrs\brdrw20\brdrcf26 +\trbrdrr\brdrs\brdrw20\brdrcf26 \trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31503\afs20\alang1025 \ltrch\fcs0 \fs20\cf18\lang2055\langfe2055\loch\f31502\hich\af31502\dbch\af31501\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext155 \slocked \ssemihidden \spriority66 \styrsid1448066 Medium List 2 Accent 1;}{\*\ts155\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw60\brdrcf26 \tsbrdrr\brdrnone \tsbrdrh\brdrnone +\tsbrdrv\brdrnone \rtlch\fcs1 \af31503\afs24 \ltrch\fcs0 \fs24 \tscfirstrow Medium List 2 Accent 1;}{\*\ts155\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrs\brdrw20\brdrcf26 \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh +\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af31503 \ltrch\fcs0 \tsclastrow Medium List 2 Accent 1;}{\*\ts155\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrs\brdrw20\brdrcf26 \tsbrdrh\brdrnone +\tsbrdrv\brdrnone \rtlch\fcs1 \af31503 \ltrch\fcs0 \tscfirstcol Medium List 2 Accent 1;}{\*\ts155\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrs\brdrw20\brdrcf26 \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv +\brdrnone \rtlch\fcs1 \af31503 \ltrch\fcs0 \tsclastcol Medium List 2 Accent 1;}{\*\ts155\tsrowd\tscellcfpat0\tscellcbpat38\tscellpct0\tsbrdrl\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af31503 \ltrch\fcs0 \tscbandvertodd +Medium List 2 Accent 1;}{\*\ts155\tsrowd\tscellcfpat0\tscellcbpat38\tscellpct0\tsbrdrt\brdrnone \tsbrdrb\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af31503 \ltrch\fcs0 \tscbandhorzodd Medium List 2 Accent 1;}{\* +\ts155\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0 \rtlch\fcs1 \af31503 \ltrch\fcs0 \tscnwcell Medium List 2 Accent 1;}{\*\ts155\tsrowd\tsbrdrt\brdrnone \rtlch\fcs1 \af31503 \ltrch\fcs0 \tscswcell Medium List 2 Accent 1;}{\*\ts156\tsrowd\trbrdrt +\brdrs\brdrw20\brdrcf39 \trbrdrl\brdrs\brdrw20\brdrcf39 \trbrdrb\brdrs\brdrw20\brdrcf39 \trbrdrr\brdrs\brdrw20\brdrcf39 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31503\afs20\alang1025 \ltrch\fcs0 \fs20\cf18\lang2055\langfe2055\loch\f31502\hich\af31502\dbch\af31501\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext156 \slocked \ssemihidden \spriority66 \styrsid1448066 Medium List 2 Accent 2;}{\*\ts156\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw60\brdrcf39 \tsbrdrr\brdrnone \tsbrdrh\brdrnone +\tsbrdrv\brdrnone \rtlch\fcs1 \af31503\afs24 \ltrch\fcs0 \fs24 \tscfirstrow Medium List 2 Accent 2;}{\*\ts156\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrs\brdrw20\brdrcf39 \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh +\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af31503 \ltrch\fcs0 \tsclastrow Medium List 2 Accent 2;}{\*\ts156\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrs\brdrw20\brdrcf39 \tsbrdrh\brdrnone +\tsbrdrv\brdrnone \rtlch\fcs1 \af31503 \ltrch\fcs0 \tscfirstcol Medium List 2 Accent 2;}{\*\ts156\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrs\brdrw20\brdrcf39 \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv +\brdrnone \rtlch\fcs1 \af31503 \ltrch\fcs0 \tsclastcol Medium List 2 Accent 2;}{\*\ts156\tsrowd\tscellcfpat0\tscellcbpat41\tscellpct0\tsbrdrl\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af31503 \ltrch\fcs0 \tscbandvertodd +Medium List 2 Accent 2;}{\*\ts156\tsrowd\tscellcfpat0\tscellcbpat41\tscellpct0\tsbrdrt\brdrnone \tsbrdrb\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af31503 \ltrch\fcs0 \tscbandhorzodd Medium List 2 Accent 2;}{\* +\ts156\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0 \rtlch\fcs1 \af31503 \ltrch\fcs0 \tscnwcell Medium List 2 Accent 2;}{\*\ts156\tsrowd\tsbrdrt\brdrnone \rtlch\fcs1 \af31503 \ltrch\fcs0 \tscswcell Medium List 2 Accent 2;}{\*\ts157\tsrowd\trbrdrt +\brdrs\brdrw20\brdrcf42 \trbrdrl\brdrs\brdrw20\brdrcf42 \trbrdrb\brdrs\brdrw20\brdrcf42 \trbrdrr\brdrs\brdrw20\brdrcf42 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31503\afs20\alang1025 \ltrch\fcs0 \fs20\cf18\lang2055\langfe2055\loch\f31502\hich\af31502\dbch\af31501\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext157 \slocked \ssemihidden \spriority66 \styrsid1448066 Medium List 2 Accent 3;}{\*\ts157\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw60\brdrcf42 \tsbrdrr\brdrnone \tsbrdrh\brdrnone +\tsbrdrv\brdrnone \rtlch\fcs1 \af31503\afs24 \ltrch\fcs0 \fs24 \tscfirstrow Medium List 2 Accent 3;}{\*\ts157\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrs\brdrw20\brdrcf42 \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh +\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af31503 \ltrch\fcs0 \tsclastrow Medium List 2 Accent 3;}{\*\ts157\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrs\brdrw20\brdrcf42 \tsbrdrh\brdrnone +\tsbrdrv\brdrnone \rtlch\fcs1 \af31503 \ltrch\fcs0 \tscfirstcol Medium List 2 Accent 3;}{\*\ts157\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrs\brdrw20\brdrcf42 \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv +\brdrnone \rtlch\fcs1 \af31503 \ltrch\fcs0 \tsclastcol Medium List 2 Accent 3;}{\*\ts157\tsrowd\tscellcfpat0\tscellcbpat44\tscellpct0\tsbrdrl\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af31503 \ltrch\fcs0 \tscbandvertodd +Medium List 2 Accent 3;}{\*\ts157\tsrowd\tscellcfpat0\tscellcbpat44\tscellpct0\tsbrdrt\brdrnone \tsbrdrb\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af31503 \ltrch\fcs0 \tscbandhorzodd Medium List 2 Accent 3;}{\* +\ts157\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0 \rtlch\fcs1 \af31503 \ltrch\fcs0 \tscnwcell Medium List 2 Accent 3;}{\*\ts157\tsrowd\tsbrdrt\brdrnone \rtlch\fcs1 \af31503 \ltrch\fcs0 \tscswcell Medium List 2 Accent 3;}{\*\ts158\tsrowd\trbrdrt +\brdrs\brdrw20\brdrcf45 \trbrdrl\brdrs\brdrw20\brdrcf45 \trbrdrb\brdrs\brdrw20\brdrcf45 \trbrdrr\brdrs\brdrw20\brdrcf45 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31503\afs20\alang1025 \ltrch\fcs0 \fs20\cf18\lang2055\langfe2055\loch\f31502\hich\af31502\dbch\af31501\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext158 \slocked \ssemihidden \spriority66 \styrsid1448066 Medium List 2 Accent 4;}{\*\ts158\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw60\brdrcf45 \tsbrdrr\brdrnone \tsbrdrh\brdrnone +\tsbrdrv\brdrnone \rtlch\fcs1 \af31503\afs24 \ltrch\fcs0 \fs24 \tscfirstrow Medium List 2 Accent 4;}{\*\ts158\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrs\brdrw20\brdrcf45 \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh +\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af31503 \ltrch\fcs0 \tsclastrow Medium List 2 Accent 4;}{\*\ts158\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrs\brdrw20\brdrcf45 \tsbrdrh\brdrnone +\tsbrdrv\brdrnone \rtlch\fcs1 \af31503 \ltrch\fcs0 \tscfirstcol Medium List 2 Accent 4;}{\*\ts158\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrs\brdrw20\brdrcf45 \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv +\brdrnone \rtlch\fcs1 \af31503 \ltrch\fcs0 \tsclastcol Medium List 2 Accent 4;}{\*\ts158\tsrowd\tscellcfpat0\tscellcbpat47\tscellpct0\tsbrdrl\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af31503 \ltrch\fcs0 \tscbandvertodd +Medium List 2 Accent 4;}{\*\ts158\tsrowd\tscellcfpat0\tscellcbpat47\tscellpct0\tsbrdrt\brdrnone \tsbrdrb\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af31503 \ltrch\fcs0 \tscbandhorzodd Medium List 2 Accent 4;}{\* +\ts158\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0 \rtlch\fcs1 \af31503 \ltrch\fcs0 \tscnwcell Medium List 2 Accent 4;}{\*\ts158\tsrowd\tsbrdrt\brdrnone \rtlch\fcs1 \af31503 \ltrch\fcs0 \tscswcell Medium List 2 Accent 4;}{\*\ts159\tsrowd\trbrdrt +\brdrs\brdrw20\brdrcf48 \trbrdrl\brdrs\brdrw20\brdrcf48 \trbrdrb\brdrs\brdrw20\brdrcf48 \trbrdrr\brdrs\brdrw20\brdrcf48 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31503\afs20\alang1025 \ltrch\fcs0 \fs20\cf18\lang2055\langfe2055\loch\f31502\hich\af31502\dbch\af31501\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext159 \slocked \ssemihidden \spriority66 \styrsid1448066 Medium List 2 Accent 5;}{\*\ts159\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw60\brdrcf48 \tsbrdrr\brdrnone \tsbrdrh\brdrnone +\tsbrdrv\brdrnone \rtlch\fcs1 \af31503\afs24 \ltrch\fcs0 \fs24 \tscfirstrow Medium List 2 Accent 5;}{\*\ts159\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrs\brdrw20\brdrcf48 \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh +\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af31503 \ltrch\fcs0 \tsclastrow Medium List 2 Accent 5;}{\*\ts159\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrs\brdrw20\brdrcf48 \tsbrdrh\brdrnone +\tsbrdrv\brdrnone \rtlch\fcs1 \af31503 \ltrch\fcs0 \tscfirstcol Medium List 2 Accent 5;}{\*\ts159\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrs\brdrw20\brdrcf48 \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv +\brdrnone \rtlch\fcs1 \af31503 \ltrch\fcs0 \tsclastcol Medium List 2 Accent 5;}{\*\ts159\tsrowd\tscellcfpat0\tscellcbpat50\tscellpct0\tsbrdrl\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af31503 \ltrch\fcs0 \tscbandvertodd +Medium List 2 Accent 5;}{\*\ts159\tsrowd\tscellcfpat0\tscellcbpat50\tscellpct0\tsbrdrt\brdrnone \tsbrdrb\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af31503 \ltrch\fcs0 \tscbandhorzodd Medium List 2 Accent 5;}{\* +\ts159\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0 \rtlch\fcs1 \af31503 \ltrch\fcs0 \tscnwcell Medium List 2 Accent 5;}{\*\ts159\tsrowd\tsbrdrt\brdrnone \rtlch\fcs1 \af31503 \ltrch\fcs0 \tscswcell Medium List 2 Accent 5;}{\*\ts160\tsrowd\trbrdrt +\brdrs\brdrw20\brdrcf51 \trbrdrl\brdrs\brdrw20\brdrcf51 \trbrdrb\brdrs\brdrw20\brdrcf51 \trbrdrr\brdrs\brdrw20\brdrcf51 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31503\afs20\alang1025 \ltrch\fcs0 \fs20\cf18\lang2055\langfe2055\loch\f31502\hich\af31502\dbch\af31501\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext160 \slocked \ssemihidden \spriority66 \styrsid1448066 Medium List 2 Accent 6;}{\*\ts160\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw60\brdrcf51 \tsbrdrr\brdrnone \tsbrdrh\brdrnone +\tsbrdrv\brdrnone \rtlch\fcs1 \af31503\afs24 \ltrch\fcs0 \fs24 \tscfirstrow Medium List 2 Accent 6;}{\*\ts160\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrs\brdrw20\brdrcf51 \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh +\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af31503 \ltrch\fcs0 \tsclastrow Medium List 2 Accent 6;}{\*\ts160\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrs\brdrw20\brdrcf51 \tsbrdrh\brdrnone +\tsbrdrv\brdrnone \rtlch\fcs1 \af31503 \ltrch\fcs0 \tscfirstcol Medium List 2 Accent 6;}{\*\ts160\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrs\brdrw20\brdrcf51 \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv +\brdrnone \rtlch\fcs1 \af31503 \ltrch\fcs0 \tsclastcol Medium List 2 Accent 6;}{\*\ts160\tsrowd\tscellcfpat0\tscellcbpat53\tscellpct0\tsbrdrl\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af31503 \ltrch\fcs0 \tscbandvertodd +Medium List 2 Accent 6;}{\*\ts160\tsrowd\tscellcfpat0\tscellcbpat53\tscellpct0\tsbrdrt\brdrnone \tsbrdrb\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af31503 \ltrch\fcs0 \tscbandhorzodd Medium List 2 Accent 6;}{\* +\ts160\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0 \rtlch\fcs1 \af31503 \ltrch\fcs0 \tscnwcell Medium List 2 Accent 6;}{\*\ts160\tsrowd\tsbrdrt\brdrnone \rtlch\fcs1 \af31503 \ltrch\fcs0 \tscswcell Medium List 2 Accent 6;}{\*\ts161\tsrowd\trbrdrt +\brdrs\brdrw20\brdrcf54 \trbrdrl\brdrs\brdrw20\brdrcf54 \trbrdrb\brdrs\brdrw20\brdrcf54 \trbrdrr\brdrs\brdrw20\brdrcf54 \trbrdrh\brdrs\brdrw20\brdrcf54 \trbrdrv\brdrs\brdrw20\brdrcf54 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tscellcbpat38\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext161 \slocked \ssemihidden \spriority67 \styrsid1448066 Medium Grid 1 Accent 1;}{\*\ts161\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstrow Medium Grid 1 Accent 1;}{\*\ts161\tsrowd\tsbrdrt\brdrs\brdrw45\brdrcf54 \rtlch\fcs1 \ab\af0 +\ltrch\fcs0 \b \tsclastrow Medium Grid 1 Accent 1;}{\*\ts161\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstcol Medium Grid 1 Accent 1;}{\*\ts161\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastcol Medium Grid 1 Accent 1;}{\* +\ts161\tsrowd\tscellcfpat0\tscellcbpat61\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Medium Grid 1 Accent 1;}{\*\ts161\tsrowd\tscellcfpat0\tscellcbpat61\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Medium Grid 1 Accent 1;}{\* +\ts162\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf55 \trbrdrl\brdrs\brdrw20\brdrcf55 \trbrdrb\brdrs\brdrw20\brdrcf55 \trbrdrr\brdrs\brdrw20\brdrcf55 \trbrdrh\brdrs\brdrw20\brdrcf55 \trbrdrv\brdrs\brdrw20\brdrcf55 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tscellcbpat41\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext162 \slocked \ssemihidden \spriority67 \styrsid1448066 Medium Grid 1 Accent 2;}{\*\ts162\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstrow Medium Grid 1 Accent 2;}{\*\ts162\tsrowd\tsbrdrt\brdrs\brdrw45\brdrcf55 \rtlch\fcs1 \ab\af0 +\ltrch\fcs0 \b \tsclastrow Medium Grid 1 Accent 2;}{\*\ts162\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstcol Medium Grid 1 Accent 2;}{\*\ts162\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastcol Medium Grid 1 Accent 2;}{\* +\ts162\tsrowd\tscellcfpat0\tscellcbpat62\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Medium Grid 1 Accent 2;}{\*\ts162\tsrowd\tscellcfpat0\tscellcbpat62\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Medium Grid 1 Accent 2;}{\* +\ts163\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf56 \trbrdrl\brdrs\brdrw20\brdrcf56 \trbrdrb\brdrs\brdrw20\brdrcf56 \trbrdrr\brdrs\brdrw20\brdrcf56 \trbrdrh\brdrs\brdrw20\brdrcf56 \trbrdrv\brdrs\brdrw20\brdrcf56 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tscellcbpat44\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext163 \slocked \ssemihidden \spriority67 \styrsid1448066 Medium Grid 1 Accent 3;}{\*\ts163\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstrow Medium Grid 1 Accent 3;}{\*\ts163\tsrowd\tsbrdrt\brdrs\brdrw45\brdrcf56 \rtlch\fcs1 \ab\af0 +\ltrch\fcs0 \b \tsclastrow Medium Grid 1 Accent 3;}{\*\ts163\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstcol Medium Grid 1 Accent 3;}{\*\ts163\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastcol Medium Grid 1 Accent 3;}{\* +\ts163\tsrowd\tscellcfpat0\tscellcbpat63\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Medium Grid 1 Accent 3;}{\*\ts163\tsrowd\tscellcfpat0\tscellcbpat63\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Medium Grid 1 Accent 3;}{\* +\ts164\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf57 \trbrdrl\brdrs\brdrw20\brdrcf57 \trbrdrb\brdrs\brdrw20\brdrcf57 \trbrdrr\brdrs\brdrw20\brdrcf57 \trbrdrh\brdrs\brdrw20\brdrcf57 \trbrdrv\brdrs\brdrw20\brdrcf57 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tscellcbpat47\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext164 \slocked \ssemihidden \spriority67 \styrsid1448066 Medium Grid 1 Accent 4;}{\*\ts164\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstrow Medium Grid 1 Accent 4;}{\*\ts164\tsrowd\tsbrdrt\brdrs\brdrw45\brdrcf57 \rtlch\fcs1 \ab\af0 +\ltrch\fcs0 \b \tsclastrow Medium Grid 1 Accent 4;}{\*\ts164\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstcol Medium Grid 1 Accent 4;}{\*\ts164\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastcol Medium Grid 1 Accent 4;}{\* +\ts164\tsrowd\tscellcfpat0\tscellcbpat64\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Medium Grid 1 Accent 4;}{\*\ts164\tsrowd\tscellcfpat0\tscellcbpat64\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Medium Grid 1 Accent 4;}{\* +\ts165\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf58 \trbrdrl\brdrs\brdrw20\brdrcf58 \trbrdrb\brdrs\brdrw20\brdrcf58 \trbrdrr\brdrs\brdrw20\brdrcf58 \trbrdrh\brdrs\brdrw20\brdrcf58 \trbrdrv\brdrs\brdrw20\brdrcf58 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tscellcbpat50\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext165 \slocked \ssemihidden \spriority67 \styrsid1448066 Medium Grid 1 Accent 5;}{\*\ts165\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstrow Medium Grid 1 Accent 5;}{\*\ts165\tsrowd\tsbrdrt\brdrs\brdrw45\brdrcf58 \rtlch\fcs1 \ab\af0 +\ltrch\fcs0 \b \tsclastrow Medium Grid 1 Accent 5;}{\*\ts165\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstcol Medium Grid 1 Accent 5;}{\*\ts165\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastcol Medium Grid 1 Accent 5;}{\* +\ts165\tsrowd\tscellcfpat0\tscellcbpat65\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Medium Grid 1 Accent 5;}{\*\ts165\tsrowd\tscellcfpat0\tscellcbpat65\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Medium Grid 1 Accent 5;}{\* +\ts166\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf59 \trbrdrl\brdrs\brdrw20\brdrcf59 \trbrdrb\brdrs\brdrw20\brdrcf59 \trbrdrr\brdrs\brdrw20\brdrcf59 \trbrdrh\brdrs\brdrw20\brdrcf59 \trbrdrv\brdrs\brdrw20\brdrcf59 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tscellcbpat53\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext166 \slocked \ssemihidden \spriority67 \styrsid1448066 Medium Grid 1 Accent 6;}{\*\ts166\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstrow Medium Grid 1 Accent 6;}{\*\ts166\tsrowd\tsbrdrt\brdrs\brdrw45\brdrcf59 \rtlch\fcs1 \ab\af0 +\ltrch\fcs0 \b \tsclastrow Medium Grid 1 Accent 6;}{\*\ts166\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstcol Medium Grid 1 Accent 6;}{\*\ts166\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastcol Medium Grid 1 Accent 6;}{\* +\ts166\tsrowd\tscellcfpat0\tscellcbpat66\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Medium Grid 1 Accent 6;}{\*\ts166\tsrowd\tscellcfpat0\tscellcbpat66\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Medium Grid 1 Accent 6;}{\* +\ts167\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf18 \trbrdrl\brdrs\brdrw20\brdrcf18 \trbrdrb\brdrs\brdrw20\brdrcf18 \trbrdrr\brdrs\brdrw20\brdrcf18 \trbrdrh\brdrs\brdrw20\brdrcf18 \trbrdrv\brdrs\brdrw20\brdrcf18 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tscellcbpat21\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31503\afs20\alang1025 \ltrch\fcs0 \fs20\cf18\lang2055\langfe2055\loch\f31502\hich\af31502\dbch\af31501\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext167 \slocked \ssemihidden \spriority68 \styrsid1448066 Medium Grid 2;}{\*\ts167\tsrowd\tscellcfpat0\tscellcbpat36\tscellpct0 \rtlch\fcs1 \ab\af31503 \ltrch\fcs0 \b\cf18 \tscfirstrow Medium Grid 2;}{\* +\ts167\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrs\brdrw30\brdrcf18 \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \ab\af31503 \ltrch\fcs0 \b\cf18 \tsclastrow Medium Grid 2;}{\* +\ts167\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \ab\af31503 \ltrch\fcs0 \b\cf18 \tscfirstcol Medium Grid 2;}{\* +\ts167\tsrowd\tscellcfpat0\tscellcbpat22\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \ab0\af31503 \ltrch\fcs0 \b0\cf18 \tsclastcol Medium Grid 2;}{\* +\ts167\tsrowd\tscellcfpat0\tscellcbpat25\tscellpct0 \rtlch\fcs1 \af31503 \ltrch\fcs0 \tscbandvertodd Medium Grid 2;}{\*\ts167\tsrowd\tscellcfpat0\tscellcbpat25\tscellpct0\tsbrdrh\brdrs\brdrw15\brdrcf18 \tsbrdrv\brdrs\brdrw15\brdrcf18 \rtlch\fcs1 \af31503 +\ltrch\fcs0 \tscbandhorzodd Medium Grid 2;}{\*\ts167\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0 \rtlch\fcs1 \af31503 \ltrch\fcs0 \tscnwcell Medium Grid 2;}{\*\ts168\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf26 \trbrdrl\brdrs\brdrw20\brdrcf26 \trbrdrb +\brdrs\brdrw20\brdrcf26 \trbrdrr\brdrs\brdrw20\brdrcf26 \trbrdrh\brdrs\brdrw20\brdrcf26 \trbrdrv\brdrs\brdrw20\brdrcf26 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tscellcbpat38\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31503\afs20\alang1025 \ltrch\fcs0 \fs20\cf18\lang2055\langfe2055\loch\f31502\hich\af31502\dbch\af31501\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext168 \slocked \ssemihidden \spriority68 \styrsid1448066 Medium Grid 2 Accent 1;}{\*\ts168\tsrowd\tscellcfpat0\tscellcbpat67\tscellpct0 \rtlch\fcs1 \ab\af31503 \ltrch\fcs0 \b\cf18 \tscfirstrow Medium Grid 2 Accent 1;}{\* +\ts168\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrs\brdrw30\brdrcf18 \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \ab\af31503 \ltrch\fcs0 \b\cf18 \tsclastrow Medium Grid 2 Accent 1;} +{\*\ts168\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \ab\af31503 \ltrch\fcs0 \b\cf18 \tscfirstcol Medium Grid 2 Accent 1;}{\* +\ts168\tsrowd\tscellcfpat0\tscellcbpat68\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \ab0\af31503 \ltrch\fcs0 \b0\cf18 \tsclastcol Medium Grid 2 Accent 1;}{\* +\ts168\tsrowd\tscellcfpat0\tscellcbpat61\tscellpct0 \rtlch\fcs1 \af31503 \ltrch\fcs0 \tscbandvertodd Medium Grid 2 Accent 1;}{\*\ts168\tsrowd\tscellcfpat0\tscellcbpat61\tscellpct0\tsbrdrh\brdrs\brdrw15\brdrcf26 \tsbrdrv\brdrs\brdrw15\brdrcf26 \rtlch\fcs1 +\af31503 \ltrch\fcs0 \tscbandhorzodd Medium Grid 2 Accent 1;}{\*\ts168\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0 \rtlch\fcs1 \af31503 \ltrch\fcs0 \tscnwcell Medium Grid 2 Accent 1;}{\*\ts169\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf39 \trbrdrl +\brdrs\brdrw20\brdrcf39 \trbrdrb\brdrs\brdrw20\brdrcf39 \trbrdrr\brdrs\brdrw20\brdrcf39 \trbrdrh\brdrs\brdrw20\brdrcf39 \trbrdrv\brdrs\brdrw20\brdrcf39 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tscellcbpat41\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31503\afs20\alang1025 \ltrch\fcs0 \fs20\cf18\lang2055\langfe2055\loch\f31502\hich\af31502\dbch\af31501\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext169 \slocked \ssemihidden \spriority68 \styrsid1448066 Medium Grid 2 Accent 2;}{\*\ts169\tsrowd\tscellcfpat0\tscellcbpat69\tscellpct0 \rtlch\fcs1 \ab\af31503 \ltrch\fcs0 \b\cf18 \tscfirstrow Medium Grid 2 Accent 2;}{\* +\ts169\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrs\brdrw30\brdrcf18 \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \ab\af31503 \ltrch\fcs0 \b\cf18 \tsclastrow Medium Grid 2 Accent 2;} +{\*\ts169\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \ab\af31503 \ltrch\fcs0 \b\cf18 \tscfirstcol Medium Grid 2 Accent 2;}{\* +\ts169\tsrowd\tscellcfpat0\tscellcbpat70\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \ab0\af31503 \ltrch\fcs0 \b0\cf18 \tsclastcol Medium Grid 2 Accent 2;}{\* +\ts169\tsrowd\tscellcfpat0\tscellcbpat62\tscellpct0 \rtlch\fcs1 \af31503 \ltrch\fcs0 \tscbandvertodd Medium Grid 2 Accent 2;}{\*\ts169\tsrowd\tscellcfpat0\tscellcbpat62\tscellpct0\tsbrdrh\brdrs\brdrw15\brdrcf39 \tsbrdrv\brdrs\brdrw15\brdrcf39 \rtlch\fcs1 +\af31503 \ltrch\fcs0 \tscbandhorzodd Medium Grid 2 Accent 2;}{\*\ts169\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0 \rtlch\fcs1 \af31503 \ltrch\fcs0 \tscnwcell Medium Grid 2 Accent 2;}{\*\ts170\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf42 \trbrdrl +\brdrs\brdrw20\brdrcf42 \trbrdrb\brdrs\brdrw20\brdrcf42 \trbrdrr\brdrs\brdrw20\brdrcf42 \trbrdrh\brdrs\brdrw20\brdrcf42 \trbrdrv\brdrs\brdrw20\brdrcf42 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tscellcbpat44\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31503\afs20\alang1025 \ltrch\fcs0 \fs20\cf18\lang2055\langfe2055\loch\f31502\hich\af31502\dbch\af31501\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext170 \slocked \ssemihidden \spriority68 \styrsid1448066 Medium Grid 2 Accent 3;}{\*\ts170\tsrowd\tscellcfpat0\tscellcbpat71\tscellpct0 \rtlch\fcs1 \ab\af31503 \ltrch\fcs0 \b\cf18 \tscfirstrow Medium Grid 2 Accent 3;}{\* +\ts170\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrs\brdrw30\brdrcf18 \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \ab\af31503 \ltrch\fcs0 \b\cf18 \tsclastrow Medium Grid 2 Accent 3;} +{\*\ts170\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \ab\af31503 \ltrch\fcs0 \b\cf18 \tscfirstcol Medium Grid 2 Accent 3;}{\* +\ts170\tsrowd\tscellcfpat0\tscellcbpat72\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \ab0\af31503 \ltrch\fcs0 \b0\cf18 \tsclastcol Medium Grid 2 Accent 3;}{\* +\ts170\tsrowd\tscellcfpat0\tscellcbpat63\tscellpct0 \rtlch\fcs1 \af31503 \ltrch\fcs0 \tscbandvertodd Medium Grid 2 Accent 3;}{\*\ts170\tsrowd\tscellcfpat0\tscellcbpat63\tscellpct0\tsbrdrh\brdrs\brdrw15\brdrcf42 \tsbrdrv\brdrs\brdrw15\brdrcf42 \rtlch\fcs1 +\af31503 \ltrch\fcs0 \tscbandhorzodd Medium Grid 2 Accent 3;}{\*\ts170\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0 \rtlch\fcs1 \af31503 \ltrch\fcs0 \tscnwcell Medium Grid 2 Accent 3;}{\*\ts171\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf45 \trbrdrl +\brdrs\brdrw20\brdrcf45 \trbrdrb\brdrs\brdrw20\brdrcf45 \trbrdrr\brdrs\brdrw20\brdrcf45 \trbrdrh\brdrs\brdrw20\brdrcf45 \trbrdrv\brdrs\brdrw20\brdrcf45 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tscellcbpat47\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31503\afs20\alang1025 \ltrch\fcs0 \fs20\cf18\lang2055\langfe2055\loch\f31502\hich\af31502\dbch\af31501\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext171 \slocked \ssemihidden \spriority68 \styrsid1448066 Medium Grid 2 Accent 4;}{\*\ts171\tsrowd\tscellcfpat0\tscellcbpat73\tscellpct0 \rtlch\fcs1 \ab\af31503 \ltrch\fcs0 \b\cf18 \tscfirstrow Medium Grid 2 Accent 4;}{\* +\ts171\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrs\brdrw30\brdrcf18 \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \ab\af31503 \ltrch\fcs0 \b\cf18 \tsclastrow Medium Grid 2 Accent 4;} +{\*\ts171\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \ab\af31503 \ltrch\fcs0 \b\cf18 \tscfirstcol Medium Grid 2 Accent 4;}{\* +\ts171\tsrowd\tscellcfpat0\tscellcbpat74\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \ab0\af31503 \ltrch\fcs0 \b0\cf18 \tsclastcol Medium Grid 2 Accent 4;}{\* +\ts171\tsrowd\tscellcfpat0\tscellcbpat64\tscellpct0 \rtlch\fcs1 \af31503 \ltrch\fcs0 \tscbandvertodd Medium Grid 2 Accent 4;}{\*\ts171\tsrowd\tscellcfpat0\tscellcbpat64\tscellpct0\tsbrdrh\brdrs\brdrw15\brdrcf45 \tsbrdrv\brdrs\brdrw15\brdrcf45 \rtlch\fcs1 +\af31503 \ltrch\fcs0 \tscbandhorzodd Medium Grid 2 Accent 4;}{\*\ts171\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0 \rtlch\fcs1 \af31503 \ltrch\fcs0 \tscnwcell Medium Grid 2 Accent 4;}{\*\ts172\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf48 \trbrdrl +\brdrs\brdrw20\brdrcf48 \trbrdrb\brdrs\brdrw20\brdrcf48 \trbrdrr\brdrs\brdrw20\brdrcf48 \trbrdrh\brdrs\brdrw20\brdrcf48 \trbrdrv\brdrs\brdrw20\brdrcf48 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tscellcbpat50\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31503\afs20\alang1025 \ltrch\fcs0 \fs20\cf18\lang2055\langfe2055\loch\f31502\hich\af31502\dbch\af31501\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext172 \slocked \ssemihidden \spriority68 \styrsid1448066 Medium Grid 2 Accent 5;}{\*\ts172\tsrowd\tscellcfpat0\tscellcbpat75\tscellpct0 \rtlch\fcs1 \ab\af31503 \ltrch\fcs0 \b\cf18 \tscfirstrow Medium Grid 2 Accent 5;}{\* +\ts172\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrs\brdrw30\brdrcf18 \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \ab\af31503 \ltrch\fcs0 \b\cf18 \tsclastrow Medium Grid 2 Accent 5;} +{\*\ts172\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \ab\af31503 \ltrch\fcs0 \b\cf18 \tscfirstcol Medium Grid 2 Accent 5;}{\* +\ts172\tsrowd\tscellcfpat0\tscellcbpat76\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \ab0\af31503 \ltrch\fcs0 \b0\cf18 \tsclastcol Medium Grid 2 Accent 5;}{\* +\ts172\tsrowd\tscellcfpat0\tscellcbpat65\tscellpct0 \rtlch\fcs1 \af31503 \ltrch\fcs0 \tscbandvertodd Medium Grid 2 Accent 5;}{\*\ts172\tsrowd\tscellcfpat0\tscellcbpat65\tscellpct0\tsbrdrh\brdrs\brdrw15\brdrcf48 \tsbrdrv\brdrs\brdrw15\brdrcf48 \rtlch\fcs1 +\af31503 \ltrch\fcs0 \tscbandhorzodd Medium Grid 2 Accent 5;}{\*\ts172\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0 \rtlch\fcs1 \af31503 \ltrch\fcs0 \tscnwcell Medium Grid 2 Accent 5;}{\*\ts173\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf51 \trbrdrl +\brdrs\brdrw20\brdrcf51 \trbrdrb\brdrs\brdrw20\brdrcf51 \trbrdrr\brdrs\brdrw20\brdrcf51 \trbrdrh\brdrs\brdrw20\brdrcf51 \trbrdrv\brdrs\brdrw20\brdrcf51 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tscellcbpat53\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31503\afs20\alang1025 \ltrch\fcs0 \fs20\cf18\lang2055\langfe2055\loch\f31502\hich\af31502\dbch\af31501\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext173 \slocked \ssemihidden \spriority68 \styrsid1448066 Medium Grid 2 Accent 6;}{\*\ts173\tsrowd\tscellcfpat0\tscellcbpat77\tscellpct0 \rtlch\fcs1 \ab\af31503 \ltrch\fcs0 \b\cf18 \tscfirstrow Medium Grid 2 Accent 6;}{\* +\ts173\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrs\brdrw30\brdrcf18 \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \ab\af31503 \ltrch\fcs0 \b\cf18 \tsclastrow Medium Grid 2 Accent 6;} +{\*\ts173\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \ab\af31503 \ltrch\fcs0 \b\cf18 \tscfirstcol Medium Grid 2 Accent 6;}{\* +\ts173\tsrowd\tscellcfpat0\tscellcbpat78\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \ab0\af31503 \ltrch\fcs0 \b0\cf18 \tsclastcol Medium Grid 2 Accent 6;}{\* +\ts173\tsrowd\tscellcfpat0\tscellcbpat66\tscellpct0 \rtlch\fcs1 \af31503 \ltrch\fcs0 \tscbandvertodd Medium Grid 2 Accent 6;}{\*\ts173\tsrowd\tscellcfpat0\tscellcbpat66\tscellpct0\tsbrdrh\brdrs\brdrw15\brdrcf51 \tsbrdrv\brdrs\brdrw15\brdrcf51 \rtlch\fcs1 +\af31503 \ltrch\fcs0 \tscbandhorzodd Medium Grid 2 Accent 6;}{\*\ts173\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0 \rtlch\fcs1 \af31503 \ltrch\fcs0 \tscnwcell Medium Grid 2 Accent 6;}{\*\ts174\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf23 \trbrdrl +\brdrs\brdrw20\brdrcf23 \trbrdrb\brdrs\brdrw20\brdrcf23 \trbrdrr\brdrs\brdrw20\brdrcf23 \trbrdrh\brdrs\brdrw15\brdrcf23 \trbrdrv\brdrs\brdrw15\brdrcf23 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tscellcbpat21\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext174 \slocked \ssemihidden \spriority69 \styrsid1448066 Medium Grid 3;}{\*\ts174\tsrowd\tscellcfpat0\tscellcbpat18\tscellpct0\tsbrdrt\brdrs\brdrw20\brdrcf23 \tsbrdrl\brdrs\brdrw20\brdrcf23 \tsbrdrb\brdrs\brdrw60\brdrcf23 \tsbrdrr +\brdrs\brdrw20\brdrcf23 \tsbrdrh\brdrnone \tsbrdrv\brdrs\brdrw20\brdrcf23 \rtlch\fcs1 \ab\ai0\af0 \ltrch\fcs0 \b\i0\cf23 \tscfirstrow Medium Grid 3;}{\*\ts174\tsrowd\tscellcfpat0\tscellcbpat18\tscellpct0\tsbrdrt\brdrs\brdrw60\brdrcf23 \tsbrdrl +\brdrs\brdrw20\brdrcf23 \tsbrdrb\brdrs\brdrw20\brdrcf23 \tsbrdrr\brdrs\brdrw20\brdrcf23 \tsbrdrh\brdrnone \tsbrdrv\brdrs\brdrw20\brdrcf23 \rtlch\fcs1 \ab\ai0\af0 \ltrch\fcs0 \b\i0\cf23 \tsclastrow Medium Grid 3;}{\* +\ts174\tsrowd\tscellcfpat0\tscellcbpat18\tscellpct0\tsbrdrl\brdrs\brdrw20\brdrcf23 \tsbrdrr\brdrs\brdrw60\brdrcf23 \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \ab\ai0\af0 \ltrch\fcs0 \b\i0\cf23 \tscfirstcol Medium Grid 3;}{\* +\ts174\tsrowd\tscellcfpat0\tscellcbpat18\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrs\brdrw60\brdrcf23 \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \ab\ai0\af0 \ltrch\fcs0 \b\i0\cf23 \tsclastcol Medium Grid 3;}{\* +\ts174\tsrowd\tscellcfpat0\tscellcbpat25\tscellpct0\tsbrdrt\brdrs\brdrw20\brdrcf23 \tsbrdrl\brdrs\brdrw20\brdrcf23 \tsbrdrb\brdrs\brdrw20\brdrcf23 \tsbrdrr\brdrs\brdrw20\brdrcf23 \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 +\tscbandvertodd Medium Grid 3;}{\*\ts174\tsrowd\tscellcfpat0\tscellcbpat25\tscellpct0\tsbrdrt\brdrs\brdrw20\brdrcf23 \tsbrdrl\brdrs\brdrw20\brdrcf23 \tsbrdrb\brdrs\brdrw20\brdrcf23 \tsbrdrr\brdrs\brdrw20\brdrcf23 \tsbrdrh\brdrs\brdrw20\brdrcf23 \tsbrdrv +\brdrs\brdrw20\brdrcf23 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Medium Grid 3;}{\*\ts175\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf23 \trbrdrl\brdrs\brdrw20\brdrcf23 \trbrdrb\brdrs\brdrw20\brdrcf23 \trbrdrr\brdrs\brdrw20\brdrcf23 \trbrdrh +\brdrs\brdrw15\brdrcf23 \trbrdrv\brdrs\brdrw15\brdrcf23 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tscellcbpat38\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext175 \slocked \ssemihidden \spriority69 \styrsid1448066 Medium Grid 3 Accent 1;}{\*\ts175\tsrowd\tscellcfpat0\tscellcbpat26\tscellpct0\tsbrdrt\brdrs\brdrw20\brdrcf23 \tsbrdrl\brdrs\brdrw20\brdrcf23 \tsbrdrb\brdrs\brdrw60\brdrcf23 \tsbrdrr +\brdrs\brdrw20\brdrcf23 \tsbrdrh\brdrnone \tsbrdrv\brdrs\brdrw20\brdrcf23 \rtlch\fcs1 \ab\ai0\af0 \ltrch\fcs0 \b\i0\cf23 \tscfirstrow Medium Grid 3 Accent 1;}{\*\ts175\tsrowd\tscellcfpat0\tscellcbpat26\tscellpct0\tsbrdrt\brdrs\brdrw60\brdrcf23 \tsbrdrl +\brdrs\brdrw20\brdrcf23 \tsbrdrb\brdrs\brdrw20\brdrcf23 \tsbrdrr\brdrs\brdrw20\brdrcf23 \tsbrdrh\brdrnone \tsbrdrv\brdrs\brdrw20\brdrcf23 \rtlch\fcs1 \ab\ai0\af0 \ltrch\fcs0 \b\i0\cf23 \tsclastrow Medium Grid 3 Accent 1;}{\* +\ts175\tsrowd\tscellcfpat0\tscellcbpat26\tscellpct0\tsbrdrl\brdrs\brdrw20\brdrcf23 \tsbrdrr\brdrs\brdrw60\brdrcf23 \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \ab\ai0\af0 \ltrch\fcs0 \b\i0\cf23 \tscfirstcol Medium Grid 3 Accent 1;}{\* +\ts175\tsrowd\tscellcfpat0\tscellcbpat26\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrs\brdrw60\brdrcf23 \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \ab\ai0\af0 \ltrch\fcs0 \b\i0\cf23 \tsclastcol +Medium Grid 3 Accent 1;}{\*\ts175\tsrowd\tscellcfpat0\tscellcbpat61\tscellpct0\tsbrdrt\brdrs\brdrw20\brdrcf23 \tsbrdrl\brdrs\brdrw20\brdrcf23 \tsbrdrb\brdrs\brdrw20\brdrcf23 \tsbrdrr\brdrs\brdrw20\brdrcf23 \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 +\af0 \ltrch\fcs0 \tscbandvertodd Medium Grid 3 Accent 1;}{\*\ts175\tsrowd\tscellcfpat0\tscellcbpat61\tscellpct0\tsbrdrt\brdrs\brdrw20\brdrcf23 \tsbrdrl\brdrs\brdrw20\brdrcf23 \tsbrdrb\brdrs\brdrw20\brdrcf23 \tsbrdrr\brdrs\brdrw20\brdrcf23 \tsbrdrh +\brdrs\brdrw20\brdrcf23 \tsbrdrv\brdrs\brdrw20\brdrcf23 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Medium Grid 3 Accent 1;}{\*\ts176\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf23 \trbrdrl\brdrs\brdrw20\brdrcf23 \trbrdrb\brdrs\brdrw20\brdrcf23 \trbrdrr +\brdrs\brdrw20\brdrcf23 \trbrdrh\brdrs\brdrw15\brdrcf23 \trbrdrv\brdrs\brdrw15\brdrcf23 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tscellcbpat41\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext176 \slocked \ssemihidden \spriority69 \styrsid1448066 Medium Grid 3 Accent 2;}{\*\ts176\tsrowd\tscellcfpat0\tscellcbpat39\tscellpct0\tsbrdrt\brdrs\brdrw20\brdrcf23 \tsbrdrl\brdrs\brdrw20\brdrcf23 \tsbrdrb\brdrs\brdrw60\brdrcf23 \tsbrdrr +\brdrs\brdrw20\brdrcf23 \tsbrdrh\brdrnone \tsbrdrv\brdrs\brdrw20\brdrcf23 \rtlch\fcs1 \ab\ai0\af0 \ltrch\fcs0 \b\i0\cf23 \tscfirstrow Medium Grid 3 Accent 2;}{\*\ts176\tsrowd\tscellcfpat0\tscellcbpat39\tscellpct0\tsbrdrt\brdrs\brdrw60\brdrcf23 \tsbrdrl +\brdrs\brdrw20\brdrcf23 \tsbrdrb\brdrs\brdrw20\brdrcf23 \tsbrdrr\brdrs\brdrw20\brdrcf23 \tsbrdrh\brdrnone \tsbrdrv\brdrs\brdrw20\brdrcf23 \rtlch\fcs1 \ab\ai0\af0 \ltrch\fcs0 \b\i0\cf23 \tsclastrow Medium Grid 3 Accent 2;}{\* +\ts176\tsrowd\tscellcfpat0\tscellcbpat39\tscellpct0\tsbrdrl\brdrs\brdrw20\brdrcf23 \tsbrdrr\brdrs\brdrw60\brdrcf23 \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \ab\ai0\af0 \ltrch\fcs0 \b\i0\cf23 \tscfirstcol Medium Grid 3 Accent 2;}{\* +\ts176\tsrowd\tscellcfpat0\tscellcbpat39\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrs\brdrw60\brdrcf23 \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \ab\ai0\af0 \ltrch\fcs0 \b\i0\cf23 \tsclastcol +Medium Grid 3 Accent 2;}{\*\ts176\tsrowd\tscellcfpat0\tscellcbpat62\tscellpct0\tsbrdrt\brdrs\brdrw20\brdrcf23 \tsbrdrl\brdrs\brdrw20\brdrcf23 \tsbrdrb\brdrs\brdrw20\brdrcf23 \tsbrdrr\brdrs\brdrw20\brdrcf23 \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 +\af0 \ltrch\fcs0 \tscbandvertodd Medium Grid 3 Accent 2;}{\*\ts176\tsrowd\tscellcfpat0\tscellcbpat62\tscellpct0\tsbrdrt\brdrs\brdrw20\brdrcf23 \tsbrdrl\brdrs\brdrw20\brdrcf23 \tsbrdrb\brdrs\brdrw20\brdrcf23 \tsbrdrr\brdrs\brdrw20\brdrcf23 \tsbrdrh +\brdrs\brdrw20\brdrcf23 \tsbrdrv\brdrs\brdrw20\brdrcf23 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Medium Grid 3 Accent 2;}{\*\ts177\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf23 \trbrdrl\brdrs\brdrw20\brdrcf23 \trbrdrb\brdrs\brdrw20\brdrcf23 \trbrdrr +\brdrs\brdrw20\brdrcf23 \trbrdrh\brdrs\brdrw15\brdrcf23 \trbrdrv\brdrs\brdrw15\brdrcf23 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tscellcbpat44\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext177 \slocked \ssemihidden \spriority69 \styrsid1448066 Medium Grid 3 Accent 3;}{\*\ts177\tsrowd\tscellcfpat0\tscellcbpat42\tscellpct0\tsbrdrt\brdrs\brdrw20\brdrcf23 \tsbrdrl\brdrs\brdrw20\brdrcf23 \tsbrdrb\brdrs\brdrw60\brdrcf23 \tsbrdrr +\brdrs\brdrw20\brdrcf23 \tsbrdrh\brdrnone \tsbrdrv\brdrs\brdrw20\brdrcf23 \rtlch\fcs1 \ab\ai0\af0 \ltrch\fcs0 \b\i0\cf23 \tscfirstrow Medium Grid 3 Accent 3;}{\*\ts177\tsrowd\tscellcfpat0\tscellcbpat42\tscellpct0\tsbrdrt\brdrs\brdrw60\brdrcf23 \tsbrdrl +\brdrs\brdrw20\brdrcf23 \tsbrdrb\brdrs\brdrw20\brdrcf23 \tsbrdrr\brdrs\brdrw20\brdrcf23 \tsbrdrh\brdrnone \tsbrdrv\brdrs\brdrw20\brdrcf23 \rtlch\fcs1 \ab\ai0\af0 \ltrch\fcs0 \b\i0\cf23 \tsclastrow Medium Grid 3 Accent 3;}{\* +\ts177\tsrowd\tscellcfpat0\tscellcbpat42\tscellpct0\tsbrdrl\brdrs\brdrw20\brdrcf23 \tsbrdrr\brdrs\brdrw60\brdrcf23 \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \ab\ai0\af0 \ltrch\fcs0 \b\i0\cf23 \tscfirstcol Medium Grid 3 Accent 3;}{\* +\ts177\tsrowd\tscellcfpat0\tscellcbpat42\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrs\brdrw60\brdrcf23 \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \ab\ai0\af0 \ltrch\fcs0 \b\i0\cf23 \tsclastcol +Medium Grid 3 Accent 3;}{\*\ts177\tsrowd\tscellcfpat0\tscellcbpat63\tscellpct0\tsbrdrt\brdrs\brdrw20\brdrcf23 \tsbrdrl\brdrs\brdrw20\brdrcf23 \tsbrdrb\brdrs\brdrw20\brdrcf23 \tsbrdrr\brdrs\brdrw20\brdrcf23 \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 +\af0 \ltrch\fcs0 \tscbandvertodd Medium Grid 3 Accent 3;}{\*\ts177\tsrowd\tscellcfpat0\tscellcbpat63\tscellpct0\tsbrdrt\brdrs\brdrw20\brdrcf23 \tsbrdrl\brdrs\brdrw20\brdrcf23 \tsbrdrb\brdrs\brdrw20\brdrcf23 \tsbrdrr\brdrs\brdrw20\brdrcf23 \tsbrdrh +\brdrs\brdrw20\brdrcf23 \tsbrdrv\brdrs\brdrw20\brdrcf23 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Medium Grid 3 Accent 3;}{\*\ts178\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf23 \trbrdrl\brdrs\brdrw20\brdrcf23 \trbrdrb\brdrs\brdrw20\brdrcf23 \trbrdrr +\brdrs\brdrw20\brdrcf23 \trbrdrh\brdrs\brdrw15\brdrcf23 \trbrdrv\brdrs\brdrw15\brdrcf23 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tscellcbpat47\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext178 \slocked \ssemihidden \spriority69 \styrsid1448066 Medium Grid 3 Accent 4;}{\*\ts178\tsrowd\tscellcfpat0\tscellcbpat45\tscellpct0\tsbrdrt\brdrs\brdrw20\brdrcf23 \tsbrdrl\brdrs\brdrw20\brdrcf23 \tsbrdrb\brdrs\brdrw60\brdrcf23 \tsbrdrr +\brdrs\brdrw20\brdrcf23 \tsbrdrh\brdrnone \tsbrdrv\brdrs\brdrw20\brdrcf23 \rtlch\fcs1 \ab\ai0\af0 \ltrch\fcs0 \b\i0\cf23 \tscfirstrow Medium Grid 3 Accent 4;}{\*\ts178\tsrowd\tscellcfpat0\tscellcbpat45\tscellpct0\tsbrdrt\brdrs\brdrw60\brdrcf23 \tsbrdrl +\brdrs\brdrw20\brdrcf23 \tsbrdrb\brdrs\brdrw20\brdrcf23 \tsbrdrr\brdrs\brdrw20\brdrcf23 \tsbrdrh\brdrnone \tsbrdrv\brdrs\brdrw20\brdrcf23 \rtlch\fcs1 \ab\ai0\af0 \ltrch\fcs0 \b\i0\cf23 \tsclastrow Medium Grid 3 Accent 4;}{\* +\ts178\tsrowd\tscellcfpat0\tscellcbpat45\tscellpct0\tsbrdrl\brdrs\brdrw20\brdrcf23 \tsbrdrr\brdrs\brdrw60\brdrcf23 \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \ab\ai0\af0 \ltrch\fcs0 \b\i0\cf23 \tscfirstcol Medium Grid 3 Accent 4;}{\* +\ts178\tsrowd\tscellcfpat0\tscellcbpat45\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrs\brdrw60\brdrcf23 \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \ab\ai0\af0 \ltrch\fcs0 \b\i0\cf23 \tsclastcol +Medium Grid 3 Accent 4;}{\*\ts178\tsrowd\tscellcfpat0\tscellcbpat64\tscellpct0\tsbrdrt\brdrs\brdrw20\brdrcf23 \tsbrdrl\brdrs\brdrw20\brdrcf23 \tsbrdrb\brdrs\brdrw20\brdrcf23 \tsbrdrr\brdrs\brdrw20\brdrcf23 \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 +\af0 \ltrch\fcs0 \tscbandvertodd Medium Grid 3 Accent 4;}{\*\ts178\tsrowd\tscellcfpat0\tscellcbpat64\tscellpct0\tsbrdrt\brdrs\brdrw20\brdrcf23 \tsbrdrl\brdrs\brdrw20\brdrcf23 \tsbrdrb\brdrs\brdrw20\brdrcf23 \tsbrdrr\brdrs\brdrw20\brdrcf23 \tsbrdrh +\brdrs\brdrw20\brdrcf23 \tsbrdrv\brdrs\brdrw20\brdrcf23 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Medium Grid 3 Accent 4;}{\*\ts179\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf23 \trbrdrl\brdrs\brdrw20\brdrcf23 \trbrdrb\brdrs\brdrw20\brdrcf23 \trbrdrr +\brdrs\brdrw20\brdrcf23 \trbrdrh\brdrs\brdrw15\brdrcf23 \trbrdrv\brdrs\brdrw15\brdrcf23 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tscellcbpat50\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext179 \slocked \ssemihidden \spriority69 \styrsid1448066 Medium Grid 3 Accent 5;}{\*\ts179\tsrowd\tscellcfpat0\tscellcbpat48\tscellpct0\tsbrdrt\brdrs\brdrw20\brdrcf23 \tsbrdrl\brdrs\brdrw20\brdrcf23 \tsbrdrb\brdrs\brdrw60\brdrcf23 \tsbrdrr +\brdrs\brdrw20\brdrcf23 \tsbrdrh\brdrnone \tsbrdrv\brdrs\brdrw20\brdrcf23 \rtlch\fcs1 \ab\ai0\af0 \ltrch\fcs0 \b\i0\cf23 \tscfirstrow Medium Grid 3 Accent 5;}{\*\ts179\tsrowd\tscellcfpat0\tscellcbpat48\tscellpct0\tsbrdrt\brdrs\brdrw60\brdrcf23 \tsbrdrl +\brdrs\brdrw20\brdrcf23 \tsbrdrb\brdrs\brdrw20\brdrcf23 \tsbrdrr\brdrs\brdrw20\brdrcf23 \tsbrdrh\brdrnone \tsbrdrv\brdrs\brdrw20\brdrcf23 \rtlch\fcs1 \ab\ai0\af0 \ltrch\fcs0 \b\i0\cf23 \tsclastrow Medium Grid 3 Accent 5;}{\* +\ts179\tsrowd\tscellcfpat0\tscellcbpat48\tscellpct0\tsbrdrl\brdrs\brdrw20\brdrcf23 \tsbrdrr\brdrs\brdrw60\brdrcf23 \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \ab\ai0\af0 \ltrch\fcs0 \b\i0\cf23 \tscfirstcol Medium Grid 3 Accent 5;}{\* +\ts179\tsrowd\tscellcfpat0\tscellcbpat48\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrs\brdrw60\brdrcf23 \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \ab\ai0\af0 \ltrch\fcs0 \b\i0\cf23 \tsclastcol +Medium Grid 3 Accent 5;}{\*\ts179\tsrowd\tscellcfpat0\tscellcbpat65\tscellpct0\tsbrdrt\brdrs\brdrw20\brdrcf23 \tsbrdrl\brdrs\brdrw20\brdrcf23 \tsbrdrb\brdrs\brdrw20\brdrcf23 \tsbrdrr\brdrs\brdrw20\brdrcf23 \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 +\af0 \ltrch\fcs0 \tscbandvertodd Medium Grid 3 Accent 5;}{\*\ts179\tsrowd\tscellcfpat0\tscellcbpat65\tscellpct0\tsbrdrt\brdrs\brdrw20\brdrcf23 \tsbrdrl\brdrs\brdrw20\brdrcf23 \tsbrdrb\brdrs\brdrw20\brdrcf23 \tsbrdrr\brdrs\brdrw20\brdrcf23 \tsbrdrh +\brdrs\brdrw20\brdrcf23 \tsbrdrv\brdrs\brdrw20\brdrcf23 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Medium Grid 3 Accent 5;}{\*\ts180\tsrowd\trbrdrt\brdrs\brdrw20\brdrcf23 \trbrdrl\brdrs\brdrw20\brdrcf23 \trbrdrb\brdrs\brdrw20\brdrcf23 \trbrdrr +\brdrs\brdrw20\brdrcf23 \trbrdrh\brdrs\brdrw15\brdrcf23 \trbrdrv\brdrs\brdrw15\brdrcf23 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tscellcbpat53\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext180 \slocked \ssemihidden \spriority69 \styrsid1448066 Medium Grid 3 Accent 6;}{\*\ts180\tsrowd\tscellcfpat0\tscellcbpat51\tscellpct0\tsbrdrt\brdrs\brdrw20\brdrcf23 \tsbrdrl\brdrs\brdrw20\brdrcf23 \tsbrdrb\brdrs\brdrw60\brdrcf23 \tsbrdrr +\brdrs\brdrw20\brdrcf23 \tsbrdrh\brdrnone \tsbrdrv\brdrs\brdrw20\brdrcf23 \rtlch\fcs1 \ab\ai0\af0 \ltrch\fcs0 \b\i0\cf23 \tscfirstrow Medium Grid 3 Accent 6;}{\*\ts180\tsrowd\tscellcfpat0\tscellcbpat51\tscellpct0\tsbrdrt\brdrs\brdrw60\brdrcf23 \tsbrdrl +\brdrs\brdrw20\brdrcf23 \tsbrdrb\brdrs\brdrw20\brdrcf23 \tsbrdrr\brdrs\brdrw20\brdrcf23 \tsbrdrh\brdrnone \tsbrdrv\brdrs\brdrw20\brdrcf23 \rtlch\fcs1 \ab\ai0\af0 \ltrch\fcs0 \b\i0\cf23 \tsclastrow Medium Grid 3 Accent 6;}{\* +\ts180\tsrowd\tscellcfpat0\tscellcbpat51\tscellpct0\tsbrdrl\brdrs\brdrw20\brdrcf23 \tsbrdrr\brdrs\brdrw60\brdrcf23 \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \ab\ai0\af0 \ltrch\fcs0 \b\i0\cf23 \tscfirstcol Medium Grid 3 Accent 6;}{\* +\ts180\tsrowd\tscellcfpat0\tscellcbpat51\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrs\brdrw60\brdrcf23 \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \ab\ai0\af0 \ltrch\fcs0 \b\i0\cf23 \tsclastcol +Medium Grid 3 Accent 6;}{\*\ts180\tsrowd\tscellcfpat0\tscellcbpat66\tscellpct0\tsbrdrt\brdrs\brdrw20\brdrcf23 \tsbrdrl\brdrs\brdrw20\brdrcf23 \tsbrdrb\brdrs\brdrw20\brdrcf23 \tsbrdrr\brdrs\brdrw20\brdrcf23 \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 +\af0 \ltrch\fcs0 \tscbandvertodd Medium Grid 3 Accent 6;}{\*\ts180\tsrowd\tscellcfpat0\tscellcbpat66\tscellpct0\tsbrdrt\brdrs\brdrw20\brdrcf23 \tsbrdrl\brdrs\brdrw20\brdrcf23 \tsbrdrb\brdrs\brdrw20\brdrcf23 \tsbrdrr\brdrs\brdrw20\brdrcf23 \tsbrdrh +\brdrs\brdrw20\brdrcf23 \tsbrdrv\brdrs\brdrw20\brdrcf23 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Medium Grid 3 Accent 6;}{\* +\ts181\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tscellcbpat18\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\cf23\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext181 \ssemihidden \spriority70 \styrsid1448066 Dark List;}{\*\ts181\tsrowd\tscellcfpat0\tscellcbpat18\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw45\brdrcf23 \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone +\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstrow Dark List;}{\*\ts181\tsrowd\tscellcfpat0\tscellcbpat79\tscellpct0\tsbrdrt\brdrs\brdrw45\brdrcf23 \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 +\ltrch\fcs0 \tsclastrow Dark List;}{\*\ts181\tsrowd\tscellcfpat0\tscellcbpat19\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrs\brdrw45\brdrcf23 \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \tscfirstcol +Dark List;}{\*\ts181\tsrowd\tscellcfpat0\tscellcbpat19\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrs\brdrw45\brdrcf23 \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \tsclastcol Dark List;}{\* +\ts181\tsrowd\tscellcfpat0\tscellcbpat19\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Dark List;}{\* +\ts181\tsrowd\tscellcfpat0\tscellcbpat19\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Dark List;}{\* +\ts182\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tscellcbpat26\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\cf23\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext182 \ssemihidden \spriority70 \styrsid1448066 Dark List Accent 1;}{\*\ts182\tsrowd\tscellcfpat0\tscellcbpat18\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw45\brdrcf23 \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv +\brdrnone \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstrow Dark List Accent 1;}{\*\ts182\tsrowd\tscellcfpat0\tscellcbpat80\tscellpct0\tsbrdrt\brdrs\brdrw45\brdrcf23 \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone +\rtlch\fcs1 \af0 \ltrch\fcs0 \tsclastrow Dark List Accent 1;}{\*\ts182\tsrowd\tscellcfpat0\tscellcbpat29\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrs\brdrw45\brdrcf23 \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 +\ltrch\fcs0 \tscfirstcol Dark List Accent 1;}{\*\ts182\tsrowd\tscellcfpat0\tscellcbpat29\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrs\brdrw45\brdrcf23 \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 +\tsclastcol Dark List Accent 1;}{\*\ts182\tsrowd\tscellcfpat0\tscellcbpat29\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd +Dark List Accent 1;}{\*\ts182\tsrowd\tscellcfpat0\tscellcbpat29\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Dark List Accent 1;}{\* +\ts183\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tscellcbpat39\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\cf23\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext183 \ssemihidden \spriority70 \styrsid1448066 Dark List Accent 2;}{\*\ts183\tsrowd\tscellcfpat0\tscellcbpat18\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw45\brdrcf23 \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv +\brdrnone \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstrow Dark List Accent 2;}{\*\ts183\tsrowd\tscellcfpat0\tscellcbpat81\tscellpct0\tsbrdrt\brdrs\brdrw45\brdrcf23 \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone +\rtlch\fcs1 \af0 \ltrch\fcs0 \tsclastrow Dark List Accent 2;}{\*\ts183\tsrowd\tscellcfpat0\tscellcbpat40\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrs\brdrw45\brdrcf23 \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 +\ltrch\fcs0 \tscfirstcol Dark List Accent 2;}{\*\ts183\tsrowd\tscellcfpat0\tscellcbpat40\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrs\brdrw45\brdrcf23 \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 +\tsclastcol Dark List Accent 2;}{\*\ts183\tsrowd\tscellcfpat0\tscellcbpat40\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd +Dark List Accent 2;}{\*\ts183\tsrowd\tscellcfpat0\tscellcbpat40\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Dark List Accent 2;}{\* +\ts184\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tscellcbpat42\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\cf23\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext184 \ssemihidden \spriority70 \styrsid1448066 Dark List Accent 3;}{\*\ts184\tsrowd\tscellcfpat0\tscellcbpat18\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw45\brdrcf23 \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv +\brdrnone \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstrow Dark List Accent 3;}{\*\ts184\tsrowd\tscellcfpat0\tscellcbpat82\tscellpct0\tsbrdrt\brdrs\brdrw45\brdrcf23 \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone +\rtlch\fcs1 \af0 \ltrch\fcs0 \tsclastrow Dark List Accent 3;}{\*\ts184\tsrowd\tscellcfpat0\tscellcbpat43\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrs\brdrw45\brdrcf23 \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 +\ltrch\fcs0 \tscfirstcol Dark List Accent 3;}{\*\ts184\tsrowd\tscellcfpat0\tscellcbpat43\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrs\brdrw45\brdrcf23 \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 +\tsclastcol Dark List Accent 3;}{\*\ts184\tsrowd\tscellcfpat0\tscellcbpat43\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd +Dark List Accent 3;}{\*\ts184\tsrowd\tscellcfpat0\tscellcbpat43\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Dark List Accent 3;}{\* +\ts185\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tscellcbpat45\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\cf23\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext185 \ssemihidden \spriority70 \styrsid1448066 Dark List Accent 4;}{\*\ts185\tsrowd\tscellcfpat0\tscellcbpat18\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw45\brdrcf23 \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv +\brdrnone \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstrow Dark List Accent 4;}{\*\ts185\tsrowd\tscellcfpat0\tscellcbpat83\tscellpct0\tsbrdrt\brdrs\brdrw45\brdrcf23 \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone +\rtlch\fcs1 \af0 \ltrch\fcs0 \tsclastrow Dark List Accent 4;}{\*\ts185\tsrowd\tscellcfpat0\tscellcbpat46\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrs\brdrw45\brdrcf23 \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 +\ltrch\fcs0 \tscfirstcol Dark List Accent 4;}{\*\ts185\tsrowd\tscellcfpat0\tscellcbpat46\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrs\brdrw45\brdrcf23 \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 +\tsclastcol Dark List Accent 4;}{\*\ts185\tsrowd\tscellcfpat0\tscellcbpat46\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd +Dark List Accent 4;}{\*\ts185\tsrowd\tscellcfpat0\tscellcbpat46\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Dark List Accent 4;}{\* +\ts186\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tscellcbpat48\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\cf23\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext186 \ssemihidden \spriority70 \styrsid1448066 Dark List Accent 5;}{\*\ts186\tsrowd\tscellcfpat0\tscellcbpat18\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw45\brdrcf23 \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv +\brdrnone \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstrow Dark List Accent 5;}{\*\ts186\tsrowd\tscellcfpat0\tscellcbpat84\tscellpct0\tsbrdrt\brdrs\brdrw45\brdrcf23 \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone +\rtlch\fcs1 \af0 \ltrch\fcs0 \tsclastrow Dark List Accent 5;}{\*\ts186\tsrowd\tscellcfpat0\tscellcbpat49\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrs\brdrw45\brdrcf23 \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 +\ltrch\fcs0 \tscfirstcol Dark List Accent 5;}{\*\ts186\tsrowd\tscellcfpat0\tscellcbpat49\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrs\brdrw45\brdrcf23 \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 +\tsclastcol Dark List Accent 5;}{\*\ts186\tsrowd\tscellcfpat0\tscellcbpat49\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd +Dark List Accent 5;}{\*\ts186\tsrowd\tscellcfpat0\tscellcbpat49\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Dark List Accent 5;}{\* +\ts187\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tscellcbpat51\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\cf23\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext187 \ssemihidden \spriority70 \styrsid1448066 Dark List Accent 6;}{\*\ts187\tsrowd\tscellcfpat0\tscellcbpat18\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw45\brdrcf23 \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv +\brdrnone \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstrow Dark List Accent 6;}{\*\ts187\tsrowd\tscellcfpat0\tscellcbpat85\tscellpct0\tsbrdrt\brdrs\brdrw45\brdrcf23 \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone +\rtlch\fcs1 \af0 \ltrch\fcs0 \tsclastrow Dark List Accent 6;}{\*\ts187\tsrowd\tscellcfpat0\tscellcbpat52\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrs\brdrw45\brdrcf23 \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 +\ltrch\fcs0 \tscfirstcol Dark List Accent 6;}{\*\ts187\tsrowd\tscellcfpat0\tscellcbpat52\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrs\brdrw45\brdrcf23 \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 +\tsclastcol Dark List Accent 6;}{\*\ts187\tsrowd\tscellcfpat0\tscellcbpat52\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd +Dark List Accent 6;}{\*\ts187\tsrowd\tscellcfpat0\tscellcbpat52\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Dark List Accent 6;}{\* +\ts188\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tscellcbpat67\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\cf18\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext188 \ssemihidden \spriority72 \styrsid1448066 Colorful List Accent 1;}{\*\ts188\tsrowd\tscellcfpat0\tscellcbpat37\tscellpct0\tsbrdrb\brdrs\brdrw30\brdrcf23 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf23 \tscfirstrow Colorful List Accent 1;}{\* +\ts188\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrs\brdrw30\brdrcf18 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf37 \tsclastrow Colorful List Accent 1;}{\*\ts188\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstcol Colorful List Accent 1;}{\* +\ts188\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastcol Colorful List Accent 1;}{\*\ts188\tsrowd\tscellcfpat0\tscellcbpat38\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone +\rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Colorful List Accent 1;}{\*\ts188\tsrowd\tscellcfpat0\tscellcbpat68\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Colorful List Accent 1;}{\* +\ts189\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tscellcbpat69\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\cf18\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext189 \ssemihidden \spriority72 \styrsid1448066 Colorful List Accent 2;}{\*\ts189\tsrowd\tscellcfpat0\tscellcbpat37\tscellpct0\tsbrdrb\brdrs\brdrw30\brdrcf23 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf23 \tscfirstrow Colorful List Accent 2;}{\* +\ts189\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrs\brdrw30\brdrcf18 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf37 \tsclastrow Colorful List Accent 2;}{\*\ts189\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstcol Colorful List Accent 2;}{\* +\ts189\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastcol Colorful List Accent 2;}{\*\ts189\tsrowd\tscellcfpat0\tscellcbpat41\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone +\rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Colorful List Accent 2;}{\*\ts189\tsrowd\tscellcfpat0\tscellcbpat70\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Colorful List Accent 2;}{\* +\ts190\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tscellcbpat71\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\cf18\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext190 \ssemihidden \spriority72 \styrsid1448066 Colorful List Accent 3;}{\*\ts190\tsrowd\tscellcfpat0\tscellcbpat86\tscellpct0\tsbrdrb\brdrs\brdrw30\brdrcf23 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf23 \tscfirstrow Colorful List Accent 3;}{\* +\ts190\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrs\brdrw30\brdrcf18 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf86 \tsclastrow Colorful List Accent 3;}{\*\ts190\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstcol Colorful List Accent 3;}{\* +\ts190\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastcol Colorful List Accent 3;}{\*\ts190\tsrowd\tscellcfpat0\tscellcbpat44\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone +\rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Colorful List Accent 3;}{\*\ts190\tsrowd\tscellcfpat0\tscellcbpat72\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Colorful List Accent 3;}{\* +\ts191\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tscellcbpat73\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\cf18\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext191 \ssemihidden \spriority72 \styrsid1448066 Colorful List Accent 4;}{\*\ts191\tsrowd\tscellcfpat0\tscellcbpat87\tscellpct0\tsbrdrb\brdrs\brdrw30\brdrcf23 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf23 \tscfirstrow Colorful List Accent 4;}{\* +\ts191\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrs\brdrw30\brdrcf18 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf87 \tsclastrow Colorful List Accent 4;}{\*\ts191\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstcol Colorful List Accent 4;}{\* +\ts191\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastcol Colorful List Accent 4;}{\*\ts191\tsrowd\tscellcfpat0\tscellcbpat47\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone +\rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Colorful List Accent 4;}{\*\ts191\tsrowd\tscellcfpat0\tscellcbpat74\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Colorful List Accent 4;}{\* +\ts192\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tscellcbpat75\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\cf18\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext192 \ssemihidden \spriority72 \styrsid1448066 Colorful List Accent 5;}{\*\ts192\tsrowd\tscellcfpat0\tscellcbpat88\tscellpct0\tsbrdrb\brdrs\brdrw30\brdrcf23 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf23 \tscfirstrow Colorful List Accent 5;}{\* +\ts192\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrs\brdrw30\brdrcf18 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf88 \tsclastrow Colorful List Accent 5;}{\*\ts192\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstcol Colorful List Accent 5;}{\* +\ts192\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastcol Colorful List Accent 5;}{\*\ts192\tsrowd\tscellcfpat0\tscellcbpat50\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone +\rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Colorful List Accent 5;}{\*\ts192\tsrowd\tscellcfpat0\tscellcbpat76\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Colorful List Accent 5;}{\* +\ts193\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tscellcbpat77\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\cf18\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext193 \ssemihidden \spriority72 \styrsid1448066 Colorful List Accent 6;}{\*\ts193\tsrowd\tscellcfpat0\tscellcbpat89\tscellpct0\tsbrdrb\brdrs\brdrw30\brdrcf23 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf23 \tscfirstrow Colorful List Accent 6;}{\* +\ts193\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrs\brdrw30\brdrcf18 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf89 \tsclastrow Colorful List Accent 6;}{\*\ts193\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstcol Colorful List Accent 6;}{\* +\ts193\tsrowd \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tsclastcol Colorful List Accent 6;}{\*\ts193\tsrowd\tscellcfpat0\tscellcbpat53\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone +\rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Colorful List Accent 6;}{\*\ts193\tsrowd\tscellcfpat0\tscellcbpat78\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Colorful List Accent 6;}{\*\ts194\tsrowd\trbrdrh\brdrs\brdrw10\brdrcf23 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tscellcbpat68\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\cf18\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext194 \ssemihidden \spriority73 \styrsid1448066 Colorful Grid Accent 1;}{\*\ts194\tsrowd\tscellcfpat0\tscellcbpat90\tscellpct0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstrow Colorful Grid Accent 1;}{\* +\ts194\tsrowd\tscellcfpat0\tscellcbpat90\tscellpct0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf18 \tsclastrow Colorful Grid Accent 1;}{\*\ts194\tsrowd\tscellcfpat0\tscellcbpat29\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \cf23 \tscfirstcol Colorful Grid Accent 1;} +{\*\ts194\tsrowd\tscellcfpat0\tscellcbpat29\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \cf23 \tsclastcol Colorful Grid Accent 1;}{\*\ts194\tsrowd\tscellcfpat0\tscellcbpat61\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Colorful Grid Accent 1;}{\* +\ts194\tsrowd\tscellcfpat0\tscellcbpat61\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Colorful Grid Accent 1;}{\*\ts195\tsrowd\trbrdrh\brdrs\brdrw10\brdrcf23 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tscellcbpat70\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\cf18\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext195 \ssemihidden \spriority73 \styrsid1448066 Colorful Grid Accent 2;}{\*\ts195\tsrowd\tscellcfpat0\tscellcbpat91\tscellpct0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstrow Colorful Grid Accent 2;}{\* +\ts195\tsrowd\tscellcfpat0\tscellcbpat91\tscellpct0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf18 \tsclastrow Colorful Grid Accent 2;}{\*\ts195\tsrowd\tscellcfpat0\tscellcbpat40\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \cf23 \tscfirstcol Colorful Grid Accent 2;} +{\*\ts195\tsrowd\tscellcfpat0\tscellcbpat40\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \cf23 \tsclastcol Colorful Grid Accent 2;}{\*\ts195\tsrowd\tscellcfpat0\tscellcbpat62\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Colorful Grid Accent 2;}{\* +\ts195\tsrowd\tscellcfpat0\tscellcbpat62\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Colorful Grid Accent 2;}{\*\ts196\tsrowd\trbrdrh\brdrs\brdrw10\brdrcf23 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tscellcbpat72\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\cf18\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext196 \ssemihidden \spriority73 \styrsid1448066 Colorful Grid Accent 3;}{\*\ts196\tsrowd\tscellcfpat0\tscellcbpat92\tscellpct0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstrow Colorful Grid Accent 3;}{\* +\ts196\tsrowd\tscellcfpat0\tscellcbpat92\tscellpct0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf18 \tsclastrow Colorful Grid Accent 3;}{\*\ts196\tsrowd\tscellcfpat0\tscellcbpat43\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \cf23 \tscfirstcol Colorful Grid Accent 3;} +{\*\ts196\tsrowd\tscellcfpat0\tscellcbpat43\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \cf23 \tsclastcol Colorful Grid Accent 3;}{\*\ts196\tsrowd\tscellcfpat0\tscellcbpat63\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Colorful Grid Accent 3;}{\* +\ts196\tsrowd\tscellcfpat0\tscellcbpat63\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Colorful Grid Accent 3;}{\*\ts197\tsrowd\trbrdrh\brdrs\brdrw10\brdrcf23 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tscellcbpat74\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\cf18\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext197 \ssemihidden \spriority73 \styrsid1448066 Colorful Grid Accent 4;}{\*\ts197\tsrowd\tscellcfpat0\tscellcbpat93\tscellpct0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstrow Colorful Grid Accent 4;}{\* +\ts197\tsrowd\tscellcfpat0\tscellcbpat93\tscellpct0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf18 \tsclastrow Colorful Grid Accent 4;}{\*\ts197\tsrowd\tscellcfpat0\tscellcbpat46\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \cf23 \tscfirstcol Colorful Grid Accent 4;} +{\*\ts197\tsrowd\tscellcfpat0\tscellcbpat46\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \cf23 \tsclastcol Colorful Grid Accent 4;}{\*\ts197\tsrowd\tscellcfpat0\tscellcbpat64\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Colorful Grid Accent 4;}{\* +\ts197\tsrowd\tscellcfpat0\tscellcbpat64\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Colorful Grid Accent 4;}{\*\ts198\tsrowd\trbrdrh\brdrs\brdrw10\brdrcf23 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tscellcbpat76\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\cf18\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext198 \ssemihidden \spriority73 \styrsid1448066 Colorful Grid Accent 5;}{\*\ts198\tsrowd\tscellcfpat0\tscellcbpat94\tscellpct0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstrow Colorful Grid Accent 5;}{\* +\ts198\tsrowd\tscellcfpat0\tscellcbpat94\tscellpct0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf18 \tsclastrow Colorful Grid Accent 5;}{\*\ts198\tsrowd\tscellcfpat0\tscellcbpat49\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \cf23 \tscfirstcol Colorful Grid Accent 5;} +{\*\ts198\tsrowd\tscellcfpat0\tscellcbpat49\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \cf23 \tsclastcol Colorful Grid Accent 5;}{\*\ts198\tsrowd\tscellcfpat0\tscellcbpat65\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Colorful Grid Accent 5;}{\* +\ts198\tsrowd\tscellcfpat0\tscellcbpat65\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Colorful Grid Accent 5;}{\*\ts199\tsrowd\trbrdrh\brdrs\brdrw10\brdrcf23 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tscellcbpat78\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\cf18\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext199 \ssemihidden \spriority73 \styrsid1448066 Colorful Grid Accent 6;}{\*\ts199\tsrowd\tscellcfpat0\tscellcbpat95\tscellpct0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstrow Colorful Grid Accent 6;}{\* +\ts199\tsrowd\tscellcfpat0\tscellcbpat95\tscellpct0 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf18 \tsclastrow Colorful Grid Accent 6;}{\*\ts199\tsrowd\tscellcfpat0\tscellcbpat52\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \cf23 \tscfirstcol Colorful Grid Accent 6;} +{\*\ts199\tsrowd\tscellcfpat0\tscellcbpat52\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \cf23 \tsclastcol Colorful Grid Accent 6;}{\*\ts199\tsrowd\tscellcfpat0\tscellcbpat66\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Colorful Grid Accent 6;}{\* +\ts199\tsrowd\tscellcfpat0\tscellcbpat66\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Colorful Grid Accent 6;}{\*\ts200\tsrowd\trbrdrt\brdrs\brdrw60\brdrcf39 \trbrdrl\brdrs\brdrw10\brdrcf18 \trbrdrb\brdrs\brdrw10\brdrcf18 \trbrdrr +\brdrs\brdrw10\brdrcf18 \trbrdrh\brdrs\brdrw10\brdrcf23 \trbrdrv\brdrs\brdrw10\brdrcf23 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tscellcbpat36\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\cf18\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext200 \ssemihidden \spriority71 \styrsid1448066 Colorful Shading;}{\*\ts200\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw60\brdrcf39 \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv +\brdrnone \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstrow Colorful Shading;}{\*\ts200\tsrowd\tscellcfpat0\tscellcbpat96\tscellpct0\tsbrdrt\brdrs\brdrw15\brdrcf23 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf23 \tsclastrow Colorful Shading;}{\* +\ts200\tsrowd\tscellcfpat0\tscellcbpat96\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrs\brdrw10\brdrcf96 \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \cf23 \tscfirstcol Colorful Shading;}{\* +\ts200\tsrowd\tscellcfpat0\tscellcbpat19\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \cf23 \tsclastcol Colorful Shading;}{\* +\ts200\tsrowd\tscellcfpat0\tscellcbpat24\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Colorful Shading;}{\*\ts200\tsrowd\tscellcfpat0\tscellcbpat25\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd Colorful Shading;}{\*\ts200\tsrowd +\rtlch\fcs1 \af0 \ltrch\fcs0 \cf18 \tscnecell Colorful Shading;}{\*\ts200\tsrowd \rtlch\fcs1 \af0 \ltrch\fcs0 \cf18 \tscnwcell Colorful Shading;}{\*\ts201\tsrowd\trbrdrt\brdrs\brdrw60\brdrcf39 \trbrdrl\brdrs\brdrw10\brdrcf26 \trbrdrb +\brdrs\brdrw10\brdrcf26 \trbrdrr\brdrs\brdrw10\brdrcf26 \trbrdrh\brdrs\brdrw10\brdrcf23 \trbrdrv\brdrs\brdrw10\brdrcf23 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tscellcbpat67\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\cf18\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext201 \ssemihidden \spriority71 \styrsid1448066 Colorful Shading Accent 1;}{\*\ts201\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw60\brdrcf39 \tsbrdrr\brdrnone \tsbrdrh\brdrnone +\tsbrdrv\brdrnone \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstrow Colorful Shading Accent 1;}{\*\ts201\tsrowd\tscellcfpat0\tscellcbpat97\tscellpct0\tsbrdrt\brdrs\brdrw15\brdrcf23 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf23 \tsclastrow +Colorful Shading Accent 1;}{\*\ts201\tsrowd\tscellcfpat0\tscellcbpat97\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrs\brdrw10\brdrcf97 \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \cf23 \tscfirstcol +Colorful Shading Accent 1;}{\*\ts201\tsrowd\tscellcfpat0\tscellcbpat97\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \cf23 \tsclastcol +Colorful Shading Accent 1;}{\*\ts201\tsrowd\tscellcfpat0\tscellcbpat90\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Colorful Shading Accent 1;}{\*\ts201\tsrowd\tscellcfpat0\tscellcbpat61\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd +Colorful Shading Accent 1;}{\*\ts201\tsrowd \rtlch\fcs1 \af0 \ltrch\fcs0 \cf18 \tscnecell Colorful Shading Accent 1;}{\*\ts201\tsrowd \rtlch\fcs1 \af0 \ltrch\fcs0 \cf18 \tscnwcell Colorful Shading Accent 1;}{\*\ts202\tsrowd\trbrdrt\brdrs\brdrw60\brdrcf39 +\trbrdrl\brdrs\brdrw10\brdrcf39 \trbrdrb\brdrs\brdrw10\brdrcf39 \trbrdrr\brdrs\brdrw10\brdrcf39 \trbrdrh\brdrs\brdrw10\brdrcf23 \trbrdrv\brdrs\brdrw10\brdrcf23 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tscellcbpat69\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\cf18\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext202 \ssemihidden \spriority71 \styrsid1448066 Colorful Shading Accent 2;}{\*\ts202\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw60\brdrcf39 \tsbrdrr\brdrnone \tsbrdrh\brdrnone +\tsbrdrv\brdrnone \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstrow Colorful Shading Accent 2;}{\*\ts202\tsrowd\tscellcfpat0\tscellcbpat98\tscellpct0\tsbrdrt\brdrs\brdrw15\brdrcf23 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf23 \tsclastrow +Colorful Shading Accent 2;}{\*\ts202\tsrowd\tscellcfpat0\tscellcbpat98\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrs\brdrw10\brdrcf98 \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \cf23 \tscfirstcol +Colorful Shading Accent 2;}{\*\ts202\tsrowd\tscellcfpat0\tscellcbpat98\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \cf23 \tsclastcol +Colorful Shading Accent 2;}{\*\ts202\tsrowd\tscellcfpat0\tscellcbpat91\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Colorful Shading Accent 2;}{\*\ts202\tsrowd\tscellcfpat0\tscellcbpat62\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd +Colorful Shading Accent 2;}{\*\ts202\tsrowd \rtlch\fcs1 \af0 \ltrch\fcs0 \cf18 \tscnecell Colorful Shading Accent 2;}{\*\ts202\tsrowd \rtlch\fcs1 \af0 \ltrch\fcs0 \cf18 \tscnwcell Colorful Shading Accent 2;}{\*\ts203\tsrowd\trbrdrt\brdrs\brdrw60\brdrcf45 +\trbrdrl\brdrs\brdrw10\brdrcf42 \trbrdrb\brdrs\brdrw10\brdrcf42 \trbrdrr\brdrs\brdrw10\brdrcf42 \trbrdrh\brdrs\brdrw10\brdrcf23 \trbrdrv\brdrs\brdrw10\brdrcf23 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tscellcbpat71\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\cf18\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext203 \ssemihidden \spriority71 \styrsid1448066 Colorful Shading Accent 3;}{\*\ts203\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw60\brdrcf45 \tsbrdrr\brdrnone \tsbrdrh\brdrnone +\tsbrdrv\brdrnone \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstrow Colorful Shading Accent 3;}{\*\ts203\tsrowd\tscellcfpat0\tscellcbpat99\tscellpct0\tsbrdrt\brdrs\brdrw15\brdrcf23 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf23 \tsclastrow +Colorful Shading Accent 3;}{\*\ts203\tsrowd\tscellcfpat0\tscellcbpat99\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrs\brdrw10\brdrcf99 \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \cf23 \tscfirstcol +Colorful Shading Accent 3;}{\*\ts203\tsrowd\tscellcfpat0\tscellcbpat99\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \cf23 \tsclastcol +Colorful Shading Accent 3;}{\*\ts203\tsrowd\tscellcfpat0\tscellcbpat92\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Colorful Shading Accent 3;}{\*\ts203\tsrowd\tscellcfpat0\tscellcbpat63\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd +Colorful Shading Accent 3;}{\*\ts204\tsrowd\trbrdrt\brdrs\brdrw60\brdrcf42 \trbrdrl\brdrs\brdrw10\brdrcf45 \trbrdrb\brdrs\brdrw10\brdrcf45 \trbrdrr\brdrs\brdrw10\brdrcf45 \trbrdrh\brdrs\brdrw10\brdrcf23 \trbrdrv\brdrs\brdrw10\brdrcf23 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tscellcbpat73\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\cf18\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext204 \ssemihidden \spriority71 \styrsid1448066 Colorful Shading Accent 4;}{\*\ts204\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw60\brdrcf42 \tsbrdrr\brdrnone \tsbrdrh\brdrnone +\tsbrdrv\brdrnone \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstrow Colorful Shading Accent 4;}{\*\ts204\tsrowd\tscellcfpat0\tscellcbpat100\tscellpct0\tsbrdrt\brdrs\brdrw15\brdrcf23 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf23 \tsclastrow +Colorful Shading Accent 4;}{\*\ts204\tsrowd\tscellcfpat0\tscellcbpat100\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrs\brdrw10\brdrcf100 \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \cf23 \tscfirstcol +Colorful Shading Accent 4;}{\*\ts204\tsrowd\tscellcfpat0\tscellcbpat100\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \cf23 \tsclastcol +Colorful Shading Accent 4;}{\*\ts204\tsrowd\tscellcfpat0\tscellcbpat93\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Colorful Shading Accent 4;}{\*\ts204\tsrowd\tscellcfpat0\tscellcbpat64\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd +Colorful Shading Accent 4;}{\*\ts204\tsrowd \rtlch\fcs1 \af0 \ltrch\fcs0 \cf18 \tscnecell Colorful Shading Accent 4;}{\*\ts204\tsrowd \rtlch\fcs1 \af0 \ltrch\fcs0 \cf18 \tscnwcell Colorful Shading Accent 4;}{\*\ts205\tsrowd\trbrdrt\brdrs\brdrw60\brdrcf51 +\trbrdrl\brdrs\brdrw10\brdrcf48 \trbrdrb\brdrs\brdrw10\brdrcf48 \trbrdrr\brdrs\brdrw10\brdrcf48 \trbrdrh\brdrs\brdrw10\brdrcf23 \trbrdrv\brdrs\brdrw10\brdrcf23 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tscellcbpat75\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\cf18\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext205 \ssemihidden \spriority71 \styrsid1448066 Colorful Shading Accent 5;}{\*\ts205\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw60\brdrcf51 \tsbrdrr\brdrnone \tsbrdrh\brdrnone +\tsbrdrv\brdrnone \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstrow Colorful Shading Accent 5;}{\*\ts205\tsrowd\tscellcfpat0\tscellcbpat101\tscellpct0\tsbrdrt\brdrs\brdrw15\brdrcf23 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf23 \tsclastrow +Colorful Shading Accent 5;}{\*\ts205\tsrowd\tscellcfpat0\tscellcbpat101\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrs\brdrw10\brdrcf101 \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \cf23 \tscfirstcol +Colorful Shading Accent 5;}{\*\ts205\tsrowd\tscellcfpat0\tscellcbpat101\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \cf23 \tsclastcol +Colorful Shading Accent 5;}{\*\ts205\tsrowd\tscellcfpat0\tscellcbpat94\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Colorful Shading Accent 5;}{\*\ts205\tsrowd\tscellcfpat0\tscellcbpat65\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd +Colorful Shading Accent 5;}{\*\ts205\tsrowd \rtlch\fcs1 \af0 \ltrch\fcs0 \cf18 \tscnecell Colorful Shading Accent 5;}{\*\ts205\tsrowd \rtlch\fcs1 \af0 \ltrch\fcs0 \cf18 \tscnwcell Colorful Shading Accent 5;}{\*\ts206\tsrowd\trbrdrt\brdrs\brdrw60\brdrcf48 +\trbrdrl\brdrs\brdrw10\brdrcf51 \trbrdrb\brdrs\brdrw10\brdrcf51 \trbrdrr\brdrs\brdrw10\brdrcf51 \trbrdrh\brdrs\brdrw10\brdrcf23 \trbrdrv\brdrs\brdrw10\brdrcf23 +\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tscbandsv1\tblind0\tblindtype3\tsvertalt\tscellcbpat77\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\cf18\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 +\sbasedon11 \snext206 \ssemihidden \spriority71 \styrsid1448066 Colorful Shading Accent 6;}{\*\ts206\tsrowd\tscellcfpat0\tscellcbpat23\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrs\brdrw60\brdrcf48 \tsbrdrr\brdrnone \tsbrdrh\brdrnone +\tsbrdrv\brdrnone \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \tscfirstrow Colorful Shading Accent 6;}{\*\ts206\tsrowd\tscellcfpat0\tscellcbpat102\tscellpct0\tsbrdrt\brdrs\brdrw15\brdrcf23 \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\cf23 \tsclastrow +Colorful Shading Accent 6;}{\*\ts206\tsrowd\tscellcfpat0\tscellcbpat102\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrs\brdrw10\brdrcf102 \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \cf23 \tscfirstcol +Colorful Shading Accent 6;}{\*\ts206\tsrowd\tscellcfpat0\tscellcbpat102\tscellpct0\tsbrdrt\brdrnone \tsbrdrl\brdrnone \tsbrdrb\brdrnone \tsbrdrr\brdrnone \tsbrdrh\brdrnone \tsbrdrv\brdrnone \rtlch\fcs1 \af0 \ltrch\fcs0 \cf23 \tsclastcol +Colorful Shading Accent 6;}{\*\ts206\tsrowd\tscellcfpat0\tscellcbpat95\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandvertodd Colorful Shading Accent 6;}{\*\ts206\tsrowd\tscellcfpat0\tscellcbpat66\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \tscbandhorzodd +Colorful Shading Accent 6;}{\*\ts206\tsrowd \rtlch\fcs1 \af0 \ltrch\fcs0 \cf18 \tscnecell Colorful Shading Accent 6;}{\*\ts206\tsrowd \rtlch\fcs1 \af0 \ltrch\fcs0 \cf18 \tscnwcell Colorful Shading Accent 6;}{\*\ts207\tsrowd\trbrdrt\brdrs\brdrw10\brdrcf23 +\trbrdrl\brdrs\brdrw10\brdrcf23 \trbrdrb\brdrs\brdrw10\brdrcf23 \trbrdrr\brdrs\brdrw10\brdrcf23 \trbrdrh\brdrs\brdrw10\brdrcf23 \trbrdrv\brdrs\brdrw10\brdrcf23 +\trftsWidthB3\trpaddl108\trpaddt108\trpaddb108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscbandsh1\tblind113\tblindtype3\tsvertalt\tscellcbpat32\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri113\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin113\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs17\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 \sbasedon11 \snext207 \styrsid1448066 TKB Table 8pt;}{\* +\ts207\tsrowd\tscellcfpat0\tscellcbpat33\tscellpct0 \rtlch\fcs1 \af0 \ltrch\fcs0 \b\f43\fs16\cf23 \tscfirstrow TKB Table 8pt;}{\*\ts207\tsrowd \rtlch\fcs1 \af0 \ltrch\fcs0 \fs17 \tscbandhorzodd TKB Table 8pt;}{\* +\ts207\tsrowd\tscellcfpat0\tscellcbpat32\tscellpct0\tsbrdrt\brdrs\brdrw10\brdrcf23 \tsbrdrl\brdrs\brdrw10\brdrcf23 \tsbrdrb\brdrs\brdrw10\brdrcf23 \tsbrdrr\brdrs\brdrw10\brdrcf23 \tsbrdrh\brdrs\brdrw10\brdrcf23 \tsbrdrv\brdrs\brdrw10\brdrcf23 \rtlch\fcs1 +\af0 \ltrch\fcs0 \fs17 \tscbandhorzeven TKB Table 8pt;}{\*\cs208 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \fs17 \sbasedon10 \slink65 \slocked \spriority0 \styrsid1448066 Futura Book 8.5pt Char;}{\*\cs209 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 +\b\fs16\lang1031\langfe0\langnp1031 \sbasedon10 \slink64 \slocked \spriority0 \styrsid1448066 Futura Book 8pt bold Char;}{\* +\ts210\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 \sbasedon11 \snext210 \styrsid792055 Formatvorlage2;}{ +\s211\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 \snext211 \shidden \ssemihidden \styrsid13588575 Revision;} +}{\*\listtable{\list\listtemplateid-1474511002\listsimple{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 +\fi-360\li1492\jclisttab\tx1492\lin1492 }{\listname ;}\listid-132}{\list\listtemplateid-760737910\listsimple{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'00.;}{\levelnumbers\'01;} +\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \fi-360\li1209\jclisttab\tx1209\lin1209 }{\listname ;}\listid-131}{\list\listtemplateid-1836673984\listsimple{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0 +\levelindent0{\leveltext\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \fi-360\li926\jclisttab\tx926\lin926 }{\listname ;}\listid-130}{\list\listtemplateid580026832\listsimple{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0 +\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \fi-360\li643\jclisttab\tx643\lin643 }{\listname ;}\listid-129}{\list\listtemplateid-926102344\listsimple{\listlevel +\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li1492\jclisttab\tx1492\lin1492 }{\listname ;}\listid-128} +{\list\listtemplateid-1117886420\listsimple{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li1209\jclisttab\tx1209\lin1209 +}{\listname ;}\listid-127}{\list\listtemplateid-1601691756\listsimple{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li926 +\jclisttab\tx926\lin926 }{\listname ;}\listid-126}{\list\listtemplateid-1185892812\listsimple{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;} +\f3\fbias0\hres0\chhres0 \fi-360\li643\jclisttab\tx643\lin643 }{\listname ;}\listid-125}{\list\listtemplateid1278765216\listsimple{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext +\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \fi-360\li360\jclisttab\tx360\lin360 }{\listname ;}\listid-120}{\list\listtemplateid-848150054\listsimple{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0 +\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li360\jclisttab\tx360\lin360 }{\listname ;}\listid-119}{\list\listtemplateid-2109320612{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0 +\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-4051 ?;}{\levelnumbers;}\b0\i0\f3\fs20\expnd0\expndtw0\kerning72\charscalex100\fbias0\hres0\chhres0 \fi-284\li284\jclisttab\tx284\lin284 }{\listlevel\levelnfc23\levelnfcn23\leveljc0 +\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-4051 ?;}{\levelnumbers;}\f3\fs20\fbias0\hres0\chhres0 \fi-284\li568\jclisttab\tx568\lin568 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1 +\levelspace0\levelindent0{\leveltext\'01\u-4051 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-284\li852\jclisttab\tx852\lin852 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext +\'01\u-4051 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-284\li1136\jclisttab\tx1136\lin1136 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-4051 ?;}{\levelnumbers;} +\f3\fbias0\hres0\chhres0 \fi-284\li1420\jclisttab\tx1420\lin1420 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-4051 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-284\li1704 +\jclisttab\tx1704\lin1704 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-4051 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-284\li1988\jclisttab\tx1988\lin1988 }{\listlevel +\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-4051 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-284\li2272\jclisttab\tx2272\lin2272 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0 +\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-4051 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-284\li2556\jclisttab\tx2556\lin2556 }{\listname ;}\listid299001452{\*\liststylename Formatvorlage 1;}}{\list\listtemplateid920922758 +{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \fi-360\li720\lin720 }{\listlevel\levelnfc4\levelnfcn4\leveljc0 +\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'01.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \fi-360\li1440\lin1440 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1 +\levelspace0\levelindent0{\leveltext\'02\'02.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \fi-180\li2160\lin2160 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext +\'02\'03.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \fi-360\li2880\lin2880 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'04.;}{\levelnumbers\'01;} +\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \fi-360\li3600\lin3600 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'05.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 +\hres0\chhres0 \fi-180\li4320\lin4320 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'06.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \fi-360\li5040\lin5040 } +{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'07.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \fi-360\li5760\lin5760 }{\listlevel\levelnfc2\levelnfcn2\leveljc2 +\leveljcn2\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'08.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \fi-180\li6480\lin6480 }{\listname ;}\listid305548801}{\list\listtemplateid458628558\listhybrid{\listlevel +\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid-1321948286\'01\u-3986 ?;}{\levelnumbers;}\f10\fs14\fbias0\hres0\chhres0 \s21\fi-255\li255\jclisttab\tx360\lin255 }{\listlevel +\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid134676483\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23 +\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid134676485\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc23 +\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid134676481\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23 +\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid134676483\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23 +\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid134676485\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23 +\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid134676481\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23 +\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid134676483\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0 +\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid134676485\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid320737270} +{\list\listtemplateid1908581662{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\'00;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \s1\fi-432\li1283\lin1283 } +{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'03\'00.\'01;}{\levelnumbers\'01\'03;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \s2\fi-576\li1427\lin1427 }{\listlevel\levelnfc0 +\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'05\'00.\'01.\'02;}{\levelnumbers\'01\'03\'05;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \s3\fi-720\li1571\lin1571 }{\listlevel\levelnfc0\levelnfcn0\leveljc0 +\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'07\'00.\'01.\'02.\'03;}{\levelnumbers\'01\'03\'05\'07;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \s4\fi-864\li1715\lin1715 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0 +\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'09\'00.\'01.\'02.\'03.\'04;}{\levelnumbers\'01\'03\'05\'07\'09;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \s5\fi-1008\li1859\lin1859 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0 +\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'0b\'00.\'01.\'02.\'03.\'04.\'05;}{\levelnumbers\'01\'03\'05\'07\'09\'0b;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \s6\fi-1152\li2003\lin2003 }{\listlevel\levelnfc0\levelnfcn0\leveljc0 +\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'0d\'00.\'01.\'02.\'03.\'04.\'05.\'06;}{\levelnumbers\'01\'03\'05\'07\'09\'0b\'0d;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \s7\fi-1296\li2147\lin2147 }{\listlevel\levelnfc0 +\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'0f\'00.\'01.\'02.\'03.\'04.\'05.\'06.\'07;}{\levelnumbers\'01\'03\'05\'07\'09\'0b\'0d\'0f;}\rtlch\fcs1 \af0 \ltrch\fcs0 \hres0\chhres0 \s8 +\fi-1440\li2291\lin2291 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'11\'00.\'01.\'02.\'03.\'04.\'05.\'06.\'07.\'08;}{\levelnumbers\'01\'03\'05\'07\'09\'0b\'0d\'0f\'11;}\rtlch\fcs1 +\af0 \ltrch\fcs0 \hres0\chhres0 \s9\fi-1584\li2435\lin2435 }{\listname ;}\listid665087064}{\list\listtemplateid-961011140{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext +\'01\u-4051 ?;}{\levelnumbers;}\f3\fs20\fbias0\hres0\chhres0 \s46\fi-198\li198\jclisttab\tx198\lin198 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\'97;}{\levelnumbers;} +\f43\fs20\fbias0\hres0\chhres0 \fi-198\li396\jclisttab\tx481\lin396 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\'97;}{\levelnumbers;}\f43\fbias0\hres0\chhres0 \fi-198\li594 +\jclisttab\tx679\lin594 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\'97;}{\levelnumbers;}\f43\fbias0\hres0\chhres0 \fi-198\li792\jclisttab\tx877\lin792 }{\listlevel\levelnfc23 +\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\'97;}{\levelnumbers;}\f43\fbias0\hres0\chhres0 \fi-198\li990\jclisttab\tx1075\lin990 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0 +\levelstartat1\levelspace0\levelindent0{\leveltext\'01\'97;}{\levelnumbers;}\f43\fbias0\hres0\chhres0 \fi-198\li1188\jclisttab\tx1273\lin1188 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0 +{\leveltext\'01\'97;}{\levelnumbers;}\f43\fbias0\hres0\chhres0 \fi-198\li1386\jclisttab\tx1471\lin1386 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\'97;}{\levelnumbers;} +\f43\fbias0\hres0\chhres0 \fi-198\li1584\jclisttab\tx1669\lin1584 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\'97;}{\levelnumbers;}\f43\fbias0\hres0\chhres0 \fi-198\li1782 +\jclisttab\tx1867\lin1782 }{\listname ;}\listid1172716037}{\list\listtemplateid1655888482{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-4051 ?;}{\levelnumbers;} +\b0\i0\f3\fs20\expnd0\expndtw0\kerning72\charscalex100\fbias0\hres0\chhres0 \s58\fi-198\li198\jclisttab\tx198\lin198 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext +\'01\u-4051 ?;}{\levelnumbers;}\f3\fs20\fbias0\hres0\chhres0 \fi-198\li396\jclisttab\tx396\lin396 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-4051 ?;}{\levelnumbers;} +\f3\fbias0\hres0\chhres0 \fi-198\li594\jclisttab\tx594\lin594 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-4051 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-198\li792 +\jclisttab\tx792\lin792 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-4051 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-198\li990\jclisttab\tx990\lin990 }{\listlevel +\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-4051 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-198\li1188\jclisttab\tx1188\lin1188 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0 +\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-4051 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-198\li1386\jclisttab\tx1386\lin1386 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0 +\levelindent0{\leveltext\'01\u-4051 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-198\li1584\jclisttab\tx1584\lin1584 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext +\'01\u-4051 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-198\li1782\jclisttab\tx1782\lin1782 }{\listname ;}\listid1477378821}{\list\listtemplateid1423994822\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1 +\levelspace0\levelindent0{\leveltext\leveltemplateid567306884\'01\u-3986 ?;}{\levelnumbers;}\f10\fs14\up2\nosupersub\fbias0\hres0\chhres0 \s20\fi-255\li255\jclisttab\tx360\lin255 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0 +\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67567619\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0 +\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67567621\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0 +\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67567617\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0 +\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67567619\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0 +\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67567621\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0 +\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67567617\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0 +\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67567619\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0 +\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67567621\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid1522281042}{\list\listtemplateid117052936 +{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-4051 ?;}{\levelnumbers;}\f3\fs20\expnd-7\expndtw-60\kerning72\charscalex150\fbias0\hres0\chhres0 \s59\fi-227\li228 +\jclisttab\tx228\lin228 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelnorestart\levelspace0\levelindent0{\leveltext\'01\u-4051 ?;}{\levelnumbers;}\b0\i0\f3\fs20\fbias0\hres0\chhres0 \fi-227\li512 +\jclisttab\tx512\lin512 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelnorestart\levelspace0\levelindent0{\leveltext\'01\u-4051 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-227\li796\jclisttab\tx796\lin796 } +{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelnorestart\levelspace0\levelindent0{\leveltext\'01\u-4051 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-227\li1080\jclisttab\tx1080\lin1080 }{\listlevel\levelnfc23 +\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelnorestart\levelspace0\levelindent0{\leveltext\'01\u-4051 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-227\li1364\jclisttab\tx1364\lin1364 }{\listlevel\levelnfc23\levelnfcn23\leveljc0 +\leveljcn0\levelfollow0\levelstartat1\levelnorestart\levelspace0\levelindent0{\leveltext\'01\u-4051 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-227\li1648\jclisttab\tx1648\lin1648 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0 +\levelstartat1\levelnorestart\levelspace0\levelindent0{\leveltext\'01\u-4051 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-227\li1932\jclisttab\tx1932\lin1932 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1 +\levelnorestart\levelspace0\levelindent0{\leveltext\'01\u-4051 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-227\li2216\jclisttab\tx2216\lin2216 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0 +{\leveltext\'01\u-4051 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-227\li2500\jclisttab\tx2500\lin2500 }{\listname ;}\listid1693188446}{\list\listtemplateid1103246034{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1 +\levelspace0\levelindent0{\leveltext\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0\hres0\chhres0 \s26\fi-284\li284\jclisttab\tx284\lin284 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0 +\levelindent0{\leveltext\'04\'00.\'01.;}{\levelnumbers\'01\'03;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0\hres0\chhres0 \fi-284\li568\jclisttab\tx568\lin568 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0 +\levelindent0{\leveltext\'06\'00.\'01.\'02.;}{\levelnumbers\'01\'03\'05;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0\hres0\chhres0 \fi-284\li852\jclisttab\tx852\lin852 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0 +\levelindent0{\leveltext\'08\'00.\'01.\'02.\'03.;}{\levelnumbers\'01\'03\'05\'07;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0\hres0\chhres0 \fi-284\li1136\jclisttab\tx1136\lin1136 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1 +\levelspace0\levelindent0{\leveltext\'0a\'00.\'01.\'02.\'03.\'04.;}{\levelnumbers\'01\'03\'05\'07\'09;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0\hres0\chhres0 \fi-284\li1420\jclisttab\tx1420\lin1420 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0 +\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'0c\'00.\'01.\'02.\'03.\'04.\'05.;}{\levelnumbers\'01\'03\'05\'07\'09\'0b;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0\hres0\chhres0 \fi-284\li1704\jclisttab\tx1704\lin1704 }{\listlevel\levelnfc0 +\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'0e\'00.\'01.\'02.\'03.\'04.\'05.\'06.;}{\levelnumbers\'01\'03\'05\'07\'09\'0b\'0d;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0\hres0\chhres0 \fi-284\li1988 +\jclisttab\tx1988\lin1988 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'10\'00.\'01.\'02.\'03.\'04.\'05.\'06.\'07.;}{\levelnumbers\'01\'03\'05\'07\'09\'0b\'0d\'0f;}\rtlch\fcs1 \af0 +\ltrch\fcs0 \fbias0\hres0\chhres0 \fi-284\li2272\jclisttab\tx2272\lin2272 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'12\'00.\'01.\'02.\'03.\'04.\'05.\'06.\'07.\'08.;}{\levelnumbers +\'01\'03\'05\'07\'09\'0b\'0d\'0f\'11;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0\hres0\chhres0 \fi-284\li2556\jclisttab\tx2556\lin2556 }{\listname ;}\listid1789472290}{\list\listtemplateid-959551326\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0 +\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid-1978902908\'01\u-4051 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \s47\fi-360\li891\lin891 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0 +\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid134676483\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li1611\lin1611 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0 +{\leveltext\leveltemplateid134676485\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li2331\lin2331 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext +\leveltemplateid134676481\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li3051\lin3051 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid134676483 +\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li3771\lin3771 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid134676485\'01\u-3929 ?;}{\levelnumbers +;}\f10\fbias0\hres0\chhres0 \fi-360\li4491\lin4491 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid134676481\'01\u-3913 ?;}{\levelnumbers;} +\f3\fbias0\hres0\chhres0 \fi-360\li5211\lin5211 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid134676483\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 +\fi-360\li5931\lin5931 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid134676485\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 +\fi-360\li6651\lin6651 }{\listname ;}\listid1852138824}{\list\listtemplateid-1628921144\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid1696735960 +\'01\u-3986 ?;}{\levelnumbers;}\f10\fs14\up2\nosupersub\fbias0\hres0\chhres0 \s19\fi-255\li255\jclisttab\tx360\lin255 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext +\leveltemplateid67567619\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li1440\jclisttab\tx1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext +\leveltemplateid67567621\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext +\leveltemplateid67567617\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext +\leveltemplateid67567619\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext +\leveltemplateid67567621\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li4320\jclisttab\tx4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext +\leveltemplateid67567617\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li5040\jclisttab\tx5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext +\leveltemplateid67567619\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li5760\jclisttab\tx5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext +\leveltemplateid67567621\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li6480\jclisttab\tx6480\lin6480 }{\listname ;}\listid1902860174}}{\*\listoverridetable{\listoverride\listid1902860174\listoverridecount0\ls1} +{\listoverride\listid1522281042\listoverridecount0\ls2}{\listoverride\listid320737270\listoverridecount0\ls3}{\listoverride\listid665087064\listoverridecount0\ls4}{\listoverride\listid299001452\listoverridecount0\ls5}{\listoverride\listid1852138824 +\listoverridecount0\ls6}{\listoverride\listid1172716037\listoverridecount0\ls7}{\listoverride\listid1693188446\listoverridecount0\ls8}{\listoverride\listid1477378821\listoverridecount0\ls9}{\listoverride\listid1789472290\listoverridecount0\ls10} +{\listoverride\listid305548801\listoverridecount0\ls11}{\listoverride\listid-119\listoverridecount0\ls12}{\listoverride\listid-125\listoverridecount0\ls13}{\listoverride\listid-126\listoverridecount0\ls14}{\listoverride\listid-127\listoverridecount0\ls15} +{\listoverride\listid-128\listoverridecount0\ls16}{\listoverride\listid-120\listoverridecount0\ls17}{\listoverride\listid-129\listoverridecount0\ls18}{\listoverride\listid-130\listoverridecount0\ls19}{\listoverride\listid-131\listoverridecount0\ls20} +{\listoverride\listid-132\listoverridecount0\ls21}{\listoverride\listid1477378821\listoverridecount0\ls22}{\listoverride\listid1902860174\listoverridecount0\ls23}{\listoverride\listid1522281042\listoverridecount0\ls24}{\listoverride\listid320737270 +\listoverridecount0\ls25}{\listoverride\listid299001452\listoverridecount0\ls26}{\listoverride\listid665087064\listoverridecount0\ls27}{\listoverride\listid665087064\listoverridecount0\ls28}{\listoverride\listid665087064\listoverridecount0\ls29} +{\listoverride\listid665087064\listoverridecount0\ls30}{\listoverride\listid665087064\listoverridecount0\ls31}{\listoverride\listid665087064\listoverridecount0\ls32}{\listoverride\listid665087064\listoverridecount0\ls33}{\listoverride\listid665087064 +\listoverridecount0\ls34}{\listoverride\listid665087064\listoverridecount0\ls35}{\listoverride\listid1789472290\listoverridecount0\ls36}{\listoverride\listid1693188446\listoverridecount0\ls37}{\listoverride\listid1172716037\listoverridecount0\ls38} +{\listoverride\listid1852138824\listoverridecount0\ls39}{\listoverride\listid1852138824\listoverridecount0\ls40}}{\*\pgptbl {\pgp\ipgp12\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp4\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp11\itap0\li0\ri-15\sb0\sa0\brdrt +\brdrs\brdrw15\brdrcf8 \brdrl\brdrs\brdrw15\brdrcf8 \brdrb\brdrs\brdrw15\brdrcf8 \brdrr\brdrs\brdrw15\brdrcf8 }{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp7\itap0\li0\ri0\sb0\sa450}{\pgp\ipgp8\itap0\li300\ri0\sb0\sa0} +{\pgp\ipgp13\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp6\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp10\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp3\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp2\itap0\li0\ri0\sb0\sa0}}{\*\rsidtbl \rsid8254\rsid28148\rsid132480 +\rsid154961\rsid160372\rsid161432\rsid213271\rsid395855\rsid398921\rsid414582\rsid491097\rsid535025\rsid590553\rsid613621\rsid616048\rsid667492\rsid730751\rsid743748\rsid792055\rsid802047\rsid813377\rsid815868\rsid869898\rsid873363\rsid929383\rsid934519 +\rsid987445\rsid999966\rsid1003540\rsid1011367\rsid1132035\rsid1188888\rsid1195482\rsid1211684\rsid1270413\rsid1314756\rsid1315628\rsid1340786\rsid1405060\rsid1448057\rsid1448066\rsid1452719\rsid1464536\rsid1511009\rsid1525509\rsid1599394\rsid1656080 +\rsid1850224\rsid1930300\rsid1987792\rsid1995797\rsid2104350\rsid2229118\rsid2235564\rsid2243907\rsid2244376\rsid2306748\rsid2315014\rsid2324858\rsid2438386\rsid2500079\rsid2628933\rsid2643764\rsid2651063\rsid2711798\rsid2761165\rsid2773467\rsid2828342 +\rsid2844025\rsid2847685\rsid2890939\rsid2905512\rsid2906679\rsid2916146\rsid2975159\rsid3018329\rsid3020072\rsid3020215\rsid3030123\rsid3035118\rsid3081751\rsid3082992\rsid3083995\rsid3151297\rsid3163917\rsid3220318\rsid3242297\rsid3366304\rsid3369526 +\rsid3482572\rsid3549962\rsid3564206\rsid3604838\rsid3610545\rsid3628950\rsid3690503\rsid3748492\rsid3757015\rsid3801527\rsid3801997\rsid3806925\rsid3885170\rsid3935125\rsid3946604\rsid4088588\rsid4141589\rsid4150006\rsid4154324\rsid4159156\rsid4209073 +\rsid4291848\rsid4337203\rsid4340333\rsid4354555\rsid4355059\rsid4417367\rsid4467988\rsid4611957\rsid4617515\rsid4676125\rsid4746344\rsid4747766\rsid4794327\rsid4815870\rsid4816830\rsid4877881\rsid4944103\rsid4945201\rsid4947400\rsid4991659\rsid5121873 +\rsid5191936\rsid5204403\rsid5262652\rsid5270951\rsid5324564\rsid5327997\rsid5381439\rsid5403724\rsid5594827\rsid5647230\rsid5665441\rsid5731230\rsid5771548\rsid5789271\rsid5987345\rsid5987844\rsid5989253\rsid5989388\rsid6030101\rsid6031238\rsid6036455 +\rsid6060887\rsid6115382\rsid6117468\rsid6166513\rsid6167325\rsid6171192\rsid6245264\rsid6300857\rsid6426109\rsid6435311\rsid6449360\rsid6565445\rsid6579646\rsid6623183\rsid6623509\rsid6635943\rsid6650726\rsid6689997\rsid6697319\rsid6711776\rsid6827231 +\rsid6838686\rsid6842354\rsid6887967\rsid6889242\rsid7023561\rsid7096548\rsid7428149\rsid7480286\rsid7553115\rsid7558828\rsid7562340\rsid7673890\rsid7741046\rsid7756195\rsid7821341\rsid7825583\rsid7891915\rsid7946000\rsid8005917\rsid8017293\rsid8066588 +\rsid8072362\rsid8093155\rsid8207422\rsid8212965\rsid8334607\rsid8349821\rsid8391678\rsid8395036\rsid8419316\rsid8458212\rsid8477698\rsid8547390\rsid8601254\rsid8664317\rsid8795301\rsid8851585\rsid8860799\rsid8940251\rsid8985408\rsid8989978\rsid9001681 +\rsid9046286\rsid9113514\rsid9122233\rsid9139556\rsid9191869\rsid9260379\rsid9319531\rsid9386245\rsid9437625\rsid9454371\rsid9532490\rsid9592991\rsid9641475\rsid9643958\rsid9726730\rsid9731674\rsid9772663\rsid9773425\rsid9781830\rsid9795704\rsid9859187 +\rsid9860396\rsid9926859\rsid9926918\rsid9982892\rsid9989518\rsid10033263\rsid10033469\rsid10057341\rsid10094809\rsid10163952\rsid10188724\rsid10377011\rsid10444738\rsid10486457\rsid10514377\rsid10887790\rsid10888000\rsid10892263\rsid10893680\rsid10899134 +\rsid10952705\rsid11011136\rsid11104936\rsid11164350\rsid11213702\rsid11339325\rsid11358202\rsid11409135\rsid11412088\rsid11417456\rsid11428289\rsid11480159\rsid11500102\rsid11561546\rsid11625418\rsid11669035\rsid11680201\rsid11684242\rsid11687669 +\rsid11690722\rsid11731594\rsid11741018\rsid11756070\rsid11872258\rsid11878556\rsid11934462\rsid11994378\rsid12005380\rsid12068731\rsid12087269\rsid12124862\rsid12138900\rsid12143537\rsid12145323\rsid12149412\rsid12201965\rsid12257617\rsid12261328 +\rsid12389189\rsid12394045\rsid12394153\rsid12458642\rsid12518191\rsid12520864\rsid12586322\rsid12599533\rsid12670840\rsid12718506\rsid12719254\rsid12720951\rsid12721372\rsid12733469\rsid12745677\rsid12912080\rsid12918664\rsid12940759\rsid13063658 +\rsid13121286\rsid13122747\rsid13128756\rsid13192077\rsid13239486\rsid13374061\rsid13384546\rsid13577192\rsid13588575\rsid13591555\rsid13640239\rsid13641637\rsid13648196\rsid13701560\rsid13712076\rsid13728223\rsid13794534\rsid13853920\rsid13904051 +\rsid13981227\rsid14030544\rsid14091135\rsid14294050\rsid14374909\rsid14490136\rsid14555448\rsid14575589\rsid14624537\rsid14634678\rsid14635012\rsid14645231\rsid14686117\rsid14689342\rsid14698923\rsid14708639\rsid14749708\rsid14759921\rsid14811403 +\rsid14829754\rsid14882030\rsid14974101\rsid15074518\rsid15074762\rsid15088352\rsid15097881\rsid15100669\rsid15146151\rsid15146259\rsid15159878\rsid15167045\rsid15224093\rsid15236904\rsid15279521\rsid15294212\rsid15339156\rsid15354264\rsid15355291 +\rsid15418458\rsid15425158\rsid15426510\rsid15426884\rsid15429983\rsid15538325\rsid15551598\rsid15559123\rsid15612303\rsid15613840\rsid15629544\rsid15675639\rsid15862111\rsid15930270\rsid15934475\rsid16009406\rsid16016111\rsid16061552\rsid16081326 +\rsid16204837\rsid16252936\rsid16273827\rsid16281790\rsid16285026\rsid16323857\rsid16328209\rsid16341926\rsid16539772\rsid16584085\rsid16591338\rsid16609286\rsid16672150\rsid16712266\rsid16737597\rsid16741865}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0 +\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info{\title Normal}{\author D\'fcnnenberger Sabrina (TKB)}{\operator Stefan Hutter}{\creatim\yr2018\mo2\dy3\hr16\min40}{\revtim\yr2018\mo2\dy3\hr16\min40} +{\printim\yr2018\mo1\dy19\hr11\min12}{\version2}{\edmins0}{\nofpages1}{\nofwords86}{\nofchars546}{\*\company Thurgauer Kantonalbank}{\nofcharsws631}{\vern49}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}} +\paperw11906\paperh16838\margl1361\margr851\margt680\margb1247\gutter0\ltrsect +\deftab709\widowctrl\ftnbj\aenddoc\hyphhotz425\trackmoves0\trackformatting1\donotembedsysfont0\relyonvml0\donotembedlingdata0\grfdocevents0\validatexml1\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0 +\showxmlerrors1\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace100\dgvspace180\dghorigin1361\dgvorigin680\dghshow2\dgvshow2 +\jexpand\viewkind1\viewscale100\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\allowfieldendsel\wrppunct +\asianbrkrule\rsidroot11561546\newtblstyruls\nogrowautofit\usenormstyforlist\noindnmbrts\felnbrelev\nocxsptable\indrlsweleven\noafcnsttbl\afelev\utinl\hwelev\spltpgpar\notcvasp\notbrkcnstfrctbl\notvatxbx\krnprsnet\cachedcolbal \nouicompat \fet0 +{\*\wgrffmtfilter 013f}\nofeaturethrottle1\ilfomacatclnup9\stylesortmethod0{\*\docvar {Abteilung}{Abteilung}}{\*\docvar {Autor}{Hutter Stefan}}{\*\docvar {Telefon}{+41 (0)71 626 12 34}}{\*\docvar {Telefonnummer}{+41 (0)71 626 12 34}} +{\*\docvar {title}{TITEL DES DOKUMENTES}}{\*\docvar {Version}{1.0}}{\*\docvar {Versiondatum}{13.05.2012}}{\*\ftnsep \ltrpar \pard\plain \ltrpar\ql \li0\ri0\sl20\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 +\af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11934462 \chftnsep +\par }}{\*\ftnsepc \ltrpar \pard\plain \ltrpar\ql \li0\ri0\sl20\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 { +\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11934462 \chftnsepc +\par }}{\*\ftncn \ltrpar \pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 {\rtlch\fcs1 \af0 +\ltrch\fcs0 \insrsid11934462 +\par }}{\*\aftnsep \ltrpar \pard\plain \ltrpar\ql \li0\ri0\sl20\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 { +\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11934462 \chftnsep +\par }}{\*\aftnsepc \ltrpar \pard\plain \ltrpar\ql \li0\ri0\sl20\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 { +\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11934462 \chftnsepc +\par }}{\*\aftncn \ltrpar \pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 {\rtlch\fcs1 \af0 +\ltrch\fcs0 \insrsid11934462 +\par }}\ltrpar \sectd \ltrsect\psz9\linex0\headery454\footery284\colsx708\endnhere\titlepg\sectlinegrid360\sectdefaultcl\sectrsid13588575\sftnbj {\headerr \ltrpar \pard\plain \ltrpar\s15\ql \li0\ri0\sl20\slmult0\widctlpar +\tqc\tx5103\tqr\tx10065\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs14\alang1025 \ltrch\fcs0 \f43\fs14\cf17\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13588575 +\par }}{\footerr \ltrpar \pard\plain \ltrpar\s17\ql \li0\ri0\sl20\slmult0\widctlpar\tqc\tx4536\tqr\tx9072\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 +\f43\fs17\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13588575 +\par }}{\footerf \ltrpar \pard\plain \ltrpar\s17\ql \li0\ri0\sl20\slmult0\widctlpar\tqc\tx4536\tqr\tx9072\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 +\f43\fs17\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid1195482 +\par }}{\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}} +{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8 +\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar\ql \li0\ri0\sl20\slmult0 +\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid4088588 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \f43\fs20\lang2055\langfe2055\cgrid\langnp2055\langfenp2055 {\rtlch\fcs1 \af0 \ltrch\fcs0 +\b\insrsid4088588\charrsid7553115 TKB-Kernaussagen}{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\insrsid4088588 +\par }\pard \ltrpar\ql \li0\ri0\sl20\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid8212965 {\rtlch\fcs1 \af0 \ltrch\fcs0 \f40\lang1024\langfe1024\noproof\langnp1031\insrsid8212965 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid8212965 Diese interne Datenbank enth\'e4lt Aussagen zu wesentlichen Themen unserer Bank bzw. zu unserer Rolle als Mitglied der Gesellschaft. Die Aussagen k\'f6nnen n\'fctzlich sein bei der Vorbereitung von Gespr\'e4 +chen mit Kunden oder Exponenten aus Politik und Wirtschaft oder f\'fcr Pr\'e4sentationen etc. }{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f37\fs22\lang2055\langfe1033\langfenp1033\insrsid8212965 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid8212965 +\par Einfach eines oder mehrere Themen ausw\'e4hlen. Die Aussagen werden dann in einer Liste angezeigt und k\'f6nnen dann auch als PDF exportiert werden. Eine kurze Anleitung gibt es unter dem Icon mit dem Fragezeichen. +\par +\par }\pard \ltrpar\ql \li0\ri0\sl20\slmult0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid4088588 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid8212965 R\'fcckmeldungen/Anr +egungen: Unternehmenskommunikation: TG G Unternehmenskommunikation oder Telefon 6561.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid4088588 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid16323857 +\par +\par +\par 28.01,18/sdu +\par }{\*\themedata 504b030414000600080000002100e9de0fbfff0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb4ec3301045f748fc83e52d4a +9cb2400825e982c78ec7a27cc0c8992416c9d8b2a755fbf74cd25442a820166c2cd933f79e3be372bd1f07b5c3989ca74aaff2422b24eb1b475da5df374fd9ad +5689811a183c61a50f98f4babebc2837878049899a52a57be670674cb23d8e90721f90a4d2fa3802cb35762680fd800ecd7551dc18eb899138e3c943d7e503b6 +b01d583deee5f99824e290b4ba3f364eac4a430883b3c092d4eca8f946c916422ecab927f52ea42b89a1cd59c254f919b0e85e6535d135a8de20f20b8c12c3b0 +0c895fcf6720192de6bf3b9e89ecdbd6596cbcdd8eb28e7c365ecc4ec1ff1460f53fe813d3cc7f5b7f020000ffff0300504b030414000600080000002100a5d6 +a7e7c0000000360100000b0000005f72656c732f2e72656c73848fcf6ac3300c87ef85bd83d17d51d2c31825762fa590432fa37d00e1287f68221bdb1bebdb4f +c7060abb0884a4eff7a93dfeae8bf9e194e720169aaa06c3e2433fcb68e1763dbf7f82c985a4a725085b787086a37bdbb55fbc50d1a33ccd311ba548b6309512 +0f88d94fbc52ae4264d1c910d24a45db3462247fa791715fd71f989e19e0364cd3f51652d73760ae8fa8c9ffb3c330cc9e4fc17faf2ce545046e37944c69e462 +a1a82fe353bd90a865aad41ed0b5b8f9d6fd010000ffff0300504b0304140006000800000021006b799616830000008a0000001c0000007468656d652f746865 +6d652f7468656d654d616e616765722e786d6c0ccc4d0ac3201040e17da17790d93763bb284562b2cbaebbf600439c1a41c7a0d29fdbd7e5e38337cedf14d59b +4b0d592c9c070d8a65cd2e88b7f07c2ca71ba8da481cc52c6ce1c715e6e97818c9b48d13df49c873517d23d59085adb5dd20d6b52bd521ef2cdd5eb9246a3d8b +4757e8d3f729e245eb2b260a0238fd010000ffff0300504b030414000600080000002100cc0c9450dd0500004f140000160000007468656d652f7468656d652f +7468656d65312e786d6ce418d96ee336f0bd40ff41d0fbae235fb1837516890fb468da06718a7da625cad286265592ceb15fdf9921255391d3bdd2f6a17970c4 +e170ee8b7cf7fe7127a27bae4da9e42c4ede9ec41197a9ca4ab99dc57fdcaede4ce2c85826332694e4b3f8899bf8fdf98f3fbc6367b6e03b1ec17969ced82c2e +acadce7a3d93029899b7aae212f672a577ccc2526f7b99660f4077277afd9393716fc74a194792ed80ec15d3a5312c3eafe92e051097d62020157a8d54b947be +fde59210b3bb04b7cd93990b1ddd33318b817ea61e6ef9a38d23c18c858d597c427f71effc5d8f9df943c2be703638b7a23f7fce1fc8eefac4536f370d535066 +314c1afa84206c176f7272394e060d3d4260690a6a3a59429ad3d562d05f79dc00c97d76695f0e16f3d1b4851fd01f74649e8f96a349bf854f488efeb083bf98 +2e1717f3163e2139fc51077f323a9d9f8e5bf884e4f0c71dfce9723a9ed6360c900a51cabb0ef6e5e47270515ba741c995f8e928fa22992fe6b5710e58100d4d +68218b5c49fb3cd02200e832b74cdb187176eca3d22b40c48560b694917daa78ce5288e2d5deee358b2e95ba43cdd91967c1ae03a5e61908a46811dd95f21fe0 +70200afc0e8a92dabbb6d6612ee6a5106bfb24f895218d8d1265b602201ea454e74d1a54057c7a8fb7f0b69ad199482bfba1b4c5ba6015582b21836e8d27bd35 +51a50c642b818fd246a66071eb727d8469ed8c6a98fd55650e3c08b3bd2143b9bfa57252331a20812f653638fd3e668993ea45b3b5554b48340aa1966a8dcae0 +c4ae6a006cac09791031ace1c9188a2dca1e9994099ea1dd5d25acdd82acebef5771912958c6bd8f50efae8f1272521d2b54db21768ef86842a2ffadd5026e53 +24fb1ddcbec44921bbe10bec6aef7d8f97480ff4a84f1e32cef37414324c4e21a387593c1df5477194b26a16e750a0e0735781d78ddcc611135be8f2a9d52eec +3f9bcc64f88337a7b562107d41c6252735bca370ab0e54dad80533850b0ddaf22120247272f2f74760d6d752c045fa374831984030fc6752801ddbaee579ce53 +1b3a3b80a0eddcd29752b5b75caf8bec21da88bdbe61e07e0c55d0272b8d9dc554117001c3115a9bb6dac5d917c67024213c0767a22a982fb798a275263b740a +d546065a05e2816e476527e5be5e154af95752250ce3ff992ad84fb8e4830c3d90c24c0e730ce6eb2c56da160aaa505594e94ac3e443b503a205066cd886a082 +9b01fdd7fc1effbb9c733428adcb6d616fca6da44be847b6d09c5f4359a2e8fb0cb1c4f72e47527842145181b8a672626ff83d17b75803c7d8dbe3a88050a76a +e2cb00e13d8fbff6da67d0668b434e986fad1ad2f45e9703fff6e4e39219946ad7611a686afb372292b5da938f3b4fc7ebde1b2a821b87316b586705300b5ac1 +d4a7fd378af095add655ac8ec6fd512d1c78b1ab31009b81a862b688f007fa5fa953c1298cb1a1deaa1ba8ad11dc1e9118840d44f51b37784458201d70038393 +03ba604252ceb44d833e34eb5719a30e2e68f83e33364af625fefe4a6337c3599b5d2b175fd3d8dec22d5b3bd88ba606cf3e4f5100e5f54d861c43ef13e13b82 +da7c04472fe0b2b617ee65c154b0a23ca8ae61fc047d5b2351d8fd96a7cbe9f2948226e87e8d6730fe8296d1a2e3a61ba9b0a4388d1082273cd78dca9eae3506 +0dd55153a5ab126aef153c605c330d6f2b1094f046637f879f5c282870ca7f418d53fad33138e2c3a30cecc6d103546f9800ffdc33cda15cff2ce19a354d8643 +8c755a0c47a77d58e8706713eec8fd6eae204312b84654297d22be15f567aed5ee83d2d90572852d2653e0ed664dbf985b58c3163c09a5fce282be53b58344ba +92eb2a45e2e802ec3ab78f1f98ae7c03b2f09af39b5ae3a5d199ff1e8ab48f8c06174f4a75b1b72a2ffda6b32a6e08e34627380446c7eb2c41e50dcfa3327b84 +2e41849b9876c5d0bd4238a182ca1746667382dc29902052c6aad2d0f604da85b6a6edd4f0f878d48d46cde1a3f7d3f6e1e6047186fedc1ca69784639ac15b96 +efd2f812404263343ac3505c525ac0573765c0199ac1656d4d0a359ea0643bff0b0000ffff0300504b0304140006000800000021000dd1909fb60000001b0100 +00270000007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73848f4d0ac2301484f78277086f6fd3ba109126dd +88d0add40384e4350d363f2451eced0dae2c082e8761be9969bb979dc9136332de3168aa1a083ae995719ac16db8ec8e4052164e89d93b64b060828e6f37ed15 +67914b284d262452282e3198720e274a939cd08a54f980ae38a38f56e422a3a641c8bbd048f7757da0f19b017cc524bd62107bd5001996509affb3fd381a8967 +2f1f165dfe514173d9850528a2c6cce0239baa4c04ca5bbabac4df000000ffff0300504b01022d0014000600080000002100e9de0fbfff0000001c0200001300 +000000000000000000000000000000005b436f6e74656e745f54797065735d2e786d6c504b01022d0014000600080000002100a5d6a7e7c0000000360100000b +00000000000000000000000000300100005f72656c732f2e72656c73504b01022d00140006000800000021006b799616830000008a0000001c00000000000000 +000000000000190200007468656d652f7468656d652f7468656d654d616e616765722e786d6c504b01022d0014000600080000002100cc0c9450dd0500004f14 +00001600000000000000000000000000d60200007468656d652f7468656d652f7468656d65312e786d6c504b01022d00140006000800000021000dd1909fb600 +00001b0100002700000000000000000000000000e70800007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73504b050600000000050005005d010000e20900000000} +{\*\colorschememapping 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0d0a3c613a636c724d +617020786d6c6e733a613d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f64726177696e676d6c2f323030362f6d6169 +6e22206267313d226c743122207478313d22646b3122206267323d226c743222207478323d22646b322220616363656e74313d22616363656e74312220616363 +656e74323d22616363656e74322220616363656e74333d22616363656e74332220616363656e74343d22616363656e74342220616363656e74353d22616363656e74352220616363656e74363d22616363656e74362220686c696e6b3d22686c696e6b2220666f6c486c696e6b3d22666f6c486c696e6b222f3e} +{\*\latentstyles\lsdstimax375\lsdlockeddef0\lsdsemihiddendef0\lsdunhideuseddef0\lsdqformatdef0\lsdprioritydef0{\lsdlockedexcept \lsdqformat1 \lsdlocked0 Normal;\lsdqformat1 \lsdlocked0 heading 1;\lsdqformat1 \lsdlocked0 heading 2; +\lsdqformat1 \lsdlocked0 heading 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 heading 7;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 heading 8;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 heading 9;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 1; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 5; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 6;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 7;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 8;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 9; +\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 1;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 2;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 toc 4; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 toc 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 toc 6;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 toc 7;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 toc 8;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 toc 9; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Normal Indent;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footnote text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 header; +\lsdsemihidden1 \lsdunhideused1 \lsdpriority99 \lsdlocked0 footer;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index heading;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdlocked0 caption;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 table of figures; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 envelope address;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 envelope return;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footnote reference;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation reference; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 line number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 page number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 endnote reference;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 endnote text; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 table of authorities;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 macro;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 toa heading;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 2; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 2; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Closing; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Signature;\lsdsemihidden1 \lsdunhideused1 \lsdpriority1 \lsdlocked0 Default Paragraph Font;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 4; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Message Header;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text First Indent 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Note Heading; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent 3; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Block Text;\lsdsemihidden1 \lsdunhideused1 \lsdpriority99 \lsdlocked0 Hyperlink;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 FollowedHyperlink;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Document Map; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Plain Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 E-mail Signature;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Top of Form;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Bottom of Form; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Normal (Web);\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Acronym;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Address;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Cite; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Code;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Definition;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Keyboard;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Preformatted; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Sample;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Typewriter;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Variable;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation subject; +\lsdsemihidden1 \lsdunhideused1 \lsdpriority99 \lsdlocked0 No List;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 3; +\lsdsemihidden1 \lsdunhideused1 Table Simple 1;\lsdsemihidden1 \lsdunhideused1 Table Simple 2;\lsdsemihidden1 \lsdunhideused1 Table Simple 3;\lsdsemihidden1 \lsdunhideused1 Table Classic 1;\lsdsemihidden1 \lsdunhideused1 Table Classic 2; +\lsdsemihidden1 \lsdunhideused1 Table Classic 3;\lsdsemihidden1 \lsdunhideused1 Table Classic 4;\lsdsemihidden1 \lsdunhideused1 Table Colorful 1;\lsdsemihidden1 \lsdunhideused1 Table Colorful 2;\lsdsemihidden1 \lsdunhideused1 Table Colorful 3; +\lsdsemihidden1 \lsdunhideused1 Table Columns 1;\lsdsemihidden1 \lsdunhideused1 Table Columns 2;\lsdsemihidden1 \lsdunhideused1 Table Columns 3;\lsdsemihidden1 \lsdunhideused1 Table Columns 4;\lsdsemihidden1 \lsdunhideused1 Table Columns 5; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 1;\lsdsemihidden1 \lsdunhideused1 Table Grid 2;\lsdsemihidden1 \lsdunhideused1 Table Grid 3;\lsdsemihidden1 \lsdunhideused1 Table Grid 4;\lsdsemihidden1 \lsdunhideused1 Table Grid 5; +\lsdsemihidden1 \lsdunhideused1 Table Grid 6;\lsdsemihidden1 \lsdunhideused1 Table Grid 7;\lsdsemihidden1 \lsdunhideused1 Table Grid 8;\lsdsemihidden1 \lsdunhideused1 Table List 1;\lsdsemihidden1 \lsdunhideused1 Table List 2; +\lsdsemihidden1 \lsdunhideused1 Table List 3;\lsdsemihidden1 \lsdunhideused1 Table List 4;\lsdsemihidden1 \lsdunhideused1 Table List 5;\lsdsemihidden1 \lsdunhideused1 Table List 6;\lsdsemihidden1 \lsdunhideused1 Table List 7; +\lsdsemihidden1 \lsdunhideused1 Table List 8;\lsdsemihidden1 \lsdunhideused1 Table 3D effects 1;\lsdsemihidden1 \lsdunhideused1 Table 3D effects 2;\lsdsemihidden1 \lsdunhideused1 Table 3D effects 3;\lsdsemihidden1 \lsdunhideused1 Table Contemporary; +\lsdsemihidden1 \lsdunhideused1 Table Elegant;\lsdsemihidden1 \lsdunhideused1 Table Professional;\lsdsemihidden1 \lsdunhideused1 Table Subtle 1;Table Subtle 2;\lsdsemihidden1 \lsdunhideused1 Table Web 1;\lsdsemihidden1 \lsdunhideused1 Table Web 2; +Table Web 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Balloon Text;Table Grid;\lsdsemihidden1 \lsdunhideused1 Table Theme;\lsdsemihidden1 \lsdpriority99 \lsdlocked0 Placeholder Text;\lsdpriority1 \lsdlocked0 No Spacing; +\lsdpriority60 \lsdlocked0 Light Shading;\lsdpriority61 Light List;\lsdpriority62 Light Grid;\lsdpriority63 Medium Shading 1;\lsdpriority64 Medium Shading 2;\lsdpriority65 Medium List 1;\lsdpriority66 Medium List 2; +\lsdpriority67 \lsdlocked0 Medium Grid 1;\lsdpriority68 Medium Grid 2;\lsdpriority69 Medium Grid 3;\lsdpriority70 \lsdlocked0 Dark List;\lsdpriority71 \lsdlocked0 Colorful Shading;\lsdpriority72 \lsdlocked0 Colorful List; +\lsdpriority73 \lsdlocked0 Colorful Grid;\lsdpriority60 Light Shading Accent 1;\lsdpriority61 Light List Accent 1;\lsdpriority62 Light Grid Accent 1;\lsdpriority63 Medium Shading 1 Accent 1;\lsdpriority64 Medium Shading 2 Accent 1; +\lsdpriority65 Medium List 1 Accent 1;\lsdsemihidden1 \lsdpriority99 \lsdlocked0 Revision;\lsdpriority34 \lsdlocked0 List Paragraph;\lsdpriority29 \lsdlocked0 Quote;\lsdpriority30 \lsdlocked0 Intense Quote;\lsdpriority66 Medium List 2 Accent 1; +\lsdpriority67 Medium Grid 1 Accent 1;\lsdpriority68 Medium Grid 2 Accent 1;\lsdpriority69 Medium Grid 3 Accent 1;\lsdpriority70 \lsdlocked0 Dark List Accent 1;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 1; +\lsdpriority72 \lsdlocked0 Colorful List Accent 1;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 1;\lsdpriority60 Light Shading Accent 2;\lsdpriority61 Light List Accent 2;\lsdpriority62 Light Grid Accent 2;\lsdpriority63 Medium Shading 1 Accent 2; +\lsdpriority64 Medium Shading 2 Accent 2;\lsdpriority65 Medium List 1 Accent 2;\lsdpriority66 Medium List 2 Accent 2;\lsdpriority67 Medium Grid 1 Accent 2;\lsdpriority68 Medium Grid 2 Accent 2;\lsdpriority69 Medium Grid 3 Accent 2; +\lsdpriority70 \lsdlocked0 Dark List Accent 2;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 2;\lsdpriority72 \lsdlocked0 Colorful List Accent 2;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 2;\lsdpriority60 Light Shading Accent 3; +\lsdpriority61 Light List Accent 3;\lsdpriority62 Light Grid Accent 3;\lsdpriority63 Medium Shading 1 Accent 3;\lsdpriority64 Medium Shading 2 Accent 3;\lsdpriority65 Medium List 1 Accent 3;\lsdpriority66 Medium List 2 Accent 3; +\lsdpriority67 Medium Grid 1 Accent 3;\lsdpriority68 Medium Grid 2 Accent 3;\lsdpriority69 Medium Grid 3 Accent 3;\lsdpriority70 \lsdlocked0 Dark List Accent 3;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 3; +\lsdpriority72 \lsdlocked0 Colorful List Accent 3;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 3;\lsdpriority60 Light Shading Accent 4;\lsdpriority61 Light List Accent 4;\lsdpriority62 Light Grid Accent 4;\lsdpriority63 Medium Shading 1 Accent 4; +\lsdpriority64 Medium Shading 2 Accent 4;\lsdpriority65 Medium List 1 Accent 4;\lsdpriority66 Medium List 2 Accent 4;\lsdpriority67 Medium Grid 1 Accent 4;\lsdpriority68 Medium Grid 2 Accent 4;\lsdpriority69 Medium Grid 3 Accent 4; +\lsdpriority70 \lsdlocked0 Dark List Accent 4;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 4;\lsdpriority72 \lsdlocked0 Colorful List Accent 4;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 4;\lsdpriority60 Light Shading Accent 5; +\lsdpriority61 Light List Accent 5;\lsdpriority62 Light Grid Accent 5;\lsdpriority63 Medium Shading 1 Accent 5;\lsdpriority64 Medium Shading 2 Accent 5;\lsdpriority65 Medium List 1 Accent 5;\lsdpriority66 Medium List 2 Accent 5; +\lsdpriority67 Medium Grid 1 Accent 5;\lsdpriority68 Medium Grid 2 Accent 5;\lsdpriority69 Medium Grid 3 Accent 5;\lsdpriority70 \lsdlocked0 Dark List Accent 5;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 5; +\lsdpriority72 \lsdlocked0 Colorful List Accent 5;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 5;\lsdpriority60 Light Shading Accent 6;\lsdpriority61 Light List Accent 6;\lsdpriority62 Light Grid Accent 6;\lsdpriority63 Medium Shading 1 Accent 6; +\lsdpriority64 Medium Shading 2 Accent 6;\lsdpriority65 Medium List 1 Accent 6;\lsdpriority66 Medium List 2 Accent 6;\lsdpriority67 Medium Grid 1 Accent 6;\lsdpriority68 Medium Grid 2 Accent 6;\lsdpriority69 Medium Grid 3 Accent 6; +\lsdpriority70 \lsdlocked0 Dark List Accent 6;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 6;\lsdpriority72 \lsdlocked0 Colorful List Accent 6;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 6;\lsdpriority19 \lsdlocked0 Subtle Emphasis; +\lsdpriority21 \lsdlocked0 Intense Emphasis;\lsdpriority31 \lsdlocked0 Subtle Reference;\lsdpriority32 \lsdlocked0 Intense Reference;\lsdpriority33 \lsdlocked0 Book Title;\lsdsemihidden1 \lsdunhideused1 \lsdpriority37 \lsdlocked0 Bibliography; +\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 TOC Heading;\lsdpriority41 \lsdlocked0 Plain Table 1;\lsdpriority42 \lsdlocked0 Plain Table 2;\lsdpriority43 \lsdlocked0 Plain Table 3;\lsdpriority44 \lsdlocked0 Plain Table 4; +\lsdpriority45 \lsdlocked0 Plain Table 5;\lsdpriority40 \lsdlocked0 Grid Table Light;\lsdpriority46 \lsdlocked0 Grid Table 1 Light;\lsdpriority47 \lsdlocked0 Grid Table 2;\lsdpriority48 \lsdlocked0 Grid Table 3;\lsdpriority49 \lsdlocked0 Grid Table 4; +\lsdpriority50 \lsdlocked0 Grid Table 5 Dark;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 1;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 1; +\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 1;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 1;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 1;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 1; +\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 1;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 2;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 2;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 2; +\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 2;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 2;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 2;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 2; +\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 3;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 3;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 3;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 3; +\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 3;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 3;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 3;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 4; +\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 4;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 4;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 4;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 4; +\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 4;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 4;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 5;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 5; +\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 5;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 5;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 5;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 5; +\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 5;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 6;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 6;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 6; +\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 6;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 6;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 6;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 6; +\lsdpriority46 \lsdlocked0 List Table 1 Light;\lsdpriority47 \lsdlocked0 List Table 2;\lsdpriority48 \lsdlocked0 List Table 3;\lsdpriority49 \lsdlocked0 List Table 4;\lsdpriority50 \lsdlocked0 List Table 5 Dark; +\lsdpriority51 \lsdlocked0 List Table 6 Colorful;\lsdpriority52 \lsdlocked0 List Table 7 Colorful;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 1;\lsdpriority47 \lsdlocked0 List Table 2 Accent 1;\lsdpriority48 \lsdlocked0 List Table 3 Accent 1; +\lsdpriority49 \lsdlocked0 List Table 4 Accent 1;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 1;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 1;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 1; +\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 2;\lsdpriority47 \lsdlocked0 List Table 2 Accent 2;\lsdpriority48 \lsdlocked0 List Table 3 Accent 2;\lsdpriority49 \lsdlocked0 List Table 4 Accent 2; +\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 2;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 2;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 2;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 3; +\lsdpriority47 \lsdlocked0 List Table 2 Accent 3;\lsdpriority48 \lsdlocked0 List Table 3 Accent 3;\lsdpriority49 \lsdlocked0 List Table 4 Accent 3;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 3; +\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 3;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 3;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 4;\lsdpriority47 \lsdlocked0 List Table 2 Accent 4; +\lsdpriority48 \lsdlocked0 List Table 3 Accent 4;\lsdpriority49 \lsdlocked0 List Table 4 Accent 4;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 4;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 4; +\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 4;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 5;\lsdpriority47 \lsdlocked0 List Table 2 Accent 5;\lsdpriority48 \lsdlocked0 List Table 3 Accent 5; +\lsdpriority49 \lsdlocked0 List Table 4 Accent 5;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 5;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 5;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 5; +\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 6;\lsdpriority47 \lsdlocked0 List Table 2 Accent 6;\lsdpriority48 \lsdlocked0 List Table 3 Accent 6;\lsdpriority49 \lsdlocked0 List Table 4 Accent 6; +\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 6;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 6;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 6;\lsdsemihidden1 \lsdunhideused1 \lsdpriority99 \lsdlocked0 Mention; +\lsdsemihidden1 \lsdunhideused1 \lsdpriority99 \lsdlocked0 Smart Hyperlink;\lsdsemihidden1 \lsdunhideused1 \lsdpriority99 \lsdlocked0 Hashtag;\lsdsemihidden1 \lsdunhideused1 \lsdpriority99 \lsdlocked0 Unresolved Mention;}}{\*\datastore 0105000002000000 +180000004d73786d6c322e534158584d4c5265616465722e362e30000000000000000000000e0000 +d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff0900060000000000000000000000010000000100000000000000001000000200000001000000feffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffdffffff04000000feffffff05000000fefffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffff010000000c6ad98892f1d411a65f0040963251e5000000000000000000000000c023 +ec44059dd30103000000c0020000000000004d0073006f004400610074006100530074006f0072006500000000000000000000000000000000000000000000000000000000000000000000000000000000001a000101ffffffffffffffff020000000000000000000000000000000000000000000000c023ec44059dd301 +c023ec44059dd3010000000000000000000000004100ce0042004600db00c600d300dd005600c4004b004500330042003300330054004c00d200d0004a0041003d003d000000000000000000000000000000000032000101ffffffffffffffff030000000000000000000000000000000000000000000000c023ec44059d +d301c023ec44059dd3010000000000000000000000004900740065006d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000201ffffffff04000000ffffffff000000000000000000000000000000000000000000000000 +000000000000000000000000000000000e0100000000000001000000020000000300000004000000feffffff060000000700000008000000090000000a000000feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d226e6f223f3e3c623a536f75726365732053656c65637465645374796c653d225c4150412e58534c22205374796c +654e616d653d224150412220786d6c6e733a623d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f6f6666696365446f63756d656e742f323030362f6269626c696f6772617068792220786d6c6e733d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e +6f72672f6f6666696365446f63756d656e742f323030362f6269626c696f677261706879223e3c2f623a536f75726365733e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c3f786d6c2076657273696f6e3d22312e302220656e636f6469 +6e673d225554462d3822207374616e64616c6f6e653d226e6f223f3e0d0a3c64733a6461746173746f72654974656d2064733a6974656d49443d227b45453435453030322d464436432d343235362d383437342d3137354434434243423032347d2220786d6c6e733a64733d22687474703a2f2f736368656d61732e6f70 +656e786d6c666f726d6174732e6f72672f6f6666696365446f63756d656e742f323030362f637573500072006f007000650072007400690065007300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000200ffffffffffffffffffffffff000000000000 +0000000000000000000000000000000000000000000000000000000000000500000055010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000 +000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff +000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000746f6d586d6c223e3c64733a736368656d61526566733e3c64733a736368656d615265662064733a7572693d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f7267 +2f6f6666696365446f63756d656e742f323030362f6269626c696f677261706879222f3e3c2f64733a736368656d61526566733e3c2f64733a6461746173746f72654974656d3e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105000000000000}} \ No newline at end of file diff --git a/Themenmanagement/bin/Debug/ThemaPerson.dll b/Themenmanagement/bin/Debug/ThemaPerson.dll new file mode 100644 index 0000000..ad47f0b Binary files /dev/null and b/Themenmanagement/bin/Debug/ThemaPerson.dll differ diff --git a/Themenmanagement/bin/Debug/ThemaPerson.pdb b/Themenmanagement/bin/Debug/ThemaPerson.pdb new file mode 100644 index 0000000..67eaa68 Binary files /dev/null and b/Themenmanagement/bin/Debug/ThemaPerson.pdb differ diff --git a/Themenmanagement/bin/Debug/ThemaPerson.xml b/Themenmanagement/bin/Debug/ThemaPerson.xml new file mode 100644 index 0000000..704220c --- /dev/null +++ b/Themenmanagement/bin/Debug/ThemaPerson.xml @@ -0,0 +1,763 @@ + + + + +ThemaPerson + + + + + + Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + + + + + Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + + + + + Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. + + + + + Purpose: Data Access class for the table 'Funktion'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iFunktionNr
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iFunktionNr
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iFunktionNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iFunktionNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iFunktionNr
  • +
  • sBezeichnung
  • +
  • sBeschreibung
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'key_tabelle'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • sBeschreibung
  • +
  • iKey_wert
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iKeynr
  • +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKeynr
  • +
  • sBeschreibung
  • +
  • iKey_wert
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKeynr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKeynr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iKeynr
  • +
  • sBeschreibung
  • +
  • iKey_wert
  • +
  • iMandantnr
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'Person'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iPersonNr
  • +
  • sFirma. May be SqlString.Null
  • +
  • sName. May be SqlString.Null
  • +
  • sVorname. May be SqlString.Null
  • +
  • sStrasse. May be SqlString.Null
  • +
  • sPostfach. May be SqlString.Null
  • +
  • sPlz. May be SqlString.Null
  • +
  • sOrt. May be SqlString.Null
  • +
  • sTelefon. May be SqlString.Null
  • +
  • sTelefax. May be SqlString.Null
  • +
  • sEMail. May be SqlString.Null
  • +
  • sInternet. May be SqlString.Null
  • +
  • sBemerkung. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iPersonNr
  • +
  • sFirma. May be SqlString.Null
  • +
  • sName. May be SqlString.Null
  • +
  • sVorname. May be SqlString.Null
  • +
  • sStrasse. May be SqlString.Null
  • +
  • sPostfach. May be SqlString.Null
  • +
  • sPlz. May be SqlString.Null
  • +
  • sOrt. May be SqlString.Null
  • +
  • sTelefon. May be SqlString.Null
  • +
  • sTelefax. May be SqlString.Null
  • +
  • sEMail. May be SqlString.Null
  • +
  • sInternet. May be SqlString.Null
  • +
  • sBemerkung. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iPersonNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iPersonNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iPersonNr
  • +
  • sFirma
  • +
  • sName
  • +
  • sVorname
  • +
  • sStrasse
  • +
  • sPostfach
  • +
  • sPlz
  • +
  • sOrt
  • +
  • sTelefon
  • +
  • sTelefax
  • +
  • sEMail
  • +
  • sInternet
  • +
  • sBemerkung
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'ThemaPerson'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iThemaPersonNr
  • +
  • iThemaNr. May be SqlInt32.Null
  • +
  • iPersonNr. May be SqlInt32.Null
  • +
  • iFunktionNr. May be SqlInt32.Null
  • +
  • sBemerkung. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iThemaPersonNr
  • +
  • iThemaNr. May be SqlInt32.Null
  • +
  • iPersonNr. May be SqlInt32.Null
  • +
  • iFunktionNr. May be SqlInt32.Null
  • +
  • sBemerkung. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iThemaPersonNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iThemaPersonNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iThemaPersonNr
  • +
  • iThemaNr
  • +
  • iPersonNr
  • +
  • iFunktionNr
  • +
  • sBemerkung
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'spalten'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iEintragnr
  • +
  • sTabelle. May be SqlString.Null
  • +
  • sTabellenspalte. May be SqlString.Null
  • +
  • sSpalte. May be SqlString.Null
  • +
  • bReadonly
  • +
  • bAlsHacken
  • +
  • iBreite. May be SqlInt32.Null
  • +
  • iReihenfolge. May be SqlInt32.Null
  • +
  • sTiptext. May be SqlString.Null
  • +
  • bAktiv
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • sNumberFormat. May be SqlString.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iEintragnr
  • +
  • sTabelle. May be SqlString.Null
  • +
  • sTabellenspalte. May be SqlString.Null
  • +
  • sSpalte. May be SqlString.Null
  • +
  • bReadonly
  • +
  • bAlsHacken
  • +
  • iBreite. May be SqlInt32.Null
  • +
  • iReihenfolge. May be SqlInt32.Null
  • +
  • sTiptext. May be SqlString.Null
  • +
  • bAktiv
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • sNumberFormat. May be SqlString.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iEintragnr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iEintragnr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iEintragnr
  • +
  • sTabelle
  • +
  • sTabellenspalte
  • +
  • sSpalte
  • +
  • bReadonly
  • +
  • bAlsHacken
  • +
  • iBreite
  • +
  • iReihenfolge
  • +
  • sTiptext
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
  • iMandantnr
  • +
  • sNumberFormat
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Mutierer auslesen + + + + + + + Löschen eines Datensatzes erstellen. + + Ursprungs-Person: Ist dieser Wert nicht 0, werden die Daten mit BaseNr zuerst gelesen + + + + + + Neue Person einfügen + + + + + + + Löschen eines Datensatzes erstellen. + + Ursprungs-Person: Ist dieser Wert nicht 0, werden die Daten mit BaseNr zuerst gelesen + + + + + + Neue Person einfügen + + + + + + + Sortierung der in der DB-Tabelle Spalaten festgelegten Reihenfolge + + + + + + + + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Tabellenname übernehmen und Daten ab DB laden + + + + + + + Daten ab Datenbank laden + + + + + + Basis-Datentabelle laden. Diese wird für die dynamische Generierung der Insert- und Update-Statements benötigt + + + + + + Update-Statement dynamisch für das UpdateCommand generieren + + + + + + Insert-Statement dynamisch für das InsertCommand generieren + + + + + + Prefixt für den SP-Übergabeparameter generieren + + Aktuelle Columnt + Prefis für SP-Übergabeparameter + + + + + SQL-DB-Type für den SP-Übergabeparameter festlegen + + Aktuelle Column + SQLDBType + + + + + Feldlänge für den SP-Übergabeparemter festlegen + + Aktulle Column + Feldlänge + + + + + Datesichern. Dabei wird das Update- sowie das Insert-Statement dynamisch generiert + + + + + + Dispose von Tabledata + + + + + + Load der Verbindungstabelle + + + + + + + + + Neuer Eintrag in der Tabelle eintragen. Sind neben den Defaultwerten weitere Attribute vorhanden, werde diese abhängig vom Datentype mit Defaultwerten befüllt. + + + + + + + +
+
diff --git a/Themenmanagement/bin/Debug/ThemeColorPicker.dll b/Themenmanagement/bin/Debug/ThemeColorPicker.dll new file mode 100644 index 0000000..8fee747 Binary files /dev/null and b/Themenmanagement/bin/Debug/ThemeColorPicker.dll differ diff --git a/Themenmanagement/bin/Debug/ThemeColorPicker.pdb b/Themenmanagement/bin/Debug/ThemeColorPicker.pdb new file mode 100644 index 0000000..b661ad5 Binary files /dev/null and b/Themenmanagement/bin/Debug/ThemeColorPicker.pdb differ diff --git a/Themenmanagement/bin/Debug/ThemenDokumente.dll b/Themenmanagement/bin/Debug/ThemenDokumente.dll new file mode 100644 index 0000000..241b2a3 Binary files /dev/null and b/Themenmanagement/bin/Debug/ThemenDokumente.dll differ diff --git a/Themenmanagement/bin/Debug/ThemenDokumente.pdb b/Themenmanagement/bin/Debug/ThemenDokumente.pdb new file mode 100644 index 0000000..2157c4d Binary files /dev/null and b/Themenmanagement/bin/Debug/ThemenDokumente.pdb differ diff --git a/Themenmanagement/bin/Debug/ThemenDokumente.xml b/Themenmanagement/bin/Debug/ThemenDokumente.xml new file mode 100644 index 0000000..ed80218 --- /dev/null +++ b/Themenmanagement/bin/Debug/ThemenDokumente.xml @@ -0,0 +1,1226 @@ + + + + +ThemenDokumente + + + + + + Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + + + + + Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + + + + + Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. + + + + + Purpose: Data Access class for the table 'DokumentAblageort'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumentablageortNr
  • +
  • iDokumentablagetypNr. May be SqlInt32.Null
  • +
  • iDokumentNr. May be SqlInt32.Null
  • +
  • sAblageort. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • iMandantNr. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumentablageortNr
  • +
  • iDokumentablagetypNr. May be SqlInt32.Null
  • +
  • iDokumentNr. May be SqlInt32.Null
  • +
  • sAblageort. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • iMandantNr. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumentablageortNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumentablageortNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iDokumentablageortNr
  • +
  • iDokumentablagetypNr
  • +
  • iDokumentNr
  • +
  • sAblageort
  • +
  • sBeschreibung
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
  • bAktiv
  • +
  • iMandantNr
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'DokumentAblageTyp'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumentAblageTypNr
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • iMandantNr. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumentAblageTypNr
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • iMandantNr. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumentAblageTypNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumentAblageTypNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iDokumentAblageTypNr
  • +
  • sBezeichnung
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
  • bAktiv
  • +
  • iMandantNr
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'Dokumenttyp'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumenttypnr
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumenttypnr
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumenttypnr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumenttypnr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iDokumenttypnr
  • +
  • sBezeichnung
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
  • bAktiv
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'SpeicherTyp'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iSpeicherTypNr
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iSpeicherTypNr
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iSpeicherTypNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iSpeicherTypNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iSpeicherTypNr
  • +
  • sBezeichnung
  • +
  • sBeschreibung
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'Dokument'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumentNr
  • +
  • iKeyValue. May be SqlInt32.Null
  • +
  • iDokType. May be SqlInt32.Null
  • +
  • iDokumenttypNr. May be SqlInt32.Null
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • sFilename. May be SqlString.Null
  • +
  • sOriginalFilename_incl_Path. May be SqlString.Null
  • +
  • sVersion. May be SqlString.Null
  • +
  • sVersionsNr. May be SqlString.Null
  • +
  • daVersionsdatum. May be SqlDateTime.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • blobDocImage. May be SqlBinary.Null
  • +
  • iSpeichertypNr. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumentNr
  • +
  • iKeyValue. May be SqlInt32.Null
  • +
  • iDokType. May be SqlInt32.Null
  • +
  • iDokumenttypNr. May be SqlInt32.Null
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • sFilename. May be SqlString.Null
  • +
  • sOriginalFilename_incl_Path. May be SqlString.Null
  • +
  • sVersion. May be SqlString.Null
  • +
  • sVersionsNr. May be SqlString.Null
  • +
  • daVersionsdatum. May be SqlDateTime.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • blobDocImage. May be SqlBinary.Null
  • +
  • iSpeichertypNr. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumentNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iDokumentNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iDokumentNr
  • +
  • iKeyValue
  • +
  • iDokType
  • +
  • iDokumenttypNr
  • +
  • sBezeichnung
  • +
  • sBeschreibung
  • +
  • sFilename
  • +
  • sOriginalFilename_incl_Path
  • +
  • sVersion
  • +
  • sVersionsNr
  • +
  • daVersionsdatum
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
  • bAktiv
  • +
  • blobDocImage
  • +
  • iSpeichertypNr
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'key_tabelle'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • sBeschreibung
  • +
  • iKey_wert
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iKeynr
  • +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKeynr
  • +
  • sBeschreibung
  • +
  • iKey_wert
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKeynr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKeynr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iKeynr
  • +
  • sBeschreibung
  • +
  • iKey_wert
  • +
  • iMandantnr
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'spalten'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iEintragnr
  • +
  • sTabelle. May be SqlString.Null
  • +
  • sTabellenspalte. May be SqlString.Null
  • +
  • sSpalte. May be SqlString.Null
  • +
  • bReadonly
  • +
  • bAlsHacken
  • +
  • iBreite. May be SqlInt32.Null
  • +
  • iReihenfolge. May be SqlInt32.Null
  • +
  • sTiptext. May be SqlString.Null
  • +
  • bAktiv
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • sNumberFormat. May be SqlString.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iEintragnr
  • +
  • sTabelle. May be SqlString.Null
  • +
  • sTabellenspalte. May be SqlString.Null
  • +
  • sSpalte. May be SqlString.Null
  • +
  • bReadonly
  • +
  • bAlsHacken
  • +
  • iBreite. May be SqlInt32.Null
  • +
  • iReihenfolge. May be SqlInt32.Null
  • +
  • sTiptext. May be SqlString.Null
  • +
  • bAktiv
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • sNumberFormat. May be SqlString.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iEintragnr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iEintragnr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iEintragnr
  • +
  • sTabelle
  • +
  • sTabellenspalte
  • +
  • sSpalte
  • +
  • bReadonly
  • +
  • bAlsHacken
  • +
  • iBreite
  • +
  • iReihenfolge
  • +
  • sTiptext
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
  • iMandantnr
  • +
  • sNumberFormat
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Dokument laden + + PersonNr + + + + + + Person sichern + + + + + + + Kopie eines Datensatzes erstellen. + + Ursprungs-Person: Ist dieser Wert nicht 0, werden die Daten mit BaseNr zuerst gelesen + + + + + + Datensatz inaktivieren + + Ursprungs-Person: Ist dieser Wert nicht 0, werden die Daten mit BaseNr zuerst gelesen + + + + + + Datensatz physisch löschen + + Ursprungs-Person: Ist dieser Wert nicht 0, werden die Daten mit BaseNr zuerst gelesen + + + + + + Neue Person einfügen + + + + + + + Dokumenttypen laden und in der Datatable Dokumenttypdaten bereit stellen + + + + + + + Datei im Dokument speichern + + + + + + + + + Klasse für das Speichern bzw. Auslesen von Image-Dateien in der Datenbank + + + Es werden folgende Datebanktabellen berücksichtigt: + + + Dokument Attribut DocImage + + Profile Attribut V_Uebersicht (Profillayout des C1TrueDBGrids der + Vertragsübersicht|Vertragselemente + + yes + + + + Grid-Layoutfile speichern + + C1Truedbgrind, von welchem das Layout gespeichert werden soll + Nummer des Grids: 1=Vertragsübersicht... + + + + + + Dokument in der Tabelle Dokument speichern + + Nummer des Dokument-Datensatzes + Zu speichender Dateiname + + + + + + Liest das Dokument aus der DB und speichert dieses unter einem temporären Filenamen ab + + + + + + + + Sortierung der in der DB-Tabelle Spalaten festgelegten Reihenfolge + + + + + + + + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Doktype + 1: Vertragselement + 2: Test-Drehbuch + 3: Applikationsdokument + 4: Applikationlogbuch + ö + + + + + Schliessen des Formulars + + + + + + + + Prüfung, ob Datenänderungen vorgenommen wurden. Beim Speichern werden ebenfalls allfällige Änderungen von C1DokumentAblagoeOrt durchgeführt. + Wurden lediglich Änderungen bei C1Dokumentablageort vorgenommen, wird separat gefrat, ob die Änderungen gespeichert werden sollen. + + + + + + + + Optionaler Parameter Dokumentnummer des aktuellen Dokuments + + + + + Formular-Load + + + + + + + + Formular schliessen + + + + + + + + Sicherungs-Button betätigt + + + + + + + + Datensatz kopieren + + + + + + + + Neuer Datensatz erstellen + + + + + + + + Aktueller Datensatz inaktivieren + + + + + + + + Menu Beenden + + + + + + + + Vertragspartner suchen + + + + + + + + Allg Eventhandler für Chanage-Ereignise festlegen + + + + + + + Envent-Handler für Change-Ereignisse + + + + + + + + Sucht in den Base-Controls sämtliche Controls mit dem Namen in "Key" (Wildcards * möglich) und listet + die gefundnen Controls in der Liste L zur weiteren Bearbeitung + + Base-Contrlo (z.B. aktuelles Formular + Schlüssel welcher gesucht werden soll + Liste der gefundenen Objekte + True wenn eines oder mehr Controls gefunden wurden, false wenn kein Control gefunden wurde. + + + + + + Handelt das Change-Ereignis eines Datetimepckers und stellt das ausgewählte Datum in das entsprechende Textfeld + + + + + + + + Daten ab DB laden uns ins Form befüllen + + + + + + + Daten ab Form speichern + + + + + + Auswahl des zu speichernden Dokumentes + + + + + + + + Dokument anzeigen + + + + + + + + Text-Change von Txt-Dateiname + + + + + + + + Tabellenname übernehmen und Daten ab DB laden + + + + + + + Daten ab Datenbank laden + + + + + + Basis-Datentabelle laden. Diese wird für die dynamische Generierung der Insert- und Update-Statements benötigt + + + + + + Update-Statement dynamisch für das UpdateCommand generieren + + + + + + Insert-Statement dynamisch für das InsertCommand generieren + + + + + + Prefixt für den SP-Übergabeparameter generieren + + Aktuelle Columnt + Prefis für SP-Übergabeparameter + + + + + SQL-DB-Type für den SP-Übergabeparameter festlegen + + Aktuelle Column + SQLDBType + + + + + Feldlänge für den SP-Übergabeparemter festlegen + + Aktulle Column + Feldlänge + + + + + Datesichern. Dabei wird das Update- sowie das Insert-Statement dynamisch generiert + + + + + + Dispose von Tabledata + + + + + + Load der Verbindungstabelle + + + + + + + + + Neuer Eintrag in der Tabelle eintragen. Sind neben den Defaultwerten weitere Attribute vorhanden, werde diese abhängig vom Datentype mit Defaultwerten befüllt. + + + + + + + + + + Dokumente lesen und dem Grid übergeben + + C1TrueDBGrid mit Dokumente + + + + + + Kontakte auslesen und dem Truedbgrid übergeben + + TruedbGrid + Vertragselement, für welches die Dokumente ausgelesen werden + + + +
+
diff --git a/Themenmanagement/bin/Debug/Themenmanagement.cfg b/Themenmanagement/bin/Debug/Themenmanagement.cfg new file mode 100644 index 0000000..da16f09 --- /dev/null +++ b/Themenmanagement/bin/Debug/Themenmanagement.cfg @@ -0,0 +1 @@ +¹µÈ¦rȽ¹¿¸ª‰¿­Çx…½³»É·¥¹u¨­À¦¾·¼‘¨ŽŸ´½Á®¯­¹»·Ãt¢¦¿º‹˜–¢€¼±·Å±ÈÈt¸·¸Ã¶¶É¾lµ³¸·’šµ±Åº‰»¼Ç°¿À¦Æ±ÄÂt®¶’¡Œ¢µ­¯°·¼uǽ¿·’‚t†‹€Á¿ªÄh¾¸‘¸³¾¥Àȼ»¾©rȼÉw‹ diff --git a/Themenmanagement/bin/Debug/Themenmanagement.exe b/Themenmanagement/bin/Debug/Themenmanagement.exe new file mode 100644 index 0000000..00562b4 Binary files /dev/null and b/Themenmanagement/bin/Debug/Themenmanagement.exe differ diff --git a/Themenmanagement/bin/Debug/Themenmanagement.exe.config b/Themenmanagement/bin/Debug/Themenmanagement.exe.config new file mode 100644 index 0000000..b3289b4 --- /dev/null +++ b/Themenmanagement/bin/Debug/Themenmanagement.exe.config @@ -0,0 +1,6 @@ + + + + + + diff --git a/Themenmanagement/bin/Debug/Themenmanagement.pdb b/Themenmanagement/bin/Debug/Themenmanagement.pdb new file mode 100644 index 0000000..6f41e45 Binary files /dev/null and b/Themenmanagement/bin/Debug/Themenmanagement.pdb differ diff --git a/Themenmanagement/bin/Debug/Themenmanagement.vshost.exe b/Themenmanagement/bin/Debug/Themenmanagement.vshost.exe new file mode 100644 index 0000000..681ab77 Binary files /dev/null and b/Themenmanagement/bin/Debug/Themenmanagement.vshost.exe differ diff --git a/Themenmanagement/bin/Debug/Themenmanagement.vshost.exe.config b/Themenmanagement/bin/Debug/Themenmanagement.vshost.exe.config new file mode 100644 index 0000000..b3289b4 --- /dev/null +++ b/Themenmanagement/bin/Debug/Themenmanagement.vshost.exe.config @@ -0,0 +1,6 @@ + + + + + + diff --git a/Themenmanagement/bin/Debug/Themenmanagement.vshost.exe.manifest b/Themenmanagement/bin/Debug/Themenmanagement.vshost.exe.manifest new file mode 100644 index 0000000..061c9ca --- /dev/null +++ b/Themenmanagement/bin/Debug/Themenmanagement.vshost.exe.manifest @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/Themenmanagement/bin/Debug/Themenmanagement.xml b/Themenmanagement/bin/Debug/Themenmanagement.xml new file mode 100644 index 0000000..59052a0 --- /dev/null +++ b/Themenmanagement/bin/Debug/Themenmanagement.xml @@ -0,0 +1,4512 @@ + + + + +Themenmanagement + + + + + + Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + + + + + Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + + + + + Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. + + + + + Purpose: Data Access class for the table 'Pendenz'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iPendenzNr
  • +
  • iThemanr. May be SqlInt32.Null
  • +
  • sVerantwortlich. May be SqlString.Null
  • +
  • iPendenzStatusNr. May be SqlInt32.Null
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • daTermin. May be SqlDateTime.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • iMandantNr. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iPendenzNr
  • +
  • iThemanr. May be SqlInt32.Null
  • +
  • sVerantwortlich. May be SqlString.Null
  • +
  • iPendenzStatusNr. May be SqlInt32.Null
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • daTermin. May be SqlDateTime.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • iMandantNr. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iPendenzNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iPendenzNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iPendenzNr
  • +
  • iThemanr
  • +
  • sVerantwortlich
  • +
  • iPendenzStatusNr
  • +
  • sBezeichnung
  • +
  • sBeschreibung
  • +
  • daTermin
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
  • iMandantNr
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'Pendenzstatus'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iPendenzStatusNr
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • bPendenz_Aktivieren. May be SqlBoolean.Null
  • +
  • bPendenz_Inaktivieren. May be SqlBoolean.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iPendenzStatusNr
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • bPendenz_Aktivieren. May be SqlBoolean.Null
  • +
  • bPendenz_Inaktivieren. May be SqlBoolean.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iPendenzStatusNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iPendenzStatusNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iPendenzStatusNr
  • +
  • sBezeichnung
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
  • iMandantnr
  • +
  • bPendenz_Aktivieren
  • +
  • bPendenz_Inaktivieren
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'Application'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iApplikationsnr
  • +
  • sVersion. May be SqlString.Null
  • +
  • bShowlogin. May be SqlBoolean.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • sTmp_filepath. May be SqlString.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iApplikationsnr
  • +
  • sVersion. May be SqlString.Null
  • +
  • bShowlogin. May be SqlBoolean.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • sTmp_filepath. May be SqlString.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iApplikationsnr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iApplikationsnr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iApplikationsnr
  • +
  • sVersion
  • +
  • bShowlogin
  • +
  • iMandantnr
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
  • sTmp_filepath
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'funktionsgruppe'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iFunktionsgruppenr
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • sZugehoerigkeit. May be SqlString.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iFunktionsgruppenr
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • sZugehoerigkeit. May be SqlString.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iFunktionsgruppenr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iFunktionsgruppenr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iFunktionsgruppenr
  • +
  • sBezeichnung
  • +
  • sBeschreibung
  • +
  • sZugehoerigkeit
  • +
  • iMandantnr
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'funktionsgruppe_rolle'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iFunktionsgrupperollenr
  • +
  • iFunktionsgruppenr. May be SqlInt32.Null
  • +
  • iRollenr. May be SqlInt32.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iFunktionsgrupperollenr
  • +
  • iFunktionsgruppenr. May be SqlInt32.Null
  • +
  • iRollenr. May be SqlInt32.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iFunktionsgrupperollenr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iFunktionsgrupperollenr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iFunktionsgrupperollenr
  • +
  • iFunktionsgruppenr
  • +
  • iRollenr
  • +
  • iMandantnr
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'Kategorie'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKategorieNr
  • +
  • iParentid. May be SqlInt32.Null
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKategorieNr
  • +
  • iParentid. May be SqlInt32.Null
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKategorieNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKategorieNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iKategorieNr
  • +
  • iParentid
  • +
  • sBezeichnung
  • +
  • sBeschreibung
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'key_tabelle'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • sBeschreibung
  • +
  • iKey_wert
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iKeynr
  • +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKeynr
  • +
  • sBeschreibung
  • +
  • iKey_wert
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKeynr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKeynr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iKeynr
  • +
  • sBeschreibung
  • +
  • iKey_wert
  • +
  • iMandantnr
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'Kommunikation'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKommunikationNr
  • +
  • iThemaNr. May be SqlInt32.Null
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKommunikationNr
  • +
  • iThemaNr. May be SqlInt32.Null
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKommunikationNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKommunikationNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iKommunikationNr
  • +
  • iThemaNr
  • +
  • sBezeichnung
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'KommunkationAuspraegung'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKommunikationAuspraegungNr
  • +
  • iKommunikationNr. May be SqlInt32.Null
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • blobDokument. May be SqlBinary.Null
  • +
  • sRTFText. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKommunikationAuspraegungNr
  • +
  • iKommunikationNr. May be SqlInt32.Null
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • blobDokument. May be SqlBinary.Null
  • +
  • sRTFText. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKommunikationAuspraegungNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iKommunikationAuspraegungNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iKommunikationAuspraegungNr
  • +
  • iKommunikationNr
  • +
  • sBezeichnung
  • +
  • sBeschreibung
  • +
  • blobDokument
  • +
  • sRTFText
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'meldungstexte'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iMeldungstextnr
  • +
  • iSprache
  • +
  • sInhalt. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • bAktiv
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iMeldungstextnr
  • +
  • iSprache
  • +
  • sInhalt. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • bAktiv
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iMeldungstextnr
  • +
  • iSprache
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method using PK field 'meldungstextnr'. This method will + delete one or more rows from the database, based on the Primary Key field 'meldungstextnr'. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iMeldungstextnr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method using PK field 'sprache'. This method will + delete one or more rows from the database, based on the Primary Key field 'sprache'. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iSprache
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iMeldungstextnr
  • +
  • iSprache
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iMeldungstextnr
  • +
  • iSprache
  • +
  • sInhalt
  • +
  • sBeschreibung
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
  • iMandantnr
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'mitarbeiter'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iMitarbeiternr
  • +
  • sVorname. May be SqlString.Null
  • +
  • sName. May be SqlString.Null
  • +
  • sTgnummer. May be SqlString.Null
  • +
  • sEmail. May be SqlString.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iMitarbeiternr
  • +
  • sVorname. May be SqlString.Null
  • +
  • sName. May be SqlString.Null
  • +
  • sTgnummer. May be SqlString.Null
  • +
  • sEmail. May be SqlString.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iMitarbeiternr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iMitarbeiternr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iMitarbeiternr
  • +
  • sVorname
  • +
  • sName
  • +
  • sTgnummer
  • +
  • sEmail
  • +
  • iMandantnr
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'mitarbeiter_funktionsgruppe'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iMitarbeiter_funktionsgruppenr
  • +
  • iMitarbeiternr. May be SqlInt32.Null
  • +
  • iFunktionsgruppenr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iMitarbeiter_funktionsgruppenr
  • +
  • iMitarbeiternr. May be SqlInt32.Null
  • +
  • iFunktionsgruppenr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iMitarbeiter_funktionsgruppenr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iMitarbeiter_funktionsgruppenr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iMitarbeiter_funktionsgruppenr
  • +
  • iMitarbeiternr
  • +
  • iFunktionsgruppenr
  • +
  • bAktiv
  • +
  • iMandantnr
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'rolle'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iRollenr
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • bSysadminrolle. May be SqlBoolean.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iRollenr
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • bSysadminrolle. May be SqlBoolean.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iRollenr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iRollenr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iRollenr
  • +
  • sBezeichnung
  • +
  • sBeschreibung
  • +
  • bSysadminrolle
  • +
  • iMandantnr
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'Rolle_SecurityObject'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iRolle_securityobjectnr
  • +
  • iRollenr. May be SqlInt32.Null
  • +
  • iSecurityobjectnr. May be SqlInt32.Null
  • +
  • bReadonly. May be SqlBoolean.Null
  • +
  • bInvisible. May be SqlBoolean.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iRolle_securityobjectnr
  • +
  • iRollenr. May be SqlInt32.Null
  • +
  • iSecurityobjectnr. May be SqlInt32.Null
  • +
  • bReadonly. May be SqlBoolean.Null
  • +
  • bInvisible. May be SqlBoolean.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iRolle_securityobjectnr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iRolle_securityobjectnr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iRolle_securityobjectnr
  • +
  • iRollenr
  • +
  • iSecurityobjectnr
  • +
  • bReadonly
  • +
  • bInvisible
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
  • iMandantnr
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'rolle_sysadminfunktion'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iRolle_sysadminfnktnr
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • iSysadminfnktnr. May be SqlInt32.Null
  • +
  • iRollenr. May be SqlInt32.Null
  • +
  • iMandant. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iRolle_sysadminfnktnr
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • iSysadminfnktnr. May be SqlInt32.Null
  • +
  • iRollenr. May be SqlInt32.Null
  • +
  • iMandant. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iRolle_sysadminfnktnr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iRolle_sysadminfnktnr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iRolle_sysadminfnktnr
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
  • iSysadminfnktnr
  • +
  • iRollenr
  • +
  • iMandant
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'SecurityObject'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iSecurityObjectNr
  • +
  • sSecurityForm. May be SqlString.Null
  • +
  • sSecurityObjectType. May be SqlString.Null
  • +
  • sSecurityObject. May be SqlString.Null
  • +
  • sSecurityObjectItem. May be SqlString.Null
  • +
  • sSecurityObjectDescriotion. May be SqlString.Null
  • +
  • iLevel. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iSecurityObjectNr
  • +
  • sSecurityForm. May be SqlString.Null
  • +
  • sSecurityObjectType. May be SqlString.Null
  • +
  • sSecurityObject. May be SqlString.Null
  • +
  • sSecurityObjectItem. May be SqlString.Null
  • +
  • sSecurityObjectDescriotion. May be SqlString.Null
  • +
  • iLevel. May be SqlInt32.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iSecurityObjectNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iSecurityObjectNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iSecurityObjectNr
  • +
  • sSecurityForm
  • +
  • sSecurityObjectType
  • +
  • sSecurityObject
  • +
  • sSecurityObjectItem
  • +
  • sSecurityObjectDescriotion
  • +
  • iLevel
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
  • iMandantnr
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'spalten'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iEintragnr
  • +
  • sTabelle. May be SqlString.Null
  • +
  • sTabellenspalte. May be SqlString.Null
  • +
  • sSpalte. May be SqlString.Null
  • +
  • bReadonly
  • +
  • bAlsHacken
  • +
  • iBreite. May be SqlInt32.Null
  • +
  • iReihenfolge. May be SqlInt32.Null
  • +
  • sTiptext. May be SqlString.Null
  • +
  • bAktiv
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • sNumberFormat. May be SqlString.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iEintragnr
  • +
  • sTabelle. May be SqlString.Null
  • +
  • sTabellenspalte. May be SqlString.Null
  • +
  • sSpalte. May be SqlString.Null
  • +
  • bReadonly
  • +
  • bAlsHacken
  • +
  • iBreite. May be SqlInt32.Null
  • +
  • iReihenfolge. May be SqlInt32.Null
  • +
  • sTiptext. May be SqlString.Null
  • +
  • bAktiv
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • iMandantnr. May be SqlInt32.Null
  • +
  • sNumberFormat. May be SqlString.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iEintragnr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iEintragnr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iEintragnr
  • +
  • sTabelle
  • +
  • sTabellenspalte
  • +
  • sSpalte
  • +
  • bReadonly
  • +
  • bAlsHacken
  • +
  • iBreite
  • +
  • iReihenfolge
  • +
  • sTiptext
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
  • iMandantnr
  • +
  • sNumberFormat
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'sysadminfunktion'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iSysadminfnktnr
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • iParentID. May be SqlInt32.Null
  • +
  • iSort. May be SqlInt32.Null
  • +
  • iImageIndex. May be SqlInt32.Null
  • +
  • iImageIndexOpen. May be SqlInt32.Null
  • +
  • iFtop. May be SqlInt32.Null
  • +
  • iFleft. May be SqlInt32.Null
  • +
  • iFwidth. May be SqlInt32.Null
  • +
  • iFheight. May be SqlInt32.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • iMandantnr
  • +
  • iSprache
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • sDomaintable. May be SqlString.Null
  • +
  • sKeyFields. May be SqlString.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iSysadminfnktnr
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • iParentID. May be SqlInt32.Null
  • +
  • iSort. May be SqlInt32.Null
  • +
  • iImageIndex. May be SqlInt32.Null
  • +
  • iImageIndexOpen. May be SqlInt32.Null
  • +
  • iFtop. May be SqlInt32.Null
  • +
  • iFleft. May be SqlInt32.Null
  • +
  • iFwidth. May be SqlInt32.Null
  • +
  • iFheight. May be SqlInt32.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • iMandantnr
  • +
  • iSprache
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
  • sDomaintable. May be SqlString.Null
  • +
  • sKeyFields. May be SqlString.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iSysadminfnktnr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iSysadminfnktnr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iSysadminfnktnr
  • +
  • sBezeichnung
  • +
  • iParentID
  • +
  • iSort
  • +
  • iImageIndex
  • +
  • iImageIndexOpen
  • +
  • iFtop
  • +
  • iFleft
  • +
  • iFwidth
  • +
  • iFheight
  • +
  • sBeschreibung
  • +
  • iMandantnr
  • +
  • iSprache
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
  • sDomaintable
  • +
  • sKeyFields
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'ThemaEntwicklung'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iThemaEntwicklungNr
  • +
  • iThemaNr. May be SqlInt32.Null
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • blobDokument. May be SqlBinary.Null
  • +
  • sRTFText. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iThemaEntwicklungNr
  • +
  • iThemaNr. May be SqlInt32.Null
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • blobDokument. May be SqlBinary.Null
  • +
  • sRTFText. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iThemaEntwicklungNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iThemaEntwicklungNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iThemaEntwicklungNr
  • +
  • iThemaNr
  • +
  • sBezeichnung
  • +
  • blobDokument
  • +
  • sRTFText
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'ToolTip'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iToolTipNr
  • +
  • sFormularName. May be SqlString.Null
  • +
  • sControlName. May be SqlString.Null
  • +
  • sToolTip. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iToolTipNr
  • +
  • sFormularName. May be SqlString.Null
  • +
  • sControlName. May be SqlString.Null
  • +
  • sToolTip. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
  • iMutierer. May be SqlInt32.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iToolTipNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iToolTipNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iToolTipNr
  • +
  • sFormularName
  • +
  • sControlName
  • +
  • sToolTip
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
  • iMutierer
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Data Access class for the table 'Zielgruppe'. + + + + + Purpose: Class constructor. + + + + + Purpose: Insert method. This method will insert one new row into the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iZielgruppeNr
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Update method. This method will Update one existing row in the database. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iZielgruppeNr
  • +
  • sBezeichnung. May be SqlString.Null
  • +
  • sBeschreibung. May be SqlString.Null
  • +
  • bAktiv. May be SqlBoolean.Null
  • +
  • daErstellt_am. May be SqlDateTime.Null
  • +
  • daMutiert_am. May be SqlDateTime.Null
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Delete method. This method will Delete one existing row in the database, based on the Primary Key. + + True if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iZielgruppeNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Purpose: Select method. This method will Select one existing row from the database, based on the Primary Key. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties needed for this method: +
    +
  • iZielgruppeNr
  • +
+ Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
  • iZielgruppeNr
  • +
  • sBezeichnung
  • +
  • sBeschreibung
  • +
  • bAktiv
  • +
  • daErstellt_am
  • +
  • daMutiert_am
  • +
+ Will fill all properties corresponding with a field in the table with the value of the row selected. +
+
+ + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Dynamische Datenbank-Verbindung aufbauen. Verwendet wird standardmässig Vertragsverwaltung.cfg. + Sollen Datenbank-Verbindungen zur Auswahl angezeigt werden, werden sämntliche Datenbank-Verbindungsdateien + mit dem Namen "Vertragsverwaltung....cfg" berücksichtigt + + + + + + Liest sämtlcihe CFG-Dateien mit dem Namen "Vertragsverwaltung...". Sind meherere Dateien vorhanden, + wird ein Auswahldialog zur Datenbank-Selektion angezeigt. + Standardmässig wird Vertragsverwaltung.cfg als CFG-Datei benutzt. + + Die CFG-Datei ist verschlüsselt und wird über die Crypto-Funktionen entschlüsselt. + + + + + + Alle Mitarbeiter inkl. vollständigem Name (Fullname) auslesen + + Datatable + + + + + Mitarbeiter mittels TGNummer auslesen + + Datatable + + + + + Security-Deklaration zum Auslesen der UserID vom Windows-User + + + + + + Windows-User auslesen + + + + + + + Child-Nodes hinzufügen + + + + + + + + Mutierer auslesen + + + + + + + Löschen eines Datensatzes erstellen. + + Ursprungs-Person: Ist dieser Wert nicht 0, werden die Daten mit BaseNr zuerst gelesen + + + + + + Neue Person einfügen + + + + + + + Mutierer auslesen + + + + + + + Löschen eines Datensatzes erstellen. + + Ursprungs-Person: Ist dieser Wert nicht 0, werden die Daten mit BaseNr zuerst gelesen + + + + + + Neue Person einfügen + + + + + + + Mutierer auslesen + + + + + + + Löschen eines Datensatzes erstellen. + + Ursprungs-Person: Ist dieser Wert nicht 0, werden die Daten mit BaseNr zuerst gelesen + + + + + + Neue Person einfügen + + + + + + + Mutierer auslesen + + + + + + + Löschen eines Datensatzes erstellen. + + Ursprungs-Person: Ist dieser Wert nicht 0, werden die Daten mit BaseNr zuerst gelesen + + + + + + Neue Person einfügen + + + + + + + Form für die Datenbankauswahl + + + + + + Form für den Login. Wird nur angezeigt, sofern in der Tabelle Application Show-Login = true + + + + + + Dem Adobe-Farbwähler nachgebildetes Control zum Anzeigen und Festlegen von Farben + + + + + Color-Struktur, die angezeigt wird oder ausgewählt ist + + + + + Anzeige-Stil + + Hue für fixen Farbton, Saturation für fixe Sättigung, Brightness für fixe relative Helligkeit, Red für fixen Rot-Anteil, Green für gleich fixen Grün-Anteil, Blue für gleich bleibenden Blau-Anteil + + + + reagiert auf Änderungen in der (quadratischen) Color2DBox (nach Mauseingabe) + + + + + reagiert auf Änderungen im (senkrechten) VerticalColorSlider (nach Mauseingabe) + + + + + + ändert den Anzeige-Stil nach Klick auf einen RadioButton + + + + + Subtraktives Farbmodell + + Technische Grundlage für modernen Vierfarbdruck, Vereinfacht kann es als komplementär zum RGB-Farbmodell verstanden werden. + + + + Konstruktor für Initialisierung mit fest stehenden CMYK-Werten + + Cyan - Anteil (Wert im Bereich zwischen 0.0 und 1.0) + Magenta - Anteil (Wert im Bereich zwischen 0.0 und 1.0) + Yellow - Anteil (Wert im Bereich zwischen 0.0 und 1.0) + Schwarz - Anteil (Wert im Bereich zwischen 0.0 und 1.0) + + + + Konstruktor für Initialisierung mit einer Color-Struktur + + Color-Struktur + + + + Cyan - Anteil + + Wert im Bereich zwischen 0.0 und 1.0 + + + + Magenta - Anteil + + Wert im Bereich zwischen 0.0 und 1.0 + + + + Yellow - Anteil + + Wert im Bereich zwischen 0.0 und 1.0 + + + + Schwarz - Anteil + + Wert im Bereich zwischen 0.0 und 1.0 + + + + Interne Methode, die absichert, dass C, M, Y und K nur einen Wert zwischen 0.0R und 1.0R annehmen können + + + + + Gibt eine Color-Struktur zurück + + Color-Struktur + + + + Dieses Control gehört zum AdobeColorPicker + + + + + Anzeige-Stil + + Hue, Saturation, Brightness, Red, Green, Blue + + + + ausgewählte Farbe + + bewirkt vollständiges Neu-Zeichnen des Controls inclusive Marker + + + + Basis-Farbe + + bewirkt Neu-Zeichnen des Controls ohne Änderung der Marker-Position + + + + interne Methode, die die Farbe des Markers (schwarz oder weiss) dem ausgewählten Farb-Wert anpasst und gegebenenfalls das Changed-Event auslöst + + neu anzuzeigende Farbe + legt fest, ob ein Event bei Farbänderung geliefert werden soll + + + + Überschreiben der OnPaint-Methode, um die Inhalte dieses Controls zu zeichnen + + PaintEventArgs + + + + zeichnet den runden Marker auf einem Graphics-Objekt + + Graphics-Objekt + + + + zeichnet den Hintergrund-Farbradienten auf einem Graphics-Objekt + + Graphics-Objekt + + + + Zeichnet einen Farbgradienten für fest stehenden Hue-Wert auf einem Graphics-Objekt + + + + + Zeichnet einen Farbgradienten für fest stehenden Saturation-Wert auf einem Graphics-Objekt + + + + + Zeichnet einen Farbgradienten für fest stehenden Luminance-Wert auf einem Graphics-Objekt + + + + + Zeichnet einen Farbgradienten für fest stehenden Red-Wert auf einem Graphics-Objekt + + + + + Zeichnet einen Farbgradienten für fest stehenden Green-Wert auf einem Graphics-Objekt + + + + + Zeichnet einen Farbgradienten für fest stehenden Blue-Wert auf einem Graphics-Objekt + + + + + liefert die angezeigte Farbe für eine x, y - Position im Control + + + + + legt die Position des Markers für eine ausgewählte Farbe fest + + + + + Überschreiben der OnResize-Methode, um bei Größenänderung den angezeigten Inhalt zu aktualisieren + + + + + Überschreiben der MouseDown-Methode, um den Marker zu bewegen + + + + + Überschreiben der MouseMove-Methode, um den Marker zu bewegen + + + + + Überschreiben der MouseUp-Methode, die Marker-Bewegung zu beenden + + + + + Interne Methode, die nach Bewegung des Markers zu einem beliebigen Punkt innerhalb des Controls (nach Mouse-Aktion) eine Änderung der Anzeige und gegebenenfalls Auslösen des Changed-Events bewirkt + + + + + legt bei Änderung der Color-Property oder von DrawStyle die Original_HSL-Farbe fest + + + + + Anzeige - Varianten für den Adobe Color Picker + + + + + konstanter Farbton + + + + + konstante Sättigung + + + + + konstante Helligkeit + + + + + konstanter Rot-Anteil + + + + + konstanter Grün-Anteil + + + + + konstanter Blau-Anteil + + + + + Hilfsklasse, die das Umwandeln von Hexadezimal-Farbwerten in RGB-Farben und umgekehrt ermöglicht + + + + + Liefert für einen Hexadezimal-String in eine Color-Struktur + + Hexadezimal-String, der eine Farbe repräsentiert + Color-Struktur + + + + Liefert für eine Color-Struktur in einen Hexadezimal-String + + Color-Struktur + Hexadezimal-String, der eine Farbe repräsentiert + + + + HSL-Farbe + + Farbraum des Farbmodells, bei dem man die Farbe mit Hilfe des Farbtons (englisch hue), der Sättigung (saturation) und der relativen Helligkeit (lightness) definiert + + + + Konstruktor für Initialisierung mit fest stehenden HSL-Werten + + Farbton - Wert zwischen 0.0 und 1.0 + Sättigung - Wert zwischen 0.0 und 1.0 + relative Helligkeit - Wert zwischen 0.0 und 1.0 + + + + Konstruktor für Initialisierung mit einer bekannten HSL-Farbe + + bekannte HSL-Farbe + + + + Konstruktor für Initialisierung mit einer Color-Struktur + + Color-Struktur + + + + Farbton + + Wert zwischen 0.0 und 1.0 + + + + Sättigung + + Wert zwischen 0.0 und 1.0 + + + + relative Helligkeit + + Wert zwischen 0.0 und 1.0 + + + + Interne Methode, die absichert, dass H, S und L nur einen Wert zwischen 0.0R und 1.0R annehmen können. + + + + + Interne Methode die für die ToRGB-Methode benötigt wird. Liefert einen Integer-Wert zwischen 0 und 255. + + beliebiger Double-Wert + Integer-Wert zwischen 0 und 255 + + + + Gibt eine Color-Struktur zurück + + Color-Struktur + + + + Interface für Controls, für die Farbwerte eingestellt oder geliefert werden können + + + + + Frabe die angezeigt wird oder ausgewählt ist + + + + + Dieses Event wird geliefert, wenn Color-Eigenschaft von intern (im IColorControl) z.B. durch Maus- oder Tastatureingaben geändert wurde + + + + + Dieses Control gehört zum AdobeColorPicker + + + + + Anzeige-Stil + + Hue, Saturation, Brightness, Red, Green, Blue + + + + ausgewählte Farbe + + bewirkt vollständiges Neu-Zeichnen des Controls inclusive Marker + + + + Basis-Farbe + + bewirkt Neu-Zeichnen des Controls ohne Änderung der Marker-Position + + + + Überschreiben der OnPaint-Methode, um die Inhalte dieses Controls zu zeichnen + + PaintEventArgs + + + + zeichnet den Marker des Controls + + + + + Überschreiben der OnResize-Methode, um bei Größenänderung den angezeigten Inhalt zu aktualisieren + + + + + zeichnet den Hintergrund-Farbradienten auf einem Graphics-Objekt + + Graphics-Objekt + + + + Zeichnet den Farbgradienten des Controls für alle Hue-Werte (0 bis 360) für fest stehende Luminance- und Saturation-Werte + + + + + Zeichnet den Farbgradienten des Controls für alle Saturation-Werte (0 bis 100%) für fest stehende Hue- und Luminance-Werte + + + + + Zeichnet den Farbgradienten des Controls für alle Luminance-Werte (0 to 100%) für fest stehende Hue- und Saturation-Werte + + + + + Zeichnet den Farbgradienten des Controls für alle Red-Werte (0 to 255) für fest stehende Green- und Blue-Werte + + + + + Zeichnet den Farbgradienten des Controls für alle Green-Werte (0 to 255) für fest stehende Red- und Blue-Werte + + + + + Zeichnet den Farbgradienten des Controls für alle Blue-Werte (0 to 255) für fest stehende Red- und Green-Werte + + + + + legt die Position des Markers für eine ausgewählte Farbe fest + + + + + liefert die angezeigte Farbe für eine y - Position im Control + + + + + Überschreiben der MouseDown-Methode, um den Marker zu bewegen + + + + + Überschreiben der MouseMove-Methode, um den Marker zu bewegen + + + + + Überschreiben der MouseUp-Methode, die Marker-Bewegung zu beenden + + + + + Interne Methode, die nach Bewegung des Markers zu einem beliebigen Punkt innerhalb des Controls (nach Mouse-Aktion) eine Änderung der Anzeige und gegebenenfalls Auslösen des Changed-Events bewirkt + + + + + legt bei Änderung der Color-Property oder von DrawStyle die Original_HSL-Farbe fest + + + + + Windows-User auslesen + + + + + + + Allg Eventhandler für Chanage-Ereignise festlegen + + + + + + + Envent-Handler für Change-Ereignisse + + + + + + + + Sucht in den Base-Controls sämtliche Controls mit dem Namen in "Key" (Wildcards * möglich) und listet + die gefundnen Controls in der Liste L zur weiteren Bearbeitung + + Base-Contrlo (z.B. aktuelles Formular + Schlüssel welcher gesucht werden soll + Liste der gefundenen Objekte + True wenn eines oder mehr Controls gefunden wurden, false wenn kein Control gefunden wurde. + + + + + + Handelt das Change-Ereignis eines Datetimepckers und stellt das ausgewählte Datum in das entsprechende Textfeld + + + + + + + + Schliessen des Formulars + + + + + + + + Prüfung, ob Datenänderungen vorgenommen wurden. + + + + + + Daten ab DB laden uns ins Form befüllen + + + + + + + Daten ab Form speichern + + + + + + Pendenz lesen lesen + + + + + + + + Daten sichern + + + + + + + Kopie eines Datensatzes erstellen. + + Ursprungs-Person: Ist dieser Wert nicht 0, werden die Daten mit BaseNr zuerst gelesen + + + + + + Datensatz löschen. + + + + + + + + Datensatz physisch löschen + + + + + + + + Neue Kuendigungsfrist einfügen + + + + + + + Liefert sämtrliche gem. Param. Pendenzstatus gewählten Pendenzen + + + + + + + + + Daten ab Datenbank laden + + + + + + Sucht in den Base-Controls sämtliche Controls mit dem Namen in "Key" (Wildcards * möglich) und listet + die gefundnen Controls in der Liste L zur weiteren Bearbeitung + + Base-Contrlo (z.B. aktuelles Formular + Schlüssel welcher gesucht werden soll + Liste der gefundenen Objekte + True wenn eines oder mehr Controls gefunden wurden, false wenn kein Control gefunden wurde. + + + + + + Klasse für das Speichern bzw. Auslesen von Image-Dateien in der Datenbank + + + Es werden folgende Datebanktabellen berücksichtigt: + + + Dokument Attribut DocImage + + Profile Attribut V_Uebersicht (Profillayout des C1TrueDBGrids der + Vertragsübersicht|Vertragselemente + + yes + + + + Grid-Layoutfile speichern + + C1Truedbgrind, von welchem das Layout gespeichert werden soll + Nummer des Grids: 1=Vertragsübersicht... + + + + + + Dokument in der Tabelle Dokument speichern + + Nummer des Dokument-Datensatzes + Zu speichender Dateiname + + + + + + Liest das Dokument aus der DB und speichert dieses unter einem temporären Filenamen ab + + + + + + + + Schliessen des Formulars + + + + + + + + Prüfung, ob Datenänderungen vorgenommen wurden. + + + + + + Allg Eventhandler für Chanage-Ereignise festlegen + + + + + + + Envent-Handler für Change-Ereignisse + + + + + + + + Sucht in den Base-Controls sämtliche Controls mit dem Namen in "Key" (Wildcards * möglich) und listet + die gefundnen Controls in der Liste L zur weiteren Bearbeitung + + Base-Contrlo (z.B. aktuelles Formular + Schlüssel welcher gesucht werden soll + Liste der gefundenen Objekte + True wenn eines oder mehr Controls gefunden wurden, false wenn kein Control gefunden wurde. + + + + + + Standard Constructore New + + + + + + Formualr mit Vertragselementnr und Anzeigestatus öffnen + + Nr des Vertragspartners + True=Readonly, False=normal + + + + + Load-Methode + + + + + + + + Formular schliessen + + + + + + + + Sicherungs-Button betätigt + + + + + + + + Datensatz kopieren + + + + + + + + Neuer Datensatz erstellen + + + + + + + + Aktueller Datensatz inaktivieren + + + + + + + + Menu Beenden + + + + + + + + Daten ab DB laden uns ins Form befüllen + + + + + + + Daten ab Form speichern + + + + + + Laden der Securitylevel-Daten in die Combobox + + + + + + Handelt das Change-Ereignis eines Datetimepckers und stellt das ausgewählte Datum in das entsprechende Textfeld + + + + + + + + Generic Event-Handler + + + + + + Laden des Formulars + + + + + + + + Aktualisieren der Pendenz-Übersicht + + + + + + Selektion nach Status ändern + + + + + + + + Aktualisierung des Formulars + + + + + + + Formular schliessen + + + + + + + + Neue Pendenz erstellen + + + + + + + + C1Pendenz-Doubleklick + + + + + + + + Mousedown im Grid + + + + + + + + Pendenz inaktivieren + + + + + + + + Rowstyle von inaktiven Pendenzen + + + + + + + + Context-Menu anzeigen + + + + + + + + Context-Menu Neu + + + + + + + + Context-Menu Löschen/Inaktivieren + + + + + + + + Enabling bzw. Disabling der Menu-Einträge aufgrund der angezeigten Rows im Truedbgrind + + Zu bearbeitendes Menu + Betroffenes Grid + + Nach dem Setzen der Submenus wird sec.form_Security durchlaufen, damit allfällig standardmössig aktivierte Menueinträge + aufgrund der Security-Einstellung wieder deaktiviert werden + + + + Handelt das Opending-Ereignis des Context-Menus + + + Überi Disable_Enable_Menu werden die Menueinträge aktiviert bzw. deaktiviert + + + + + + + + Form mit generalisiertem Domain-Table-Editor. + + + + + Vertragsverwaltung.TKB.VV.Sysadmin.DomainTable + + + + Tabellenname übernehmen und Objekt DomainTable initialisieren + Initialisierung der Komponenten + + Tabellenname der Tabelle, welche über den Domaineditor editiert werden soll + Benötigt werden entsprechende Stored_Procedures, welche mit LBLLGEN_2 generiert wurden + pr_"Tablename"_SelectAll + pr_"Tablename"_Update + + + + + Zuordnung der Daten aus Domaintable und Spaltentitel des Grids setzen + + + + + + + + Schliessen des Formulars + + + + + + + + Ruft BeendetnToolStipMenuItem_Click auf + + + + + + + + Prüfung auf allfällige Daten-Changes. Wurden Daten verändert, kann der User entscheiden, ob gespeichert, nichtgespeichert oder + das Formular nicht gespeichert werden soll. + + + + + + + + Sichern der Daten + + + + + + + + Aktualisierung der Spalten mutiert_am und mutierern. Sofern noch kein Schlüsselwert gesetzt ist (bei neuem Datensatz) + wird dieser aus der Keytabelle ausgelesen und zugewiesen. + + + + Je Domaintable ist ein Eintrag in der Key-Tabelle notwendig + + + + Aktualisierung der Default-Werte + + + + + + + + Anzeige allfälliger Cellen-Tips + + + + + + + + Form mit generalisiertem Domain-Table-Editor. + + + + + Vertragsverwaltung.TKB.VV.Sysadmin.DomainTable + + + + Tabellenname übernehmen und Objekt DomainTable initialisieren + Initialisierung der Komponenten + + Tabellenname der Tabelle, welche über den Domaineditor editiert werden soll + Benötigt werden entsprechende Stored_Procedures, welche mit LBLLGEN_2 generiert wurden + pr_"Tablename"_SelectAll + pr_"Tablename"_Update + + + + + Zuordnung der Daten aus Domaintable und Spaltentitel des Grids setzen + + + + + + + + Schliessen des Formulars + + + + + + + + Ruft BeendetnToolStipMenuItem_Click auf + + + + + + + + Prüfung auf allfällige Daten-Changes. Wurden Daten verändert, kann der User entscheiden, ob gespeichert, nichtgespeichert oder + das Formular nicht gespeichert werden soll. + + + + + + + + Sichern der Daten + + + + + + + + Load des Formulars + + + + + + + + Doppelklick auf einen Eintrag: Es wird geprüft, ob in der Tabelle SysadminFunktion im Attribut DomainTable + einen Wert vorhanden ist. Sofern dies der Fall ist, wird der generelle Domain-Table-Editor aufgerufen + + + + + + + + Schliessen des Formulares + + + + + + + + Fenster schliessen + + + + + + + + Neuer Eintrag im Menu einfügen + + + + + + + + Eintrag im Menu löschen + + + + + + + + Umbenennen des aktuellen Menu-Eintrages + + + + + + + + Menu Sichern + + + + + + + + Knoten rekursiv auslesen + + + + + + + + einzelner Knoten sichern + + + + + + + + Generiert die Spaltentitel in der Tabelle Spalten aufgrund der im Formular frmSysadminTableSelector gewählten Tabelle + + + + + + + + Ruft die SP zur Spalten-Generierung auf + + + + + + + Verbindungseditor: Verbindet 2 Domain-Tables in einer dritten Tabelle. + + + + + + + Laden der linken und rechten Tabelle + + + + + + + + + + Laden sämlticher Tabellen + + + + + + + + Aktualiserung der Verbindungstabelle + + + + + + Linker Fokus-Knopf betätigt + + + + + + + + Rechter Fokus-Knopf betätigt + + + + + + + + Prüfung, ob Verbindungstabelle geändert wurde. + + + + + + Formular schliessen + + + + + + + + Formular schliessen + + + + + + + + Formular-Resize: Button Verbinden und Button Focus-Rechts neu positionieren + + + + + + + + Verbindungstabelle sichern + + + + + + + + Nach Datenmutation der unteren Tabelle mutiert_am und mutierer nachführen + + + + + + + + Doppelklick in linken Grid + + + + + + + + Linke Tabelle angeklickt + + + + + + + + Doppelklick im rechten Grid + + + + + + + + Rechte Tabelle angeklickt + + + + + + + + Die linke und rechte Domain-Table in der unteren Tabelle verbinden. + Daten sichern und erneut laden + + + + + + + + Anzeige allfälliger Cellen-Tips + + + + + + + + Tabellenname übernehmen und Daten ab DB laden + + + + + + + Daten ab Datenbank laden + + + + + + Basis-Datentabelle laden. Diese wird für die dynamische Generierung der Insert- und Update-Statements benötigt + + + + + + Update-Statement dynamisch für das UpdateCommand generieren + + + + + + Insert-Statement dynamisch für das InsertCommand generieren + + + + + + Prefixt für den SP-Übergabeparameter generieren + + Aktuelle Columnt + Prefis für SP-Übergabeparameter + + + + + SQL-DB-Type für den SP-Übergabeparameter festlegen + + Aktuelle Column + SQLDBType + + + + + Feldlänge für den SP-Übergabeparemter festlegen + + Aktulle Column + Feldlänge + + + + + Datesichern. Dabei wird das Update- sowie das Insert-Statement dynamisch generiert + + + + + + Dispose von Tabledata + + + + + + Load der Verbindungstabelle + + + + + + + + + Neuer Eintrag in der Tabelle eintragen. Sind neben den Defaultwerten weitere Attribute vorhanden, werde diese abhängig vom Datentype mit Defaultwerten befüllt. + + + + + + + + + + Mutierer auslesen + + + + + + + Löschen eines Datensatzes erstellen. + + Ursprungs-Person: Ist dieser Wert nicht 0, werden die Daten mit BaseNr zuerst gelesen + + + + + + Neue Person einfügen + + + + + + + Tree aufbauen + + + + + + + + Child-Nodes hinzufügen + + + + + + + + Laden des Formulars + + + + + + + + Löschen der Dateien im Temp-Verzeichnis + + + + + + System-Initialosierung + - Applikationsdaten auslesen + - Aktueller Mitarbeiter auslesen bzw. Login-Dialog anzeigen + + + + + + Login-Fenster anzeigen und neuen User anmelden + + + + + + Generic Event-Handler + + + + + + Allg Eventhandler für Chanage-Ereignise festlegen + + + + + + + Envent-Handler für Change-Ereignisse + + + + + + + + Sucht in den Base-Controls sämtliche Controls mit dem Namen in "Key" (Wildcards * möglich) und listet + die gefundnen Controls in der Liste L zur weiteren Bearbeitung + + Base-Contrlo (z.B. aktuelles Formular + Schlüssel welcher gesucht werden soll + Liste der gefundenen Objekte + True wenn eines oder mehr Controls gefunden wurden, false wenn kein Control gefunden wurde. + + + + + + Handelt das Change-Ereignis eines Datetimepckers und stellt das ausgewählte Datum in das entsprechende Textfeld + + + + + + + + Schliessen des Formulars + + + + + + + + Prüfung, ob Datenänderungen vorgenommen wurden. + + + + + + Daten ab DB laden uns ins Form befüllen + + + + + + + Daten ab Form speichern + + + + + + + + + C1Pendenz-Doubleklick + + + + + + + + Context-Menu anzeigen + + + + + + + + Context-Menu Neu + + + + + + + + Context-Menu Löschen/Inaktivieren + + + + + + + + Event Formular "Vertragselement" Closed absetzen + + + + + + + + + Event Formular Vertragsparter Closed absetzen + + + + + + + + Event Pendent Deleted absetzen + + + + + + + + Event Formular Kontakte Closed absetzen + + + + + + + + Event Formular Kuendigungsfrist Closed absetzen + + + + + + + + Event Formular Dokumente Closed absetzen + + + + + + + + Event Formular Services Closed absetzen + + + + + + + + Event Formular Ereignis Closed absetzen + + + + + + + + Event Formular Aktivitaet Closed absetzen + + + + + + + + Event Formular Refernzvertrag Closed absetzen + + + + + + + + Event Formular Pendenz Closed absetzen + + + + + + + + Event Pendent Deleted absetzen + + + + + + + + Standard-Messages in div. Formatenm + + + + + + Dataview Meldungstexte um Textelemente für die Ausgabe zu suchen + + + + + + Meldungen aus der Datenbanklesen, sofern diese noch nicht ausgelesen worden sind. Nach dem ersten Lesen werden + die Daten aus der Tabelle Meldungstexte ohne erneutem DB-Zugriff verwendet + + + + + + + + Standardmessage + + Messagenr + Messagetyp + + + + + + Yes-No-Meldung + + Meldungsnr + MsgboxResult + + + + + Standard-Meldung, welcher 2 Strings als Parameter übergeben werden, damit diese im Meldungstext ersetzt werden können. + Parameter im Meldungstext #1 oder #2 + + + + + + + + + + + Yes-No-Meldung, welcher 2 Strings als Parameter übergeben werden, damit diese im Meldungstext ersetzt werden können. + Parameter im Meldungstext #1 oder #2 + + MeldungsNr + erster Text zum ersetzen + zweiter Text zum ersetzen + + + + + + Ausgabe der Meldung, welche übergeben wird. Als Option können 2 Texte zum Ersetzen übergeben werden. + Parameter im Meldungstext #1 oder #2 + + Meldungstext + erster Text zum ersetzen + zweiter Text zum ersetzen + + + + + + Meldung Yes-No-Cancel + + + + + + + + Zeig den eigenen Messagebox-Dialog + + + + + + + + + Formular-Security-Objekte auslesen und auf DB schreiben bzw. Formular-Security zur Laufzeit setzen + + + + + + Formularsecurity setzen + + Aktuelles Formular + + + + + + Daten ab Datenbank laden + + + + + + Prüft die DB-Einträge mit den Formcontrols und bei Übereinstimmung werden die Security-Einstellungen gesetzt + + + + + + Security-Einstellungen setzen + + Betroffenes Objeckt (Menuitem, Conrol usw.) + Readonly ja/nein + Sichtbar ja/nein + Name des Unterobjektes - wird für die Spalteneinstellungen von C1TruedbGrids verwendet + + + + + Alle Controls des Formulars zusammensuchen und auf der DB speichern + + Betroffenes Formular + + + + + + Sämtliche Controls vom Formular auslesen + + + + + + + + Auslesen von MenuItems + + + + + + + + + Auslesen von ContextMenuItems + + + + + + + + + Auslesen von Menu-Subitems + + + + + + + + Prüft, ob das Security-Objekt bereits auf der DB vorhanden ist + + Formular + Objekttyp + Objektname + Objektitem + + + + + + Klasse für ein Control-Objekt + + + + + + Neue Instanz erstellen + + Control-Objekt + Betroffenes Formular + Objekttyp + Objektname + Unterobjekt (z.B. bei Menus, Spalten von C1TrueDBGrids) + + + + + Schreibt einen Datnsatz in die Tabelle SecurityObjects + + + + + + +Prüft, ob das Security-Objekt bereits auf der DB vorhanden ist + + + + + + + Sortierung der in der DB-Tabelle Spalaten festgelegten Reihenfolge + + + + + + + + + Purpose: SelectAll method. This method will Select all rows from the table. + + DataTable object if succeeded, otherwise an Exception is thrown. + + Properties set after a succesful call of this method: +
    +
  • iErrorCode
  • +
+
+
+ + + Applikationsversion + + + + + + Applikationsdaten + + + + + + Angemelderter Mitarbeiter + + + + + + Applikationsparameter + + + + + + DB-Verbindungsklasse + + + + + + Aktueller Applikationspfad + + + + +
+
diff --git a/Themenmanagement/bin/Debug/TimDok.zip b/Themenmanagement/bin/Debug/TimDok.zip new file mode 100644 index 0000000..d177e47 Binary files /dev/null and b/Themenmanagement/bin/Debug/TimDok.zip differ diff --git a/Themenmanagement/bin/Debug/Vorlagen/Delimitter.rtf b/Themenmanagement/bin/Debug/Vorlagen/Delimitter.rtf new file mode 100644 index 0000000..d2f8223 --- /dev/null +++ b/Themenmanagement/bin/Debug/Vorlagen/Delimitter.rtf @@ -0,0 +1,159 @@ +{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff31507\deff0\stshfdbch31505\stshfloch31506\stshfhich31506\stshfbi31507\deflang2055\deflangfe2055\themelang2055\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} +{\f40\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Microsoft Sans Serif;}{\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} +{\fdbmajor\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fhimajor\f31502\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria;} +{\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} +{\fdbminor\f31505\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;} +{\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f41\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f42\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} +{\f44\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f45\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f46\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f47\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);} +{\f48\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f49\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f41\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f42\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} +{\f44\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f45\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f46\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f47\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);} +{\f48\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f49\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f441\fbidi \fswiss\fcharset238\fprq2 Microsoft Sans Serif CE;} +{\f442\fbidi \fswiss\fcharset204\fprq2 Microsoft Sans Serif Cyr;}{\f444\fbidi \fswiss\fcharset161\fprq2 Microsoft Sans Serif Greek;}{\f445\fbidi \fswiss\fcharset162\fprq2 Microsoft Sans Serif Tur;} +{\f446\fbidi \fswiss\fcharset177\fprq2 Microsoft Sans Serif (Hebrew);}{\f447\fbidi \fswiss\fcharset178\fprq2 Microsoft Sans Serif (Arabic);}{\f448\fbidi \fswiss\fcharset186\fprq2 Microsoft Sans Serif Baltic;} +{\f449\fbidi \fswiss\fcharset163\fprq2 Microsoft Sans Serif (Vietnamese);}{\f450\fbidi \fswiss\fcharset222\fprq2 Microsoft Sans Serif (Thai);}{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;} +{\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;} +{\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;} +{\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbmajor\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbmajor\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} +{\fdbmajor\f31521\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fdbmajor\f31522\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbmajor\f31523\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);} +{\fdbmajor\f31524\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbmajor\f31525\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbmajor\f31526\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);} +{\fhimajor\f31528\fbidi \froman\fcharset238\fprq2 Cambria CE;}{\fhimajor\f31529\fbidi \froman\fcharset204\fprq2 Cambria Cyr;}{\fhimajor\f31531\fbidi \froman\fcharset161\fprq2 Cambria Greek;}{\fhimajor\f31532\fbidi \froman\fcharset162\fprq2 Cambria Tur;} +{\fhimajor\f31535\fbidi \froman\fcharset186\fprq2 Cambria Baltic;}{\fhimajor\f31536\fbidi \froman\fcharset163\fprq2 Cambria (Vietnamese);}{\fbimajor\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE;} +{\fbimajor\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fbimajor\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbimajor\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;} +{\fbimajor\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fbimajor\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbimajor\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;} +{\fbimajor\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\flominor\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flominor\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} +{\flominor\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flominor\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flominor\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);} +{\flominor\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flominor\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flominor\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);} +{\fdbminor\f31558\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbminor\f31559\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbminor\f31561\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;} +{\fdbminor\f31562\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbminor\f31563\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbminor\f31564\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);} +{\fdbminor\f31565\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbminor\f31566\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhiminor\f31568\fbidi \fswiss\fcharset238\fprq2 Calibri CE;} +{\fhiminor\f31569\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}{\fhiminor\f31571\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\fhiminor\f31572\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;} +{\fhiminor\f31575\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}{\fhiminor\f31576\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\fbiminor\f31578\fbidi \froman\fcharset238\fprq2 Times New Roman CE;} +{\fbiminor\f31579\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fbiminor\f31581\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbiminor\f31582\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;} +{\fbiminor\f31583\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fbiminor\f31584\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbiminor\f31585\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;} +{\fbiminor\f31586\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0; +\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\*\defchp +\fs22\loch\af31506\hich\af31506\dbch\af31505 }{\*\defpap \ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{\ql \li0\ri0\sa200\sl276\slmult1 +\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \fs22\lang2055\langfe2055\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp2055\langfenp2055 \snext0 \sqformat \spriority0 Normal;} +{\*\cs10 \additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;}{\* +\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sa200\sl276\slmult1 +\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \fs22\lang2055\langfe2055\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp2055\langfenp2055 \snext11 \ssemihidden \sunhideused +Normal Table;}}{\*\rsidtbl \rsid6043282\rsid14366767}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info{\operator Stefan Hutter}{\creatim\yr2013\mo5\dy12\hr10\min46} +{\revtim\yr2013\mo5\dy12\hr10\min46}{\version2}{\edmins0}{\nofpages1}{\nofwords18}{\nofchars114}{\nofcharsws131}{\vern49275}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}} +\paperw12240\paperh15840\margl1417\margr1417\margt1417\margb1134\gutter0\ltrsect +\widowctrl\ftnbj\aenddoc\hyphhotz425\trackmoves0\trackformatting1\donotembedsysfont0\relyonvml0\donotembedlingdata1\grfdocevents0\validatexml1\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors0\horzdoc\dghspace120\dgvspace120 +\dghorigin1701\dgvorigin1984\dghshow0\dgvshow3\jcompress\viewkind1\viewscale100\rsidroot14366767 \fet0{\*\wgrffmtfilter 2450}\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}} +{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}} +{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9 +\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 +\fs22\lang2055\langfe2055\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp2055\langfenp2055 {\rtlch\fcs1 \af40\afs17 \ltrch\fcs0 \f40\fs17\insrsid6043282 +-----------------------------------------------------------------------------------------------------------------------------------}{\rtlch\fcs1 \af40\afs17 \ltrch\fcs0 \f40\fs17\insrsid6043282 +\par }{\*\themedata 504b030414000600080000002100e9de0fbfff0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb4ec3301045f748fc83e52d4a +9cb2400825e982c78ec7a27cc0c8992416c9d8b2a755fbf74cd25442a820166c2cd933f79e3be372bd1f07b5c3989ca74aaff2422b24eb1b475da5df374fd9ad +5689811a183c61a50f98f4babebc2837878049899a52a57be670674cb23d8e90721f90a4d2fa3802cb35762680fd800ecd7551dc18eb899138e3c943d7e503b6 +b01d583deee5f99824e290b4ba3f364eac4a430883b3c092d4eca8f946c916422ecab927f52ea42b89a1cd59c254f919b0e85e6535d135a8de20f20b8c12c3b0 +0c895fcf6720192de6bf3b9e89ecdbd6596cbcdd8eb28e7c365ecc4ec1ff1460f53fe813d3cc7f5b7f020000ffff0300504b030414000600080000002100a5d6 +a7e7c0000000360100000b0000005f72656c732f2e72656c73848fcf6ac3300c87ef85bd83d17d51d2c31825762fa590432fa37d00e1287f68221bdb1bebdb4f +c7060abb0884a4eff7a93dfeae8bf9e194e720169aaa06c3e2433fcb68e1763dbf7f82c985a4a725085b787086a37bdbb55fbc50d1a33ccd311ba548b6309512 +0f88d94fbc52ae4264d1c910d24a45db3462247fa791715fd71f989e19e0364cd3f51652d73760ae8fa8c9ffb3c330cc9e4fc17faf2ce545046e37944c69e462 +a1a82fe353bd90a865aad41ed0b5b8f9d6fd010000ffff0300504b0304140006000800000021006b799616830000008a0000001c0000007468656d652f746865 +6d652f7468656d654d616e616765722e786d6c0ccc4d0ac3201040e17da17790d93763bb284562b2cbaebbf600439c1a41c7a0d29fdbd7e5e38337cedf14d59b +4b0d592c9c070d8a65cd2e88b7f07c2ca71ba8da481cc52c6ce1c715e6e97818c9b48d13df49c873517d23d59085adb5dd20d6b52bd521ef2cdd5eb9246a3d8b +4757e8d3f729e245eb2b260a0238fd010000ffff0300504b03041400060008000000210060ffbff5a4060000a21b0000160000007468656d652f7468656d652f +7468656d65312e786d6cec594f6f1b4514bf23f11d467b6f6327761a4775aad8b11b6852a2d82dea71bc3bde9d66766735334eea1b6a8f484888823850891b07 +04546a252ee5d3048aa048fd0abc99d95defc46b92b411ada039b4f6ec6fdefff79b37ebabd7eec50c1d1221294fda5efd72cd4324f1794093b0eddd1af62fad +79482a9c0498f184b4bd2991deb58df7dfbb8ad755446282607f22d771db8b944ad79796a40fcb585ee62949e0d9988b182bf82ac2a540e023901bb3a5e55a6d +7529c634f150826310bb830595127b1bb9dc1e03e189927ac16762a0a5920a707050d71039955d26d021666d0f7404fc6848ee290f312c153c687b35f3e72d6d +5c5dc2ebd926a616ec2dedeb9bbf6c5fb6213858363a45382a94d6fb8dd695ad42be0130358febf57add5ebd906700d8f7c1556b4b5966a3bf56efe4324b20fb +715e76b7d6ac355c7c49feca9ccdad4ea7d36c65b658a106643f36e6f06bb5d5c6e6b28337208b6fcee11b9dcd6e77d5c11b90c5afcee1fb575aab0d176f4011 +a3c9c11c5a27b4dfcfa417903167db95f03580afd532f80c05d55094975631e6895a586c31becb451f101ac9b0a20952d3948cb10f25dcc5f14850ac35e07582 +4b4fec922fe796b432247d4153d5f63e4c31b4c34cdecb673fbc7cf6041ddf7f7a7cffe7e3070f8eefff640539bbb671129677bdf8eef3bf1e7d82fe7cf2ed8b +875f56e36519ffdb8f9ffefacb17d540e89f9939cfbf7afcfbd3c7cfbffeec8fef1f56c037051e95e1431a13896e9223b4cf6370cc44c5b59c8cc4f9760c234c +cb3b369350e2046b2d15f27b2a72d037a79865d971ece8103782b705f04715f0fae4ae63f0201213452b34df886207b8cb39eb705119851b5a5729ccc3491256 +2b1793326e1fe3c32add5d9c38f9ed4d5260cebc2c1dc7bb1171ccdc63385138240951483fe30784547877875227aebbd4175cf2b1427728ea605a1992211d39 +d534dbb44d63c8cbb4ca67c8b7139bdddba8c35995d75be4d0454257605661fc9030278cd7f144e1b84ae410c7ac1cf01daca22a230753e197713da920d32161 +1cf502a2cfb4f9d2ff4880bfa5a4dfc040599569df65d3d8450a450faa64ee60cecbc82d7ed08d709c5661073489cad80fe4019428467b5c55c177b9db21fa3b +e401270bd37d9b1227dda7b3c12d1a3a26cd0a443f99888a285e27dca9dfc1948d31315403acee70754c937f226e4681b9ad868b236ea0cae7df3caab0fb6da5 +ec4d38bdaa7a66fb04512fc29da4e72e17017dfbd9790b4f923d020d31dfa7efc8f91d397bff79725ed4cf174fc933160682d6b3889db4cddc1d2f1ebbc794b1 +819a32b223cde42de1f009fab0a8379afb2629ee6169041f752b830607170a6cf620c1d5c754458308a730b5d73d2d249499e850a2944bb82e9ae54ad91a0f93 +bfb297cda6be8658ea9058edf2c02eafe8e5fcb65188315685e64e9b2b5ad102ceaa6ce54a26147c7b1565756dd499b5d58d6986151d6d85cb3ac4e65e0e212f +5c83c5229a30d520988520caab70e3d7aae1b683190974dc6d8ef2b4982c5c648a64840392e548fb3d9fa3ba49525e2b738e683f6c31e8abe329512b696b69b1 +afa1ed2c492aab6b2c509767ef75b29457f02c4b20ed643bb2a4dc9c2c41476dafd55c6e7ac8c769db1bc345193ec629645dea4112b3105e35f94ad8b23fb599 +4d97cfb2d9ca1d739ba00e2f3f6cdce71c76782015526d6119d9d2308fb2126089d664ed5f6e42582fca810a363a9b152b6b500c6fcc0a88a39b5a321e135f95 +935d5ad1b1b35f332ae51345c4200a8ed0884dc43e86f4eb52057f022ae17d876104fd05decee9689b472e39674d577e276670761db334c219ddea16cd3bd9c2 +0d211536986f25f3c0b74adb8d73e777c5b4fc05b9522ee3ff992bfa3c81d70f2b81ce800f2f860546ba53da1e172ae2c0426944fdbe80c9c17007540bbce185 +c75054f07adafc2fc8a1fedff69c9561da1a6e916a9f864850388f542408d9035a32d5778ab07a767659912c13642aaa64ae4cadd9237248d85073e0aa3edb3d +1441a91b36c968c0e04ed69ffb3deba051a8879c72bf394c569cbdb607feedc9c7363338e5f2b01968f2f8172616e3c1ec54b5fbcdf6fcec2d3ba21fccc6ac46 +de15a0ac7414b4b2b67f4513ce79d45ac69af378b9991b07599cf718168b812885974848ff03e71f153e23a68cf5813ae4fbc0ad087ebed0c2a06ca0aa2fd9c1 +036982b48b23189ceca22d262dca86361b9d74d4f2c3fa8227dd42ef89606bcbce92ef7306bb18ce5c754e2f5e64b0b3083bb1b66b0b430d993dd9a2b034ce6f +322631e647b2f28f597c741712bd053f1a4c9892a698e0972a8161861e983e80e6b71acdd68dbf010000ffff0300504b0304140006000800000021000dd1909f +b60000001b010000270000007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73848f4d0ac2301484f78277086f +6fd3ba109126dd88d0add40384e4350d363f2451eced0dae2c082e8761be9969bb979dc9136332de3168aa1a083ae995719ac16db8ec8e4052164e89d93b64b0 +60828e6f37ed1567914b284d262452282e3198720e274a939cd08a54f980ae38a38f56e422a3a641c8bbd048f7757da0f19b017cc524bd62107bd5001996509a +ffb3fd381a89672f1f165dfe514173d9850528a2c6cce0239baa4c04ca5bbabac4df000000ffff0300504b01022d0014000600080000002100e9de0fbfff0000 +001c0200001300000000000000000000000000000000005b436f6e74656e745f54797065735d2e786d6c504b01022d0014000600080000002100a5d6a7e7c000 +0000360100000b00000000000000000000000000300100005f72656c732f2e72656c73504b01022d00140006000800000021006b799616830000008a0000001c +00000000000000000000000000190200007468656d652f7468656d652f7468656d654d616e616765722e786d6c504b01022d001400060008000000210060ffbf +f5a4060000a21b00001600000000000000000000000000d60200007468656d652f7468656d652f7468656d65312e786d6c504b01022d00140006000800000021 +000dd1909fb60000001b0100002700000000000000000000000000ae0900007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73504b050600000000050005005d010000a90a00000000} +{\*\colorschememapping 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0d0a3c613a636c724d +617020786d6c6e733a613d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f64726177696e676d6c2f323030362f6d6169 +6e22206267313d226c743122207478313d22646b3122206267323d226c743222207478323d22646b322220616363656e74313d22616363656e74312220616363 +656e74323d22616363656e74322220616363656e74333d22616363656e74332220616363656e74343d22616363656e74342220616363656e74353d22616363656e74352220616363656e74363d22616363656e74362220686c696e6b3d22686c696e6b2220666f6c486c696e6b3d22666f6c486c696e6b222f3e} +{\*\latentstyles\lsdstimax267\lsdlockeddef0\lsdsemihiddendef1\lsdunhideuseddef1\lsdqformatdef0\lsdprioritydef99{\lsdlockedexcept \lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority0 \lsdlocked0 Normal; +\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 1;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 2;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 3;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 4; +\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 5;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 6;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 7;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 8;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 9; +\lsdpriority39 \lsdlocked0 toc 1;\lsdpriority39 \lsdlocked0 toc 2;\lsdpriority39 \lsdlocked0 toc 3;\lsdpriority39 \lsdlocked0 toc 4;\lsdpriority39 \lsdlocked0 toc 5;\lsdpriority39 \lsdlocked0 toc 6;\lsdpriority39 \lsdlocked0 toc 7; +\lsdpriority39 \lsdlocked0 toc 8;\lsdpriority39 \lsdlocked0 toc 9;\lsdqformat1 \lsdpriority35 \lsdlocked0 caption;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority10 \lsdlocked0 Title;\lsdpriority1 \lsdlocked0 Default Paragraph Font; +\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority11 \lsdlocked0 Subtitle;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority22 \lsdlocked0 Strong;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority20 \lsdlocked0 Emphasis; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority59 \lsdlocked0 Table Grid;\lsdunhideused0 \lsdlocked0 Placeholder Text;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority1 \lsdlocked0 No Spacing; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 1; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 1; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 1;\lsdunhideused0 \lsdlocked0 Revision; +\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority34 \lsdlocked0 List Paragraph;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority29 \lsdlocked0 Quote;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority30 \lsdlocked0 Intense Quote; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 1; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 1; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 2; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 2; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 2; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 2; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 2; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 3; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 3; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 3; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 3; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 3; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 4; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 4; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 4; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 4; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 5; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 5; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 5; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 5; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 5; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 6; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 6; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 6; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 6; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 6; +\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority19 \lsdlocked0 Subtle Emphasis;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority21 \lsdlocked0 Intense Emphasis; +\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority31 \lsdlocked0 Subtle Reference;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority32 \lsdlocked0 Intense Reference; +\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority33 \lsdlocked0 Book Title;\lsdpriority37 \lsdlocked0 Bibliography;\lsdqformat1 \lsdpriority39 \lsdlocked0 TOC Heading;}}{\*\datastore 010500000200000018000000 +4d73786d6c322e534158584d4c5265616465722e362e3000000000000000000000060000 +d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff090006000000000000000000000001000000010000000000000000100000feffffff00000000feffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e50000000000000000000000007037 +5128ed4ece01feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000105000000000000}} \ No newline at end of file diff --git a/Themenmanagement/bin/Debug/Vorlagen/Empty.rtf b/Themenmanagement/bin/Debug/Vorlagen/Empty.rtf new file mode 100644 index 0000000..10c4e36 --- /dev/null +++ b/Themenmanagement/bin/Debug/Vorlagen/Empty.rtf @@ -0,0 +1,156 @@ +{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff0\deff0\stshfdbch31505\stshfloch31506\stshfhich31506\stshfbi0\deflang2055\deflangfe2055\themelang2055\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} +{\f38\fbidi \fnil\fcharset0\fprq2{\*\panose 00000400000000000000}Futura Book;}{\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} +{\fdbmajor\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fhimajor\f31502\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria;} +{\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} +{\fdbminor\f31505\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;} +{\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f472\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f473\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} +{\f475\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f476\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f477\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f478\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);} +{\f479\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f480\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f472\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f473\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} +{\f475\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f476\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f477\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f478\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);} +{\f479\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f480\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;} +{\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;} +{\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;} +{\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbmajor\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbmajor\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} +{\fdbmajor\f31521\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fdbmajor\f31522\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbmajor\f31523\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);} +{\fdbmajor\f31524\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbmajor\f31525\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbmajor\f31526\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);} +{\fhimajor\f31528\fbidi \froman\fcharset238\fprq2 Cambria CE;}{\fhimajor\f31529\fbidi \froman\fcharset204\fprq2 Cambria Cyr;}{\fhimajor\f31531\fbidi \froman\fcharset161\fprq2 Cambria Greek;}{\fhimajor\f31532\fbidi \froman\fcharset162\fprq2 Cambria Tur;} +{\fhimajor\f31535\fbidi \froman\fcharset186\fprq2 Cambria Baltic;}{\fhimajor\f31536\fbidi \froman\fcharset163\fprq2 Cambria (Vietnamese);}{\fbimajor\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE;} +{\fbimajor\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fbimajor\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbimajor\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;} +{\fbimajor\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fbimajor\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbimajor\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;} +{\fbimajor\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\flominor\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flominor\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} +{\flominor\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flominor\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flominor\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);} +{\flominor\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flominor\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flominor\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);} +{\fdbminor\f31558\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbminor\f31559\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbminor\f31561\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;} +{\fdbminor\f31562\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbminor\f31563\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbminor\f31564\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);} +{\fdbminor\f31565\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbminor\f31566\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhiminor\f31568\fbidi \fswiss\fcharset238\fprq2 Calibri CE;} +{\fhiminor\f31569\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}{\fhiminor\f31571\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\fhiminor\f31572\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;} +{\fhiminor\f31575\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}{\fhiminor\f31576\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\fbiminor\f31578\fbidi \froman\fcharset238\fprq2 Times New Roman CE;} +{\fbiminor\f31579\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fbiminor\f31581\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbiminor\f31582\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;} +{\fbiminor\f31583\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fbiminor\f31584\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbiminor\f31585\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;} +{\fbiminor\f31586\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0; +\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\*\defchp +\fs22\loch\af31506\hich\af31506\dbch\af31505 }{\*\defpap \ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{\ql \li0\ri0\sa200\sl276\slmult1 +\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \fs22\lang2055\langfe2055\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp2055\langfenp2055 \snext0 \sqformat \spriority0 Normal;}{\* +\cs10 \additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;}{\* +\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sa200\sl276\slmult1 +\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \fs22\lang2055\langfe2055\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp2055\langfenp2055 \snext11 \ssemihidden \sunhideused +Normal Table;}}{\*\rsidtbl \rsid10293663\rsid11081618\rsid13632661\rsid16326820\rsid16678250}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info{\operator Stefan Hutter} +{\creatim\yr2012\mo12\dy10\hr21\min39}{\revtim\yr2013\mo5\dy12\hr10\min51}{\version5}{\edmins0}{\nofpages1}{\nofwords2}{\nofchars13}{\nofcharsws14}{\vern49275}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}} +\paperw12240\paperh15840\margl1417\margr1417\margt1417\margb1134\gutter0\ltrsect +\widowctrl\ftnbj\aenddoc\hyphhotz425\trackmoves0\trackformatting1\donotembedsysfont0\relyonvml0\donotembedlingdata1\grfdocevents0\validatexml1\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors0\horzdoc\dghspace120\dgvspace120 +\dghorigin1701\dgvorigin1984\dghshow0\dgvshow3\jcompress\viewkind1\viewscale100\rsidroot16678250 \fet0{\*\wgrffmtfilter 2450}\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}} +{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}} +{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9 +\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid16326820 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 +\fs22\lang2055\langfe2055\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp2055\langfenp2055 {\rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \f38\fs20\insrsid13632661\charrsid11081618 \hich\af38\dbch\af31505\loch\f38 Neues Dokument}{\rtlch\fcs1 \af0\afs20 +\ltrch\fcs0 \f38\fs20\insrsid10293663\charrsid11081618 +\par }{\*\themedata 504b030414000600080000002100e9de0fbfff0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb4ec3301045f748fc83e52d4a +9cb2400825e982c78ec7a27cc0c8992416c9d8b2a755fbf74cd25442a820166c2cd933f79e3be372bd1f07b5c3989ca74aaff2422b24eb1b475da5df374fd9ad +5689811a183c61a50f98f4babebc2837878049899a52a57be670674cb23d8e90721f90a4d2fa3802cb35762680fd800ecd7551dc18eb899138e3c943d7e503b6 +b01d583deee5f99824e290b4ba3f364eac4a430883b3c092d4eca8f946c916422ecab927f52ea42b89a1cd59c254f919b0e85e6535d135a8de20f20b8c12c3b0 +0c895fcf6720192de6bf3b9e89ecdbd6596cbcdd8eb28e7c365ecc4ec1ff1460f53fe813d3cc7f5b7f020000ffff0300504b030414000600080000002100a5d6 +a7e7c0000000360100000b0000005f72656c732f2e72656c73848fcf6ac3300c87ef85bd83d17d51d2c31825762fa590432fa37d00e1287f68221bdb1bebdb4f +c7060abb0884a4eff7a93dfeae8bf9e194e720169aaa06c3e2433fcb68e1763dbf7f82c985a4a725085b787086a37bdbb55fbc50d1a33ccd311ba548b6309512 +0f88d94fbc52ae4264d1c910d24a45db3462247fa791715fd71f989e19e0364cd3f51652d73760ae8fa8c9ffb3c330cc9e4fc17faf2ce545046e37944c69e462 +a1a82fe353bd90a865aad41ed0b5b8f9d6fd010000ffff0300504b0304140006000800000021006b799616830000008a0000001c0000007468656d652f746865 +6d652f7468656d654d616e616765722e786d6c0ccc4d0ac3201040e17da17790d93763bb284562b2cbaebbf600439c1a41c7a0d29fdbd7e5e38337cedf14d59b +4b0d592c9c070d8a65cd2e88b7f07c2ca71ba8da481cc52c6ce1c715e6e97818c9b48d13df49c873517d23d59085adb5dd20d6b52bd521ef2cdd5eb9246a3d8b +4757e8d3f729e245eb2b260a0238fd010000ffff0300504b03041400060008000000210060ffbff5a4060000a21b0000160000007468656d652f7468656d652f +7468656d65312e786d6cec594f6f1b4514bf23f11d467b6f6327761a4775aad8b11b6852a2d82dea71bc3bde9d66766735334eea1b6a8f484888823850891b07 +04546a252ee5d3048aa048fd0abc99d95defc46b92b411ada039b4f6ec6fdefff79b37ebabd7eec50c1d1221294fda5efd72cd4324f1794093b0eddd1af62fad +79482a9c0498f184b4bd2991deb58df7dfbb8ad755446282607f22d771db8b944ad79796a40fcb585ee62949e0d9988b182bf82ac2a540e023901bb3a5e55a6d +7529c634f150826310bb830595127b1bb9dc1e03e189927ac16762a0a5920a707050d71039955d26d021666d0f7404fc6848ee290f312c153c687b35f3e72d6d +5c5dc2ebd926a616ec2dedeb9bbf6c5fb6213858363a45382a94d6fb8dd695ad42be0130358febf57add5ebd906700d8f7c1556b4b5966a3bf56efe4324b20fb +715e76b7d6ac355c7c49feca9ccdad4ea7d36c65b658a106643f36e6f06bb5d5c6e6b28337208b6fcee11b9dcd6e77d5c11b90c5afcee1fb575aab0d176f4011 +a3c9c11c5a27b4dfcfa417903167db95f03580afd532f80c05d55094975631e6895a586c31becb451f101ac9b0a20952d3948cb10f25dcc5f14850ac35e07582 +4b4fec922fe796b432247d4153d5f63e4c31b4c34cdecb673fbc7cf6041ddf7f7a7cffe7e3070f8eefff640539bbb671129677bdf8eef3bf1e7d82fe7cf2ed8b +875f56e36519ffdb8f9ffefacb17d540e89f9939cfbf7afcfbd3c7cfbffeec8fef1f56c037051e95e1431a13896e9223b4cf6370cc44c5b59c8cc4f9760c234c +cb3b369350e2046b2d15f27b2a72d037a79865d971ece8103782b705f04715f0fae4ae63f0201213452b34df886207b8cb39eb705119851b5a5729ccc3491256 +2b1793326e1fe3c32add5d9c38f9ed4d5260cebc2c1dc7bb1171ccdc63385138240951483fe30784547877875227aebbd4175cf2b1427728ea605a1992211d39 +d534dbb44d63c8cbb4ca67c8b7139bdddba8c35995d75be4d0454257605661fc9030278cd7f144e1b84ae410c7ac1cf01daca22a230753e197713da920d32161 +1cf502a2cfb4f9d2ff4880bfa5a4dfc040599569df65d3d8450a450faa64ee60cecbc82d7ed08d709c5661073489cad80fe4019428467b5c55c177b9db21fa3b +e401270bd37d9b1227dda7b3c12d1a3a26cd0a443f99888a285e27dca9dfc1948d31315403acee70754c937f226e4681b9ad868b236ea0cae7df3caab0fb6da5 +ec4d38bdaa7a66fb04512fc29da4e72e17017dfbd9790b4f923d020d31dfa7efc8f91d397bff79725ed4cf174fc933160682d6b3889db4cddc1d2f1ebbc794b1 +819a32b223cde42de1f009fab0a8379afb2629ee6169041f752b830607170a6cf620c1d5c754458308a730b5d73d2d249499e850a2944bb82e9ae54ad91a0f93 +bfb297cda6be8658ea9058edf2c02eafe8e5fcb65188315685e64e9b2b5ad102ceaa6ce54a26147c7b1565756dd499b5d58d6986151d6d85cb3ac4e65e0e212f +5c83c5229a30d520988520caab70e3d7aae1b683190974dc6d8ef2b4982c5c648a64840392e548fb3d9fa3ba49525e2b738e683f6c31e8abe329512b696b69b1 +afa1ed2c492aab6b2c509767ef75b29457f02c4b20ed643bb2a4dc9c2c41476dafd55c6e7ac8c769db1bc345193ec629645dea4112b3105e35f94ad8b23fb599 +4d97cfb2d9ca1d739ba00e2f3f6cdce71c76782015526d6119d9d2308fb2126089d664ed5f6e42582fca810a363a9b152b6b500c6fcc0a88a39b5a321e135f95 +935d5ad1b1b35f332ae51345c4200a8ed0884dc43e86f4eb52057f022ae17d876104fd05decee9689b472e39674d577e276670761db334c219ddea16cd3bd9c2 +0d211536986f25f3c0b74adb8d73e777c5b4fc05b9522ee3ff992bfa3c81d70f2b81ce800f2f860546ba53da1e172ae2c0426944fdbe80c9c17007540bbce185 +c75054f07adafc2fc8a1fedff69c9561da1a6e916a9f864850388f542408d9035a32d5778ab07a767659912c13642aaa64ae4cadd9237248d85073e0aa3edb3d +1441a91b36c968c0e04ed69ffb3deba051a8879c72bf394c569cbdb607feedc9c7363338e5f2b01968f2f8172616e3c1ec54b5fbcdf6fcec2d3ba21fccc6ac46 +de15a0ac7414b4b2b67f4513ce79d45ac69af378b9991b07599cf718168b812885974848ff03e71f153e23a68cf5813ae4fbc0ad087ebed0c2a06ca0aa2fd9c1 +036982b48b23189ceca22d262dca86361b9d74d4f2c3fa8227dd42ef89606bcbce92ef7306bb18ce5c754e2f5e64b0b3083bb1b66b0b430d993dd9a2b034ce6f +322631e647b2f28f597c741712bd053f1a4c9892a698e0972a8161861e983e80e6b71acdd68dbf010000ffff0300504b0304140006000800000021000dd1909f +b60000001b010000270000007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73848f4d0ac2301484f78277086f +6fd3ba109126dd88d0add40384e4350d363f2451eced0dae2c082e8761be9969bb979dc9136332de3168aa1a083ae995719ac16db8ec8e4052164e89d93b64b0 +60828e6f37ed1567914b284d262452282e3198720e274a939cd08a54f980ae38a38f56e422a3a641c8bbd048f7757da0f19b017cc524bd62107bd5001996509a +ffb3fd381a89672f1f165dfe514173d9850528a2c6cce0239baa4c04ca5bbabac4df000000ffff0300504b01022d0014000600080000002100e9de0fbfff0000 +001c0200001300000000000000000000000000000000005b436f6e74656e745f54797065735d2e786d6c504b01022d0014000600080000002100a5d6a7e7c000 +0000360100000b00000000000000000000000000300100005f72656c732f2e72656c73504b01022d00140006000800000021006b799616830000008a0000001c +00000000000000000000000000190200007468656d652f7468656d652f7468656d654d616e616765722e786d6c504b01022d001400060008000000210060ffbf +f5a4060000a21b00001600000000000000000000000000d60200007468656d652f7468656d652f7468656d65312e786d6c504b01022d00140006000800000021 +000dd1909fb60000001b0100002700000000000000000000000000ae0900007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73504b050600000000050005005d010000a90a00000000} +{\*\colorschememapping 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0d0a3c613a636c724d +617020786d6c6e733a613d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f64726177696e676d6c2f323030362f6d6169 +6e22206267313d226c743122207478313d22646b3122206267323d226c743222207478323d22646b322220616363656e74313d22616363656e74312220616363 +656e74323d22616363656e74322220616363656e74333d22616363656e74332220616363656e74343d22616363656e74342220616363656e74353d22616363656e74352220616363656e74363d22616363656e74362220686c696e6b3d22686c696e6b2220666f6c486c696e6b3d22666f6c486c696e6b222f3e} +{\*\latentstyles\lsdstimax267\lsdlockeddef0\lsdsemihiddendef1\lsdunhideuseddef1\lsdqformatdef0\lsdprioritydef99{\lsdlockedexcept \lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority0 \lsdlocked0 Normal; +\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 1;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 2;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 3;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 4; +\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 5;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 6;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 7;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 8;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 9; +\lsdpriority39 \lsdlocked0 toc 1;\lsdpriority39 \lsdlocked0 toc 2;\lsdpriority39 \lsdlocked0 toc 3;\lsdpriority39 \lsdlocked0 toc 4;\lsdpriority39 \lsdlocked0 toc 5;\lsdpriority39 \lsdlocked0 toc 6;\lsdpriority39 \lsdlocked0 toc 7; +\lsdpriority39 \lsdlocked0 toc 8;\lsdpriority39 \lsdlocked0 toc 9;\lsdqformat1 \lsdpriority35 \lsdlocked0 caption;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority10 \lsdlocked0 Title;\lsdpriority1 \lsdlocked0 Default Paragraph Font; +\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority11 \lsdlocked0 Subtitle;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority22 \lsdlocked0 Strong;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority20 \lsdlocked0 Emphasis; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority59 \lsdlocked0 Table Grid;\lsdunhideused0 \lsdlocked0 Placeholder Text;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority1 \lsdlocked0 No Spacing; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 1; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 1; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 1;\lsdunhideused0 \lsdlocked0 Revision; +\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority34 \lsdlocked0 List Paragraph;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority29 \lsdlocked0 Quote;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority30 \lsdlocked0 Intense Quote; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 1; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 1; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 2; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 2; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 2; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 2; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 2; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 3; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 3; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 3; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 3; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 3; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 4; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 4; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 4; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 4; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 5; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 5; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 5; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 5; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 5; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 6; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 6; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 6; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 6; +\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 6; +\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority19 \lsdlocked0 Subtle Emphasis;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority21 \lsdlocked0 Intense Emphasis; +\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority31 \lsdlocked0 Subtle Reference;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority32 \lsdlocked0 Intense Reference; +\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority33 \lsdlocked0 Book Title;\lsdpriority37 \lsdlocked0 Bibliography;\lsdqformat1 \lsdpriority39 \lsdlocked0 TOC Heading;}}{\*\datastore 010500000200000018000000 +4d73786d6c322e534158584d4c5265616465722e362e3000000000000000000000060000 +d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff090006000000000000000000000001000000010000000000000000100000feffffff00000000feffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e5000000000000000000000000f082 +efefed4ece01feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000105000000000000}} \ No newline at end of file diff --git a/Themenmanagement/bin/Debug/Vorlagen/rpt1.frx b/Themenmanagement/bin/Debug/Vorlagen/rpt1.frx new file mode 100644 index 0000000..5dafe07 --- /dev/null +++ b/Themenmanagement/bin/Debug/Vorlagen/rpt1.frx @@ -0,0 +1,78 @@ + + + Imports System +Imports System.Collections +Imports System.Collections.Generic +Imports System.ComponentModel +Imports System.Windows.Forms +Imports System.Drawing +Imports Microsoft.VisualBasic +Imports FastReport +Imports FastReport.Data +Imports FastReport.Dialog +Imports FastReport.Table +Imports FastReport.Barcode +Imports FastReport.Utils + +Namespace FastReport + Public Class ReportScript + + End Class +End Namespace + + +